best practice question about modules/models

i am building a modular admin system and i’m stuck with how to handle the orm models.

for example, i have a admin-user module with several orm models such as user.cfc, userPermission.cfc etc… and I want to make the system extendable without having to modify the source models.

Is there a way to programmatically extend a model within a module?

I can see others who want to install admin-user module from forgebox and add fields to the user.cfc. maybe they want to add a company or title field where my module does not have these fields.

does this make any sense?

i’m trying to make my admin system as modular as possible without modifying the source itself. just thinking outloud.

Not sure if it’s what you’re looking for, but you could use a mapped superclass with basic orm properties, as username and password. Then your user.cfc could extend this adding new properties.