Skip to content

v1.2.0

Compare
Choose a tag to compare
@JeremyCaney JeremyCaney released this 30 May 21:40
· 146 commits to master since this release

This update builds off of OnTopic Library 4.3.0 in improving performance and reliability when importing and saving large topic graphs. Most notably, this includes the ability to dynamically update the content type and attribute schemas based on the in-memory topic graph, thus addressing potential conflicts between the current configuration and the imported configuration. This is especially critical when bootstrapping an empty database with a reference configuration, which is now supported. In addition, a number of updated have been made to better maintain referential integrity, such as support for implicit topic references—i.e., references that point to other topics. Those are now translated to unique topic keys on Export(), and then translated back to topic identifiers on Import().

Features

  • Support translating implicit topic references from Topic.Id to Topic.GetUniqueKey() on Export() (0993ea3) and then back to Topic.Id on Import() (37d7a82) in order to maintain referential integrity of topic references saved as attributes (2467351); this can be controlled through the new ExportOptions.TranslateTopicPointers option (b32304b).
  • Built-in support for resolving explicit references (such as relationships and DerivedTopics) which point to topics which haven't yet been Import()ed; the Import() will attempt to resolve these once the graph has been fully imported (96f1473).

Bug Fixes

  • Fixed bug in which ParentID and TopicID were included as part of Export(), which introduced referential integrity conflicts on Import(); this could result in DerivedTopics being updated to point to different topics (60ab46b).

Code Changes

  • Updated Export() to use newly centralized Topic.GetByUniqueKey() extension method instead of its own local helper function (930538e).
  • Updated Import() to use newly centralized AttributeValueCollection.IsDirty() instead of its own locally defined logic (b9143a5).
  • Updated Import() to use newly created Topic.IsNew property for detecting if topic references are valid (94f1efc).

Maintenance

  • Updated various internal dependencies