1. Overview

Floating licensing (FL) is a licensing model with a license server that runs the license management process and distributes licenses to a number of client application servers within the network. Such a licensing model is appropriate for software which is running in environments with dynamic hardware configuration, e.g. ephemeral or virtual containers or environments.

The FL is also available for the WebSpellChecker licenses management as a part of the FL mechanism. It makes it possible to automate the process of the WebSpellChecker application licensing in virtual environments with dynamic hardware configuration. 

The WebSpellChecker FL mechanism coordinates the work of a License Server and monitors how it controls and delivers licenses to a number of connected WebSpellChecker applications.

The License Server is shipped as a separate light-weight package that contains only a core component called AppServer with the FL mechanism. It doesn't include any spell or grammar checking functionality as it is aimed at the license delivering process.

Using the FL mechanism for the WebSpellChecker licenses management process allows:

  • Automating license activation process. No need to perform the manual steps with the license activation on each server with the WebSpellChecker application.
  • Simplifying process of the application maintenance in virtualized environments with varying hardware configuration. 
  • Integrating the WebSpellChecker application installation and upgrade processes into deployment procedure of your application.



2. Floating Licensing Deployment Scheme


3. Setup Floating License Server

3.1. Download License Server Installation Package

The License Server installation package is a separate special package that is tailored and prepared on demand for each customer. Each such a package is built with a prefefined number of concurent licenses that it can provide on request from the bounded applications. For example, if the License Server is built with two (2) license seats available, it will only allow the connection from two (2) copies of application which are running simultaneously.

Such a License Server installation package can be provided upon request to support@webspellchecker.net.

3.2. Install License Server

License Server must be installed on the server with the hardware configuration which will remain stable and constant over the time. The failure of License Server will affect the work of all the connected applications.

  • Unpack the License Server installation package. Switch to the directory with the unpacked License Server and run the next command:
sudo perl automated_install_master.pl
  • Select installation path. The default installation path is /opt/WSC. However, you may decide to change it and set a desired one. As soon as you defined the installation path, press Enter to proceed further.
Welcome to the WebSpellChecker License Server application installation wizard!

Before you go ahead with the installation, make sure that your environment configuration meets the WSC application system requirements.
If you are all set, please follow carefully the wizard instructions.

PLEASE MAKE SURE YOU ARE ACKNOWLEDGED AND ACCEPT THE WEBSPELLCHECKER SOFTWARE LICENSE AGREEMENT TERMS AND CONDITIONS PUBLISHED ON THE WEBSPELLCHECKER OFFICIAL WEBSITE. BY DOWNLOADING OR INSTALLING THIS SOFTWARE, YOU ACCEPT THE FULL TERMS OF THIS AGREEMENT.
IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT, YOU MUST NOT INSTALL OR USE THE WEBSPELLCHECKER SOFTWARE.

Step 1: Check configuration settings.

Install path [/opt/WSC]:
  • Define permissions. Set appropriate permissions for the application. You should define the files ownership, a user and group in the user:group format (e.g. 33:33)
Step 2: Copy the WSC files to the installation directory.

Step 3: Define the WSC application permissions.

Specify the files ownership, a user and group in the 'user:group' format.
It can be the same user and group which are used for Apache HTTP Server, i.e. 'www-data:www-data' or '33:33'.

Specify the files owner as user:group [nobody:nobody]: 33:33

3.3. Activate License

Run the license activation process to go ahead with the license activation. Enter Yes and then proceed with the steps described in the license activation manual below.

Step 4: Activate license.
Do you want to proceed with the license activation process and run a request license?
Enter yes or no [yes]: yes



As soon as the installation process is completed, you are required to activate a license in order to start using the WebSpellChecker application. Below you can find a step-by-step manual for the license activation on a Linux-based environment.

First of all you need to get a valid License Ticket ID to proceed with the license activation. Depending on the server license type, it may be a permanent (unlimited) or a 30-day trial license. Except the validity period, there is no difference between ticket types from the technical perspective.

