Skip to main content

Management Console

In this chapter, insightsoftware assumes that you have already installed Write! and activated the License because some functionalities rely on an active license. For more information on installation and licenses, see the Installation chapter.

Write! Management Console (WMC) is the user interface for Write! configuration. Its purpose is to manage and configure Write!'s feature sets including:

  • WMC user access and default user password.
  • Qlik user access and licenses.
  • the server's SSL settings, database connections, Qlik connection, and endpoints.
  • other configuration-related topics.

For more information, see Getting Started with Write. You can also watch this video on YouTube.

Alternatively, the built-in setup tour can guide your first steps in WMC. It's automatically started on first login and always reachable by clicking on Restart Tour in the menu.

Multi-Tenancy

WMC supports multi-tenancy, that is, the users are associated with user roles that affect the software functional scope available to them.

User Role Authorization

Qlik and Write! User

No access to WMC. The users can only access Write!online help.

Console User

The users can create and edit endpoints that are available through their associated Spaces. They have access to the User Area.

Content Admin

Content admins can administrate users and groups, and create Access Allocation Rules, Spaces and Storage Connections. In the WMC GUI they have access to both the User Area and the Management Area.

Root Admin

Root admins have access to all areas of WMC. Their responsibilities include server administration, certificate import and license management.

The roles' authorizations are inherited by the higher roles. Therefore, a Content Admin also has the authorization of WMC User and Qlik and Write! User.

For more information on multi-tenancy, see this Youtube video.

Endpoints

The WMC > User Area > Endpoints submenu enables you to create and configure endpoints. Endpoints define the interface between the Write! components and the databases which save the data during writeback.

Figure 1:  Endpoints view in WMC

The view contains buttons that enable you to import, export and create new endpoints.

The Endpoints view displays a table, where each row represents an existing endpoint configuration for Edit. The table contains the following columns:

  • Product -Indicates the product for which the endpoint is configured.
  • Endpoint - Contains the endpoint's name. When configuring Write! extensions in Qlik, available endpoints are listed in Server Settings.
  • Connection - The storage connection that is associated with the endpoint. The endpoint data is saved in the connection's database.
  • Description - An optional description text.
  • Spaces - Spaces associated with the endpoint.

In addition to the read-only endpoint information, you can also interact with the table using the buttons on the right side of each row. Clicking the icon opens the Qlik Load Scripts of the respective endpoint. Clicking the icon opens a modal window in which you can edit the respective endpoint. You can delete endpoints by clicking the icon.

Note:

Deleting an endpoint does not delete the underlying database tables. Instead, the tables are renamed so that the software adds the _deleted keyword and an associated timestamp. The content of all tables is preserved.

Endpoint Health Check

The Endpoint Health Check is a diagnostic tool that verifies your configured endpoints are correctly set up and fully operational. It performs checks on storage connections, database tables, views, columns, and indices to identify configuration issues. The result is summarized in a health report.

What the Health Check Inspects

The Endpoint Health Check validates the following aspects of your endpoint configuration:

  • Storage Connection - Whether the storage connection exists, is reachable, and resides in the same Qlik space as the endpoint.

  • Database Tables - Whether all expected tables exist with the correct columns and indices.

  • Database Views - Whether all expected views exist with the correct columns.

Health Status Indicators

After running a health check, each endpoint receives one of three status indicators:

Status Icon Meaning

Healthy

Everything is properly configured and reachable. No issues detected.

Unhealthy

One or more issues were detected. A detailed report is available to diagnose the problems.

Untested

No health check has been performed yet. Run a health check to obtain a status.

 

How to Use the Health Check

The Endpoint Health Check provides two ways to verify endpoint health: checking individual endpoints or running bulk checks on all endpoints at once.

Check Individual Endpoint Health

To perform a health check on a specific endpoint:

  1. Navigate to Management Console > Admin Area > Endpoints.

  2. Open the endpoint configuration panel by clicking the edit icon for the desired endpoint.

  3. Click the Check Health button in the toolbar.

  4. The health check runs automatically. Once complete, the status label updates to display the result ( Healthy, Unhealthy, Untested).

  5. If the endpoint is Unhealthy, a Show Report button appears. Click it to open the detailed Health Report modal for diagnosis and remediation.

Check All Endpoints Health

To run a health check on all endpoints in your system:

  1. Navigate to Management Console > Admin Area > Endpoints.

  2. Click the Check Endpoint Health button in the header toolbar.

  3. The system performs health checks on all configured endpoints. Once complete, a modal window opens displaying the health reports for all endpoints.

  4. Review the reports to identify any endpoints requiring remediation.

View Health Reports

You can access detailed health reports in the following ways:

  • For a specific endpoint - Open the endpoint configuration panel and click Show Report (visible only if the endpoint is unhealthy).

  • For all endpoints - In the Endpoints section header, click Get Latest Health Report to view all health reports from the most recent bulk check.

Issue Types and Severity Levels

The Health Check detects various configuration issues, each categorized by severity. Understanding these issue types helps you prioritize remediation efforts.

