Browse Prior Art Database

Soft Command Shell Parameter removal with customizable detection & notification Disclosure Number: IPCOM000030814D
Original Publication Date: 2004-Aug-27
Included in the Prior Art Database: 2004-Aug-27
Document File: 3 page(s) / 56K

Publishing Venue



Software developers who provide command-level user interfaces often face a dilemma when the interface matures and one or more of the old parameters is no longer meaningful. If the developer chooses to delete the obsolete parameters, any users who had scripts which invoked the command specifying one or more of those parameters would be forced to change their scripts, in order to avoid 'Command syntax not valid' error messages. If the developer chooses to keep the obsolete parameters and simply ignore them, the command interface is not as "clean" and users could get confused about which parameters are the "real" ones. This article discusses how the CL (Control Language) command interface in i5/OS* could solve this dilemma for i5/OS developers, yielding both upwards compatibility and a clean command interface.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 42% of the total text.

Page 1 of 3

Soft Command Shell Parameter removal with customizable detection & notification

This publication solves a problem that has plagued the i5/OS* Control Language ( CL) command interface and other command shell technologies in dealing with parameters which the command owner no longer wishes to support. Specifically, when an i5/OS software developer decides to remove a command parameter, they must weigh the benefit of a cleaner command interface with the potential breakage to customer applications which use the command and specify a value for the parameter being removed. IBM* developers must get approval from the i5/OS Design Control Group (DCG) before removing obsolete parameters from a CL which had been shipped in previous releases. Often, the DCG will require that the obsolete parameter be retained on the command interface, and only command documentation should change to inform users of the command that the parameter is obsolete and will be ignored. This solution has the lowest risk, but does little to clean up the command interface. If the DCG agrees that removing the obsolete parameters is an acceptable risk, the developer can choose to either pass a "constant" to the underlying Command Processing Program (CPP) which is subsequently invoked to handle the command details, or the command and CPP are changed to not pass any value for the obsolete parameter. In either case, the risk exists that a customer has incorporated the CL command (with the obsolete parameter) into a Control Language (CL) program that will start failing once the new version of the changed command is installed, with no recourse other than to change the CL program source and recompile the CL source to create a new version of their CL program.

    This scenario is exactly what was sized and planned for the removal of a group of TCP configuration parms. These types of concerns are continually brought before the i5/OS DCG and they have to agonize over their decisions of how best to handle the obsolete command parameters with the biggest concern stemming from the risk assessment for complete removal.

    We weighed the potential impacts of having to require our customers to reprogram to accommodate our removal/cleanup of code and came up with a much better way that should pay significant future i5/OS dividends. As this solution evolves as a funded Line Item and ships (hopefully as part of next release), the solution (as summarized below) will be very apparent to other competitor, hence we seek to protect this Intellectual Property with this publication disclosure and filing.

    This same technology is available to our many i5/OS software vendors and customers in the context of CL commands. In addition, we believe the proposed solution will lend itself to other industry standard command shell technologies and yield the potential to generate significant patent royalties.

    The solution shifts the burden of reacting to the obsolete parameters away from the user of the command to the...