1. Technical Field of the Invention
The present invention relates to the field of computer software such as operating systems and their Command Line Interfaces. More specifically, the present invention relates to a method, system, and computer usable medium for automatically documenting command file tags and for generating skeleton documentation content from operating system command files.
2. Related Art
Computer systems function, on one level, through the action of software implementing an operating system. An operating system controls the physical operation of the computer, e.g., electronic processes of the computer's subsystems and components implementing the function of the computer system. Operating systems are sometimes updated, revised, modified, improved, and enhanced. Such changes are incorporated through implementing new versions, e.g., releases of the operating system, and typically, loading the new releases onto a computer system, as they become available.
Operating system functionality is characterized and utilized, in one sense, by a list of commands which enable the operating system to control computer system function in accordance with a programmer's intent. These commands are specified and implemented via what is called the operating system's Command Line Interface.
All operating systems deploy a Command Line Interface through one modality or another. The Command Line Interface (CLI) provides the capability of non-programmatically, interactively accessing and controlling the computer system.
Commands are often grouped together in command files. Commands and command files may be changed, added, deleted, modified, substituted, or augmented with each release. Often, as operating system software develops, the list of commands and command files may grow quite large and become very complex. Using, for example, Cisco Systems' Internetworking Operating System™ (IOS™), an operating system enabling the functionality of routers, e.g., computer systems specializing in internetwork routing, there are approximately 2,000 active commands presently extant at this writing; the number growing still. Each IOS release arrives with new and syntax-enhanced commands.
The documentation of each and every command and command file, including any and all changes, is a crucial responsibility, often shared or tasked between software engineering and technical writing, who may, as a team build webpages and other documents with command functionality as content. There has conventionally been no methodology for software engineers to provide command functionality details and updates to technical writers and other documentation team members. In the conventional art, documentation is an ad hoc process, performed manually.
Documentation has at least two levels, a first wherein documentation is added at a base level to command files by operating system engineers and technical writers, and a second wherein high level documentation is generated for end users in some transparent, user accessible format, e.g., webpages. Localization to languages other than English, especially in generating high level documentation, is often crucial to product implementation, applicability, and marketability. Conventionally, documentation has been, and by ad hoc consortium of operating system engineers, technical writers, and others.
Conventional solutions, even using automated documentation technologies, are tedious. This, coupled with its ad hoc nature, causes errors, confusion, and conflict. Vigilance must be practiced to prevent syntax errors in generating command files and failure to incorporate required documentation content items. Further, there are risks of accidental user data destruction, of wiping out existing command definition and/or command documentation files, and misplacement of generated documentation files. Attempts at localization to languages other than English exacerbate these challenges, and the conventional art does not systematically promote such localization. Documentation at the base level, does not support generation of documentation at the higher level for end users. Documentation syntax often suboptimally represents actual documentation contents. Format typically suffers; existing products often reveal varying degrees of conformity with conventions of structural formality necessary for optimal system transparency and performance.
Thus, the conventional art is problematic because documentation performed in accordance with its regime is tedious, disjointed, and prone to error, omission and inadvertent data destruction. Conventional documentation is also problematic because it does not systematically support either localization to languages other than English or higher level documentation. Further, conventional documentation is problematic because documentation syntax does not optimally represent actual documentation contents, and existing documentation may not adequately conform to structural standards.
Accordingly, what is needed is a method and/or system of documentation that promotes uniformity, minimizes error, omission, and data destruction, and is not tedious. What is also needed is a method and/or system of documentation that systematically supports both localization to languages other than English and higher level documentation. Further, what is needed is a method and/or system of documentation wherein documentation syntax optimally represents actual documentation contents, and documentation produced conforms adequately with structural standards.