Hi @andymp ,
We did something similar for OJS 3.0; see:
I think your approach should work well, though you might want to check what happens when filenames clash – e.g. whether recompiles are triggered as expected by template file modifications. I remember running into a few small issues there.
Regards,
Alec Smecher
Public Knowledge Project Team