I am writing a CMS working with modules and I have issues with the following scenario. Let's assume I have 2 websites and therefore 2 installations of the CMS. I have a 'Admin/Permission' module that manages administrators and permissions. if a bug is found, I can fix it and apply it to both systems using composer. That's easily done. My concern is more when one the system needs a customisation. Let's say after 6 month of usage, one the sites needs extra properties for the admin model. Updating the model, views... would have to be done but would be reflected in both CMS which we certainly don't want. What would be the best approach to allow this kind of flexibility ?
I am thinking of duplicating the 'Admin/Permission' module and customising it. Remove the current module, add the new module. Run a migration/seeding and all might still be working as before. But now I have 2 'Admin/Permission' module to maintain. Not great...
Any idea? suggestions?