-
-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
Changes from 5 commits
cfc8d0f
f12f799
5dfd66f
89be3a5
7679e02
e8b2cef
f8e13ca
9ec819e
5533f02
1683360
5f37d1d
91eb153
c944f84
8d57423
99b4dd9
7b285f2
c0bf228
f5ff6f6
c1c8e04
da99f5c
86a1020
599caba
5544fea
0864e81
44543fc
6b0122e
aeb0c45
d9a743e
eaefb2f
cb8f1f9
02f8fef
7cc4276
0886369
4be13d1
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
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 | ||||||||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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 | ||||||||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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. There was a problem hiding this comment. Choose a reason for hiding this commentThe 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
|
||||||||||||||||
|
||||||||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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 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 | ||||||||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Pure Copy Paste There was a problem hiding this comment. Choose a reason for hiding this commentThe 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. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Copy / pasted |
||||||||||||||||
|
||||||||||||||||
_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) | ||||||||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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) There was a problem hiding this comment. Choose a reason for hiding this commentThe 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 There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I find it not very usable You have a flat mix of
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. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The capitalization convention we use from what I understand
Suggested change
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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. There was a problem hiding this comment. Choose a reason for hiding this commentThe 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. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
@samuelsycamore would you keep https://mui.com/components/data-grid/getting-started/#feature-comparison There was a problem hiding this comment. Choose a reason for hiding this commentThe 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. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
The 1st two are almost identical (but the 2nd is DataGrid only) I think we could have two at most
|
||||||||||||||||
|
||||||||||||||||
## 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. | ||||||||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Grammar and reorganizing.
Suggested change
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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."? There was a problem hiding this comment. Choose a reason for hiding this commentThe 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. | ||||||||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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. | ||||||||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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 |
||||||||||||||||
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: | ||||||||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Is this necessary since these plans are not yet available? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Copy / Pasted, so no strong feeling here |
||||||||||||||||
|
||||||||||||||||
## 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. |
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} />; | ||
} |
There was a problem hiding this comment.
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.