Challenge Overview

App environment:
- Meteor Javascript application: https://www.meteor.com/  

Basic requirements for this challenge:
- Continue fix desktop native app from client reported issues
- Must not breaking existing code implementation
- Need testing on Windows 7 and Windows 10

Thor PDU Mass Commissioning - Overview
A PDU (Power Distribution Unit) is a device fitted with multiple outputs designed to distribute electric power, especially to racks of computers and networking equipment located within a data center.  The PDU Mass Commissioning tool that we are designing will allow users to create configuration files and networking capabilities for PDUs in a system.  The app will allow for the necessary configuration parameters needed for operation within the system.  Once all of the configuration parameters have been set within the app, users will be able to "export" the files to a USB drive, which will be plugged into the PDUs to be commissioned.

The PDU Mass Commissioning tool will be a simple user interface that allows customers to create all of the necessary configuration files to configure all of their PDUs. The app will have a variable number of input fields for all the configuration parameters in which users will enter their desired configurations. Once they have entered all of the configuration parameters they will click "export" and the application will build the configuration file hierarchy into a chosen USB drive.

About PDU Mass Commissioning App
- PDUs (Power Distribution Units) equipment have several parameters which need to be configured before the first use
- The Mass commissioning application to be developed aims at expediting  the commissioning process in case of large amounts of PDUs to be configured (from 20 to several hundreds of units)
- Targeted audience: industrial users

Basic process flow
- The user defines the value of the configuration parameters he wants to apply to the PDU in the PDU mass deployment Software tool (to be developed during the Topcoder challenge)
- The different parameters are exported to a standard USB key in the form of pre-defined configuration files (the files naming convention and file hierarchy must be respected)
- The user plugs the USB flash drive into the PDU(s) to be commissioned
- The PDU automatically detects the correctly formatted USB flash drive and reconfigures itself with settings found on the USB flash drive

Technology Stack
- Meteor JS
- Angular Meteor Integration
- Meteor desktop (https://github.com/wojtkowiak/meteor-desktop)

Deployment environment requirements
IMPORTANT: Your submission need build as desktop native app that will working on these required OS:
- Windows 7
- Windows 10

Latest App version:
https://gitlab.com/thor-pducomm/meteor-app  > Use dev branch
Check .desktop-installer folder for the app demo. Please use the latest version.

General Bug Fixes Requirements:
- In this challenge, we need your help fix issues from client reported issues
- Read details Steps to reproduce, including any needed information on each ticket
- Keep best practice of code implementation using Meteor.JS and Angular
- Your solution MUST not break existing application.
- Let’s discuss any questions on related ticket in gitlab

Individual Requirements
For this challenge you need submit solution for these issues:

P1 - Blocker Issues
1). https://gitlab.com/thor-pducomm/meteor-app/issues/201
  • Where: Asset Management > Network > IPV4
  • Issue when I select "Disabled" for "DHCP", the path "System.Network.DHCP" is not exported. (Indeed, this mode sets a static IP address instead of a DHCP mode)
  • When choose “Disabled” need remain able to export the data to "System.Network.DHCP" path

2). https://gitlab.com/thor-pducomm/meteor-app/issues/202
  • Where: across all pages with Thor PDU application
  • The characters "&", "<" and ">" must be prohibited when user typing the values on any inputs

3). https://gitlab.com/thor-pducomm/meteor-app/issues/203
  • Where: across all pages with Thor PDU application
  • Note: Please check “public/Data-model-descriptor.json” for all fields that have [x] value
  • For all object arrays that including [x] when exporting to XML files
  • (for example System.Email**[x]**.Recipient), when the user sets 1 only 1 field, the other fields must not be overwritten by the default value.
  • To resolve this issue, I suggest to have 1 line for each objects/value. For example: In case where 2 contacts are added in row 1 and in row 2:
  • tomdupont@eaton.com
  • timdurand@eaton.com

