Você está na página 1de 8

Etelos Licensing for Applications – Getting Started

This document provides an overview of the Etelos licensing models for all Etelos products.
Additional licensing models may apply to specific applications. For any additional information
regarding Etelos application licensing, contact Etelos Customer Service at info@etelos.com,
or visit the Etelos website at www.etelos.com.

Applications built in the EDE, EAS, or EASE environments and hosted through the Etelos
Marketplace need to be licensed prior to distribution. This guide will help determine the right kind
of license for your application.

Etelos Licensing Types

Once you've built your application, you know what it's going to do, how it's going to work, and you
know exactly who will use it. But do you know how you're going to set it so your audience can use
your application? The EDE environment makes it easy for you to determine exactly who can use
your application, how they can use it, and how. The idea is to make it easy as possible for you to
determine the licensing for your product.

Etelos has two levels of application licensing. All licensing code for Etelos products is built into
the application as it is packaged for release in the Etelos Marketplace. The two types of
application licensing supported under the current licensing agreements are:

Simple Licensing
Full Application Licensing

You may require different levels of licensing for different versions of your application. Simple
licensing has a single model of licensing, while Full Application Licensing has several options.
The right option will depend on your application's intended usage.

Licensing Prerequisites

All licensed applications must be hosted on a licensed or owned Etelos application server, or on a
hosting account purchased separately on the Etelos Marketplace store. See
www.etelos.com/marketplace or click here for more information. It is also helpful to have
your application ready to compile – often, licensing the application is one of the final steps in
releasing your application to the Etelos Marketplace.

The developer of the application can choose any kind of licensing agreement with any number of
users, licenses. Your application can have an infinite number of licenses or be limited to a per
application-use license structure – there's no difference in the pricing structure for the type of
license you happen to choose. The complexity of the licensing is up to you.

Frequently Asked Questions:

Which licensing model is best for me?

That depends on what you want to do with your application. The idea behind simple
licensing is that it's, well, simple. The license is applied globally; the application will be usable by
a set number of individuals. When the licenses for an application run out, the customer purchases
a new license. Simple. Full licensing allows the programmer to develop exactly what kind of
licensing you want embedded in the code. If you want to license per account, you can do that. If
you want to license specific privileges within the application, you can do that too. Full licensing
gives you flexibility to make the choices on how your product is used, and gives a wide range of
options for your application's use.

Can I change the licensing model on my application without rebuilding it?

At this point in time, there isn't a model for re-licensing your application without
redeveloping it in the OpenDev packaging software. You can develop and create a new
application that has many of the same features, programs, and application notes with a different
licensing feature, but at this time no simple relicensing exists. You'll have to repackage and re-
release your application to change it.

What are the prices for different licensing?

The royalties, pricing, and development costs are the same whether you choose simple
or full licensing for your application. At this moment in time, there are no plans to increase or
decrease the price based on the type of licensing you choose.

Licensing Types And Application Uses

Simple Licensing:
Simple Licensing is the most basic licensing system. A Simple License allows the user to license
the application per user/ per month, with no cap in the number of users. No API functionality is
provided with this level of licensing. This level of licensing is ideal for the simple applications or
small applications built under the Etelos development environment, or for applications that do not
require bandwidth, user access, or download limitations.

Example: After finding the right program, John Q. Burner finds a program and downloads it.
Under the simple licensing model of the application, John can use the application without
limitation up to a preset limit of users (usually ten). If John or his company needs another license
for another user, he goes back to the store to purchase another license. The simple licensing
process is the most simple version of licensing, because it requires the user to purchase more
licenses for the application once the limit has been reached.

Simple Licensing

Allows:
 Per user/usage per month (no cap)
 No API
 Good for basic applications with limited complexity for user needs.

Full Application Licenses:


Full Application Licensing permits a much greater level of functionality within the development
environment. Licensing under the Full Application allows greater flexibility to the developer to
control access of the application's end user. Licensing for the Full Application allow three options:
Per Account, Per User, and Per Usage.

Per Account

