ScriptX.Services for Windows PC License Deployment

This page is all about how to deploy and use the ScriptX.Services evaluation license. After a successful evaluation, deployment of your own license is very similar.

Please read all sections to familiarise yourself with the process and the common issues you might encounter but hopefully avoid.

The license : 370000ed-d40c-43d4-b3d3-f2e7d2eff47d

.. is the current evaluation license for ScriptX.Services and ScriptX.Addon.

This is revision 2 of the license and is valid from 24 June 2019 to 24 June 2020

and validates these root URLs:

  • scriptxsamples.meadroid.com
  • www.meadroid.com
  • scriptxprintsamples.meadroid.com
  • localhost

with these features enabled:

  • Advanced HTML Printing,  Direct/RAW Printing,  PDF Printing,  Enhanced HTML Formatting, 
Note

The url of interest for the evaluation license is "localhost". It enables you to fully evaluate all the features available with ScriptX with content served from a local server such as IIS Express, Node.js, Tomcat etc.

The other urls show where else we at MeadCo use this license and illustrate how a publisher license might look.

Also, this license will also work with ScriptX.Add-on for those users who will continue to use Internet Explorer 11 or IE Mode in new Microsoft Edge built with Chromium.

The license is provided in a file which needs to be downloaded, verified and cached by MeadCo Security Manager for ScriptX Services. The license has to be provided by every HTML page that uses ScriptX.Services for a controlled printing experience.

There is a choice as to where MeadCo Security Manager downloads the file from: MeadCo License Warehouse, or your own content servers.

  1. MeadCo License Warehouse

    Subject to there being no abuse of the facility and client PCs have access to the public Internet then the license can be downloaded from the MeadCo License Warehouse.

    This use is illustrated below.

  2. Self host

    Client PCs will download the file from your own content server(s). Access to the publiic Internet is not required

    The first job is to download the license file:

    After download, copy the license file to a suitable content folder on the server for your web application.

    For ease of system maintenance it is preferable to a have single current copy of sxlic.mlf located centrally. The file does not have to reside at a licensed address, simply, all client PCs must be able to access and download the file. Also see Recommended binary & license file location.

    We strongly recommend against renaming the file to, for example, include a revision number. Renaming will almost certainly cause issues in the future when the license is updated/renewed.

For successful printing the license must:

  1. Be provided in full, i.e. the license file, to MeadCo Security Manager for ScriptX Services via the ScriptX.Services Licensing API before using any other APIs.
  2. Be referenced by its GUID (370000ed-d40c-43d4-b3d3-f2e7d2eff47d) in each call made to ScriptX.Services APIs for printing (HTML, PDF or RAW).
Page license reference

The page license reference is the equivalent of including the MeadCo Security Manager for ScriptX.Addon on the page using an <OBJECT /> element.

For ScriptX.Services, the reference must be made in script by calling the ScriptX.Services Licensing API and it must be done before using any other APIs.

There are several ways that this can be done. If you wish to use the Service API directly, please see ScriptX.Services Licensing API

