|1||Users should be able to view a list of existing home screens||Must Have|
- Home screens are defined by the HomeScreen object in admin-api
- Home screen data is stored in KME_HM_SCRN_T table within the database
|2||Secure the interface||Must Have|
- Only authenticated users that are members of the configuration group should be able to access the interface.
- The configuration group may or may not exist depending on the order that tasks are performed in. If it is missing, add it to the database and update the auth.dataload.sql in kme-auth-config with the group info.
|3||A user should be able to select an existing home screen and view its details||Must Have|
- Home screen content is defined by the HomeScreen and HomeTool objects in admin-api
- Home screen data is stored in KME_HM_SCRN_T and KME_HM_TL_T within the database
- HomeTool objects are an intermediary that links a HomeScreen to a Tool. The alias of the Tool should be displayed as the label identifying each tool in each home screen.
|4||A user should be able to change the order of the home tools on a home screen||Must Have|
- This can use a mechanism similar to that used on the preferences portion of the mobile app to reorder the home screen.
|5||A user should be able to change the order of home tools by dragging items in the list||Low|
- If there is not a significant development investment, allow the user to drag and drop tools within the list of home tools to create the new default order.
|6|| || || ||A user should be able to remove tools from a home screen||Must Have|
- Each tool should have a button to remove it from the currently viewed home screen.
- Clicking the button should trigger a confirmation dialog before removing the HomeTool from the HomeScreen.
|7||A user should be able to add tools to a home screen||Must Have|
- A button or link should be placed at the bottom of the list of HomeTools (#3) to add a new tool.
- The add HomeTool interface should present a list of all Tools in the database.
- Selecting a Tool from the list should present a confirmation screen indicating which Tool is being added to which HomeScreen.
- When confirmed all of the following should occur:
- A new HomeTool object should be created for that Tool:HomeTool pair.
- The HomeTool should be given an order value that places it at the bottom of the HomeScreen.
- The HomeTool should be saved to the database.
- The user should be returned to the HomeScreen view (#3) with the new HomeTool listed last.
|8||A user should be able to add new home screens to an application||Low|
- A button or link should be placed at the bottom of the list of HomeScreens (#1) to add a new home screen.
- The resulting interface should have:
- input field for the HomeScreen alias
- input field for the HomeScreen title
- a list of all Tools in the database with checkboxes to include each in the home screen
- When submitted the form should prompt the user with a summary of the home screen data collected.
- Upon confirmation:
- A new HomeScreen object should be created with the appropriate alias and title.
- A new HomeTool object should be created for each Tool selected and it should be added to the HomeScreen.
- All objects should be saved to the database.
- The user should be returned to the HomeScreen view (#3) for further customization of the home screen.