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

[docs] Create an "Advanced Components" home page #4298

Merged
merged 34 commits into from
Apr 4, 2022
Merged
Show file tree
Hide file tree
Changes from 5 commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
cfc8d0f
[docs] Create new X home page
flaviendelangle Mar 28, 2022
f12f799
Improve nav
flaviendelangle Mar 28, 2022
5dfd66f
Fix
flaviendelangle Mar 28, 2022
89be3a5
Work
flaviendelangle Mar 28, 2022
7679e02
Empty
flaviendelangle Mar 28, 2022
e8b2cef
Work
flaviendelangle Mar 28, 2022
f8e13ca
Update docs/data/advanced-components/overview.md
flaviendelangle Mar 31, 2022
9ec819e
Update docs/data/advanced-components/overview.md
flaviendelangle Mar 31, 2022
5533f02
Update docs/data/advanced-components/overview.md
flaviendelangle Mar 31, 2022
1683360
Update docs/data/advanced-components/overview.md
flaviendelangle Mar 31, 2022
5f37d1d
Update docs/data/advanced-components/overview.md
flaviendelangle Mar 31, 2022
91eb153
Update docs/data/advanced-components/overview.md
flaviendelangle Mar 31, 2022
c944f84
Update docs/data/advanced-components/overview.md
flaviendelangle Mar 31, 2022
8d57423
Update docs/data/advanced-components/overview.md
flaviendelangle Mar 31, 2022
99b4dd9
Update docs/data/advanced-components/overview.md
flaviendelangle Mar 31, 2022
7b285f2
Update docs/data/advanced-components/overview.md
flaviendelangle Mar 31, 2022
c0bf228
Update docs/data/advanced-components/overview.md
flaviendelangle Mar 31, 2022
f5ff6f6
Update docs/data/advanced-components/overview.md
flaviendelangle Mar 31, 2022
c1c8e04
Update docs/data/advanced-components/overview.md
flaviendelangle Mar 31, 2022
da99f5c
Update docs/data/advanced-components/overview.md
flaviendelangle Mar 31, 2022
86a1020
Update docs/data/advanced-components/overview.md
flaviendelangle Mar 31, 2022
599caba
Update docs/data/advanced-components/overview.md
flaviendelangle Mar 31, 2022
5544fea
Update docs/data/advanced-components/overview.md
flaviendelangle Mar 31, 2022
0864e81
Update docs/data/advanced-components/overview.md
flaviendelangle Mar 31, 2022
44543fc
Update docs/data/advanced-components/overview.md
flaviendelangle Mar 31, 2022
6b0122e
Update docs/data/advanced-components/overview.md
flaviendelangle Mar 31, 2022
aeb0c45
Update docs/data/advanced-components/overview.md
flaviendelangle Mar 31, 2022
d9a743e
Update docs/data/advanced-components/overview.md
flaviendelangle Mar 31, 2022
eaefb2f
Update docs/data/advanced-components/overview.md
flaviendelangle Mar 31, 2022
cb8f1f9
Update docs/data/advanced-components/overview.md
flaviendelangle Mar 31, 2022
02f8fef
Update docs/data/advanced-components/overview.md
flaviendelangle Mar 31, 2022
7cc4276
Work
flaviendelangle Mar 31, 2022
0886369
Merge branch 'master' into x-home-page
flaviendelangle Mar 31, 2022
4be13d1
Work
flaviendelangle Mar 31, 2022
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
2 changes: 1 addition & 1 deletion .github/workflows/support-stackoverflow.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ jobs:
We use GitHub issues as a bug and feature requests tracker, however,
this issue appears to be a support request.

For support, please check out https://mui.com/components/data-grid/getting-started/#support. Thanks!
For support, please check out https://mui.com/getting-started/support/. Thanks!
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To be consistent with the issue templates I put the link of the core doc

I don't know if we should strengthen our Support section (or do an Advanced Components - Support page) and use it on the Issue templates AND on the Stackoverflow bot.