Issue Type Severity Description

Missing table or view

Error

An expected table or view does not exist in the database. This prevents the endpoint from functioning correctly and must be resolved immediately.

Missing field (column)

Error

A required column is absent from a table or view. The endpoint cannot operate without this column.

Off-type field

Warning

A column exists but its data type does not match the endpoint configuration. This may cause data conversion errors or unexpected behavior.

Unused field

Info

A column exists in the database but is not used by the endpoint configuration. This is informational only and does not affect functionality.

Missing index

Error

A required database index is not present on the table. Missing indices can impact performance and data consistency.

Connection unreachable

Error

The storage connection cannot be reached. Verify network connectivity, firewall rules, and database server status.

Not in same space

Error

The storage connection is configured in a different Qlik space than the endpoint. The storage connection must reside in the same space for the endpoint to function properly.

 

Health Report Color Guide

The Health Report uses a color-coded system to help you quickly identify the severity and type of issues detected. This visual guide makes it easy to prioritize remediation efforts.

Color Severity Level Meaning and Examples
Green

Healthy / OK

No issues detected in this area. Examples: Connection reachable, table exists and is configured correctly, all required columns present.

Red

Error (Critical)

A critical issue that prevents the endpoint from functioning. Requires immediate remediation. Examples: Missing table, missing required column, connection unreachable, storage connection in wrong space, missing index.

Orange

Warning

A potential issue that may cause unexpected behavior or data inconsistencies. Should be reviewed and resolved when possible. Example: Column exists but has an incorrect data type.

Gray

Informational

Non-critical information about the endpoint configuration. Does not affect functionality but may indicate unused or extraneous columns. Example: Column exists in database but is not used by the endpoint.

 

Best Practices for Endpoint Health Management

To maintain healthy endpoints and prevent runtime issues, follow these recommendations:

  • Run regular health checks - Perform health checks on all endpoints at least quarterly, or more frequently if your data structures change.

  • Address errors immediately - Red (Error) issues must be resolved before the endpoint can function correctly. Do not ignore these issues.

  • Review warnings - Orange (Warning) issues should be investigated and corrected to prevent data inconsistencies and unexpected behavior.

  • Monitor info messages - Gray (Info) items are typically not urgent but may indicate database schema drift. Review them periodically to keep your configuration aligned with your actual database structure.

  • Document changes - When you resolve health check issues, document the changes made to your database or endpoint configuration for audit and troubleshooting purposes.

  • Test after fixes - After resolving issues detected by the health check, run the health check again to confirm the problems have been resolved.

Import and Export

The Import and Export buttons in the Endpoints submenu open dialogues for importing and exporting endpoints. The endpoint exchange format is JSON. The file-schema can be deduced from viewing an exported file. Import and export of multiple endpoints at once is possible.

Figure 2:  Import Endpoints dialog

Example endpoint configuration in JSON:

Copy
{
                "qwproduct": "EDIT",
                "connectionname": "Salesqlite",
                "endpoint": "facts",
                "reloadType": "APP_RELOAD_FULL",
                "description": "Fact data for Fiplana Sqlite Sales Demo",
                "pattern": [
                {
                "from": "Date",
                "to": "Date",
                "type": "date"
                },
                {
                "from": "OrderNo",
                "to": "OrderNo",
                "type": "number",
                "isPrimary": 1
                },
                {
                "from": "Customer",
                "to": "Customer",
                "type": "string"
                },
                {
                "from": "Quantity",
                "to": "Quantity",
                "type": "number"
                }
                ],
                "saveAlwaysFullRow": true
            }

After selecting the endpoint that you want to import and pressing the Import button, the file is loaded in the Endpoint submenu. You may have to adapt the storage connection here. To export an endpoint, click on the Export button and select the endpoints that you want to export. When you click the Export button in the dialog, a .json-file with all endpoint information is exported.

Qlik Load Scripts

When you click the icon of an existing endpoint, the software displays a modal window containing a suggestion for implementing the Qlik Sense load script in applications that use the endpoint. You can copy and paste these scripts into the data load editor in Qlik Sense.

Note:

Load scripts aren't generated for REST-connections.

Write! Edit Load Script Example:

Copy
facts:
                LOAD
                "Date", // date
                "OrderNo", // number (primary key)
                "ItemNo", // number (primary key)
                "Customer", // string
                "Article", // string
                "Confirmed", // string
                "Amount", // number
                "Quantity", // number
                "deleted" as facts_deleted, // number
                "version" as facts_version, // number
                "changed_by" as facts_changed_by, // string
                "updated_at" as facts_updated_at; // string
                SQL SELECT
                `Date`,
                `OrderNo`,
                `ItemNo`,
                `Customer`,
                `Article`,
                `Confirmed`,
                `Amount`,
                `Quantity`,
                `deleted`,
                `version`,
                `changed_by`,
                `updated_at` 
                FROM `we_data_facts`
            WHERE deleted=0;

New Edit Endpoint

When you go to WMC > User Area > Endpoints and click the New Edit Endpoint button, the software displays a popup window. In the left screen area, you can configure General Settings, and on the right side you can set Fields Settings.

