After upgrade from EPiServer 9.5.0 to 9.7.1 we have encountered a problem with a custom content provider. It's a read only provider that fetches external employee data and generates pages of a specific type (EmployeePage inheriting from PageData). The reason we use pages is that it should be possible to create Employee pages with all data stored in EPiServer outside the entry point of the content provider. It must also be possible to create an employee page that fetches data from an employee page in the content provider and add additional information that doesn't exist in the external system.
What happens after upgrade is that no view is loaded when we click an employee page that's inside the content provider entry point. It works fine for employee pages outside the provider entry point. If I check the network tab and console there are no errors. No errors or warnings in the log either.
Does anyone know if there are any changes in Content Providers or something connected to it since 9.5.0 that might cause this?
You can take a look at the source code for the provider here:https://gist.github.com/MattisOlsson/f4335a6459c86416f412
I should also mention that if I create an employee page outside the provider that fetches data from a page inside the provider, this page is displayed as expected.
This is a complete shot in the dark, but there were changes releated to cache eviction in 9.7.0. I see that you do some custom stuff with cache keys etc in your provider. I have no idea how that would relate to template resolving or rendering, but you could try to temporarily remove your custom cache handling and see if it makes any difference.
Thanks for trying to help. I did what you suggested and removed the caching overrides but, unfortunately, no difference. Absolutely nothing happens in the UI. It just stays the same as it was before the click. The provider also contains Folder pages, extremely basic page data with no additional properties and without page template, and the same goes for them.
Here's a list of all the ajax requests after click on a page in the provider (status code 200 on all of them):