A class is a model or template that can be used to create
objects with a common definition and common properties, operations,
and behavior. All objects belong to a class. Each object of a class
is identical in form and behavior but contains different property
values. The Class Description property identifies the class that the
object belongs to.
When an object store is created, it is prepopulated with a set
of system-created classes. You can extend the system classes by defining
subclasses. The most commonly extended system class is the document
class. Document classes define documents; by defining subclasses,
you can define your application-specific documents.
The system default classes serve different functions. For example:
- The annotation class allows the user to link additional information
to documents and other containable objects such as snapshots, folders,
and custom objects. Examples of annotations are text, audio, video,
image, highlight, and sticky notes.
- The custom object class has no built-in behavior but has properties
that pertain to a business subject. Define business object classes
when you do not need to save content or use lifecycles or versions.
- The document class defines the properties of a document and is
created to organize documents by type. This is the most commonly used
class and is the default.
- The folder class holds a collection of objects that are related
to each other by common properties.
- The referential containment relationship class is used when storing
documents in folders. An instance of this class connects exactly one
document to exactly one folder.
- The subscription class defines properties that specify the class,
instance, or workflow that an event affects and the action to take
in response to the event.
Class properties
A property is a characteristic
of a class that helps identify the object defined by the class. The
system classes have a set of basic properties that define the class.
For example, a class typically has a property indicating the creation
date. When an object is created, the creation date property is populated
with the current date. Properties of a class can be of different types. For
more information, see Supported data types.
The
system automatically supplies certain property information, for example,
the date when an object is added to the object store. You can edit
some system properties; other properties are read-only. In addition
to the system properties, you can assign custom properties to each
class that reflect the content organization needs for your business.
For instance, a subclass of document class named Contracts can have
custom properties for all parties involved in a contract.
Class guidelines
Use the following guidelines when creating
or modifying a class:
- Do not add a property to a system-created class unless you are
certain that the property applies to all subclasses and instances based
on those subclasses. Instead, create a subclass of the root class
and customize the subclass.
- Create separate classes to match your business strategy. For example,
after you create an object store for a particular product, you can
create classes named Marketing, Engineering, and Sales to group like
content and processes for that product.
- Avoid exceeding the database row size limit. For more information,
see Minimize database row sizes.
- There is no limit to the number of levels of subclasses a class can
have. However, consider putting restrictions on the number of levels
to avoid an overly complex content management design.