User Tools

Site Tools


development:applications:ticketer_lite

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
development:applications:ticketer_lite [2021/12/17 12:10] – [OAuth2 and CAS Integration] ywangdevelopment:applications:ticketer_lite [2022/10/14 13:58] (current) 10.91.110.100
Line 1: Line 1:
 ====== Ticketer Lite Development Details ====== ====== Ticketer Lite Development Details ======
-Updated by Yanjun Wang 17/12/2020+Updated by Anna Dowling 12/10/2022
  
 ===== Overview ===== ===== Overview =====
Line 7: Line 7:
 The purpose of the Ticketer Lite project is to bring the look and feel as well as the technology stack of the existing ticketer application up to date. The Ticketer is one of Errigals main, heavily used applications, yet the application display could be considered quite outdated. The applications front end technology stack is currently a mixture of grails gsp controllers and SmartGWT. These are both old technologies which are no longer favoured. As well as the age of them, they are also quite limiting when it comes to implementing more complex or detailed front end features. The purpose of the Ticketer Lite project is to bring the look and feel as well as the technology stack of the existing ticketer application up to date. The Ticketer is one of Errigals main, heavily used applications, yet the application display could be considered quite outdated. The applications front end technology stack is currently a mixture of grails gsp controllers and SmartGWT. These are both old technologies which are no longer favoured. As well as the age of them, they are also quite limiting when it comes to implementing more complex or detailed front end features.
  
-Ticketer Lite application uses services: +Ticketer Lite application uses services:
-  * Ticketer for Business Logic backend +
-  * ticketer-light-gateway for middle-ware and backend data+
   * ticketer-light for frontend   * ticketer-light for frontend
 +  * user profile for authentication
 +  * ticketer-light-gateway for middle-ware and backend data
 +  * Ticketer for Business Logic backend
   * idms-proxy for providing SnmpManager data   * idms-proxy for providing SnmpManager data
  
Line 19: Line 20:
   * https://bitbucket.org/errigal/ticketer-light/branch/master   * https://bitbucket.org/errigal/ticketer-light/branch/master
   * https://bitbucket.org/errigal/idms-proxy/branch/master   * https://bitbucket.org/errigal/idms-proxy/branch/master
 +
 +
 +See also: [[development:applications:ticketer_light_gateway|Ticketer Light Gateway (Ticketer Light Gateway)]]
  
 ---- ----
Line 25: Line 29:
 ===== Architecture ===== ===== Architecture =====
  
 +== DIAGRAM 1 ==
  
 {{ :development:applications:tl_architecture.png?600 |}} {{ :development:applications:tl_architecture.png?600 |}}
 +
 +== DIAGRAM 2 ==
 +{{ :development:applications:r_d-architecture_-_ticketer_lite.drawio.png?600 |}}
  
 ===== List of Tools & Technologies ===== ===== List of Tools & Technologies =====
Line 41: Line 49:
  
 ===== Configuration ===== ===== Configuration =====
-The ticketer-light 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.+The ticketer-light is served via the load balancer in our server deployments. Its environment-specific variables are passed via the **/var/www/html/ticketer-light/config/config.json** file to the app at runtime.
  
 +Current Config Fields Are:
 +
 +<code>
 +{
 +  "deployment": {
 +    "build": {
 +      "identifier": "ticketer-light » ticketer-light-feature-branches » REL-4.4.0 REL-4.4.0.3",
 +      "branch": "REL-4.4.0",
 +      "number": "3",
 +      "buildTime": "2022-10-06 09:35:42",
 +      "deploymentTime": "2022-10-06 10:18:48"
 +    }
 +  },
 +  "authConfig": {
 +    "contextPath": "ticketer-light",
 +    "userProfileUrl": "https://qanova.errigal.com/userprofile",
 +    "redirectUri": "https://qanova.errigal.com/ticketer-light/callback",
 +    "clientId": "0f59ca3a-353c-11eb-b954-0242ac110002",
 +    "gatewayUri": "https://qanova.errigal.com/ticketer-light-gateway"
 +  },
 +  "googleAnalyticsConfig": {
 +    "siteId": "UA-158352259-10"
 +  },
 +  "proxyConfig": {
 +    "proxyApiUrl": "https://qanova.errigal.com/idms-proxy/api/v0"
 +  },
 +  "snmpConfig": {
 +    "emsUrl": "https://qanova.errigal.com/SnmpManager/errigalEMS",
 +    "snmpManagerUrl": "https://qanova.errigal.com/SnmpManager"
 +  },
 +  "ticketerConfig": {
 +    "ticketerUrl": "https://qanova.errigal.com/Ticketer",
 +    "analyticalReportUrl": "https://qanova.errigal.com/bubble-app",
 +    "privateSalt": "BPVD05c3bvNYjntvfdhJLp2Xx4pH",
 +    "demarcationEnabled": false,
 +    "multiTenancy": false,
 +    "kanbanEnabled": false,
 +    "networkIdEnabled": true,
 +    "siteIdEnabled": false,
 +    "ticketerWorkbenchTimezone": "utc",
 +    "ticketerWorkbenchTimezoneOffset": 0
 +  },
 +  "commonHeaderConfig": {
 +    "headerUrl": "https://qanova.errigal.com/errigal-common-header/",
 +    "config": "atc",
 +    "version": "2.0",
 +    "css": "style.css",
 +    "suiteName": "IDMS - Demo Instance -",
 +    "appName": "Ticketer Lite"
 +  },
 +  "casConfig": {
 +    "casUrl": "https://qanova.errigal.com/cas",
 +    "casCheck": false,
 +    "casCheckInterval": 10000
 +  },
 +  "hotJarConfig": {
 +  "hotJarEnabled": false,
 +  "hotJarSiteId": 0,
 +  "hotJarSnippetVersion": 6
 +  }
 +}
 +</code>
  
 === Ansible Playbooks === === Ansible Playbooks ===
