Optimizely Graph packages released throughout 2024. Product packages are found on the Optimizely NuGet server.
You can find prior versions of user guides and when functionality was released or deprecated at the following locations:
December 27
Optimizely.ContentGraph.Cms 3.14.3
Bug fixes
-
CG-8931 – Fixed a bug where users could not sort children by the page tree sort order when using a
_link
of typeCHILDREN
registered by the CMS integration because theSortOrder
property is not exposed in the synced document. -
CG-9798 – Fixed a bug where the
ContentArea
fields are sometimes synced as "String" types in the Optimizely Graph schema. This occurs due to the incorrect handling ofContentArea
properties when pushed from theContentTypeIndexer
. -
CG-10035 – Fixed a bug where
ContentTypeNameValidator
was not thread-safe. -
CG-9355 – Fixed an issue in
AsyncLocal
inContentTypeSerializer
that caused issues when there were multiple parallel content type syncs (like when doing event indexing). -
CG-9873 – Fixed an issue that caused an
IndexOutOfRange
exception for blocklist. -
CG-9597 – Fixed an issue in
Optimizely.ContentGraph.Cms
3.13.0 that prevented synchronization of Forms to Gateway. -
CG-10043 – Fixed an issue that called
GetContentTypes
over and over that caused huge unnecessary allocations from indexing. -
CG-9216 – Changed the following interfaces from internal to external namespaces.
IContentIndexer
IContentApiModelProperty
ITypedContentApiModelProperty
-
CG-9218 Fixed an issue in
Optimizely.ContentGraph.Cms
3.11.0 that brokeLinkItemFilter
for Content Delivery API. -
CG-9801 – Fixed an issue where the
XhtmlString
's structure in theBlock
property was null whenRichTextStructAsJson=true
. - CG-10049 – Fixed an issue where Optimizely Graph sync status icon is always showed as unsynced.
December 17
Optimizely.ContentGraph.Cms 3.14.2
Optimizely.ContentGraph.Core 3.14.2
Introduced new settings to optimize the sync of related content in CMS 12. The CMS 12 and Optimizely Graph integration now expands ContentReference
, Url
, and LinkItem
properties, as well as ContentArea
and ContentAreaItem
.
Previously, content related to other items through these properties could cause cascading updates. The new settings let you control when these expansions occur. For detailed information about these settings and their usage, see Configure resync of related content.
December 3
Optimizely.ContentGraph.Cms 3.14.1
Optimizely.ContentGraph.Core 3.14.1
Improved the internal class ContentTypeLoader
for faster content creation. The ContentTypeLoader
is frequently used for sending content to Optimizely Graph.
November 21
Optimizely.ContentGraph.Cms 3.14.0
Optimizely.ContentGraph.Core 3.14.0
- Released the Conventions API that lets you add abstract CMS types and interfaces from CMS 12 to Optimizely Graph. You can also extend types with custom fields.
- To configure conventions, get the singleton instance of
ConventionRepository
and then do the configuration. - Perform the configuration only once during the site's startup because modifying conventions while the site is running can cause unpredictable behavior.
- To configure conventions, get the singleton instance of
Service deployment 3.13.3
- Updated query results so that they stay longer in the CDN cache, by adding the
query-string cache_uniq=true
to the Optimizely Graph request.- The
query-parameter cache_uniq
must only be used for queries where you filter content for a specific item, for example, get content by id, get content by path, get content by url, or similar. - Optimizely Graph creates a cache-tag using the returned ID from the result and caches the result with that cache-tag. Optimizely Graph purges the cache (cache invalidation) for the cached result (when
cache_uniq=true
) when the content item with the specific ID is re-published or deleted.
- The
November 5
Optimizely.ContentGraph.Cms 3.13.1
Optimizely.ContentGraph.Core 3.13.1
- Updated the request protocols for the Client package from HTTP/1.1 to HTTP/2.0, improving performance and efficiency by leveraging Cloudflare's support for higher HTTP versions.
October 29
Optimizely.ContentGraph.Cms 3.13.0
Enhancements
- Added the possibility to boost your results based on the value (number) that exists for a specific field. See Boosting.
- Added the ability to specify a GeoPoint in the GraphQL schema using an inner latitude (lat) and longitude (lon) field. See Geo search.
- Added the ability to boost by the datetime field. See Boosting of datetime fields with a Gaussian function.
Bug fixes
-
CG-8641 – Fixed a bug where queries using the
Data
type for SaaS CMS accounts returned zero results. - CG-8910 – Fixed a bug where content in a local block was not being indexed for search, preventing it from appearing in the parent content's _fulltext field.
-
CG-8935 – Fixed a bug where querying a page type's ContentArea returned an error after updating complex properties from non-required to required with
CMSGraphOptions.EnableNullability
set totrue
.
September 25
Optimizely.ContentGraph.Cms 3.11.0
Enhancement
Added the ability to mark required fields as not nullable in GraphQL for CMS 12.
Bug fixes
- CG-7262 – Fixed a bug where pages with a LinkItem property set to Automatic in a multilingual CMS configuration did not generate language-specific Href links. Instead, both language versions are linked to the same language page.
-
CG-7731 – Fixed a bug where ContentReferences were instantiated using new ContentReference(id) instead of consistently utilizing the three-parameter override constructor,
new ContentReference(id, workid, providername)
. - CG-8291 – Fixed a bug where the scheduled job in CMS would sometimes fail with the error "timed out while waiting for a dynamic mapping update".
- CG-8314 – Fixed a bug where an empty CMS or Alloy site would crash if a user typed some keywords and searched for content.
- CG-8519 – Fixed a bug where requests could result in a 401 error when the Optimizely provisioning service experienced a high load.
- CG-8558 – Fixed a bug where extracting content could sometimes give the error "Stream does not support reading".
- CG-8566 – Fixed a bug where referenced content is not sent to Optimizely Graph in correct batches when a content item that is being referenced from different places is updated. This can lead to longer synchronization time.
- CG-8955 – Fixed a bug where queries with facets on numbers could sometimes get the wrong matching values.
August 7
Optimizely.ContentGraph.Cms 3.10.0
Enhancements
Added the ability to add a property similar to __typename in the CMS integration.
Bug fixes
- CG-6303 – Fixed a bug where links of page types did not display in relative paths when ForceAbsolute is set to false.
- CG-7957 – Fixed a bug where when updating a property on a page with several languages and the property on that page is not unique per language, it would take a long time to update the property in Optimizely Graph.
- CG-8205 – Fixed a bug where blocks configured with language fallbacks were not appearing in the alternative language version of the page.
- CG-8253 – Fixed a bug where it was impossible to set the MaxDeepLevels for properties.
- CG-8314 – Fixed a bug where an empty CMS or Alloy site would crash if a user typed some keywords and searched for content.
- CG-8319 – Fixed a bug where an error would display when editing a page containing a fallback language setting in ContentArea.
June 25
Optimizely.ContentGraph.Cms 3.9.0
Enhancements
Released the ability to use a scheduled job to send Commerce content to Optimizely Graph.
Bug fixes
- CG-7431 – Fixed a bug where the indexing job failed with a "mapper_parsing_exception" error when content types had properties named "Link".
-
CG-7685 – Fixed a bug where the
p_VirtualLinkProp
field in theLinkPropertiesBlock
query returned null instead of the correct value. -
CG-6608 – Fixed a bug where indexing failed due to a Rich Text fields (
XHtmlString
) serialization error when a Form was included in a Rich Text field. -
CG-7918 – Fixed a bug where indexing failed due to a Rich Text fields (
XHtmlString
) serialization error when a Form was included in an Inline block. -
CG-8215 – Fixed a bug where the sync intermittently removed content items from the Optimizely Graph service, causing HTTP 404 errors on the website.
June 21
Service deployment
- Introduced the capability to send
XHTML
strings as JSON objects within the schema. - Released the ability to use the `exist` operator for date or number fields.
- Released the ability to do recursive calls within a query.
- Released the ability to use categorical facets to create facets for integer values.
May 21
Optimizely.ContentGraph.Cms 3.8.0
Enhancements
- Added the ability to add an attribute to content type properties in C# to select if and how each property should sync with Optimizely Graph.
- Implemented support for DateTime objects in the JSON content type. You can configure this in startup.
Bug fixes
- CG-6934 – Fixed a bug where Optimizely Graph encountered syncing issues with content providers that do not inherit from CMS or Commerce base types. This limitation hampered the integration of alternative content sources like Geta categories.
April 16
Optimizely.ContentGraph.Cms 3.7.0
Enhancements
- Added the ability to prevent field collisions by updating the appSettings.json in CMS.
- GraphQL implemented support for DateTime objects in JSON content type. Configure this in startup.
- Added the ability to implement the interface
IGraphLink
and register the type instartup.cs
. - Added the ability to add an attribute on content type properties in C# to select if and how each property should sync with Optimizely Graph.
- Added support for the creation of snippets for values for searchable string fields. A snippet is a short text fragment comprising the words you have searched for.
- Added the ability to sort by the _modified field, so you can sort content by the datetime of modification by the system.
- Released the ability to set the minimum score for the returned search results so that you can limit the number of irrelevant results
Bug fixes
- CG-7048 – Fixed a bug where you could not query a name inside inline fragments.
- CG-7260 – Updated the sorting query to be more robust, so it can sort correctly, even when the type is incorrectly mapped to the index schema.
- CG-7424 – Fixed an issue where the "contains" and "match" operators return incorrect data when handling text that contains tone marks.
March 19
Optimizely.ContentGraph.Cms 3.6.0
Enhancements
- Included an option for users to choose not to extract text from media content. Go to
startup.cs
and setExtractMedia
to false. - GraphQL implemented support for DateTime objects in JSON content type. Configure this in startup.
Bug fixes
-
CG-6778 – Fixed an issue where restricted content did not display in the
ContentArea
of a page even though the content had the same access permissions as the page. - CG-6834 – Fixed an object mapping issue when the Optimizely Graph content synchronization job was run.
-
CG-6682 – Made
SearchableSuffixContentTransformer.MaxDepth
configurable by using code orappsettings.json
.
January 16
Optimizely.ContentGraph.Cms.3.5.2
Enhancements
- Implemented
XHtmlString
field in JSON format for the following content types:ContentReference
ContentReferenceList
LinkItem
LinkItemCollection
ContentArea
ContentAreaItem
PageReference
Bug fixes
- CG-6681 – Fixed an issue where the Content Management System (CMS) became unresponsive due to high memory usage when the Optimizely Graph sync job was run multiple times.
- CG-4640 – Fixed an issue where the Optimizely Graph content sync job did not stop after the job was canceled and the page was refreshed.
-
CG-6567 – Ensured that when querying for form data using
ContentDeliveryAPI
,formModel
property returns in the result. - CG-6268 – Fixed an issue where the MVC engine was called from Content Delivery.
-
CG-6361 – Fixed an issue where the Delta indexing job ran successfully after reindexing the site but an error message displayed in the console.
[20:31:15 ERR] Deleting failed for content by path:
System.ArgumentNullException: operations cannot be null, empty, or contain any null or empty items. (Parameter 'operations')
at Optimizely.ContentGraph.Core.Internal.Helpers.ObjectExtensions.ValidateNotNullOrEmptyArguments[T](IEnumerable`1 argument, String paramName)
at Optimizely.ContentGraph.Core.Client.StreamAsync(IEnumerable`1 operations, CancellationToken cancellationToken)
at Optimizely.ContentGraph.Cms.Core.Internal.ContentIndexer.DeleteAsync(IEnumerable`1 deleteItems) -
CG-6475 – Fixed an issue where
IList
property caused an error when you synchronizedcontenttype
. - CG-6573 – Fixed an issue where the sync job failed and an error log displayed when a block list property was created from Content Types UI instead of with code.
Please sign in to leave a comment.