helpcenter/Web/Controls/Help/Server/HostingSolutions/ISPBillManager/ispbillmanager.ascx

315 lines
26 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<%@ Control Language="C#" Inherits="BaseContentUserControls"%>
<%@ Register Namespace="TeamLab.Controls" Assembly="__Code" TagPrefix="cc" %>
<script runat="server">
protected override void Init()
{
PageTitle = PageCaption = "How to integrate Hosting Edition with the ISP BillManager billing module";
MetaKeyWords = "Hosting Edition, integration with ISP BillManager";
MetaDescription = "Hosting Edition. Learn how to integrate Hosting Edition with the ISP BillManager billing module.";
}
</script>
<div class="MainHelpCenter">
<h1 class="subHeaderFeaturesCaption Guides_Video_Captions">How to integrate Hosting Edition with the ISP BillManager billing module</h1>
<div class="keyword_block">
<ul>
<li><cc:LocalizeContent runat="Server" ControlName="~/Controls/Help/Tags/server-version/server-version.ascx" /></li>
<li><cc:LocalizeContent runat="Server" ControlName="~/Controls/Help/Tags/local-server/local-server.ascx" /></li>
</ul>
</div>
<div class="video_ground video_trips">
<h2 id="introduction">Introduction</h2>
<div class="block_of_step">
<div class="screen_text">
<p>An absolute advantage of <b>Hosting Edition</b> is the possibility to integrate it into the hosting provider workflow at minimum costs.</p>
<p>We have prepared a solution for our partners that allows to deploy the product in your infrastructure in a few simple steps.</p>
</div>
</div>
</div>
<h2 id="SystemRequirements">System requirements</h2>
<div class="block_of_step">
<div class="screen_text">
<p>For the full deployment of the system, the following requirements must be fulfilled:</p>
<ol>
<li><b>Server workload</b>
<ul>
<li>Server with at least <b>6-core CPU</b> and <b>8 GB RAM</b> with <b>Windows Server 2012</b> OS installed for <b>Hosting Edition</b> installation</li>
<li>Server with <b>4-core CPU</b> and <b>6 GB RAM</b> with <b>Ubuntu LTS 14.04</b> or <b>CentOS 7</b> installed for standalone <b>Document Server</b> installation</li>
<li>Server with <b>2-core CPU</b> and <b>4 GB RAM</b> with <b>CentOS 7</b> (recommended) or <b>Ubuntu LTS 14.04</b> installed for the <b>ISP BillManager</b> billing system installation</li>
</ul>
<p>All the servers must have network access, dedicated external IP addresses and the following open ports:</p>
<ul>
<li><b>80</b></li>
<li><b>443</b></li>
<li>Windows - <b>3389</b> (for RDP access)</li>
<li>Unix - <b>22</b> (for SSH access)</li>
</ul>
<p>Internet channel bandwidth - <b>500-750 Mb/s</b></p>
</li>
<li><b>Configuration requirements</b>
<ul>
<li><b>Wildcard A record</b> of the following form: <b>Windows Server 2012 IP <> *.domainname.com</b>
<div class="example">
<p><b>domainname.com</b> - the second-level domain intended for all portals.</p>
<ul>
<li><b>portal1.domainname.com</b> - the name of the first portal</li>
<li><b>portal2.domainname.com</b> - the name of the second portal</li>
</ul>
<p>A portal name (instead of <code>portal1</code> and <code>portal2</code>) is specified by an end user during the portal creation process within the <b>ISP BillManager</b> interface.</p>
</div>
</li>
</ul>
</li>
<li><b>Security requirements</b>
<ul>
<li><b>Wildcard SSL certificate</b> issued for the domain name that will be used.
<div class="notehelp">
The certificate presence is not obligatory if you install the solution on the test stand, but it is required when you start the product sales.
</div>
</li>
</ul>
</li>
<li><b>Access</b>
<ul>
<li>The access to servers is performed based on pre-agreed conditions using RDP for Windows Server 2012 and using SSH for Ubuntu/CentOS servers.</li>
<li>All the servers with the product components that reside on a local network must have access to each other.</li>
</ul>
</li>
<li><b>Hosting Edition setup and configuration</b>
<p>Setup and configuration of all the <b>Hosting Edition</b> components are performed by ONLYOFFICE technical support specialists if all the requirement (items 1-4 above) are fulfilled.</p>
</li>
<li><b>Integration with ISP BillManager</b> billing system
<p>The integration process is described in the next section.</p>
</li>
</ol>
</div>
</div>
<h2 id="step1">Integration Instructions</h2>
<div class="block_of_step">
<div class="screen_text">
<p>To integrate <b>ISP BillManager</b> payment system and <b>Hosting Edition</b> you will need to have:</p>
<ol>
<li>An already installed <a target="_blank" class="links" href="https://www.ispsystem.com/software/billmanager"><b>ISP BillManager</b></a> version. You can install it following this <a target="_blank" class="links" href="http://doc.ispsystem.com/index.php/BILLmanager_Installation_guide">instruction</a>.
<p>To log in to the <b>ISP BillManager</b> web interface as an administrator, use the CentOS server credentials for the <b>root</b> account.</p>
</li>
<li>Access to the server where <b>ISP BillManager</b> is installed.
<div class="notehelp">
You might also need to install <b>curl</b> and <b>libxml2</b> (the <b>xmllint</b> utility) if these packages are not installed on this server. If you are using Debian jessie, the <b>curl</b> and <b>libxml2-utils</b> packages are required.
</div>
</li>
<li>The <b>ONLYOFFICE Hosting Edition for ISP</b> handler file (which is sent upon request).
</li>
</ol>
<p>Perform the following steps:</p>
<ol>
<li>Extract the following files and put them into the specified folders:
<ul>
<li>put the <b>billmgr_mod_pmonlyoffice.xml</b> file into the <code>/usr/local/mgr5/etc/xml</code> folder</li>
<li>put the <b>pmonlyoffice.sh</b> file into the <code>/usr/local/mgr5/processing</code> folder</li>
<li>put the <b>addononlyoffice.sh</b> file into the <code>/usr/local/mgr5/addon</code> folder</li>
<li>put the <b>onlyoffice_48x48.png</b> image into the <code>/usr/local/mgr5/skins/common/img/</code> folder
<div class="notehelp">
The files must be extracted on the server where <b>ISP BillManager</b> is installed, otherwise (if the archive have been unpacked in the Windows environment) you need to run the following scripts after copying the <b>.sh</b> files:
<pre><code>sed -i 's/\r$//' /usr/local/mgr5/processing/pmonlyoffice.sh</code></pre>
<pre><code>sed -i 's/\r$//' /usr/local/mgr5/addon/addononlyoffice.sh</code></pre>
</div>
<p>Set '777' permissions to the <b>pmonlyoffice.sh</b> and <b>addononlyoffice.sh</b> files.</p>
</li>
</ul>
</li>
<li>Restart the service:
<pre><code>/usr/local/mgr5/sbin/mgrctl -m billmgr exit</code></pre>
</li>
<li>Create a new product in the <b>ISP BillManager</b>. The details on how to create and configure a new product are described in the next section.</li>
</ol>
</div>
</div>
<h2 id="step2">Product Creation</h2>
<div class="block_of_step">
<div class="screen_text">
<p>To create a product:</p>
<ol>
<li>Go to the <b>Products</b> >> <b>Product types</b>. Click <img alt="Add Icon" src="<%=VirtualPathUtility.ToAbsolute("~/images/Help/Guides/big/guide85/addicon.png")%>" /> <b>Add</b>. A new product type creation form will open.
<ul>
<li>Specify <b>ONLYOFFICE</b> in the <b>Name</b> field.</li>
<li>Specify <b>oo</b> in the <b>Internal name</b> field.
<div class="notehelp">
Please do not change the internal name. Set it exactly as it is specified here.
</div>
</li>
<li>Add at least one payment period in the <b>Available payment methods</b> section checking the necessary options. For example, check the <b>Month</b> and <b>Year</b> options.</li>
<li>Click <b>Ok</b>. The created product will be added into the <b>Product types</b> list.
<div class="screen_block">
<img alt="Creating product" target="img2_eventcom_guides" class="screenphoto screen_guides" src="<%=VirtualPathUtility.ToAbsolute("~/images/help/Guides/small/guide85/createproduct.png")%>" />
<img alt="Creating product" id="img2_eventcom_guides" class="bigphoto_screen" src="<%=VirtualPathUtility.ToAbsolute("~/images/help/Guides/big/guide85/createproduct.png")%>" />
<div target="img2_eventcom_guides" class="screenphoto magnifier"></div>
</div>
</li>
</ul>
</li>
<li>Specify the product properties. You will need to add the following five obligatory properties:
<ul>
<li><b>First name</b> with the <b>firstname</b> internal name</li>
<li><b>Second name</b> with the <b>lastname</b> internal name</li>
<li><b>Portal name</b> with the <b>alias</b> internal name</li>
<li><b>Email</b> with the <b>email</b> internal name</li>
<li><b>Password</b> with the <b>password</b> internal name
<div class="notehelp">
Please do not change internal names. Set them exactly as they are specified here.
</div>
</li>
</ul>
<p>To create a property:</p>
<ul>
<li>Select the <b>ONLYOFFICE</b> product in the <b>Product types</b> list, click the <img alt="Properties Icon" src="<%=VirtualPathUtility.ToAbsolute("~/images/Help/Guides/big/guide85/propertiesicon.png")%>" /> <b>Properties</b> icon above, then click <img alt="Add Icon" src="<%=VirtualPathUtility.ToAbsolute("~/images/Help/Guides/big/guide85/addicon.png")%>" /> <b>Add</b>.</li>
<li>Specify the property name and internal name as described above.</li>
<li>For all the properties, check the <b>Show in the order form</b> and <b>Required parameter</b> options as well as select the <b>Staff member</b> option in the <b>Edit</b> list.</li>
<li>When creating the <b>Portal name</b> property you will also need to select the <code>check.alias</code> option from the <b>Check function</b> list.</li>
<li>When creating the <b>Password</b> property you will also need to select the <code>check.password_length</code> option from the <b>Check function</b> list.</li>
<li>Click <b>Ok</b> to save the parameter.
<div class="screen_block">
<img alt="Adding properties" target="img3_eventcom_guides" class="screenphoto screen_guides" src="<%=VirtualPathUtility.ToAbsolute("~/images/help/Guides/small/guide85/properties.png")%>" />
<img alt="Adding properties" id="img3_eventcom_guides" class="bigphoto_screen" src="<%=VirtualPathUtility.ToAbsolute("~/images/help/Guides/big/guide85/properties.png")%>" />
<div target="img3_eventcom_guides" class="screenphoto magnifier"></div>
</div>
<p>These properties will be used during the portal creation process.</p>
</li>
</ul>
</li>
<li>Add contents of the product type. You will need to add the following three obligatory add-ons:
<ul>
<li><b>Active users</b> with the <b>activeusers</b> internal name</li>
<li><b>Max total size</b> with the <b>maxtotalsize</b> internal name</li>
<li><b>Max file size</b> with the <b>maxfilesize</b> internal name
<div class="notehelp">
Please do not change internal names. Set them exactly as they are specified here.
</div>
</li>
</ul>
<p>To create an add-on:</p>
<ul>
<li>Select the <b>ONLYOFFICE</b> product in the <b>Product types</b> list, click the <img alt="Details Icon" src="<%=VirtualPathUtility.ToAbsolute("~/images/Help/Guides/big/guide85/detailsicon.png")%>" /> <b>Details</b> icon above, then click <img alt="Add Icon" src="<%=VirtualPathUtility.ToAbsolute("~/images/Help/Guides/big/guide85/addicon.png")%>" /> <b>Add</b>.</li>
<li>Specify the add-on name and internal name as described above.</li>
<li>Click <b>Ok</b> to save the parameter.
<div class="screen_block">
<img alt="Adding add-ons" target="img4_eventcom_guides" class="screenphoto screen_guides" src="<%=VirtualPathUtility.ToAbsolute("~/images/help/Guides/small/guide85/addon.png")%>" />
<img alt="Adding add-ons" id="img4_eventcom_guides" class="bigphoto_screen" src="<%=VirtualPathUtility.ToAbsolute("~/images/help/Guides/big/guide85/addon.png")%>" />
<div target="img4_eventcom_guides" class="screenphoto magnifier"></div>
</div>
<p>These add-ons will be used to specify parameters of tariff plans.</p>
</li>
</ul>
</li>
<li>Create the processing module.
<ul>
<li>Go to <b>Integration</b> >> <b>Processing modules</b> and click <img alt="Add Icon" src="<%=VirtualPathUtility.ToAbsolute("~/images/Help/Guides/big/guide85/addicon.png")%>" /> <b>Add</b>.</li>
<li>Click the <b>Select</b> button next to the <b>ONLYOFFICE</b> product type.</li>
<li>Сlick the <b>Add</b> button next to the <b>ONLYOFFICE Integration</b> option.</li>
<li>Specify the <b>Apisystem Url</b> of the following form: <code>http://apisystem.domainname.com</code>.</li>
<li>Insert the <b>Machine Key</b> (it can be found in the <b>web.appsettings.config</b> file) and click <b>Next</b>.
<div class="notehelp">
The <b>Apisystem Url</b> and <b>Machine Key</b> parameters are specified to enable access to the API of the server where <b>Hosting Edition</b> is installed.
</div>
</li>
<li>Specify the processing module name and click <b>Finish</b>.
<div class="screen_block">
<img alt="Creating processing module" target="img5_eventcom_guides" class="screenphoto screen_guides" src="<%=VirtualPathUtility.ToAbsolute("~/images/help/Guides/small/guide85/processingmodule.png")%>" />
<img alt="Creating processing module" id="img5_eventcom_guides" class="bigphoto_screen" src="<%=VirtualPathUtility.ToAbsolute("~/images/help/Guides/big/guide85/processingmodule.png")%>" />
<div target="img5_eventcom_guides" class="screenphoto magnifier"></div>
</div>
</li>
</ul>
</li>
<li>Create a tariff plan.
<ul>
<li>Go to <b>Products</b> >> <b>Tariff plans</b> and click <img alt="Add Icon" src="<%=VirtualPathUtility.ToAbsolute("~/images/Help/Guides/big/guide85/addicon.png")%>" /> <b>Add</b>.</li>
<li>Click the <b>Select</b> button next to the <b>ONLYOFFICE</b> product type. A new tariff creation form will open.</li>
<li>Specify any desired name (for example, <code>ONLYOFFICE 1-5 users</code>) and internal name and select the <b>Processing module</b> you have created at the previous step.</li>
<li>Specify prices per month and per year in the <b>Prices</b> section. The prices must coincide with the ones published on the <a target="_blank" class="links" href="https://www.onlyoffice.com/saas.aspx">pricing page</a> of our official website.</li>
<li>Click <b>Finish</b> to save the created tariff.
<div class="screen_block">
<img alt="Creating tariff plan" target="img6_eventcom_guides" class="screenphoto screen_guides" src="<%=VirtualPathUtility.ToAbsolute("~/images/help/Guides/small/guide85/tariff.png")%>" />
<img alt="Creating tariff plan" id="img6_eventcom_guides" class="bigphoto_screen" src="<%=VirtualPathUtility.ToAbsolute("~/images/help/Guides/big/guide85/tariff.png")%>" />
<div target="img6_eventcom_guides" class="screenphoto magnifier"></div>
</div>
</li>
</ul>
</li>
<li>Set the tariff plan parameters. To do that, you will need to add three tariff plan add-ons on the base of the product type add-ons created at step 3: <b>Active users</b>, <b>Max total size</b>, <b>Max file size</b>.
<p>To create an add-on:</p>
<ul>
<li>Select the tariff plan you have created at the previous step in the <b>Tariff plans</b> list, click the <img alt="Options Icon" src="<%=VirtualPathUtility.ToAbsolute("~/images/Help/Guides/big/guide85/detailsicon.png")%>" /> <b>Options</b> icon above, then click <img alt="Add Icon" src="<%=VirtualPathUtility.ToAbsolute("~/images/Help/Guides/big/guide85/addicon.png")%>" /> <b>Add</b>.</li>
<li>Leave the <b>Do not bill</b> option selected by default in the <b>Billing type</b> list.</li>
<li>Select the necessary add-on type in the <b>Type</b> list.
<ul>
<li><b>Active users</b> - to set the maximum number of users allowed for this tariff plan</li>
<li><b>Max total size</b> - to set available disk storage space for this tariff plan</li>
<li><b>Max file size</b> - to set the maximum size of a file that can be uploaded to the portal</li>
</ul>
</li>
<li>Choose the <b>Integer</b> option in the <b>Value type</b> list.</li>
<li>Select corresponding <b>Units of measure</b> (pcs, GiB or MiB) for the selected add-on type and specify the necessary value in the <b>Tariff plan includes</b> field.</li>
<li>Click <b>Ok</b> to save the parameter.
<div class="screen_block">
<img alt="Adding add-ons" target="img7_eventcom_guides" class="screenphoto screen_guides" src="<%=VirtualPathUtility.ToAbsolute("~/images/help/Guides/small/guide85/tariffaddon.png")%>" />
<img alt="Adding add-ons" id="img7_eventcom_guides" class="bigphoto_screen" src="<%=VirtualPathUtility.ToAbsolute("~/images/help/Guides/big/guide85/tariffaddon.png")%>" />
<div target="img7_eventcom_guides" class="screenphoto magnifier"></div>
</div>
</li>
</ul>
</li>
<li>After all the necessary tariff plans are created, set the tariff change rules for each of them.
<ul>
<li>Select the necessary tariff plan in the <b>Tariff plans</b> list and click the <img alt="Change tariff icon" src="<%=VirtualPathUtility.ToAbsolute("~/images/Help/Guides/big/guide85/changetarifficon.png")%>" /> <b>Change tariff</b> icon above.</li>
<li>To allow your users to change the selected tariff to another one, select one of the existing tariff plans and click the <img alt="On icon" src="<%=VirtualPathUtility.ToAbsolute("~/images/Help/Guides/big/guide85/enabletarifficon.png")%>" /> <b>On</b> icon above to enable switching to this tariff.</li>
<li>To disable the possibility to change the selected tariff to another one, select one of the existing tariff plans and click the <img alt="Off icon" src="<%=VirtualPathUtility.ToAbsolute("~/images/Help/Guides/big/guide85/disabletarifficon.png")%>" /> <b>Off</b> icon above to disable switching to this tariff.
<div class="screen_block">
<img alt="Tariff change rules" target="img9_eventcom_guides" class="screenphoto screen_guides" src="<%=VirtualPathUtility.ToAbsolute("~/images/help/Guides/small/guide85/changetariff.png")%>" />
<img alt="Tariff change rules" id="img9_eventcom_guides" class="bigphoto_screen" src="<%=VirtualPathUtility.ToAbsolute("~/images/help/Guides/big/guide85/changetariff.png")%>" />
<div target="img9_eventcom_guides" class="screenphoto magnifier"></div>
</div>
<div class="example">
<p>You can allow those users who have the <code>ONLYOFFICE 6-10 users</code> tariff to upgrade it (selecting <code>ONLYOFFICE 11-20 users</code>) and disable the possibility to downgrade it (selecting <code>ONLYOFFICE 1-5 users</code>).</p>
</div>
</li>
</ul>
</li>
<li>So that users can pay for the product, add at least one payment method, if this has not yet been done.
<ul>
<li>Go to <b>Provider</b> >> <b>Payment methods</b>.</li>
<li>Click the <img alt="Add icon" src="<%=VirtualPathUtility.ToAbsolute("~/images/Help/Guides/big/guide85/addicon.png")%>" /> <b>Add</b> button on the top.</li>
<li>Click the <b>Add</b> button next to the necessary payment method (e.g., <b>Wire transfer</b>).</li>
<li>Fill in the <b>Integration settings</b> form and click the <b>Next</b> button.</li>
<li>Specify required <b>Payment method settings</b> and click <b>Finish</b>.</li>
</ul>
</li>
<li>That's all. The links to order the one-year or one-month tariff plan can be found in the tariff properties: select the tariff plan in the <b>Tariff plans</b> list, click the <img alt="Edit Icon" src="<%=VirtualPathUtility.ToAbsolute("~/images/Help/Guides/big/guide85/editicon.png")%>" /> <b>Edit</b> option and go to the <b>URLs</b> section. Copy a link and paste it into the address bar of your web browser to verify if the added tariff is displayed correctly in a shopping cart.
<div class="screen_block">
<img alt="Ordering tariff" target="img8_eventcom_guides" class="screenphoto screen_guides" src="<%=VirtualPathUtility.ToAbsolute("~/images/help/Guides/small/guide85/order.png")%>" />
<img alt="Ordering tariff" id="img8_eventcom_guides" class="bigphoto_screen" src="<%=VirtualPathUtility.ToAbsolute("~/images/help/Guides/big/guide85/order.png")%>" />
<div target="img8_eventcom_guides" class="screenphoto magnifier"></div>
</div>
<p>To add screen tips to the <b>alias</b> and <b>password</b> fields, do the following:</p>
<ul>
<li>Open the <b>billmgr_mod_pmonlyoffice.xml</b> file.</li>
<li>Find the <code>&lt;lang name="en"&gt;</code> or <code>&lt;lang name="ru"&gt;</code> section depending on the necessary localization.</li>
<li>Add the following contents to this section:
<pre><code>
&lt;messages name="oo.order.param"&gt;
&lt;msg name="hint_alias"&gt;Name of your portal will be portalname.mycloudoffice.ru&lt;/msg&gt;
&lt;/messages&gt;
</code></pre>
</li>
</ul>
<p>Users must fill in all the fields for the portal creation during the ordering process. After a user pays for the selected tariff, he/she will be able to change the tariff using the <img alt="Change tariff icon" src="<%=VirtualPathUtility.ToAbsolute("~/images/Help/Guides/big/guide85/changetariffusericon.png")%>" /> <b>Change tariff</b> icon according to the specified tariff change rules.</p>
</li>
</ol>
</div>
</div>
</div>