- The client requires a multi-tiered custom object model with most of the attributes at the child level.
- There are 10 distinct types of content which share some common attributes, but have very specific attributes as well.
- The client want to search for attribute/value pairs across all of the children documents easily by selecting one parent object, typing in search criteria, and executing.
- All imports, checkins, new templates, and properties interfaces need to be tailored to the client’s specific requirements for conditional attribute population in specific order.
- All content types have some mutually exclusive required attributes that cannot be null.
- And of course, the client does not want a lot of Webtop customization.
Possible Solution Routes
- Traditional: Customize Webtop import, checkin, new doc, properties, and search pages.
- New: TBO with common attributes pushed to the parent object type, with limited WDK customization.
Design Road less Traveled By
We isolated the absolutely necessary WDK components that needed to be developed to satisfy display and functional requirements. There is some functional requirements work here to decide on which attributes are common and have the most impact finding content in the repository. Searching across all child object types was a critical requirement so we focused the design of the object model toward shared or common attributes. The design of the object model looked like this:
Developing the TBO
The customizations are to the object and doc lists. The “documentum.webtop.webcomponent.objectlist” and “doclist” components have the common attributes added to them in order to show the same view of the attribute columns for browsing folder contents and search results. This could have been a preference setting, however there was a bug with the particular version at the time in terms of sorting the columns so we had to customize these. The “search60” component was also changed to show only the parent object type and its children object types in the search.