Interesting parts of the source tree
The source tree in the CHCI repository contains source from a number of the Center's projects since 1998. Below are descriptions of some of the more important packages:
edu/vt/cs/collab/cork
This contains code for CORK, the "Content Object Replication Kit" that the BRIDGE-based tools for the ROLE, Awareness, and NAVCIITI projects (as well as the older LiNC and MOOsburg software) use. Subpackages include:
-
impl contains implementations of the basic client and server pieces for different components.
-
models contains implementations of standard sharable datamodels for things like shared documents, shared lists, chat sessions, etc...
-
search contains classes that support searching the database for shared objects that match specific criteria.
-
security contains classes for protecting access to shared objects.
-
storage contains classes that handle writing shared objects to persistant storage.
-
util contains various utility classes
edu/vt/cs/collab/bridge
BRIDGE provides generic infrastructure for mapping interactive and web interfaces to CORK objects.
-
ComponentView.java is an interface for interactive user interface components that can be mapped to CORK objects.
-
ComponentViewSource.java is an interface for registries or other mechanisms that map CORK ObjectIDs to ComponentView instances.
-
ComponentContext.java is an interface for client-side context information such as a CORK ReplicatedObjectClient instance, configuration properties, and a ComponentViewSource.
-
WebView.java is an interface for web interfaces for a particular kind of replicated objects. WebViewSource.java provides an interface for registries that map CORK ObjectIDs to WebView instances.
-
EmbeddedObjectDescriptor, Path, and Set provide interfaces for hierarchical structures of replicated objects.
-
swing contains classes for presenting and manipulating ComponentViews in a UI.
-
apps contains implementations of web and interactive UIs for various tools: synchronous text editor, calendar, data tools, charting tools, etc...
edu/vt/chci/cove
This contains code designed for Collaborative Online Virtual Environements for the ROLE, Awareness, NAVCIITI, and other projects (likely including "public" MOOsburg v. 4)
-
render contains the scalable rendering classes developed to support efficient map handling (in MB > 3)
-
nav contains subpackages for different kinds of navigation widgets, e.g., maps. The nav.map package includes implementations of the interfaces in cove.render for rendering shapefile data.
-
place contains classes for representing editable spatial content, based on the rendering classes in cove.render (for MB > 3, if it ever gets implemented)
edu/vt/cs/linc
This contains code developed for the Learning in Networked Communities (LiNC) "Virtual School" project. This is, in general, no longer being actively developed, though parts of it are used in MOOsburg. Subpackages include:
-
awareness contains a radar view implementation
-
mail contains a simple JavaMail-based email client used in the LiNC virtual school notebook contains implementations for the "shell" of the notebook and for different notebook content types.
-
notice contains the Notice Board implementation
-
planner contains the project planner/schedule tool, currently (as of spring 2000 ;-) under development
-
profile contains classes for communicating with an LDAP server to get user information
-
user contains higher-level abstractions for user and group data
-
vs contains the implementation of the client shell that glues all of the other components together.
-
web contains the Servlet implementation that makes notebook content available over the web
edu/vt/cs/sburg
This contains code developed for MOOsburg versions 3 and up. Subpackages include:
-
client contains client-side executables
-
server contains implementations of server-side components
|