Skip to content
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

Improve description in several documents. #17445

Draft
wants to merge 4 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 21 additions & 10 deletions docs/getting-started/licensing/license-key-and-activation.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
category: licensing
order: 20
order: 10
meta-title: License key and activation | CKEditor 5 Documentation
meta-description: Managing your license keys and activating the editor.
menu-title: License key and activation
Expand Down Expand Up @@ -106,9 +106,9 @@ This key grants access to **all features**. It is valid for **14 days**. It does
* **Features**: Grants access to all features and add-ons.
* **Duration**: Valid for 14 days (until 12th May 2024).
* **Functionality**: The editor is limited functionally, such as session time and the number of changes allowed.
* **Intended Use**: Ideal for evaluating the platform and all its features.
* **Usage Limitation**: Can only be used for evaluation purposes and not for production.
* **Editor Loads**: Does not consume editor loads.
* **Intended use**: Ideal for evaluating the platform and all its features.
* **Usage limitation**: Can only be used for evaluation purposes and not for production.
* **Editor loads**: Does not consume editor loads.

You can sign up for the [CKEditor Premium Features 14-day free trial](https://portal.ckeditor.com/checkout?plan=free) to test the editor.

Expand All @@ -121,9 +121,9 @@ This key grants access to your subscription features. It does not consume editor
* Similar to the trial license, the editor is limited functionally, including session time and the number of changes allowed.
* Additionally, there are limitations on development domains. The editor can be used in the following domains: `localhost`, `*.test`, `*.localhost`, `*.local`, and IP addresses: `127.0.0.1`, `192.168.*.*`, `10.*.*.*`, `172.*.*.*` .
* The editor will show a banner informing it was launched for development purposes.
* **Intended Use**: Designed for development environments such as local work, continuous integration (CI), and end-to-end (E2E) tests.
* **Usage Limitation**: Must not be used for production environments.
* **Editor Loads**: Does not consume editor loads.
* **Intended use**: Designed for development environments such as local work, continuous integration (CI), and end-to-end (E2E) tests.
* **Usage limitation**: Must not be used for production environments.
* **Editor loads**: Does not consume editor loads.

[Contact us](https://ckeditor.com/contact/?sales=true#contact-form) for more details

Expand All @@ -133,9 +133,20 @@ This key grants access to your subscription features without imposing any limita

* **Features**: Grants access to subscription features.
* **Functionality**: The editor functions without any restrictions.
* **Intended Use**: Meant for production environments where the software is actively used by end-users.
* **Usage Limitation**: None specified.
* **Editor Loads**: Consumes editor loads, especially after the 14-day trial period ends.
* **Intended use**: Meant for production environments where the software is actively used by end-users.
* **Usage limitation**: None specified.
* **Editor loads**: Consumes editor loads, especially after the 14-day trial period ends.

### Evaluation license key

This license key is a temporary, evaluation-only key generated by our team to support short-term testing and demonstration purposes. It is intended for use in events, sample code, or brief evaluations, allowing limited access to essential platform features.

* **Features**: Grants access to open-source features only.
* **Duration**: Typically valid for 24 hours to accommodate short-term needs.
* **Functionality**: The editor is limited functionally, such as session time and the number of changes allowed.
* **Intended use**: Ideal for quick evaluations, demos, or inclusion in code samples.
* **Usage limitation**: Issued solely for evaluation purposes by our team; not authorized for production use.
* **Editor loads**: This license does not consume editor loads, ensuring it’s lightweight for temporary testing.

## Using the license key

Expand Down
14 changes: 13 additions & 1 deletion docs/getting-started/licensing/usage-based-billing.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ category: licensing
menu-title: Usage-based billing
meta-title: Usage-based billing | CKEditor 5 documentation
meta-description: Learn how usage-based billing works in CKEditor 5.
order: 40
order: 20
modified_at: 2024-10-28
---

Expand Down Expand Up @@ -38,6 +38,12 @@ Alternatively, if you prefer to use only the free, open-source version of CKEdit

An editor load occurs each time CKEditor is initialized in your application. For example, if 100 users load CKEditor 10 times each, it results in 1,000 editor loads.

The editor initializes as follows:

1. The integrator creates one or more editors on a page, typically using a method like `ClassicEditor.create(sourceElementOrData, configuration)`.
2. Depending on the setup, the editor will either initialize with the selected DOM element or, if provided with data, initialize in a detached mode to be added to the DOM on demand.
3. Upon the `ready` event, the editor sends usage information to the server to confirm the license. [Read more about the license check](#license-check-and-usage-data).

Each individual editor instance on a page is counted as one editor load. For example, if a page contains ten editors, a single refresh of that page will result in ten editor loads.

Several factors can contribute to a high number of editor loads, with one of the most significant being the use of multiple editors on a single page. For example:
Expand All @@ -47,6 +53,12 @@ Several factors can contribute to a high number of editor loads, with one of the

By understanding these scenarios, you can better anticipate and manage your editor loads to align with your usage plan.

### License check and usage data

When the editor is ready, a license check request is sent to our server, along with non-personalized data that helps us understand editor usage. This information also assists in resolving any potential dispute claims.

The server’s response confirms whether the license is valid. If invalid, the editor will switch to read-only mode.

## How usage-based billing works

Each pricing plan includes a specific number of editor loads. If you exceed this limit, you can either upgrade to a higher plan or pay for additional editor loads in blocks of 1,000.
Expand Down
14 changes: 11 additions & 3 deletions docs/getting-started/setup/csp.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,17 @@ order: 110

CKEditor&nbsp;5 is compatible with applications that use [<abbr title="Content Security Policy">CSP</abbr> rules](https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP) and helps developers build a secure web.

## Recommended CSP configuration
## Recommended CSP configuration for Cloud deployments

The recommended CSP configuration that allows the rich-text editor to run out–of–the–box with all standard features using the content like images or media from external hosts looks as follows:
The recommended CSP configuration for {@link getting-started/licensing/usage-based-billing#cloud-hosted Cloud deployments} that allows the rich-text editor to run out–of–the–box with all standard features using the content like images or media from external hosts looks as follows:

```
default-src 'none'; connect-src 'self'; script-src 'self' https://cdn.ckeditor.com https://proxy-event.ckeditor.com ; img-src * data:; style-src 'self' 'unsafe-inline'; frame-src *
```

## Recommended CSP configuration for self-hosted deployments

The recommended CSP configuration for self-hosted deployments (npm/ZIP) that allows the rich-text editor to run out–of–the–box with all standard features using the content like images or media from external hosts looks as follows:

```
default-src 'none'; connect-src 'self'; script-src 'self'; img-src * data:; style-src 'self' 'unsafe-inline'; frame-src *
Expand All @@ -29,7 +37,7 @@ Some CSP directives have an impact on certain rich-text editor features. Here is
**Note**: To use [CKEditor Cloud Services](https://ckeditor.com/ckeditor-cloud-services/), include the `http://*.cke-cs.com` domain in the `connect-src` directive, for instance: `connect-src 'self' http://*.cke-cs.com`.
* `script-src 'self'`: Allows the execution of JavaScript from the current host only and can be applied only if the CKEditor&nbsp;5 script file (`<script src="[ckeditor-build-path]/ckeditor.js"></script>`) is also served from that host.

**Note**: If CKEditor&nbsp;5 is served from another host, for example the official CDN, make sure the value of `script-src` includes that host (`script-src 'self' https://cdn.ckeditor.com`).
**Note**: If CKEditor&nbsp;5 is served from {@link getting-started/licensing/usage-based-billing#cloud-hosted Cloud}, make sure the value of `script-src` includes the required hosts, one for the CDN, and one for the {@link getting-started/licensing/usage-based-billing#license-check-and-usage-data license check server}: `script-src 'self' https://cdn.ckeditor.com https://proxy-event.ckeditor.com`.
* `img-src * data:`
* The `*` directive value allows images in the editor content to come from any hosts.
* The `data:` value allows:
Expand Down
2 changes: 1 addition & 1 deletion docs/support/license-and-legal.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

category: support
meta-title: License and legal | CKEditor 5 Documentation
order: 20
order: 30
---

# License and legal
Expand Down
1 change: 1 addition & 0 deletions packages/ckeditor5-core/src/editor/editor.ts
Original file line number Diff line number Diff line change
Expand Up @@ -961,6 +961,7 @@ export default abstract class Editor extends /* #__PURE__ */ ObservableMixin() {
/**
* You have exceeded the editor operation limit available for your evaluation license key.
* Please restart the editor to continue using it.
* {@glink getting-started/licensing/license-key-and-activation#license-key-types Read more about license key types}.
*
* @error license-key-evaluation-limit
*/
Expand Down