Figure 3:  General Settings in the modal dialog for creating Edit endpoints.

General Settings

Using General Settings you can configure common and edit-specific endpoint settings using the following options:

  • Database Connection—Dropdown showing your WMC user's available database connections. The endpoint's tables are created there.
  • Endpoint name—A unique name for the endpoint.
  • Spaces—Dropdown showing your WMC user's available spaces. At least one space must be selected. Users in selected spaces can access the endpoint.
  • Reload Type—Defines whether and how Write! attempts to reload a Qlik app after saving data to an endpoint.

    • No Reload: There is no reload after the save-event. Changes are visible only after a manual reload in Qlik.

    • Full App Reload: The Write! server triggers a full app reload. For more information, see Qlik documentation here.

    • Partial App Reload: The Write! server triggers a partial app reload. For more information, see Qlik documentation here.

    • Task Reload: The Write! server triggers a task reload. For more information, see Qlik documentation here.

    Note:

    Make sure that your partial app reload in Qlik works successfully before activating it in the extension. If Section Access is activated within your Qlik Sense App, the users sa_engine and sa_api need to be added to the Section Access for Write! to successfully reload the app.

  • Always save full row: By default, Write! endpoints only save the changed entries in each edited row. On activating the Always save full row option, Write! server creates an additional table prefixed we_fullData for the endpoint. The added table saves the full rows of all changed rows in each save event. If this feature is activated for an existing endpoint, you need to adjust the endpoint's load script. For more information on Always save full row, see the Save Full Row video.

  • Description: An optional description.

Fields Settings

The Field Settings area defines the data communication between Write! extensions and the Write! server. It consists of a table displaying the endpoint's field definitions, a button in the right upper corner for adding fields, and toggle buttons for activating the Automatic Primary Key and Allow Duplicates features.

Figure 4:  Fields settings

Fields Table

The Fields table consists of the following columns:

  • Technical Field Name and Database Field Name—define the mapping with which the Write! Server decides in which database field the incoming Qlik-field is saved.

    • The chosen technical field name must be set in the associated Qlik extensions' property panels to ensure that changes in the extensions are properly saved.

    • The database field name specifies the name of the respective field in the database. After saving, the Write! creates the specified fields as columns in the endpoint-specific tables of the database that is specified by the storage connection.

  • Type sets the field's data type. The following types are available

    • Number—Floating point number.

    • String—Text with up to 255 characters.

    • Text—Text of arbitrary length.

    • Date—Date Objects.

    • Styled Text—Type for the WYSIWYG Editor

    • Multiselect—Type for the Multiselect Editor.

  • Primary sets the field as part of the table's primary key. The combined primary fields constitute a unique value. Write! ensures that there aren't any duplicate rows with respect to that unique value and instead update existing rows.

    You can delete fields by clicking the icon.

    Note:

    In the Edit extension you can't change the primary key when you're updating data sets.

Automatic Primary Key

After you activate the Automatic Primary Key feature, an additional field titled endpoint_guid is added to the existing endpoint fields. In that field a unique key is inserted for each existing row. This constitutes the new primary key of the endpoint, replacing the original primary key. The original primary key remains a unique-constraint on the endpoint's tables unless you enable Allow Duplicates, too. New rows added in extensions using this endpoint now automatically include a unique key, ensuring that insertion doesn't overwrite any data. The generated load script is adjusted to include the new field and needs to be updated in all apps using this endpoint.

Note:

Once you activate this feature, you can't deactivate it.

Allow Duplicates

The Allow Duplicates feature can be activated together with Automatic Primary Key. The feature disables declaring endpoint fields as unique and removes existing unique-constraints, effectively making Automatic Primary Key the sole uniqueness indicator.

Note:

Once you activate this feature, you can't deactivate it.

New Plan Endpoint

There are two types of Plan Endpoints, Single KPI and Dual KPI (in the dropdown menu Plan Endpoint and Plan Dual KPI Endpoint). Dual KPI endpoints allow you to define two KPIs and enable the Write! Plan Dual KPI features.

The creation of a new endpoint for Plan is similar to Edit. For the Database Connection settings, Endpoint Name and Reload Type refer to General Settings. Additionally, you can enable the Enable history checkbox. If enabled, every save event is versioned as an additional row in the history table. To avoid excessive amounts of data waste, insightsoftware recommends you create an individual historization, for example monthly.

Figure 5:  New Endpoint dropdown options

Note: You can't create Plan Dual KPI Endpoints using the Snowflake and Microsoft dedicated SQL pool storage connections.

Dimension Settings

Dimension Settings define the connection between Qlik dimensions and database columns within the Plan endpoint. Similar to Edit endpoint Fields Settings, the chosen Technical Field Name must be set in the associated Qlik Extensions' property panels. The Database Fieldname is the name of the respective column in the database.

Figure 6:  Dimension Settings

Period Settings

Periods are the individual time frames within a Plan table. Usually these are months or quarters but they can be labelled freely. Each label is associated with a Number that servers as its ID. Each period's number determines its position from left to right in the Plan extension's table.

