Code Monkey home page Code Monkey logo

phosphor-webui's Introduction

OpenBMC Web User Interface

phosphor-webui is a Web-based user interface for the OpenBMC firmware stack.

webui-vue repository is a replacement for phosphor-webui.

If you haven't switched to webui-vue, it is strongly recommended you do so now. Reasons for switching:

  • phosphor-webui uses AngularJS which has gone End of Life
  • phosphor-webui uses the REST D-BUS API which has been disabled by default in bmcweb
  • webui-vue has many additional features not present in phosphor-webui
  • Very little active development is happening in phosphor-webui and at a later date phosphor-webui will move to ReadOnly

Features of this repository include:

  • View system overview data such as model information and serial number
  • View and manage event logs
  • Inventory data
  • Sensor data
  • Power On/Off server operations
  • Reboot BMC
  • SOL console
  • Remote KVM
  • Virtual media
  • Date and time settings
  • IPv4 network settings
  • Manage and update BMC and Host firmware
  • LDAP
  • SSL certificates
  • Local user management

Requirements

nodejs (>= 4.2.6) npm (>= 6.0.1)

Note The default installation of your Linux distro may not come with the required versions above. See the following for more information on updating:

https://docs.npmjs.com/troubleshooting/try-the-latest-stable-version-of-node https://docs.npmjs.com/troubleshooting/try-the-latest-stable-version-of-npm

Installation

npm install

Note This must be run from within the phosphor-webui git repository.

Running locally

npm run-script server

This will start a server instance and begin listening for connections at http://localhost:8080. This development server provides live reloading on code changes. NOTE: Browsing to https://<BMC> and accepting the self-signed certificate might be required to prevent your browser from blocking traffic to the BMC.

Logging in

Enter the BMC Host or BMC IP address, username, and password. The default username and password are root/0penBmc.

Note that some OpenBMC implementations use bmcweb for its backend. For security reasons, bmcweb will need to be recompiled and loaded onto the target BMC Host before the above redirect command will work. The option to turn on within bmcweb is BMCWEB_INSECURE_DISABLE_XSS_PREVENTION. In order to test locally, you will also need to disable CSRF by turning on BMCWEB_INSECURE_DISABLE_CSRF_PREVENTION.

phosphor-webui's People

Contributors

apuli1 avatar beccabroek avatar bradbishop avatar camvanng avatar cyang29 avatar derick-montague avatar dixsie avatar dkodihal avatar edtanous avatar feistjj avatar geissonator avatar gtmills avatar ikmsk10 avatar jaehyoo avatar jaypadath avatar kostr avatar kuiyingw avatar lxwinspur avatar manojkiraneda avatar michaeld-s avatar mine260309 avatar miramurali23 avatar nest1ing avatar sivassrr avatar spinler avatar timlee66 avatar wigol avatar williamspatrick avatar yoshiemuranaka avatar zkurzyns avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

phosphor-webui's Issues

GUI : Host time is not getting set via GUI with NTP mode and SPLIT as time owner

Our test team reported this:
Host time is not getting set via GUI with SPLIT as time owner and NTP mode. This issue is specific to GUI as via REST we are not seeing the problem.

Step to recreate

  1. Set BMC as owner and NTP as mode from GUI.
  2. After setting, we will see that both Host and BMC time is set to NTP server time(0.asia.pool.ntp.org).
  3. Now select NTP mode and SPLIT as time owner in GUI. Now set time to Date: 20/01/2018 and Time : 07:05:58 PM.
  4. Select save setting.
  5. After saving setting, try to refresh GUI. Here you will see that new HOST time will not get set and it will still show old host time.

According to https://github.com/openbmc/phosphor-time-manager/blob/master/README.md, setting the host time while in NTP mode is allowed

Wrong fields are highlighted on login error

When the server is not reachable (e.g. bad server name) the BMC Host field and the username field are highlighted.
server_unreachable
When an incorrect password/username is entered again the BMC Host field and the username field are highlighted.
invalid_username_password

