Chapter 53. Dashbuilder Runtime and Dashbuilder Standalone Dashbuilder Runtime and Dashbuilder Standalone are add-ons that you can use to view dashboards created in and exported from Business Central. This is useful for reviewing business metrics in environments that do not have Business Central. Dashbuilder Runtime is available to install on Red Hat JBoss EAP. You can deploy Dashbuilder Standalone on Red Hat OpenShift Container Platform. Navigation between the pages of a dashboard in Dashbuilder Runtime and Dashbuilder Standalone is identical to navigation in the Business Central instance where the dashboard was created. If a page belongs to a group, that group is imported to Dashbuilder Runtime or Dashbuilder Standalone as well as the page. If a page is imported to Dashbuilder Runtime or Dashbuilder Standalone but not used in navigation, then the page is added to the Runtime Dashboards menu group. If no navigation is exported then all pages are added to the Runtime Dashboards menu group. 53.1. Installing Dashbuilder Runtime on Red Hat JBoss EAP To install Dashbuilder Runtime, download the Dashbuilder Runtime WAR and create a user with the admin role. Prerequisites You have a Red Hat JBoss EAP installation. You have created and exported a dashboard in Business Central. For more information about exporting Dashbuilder data, see the "Exporting and importing Dashbuilder data" section in the Configuring Business Central settings and properties guide. Procedure Navigate to the Software Downloads page in the Red Hat Customer Portal (login required), and select the product and version from the drop-down options: Product: Process Automation Manager Version: 7.13.5 Download Red Hat Process Automation Manager 7.13.5 Add Ons ( rhpam-7.13.5-add-ons.zip ) and extract the ZIP file. Navigate to the directory that contains the extracted files and extract the rhpam-7.13.5-dashbuilder-runtime.zip file. Copy the contents of the dashbuilder-runtime.zip file that you extracted into the <EAP_HOME>/standalone/deployments folder where <EAP_HOME> is the Red Hat JBoss EAP home directory that contains your Red Hat JBoss EAP installation. In the Red Hat JBoss EAP home directory, enter the following command to create a user with the admin role and specify a password. In the following example, replace <USERNAME> and <PASSWORD> with the user name and password of your choice. USD ./bin/jboss-cli.sh --commands="embed-server --std-out=echo,/subsystem=elytron/filesystem-realm=ApplicationRealm:add-identity(identity=<USERNAME>),/subsystem=elytron/filesystem-realm=ApplicationRealm:set-password(identity=<USERNAME>, clear={password='<PASSWORD>'}),/subsystem=elytron/filesystem-realm=ApplicationRealm:add-identity-attribute(identity=<USERNAME>, name=role, value=['admin'])" In a terminal application, navigate to EAP_HOME /bin . Enter the following command to start Red Hat JBoss EAP: On Linux or UNIX-based systems: USD ./standalone.sh -c standalone-full.xml On Windows: standalone.bat -c standalone-full.xml In a web browser, open the URL http://localhost:8080 . Log in using the credentials of the user that you created for Dashbuilder Runtime. When promted, upload a dashboard that you exported from Business Central. Dashbuilder Runtime uses that dashboard until it is restarted. 53.1.1. Dashbuilder Runtime system properties You can use system properties to customize Dashbuilder Runtime. Dashboards Path When a dashboard is uploaded it is stored in the filesystem. The path where it is stored is controlled by the system property dashbuilder.import.base.dir . The default is /tmp/dashbuilder . The system property is the root path for any dashboard model. For example, if there are multiple files on this path, the file can be imported by accessing Dashbuilder Runtime and passing a query parameter import with the name of the file that should be loaded. For example, if you want to load the sales_dashboard , execute runtime_host?import=sales_dashboard and Dashbuilder Runtime will try to load the file /tmp/dashbuilder/sales_dashboard.zip . Static Dashboard If you want the runtime instance to load a specific dashboard, you can change the system property dashbuilder.runtime.import . Setting the property to a local file path will cause that specific dashboard to be loaded during Runtime startup. Controlling upload size Application servers control POST request size by default. You can control the allowable size of uploaded dashboards by using the system property dashbuilder.runtime.upload.size . The size should be in KB and by default the value is 96kb, meaning that if someone tries to upload a file larger than 96kb then an error will be displayed and the dashboard won't be installed. Default pages in Dashbuilder Runtime Dashboards that are imported in the Dashbuilder Runtime contain a default page. The following list provides a summary of updates of the Dashbuilder Runtime default page: When an imported dashboard contains only one page, then it is used as the default page. If a page is named as index then it is used as the default page. In other cases, the generic home page of the Dashbuilder Runtime is used. Loading external dashboards A Dashboard that is located at an accessible URL can be accessed by Dashbuilder Runtime. You can access the URL by passing the URL with the import query parameter such as runtime_host?import=http://filesHost/sales_dashboard.zip . Note For security reasons this option is disabled by default. You can enable it by setting the system property dashbuilder.runtime.allowExternal as true. 53.2. Deploying Dashbuilder Standalone on Red Hat OpenShift Container Platform You can use Dashbuilder Standalone to view dashboards in OpenShift that were created in and exported from Business Central. This is useful for reviewing business metrics in environments that do not have Business Central. Use the Dashbuilder Standalone operator to deploy Dashbuilder Standalone on Red Hat OpenShift Container Platform separately from other services. Prerequisites Dashbuilder Standalone is available in the OpenShift registry. You have prepared your OpenShift environment as described in Deploying an Red Hat Process Automation Manager environment on Red Hat OpenShift Container Platform 4 using Operators . You have created and exported a dashboard in Business Central. Procedure On the Operator Installation page, enter a name for your application in the Application name field. In the Environment field, enter a name for your environment, for example rhpam-standalone-dashbuilder . Click . Optional: On the Security page, configure LDAP or Red Hat Single Sign-On. On the Components page, select Dashbuilder from the Components list. To add a KIE Server data set, complete the following tasks: Note You can add additional KIE Server data sets by repeating this step. Click Add new KIE Server DataSets . In the DataSet name field, enter kieserver-1 . In the Kie Server Location field, enter the location of your KIE Server, for example https://my-kie-server:80/services/rest/server . To set your credentials, complete one of the following tasks: If you do not have a token set, in the Username and Password fields, enter your username and password. Leave the Token field blank. If you have a token, in the Token field, enter your token. Leave the Username and Password fields blank. The custom resource example: To add a KIE Server template, complete the following tasks: Note You can add additional KIE Server templates by repeating this step. Click Add new KIE Server Templates . In the Template name field, enter a name for your template, for example kieserver-template . In the KIE Server Location field, enter the location of your KIE Server, for example https://my-other-kie-server:80/services/rest/server . To set your credentials, complete one of the following tasks: If you do not have a token set, in the Username and Password fields, enter your username and password. Leave the Token field blank. If you have a token, in the Token field, enter your token. Leave the Username and Password fields blank. Optional: To set a custom hostname for the external route, enter a domain in the Custom hostname to be used on the Dashbuilder external Route field, formatted as in the following example: Note The custom hostname must be valid and resolvable. To change the custom hostname, you can modify the routeHostname property. Optional: To enable and set the Edge termination route, complete the following steps: Under Change route termination , select Enable Edge termination . Optional: In the Key field, enter the private key. Optional: In the Certificate field, enter the certificate. Optional: In the CaCertificate field, enter the CaCertificate. 53.2.1. Dashbuilder Standalone environment variables When you use the Dashbuilder Container Image within operator, you can configure Dashbuilder by using the environment variables or through Custom Resource. Table 53.1. Custom Resource parameters Parameter Equivalent Environment Variable Description Example value allowExternalFileRegister DASHBUILDER_ALLOW_EXTERNAL_FILE_REGISTER Allows downloading of external (remote) files. Default value is false. False componentEnable DASHBUILDER_COMP_ENABLE Enables external components. True componentPartition DASHBUILDER_COMPONENT_PARTITION Enables partitioning of components by the Runtime Model ID. Default value is true. True configMapProps DASHBUILDER_CONFIG_MAP_PROPS Allows the use of the properties file with Dashbuilder configurations. Unique properties are appended and if a property is set more than once, the one from the properties file is used. True dataSetPartition DASHBUILDER_DATASET_PARTITION Enables partitioning of Dataset IDs by the Runtime Model ID. Default value is true. True enableBusinessCentral - Enables integration with Business Central by configuring Business Central and Dashbuilder automatically. Only available on operator. True enableKieServer - Enables integration with KIE Server by configuring KIE Server and Dashbuilder automatically. Only available on operator. True externalCompDir DASHBUILDER_EXTERNAL_COMP_DIR Sets the base directory where dashboard ZIP files are stored. If PersistentConfigs is enabled and ExternalCompDir is not set to an existing path, the /opt/kie/dashbuilder/components directory is used. - importFileLocation DASHBUILDER_IMPORT_FILE_LOCATION Sets a static dashboard to run automatically. If this property is set, imports are not allowed. - importsBaseDir DASHBUILDER_IMPORTS_BASE_DIR Sets the base directory where dashboard ZIP files are stored. If PersistentConfigs is enabled and ImportsBaseDir is not set to an existing path, the /opt/kie/dashbuilder/imports directory is used. If ImportFileLocation is set ImportsBaseDir is ignored. - kieServerDataSets KIESERVER_DATASETS Defines the KIE Server data sets access configuration. - kieServerTemplates KIESERVER_SERVER_TEMPLATES Defines the KIE Server Templates access configuration. - modelFileRemoval DASHBUILDER_MODEL_FILE_REMOVAL Enables automatic removal of model file from the file system. Default value is false. False modelUpdate DASHBUILDER_MODEL_UPDATE Allows Runtime to check model last update in the file system to update the content. Default value is true. True persistentConfigs `` Sets Dashbuilder as not ephemeral. If ImportFileLocation is set PersistentConfigs is ignored. Default value is true. Available only on operator. True runtimeMultipleImport DASHBUILDER_RUNTIME_MULTIPLE_IMPORT Allows Runtime to allow imports (multi-tenancy). Default value is false. False uploadSize DASHBUILDER_UPLOAD_SIZE Sets the size limit for dashboard uploads (in kb). Default value is 10485760 kb. 10485760 env - Represents an environment variable present in a Container. - You can use operator to set environment variables by using the env property. The following example sets the value of the DASHBUILDER_UPLOAD_SIZE property to 1000 .

