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.
- #1: Create a context-sensitive help information architecture, that supports field and object-level help (e.g., tooltips), and supports group-level help and page-level help in a non-modal floating help window that is tightly associated with the application window and will not go behind it in the active window order, and that can be pinned, moved aside of the active window (so as not to occlude the application content), re-sized by the user (so as to better fit the viewing device), and closed. 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 group-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, group, 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 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.
- #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
These are coming next!
Mocks and Diagrams
Include any mocks (for UI enhancements) or diagrams that might be helpful in understanding the issue:
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:
The Help Framework consists of the following:
- The tooltip is the UI component that delivers context-sensitive help for fields and other user-manipulable controls.
- 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.
- The tooltip should remain open while the control or field is selected, including while the user is entering data into a field.
- The tooltip will close when the user moves out of the field.
- For additional tooltip architecture details, see the separate requirement on tooltips.
Non-Modal Rich Message Help Dialog box associated with Help icon/button:
- System should allow displaying a help icon associated with a group 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.)
- Secondary: System should allow turning group 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.)
- 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.)
- KRAD should ship with a default help icon (precise default visual treatment to be determined), with default alt-text for it.
- 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.
- 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 text itself, but a brief description of the type of help that selecting the help icon will produce. Examples: "Display help for this field", "Display help for this group", "Display help for this page".
- Secondary: The italicized words are variables, meant to be filled in with the specific field control label or header text.
- The Help icon should be selectable and, when selected, should open the help information in a non-modal dialog box control.
- This non-modal dialog box will have these characteristics:
- Enable default styling aspects (specifics tbd).
- Enable links and images.
- The help content in the dialog box is intended to be brief, task-oriented, and specific to the control or group/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.
- A link will be provided within the dialog box to open additional help information that exists in a larger context, within a new window (or tab, depending on the user's browser settings).
- The dialog box will not close when the user selects the link, preserving the user's focus and task context - 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 and positioning tbd.)
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:
List any issues that need to be resolved before work on this item can begin:
QA or Regression Testing Plan
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: Link Here (completed by SME)
Final Documentation: Link Here (completed by DM)