Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 26 Next »

(Draft in progress below ... not completed)


The main purpose behind this requirement is to support a good user experience with online help, with task-specific content that is delivered electronically in the context of doing tasks within Kuali software, so the user does not have to navigate separately to find relevant help content.

In order to achieve this, we need to create/support an integrate-able help information architecture that makes it easy to create, update, maintain, translate and link high-quality help content with the logic/codebase.  

Detailed Description

  • #1: Create a context-sensitive help information architecture, that supports
    • field and object-level help in a tooltip and supports
    • section-level help and page-level help in a non-modal floating help dialog that
      • is tightly associated with the application window and will not go behind it in the active window order
      • can be moved aside of the active window (so as not to occlude the application content)
      • can be re-sized by the user (so as to better fit the viewing device)
      • can be closed by the end user
    • Enable applications to choose which level(s) of the help content to implement.  For example, one application might need field-level help only (tooltips), while another needs field-level and section-level help, while another needs field-level and page-level help.  It is also conceivable that an application team might feel they need all three levels, though we caution against making the user feel lost in too much information.  Ideally, the user interface to the application itself should be designed in such a way that it does not require a large amount of collateral information.
  • #2:  Create an integrate-able help information architecture that makes it easy to create, update, maintain, translate and link high-quality help content with the logic/codebase
    • That is separable from the logic/code-base (related to the requirement for Centralized Message Repository).
    • That is achieved through linking field, section, and page-level help "hooks" into the logic/code-base to the appropriate anchor-points in the help architecture.  This could be to anchor points within a single online help structure / flow, to deliver the right information from within the larger information space.  Note that this represents a step towards, but is not the same thing as, full convergence that unifies all help and electronic documentation into a single, coherent document/flow, that can also be accessed in modular, topical, fashion.   The main requirement is to support a good user experience with online help, with task-specific content that is delivered electronically in the context of doing tasks within Kuali software, so the user does not have to navigate separately to find relevant help content.
  • #3:  Support these aspects through use of open and community-source architecture and authoring tools, that support the Java space, but also support the integration/use of the output from any authoring tools that output into standard HTML source.  This includes from tools that enable WYSIWYG authoring capability, to be able to create and assess the effectiveness of the user experience, with the content style and presentation aspects, within the context that users will view it -- but that output the content into standard XML/HTML source.
  • #4:  Create an online help architecture that fully converges the aspect of online help with the aspect of electronic documentation.
    If this is achieved, it is conceivable that all user help and user documentation could be from the same source - there would be no duplication of effort required to create, update or maintain the content.
    The primary requirement even in #4 is that when accessing task-oriented help (such as field-level, group-level), the potential unity with all user help information is achieved in a way that does not lead the user to become lost within a larger online documentation structure.  See the usage scenarios, and the mocks and diagrams sections above (these are coming).
    This type of converged overall help/documentation structure must support the following:
    • table of contents - Accordion-style expandable table of contents in left sidebar
    • help index - Alphabetical index
    • help search - Great search capability with highlighted hits
    • help glossary
    • hyper-linked cross-references within and across the help content and these constructs.
    • The information in this converged overall form must be printable, with pagination cues (page numbers printed).
    • Ability to save help topics to Favorites for infrequent tasks
    • Feedback e-mail capability

Usage Scenarios

These are coming next!

Mocks and Diagrams

For context, what "help" is already supported in Rice 2.0 KRAD:

Below is a low-fidelity sketch of the types of visible 'help' associated with input fields, that are already available in Rice 2.0 KRAD (a significant addition to the KNS capability) -- optional, depending on the application, device and user needs:

The input field is grouped with a label, which can include a "required-ness" indicator (the *).  This is similar to KNS and, as with the KNS capability, the input field can have other controls associated with it, such as a lookup or inquiry control (shown above with an icon to the right of the field), and could have multiples of these (could also include a help icon).

Differently from KNS, KRAD makes it easy to associate this "visible" instructional text and constraint text with the input fields.  The input field itself can also include a watermark "suggestion" or it can be pre-filled with a valid default selection alternative, that the user can accept or change.  The field can include a combobox drop-down control that enables the user to select from a valid set of alternatives (not shown), and it can have auto-complete behavior (recognition/type-ahead).

In addition to the above constructs, KRAD in Rice 2.0 also supports including visible text anywhere on a page.  For example, this enables an application to include short explanatory text at the top of a form or at the beginning of a section -- virtually anywhere on the page where the text is needed and appropriate.

All these are optional, but available to the application designer.

In addition, as with KNS, a help icon can be placed anywhere on a page, for example to provide page-level help, or section-level help, or field-level help.  However, if there are many field-level help icons throughout a densely constructed page, this could lead to visual clutter, making  it more difficult for the user, and it could be especially problematic if a help icon is added to a field that already has a lookup or inquiry icon (or both!). 

