Opening the Schema Viewer
PressF6 to open the schema viewer. The viewer loads the schema from the LDAP server and displays it in an interactive interface.
Schema is automatically loaded when you connect to an LDAP server. The viewer discovers the schema from standard locations including
cn=Subschema and cn=schema.Schema Tabs
The schema viewer has two tabs that you can switch between usingTab:
- Object Classes
- Attribute Types
Object Classes Tab
Displays all object classes defined in the schema with the following information:- Name — Object class name (e.g.,
person,inetOrgPerson,organizationalUnit) - OID — Object identifier (e.g.,
2.5.6.6) - Kind — Class type:
- Structural — Defines the basic structure of an entry
- Abstract — Template for other classes (e.g.,
top) - Auxiliary — Additional attributes that can be added
- Superior — Parent object class in the inheritance chain
- MUST attributes — Required attributes for this class
- MAY attributes — Optional attributes for this class
Inheritance Resolution
The schema viewer automatically resolves inheritance chains. When viewing an object class, you see:- Attributes directly defined in the class
- Attributes inherited from superior classes
- The complete flattened attribute set
When you create or edit entries, Loom uses the schema to validate attribute names and suggest available attributes based on the entry’s object classes.
Navigation and Search
Browse schema
j/kor arrow keys — Scroll through the listTab— Switch between Object Classes and Attribute Types tabsg/Home— Jump to the topG/End— Jump to the bottom
Filter entries
Press
/ to open the filter input. Type to search by name. The list updates in real-time as you type.Examples:person— Find all object classes or attributes with “person” in the namemail— Find mail-related attributesposix— Find POSIX account attributes
View details
Select any object class or attribute type to view its full definition in the detail panel, including:
- Complete OID
- Description
- All inherited attributes (for object classes)
- Syntax and constraints (for attribute types)
Schema Discovery
Loom automatically discovers the schema from your LDAP server using these methods:Query subschema DN
Loom first queries the root DSE for the
subschemaSubentry attribute, which points to the schema entry.Try fallback locations
If the subschema DN is not found, Loom tries standard locations:
cn=Subschema(OpenLDAP, 389 Directory Server)cn=schema(Active Directory, OpenDJ)
Schema loading happens automatically when you connect. If schema discovery fails, Loom logs the error but continues to operate with a minimal default schema.
Using Schema Information
The schema is integrated throughout Loom’s interface:When Adding Attributes
When you pressa in the detail panel to add an attribute:
- Loom shows only attributes allowed by the entry’s object classes
- Attributes are filtered based on MUST and MAY lists
- Operational attributes (no user modification) are excluded
- The list includes all inherited attributes from superior classes
When Editing Attributes
For DN-valued attributes (likemember, manager, owner):
- Loom enables DN search mode
- You can search for entries by name and select them
- The full DN is automatically inserted
Single-Valued Attributes
When editing single-valued attributes:- Loom prevents adding multiple values
- The
+(add value) action is disabled - Attempting to add a second value shows an error
Example Object Class Definition
Here’s how theinetOrgPerson class appears in the schema viewer:
Keybindings
| Key | Action |
|---|---|
F6 | Open schema viewer |
Tab | Switch between Object Classes and Attribute Types |
j / k | Scroll up/down |
/ | Filter by name |
g / Home | Jump to top |
G / End | Jump to bottom |
q / Esc | Close schema viewer |
Common Object Classes
Standard LDAP Object Classes
- top — Abstract base class for all entries
- person — Basic person entry with cn and sn
- organizationalPerson — Person with organizational attributes
- inetOrgPerson — Internet person with email and uid
- posixAccount — Unix/Linux account with uidNumber and gidNumber
- groupOfNames — Group entry with member attribute
- organizationalUnit — Organizational unit container
- domain — Domain component entry