I'm not sure what the best solution for this is, but let me tell you my problem (feel free to edit my issue title to suit). I am integrating the storm project management module with aegir. The idea was to add the storm person as a nodereference to the site content type.
However, it seems like hosting_site and hosting_client are pretty well linked, and they have dependencies on each other, so even if I add my nodereference, then the site node will essentially have two clients. Is there any way to decouple sites and clients...perhaps my making clients optional? There are already several modules which do the crm function pretty well, like civicrm and storm, and probably a few others, so I don't see why aegir has to reinvent that part of the wheel.
Comments
Comment #1
Anonymous (not verified) commentedThis sounds a bit like #585814: client/user relationship UI present even when client feature is disabled in that Clients is sort of entrenched into Aegir even if the Client feature is actually disabled.
Aegir isn't trying to reinvent any wheels. The Client node is a wrapper that can be associated to sites (and soon platforms). Users who are mapped to that client can manage sites for that Client. I don't feel this is really something that should only be done with a fully fledged CRM, though it could be.
I would also not want to have to install something like Storm just to have multiple clients in my Aegir system. There is a tradeoff between what is reinventing the wheel and adding dependencies on even more modules.
However we do acknowledge that the Client logic is far too entrenched into the system and cannot really be switched off. That is indeed a problem.
Comment #2
meecect commentedno, i'm not suggesting forcing people to install a crm, i just want a way to turn off the client module and have the client field disappear to let the user choose how to manage clients. I took a look at the code and saw how the two modules are intertwined and assumed that was by design, which is the reason for 're-invent the wheel' comment, since the way it is now basically precludes one from using any crm without duplicating the hosting_client and hosting_sites linkage.
I'm happy to take a shot at de-linking them a bit...do you have any clues as to the direction(if any) you guys have been considering in de-entrenching it?
Comment #3
anarcat commentedWe will not remove the hosting client column: there's no way a third party module (hosting_client) can modify another module's (hosting_site) database scheme reliably. So unless I'm wrong in that assumption, the client field should stay: it's the UI controls that should go away when the module is disabled.
There's a separate issue about that other problem so I'll close this issue. See #585814: client/user relationship UI present even when client feature is disabled.