">

OpenText Content Server’s database schema is built on a robust and intricate entity-relationship model. At its core, a few foundational principles govern how data is structured and accessed. Once these are understood, the logic behind the entire system becomes much clearer.
Core Tables: DTreeCore vs. DTree
One of the first distinctions developers must grasp is between DTreeCore and DTree:
Key Characteristics of DTreeCore:
ExtendedData column allows for custom object data storage.Understanding when you're querying the view versus the base table is essential for performance tuning.
Document Lifecycle: The Four-Table Chain
The document lifecycle in Content Server is elegantly modeled through a four-table relationship:
DTreeCore (1) → DVersData (1:many) → ProviderData (1:1) → BLOBData (1:many)
Table Roles:
This structure supports:
Multilingual Metadata: DTreeMultilingual
To support internationalization, Content Server uses the DTreeMultilingual table:
DataID and language code as keys.Design Insight:
This normalized approach avoids bloating the core table with language-specific columns, though it requires joins for multilingual queries.
Security Model: DTreeACL and Permission Management
The DTreeACL table implements a sparse matrix for access control:
Sparse design is efficient for default permissions but can be costly for complex ACLs.
Audit Trail: DauditNew
The DauditNew table captures audit events:
DataID) and the user (PerformerID).The “New” suffix reflects its evolution from an earlier audit table.
User Identity: KUAF and KUAFChildren
KUAF is the central identity store for users, groups, and domains:
KUAFChildren manages group memberships:
KUAF (groups) ←→ KUAFChildren ←→ KUAF (users)
Supports nested groups and efficient expansion algorithms.
Workflow Engine: Definition vs. Execution
Content Server separates workflow definition from execution:
Aggregates active tasks using joins, providing real-time visibility without redundant storage.
Category System: Metadata Storage Strategies
Two tables manage category attributes:
CatRegionMap links categories to search index regions for efficient full-text search.
Configuration Management: Transition to Kini
The Kini table replaces file-based configuration (opentext.ini) with database-driven settings:
This shift reflects Content Server’s architectural evolution.
Performance Optimization: Schema-Aware Strategies
Join Patterns:
Indexing:
The Read-Only Rule: Protecting Data Integrity
Important Note: While a deep understanding of Content Server’s schema is invaluable, it’s critical to avoid making direct database writes outside of the official Content Server APIs. The relationships between tables are governed by complex business logic that is not enforced at the database level, and bypassing these constraints can lead to serious data corruption and system instability.
Practical Applications of Schema Knowledge
Mastering the entity-relationship architecture of Content Server empowers developers and administrators in several key areas:
Troubleshooting: Diagnose data integrity issues and resolve relationship inconsistencies.