- 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.