General
Lightweight SysObjects (LwSOs) are used primarily for improvements around ingestion and archiving, yet customers do need to interact with through Webtop. All Lightweight SysObjects types are subtypes of a sharebale type. A newly created LwSO references a shareable supertype object.
If there is a large number of attribute values that are identical for a group of objects. LwSOs store individual metadata, the shareable parent object stores the redundant metadata for a huge number of child objects. This dramatically reduces the storage footprint and ingestion processing required for the child objects.
Using lightweight SysObjects can provide the following benefits:
- Lightweight types take up less space in the underlying database tables than a standard subtype.
- Importing lightweight objects into a repository is faster than importing standard SysObjects.
Materialization
Since the attribute values of the shared parent are used by all the other lightweight object children, you cannot change the parent’s attributes without affecting all of the children. To prevent changing the attributes of the shared parent, but to allow changing those attributes for a specific child, a copy of the shared parent object is created for the private use of the child lightweight object. When a lightweight object has a private parent object, we call this a materialized lightweight object. Now the child lightweight object and its private parent behave just like a normal object. When you create the lightweight type, you specify if automatic materialization is allowed. If you don’t allow automatic materialization, any operation that would cause materialization generates an error.
For example, if you checkout a lightweight object, it is materialized. A copy of the original parent is created with the same r_object_id value as the child and the lightweight object is updated to point to the new parent. Since the private parent has the same r_object_id as the lightweight child, a materialized lightweight object behaves like a standard object.
As another example, if you delete a non‑materialized lightweight object, the shared parent is not deleted (whether or not there are any remaining lightweight children). If you delete a materialized lightweight object, the lightweight child and the private parent are deleted.
Feature | LightWeight SysObjects | Normal SysObjects |
---|---|---|
Retention | Shares with Parent | Individual rentention |
Security | Shares with Parent | Individual object security |
Folder linking | Shares with Parent | can be individually linked |
Versioning | Not versionable | Fully versionable |
Replication | can’t be replicated | full replication support |
Lifecycle | Shares with Parent | Individual lifecycle |
Content functionality | Full functionality | Full functionality |
General use WDK‑based clients, like Webtop, interact with LwSOs in the following manner:
- Browsing. When a user browses through cabinets and folders they see neither parents nor children associated with LwSOs.
- Simple Search. When a user performs a simple search the results display shared parent objects only, no children.
- Advanced Search. When a user performs an advanced search the results display children, but NOT the parents, associated with LwSOs.
- Attributes. From search results a user can open the properties of a LwSO and edit its properties. On changing any attribute the LwSO materializes into a full object.
- Properties panels show ALL attributes associated with a child along with any inherited attributes from the parent. The properties panel relies on the attribute display configuration made via Documentum Application Builder or Documentum Composer in which attributes can be marked as editable or read‑only. In either case Webtop honors the configuration.