Publication is the process that starts when the client presses button "Publish" in builder toolbar. The process can be divided into several parts that are executed one after another in a specified order:
Note that practically all these steps are executed quite quickly and usually client does not see them in publication process bar.
Website builder plugin is a module for hosting control panel (cPanel, Plesk, etc.) that is installed on panel and displayed for end clients as an extra button among other buttons. The website builder button can be customized with your own icon and title.
The website builder plugin works as a gateway from panel to website builder. Plugin purpose is to retrieve all required information of client account from hosting control panel (using internal API) and pass it to website builder. The required information includes:
After plugin collects information, it calls website builder via API and passes information to it. Website builder checks the license of your hosting server and determines whether to let you in or not. If the license is verified, website builder API returns URL; otherwise, it returns error message. In case the plugin gets URL from website builder, it redirects the client by this URL to website builder where client can construct his website. If the license verification fails, website builder returns error message "License is required" meaning that the license could not be detected by API call and provided parameters (check how to fix this error).
Communication between website builder plugin and website builder is made via HTTP port 80 or 443 depending what protocol website builder uses. In case you use Cloud website builder, 443 port is always used. If you use On-Premises website builder, it depends on what protocol your website builder is running on.
When the client opens website builder for the first time, website builder suggests choosing a template first before starting to construct website. During website construction all website data is saved in special ".dat" files in website builder storage and all media files that client uploads are also stored in website builder. Note that during website construction in website builder no changes are made on client's hosting. Changes are applied only when client presses button "Publish" in website builder toolbar — then website builder generates real website files (consisting of .php, .js, .css and other files) and publishes them to client's hosting via FTP connection (see how publication works in more details).
Next time the client opens website builder, website builder finds his ".dat" files and loads them instead of offering to choose template anew. Note that when client opens website builder, it does not download client's current website files from hosting — builder has all website data in his own storage.
Identification of website in website builder is made only by domain. It means that the client can have multiple websites in his account (addon domains, sub-domains) and construct websites in website builder separately for all of them. If client's domain is renamed, then it also must be renamed in website builder separately. Otherwise, the client will be offered to choose template a new as if the website was opened for the first time.
If you have your own hosting control system for your customers and do not use predefined hosting control panel that we support, you can also use website builder by implementing your own plugin using website builder API method to create session.
Site.pro recommends On-Premises license because of stability reason: