About Licensing and License Keys

License Types Explained

Hereinafter, “the platform” refers either to the 4D platform (in single-user) or to the 4D Server platform (in client server).

License Types

Development: the Developer License

  • Platform-specific.
  • Allows development. Allows running interpreted applications with 4D single. Enables deployment licenses.
  • Purchased once per developer, installed into many projects.

This license will be your first purchase, as it acts as “master switch” for the plug-in on the platform. It allows development in 4D’s design environment as well as running interpreted with 4D (to run a compiled application you will need some kind of deployment license).

Example: with a Developer license for Windows you will be enabling the plug-in for single-user use with 4D Windows, as well as for multi-user use with a 4D Server running on Windows. In client/server only the platform of the server is relevant licensing-wise; clients may run on either platform.

Unitary single-user deployment: the Runtime License

  • Platform-specific.
  • Requires the presence of a Developer license for the same platform.
  • Enables single-user deployment on a single machine.
  • Purchased once per machine. Suitable for one deployment of a single-user application.

This license allows the deployment of interpreted and compiled single-user applications on one machine. The Runtime is suitable for limited distribution of single-user applications as it requires installation on a specific end-user machine.

Example: Say you have developed an application on Mac (with a Developer license Mac) and want to compile and deploy on 3 Mac machines; you need to buy 3 x Runtime Mac licenses. If you developed the app on Windows (with a Developer license Windows) and want to deploy on 2 Windows and 1 Mac machines, you will need to buy a Developer license Mac, 2 x Runtime Windows and 1 x Runtime Mac licenses.

Unlimited single-user deployment: the Engine License

  • Platform-specific.
  • Requires the presence of a Developer license for the same platform.
  • Enables single-user deployment on many machines.
  • Purchased once per company. Suitable for mass deployment of single-user applications.

This license allows the deployment of interpreted and compiled single-user applications on many machines. The Engine is suitable for wide distribution of single-user applications without requiring any further action by end-users.

Example: In order to deploy on many Macs an application developed with Developer license Mac, you will need to buy an Engine Mac license.

Multiuser: the Server Expansion License

  • Platform-neutral.
  • Requires the presence of a Developer license for the server platform.
  • Allows client/server access to the plug-in for development and deployment. Allowed client connections are called “seats”.
  • Purchased as the desired number of seats and installed in a 4D Server. Suitable for development and deployment.

This license allows 4D Remote connections to a 4D Server to use the plug-in. The allowed connections (seats) can be used for all purposes. This license adds platform-neutral connections, meaning that the machines that connect to 4D Server can be any combination of Macs and Windows PCs. A seat becomes occupied when a plug-in command is first called by an instance of 4D Remote, and is released when 4D Remote quits.

Τhe annual OEM License

  • Platform-specific.
  • Allows development and deployment (subject to the terms of the OEM contract).
  • Purchased annually.
  • Includes major updates released during the license term.
  • Suitable for vertical application vendors.

This license provides development and deployment rights of the plugin during the term of license, including major updates and priority technical support. While under license, the licensee has full control over development and deployment, in both single and server environments. The fee is negotiable and is a function of the maximum deployment volume set in the contract. The OEM license allows licensee to incorporate the annual license fee into their cost structure and handle plug-in administration freely, without ever involving end-users.

Adding & Removing License Keys

In a nutshell

Programmer keys (Developer, Engine, OEM) can only be installed into interpreted applications. These keys are physically written in the 4D structure file (in the Project folder in the case of project-based applications) and stay there until they are removed.

Note

Interpreted structure files and projects can safely be compiled — installed plug-in keys will still be there in the resulting compiled structure file.

End-User keys (Server Expansion, Runtime) should be installed into interpreted or compiled applications depending on their kind. These keys are physically written in the Escape folder, inside the 4D folder of the machine on which they are installed.

Attention

An error message saying that the kind of key is not applicable will be issued when attempting to install keys into a database that is not appropriate, e.g. programmer key into a compiled database.

Online activation of keys takes place when a key is first installed on a new machine. During activation, hardware identifiers of the machine are stored on Escape’s activation server. User privacy is never put at risk in any stage of the activation procedure.

Demo mode is invoked when attempting to use the plug-in without a suitable license key. Demo mode will let the plug-in work for 30 minutes before restarting 4D.

The Escape License Manager (ELM) dialog

The ELM dialog lets you review and modify all installed license keys of all Escape plug-ins, as well as obtain the computer’s Machine ID (needed when ordering pre-activated license keys).

The ELM can be perused in both single-user and client/server.

Escape License Manager

To invoke the ELM dialog:

  • In single-user: keep down CapsLock and Shift when launching the database.
  • In client/server: click the “Licenses...” button on the QLM floating palette.
QLM Palette

Note

The QLM palette opens when the server starts up but after 30 seconds of idle time it auto-closes to reduce screen clutter. To bring it up again, bring the 4D Server application to the front, press CapsLock and hold down the Shift key for 3 seconds.

Adding a key in single-user

There are two, ultimately converging, ways for doing this. No matter which you choose, the procedure is the same:

  1. Invoke the ELM and click the Add button on the Catalog page, or
  2. Start using the database and wait for the plug-in to ask for a suitable key.

Assuming you chose B, the first call to a plug-in method will cause the following alert to appear:

_images/0.png

Click Demo if you don’t have a license key, to use the plug-in in Demo mode. If you have a license key, click Install key to launch the wizard and install it.

Step 1: Key entry

_images/1.png

Carefully copy all lines of the license key from your delivery email and paste it into the entry area.

When done, click Next to decode and validate the key.

Step 2: Validation

_images/2.png

The key has been decoded and validated, and its details are now displayed. Make sure you are installing the right one.

If this is not the right key, click Back to correct the mistake.

Click Next to activate and install the key (an internet connection is required for activation).

Step 3: Finish

_images/3.png

The license key has been installed and you are seeing the Catalog tab of the dialog.

To install another key, click Add.

When done, click Done to close the dialog.

Obtaining pre-activated license keys

The third tab of the ELM window shows the Machine ID of the computer.

_images/4.png

The MachineID is a hardware-based identifier for creating license keys that work only on this specific machine.

Such keys are pre-activated, i.e. they do not require online activation, so they can be used on computers that are not allowed to access the internet.

To obtain pre-activated license keys for your machine, take note of your computer’s Machine ID and send it to us.

Adding & removing keys in client/server

In client/server the administration of license keys is done exclusively from the ELM dialog, which can be invoked by clicking “Licenses...” on the QLM palette. If the QLM palette is not visible, press CapsLock and hold down Shift for 3 seconds.

To start adding a key, click Add in the Catalog page of the ELM dialog.

Disabling the QLM palette on 4D Server

The opening of the QLM paletter on startup can be controlled via a configuration file, QLMConfig.json, saved in the Resources folder of the host database.

The configuration JSON file may contain a single boolean property named OpenLauncher.

To disable the opening of the QLM palette during startup, set that property to false:

{
    "OpenLauncher": false
}

Where is licensing information stored?

Programmer keys (Developer, Engine, OEM) are stored in the structure file or in the Project folder (in the case of project-based applications). The keys remain unaltered as the structure or project undergoes compilation, merging with 4D Volume, renaming, or even compacting.

End-user keys (Runtime, Server Expansion) are stored in a .QLC file that resides in the Escape folder inside the 4D folder of the machine (in c/s this refers to the server machine). The name of the .QLC file is based on the name of the database (using only the letters, not the numbers or other characters).