PLAM Libraries and Delta Storage

Delta storage is a means by which different versions of the same element can be stored by saving only the differing records when a later version is added. Delta storage leads to a great reduction in the necessary storage space, compared to full storage.

DELTA User Option

Specifying the Delta User Option with PLAM libraries fulfills three different, independent functions. Functions a) and b) are concerned purely with the User Option in the Selection mask, and are not linked to any particular selection parameters.

a) If the Delta User Option is specified, all existing versions of an element will be displayed in the file list. Normally, i.e. if the Delta User Option is not specified, only the highest version of an element will be displayed.

b) If a version of a delta element selected and displayed in a file list is transferred to another PLAM library with an ONXADD Variable Action, it will be done so as a delta element. Normally, i.e. if the Delta User Option is not specified, a delta element will be transferred as a normal element, if the target element either does not exist or if it does not exist as a delta element.

c) If the Delta User Option is specified, all existing delta versions of elements in a PLAM library will be displayed in the file list. The User Option column will contain the necessary base version required for the delta construction of the element. The first version of an element has itself as the base version. An asterisk will appear in the User Option column of the first version of an element.

The Selection parameter Y will result in only delta elements of a PLAM library being selected.

The Selection parameter N will result in only non-delta elements of a PLAM library being selected.

Adding Elements to a PLAM Library: ADD Command/ONXADD Variable Action

Regarding delta storage, the following cases should be noted when adding a file to a PLAM library with ONXADD, or when transferring an element from another library:

1) The CA (Copy All) parameter is specified in the ONXADD Variable Action. In this case, a delta element will be automatically transferred structurally intact with all versions to the target library. The following points 2) and 3) refer to the case when the CA option is not specified.

2) An element exists in the target library with the same name and type. In this case, the storage format of the existing element is retained. This means:

a) The element exists as a full (non-delta) element. The existing element will be overwritten by the identically-named new element, as long as multiple versions do not exist.

b) The element exists as a delta element. The element being added will be done so as to create a new version by being appended to the end of the delta tree with the next highest version number. The old element will thus not be overwritten, and will still be available.

3) No element exists in the target library with the same name and type. In this case the following possibilities exist:

a) The element to be transferred is stored in the source library in non-delta format. The element will then also be transferred to the target library in non-delta form.

b) The element to be transferred is stored in the source library in delta format.

- The element will be transferred to the target library in non-delta form if the Delta User Option was not specified during selection.

- The element will be transferred to the target library in delta form if the Delta User Option was specified during selection.

A full description of the DELTA User Option can be found on page 4-.

Converting PLAM Libraries to Delta Format

ONXCONV DELTA=vers

The PLAM library elements marked with the Action Code X will be created as a base version element in delta format (Delta Install Version).

vers 1 to 10 digit numerical version description of the delta element.

Any modification of the element from here on will result in this number being incremented by 1. Care must be taken to ensure a sufficuent range for later use. ONXCONV DELTA=0001. An element thus created can be modified 9998 times.

Only those PLAM elements containing no B-format records can be converted to delta format. Program phases (Type=C), for example, cannot be converted, nor can any other PAM files stored as library elements. The prerequisite for correct delta storage operation is LMS Version 1.4 or above.

Set Guard Protection for Library Elements

ONXGUARD  [%name[,JRS=jrfile]] [R=guard|*NONE|*SAME] [,W=guard|*NONE|*SAME] [,E=guard|*NONE|*SAME]

The PLAM library elements marked with X will be provided with Guard protection. If no parameters are specified, they will be requested via a mask.

%name The parameter values for the ONXGUARD Variable Action will be taken from the specified parameter set. Saving a parameter set can be achieved by entering the SPGUARD %name CFS command.

JRS=jrfile Name of the JRSAVE file in which the parameter set has been saved.

Standard: CFS.JRSAVE.xxxx. For further information, see page 27-.

R=guard Read access to the data object is protected by a Guard with the specified name. Like a file, a Guard can possess a PVS-id, a userid and a name. The name is restricted to 8 characters.

R=*NONE Read access is monitored neither by a Guard nor by Basic Access Control (BACL).

R=*SAME The read access attributes of the data object are not changed.

W=guard Write access to the data object is protected by a Guard with the specified name.

W=*NONE Write access is monitored neither by a Guard nor by Basic Access Control (BACL).

W=*SAME The write access attributes of the data object are not changed.

E=guard Execution access to the data object is protected by a Guard with the specified name.

E=*NONE Execution access is monitored neither by a Guard nor by Basic Access Control (BACL).

