I've discovered that the imposeSortOrderOnPublishedCollection method is only called when a published collection Sort order is set to User Order.
Firstly, it would be exceptionally handy if this method was called for sorting on other criteria (Capture time, etc), as this can be required if photos are added to a published collection after initial publishing. The alternative to imposeSortOrderOnPublishedCollection is to maintain the values of each photo for Capture time, etc. on the server, and sort based on the value of Sort in the published collection.
While that in itself is a pretty clunky way of maintaining sort order on the back end, I find that even that appears to be an elusive approach, as the value of Sort doesn't seem to be available anywhere that I can see (within export settings, collection settings or publish settings).
Does anybody know how to obtain the value of Sort? Or if not, any better strategy to go about maintaining a non-user sort on photos on the server?
Or can anybody knowledgable confirm that I am indeed out of luck with this?
Photos are passed to export filters in the current sort order. So one kludgy way to do it is set up a mock export, which:
* (with all photos in the collection selected)
* Records the order as photo renditions are passed through..
* Skips rendering of all photos.
Unfortunately this can't happen programmatically since on-the-fly exports (built with LrExportSession object) can't include export filters, so ya kinda gotta recruit the user..