Good to know:

  • If you do not have a license yet, you can obtain it using one of the following ways:
  • WebSpellChecker license is hardware-based. Once the license is activated, it can't be reused again.
  • If you are migrating WebSpellChecker from one server to another, you need to migrate the license as well. Check carefully the WebSpellChecker application migration procedure.
  • If you have problems with your license, contact us at support@webspellchecker.net.

Step 1. Launch WebSpellChecker License Service

Run the requestLicense.sh script to launch WebSpellChecker License Service using the following command below:

sudo sh /<WebSpellChecker_Installation_Dir>/WSC/AppServer/requestLicense.sh

Step 2. Generate License Request

The License Request is a unique encoded string which contains a specified Ticket ID and description of your system the license will be bound to.

2.1. Specify your Ticket ID. It may be a 30-day trial or permanent ticket that you received from WebSpellChecker on the trial version request or after the purchase respectively.

Do you want to proceed with the license activation process and run a request license?
Enter yes or no [yes]: yes
Specify your License Ticket ID:

2.2. License Request string will be generated as soon as you enter your Ticket ID. Copy the autogenerated License Request. You will use it for obtaining a License Response string.

Do you want to proceed with the license activation process and run a request license?
Enter yes or no [yes]: yes
Specify your License Ticket ID: aTdh23Udh
For obtaining a License Response, use the next autogenerated License Request string:
"2:lZEkA1-Rvr8D1-2MisJ-Gu81p-baDpB-tEXNL-yec9p4-cSxxa4-ZN3g34"


If you decide to make any edits to the initially specified Ticket ID, you will get a new autogenerated License Request string accordingly. So, you need to make sure you have copied the right License Request.

Step 3. Submit License Request

3.1. Access the License Request submit web-page: http://www.webspellchecker.net/account/license/license_request.pl

Keep the License Service dialog opened until you complete all the license activation steps. Otherwise, you may break the license.

3.2. Enter your License Ticket ID. It may be a 30-day trial or permanent ticket that you received from WebSpellChecker on the trial version request or after the purchase respectively.

3.2. Insert the copied License Request string into the License Request field.

3.4. Click the Submit button. 

If on click the Submit button, you received an error, please make sure that:

  • License Ticket ID and License Request are specified correctly (i.e. no extra spaces, etc.).
  • License Ticket ID wasn't used or activated before. As once it is activated, you won't be able to re-use it again.

Otherwise, please reach the WebSpellChecker team at support@webspellchecker.net describing the problem.

Step 4. Get License Response

Once the License Request along with the License Ticket ID are sucessfully submited, a License Response string will be automatically sent to email address(es) of the License Ticket ID owner(s). Usually, these are the people who ordered or requested the license.

4.1. Go to your email addresss. Find an email with the following subject: “WebSpellChecker.net License Response” from <info@webspellchecker.net>. Copy your License Response string from the email.

4.2. Return to WebSpellChecker License Service from Step 1. Paste the copied License Response into a corresponding field on the WebSpellChecker License Service window or a line when using Command Prompt accordingly.

Do you want to proceed with the license activation process and run a request license?
Enter yes or no [yes]: yes
Specify your License Ticket ID: aTdh23Udh
For obtaining a License Response, use the next autogenerated License Request string:
"2:lZEkA1-Rvr8D1-2MisJ-Gu81p-baDpB-tEXNL-yec9p4-cSxxa4-ZN3g34"
Enter your License Response: 2:uZ5Y32-WtD865-5HODB-GSUzV3-DCejC1-axq1j3-iodq64-LPmqq3

4.3. Complete the license activation process.

If all the previous steps were preformed properly and the entered License Response is correct, you will get a proper license confirmation message saying that the license has been confirmed and activated sucessfully.

Do you want to proceed with the license activation process and run a request license?
Enter yes or no [yes]: yes
Specify your License Ticket ID: aTdh23Udh
For obtaining a License Response, use the next autogenerated License Request string:
"2:lZEkA1-Rvr8D1-2MisJ-Gu81p-baDpB-tEXNL-yec9p4-cSxxa4-ZN3g34"
Enter your License Response: 2:uZ5Y32-WtD865-5HODB-GSUzV3-DCejC1-axq1j3-iodq64-LPmqq3
Your license is confirmed and activated successfully.