Modal background should have dark, transparent overlay

Inconsistency in visualization of the modal — not dynamic to the screen, and grey layout occurs in one instance.

screen shot 2018-10-12 at 3 38 58 pm

Recommendation: Modal background should have dark, transparent overlay, and be centered in relationship to size of window.

GUI: SSL Certificate management page

A user can manage their certificates (CA certificates, client certificates, and server certificates). Users should be able to see the uploaded file (and upload a new one if wanted), the start date, and expiration date.

Part of the remote screen content displayed via web sol is invisible

Hi:

I use web sol in phosphor-webui to manipulate UEFI setting on a remote PC and find out that some content is invisible.

After configuring height attribute in serial-lan__terminal @ app/server-control/styles/remote-console.scss, the whole UEFI setting content is displayed.

The height value is modified from 400px to 600px.

Is it okay to make the iframe to cover the whole remote screen content? Or other attribute for this?

Thank you.

SNMP - Server Management

SNMP Settings prototype

System Admins need to manage the connection to the SNMP server/s -- add, edit, remove, test connection.

  • Add manager button: adds another set of fields for SNMP server (both manager server and port)
  • Manager Host Name or IP Address field: Format/syntax is validated while typing, connection to the server is tested using the Test button
    • Field validation error if the field is left empty: 'Field is required.'
    • Field validation error if the format is incorrect: 'Invalid format.'
  • Test button: validates the Manager Host Name or IP Address connection only (not port field)
    • If the "Manager Host Name or IP Address" field shows the green checkmark indicating that was validated, then the Test button is disabled
    • If the "Manager Host Name or IP Address" field is changed after successful validation, then is changed to a different value, then the Test button is enabled again
  • Port: Format/syntax is validated while typing, this field is not tested with the Test button
    • Field validation error if the field is left empty: 'Field is required.'
    • Field validation error if the format is incorrect: 'Value should be between 0 and 65,535.'
  • Remove button: removes the set of fields both manager server and port (the last set of fields cannot be removed)
  • Cancel button: causes changes to not be saved
  • Save Settings button: causes fields to be validated, and changes to be saved if there are no validation errors
    • Manager server field validation error if there's a connection problem or invalid format
    • Port field validation error if the port's value isn't between 0 to 65,535.
    • Field validation error if either field is left empty while the other is filled in
    • If both fields are left empty and user saves settings, fields will not persist on the page.
    • Attempts to leave the page without saving edits will cause a confirmation message to appear stating changes will not be saved if the action continues
    • Toast notification appears when save is completed without validation errors
  • Validation instances
    • Input field error states (before saving settings) are exclusive to format validity (e.g. port's value isn't between 0 to 65,535, character format)
    • Input field error states (after saving settings) will inform when there is a connection problem or IP address does not exist
    • Error Notifications: if error fields exist in the page upon saving settings (e.g. required fields are left empty, invalid IP address format)
  • Success Notifications when settings were successfully saved

Implement additional capabilities that are missing from current GUI (e.g. add/remove IPV4 addresses, read-only view of addresses obtained from dhcp)

https://ibm.invisionapp.com/share/YSNTBXAJGUC#/318318937_Network_Assign_new_static_IP
https://ibm.invisionapp.com/share/YSNTBXAJGUC#/318318936_Network_Assign_Existing_static_IP

Initial setup of Static IP address:

  • IPV4 addresses may or may not be available in the GUI
  • Add/remove IPV4 address
  • Add/remove DNS server
  • Test IP address connectivity for dns servers (before saving)
  • Field validation of DNS server connectivity after saving settings
  • Field validation for required fields (i.e. IPV4, Gateway and Netmask Length)
  • If user adds an IPV4 address or DNS server and continues to save settings (while input fields are empty), page will discard those fields (for IPV4, all 3 fields per row would need to be empty to be removed after saving)

https://ibm.invisionapp.com/share/YSNTBXAJGUC#/318318928_Network_Save_Settings

  • Secondary confirmation pop-up message will appear upon selecting to save settings.

