Creating Custom Interfaces for License Central
Once your application is finished and protected with CodeMeter, administrators, accountants, product managers, and sales reps will all use License Central–either a little or a lot–to handle the sales and marketing. Each of those people has specific needs and tasks to perform with License Central. Since it is a web service, License Central can offer a customized user interface to anyone who needs to use it. Read on to find out what options and methods you have to build custom user interfaces in License Central.
Accessing License Central
There are multiple ways to access License Central’s services, either directly or via back-end automation. One way is via the standalone web front end that ships with the product. That interface support the concept of roles, including admins, sales users, and support users. The role determines what you can do. For example, admin users can create users while sales users cannot create items. When you create a new user, you can specify as many different roles as you want; the user below has all roles (screenshot).
The Admin Interface is available as a ready-to-use web interface or alternatively as a web service. In most cases the software developer uses the web interface to combine CodeMeter properties with SKUs (stock keeping units). Each time that Product Management decides to develop a new feature, the software developer has–of course–to implement the feature in the software. And the software developer configures the same product in CodeMeter License Central using Admin Interface.
If there are new license models–like time limited version, or network licenses–the software developer or the product manager generates new items with different license options.
Controllers and support employees can also use the web interface. However this is typically made possible by the web service interface as an integrated solution into the existing ERP system. This type of integration varies, depending on the existing system.
While Admin Interface is mostly used as out-of-the-box web interface, Sales Interface is mostly customized. On one hand there are integrations in ERP systems.
License Central includes an easy to use web service for integration with external ERP systems. This web service gets a request, including the login information (user name, password) and an order. A connector links the external system with CodeMeter License Central. This connector gets the information, transforms it into a web request for CodeMeter License Central, sends it to CodeMeter License Central and gives the answer back to the ERP system.
License Central requires authentication from your ERP system: most of our customers are using one account for the whole system. The login information for CodeMeter License Central is hardcoded in the connector and the connector makes the authentication with the external system. So it is simple to implement the authentication with the external system; it doesn’t matter if an online shop uses certificate based authentication via https, or if the connector makes an IP address check.
The second part in the web request is the order, which includes customer ID, order ID and all the Item IDs. Customer ID and Order ID can come from your ERP system; License Central will store whatever you input there. Additional information–such as the name of the customer–can also be transferred in the web request.
Item IDs in License Central represent SKUs. Each SKU represents something a customer can order from you. Here are some examples (table).
Note that the internal SKU ID and the Item ID from License Central don’t have to be identical. But each orderable item must be defined in License Central. For example, here’s a 10 unit item in License Central (screenshot ID 10010).
Note it has a defined Item ID, a name, and the LicenseQuantity value = 10.
Integration between your ERP system and License Central is simple and can be done by you–the ISV. Of course Wibu-Systems also offers Professional Services to do the integration with you. All you have to do is to implement the request to the connector. Connectors are available for SAP, Microsoft Sharepoint, Digital River (element 5 and share*it!), Salesforce.com, and Cleverbridge ecommerce solutions.
Internal SKU I D (from ERP)
License Central Item ID
Single user, perpetual license
|10010 || |
10 user, perpetual license
1 user 365 day usage period
Customized Sales Clerk Interface
With CodeMeter License Central is it possible to sell items manually. If there is no external ERP the user needs this feature. Of course the business process is slightly different for each ISV, so we decided to offer a web service interface to generate your own user interface. The user interface can be implemented in C# as a native client or in PHP as a web based application. The web service interface is so easy to use, that you can build your own user interface in a few hours.
Let’s assume that you don’t have an external system (otherwise you would not need your own user interface). You can display your items in the way you like and you can name the options with your terminology. Only you know that your software developer has used the highest bit of the Feature Map as a marker for an educational version. You might want to have all available items with check boxes or require the user to input the item ID manually. CodeMeter License Central will behave like you want.
At the end of the sales process License Central generates a ticket. With this ticket, your customer can get a license via the Depot Interface. Of course, the Depot Interface can also be integrated into your own user interface for the sales clerk.
License Central supports six separate ways to collect a license from the Depot Interface. These are discussed below.
- Direct from your software (via API)
- Direct via webpage
- Via file upload / download over a webpage
- Via email
- Per phone using an activation code (CodeMeterAct only)
- Per web service, for instance from your Sales Clerk User Interface
Software API calls
CodeMeter License Central uses an HTTP gateway (different from the connector) to accept a ticket and Remote Context File and return a Remote Update File (See figure Initial Order Process).
That sounds very technical and complex, but it isn’t. All you need to do is to use our out-of-the-box Activation Wizard. You simply customize the design of the dialogs, configure the IP address of your CodeMeter License Central and that’s it. There is a dialog, which asks the user for the ticket. The rest is done automatically in the background.
First, the Activation Wizard generates a fingerprint of the computer (in case of CodeMeterAct) or a fingerprint of the dongle (in the case of CodeMeter). We call this fingerprint a Remote Context File. It includes the serial number of the dongle, a unique ID of the computer (in the case of CodeMeterAct), and the content of all licenses.
Next, the http gateway gets the request from the Activation Wizard and forwards it to
CodeMeter License Central. License Central checks if the ticket is still open; if so it generates the license. This license can only be applied to the matching dongle or at the matching computer. We call this license a Remote Update File. The http gateway now delivers this license to the Activation Wizard.
Finally, the Activation Wizard applies the license to the local dongle or to the local computer. The Activation Wizard is also available as source code, so you can customize it to your needs or implement your own version.
Direct via webpage
An alternative way to get the license is via a webpage. The user navigates to your webpage, inputs the ticket and he sees all the licenses which are included in the ticket. This webpage can be adapted to your corporate website design.
There is a set of tools and samples in PHP available to integrate these depot webpages into your corporate website. After the ticket is input, the webpage calls CodeMeter License Central and shows all the available licenses for this ticket. It can also show the licenses
already taken. If the user has a locally connected CodeMeter dongle, or if the license should be transferred to users computer, the user only needs to click “Get License”. Now everything else happens in the background. A Remote Context File will be generated and a license returned.
The webpage works well with all major browsers: Internet Explorer, Firefox, Google Chrome, and Safari; and all major operating systems: Windows, Linux and Mac OS.
Via upload / download
Both the scenarios above require an Internet connection and the Internet Edition of License Central. What if the computer in question doesn’t have an Internet connection, as, for example, in an embedded application? In such cases it is possible to generate the Remote Context File manually. This could be an option in your Activation Wizard, if the online activation fails. The generation of the Remote Context File is also part of CodeMeter Control Center, a local tool included in the standard CodeMeter Runtime.
Let’s assume we have the Remote Context File. Using a computer that is connected to the Internet, the user navigates to your webpage and inputs the ticket. The available licenses are shown and the user selects the Remote Context File. Now the user downloads the Remote Update File and applies it to the dongle or the computer where the Remote Context File has been created. Whether you want to use CmSticks or CodeMeterAct, the computer where the license is stored doesn’t need a direct connection to the Internet. All you need is to transfer a file from and to this computer. That’s a great flexibility, which allows the usage of CodeMeterAct also in offline cases.
The upload and download uses standard web technologies. So it is available for every browser and all operating systems.
The email activation is similar to the upload and download case. The only difference is that the user sends the ticket and the Remote Context File via email. A support employee inputs both into License Central and sends the resulting Remote Update File back to the user.
Via phone (CodeMeterAct only)
Activation via phone is completely different from the cases above. You need to prepare a special phone license, which includes all the modules the customer has purchased. This special license is a file that you deliver with your software. Upcoming version 1.20 of CodeMeter License Central will do this automatically for you.
When the user wants to activate, he or she starts the Activation Wizard and chooses
“Activation via phone”. The Activation Wizard automatically takes the prepared phone file (which is already included with your application) and generates the installation ID. The installation ID includes a fingerprint of the computer and an internal ID of this license.
The user now reads out the ticket and the installation ID via phone to the support clerk. The support clerk inputs both at CodeMeter License Central. If the ticket is valid, the support clerk gets an activation code and gives this code to the user. After the input of this code, the software is activated and works.
Sales Clerk User Interface
Let’s return briefly to the customized interface for your sales clerks. Depending on your processes, the sales clerk just sends the ticket to the user, or programs a dongle and sends it to the user.
In the case of the dongle programming, this can be integrated into the user interface for the sales clerk. After retrieving the ticket the user interface automatically gets the license from CodeMeter License Central and puts it into the dongle. Maybe you can guess how it works? It generates a Remote Context File, sends it to the web service and applies the Remote Update File.
KEYnote 21 – Edition Spring 2011