Hello people,
I am new to FME (about 3 months) and this is my first post on this community. So, please be patient, if this question sounds ridiculous to you ;-)
The background of my question is as follows:
I have a big major workspace and want to split this into a few smaller, less complex, workspaces. In addition, I would like to re-use some of these new small workspaces in another context. Therefore, my idea was to build a few FME-workspaces as modules and use these modules to build bigger major workspaces.
I understand that I can use custom-transformers and/or workspace-runner for this, but both do have some disadvantages on its own.
Workspace-runner on the one hand, can just run another workspace (as the name says) and it can transfer data from the parent-workspace to the child-workspace via published parameter. However, the workspace-runner cannot give you an output from the child-workspace back to the parent-workspace (if I am right here?). So the workspace-runner is limited in its use.
Custom-Transformer on the other hand, are basically small workspaces on its own, which can get input from its (parent-)workspace and can give an output back to it, too. Therefore, the disadvantage of the workspace-runner is not present here. However, since custom-transformer are not real independent workspaces, you can't use this transformer as a module in other workspaces (if I am right here?).
The only way, I could find out, was to copy this custom-transformers to the other workspaces. Problem with this solution: If I do modify the custom-transformer (i.e. I do fix an issue in its logic) in one workspace, it will not be updated in other workspaces.
So, I try to figure out, when to use which and if there are some best practices for this.
Best greetings and thanks for help
Florian