You can configure optional precision settings for period fields when creating endpoints. These settings control decimal number storage in your database:

  • Precision - Controls the total number of digits that can be stored in a period database field. (Default value 38)

  • Scale - Defines the number of digits after the decimal point in a period database field. (Default value 4)

Figure 7:  Period Settings

For more information on Plan endpoints, please check out our YouTube video Creating a new Plan Endpoint.

Period Presets

Period presets are user-defined period sets. They are useful when multiple Plan Endpoints refer to the same time scales. Typical examples are the months of the year or quarters. Once you create a preset, you can add it to any new endpoint which saves time and makes it easier to create more than one endpoint with the same period set at once. Selecting a preset overwrites any periods already added within the endpoint configuration.

Note:

Period presets are only available during the creation of the Plan endpoint.

Figure 8:  Period Presets window

To create a new preset, click the Configure Presets button in the period settings of the respective endpoint. With the Select Preset option, you can select a previously created preset. Under Preset Name you can either enter or change the respective name of the preset and the Periods field displays all below entered periods.

Newly created presets are green, changed presets orange, and deleted presets are red. If you delete a previously added preset, it's removed from the list. All changes are applied when you save the configuration.

Note:

Once you add a preset to an endpoint, the endpoint becomes unattached to the original preset. Therefore, changes within the preset attached to the endpoint do not carry over to the original preset and vice versa.

Qlik Automations Triggering for Write!

Qlik automations streamline workflows by automating data tasks, integrations, and business processes within Qlik Sense. They eliminate manual steps and trigger actions based on specific conditions or events. Qlik automations are available for all Write! extensions. In Write! Management Console (WMC) you can configure Write!endpoints to trigger automations whenever data in any Write! extension is saved. The feature is available for Cloud and SaaS environments.

With this feature, the software automatically triggers the configured Qlik automation workflow whenever users save changes in their extensions. The system waits only for successful triggering of the automation, not for the workflow to complete, ensuring optimal performance.

Enabling Qlik Automations Triggering for Write!

Before you start, make sure that automations relevant to your use case exist in Qlik Cloud.

Note: For both newly created and existing automations, the API token owner needs to be the owner of the automation.

To enable Triggering Qlik Automations for Write!, follow these steps:

  1. Navigate to WMC > Endpoints. The software displays the list of endpoints.

  2. Select an endpoint and click the icon. The software displays a modal window where you can edit the endpoint.

  3. Find the Trigger a Qlik Automation option and enable the toggle button. The software requires you to choose automations to trigger.

  4. From the dropdown, select the automation. Automation needs to exist in Qlik Sense.

  5. After selecting the automation, click Save.

You have successfully configured Qlik automations for Fiplana extensions. Whenever users save changes in their extensions or the extensions reload, the software will automatically trigger the configured Qlik automation workflow.

The software will notify users of a successful or failed automation trigger by displaying a notification in the extension opened in Qlik Sense. For a failed automation, the software will display an error message.

Manual

When you go to WMC> User Area > Manual, Write! documentation opens in a new tab.

About

The WMC> User Area > About submenu lists all third party licenses.

Users

Content admins manage individual users in the WMC> Management Area > Users submenu.

The following data is stored in the Users submenu:

  • User directory
  • User ID
  • Email (Only for Qlik Cloud)
  • Name
  • Role
  • Products
  • Spaces
  • Last login

Figure 9:  Users submenu

Note: You can't create individual users here. You can only edit existing users.

You can delete users by clicking on the icon and edit users by clicking on the icon in the user's row. A modal dialog opens, in which you can adjust the user Role, Product and Space.

The Reapply Access Allocation Rules button removes privileges of all existing users and reapplies the allocation rules to them.

Spaces

In the WMC > Management Area > Spaces submenu, you can define access rights of users to storage connections and endpoints. Content admins can configure access to storage connections and endpoints for users in both WMC and the Write! extensions in Qlik, thus facilitating the application of the need-to-know principle. Each space can contain any number of users, storage connections and endpoints. A user can only access an endpoint if at least one space that they are a member of allows for it.

In the overview you can see all information about the already created spaces and filter accordingly.

Figure 10:  Spaces view

With a click on the Add Space button in the top right corner, you can create a new Space. Here you enter a name, description and add all related users, database connections and corresponding endpoints.

Figure 11:  Add Space dialog

Only Content Admins (with access to this space) can edit the associated Storage Connections.

Only Console Users (with access to this space) can edit the associated Endpoints.

Any Qlik user (with access to this space) can use the endpoint in Write! extensions.

Access Allocation Rules

The WMC > Management Area > Access Allocation Rules submenu enables the creation, maintenance and application of access allocation rules. By default, WMC applies all suitable access allocation rules to users on their first login either through WMC or a Write! extension and saves the resulting individual user access rights in the users table.

Note:

Existing users in the user table aren't updated by access allocation rules, even if the rules change. However, the rules can manually be reapplied to existing users by clicking the Reapply Access Allocation Rules button.

