PowWowTM - A World Wide Change Management System

Karen MacArthur, Sankar Virdhagriswaran, Gordon Dakin, Mike Webb
Crystaliz, Inc.
9 Pond Lane, Concord, MA 01742
http://www.crystaliz.com/
kmm@hunchuen.crystaliz.com

Abstract

This document outlines problems encountered in representing and managing data distributed across the web, and presents a system designed to address these problems.

PowWow is a web-based system for managing a distributed set of web objects. Using a set of metadata objects over a body of data, PowWow provides a structure for tracking, changing, and moving this data. Further, PowWow uses the metadata framework to provide tools to manage this web information through the development process. Among the processes supported by the metadata framework are version control, workspace management, distributed build, configuration management, and process control.

Developers using PowWow can create, access, and change web objects (defined as any web-accessible data) between local development environments and remote sites, using the web and using their existing web development tools and environments. By implementing these change management systems using metadata over a shared data space distributed across the web, PowWow takes advantage of ongoing web developments in the naming and sharing of data, and of the body of useful tools for developing web objects.


Data Modeling and the Development Process in a Distributed Information Space

This document is primarily focused on the use of the web for managing and changing web objects. Therefore, discussion will be aimed at developers who work in a distributed information space. These developers need to author objects which are shared across many locations, coordinate efforts on jointly-held data, and collaborate on group projects. In order for developers to work across shared data, systems must exist for representing and managing this distributed data.

Some part of the representation and managing of web objects is accomplished within the framework of the web itself, such as naming (URLs) and distributed accessibility. The framework of the web provides a naming scheme for referring to a particular web object on a particular server, and thus provides distributed access to this data anywhere on the network of the web.

However, there exist web objects which are logically related or grouped together, but which are distributed across the web or otherwise arranged such that URLs do not provide a sufficient model for representing necessary information about the objects. A document edited on a local machine could be a version of one on a remote web server. Data may need to be reconfigured, filtered, or generated in order to create a particular web object. In order to track changes and manage processes across this distributed data, some kind of metadata framework is necessary in order to represent salient attributes and relationships not represented by existing web frameworks.

World Wide Change Management is a broad term for representing information about web objects, and using the information to track, configure and change those objects. A web site development project is a good representative example of the need for change management. Members of a development team create documents, programs, and graphics, working on a variety of platforms and using a number of tools including word processors, layout tools, and code debuggers. The web site itself is a heterogeneous collection of these items, distributed among many locations and platforms. Over time documents grow through many versions, and objects are rearranged in new configurations. The web site often includes several versions in different stages of release. At any time, a developer may need to look at a particular version of an item, use a tool on their local machine to modify it, and put it into the appropriate place in the shared set of items. Developers need to track changes and version over time, and they need to be able to map and transfer items between their local tools and the shared base. Furthermore, they likely need management and handling over existing sites, configurations, and development environments.

In this case, useful change management should work over distributed data connected only by the web. Useful types of change management include:

Change management over the web requires a system for modeling data and for accessing this metadata across the web wherever the data itself exists.


PowWow's Approach

PowWow was developed to address problems arising in ongoing development of web sites which integrate data from many different sources, developers, and tools. To that end, Crystaliz has developed an object framework for representing metainformation about web objects relevant to change management.

One of the driving concepts which shaped this approach is that of the workspace. A workspace is an abstract view, or configuration, of a set of web objects. A developer creates a private workspace on their local machine, into which web objects can be checked out and within which development can take place. By allowing the developer to isolate and configure a private workspace, interactions with the main information repository (such as file mapping, access control, and version management) can be more easily defined and handled.

A MetaObject Base (MOB) forms the metadata framework. The organizing concept behind the MOB is that of projects, tasks, and files in a development process. The MOB holds information on the location of web objects within its purview, along with other metadata related to ownership, versioning, mapping at other sites, logical names, project hierarchies, relation to other documents, compilation options, and other relevant information. Currently, the MOB resides on a server machine alongside a central web server, and contains metadata on web objects being served by the web server.

Web clients can directly access objects through the web server in the standard way. Web clients which run alongside a PowWow client MOB module can also take advantage of web object metadata to perform a variety of functions.