Line 50: Line 120:
 ansible-playbook -i ../env-configuration/ENV/hosts.ini --diff --vault-id @prompt idms-proxy.yml --extra-vars "jenkins_build_name='idms-proxy-feature-branches/job/BRANCH' appFileExtension='.jar' jenkins_job_build_num=NUM actions='upload,stop,deploy,configure,start'" ansible-playbook -i ../env-configuration/ENV/hosts.ini --diff --vault-id @prompt idms-proxy.yml --extra-vars "jenkins_build_name='idms-proxy-feature-branches/job/BRANCH' appFileExtension='.jar' jenkins_job_build_num=NUM actions='upload,stop,deploy,configure,start'"
  
-ansible-playbook -i ../env-configuration/ENV/hosts.ini --diff --vault-id @prompt redeploy-ticketer-light.yml  --diff -"branchName=BRANCH appVersion=NUM"+ansible-playbook -i ../env-configuration/nova/hosts.ini --diff --vault-id @prompt ticketer-light.yml --extra-vars "jenkins_build_name='ticketer-light-feature-branches/job/branchName' jenkins_job_build_num=buildNumber actions='upload,configure,deploy'"
  
 ansible-playbook -i ../env-configuration/ENV/hosts.ini --diff --vault-id @prompt ticketer-light-gateway.yml --extra-vars "jenkins_build_name='ticketer-light-gateway-feature-branches/job/BRANCH' jenkins_job_build_num=NUM appFileExtension='.jar' actions='upload,stop,deploy,configure,start'" ansible-playbook -i ../env-configuration/ENV/hosts.ini --diff --vault-id @prompt ticketer-light-gateway.yml --extra-vars "jenkins_build_name='ticketer-light-gateway-feature-branches/job/BRANCH' jenkins_job_build_num=NUM appFileExtension='.jar' actions='upload,stop,deploy,configure,start'"
 </code> </code>
 +
 +=== Jenkins Build ===
 +https://jenkins.errigal.com:8443/job/ticketer-light/
  
 ===== Project Documents ===== ===== Project Documents =====
Line 88: Line 161:
  
 ===== User Permission Control ===== ===== User Permission Control =====
-User permissions for mobile are set up and managed via the User Profile Application.+User permissions for ticketer light are set up and managed via the User Profile Application using the existing Ticketer application permissions structure.
  
 See also [[https://docs.google.com/document/d/1SY9ElGqaXUY4dFm-V4a1ZDGBrQCDLMTdSTHAFdTfgng/edit?usp=sharing|documentation]] for details.  See also [[https://docs.google.com/document/d/1SY9ElGqaXUY4dFm-V4a1ZDGBrQCDLMTdSTHAFdTfgng/edit?usp=sharing|documentation]] for details. 
Line 103: Line 176:
 {{ :development:applications:tl_3.png?600 |}} {{ :development:applications:tl_3.png?600 |}}
  
-==== View 4: Ticket Forms ====+==== View 4: Ticket Details - Attachments Popup ==== 
 +{{ :development:applications:screenshot_2022-10-03_at_14.20.16.png?600 |}} 
 + 
 +==== View 5: Ticket Details - Email Popup ==== 
 +{{ :development:applications:screenshot_2022-10-03_at_14.22.21.png?600 |}} 
 + 
 +==== View 6: Ticket Details - Ticket History Popup ==== 
 +{{ :development:applications:screenshot_2022-10-03_at_14.23.44.png?600 |}} 
 + 
 +==== View 7: Ticket Details - Ticket History Popup ==== 
 +{{ :development:applications:screenshot_2022-10-03_at_14.25.03.png?600 |}} 
 + 
 +==== View 8: Ticket Details - Manage Owners Popup ==== 
 +{{ :development:applications:screenshot_2022-10-03_at_14.25.45.png?600 |}} 
 + 
 +==== View 9: Ticket Details - Follow Up Popup ==== 
 +{{ :development:applications:screenshot_2022-10-03_at_14.26.33.png?600 |}} 
 + 
 +==== View 10: Ticket Details - Ticket Group Popup ==== 
 +{{ :development:applications:screenshot_2022-10-03_at_14.29.17.png?600 |}} 
 + 
 +==== View 11: Ticket Details - Contact Details Popup ==== 
 +{{ :development:applications:screenshot_2022-10-03_at_14.29.48.png?600 |}} 
 + 
 +==== View 12: Ticket Details - Related Tickets Popup ==== 
 +{{ :development:applications:screenshot_2022-10-03_at_14.30.46.png?600 |}} 
 + 
 +==== View 13: Ticket Forms ====
 {{ :development:applications:tl_4.png?600 |}} {{ :development:applications:tl_4.png?600 |}}
  
 +
 +==== View 14: Create Ticket ====
 +{{ :development:applications:screenshot_2022-10-03_at_14.32.03.png?600 |}}
 +
 +==== View 15: My Profile ====
 +{{ :development:applications:screenshot_2022-10-03_at_14.32.57.png?600 |}}
 +
 +==== View 16: Alarm Details Pop up on ticket ====
 +{{ :development:applications:screenshot_2022-10-03_at_14.35.01.png?600 |}}
 +
 +==== View 17: Device Details Pop up on ticket ====
 +{{ :development:applications:screenshot_2022-10-03_at_14.35.09.png?600 |}}
 ---- ----
  
 ===== Google Analytics ===== ===== Google Analytics =====
-User actions will be tracked via Google Analytics.+User actions are tracked via Google Analytics.
  
  
development/applications/ticketer_lite.1639743041.txt.gz · Last modified: 2021/12/17 12:10 by ywang