Per Account licensing sets full licensing privileges to the application. There are
no access limitations to the application. Per account licensing has no optional
variables to the licensing model for the developer. Per Account licensing permits
full access to the application and allows full functionality without variables or
limitations to the app.

Per Account licensing is the best option for applications that are used directly or
do not share information over a network. The Per Account license is good for
stand-alone applications, for internal business applications that have a high
volume of usage by a single account or user.

Per User Licensing:

Per User licensing allows for a maximum number of users to be licensed, but
also permits scalability of the number of users. One advantage of a Per User
licensing system is that additional users are calculated separately from the base
cost of the application licensing.

Per User Licensing is best for applications that are distributed over a wide array
of users, for applications that require login access, or applications linked to a user
database.

 Included allowance of users


 A maximum allowed users setting
 Additive licenses
 Additional user charge configured separately from base cost
 Activate and deactivate users without deleting them
 Full PHP and EASE API

Per Usage Licensing

Per User licensing allows the selection of a maximum allowed usage, but also
permits for scalability of the number of use access. Licenses for the usage of the
application can be added from the application. Additional usage charges are
configured separately from the base cost, allowing for scalable access to the
application.

Allows
 Included allowance of usage entries (projects, documents, etc)
 A maximum allowed usage setting
 Additive licenses
 Additional usage charge configured separately from base cost
 Activate and deactivate usage records without deleting them
 Full PHP and EASE API
Etelos Application Licensing Code
EASE API CODE

The following is the specific code necessary to place the application licensing into your
applications. It is important to make sure the code written complies with the examples below to
prevent any conflicts with the application licensing and release.

QUERIES:

Allowed Users: EASE block replaced by number of users allowed including all additive
licenses, the allow additional users flag. If the license type is not Per user or if the allow
additional users flag is set this will return the string “no limit”.

<# query allowedUsers for application "ACME CORP PROJECT MANAGEMENT SOLUTION" . #>

Allowed Usage Entries: EASE block replaced by number of usage entries allowed
including all additive licenses, the allow additional usage flag. If the license type is not
Per usage or if the allow additional usage flag is set this will return the string “no limit”.

<# query allowedUsage for application "ACME CORP PROJECT MANAGEMENT SOLUTION" . #>

Current Users: EASE block replaced by number of current active users on the
application.

<# query currentUsers for application "ACME CORP PROJECT MANAGEMENT SOLUTION" . #>

Current Usage: EASE block replaced by number of current active usage entries on the
application.
<# query currentUsage for application "ACME CORP PROJECT MANAGEMENT SOLUTION" . #>

App Version: Return the version string configured in the application license.
<# query version for application "ACME CORP PROJECT MANAGEMENT SOLUTION" . #>

App License Expiration: Return the longest expiration date for all licenses for the
application specified. If there is no expiration date set this will return the string “none”.

<# query expiration for application "ACME CORP PROJECT MANAGEMENT SOLUTION" . #>

App Status: Returns the status of the application (taking into account both status and
expiration).

<# query status for application "ACME CORP PROJECT MANAGEMENT SOLUTION" . #>

LICENSING:

The general form for licensing requests through EASE form actions format is as follows:

when form_action start licensing request to [ACTION] [TARGET]


using application name [APP NAME]
on success redirect to "[OPTIONAL REDIRECT]"
on failure redirect to "[OPTIONAL REDIRECT]"
[USING DATA], [USING DATA];

ACTION: add, delete, activate, deactivate, update

TARGET: user, usage


APP NAME: Name assigned to the application by the developer in the application
packager program.

REDIRECTS: Redirects are optional. When redirecting on failure, a URL parameter is


added, eas_result, which includes the error message.

USING DATA: The using data section includes all of the various data fields which are
required for user and usage requests.

NOTE: Using extra data fields in licensing requests will not cause failure. The
tables listed below indicate the mum required data fields for each action.
USER LICENSING ACTIONS
Add Delete Update Activate Deactivate
Last name X X X X X
First name X X X X X
Email X X X X X
Phone X X
Company name X X
User_type X
New_first O
New_last O
New_email O
Count O O O O O
USAGE LICENSING ACTIONS
Add Delete Update Activate Deactivate
Object_id X X X X X
Object_name X X
Count O O O O O

