LexActivator vs LexFloatClient

I have questions regarding the behaviors of LexActivator and LexFloatClient.

  1. LexActivator offers the use of the SetActivationMetadata() and GetActivationMetadata(). We plan on using these to keep track of the number of times that applications are started, the total execution time, etc. Does LexFloatClient() offer such a mechanism?

  2. Some routines from LexActivator and LexFloatClient feature the same names, which creates conflicts when linking with both libraries. This gives us the impression that we are not expected to try creating an application that links with both libraries simultaneously. Are problems/pitfalls to be expected? If so, what should we do to support both hosted and local license servers from the same application?

  3. The hosted server offers an interface to monitor and delete activations. Is a similar interface available with LexFloatServer? If an application crashes without releasing it’s license, is expiration the only recovery mechanism?

Regards!

Hi,

LexFloatClient is the client for LexFloatServer, which is an on-premise license server. Hence all the licenses exist in the context of on-premise server (locally). The Cryptlex hosted server is completely unaware of the floating clients. It can only provide you data regarding LexFloatServer. You can set activation data for LexFloatServer.

In case you want to use them together, you can do it without any issues. Two functions have the same name in both the libraries, we can update their names in LexFloatClient in the next release to resolve the conflict.

LexFloatServer doesn’t provide any dashboard (interface). It only exposes an endpoint which can be used to monitor the license usage and a few other details. Expiration is the only recovery mechanism in case the client crashes.

https://docs.cryptlex.com/floating-licenses/on-premise-floating-licenses/lexfloatserver#getting-server-stats

We also provide a hybrid license type: hosted-floating, it lets you monitor floating licenses in the Cryptlex Web Dashboard.

[quote=“support, post:2, topic:552”]You can set activation data for LexFloatServer.
[/quote]

Thank youf or the answers. How can I set the activation data in LexFloatServer/LexFloatClient? I looked at all the routines in LexFloatClient and none allow me to send meta data with the activation.

Regarding the conflicting function names, I will first try to workaround the issue with a wrapper library.

Also, is it possible for a client application to write Meta Data in the license itself rather than within the activations? Like so some of “SetLicenseMetadata()”. We are exploring the possibility of counting the total “uptime” of our software for all users. We can currently do it on a per-activation basis using SetActivationMetadata() and GetActivationMetadata(), but we would need to achieve it across all activations. We also need that information to persist even when deactivations occur, which is currently not the case using activation MetaData,

LexfloatServer has commnad line options -metadatakey and -metadatavalue which can be used to set activation metadata for LexFloatServer. LexFloatServer itself uses LexActivator for it’s own activation.

I got your point. Do you want to store the total uptime as Cryptlex license metadata for all activations, or is it fine if you could get that values using API and do the aggregation yourself.

The value of metadata persists across deactivations in activation logs. You may have actually missed the “activation logs”. When you select any license you can see two buttons on top “Activations” and “Activation Logs”. Activation log contains the complete history of all activations and deactivations including metadata for any license. So log can be used to do the aggregation if doing it using Cryptlex web API is an option for you.

You can even write a script (which runs periodically or on any webhook event) which does aggregation using activation log and update the license metadata. Does that sound feasible?