SirLib: Difference between revisions
m (→See also) |
m (replace page with stage version) |
||
Line 3: | Line 3: | ||
<var class="product">SirLib</var> is part of the [[ULSPF | UL/SPF]] family of products from [[Sirius Software]]. As with all UL/SPF products, <var class="product">SirLib</var> requires the installation of the [[Sirius Mods]], with a version equal to or higher than the <var class="product">SirLib</var> version. | <var class="product">SirLib</var> is part of the [[ULSPF | UL/SPF]] family of products from [[Sirius Software]]. As with all UL/SPF products, <var class="product">SirLib</var> requires the installation of the [[Sirius Mods]], with a version equal to or higher than the <var class="product">SirLib</var> version. | ||
== | ==SirLib and configuration management== | ||
<var class="product">SirLib</var> runs as an APSY 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 User Language 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. | <var class="product">SirLib</var> runs as an APSY 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 User Language 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 | 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 &SIRPROR.. | |||
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 | ||
programmers' tasks: | automate and simplify 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> | ||
Line 54: | Line 63: | ||
</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 | to work under a wide range of <var class="product">Model 204</var> configurations. | ||
achieve a well-managed User Language environment: it doesn't dictate procedure | <var class="product">SirLib</var> provides primarily a <i>means</i> to achieve a well-managed User | ||
promotion schemes, and it doesn't force any project to manage its changes the same | Language environment: it doesn't dictate procedure promotion schemes, | ||
way as other projects in the same shop. A shop can standardize on a single | and it doesn't force any project to manage its changes the same way as | ||
mechanism, while allowing each project to promote changes via a path that is as simple | other projects in the same shop. | ||
and straightforward as possible. | 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, <var class="product">SirLib</var> 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 <i>section</i> of | |||
a program, and possible update collisions are detected and handled | |||
unambiguously and early in the development process. | |||
A <b>managed update</b> refers to any change to a <var class="product">Model 204</var> procedure | |||
which is managed by the change management system. | |||
In this document, that means any change generated using <var class="product">SirPro</var> and | |||
applied using <var class="product">SirLib</var>. | |||
Managed updates may be small bug fixes, major application enhancements, | |||
or additions and deletions of whole procedures. | |||
Managed and unmanaged updates are made via the full screen interface to the | |||
<var class="product">Model 204</var> editor, <var class="product">SirPro</var>. | |||
A <b>managed file</b> is one that is being managed by a change management | |||
system, in this case, <var class="product">SirLib</var>. | |||
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: | |||
<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. | |||
</p> | |||
==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 [[:Category:Sirius Mods messages|Sirius Mods messages]]. | |||
{{Template: SirLib topic list}} | |||
[[Category: SirLib]] | |||
[[Category:Sirius Software products]] | [[Category:Sirius Software products]] |
Revision as of 21:39, 19 October 2015
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 the apply and back out changes.
SirLib is part of the UL/SPF family of products from Sirius Software. As with all UL/SPF products, SirLib requires the installation of the Sirius Mods, with a version equal to or higher than the SirLib version.
SirLib and configuration management
SirLib runs as an APSY subsystem inside a Model 204 online, as does SirPro, a package of productivity tools. Together they provide a complete, integrated User Language 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 &SIRPROR..
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 User Language 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 via the full screen interface to the Model 204 editor, SirPro. A managed file is one 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 Sirius Mods messages.