Class overview

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 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. It is the default class. Business-specific subclasses of the document class are used extensively.
  • The folder class is a container for objects.
  • The subscription class is used to specify actions that should occur as the result of a trigger event.

Class properties

A property is a characteristic of a class that helps identify the object that is 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 that indicates 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 that is named Contracts can have custom properties for all parties that are involved in a contract.

Class guidelines

Use the following guidelines when you create or modify 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 that are 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 that are 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.
  • A class can have an unlimited number of levels of subclasses. However, consider putting restrictions on the number of levels to avoid an overly complex content management design.