Table of contents;
Technoplatz BI Community Edition is an open source, multi-container, JSON-driven no-code data application and data sharing platform designed to empower business professionals build their own unique solution. It offers a pragmatic and optimised way to meet the key requirements of critical business processes by considering that each company has its own unique conditions;
- Data Application
- BI-Directional Data Sharing
- API
The further information can be found at the official web site.
Technoplatz BI works on Docker platform which is the leading virtualisation technology for developing, shipping and running business grade applications. Creating a Docker instance on the Cloud is the first step prior to getting started with the installation. We recommend Debian or Debian-based Linux as the main Operating System for the required Cloud instance.
Debian Linux
Debian is a complete, solid-rock and free Linux Operating System. The word "free" means here doesn't refer to money, instead, it refers to software freedom. In the IT world, there are a lot of reasons to choose Debian or Ubuntu as a user, as a developer and even in enterprise environments. Most Debian users appreciate the stability and the smooth upgrade processes of both packages and the entire distribution. Debian is also widely used by software and hardware developers because it runs on numerous architectures and devices. If you plan to use them in a professional environment there are additional benefits like LTS versions and cloud images.
Pick your preferred cloud provider and follow the instructions in the links below to learn how to create a new Debian instance:
Many Debian instances provided in the marketplaces may not be up-to-date in terms of the latest version of the operating system or some initial resources. As soon as the instance is created it is highly recommended that the following steps should be taken immediately;
Upgrade the packages that already installed and reboot the instance. Reconnect to the instance after rebooting is completed.
sudo apt-get update && sudo apt-get upgrade -y
sudo reboot
Check the current date and time zone;
timedatectl
List available time zones to find your location;
timedatectl list-timezones
Set the time zone. Please note that the selected location should be the country where internal users get connected or the preferred data center is located at;
timedatectl set-timezone Europe/Berlin
Install required packages to allow apt to use the offical repository securely;
sudo apt-get install ca-certificates curl gnupg
Install the official Docker gpg key;
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | \
sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
Set up the Docker repository;
echo "deb [arch="$(dpkg --print-architecture)" \
signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Update the apt package index again and start the installation of the latest version of Docker platform.
sudo apt-get update \
&& sudo apt-get install -y docker-ce docker-ce-cli containerd.io \
docker-buildx-plugin docker-compose-plugin
Verify that the installation completed successfully by running the following hello-world image. The command below downloads a test image, runs it in a container, prints a confirmation message and exits.
sudo docker run hello-world
The below command uninstalls Docker Engine, command line interfaces, container service and Docker Compose packages.
sudo apt-get purge docker-ce docker-ce-cli containerd.io \
docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras
Images, containers, volumes or custom configuration files on your host aren’t automatically removed. To delete them all;
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd
You have to delete any edited configuration files manually.
Run the following command to get the platform script from the official repository and start containers by keeping them up and running in the background. Technoplatz BI restarts automatically when the platform is rebooted.
curl -Lso ~/technoplatz-bi/bi-sh --create-dirs \
"https://raw.githubusercontent.com/Technoplatz/bi/main/bi-sh" \
&& sudo chmod +x ~/technoplatz-bi/bi-sh \
&& cd ~/technoplatz-bi
./bi-sh start
{
"properties": {},
"required": [],
"index": [],
"unique": [],
"sort": {},
"parents": [],
"actions": [],
"links": [],
"triggers": [],
"views": {},
"fetchers": [],
"import": {}
}
Properties is the part of the Collection schema where data fields are defined. Multiple fields can be provided within a single JSON cluster. Click for details.
Triggers are secondary update processes that are automatically activated after entry, update or deletion processes in collections. It is used to update the same collection or a different target collection in case of any update in the specified data fields of a source collection. Click for details.
Standard fields of a property;
bsonType: Data type (string, number, date, bool)
title: The form title of the data field.
description: A short description of the data field.
placeholder: Description that appears in the data entry box in forms.
default: The default value to use when no value is given.
permanent: Once entered, it cannot be changed (true|false).
{
"ord_no": {
"bsonType": "string",
"title": "Order No",
"description": "Customer order number",
"placeholder": "Please enter an order number",
"minWidth": 8,
"maxWidth": 16,
"pattern": "^[A-Za-z0-9-]{8,16}$",
"default": null,
"permanent": true
}
}
Enumerates are certain type of string properties with predefined values which allow data entry via selectable options. They provide automatic validation and don't allow to enter any value rather than specified enums.
{
"shp_type": {
"bsonType": "string",
"title": "Ship Type",
"description": "The default shipping type of the carrier",
"placeholder": "The goods arrived at customs by",
"minWidth": 3,
"maxWidth": 4,
"enum": ["Sea", "Air", "Truck"],
"default": "Truck",
"permanent": false
}
}
{
"foo_serial": {
"bsonType": "number | int | decimal | float",
"title": "Amount",
"description": "Order Amount",
"placeholder": "Please enter the order amount in USD",
"minimum": 1,
"maximum": 999,
"default": 1,
"counter": false
}
}
Sample boolean field;
{
"usr_enabled": {
"bsonType": "bool",
"title": "Enabled",
"description": "User enabled or not",
"default": false,
"trueText": "Enabled",
"falseText": "Disabled"
}
}
[
{
"id": "split",
"title": "Line Split",
"enabled": true,
"match": [
{
"key": "dnn_status",
"op": "in",
"value": "20-OnCustoms,30-OnCustomsProcess,40-ClearanceCompleted"
}
],
"set": [
{ "key": "dnn_acc_no", "value": null },
{ "key": "dnn_acc_name", "value": null },
{ "key": "dnn_qty", "value": null }
],
"one_click": false,
"icon": "git-branch",
"uniqueness": true,
"unique": ["dnn_no"],
"split": {
"enabled": true,
"key_field": "dnn_no",
"key_suffix": "-10",
"ref_field": "dnn_qty",
"num_fields": ["dnn_qty", "dnn_gross_weight"],
"set_field": "dnn_change",
"set_value": "SP-Split"
},
"notification": {
"notify": true,
"subject": "Operations [Delivery Split]",
"body": "Hi,<br /><br />We would like to let you know that the attached DN has been split.",
"attachment": true,
"fields": "dnn_no,dnn_line_no,dnn_status,dnn_bill_no,dnn_acc_no,dnn_acc_name,dnn_prd_no,dnn_prd_description,dnn_qty,dnn_change",
"filter": [
{
"key": "dnn_status",
"op": "in",
"value": "20-OnCustoms,30-OnCustomsProcess,40-ClearanceCompleted"
}
]
},
"_tags": ["#Managers", "#Administrators", "#Logistics", "#Operations", "#Technoplatz"]
}
]
Links is used to create a parent-child relationship between two collections. Link section must be provided in the data structure of the parent collection.
"links": [{},{},...]
A sample link item;
{
"collection": "delivery",
"get": "dnn_bill_no",
"sum": "dnn_amount",
"listed": false,
"forced": true,
"match": [{ "key": "dnn_status", "op": "in", "value": "00-Open,10-OnTheWay" }],
"set": [
{ "key": "dnn_odi_no", "value": "odi_no" },
{ "key": "dnn_odi_sub_no", "value": "odi_sub_no" },
{ "key": "dnn_status", "value": "10-OnTheWay" }
],
"autofill": true,
"btntext": "Invoice",
"_tags": ["#Managers", "#Technoplatz", "#Operation", "#Logistics"],
"notification": {
"notify": true,
"subject": "Logistics [New Ordino]",
"body": "Hi,<br /><br />We would like to let you know that the attached DNs have been linked to a new ordino by adding invoice numbers.",
"attachment": true,
"html": true,
"csv": false,
"excel": true,
"json": false,
"key": "odi_sub_no",
"topics": "odi_no,odi_sub_no,odi_from,odi_date",
"fields": "dnn_no,dnn_line_no,dnn_acc_name,dnn_prd_no,dnn_prd_description,dnn_qty",
"filter": [],
"sort": { "dnn_acc_name": 1, "dnn_no": 1, "dnn_line_no": 1 }
}
}
[
{
"name": "clearance-completed",
"enabled": true,
"operations": ["update"],
"changes": [
{
"key": "man_closing_date",
"op": "nnull",
"value": null
}
],
"targets": [
{
"collection": "delivery",
"match": [
{
"key": "dnn_man_no",
"value": "man_no"
}
],
"filter": [
{
"key": "dnn_status",
"op": "eq",
"value": "30-OnCustomsProcess"
}
],
"set": [
{
"key": "dnn_status",
"value": "40-ClearanceCompleted"
}
],
"upsert": false,
"notification": {
"notify": true,
"subject": "Logistics [Clearance Completed]",
"body": "Hi,<br /><br />We would like to let you know that the customs clearance of the attached manifest has been completed.",
"collection": "delivery",
"key": "man_no",
"topics": "man_no,man_file_no,man_case_no",
"fields": "dnn_no,dnn_acc_name,dnn_po_id,dnn_prd_no,dnn_qty",
"filter": [
{
"key": "dnn_man_no",
"op": "eq",
"value": "man_no"
}
],
"sort": {
"dnn_acc_name": 1,
"dnn_no": 1,
"dnn_line_no": 1
},
"attachment": true,
"html": true,
"csv": false,
"excel": true,
"json": false,
"push": true,
"note": "Please find the notes attached",
"_tags": ["#Logistics", "#Operation"]
}
}
]
}
]
Angaben gemäß § 5 TMG
Technoplatz IT Solutions GmbH
Berliner Allee 59 40212 Düsseldorf Deutschland
HRB 83371
Registergericht: Amtsgericht Düsseldorf
Mustafa Mat
Umsatzsteuer-Identifikationsnummer gemäß §27 a Umsatzsteuergesetz:
DE318821373
E-Mail: support@technoplatz.de
Web: https://www.technoplatz.de/contact
Verantwortlich für den Inhalt nach § 55 Abs. 2 RStV
Technoplatz IT Solutions GmbH
Die Europäische Kommission stellt eine Plattform zur Online-Streitbeilegung (OS) bereit: https://ec.europa.eu/consumers/odr.
Unsere E-Mail-Adresse finden Sie oben im Abschnitt Kontakt.
Wir sind nicht bereit oder verpflichtet, an Streitbeilegungsverfahren vor einer Verbraucherschlichtungsstelle teilzunehmen.
Als Diensteanbieter sind wir gemäß § 7 Abs.1 TMG für eigene Inhalte auf diesen Seiten nach den allgemeinen Gesetzen verantwortlich. Nach §§ 8 bis 10 TMG sind wir als Diensteanbieter jedoch nicht verpflichtet, übermittelte oder gespeicherte fremde Informationen zu überwachen oder nach Umständen zu forschen, die auf eine rechtswidrige Tätigkeit hinweisen.
Verpflichtungen zur Entfernung oder Sperrung der Nutzung von Informationen nach den allgemeinen Gesetzen bleiben hiervon unberührt. Eine diesbezügliche Haftung ist jedoch erst ab dem Zeitpunkt der Kenntnis einer konkreten Rechtsverletzung möglich. Bei Bekanntwerden von entsprechenden Rechtsverletzungen werden wir diese Inhalte umgehend entfernen.
Unser Angebot enthält Links zu externen Websites Dritter, auf deren Inhalte wir keinen Einfluss haben. Deshalb können wir für diese fremden Inhalte auch keine Gewähr übernehmen. Für die Inhalte der verlinkten Seiten ist stets der jeweilige Anbieter oder Betreiber der Seiten verantwortlich. Die verlinkten Seiten wurden zum Zeitpunkt der Verlinkung auf mögliche Rechtsverstöße überprüft. Rechtswidrige Inhalte waren zum Zeitpunkt der Verlinkung nicht erkennbar.
Eine permanente inhaltliche Kontrolle der verlinkten Seiten ist jedoch ohne konkrete Anhaltspunkte einer Rechtsverletzung nicht zumutbar. Bei Bekanntwerden von Rechtsverletzungen werden wir derartige Links umgehend entfernen.
Die durch die Seitenbetreiber erstellten Inhalte und Werke auf diesen Seiten unterliegen dem deutschen Urheberrecht. Die Vervielfältigung, Bearbeitung, Verbreitung und jede Art der Verwertung außerhalb der Grenzen des Urheberrechtes bedürfen der schriftlichen Zustimmung des jeweiligen Autors bzw. Erstellers. Downloads und Kopien dieser Seite sind nur für den privaten, nicht kommerziellen Gebrauch gestattet.
Soweit die Inhalte auf dieser Seite nicht vom Betreiber erstellt wurden, werden die Urheberrechte Dritter beachtet. Insbesondere werden Inhalte Dritter als solche gekennzeichnet. Sollten Sie trotzdem auf eine Urheberrechtsverletzung aufmerksam werden, bitten wir um einen entsprechenden Hinweis. Bei Bekanntwerden von Rechtsverletzungen werden wir derartige Inhalte umgehend entfernen.
--