Looking at the sample output, the manual and running ASPHelp against some sample projects may not answer this fundamental question. This article seeks to describe those attributes and how they are documented within ASPHelp. If there is an aspect you are seeking, please don't hesitate to contact us, it may already be in the product, or may be planned for a future version.
In traditional object oriented programming, the interface is the public view of the object being exposed. Using web concepts, an interface is the public view of the variables accepted by an ASP page, the hyperlinks present on a web page, or the forms present on the web page. Each of these items is responsible for generating data, or processing user inputted data.
In most web projects, the end user has no knowledge, and no requirement to know the interface exposed by the ASP page. This isn't true for developers or testers who are responsible for knowing what types of data the ASP page is expecting. Using object oriented terminology, each web page becomes an object, and the data flow between pages is key to proper site operation.
ASPHelp defines interface elements as those which pass data from one page to another. This definition includes anchors, forms, frames, image maps request object methods and redirections.
The following interface items are listed in the default table of contents for ASPHelp generated documentation.
- Page processes data submitted from a FORM POST
- Page collects data via a FORM
- Page processes data submitted via FORM GET, or on the query string
- Page processes data submitted via both the POST and GET methods
- Page accesses or modifies the cookie collection
ASPHelp will list the name of the variable for all data access items (POST, GET and cookies), and if any description is supplied with the variable, that description will be included with the variable in the output document.
Dynamic web content is not only controlled by the HTML data flow, but client side script has the potential to intercept, and modify the data content. In addition, client script has the ability to present web dialog pages, open new windows in response to client actions and control user navigation. While the end user generally has limited knowledge of the presence of client side script, they do have the ability to control script execution; including disabling all script access, or installing applications which render certain client script functionality inert. As a result, developers and testers can benefit greatly from determining the extent to which the web site content can be affected by the end user's configuration.
Client side interface elements are defined as those which result in a change in navigation. The default table of contents includes web dialogs.
ASPHelp provides the following information on all web dialogs:
- An index of the location of the dialog in the HTML. Support is provided for supplying a description of the intent of each dialog.
- The location accessed to display the dialog
- The modality of the dialog
- A list of the parameters passed to the page displaying the dialog. ASPHelp will attempt to determine the values processed, and where they are supplied from (e.g. the value is defined based on the client or server side). Descriptions for the intent behind each variable is supported.
ASPHelp provides the following information on all client navigation requests:
- An index of the location of the window in the HTML. Support is provided for supplying a description of the intent of each navigation.
- The location accessed to display the content
- The target of the new content. In the case of simple navigations (e.g. window.navigate), this value will be "Self"
- A list of the parameters passed to the page displaying the new content. ASPHelp will attempt to determine the values processed, and where they are supplied from (e.g. the value is defined based on the client or server side). Descriptions for the intent behind each variable is supported.
Most dynamic web sites are driven with server side processing of client side requests. In order to maintain system and user state, these sites make use of application and session caches of some form. Depending on the user's actions, server side redirections can also occur. ASPHelp is able to document the contents of the intrinsic ASP Application and Session objects. If your web site makes use of a custom session object, you can optionally specify the custom session object, and ASPHelp will attempt to document session object usage of the custom object.
ASPHelp will list the name of the variable for all application and session object variables used, and if any description is supplied with the variable, that description will be included with the variable in the output document.
HTML action elements are those items in the HTML specification which cause an action to occur on the web page. These are the items an end user is normally interacting with, and which users assume cause site navigation to occur. In the case of dynamic web pages, the actual action elements available to the user will change with previous user actions (e.g. removing an item from a comparison list), user identity (e.g. personalized web sites), current server configuration (e.g. contents of Application variables), and the browser chosen by the end user (e.g. an older browser not supporting certain functionality).
ASPHelp defines the following items as HTML action elements:
- Anchor tags
- FORM elements
- FRAME elements
- IFRAME elements
- Image map and area tags.
The following items are documented for anchor tags:
- If the anchor is a label, ASPHelp will attempt to determine the first 10 words of the label and use those ten words for the anchor name. The anchor will be categorized as a label
- If the anchor link is textual, ASPHelp will show the text
- If the anchor link is a clickable image, ASPHelp will show the name of the image, its source and title.
- The target for the anchor
- The href for the anchor. Any query string values passed with the href are documented.
- The contents of any OnClick event for the anchor
The following items are documented for FORM elements:
- The name of the FORM element.
- The action and method of the FORM element.
- Any INPUT, SELECT and TEXTAREA elements contained within the FORM
The following items are documented for FRAME and IFRAME elements:
- The name of the FRAME
- The source for the FRAME. Any query string values passed with the source are documented
The following items are documented for MAP and AREA elements:
- The name of the MAP
- The href for the AREA. Any query stringvalues passed with the href are documented.
Procedural objects are methods and objects present in either the server side or client side script. ASPHelp documents the following procedural objects and methods:
- Server.CreateObject
- CreateObject (server and client side VBScript)
- ActiveXObject (server and client side JavaScript)
- new object creation in JavaScript
- HTML OBJECT element
- HTML METADATA element describing a type library
- Private Function and Sub declarations (server and client side VBScript)
- Public Function and Sub declarations (server and client side VBScript)
- JavaScript function declarations
The following items are documented for Server.CreateObject calls:
- The ProgID of the object being created
- The name of the server where the object is being created (if specified)
The following items are documented for CreateObject and ActiveXObject calls:
- The ProgID of the object being created
- The name of the server where the object is being created (if specified)
- The location of the creation (client or server side)
The following items are documented for objects created in JavaScript using the new keyword:
- The name of the class being created
- The location where the class is being created (client or server side)
The following items are documented for HTML OBJECT elements:
- The name and id of the element
- The ProgID of the element, if specified
- The CLSID of the element, if specified
- The MIME type of the element, if specified
- The scope of the call
- If a codebase is specified, the codebase location and code items are included
- If a data source is specified, the location of the data source is included
The following items are documented for HTML METABASE elements describing type libraries:
- The object name
- The UUID of the type library
- The version of the library
- The file to obtain the library from
The following items are documented for all procedural method declarations:
- The type of procedure (e.g. Private Sub)
- The execution context of the procedure
- If there is an event associated with the procedure, which object the event is associated with
- If the procedure accepts parameters, the name of each parameter and if it is passed by reference or value is included.
- If source code is included in the output document, a hyperlink will be present from the summary page to the source code page location where the procedure is defined.
© Pikauba Software 2001 - 2009. All rights reserved.