This menu is divided into two types of Access Allocation: Extension Access Allocation and WMC Access Allocation. Each allocation rule controls directories, users or user groups, and type of access for their specified user. Rules are inclusive, that is, if multiple rules apply to a user, the combined privileges are granted to them. User directories, groups and names accept wild card (*) input. In order to add a rule, press Add Rule. In the New Extension Allocation Rule dialog, choose User Directory, rule Type (User or Group) and User /Group Name. Then, add the rule-specific privileges and click Save.

WMC allocation rules are configured similarly to extension allocation rules, except they determine the user roles of WMC users.

Storage Connections

The WMC > Management Area > Storage Connections submenu manages storage connection configurations. It provides a list of configured storage connections and allows for adding new ones. The following storage connection types can be licensed:

  • MSSQL
  • OracleDB
  • Sqlite3
  • PostgreSQL
  • MariaDB
  • Microsoft dedicated SQL pool
  • Snowflake (BETA)
  • REST

Please find general information on all storage connections except SQLite under the Getting Started with Write section in Getting Started. This section contains specific information on configuring storage connections for SQLite, Snowflake and generic REST connectors.

Setting up an SQLite Connection

After you select SQLite as the connector, the following dialog appears:

Figure 12:  New Connection dialog for SQLite connection

For an SQLite database, only the corresponding path needs to be specified, for example. C:/Example/DB.sqlite.

Note:

When you save the configuration or press the Test Connection button, WMC creates a new SQLite database at the desired path if it doesn't find an existing database. insightsoftware recommends using SQLite exclusively for Proof of Concepts (POCs) and not for productive use.

Setting up a Snowflake Connection

Note:

The Snowflake Connector needs to be licensed for use.

After you select Snowflake as the connector, the following window appears:

Figure 13:  New Connection dialog for Snowflake connection

The Database name needs be identical to the database name in the Snowflake Management Console and written in all caps. The URL needs to be copied from the Snowflake Management Console (SMC).

Figure 14:  Copy Account URL in SMC

The Schema needs to be the created schema of the database and also needs to be in all caps. The SQL User and Password have to be the Login IDs from the MC.

Note: Snowflake database connection is slow when inserting data. It is mainly recommended for data analysis.

Custom Storage Connector with REST

Note:

The REST Connector needs to be licensed for use.

Write! Management Console (WMC) supports REST-Web services as database connections. Such a database connection only requires a target URL, which can be defined in the New Connection dialog. The Web service at the target URL needs to accept HTTP post requests. The target Web service's certificates need to be part of a valid trust chain and may therefore not be self-signed.

Note: The web service needs to run on the same server as the WMC server.

Added information that facilitates mapping and can be used by the REST connector:

  • appId: The identifier of the app from which was saved.
  • endpointName: The name of the endpoint as string.
  • updatedAt: The date of the last changes, sent in ISO time format with the UTC time.
  • user: The name of the user who made changes.

In Write! Edit, the object sent from the server can have all the data types above including two arrays: postData and postFullData. postData solely contains changed fields of changed rows, whereas postFullData contains all fields of a changed row. postFullData is only available if Always save full row is activated. Possible data types that can be written into the rest endpoint of a custom storage connection are string, number and boolean. Primary keys are always displayed as strings. To create a custom storage connection, log into Write! Management Console, click Storage connections and then New Connection. Choose the connector REST and enter a name and the URL of your web service. After successfully testing the connection, click Save.

Below you find a typical request body of the WMC server when saving data to a REST endpoint:

{ "appId": "C:\\Users\\Tester\\Documents\\Qlik\\Sense\\Apps\\Fiplana-Sales.qvf", "postData": [ { "OrderNo": "11083", "ItemNo": "985", "Confirmed": 1, "Customer": "Nirvana Stores" }, { "OrderNo": "11083", "ItemNo": "706", "Article": "Davenport" } ], "postFullData": [ { "OrderNo": "11083", "ItemNo": "985", "Confirmed": 1, "Amount": 308.6909998, "Quantity": 3, "Customer": "Nirvana Stores", "Article": "Snake Boots" }, { "OrderNo": "11083", "ItemNo": "706", "Confirmed": 1, "Amount": 194.5, "Quantity": 5, "Customer": "Das Alpen Shoe", "Article": "Davenport" }], "endpointName": "restFacts", "updatedAt": "2020-06-16T07:21:29.068Z", "user": "Personal\\Me" }

For Plan, in addition to the properties named above, three more mappings are possible:

  • isFlat—specifies if the data is sent flat or a as a pivot table. Currently, this value is always set to True.

  • planId—the saved plan ID.

  • data—the data structure as an array.

Here, only dimensions and period names can be mapped because the field year is a reserved keyword within the endpoint configuration. A database entry for Write! Plan can look like this:

