I want to thanks FusionPBX community for their sponsor. Without the given support this new capability wouldn't be possible. Today I have published into the FusionPBX pull requests 3972 and 3973 (for FusionPBX 4.4). This new capability gives your PBX the parent-child domain. This means an admin user will be able to manage more than one domain without being super-admins. The best case scenario for this is new capability is the reseller one.
Once it is configured, you may give access to a reseller and let him manage their domains. I will explain how it works.
FusionPBX Reseller Patch in Action
As super-admin, you need to create the domain or edit those you already have. You will get your domain list as follows:
Note the "-", for example, domain customer1.okay.network is child of resellera.okay.network. When you edit the domain, you will see the following:
You will need to select who is the parent domain. The patch is though to allow N levels. So you can have reseller of a reseller of reseller (if that applies for your business).
When the admin user of reselera.okay.network domain logs, he will see the domain list of the possible domains to manage. Look at the following image.
The reseller can move to the customer one and move back as he wishes. Only the admin menus will be available in all the domains. The reseller (admin user) will not be able to perform super-admin tasks such as creating inbound or outgoing routes (just to name one of many others).
Requirements for the Reseller Patch
- You must be using PostgreSQL 9+ or MariaDB 10.2+. Some queries were rewritten in a way that older versions won't work. If you are curious, you may look for recursive queries in Google.
How do I get this Patch?
You can review the pull requests. If you are a CentOS fan, you can get it already installed from my FusionPBX RPM for CentOS 6 or 7.
Other Thoughts about the Reseller Patch
This patch only allows you to save logins. Without it, you would need to create an admin user for resellera.okay.network domain and another for customer1.okay.network. In this little example, it doesn't represent a big deal. Now, think this on a business where resellers add one, two or three new domains a day.
The domain settings from the parent domain are not propagated to the children. This allows you to have exceptions. For example, if the resellera has a setting that customer1 doesn't like there is no need to create special configurations. Also, when you have hundreds of domains, finding where the setting is a challenge. Keeping the default settings and domain settings as they are, allows you only to look in two places.
The super-domain is still responsible for creating the domain (or an API key linked to a super-admin user) and linking it to a parent domain.
You will need to enable the domain_select and domain_view permissions for the admin group using the group manager. Do this as super-admin.
Updates about the Patch
Sadly, as I was writing this article. I just saw that the patch was rejected without any kind of explanation. If you think this is a capability that FusionPBX should have, please comment the pull requests 3972 and 3973.
Good luck!blog comments powered by Disqus