E=*SAME The execution access attributes of the data object are not changed.

Note:

When protecting PLAM elements with the ONXGUARD Variable Action, the existence of the specified Guards are not checked. If access of a particular type, e.g. R(Read) is protected with a non-existent Guard, then that access (e.g. Read) will be prohibited to all users until a Guard with the secified name is created.

Amend Access Rights (Basic Access Control List) for PLAM Elements

Introductory remarks:

The User (Owner) of a PLAM library element is the userid under which it is cataloged.

BACL's are available from BS2000 V10, and PLAM libraries need LMS Version 2.0 or above.

Regarding the standard acces rights, see the SP Action Code later in the chapter.

AM Access Modify.

This Action Code presupposes that the BACL[F] User Option was specified when selecting the files.

The BACL attribute displayed in the file list is made overwritable, and can be modified directly. To prevent access by a particular user domain, enter '-' in the appropriate column. To allow access, enter the domain description (UGO), or the type of access required (RWX).

AA[x] Access All.

x U | G | O:

Unrestricted access (i.e. Read/Write/Exec) is permitted for the specified domains. Any combination of U, G, or O may be specified for x. For example, the Action Code AAUGO will permit unlimited access to the element by all users.

x W | R | X:

All domains (i.e. User/Group/Others) will be granted the specified type of access. Any combination of W, R or X may be specified for x.

Specifying the Action Code AA without any additional parameters will result in all domains having unrestricted access to the element.

ANx Access No.

x U | G | O:

All access (i.e. Read/Write/Exec) to the element is prevented for the specified domain. The User may change this setting at any time. Any combination of U, G or O may be specified for x.

x W | R | X:

The specified access is blocked for all domains (i.e. User/Group/Others). Any combination of W, R or X can be specified for x.

AN No Basic Access Control List. BACL checks are not performed when accessing the element. A Standard Basic Access Control List can then be reactivated by entering the Action Code AS.

AWx | ARx | AXx Permit Write/Read/Execute access for a specified group of users.

x Domains for which the specified access should be permitted.

U User. The owner (userid under which the library is cataloged) has access to the element.

G Group. A specified group of userids has access to the element.

O Others. All users other than the owner and those belonging to the Group have access to the element.

N None. Neither User, nor Group, nor Others have access to the element. The User can modify this setting at any time.

Any combination of U, G or O can be specified for x. For example, the Action Code AXUGO will grant Execute access to the element for User, Group and Others.

AWNx | ARNx | AXNx Prohibit Write/Read/Execute access for a specified group of users.

x Domains over which the specified access should be prohibited. For a description of the syntax, see above. Any combination of U, G or O may be given for x. For example, AWNGO will prevent the element from being modified by users of the Group and Others.

AS Access Rights = Standard. The Standard BACL attributes are set for an element that is not yet protected by a BACL.

Notes:

If the Basic Access Control List or a password (see below) is created or amended with an Action Code A.. for a PLAM library element, CFS will perform the following additional checks on the library at file level: Is the library cataloged as SHARE=YES? If so: Does a Basic Access Control List (BACL) or a Full Access Control List (FACL) exist for the library. If not, the BACL attributes OWNER/GROUP/OTHERS=READ/WRITE/ EXEC are set for the library. This will ensure that the library may not be copied with a Copy command.

Define Password for Accessing PLAM Library Element

Note: The ability to set READ/WRITE/EXEC passwords for PLAM library elements is only available from BS2000 V10.0, and from LMS V2.0.

ARP | AWP | AXP A mask will be displayed in which the user may enter up to four bytes for a Read, Write or Exec password for the respective element. The format for the password is [C]'...' or X'...'.

Since library element passwords are stored in encrypted form, they cannot be read later, neither by the system administrator, nor by the owner. If the password has been forgotten, the only possibility is for the owner of the library to delete it, and to specify another.

ARPN | AWPN | AXPN The owner, i.e those logged on under the userid under which the library is cataloged, can remove a Read, Write or Exec password for a library element. The old password need not be known.

Action Code C: Copy PLAM Library Element

C Copy. The name of the data object marked with C will be displayed at half-brightness, and can be overwritten by the user with the target name. The original data object is left unaltered. After the Copy operation, the original file name entry is restored.

A PLAM Delta element is normally copied as a full element. An exception is if the target element is stored in Delta format. A non-delta PLAM element will also be copied as such, except where the target element is a Delta element.

CA Copy All. For a PLAM element stored in Delta format, this Action Code will result in all versions being copied to an element with the specified new name.