https://ibm.invisionapp.com/share/YSNTBXAJGUC#/318318924_Network_Save_Settings_Successful

  • Successful/Failed toast messages will appear on the top right corner of page
  • Notifications will inform user is settings saved successfully or failed (GUI will not save input fields with errors)

Keep confirmation experience consistent

  1. Warning statement is not aligned with the action buttons, and does
  2. Hover state color for buttons breaks accessibility standards.

screen shot 2018-10-12 at 2 51 36 pm

Keep confirmation experience consistent (like Firmware and Network settings pages) by having a modal pop up warning user about the implications of their action.

screen shot 2018-10-12 at 2 54 30 pm

LDAP Role Groups 

LDAP Settings - InVision Mockups for testing 11-2018

System Admins need to add and remove Role Groups of users (as defined by the LDAP server) who can access the BMC through the LDAP server, and modify their privileges.

  • Only users with Admin privileges can view this panel
  • Add role group button: add an LDAP server's role group (created using the LDAP server) to the list of people that can access the BMC, and assign a set of pre-defined privileges to that group
  • Modify role group button: modify the pre-defined privileges assigned to that group
    • Becomes enabled when a group's checkbox is selected in the table
  • Delete role group button: remove an LDAP server's role group (created using the LDAP server) from the list of people that can access the BMC
    • Becomes enabled when a group's checkbox is selected in the table

Present number of sensors available

Unable to view the total number of available sensors. Viewing a value becomes important because it reinforces the number of results shown in the table when user chooses to filter.

This pattern is currently being used in the Events page-

screen shot 2018-10-12 at 2 45 14 pm

Recommendation: Present number of sensors available in the table at the current time

Network: updates

Implement additional capabilities that are missing from current GUI (e.g. add/remove IPV4 addresses, read-only view of addresses obtained from DHCP)

https://ibm.invisionapp.com/share/YSNTBXAJGUC#/318318937_Network_Assign_new_static_IP
https://ibm.invisionapp.com/share/YSNTBXAJGUC#/318318936_Network_Assign_Existing_static_IP

Initial setup of Static IP address:

  • IPV4 addresses may or may not be available in the GUI
  • Add/remove IPV4 address
  • Add/remove DNS server
  • Test IP address connectivity for DNS servers (before saving)
  • Field validation of DNS server connectivity after saving settings
  • Field validation for required fields (i.e. IPV4, Gateway, and Netmask Length)
  • If the user adds an IPV4 address or DNS server and continues to save settings (while input fields are empty), the page will discard those fields (for IPV4, all 3 fields per row would need to be empty to be removed after saving)
    https://ibm.invisionapp.com/share/YSNTBXAJGUC#/318318928_Network_Save_Settings

Secondary confirmation pop-up message will appear upon selecting to save settings.
https://ibm.invisionapp.com/share/YSNTBXAJGUC#/318318924_Network_Save_Settings_Successful

Successful/Failed toast messages will appear on the top right corner of the page
Notifications will inform user is settings saved successfully or failed (GUI will not save input fields with errors)

https://ibm.invisionapp.com/share/YSNTBXAJGUC#/318318934_Network_DHCP_After_Saving

Initial setup of Obtaining IP addresses via DHCP server:

IP addresses will not be made available until user selects to save settings.

  • Upon saving settings, IP address(es) will appear on the page as read-only text.
  • Can remove read-only IP address(es).
  • Any changes made (e.g. removing IP address or selecting to assign static IP) will persist only by saving settings.

not enough memory

I tried the npm install command on a virtualbox ubuntu 16.04. Memory was 10466MB.