Otherwise, you will get an error message “The license you are trying to use is invalid. Please check your license details and try again”.

Do you want to proceed with the license activation process and run a request license?
Enter yes or no [yes]: yes
Specify your License Ticket ID: aTdh23Udh
For obtaining a License Response, use the next autogenerated License Request string:
"2:lZEkA1-Rvr8D1-2MisJ-Gu81p-baDpB-tEXNL-yec9p4-cSxxa4-ZN3g34"
Enter your License Response: 2:uZ5Y32-WtD865-5HODB-GSUzV3-DCejC1-axq1j3-iodq64-LPmqq3
The license you are trying to use is invalid. Please check your license details and try again.


If after checking all the license details and performing all the described steps, you are unable to get the license activated properly, please reach us at support@webspellchecker.net describing the problem.

3.4. Configure License Server Port

The AppServer port of License Server is used for communication with the allowed number of concurently running copies of the WebSpellChecker application servers. By default the License Server is installed on 2881 port.

AppServerX.xml
<!-- Port to which the AppServer will listen. The default is 2881 -->
<Port>2881</Port>

You can change the default port number to a new one in the <WebSpellChecker_Installation_Path>/WSC/LicServer/LicServerX.xml configuration file. Make sure that this port is not used and opened for inbound and outbound connections.

3.5. Restart AppServer

Use the next stop and start commands to restart LicServer on Linux-based environments. The restart of LicServer is required for the changes to take effect.

  • Run the stop.sh script to stop AppServer using the following command below:
sudo sh <WebSpellChecker_Installation_Path>/WSC/LicServer/stop.sh
  • Run the start.sh script to start AppServer using the following command below:

sudo sh <WebSpellChecker_Installation_Path>/WSC/LicServer/start.sh

4. Setup WebSpellChecker Application

4.1. Install WebSpellChecker

Proceed with the application setup following one of the installation manuals below if you do not have WebSpellChecker installed yet. Otherwise, jump to the step with the connection setup to License Server.

Important: Since you are going to use the FL mechanism, you has to skip the License Activation step. You do not need to activate a license on each server with the application. The licensing will be perfromed by a License Server.


4.2. Setup Connection with License Server

Specify a host name / IP address and a port number of License Server to establish connection with AppServer of the current WebSpellChecker installation. AppServer will be sending License Requests to the bounded License Server.

  • Open <WebSpellChecker_Installation_Path>/WSC/AppServer/AppServerX.xml
  • Find the <LicenseServer>...</LicenseServer> parameter tag in the AppServerX.xml file
  • Specify a host name / IP address and a port number of License Server as in the example:
<!-- LicenseServer parameter defines a license server where AppServer will call when its license is expired asking for a new license. -->
<LicenseServer>localhost</LicenseServer>

4.3. Start AppServer

Use the next instructions and commands to start AppServer. It is required for the changes to take effect.


Start AppServer on Windows

There are three possible options how you can start AppServer on Windows-based environments.

Option A: Go to Windows Start –> All Programs –> WebSpellChecker –> AppServer –> Start AppServer Service

Option B: Open Command Prompt –> Switch to [WebSpellChecker_Installation_Path]/AppServer –> Run AppServerX -start

Option C:

  • Go to Windows Start –> Control Panel –> Administrative Tools –> Services
  • Find WebSpellChecker Application Server Service on the list of all services
  • Click Start


Start AppServer on Linux

Run the start.sh script to start AppServer using the following command below:

sudo sh <WebSpellChecker_Installation_Path>/WSC/AppServer/start.sh

5. Verify Licensing Process

First of all, you need to check the application version and status. The version check will confirm the exact version of the application that you are running. The status check will provide you the health statuses of the main application engines: Spell Check, Grammar, Thesaurus.

  • Version: http(s)://your_host_name:[port]/spellcheck/script/ssrv.cgi?cmd=ver
  • Status: http(s)://your_host_name:[port]/spellcheck/script/ssrv.cgi?cmd=status

In addition to the version and status checks, you have to ensure that integrated spell/grammar checking functionality works properly in your web-system after the migration. Go to your web-system and check the controls where you expect to have spell/grammar checking.