|
Thot is a program comprising at minimum a single server and a single
client, interacting over any network connection. Thot consists of
many interdependent features, which may be characterized as follows:
A Thot server provides a repository for assets. An asset is a logical
unit of developer work that has descriptive metadata and is versioned.
An asset may comprise a group of assets and therefore provide grouping
and hierarchical structure. Also, assets can be shared and reused,
so the same assets may be collected into libraries and used in specific
projects. As an example, consider a game character asset. The character
can be composed of various assets including source code, texture,
geometry model, animation, etc. The textures come from a library
asset that contains all the textures used by the company.
A Thot client provides the means for creating, revising, and acquiring
assets from the server. The organization of asset data on a client
is independent of the organization in the repository, so a user
may map an asset's content into whatever locations are appropriate
for the client. The client keeps no special files for assets and
does not require any sort of directory "sandboxing." In
addition, a user's revisions are available only on a private branch
until the user publishes them. This preserves the user's data in
the repository while preventing the problem of code that can't be
put in for fear of breaking a product build.
Thot provides customizable workflow through a variety of interlocking
mechanisms including user notification, task automation, access
control, and custom metadata. To see how these features work together
consider the following example. In a given repository all assets
must be approved by the producer before being published for others
to use. Whenever someone tries to publish an asset, automation rules
send a notice to the producer and await a reply. The producer reads
the notice and examines the attached changes to the asset. If the
producer decides that the asset is ready, then he replies to the
notification with an approved message, which automatically completes
the publish action. If he replies with a denial then the publish
is cancelled. After the publish action completes or is cancelled,
the automation rules send a notice to inform the user of success
or failure with optional comments from the producer. Thot allows
an almost infinite variety of such workflows, which can be customized
to a group's particular needs.
The client features two simple user interfaces, graphical and command
line, designed to minimize the amount of time and effort required
to manage assets. Each interface is adaptable to a user's work habits
via customizable action shortcuts for even greater efficiency.
Thot has several features aimed at integrating with a developer's
environment. The command line interface allows easy scripting. Both
the server and client have plugin interfaces that can be used to
extend Thot's capabilities. For example, in the current release
the client and server only know how to do scripting with Lua.
Writing a plugin gives the user the ability to use other scripting
languages, or to provide integration to an external software package.
Currently Thot is available for Microsoft Windows 2000, Microsoft
Window XP, and Linux on Intel hardware. Our reference platform for
Linux is Ubuntu 6.10, so that is what we currently support, although
Thot is likely to work on most recent versions of Linux.
.
|