Mendix

Mendix helps enterprises create, deploy and manage apps with an application platform that empowers everyone in the enterprise to build and continuously improve apps at unprecedented speed and scale. Mendix is a low-code software platform. Mendix is the fastest and easiest platform to build and continuously improve Mobile and Web apps that enable innovation at web scale. It is the only application platform that provides a comprehensive, integrated set of  tools for the entire  app lifecycle, from ideation and development through deployment and operation.

Through integration with Mendix, customers can access the Archer Platform via a variety of supported mobile devices both on iOS and Android. Customers can customize their Mendix-based apps to suit their specific user experience and business requirements and interact with the Archer suite using the Archer public APIs.

Release notes

Document Version

Published Date

Notes

1.1

February 2019

Updates in Implementation steps and screenshots of “Template 1: Archer Dashboard template”

1.0

November 2018

 

Integration overview

Partner Integration Overview

Archer Solution

Several

Archer Use Case

Several

Archer Applications

Several

Uses Custom Application

No

Requires On-Demand License

No

Key features and benefits

With Archer - Mendix, you will be able to:

  • Quickly implement purpose-built mobile apps for your business

  • Customize the app environments based on your user behaviors such as building new enterprise applications for desktop users, adding a mobile user interface to an existing system, or building a dedicated tablet application rapidly.

  • Employ Mendix’s built-in social collaboration features to collaborate with individuals and teams.

Prerequisites

Components

Recommended Software

Mendix Platform

Mendix Modeler 7.18.1

Browser Requirements

Internet Explorer / Chrome

App Device Requirements

Android / iOS

Licenses

Mendix App license

Archer

Archer 6.5 (and above)

Pre-requisite Archer applications

Designed to work with all Archer use cases.

Architecture diagram

The following diagram provides an overview of Mendix runtime.

The following diagram provides an overview of interaction between Mendix powered mobile app and the Archer Suite.

The integration process follows the following flow:

  1. Mobile application makes REST call for user authentication based on:

    • Username

    • Password

    • Instance

    • Domain (Optional)

  1. The app then stores the session data until user logs out and makes subsequent REST calls based on the user actions.

Installation and configuration

Before you begin 

This section provides instructions for configuring Mendix and Archer Platform. This document is not intended to suggest optimum installations or configurations.

It is assumed that the reader has both working knowledge of all products involved, and the ability to perform the tasks outlined in this section. Administrators should have access to the product documentation for all products in order to install the required components.

Important: The integration described in this guide is being provided as a reference implementation for evaluation and testing purposes. It may or may not meet the needs and use cases for your organization. If additional customizations or enhancements are needed, it is recommended that customers contact Archer Help for assistance.

Download and install the Mendix Desktop Modeler 7.18.1 from https://docs.mendix.com/howto/modeling- basics/install-the-mendix-desktop-modeler

  1. To import modules or templates to the project:

    1. Go to the following link https://docs.mendix.com/howto/integration/importing-and-exporting-objects  .    and refer section 2.2 Importing Module Packages and follow the steps.

  1. Download and Import the below modules or templates from Mendix app store:

    • Community Commons

    • Encrytion

  2. Click on ‘App Store’ icon in the Mendix Desktop Modeler and search for the above modules or templates to download:

Module 1: Archer Login module

  1. This module helps to log in to Archer.

    1. Module name: LoginAddon

    2. Main microflow: IVK_Login (This microflow is called by overriding a java action).

  2. Import module package ‘LoginAddon.mpk’ into the project.

  3. Navigate to Project > Settings > Runtime and set ‘After startup’ to LoginAddon.Startup microflow

  4. Go to Project > Navigation and Change the highlighted item below to LoginAddon.LoginPage.

  5. Go to Role based home page and add new user role and target (Landing page after successful login) as shown below.

  1. Run and view the response on a browser or Mendix App.

Module 2: Archer logout module

  1. This module helps to logout from app and to end/kill Archer session and Mendix session.

    1. Module name: LogoutModule

    2. Main microflow: LogoutMicroflow

  2. Import module package ‘LogoutModule.mpk’ into the project.

  3. Call the LogoutMicroflow on click of a button/link.

Module 3: Archer get users module

  1. This module helps to get all users from Archer.

    1. Module name: GetUsers

    2. Main microflow: GetUsersList

  2. Import module package ‘GetUsers.mpk’ into the project.

  3. We have used an internal API and additionally we are able to replace internal API with the existing public API with minor changes to the microflow.

Note: After importing this module if you get any error then update security of domain model.

  1. Call GetUsersList microflow wherever is required.

Template 1: Archer dashboard template

  1. This template will have the following 3 reports data of Exception Requests application.

    1. Exception Requests by Risk Rating:

      1. Microflow: getRiskRatingReport

    2. Exception Requests by Status:

      1. Microflow: getStatusReportMF

    3. Exception Expiration Trending (by Month):

      1. Microflow: getTrendingByMonthReport

These microflows pre-process the data that can be used by the charting widgets. The SOAP service has been used to build the charts.

  1. Import module package ‘Dashboard.mpk’ into the project.

  2. Add a button widget and Call the Dashboard Microflow in any of the custom pages or Home page. Ex: Call the Dashboard Microflow by creating a new item from the Navigation.

  1. Click on Edit button in the Microflow settings.

  2. Select ‘Blocking’ in Show progress bar of Microflow settings.

  3. Add the text ‘Please wait’ in the Progress message.

  1. Run and view the response on a browser or Mendix App.

  2.  To view/modify the report GUID from Archer. Navigate to respective microflow, double click the ‘Call web service’ entity and modify the GUID as appeared within the screenshot below:

Template 2: Archer create content template (Ex: Creating an incident with attachment)

  1. This template helps to create the content in Archer. We have used old content API to post the content to Archer. Similarly, we can use old PUT content API to update the content of a record.