<--- JS stacktrace --->
Cannot get stack trace in GC.
FATAL ERROR: NewSpace::Rebalance Allocation failed - process out of memory
 1: node::Abort() [npm]
 2: 0x13c7b5c [npm]
 3: v8::Utils::ReportOOMFailure(char const*, bool) [npm]
 4: v8::internal::V8::FatalProcessOutOfMemory(char const*, bool) [npm]
 5: 0xaf9b8b [npm]
 6: v8::internal::MarkCompactCollector::Evacuate() [npm]
 7: v8::internal::MarkCompactCollector::CollectGarbage() [npm]
 8: v8::internal::Heap::MarkCompact() [npm]
 9: v8::internal::Heap::PerformGarbageCollection(v8::internal::GarbageCollector, v8::GCCallbackFlags) [npm]
10: v8::internal::Heap::CollectGarbage(v8::internal::GarbageCollector, v8::internal::GarbageCollectionReason, char const*, v8::GCCallbackFlags) [npm]
11: v8::internal::Heap::FinalizeIncrementalMarkingIfComplete(v8::internal::GarbageCollectionReason) [npm]
12: v8::internal::IncrementalMarkingJob::Task::RunInternal() [npm]
13: v8::internal::CancelableTask::Run() [npm]
14: v8::platform::DefaultPlatform::PumpMessageLoop(v8::Isolate*, v8::platform::MessageLoopBehavior) [npm]
15: node::Start(uv_loop_s*, int, char const* const*, int, char const* const*) [npm]
16: node::Start(int, char**) [npm]
17: __libc_start_main [/lib/x86_64-linux-gnu/libc.so.6]
18: _start [npm]

How much memory do I need?

GUI : Host time is not getting set via GUI with manual mode and HOST as time owner

Our test team reported this problem.
Host time is not getting set via GUI with manual mode and HOST as time owner. With REST commands, we are not hitting this problem and so this is specific to GUI.

Step to recreate

  1. Set BMC as owner and NTP as mode from GUI.
  2. After setting, we will see that both Host and BMC time is set to NTP server time(0.asia.pool.ntp.org).
  3. Now select manual mode and host as time owner in GUI. Now set time to Date: 20/01/2018 and Time : 07:05:58 PM.
  4. Select save setting.
  5. After saving setting, try to refresh GUI. Here you will see that new HOST time will not get set and it will still show old time.

Firmware page: Move the "more info" icon

firmware_more_icon

The IBM design team made the following recommendation:
Location of “more info” icon appears irrelevant to the version level.
• Recommendation: Icon is placed 20px to the right of the version level.

Webui stop at login

Hi all, the webui is already built to my BMC and when I browse to its address, it stops at "Login required", like this:

image
So, how can I login to BMC Webui ?

Thanks !!

Make actions visible in a disabled state

In event log page

Main actions should be made available via table header by default (currently it is hidden until checkbox is selected). Recommendation:

screen shot 2018-10-12 at 2 27 10 pm

Make actions visible in a disabled state so users understand features are associated with the table.

web service not handling missing inventory

After attempting to login in I get kicked back out to the login page. I see lots of 200 calls but hit two 404s when attempting to collect inventory on a part that does not exist yet. I believe the
xyz/openbmc_project/inventory/system/chassis/motherboard/boxelder/bmc/ethernet does not exist until the system has booted. Honestly that in itself seems like a bug since it is the inventory pat of the BMC itself, however the web code cant simply exit out. It needs to gracefully handle missing parts. How else could we update the firmware for a web bug in the field.

xxx - - [30/Sep/2017:00:04:46 +0000] "GET /xyz/openbmc_project/led/groups/enclosure_identify HTTP/1.1" 200 80 "https://xxx/web/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:52.0) Gecko/20100101 Firefox/52.0"
xxx - - [30/Sep/2017:00:04:47 +0000] "GET /xyz/openbmc_project/inventory/system/chassis/motherboard/boxelder/bmc/ethernet HTTP/1.1" 404 240 "https://xxx/web/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:52.0) Gecko/20100101 Firefox/52.0"
xxx - - [30/Sep/2017:00:04:47 +0000] "GET /xyz/openbmc_project/inventory/system/chassis/motherboard/boxelder/bmc HTTP/1.1" 404 231 "https://xxx/web/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:52.0) Gecko/20100101 Firefox/52.0"

