-
Notifications
You must be signed in to change notification settings - Fork 774
User Metering #10789
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
Karuna-Mendix
wants to merge
30
commits into
development
Choose a base branch
from
kv-user-metering
base: development
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
User Metering #10789
Changes from all commits
Commits
Show all changes
30 commits
Select commit
Hold shift + click to select a range
38d3f63
restructuring
Karuna-Mendix 3d04df3
moving populate user types
Karuna-Mendix 1db37f0
Add section - User Types and Definitions
Karuna-Mendix f0c3b9b
New page- User Metering
Karuna-Mendix e2c980b
User metering overview page
Karuna-Mendix 5e98588
Creating user metering category
Karuna-Mendix 866b3c3
new page- implementing user metering
Karuna-Mendix 6cf8a53
implementing user metering info
Karuna-Mendix 884ccad
(De)Activation of users
Karuna-Mendix 616cb47
Additional info
Karuna-Mendix 0ee9b29
new page- FAQ
Karuna-Mendix 44b720c
Proofreading
Karuna-Mendix 492a5da
Proofreading
Karuna-Mendix 2346ec6
Feedback comments- 1st iteration
Karuna-Mendix 48bb658
Feedback comment - 2nd iteration
Karuna-Mendix 419954a
FAQs- feedback
Karuna-Mendix 2cc66d2
feedback 3rd iteration
Karuna-Mendix 4fda763
feedback
Karuna-Mendix 707ff3b
More feedback on user metering index file
Karuna-Mendix 5ce950a
feedback 1- implementing user metering
Karuna-Mendix 5d33f14
small changes
Karuna-Mendix 82fbb12
Improving Guidelines for Unique User Identification section
Karuna-Mendix c64021e
small change
Karuna-Mendix 916df42
small change
Karuna-Mendix 8a9f5ac
Incorporated populate user types sections
Karuna-Mendix 6804817
Removed Populating user types doc.
Karuna-Mendix 3eab208
FAQ update
Karuna-Mendix 05feeaa
Proofreading
Karuna-Mendix cc0f986
Proofreading
Karuna-Mendix 5edf47d
Fixing broken links
Karuna-Mendix File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
99 changes: 99 additions & 0 deletions
99
content/en/docs/deployment/general/contract-management/user-metering/_index.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,99 @@ | ||
| --- | ||
| title: "User Metering" | ||
| url: /developerportal/deploy/user-metering/ | ||
| weight: 20 | ||
| description: "This document describes how user metering works." | ||
| --- | ||
|
|
||
| ## Introduction | ||
|
|
||
| Mendix uses end user metering process to determine the number and type of users accessing applications in accordance with license agreements. Proper user classification ensures accurate reporting and optimal licensing costs for customers. <!-- *Proper user classification ensures accurate reporting, optimal licensing costs and transparency for both customers and Mendix. Customers can access Usage Report through the Control Center application on the Mendix Platform*. Link Usage Report from the Control Center doc --> | ||
|
|
||
| {{% alert color="info" %}} | ||
| End user metering is currently applied to applications deployed to Mendix Cloud and Mendix Cloud Dedicated environments. | ||
| {{% /alert %}} | ||
|
|
||
| Mendix licenses include user-based pricing plans. With user-based pricing, customers purchase licenses based on the number of users who need access to their Mendix applications. Customers can purchase user licenses in the following categories: | ||
|
|
||
| * Multi-App Internal User | ||
| * Single-App Internal User | ||
| * External User | ||
|
|
||
| For more information, refer to the [User Types and Definitions](/developerportal/deploy/licensing-apps-outside-mxcloud/#user-types-and-definitions) section of *Licensing apps*. | ||
|
|
||
| ### Key Features | ||
|
|
||
| * Automatic tracking – User consumption is automatically tracked from the moment your app is deployed to production and becomes functional, ensuring real-time tracking. | ||
| * Prompt data processing – Usage data is collected, processed, and deduplicated regularly. <!-- Monthly reporting – Usage data is collected regularly, processed monthly, and is available in the Control Center. --> | ||
| * License type classification – Users are classified by license type as External, Multi-App Internal, or Single-App Internal. This classification yields accurate license tracking and helps optimize licensing costs. | ||
|
|
||
| ## How User Metering Works | ||
|
|
||
| User metering in the Mendix cloud operates through a four-stage automated process, and it is enabled by default for apps deployed in Mendix Cloud environments. | ||
|
|
||
| ### In-App User Classification | ||
|
|
||
| Your application logic plays an important role in creating and maintaining accurate user records. A key component of in-app user classification is maintaining a consistent user identifier. This becomes especially important when customers are using multi-app licenses. In the Mendix Multi-App License Pack, the same individual may access multiple apps under a single license agreement. A unique, persistent user identifier ensures accurate tracking and prevents duplication. The application logic is responsible for classifying users as `Internal` or `External`. For more detailed information, refer to the [User Classification](/developerportal/deploy/implementing-user-metering/#user-classification). | ||
|
|
||
Karuna-Mendix marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| ### Data Collection | ||
|
|
||
| All applications on the Mendix Cloud and Mendix Cloud Dedicated automatically send user data back to the Mendix platform. Data is collected from all environments throughout the month. However, only data from the production environment is considered for consumption numbers and billing purposes. PII information (username and other user identifiers) is hashed at source before transmission to ensure data privacy. | ||
|
|
||
| ### Data Aggregation and Deduplication | ||
|
|
||
| At the end of each month, the Mendix Platform aggregates the collected data. Users are counted and rolled up to the app portfolio level. This process is detailed in the [User Classification and Deduplication](#classification-deduplication) section below. | ||
|
|
||
| ### User Classification and Reporting | ||
|
|
||
| Users are thereafter automatically classified in the following user licensing buckets based on your user licenses: | ||
|
|
||
| 1. External Users | ||
| 2. Single-App Internal Users | ||
| 3. Multi-App Internal Users (default) | ||
|
|
||
| <!-- End-of-month usage reports are generated at the beginning of each month and are made available via the Control Center dashboard. The reports are generally available on the 1st of each month and reflect the previous month's usage. --> | ||
|
|
||
| ## How User Classification and Deduplication Work {#classification-deduplication} | ||
|
|
||
| The user classification and deduplication process determines which user pack is consumed when a user accesses one or more of your applications. The process evaluates users in a sequence so that each user is counted according to the correct license pack without duplication. The classification follows the steps below: | ||
|
|
||
| ### User Identification (Deduplication) | ||
|
|
||
| Users are deduplicated based on common identifier values. A customer who has different identifier values in the aggregated data cannot be recognized as the same user, and will be counted as multiple users. The deduplication mechanism evaluates two user attributes. When different values persist, Mendix treats them as different users. For more information, refer to [Guidelines for Unique User Identification (Deduplication)](/developerportal/deploy/implementing-user-metering/#guidelines-for-unique-user-identification-deduplication). | ||
|
|
||
Karuna-Mendix marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| ### Classifying External Users | ||
|
|
||
| The next step is to determine whether a user is an external user: | ||
|
|
||
| * If the customer has a valid External User Pack subscription, and | ||
| * The user is explicitly marked as `External` within the application. | ||
|
|
||
| Then the user is classified as an external user. | ||
|
|
||
| Once classified, the user is licensed under the External User Pack and excluded from further classification steps. For more information, see the [User classification](/developerportal/deploy/implementing-user-metering/#user-classification) section of *Implementing User Metering*. | ||
|
|
||
| All remaining users are classified as `Internal` Users and further classified as described in the sections below. | ||
Karuna-Mendix marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
|
||
| {{% alert color="info" %}} | ||
| A multi-app user who is marked as `Internal` in one app and `External` in another will be counted as an internal user. | ||
| {{% /alert %}} | ||
|
|
||
| ### Classifying Single-App Internal Users | ||
|
|
||
| After `External` users are classified, the classification process further classifies the single-app internal users. | ||
|
|
||
| If the application is associated with a Single-App Internal User Pack, the user of the app will be classified as a single-app internal user. This user will be counted against the Single-App Internal User Pack for that application. | ||
| <!-- *For more details on how to assign Single-App Internal User Pack to your apps, refer to the Assigning Single-App Internal User Packs section of the Control Center.* Link from the Control Center doc --> | ||
|
|
||
| {{% alert color="info" %}} | ||
| An internal user accessing multiple apps, one of which is covered under a Single-App Internal User Pack, will be counted as a single-app internal user for that app and will also be counted separately for any other apps they use. | ||
| {{% /alert %}} | ||
|
|
||
Karuna-Mendix marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| ### Classifying Multi-App Internal Users | ||
|
|
||
| After external users and single-app internal users have been identified, any remaining internal users are classified as multi-app internal users. | ||
| These users are licensed under the Multi-App Internal User Pack, and no further action is required from your side. | ||
|
|
||
| ## Read More | ||
|
|
||
| * [Licensing Apps](/developerportal/deploy/licensing-apps-outside-mxcloud/) | ||
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.