Skip to end of metadata
Go to start of metadata
Target release3.3
Epic
Document statusDRAFT
Document owner

Joe Swanson

DesignerJoe Swanson
Developers
QA

Goals

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

Assumptions

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

Requirements

#User StoryImportanceNotes
1Users should be able to view a list of existing home screensMust 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
2Secure the interfaceMust 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.
3A user should be able to select an existing home screen and view its detailsMust 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.
4A user should be able to change the order of the home tools on a home screenMust Have
  • This can use a mechanism similar to that used on the preferences portion of the mobile app to reorder the home screen.
5A user should be able to change the order of home tools by dragging items in the listLow
  • 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.
6A user should be able to remove tools from a home screenMust 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.
7A user should be able to add tools to a home screenMust 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.
8A user should be able to add new home screens to an applicationLow
  • 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.

User interaction and design

Questions

Below is a list of questions to be addressed as a result of this requirements document:

QuestionOutcome

Not Doing

4 Comments

  1. Can a user add a new tool pointing to a URL (or is this in another design document)?

    1. For administrative purposes all tools are just urls, so there is no difference between a Kuali/internal tool and an external tool.

      1. The way you described it the user would see a list of tools available. Can they just type in a new URL that is not on the list?

        1. No, because that is not enough information to add anything to the home screen.  You must first define the tool, then associate it with a home screen.  That is why this set of tasks depends on the Tool Administrative Interface tasks and they will be coordinated that way in the overall interface.