Oracle® Fusion Middleware UCM VCR Adapter Guide for Oracle WebLogic Portal 10g Release 3 (10.3.2) Part Number E14664-01 |
|
|
View PDF |
This chapter includes these sections:
Section 3.2, "Performing Create, Update, Delete, and Move Operations"
Section 3.7, "Scoping Content Selectors and Other Queries to a Repository"
The UCM VCR Adapter provides the conduit through which the WLP Virtual Content Repository (VCR) accesses content in UCM. To function properly, the adapter expects content structures that can be mapped to the structures used in the VCR. For example, UCM uses profiles to manage how metadata is structured and displayed. However, the VCR does not use profiles; therefore, the adapter is required to provide reliable mappings between the two systems.
This section discusses the considerations for modeling content in the UCM to facilitate exposure in the VCR and includes these sections:
Section 3.1.3, "Unsupported Features for the UCM VCR Adapter"
Section 3.1.5, "Unsupported Web Content Management (WCM) Features"
Note:
If a UCM parameter is changed that might affect search, then the WebLogic Portal server must be restarted.Content modeled in UCM is modeled using some combination of the following constructs:
Document – A basic content item construct that includes a full set of metadata fields. Every document contains the same set of fields.
Content profile – Content profiles allow UCM administrators to express which metadata fields are associated with a given document. Content profiles created by a system administrator can refine the metadata options available to users during check in and searching, as well as what metadata is displayed on a content information page. See also Section 3.8.1, "Creating Profile-Based Content Types with the UCM Administration Console."
Site Studio region definitions – An add-on container construct created in Site Studio that allows definition of types (region definitions) composed of properties (content elements), in addition to the standard document fields. For example, a region definition could include a combination of text and graphic elements. See also Section 3.8.2, "Creating Region-Based Content Types with Oracle Site Studio."
How these constructs map to WLP VCR content types and nodes are described in the following sections.
Documents not associated with a content profile map to a content type named IDC:GlobalProfile in the VCR that includes all of the metadata fields. All of the metadata fields you see in UCM will appear in the VCR type called IDC:GlobalProfile.
To ensure that content profiles are correctly mapped to VCR content types, keep in mind the following mapping behavior:
Each metadata field in a content profile will correspond to a VCR property definition.
A single binary property definition named idcPrimaryFile will always relate to the checked-in document. This binary property definition will be the primary property definition for the content type.
Other metadata fields of type Text, Long Text, Memo, Integer, Decimal, and Date will map to VCR property data types of String, Long, Double, and Calendar.
Note:
For information on length constraints for the UCM types Text, Long Text, Memo, Integer, Decimal, and Date, see the Oracle Content Server documentation.Text metadata fields using an option list based on the YesNoView or TrueFalseView views will be exposed in WLP as a property of type Boolean.
Each content profile in UCM is exposed in the VCR as a content type. The profile's associated fields (defined by rules) are exposed on the VCR type.
Oracle Site Studio is a web development program that offers structured content features. In Site Studio, groups of individual content elements are arranged in region definitions. Each region definition in UCM is exposed in the VCR as a content type. If the region definition is associated with a profile, then the VCR content type will contain property definitions from both the region definition as well as from the profile.
If the region definition is not associated with a profile, then the VCR content type will contain property definitions from both the region definition as well as the standard document metadata fields (the fields from IDC:GlobalProfile).
Figure 3-1, illustrates a region definition called "Press_Release," which consists of the elements Title, Subtitle, Intro_Text, Body_Text, and Image.
Figure 3-1 Elements Assembled into a Region
To ensure that content regions are correctly mapped to VCR content types, keep in mind the following mapping behavior:
Element definitions map to VCR property definitions. Note that unlike metadata property definitions associated with profiles, property definitions that are defined as part of a region are only searchable by doing a full text search.
Element definitions map to string, link, or nested data types.
Links will be represented when a content custom element form called SS_DOCNAME_LINK_FORM is used that restricts the population of the link field to something Content Server understands as a link.
Nested data types will be represented when a Site Studio static list is used. A static list is inherently one level deep and may only contain element definitions of type string (plain text or wysiwyg) and link. Static lists are inherently multi-valued.
The static list will be represented as an abstract content type by the VCR. The static list itself acts as a definition for an additional content type comprised of the element definitions in the static list.
Both plain text and wysiwyg element types are exposed as String values in the VCR.
Region definitions, by default, receive all of the property definitions exposed by the global profile type. The content type for the region will extend the IDC:GlobalProfile content type.
Region definitions may also be associated with a content profile. In this case the set of element definitions from the region, along with the set of metadata fields from the profile, will be represented as a single type by the VCR. The content type for the region will extend the profile content type.
The VCR uses content types to describe content metadata. Content types are used to define the metadata that you can associate with content. When content contributors add content to a WLP VCR, they can associate the content with a content type. In the same way, when UCM content is surfaced in the VCR, the UCM VCR Adapter must provide some degree of mapping to ensure that the content types are structured correctly. This section describes best practices for modeling data in a WLP Repository or other repository to facilitate migration to the UCM Adapter, and to understand the mapping behavior of the UCM Adapter.
Table 3-1 describes the UCM modeling considerations for VCR content types. For more information on VCR content types, see the Oracle Fusion Middleware Content Management Guide for Oracle WebLogic Portal.
Table 3-1 Content Type Modeling Considerations
VCR Content Types | UCM Modeling Consideration | Recommendation |
---|---|---|
Multiple Binaries |
You can have only one binary property per content type. |
Use at most one binary per content type. Or use a region-based set of elements that use the custom link type to associate multiple binaries documents with a content type. |
Multi-valued Property Definitions |
When using profiles, there is limited support for multi-valued properties; only string and SiteStudio static list data types are supported. The data in the UCM is persisted as a single comma-separated value. |
Use only multi-valued string property definitions, and avoid using comma values for these properties. |
Type Inheritance |
Site Studio static list types are exposed as abstract nested types, as are the set of document binary renditions (in a property named idcRenditions). |
Understand how region definitions map to content types using type inheritance. |
Relationship between Profile Trigger Value and ObjectClass |
Each profile in UCM must have a unique trigger value. It is not supported to have multiple profiles with the same trigger value. |
Ensure each profile in UCM has a unique trigger value. |
Nested Types |
Nested types are not supported outside of the single-level nesting support described by the "static list" feature of region definitions. |
Understand how region definition static lists and document renditions are exposed as nested types. |
Property Definition Names |
When using profiles, the maximum length of a metadata field is 29 characters in the UCM, with no embedded spaces. |
Limit property definition names to at most 29 characters with no embedded spaces. |
Primary Property Definition |
In UCM there is no notion of a "primary" property definition. The UCM VCR Adapter will represent the single binary property of a profile-based document as a primary property definition named idcPrimaryFile. Regions will not expose a primary property definition. |
Understand how primary properties are represented by the UCM VCR Adapter. |
Type Metadata |
Content types in UCM do not include the following metadata properties: createdBy, modifiedBy, createdDate, modifiedDate. There is no way to determine who created/modified a type and when it was last created/modified. By contrast, Documents and Folders do support these properties; it is possible to determine who created/modified a doc/folder and when this was done. |
Avoid use of these fields on the ObjectClass object in application development. |
Property Definitions |
The UCM recommends a maximum of 500 custom property definitions for use across all types. |
Do not exceed the maximum number of total property definitions in the UCM system. |
Table 3-2 describes the UCM modeling considerations for VCR content nodes. In the VCR, the repository is usually represented as a hierarchical collection of nodes. Nodes primarily include folders and content items.
Table 3-2 Content Node Modeling Considerations
VCR Content Nodes | UCM Modeling Considerations | Recommendations |
---|---|---|
Folders |
In UCM, there is a single folder type, named IDC:Folder, that can contain child content, but this type cannot contain folder-specific metadata. The metadata stored on folders is intended to work as default values for the content stored in those folders. |
Be aware that folder metadata in UCM refers to child document defaults, rather than folder-specific metadata. |
Node Hierarchy |
Only folders may have child nodes. |
Be aware that nodes cannot be created beneath document nodes. |
Node Metadata |
The modifiedBy and modifiedDate metadata on nodes have a different meaning than what is exposed by the WLP repository. For UCM documents, these field values are the same as the createdBy/createdDate field values. The values reflect the most recent document checkin user and timestamp. These values do not change for metadata-only updates. |
Be aware of this difference in how this data is updated. |
String Values |
The UCM tools support strings up to 2000 characters in length. The WLP repository supports 4000 character string values. |
Keep string values under 2000 characters, or update the UCM schema to support a wider value. |
Child Node Ordering |
Child node ordering is not supported in UCM. |
Do not rely on a given order for child nodes. Alternatively, callers could sort responses from the API or issue queries with sort criteria specified to sort results on a per-call basis. |
Integer Values |
Integer values default to a zero (0) instead of a null value. The WLP repository stores unset integer values as null. |
Do not depend on the presence of a property value for an integer property to detect if that value has been set. |
Table 3-3 lists several considerations specific to the search integration.
Table 3-3 Search Considerations and Recommendations
Consideration | Recommendation |
---|---|
If the search is not scoped to documents (cm_isContent = true) or folders (cm_isHierarchy = true), both documents and folders will be searched. Different considerations apply to each, especially around use of cm_path. |
When possible, scope the search appropriately by adding |
UCM provides limited support for querying on null or non-null values. |
Be aware of the differences in search behavior and do not write search expressions that depend on unsupported criteria. |
Recursive search for folders is not supported by UCM, but is supported for documents if configured on the UCM server as described to the right. |
Scope the search to only include documents (add a clause like 'cm_isContent = true'.Set the search path on the Search object.Configure the folders_g CollectiveSearchRecursiveContent and related settings like CollectionMaxBranch in the UCM config.cfg file. |
The |
Do not use |
The |
The |
Multivalued property operators perform substring matches. This is true for 'containsany' and 'containsall'. In UCM, a field with an option list stores values in a comma-delimited manner. For example, if you have values "A", "B", and "C", these will be represented as "A, B, C". Using a 'containsany' search for 'A, B' will find this item. |
Be aware of the differences in search behavior and consider changing the UCM option list delimiter character in the Configuration Manager applet to reduce the potential for finding extra matches. |
When searching folders (cm_isHierarchy=true), at most one value can be specified per criteria. Each criteria is logically ANDed with the others to make a more selective query. There is no support for OR or NOT when searching folders. |
There is no support for |
UCM supports searching for folders and documents, but this is done in two separate service calls. Some properties that exist on a document (for example, |
Add the content type to your search query if you know the property will be only on a document. Example: |
Not all properties are searchable, and if the search encounters a property that is not searchable, it will throw an InvalidPropertyException. |
Understand which properties are searchable for a given content type by examining the UCM Configuration Manager information fields section, or by reviewing the ObjectClass definition. Example URLS:
then look for the isSearchable field setting. |
Not all ObjectClasses are searchable. An attempt to search for a non-searchable ObjectClass will throw an exception. For example, the IDC:FileReference ObjectClass is not searchable. |
Be aware that not all ObjectClasses are searchable. |
Only String multi-valued properties can be searched. |
Don't specify search for multi-valued property types other than String. |
|
Don't use |
The |
Try to restructure the query using supported syntax. |
Sorting on non-indexed fields results in an exception. Searching on a non-indexed field throws an exception, with the embedded exception code of, for example, "DRG-10837: section dStatus does not exist". |
Understand which fields have been indexed before using them as sort criteria Example: URL: |
Null cannot be used to specify a date in date ranges. |
Restructure your query using a date range with two valid dates, or use the before or after construction. Example: See Javadoc for com.bea.content.expression.IMetadataQueryParameter |
Wildcard * as repository name in search paths, when specified as a FTS metadata path criteria, will not work for UCM unless the wildcard is at the end of the path specification. For example: a |
Specify path parameter on Search object directly. Example: |
Empty values are not allowed in a search query. |
Don't use a criteria such as |
|
Be aware of the differences in search behavior and do not write search expressions that depend on unsupported criteria. |
IMetadataQueryParameter buildEquals(String userPropertyField, String[] criteria) is not supported. |
Be aware of the differences in search behavior and do not write search expressions that depend on unsupported criteria. |
Multiple search paths on the same UCM repository are not supported. |
Be aware of the differences in search behavior and do not write search expressions that depend on unsupported criteria. |
When searching for folders, recursive search (folder tree search) is not supported, with the exception of searching the entire repository. This is due to UCM limitations. It is not possible, for example, to perform a search of the form, "cm_isHierarchy=true && cm_path like '/MyUCMRepo/foo/bar/*'". |
To search the entire repository (all folders), leave out the cm_path criteria. To search the immediate children of a folder, use the cm_parent_uid criteria; for example "cm_isHierarchy=true && cm_parent_uid='xxx'" will find the folders immediately beneath the specified parent folder. |
When searching for documents, recursive search (folder tree search) is supported if UCM is configured properly. Also see the Javadoc for com.bea.content.expression.Search regarding the use of search paths.; for example, Only one of cm_path and the Search object's searchPath can be set.If neither is set, then all documents in the repository will be searched (both filed and unfiled). |
Configure the content server folders_g CollectionSearchRecursiveContent and related settings like CollectionMaxBranch in the UCM |
When searching for documents and using the LIKE operator, wildcards (*, ?) are only supported in the last path element. |
Be aware of the differences in search behavior and do not write search expressions that depend upon unsupported criteria. |
When searching documents (cm_isContent=true), it is not possible to limit the search to more than just a single content type; for example, this is not supported: "cm_isContent=true && (cm_objectClass == 'IDC:MyProfile' || cm_objectClass == 'IDC:AnotherProfile')" because it has multiple explicit content types. This also is not supported: "cm_objectClass = 'IDC:GlobalProfile' || cm_path like '/StellentRepository/*'" because part of the query is limited to an explicit content type and the other part of the query does not limit the content type. |
When using cm_objectClass, if you need to limit the search to more than just a single content type, issue multiple queries to achieve the same behavior. If you want to search across all types, remove the cm_objectClass criteria. |
For best search performance, scope the search to a single repository. |
Either set the search path on the Search object with |
UCM search doesn't support OR when For example, it is not supported to do this |
If this functionality is necessary, issue multiple queries to achieve the same behavior. |
|
Be aware of the valid operators when using |
There are several restrictions on The IN operator cannot be used in conjunction with folder search, or with document recursive search, though it can be used with document direct search. |
Use a document direct search path instead; for example, |
Use of OR operator in conjunction with document recursive search requires recursive search path to specified on Search object. |
When searching documents, in order to use the OR operator in conjunction with document recursive search, specify the search path directly on the Search object. Also be sure to scope the search to only documents (by adding |
Queries may be case-sensitive depending on the selected UCM search engine. |
Be aware that some UCM search engines are case-sensitive. OracleTextSearch is case-insensitive. |
Table 3-4 lists the content management features that will not be supported by the UCM VCR Adapter.
Table 3-4 Unsupported Features in UCM VCR Adapter
Feature | Consideration | Recommendation |
---|---|---|
Versioning |
The adapter does not support versioning. The latest released document version is available via the SPI. |
Do not rely on versioning or access to anything other than the latest released item when using the adapter. |
Type Management |
The adapter does not include type write capabilities. |
Model content types using the UCM User Interface. |
Search |
You cannot specify multiple object class criteria in a search expression, such as an expression like:
The adapter cannot execute this type of search. |
It is possible, however, to return multiple nodes representing different content types in a single result set when searching in other ways, such as a prop=value expression. |
Table 3-5 lists UCM features that are not supported by the adapter. These features will not be exposed in the VCR.
Table 3-5 Considerations for Exposing UCM Content
Feature | Considerations |
---|---|
Renditions |
Only the Web-Layout rendition is supported the UCM VCR Adapter. No other rendition types are supported. |
Folios |
UCM Folio meta-document will not be exposed by the VCR. |
HCSF Files |
HCSF files (Hypertext Content Server Forms) will not exposed by the VCR. |
Dynamic Converter |
Dynamic converter will not be exposed by the VCR. |
Shortcuts |
Shortcuts are not exposed through the UCM VCR Adapter. |
Table 3-6 lists WCM (Site Studio) features that are not supported by the adapter. These features will not be exposed in the VCR.
Table 3-6 Considerations for Exposing WCM Content
Feature | Consideration | Recommendation |
---|---|---|
Embedded Images in WSYWIG Element Definitions |
Embedded images are not supported in a WSYWIG Element Definition that is part of a Region based Content Type. Any content that is created of this type will not be rendered by the UCM VCR adapter. The adapter will return a partial string URI to the image. |
Constrain the Use of a WSYWIG Element definition to HTML text only and use a separate element definition with Link(s) to reference images. |
Element Definitions of type Image, Dynamic Lists are not supported. |
The UCM VCR Adapter upon reading a region-based content type definition that contains one of these element definitions will not know how to interpret the WCM content. What the adapter may return in some cases is a string interpretation of the content. |
Do not use these types of Element Definitions as part of a UCM VCR region-based content type definition. |
Element Definitions of type Custom have limited support. Custom element values will be represented as strings through the UCM VCR Adapter. The custom form called |
The UCM VCR adapter upon reading a region-based content type definition that contains custom element definitions will only know how to represent the WCM content as a string value. |
Only use custom element forms for string and link values. |
This section explains how the VCR system property fields map to UCM content fields when searches are performed. During a search operation that is performed using the WLP search API, the standard VCR system properties listed in Table 3-7 are automatically converted to corresponding UCM content fields by the UCM/VCR Adapter. For example, searches performed through Content Presenter or content selectors perform these conversions automatically.
Note:
If you are performing a search, the best practice is to use the system properties as they appear in the WebLogic Portal user interface, such as in the user interface for Content Presenter or content selectors. For example, if you need the binary size, use VaultFileSize (the internal name) rather than cm_binarySize. This practice ensures that even if the system field mapping changes over time, the search behavior remains the same.Table 3-7 shows how these mappings are made internally by the UCM/VCR Adapter. Note that UCM has two names for every field. One is an internal name, which you can see in UCM when adding a field to a rule, and the other is the field name that appears in the user interface. In Table 3-7, the internal name (for example, dDocName) is listed first, and the UI name (for example, Content ID) is listed below it in parentheses, where applicable.
Caution:
The mappings in Table 3-7 are UCM/VCR Adapter-specific and are subject to change.Table 3-7 Property Field Mappings
WLP VCR System Property | UCM Content Field(When the Object is Document) | UCM Property(When the Object is Folder) |
---|---|---|
cm_nodeName |
dOriginalName(document native filename) |
dCollectionName (Virtual Folder Name) |
cm_uid |
dDocName(Content ID) |
IDC:Folder/{dCollectionID} |
cm_path |
No direct translation. Handled internally based on Folder and document name. |
No direct translation. Handled internally. |
cm_createdBy |
dDocAuthor (Author) |
dCollectionCreator (Creator) |
cm_createdDate |
dCreateDate |
dCreateDate (Created) |
cm_modifiedBy |
dDocAuthor (Author) |
dCollectionModifier |
cm_modifiedDate |
dCreateDate |
dLastModifiedDate |
cm_objectClass |
No direct translation. Handled internally based on the profile (if any) and/or SiteStudio Region Definition (if any). |
No direct translation. Folders are mapped to IDC:Folder ObjectClass |
cm_contentType |
dFormat (from document native file) |
N/A |
cm_binaryName |
dOriginalName(document native filename) |
N/A |
cm_binarySize |
VaultFileSize (document native file size) |
N/A |
cm_isHierarchy |
True if the object is a folder; false if object is a document. |
N/A |
cm_isContent |
True if the object is a document; false if object is a folder. |
N/A |
This section discusses creating, updating, deleting, and moving content and content nodes. Typically, you create and edit content in the Content Management part of the WebLogic Portal Administration Console.
This section includes these topics:
Section 3.2.1, "Considerations for Creating and Editing Content"
Section 3.2.2, "Considerations for Creating and Editing Folders"
For creating and editing content, profile-based content, as well as IDC:GlobalProfile and IDC:Folder, is supported. Editing or creating of Oracle Site Studio based content (region definition types) is not supported.
If a content property is not editable in Content Server, it is also not editable through the UCM SPI Adapter. For example, the dDocName
property is not editable in either Content Server or the WLP Administration Console once a document has been created.
Note that when you create a document, it is not available through the UCM SPI Adapter until it is in released state. The UCM SPI Adapter only exposes documents in released state. After the document is in release state, it is only exposed after it is indexed. When you create a folder, it is available immediately.
Note:
The WLP Administration Console cannot always detect when a UCM property is not editable; therefore, in the Administration Console, those properties may appear to be editable even though they are not. An attempt to edit the property will result in an error.When creating or updating a document node, note that the ObjectClass type specified by the client (the Content Management part of the WebLogic Portal Administration Console) is not used by Content Server. The Content Server's profile configuration determines which ObjectClass is returned for a given document.
When creating or updating a document node with a binary value, note the following rules:
The node name must match the filename of the binary file. For example, if the binary filename is future.doc
, your node must be named future.doc
.
The server determines the ContentType of a binary value based on the binary filename. You can configure this filename/type mapping with the Content Server Configuration Manager applet using the File Formats menu option.
This section describes considerations when working with folders.
Note:
Creating nodes at the root level is not supported. As a workaround, see the UCM documentation for information on creating system folders.To create folders, you generally must configure security properly so that you are connecting as a UCM user with the appropriate privileges. If you do not have these privileges, you might see an error message of this form:
com.bea.content.RepositoryException: oracle.stellent.ridc.protocol.ServiceException: Unable to create virtual folder. Unable to create virtual folder
For more information on specifying the UCM user, see Section 2.4, "Security Mapping."
Note that when you create a folder, it is available immediately. When you create a document, it is not available through the UCM SPI Adapter until it is in released state. The UCM SPI Adapter only exposes documents in released state and only after the document is indexed.
The UCM folders_g
component can be configured to expose "trash" folder. If the trash folder is disabled on the UCM server, then an object you delete from the repository is removed immediately. If the trash folder is enabled on the UCM server, the adapter considers the ForceDeleteFolders <repository-config>
setting in content-config.xml
. If this setting is true, a deleted object is deleted immediately from the UCM server. If false (the default), the deleted object is moved to the trash folder.
If you create a content type (a UCM profile), note that creating required fields for one profile makes those fields required for all profiles. For example, if you create a profile called BookType and create a required field called ISBN, the ISBN field is now required for all other profiles. One option is to make the field required, and define a default value in the rule for profiles which do not need this field. Another option is to make the field optional (not required), and for each profile, make the field required or optional through the profile rule configuration.
UCM includes the concept of an unfiled document. An unfiled document is a document that does not reside in a hierarchical document structure. Typically, the way to locate unfiled documents is to search for them. In a WebLogic Portal UCM Repository, unfiled documents are exposed as children beneath the root path of the repository: /repositoryname. In the WLP client, you can identify an unfiled document by looking at its xCollectionID
property. You can also search using this property to find only unfiled documents. If this property is 0, the document is unfiled. If it is a nonzero number, the document is filed. The UCM SPI supports reading and updating unfiled documents. The UCM SPI does not support creating unfiled documents.
For performance reasons, certain node properties exposed through the UCM Adapter are not loaded until they are requested. This section lists the node properties that are fully loaded and properties that are not. Access to fully loaded properties will be faster, so they are a good choice for content templates and other tabular structures.
As a template developer, you can optimize performance of your template if you are aware when different property values are loaded. For example, a typical list template will render faster if you refer only to properties that are immediately loaded when the node is first retrieved and avoid properties that are loaded later when needed.
A secondary consideration is dependent on how the node is retrieved: through search versus fetched by ID or as children of a parent. A property that may be loaded immediately on node retrieval for searches (such as "Results of a Query") may be loaded later for other retrieval methods (such as "Contents Under a Folder"). Table 3-8 shows whether or not node properties are loaded immediately upon retrieval, by retrieval mechanism.
Note:
Any custom properties added by a profile rule are always immediately loaded on node retrieval.Table 3-8 Loading of Node Properties by Node Retrieval Mechanism
OCS Global Profile Properties | GET BY PARENT ID ("Contents Under a Folder") | SEARCH ("Results of a Query") | GET BY UUID ("Single Content Item" and "List of Items") |
---|---|---|---|
VaultFileSize |
N |
Y |
Y |
dCheckoutUser |
Y |
N |
Y |
dCreateDate |
Y |
Y |
Y |
dDocAccount |
Y |
Y |
Y |
dDocAuthor |
Y |
Y |
Y |
dDocName |
Y |
Y |
Y |
dDocTitle |
Y |
Y |
Y |
dDocType |
Y |
Y |
Y |
dFormat |
Y |
Y |
Y |
dID |
Y |
Y |
Y |
dInDate |
Y |
Y |
Y |
dIsCheckedOut |
Y |
N |
Y |
dOutDate |
Y |
Y |
Y |
dReleaseDate |
Y |
N |
Y |
dReleaseState |
Y |
N |
Y |
dRevClassID |
Y |
N |
Y |
dRevLabel |
Y |
Y |
Y |
dRevRank |
Y |
N |
Y |
dRevisionID |
Y |
Y |
Y |
dSecurityGroup |
Y |
Y |
Y |
dStatus |
Y |
N |
Y |
dWebExtension |
Y |
Y |
Y |
dWorkflowState |
N |
N |
Y |
idcPrimaryFile |
Y |
Y |
Y |
idcRenditions |
N |
N |
Y |
xCollectionID |
Y |
Y |
Y |
xComments |
Y |
Y |
Y |
xForceFolderSecurity |
Y |
Y |
Y |
xHidden |
Y |
Y |
Y |
xInihibitUpdate |
Y |
Y |
Y |
xReadOnly |
Y |
Y |
Y |
When performing searches, note the following:
Restrict the search path to one repository at a time. This best practice boosts search performance, especially with the UCM Adapter. To do this, either add a clause like this to your query: "&& cm_path like '/UCMRepo/*"
, or set the search path directly on the Search object, by calling Search.setSearchPath("/MyUCMRepo");
If you conduct a search which finds more than 200 documents or folders, it is possible under some circumstances to receive duplicate or missing items, if content matching the query is being added or removed while the query is executing.
Only content in the released state is returned through the UCM Adapter. When documents are created, they may not be queryable until they have been indexed.
In order to scope expression-based searches to a repository (for performance as well as query validity reasons), you can restrict the search path to the appropriate repository. Use the following steps to do this:
Construct your search with the OR operator as usual in WLP.
Edit the Content Selector in the Advanced tab of the Administration Console as follows:
Group the OR criteria with parentheses ( ).
AND that criteria with cm_path to limit the scope of the search. For example:
((toProperty('WLP Repository/image', 'description') == 'image') || dDocAuthor = 'sysadmin) && cm_path like '/WLP_Repository/*'
This section presents several basic examples that demonstrate techniques for modeling content in UCM. These techniques are known produce content models that work well with the UCM VCR adapter.
The examples include:
Section 3.8.1, "Creating Profile-Based Content Types with the UCM Administration Console"
Section 3.8.2, "Creating Region-Based Content Types with Oracle Site Studio"
Section 3.8.3, "Creating a New Contributor Data File Based On a Region Definition"
Tip:
If you want to try running the examples, be sure the UCM VCR Adapter is installed, as explained in Section 2.1, "Installing the UCM VCR Adapter." Both the Oracle WebLogic Portal server and Oracle Content Server must be running.This example illustrates how to create a content type and associate a profile with it. The procedure involves creating a content type, adding metadata fields to the type, creating a rule, and creating a profile. The content type created using this technique will be surfaced as a VCR Content Type in WebLogic Portal. See also Section 3.1.2, "Best Practices for Modeling Content."
Note:
If you do iterative development where you have already started your WLP server and then you change or add to your UCM content definitions, you will either need to restart your WLP server or flush the P13N caches for the definition changes to take effect. For information on flushing the caches, see Section 2.1.3, "Modify Cache Settings."Tasks described in this section include:
Start Oracle Content Server and log in to the user interface.
From the Administration tray, select Admin Applets.
In the Administration page, select Configuration Manager, as shown in Figure 3-2. The Configuration Manager window appears.
In the Configuration Manager dialog, Select Options > Content Types.
In the Content Types dialog, select Add. The Add New Content Type dialog appears, as shown in Figure 3-3.
Enter a Name and Description for the new content type, and click OK. The new type is added to the list of types in the Content Types dialog.
This section explains how to create the Information Field(s) (metadata fields) that will be associated with your new VCR Content Type (as content properties).
Open the Configuration Manager dialog as explained in Section 3.8.1.1, "Creating a New Content Type."
In the Configuration Manager dialog, be sure the Information Fields tab is selected.
Click Add.
In the Add Metadata Field Name dialog (Figure 3-4), enter a Field Name and click OK.
Figure 3-4 Add Metadata Field Name Dialog
In the next Add Metadata Field dialog, specify the desired field type. Click OK. The new field is added to the Field Info list.
Click Update Database Design.
This section explains how to create a Rule that will be used with the Profile that defines the Content Type.
Open the Configuration Manager dialog as explained in Section 3.8.1.1, "Creating a New Content Type."
In the Configuration Manager dialog, select the Rules tab.
Click Add.
In the Add New Rule dialog, enter the name of the rule, as shown in Figure 3-5.
Select the Fields tab.
In the Fields tab, click Add.
In the Add Rule Field dialog (Figure 3-6), select an Information Field from the Field Name dropdown list. For example, select the Information Field you created in Section 3.8.1.2, "Creating Information Fields." This field will be associated with the Content type that you are creating.
Click OK.
In the Add Rule Field dialog, do not change the defaults. Click OK.
Repeat steps 5 – 9 to add any additional property fields you want associated with this content type. Any required fields should generally be listed in your rule, in order to support document creation. When your done all of these property fields will appear in the dialog.
Click OK in the Add New Rule dialog. The new rule appears in the Rules list under the Rules tab of the Configuration Manager dialog, as shown in Figure 3-7.
Figure 3-7 New Rule in the Configuration Manager
This section explains how to create the profile that will define the Content Type you created in Section 3.8.1.1, "Creating a New Content Type."
Open the Configuration Manager dialog as explained in Section 3.8.1.1, "Creating a New Content Type."
In the Configuration Manager dialog, select the Profiles tab.
Click Select.
In the Edit Trigger Field dialog, select Type from the dropdown menu and click OK. Note that in the Configuration Manager, the Trigger Field is now set to dDocType
. This specifies how documents are associated with UCM profiles, in this case through the Type (dDocType
) field value.
Note:
The use ofdDocType
is not required. You can use any other option list metadata field. For details on creating content profiles and using triggers, see “Content Profile Triggers” in Managing Repository Content.In the Profiles tab, select Add. The Add Profile dialog appears.
In the Add Profile dialog, enter a name and click OK.
In the next Add Profile dialog, enter a label and a description. From the Trigger dropdown menu, Select the Content Type that you created in Section 3.8.1.1, "Creating a New Content Type." See Figure 3-8.
Ensure each profile has a unique trigger value. Sharing the same trigger value across multiple profiles is not supported.
Check Exclude non-rule fields.
In the Rules part of the dialog, click Add.
In the Add Rule dialog, select the Rule you created in Section 3.8.1.3, "Creating a Rule." See Figure 3-8.
Click OK in the Add Rule dialog, and click OK in the Add Profile dialog.
Close the Configuration Manager dialog.
Use the UCM Content Management Contribution functions to add content using this new content type.
Log on to the WebLogic Portal Administration Console to see this Content Type and any content you create that is associated with this type. Depending on how your UCM Adapter Type caches are configured, you need to flush the caches or restart the server before the updated type is visible in WLP.
This example illustrates how to create a Site Studio region definition (which will be mapped to a WLP content type) as well as a contributor data file based on the region definition. In the WLP VCR, the data file will surface as a content node with associated metadata fields. The metadata fields are those associated with the UCM region definition, plus additional metadata that comes from the UCM metadata fields pulled in by a profile. See also Section 3.1.2, "Best Practices for Modeling Content."
Note:
If you do iterative development where you have already started your WLP server and then you change or add to your UCM content definitions, you will either need to restart your WLP server or flush the P13N caches for the definition changes to take effect. For information on flushing the caches, see Section 2.1.3, "Modify Cache Settings."This section explains how to use Oracle Site Studio and the UCM Administration console to create content using region definitions. The goal of this procedure is to create region-based content in UCM and have that content and its properties appear in the WebLogic Portal VCR. The Site Studio region elements will be expressed as property fields in the VCR.
For background information on Site Studio, see Section 3.1.2, "Best Practices for Modeling Content."
Note:
The example shown here will use the Article profile definition used in the previous example, Section 3.8.1, "Creating Profile-Based Content Types with the UCM Administration Console."The basic steps described in this section are:
Create your element definitions. This example demonstrates how to create one element definition for each of the four supported types:
WYSIWYG Element
Plain Text Element
Static List Element
Link Element Type (via a custom element using the supplied custom element form)
Note:
Image and Dynamic lists are not supported by the UCM VCR Adapter.Create a Region definition.
Add the element definitions to the Region definition.
Create a Contributor Data file based on the Region definition.
Edit the Contributor Data file.
View the Content in the WLP VCR.
This section explains how to create four element definitions: WYSIWYG, plain text, static list, and link.
Start Oracle Site Studio.
In the Site Assets dropdown menu in the Site Studio window, select Element Definitions, as shown in Figure 3-9.
Follow these steps to create a WYSIWYG element:
Select the Page icon and select New > WYSIWYG Element Definition, as shown in Figure 3-10. The Content Server Dialog appears.
Figure 3-10 Selecting Wysiwyg Element Definition
In the Content Server dialog enter a Content ID and a Title, as shown in Figure 3-11.
Optionally, associate this Element Definition to the Content Type that it will be used with. In this example, the Article content type is used.
Figure 3-11 Assign Info Form for WYSIWYG Content Element
Click Assign Info at the bottom of the dialog.
Follow these steps to create a plain text element
Select the Page icon and select New > Plain Text Element Definition.
In the Content Server Dialog enter a Content ID and a Title, as shown in Figure 3-12.
Optionally, associate this Element Definition to the Content Type that it will be used with. In this example, the Article content type is used.
Figure 3-12 Assign Info Form for Plain Text Content Element
Click Assign Info at the bottom of the dialog.
Click the Page icon and select New > Static List Element Definition.
In the Content Server dialog enter a Content ID and a Title, as shown in Figure 3-13
Optionally, associate this Element Definition to the Content Type that it will be used with. In this example, the Article content type is used.
Figure 3-13 Assign Info Form for Static List Content Element
Click Assign Info at the bottom of the dialog.
Note:
In the following steps, you further define the sub-elements that will comprise the static list. Keep in mind that when adding elements to the static list you can only add elements that the adapter supports (WYSIWYG, Plain Text, and the Link (custom) element type). Embedding a static list within a static list is not supported. In the example in this section, a static list consisting of two plain text fields is created.Select the static list element definition you just created from the list of elements and select the Edit icon, as shown in Figure 3-14. The Elements dialog appears.
Figure 3-14 Selecting the Static List and Clicking the Edit Icon
In the Element Edit dialog, select Elements, as shown in Figure 3-15. The Elements dialog appears.
Figure 3-15 Selecting the Elements Button in the Dialog
In the Elements dialog, select Add. The Element dialog appears.
In the Element dialog, enter the Name and Label for this entry and select the Element Definition to be used for this entry in the list, as shown in Figure 3-16. In this example, the previously created Plain Text element is used. Click OK.
Figure 3-16 Completing the Element Dialog
After you click OK, the Elements dialog appears again. Click Add to repeat the process as needed to add additional elements to the static list. In this example we added one more plain text element, as shown in Figure 3-17 Press the OK button to complete the static list elements definition process.
You are now returned to the top-level element definition dialog. At this point, you must save the element definition. Click the Save icon in the to-left part of the window, as shown in Figure 3-18.
A Link element is a custom element that is understood by the UCM VCR Adapter. To be able to create this custom element type you must have loaded the custom element form called ss_docname_link_form.htm
into your Site Studio Configuration. Refer to the UCM documentation for more information on custom element form.
Select the Page icon and select New > New Custom Element Definition.
In the Content Server dialog enter a Content ID and a Title, as shown in Figure 3-19.
Optionally, associate this Element Definition to the Content Type that it will be used with. In this example, the Article content type is used.
Figure 3-19 Assign Info Form for Link Element
Select the link element definition that you just created from the list of elements and select the Edit icon, as shown in Figure 3-20.
In the edit dialog for the link, click Settings, as shown in Figure 3-21. The custom element Settings Dialog appears.
Figure 3-21 The Edit Dialog for the Link Element
In the Settings dialog, select the "…" (ellipses) at the end of the name field, as shown in Figure 3-22.
Figure 3-22 The Custom Element Settings Dialog
The Content Server Dialog appears showing all the custom forms available in the system. Using the Select button, select the form named SS_DOCNAME_LINK_FORM [SS_DOCNAME_LINK_FORM], as shown in Figure 3-23.
Figure 3-23 Selecting the Form in the Search Results
The Custom element Settings dialog appears with the Name field populated. Click OK.
You are now returned to the top-level element definition dialog. At this point, you must save the element definition. Click the Save icon in the to-left part of the window.
The next step is to create a Region definition and add the element definitions to it.
In the Site Assets dropdown menu in the Site Studio window, select Region Definitions.
From the Page icon dropdown menu, select New > Region Definition.
In the Content Server dialog enter a Content ID and a Title, as shown in Figure 3-24.
Associate this Region Definition to the Content Type that it will be used with. In this example, the Article content type is used.
Figure 3-24 Assign Info Form for Region Definition
Click Assign Info at the bottom of the dialog.
Highlight the region definition that was just created and select the Edit icon, as shown in Figure 3-25. An Edit Dialog appears.
In the Edit dialog, click Add.
In the next dialog, enter the Name and Label fields. The values you enter in these fields will appear in the Property fields in the VCR. Select one of the previously defined element definitions in the Element Definition ID drop down box, as shown in Figure 3-26. Do not check the Embed the element definition inside the region definition checkbox. Click OK when finished.
Figure 3-26 Selecting a Previously Defined Element Definition
Repeat the previous step to add all the other element definitions that you wish to add, and you will see something similar to Figure 3-27.
Figure 3-27 Element Definitions Added to Region Definition List
Note:
The next step creates a contributor data file based on this region definition.Select Switch Content at the bottom of the region element list dialog (see Figure 3-27). The Regions Content Options dialog appears.
In the Regions Content Options dialog, make sure that the Create new contributor data file option box is checked, as shown in Figure 3-28, and click OK.
Figure 3-28 Region Content Options Dialog
Note:
You can optionally associate the region definition with a profile. This technique is useful to expose in the WLP content type a combination of the fields from the profile as well as elements from the region. If no profile association is configured, then the WLP content type will contain a combination of all metadata fields on the content server as well as elements from the region.To associate a profile with the region definition, select Modify Metadata at the bottom of the region edit dialog. The Enable Metadata Modification dialog appears. In this dialog, select a profile from the Profile Trigger Value popup menu in the lower-right hand corner, then click OK. This associates the region definition with that profile.
You are now returned to the top-level element definition dialog. At this point, you must save the element definition. Click the Save icon in the to-left part of the window.
The creation of the regions-based content type is now complete.
Figure 3-29 and Figure 3-30 show what the regions-based content type created in this section looks like when viewed from the WebLogic Portal Administration Console.
Figure 3-29 Region-Based Content Type Surfaced in WebLogic Portal
Figure 3-30 shows the property descriptions for the content type.
This section explains how to use Oracle Site Studio and the UCM Administration console to create content using region definitions. The goal of this procedure is to create region-based content in UCM and have that content and its properties appear in the WebLogic Portal VCR. The Site Studio region elements will be expressed as property fields in the VCR.
For background information on Site Studio, see Section 3.1.2, "Best Practices for Modeling Content."
As a best practice, it is recommended that you first create a profile definition to associate with a newly created region-based content type definition. If you do not associate a region definition with a profile, then by default the region-based content type will be associated with a global profile and all UCM metadata fields will be exposed when viewing instances of content based on the region. UCM uses profiles to manage how metadata is structured and displayed.
Note:
The example in this section uses the Article profile definition discussed in the previous example, Section 3.8.1, "Creating Profile-Based Content Types with the UCM Administration Console."The basic steps described in this section are:
Select the region definition from which the new content node will be created.
Create an empty contributor data file based on that region definition.
Edit the contributor data file to populate the content fields.
This section describes how to select the region definition in Site Studio. Region definitions can also be selected outside of Site Studio Designer, in the Content Server.
Start Oracle Site Studio.
In Site Studio, select Region Definitions from the Site Assets dropdown menu, as shown in Figure 3-31.
From the resulting list of region definitions, select a region type on which to base the new content node, and select the Doc Info button to launch the Oracle Content Server Administration console, as shown in Figure 3-32. It is also possible to create contributor data files outside of Site Studio Designer, on the Content Server. The important part is to first locate the region definition.
From the Content Server Administration console, select Create New Web Asset from the Content Actions dropdown menu, as shown in Figure 3-33.
Figure 3-33 Selecting from the Content Actions Menu
The Content Check In form appears for the Contributor data file. Fill out the ContentID and Title fields. Be sure and associate the Type field with the appropriate profile. In this case, select Article Document. Set the Author and Security group fields as appropriate. See Figure 3-34.
Note:
Be sure and set the Folder location to save the data file otherwise it will not be browseable by the Portal Administration Console or Content Presenter, though it can be located via search.Select Check In. The Check in Confirmation Dialog appears.
In the Check In Confirmation Dialog, click the Content Info link to navigate to the entry for the contributor data file, as shown in
Figure 3-35 Clicking the Content info Link
From the Content Information screen, select Content Actions > Edit Data File from the Content Actions dropdown menu. The Site Studio Contributor Data File Editor appears.
Use the editor to enter information in each of the pre-defined region fields (plain text, WYSIWYG, static list, and link. Also, select the Metadata tab and enter metadata for the contributor data file. Note that the available metadata fields are associated with the profile with which this content is associated. See Figure 3-36 and Figure 3-37.
Figure 3-36 Editing the Contributor Data File
Save the file.
The following figures illustrate how this new content appears in the WebLogic Portal Administration Console. Remember that all Site Studio Region Elements are presented as WLP properties fields. See Figure 3-38, Figure 3-39, Figure 3-40, and Figure 3-41.
Figure 3-39 UCM Content Fields Surfaced in VCR
Figure 3-40 UCM Content Properties in the VCR
Figure 3-41 UCM Content Properties Surfaced in the VCR