Release Manager Software System
The following is intended to be a somewhat-complete overview of the
various elements of the Release Management System and their current
development and/or maintenance status. This probably isn't complete,
and it will almost certainly fall behind in being updated. But hopefully
it's better than nothing.
The goal of the Release Management System as a project is to
provide libraries and utilities to supercede the existing tools. The
replacement tools are to be re-designed from the start, borrowing some
from the existing code but being primarily re-written. The intent is to
build on the experiences garnered from the original tools, particularly
in terms of identifying the areas that require the most processing and
I/O time, targeting these for optimization.
The system as a whole is divided into three sub-projects. These are
- Server Components
These are the elements that are deployed to web-hosting machines,
those machines that have one or more Netscape (or OpenMarket)
instances. This package includes the deployment software itself
(a set of three scripts) and an upload tool that utilizes the
HTTP already provided by the web servers to receive the content
via CGI-enabled file upload.
- Client Components
This sub-project will provide the tools that content developers
use to manage, maintain and deploy content to the web servers.
This will include a front-end tool for invoking various CVS
commands, tool(s) to perform the basic release-related steps
(populate, stage, etc.) and a wrapper utility for use by CVS to
perform the critical translations of paths and URLs from
development to deployment preparations.
At present, the main three tools are done, implemented as one
tool with symbolic links. Additionally, the CVS front-end tool
is done. However, the CVS wrapper that does path translation on
HTML and CGI files has not been started.
- Library of Utility Components
It became clear early on that there would be a considerable amount
of shared functionality between not only the scripts within a
given sub-project, but between the two sub-projects themselves.
The elements provided by this Perl module are designed to be
flexible enough to be re-used while still being functional enough
to solve the specific problem.
The following installation documents are available in HTML form:
Additional Project Documents
In addition to the component overviews, the following documents are
available in HTML form:
There are also four MicroSoft Word documents and one Visio diagram
on the "DMOIMS" share under the Windows environment. These are in
my folder on the drive, which is generally mapped to "N:"
on most COE environments: \\I49AFILES\DMOIMS, with the
full path being \\I49AFILES\DMOIMS\Randy R:
- Building Perl.doc
A detailed descriptive of the process needed to build Perl and
the associated modules.
An overview of the format of packages sent to the release
manager. Covers the contents of the tar-archive and the
special file "weblist".
Documentation of the make-functionality built into the
release manager tools.
Step-by-step checklist for setting up a new release manager
instance on a host. Includes the needed directory structure
(paths, ownership and permissions) as well as the required
A multi-page diagram in Visio that describes the functionality
of the release manager daemon process (from the server-side
tools) in terms of a flow chart.