4). https://gitlab.com/thor-pducomm/meteor-app/issues/204
  • Where: After Commissioning page
  • Issue where password is in clear text
  • To get result of the Mass configuration, go to the Menu “After Commissioning” », password are in clear text. Display stars instead "*****".

P2 - Must Have
1). https://gitlab.com/thor-pducomm/meteor-app/issues/200
  • Where: Asset Management > Network > IPV4
  • The IPV4 address need always exists, no way to disable it. Delete the "Protocol Ipv4" radio button.

2). https://gitlab.com/thor-pducomm/meteor-app/issues/207
  • Where: Asset Management > Network > Date/Time
  • Bad Time zone value
  • To change "Time Zone", the value to export is the timezone +/- the value in second. Refer to the attached text file.
  • For example: “DATE_TIME_ZONE_DATELINEWEST_ENIWETOK” & “(+/-) value in" seconds”

3). https://gitlab.com/thor-pducomm/meteor-app/issues/210
  • Where: Asset Management > Network > Ethernet
  • [Datamodel update only] Bad Link Speed Duplex value
  • The possible "Link Speed Duplex" value must be:
    • 0: Auto Negotiation
    • 1: 100 Mbps Full Duplex
    • 2: 100 Mbps Half Duplex
    • 3: 10 Mbps Full Duplex
    • 4: 10 Mbps Half Duplex

4). https://gitlab.com/thor-pducomm/meteor-app/issues/209
  • Where: Asset Management > Network > Email Settings
  • [Datamodel update only] Bad email settings Type value
  • The value possible for the Email settings Type is:
    • 0: disable
    • 1: All alarms

5). https://gitlab.com/thor-pducomm/meteor-app/issues/208
  • Where: Asset Management > Protocols > Trap Notification
  • [Datamodel update only] Bad Trap receiver IP address path
  • To set a Trap receiver IP address, the path is "System.NetworkManagementSystem[x].HostName" (NOT "System.NetworkManagementSystem[x].IPAddress")

6). https://gitlab.com/thor-pducomm/meteor-app/issues/206
  • Where: Asset Management > System > LCD Access
  • [Datamodel update only] Bad LCD password activation path
  • To enable the LCD password "Activate LCD password", the path to export is: System.Display.Password.IsEnable (NOT System.LCDAccess.ActivateLCDPassword)

7). https://gitlab.com/thor-pducomm/meteor-app/issues/212
  • Where: Asset Management > Table > Serial Number
  • Forbid the entry of unauthorized Win character in the SN (Serial Number) field
  • SN field is used by the application to create some folders on the USB drive. The user should not be able to enter unauthorized characters like
  • / : * ? " < > |
  •  in the SN field of the application

8). https://gitlab.com/thor-pducomm/meteor-app/issues/211
  • Where: Asset Management > Table
  • Missing "Clone" function in the device table
  • Add new option for Clone when click 3 dots on each row
  • Need create function to clone current selected row
  • This clone function should enable the app user to duplicate a device row (duplicating all the configuration parameters except the MAC/SN fields which cannot be the same for 2 different devices)

9). https://gitlab.com/thor-pducomm/meteor-app/issues/213
  • Where: Export
  • Add a USB drive file system check in the application before exporting
  • The PDU USB commissioning only works with a valid FAT32 file system.
  • Then, the app should integrate a file system check before exporting the folder structures on the USB drive
  • Need format the USB to FAT32 file system

P3 - To Have
1). https://gitlab.com/thor-pducomm/meteor-app/issues/205
  • Where: Asset Management > System > General
  • [Datamodel update only] Bad language path
  • To change the language, the path is "System.Display.Language" (NOT System.Language)

Primary target device(s): Desktop App
OS Requirements
Windows 7
Windows 10

Final Submission Guidelines

What To Submit?
- Submit executable .exe files for our review
- Submit git patches of your updated source code
- Challenge winner need create Merge Request to our repo against dev branch
- Make sure your submission have not error conflicts

Review style

Final Review

Community Review Board

Approval

User Sign-Off

ID: 30098819