Commands:
./bin/jboss-cli.sh --commands="embed-server --std-out=echo,/subsystem=elytron/filesystem-realm=ApplicationRealm:add-identity(identity=<USERNAME>),/subsystem=elytron/filesystem-realm=ApplicationRealm:set-password(identity=<USERNAME>, clear={password='<PASSWORD>'}),/subsystem=elytron/filesystem-realm=ApplicationRealm:add-identity-attribute(identity=<USERNAME>, name=role, value=['admin'])"
./standalone.sh -c standalone-full.xml
standalone.bat -c standalone-full.xml
apiVersion: app.kiegroup.org/v2 kind: KieApp metadata: name: standalone-dashbuilder spec: environment: rhpam-standalone-dashbuilder objects: dashbuilder: config: kieServerDataSets: - name: kieserver-1 location: 'https://my-kie-server:80/services/rest/server' user: kieserverAdmin password: kieserverAdminPwd replaceQuery: true
apiVersion: app.kiegroup.org/v2 kind: KieApp metadata: name: standalone-dashbuilder spec: environment: rhpam-standalone-dashbuilder objects: dashbuilder: config: kieServerDataSets: - name: kieserver-1 location: 'https://my-kie-server:80/services/rest/server' user: kieserverAdmin password: kieserverAdminPwd replaceQuery: true kieServerTemplates: - name: kieserver-template location: 'https://my-another-kie-server:80/services/rest/server' user: user password: pwd replaceQuery: true
`dashbuilder.example.com`
apiVersion: app.kiegroup.org/v2 kind: KieApp metadata: name: standalone-dashbuilder spec: environment: rhpam-standalone-dashbuilder objects: dashbuilder: env: - name: DASHBUILDER_UPLOAD_SIZE value: '1000'