Domain Mapping System is integrated with the WPCS hosting platform to allow you to create a SaaS that supports domain management for your end-users.
If you're a SaaS/WaaS provider using WPCS.io as your hosting platform, you can use Domain Mapping System to give Customers full management over domains for their site.
Automating the domain provisioning process for each customer avoids having to create a customized solution directly with the WPCS API for your SaaS platform.
Less coding for SaaS builders = saving time and money!
In order to get started, make sure you've already registered an account on WPCS.io and created your first Product by clicking All Products > Actions > Create new product.
Click Actions Menu to Create New Product in WPCS
Then, create a Version for your Product:
Create a Version in your WPCS Product
After creating the Version, click on Editor to customize the Version for your customers.
Click Editor in the WPCS Dashboard to Customize the Version
After activation, you'll arrive at the Hosting Config tab.
Hosting Config Tab when installed on WPCS
Create a unique set of API keys in the WPCS Dashboard under Products > Select a Product > API Keys.
Creating API Keys in WPCS
Tenants will not have access to the Hosting Config tab, so the keys will be protected.
Go back to the Hosting Config tab and save the API keys.
API Keys in the Hosting Config Tab
Be sure to click Save after entering the API key details.
Now that the API keys are stored in your Version, your Tenants will be able to successfully manage domains on your platform.
The Domains tab is blocked on Versions, as there should be no need to map domains on a Version.
Domains Tab Blocked on Versions
Go back to the WPCS Dashboard, and Deploy the Snapshot. Or, if you have a customized solution in place, ensure your Tenants will be provisioned based on the configured Snapshot.
Deploying the Version in WPCS
To see how it works for your customers (Tenants), go back to the Actions menu and click Create Tenant. This will give you access to the Version you want your customers to see.
Each Tenant has a cost associated with it on WPCS, so if you don't need the extra Tenant, you might only want to create it temporarily for testing purposes and delete the extra Tenant after you're done testing.
Create a Tenant in WPCS
Tenants will have full access to manage domains in the Domain Mapping tab.
The Hosting Config tab is hidden from Tenants to protect your API keys.
Go to manage your Tenant and login. Visit the Domain Mapping tab, and you will see the root domain of the site at the top.
Root Domain Listed in Domain Mapping System Settings
You can then add any domains you want to the list, and they will be synced to the Domains section of the Tenant automatically, as seen in these two screenshots:
Mapped Domain in Domain Mapping System Settings
Mapped Domain in WPCS Dashboard
Set Mapped Domain as Main in Domain Mapping System Settings
Set as Main in WPCS Dashboard
When setting a domain as the main domain for the site, a warning message pops up that informs customers that they will have to login with the new URL and to ensure they already have access to their site's login credentials.
Warning Notification when Setting a New Domain as Main
When setting a new domain as the main domain, a customer will be logged out and will have to log back in with the new domain manually.
If you ever update the plugin version - just like with any other plugin or theme updates on WPCS - you'll have to redeploy the updated Version to your existing Tenants in order for them to get the new features.
If you need to reset your Tenant's API keys for any reason, you can do so by simply logging in to the Tenant and visiting the settings area of Domain Mapping System. Then, attach the new API keys as query strings to the URL in this format:
xyz123in the URL with your API Key and API Secret respectively.
If you want to wipe the existing API keys, pass the query strings with empty parameters (just leave out your API keys and delete abc123 and xyz123).
Configuration of the settings will still work on the Tenants event if the API keys are incorrect. However, new domain mapping may not work properly if the Tenant is not set up properly with the mapped domain.