{ "appId" "C:\\Users\\Tester\\Documents\\Qlik\\Sense\\Apps\\Fiplana-Plan.qvf", "data": [ { "planId": "Actuals", "year": "2018", "Company": "Gesamt", "Region": "Nord", "SalesRep": "Decker", "Customer": "Davenport Fashion", "period_9": 70000, "period_12": 48667 }, { "planId": "Actuals", "year": "2019", "Company": "Gesamt", "Region": "Nord", "SalesRep": "Decker", "Customer": "Davenport Fashion", "period_10": 80000 } ], "isFlat": true, "planId": "Actuals", "endpointName": "restSalesPlan", "updatedAt": "2020-06-16T07:26:02.509Z", "user": "Personal\\me" }

Database Structure (Edit and Form Endpoint)

Write! Edit endpoints consists of two tables in their respective storage connection:

  • Data Table (prefix we_data_)—stores the latest saved values for each row in the endpoint. In addition to the configured endpoint fields, the table also includes the fields deleted, version, changed_by and updated_at. Version increases each time a change is made. changed_by and updated_at inform about who made the latest change when.
  • History Data Table (prefix we_history_)—stores each saved change as a separate new row. Allows for full transparency on who did which changes and when.

The endpoint adds two more tables when the Always save full row option is active. Both data table and history data table are complemented with full data and history table (prefixed we_fullData_ and we_fullHistory_). On deactivation, the we_fullData_ table is deleted again.

Figure 15:  Data table of an Edit endpoint with several dimensions and measures

Figure 16:  Full data table of an Edit endpoint

Figure 17:  Example we_data columns and values

For more information about the database structure, see this YouTube Video.

Overview

The WMC > Admin Area > Overview submenu contains the following information:

  • License information—number of users and seats available for Edit, Plan, and Gantt.
  • Own License—the expiration date of your license.
  • Server version

If you use Qlik Cloud, the expiration date of the API key is shown as well. To ensure a faster and more efficient elimination of system problems, the logs are available for download. Furthermore, the Download Logs button allows for downloading Write! server logs for debugging.

Qlik Settings

In the WMC > Admin Area > Qlik Settings submenu, you can configure settings for the connection between the Qlik and Write! server as well as for the extensions. This is necessary for authentication and app reloading.

In Qlik Settings > Connection >Product you can first select the Qlik-Product for which you would like to use Write!. Write! supports Qlik Sense Desktop, Qlik Sense Server and Qlik Cloud.

Qlik Sense Desktop

For the desktop version, no additional settings are required.

Figure 18:  Qlik Sense Desktop selected as product

If Qlik Sense Desktop has been started, pressing the button Test Connection should be successful.

For the Desktop version, no user needs to be manually initialized; the user Personal\\me is created automatically and has all authorizations.

After setting up Write! for Qlik Sense Desktop, you need to copy the extensions manually from the "/demo"-folder in the Write! install directory to the Qlik Sense extensions directory (Default: C:\Users {user}\Documents\Qlik\Sense\Extensions).

Qlik Sense Server

When you select the Qlik Sense Server as the product, you need to configure the following connection details:

  • Domain
  • Ports—Engine API, QPS, and QRS
  • Secure
  • Virtual Proxies
  • Client Certificate File

The configuration defines the connection between the Write! Server and Qlik Sense Server. The basis for this is the certificate export from the Qlik Sense Management Console (QMC).

Figure 19:  Settings for Qlik Sense Server on premise as the product

The Domain used in the configuration needs to point to your Qlik Server's address. In the respective fields, you need to configure the ports of Qlik Engine API, proxy services (QPS) and repository services (QRS). The fields are set to Qlik default port settings, so you don't need to change them unless you have Qlik configured to other ports. You can find standard ports of Qlik Sense services in Standard Ports for Qlik Sense Services.

If you enable the Secure switch, Qlik Sense server uses SSL through https/wss. If the switch is disabled, the connection is established through http/ws.

The QPS Proxy Nodes option enables you to select the cluster nodes that are used as proxy nodes.

By clicking the Select .pfx File button, you can directly upload the certificate exported from the QMC for authentication and secure communication between the Write! server and Qlik Sense services.

The Passphrase is set within the scope of the export and needs to be entered in the Passphrase of Client Certificate (PFX) field. For more information on certificates, see the YouTube video.

After you configure all the above fields, you need to test the connection by clicking the Test Connection button. If the test is successful, you can save the configuration. Additionally, you need to restart the Write! server.

After the restart, you can configure Virtual Proxies. There' s a dropdown menu from which you select existing Qlik Virtual Proxy prefixes. If set, the Write! server uses the selected proxies to send app reloads to correct Qlik nodes in multi-node environments that have load-balancing configured.

Server Side Extension

Note:

insightsoftware highly recommends you use the Server Side Extension only for small scenarios within the corporate network. For any other usage, outside the corporate network or for Qlik Sense Server clustering, please use HTTPS. Furthermore, make sure that Reverse DNS Lookup works for the Write! Server.

The Server Side Extension (SSE) is an alternative to the HTTP / HTTPS connection between the Write! backend and Qlik and the user. It implements a protocol based on gRPC that allows extending Qlik's expression library with functionality from external calculation engines. gRPC is an open source remote procedure call protocol developed by Google.

