I'm working on an ERP system. Some of our clients have specific requirements, that doesn't make sense in other cases. For example they need a specific component on the invoice document editor and a custom report. I don't want to make separate branches for them. Creating specific functionalities, that are visible or not, depanding on configuration is also inconvenient.
I want to separate main application and lets say "plugins" (modules or RSLs) - 1 plugin for 1 client. Single plugin would contain specific controls that the main application would put on the document editors and other basic components, custom reports, functions implementing specific profit margin calculations used by the main app etc.
My question is: What is better to use modules or RSLs?
Important thing: Main application knows only plugin path and names of classes it contain (names are loaded from XML configuration) and uses them as general data types like Container or UIComponent. I don't want to recompile main application each time I change something in the plugin or create a new one. Shell provides only some kind of API that plugins use, but doesn't know classes, they contain.
Project is written with Flex SDK 3.2
I would be greatful for any advices and suggestions.