The present invention is directed to an improvement in computing systems and in particular to an improvement in defining browser-independent pop-up windows.
In computer program products it is common to include interactive help components. Such components permit users to access help windows that contain reference and-other help information that will answer user questions or guide a user through various aspects of the operation of the computer program products. In some cases such interactive help systems incorporate pop-up windows. These are displayed on the user's screen on request as the user navigates through the interactive help system. Rather than a single window, in which different information is sequentially displayed, a pop-up window is typically a separate window that partially overlays the window from which the pop-up is invoked. Typically, a first help window remains in place and a second, often smaller, window pops up over the first one.
Pop-up windows are particularly useful where a detail of a larger system is explained, or where a wizard or other guiding help system is used to take a user through different steps in a process.
Typically, such pop-up windows are defined and generated using proprietary help or guidance systems that are intended for use with a particular defined product, or family of products. Content for such systems is written for the appropriate products and platforms that the proprietary systems are designed to work with. Generating and maintaining multiple versions of similar interactive help systems is required and is often duplicitous and inefficient.
Given the continuing need for documentation, including manuals, users' guides, and interactive help facilities, standardized development tools have been developed. Such tools assist developers in creating different documentation and help materials by streamlining and guiding the creation process. The proprietary nature of interactive help systems makes it difficult for such standardized development tools to generate content having a format compatible with the particular interactive help system with which a developer may be working.
It is therefore desirable to have a method and system for developing pop-up windows, where the development and operation of such pop-up windows is not closely tied to a particular computer product, or family of products.
According to an aspect of the present invention there is provided an improved method and system for providing browser-independent pop-up windows.
According to another aspect of the present invention there is provided a computer program product for use with a development tool, typically as a post-processor or as part of the development tool itself. The computer program product generates browser-readable code, such as HTML code, that contains a routine for displaying a pop-up window. This code reflects an SGML or XML definition provided to the development tool. The definition includes a link definition with a form to indicate that the link definition refers to a pop-up window. The browser-readable code includes an invocation of the routine that will cause the routine to display the pop-up window.
According to another aspect of the present invention there is provided a computer program product for generating pop-up windows for a computer system, the program product including a computer usable medium tangibly embodying computer readable program code means for implementation in combination with a development tool, the development tool accepting a set of definition files having a format selected from SGML format or XML format, the definition files including a link definition file and a content definition file, the computer readable program code means including code means for generating an HTML content file based on the content definition file, the HTML content file having a pop-up content file name, code means for identifying a pop-up link definition including a defined keyword, initially contained in the link definition file, code means for generating an HTML output file, the HTML output file being based on the link definition file and including a JavaScript function definition, the JavaScript function definition including code for opening a pop-up window to display content derived from an HTML file specified by an identified parameter, and HTML code corresponding to the pop-up link definition and including a call to the JavaScript function with the pop-up content file name as the identified parameter.
According to another aspect of the present invention there is provided the above computer program product in which the computer readable program code means includes a post-processor, the development tool including means for generating a first intermediate HTML file based on the content definition file and a second intermediate HTML file based on the link definition file, the development tool passing the pop-up link definition from the link definition file to the second intermediate HTML file, the post-processor including code means for accepting the intermediate HTML files as input.
According to another aspect of the present invention there is provided the above computer program product in which the code means for identifying a pop-up link definition including a defined keyword includes code means for scanning the second intermediate HTML file to locate the defined keyword.
According to another aspect of the present invention there is provided the above computer program product in which the computer readable program code means is implemented within the development tool.
According to another aspect of the present invention there is provided a computer program product for generating pop-up windows for a computer system, each pop-up window being defined by a content definition being addressable by a pop-up content name, the program product including a computer usable medium tangibly embodying computer readable program code means for implementation in combination with a development tool, the development tool accepting a set of input definition data having a format selected from SGML or XML, the input definition data including link definition data and content definition data and including code means for identifying a pop-up specifier including a defined indicia, initially contained in the link definition data, code means for generating browser-readable link code based on the link definition data and including invocable code for opening a pop-up window to display content derived from a selected content definition specified by an associated identifier, and browser-readable code corresponding to the pop-up specifier and including an invocation of the invocable code such that the associated identifier is defined with reference to the pop-up content name for addressing the selected content definition.
According to another aspect of the present invention there is provided the above computer program product in which the browser-readable code is HTML code.
According to another aspect of the present invention there is provided the above computer program product in which the invocable code is an invocable routine and the associated identifier is a parameter for the routine.
According to another aspect of the present invention there is provided a computer-implemented method for generating pop-up windows for a computer system, the method including accepting a set of definition files having a format selected from SGML format or XML format, the definition files including a link definition file and a content definition file, generating an HTML content file based on the content definition file, the HTML content file having a pop-up content file name, identifying a pop-up link definition including a defined keyword, initially contained in the link definition file, and generating an HTML output file, the HTML output file being based on the link definition file and including a JavaScript function definition, the JavaScript function definition including code for opening a pop-up window to display content derived from an HTML file specified by an identified parameter, and HTML code corresponding to the pop-up link definition and including a call to the JavaScript function with the pop-up content file name as the identified parameter.
According to another aspect of the present invention there is provided the above method further including, after accepting the set of definition files generating a first intermediate HTML file based on the content definition file and a second intermediate HTML file based on the link definition file; and passing the pop-up link definition from the link definition file to the second intermediate HTML file, and in which the step of generating an HTML content file includes the step of accepting the first intermediate HTML file as input to generate the HTML content file, and the step of generating an HTML output file includes the step of accepting the second intermediate HTML file as input and processing that file to generate the HTML output file.
According to another aspect of the present invention there is provided the above method for generating pop-up windows for a computer system, each pop-up window being defined by a content definition being addressable by a pop-up content name, the method including accepting link definition data having a format selected from SGML or XML and generating output data in browser-readable format, identifying a pop-up specifier including a defined indicia, initially contained in the link definition data, and generating browser-readable link code based on the link definition data and including invocable code for opening a pop-up window to display content derived from a selected content definition specified by an associated identifier, and browser-readable code corresponding to the pop-up specifier and including an invocation of the invocable code such that the associated identifier is defined with reference to the pop-up content name for addressing the selected content definition.
According to another aspect of the present invention there is provided the above method further including the steps of, after accepting the set of definition files generating intermediate browser-readable data based on the link definition data, and passing the pop-up link definition from the link definition data to the intermediate browser-readable data, and in which the step of generating browser-readable link code includes the step of accepting the intermediate browser-readable data as input and processing that data to generate the browser-readable output data.
According to another aspect of the present invention, there is provided a method for generating a pop-up window, the method including accepting a set of definition files having a format selected from a multiplicity of computer mark-up language formats, the definition files including a link definition file and a content definition file; generating a display language content file based on the content definition file, the display language content file having a pop-up content file name; identifying a pup-up link definition including a defined keyword, initially contained in the link definition file; generating a display language output file based on the link definition file, the display language output file including: a function definition including code for opening a pop-up window to display content derived from a display language file specified by an identified parameter; and a display language code corresponding to the pop-up link definition and including a call to the function with the pop-up content file name as the identified parameter.
Advantages of the present invention include a method and system that permit uniform definition of pop-up windows for display using different browsers. When used in conjunction with a development tool useable for defining documentation and help systems, the invention permits a single set of content definitions to be used to generate different forms of output, including information to be displayed in the pop-up windows in interactive help sessions.
The preferred embodiment of the invention is shown in the drawings, wherein
In the drawings, the preferred embodiment of the invention is illustrated by way of example. It is to be expressly understood that the description and drawings are only for the purpose of illustration and as an aid to understanding, and are not intended as a definition of the limits of the invention.
The preferred embodiment is described with reference to the Information Development Workbench (IDWB) development tool of International Business Machines Corporation. Although the description refers to this particular product, it will be understood by those skilled in the art that the preferred embodiment may be implemented with respect to other development tools having similar functionality. The IDWB tool takes content definition files and generates, in response to user specifications, one or more output files having a defined format and content reflecting the content definition files.
In the preferred embodiment, the contents and structure of documentation and help facility screens generated by the IDWB tool are defined by one or more SGML (Structured Generalized Markup Language) files. Alternatively, XML (Extensible Markup Language) files may be used to define the content. As will be apparent to those skilled in the art, the approach of the preferred embodiment may be implemented for either XML or SGML files with the appropriate changes to the processing steps carried out to generate the HTML output files having the characteristics described. Two example SGML files 10, 12 are shown in
To accomplish this, IDWB 14 selectively produces output files in a user-specified format chosen from several possibilities.
The generation of popup windows by the preferred embodiment is described with reference to example HTML output file 18 and HTML content file 20. In the example of
As it will be appreciated, the functionality of post-processor 28 may also be incorporated within IDWB 14 or an equivalent development tool. When this is the case, HTML intermediate files 30, 32 may not necessarily be produced as a development tool incorporating the functionality of post-processor 27 may generate the final form of HTML files (files 18, 20 in the example of
According to the preferred embodiment, when pop-up windows are required, a predefined keyword prefix is included in the appropriate locations in the SGML files that are inputs for IDWB 14. Such files may be referred to as “link definition files” as they contain references to other files or window contents definitions, often expressed as links. It will be appreciated that the use of a keyword is described in the preferred embodiment but other indicia may be selected to be used in the place of a keyword.
In the preferred embodiment configuration shown in
In the preferred embodiment described, “popup_” is used as the keyword prefix. The design of the preferred embodiment permits other keywords or indicia to be used to trigger the post-processor to make the appropriate code insertions in the resultant HTML files. Alternatively, multiple keywords may be given different significances by the system of the preferred embodiment. For example, different pop-up window dimensions may be specified using different keywords in the SGML content-defining files. Similarly, different mechanisms for identifying the HTML file that specifies the content of a pop-up window may be indicated using different keywords. Where an implementation does not utilize SGML or XML definition files it will be understood that a pop-up specifier having a defined format (and being analogous to a link statement in the SGML or XML files) will be included in the link definition data, and that the pop-up specifier will contain an indicia used to identify the pop-up specifier as such.
An example of SGML code having a prefix keyword, as described above, is the following SGML code:
As can be seen, the SGML-format file specification of the interactive help system incorporating the pop-up window does not require a special syntax. The defined keyword prefix is used as part of the SGML L LINKEND definition. The SGML code is transformed into the corresponding HTML pages by IDWB 14 in the preferred embodiment. The term “popup_TOC_admin_guide” passes through IDWB 14 to post-processor 28. The steps taken by post-processor 28 are described below, with reference to the example of
In
The inclusion of the “popup_” prefix in file 10 requires the content of the pop-up window to be defined. In the preferred embodiment, this is provided by a related SGML content definition file. In the example of
An example of such a JavaScript function is given as follows:
The post-processing script will replace an existing link definition (containing the keyword prefix) in the HTML intermediate file with HTML code referencing the JavaScript function. The parameter passed to the JavaScript function is a file name containing the HTML page to be displayed in the pop-up window. In the example of
As referred to above, in the example of
As a result of the definition of the SGML link definition file 10 and SGML content definition file 12 and the operation of post-processor 28, HTML output file 18 having a JavaScript pop-up function definition similar to that set out above is generated. A link defined in the HTML output with the pop-up prefix will result in a call to the JavaScript function which will in turn result in the display of an HTML page as defined by the file indicated in the parameter for the pop-up function call.
As can be seen from the above, the preferred embodiment provides a simple mechanism for including definitions of pop-up windows in an SGML file definition used for document and help system creation. A pop-up window definition may be defined in a straightforward manner, differing from a standard link by the inclusion of a defined keyword. Post-processor 28 provides for a HTML file output including functionality to permit the pop-up window to be displayed when appropriate. As will be appreciated, the inclusion of this functionality in standard HTML code permits the help system, including the pop-up windows, to be used by any HTML browser, which provides the system with platform independence.
Although a preferred embodiment of the present invention has been described here in detail, it will be appreciated by those skilled in the art that other variations may be made. For example, the SGML or XML definitions used as inputs for the development tool may be in form other than files. Such variations may be made without departing from the spirit of the invention or the scope of the appended claims.
Number | Date | Country | Kind |
---|---|---|---|
2384183 | Apr 2002 | CA | national |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/GB03/01616 | 4/15/2003 | WO |