Content modeling
Describes how modeling of content types in CMS (SaaS) affects the Optimizely Graph schema and indexing.
Content types defined in Optimizely Content Management System (CMS) (SaaS) are registered in a corresponding graph schema in Optimizely Graph. Content instances are indexed as queryable items in Optimizely Graph. The following describes how settings defined on the content types or content instances are indexed in Optimizely Graph.
Base types
When a content type is defined, the base type for that content type is also specified. Each base type has a corresponding Optimizely Graph schema defined that can be used to query content types of a certain base type. For example, all pages or all media types. See Content base types.
Content properties
Content types defined as components or elements are used as properties of other content types. In Optimizely Graph, each content type of type component or element is registered as a content type and as a property type. The property type will get the suffix Property
. For example, if a content type Teaser
is defined with base type component
, then two graph types are registered, Teaser
and TeaserProperty
.
The type Teaser
is used when the component type is used as a standalone instance (shared block or component) or within a ContentArea. The property type TeaserProperty
is used when the type Teaser
is used as a property on another content type. The difference between the graph types Teaser
and TeaserProperty
is that Teaser
will have an additional property _metadata
that contains metadata about the content instance, such as key
and displayName
.
Indexing type
When modeling a content type property in CMS (SaaS), the field indexingType
is specified to control how the property should be indexed within Optimizely Graph. The different possible values are:
Default
– The property is indexed in Optimizely Graph, but it is impossible to filter or sort on. Neither is it part of full-text searches.Queryable
– The property is indexed in Optimizely Graph and can be used in filtering and sorting. The property is not included in full-text searches.Searchable
– The property is included in Optimizely Graph and can be used in filtering and sorting. The property is also included in full-text searches.Disabled
– The property is not included in Optimizely Graph indexing.
Access rights
The Optimizely Graph indexing of content is performed by a principal that is part of the role SearchIndexer
. By default, this role has read access to content instances and the content that is indexed in Optimizely Graph. If there are content instances that you would want to exclude from Optimizely Graph indexing, then remove Read
access for the role SearchIndexer
for those content instances.
Reserved names
GraphQL does not have a namespace resolution for types, and types must be unique in naming. The following content type names are reserved to avoid conflicts with those built into CMS (SaaS) and Optimizely Graph:
String
Int
Float
DateTime
JSON
Boolean
RichText
orSearchableRichText
Link
ContentReference
ContentUrl
Updated 4 months ago