v4.4.0
This update primarily focuses on introducing new extension methods for registering topic areas (66c53c9). In addition, it also shores up the implementation of Oroborus Configuration, helping ensure that updates to ContentTypeDescriptor
and AttributeDescriptor
instances are reflected immediately in e.g. the OnTopic Editor. These were caused by version conflicts introduced by multiple in-memory instances of the same topic entities stored in e.g., TopicRepositoryBase._contentTypeDescriptors
and CachedTopicRepository._cache
(85216c4). Finally, this separates out the verbose sitemap into an Extended()
action—which includes all relationships and attribute metadata; the default Index()
now outputs a shorter form sitemap, based on the data most search agents utilize (86df229).
Features
- Introduced a series of extension methods for configuring topic areas—including
MapTopicAreaRoute()
,MapDefaultAreaControllerRoute()
, andMapImplicitAreaControllerRoute()
(66c53c9) - Introduced a new
Extended()
action onSitemapController
to display extended metadata, while setting the defaultIndex()
action to display a standard—and much smaller—sitemap (86df229) - Containers are used to organize topics, but aren't intended to be displayed to users. They are now hidden from the Sitemap (87b6d1b) and will return a 403 Unauthorized if accessed (e4130cf)
Improvements
- Significantly improved real-time updates of Oroborus Configuration via OnTopic by introducing code to centralize references of
GetContentTypeDescriptors()
in order to avoid version conflicts with e.g.CachedTopicRepository
(85216c4) - Extended the search criteria for mapping routing variables to topic paths in order to support implicit controllers (74a8a76)
- Implementing .NET Core 3.x's
{**path}
catch-all route handling for thepath
variable, ensuring it is not encoded (30c6691)
Maintenance
- Updated development and build dependencies in NuGet (21a9ad7)