Before this change, the StopRoutingHandler wouldn't work, since the wrapping HttpHandler would invoke the GetHttpHandler on the nested route handler, which in the case of StopRoutingHandler would throw a NotSupportedException.
Maybe a better, more generic way would be to somehow identify which routing handlers should be wrapped and which shouldn't be, maybe based on the result of the GetVirtualPath method on the RouteData object (e.g. if it returns "null", don't wrap).
This fixes an issue causing a YSOD on the AuditTrail screen by recording all relevant data for the AuditTrailSettings event provider, such that the event providers themselves can be disabled without breaking the recorded events (which relied on the Event Descriptor to be available when rendering the event, which is unavailable if its providing feature is disabled).
Work Item: 21091
The issue was that if you first "new up" a content item, update its content fields, and then invoke "create", its version record will be created, effectively wiping out the content fields' state.
Since we already know we want to create the content item, we can new up the content item and go ahead and create its version record, deferring event handlers from being triggered when we would start out with "Create".
The problem before this change was that the cache manager would cache an empty list of elements when trying to locate a blueprint element without specifying a content item.
The VaryByParam property allows additional control over the cache key.
This allows for more granular control over what gets rendered when.
One scenario that this enables is where one can create an Element Blueprint and use it as a widget via the ElementWrapperPart.
- Removed all the infrastructural code that enabled each element to contribute to the index.
- Indexing now happens in the LayoutPartHandler, where the LayoutPart is rendered to HTML, which is then being indexed.
- Removed png image for toolbar buttons in mediapicker and medialibrary plugins and replaced with vector icon to harmonize with other toolbar buttons.
- Fixed styling of menu items and enabled menu bar and status bar.
- Improved toolbar button ordering.
- Enabled more features.
- Added styling of pre and code elements in editor.
- Cleaned up JavaScript formatting.
Because Orchard.Pages no longer adds the BodyPart by default, the Core recipe will have to add it, since it uses the "page create" command which expects the BodyPart to be there.
Unfortunately we can't sort by ModifiedUtc without grouping by it. The problem with grouping by ModifiedUtc i that it will cause to show items that are no longer deleted. I think we need a Deleted flag.