AI OnAI Off
The issue was, I'd implemented an HTTPModule that enforces lowercase URLs by 301 redirecting the user if the URL contains an uppercase character.
This was interfering with the EPiServer UI. The fix was to make the module ignore the EPiServer URLs
/EPiServer/*
/util/*
/webservices/*
/indexingservice/*
When I log into Edit Mode in the CMS, I'm seeing an XHR request to
/episerver/shell/stores/metadata/?type=episerver.core.contentdata&modelaccessor=%7b"contentlink"%3a"4_15"%7d&dojo.preventcache=1375777551208
which is resulting in a YSOD and balking all JavaScript in the editor. The text of the error is below.
What might be causing it?
The JavaScript call stack isn't very helpful. It's a bunch of anonymous functions and callbacks in dojo.js, epi.js and widgets.js. The application is based on the Alloy MVC sample site.
YSOD
=================================
Server Error in '/' Application.
Model accessor arguments are not supported
Parameter name: arguments
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.ArgumentException: Model accessor arguments are not supported
Parameter name: arguments
Source Error:
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
Stack Trace:
Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.18045