Table of Contents

IDMS Mobile (Mobile Navigator) Development Details

Updated by Anna Dowling 10/11/2020

See also: IDMS Proxy

Overview

The mobile navigator application (idms-mobile) is a Progressive web application with mobile support which allows users to views their devices, alarms and discovered metrics in one tool. Users are provided an overview of their networks status as well as management capabilities per device. The APP has been integrated with the IDMS databases and api endpoints via the idms-proxy application.

The primary goal for Errigals mobile application (currently referred to as Mobile Navigator) is to perform as a device management mobile tool which supports a vast array of technologies. The intention is to design the mobile interface in as flexible a manner as possible so as to easily represent new technologies on mobile without further development changes.

The idms-mobile front end application takes data from all of Errigal's legacy IDMS databases to produce a best-in-class device management tool. It also utilises the new MDC(Remote Discovery Framework) in order to poll for and display up to date device metrics (config and performance parameters). Alarm and Ticketing overview information is also displayed per device. The ticket data links out to the mobile ticketer for more in depth interactions with tickets.

Repo: https://bitbucket.org/errigal/idms-mobile/src/master/


PWA Information

For more information regarding the PWA project decisions see here. PWA setup is configured via the following files:

PWA Install Guide

For further information see Angular documentation for PWA and Service Worker setup:

Debugging on device:

Architecture

List of Tools & Technologies

For full package listing see package.json file.

Deployment

The idms-mobile is served via the load balancer in our server deployments. Its environment specific variables are passed via the config.json file to the app at runtime.

Current Config Fields Are:

{
  "apiUrl": "https://mobile.towerqa.errigal.com/idms-proxy/api/v0",
  "googleMapsAPIKey": "AIzaSyB2_-NWm5nGMZgsU-wIivphnfemBM8DY-0",
  "ticketerLink": "https://sfqa.errigal.com/Ticketer/mobile/ticket/",
  "snmpManagerLink": "https://ironman.errigal.com/SnmpManager",
  "deviceFileUploadDir": "/export/home/scotty/deviceUpload",
  "appVersion": "8.0",
  "snmpAlarmTimeZone": "America/New_York",
  "maxClusterClickElementSize": 50,
  "googleAnalyticsSiteId": "UA-158352259-11"
}

Project Documents

For further information see requirements documentationhere

For Deployment and Configuration on new ENVS: here

Configuration

For application configuration for local development see README.MD

MDC Translator Parameter Ui Configuration

* MDC Translator Ui Configuration - MDC Translator Ui Configuration (used to specify technology specific parameters for display on the device overview / component overview pages)

Data Models

@Deprecated - The below models have been deprecated in favour of MDC translator, but have been included here for reference.

User Permissions

User permissions for mobile are setup and managed via the User Profile Application. See also documentation for feature.

Roles:

Core user profiles:

Hierarchy of Profile Model in User Profile:

  1. Application - IDMS Mobile
  2. Business Profile - Admin, IDMS Viewer,IDMS Technician
  3. Application Profile(one assigned to each business profile) - Mobile Admin, Mobile Viewer,Mobile Technician
  4. Role - List of roles assigned per application profile (see list above)

Main Screens

View 1: Login

View 2: Network Overview

View 3: Network Map

View 4: Alarms List

View 5: Device List

View 6: Device Overview

View 7: Device Alarms

View 8: Alarm Details

View 9: Device Tickets

View 10: Parameters

View 11: Manage Device

View 12: Metrics

View 13: Location

View 14: File Upload

View 15: Device Components

View 16: Device Options


Google Analytics

As mobile is a pwa we were able to integrate google analytics into the application to track all key user functions. See list of supported fucntions tracked below:

Network Overview:

Network Map

Alarms List

Alarm Details

Device List

Device Overview

Performance card

Parameters

Tickets

Manage Device

Metrics

Location

Files

Ansible Playbooks

ansible-playbook -i ../env-configuration/qanova/hosts.ini --diff --vault-id @prompt idms-mobile.yml --extra-vars "jenkins_build_name='idms-mobile-feature-branches/job/branchName' jenkins_job_build_num=buildNumber actions='upload,configure,deploy'"  

Jenkins Build

https://jenkins.errigal.com:8443/job/idms-mobile/

Google Analytics Tracking

see document outlining setup and tracked areas here: https://docs.google.com/document/d/16I549y7kTMcKkiBicbuu7lK7qpGsx9n4bv_HkfSRpc8/edit#heading=h.shv5v1gdyu51