For example, a web designer desiring to integrate new graphics for a web site would use the PowWow client on their local machine to check out a set of documents from the main web server. The MOB would provide file mapping information to allow the documents to be placed in the appropriate place on the designer's machine, and would handle access control and version management as needed. As the documents are modified with a graphics tool on the local machine, the designer could configure their browser to map the local files in place of the original files, and browse the main web site to see how the changes will appear in their original context. When changes are complete, the designer uses PowWow to check in the documents. PowWow uses the MOB to map between objects on the local machine and objects in the main repository, and thus to check in the new documents into the appropriate places while maintaining version and process management information.

Among the requirements which shaped this approach, and the capabilities it facilitates, are:

In-Place Editing
In-place editing refers to the ability to check-out/edit/check-in a web object (HTML file, source code, etc.) from/to a control site from a client machine without changing the URL of the web objects(s) to be edited, and the ability to release or deliver the object without needing to reconfigure URLs. Our data model must allow access to multiple versions of a web object, in many locations on many different machines, and provide mapping between them so that there is no need to physically change the URL of an object in order to change the configuration of a web site.
Private Workspace
A corallary to in-place editing is the ability of the user to set up a private information space and access web objects they want to work on not just by file names, but using URLs, named tags on files (e.g., release copy), and versions (e.g., latest). Their private workspace should allow them to use tools for editing and building these web objects, and to then release the resulting web objects back into the public space including any changes in metadata.
Scale and Variety of Content
A web site is made up of many thousands of objects of many content types. The contents can range from HTML pages to Java programs to sound files all hyper-linked through the URL. Our model must deal with the variety of data and the multiplicity of tools and version managers which handle them.
Task Management
Programmers and documentation specialists typically work in different sets of files based on the task they are working on. The task concept allows users and managers to group files into meaningful conceptual entities and set constraints on the way the files will be used by the build and/or release process. For example, users can create tasks for development, testing, integration, etc. and can specify different rules on how files that are under these tasks need to be processed during the build and/or release process.
Heterogeneous Platforms
Web sites are authored on multiple platforms using various tools. (For instance, graphics prepared on Macintosh platforms, software development on UNIX systems, documents through Windows software.) Our data model must handle data across platforms. In order to handle all data accessible by the web, our data model should use the framework of the web to locate and transfer files.
Sites Authored by Multiple Teams
Often, web sites are integration points for many groups within an organization, including sections authored by different teams. However, the web site must containt a consistent, navigable web that is made up of material supplied by these teams. The problem is similar to the integration and testing step performed in software development. Teams may want to install or stage delivery of information in web sites by swapping different configurations for different uses at different times. Our data model must support such a swapping of configurations without needing to continually change the underlying data and documents.
Distributed Building and Delivering
Building target web sites from information contained in a client host and in a control server host should be supported. The model needs to support the specification of a build (e.g. configuring which files are included and how the build is distributed across machines), and the ability to regenerate a built site. In order to do this, the metadata must include sufficient information to allow reconstruction of a build at a later time.

Discussion and Future Work

PowWow's approach to data modelling is organized around the concept of projects and files within a collaborative development process. It would be worthwhile to explore alternative frameworks for metadata and work towards an extensible metadata framework for web objects in general.

An important generalizable aspect of PowWow's approach is the separation between data and metadata. The Meta Object Base tracks and manages metainformation over a set of web objects, while the web objects themselves continue to exist and remain accessible through alternative means, such as a web server. The MOB can support generation of new web objects appropriately when necessary, but MOB intervention is not required for access to the unenhanced web objects. From a development perspective, this allows the user to create and manage web objects using any number of tools appropriate to the data, without working solely through the Meta Object Base. From a web perspective, this allows value-added web systems using metadata (such as PowWow's change management processes) to evolve along with the web. There could theoretically be any number of alternative metadata bases of this type over a set of data, while the data itself remains accessible.

Further work will involve pushing for scalability and exploring the tradeoff between client and server metadata. Crystaliz welcomes opportunity for feedback and discussion on extensible object frameworks for modelling and managing information across the web.


Karen MacArthur, Crystaliz, Inc., March 1997