Change text color of "Functional firmware version"

Blue is used to imply clickable links..
functional_firmware_version
The IBM design team made this recommendation:

Visual treatment of the “Functional firmware version” implies a
clickable state when in actuality it is not. This is in opposition to the
same blue color treatment used in the UI as a call to action.
• Recommendation: Use the color #666666 for the firmware version text.

Firmware: Move upload/download to top and have radio button

Layout of content is unclear that user can choose between two options to upload or download image files

screen shot 2018-10-12 at 3 26 08 pm

Recommendation: Include the text “Or” between the two sections so user understands both are viable options (and not sequential inputs which is what it currently implies).

Hover and selected states need to look different

“Server Health” tab should not be highlighted when page is currently on “Server Overview”. This is disorienting to user.

screen shot 2018-10-12 at 2 09 25 pm

Default state: Dark blue background #1B2834, light grey for icon and text #E0E0E0
Selected state: White background #FFFFFF, Dark blue for icon and text #1B2834
Hover state: Grey background #DCDEE0, light blue for icon and text #3C6DF0

Virtual Media

Virtual Media - InVision Mockups

System Admins need to start a Virtual Media session by selecting a file from the appropriate device and, once the file has been 'uploaded', start the session.

  • Details about design: There is one component for each VirtualMedia device and each component is made up of:
  • Description: Provided from the JSON file
  • Choose file button and field:
    • Inactive session state: The 'choose file' button is enabled and allows users to select a file from the standard OS modal.
    • Once the file has been selected, the file name is listed next to the 'Choose File' button with a loading icon.
    • Once the loading has been uploaded, the loading icon changes to a close icon (with which the user can remove the file) and the 'start/stop' button is enabled and reads 'Start'.
    • Once the user clicks on the 'Start' button, the component state changes to the started state
    • Once the user clicks on the 'Stop' button, the component state changes to the stopped state
    • Once the user clicks on the 'X' close icon, the 'Choose file' button becomes enabled, the file name is replaced with the 'No file selected' text, the close icon disappears, and the start/stop button is disabled and reads 'start
    • 'Choose file' follows the pattern for all upload components throughout the GUI.
    • Session started state: the 'Choose file' button becomes disabled, the remove icon disappears, and a green line and 'Active session' text is shown directly below the component. The 'start/stop' button is enabled and reads 'Stop'.
    • Session stopped state: the 'Choose file' button becomes enabled, the remove icon displays, and the green line and 'Active session' text disappears. The 'start/stop' button is enabled and reads 'Start'.
  • Start/Stop button:
    • If a session is active: button reads 'Stop' and is enabled.
    • If a session is inactive and there is a file selected: button reads 'Start' and is enabled.
    • If a session is inactive and there is no file selected button reads 'Start' and is disabled.

Inventory subtrees are treated as separate "hardware" items

Some nodes under /xyz/openbmc_project/inventory/system/chassis/ have subtrees.
For example, there are:

  • /xyz/openbmc_project/inventory/system/chassis/bmc and
  • /xyz/openbmc_project/inventory/system/chassis/bmc/activation

The latter one is a part of bmc information (a link to active software definition), but in WebUI it is displayed as a separate component under Hardware section:

webui-hardware-activation

I believe, such entries must be put under their respective parent nodes somehow.

SOL console in webui stops outputting during petitboot

[w54]# cat /etc/os-release 
ID="openbmc-phosphor"
NAME="Phosphor OpenBMC (Phosphor OpenBMC Project Reference Distro)"
VERSION="v2.3-163"
VERSION_ID="v2.3-163-g8f3fc97"
PRETTY_NAME="Phosphor OpenBMC (Phosphor OpenBMC Project Reference Distro) v2.3-163"
BUILD_ID="v2.3"

Using latest chrome on my macbook.

Using the SOL console in the GUI, I see the hostboot isteps fine, then most of petitboot, then it suddenly just stops, here's the last of what I get.

