AgilePoint NX (v6.0 or Higher) App and User License FAQ
What is an AgilePoint NX Named License and Shared License?
You can think of license seats like the seats at a table. A named license reserves a permanent seat at the table for a specific user. No other users can sit in this seat. With a shared license, a seat at the table is reserved, but multiple users can take turns sitting in it. In a shared license, a user's "turn" in the seat ends when the user's session expires. When you have multiple shared license seats, multiple seats at the table are shared. Users rotate in and out of the available seats as their sessions renew and expire. The number of shared license seats you have represents the maximum number of users who can sit at the table (consume the AgilePoint NX service) at the same time.
For most AgilePoint customers, shared license seats are sufficient for most users. Named license seats are often reserved for a small number of high priority users. See below for details about how user sessions work, and how to calculate shared license usage.
How does AgilePoint shared user license work, and why does bring more value?
Typically, a user session refers to the presence of a user on a specific application. AgilePoint goes above and beyond this typical approach to define the user session in a way that brings more value to our customers. In AgilePoint NX, a user session means the presence of an authenticated user who can access AgilePoint NX from multiple applications on multiple devices at the same time.
Once a user (or set of user credentials, as in an API call) authenticates to AgilePoint NX, the user's session is allocated a user license seat that lasts a minimum of 5 minutes, unless the user actively logs off in less than 5 minutes. If the user continues interacting with AgilePoint NX before the user session expires, the user session is renewed and consumes a user license seat. If the user does not interact with the AgilePoint NX system after 5 minutes, the user session expires, and the license seat becomes free for another user. If the user interacts with AgilePoint NX again after the user session expires, a new user session is renewed with a user license seat automatically. If the user does not interact with AgilePoint NX for 15 minutes, the user is signed off of the AgilePoint NX Portal. An upcoming enhancement will allow an authorized user to terminate another user's session through the AgilePoint NX Portal.
An AgilePoint NX user session applies to a user identity, no matter how many applications, browser sessions, or devices he uses to access AgilePoint NX. For example, if a user is developing an application in the App Builder in the AgilePoint NX Portal in one browser window and completing a task on his mobile app at the same time, this counts as only 1 user session, and requires only 1 license seat.
AgilePoint NX user sessions are only applied to applications that connect to the AgilePoint NX system. No user session is established when the AgilePoint Server engine executes a process, so no license seat is allocated for this action. A license seat is allocated when a process activity facilitates a user action that requires a user session, such as approval on an eForm or the AgilePoint NX Salesforce App, or any external web application or service that communicates with AgilePoint NX using authentication credentials.
What is an AgilePoint NX App (for license purposes)?
AgilePoint NX licenses are determined, in part, on the number of Apps in your environment. An AgilePoint NX App (sometimes called an application) is a low-code, declarative software artifact designed for a single purpose that performs a single primary function. For example:
- Data submission through a standalone form.
- A standalone document approval process.
- A web content translation process with child processes for each target language.
AgilePoint NX App is different from the traditional terms business application or enterprise application, which refer to software designed to perform a variety of functions, either to serve an entire business, a line of business, or a department. A business application created in AgilePoint NX is composed of one or more Apps.
An AgilePoint NX App is also different from a mobile app. A mobile app is a software component that is used for a specific purpose on a specific type of device. An AgilePoint NX App can be used as a mobile app, but this is not necessarily the case. A mobile app can be used as a front-end user interface for an AgilePoint NX App, or an external mobile app can be used to exchange data with an AgilePoint NX app. In AgilePoint NX, it is also possible to create mobile apps for these purposes (such as through the Mobile App Accelerator), but AgilePoint NX Apps and mobile apps are not conceptually or functionally equivalent.
At a high level, the following are the functional components that are considered an AgilePoint NX App:
- A form-based app - A standalone app that uses a single form as its primary input method with no other application logic.
- A standalone process model - A component that includes any number of forms and application logic that serves a specific purpose. Any number of process models can be grouped together to create a larger business application, but each process model is considered an App for license purposes.
- A parent process model with any number of subprocesses - A standalone process model can be subdivided into subprocesses in order to organize and manage the functionality. A parent process along with all of its subprocesses are considered a functional App, and are organized together in the App Builder as a single App. However, the parent process model and its subprocesses are considered separately for license calculation purposes. Subprocesses are not counted in the same way as their parent processes. For more information, refer to the section, How are licenses calculated for Apps?
The following table provides an example of a human resources business application that contains 5 AgilePoint NX Apps, as they would be divided functionally within the App Builder.
App | Functional Components |
---|---|
Candidate Interview |
1 standalone process model. |
Performance Review |
1 standalone process model. |
Employee Onboarding |
1 primary/parent process model and 3 subprocesses. Note that this is considered one functional app, but the process model and its subprocesses are calculated separately for license purposes. |
Health Insurance Change |
A form-based app with one primary eForm. |
401K Application |
A form-based app with one primary eForm. |
How are licenses calculated for Apps?
The number of Apps consumed by an AgilePoint NX software license is calculated based on the following rules:
- 1 form-based app = 1 AgilePoint NX App
- 1 standalone process model = 1 AgilePoint NX App
- 1 parent process model = 1 AgilePoint NX App
- 1-5 subprocess models = 1 AgilePoint NX App
Stated as a formula, license usage for apps is calculated as follows:
nFBA + nSPM + nPPM + ROUNDUP(nSPM / 5)
In this equation:
- nFBA = number of form-based apps
- nSPM = number of standalone process models
- nPPM = number of parent process models
- nSPM = number of subprocess models
- ROUNDUP = a math function for rounding up to the nearest whole number
The following table provides examples of license calculation.
Environment A | Environment B | Environment C | Environment D | |
---|---|---|---|---|
Form-Based Apps | 5 | 1 | 2 | 3 |
Standalone Process Models | 5 | 1 | 2 | 3 |
Parent Process Models | 0 | 1 | 2 | 3 |
Subprocess Models** | 0 | 1 | 5 | 12 |
Total App Licenses Consumed | 10 | 4 | 7 | 12 |
** The number of subprocess models refers to all subprocess models across all Apps in the environment. To determine the number of App licenses that are consumed by subprocesses, this number is divided by 5, and then rounded up to the nearest whole number.
What events trigger an AgilePoint NX user session renewal and allocate a user license seat?
The following list provides examples of events that initiate or renew a user session and allocate a license seat. This is not a complete list:
- Click a button in the AgilePoint NX Portal, the AgilePoint NX Salesforce or SharePoint App, or a mobile app that accesses the AgilePoint NX system.
- Open a task from the Task List in the Portal, SharePoint App, Salesforce App, or a mobile app.
- Submit an AgilePoint NX task from any client application.
- eForm lookups to SharePoint, Salesforce, Active Directory, database, or other data source.
What if...?
The following are some common questions our customers ask about AgilePoint NX license policies based on specific scenarios.
What if I am working with the AgilePoint NX Portal, and I get called away for a meeting. Then I come back and start working again. Does my user session continue the whole time? When I return, do I need to sign in again?
If you are working with AgilePoint NX, and you leave, your user session expires after 5 minutes of inactivity, and your license seat associated with the session is released. However, when you return, you do not need to sign in again, as long as you did not sign out. Once you start working again, your credentials token is passed to AgilePoint Server behind the scenes, and a new user session is renewed and allocates a license seat.
What if it is a peak time of day, such as early morning, when everyone signs in around the same time. Will there be a limit to the number of authentications allowed based on the shared users?
During peak times, users will be able to sign in, even if the shared license seats are temporarily exceeded. However, the system administrator will receive a warning notification e-mail, and users may experience reduced performance while the license seats are exceeded.
What if I have an AgilePoint NX application open in more than one browser window — for example, if I am designing two different applications at the same time?
As long as you are logged in with the same user identity (user name), you only use 1 user session/license seat, regardless of the number of windows or devices where you are using the AgilePoint NX software.
What if I have a form that uses a third-party technology, like Java, and does not interact with AgilePoint NX with lookups until the user submits the form. Does the form use a license seat?
The form submission would be an authentication event and requires a user session and a license seat. However, this form would not otherwise use an AgilePoint user session or seat.
What AgilePoint releases support the shared license?
The Shared License is available for AgilePoint NX v6.0 and higher.
For information about...
How can I estimate my number of users for an AgilePoint Shared License?
Use the following calculation to estimate the number of users you will require under the AgilePoint Shared License. Note that this is a basic estimate to be used as a general guideline intended as a starting point. You can use your own estimating scheme if desired.
[total number of AgilePoint users] * [average number of hours per day each user will be actively using AgilePoint] / [number of hours per work day] = [number of required floating license seats]
Example:
200 total AgilePoint users * 2 hours average usage per user per day / 8 hours per work day = 50 floating user license seats
Can I reserve license seats for specific users?
In AgilePoint v5.0 R2 SP1 and higher you can reserve license seats for specific users. When a license seat is reserved, the user's license seat is removed from the pool of shared licenses, and the user session never expires unless the user logs out. This is typically used for frequent or high value AgilePoint users who need uninterrupted access to the system.
How is the AgilePoint Shared License model different from a traditional session connection license model?
AgilePoint Shared License Model is different from a traditional session connection license model in the following ways.
Characteristic | Traditional Session Connection License | Shared License | Comments |
---|---|---|---|
Uses a dedicated TCP/IP allocation |
Yes, such as a database connection |
No |
This is important for scalability. |
Requires system resource (e.g., memory) allocation to maintain session state at server side |
Yes, through database connection or ASP.NET. |
No |
This is important for performance and memory allocation. |
Counts the same user on multiple connections on different machines, browser sessions, or mobile or desktop applications as multiple sessions |
Yes |
No |
Example: A project manager accesses AgilePoint on her laptop, and then goes to a meeting using her mobile device for a presentation. The same user session is used, as long as she logs on using the same user account. |
Blended license (support for a combination of named users and floating users) |
No |
Yes |
Example: A company buys 10 floating licenses, but the CEO and CIO may want dedicated licenses so they can access system 24/7. The rest of the users share the remaining 8 licenses as floating. |
How can I monitor my actual number of active user sessions once the system is up and running?
To monitor your actual number of user sessions, query the AgilePoint database to analyze your maximum number of users in a day, and the frequency with which that maximum is reached. The AgilePoint system refreshes the user session count every 5 minutes. A record is generated each time the maximum number of license seats is reached.
To monitor your license usage, run the following query against the AgilePoint Database:
select DATE_OCCURRED, OBJECT_INFO, DESCRIPTION as WARNING from WF_AUDIT_TRAILS where CATEGORY=7 order by DATE_OCCURRED desc
The results look like the following. L=n represents the maximum number of floating license seats. A=n represents the number of active user sessions.
DATE_OCCURRED
OBJECT_INFO
WARNING
2010-05-10 17:34:40.027
L=2,A=3
The maximum number of concurrent users allowed by your AgilePoint License Agreement is 2, but your actual n ….
2010-05-10 17:29:04.400
L=2,A=2
NULL
In addition, you can run the query in Microsoft Excel to create graphs that will enable you to track your usage over time. In Excel, create the following view:
CREATE VIEW WFV_FLOATING_SESSIONS as select DATE_OCCURRED as [TIME],CONVERT(INT, RIGHT(OBJECT_INFO, LEN(OBJECT_INFO) - CHARINDEX('A=',OBJECT_INFO) - 1)) as ACTIVATED_SESSIONS, DESCRIPTION as WARNING from WF_AUDIT_TRAILS where CATEGORY=7
Then create the following query:
select * from WFV_FLOATING_SESSIONS
TIME
ACTIVATED_SESSIONS
WARNING
2010-05-10 17:34:40.027
3
The maximum number of concurrent users allowed by your AgilePoint License Agreement is 2, but your actual n ….
2010-05-10 17:29:04.400
2
NULL
How can I purchase additional license seats?
To increase your Shared License capacity, contact AgilePoint Sales.