Syngenta Qlik Cloud Development Guidelines
Syngenta Qlik Cloud Development Guidelines
DEVELOPMENT GUIDELINES
Syngenta Qlik Cloud Platform Team
SEPTEMBER 3, 2024
1
Table of Contents
Introduction to Qlik cloud ..................................................................................................................3
How to Access Qlik Cloud in Syngenta ................................................................................................3
Syngenta Qlik Cloud Architecture & Tenant ........................................................................................4
App Development in Qlik Cloud ..........................................................................................................5
Spaces ....................................................................................................................................................... 5
Personal Space ...................................................................................................................................... 5
Development Space .............................................................................................................................. 5
UAT Space ............................................................................................................................................. 5
Production Space .................................................................................................................................. 5
Data Connection Space (Prod) .............................................................................................................. 6
Space Permissions Overview ................................................................................................................ 7
Data Connections Creation in Qlik Cloud .............................................................................................8
Guidelines for MIO Smartmart Connections creation in Qlik cloud ......................................................... 8
Guidelines for Smartsheet Connection in Qlik Cloud w.r.t REST API .................................................. 12
Guidelines for Office 365 SharePoint Connection in Qlik Cloud ......................................................... 13
Guidelines for Local DB Data Connections Connection in Qlik Cloud w.r.t ODBC Drivers .................. 15
Guidelines for SNOWFLAKE Data connection creation in Qlik Cloud Platform. ................................. 15
Creating a New App in Qlik Cloud ..................................................................................................... 19
General App Development Best Practices .......................................................................................... 20
Qlik Visualization Best Practices: Qlik Native Objects vs 3rd Party Extensions .................................. 20
In-App Content .................................................................................................................................... 21
QSDA Pro – For App Optimization ..................................................................................................... 21
Data Connections ................................................................................................................................ 21
Storing QVD Files................................................................................................................................. 22
Script Considerations .......................................................................................................................... 22
Section Access Details ......................................................................................................................... 22
External Links ...................................................................................................................................... 22
Permissions ......................................................................................................................................... 22
Creating Links ...................................................................................................................................... 23
Datasets .............................................................................................................................................. 23
Supported File Types........................................................................................................................... 23
Limitations........................................................................................................................................... 23
• Syngenta Qlik Cloud Prod – For both development purposes and day-to-day
usage.
• Syngenta Qlik Cloud Non-Prod – For exploring new features and releases.
Syngenta Customers (Externals/ Distributors/Resellers etc) can access Syngenta Qlik cloud only via SFDC
through integration with Syngenta Qlik Cloud External Tenant.
To create applications in Qlik cloud, it is very important to understand Qlik cloud space Types, their use
and permissions assigned to developers and users for each space type.
Spaces
- Spaces are largely based on the existing streams in QSEoW.
- Organization of spaces:
o Shared space for development
o Managed space for UAT (as needed)
o Managed space for production
Personal Space
- This space contains content specific to the current user
- Use this space for prototyping before advancing to collaborative development in a
Shared space
Development Space
- Space type: Shared
- Naming convention: regional / domain team name – Development
▪ Example: Global DnA Commercial – Development
- 1 space per team
- This space will be used for all collaborative app development within a team/domain
- Apps will be promoted (published) from this space to a UAT space and/or a Production
space
UAT Space
- Space type: Managed
- Naming convention: regional / domain team name – UAT
▪ Example: Global DnA Commercial – UAT
- 1 space per group of apps as per business process/domain/sub-domain
- This space will contain apps published from the Development space, for the purpose of
UAT
Production Space
- Space type: Managed
- Naming convention: Region/Business Unit/Domain/Subdomain/Country – Space Name
▪ Example: APAC P&S – GPD , NA Seeds – P&S
- 1 space per group of apps as per business process/domain/sub-domain
- This space will contain production-ready apps published from the Development space
- End users will access the production apps within this space
This diagram depicts the SDLC as it relates to Qlik Sense app development. The flow is a one-way flow,
beginning with either a Personal space (for sandbox prototyping) or a Development space (for
collaborative development).
1) If beginning with Personal space, the app is moved into a Development (shared) space once the
initial prototyping is completed.
2) From the Development space, it may be published into a UAT (managed) space to perform UAT
functions.
3) If changes are required, the changes are made in the Development copy of the app in the shared
space. Then the app is published again into the UAT shared space, overwriting the previous UAT
copy.
4) Once the app is validated and signed-off, the app can be published from the Development
(shared) space into the Production (managed) space.
5) New enhancements will start with step 2 (working in the development copy)
Notes:
- Since this is a one-way flow, that means apps cannot be duplicated from a managed space back
into a shared space. Thus, it is very important to always keep a version of the app in a shared
space. The development copy always acts as the source of the latest version of the app. This
also implies that apps cannot be duplicated from one managed space to another managed
space.
- The “Can publish” role is required for developers to publish apps into managed spaces (UAT and
Prod).
Please find Space permissions from below link under section “SaaS Space and Permissions”.
https://syngenta.sharepoint.com/:x:/r/sites/DDATeam/_layouts/15/Doc.aspx?sourcedoc=%7B13503314
-07A2-4AF9-ABA9-
2027DA98934B%7D&file=Qlik%20SaaS%20Development%20Team%20Onboarding%20Checklist.xlsx&act
ion=default&mobileredirect=true
it is strictly recommended NOT to use “Anyone at Production”, Space permission in SaaS Prod tenant
in any space (Development /UAT/Managed)
Also recommend NOT to use following AD Groups as member to the spaces (AllUsers_SSO, All Users)
1. Regional/Domain Development Team specific technical user Credentials are created to use
MIO Prod system for connections creation in Qlik cloud. These connections are created only by
Qlik Cloud Platform team. please log INC in SNOW for Production System connection
requirement.
For e.g see below.
2. Personal /individual account credentials are to be used for MIO Non-Prod system connections.
All Developers are expected to have their own named (individual developer credentials
authenticated) MIO SmartMart Prod Copy and MIO SmartMart Test connections to do
developments in Qlik SaaS. it is applicable to all development teams and self-service users.
Please reach out to SaaS Platform team for details.
*MIO Prod Copy as a System is getting deprecated by Aug 13th, 2024, please create new
connections with MIO Test system with “Prod_MIO” database by keeping same naming
convention as that of MIO prod copy to leverage Production data for developments in Qlik cloud.
Steps are defined as following.
a. Process to get user ID /credentials in for SMARTMART MIO Prod Copy and
SMARTMART MIO Test are as following if not available with Developers.
▪ The Credentials will be created by AWS Platform team and process is very much
automated.
o MIO_Smartmart_Prod_Copy_NT ID
o MIO_Smartmart_TEST_NT ID
c. Each developer will have access to create MIO Prod copy and MIO Test connection
under his specific team’s data connection space. Please create own named credentials
under respective data connection space only.
d. Steps to be followed to create MIO Prod copy / MIO test connection in Qlik SaaS Prod
Tenant.
e. Proceed to "Add new" and choose "Data Connection" under the "Add new data" section.
e. Specify the Data Connection Space where you intend to establish the Data connection.
f. Look up "ODBC" in Data Connections and opt for the ODBC (via Direct Access gateway).
g. Configure the settings as illustrated in the screenshot. Input the connection string,
username, and password as highlighted below.
c. Connection String: Copy the string provided below and paste it into the Data
Connection.
Server=rs-db-
test.smartmart.syngentaaws.org;Database=prod_mio;Port=5439;QueryProcessi
ngModes=SingleRowMode;SingleRowMode=1;UseDeclareFetch=0;UseMultipleSt
atements=0;Fetch=100;ArraySize=10000;MaxVarcharSize=262144;useBulkReade
r=true
Note: Please use "true" or "false" in use BulkReader property according to your old Amazon Redshift
data connections.
d. Input your User ID and Password in the Value box as shown above. Create on
“+” symbol to add additional row for Password input value box.
MIO_Smartmart_Prod Copy__s*******
3. Qlik Mymart Redshift cluster Limitations & Resolutions are documented in below JIRA
Confluence page. Redshift Datashare - Data & Analytics - Confluence (atlassian.net)
In Qlik Cloud, we can fetch Smartsheet data via the REST API connector. The structure of the data
presented by the REST API is more normalized than the ODBC driver in QSP/QST, so we’ve created a
simple/reusable script to make the data fetching easy and consistent across developers.
Prerequisites:
- The developer must have “Can consume” permissions on the “Global Data Connections” space
o URL = https://api.smartsheet.com/2.0/sheets
o Method = GET
o Authentication Schema = Anonymous
o Query Header
▪ Name = Authorization
▪ Value = Bearer [your-token-goes-here]
▫ The token is specific to a Smartsheet user and should be treated as confidential.
If other Smartsheet data needs to be fetched under different accounts, then
multiple REST API connections should be created with their respective tokens.
o Check the box for "Allow WITH CONNECTION"
a. The first parameter should be the fully qualified name of the data connection (in the format
[space]:[data conn name]).
b. The second parameter should be the SheetId you want to pull from Smartsheet. Note: this is
an integer ID, not the “permalink” version of an ID. You may need to look in Smartsheet to get
the correct SheetId to provide.
Additional thoughts:
- Two tables, [Fact] and [Dim Sheet], will be created from the LoadSmartsheetData() subroutine.
Ensure no tables with these names already exist before calling that script.
- After the Call statement, it is safe to rename the two resulting tables as needed.
- More than one Smartsheet can be loaded into an app, but you will need to take care that there
are no conflicting field names between all tables generated by the subroutine. (Might need to
perform some aliasing in a subsequent resident load...)
If you would prefer to use the generic REST connector, a good sample script example can be found here
to start: https://community.qlik.com/t5/Integration-Extension-APIs/Load-Script-for-REST-Connector-to-
Smartsheet/td-p/2022890
3. Select the respective project space created for Data Connections instead of Personal.
etListUrl=%2Fsites%2FDDATeam%2FShared%20Documents&viewpath=%2Fsites%2FDDATeam%2FShare
d%20Documents%2FForms%2FAllItems%2Easpx&viewid=04e9b67c%2D58a1%2D4394%2Dafd2%2D1a7
1ba77fb67
Guidelines for Local DB Data Connections Connection in Qlik Cloud w.r.t ODBC Drivers
The Connection needs to be reviewed w.r.t D&A Architecture Group Approval. POC is:
[email protected]
3. Once the above details are entered, please hit “Authenticate” button.
6. It will authorize and generate a token which needs to be copied in the Data Connection to
verify.
8. Once the code is verified, the Authentication becomes successful with an expiry token for
10 minutes.
10. Once the connection is successful, create the Data Connection in below Naming format.
You must have a Professional license before you can create new Qlik Sense apps. Request this license
from the platform team. To create a new app, click on “New analytics app” from the “add new” menu
at the top of the hub.
To upload an existing app (qvf file), click the “Upload app” button and follow the same steps as above
for space assignment.
Qlik Visualization Best Practices: Qlik Native Objects vs 3rd Party Extensions
It is always advisable to leverage Qlik native objects whenever possible. This includes the Qlik
Visualization Bundle and the Qlik Dashboard Bundle. These native objects are built and fully supported
by Qlik, so we can ensure they will work as the Qlik Cloud platform evolves over time.
Please refer below document , Qlik Product Manager sessions recording & Qlik community blog for
latest on Qlik visualizations:
Vizlib objects are also acceptable to use. Syngenta has adopted Vizlib as an alternative 3rd party
visualization extension library to supplement the existing Qlik native visualization options. While Vizlib
is a strong Qlik Partner, we must recognize that any issues encountered with Vizlib objects must be
raised with Vizlib; Qlik does not provide direct customer support for 3rd party extensions.
In-App Content
In QSEoW (QSP), there was the Content Library, where various content could be uploaded (images,
other file assets, etc). In Qlik Cloud, there is no such central library. Any asset that is required by an app
must be uploaded to the app's Media Library.
Please go through the document link below for better App optimization techniques.
Apps should be optimized as best as possible to fit within the RAM limits of Qlik Cloud (5 GB base, 15 GB
peak reload).
Please refer to Qlik’s documentation for the most up-to-date information on limitations:
https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Introduction/qcs-
specs-capacity-QSESaaS-QSB.htm#anchor-3
Data Connections
- Space-specific data connections – developers of the space can access/use.
- One new data space for common/shared data connections – all developers can access.
- Existing data connections (from on-prem) will have the same name in cloud.
o Decide: Same or new naming convention for new connections in cloud?
- On-prem data sources can be accessed by creating new data connections with Data
Gateway. Data Gateway connectivity to be configured by the platform team, targeting a
common data space where all Qlik developers will have access.
- Cloud/public data connections can be created without the use of Data Gateway.
- If the same data connection is used by 2 or more spaces (but not completely common to all
developers), create the data connection with the same name in both spaces. Apps should
reference the data connection via relative location (see script considerations below).
- Developing in Personal/Shared space with prod data connections – no issue when publishing
to managed space.
- Developing in Personal/Shared space with Test data connection – need to use conditional
logic to determine what data connection to use based on in which space the app is
reloading. (See page 22 “Context Aware Apps” of Qlik’s SDLC document: QSE SaaS SDLC
v1.0.pdf
Script Considerations
- The scripting syntax in cloud is largely the same as QSEoW, but with one notable difference:
the ability to specify spaces in the lib statements.
o QSEoW: lib://my_data_folder/subfolder/file.qvd
o Cloud
▪ Direct space access:
lib://space:my_datafolder/subfolder/file.qvd
▪ Relative space access: lib://:my_data_folder/subfolder/file.qvd
Access to content in the links is controlled by the destination. A member who has access to the link in
the current space but does not have permission to access the linked content will be unable to view the
linked content.
Permissions
Tenant and analytics admins can add links to the cloud hub. Other users can add links to spaces where
they have the Owner or Can manage role.
Creating Links
1) Click Add new > Create link.
2) To add an image to the link, drag and drop an image file or click Browse and navigate to the file.
3) Under Name, enter the name for the link.
4) Under Link URL, add the URL.
5) Under Space, select the destination space for the link.
6) Under Description, optionally enter a description of the link.
7) Under Tags, optionally add tags for the link.
8) Click Create.
To change the space a link is in, click , select Move, and select a new space.
Datasets
You can upload data files to Qlik Sense, which are stored in Qlik Cloud. Qlik Sense automatically adds an
additional layer of metadata to uploaded data files, creating datasets. You can also create datasets for
tables from existing data connections in the hub.
The metadata added to a dataset enables you to use additional Qlik Sense tools for managing your data
in the hub, including catalog tools and other resources. For more information on cataloging, see
Understanding your data with catalog tools.
Limitations
Data files can be up to 100 GB. However, when uploading very large data files (over 6 GB), you might
experience constraints with engine capacity. These constraints are more likely to be encountered with
QVD data files due to the memory usage necessary to load QVD files into the engine. For more
information about increasing the capacity available, refer to the Large App section of this document.
Shared space members with Owner, Can manage, Can edit, and Can edit data in apps roles can manage
data sources in that space. Managed space members with Owner or Can manage permission can
manage data sources in that space. Space members with the Can consume data role can view data
sources in the space, and they can consume the data sources where they have permission to create
apps.
The full official Qlik documentation on datasets can be found here: https://help.qlik.com/en-US/cloud-
services/Subsystems/Hub/Content/Sense_Hub/Spaces/managing-data-resources-spaces.htm
Reloads can be performed in the following ways in Qlik Cloud Production Tenant
➢ Development Apps ( Shared or in Personal Space) should be reloaded Only by opening an app
and reloading it from App. Example as shown below . this is categorized as “ In-App” reload
and it does not occupy Tenant Concurrent Schedules.
Please see e.g as shown below.
➢ UAT Apps ( Managed Space) , should be reloaded via Hub only using “ Reload now” option
when needed as shown below. This is categorized as “ Hub” reload and it occupies Tenant
Concurrent reloads. Hence please use it wisely only when needed. Kindly do not create app
schedule “ Reload schedule” for UAT apps .
Please see e.g as shown below.
➢ Production Apps ( Managed Space): this apps are reloaded only via app schedules created by
Qlik platform team only using “ Reload Schedule” as shown below. it occupies Tenant
Concurrent reloads and hence schedules are created after through review by Qlik platform
team only. There is no exception to this rule/setup. Please submit your production app
schedule requests to Qlik platform team via INC #.
Please see e.g as shown below.
Following measures have been put in place by Qlik platform team to ensure Platform
resources are effectively utilized across the tenant as its a global tenant used by all
development teams.
➢ Qlik platform team is reviewing app schedules very closely on daily basis and reaching out to
application owners wherever needed for app scheduled optimization and right scheduling.
➢ Qlik Cloud Platform Housekeeping Automation is put in place and it’s scheduled to run on
daily basis in Qlik Cloud Prod Tenant to do following :
o Delete app schedules from Personal Space and Development Space on daily basis – No
exception application here except for self service users based upon business case.
o Delete app schedules from UAT managed space on every Friday 17 CET. Should you need
exception for longer UAT duration, please reach out to me with app id + duration
exception needed +business justification.
- If Task is failing continuously more than 5 times, task will get Disabled automatically.
Tenant Limitations
- Max of 30 concurrent reloads across the entire tenant.
- Max 40 GB RAM for scheduled/hub reloads (large apps: up to 3x purchased capacity with 240
GB cap)
Please refer to this link for the latest Qlik Cloud limits: https://help.qlik.com/en-US/cloud-
services/Subsystems/Hub/Content/Sense_Hub/Introduction/qcs-specs-capacity-QSESaaS-
QSB.htm#anchor-3
Reload Notifications
You may want to receive notifications for reload failures. The easiest way to enable failure notifications
is to do the following:
Important note: you must be assigned a role within the space as an individual user. If your space
permissions exist only through group inheritance, then you will not receive notifications.
If any app reload exceeds 30 minutes, the app owner, space owner, and SaaS team will receive an email
alert containing information about the latest reload. This email alert is generated via an Automation
managed by the platform team.
App Metadata
App Analyzer: provides a comprehensive dashboard to analyze application metadata across a Qlik Sense
tenant(s). This is like the App Metadata app in QSEoW (QSP), showing various statistics and properties
of Qlik Sense apps.
App Reloads
Reload Analyzer: provides a comprehensive dashboard to analyze application reloads including
application lineage across a Qlik Sense tenant.
User Access
Access Evaluator: a comprehensive dashboard to analyze user roles, access, and permissions across a
Qlik Sense tenant. This tool is useful in investigating which users have access to which content and how
(via group or via individual assignment).
You will be presented with a list of AWS roles. Select the AWS Role specific to your Team. Details of AWS
role in table mentioned below.
Refer Table below for details about Teams and their AWS S3 Storage Bucket Name, AD Groups and I_AM
Role. Select AWS role specific to your team in AWS console.
AWS
Create S3 Bucket AD Group I_AM Role Regional SPOC
Account
AWS-EUC1-
8907777 syngenta-qliksaas-filestore- 890777704747-apac-dna- QlikSaaS-apac- Manish Kumar,
04747 apac-dna-commercial commercial dna-commercial Adwin Ong
AWS-EUC1- QlikSaaS-
8907777 syngenta-qliksaas-filestore- 890777704747- commercial-
04747 commercial-excellence commercial-excellence excellence Abhishek Muley
AWS-EUC1-
8907777 syngenta-qliksaas-filestore- 890777704747-corp- QlikSaaS-corp- Ambarish
04747 corp-functions-dna functions-dna functions-dna Bhattacharya
AWS-EUC1-
8907777 syngenta-qliksaas-filestore- 890777704747-dna-gl-cp- QlikSaaS-dna-gl-
04747 dna-gl-cp-pns pns cp-pns Swapnil Patil
8907777 syngenta-qliksaas-filestore- AWS-EUC1- QlikSaaS-eame-
04747 eame-cp 890777704747-eame-cp cp Kerem Seyid
AWS-EUC1-
8907777 syngenta-qliksaas-filestore- 890777704747-gl- QlikSaaS-gl- Venkatesh
04747 gl-commercial-dna commercial-dna commercial-dna Chowdhary
AWS-EUC1- QlikSaaS-RnDCP-
8907777 syngenta-qliksaas-filestore- 890777704747-gl-digital- gl-digital-
04747 gl-digital-marketing marketing marketing Kaloyan/Casper
AWS-EUC1-
8907777 syngenta-qliksaas-filestore- 890777704747-global- QlikSaaS-global-
04747 global-flowers flowers flowers Kerem Seyid
8907777 syngenta-qliksaas-filestore- AWS-EUC1-
04747 gpd-pns 890777704747-gpd-pns QlikSaaS-gpd-pns Trupti Mety
8907777 syngenta-qliksaas-filestore- AWS-EUC1- Srinivas Aremanda
04747 nacp 890777704747-nacp QlikSaaS-nacp , Mike Altman
AWS-EUC1-
8907777 syngenta-qliksaas-filestore- 890777704747- QlikSaaS-RnDCP-
04747 rndcp-productsafety productsafety ProductSafety Divya Shastri
AWS-EUC1-
8907777 syngenta-qliksaas-filestore- 890777704747-RnDCP- QlikSaaS-RnDCP-
04747 rndcp-smartreport SmartReport SmartReport Marcel Heitz
8907777 syngenta-qliksaas-filestore- AWS-EUC1- QlikSaaS-RnDCP-
04747 rndcp-veeva 890777704747-veeva Veeva Goutham Sunkari
AWS-EUC1-
8907777 syngenta-qliksaas-filestore- 890777704747-eame- QlikSaaS-Eame- Shanatnu Gupta,
04747 eame-seeds seeds Seeds Thierry Guerry
AWS-EUC1-
8907777 syngenta-qliksaas-filestore- 890777704747-global- QlikSaaS-global-
04747 global-vegetables vegetables vegetables Tatiane Tomazi
8907777 syngenta-qliksaas-filestore- AWS-EUC1-
04747 mdm 890777704747-MDM QlikSaaS-mdm S Pradeep Kumar
8907777 syngenta-qliksaas-filestore- AWS-EUC1- QlikSaaS-
04747 agronomy 890777704747-agronomy agronomy Sandeep Pasunuri
AWS-EUC1-
8907777 syngenta-qliksaas-filestore- 890777704747-latam-br- QlikSaaS-latam-
04747 latam-br-seeds seeds br-seeds
AWS-EUC1-
8907777 syngenta-qliksaas-filestore- 890777704747-latam-br- QlikSaaS-latam-
04747 latam-br-synap synap br-synap
8907777 syngenta-qliksaas-filestore- AWS-EUC1- Neugent Sandi
04747 hr-ops 890777704747-hr-ops QlikSaaS-hr-ops USGR
After selecting the appropriate AWS role, you will enter AWS Management Console. In AWS
Management console search for Service S3.
In AWS S3, you will be presented with a list of buckets. Select the S3 Bucket Specific to your Team. Refer
Table above for more details.
• AWS S3 is the primary location for Qlik SaaS data. QVDs, flat files and Section Access Files will be
stored on AWS S3.
• Inside the Buckets, Read, Write, Modify, Delete, Create Folder access will be provided to
Business Developer.
• Access of the S3 buckets is controlled through Windows AD groups.
• To get access to the S3 Buckets, contact the AD group Owner mentioned in Table 1.
• Recommendation is to ensure the folder structure in the S3 bucket is in sync with the existing
folder structure of repository-qvp in Qlik Sense On-Premise. This will ensure minimal changes
are required in the migration (Phase 2) of apps from On-Premise to Qlik SaaS.
You will be presented with a list of AWS roles. Select the AWS Role specific to your Team. Details of AWS
role in next table.
• Mashups are created using a variety of web technologies such as HTML, CSS, and JavaScript, and can be
hosted in AWS S3 bucket as a static website.
• Bucket name: qlik-mashup.syngenta.com
• qlik-mashup.syngenta.com bucket will have folders of 17-20 different businesses.
• Each folder will have a unique I_AM role to restrict the access of Business Developer AD groups to that
specific folder only.
E.G. AD Group Qlik-SaaS-Admin will have access on folder Qlik-SaaS-Admin of S3 bucket qlik-
mashup.syngenta.com in AWS account 890777704747.
The I_AM role for this AD group will be QlikSaaSAdmin.
Refer Table below for details about Teams and their AWS S3 Mashup Bucket folder, AD Groups and
I_AM Role. Select AWS role specific to your team in AWS console.
AWS-EUC1-890777704747-commercial-
890777704747 Commercial-Excellence excellence QlikSaaS-commercial-excellence
AWS-EUC1-890777704747-apac-dna-
890777704747 APAC-DNA-Commercial commercial QlikSaaS-apac-dna-commercial
It is highly recommended that you experiment with Automations in the Non-Prod tenant before building
them in the Prod tenant, especially if you are new to the functionality.
Limitations
As of 2023-10-13, here are some of the limitations imposed on Automations:
Access to Automations
Please submit a request to the platform team to enable access to Automations for your profile.
Other Considerations
As of 2023-10-13, these are some things to be aware of as you develop you first automations:
- Automations only exist within your Personal space; they cannot be published to a Shared or
Managed space.
- Multi-person development (collaboration) is not possible. Ownership of the automation must
be first transferred from one developer to another.
- Some automations require “Connections”. These are not to be confused with “Data
Connections” as used by Qlik Sense applications. As with Automations, these Connections are
only available for use by their owner – they cannot be shared.
- Any automation requiring the SMTP (email) connector will be managed by the platform team, as
the credentials for the SMTP account are confidential.
This table will assist in choosing the right reporting distribution solution according to your business
requirements in Qlik Cloud.
Excel\ PDF\
Excel\ PDF\ PowerPoint\ CSV\
Report Type PDF\ PowerPoint Excel\ PDF PDF\ PowerPoint PowerPoint \CSV HTML\ Word
No, only Qlik No, only Qlik
3rd Party Extensions native object are No, only Qlik native No, only Qlik native native object are
Supported? supported object are supported object are supported supported Yes
Report creation based on
multiple Qlik apps No No Yes Yes Yes
Static filters (App filters,
Public & Private bookmarks) Yes No No No Yes
Dynamic Filters – filters
applied as per recipient’s
definition/conditions No Yes Yes* Yes* Yes
On Demand Report No No Yes Yes Yes
Qlik Platform Review for
Prod Deployment No Yes* Yes Yes Yes
Learn and explore more about subscription using the following links.
• Qlik Document - Subscriptions.
• Qlik Community - App Development.
Scheduling reports with Automation
You can automate multi-page reports from a Qlik Sense app using Qlik Application Automation and the
Qlik Reporting Service. Recipients can receive scheduled, detailed reports, even without Qlik Cloud
Analytics access. Start with a template or create a custom automation. Reports are available in PDF or
PowerPoint formats.
Create a report distribution through Automation when you need to
• Deliver bursted, multi-page reports.
• Deliver reports to external recipients, or internal recipients who cannot access Qlik
Cloud Analytics.
• Create looping reports: a page within a report, looping over dimension values.`
• Create a report based on multiple Qlik Cloud apps.
When to use Automation
• You want regular updates on a chart or sheets from multiple applications in a single
report.
• Send out scheduled reports to internal/external recipients that don’t have access to the
application.
• You want to send PDF/PPT reports to destinations such as SFTP/Cloud Storage.
• You want regular tabular data sent to destinations such as SFTP/Cloud Storage.
• When the user request is actioned, the Qlik add-in will be available in the home
ribbon.
We have two Add-In’s, one for SaaS Non-Prod and the other for SaaS Prod environment. The user
will be enabled only for one Add-In at a time. The Non-Prod is for POC and exploration and Prod is
for actual business development.
Learn and explore more about Qlik Tabular Reporting using the following links.
• Qlik Document - Tabular Reporting.
• Qlik Community - Reporting Services.
• Syngenta Qlik SaaS SharePoint - Tabular Reporting.
Due to the sensitivity of some data, additional privileges may be required to access the data. There
are two types of restrictions requiring these elevated access privileges:
1. Restricted access at the View level, where the entire View is not accessible.
2. Encryption at the Column level, where the view is quarriable, but the data in some
or all of the columns is encrypted.
https://syngenta.eu.alationcloud.com/article/2063/
If you are unable to access a specific MIO view, it may contain sensitive data where access is
restricted. To request access to such MIO objects (views), you need the approval of the
respective Data Steward, listed on the right side of the MIO page under "Stewards". If no Steward is
listed, contact the person listed under "Technical MIO Owner".
***This requires a Security Exception request, and a Corporate Security system update
that takes place only on Fridays. Please plan your request accordingly.
Data deemed to be Personally identifiable information (PII) allows unique identification of people and
requires compliance to Privacy Regulations in multiple jurisdictions where Syngenta operates. It is
therefore encrypted in the SmartMart, as is very sensitive financial data. Some data within those
MIOs will appear in query results as meaningless text. Specific credentials to be able to decrypt such
data are required.
To work with encrypted data in such an MIO, you must follow the steps below under "Requesting a
Security Exception" to obtain a key.
WARNING:
Decryption Keys are intended to be either for personal interactive use or for specific automated
system/app deployment usage. Keys must not be reused for a different purpose and MUST NOT be
shared with other users. DO NOT include your private key in queries saved in Alation (whether
Published or not) as they can then be visible to other users.
3. please include the QLIK Dashboard or Project Name you are developing for. Else,
please indicate the project for which this development is being done.
• The Exception request will be routed to your Line Manager and then to the System
Owner. Once these approvals are received, the updated credentials will be staged for
deployment.
• If the Requestor is a Syngenta user with a Syngenta.com Mailbox, the credentials will be
delivered to your mailbox using a secure message.
• If the requestor does not have a Syngenta.com Mailbox, they will be notified when the
credentials are ready for use in Production and will need to set up a meeting with the
Approver (currently Divya Sundaram) to convey these credentials to the
requestor. Credentials cannot be e-mailed to the requestor who does not have
a Syngenta.com mailbox.
Imp Note
1. The encryption keys are confidential and private, with strict usage tracking in place. DO
NOT share your key with others.
2. You will have Access to PII Data and you must take care that PII Data should:
o NOT be disclosed to unauthorized users
o NOT be transmitted in attachments or in Emails
o NOT be left unencrypted on an open location
o NOT be moved around on USB File storage or other unsecure media, or
taken out of Syngenta systems
o NOT be transferred to others on the development team. (Users who want
access to PII data should obtain their own access)
o NOT be printed out – and if it is, it should be disposed of as confidential
waste.
3. All Security Exception Requests need to be approved by your manager.
Decryption key Usage Process in Qlik Cloud App Development & Deployment
• Each Qlik Developer need to have his / her own SA Keys (encryption keys) of Type
“Interactive”. This key can be per developer and developer can work with same single
key in multiple Qlik applications development as long as he/ she is working in Same
Project team.
• When a Developer key Type “Interactive” expires. a new Security Exception needs to be
opened to get a new Key. The Developer Key cannot be extended or renewed. A
Developer decryption key is typically valid for 180 days. After that time the key is no
longer valid and will not work.
• When developer changes project team then developer need to raise new SA key
request as mentioned above.
• Each Qlik Application IT owner need to have his / her own Application Key type
“Automated” which are intended for secure deployment of
production applications.
• Each Qlik application IT owner need to have separate keys for each Production
application. For e.g if single Qlik application IT owner is responsible for 2 Qlik
applications using decrypted PII data then he needs to have 2 Automated SA key one for
each Qlik application.
• However Application IT owners need not worry about “Automated Type” Key
expiry as these type of keys are tracked and extended by Qlik Platform owner
Rawat Pushpendra CHBS [email protected] and Sundaram
Divya USRS [email protected] during Internal Quarterly review.
• Please follow below described process for using SA keys during app development
in shared development space and app deployment to Prod space.
• Standard recommendation from Qlik Cloud platform end is to use on the fly or
Live decryption in Qlik applications so that there no stored footprints of decrypted
customer, employee, vendor master data, transactional data , data attributes ,
characteristics , classification etc.
• If still there is a need from regional /domain development teams to store the decrypted data
in Qlik S3 bucket or file server so that it can be further used as a data source for all required
Qlik applications, then regional /domain leads can raise data security exception request in
ISMS tool Information Security Management System(ISMS tool)
(syngentagrc.azurewebsites.net).
• Security exception request gets triggered to line manager for approval, after line manager
approval request moves to [email protected] and finally comes to Rawat
Pushpendra CHBS [email protected] as a Qlik platform owner during
Quarterly review to keep the request for future reference.
Imp Note: Data security exception request LM approver & regional / domain Qlik S3 bucket Owner is
responsible for data breach if detected as a part of audit or via data breach incident. Hence its utmost
important that such requests are very carefully reviewed and decrypted data should be protected from
unwarranted use.
Guidelines for Decryption Keys Data Connection in Qlik Cloud w.r.t REST API
Refer below reusable code to setup up API Key text file applicable for both Developer and
Application owner.
File Content:
Sub AssignKey
Let vDecryptionKey='SampleKey';
End Sub
Sub ClearKey
Set vDecryptionKey=;
End Sub
Refer below reusable Qlik script to setup up API Key Connections and make API decryption
call.
//////////////////////////////////////////////////////////////
Else
LET vSpaceNameTrace='$(vSpaceName)';
End IF
SET vSpaceNameTrace=;
//////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////
// Assigning appropiate connection with respect to the space in which the application is being executed
//
SET vOneDriveFolderPath=;
SET vDecryptionDataConnection=;
If '$(vSpaceName)' = '' or '$(vSpaceName)' = 'Dev' Then // Replace to the appropriate space name
SET vConnectionIdentifier='[email protected]';
SET vOneDriveFolderPath='lib://OneDrive -
$(vConnectionIdentifier)/$(vDecryptionFolderName)/$(vDecryptionFileName)';
ElseIf '$(vSpaceName)' = 'Prod' Then // Replace to the appropriate Prod space name
SET vConnectionIdentifier='[email protected]';
SET vOneDriveFolderPath='lib://$(vProdConnectionSpace):OneDrive -
$(vConnectionIdentifier)/$(vDecryptionFolderName)/$(vDecryptionFileName)';
End If
///////////////////////////////////////////////////////////////////////////////////////////////////////////
$(Must_Include="$(vOneDriveFolderPath)");
Call AssignKey;
// // API Subroutines
Decryption_Config:
NoConcatenate
Load
Inline [
Input Table, Input Field, Output Separate Table Flag, Output Table, Output Field
Transactions, TransID,
Transactions, TransLineID,
];
Call API_Decryption_Main;
Call ClearKey;
https://digitial-product-
engineering.atlassian.net/wiki/spaces/DAS/pages/3417343211/LIVE+Layer+Consumption+Guidelines
Appendix