diff --git a/content/en/docs/marketplace/create-content/guidelines-content-creators.md b/content/en/docs/marketplace/create-content/guidelines-content-creators.md index 555e22107c7..fca9c774a13 100644 --- a/content/en/docs/marketplace/create-content/guidelines-content-creators.md +++ b/content/en/docs/marketplace/create-content/guidelines-content-creators.md @@ -20,11 +20,11 @@ These are the general guidelines for creating new Marketplace content: * Your product must be complete and fully functional, as advertised upon submission. * In Mendix 10.21.0 and above, do not use direct associations in your module, as this can cause issues when it is imported. -When you add content to the Marketplace, include in the component [documentation](/appstore/submit-content/#doc) any information that the end-user should know. +When you add content to the Marketplace, include in the component documentation any information that the end-user should know. ## Using a GitHub Repository {#github} -You can set up a GitHub repository to contain the development content for your Marketplace component. During the submission process, you can share the repository URL as the component source on the [Package](/appstore/submit-content/#package) page. +You can set up a GitHub repository to contain the development content for your Marketplace component. During the submission process, you can share the repository URL as the component source on the [Upload Component](/appstore/submit-content/#general) tab. ### GitHub Repository Guidelines @@ -50,7 +50,7 @@ To create a new component release for the Mendix Marketplace, follow these steps {{< figure src="/attachments/appstore/submit-content/github-releases.png" >}} -5. Link this GitHub release to the upcoming Mendix Marketplace release by mentioning the GitHub release number in the description. For more details, see the [Package](/appstore/submit-content/#package) and [Updating Existing Marketplace Content](/appstore/submit-content/#updating) sections in *Upload to the Marketplace*. +5. Link this GitHub release to the upcoming Mendix Marketplace release by mentioning the GitHub release number in the description. For more details, see the [Uploading a Component](/appstore/submit-content/#general) and [Updating Existing Marketplace Content](/appstore/submit-content/#updating) sections in *Upload to the Marketplace*. ## Preparing Your Submission diff --git a/content/en/docs/marketplace/create-content/upload-content/_index.md b/content/en/docs/marketplace/create-content/upload-content/_index.md deleted file mode 100644 index 2ac1ece64da..00000000000 --- a/content/en/docs/marketplace/create-content/upload-content/_index.md +++ /dev/null @@ -1,220 +0,0 @@ ---- -title: "Uploading to the Marketplace" -url: /appstore/submit-content/ -weight: 6 -description_list: true -description: "Describes how to submit content to the Mendix Marketplace content." -tags: ["marketplace", "public marketplace", "private marketplace", widget", "module"] -aliases: - - /appstore/overview/share-content/ - - /appstore/general/share-app-store-content/ - - /developerportal/app-store/share-content/ -#If moving or renaming this doc file, implement a temporary redirect and let the respective team know they should update the URL in the product. See Mapping to Products for more details. ---- - -## Introduction - -The Mendix Marketplace is driven by contributions from community members who share the connectors, modules, and apps they have built with the Mendix Platform. - -## Prerequisites - -Before starting this how-to, make sure you have completed the following prerequisites: - -* Familiarize yourself with [Marketplace Overview](/appstore/overview/) and [Using Marketplace Content](/appstore/use-content/). - -## Adding New Marketplace Content {#adding} - -To get started, click **Add Content** in the left pane of the Marketplace home screen. Follow the steps in these sections to add content. - -{{% alert color="info" %}} -On each page of the upload flow, click one of the following buttons: - -* **Save Draft** to save the details you have entered so far for the draft. You can access the draft via the [My Drafts](/appstore/home-page/#my-drafts) link in the top bar. -* **Save & Continue** to go to the next page of the upload flow. -{{% /alert %}} - -### General {#general} - -Provide key details about your component on the **General** page. - -#### Describing Your Content - -Follow these steps to describe your content: - -1. Select a **Content Type** for your component. - - {{% alert color="warning" %}}You can only set the content type when creating the initial version of your content. You cannot change this setting after it is published.{{% /alert %}} - -2. Select the **Visibility** of your component: - - * **Public Marketplace (all Mendix users)** – Your component will be available to the entire Mendix community. - * This content must be reviewed and approved by Mendix before it is available. - * **Private Marketplace (your company only)** – Your content will receive the **Private** label, and be available only via your [Company Content](/appstore/home-page/#company-content) page. - * Selected private content of a content group can also be made available to [content group guests](/appstore/home-page/#guests) for download. - * This content is not reviewed by Mendix. - {{% alert color="warning" %}}You can only set the visibility in the initial version of your content. You cannot change this setting by updating the Marketplace component later.{{% /alert %}} - -3. Add between one and three categories in the **Category** field. A category groups together similar components or services that share common characteristics, functions, or purposes. Categories make it easier for Marketplace users to find what they are looking for. -4. Enter a **Name** for your component. -5. Enter a **Description** of your component. - - {{% alert color="warning" %}} You can use rich text in the editor. However, using rich text at the beginning of the description is not recommended, as it will not get rendered properly. You should add a few lines of regular text before using rich text. {{% /alert %}} - -#### Providing License Details {#license} - -Select the type of **License** you want applied to your app. - -##### Open-Source Software Licenses - -{{% alert color="warning" %}} -Open-source software licenses must abide by a set of compliance rules to ensure the safety of the Mendix ecosystem. Refer to [OSS Compliance for External Developers](/appstore/submit-content/oss-compliance/) for details. -{{% /alert %}} - -These are the open-source software license options available and their requirements: - -| | **Notes** | **Commercial use allowed?** | **Component code needs to be in public repo?** | **License text required with copyright info in code and distribution artifact?** | **Can modify?** (Mention modifications to code) | **Can consuming apps use without making their code public?** | **Notice files should be distributed with artifact?** | **Original component source code to be distributed with consuming app?** | **Can sub-license?** | -| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | -| [MIT](https://opensource.org/licenses/MIT) | Add a specific *license.txt* file in your artifacts, i.e. in the *.mpk* package. | {{< icon name="checkmark-circle-filled" color="green" >}} | {{< icon name="remove-circle-filled" color="red" >}} | {{< icon name="checkmark-circle-filled" color="green" >}} | {{< icon name="checkmark-circle-filled" color="green" >}} | {{< icon name="checkmark-circle-filled" color="green" >}} | {{< icon name="checkmark-circle-filled" color="green" >}} | {{< icon name="remove-circle-filled" color="red" >}} | {{< icon name="checkmark-circle-filled" color="green" >}} | -| **BSD 2.0, 3.0** | N/A | {{< icon name="checkmark-circle-filled" color="green" >}} | {{< icon name="checkmark-circle-filled" color="green" >}} | {{< icon name="checkmark-circle-filled" color="green" >}} | {{< icon name="checkmark-circle-filled" color="green" >}} | {{< icon name="checkmark-circle-filled" color="green" >}} | {{< icon name="checkmark-circle-filled" color="green" >}} | {{< icon name="remove-circle-filled" color="red" >}} | {{< icon name="checkmark-circle-filled" color="green" >}} | -| **Apache 1.0** | N/A | {{< icon name="checkmark-circle-filled" color="green" >}} | {{< icon name="checkmark-circle-filled" color="green" >}} | {{< icon name="checkmark-circle-filled" color="green" >}} | {{< icon name="checkmark-circle-filled" color="green" >}} | {{< icon name="checkmark-circle-filled" color="green" >}} | {{< icon name="checkmark-circle-filled" color="green" >}} | {{< icon name="remove-circle-filled" color="red" >}} | {{< icon name="checkmark-circle-filled" color="green" >}} | -| [Apache 2.0](https://www.apache.org/licenses/LICENSE-2.0) | Add a specific *license.txt* file in your artifacts, i.e. in the *.mpk* package. | {{< icon name="checkmark-circle-filled" color="green" >}} | {{< icon name="remove-circle-filled" color="red" >}} | {{< icon name="checkmark-circle-filled" color="green" >}} | {{< icon name="checkmark-circle-filled" color="green" >}} | {{< icon name="checkmark-circle-filled" color="green" >}} | {{< icon name="checkmark-circle-filled" color="green" >}} | {{< icon name="remove-circle-filled" color="red" >}} | {{< icon name="checkmark-circle-filled" color="green" >}} | -| **Creative Commons CC0 1.0 Universal (CC-0)** (Public Domain) | N/A | {{< icon name="checkmark-circle-filled" color="green" >}} | {{< icon name="remove-circle-filled" color="red" >}} | {{< icon name="remove-circle-filled" color="red" >}} | {{< icon name="checkmark-circle-filled" color="green" >}} | {{< icon name="checkmark-circle-filled" color="green" >}} | {{< icon name="remove-circle-filled" color="red" >}} | {{< icon name="remove-circle-filled" color="red" >}} | {{< icon name="checkmark-circle-filled" color="green" >}} | - -{{% alert color="info" %}} -The [GNU General Public License (GPL), version 3](https://www.gnu.org/licenses/gpl-3.0.en.html) is not available to use, as everything licensed under GNU GPL is public. -GNU GPL has a strong copyleft effect. -Modification has a strong copyleft effect. -All consuming apps should make their code public. -{{% /alert %}} - -##### Proprietary Licenses {#proprietary-license} - -You can configure your own proprietary license for your company’s content. The license can be applied to multiple components, and it can be used by everyone within your organization. - -This license can be created for a new **Public Marketplace (all Mendix users)** component by requesting a new license and submitting it alongside the component. The license needs to be approved by Mendix after you have created and submitted it the first time. Once it has been submitted for approval, you and the people within your organization can also use it for other components. - -Follow these steps to configure a proprietary license for a new public component: - -1. Click **Request New License**. -2. Add a **License Name**, which will be displayed on the [component details page](/appstore/component-details/). -3. Add a **License URL**, which should lead the user to a web page that lists the terms and conditions for using the component. Users can navigate to this web page by clicking the license name on the component details page. -4. Add a **Reason** for the new license. This is solely for Mendix review purposes, and will not be displayed on the component details page. - -#### Generating New Leads {#lead-generation} - -A lead is a potential sales contact that expresses interest in your product or service. Lead routing is the end-to-end process of collecting the leads and distributing them to you. It is possible to configure lead routing for the following content types in the Marketplace: - -* Solutions -* Industry templates - -When prospective customers are interested in your product, they can leave their contact information using the Marketplace product listing. This is done by clicking a call-to-action button and filling in a form. - -You can use one of these options as the name of your **Main call-to-action** button: - -* **Contact Us**, **Notify Me**, and **Request Demo** – Requires the email address that will receive the customer information. - - {{% alert color="warning" %}}If you choose to add one of these buttons, customers can contact you directly. If you start talking with the customer, it is your responsibility to provide access to the product for them. Mendix is not involved in such customer interactions. {{% /alert %}} - -* **Download** – No lead routing is established, but customers can directly download your product. - -In the **How would you like to receive information on new leads?** field, you must specify the email address or addresses where notifications and information can be sent. - -#### Adding an Icon - -To finish the configuration on the **General** page, click **Upload Image** to upload a cover image for your component. - -{{< figure src="/attachments/appstore/submit-content/general.png" >}} - -### Package {#package} - -{{% alert color="info" %}} -If you are using **Solutions**, you will not see the option to select your content source. If you are using **Industry Template**, selecting a content source is optional. -{{% /alert %}} - -1. Select one of the options for uploading the source file: - -* **Manual upload** – Follow the steps in the dialog box for uploading the package source file. - When you are finished, click **Save**. -* **GitHub URL** – Follow the steps in the dialog box for copying the link of the release you want to import. For details, see the [Using a GitHub Repo](/appstore/guidelines-content-creators/#github) section in *Guidelines for Content Creators*. - To include the repo's *README.md* file on the component's [Documentation](#doc) tab, make sure you have selected the **Import Documentation** box. - When you are finished, click **OK**. - -2. Select the **Studio Pro Version** on which you built the content. - -3. Add a version for your component. If this is the first version of the component you are uploading, the number in the **Version** section will be automatically set to **1.0.0**. - -4. Enter **Release Notes** for the component in the box provided describing what is new in that release. - -### Enable {#doc} - -On the **Enable** page, in the **Documentation** section, you can enter details on requirements and configuration for your component. - -{{% alert color="info" %}} For GitHub uploads, the documentation option is only available if the **Import Documentation** box has not been selected on the **Package** page. -{{% /alert %}} - -1. Follow the template for the recommended content: - -* You must fill out the following sections in order to submit your component: - * The **Typical usage scenario** for the component - * The **Features and limitations** of the component -* These sections are optional: - * Any **Dependencies** (for example, the required Studio Pro version, modules, images, and styles) - * The **Installation** steps and details - * The **Configuration** steps and details - * Any **Known bugs** - * Any **Frequently Asked Questions** - -The editor comes with a set of basic formatting tools, such as bold, bullet lists, and URL links. - -2. Click **Upload Screenshot** to upload images of the component from your computer. This is required for submitting a new component, and is especially important for configuration steps: - -{{< figure src="/attachments/appstore/submit-content/enable.png" >}} - -3. (Optional) Add a **YouTube URL** and a **Demo URL**. - -### Publish {#publish} - -Finally, on the **Publish** page, you can review all the details you entered so far, and edit them if necessary before publishing. - -{{< figure src="/attachments/appstore/submit-content/publish.png" width="600" >}} - -After you click **Publish Content**, your draft will be reviewed by Mendix before it is visible in the Marketplace. - -For details on the approval process, see [Governance Process](/appstore/submit-content/governance-process/). - -## Updating Existing Marketplace Content {#updating} - -After you publish a component in the Mendix Marketplace, it is your responsibility to make sure that the component is updated on a regular cadence. This is important to ensure compatibility with the latest versions of dependencies, especially Mendix Studio Pro. It is also required so Mendix can ensure the quality of components in the Marketplace. - -This means you need to monitor, maintain, and evolve the component, thus making sure that the Marketplace listing is more noticeable, that you can build user loyalty, and that you can maintain the good reputation of your company. - -If the component is not updated regularly, the Marketplace listing will be analyzed for removal from public visibility. - -Mendix expects the following updates for components in the Platform, Community, and Premium [support categories](/appstore/marketplace-content-support/#category): - -* Bug fixes -* New features -* Feature removal -* Compatibility updates with the latest Studio Pro version and other dependencies - -To update content that has already been published, follow these steps: - -1. Find the component in one of the following sections: - - * **My Content** - * **Company Content** - * **Content Group** - {{% alert color="info" %}}If an existing Marketplace component is assigned to a [content group](/appstore/home-page/#content-groups) as specific content group [content](/appstore/home-page/#group-content), you can only update the component if you are a member of that group.{{% /alert %}} - -2. Click the menu item next to the component you want to update and select **Manage Draft**. - - {{% alert color="info" %}}Only one draft version of a component can exist at a time, so when one draft version is in progress, another draft cannot be started. If there is a draft version in progress, click **Edit Draft** on the page where you manage the component in order to see the draft.{{% /alert %}} - -3. You can edit all component details, as described in the [Adding New Marketplace Content](#adding) section above. -4. In the **Version** section of the **Package** page, update the **Major**, **Minor**, and **Patch** numbers so that the component is saved as a new version: - - * **Major update** – changes that break compatibility with earlier versions. - * **Minor update** – new features that do not break existing usage. - * **Patch** – a small change that fixes bugs or security issues. - -5. On the **Publish** page, you can review all the details of your component entered so far and edit as necessary using the **Edit** button in each section before clicking **Publish Content**. diff --git a/content/en/docs/marketplace/genai/_index.md b/content/en/docs/marketplace/genai/_index.md index 23f54288c3a..48e108a5316 100644 --- a/content/en/docs/marketplace/genai/_index.md +++ b/content/en/docs/marketplace/genai/_index.md @@ -3,7 +3,7 @@ title: "Enrich Your Mendix App with GenAI Capabilities" url: /appstore/modules/genai/ linktitle: "GenAI Capabilities of Mendix" description: "Describes the general properties and common concepts of generative AI in the context of developing Mendix applications and illustrates the preferred way of leveraging platform-supported connectors in applications following the GenAI Commons patterns." -weight: 5 +weight: 6 --- ## Introduction {#introduction} diff --git a/content/en/docs/marketplace/overview/component-details.md b/content/en/docs/marketplace/overview/component-details.md index 2ab04bfb1cb..7abb22063a3 100644 --- a/content/en/docs/marketplace/overview/component-details.md +++ b/content/en/docs/marketplace/overview/component-details.md @@ -43,7 +43,7 @@ The **Publisher** section includes the following information, depending on the t The **Requirements** section includes the following: * The Studio Pro version required for the component to work -* The type of [license](/appstore/submit-content/#license) for the component +* The type of [license](/appstore/licenses/) for the component The **Support** section presents the category of support Mendix offers for the component (for more details, see the [Marketplace Content Support](/appstore/marketplace-content-support/) section below). diff --git a/content/en/docs/marketplace/overview/marketplace-home-page.md b/content/en/docs/marketplace/overview/marketplace-home-page.md index edd2397641a..60aadf3821b 100644 --- a/content/en/docs/marketplace/overview/marketplace-home-page.md +++ b/content/en/docs/marketplace/overview/marketplace-home-page.md @@ -29,7 +29,7 @@ The search box at the top of the page allows you to explore the Mendix Marketpla You can refine search results using the following filters: * **Support** – Select between the available support categories. For details, see the [Marketplace Content Support](/appstore/marketplace-content-support/). -* **Visibility** – Choose whether you want to display [public](/appstore/submit-content/#public) or [private](/appstore/submit-content/#private) content. +* **Visibility** – Choose whether you want to display [public or private](/appstore/submit-content/#support-licensing) content. * **Content Types** – Choose the type of content to display. For details, see the [Types of Marketplace Components](/appstore/#components-type) section in *Marketplace*. * **Category** – Select specific domains in which components or services share characteristics, functions, or purposes. * **Industry** – Select specific sectors or business domains in which components or services are used. diff --git a/content/en/docs/marketplace/partner-solutions/_index.md b/content/en/docs/marketplace/partner-solutions/_index.md index bd94a9aff11..1a911a4be7d 100644 --- a/content/en/docs/marketplace/partner-solutions/_index.md +++ b/content/en/docs/marketplace/partner-solutions/_index.md @@ -2,7 +2,7 @@ title: "Partner Solutions" url: /appstore/partner-solutions/ description: "Presents details on the partner solutions available in the Mendix Marketplace." -weight: 6 +weight: 7 no_list: false description_list: true --- diff --git a/content/en/docs/marketplace/platform-supported-content/_index.md b/content/en/docs/marketplace/platform-supported-content/_index.md index 8cd6eb1473c..dccc24e0d57 100644 --- a/content/en/docs/marketplace/platform-supported-content/_index.md +++ b/content/en/docs/marketplace/platform-supported-content/_index.md @@ -1,7 +1,7 @@ --- title: "Platform-Supported Content" url: /appstore/platform-supported-content/ -weight: 4 +weight: 5 description: "" no_list: false --- diff --git a/content/en/docs/marketplace/upload-content/_index.md b/content/en/docs/marketplace/upload-content/_index.md new file mode 100644 index 00000000000..1a249f171c3 --- /dev/null +++ b/content/en/docs/marketplace/upload-content/_index.md @@ -0,0 +1,217 @@ +--- +title: "Uploading Content to the Marketplace" +url: /appstore/submit-content/ +weight: 3 +description_list: true +description: "Describes how to submit content to the Mendix Marketplace content." +tags: ["marketplace", "public marketplace", "private marketplace", widget", "module"] +aliases: + - /appstore/overview/share-content/ + - /appstore/general/share-app-store-content/ + - /developerportal/app-store/share-content/ +#If moving or renaming this doc file, implement a temporary redirect and let the respective team know they should update the URL in the product. See Mapping to Products for more details. +--- + +## Introduction + +The Mendix Marketplace is driven by contributions from community members who share the connectors, modules, and apps they have built with the Mendix Platform. + +## Prerequisites + +Before diving in, make sure you have read [Marketplace Overview](/appstore/overview/) and [Using Marketplace Content](/appstore/use-content/). + +## Adding New Marketplace Content {#adding} + +To get started, click **Add Content** in the left pane of the Marketplace home screen. You are presented with the **Before You Get Started** dialog, which outlines the resources you will need for uploading your component. + +Once you make sure you have everything, click **Next**, then go through the steps in the following sections to add content. +Some fields are mandatory, while others are optional — this is indicated in the user interface. + +On each page of the upload flow, click one of these buttons: + +* **Save and Exit** — Save the details you have entered so far for the draft. You can access the draft via the [My Drafts](/appstore/home-page/#my-drafts) link in the top bar. +* **Next** — Go to the next page of the upload flow. + +### Uploading a Component {#general} + +On the **Upload Component** tab, add the source file, and provide general information about your component. + +Follow these steps to add information about your component. +Some only apply to specific component types, so follow the on-screen prompts for your particular scenario. + +1. Add a **Component Name**. + +2. Select the **Component Type**. + You can only set the content type when creating the initial version of your content. You cannot change this setting after it is published. + +3. Under **Select Component Source**, select one of the options for uploading the source file: + + * **MPK File** – Upload your source MPK. + * **GitHub Link** – Follow the steps in the dialog box for copying the link of the release you want to import. For details, see the [Using a GitHub Repo](/appstore/guidelines-content-creators/#github) section in *Guidelines for Content Creators*. + To include the repo's *README.md* file on the component's [Media & Documentation](#doc) tab, make sure you have selected the **Import Documentation** box. + + If you are uploading a solution, there will be no option to select the content source. + If you are uploading an industry template, selecting a content source is optional. + +4. Select the **Studio Pro Version** on which you built the content. + +5. If you are uploading a widget, select the **Compatible with Mendix React Client** checkbox to indicate compatibility. + This checkbox is mandatory starting with Studio Pro 11. + +6. Add a version for your component. If this is the first version of the component you are uploading, the number in the **Version** section will automatically be set to **1.0.0**. + +7. Enter **Release Notes** for the component in the box provided, describing what is new in that release. + +8. If you are uploading a solution, enter an email address in the **Contact Sales** field. This will be used by customers to reach out to you. + +### Adding General Information + +On the **General Information** tab, add more details about your component. + +1. Upload a cover image. + +2. In the **Component Tagline**, include a short description of what your component does. + +3. In the **About** field, describe the purpose and use cases of your component in detail. + You can use rich text in the editor. However, using rich text at the beginning of the description is not recommended, as it will not get rendered properly. You should add a few lines of regular text before using rich text. + +4. From the **Industry** drop-down list, select up to three industries that are applicable to your component. + +5. From the **Category** drop-down list, select up to three areas of expertise that are applicable to your component. + +### Configuring Support and Licensing {#support-licensing} + +On the **Support & Licensing** tab, add information about support, licensing, and visibility. + +1. Add your **Website**. + +2. Add the **Contact Email** of your support department. + +3. Select the **Visibility** of your component: + + * **Public** – Your component will be available to the entire Mendix community. + This content must be reviewed and approved by Mendix before it is available. + * **Private** – Your content will receive the **Private** label, and be available only via your [Company Content](/appstore/home-page/#company-content) page. + Selected private content of a content group can also be made available to [content group guests](/appstore/home-page/#guests) for download. + This content is not reviewed by Mendix. + + You can only set the visibility in the initial version of your content. You cannot change this setting by updating the Marketplace component later. + +4. Select the type of **License** you want applied to your app. + For details about the available open-source software licenses and their requirements, refer to [Open-Source Software Licenses](/appstore/licenses/). + +5. In the **Development Team** field, add the email addresses of the developers who have contributed to and own the component. + +#### Proprietary Licenses {#proprietary-license} + +You can configure your own proprietary license for your company’s content. The license can be applied to multiple components, and it can be used by everyone within your organization. + +This license can be created for a new **Public Marketplace (all Mendix users)** component by requesting a new license and submitting it alongside the component. The license needs to be approved by Mendix after you have created and submitted it the first time. Once it has been submitted for approval, you and the people within your organization can also use it for other components. + +Follow these steps to configure a proprietary license for a new public component: + +1. Click **Request New License**. +2. Add a **License Name**, which will be displayed on the [component details page](/appstore/component-details/). +3. Add a **License URL**, which should lead the user to a web page that lists the terms and conditions for using the component. Users can navigate to this web page by clicking the license name on the component details page. +4. Add a **Reason** for the new license. This is solely for Mendix review purposes, and will not be displayed on the component details page. + +### Adding Media and Documentation {#doc} + +On the **Media & Documentation** tab, add any resources to guide your users. + +1. Use the **Upload Screenshots** option to add a maximum of 10 screenshots of your component. + +2. In the **YouTube Video** field, add a URL for a demo of your component. + +3. In the **Documentation** field, add details on requirements and configuration for your component. + Follow the template for the recommended content: + + * You must fill out the following sections in order to submit your component: + * The **Typical usage scenario** for the component + * The **Features and limitations** of the component + * These sections are optional: + * Any **Dependencies** (for example, the required Studio Pro version, modules, images, and styles) + * The **Installation** steps and details + * The **Configuration** steps and details + * Any **Known bugs** + * Any **Frequently Asked Questions** + + The editor comes with a set of basic formatting tools, such as bold, bullet lists, and URL links. + +4. In the **Resources** section, add up to 5 URLs for resources that your users might find useful, such as a GitHub URL. + +### Generating New Leads {#lead-generation} + + + +A lead is a potential sales contact that expresses interest in your product or service. Lead routing is the end-to-end process of collecting the leads and distributing them to you. It is possible to configure lead routing for the following content types in the Marketplace: + +* Solutions +* Industry templates + +When prospective customers are interested in your product, they can leave their contact information using the Marketplace product listing. This is done by clicking a call-to-action button and filling in a form. + +You can use one of these options as the name of your **Main call-to-action** button: + +* **Contact Us**, **Notify Me**, and **Request Demo** – Requires the email address that will receive the customer information. + + {{% alert color="warning" %}}If you choose to add one of these buttons, customers can contact you directly. If you start talking with the customer, it is your responsibility to provide access to the product for them. Mendix is not involved in such customer interactions. {{% /alert %}} + +* **Download** – No lead routing is established, but customers can directly download your product. + +In the **How would you like to receive information on new leads?** field, you must specify the email address or addresses where notifications and information can be sent. + +### Previewing the Component + +You can preview your component before publishing. To do that, click **Show Preview** on the **Media & Documentation** tab. + +From the preview window, you can either return to the editing flow, or publish the component. + +### Publishing {#publish} + + + +Finally, on the **Publish** page, you can review all the details you entered so far, and edit them if necessary before publishing. + +{{< figure src="/attachments/appstore/submit-content/publish.png" width="600" >}} + +After you click **Publish Content**, your draft will be reviewed by Mendix before it is visible in the Marketplace. + +For details on the approval process, see [Governance Process](/appstore/submit-content/governance-process/). + +## Updating Existing Marketplace Content {#updating} + +After you publish a component in the Mendix Marketplace, it is your responsibility to make sure that the component is updated on a regular cadence. This is important to ensure compatibility with the latest versions of dependencies, especially Mendix Studio Pro. It is also required so Mendix can ensure the quality of components in the Marketplace. + +This means you need to monitor, maintain, and evolve the component, thus making sure that the Marketplace listing is more noticeable, that you can build user loyalty, and that you can maintain the good reputation of your company. + +If the component is not updated regularly, the Marketplace listing will be analyzed for removal from public visibility. + +Mendix expects the following updates for components in the Platform, Community, and Premium [support categories](/appstore/marketplace-content-support/#category): + +* Bug fixes +* New features +* Feature removal +* Compatibility updates with the latest Studio Pro version and other dependencies + +To update content that has already been published, follow these steps: + +1. Find the component in one of the following sections: + + * **My Content** + * **Company Content** + * **Content Group** + {{% alert color="info" %}}If an existing Marketplace component is assigned to a [content group](/appstore/home-page/#content-groups) as specific content group [content](/appstore/home-page/#group-content), you can only update the component if you are a member of that group.{{% /alert %}} + +2. Click the menu item next to the component you want to update and select **Manage Draft**. + + {{% alert color="info" %}}Only one draft version of a component can exist at a time, so when one draft version is in progress, another draft cannot be started. If there is a draft version in progress, click **Edit Draft** on the page where you manage the component in order to see the draft.{{% /alert %}} + +3. You can edit all component details, as described in the [Adding New Marketplace Content](#adding) section above. +4. In the **Version** section of the **Package** page, update the **Major**, **Minor**, and **Patch** numbers so that the component is saved as a new version: + + * **Major update** – changes that break compatibility with earlier versions. + * **Minor update** – new features that do not break existing usage. + * **Patch** – a small change that fixes bugs or security issues. + +5. On the **Publish** page, you can review all the details of your component entered so far and edit as necessary using the **Edit** button in each section before clicking **Publish Content**. diff --git a/content/en/docs/marketplace/create-content/upload-content/governance-process.md b/content/en/docs/marketplace/upload-content/governance-process.md similarity index 86% rename from content/en/docs/marketplace/create-content/upload-content/governance-process.md rename to content/en/docs/marketplace/upload-content/governance-process.md index 96f6a5cb435..499859b717e 100644 --- a/content/en/docs/marketplace/create-content/upload-content/governance-process.md +++ b/content/en/docs/marketplace/upload-content/governance-process.md @@ -1,12 +1,13 @@ --- title: "Governance Process" url: /appstore/submit-content/governance-process/ +weight: 5 description: "Describes the Mendix processes for approving and reviewing Marketplace content." --- ## Approval Process -All components that are to be listed in the [Public Marketplace](/appstore/submit-content/#public) are subject to an approval process to ensure the quality and accuracy of the listing and that the component meets the expectations of users. Component submissions are processed in a queue and reviewed on a first-come, first-served basis within five working days after submission. +All components that are to be listed in the [Public Marketplace](/appstore/submit-content/#support-licensing) are subject to an approval process to ensure the quality and accuracy of the listing and that the component meets the expectations of users. Component submissions are processed in a queue and reviewed on a first-come, first-served basis within five working days after submission. {{% alert color="warning" %}} Mendix strongly recommends performing the following checks before you submit your component for approval. This also speeds up the approval process. @@ -18,7 +19,7 @@ Mendix checks the following: * The licenses used in the uploaded *.mpk* files, using the [Fossology](https://fossology.osuosl.org/repo/) tool . There should be no use of GPL, LGPL, or MPL licenses. - For more details, see the [Providing License Details](/appstore/submit-content/#license) section in *Uploading to the Marketplace*. + For more details, refer to [Open-Source Software Licenses](/appstore/licenses/). * For malware in the *.mpk* files, using the [VirusTotal](https://www.virustotal.com/gui/home/upload) tool. * For third-party vulnerabilities, using the [Snyk](https://snyk.io/) tool. * That the component can be used without errors in a specific Studio Pro version, if the component is a widget, a module, a connector, or an industry template. @@ -31,10 +32,8 @@ It may sometimes take a few iterations for a component to be approved, depending {{% alert color="info" %}} Review and approval by Mendix is required only for the first version of a publicly-listed component. Subsequent versions of a public component do not need review or approval by Mendix. -{{% /alert %}} -{{% alert color="info" %}} -[Private Marketplace](/appstore/submit-content/#private) content does not require any review or approval. +Private Marketplace content does not require any review or approval. {{% /alert %}} ## Reviewing Outdated Components diff --git a/content/en/docs/marketplace/upload-content/licenses.md b/content/en/docs/marketplace/upload-content/licenses.md new file mode 100644 index 00000000000..6127294ecdb --- /dev/null +++ b/content/en/docs/marketplace/upload-content/licenses.md @@ -0,0 +1,29 @@ +--- +title: "Open-Source Software Licenses" +url: /appstore/licenses/ +weight: 4 +description: "Describes the open-source software license options available and their requirements." +--- + +## Introduction + +The following table describes the open-source software license options available and their requirements. + +{{% alert color="warning" %}} +Open-source software licenses must abide by a set of compliance rules to ensure the safety of the Mendix ecosystem. Refer to [OSS Compliance for External Developers](/appstore/submit-content/oss-compliance/) for details. +{{% /alert %}} + +| | **Notes** | **Commercial use allowed?** | **Component code needs to be in public repo?** | **License text required with copyright info in code and distribution artifact?** | **Can modify?** (Mention modifications to code) | **Can consuming apps use without making their code public?** | **Notice files should be distributed with artifact?** | **Original component source code to be distributed with consuming app?** | **Can sub-license?** | +| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | +| [MIT](https://opensource.org/licenses/MIT) | Add a specific *license.txt* file in your artifacts, i.e. in the *.mpk* package. | {{< icon name="checkmark-circle-filled" color="green" >}} | {{< icon name="remove-circle-filled" color="red" >}} | {{< icon name="checkmark-circle-filled" color="green" >}} | {{< icon name="checkmark-circle-filled" color="green" >}} | {{< icon name="checkmark-circle-filled" color="green" >}} | {{< icon name="checkmark-circle-filled" color="green" >}} | {{< icon name="remove-circle-filled" color="red" >}} | {{< icon name="checkmark-circle-filled" color="green" >}} | +| **BSD 2.0, 3.0** | N/A | {{< icon name="checkmark-circle-filled" color="green" >}} | {{< icon name="checkmark-circle-filled" color="green" >}} | {{< icon name="checkmark-circle-filled" color="green" >}} | {{< icon name="checkmark-circle-filled" color="green" >}} | {{< icon name="checkmark-circle-filled" color="green" >}} | {{< icon name="checkmark-circle-filled" color="green" >}} | {{< icon name="remove-circle-filled" color="red" >}} | {{< icon name="checkmark-circle-filled" color="green" >}} | +| **Apache 1.0** | N/A | {{< icon name="checkmark-circle-filled" color="green" >}} | {{< icon name="checkmark-circle-filled" color="green" >}} | {{< icon name="checkmark-circle-filled" color="green" >}} | {{< icon name="checkmark-circle-filled" color="green" >}} | {{< icon name="checkmark-circle-filled" color="green" >}} | {{< icon name="checkmark-circle-filled" color="green" >}} | {{< icon name="remove-circle-filled" color="red" >}} | {{< icon name="checkmark-circle-filled" color="green" >}} | +| [Apache 2.0](https://www.apache.org/licenses/LICENSE-2.0) | Add a specific *license.txt* file in your artifacts, i.e. in the *.mpk* package. | {{< icon name="checkmark-circle-filled" color="green" >}} | {{< icon name="remove-circle-filled" color="red" >}} | {{< icon name="checkmark-circle-filled" color="green" >}} | {{< icon name="checkmark-circle-filled" color="green" >}} | {{< icon name="checkmark-circle-filled" color="green" >}} | {{< icon name="checkmark-circle-filled" color="green" >}} | {{< icon name="remove-circle-filled" color="red" >}} | {{< icon name="checkmark-circle-filled" color="green" >}} | +| **Creative Commons CC0 1.0 Universal (CC-0)** (Public Domain) | N/A | {{< icon name="checkmark-circle-filled" color="green" >}} | {{< icon name="remove-circle-filled" color="red" >}} | {{< icon name="remove-circle-filled" color="red" >}} | {{< icon name="checkmark-circle-filled" color="green" >}} | {{< icon name="checkmark-circle-filled" color="green" >}} | {{< icon name="remove-circle-filled" color="red" >}} | {{< icon name="remove-circle-filled" color="red" >}} | {{< icon name="checkmark-circle-filled" color="green" >}} | + +{{% alert color="info" %}} +The [GNU General Public License (GPL), version 3](https://www.gnu.org/licenses/gpl-3.0.en.html) is not available to use, as everything licensed under GNU GPL is public. +GNU GPL has a strong copyleft effect. +Modification has a strong copyleft effect. +All consuming apps should make their code public. +{{% /alert %}} \ No newline at end of file diff --git a/content/en/docs/marketplace/create-content/upload-content/oss-compliance.md b/content/en/docs/marketplace/upload-content/oss-compliance.md similarity index 99% rename from content/en/docs/marketplace/create-content/upload-content/oss-compliance.md rename to content/en/docs/marketplace/upload-content/oss-compliance.md index e6bcbc4a4a1..7280f70496c 100755 --- a/content/en/docs/marketplace/create-content/upload-content/oss-compliance.md +++ b/content/en/docs/marketplace/upload-content/oss-compliance.md @@ -1,6 +1,7 @@ --- title: "OSS Compliance for External Developers" url: /appstore/submit-content/oss-compliance/ +weight: 6 description: "Describes the criteria that must be met to ensure that Marketplace content is OSS-compliant." --- diff --git a/content/en/docs/marketplace/use-content/_index.md b/content/en/docs/marketplace/use-content/_index.md index 2cc8c6ddf26..7daea156bd3 100644 --- a/content/en/docs/marketplace/use-content/_index.md +++ b/content/en/docs/marketplace/use-content/_index.md @@ -1,7 +1,7 @@ --- title: "Using Marketplace Content" url: /appstore/use-content/ -weight: 3 +weight: 4 description: "Covers the basics of how to access the Marketplace from Studio Pro and provides examples of how to add a widget and module to your app." no_list: false aliases: diff --git a/content/en/docs/releasenotes/marketplace/general-marketplace.md b/content/en/docs/releasenotes/marketplace/general-marketplace.md index 461bd252f4c..f0528704b20 100644 --- a/content/en/docs/releasenotes/marketplace/general-marketplace.md +++ b/content/en/docs/releasenotes/marketplace/general-marketplace.md @@ -205,12 +205,12 @@ If you are using Studio Pro on a Mac with Parallels, see [this update](https://k * There are now user trials available for **Premium** app services, such as Email Service and Speech to Text. This self-service experience helps you to evaluate the capabilities offered with these components and realize the value of premium content. * User trial subscriptions are now listed under My Subscriptions, and company trial and paid subscriptions are now listed under Company Subscriptions. -* For new uploads of public components, you can now optionally share a [virus scan report](/appstore/submit-content/#package) to speed up the governance process. +* For new uploads of public components, you can now optionally share a virus scan report to speed up the governance process. * For solutions and solution templates, you can now add a use case relevant to the component. The use case is displayed in the component listing and includes header text and an external link. #### Improvements -* We made performance improvements for when a large source file is [uploaded](/appstore/submit-content/#package), specifically on the navigation steps. +* We made performance improvements for when a large source file is uploaded, specifically on the navigation steps. * We improved the UI for self-service uploading your component to the Marketplace. ### February 10, 2022 @@ -241,8 +241,8 @@ If you are using Studio Pro on a Mac with Parallels, see [this update](https://k #### Improvements -* You can now add [release notes](/appstore/submit-content/#package) for your new component version without uploading a new source file. -* You can now skip uploading a source file on the [Package](/appstore/submit-content/#package) page for **App Service** and **Solution Template** component types if your component is not downloadable. +* You can now add [release notes](/appstore/submit-content/#general) for your new component version without uploading a new source file. +* You can now skip uploading a source file on the [Upload Component](/appstore/submit-content/#general) tab for **App Service** and **Solution Template** component types if your component is not downloadable. ### September 7, 2021 @@ -375,7 +375,7 @@ If you are using Studio Pro on a Mac with Parallels, see [this update](https://k #### Fixes {#private-fix} -* Downloading [private content](/appstore/submit-content/#private) from the App Store available in Studio Pro/Desktop Modeler has been temporarily disabled due to a security vulnerability. +* Downloading private content from the App Store available in Studio Pro/Desktop Modeler has been temporarily disabled due to a security vulnerability. * You will be able to download private content from the App Store available in Studio Pro/Desktop Modeler again once a fix is released in a future [8.x](/releasenotes/studio-pro/8/), [8.6.x](/releasenotes/studio-pro/8.6/), and 7.23.x release. This functionality will then only be available in those specific versions with the fix and subsequent versions. This functionality will not be available again for the App Store in Desktop Modeler version 6. * You can continue downloading the latest version of private App Store content from the [Company Content](/appstore/home-page/#company-content) page in the [Mendix Marketplace](https://marketplace.mendix.com/) and use it in the respective versions of Studio Pro/Desktop Modeler.