[ 69.352195504,5] PHB#0004:01:00.4 [EP ] 10b5 87d0 R:ca C:088000 (system-peripheral)
[ 69.352243104,5] PHB#0005:00:00.0 [ROOT] 1014 04c1 R:00 C:060400 B:01..01
[ 69.352288786,5] PHB#0005:01:00.0 [EP ] 14e4 1657 R:01 C:020000 ( ethernet)
[ 69.352340102,5] PHB#0005:01:00.1 [EP ] 14e4 1657 R:01 C:020000 ( ethernet)
[ 69.352390040,5] PHB#0006:00:00.0 [EP ] 1014 04ea R:01 C:060400 ( pci)
[ 69.352440204,5] PHB#0006:00:00.1 [EP ] 1014 04ea R:01 C:060400 ( pci)
[ 69.352482785,5] PHB#0006:00:01.0 [EP ] 1014 04ea R:01 C:060400 ( pci)
[ 69.352527499,5] PHB#0006:00:01.1 [EP ] 1014 04ea R:01 C:060400 ( pci)
[ 69.352571771,5] PHB#0006:00:02.0 [EP ] 1014 04ea R:01 C:060400 ( pci)
[ 69.352620737,5] PHB#0006:00:02.1 [EP ] 1014 04ea R:01 C:060400 ( pci)
[ 69.352668622,5] PHB#0007:00:00.0 [EP ] 1014 04ea R:01 C:060400 ( pci)
[ 69.352717447,5] PHB#0007:00:00.1 [EP ] 1014 04ea R:01 C:060400 ( pci)

Hitting enter does nothing, but if I hit the "Refresh" button in the upper right and then hit enter in the console then I'll get my OS login:

w54l login:
Red Hat Enterprise Linux Server 7.4 (Maipo)
Kernel 4.14.0-49.el7a.ppc64le on an ppc64le

Errors on the network page aren't specific. Form validation will greatly improve usability by quickly bringing attention to fields where errors occurred.

FYI -- (work in progress) Translation of error messages will need to be vetted.

https://ibm.invisionapp.com/share/YSNTBXAJGUC#/318318933_Network_Error_States_Before_Saving
Error instances BEFORE saving settings:

  • All error fields can be validated after 10 sec user finishes typing.
  • Each error field is accommodated with an error message, error icon, and red border for text field.
  • Error fields validated for character format:
    • Hostname
    • Mac Address
    • Default Gateway
    • IPV4 address
    • Gateway
    • DNS Server
  • Netmask Prefix Length error field can be validated for numeric value (stays between 0 - 32)

https://ibm.invisionapp.com/share/YSNTBXAJGUC#/318318931_Network_Leaving_Before_Saving

  • Pop-up message appears when user tries to leave page without saving settings. Leaving without saving will undo changes made

https://ibm.invisionapp.com/share/YSNTBXAJGUC#/318318930_Network_Save_With_Errors
https://ibm.invisionapp.com/share/YSNTBXAJGUC#/318323558_Network_Errors_To_Fix

Error instances trying to save settings with persisting errors

  • Toast message appears noting user cannot save with persisting errors (empty fields) and/or settings with error(s) will not be saved
  • Fields with "Invalid format" or empty fields will be highlighted as errors
  • Field validation error messages go away 10 sec after user inputs valid formats and/or all fields are entered
  • User will need to save settings to ensure fixes are updated

https://ibm.invisionapp.com/share/YSNTBXAJGUC#/318318926_Network_Error_Connection

Error instances AFTER saving settings

  • Toast message appears noting saving changes was unsuccessful due to errors
  • Fields with "Invalid IP address/DNS server or connection problem" will be highlighted as errors. Once inputting new valid addresses, user can save settings again

Date and Time

Date and Time Settings - InVision Mockups for testing 11-2018

System Admins need to manually set the date and time of the BMC and Server, or select an NTP server to set it automatically.

