For Luxemburg, we made a change in merge-templates, to make sure MAEE's additional fields are included in the right order (the same way as the IATI elements).
As a result, we have two docker image versions: one with the Luxemburg configuration, one with the generic configuration.
Running locally, we could include the desired docker image tag as an optional workspace configuration variable, to determine which image to use.
Putting it into iati-workbench itself, it might be an optional variable pointing to a subdirectory from where to include the merge-activities template. All variations can then be put into a single docker image. (This might make re-use of "generic" improvements easier, although they also may break client-specific versions.)
Likewise, client-specific XML schemas can be added via this route as well.
For Luxemburg, we made a change in merge-templates, to make sure MAEE's additional fields are included in the right order (the same way as the IATI elements).
As a result, we have two docker image versions: one with the Luxemburg configuration, one with the generic configuration.
Running locally, we could include the desired docker image tag as an optional workspace configuration variable, to determine which image to use.
Putting it into iati-workbench itself, it might be an optional variable pointing to a subdirectory from where to include the merge-activities template. All variations can then be put into a single docker image. (This might make re-use of "generic" improvements easier, although they also may break client-specific versions.)
Likewise, client-specific XML schemas can be added via this route as well.