Note that the parameter “Count” is optional in all cases. If this parameter is used, it
should be sent as the current count of users or usage entries prior to your licensing
action. Should this number differ from the billing information on the Etelos licensing
server, this provides the developer with an alert that there is a discrepancy with one of
your customer licenses. If you do not use this parameter to send in the current
user/usage counts, the discrepancy alert will always be “on”.

Example EASE form actions:

Add user with redirects:


when creating start licensing request to add user
using application name "ACME CORP PROJECT MANAGEMENT SOLUTION"
on success redirect to "success.espx"
on failure redirect to "failure.espx",
using last name "bob",
using first name "tom",
using company name "companyname",
using email "bob@bob.com",
using phone "20928082",
using user_type "user",
using count "0";

Update user without redirects:


when updating start licensing request to update user
using application name "ACME CORP PROJECT MANAGEMENT SOLUTION"
using last name "bob",
using first name "tom",
using company name "companyname",
using email "bob@bob.com",
using phone "20928082",
using user_type "user",
using count "0",
using new_first name "bobbie",
using new_last name "tomie",
using new_email "bobbie@tomie.com";

Add usage with redirects:


when updating start licensing request to add usage
using application name "ACME CORP PROJECT MANAGEMENT SOLUTION"
on success redirect to "success.espx"
on failure redirect to "failure.espx",
using object_id "niq23e9h9fn2992jn2",
using object_name "Manage Deliveries Project",
using count "0";
PHP API CODE:

The PHP interface contains five (5) functions:


 Retrieve all license data,
 Get a quick true/false on if the license is active and non-expired
 Get a quick string for the license version
 Perform user licensing actions
 Perform usage licensing actions.

QUERIES

License Query Full: Returns all the data about a license in a parseable format.
EASLicQueryLicenseFull("ACME CORP PROJECT MANAGEMENT SOLUTION");

Return:
action_success: users allowed: [25] usage allowed: [no limit] current users: [7]
current usage: [13] expire date: [none] status: [active] version: [professional]

License Query State: Returns either true or false based on if the license is active AND
not expired.

EASLicQueryLicenseState("ACME CORP PROJECT MANAGEMENT SOLUTION");

Return:
true

License Query Version: Returns a string that is simply the license version.
EASLicQueryLicenseVersion("ACME CORP PROJECT MANAGEMENT SOLUTION");

Return:
professional

USER AND USAGE LICENSING:

License User Action: Accepts a user licensing action and returns a string containing
“action_success” or “action_failure”. On a failure, the return string also includes the error
message.

Parameters:
EASLicUserAction(action: add, delete, update, activate, or deactivate
app_name: developer designated application name
count*: count of active users prior to this licensing action
first, last, email, company, phone: users data
user_type: allows two values, user or admin.

*If you are not using the out-of-sync warning, pass 0 for count.

Example:
EASLicUserAction('add', "ACME CORP PROJECT MANAGEMENT SOLUTION",
'0','john','doe','john@etelos.com','Etelos',
'206-999-1111','user');

Return:
action_success: user_added_on_store
action_failure: attempt_to_add_non_unique_user

License Usage Action: Accepts a usage licensing action and returns a string containing
“action_success” or “action_failure”. On failure the return string also includes the error
message.
Parameters:
EASLicUsageAction(action: add, delete, update, activate, or deactivate
app_name: developer designated application name
count*: count of active users prior to this licensing action
object_name: user friendly name for the usage entry
object_id**: unique usage id

* If you are not using the out-of-sync warning, pass 0 for count.
** The Usage ID only needs to be unique in the specific installation of the application it is running in, not across
all installations or servers.

Example:
EASLicUserAction('add', "ACME CORP PROJECT MANAGEMENT SOLUTION",
'0','Project to Manage Printing','ab28d97');

Return:
action_success: usage_added_on_store
action_failure: attempt_to_add_non_unique_usage

Você também pode gostar