Status |
Version |
Leader |
Assignees |
---|---|---|---|
Assigned | 1.1 | Zablon Ochomo | Actually no one else takes part in this subproject |
Section |
Title |
---|---|
0.0 | Vision |
1.0 | Requirements |
1.1 | Ease of navigation |
1.2 | Guide user on how to obtain more help |
1.3 | Provide content sensitive help |
1.4 | Compact |
1.5 | Easily updatable |
1.6 | Localizable |
1.7 | User's adaptable or auto-explicable |
2.0 | Requirements analysis |
2.1 | Non functional requirements |
2.2 | Authoring Help Information |
2.2.1 | Create HTML topics |
2.2.2 | Create the Helpset File |
2.2.3 | Create a Map File |
2.2.4 | Create a Table of Contents File |
2.2.5 | Create an Index File |
2.2.6 | Creating the Full-Text Search |
2.3 | Adding JavaHelp to InternetCafe |
2.4 | Help Use Cases |
2.5 | Glossary |
A software application that is well designed, programmed and rich in features for exploiting latest technologies may hide most of its capabilities to its intended users unless it is properly documented. A relevant help mechanism need to be developed alongside the system development that will provide users with an integrated online help and even offline reference documents in form of user guides. For this purpose JavaHelp API; a suit of java classes was developed to help developers to implement online help to their programs and create other help facilities for their applications.
In order for the help system to be valuable to its users, it needs to achieve the following goals:
Though users are not required to initiate their activities through the help system, it should at least offer a way out to start for a user who can't start off completely. Since the project will run in a distributed environment, the help system need also to adopt a distributed model. This leads to a Distributed JavaHelp System (DJHS) that serves a wide range of workstations with different hardware and software platforms. Due to differences in operating environments, the help required by a user on one host may vary significantly from other users. This leads to need for a help system that is aware of the users working hardware and software environment and provide the relevant help.
An easy to navigate help system is necessary for users to access system resources either through navigating through help topics, search tools, or an indexing mechanism.
Each help displayed may suggest to users on related topics or how to obtain more help like in trouble-shooting cases. This can be displayed as links.
Runtime CSH is important for guiding users on an immediate step to take during application use. This can be invoked through a functional key like F1. The information displayed for user should provide hints on what the user is currently doing.
The help menu should be light and fast to load to avoid slowing down the user operations. This can be achieved by a java help system that is easily compressible into jars without losing information.
The help system's contents should be easily altered. Adding new information, removing information and modifying information should be done with ease. That makes javahelp the best choice since it has utilities for constructing help databases and indexing information that can be accessed through the API interfaces.
The help system users are anticipated to come from various geographical regions hence different languages. The help system will be translated and packaged into locale sensitive modules to cater for all users.
The help system should provide also a sort of "Tip of the Day" facility in order to show features or suggestions to the end-user on something that is hidden but featured and helpful. This goal should be achieved providing a sort of memorization of what the user already knows of the system and what he doesn't.
This section endeavors to discuss the sub-project?s goals as described above and provide a set of use cases and expected usage scenarios. A glossary of terms and key words will also be made at the end of this section.
At this stage, the help topics will be identified and categorized into comprehensive and concise HTML documents. The help content will be rendered as HTML; just like web pages with interface enhancements such as JavaScript and graphics. The documents will behave like a complete website with proper navigation and linking between related documents.
This stage will require proper studying and understanding of the internet-café?s operation. Each sequence of actions will be recorded into documents that use HTML formats since JavaHelp work well with such documents.
When the internet-café activates the help system, it will start by reading the helpset file. The helpset is a kind of metadata with a set of data that comprise of the help system. The helpset will include the following information:
Used to associate topic IDs with URL or path name of HTML topic files.
Describes the navigators being used in the helpset. The standard navigators are: table of contents, index, full text-search. Additional navigators include the glossary and the favorites navigators.
The "title" tag defined in the helpset file, and it appears at the top of the main windows and any secondary windows defined in your helpset file.
The name of the default ID displayed when the help viewer is called without specifying an ID.
The window in which to display the help topics. The "presentation" tag is used to define the windows used in the helpset.
This is an optional section to include sub-helpsets that can be automatically merged into the helpset that contains it.
This is an optional section to create a registry that provides key data mapping to define the HelpBroker class.
After reading the helpset file, the Internet-café help system will read the map file listed in the helpset. The map file will be used to associate topic IDs with paths to HTML topics files using URLs. The map file is created with a .jhm extension and is an xml document.
The table of contents file will describe the TOC to be displayed in the TOC navigator and the layout of the TOC.
The index file describes to the index navigator the content and layout of the index.
The full-text search engine uses a natural language search technology that, in addition to retrieving documents, locates specific passages within those documents where answers to queries may be found. It includes a conceptual indexing engine that analyzes the documents to produce an index of their content, and a query engine that uses the index to find relevant passages in the material.
The search database will be created by the JavaHelp utility: jhindexer.
The main system developers will provision for the help system integration to the main internet-café system. The help may be accessed through a help menu item, a button, a key, or a mouse action.
The integration procedure will require:
This is quite easy!
The use cases will try to illustrate how the internet-café?s help system will be used.
In this section we will present a short description for each term found in the previous requisites document. This is done to avoid the possibility to misunderstand a term when we are using it in the following sections.
TERM |
MEANING |
SYNONIMS |
---|---|---|
Java | ||
Content sensitive help | ||
URL | ||
Tip of the Day | ||
Functional key | ||
Localizable | ||
API | ||
Natural language | ||
HTML | ||
CSH | ||
Jar | ||
Locale |