Provide a web interface to manage home screen tools.
Provide a web interface to manage default settings for various home screens.
Provide a web interface to add additional home screens for users.
Background and strategic fit
Our goal is to make administration of the application a task available to non-developers and avoid the need for operation staff to deploy or restart the applications or application servers.
Management of tool definitions is a separate task and not covered by this effort.
All infrastructure will be added within the admin tool of Mobility.
This interface, like all administrative ones, is formatted for use with a desktop browser.
All labels on the interface will be localized strings.
Users should be able to view a list of existing home screens
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
Secure the interface
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.
A user should be able to select an existing home screen and view its details
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.
A user should be able to change the order of the home tools on a home screen
This can use a mechanism similar to that used on the preferences portion of the mobile app to reorder the home screen.
A user should be able to change the order of home tools by dragging items in the list
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.
A user should be able to remove tools from a home screen
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.
A user should be able to add tools to a home screen
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.
A user should be able to add new home screens to an application
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.
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.
User interaction and design
Below is a list of questions to be addressed as a result of this requirements document: