See slide deck for KAI review 3-15-2012.
And slide deck for Rice Collab team review 4-9-2012.
The lightbox construct today is a modal dialog with a simple user-response set. The user must select a response, closing the lightbox, before they can interact again with the underlying page contents. These can be used for warning messages, for example, if proceeding with an action will cause data to be lost.
The lightbox construct in Rice 2.0 doesn't support more complex interactions with the user, with multiple controls and conditional logic, and rich styling. These are needed for good user experience and to better support a question framework.
This is related to the "Configurable, modal dialog box (needed for KNS equivalence)" requirement, which is the back-end work required to support the front-end experience described below. In KRAD today, we can have a lookup, inquiry, or direct inquiry in a lightbox, but we will also need the ability to have the richer type of content and interaction in a lightbox.
The new rich lightbox construct should be a re-usable component that enables rich styling (from CSS stylesheets) and user interaction, to pose questions and collect the user's responses. It should support images, tables, declarative logic, checkboxes, radio buttons, dropdowns, and input fields (for example, for user to provide a text description, with details for their response choice), or keyboard navigation.
It should include the ability to progressively disclose questions and other UI choices depending on other selections made in the lightbox, to dynamically add to the content and grow in size (up to a max, scrolling supported thereafter) and to be configured to pass the data collected back to a resource, such as the application, form, or Kuali Rules Management System.
Usage scenario example 1: Faculty member selects to create a new course proposal - a lightbox appears asking him/her to choose whether to create it from a blank proposal template, from an existing course (copy over the content into the template), or from a course proposal already saved for another course. Based on this selection, additional content is displayed, enabling the faculty member to identify the course by code or title.
Usage scenario example 2: User decides to disapprove a document - a lightbox appears asking him/her to select the reason for the disapproval (for example, via a checkbox or radio button, depending on whether a single or multiple reasons are enabled). Based on the selection, additional content is displayed, for example, enabling the user to enter a short textual description to provide additional context (via an input field).
Usage scenario example 3: Faculty member selects to create a new research project and completes the first few fields in a pre-screening form in a lightbox. These questions determine which forms and workflow process will be needed for this project. The code/logic evaluates the answers to these questions and determines the content to add to the faculty member's research protocol definition and the workflow to follow (for example, will it need IRB review?). It adds the relevant tab/pages, for a multi-page form, and defines the submit action appropriately, to be evaluated by the Kuali Rules Management System or to return to the calling application, or to enter an approval workflow at the appropriate node.
Pre-existing example 1 (basic example from the KS User Interaction Model):
Pre-existing example 2 (basic example from an older KS JIRA):
KS example 3, where progressive disclosure in the lightbox is needed (matches usage scenario example 1 above):
A Lookup Example 4, a lookup in a lightbox, progressively rendered lookup results are returned at bottom, as is typical behavior today with KNS lookups (that are not in a lightbox today):
Example 5, Question framework - set of questions determine if a faculty member needs to complete additional forms to comply with policies for research projects (matches usage scenario example 3 above):
In this example, the lightbox progressively discloses additional questions if the "Recombinant DNA" checkbox is selected. The lightbox grows in size to accommodate this additional information. Also, the "question" architecture is able to pass the responses collected to the calling application (or to the Kuali Rules Management System) to determine which forms will need to be completed for this project, and to pass into the forms any relevant data that has been collected. (Alternatively, the question framework itself could include those rules and associate them with this lightbox.)
Based on the user's selections in the lightbox example, there are 4 forms that must be completed for this research project:
Based on the results from this lightbox, the application could group the forms to present in a guided sequence for the researcher. Note that in this example, the IBC document itself could be pre-filled with the DNA types selected in the lightbox (and validation would make sure at least one type is selected if the "Recombinant DNA" checkbox is selected).
If applicable, list expectations for performance (optimal and worst cases would be fine, give time in seconds):
The rest of these below are older examples of where Kuali applications have needed this type of function:
List all requirements (individual verifiable statements) that indicate whether the work for this item has been complete. If there are requirements that are not essential to the functionality but would be nice to have if time allows, enter those under 'Secondary':
List any functional or technical work that must be completed before work on this item can begin:
List any issues that need to be resolved before work on this item can begin:
List steps needed to test the basic functionality of this update, enhancement, bug fix
Functional Analysis Complete? No (completed by SME)
Needs Review by KAI? No (completed by SME)
Technical Analysis Complete? No (completed by DM)
Needs Review by KTI? No (completed by DM)
Estimate: 30 hours (completed by DM)
Technical Design: Link Here (completed by DM)
Jira: KULRICE-6675 and KULRICE-7299
Final Documentation: Link Here (completed by DM)