User Tools
This is an old revision of the document!
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:
- manifest.webmanifest
- ngsw-config.json
For further information see Angular documentation for PWA and Service Worker setup:
Architecture
List of Tools & Technologies
- AngularJS 9
- Ionic 5
- Prettier Formatting Configuration (.prettier.json)
- node
- npm
- capacitor
- google maps
- googlemaps/markerclustererplus
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"
}
Ansible Playbooks
ansible-playbook -i ../env-configuration/ENV/hosts deploy-idms-mobile.yml --diff --ask-vault-pass -e "branchName=master appVersion=1.18.927"
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
Data Models
- SnmpManager - MobileUIConfiguration (used to specify technology specific parameters for display on the device overview / component overview pages)
- SnmpManager - MobileDeviceOptions (used to specify technology specific mobile button permissions e.g. ping, reboot, restart)
User Permissions
User permissions for mobile are setup and managed via the User Profile Application. See also documentation for feature.
Roles:
- DEVICE_REBOOT
- DEVICE_REFRESH
- DEVICE_SHUTDOWN
- EDIT_DEVICE_DETAILS
- EDIT_PARAMETER
- FILE_UPLOAD
- PERFORM_PING
- SET_THRESHOLD
Core user profiles:
- Mobile Admin - has access to all functions in mobile.
- Mobile Viewer - has view only access to app screens. Any write functions are disabled.
- Mobile Technician - has writer access to app screens. Selected role write actions are enabled from above list.
Hierarchy of Profile Model in User Profile:
- Application - IDMS Mobile
- Business Profile - Admin, IDMS Viewer,IDMS Technician
- Application Profile(one assigned to each business profile) - Mobile Admin, Mobile Viewer,Mobile Technician
- 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:
- Side Menu click
- Logout click
- Alarm counter click
- Search Devices click
- Map click
Network Map
- Bubble filter click
- Map marker click
- Search devices bar click
Alarms List
- Search bar click
- List item click
- Filter button click
Alarm Details
- Element click
- Ticket link click
Device List
- Tabs click
- Device card click
- Search bar
Device Overview
- Tabbed navigation click
- Alarm filters click
- Performance card click
- Component card click
Performance card
- Threshold settings click
- Report click
- Refresh
- Refresh data click
- Refresh menu button
Parameters
- Search parameters click
- Edit page click
Tickets
- Search tickets click
- Tab click
- More click
- Ticket link click
Manage Device
- Button click
Metrics
- Accordion click
Location
- Location form click
- Update button click
Files
- Upload click
- Caption edit click
- Delete click
