CS Copy ,SAME. The PLAM library element will be copied with the same protection attributes. These include, for example, Read, Write and Exec passwords, as well as the Basic Access Control Lists (BACL). By default, elements are copied without transferring the protection attributes.

Action Code E: Delete PLAM Library Element

E Delete Library Element.

EN The library element is deleted, and the ERT option (Erase and retain Tempfile) is explicitly switched off for this operation.

The following point should be noted regarding the normally active ERT mode, when erasing elements.

The ERT mode (Erase and Retain Tempfiles) causes those elements deleted with the Action Code E first to be tranferred as identically-named elements to a temporary library. At the end of the task, this temporary library will be deleted by BS2000. From the users point of view, those elements erased with Action Code E still remain accessible until the end of the task. They can be accessed by entering  LMS #lib in the FILENAME SELECT field.

The name of the temporary file is constructed by prefixing the name of the library from which the element was deleted with the tempoary file character, #.

EA For Delta elements in a PLAM library, the Action Code E will result in the deletion of only the displayed version. All remaining elements are not deleted. To delete all versions of an element, use this Action Code EA (Erase All).

Action Code EDT: Process PLAM Library Element in EDT

EDT[n] | EDF[n] The library element can be processed in EDT Format mode.

Return to the CFS mask by pressing K1 or by using the H [ALT] EDT command.

UPD[n] Rewrite the library element with the contents of the virtual EDT level n.

This Action Code is already entered in the Action Field after exiting EDT. If the data object is not to be updated, the Action Code should be overwritten with blanks.

U---U will be displayed at the right-most end of the lines as an acknowledgement of the individual updates.

From LMS Version 1.4 Delta elements can also be processed with the EDT/UPD Action Codes. With UPD, a new version is created, and the version number is incremented by 1.

Display / Amend Administration Privileges for a PLAM Library

Preliminary notes:

LMS Version > = 2.0 and BS2000 >= 10.0 are prerequisites for the administration privileges described below.

The LA [xx] Action Code can be specified in the file list for PLAM libraries (FCBTYP=PL), or for any PLAM library element. In each case, the result is the same: the administration priveleges for the current library are displayed or amended. If the user is in a library, the element alongside which the user enters the Action Code is irrelevant.

LA The administration privileges, standard element protection attributes, and the standard element type protection attributes are displayed. The information will be displayed as follows:

%  SHOW LIBRARY ADMINISTRATION + STANDARD ELEMENT-PROTECTION
%
%  LIBRARY NAME           : CFSLIB
%
%  LAST ACCESS DATE       : YES             (Modify with:  LAKL/LANKL)
%
%  LIBRARY ADMINISTRATION : OWNER  = YES    GROUP  = NO     OTHERS  = NO
%                           PASSW  = NO
%
%  STD ELEMENT-PROTECTION : OWNER  = R W *  GROUP  = - - *  OTHERS  = - - *
%                           RDPASS = NO     WRPASS = NO     EXPASS  = NO
%
%  STD PROTECTION TYPE C/ : OWNER  = R W X  GROUP  = - - X  OTHERS  = - - X
%                           RDPASS = NO     WRPASS = NO     EXPASS  = NO
%                           ADMIN  = OWNER           OTHERS
%                           WRITE-CONTROL = YES
%
%  PLEASE ACKNOWLEDGE

Note:

Standard element and element type protection attributes may be defined with the SP Action Code. For further information, see page 6-.

LA x Allow administration priveleges for the library for the specified userid domains.

Administration priveleges for a library allow the user to create, delete, copy and rename elements.