If properly configured in both WMC and the Write! extensions in Qlik, SSE can handle the entire communication (saving, authentication) between Qlik and the WMC through the use of Qlik's data stream. In this case, Write! server's writeback service no longer requires its TCP port (4000 by default) opened. For more information, see Installation.

To configure SSE, open the Qlik connection submenu. SSE is only available for Qlik Sense Desktop and Qlik Sense Server. If either is selected and configured, clicking the Server side extension configuration button opens a dialog in which SSE can be activated. For Qlik Sense server, additional encryption can be activated. In case of further modifications to SSE configuration, for example adding or editing route, you need to restart Qlik.

You can view these settings in your QMC under the tab Edit Analytic Connection.

Figure 20:  Server side extension settings

After enabling the Encrypt toggle button, you can configure an encrypted SSE connection between Write! and Qlik. You can download the encryption certificates for the Qlik server after saving the SSE settings using the Download certificates button.

The location of certificates needs be made available to Qlik Management Console (QMC) of Qlik Sense Server. Below figure shows the editing dialog for a QMC analytic connection. The certificate file path needs to point to the path under which the certificates reside, , while the Host needs to match the Qlik server hostname. If these requirements are fulfilled, the encrypted analytic connection on the side of Qlik is set up.

Figure 21:  Dialog for editing an analytic connection in QMC

To apply these changes, please restart the Write! Service and, if needed, Qlik Sense Desktop. The created certificates are also stored in the Write! config store.

Note:

Analytic connections are only available for Qlik Sense Server and Desktop.

Now, these settings can be applied in the Write! extensions. In order to do so, you need to enable the SSE button in the Server Settings tab of the extension's property panel. If a Server Side Connection is established in the WMC, it is automatically activated in newly created extension objects. In already existing extension objects, you have to switch the option manually. Now, authentication and data saving is performed through SSE instead of HTTP/S. Deactivating SSE returns the extension to HTTP mode.

Figure 22:  Server Settings with SSE activated

Figure 23:  Server Settings with SSE deactivated

Qlik Cloud

For more information, see Getting Started with Write! for Qlik Cloud.

To establish an authentication between the Write! Server and Qlik Cloud, the Qlik Settings within the Write! Management Console need to be adapted (path WMC > Admin Area > Qlik Settings): A tenant URL and a Qlik Cloud API token are necessary.

Figure 24:  Qlik Cloud Tenant URL

The Qlik Cloud API token is required for user authentication and app reloading. It can be obtained by Qlik cloud users (preferably technical users) with tenant admin rights. Only one user needs to provide the API token.

If all requirements are fulfilled, an API token can be created. In order to obtain an API token, log into your Qlik Cloud account. Click on your profile settings and onto API keys. After clicking the Generate new key, type in a description and the expiration duration. Here, insightsoftware suggests you set the longest duration possible. After generating the key, copy it and paste it into the Qlik Cloud API Token column in the Qlik Settings, test the connection and save.

Figure 25:  API keys option in Qlik Cloud Profile Management menu

Figure 26:  Qlik Cloud dialog for generating a new API key

For more information, see the respective Qlik help.

Setup Content Security Policies for Qlik Cloud

For more information, see Setup Content Security Policies for Qlik Cloud in the Getting Started section.

To use Write! with Qlik Cloud, Qlik Cloud needs to allow the communication between the extensions that run under Qlik URL and Write! server.

For this purpose, you need to setup Content Security Policies (CSP) for Qlik Cloud. To do so, go to QMC > Integrations > Content Security Policy. Then, click the three dots and choose the Edit option. Here, you can set the Directives.

Note:

Directives are usually set only for the Tenant Alias Hostname (for example your.company.eu.qlikcloud.com), therefore Qlik Cloud also needs to be accessed through the Tenant Alias Hostname to gain access to the extensions. Otherwise, you need to create an additional content security policy.

Write! requires enabling the connect-src and img-src CSP. The origin needs to be Write! server address and its Writeback port as port. Figure 25 shows a valid CSP configura

Figure 27:  Directives selected for Write! Server

The Write! Plan Webworker is only needed when you use Write! Plan or Write! Dual KPI. Webworker needs all available directives.

Figure 28:  Directives selected for Write! Webworker

Note:

It may take a few minutes for the extensions to appear due to the cloud deployment process.

For more information, see the respective Qlik help.

Extensions

In WMC > Qlik Settings > Product (Value chosen: Qlik Sense Server or Qlik Cloud) > Extensions you can find an overview of already deployed Qlik extensions with name, date, version, Qlik ID and checksum. Here you can redeploy extensions and set up an auto deploy for extensions. This eliminates the need to manually deploy extensions to Qlik. Auto-deploy is active by default.

Figure 29:  Auto deploy extensions option enabled

Network Settings

The WMC > Admin Area > Network Settings submenu contains configurations for network-related topics.

Under General Settings, you can activate HTTP Security Headers. As a result the software adds secure response headers in its server responses.

Furthermore you can set the Write! Server URL, which serves as default URL in Write! extensions in Qlik.