If you have a question on StackOverflow, you are welcome to link to it here, it might help others.
If your issue is subsequently confirmed as a bug, and the report follows the issue template, it can be reopened.
Expand Down
172 changes: 172 additions & 0 deletions docs/data/advanced-components/overview.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,172 @@
---
title: Advanced Components - Overview
flaviendelangle marked this conversation as resolved.
Show resolved Hide resolved
---

# Advanced Components - Overview
flaviendelangle marked this conversation as resolved.
Show resolved Hide resolved

<p class="description">A collection of fast and powerful components.</p>
flaviendelangle marked this conversation as resolved.
Show resolved Hide resolved

## Licenses
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This section is inspired by Data Grid - Getting Started # Plans but reworked


While MUI Core is entirely licensed under MIT, MUI X serves a part of its components under a commercial license.
Please pay attention to the license.
flaviendelangle marked this conversation as resolved.
Show resolved Hide resolved

### Community Plan
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

https://www.notion.so/mui-org/Style-guide-2a957a4168a54d47b14bae026d06a24b#d8e9cfb2423c4f83844a9f29d2032e3f and for the other? Not sure

Suggested change
### Community Plan
### Community plan

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If it's a proper noun that's normally capitalized as "Community Plan" when used in a sentence, then it's correct as is.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am in favor of using "Pro Plan" / "Community Plan" / "Premium Plan"