ophosphor-time-manager is the time manager service that implements D-Bus interface xyz/openbmc_project/Time/EpochTime.interface.yaml. The user can get or set the BMC's or HOST's time via this interface.

  • Manually radio button causes the Keep date and time radio buttons to display.
  • Same for BMC and server radio button is the default selection for Manually radio button; only one set of fields displays; to be used for both the BMC and Server settings
  • NTP server radio button: causes the Keep date and time radio buttons to hide; only one set of fields display to be used for both the BMC and Server settings, and they are not editable
  • Date fields: combo-field allows the date to be typed or selected from a standard browser calendar picker; format must include "/" between numbers, but the order of Month, Day, Year will be determined by the locale in the browser
  • Time fields: text field only
  • TimeZone fields: displays the default browser timezone by default, and is not editable
  • Add NTP Server button causes new NTP Server field and button sets to appear; more than one NTP server can be defined
  • NTP Server field: the "Primary" NTP server defines the date/time for the BMC and server; if this server goes down then the date/time is based off the next server listed (priority order)
  • Test button: tests the connection to the associated server
  • Remove button: removes the associated server's field/button set from the panel, and causes the NTP server to be disconnected when the panel is saved

overview does not work properly

After the commit 569ccf6 the overview page looks like this:
default

As I find out, it happens because in my case the value of Date().toString() contains national characters in the time zone.

new Date().toString()
"Thu Nov 15 2018 14:54:55 GMT+0300 (Москва, стандартное время)"

The events log page have the same behavior.

Add sensor column sorting capability

Unable to sort or order numerical values based on user preference.

screen shot 2018-10-12 at 2 47 43 pm

Recommendation: Add column sorting capability on for all table header titles. Default sort = 1) priority of critical items (critical > warning > normal) and then 2) alphabetical order of sensor name.

LDAP Server Configuration

LDAP Settings - InVision Mockups for testing 11-2018

System Admins need to manage the communication configuration for authentication between the BMC and LDAP servers.

  • Only users with Admin privileges can view this panel
  • Disable LDAP authentication checkbox: when enabled, stops communication for authenticated between the BMC and LDAP servers; only locally configured users could log in to the BMC
  • Show / Hide toggle: causes the field's value to display as text (Show) or asterisks (Hide)
  • Cancel button: causes changes to not be saved
  • Save Settings button: causes fields to be validated and changes to be saved
    • Server URI, Bind DN and Base DN field validation error for invalid formats
    • Bind DN Password field validation error for incorrect/invalid password
    • Attempts to leave the page without saving edits will cause a confirmation message to appear stating changes will not be saved if the action continues
    • Toast notification appears when save is completed without validation errors

System Admins need to understand which certificates are being used for authentication and should be able to quickly go to the appropriate panel to change them.

  • CA certificate file: displays the certificate name which is managed from the SSL Certification panel
  • Client certificate file: displays the certificate name which is managed on this panel
  • Choose file button: allows the user to select a new client certificate file
  • Upload button: allows the user to upload the selected client certificate file
  • Manage Certificates button: causes the SSL Certification panel to display

Fixed table header

Unable to understand context for all the temperature values when scrolling down the table.

This pattern would apply to other pages that include tables.

screen shot 2018-10-12 at 2 39 55 pm

Recommendation: Table header stays fixed while user scrolls through table rows. Filter field and severity filter should also stay fixed due to its context to the table.

Consistency and standards for In-memory firmware version

Visual treatment of the “In-memory firmware version” implies a clickable state when in actuality it is not. This is in opposition to the same blue color treatment used in the UI as a call to action.

screen shot 2018-10-12 at 3 13 27 pm

Keep language consistent by referring to statement as “Functional firmware version:”
Recommendation: Use the color #666666 for the firmware version text, and change language to reflect “Functional firmware version:”.

Event log: update screens where there are no event logs available

When there is no event log available these 3 changes need to be made in the current design-

  1. The checkbox in table header should be disabled
  2. The action buttons will be in disable state
  3. A message should display in the content area saying "There are no event logs". We are determining the actual verbiage of the message.

Here is a screenshot

screen shot 2018-11-20 at 11 54 59 am

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.