Note: We have utilized old content API here since as of now, new content save API doesn’t support few fields like attachment.

Dependency Templates: IncidentDetails, ToSaveAttachment, ToRetrieveAttachment

  1. Template name: CreateIncidents, IncidentDetails, IncidentsList.

  2. Main microflow: ToSaveIncident.

  1. Import module packages into the project in the order mentioned below:

    1. ToSaveAttachment.mpk

    2. ToRetrieveAttachment.mpk

    3. CreateIncidents.mpk

    4. IncidentDetails.mpk

    5. IncidentsList.mpk

  1. Add a button widget and show the ‘CreateIncidents.Incident’ page from the CreateIncidents template in any of the custom pages or Home page.

  1. Run and view the response on a browser or Mendix App.

Template 3: Archer show content template (Ex: Displaying incident details)

  1. This template helps to retrieve the content from the Archer and we have used old content API to get the content to Archer.

Note: We have utilized old content API here since as of now, new content save API doesn’t support few fields like attachment.

Dependency Templates: IncidentDetails, ToSaveAttachment, ToRetrieveAttachment

  1. Template name: CreateIncidents, IncidentDetails, IncidentsList.

  2. Main microflow: ToSaveIncident.

  1. Import module packages into the project in the order mentioned below:

    1. ToSaveAttachment.mpk

    2. ToRetrieveAttachment.mpk

    3. CreateIncidents.mpk

    4. IncidentDetails.mpk

    5. IncidentsList.mpk

  1. Add a button widget and show the ‘IncidentsList.IncidentsPage’ from the IncidentsList template in any of the custom pages or Home page. This page displays the list of all the Incidents from Archer.

  1. Run and view the response on a browser or Mendix App.

Template 4: Archer save attachment template

  1. This template helps to send the attachment to Archer.

    1. Template name: ToSaveAttachment

    2. Main microflow: ToSaveAttachment

    3. Input: Attachment object (Here object of type Picture)

    4. Output: File ID

  2. Import module package ‘ToSaveAttachment.mpk’ into the project.

  3. Archer expects attachment in “Base64” format:

    1. First, you need to convert the attachment into Base64 encode the string using built-in java action present in CommunityCommons/Files/Base64EncodeFile and then call attachment to save API with suitable body and headers. Refer ‘EncodeBase64’ microflow from the CreateIncidents template.

    2. Add a camera widget and image viewer inside a data view widget in any of the custom pages.

  4. Run and view the response on a Mendix App. Capture the image using camera of the phone. Verify the result in the File Repository path as specified in the Archer control panel.

Template 5: Archer retrieve attachment template

  1. This template helps to retrieve attachments from Archer.

    1. Template name: ToRetrieveAttachment

    2. Main microflow: ToRetrieveAttachment

    3. Input: FileID

    4. Output: Attachment object (Here object of type Picture)

  2. Import module package ‘ToRetrieveAttachment.mpk’ into the project.

  3. Create a microflow and Call the API to get the attachment.

    1. API expects file ID in the URI. Note: File ID is the file name of the image present in the File Repository path as specified in the Archer control panel.

    2. The API result contains the Base64 string. Use CommunityCommons/Files/Base64DeocdeToFile java action to decode the string and use the result to display using proper Mendix widget.

  4. Run and view the response on a browser or Mendix App.

Template 6: Archer advanced workflow template

  1. This template helps to perform workflow actions like Approve, Reject and Deny etc.

    1. Template name: WorkFlow_Approval

    2. Dependency: GetUsers module and WorkFlow_Approval_Dependency template.

    3. To construct the page:

      1. Main microflow: ShowApprove

      2. Input: content id

      3. Output: All details of a record with action buttons.

    4. To perform the workflow actions:

      1. Main microflow: Confirm

      2. Input: An object which contains action button details.

      3. Output: Performs the respective action taken on that record.

Note: After importing this template if you get any error then update security of domain model.

  1. Import module packages into the project in the order mentioned below:

    1. GetUsers.mpk

    2. WorkFlow_Approval.mpk

    3. WorkFlow_Approval_Dependency.mpk

  1. Go to Project > Navigation and add a menu item to show “WorkFlow_Approval.ExceptionsListPage”.

  1. Run and view the response on a browser or Mendix App. Workflow Approval template is configured to perform Approve/Deny/Reject action of a record.

Note: For all modules and templates, LoginAddon module is prerequisite.

Troubleshooting

  • Do not include default.aspx in the Archer URL for the login page.

  • Note that the Archer instance name is case sensitive.

  • To use Save Attachment or Retrieve attachment templates individually. Templates related to incidents have to be removed from the project and replace the entities data with the custom domain models.

  • To use GetUsers module individually. The association to Workflow templates has to be deleted and the WorkFlow_Approval, WorkFlow_Approval_Dependency templates has to be removed from the project.

  • Running the app in iOS: If the retrieve image is not completely visible in the Incident details page and the user is unable to scroll down the page. Go to the image viewer of the Incident details page and change the on click type to 'Enlarge'.

  • It is recommended not to use CSS "position: fixed" to avoid unexpected behavior in iOS/Safari.

  • If microflow containing REST Call action time out after 5000ms, please set the microflow call type as "Asynchronous" in Microflow Settings.

Known errors / Warning

Message

Description

Comments

404 - file not found (Ex: 404 - file not found for file: com.mendix.charts.json)

This message is displayed in the console of the Mendix Modeler after the execution of Dashboard Template.

This is a known warning message and doesn’t affect the functionality of the Dashboard Template.

Certification environment

Date tested: November 2018

Product

Name

Version Information Operating System

Archer Platform

6.5

Virtual Appliance

Mendix Platform

7.18.1

NA