Preferences for application and programs
A CDAP user should be able to add/modify/delete preferences at an application and program level
As a CDAP user, I should be able to view the resolved preferences from System and namespace level while updating preferences at application level.
o The system and namespace level preferences should not be editable while creating/updating/deleting application preferences
As a CDAP user, I should be able to view resolved preferences from System, Namespace and application level while updating preferences at program level
o The system, namespace and application level preferences should not be editable while creating/updating/deleting program preferences
Fast Action on the Application and program card opens a modal (see attached screenshot)
• On hover display button outline around Fast Action icon
• hover bubble: "Set Preferences"
Dimensions: width: 884px; max height 750px
Set new preferences
• modal title: Preferences
• Title: Set Preferences for Application <App Name>
• Sub text: Specify new or override existing system or namespace preferences. These preferences will be accessible in all programs within this application.
• "Key" text field is in focus and cursor active.
• Hint text disappears as soon as user starts typing
• New row of text field appears as soon as user starts typing in "KEY" text field
• Display a maximum of 5 rows of text fields. If the user adds more, a scroll bar is displayed.
user closes the preferences page (and autosave any new preferences, if applicable)
[x] Close icon
User can close the modal by clicking on the [x] icon
same as current current behavior
Table divided in 4 columns. Two NEW columns: Origin and Status
• Origin: documents where the preference was set
• Status: displays if Preference is active or overridden
User can sort table by clicking on the columns header
• "Key" and "Value" are sorted alphabetically A-Z or Z-A
• "Origin" hierarchically (System - Namespace - Application (if applicable)) - and vice versa
• "Status": groups active together: Active on top, Overridden at the bottom (ordered by alphabetically) - and vice versa
Display no more than 5 inherited preferences, a scroll bar is displayed if there are more than 5 total number of inherited preferences - Inherited Preferences (#) - NOT IN THE MOCKS
Save New Preferences
Preferences will autosave when:
• there is a lag of 1 sec after user input text in the "Value" text field
• Display spinner icon for 1.5 sec before displaying the "Saved" label
• if the "Key" is matching to an "inherited preference" the label "Override Saved" is displayed
• User clicks [Done] and preferences. No labels are displayed.
When autosaving, the system will validate the Key field. If input error are found error message is displayed.
User clicks [Done] and system validate the Key fields
Label is displayed for 2 seconds before fading
if the "Key" is matching to an "inherited preference" the label "Override Saved" is displayed
Overridden Inherited Preference will be displayed with a grey background (#e6e6e6); Status symbol is changed
• Grey background fades (disappears) after 2 seconds.
Display error using current visual pattern, plus change text field to: Background: #FDF5E7 Border: #D0011B
System validates fields: when user tabs to a new field, when autosaving, when user clicks [Done] or [x].
• invalid characters are used
• Only one field is filled.
If error message to be determined, display error message. [Done] and [x] buttons are disabled
A confirmation message is displayed: message: "You set new preferences for the Application <name of App. (see attached mock up)
Preference icon changes color to green
Green header and outline fades after 3 seconds
Green icon persists as visual signifier that new preferences have been set, until user refreshes, navigate out of the page or logs out.
Added the management of preferences at the application and program levels.
Namespace preference modal
There should be no side scrolling in the modal
Add visual treatment when the field is in focus
[Save & Close] should not be disabled when there is a blank row. Button is disabled only when only one text input (either key or value) is filled and the other is not.
if Namespace is too long for the size of the modal, name is truncated, ellipsis are added, user can view name by hovering.
Preference title: app/program name should be put in quotation marks ("")
Set lengths of App name by the width of the modal. Truncate and add ellipsis if needed.
Add confirmation message after user "resets" successfully. (display for 3 seconds before fading)
Add rows count
[Button] is displayed in grey when disabled
Error and confirmation treatment need to be addressed.
Please make the following modifications:
Remove autosave feature.
Change [Done] button to [Save & Close] button
Add [Reset] link next to the [Save & Close] button
Remove Status column
Do not display Inherited Preference grey background