If you are using the MeadCo Client Libraries then there are two choices:

  1. Call the Licensing.apply() function

    or, as synchronous behaviour is deprecated in all browsers, use an asynchronous connection to the server with a callback function to be called when the server connection is completed. Asynchronous initialisation does not block the browser UI.

    The value "warehouse" means the license will be downloaded from MeadCo's license service. Alternatively, provide a valid fully qualified, not relative, url to the location of the license file (sxlic.mlf).

    Or,

  2. Use attribute values. The first example assumes you have included the libraries in your app, the second assumes use of a CDN.

    <script src="/scripts/MeadCo.ScriptX/meadco-secmgr-1.6.2.js"
        data-meadco-license="{370000ed-d40c-43d4-b3d3-f2e7d2eff47d}"
        data-meadco-server="http://127.0.0.1:41191" 
        data-meadco-license-path="warehouse"
        data-meadco-license-revision="2"
        data-meadco-syncinit="true">
    </script>
    

    Or, as synchronous behaviour is deprecated in all browsers, use an asynchronous connection to the server:

    <script src="//cdn.jsdelivr.net/npm/scriptxprint-html@1.6.2/dist/meadco-scriptxservices.min.js"
        data-meadco-license="{370000ed-d40c-43d4-b3d3-f2e7d2eff47d}"
        data-meadco-server="http://127.0.0.1:41191" 
        data-meadco-license-path="warehouse"
        data-meadco-license-revision="2"
        data-meadco-syncinit="false">
    </script>
    
    data-meadco-license
    The unique MeadCo publishing license provided by MeadCo. The presense of this attribute signals to the library that ScriptX.Services for Windows PC is being used, rather than for Cloud or for On Premise Devices.
    data-meadco-server
    The url to the ScriptX.Services for Windows PC server. Typically this value is http://127.0.0.1:41191
    data-meadco-license-path
    The location of the license file (.mlf). The special value "warehouse" signifies the license should be downloaded from the MeadCo Licenses store on the public internet (https://licenses.meadroid.com ). Alternatively, provide a valid fully qualified, not relative, url to the location of the license file (sxlic.mlf)
    data-meadco-license-revision
    The current revision of the license. If this value is later than the currently cached license the the download will be forced - in otherwords this is the means to ensure a valid updated license is used.
    data-meadco-syncinit
    Default true. If false then asynchronous calls are made to the server to verify and if required download and cache the license.
API license reference

If you are or intend using the MeadCo Client Libraries and have initialised them as described above then all API calls to ScriptX.Services will use the required authorisation headers that include the license GUID.

If you are or intend using your own code to make the AJAX API calls then you must add an Authorisation header to each call. For example:

headers = { "Authorization" : "Basic " + btoa("370000ed-d40c-43d4-b3d3-f2e7d2eff47d" + ":") };

See Web Service API Reference for more details.

The application installer

The ScriptX.Services for Windows PC application must be installed on each Windows x64 PC on which a controlled print experience from any browser is required. Windows 7 and Windows 10 are supported.

The latest version of ScriptX.Services for Windows PC is: 2.9.2.6. We always recommend keeping up to date with the latest version to ensure the continued secure and issue free experience for users.

In order for the installers to run administrator rights are required.

 

The following articles discuss and illustate how to use ScriptX.Services in your code.

Finally, remember our samples. These are built to latest HTML standards, use the MeadCoScriptXJS simple wrapper library and illustrate most things that are possible with ScriptX (customers do keep coming up with new and imaginative ways of using it too!). Feel free to examine the source to all samples and copy any code that is of use to you.

This section describes problems you may encouter and how to resolve them. If you canot resolve an issue then please contact our support team via email. All licensees are entitled to unlimited email based support for the duration of license.

Issues may occur when trying to provide the license to MeadCo Security Manager for ScriptX Services via the ScriptX.Services Licensing API and will be either:

  1. There was a problem downloading the license.
  2. The license could not be verified and validated.
  3. The license is being used in an invalid context.

To debug, open developer tools for your browser (F12) and use the Network pane to log the calls being made to the ScriptX.Services for Windows PC server. Locate the API call (typically "http://localhost:41191/api/v1/licensing") and inspect the response. Any code libraries in use, or your own code, may be reflecting error responses to the UI or console but inspecting the actual response value will remove any doubt about the original error response.

Issues with download
Error Description/advice
The system cannot locate the object specified This error usually occurs when a bad location/name is given for the license file, in other words the value of the "path" parameter is wrong. To trouble shoot this, try navigating to the value used (adjusting for relative values) and ensure that the file is downloaded by the browser.
Unspecified error

If using the MeadCo License Warehouse to deliver license files to users, the most likely cause of this error is the GUID parameter value is wrong; it should be: 370000ed-d40c-43d4-b3d3-f2e7d2eff47d.

(for example data-meadco-license="370000ed-d40c-43d4-b3d3-f2e7d2eff47d")

If using your own content server to deliver license files to users then this error indicates an issue has occured on the server.

Issues with license validation
Error Description/advice
Invalid HTML parameters specified for the license.

When working with the evaluation please note that the only valid domain is "localhost". If you are using "localhost" please contact us for additional assistance.

Issues with context

All licenses contain a list of domains/paths that are valid origins/locations for content wishing to use ScriptX features.

Error Description/advice
Unauthorized site, or invalid security zone. The origin of the content requesting to be licensed for using ScriptX.Services for Windows PC is not listed in the license.