After much thought and discussion about the best way to handle branching content, I've ended up creating a fully regularized version of each original primary source document, and using the original approach to switch between them as we do on the current website. This avoids a great deal of complication, although we will have to be careful about how we handle search results to avoid pointless duplication. We can index different document sets in both eXist and Solr.
I'm working on a standard, simple way to do faceted searching based on metadata in the HTML header which is encoded in a standardized manner, and how to optimize that using eXist index configuration. I've made a lot of progress, using DC Terms vocabulary in meta tags in the header (supplemented with some custom stuff in our own scheme space) and range indexes. I've also been tangling with the issue of switchable content based on choice elements; ideally, we would be able to switch in the interface between a diplomatic transcription and a normalized one, by hiding and showing various elements, which is fine; but I'd also like to allow searching in the same way, which requires creating parallel indexes in which components are ignored. This can't be done with current eXist capabilities because you cannot tell the indexer to ignore elements based on predicates (here attribute values), and these elements will all be spans distinguished by classes. Still working on this right now.
Working on automated app deployment for easy testing purposes; found bugs in eXist code and made pull request with fixes. Also abstracted the 404 mechanism to a separate doc.xql file which can handle searching within a specific file at the same time. Haven't got search working yet; ft:query seems to give completely unpredictable results in the current RC1 of eXist, but that could be due to my indexing.
After some struggles I have the custom 404 page working from the controller; I've added stuff to the ressources.html page, and changed how it's created, to include the html pages too; I've got thumbnails and gravure pages working; and I've fixed a pile of other minor issues, including working around a problem with the xslt task in ant, when transforming a set of files (you MUST set the reloadstylesheet attribute to true if you're processing multiple files and expecting global variables to be reinitialized each time.)
Lots of tweaks to the build process and changes to controller.xql, and I now have a working "tinysite" web app from Mariage. Yay!
Also worked on the Tiny Site functionality to ensure the search page is included in it, along with some other site chrome which has been recently added.
The references pages were having problems due to two-level linking and AJAX; I've now simplified the AJAX fragment output (bibls and refs both in the same folder now) and tweaked the JS so that if it tries to get a local ref but doesn't find it, it just uses AJAX instead. Also fixed an annoying empty link that was being created from an old artifact of the Cocoon site.
PS has the mobile menu working through pure CSS, so got rid of some unwanted HTML; added a new footer with some pertinent logos/links; attempted to implement a JS-based scroll for target elements hidden by the fixed position banner stuff, but it's too complex because the media-query-based CSS has different position settings for that content based on device characteristics, so it can't be simply overridden as it could be on MoEML. Found a half-working (Chromium and Opera but not FF) solution with pure CSS; that will probably have to do for now, I think.
The welcome/about pages have had a couple of tweaks.
Met with PS and CC to make changes to the document structure to support the styling work. It's all looking good, with only a few remaining features that are not functioning properly. Also polished off the latest consistency check problems.