I'm posting here since it's probably beneficial for others to read/participate in our discussions (Kevin: would this be more appropriate for the developers' forum?).
I think your implementation of derived galleys is a great idea, especially the "hidden galleys" concept for syndicating content to various metadata repositories. While non-medical journals can't use Medline, and CrossRef requires membership, "open" repositories like DSpace-based archives (eg. TSpace, https://tspace.library.utoronto.ca/
) or any other LOCKSS targets (even just a backup FTP server) could easily be added.
The biggest challenge I see is incorporating the data pipes as easily as possible; for example, with XSL, it reqiures a working XSL engine installation (eg. sablotron) and knowledge of configuration. PHP4 offers an extension for XSL, and PHP5 includes it natively, but these would increase the OJS2 requirements accordingly. I wonder what others think about this?
Perhaps a user-friendly way to do this would be to probe which PHP functions are available (ie. FTP commands, XSL commands), and then provide parameter-based dropdowns for the "kind" of derived galley to use when defining one, with a default "executable command" always available. More work, but it cleanly enumerates the options available on any given OJS2 install based on the PHP version, etc.
Something else I've been thinking about for a while is the ability to edit derived galley components (ie. the XSL stylesheet, or the XML source) directly from OJS, for example in a richtext editor. Obviously this is very difficult with current tools, but it would give greater control over versioning of both source and galleys from within OJS. Again, just an idea.
Also worth noting, since I've fielded the question several times in the past, is that even though we use the NLM-JP XML standard (and I happen to think it's the best DTD out there), there is no obligation to use it - any XML DTD (or W3C schema, even) is useable as long as your XSL path produces a valid output. For example, I know some were looking at the Erudit (http://www.erudit.org/en/
) DTD, which is a completely valid alternative.