Published under [MIT license](https://tldrlegal.com/license/mit-license) and [free forever](https://mui-org.notion.site/Stewardship-542a2226043d4f4a96dfb429d16cf)
flaviendelangle marked this conversation as resolved.
Show resolved Hide resolved

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we elaborate more on what the Community Plan is? This gives us an opportunity to explain why the user might want/need to purchase a license.

Suggested change
The components available through the Community Plan are fully functional and production-ready, but lack more advanced features such as {{features exclusive to the Pro and Premium Plans}}.

The packages of the **Community** Plan are:
flaviendelangle marked this conversation as resolved.
Show resolved Hide resolved

- [`@mui/x-data-grid`](https://www.npmjs.com/package/@mui/x-data-grid)
- [`@mui/x-date-pickers`](https://www.npmjs.com/package/@mui/x-date-pickers)

### Pro Plan

This plan contains the features that are at the limit of what the open-source model can sustain. From a price perspective, the plan is designed to be accessible to most professionals.

See [Pricing](https://mui.com/store/items/material-ui-pro/) for details on purchasing licenses.
flaviendelangle marked this conversation as resolved.
Show resolved Hide resolved
flaviendelangle marked this conversation as resolved.
Show resolved Hide resolved

The packages of the **Pro** Plan are:
flaviendelangle marked this conversation as resolved.
Show resolved Hide resolved

- [`@mui/x-data-grid-pro`](https://www.npmjs.com/package/@mui/x-data-grid-pro)
- [`@mui/x-date-pickers-pro`](https://www.npmjs.com/package/@mui/x-date-pickers-pro)

The features exclusives to the **Pro** Plan are marked with the <span class="plan-pro"></span> icon across our documentation.
flaviendelangle marked this conversation as resolved.
Show resolved Hide resolved

<div class="only-light-mode">
<img src="/static/x/commercial-header-icon-light.png" style="width: 579px; margin-bottom: 2rem;" alt="">
</div>
<div class="only-dark-mode">
<img src="/static/x/commercial-header-icon-dark.png" style="width: 560px; margin-bottom: 2rem;" alt="">
</div>

### 🚧 Premium Plan

This plan contains the most advanced features.

The features exclusives to the **Premium** Plan are marked with the <span class="plan-premium"></span> icon across our documentation.
The **Premium** Plan also contains all the features of the **Pro** Plan
flaviendelangle marked this conversation as resolved.
Show resolved Hide resolved

## MIT vs. commercial
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pure Copy Paste

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this section really necessary? I don't think we need to keep trying to justify the existence of our paid products. It makes us look oddly defensive, especially to devote so many words to it. If it needs to stay, I think a few sentences would be plenty.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy / pasted
But I agree that we talk a lot about the "why", which was maybe useful one year ago, but now our product feature should justify the cost by themselves.


_How do we decide if a feature is MIT or commercial?_

We have been building MIT React components since 2014,
and have learned much about the strengths and weaknesses of the MIT license model.
The health of this model is improving every day. As the community grows, it increases the probability that developers contribute improvements to the project.
However, we believe that we have reached the sustainability limits of what the model can support for advancing our mission forward. We have seen too many MIT licensed components moving slowly or getting abandoned. The community isn't contributing improvements as fast as the problems deserved to be solved.

We are using a commercial license to forward the development of the most advanced features, where the MIT model can't sustain it.
A solution to a problem should only be commercial if it has no MIT alternatives.

For each set of component, you can check the feature comparison table:
flaviendelangle marked this conversation as resolved.
Show resolved Hide resolved

- [Data Grid](/x/react-data-grid/getting-started/#feature-comparison)
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we directly link to the pricing page which has the most advanced feature comparison UI ?

Right now we have 3 lists:

I would at least drop the 3rd one (not in this PR)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I do not know if we should remove mui.com/components/data-grid/#features

For sure we should not link to this section because it is less informative than feature comparison. But it seems to be a good way to give an overview of what is available in the component without having to navigate on a big table

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I find it not very usable

You have a flat mix of

  • advanced features (Row Grouping, Column Pinning, etc...)
  • very basic things that we obviously support (Pagination)
  • marketing statements with no real meaning (High performance, 100% customizable)

If the goal is to give an insight of the pover of the grid, the I think the list could be two times shorter with only the most interesting ones.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The capitalization convention we use from what I understand

Suggested change
- [Data Grid](/x/react-data-grid/getting-started/#feature-comparison)
- [Data grid](/x/react-data-grid/getting-started/#feature-comparison)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the mui.com/pricing page is the best place to send people.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@oliviertassinari I believe it should be capitalized since it's referring to The MUI X Data Grid, as opposed to any generic data grid or the concept in general.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the mui.com/pricing page is the best place to send people.

@samuelsycamore would you keep https://mui.com/components/data-grid/getting-started/#feature-comparison
And if so, for which usages ?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@flaviendelangle is there any info on that page that isn't included on the Pricing page? If it's all there already then I think this #feature-comparison section is redundant. I would lean toward keeping all of this info on the Pricing page as the single source of truth.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The 1st two are almost identical (but the 2nd is DataGrid only)
Le 3rd one is a partial list

I think we could have two at most
With :

  • The pricing page with a very detailed collapsible list, that serve as source of truth for our community
  • On section in each component page focusing only on the most important / most exciting features of the pro / premium, to serve as an entry point for Community users to give them a taste of what we have and give them a reason to go to the full list


## Evaluation (trial) licenses
flaviendelangle marked this conversation as resolved.
Show resolved Hide resolved

You are [free to install](https://mui.com/store/legal/mui-x-eula/#evaluation-trial-licenses) and try our **Pro** / **Premium** components as long as it is not used for the development of a feature intended for production.
flaviendelangle marked this conversation as resolved.
Show resolved Hide resolved
Please take the component for a test run, no need to contact us.
flaviendelangle marked this conversation as resolved.
Show resolved Hide resolved

## License key

For commercially licensed software, a license key is provided.
This removes the watermark and console warning when valid.
This license key is meant as a reminder for developers and their team to know when they forgot to license the software or renew the license.
flaviendelangle marked this conversation as resolved.
Show resolved Hide resolved

### License key installation

Once you purchase a license, you'll receive a license key by email.
flaviendelangle marked this conversation as resolved.
Show resolved Hide resolved
This key should be installed to remove the watermark and
console warnings.
flaviendelangle marked this conversation as resolved.
Show resolved Hide resolved
You must set the license key before rendering the first component.
You only need to install the key once in your application.

```jsx
import { LicenseInfo } from '@mui/x-license-pro';
flaviendelangle marked this conversation as resolved.
Show resolved Hide resolved

LicenseInfo.setLicenseKey(
'x0jTPl0USVkVZV0SsMjM1kDNyADM5cjM2ETPZJVSQhVRsIDN0YTM6IVREJ1T0b9586ef25c9853decfa7709eee27a1e',
);
```

### Security
flaviendelangle marked this conversation as resolved.
Show resolved Hide resolved

The check of the license key is done without making any network requests.

The license key is designed to be public, the only thing we ask of licensed users is to not proactively publicize their license key.
Exposing the license key in a JavaScript bundle is expected.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Grammar and reorganizing.

Suggested change
The check of the license key is done without making any network requests.
The license key is designed to be public, the only thing we ask of licensed users is to not proactively publicize their license key.
Exposing the license key in a JavaScript bundle is expected.
The license key is checked without making any network requests—it's designed to be public.
In fact, it's expected for the license key to be exposed in a JavaScript bundle.
We just ask our licensed users not to publicize their license keys.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we include some kind of warning here? Something like "License holders found to be sharing their keys are subject to having their licenses revoked."?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.


### Validation errors
flaviendelangle marked this conversation as resolved.
Show resolved Hide resolved

If the validation of the license key fails, the component displays a watermark and provides a console warning in both development and production.
End users can still use the component.

Here are the different possible validation errors:

#### Missing license key
flaviendelangle marked this conversation as resolved.
Show resolved Hide resolved

If the license key is missing, the component will look something like this:

<div class="only-light-mode">
<img src="/static/x/watermark-light.png" style="width: 653px; margin-bottom: 2rem;" alt="" loading="lazy">
</div>
<div class="only-dark-mode">
<img src="/static/x/watermark-dark.png" style="width: 645px; margin-bottom: 2rem;" alt="" loading="lazy">
</div>

> Note that you are still allowed to use the component for [evaluation purposes](#evaluation-trial-licenses) in this case.

#### License key expired
flaviendelangle marked this conversation as resolved.
Show resolved Hide resolved

The licenses are perpetual, the license key will work forever with the current version of the software.
flaviendelangle marked this conversation as resolved.
Show resolved Hide resolved

However, **access to updates/upgrades** is not perpetual.
flaviendelangle marked this conversation as resolved.
Show resolved Hide resolved
Installing a version of the component released after the license key has expired will trigger a watermark and console message.
flaviendelangle marked this conversation as resolved.
Show resolved Hide resolved
For example, if you purchase a one-year license today, you are not licensed to install a version released two years in the future, but you can optionally update to any version, including major versions, if it's released in the next 12 months.
flaviendelangle marked this conversation as resolved.
Show resolved Hide resolved

#### Invalid license key

The license key you have installed is not as issued by MUI.
flaviendelangle marked this conversation as resolved.
Show resolved Hide resolved

## Support
flaviendelangle marked this conversation as resolved.
Show resolved Hide resolved

### GitHub

We use GitHub issues as a bug and feature request tracker. If you think you have found a bug, or have a new feature idea, please start by making sure it hasn't already been [reported or fixed](https://github.com/mui/mui-x/issues?utf8=%E2%9C%93&q=is%3Aopen+is%3Aclosed). You can search through existing issues and pull requests to see if someone has reported one similar to yours.

[Open an issue](https://github.com/mui/mui-x/issues/new/choose)
flaviendelangle marked this conversation as resolved.
Show resolved Hide resolved

### StackOverflow
flaviendelangle marked this conversation as resolved.
Show resolved Hide resolved

For crowdsourced answers from expert MUI developers in our community.
StackOverflow is also visited from time to time by the maintainers of MUI.
flaviendelangle marked this conversation as resolved.
Show resolved Hide resolved

[Post a question](https://stackoverflow.com/questions/tagged/mui)
flaviendelangle marked this conversation as resolved.
Show resolved Hide resolved

### Professional support

When purchasing an MUI X Pro or Premium license you get access to professional support for a limited duration.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is the length of the "limited duration"? Is it as long as the license is active?

Suggested change
When purchasing an MUI X Pro or Premium license you get access to professional support for a limited duration.
The MUI X Pro and Premium Plans include access to professional support for as long as the license remains active.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Support is available on multiple channels, but the recommended channel is GitHub issues.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What are the "multiple channels"? Seems like it's just GitHub and email, so let's say that instead.

Suggested change
Support is available on multiple channels, but the recommended channel is GitHub issues.
We recommend that you use [GitHub Issues](https://github.com/mui/mui-x/issues/) for support requests.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You also have Zendesk, I don't know how people access this one
@DanailH ?

If you need to share private information, you can also use email.
flaviendelangle marked this conversation as resolved.
Show resolved Hide resolved

- **MUI X Pro**: No SLA is provided but MUI's maintainers give these issues more attention than the ones from the Community plan. The channels:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What does SLA mean in this context? Is there another way to say this?

Suggested change
- **MUI X Pro**: No SLA is provided but MUI's maintainers give these issues more attention than the ones from the Community plan. The channels:
- **MUI X Pro**: No SLA is provided but MUI's maintainers give these issues more attention than the ones from the Community plan. The channels:

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

- GitHub: [Open a new issue](https://github.com/mui/mui-x/issues/new/choose) and leave your Order ID.
- Email (only to share private information): [Open a new issue](https://support.mui.com/hc/en-us/requests/new?tf_360023797420=mui_x) or send an email at x@mui.com.
- **MUI X Premium**: Same as MUI X Pro, but with priority over Pro, and a 48 hour SLA for the first answer.
- GitHub: this plan is not available yet
- Emails: this plan is not available yet
- **MUI X Premium Priority**: Same as MUI X Premium but with a 24 hours SLA for the first answer.
- GitHub: this plan is not available yet
- Emails: this plan is not available yet
Comment on lines +151 to +156
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this necessary since these plans are not yet available?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy / Pasted, so no strong feeling here
@oliviertassinari


## Roadmap
flaviendelangle marked this conversation as resolved.
Show resolved Hide resolved

Here is [the public roadmap](https://github.com/mui/mui-x/projects/1).
It's organized by quarter.
flaviendelangle marked this conversation as resolved.
Show resolved Hide resolved

> ⚠️ **Disclaimer**: We operate in a dynamic environment, and things are subject to change.
> The information provided is intended to outline the general framework direction, for informational purposes only.
> We may decide to add or remove new items at any time, depending on our capability to deliver while meeting our quality standards.
> The development, releases, and timing of any features or functionality remains at the sole discretion of MUI.
> The roadmap does not represent a commitment, obligation, or promise to deliver at any time.
145 changes: 3 additions & 142 deletions docs/data/data-grid/getting-started/getting-started.md
Original file line number Diff line number Diff line change
Expand Up @@ -130,41 +130,10 @@ Please pay attention to the license.

The component comes [in different plans](/pricing/):

- **Community**: It's [MIT license](https://tldrlegal.com/license/mit-license). It's [free forever](https://mui-org.notion.site/Stewardship-542a2226043d4f4a96dfb429d16cf5bd) and available on npm as [`@mui/x-data-grid`](https://www.npmjs.com/package/@mui/x-data-grid). It currently includes the [DataGrid](/components/data-grid/#mit-version) component.
- **Pro** and **Premium**: It's a [commercial license](/x/license/). It's available on npm as [`@mui/x-data-grid-pro`](https://www.npmjs.com/package/@mui/x-data-grid-pro) and includes the [DataGridPro](/components/data-grid/#commercial-version) component.
Features only available in the commercial version are suffixed in the documentation with the following marks:
- **Community** Plan: [`@mui/x-data-grid`](https://www.npmjs.com/package/@mui/x-data-grid), published under the [MIT license](https://tldrlegal.com/license/mit-license) and [free forever](https://mui-org.notion.site/Stewardship-542a2226043d4f4a96dfb429d16cf5bd).
- **Pro** Plan: [`@mui/x-data-grid-pro`](https://www.npmjs.com/package/@mui/x-data-grid-pro) published under a [Commercial license](/x/license/).

- <span class="plan-pro"></span>: For features exclusive to Pro and Premium plans.

<div class="only-light-mode">
<img src="/static/x/commercial-header-icon-light.png" style="width: 579px; margin-bottom: 2rem;" alt="">
</div>
<div class="only-dark-mode">
<img src="/static/x/commercial-header-icon-dark.png" style="width: 560px; margin-bottom: 2rem;" alt="">
</div>

- <span class="plan-premium"></span>: For features exclusive to the Premium plan.

You can check the [feature comparison](/components/data-grid/getting-started/#feature-comparison) for more details.
See [Pricing](https://mui.com/store/items/material-ui-pro/) for details on purchasing licenses.

### MIT vs. commercial

_How do we decide if a feature is MIT or commercial?_

We have been building MIT React components since 2014,
and have learned much about the strengths and weaknesses of the MIT license model.
The health of this model is improving every day. As the community grows, it increases the probability that developers contribute improvements to the project.
However, we believe that we have reached the sustainability limits of what the model can support for advancing our mission forward. We have seen too many MIT licensed components moving slowly or getting abandoned. The community isn't contributing improvements as fast as the problems deserved to be solved.

We are using a commercial license to forward the development of the most advanced features, where the MIT model can't sustain it.
A solution to a problem should only be commercial if it has no MIT alternatives.

We provide three plans:

- **Community**. This plan contains the MIT components that are sustainable by the contributions of the open-source community. Free forever.
- **Pro**. This plan contains the features that are at the limit of what the open-source model can sustain. For instance, providing a very comprehensive set of components. From a price perspective, the plan is designed to be accessible to most professionals.
- **Premium**. This plan contains the most advanced features.
More information about the various plans on [the dedicated section](/x/advanced-components#plans)

### Feature comparison

Expand Down Expand Up @@ -223,114 +192,6 @@ The enterprise components come in two plans: Pro and Premium.
| [Keyboard navigation](/components/data-grid/accessibility/#keyboard-navigation) | ✅ | ✅ | ✅ |
| [Localization](/components/data-grid/localization/) | ✅ | ✅ | ✅ |

### Evaluation (trial) licenses

You are [free to install](https://mui.com/store/legal/mui-x-eula/#evaluation-trial-licenses) and try `DataGridPro` as long as it is not used for the development of a feature intended for production.
Please take the component for a test run, no need to contact us.

## License key

For commercially licensed software, a license key is provided.
This removes the watermark and console warning when valid.
This license key is meant as a reminder for developers and their team to know when they forgot to license the software or renew the license.

### License key installation

Once you purchase a license, you'll receive a license key by email.
This key should be installed to remove the watermark and
console warnings.
You must set the license key before rendering the first component.
You only need to install the key once in your application.

```jsx
import { LicenseInfo } from '@mui/x-data-grid-pro';

LicenseInfo.setLicenseKey(
'x0jTPl0USVkVZV0SsMjM1kDNyADM5cjM2ETPZJVSQhVRsIDN0YTM6IVREJ1T0b9586ef25c9853decfa7709eee27a1e',
);
```

### Security

The check of the license key is done without making any network requests.

The license key is designed to be public, the only thing we ask of licensed users is to not proactively publicize their license key.
Exposing the license key in a JavaScript bundle is expected.

### Validation errors

If the validation of the license key fails, the component displays a watermark and provides a console warning in both development and production.
End users can still use the component.

Here are the different possible validation errors:

#### Missing license key

If the license key is missing, the component will look something like this:

<div class="only-light-mode">
<img src="/static/x/watermark-light.png" style="width: 653px; margin-bottom: 2rem;" alt="" loading="lazy">
</div>
<div class="only-dark-mode">
<img src="/static/x/watermark-dark.png" style="width: 645px; margin-bottom: 2rem;" alt="" loading="lazy">
</div>

> Note that you are still allowed to use the component for [evaluation purposes](#evaluation-trial-licenses) in this case.

#### License key expired

The licenses are perpetual, the license key will work forever with the current version of the software.

However, **access to updates/upgrades** is not perpetual.
Installing a version of the component released after the license key has expired will trigger a watermark and console message.
For example, if you purchase a one-year license today, you are not licensed to install a version released two years in the future, but you can optionally update to any version, including major versions, if it's released in the next 12 months.

#### Invalid license key

The license key you have installed is not as issued by MUI.

## Support

### GitHub

We use GitHub issues as a bug and feature request tracker. If you think you have found a bug, or have a new feature idea, please start by making sure it hasn't already been [reported or fixed](https://github.com/mui/mui-x/issues?utf8=%E2%9C%93&q=is%3Aopen+is%3Aclosed). You can search through existing issues and pull requests to see if someone has reported one similar to yours.

[Open an issue](https://github.com/mui/mui-x/issues/new/choose)

### StackOverflow

For crowdsourced answers from expert MUI developers in our community.
StackOverflow is also visited from time to time by the maintainers of MUI.

[Post a question](https://stackoverflow.com/questions/tagged/mui)

### Professional support

When purchasing an MUI X Pro or Premium license you get access to professional support for a limited duration.
Support is available on multiple channels, but the recommended channel is GitHub issues.
If you need to share private information, you can also use email.

- **MUI X Pro**: No SLA is provided but MUI's maintainers give these issues more attention than the ones from the Community plan. The channels:
- GitHub: [Open a new issue](https://github.com/mui/mui-x/issues/new/choose) and leave your Order ID.
- Email (only to share private information): [Open a new issue](https://support.mui.com/hc/en-us/requests/new?tf_360023797420=mui_x) or send an email at x@mui.com.
- **MUI X Premium**: Same as MUI X Pro, but with priority over Pro, and a 48 hour SLA for the first answer.
- GitHub: this plan is not available yet
- Emails: this plan is not available yet
- **MUI X Premium Priority**: Same as MUI X Premium but with a 24 hours SLA for the first answer.
- GitHub: this plan is not available yet
- Emails: this plan is not available yet

## Roadmap

Here is [the public roadmap](https://github.com/mui/mui-x/projects/1).
It's organized by quarter.

> ⚠️ **Disclaimer**: We operate in a dynamic environment, and things are subject to change.
> The information provided is intended to outline the general framework direction, for informational purposes only.
> We may decide to add or remove new items at any time, depending on our capability to deliver while meeting our quality standards.
> The development, releases, and timing of any features or functionality remains at the sole discretion of MUI.
> The roadmap does not represent a commitment, obligation, or promise to deliver at any time.

## API

- [DataGrid](/api/data-grid/data-grid/)
Expand Down
2 changes: 1 addition & 1 deletion docs/data/data-grid/overview/overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ import { DataGridPro } from '@mui/x-data-grid-pro';

### MIT vs. commercial

> Please check the [Licenses section](/components/data-grid/getting-started/#licenses) for more details between the different versions.
> Please check the [Licenses section](/x/advanced-components/#licenses) for more details between the different versions.

## Features

Expand Down
5 changes: 5 additions & 0 deletions docs/data/pages.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,9 @@
const pages = [
{
pathname: '/x/advanced-components',
title: 'Overview',
icon: 'DescriptionIcon',
},
{
pathname: '/x/react-data-grid',
scopePathnames: ['/x/api/data-grid'],
Expand Down
11 changes: 11 additions & 0 deletions docs/pages/x/advanced-components/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
import * as React from 'react';
import MarkdownDocs from 'docs/src/modules/components/MarkdownDocs';
import {
demos,
docs,
demoComponents,
} from 'docsx/data/advanced-components/overview.md?@mui/markdown';

export default function Page() {
return <MarkdownDocs demos={demos} docs={docs} demoComponents={demoComponents} />;
}
8 changes: 6 additions & 2 deletions test/e2e-website/data-grid-current.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,9 @@ test.describe('DataGrid docs', () => {
test('should have correct link for sidebar anchor', async ({ page }) => {
await page.goto(`/components/data-grid/`);

const anchor = await page.locator('nav[aria-label="documentation"] ul a:text-is("Overview")');
const anchor = await page.locator(
'nav[aria-label="documentation"] ul ul a:text-is("Overview")',
);

await expect(anchor).toHaveAttribute('href', `/components/data-grid/`);
});
Expand All @@ -52,7 +54,9 @@ test.describe('DataGrid docs', () => {
test('should have correct link for sidebar anchor', async ({ page }) => {
await page.goto(`/api/data-grid/data-grid/`);

const anchor = await page.locator('nav[aria-label="documentation"] ul a:text-is("DataGrid")');
const anchor = await page.locator(
'nav[aria-label="documentation"] ul ul a:text-is("DataGrid")',
);

await expect(anchor).toHaveAttribute('app-drawer-active', '');
await expect(anchor).toHaveAttribute('href', `/api/data-grid/data-grid/`);
Expand Down
Loading