SirLib: Difference between revisions
m (1 revision) |
m (TN prefix for 3270) |
||
(17 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
'''SirLib''' is a change management system for User Language procedures residing in Model 204 procedure files. It is a companion product to [[SirPro]], with <var class="product">SirPro</var> providing change-creation functions, and <var class="product">SirLib</var> providing the functions | '''SirLib''' is a change management system for User Language procedures residing in <var class="product">Model 204</var> procedure files. It is a companion product to [[SirPro]], with <var class="product">SirPro</var> providing change-creation functions, and <var class="product">SirLib</var> providing the functions that apply and back out changes. | ||
<var class="product">SirLib</var> is part of the [[ | <var class="product">SirLib</var> is part of the [[RKTools]] family of products from Rocket Software. Prior to version 7.5 of Model 204, the RKTools family was known as UL/SPF and required the installation of the [[Sirius Mods]], with a version equal to or higher than the <var class="product">SirLib</var> version. As of Model 204 V7.5, the functions and facilities necessary to run RKTools are built into the Model 204 Online load module. | ||
As of version 7.7 of RKTools, <var class="product">SirLib</var> and <var class="product">SirPro</var> are accessible through one or both of the RKTools user interfaces (3270 or [[RKWeb]]). The <var class="product">SirLib</var> wiki pages primarily describe the TN3270 interface, although its appearance and functionality is approximately the same as in the RKWeb interface, which uses [[Janus Web Legacy Support]] to map the <var class="product">SirLib</var>-specific TN3270 screens to your web browser. | |||
<var class="product">SirLib</var> | |||
==SirLib and configuration management== | |||
<var class="product">SirLib</var> runs as an [[Application Subsystem development|application subsystem]] inside a <var class="product">Model 204</var> Online, as does | |||
<var class="product">SirPro</var>, a package of productivity tools. | |||
Together they provide a | |||
complete, integrated SOUL developers' environment. | |||
<var class="product">SirPro</var> provides the programmers' environment, and <var class="product">SirLib</var> provides the | |||
management environment for applying and backing out updates. | |||
There is some overlap in programmer and management activity in managed | |||
environments, and there is no reason why programmers cannot be | |||
responsible for performing <var class="product">SirLib</var> functions. | |||
This document covers briefly the <var class="product">SirPro</var> functions related to managed changes. These functions are also covered in the [[SirPro]] pages. | |||
Configuration management functions typically fall into four categories: | |||
<ul> | <ul> | ||
<li>Identifying, grouping, and documenting system changes. | <li>Identifying, grouping, and documenting system changes. | ||
<li>Providing an environment for controlling change and programmer activity. | <li>Providing an environment for controlling change and programmer activity. | ||
<li>Backing out changes. | <li>Backing out changes. | ||
<li>Reporting on system configurations. | <li>Reporting on system configurations. | ||
</ul> | </ul> | ||
<var class="product">SirLib</var> provides specific functions for each facet of change control. Furthermore, SirLib | <var class="product">SirLib</var> provides specific functions for each facet of change control. | ||
reduces the complexities of procedure distribution to such an extent that only a single, | Furthermore, <var class="product">SirLib</var> reduces the complexities of procedure distribution | ||
small procedure file needs to be distributed to production environment(s), no matter how | to such an extent that only a single, small procedure file needs to be | ||
many applications run in that environment. | distributed to production environment(s), no matter how many applications | ||
run in that environment. | |||
In addition, <var class="product">SirLib</var> is designed to provide specific mechanisms to automate and simplify | In addition, <var class="product">SirLib</var> is designed to provide specific mechanisms to automate and simplify programmers' tasks: | ||
programmers' tasks: | |||
<ul> | <ul> | ||
<li><var class="product">SirLib</var> prevents programmers overwriting each others' changes. In typical change | <li><var class="product">SirLib</var> prevents programmers overwriting each others' changes. | ||
management systems, this involves a procedure lock. <var class="product">SirLib</var> performs this function | In typical change management systems, this involves a procedure lock. | ||
without locking procedures.</li> | <var class="product">SirLib</var> performs this function without locking procedures.</li> | ||
<li><var class="product">SirLib</var> allows developers to continue working in the manner they're used to. SirLib | <li><var class="product">SirLib</var> allows developers to continue working in the manner they're used to. | ||
does not dictate a development method.</li> | <var class="product">SirLib</var> does not dictate a development method.</li> | ||
<li><var class="product">SirLib</var> allows for quick fixes and fast backout of changes when introduced changes | <li><var class="product">SirLib</var> allows for quick fixes and fast backout of changes when | ||
cause production problems.</li> | introduced changes cause production problems.</li> | ||
<li>Reporting capabilities are integrated, and the data for reporting does not have to be | <li>Reporting capabilities are integrated, and the data for reporting does | ||
manually entered | not have to be manually entered — reporting data is generated to the | ||
when system activity occurs.</li> | internal dataset <b>SIRLIBD</b> when system activity occurs.</li> | ||
<li>Verification of change level (or status, release number, etc.) is available in all | <li>Verification of change level (or status, release number, etc.) is | ||
environments where <var class="product">SirLib</var> runs, via both reports and optional internal procedure | available in all environments where <var class="product">SirLib</var> runs, via both reports and | ||
comments.</li> | optional internal procedure comments.</li> | ||
</ul> | </ul> | ||
Most change management systems will not work in <var class="product">Model 204</var>, because: | Most change management systems will not work in <var class="product">Model 204</var>, because: | ||
<ul> | <ul> | ||
<li>They cannot be integrated with developer tools.</li> | <li>They cannot be integrated with developer tools.</li> | ||
<li>They cannot handle the long procedure names permitted in <var class="product">Model 204</var>.</li> | <li>They cannot handle the long procedure names permitted in <var class="product">Model 204</var>.</li> | ||
<li>They don't understand the concept of Model 204 GROUPs.</li> | <li>They don't understand the concept of <var class="product">Model 204</var> GROUPs.</li> | ||
</ul> | </ul> | ||
<var class="product">SirLib</var> was designed to deal with all these change management issues and to work | <var class="product">SirLib</var> was designed to deal with all these change management issues and | ||
under a wide range of Model 204 configurations. <var class="product">SirLib</var> provides primarily a means to | to work under a wide range of <var class="product">Model 204</var> configurations. | ||
achieve a well-managed | <var class="product">SirLib</var> provides primarily a <i>means</i> to achieve a well-managed SOUL environment: it doesn't dictate procedure promotion schemes, and it doesn't force any project to manage its changes the same way as other projects in the same shop. | ||
promotion schemes, and it doesn't force any project to manage its changes the same | A shop can standardize on a single mechanism, while allowing each project to | ||
way as other projects in the same shop. A shop can standardize on a single | promote changes via a path that is as simple and straightforward as possible. | ||
mechanism, while allowing each project to promote changes via a path that is as simple | |||
and straightforward as possible. | |||
In addition, <var class="product">SirLib</var> allows multiple users to make updates to the same procedure at the | In addition, <var class="product">SirLib</var> allows multiple users to make updates to the same | ||
same time, and it eliminates the risk of programmers overwriting each others' changes. | procedure at the same time, and it eliminates the risk of programmers | ||
Essentially the granularity of an update is reduced to a section of a program, and | overwriting each others' changes. | ||
possible update collisions are detected and handled unambiguously and early in the | Essentially the granularity of an update is reduced to a <i>section</i> of | ||
development process. | a program, and possible update collisions are detected and handled | ||
unambiguously and early in the development process. | |||
A managed update refers to any change to a Model 204 procedure which is managed by | A <b>managed update</b> refers to any change to a <var class="product">Model 204</var> procedure | ||
the change management system. In this document, that means any change generated | which is managed by the change management system. | ||
using <var class="product">SirPro</var> and applied using <var class="product">SirLib</var>. Managed updates may be small bug fixes, major | In this document, that means any change generated using <var class="product">SirPro</var> and | ||
application enhancements, or additions and deletions of whole procedures. Managed | applied using <var class="product">SirLib</var>. | ||
and unmanaged updates are made | Managed updates may be small bug fixes, major application enhancements, | ||
<var class="product">SirPro</var> | or additions and deletions of whole procedures. | ||
Managed and unmanaged updates are made with the TN3270 full-screen interface to the <var class="product">Model 204</var> <var class="product">SirPro</var> editors, or with the [[RKWeb]] Build > Edit option. | |||
In managed files, only managed updates should occur. If unmanaged updates are | A <b>managed file</b> is a file that is being managed by a change management | ||
allowed to occur to procedures in managed files, the entire change management | system, in this case, <var class="product">SirLib</var>. | ||
scheme can be compromised. This is why | In managed files, only managed updates should occur. | ||
If unmanaged updates are allowed to occur to procedures in managed files, | |||
the entire change management scheme can be compromised. | |||
Then anyone can read the file, but only the change management system can update | This is why it is recommended that you: | ||
procedures in it. | <ol> | ||
<li>Convert your managed files to <var>PUBLIC</var> with low (X'0221') privileges.</li> | |||
<li>Allocate the files to the <code>SIRLIB</code> subsystem.</li> | |||
</ol> | |||
Then anyone can read the file, but only the change management system can update procedures in it. | |||
==Getting started== | |||
If this is your first time using <var class="product">SirLib</var>, read [[SirLib "getting started" steps]] for <var class="product">SirLib</var> and <var class="product">SirPro</var> environment configuration tips, before you continue with the detailed portions of the <var class="product">SirLib</var> topics. | |||
==SirLib topics== | |||
The <var class="product">SirLib</var> documentation consists of the pages listed below. This list is also available as a "See also" link from each of the pages. | |||
For information about product changes and Model 204 feature | |||
support per <var class="product">SirLib</var> version, see | |||
the [[M204wiki main page#rktools_notes|release notes]]. | |||
For information about product error messages, see [[List of Model 204 messages#msir|MSIR. messages]]. | |||
{{Template: SirLib topic list}} | |||
==See also== | ==See also== | ||
<ul> | |||
<li>[[SoulEdit | SoulEdit - The SOUL Editor]] </li> | |||
<li>[[Terminal MODEL 6 support]] </li> | |||
</ul> | |||
[[Category: SirLib]] | |||
[[Category: RKTools]] |
Latest revision as of 18:48, 6 June 2017
SirLib is a change management system for User Language procedures residing in Model 204 procedure files. It is a companion product to SirPro, with SirPro providing change-creation functions, and SirLib providing the functions that apply and back out changes.
SirLib is part of the RKTools family of products from Rocket Software. Prior to version 7.5 of Model 204, the RKTools family was known as UL/SPF and required the installation of the Sirius Mods, with a version equal to or higher than the SirLib version. As of Model 204 V7.5, the functions and facilities necessary to run RKTools are built into the Model 204 Online load module.
As of version 7.7 of RKTools, SirLib and SirPro are accessible through one or both of the RKTools user interfaces (3270 or RKWeb). The SirLib wiki pages primarily describe the TN3270 interface, although its appearance and functionality is approximately the same as in the RKWeb interface, which uses Janus Web Legacy Support to map the SirLib-specific TN3270 screens to your web browser.
SirLib and configuration management
SirLib runs as an application subsystem inside a Model 204 Online, as does SirPro, a package of productivity tools. Together they provide a complete, integrated SOUL developers' environment. SirPro provides the programmers' environment, and SirLib provides the management environment for applying and backing out updates.
There is some overlap in programmer and management activity in managed environments, and there is no reason why programmers cannot be responsible for performing SirLib functions. This document covers briefly the SirPro functions related to managed changes. These functions are also covered in the SirPro pages.
Configuration management functions typically fall into four categories:
- Identifying, grouping, and documenting system changes.
- Providing an environment for controlling change and programmer activity.
- Backing out changes.
- Reporting on system configurations.
SirLib provides specific functions for each facet of change control. Furthermore, SirLib reduces the complexities of procedure distribution to such an extent that only a single, small procedure file needs to be distributed to production environment(s), no matter how many applications run in that environment.
In addition, SirLib is designed to provide specific mechanisms to automate and simplify programmers' tasks:
- SirLib prevents programmers overwriting each others' changes. In typical change management systems, this involves a procedure lock. SirLib performs this function without locking procedures.
- SirLib allows developers to continue working in the manner they're used to. SirLib does not dictate a development method.
- SirLib allows for quick fixes and fast backout of changes when introduced changes cause production problems.
- Reporting capabilities are integrated, and the data for reporting does not have to be manually entered — reporting data is generated to the internal dataset SIRLIBD when system activity occurs.
- Verification of change level (or status, release number, etc.) is available in all environments where SirLib runs, via both reports and optional internal procedure comments.
Most change management systems will not work in Model 204, because:
- They cannot be integrated with developer tools.
- They cannot handle the long procedure names permitted in Model 204.
- They don't understand the concept of Model 204 GROUPs.
SirLib was designed to deal with all these change management issues and to work under a wide range of Model 204 configurations. SirLib provides primarily a means to achieve a well-managed SOUL environment: it doesn't dictate procedure promotion schemes, and it doesn't force any project to manage its changes the same way as other projects in the same shop. A shop can standardize on a single mechanism, while allowing each project to promote changes via a path that is as simple and straightforward as possible.
In addition, SirLib allows multiple users to make updates to the same procedure at the same time, and it eliminates the risk of programmers overwriting each others' changes. Essentially the granularity of an update is reduced to a section of a program, and possible update collisions are detected and handled unambiguously and early in the development process.
A managed update refers to any change to a Model 204 procedure which is managed by the change management system. In this document, that means any change generated using SirPro and applied using SirLib. Managed updates may be small bug fixes, major application enhancements, or additions and deletions of whole procedures. Managed and unmanaged updates are made with the TN3270 full-screen interface to the Model 204 SirPro editors, or with the RKWeb Build > Edit option.
A managed file is a file that is being managed by a change management system, in this case, SirLib. In managed files, only managed updates should occur. If unmanaged updates are allowed to occur to procedures in managed files, the entire change management scheme can be compromised. This is why it is recommended that you:
- Convert your managed files to PUBLIC with low (X'0221') privileges.
- Allocate the files to the
SIRLIB
subsystem.
Then anyone can read the file, but only the change management system can update procedures in it.
Getting started
If this is your first time using SirLib, read SirLib "getting started" steps for SirLib and SirPro environment configuration tips, before you continue with the detailed portions of the SirLib topics.
SirLib topics
The SirLib documentation consists of the pages listed below. This list is also available as a "See also" link from each of the pages.
For information about product changes and Model 204 feature support per SirLib version, see the release notes.
For information about product error messages, see MSIR. messages.
- SirLib
- SirLib implementation
- SirLib programmer's reference
- SirLib update example
- SirLib change control
- SirLib security
- SirLib reports
- SirLib configuration options
- SirLib problem resolution
- SIRLIBD record structure
- SirLib "getting started" steps
- SirLib date processing