The administration privileges may be granted to the owner of the library (USER: Userid under which the library was created, the user group to which the owner belongs (GROUP), or all other users.

x Domains for which the administration of the library should be allowed.

U User. The owner (Userid under which the library is cataloged).

G Group. A specified group of users (User Group).

O Others. All other users.

Any combination of the letters U, G or O are permitted for x. For example, the Action Code LAUG will grant administration privileges to the userid under which the library was cataloged, and to the Group of users.

LAN x Prohibit adminstration of the library by specified userids.

Without administration privileges for a library, elements may not be created, copied, deleted or renamed by the user.

x Domains for which administration should be prohibited. For a description of the domains, see above. Any combination of the letters U, G, or O may be specified for x.

LAN All administration privileges for the library are reset. Any user with DVS access to the library may create, delete, copy or rename elements.

LAP A mask is displayed in which the user can enter a one to four byte administration password for the library. Administration activities (see above) are only then possible if this password has previously been specified with a BS2000 password command. Setting an administration password is independent of the administration domain definitions using the LA x Action Code (see above).

The administration password format is [C]'...' or X'...'.

Since passwords for PLAM libraries are stored in encrypted form, they may not be displayed later, neither by the system administrator, nor by the owner of the library. If the password has been forgotten, the only solution is for the owner to delete the old password, and to define a new one.

LANP The owner of the library, i.e. the user under which the library is cataloged, can delete an administration password. The password to be deleted does not have to be known.

LAKL | LANKL Keep Last Access. Updating the Last Access Date when accessing library elements is set/reset. The KL variation of the LA Action Code is only possible with LMS from Version 3.0. The system administrator can set an option in the CFSMAIN module that will cause libraries created by CFS to utilise the Last Access Date function.

LAWC | LANWC Set/reset the Write Control characteristic for all elements of the same type as the element marked with the LAWC Action Code.

The WC variation of the LA Action Code is only possible with LMS from Version 3.0.

If Write Control has been set for type t elements, the following access restrictions apply to elements of that type:

- If an element t/element/version has been loaned, i.e. it is in a HOLD state, it is not possible to amend or overwrite this element.

- Whatever the HOLD status, an element t/element/ version may not be renamed.

- The element t/element/version must not be on loan (Hold Status) before a higher version of that element can be created from the current version.

Note:

If the administration privileges for a PLAM library are amended with a LA Action Code, the following additional checks are performed by CFS at file level: Is the file cataloged as SHARE=YES ?. If so: Is a Basic Access Control List or a Full Access Control List (FACL) defined? If not, the BACL attributes OWNER/GROUP/OTHERS are set to READ/WRITE/EXEC. This ensures that the file may no longer be copied.

Set Guard Protection for Library Elements

SG Set Guards. Protect PLAM library elements with Guards. If the name of the Guard profile (Read/Write/Exec Guard) has not been made known to CFS - either through an earlier GUARD command or Variable Action, or through an earlier SG/SGM Action Code - the names will be requested via a special mask the first time an SG Action Code is executed. For a description of this special mask, see the ONXGUARD Variable Action, page 5-.

SGM as for the SG Action Code, except that the Guard mask will always be displayed.

SGN Set Guards None. Guard protection is reset for the specified data object. For files, the same effect can be achieved by issuing the BS2000 command /MODIFY-FILE-ATTR file,PROTECTION(GUARD=*NONE).

Note:

If the administration privileges are amended with an LA.. Action Code for a PLAM library element, CFS will perform the following additional checks on the library at file level: Is the library cataloged as SHARE=YES? If so: Does a Basic Access Control List (BACL) or a Full Access Control List (FACL) exist for the library. If not, the BACL attributes OWNER/GROUP/OTHERS=READ/WRITE/ EXEC are set for the library. This will ensure that the library may not be copied with a Copy command.

Set Standard Protection Attributes for new PLAM Library Elements

Note:

LMS Version > = 2.0 and BS2000 >= 10.0 are prerequisites for the administration privileges described below.

SPSTD Set Protection Standard. The protection attributes (BACL's) of the library element marked with the SPSTD Action Code will be used as the standard protection attributes for all new elements in that PLAM library. If Read, Write or Exec passwords exist for the marked element, these will not be transferred to the standard protection attributes.

These standard protection attributes do not apply to new type t/ elements for which a protection attribute has been defined specificly (see below, Action Code SPt/). The standard protection attributes also do not apply to elements copied from another library with the CS (Copy Same) Action Code, not to those copied with the Variable Action ONXADD..,CPR (Copy Protection).

The standard protection attributes currently valid can be displayed with the LA Action Code (Library Attributes, see page 6-).

SP t/ Set Protection for Type t. The protection attributes (BACL's) for the library element marked with the SP Action Code will be used as the standard protection attributes for all new type t elements in the library. If Read, Write or Exec passwords are defined for the specified library, then these will not be transferred to the element.

SPN t/ The standard protection attributes for new type t elements in this library are reset. The type-independent standard protection attributes remain as previously defined.

SPN The standard protection attributes for new elements in the library are reset. The type-dependent standard protection attributes remain as previously defined.

Note:

If the Basic Access Control List or a password (see below) is created or amended with an Action Code A.. for a PLAM library element, CFS will perform the following additional checks on the library at file level: Is the library cataloged as SHARE=YES? If so: Does a Basic Access Control List (BACL) or a Full Access Control List (FACL) exist for the library. If not, the BACL attributes OWNER/GROUP/OTHERS = READ/WRITE/EXEC are set for the library. This will ensure that the library may not be copied with a Copy command.