E. Crane Computing
E. Crane Computing                                                                                                                           Log In to Support Forum

 PBLExplorer Overview


Modify Source Control Attributes of PowerBuilder Objects

PBLExplorer gives you an easy and safe way to modify the source control attributes of PowerBuilder objects in their PBL's. These attributes include whether or not the object is registered, and check out information for the object. The check out information includes the name of the user who has the object checked out and the library (PBL) it is checked out from (to).

How Problems Occur

When PowerBuilder is used with a source control (SC) system, information must be maintained about what objects are checked out or checked in and to whom. This information is kept in three different places and some of the data is redundant.

1. The SC system has information about which objects have been entered (or registered) in the system and whether or not an object is checked out. If the objects is checked out the SC system identifies the user who has the object checked out.

2. PowerBuilder uses a set of "Registered" PBL's to track which objects have been registered and when and to whom they are checked out. When an object is checked out the Registered PBL's also store the name of the PBL that the object is checked out to.

3. Finally the developer uses a set of "Working" PBL's where he carries out his development work. When the developer checks out an object it is copied (imported) into the desired PBL from a Registered PBL.At that point information is saved in the PBL about the source of the checked out object, that is the path of the Registered PBL.

These various sources of information get "out of sync" periodically, due to a number of reasons. For example in the course of a developer checking out an object to a Working PBL, the check out fails because the object couldn't be imported into the Working PBL. The Registered PBL and SC system may show the object as being checked out, while the Working PBL may not show it checked out. When the information gets of sync, the SC system becomes unusable. Restoring the various source control attributes of the objects in the PBL's is tedious and error prone. Often it requires creating new PBL's and re-registering objects.


Complications with PowerBuilder's Source Control Architecture

The mechanism for importing objects from the SC system into PB involves reading the object source into the PBL and then regenerating it. If the regeneration is not error-free the import may fail, but there is no way to disable this dependency between reading the source and regenerating it.

All object modifications are made in a PBL from the PB development environment. That is, the developer does NOT directly work on the text files that are saved in the SC system. This requirement greatly complicates the SC environment since the check-in/out process must include the machinery to import and export objects to and from PBL's.

A further complication is that status information about what is checked in r out is maintained in the SC system and, redundantly, in the Registered PBL's and Working PB'Ls.