Write! sends anonymous usage data to insightsoftware. If you don't want the extension to send anonymous usage data to insightsoftware, you can disable the Send anonymous usage data checkbox in WMC > Admin Area > Network Settings. The checkbox is enabled by default.

In Certificate Settings you can configure the server SSL certificates. The formats are pem or PKCS#12. For pem you need to upload both the certificate (.pem, .crt, or .cer) and key (.pem, .key) file with an optional passphrase. For PKCS#12 you need to upload the .pfx file with an optional passphrase. After uploading, the server restarts with SSL active.

Figure 30:  Certificate Settings

The certificate needs to be issued for the Fully Qualified Domain Name (FQDN), for example qliksense.my-company.com or a wildcard certificate, for example *.my-company.com, of the Write! server.

For more information on certificates for Write!, see this YouTube video.

In Port Settings you can set your own ports for the writeback service, the WMC and the SSE. The standard ports are provided by default.

Figure 31:  Port Settings

The ports of existing extensions need to be changed in the property panel under Server Settings to reconnect to the correct port. When using QS Desktop, a restart is required after the port change.

Password Settings

The WMC > Admin Area > Password Settings submenu enables you to change the login password of WMC's default user "fiplana" in the "internals" user directory.

LDAP Connections

TheWMC > Admin Area > LDAP Connections submenu allows for the creation and modification of LDAP and LDAPS connections, which facilitate the secure login of LDAP users in WMC. The menu consists of a table displaying configured LDAP connections and a button New LDAP Connection Endpoint.

To create a new LDAP endpoint, click New LDAP Connection Endpoint in the upper right corner. A dialogue window opens where you need to enter the connection name. A description is optional.

Figure 32:  Modify LDAP Connection

You need to enter details about the connection and directory entry attributes. In the Connection section, the path needs to contain the LDAP URL of your company, including the corresponding directory port. When you use LDAPS connection path, the SSL-encrypted variant is activated. When you use the LDAPS path, the secure-column check mark turns green. If an LDAPS connection is established, a CA Root Certificate need to be uploaded, in either .pem, .cer or .cr-format.

The base directory is defined through the Base Search DN, where DN means distinguished name. For example, this might look something like this: OU=users,DC=mycompany,DC=sys. The base search DN needs to contain the directory that calls up all users that are authorized to use the WMC.

The Admin Connection DN field has to contain the DN of the Admin User. The corresponding password needs to be the admin password. The admin also needs a read permission for the LDAP directory.

Under Directory Entry Attributes, the account name including the attribute in which the username is held needs to be entered. The Display Name contains the attribute in which the name that is displayed is held.

Test Connection

The Test Connection section provides improved testing capabilities that allow you to verify individual components of your LDAP setup. You can test each part independently to identify configuration issues more quickly.

The Test Connection feature supports three levels of verification:

  • Server Connection - Tests whether the LDAP server URL and port are reachable. This test does not require credentials and simply verifies network connectivity to the LDAP server.

  • Admin Bind - Tests whether the Admin Connection DN and password are correct. This verifies that the admin account can successfully authenticate with the LDAP server.

  • User Authentication - Tests whether a specific user account and password are valid. The Test Username field includes autocomplete functionality that displays matching LDAP usernames as you type, making it easier to select test users.

To test the connection, click the Test Connection button. The software will perform all applicable tests and display the results. This step-by-step testing approach facilitates clear verification of individual parts of your LDAP setup and helps you identify the exact location of any configuration problems.

To save the connection, please click Save. In the next step, users can be created.

For more information please check out this video.

License

The WMC > Admin Area > License submenu allows for the configuration and examination of the Write! product license. In the top-right corner, the button Change License opens a dialog where you can update license key. The resulting license is displayed in the read-only License Information table. Notably, the table shows an overview of license usage by product.

User licenses are distributed through the Access Allocation Rules and the user management. In the Write! Management Console under Users it is possible to see who is using which license.

Fiplana product licensing works as follows:

  • The Write! Edit license enables users to edit data Edit and Form.

  • The Write!Plan license enables users to edit data in Edit, Form, Plan, and Plan Dual KPI.

Note: If a user has the Write!Plan license, such license doesn't consume an additional Write! Edit license when using the Edit and Form extensions.

Diagnostics

The Diagnostics space in WMC lets you monitor logs and quickly pinpoint problems in your environment. Whether you're troubleshooting on your own or working with insightsoftware Customer Support, Diagnostics makes it easier to identify and resolve issues.

The software shows logs in a table structure, where you can check each log details, like message or level.

You can download logs with the Download Logs button at the top right corner.

You can use the following filters to tighten your search while monitoring or before download:

  • Service

  • Keyword - full text search.

  • Log Level and Match Type - determine the severity of logs that are displayed. The Match Type property narrows down the logs either to exactly the log level or all log levels equal or greater than the chosen log level.

  • Start Time

  • End Time

You can also activate the Live Tail Mode, which enables real time-diagnostics. The software refreshes every few seconds to display real-time log data.

Was this article helpful?

We're sorry to hear that.