I don't know whether this is directly related to EventsX, or whether it's a general MODx oddity.
MODx version is 2.3.3 running on CloudLinux and PHP 5.5, with EventsX installed (no longer supported, I expect) and friendly URLs enabled.
Background info:
EventsX uses a plugin which runs on detection of the OnPageNotFound event. This plugin determines whether to show the 'summary' list of events page, or the 'detail' page for an event by inspecting the URL.
Summary resource URL:
http://domain.com/events/
Detail resource URL:
http://domain.com/events/Some+Event/2
The Summary resource is a single valid resource, and displays as expected.
There is no specific resource at the event detail URL, instead the OnPageNotFound handler should fire, set placeholders and redirect to a single event detail resourceId (so, one resource for summary, one resource for detail).
The only way I can get the plugin to run when the detail resource is requested is by adding some debug to the EventsX plugin script:
$modx->log(modX::LOG_LEVEL_ERROR, '404: URI: '.$_SERVER['REQUEST_URI']);
With that in the plugin script, everything works as I would expect. Remove it, and navigating to the event detail page (which has no resourceId and should trigger the OnPageNotFound event) results in the events summary being displayed instead.
My question is, why would the addition of a simple line of debug make a difference to processing and event handling?