Though this context-sensitive help structure is possible, prior to Rice 2.2, there is no packaged support to make it easy for application developers to tie appropriate help content at the field or section-level, for context-sensitive help.  It can be done, but most Kuali applications do not do this today, due to the additional work it takes to accomplish.

On the other hand, some Kuali applications,  like KFS, today provide context-sensitive help at the page-level, which represents a good step forward.  For an example, see below from the KFS Test Drive (see the page-level help icon below):

When the user activates the help icon, another browser tab opens with the "stand-alone" electronic documentation opened to the appropriate place within the larger information content:

What "help" constructs will be new in Rice 2.2, KRAD:

There are two new UI constructs related to help architecture in Rice 2.2 KRAD, and a data structure addition to make it easier to hook the appropriate help content into the appropriate place in the UI when developing an application.

(Example diagram of the relationships among the constructs coming here.)

The Help Tooltip for controls and fields:

The first new construct is the tooltip, which enables applications to deliver context-sensitive help for individual fields and controls, virtually, for any user-manipulable control - without cluttering the page.  The tooltip appears on hover (or on focus for keyboard users) and disappears when the user moves on.  Research has shown that users don't notice helpful text on a densely laid-out page, so the tooltip strategy for field-level help offers the application designer a "just-in-time" help capability. 

Tooltips have become standard fare in rich applications, and users now actively explore user interfaces looking for these relevant 'nuggets' of information (tooltips and other) when they use a new application or infrequently use it.

(Visual example of tooltip in field-level context coming here ... )

See the tooltip requirement for additional information.

The non-modal Help Dialog, for page and section-level help (associated with help icon):

(More coming here ... work in progress)


If applicable, list expectations for performance (optimal and worst cases would be fine, give time in seconds):


Include links to other confluence pages or external resources that might be helpful for this issue:

Requirements Listing

The Help Framework consists of the following:

1. Tooltip:
  1. The tooltip is the UI component that delivers context-sensitive help for fields and other user-manipulable controls.
  2. When the user hovers over a user-manipulable element (e.g., a field or other control in a form), brief help summary text for the specific field/control should be displayed as a tooltip. 
  3. The tooltip should remain open while the control or field is selected, including while the user is entering data into a field.
  4. The tooltip will close when the user moves out of the field.
  5. For additional tooltip architecture details, see the separate requirement on tooltips.
2. Non-Modal Rich Message Help Dialog associated with Help icon/button:
  1. System should allow displaying a help icon associated with a section header and with a page header. The default placement of this help icon will be to the right of its associated UI element.  (Precise default visual treatment and positioning to be determined.)
    1. Secondary:  System should allow turning section and page level help information off at a global level (per application) (Let's talk through the typical scenario for this - why this is desired.)
    2. Tertiary:  System should allow turning these off also at a view level, and component level (NOTE:  Not sure yet about this one, will walk through  - scenarios to determine the pros and cons of enabling this. Creates inconsistency across an application.)
  2. KRAD should ship with a default help icon (precise default visual treatment to be determined), with default alt-text for it. 
    1. Secondary:  KRAD should also allow the ability, at a global level (per application, not per view or page), to replace the default help icon with a different image or with text.  Consistency across an application is important.
  3. When the user hovers over the help icon, brief summary text should be displayed as a tooltip for the help icon.  This doesn't include the help content itself, but a brief description of the type of help that selecting the help icon will produce.  Examples:  "Select to display help for this field", "Select to display help for this section",  "Select to display help for this page". 
    1. Secondary: The italicized words are variables, meant to be filled in with the specific field control label or header text.
  4. The Help icon should be selectable and, when selected, should open the help information in a non-modal dialog box control.
  5. This non-modal dialog box will have these characteristics:
    1. Enable default styling aspects (specifics of the default treatment are tbd).
    2. Enable links and images. 
    3. The help content in the dialog box is intended to be brief, task-oriented, and specific to the section/page in question (between a few sentences and a few paragraphs).  It is more content than a tooltip and less content than what could exist within a full online help repository. 
    4. A link can be provided within the dialog box to open additional help information that exists in a larger context, within a new browser window (or tab, depending on the user's browser settings).
    5. The dialog box will not close when the user selects the link, preserving the user's focus and task context - the user may want to view other information in the dialog box after exploring the additional information.  There will be a standard close-box element (precise visual treatment tbd.)
3. Full help in separate window/tab:

(information to be provided here, including capability to configure URLS with system parameters, where the help content is stored, etc.)


List any functional or technical work that must be completed before work on this item can begin:

  1. item


List any issues that need to be resolved before work on this item can begin:

  1. item
  2. item
  1. item
  2. item

QA or Regression Testing Plan

List steps needed to test the basic functionality of this update, enhancement, bug fix

  1. test/steps
  2. test/steps


Functional Analysis Complete? No (completed by SME)

Needs Review by KAI? Yes (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-6674

Final Documentation: Link Here (completed by DM)

  • No labels