diff --git a/content/en/docs/apidocs-mxsdk/apidocs/catalog-apis.md b/content/en/docs/apidocs-mxsdk/apidocs/catalog-apis.md index b7f187def97..f32d0837068 100644 --- a/content/en/docs/apidocs-mxsdk/apidocs/catalog-apis.md +++ b/content/en/docs/apidocs-mxsdk/apidocs/catalog-apis.md @@ -6,7 +6,7 @@ description: "Describes the Catalog APIs (which are for registering data sources weight: 25 tags: ["data hub", "Catalog API", "authentication", "personal access token"] aliases: - - /apidocs-mxdsk/apidocs/data-hub-apis/ + - /apidocs-mxsdk/apidocs/data-hub-apis/ --- ## 1 Introduction diff --git a/content/en/docs/appstore/_index.md b/content/en/docs/appstore/_index.md index 30aee5fe142..dfe8ab17e5f 100644 --- a/content/en/docs/appstore/_index.md +++ b/content/en/docs/appstore/_index.md @@ -23,4 +23,25 @@ It also contains guidelines on [creating Marketplace content](/appstore/creating For details on the Studio Pro version required for use and when the component was published, please see the specific component page in the Mendix Marketplace. For more information, see the [Marketplace release notes](/releasenotes/marketplace/). -## 2 Guide Categories +## 2 Marketplace and Mendix Connect {#marketplace-mx-connect} + +[Mendix Connect](https://www.mendix.com/data-hub/) is a collection of functionalities available in the Mendix Platform that allow people in your organization to discover, understand, connect, and govern data securely. The following connectors and modules are part of the Mendix Connect ecosystem: + +* [Database](/appstore/connectors/database-connector/) connnector +* [Excel Importer](/appstore/modules/excel-importer/) module +* [Excel Exporter](/appstore/modules/excel-exporter/) module +* [Email](/appstore/connectors/email-connector/) connector +* [MQTT](/appstore/connectors/mqtt/) connector +* [Mendix Business Events](/appstore/modules/business-events/) module + +And our strategic partner connectors: + +* [AWS connectors](/appstore/aws-connectors/) +* [SAP connectors](/partners/sap/) + +In addition to platform-supported connectors and modules, Mendix Connect functionalities include: + +* [Integration capabilities](/refguide/integration/#integration-mx-connect) in Studio Pro [10.0](/releasenotes/studio-pro/10.0/) +* The [Catalog](/catalog/#catalog-mx-connect), used to register, manage, and govern data in your organization + +## 3 Guide Categories diff --git a/content/en/docs/appstore/connectors/aws/amazon-eventbridge.md b/content/en/docs/appstore/connectors/aws/amazon-eventbridge.md index c279cd598d0..8bb63a00e0c 100644 --- a/content/en/docs/appstore/connectors/aws/amazon-eventbridge.md +++ b/content/en/docs/appstore/connectors/aws/amazon-eventbridge.md @@ -28,6 +28,16 @@ To use the Amazon EventBridge connector, you must also install and configure the * [AWS Authentication connector version 2.1 or higher](https://marketplace.mendix.com/link/component/120333) - This connector is required to authenticate with Amazon Web Services (AWS). It is crucial for the Amazon EventBridge connector to function correctly. For more information about installing and configuring the AWS Authentication connector, see [AWS Authentication](/appstore/connectors/aws/aws-authentication/). * [Community Commons module](https://marketplace.mendix.com/link/component/170) - This module is a required dependency for the Amazon EventBridge connector. +### 1.3 Licensing and Cost + +This connector is available as a free download from the Mendix Marketplace, but the AWS service to which is connects may incur a usage cost. For more information, refer to AWS documentation. + +{{% alert color="info" %}} +Most AWS services provide a free tier that allows easy access to most services. To find out if this service is included in the free tier, see [AWS Free Tier](https://aws.amazon.com/free/). To calculate the potential cost of using an AWS service outside of the free tier, use the [AWS Cost calculator](https://calculator.aws/). +{{% /alert %}} + +Depending on your use case, your deployment environment, and the type of app that you want to build, you may also need a license for your Mendix app. For more information, refer to [Licensing Apps](/developerportal/deploy/licensing-apps-outside-mxcloud/). + ## 2 Installation Follow the instructions in [How to Use Marketplace Content in Studio Pro](/appstore/general/app-store-content/) to import the Amazon EventBridge connector into your app. diff --git a/content/en/docs/appstore/connectors/aws/amazon-polly.md b/content/en/docs/appstore/connectors/aws/amazon-polly.md index c057c93f8e1..72e920e2fbf 100644 --- a/content/en/docs/appstore/connectors/aws/amazon-polly.md +++ b/content/en/docs/appstore/connectors/aws/amazon-polly.md @@ -27,6 +27,16 @@ The Amazon Polly connector requires Mendix Studio Pro version 9.18.0 or above. To authenticate with Amazon Web Service (AWS), you must also install and configure the [AWS authentication connector version 2.1 or higher](https://marketplace.mendix.com/link/component/120333). For more information about installing and configuring the AWS Authentication connector, see [AWS Authentication](/appstore/connectors/aws/aws-authentication/). +### 1.3 Licensing and Cost + +This connector is available as a free download from the Mendix Marketplace, but the AWS service to which is connects may incur a usage cost. For more information, refer to AWS documentation. + +{{% alert color="info" %}} +Most AWS services provide a free tier that allows easy access to most services. To find out if this service is included in the free tier, see [AWS Free Tier](https://aws.amazon.com/free/). To calculate the potential cost of using an AWS service outside of the free tier, use the [AWS Cost calculator](https://calculator.aws/). +{{% /alert %}} + +Depending on your use case, your deployment environment, and the type of app that you want to build, you may also need a license for your Mendix app. For more information, refer to [Licensing Apps](/developerportal/deploy/licensing-apps-outside-mxcloud/). + ## 2 Installation Follow the instructions in [How to Use Marketplace Content in Studio Pro](/appstore/general/app-store-content/) to import the Amazon Polly connector into your app. diff --git a/content/en/docs/appstore/connectors/aws/amazon-rekognition.md b/content/en/docs/appstore/connectors/aws/amazon-rekognition.md index b832ca3f910..7540b7862f0 100644 --- a/content/en/docs/appstore/connectors/aws/amazon-rekognition.md +++ b/content/en/docs/appstore/connectors/aws/amazon-rekognition.md @@ -33,6 +33,16 @@ To authenticate with Amazon Web Service (AWS), you must also install and configu {{% youtube h_R1mMtkfd8 %}} +### 1.4 Licensing and Cost + +This connector is available as a free download from the Mendix Marketplace, but the AWS service to which is connects may incur a usage cost. For more information, refer to AWS documentation. + +{{% alert color="info" %}} +Most AWS services provide a free tier that allows easy access to most services. To find out if this service is included in the free tier, see [AWS Free Tier](https://aws.amazon.com/free/). To calculate the potential cost of using an AWS service outside of the free tier, use the [AWS Cost calculator](https://calculator.aws/). +{{% /alert %}} + +Depending on your use case, your deployment environment, and the type of app that you want to build, you may also need a license for your Mendix app. For more information, refer to [Licensing Apps](/developerportal/deploy/licensing-apps-outside-mxcloud/). + ## 2 Installation Follow the instructions in [How to Use Marketplace Content in Studio Pro](/appstore/general/app-store-content/) to import the Amazon Rekognition connector into your app. diff --git a/content/en/docs/appstore/connectors/aws/amazon-translate.md b/content/en/docs/appstore/connectors/aws/amazon-translate.md index 80707a520aa..b6990fc6958 100644 --- a/content/en/docs/appstore/connectors/aws/amazon-translate.md +++ b/content/en/docs/appstore/connectors/aws/amazon-translate.md @@ -24,6 +24,16 @@ The Amazon Translate connector requires Mendix Studio Pro version 9.18.0 or abov To authenticate with Amazon Web Service (AWS), you must also install and configure the [AWS authentication connector](https://marketplace.mendix.com/link/component/120333). For more information about installing and configuring the AWS Authentication connector, see [AWS Authentication](/appstore/connectors/aws/aws-authentication/). +### 1.3 Licensing and Cost + +This connector is available as a free download from the Mendix Marketplace, but the AWS service to which is connects may incur a usage cost. For more information, refer to AWS documentation. + +{{% alert color="info" %}} +Most AWS services provide a free tier that allows easy access to most services. To find out if this service is included in the free tier, see [AWS Free Tier](https://aws.amazon.com/free/). To calculate the potential cost of using an AWS service outside of the free tier, use the [AWS Cost calculator](https://calculator.aws/). +{{% /alert %}} + +Depending on your use case, your deployment environment, and the type of app that you want to build, you may also need a license for your Mendix app. For more information, refer to [Licensing Apps](/developerportal/deploy/licensing-apps-outside-mxcloud/). + ## 2 Installation Follow the instructions in [How to Use Marketplace Content in Studio Pro](/appstore/general/app-store-content/) to import the Amazon Translate connector into your app. diff --git a/content/en/docs/appstore/connectors/aws/aws-authentication.md b/content/en/docs/appstore/connectors/aws/aws-authentication.md index 5e38f59cec7..a644a335c86 100644 --- a/content/en/docs/appstore/connectors/aws/aws-authentication.md +++ b/content/en/docs/appstore/connectors/aws/aws-authentication.md @@ -37,6 +37,16 @@ If you plan to use AWS Authentication with a [platform-supported AWS connector]( {{% youtube b3uQONB3yoY %}} +### 1.3 Licensing and Cost + +This connector is available as a free download from the Mendix Marketplace, but the AWS service to which is connects may incur a usage cost. For more information, refer to AWS documentation. + +{{% alert color="info" %}} +Most AWS services provide a free tier that allows easy access to most services. To find out if this service is included in the free tier, see [AWS Free Tier](https://aws.amazon.com/free/). To calculate the potential cost of using an AWS service outside of the free tier, use the [AWS Cost calculator](https://calculator.aws/). +{{% /alert %}} + +Depending on your use case, your deployment environment, and the type of app that you want to build, you may also need a license for your Mendix app. For more information, refer to [Licensing Apps](/developerportal/deploy/licensing-apps-outside-mxcloud/). + ## 2 Prerequisites {#prerequisites} Before you can use the AWS Authentication connector, you must first configure the required setting in AWS. Depending on the authentication type that you plan to use, you may need to prepare the following items: diff --git a/content/en/docs/appstore/connectors/aws/aws-dynamodb.md b/content/en/docs/appstore/connectors/aws/aws-dynamodb.md index 1abaff309cc..072d4aa5ec5 100644 --- a/content/en/docs/appstore/connectors/aws/aws-dynamodb.md +++ b/content/en/docs/appstore/connectors/aws/aws-dynamodb.md @@ -26,6 +26,16 @@ To use the Amazon DynamoDB connector, you must also install and configure the fo * [AWS Authentication connector version 2.0 or higher](https://marketplace.mendix.com/link/component/120333) - This connector is required to authenticate with Amazon Web Services (AWS). It is crucial for the Amazon DynamoDB connector to function correctly. For more information about installing and configuring the AWS Authentication connector, see [AWS Authentication](/appstore/connectors/aws/aws-authentication/). * [Community Commons module](https://marketplace.mendix.com/link/component/170) - This module is required to parse the `creationDateTime` attribute as returned by the `DescribeTable` activity. +### 1.3 Licensing and Cost + +This connector is available as a free download from the Mendix Marketplace, but the AWS service to which is connects may incur a usage cost. For more information, refer to AWS documentation. + +{{% alert color="info" %}} +Most AWS services provide a free tier that allows easy access to most services. To find out if this service is included in the free tier, see [AWS Free Tier](https://aws.amazon.com/free/). To calculate the potential cost of using an AWS service outside of the free tier, use the [AWS Cost calculator](https://calculator.aws/). +{{% /alert %}} + +Depending on your use case, your deployment environment, and the type of app that you want to build, you may also need a license for your Mendix app. For more information, refer to [Licensing Apps](/developerportal/deploy/licensing-apps-outside-mxcloud/). + ## 2 Installation Follow the instructions in [How to Use Marketplace Content in Studio Pro](/appstore/general/app-store-content/) to import the Amazon DynamoDB connector into your app. diff --git a/content/en/docs/appstore/connectors/aws/aws-iot-twinmaker.md b/content/en/docs/appstore/connectors/aws/aws-iot-twinmaker.md index 93b993db4b9..5a588f008b1 100644 --- a/content/en/docs/appstore/connectors/aws/aws-iot-twinmaker.md +++ b/content/en/docs/appstore/connectors/aws/aws-iot-twinmaker.md @@ -21,6 +21,16 @@ The AWS IoT TwinMaker connector requires Mendix Studio Pro version 9.18.3 or abo To authenticate with Amazon Web Service (AWS), you must also install and configure the [AWS Authentication connector version](https://marketplace.mendix.com/link/component/120333). It is crucial for the AWS IoT TwinMaker connector to function correctly. For more information about installing and configuring the AWS Authentication connector, see [AWS Authentication](/appstore/connectors/aws/aws-authentication/). +### 1.3 Licensing and Cost + +This connector is available as a free download from the Mendix Marketplace, but the AWS service to which is connects may incur a usage cost. For more information, refer to AWS documentation. + +{{% alert color="info" %}} +Most AWS services provide a free tier that allows easy access to most services. To find out if this service is included in the free tier, see [AWS Free Tier](https://aws.amazon.com/free/). To calculate the potential cost of using an AWS service outside of the free tier, use the [AWS Cost calculator](https://calculator.aws/). +{{% /alert %}} + +Depending on your use case, your deployment environment, and the type of app that you want to build, you may also need a license for your Mendix app. For more information, refer to [Licensing Apps](/developerportal/deploy/licensing-apps-outside-mxcloud/). + ## 2 Installation Follow the instructions in [How to Use Marketplace Content in Studio Pro](/appstore/general/app-store-content/) to import the AWS IoT TwinMaker connector into your app. diff --git a/content/en/docs/appstore/connectors/aws/aws-lambda-connector.md b/content/en/docs/appstore/connectors/aws/aws-lambda-connector.md index 038a90be918..25dee85f7be 100644 --- a/content/en/docs/appstore/connectors/aws/aws-lambda-connector.md +++ b/content/en/docs/appstore/connectors/aws/aws-lambda-connector.md @@ -23,6 +23,16 @@ The AWS Lambda connector requires Mendix Studio Pro version 9.18.0 or above. To authenticate with Amazon Web Service (AWS), you must also install and configure the [AWS authentication connector](https://marketplace.mendix.com/link/component/120333). For more information about installing and configuring the AWS Authentication connector, see [AWS Authentication](/appstore/connectors/aws/aws-authentication/). +### 1.3 Licensing and Cost + +This connector is available as a free download from the Mendix Marketplace, but the AWS service to which is connects may incur a usage cost. For more information, refer to AWS documentation. + +{{% alert color="info" %}} +Most AWS services provide a free tier that allows easy access to most services. To find out if this service is included in the free tier, see [AWS Free Tier](https://aws.amazon.com/free/). To calculate the potential cost of using an AWS service outside of the free tier, use the [AWS Cost calculator](https://calculator.aws/). +{{% /alert %}} + +Depending on your use case, your deployment environment, and the type of app that you want to build, you may also need a license for your Mendix app. For more information, refer to [Licensing Apps](/developerportal/deploy/licensing-apps-outside-mxcloud/). + ## 2 Installation Follow the instructions in [How to Use Marketplace Content in Studio Pro](/appstore/general/app-store-content/) to import the AWS Lambda connector into your app. diff --git a/content/en/docs/appstore/connectors/aws/aws-s3-connector.md b/content/en/docs/appstore/connectors/aws/aws-s3-connector.md index 9eacc3c1231..84545972972 100644 --- a/content/en/docs/appstore/connectors/aws/aws-s3-connector.md +++ b/content/en/docs/appstore/connectors/aws/aws-s3-connector.md @@ -25,6 +25,16 @@ Amazon Simple Storage Service (Amazon S3) is an object storage service offering The Amazon S3 connector requires the [AWS Authentication connector version 2.1 or higher](https://marketplace.mendix.com/link/component/120333) to authenticate with Amazon Web Services (AWS). It is crucial for the Amazon S3 connector to function correctly. For more information about installing and configuring the AWS Authentication connector, see [AWS Authentication](/appstore/connectors/aws/aws-authentication/). +### 1.3 Licensing and Cost + +This connector is available as a free download from the Mendix Marketplace, but the AWS service to which is connects may incur a usage cost. For more information, refer to AWS documentation. + +{{% alert color="info" %}} +Most AWS services provide a free tier that allows easy access to most services. To find out if this service is included in the free tier, see [AWS Free Tier](https://aws.amazon.com/free/). To calculate the potential cost of using an AWS service outside of the free tier, use the [AWS Cost calculator](https://calculator.aws/). +{{% /alert %}} + +Depending on your use case, your deployment environment, and the type of app that you want to build, you may also need a license for your Mendix app. For more information, refer to [Licensing Apps](/developerportal/deploy/licensing-apps-outside-mxcloud/). + ## 2 Installation Follow the instructions in [How to Use Marketplace Content in Studio Pro](/appstore/general/app-store-content/) to import the Amazon S3 connector into your app. diff --git a/content/en/docs/appstore/connectors/aws/aws-sns.md b/content/en/docs/appstore/connectors/aws/aws-sns.md index 42a6d73f810..fee86e3758d 100644 --- a/content/en/docs/appstore/connectors/aws/aws-sns.md +++ b/content/en/docs/appstore/connectors/aws/aws-sns.md @@ -26,7 +26,17 @@ To authenticate with Amazon Web Service (AWS), you must also install and configu {{% alert color="info" %}} Ensure that the AWS user account used for authentication has the appropriate permissions to access the SNS service in AWS. {{% /alert %}} - + +### 1.3 Licensing and Cost + +This connector is available as a free download from the Mendix Marketplace, but the AWS service to which is connects may incur a usage cost. For more information, refer to AWS documentation. + +{{% alert color="info" %}} +Most AWS services provide a free tier that allows easy access to most services. To find out if this service is included in the free tier, see [AWS Free Tier](https://aws.amazon.com/free/). To calculate the potential cost of using an AWS service outside of the free tier, use the [AWS Cost calculator](https://calculator.aws/). +{{% /alert %}} + +Depending on your use case, your deployment environment, and the type of app that you want to build, you may also need a license for your Mendix app. For more information, refer to [Licensing Apps](/developerportal/deploy/licensing-apps-outside-mxcloud/). + ## 2 Installation Follow the instructions in [How to Use Marketplace Content in Studio Pro](/appstore/general/app-store-content/) to import the Amazon SNS connector into your app. diff --git a/content/en/docs/appstore/connectors/aws/aws-textract.md b/content/en/docs/appstore/connectors/aws/aws-textract.md index 65669e9bf62..ad04a27c3f8 100644 --- a/content/en/docs/appstore/connectors/aws/aws-textract.md +++ b/content/en/docs/appstore/connectors/aws/aws-textract.md @@ -21,7 +21,17 @@ The Amazon Textract connector requires Mendix Studio Pro version 9.18.0 or above To authenticate with Amazon Web Service (AWS), you must also install and configure the [AWS authentication connector](https://marketplace.mendix.com/link/component/120333). For more information about installing and configuring the AWS Authentication connector, see [AWS Authentication](/appstore/connectors/aws/aws-authentication/). -### 1.3 Limitations +### 1.3 Licensing and Cost + +This connector is available as a free download from the Mendix Marketplace, but the AWS service to which is connects may incur a usage cost. For more information, refer to AWS documentation. + +{{% alert color="info" %}} +Most AWS services provide a free tier that allows easy access to most services. To find out if this service is included in the free tier, see [AWS Free Tier](https://aws.amazon.com/free/). To calculate the potential cost of using an AWS service outside of the free tier, use the [AWS Cost calculator](https://calculator.aws/). +{{% /alert %}} + +Depending on your use case, your deployment environment, and the type of app that you want to build, you may also need a license for your Mendix app. For more information, refer to [Licensing Apps](/developerportal/deploy/licensing-apps-outside-mxcloud/). + +### 1.4 Limitations Because of a synchronous invocation limitation of the Amazon Textract service, the Amazon Textract connector only supports scanning a single page at a time. This limitation will be removed in future versions of the connector. diff --git a/content/en/docs/appstore/modules/business-events.md b/content/en/docs/appstore/modules/business-events.md index 25ce375f817..8ba5a793896 100644 --- a/content/en/docs/appstore/modules/business-events.md +++ b/content/en/docs/appstore/modules/business-events.md @@ -11,7 +11,7 @@ tags: ["marketplace", "marketplace component", "business events", "data broker", With [Mendix Business Events](https://marketplace.mendix.com/link/component/202649), applications can signal when something important happens, and can independently subscribe to these events if they want to be informed. Business events are like a mailing list to share event notifications between apps. The key difference between business events and traditional communication between apps, like REST or Web Services, is that there is no direct communication between the different apps. -To deliver these events reliably between your applications, an event broker is required. For apps running the Mendix cloud on licensed nodes, you'll need to purchase a license for a [Mendix Event Broker](#mendix-event-broker). +To deliver these events reliably between your applications, an event broker is required. For apps running the Mendix cloud on licensed nodes, you will need to purchase a license for a [Mendix Event Broker](#mendix-event-broker). {{% alert color="info" %}} Business events are supported in Studio Pro [9.18](/releasenotes/studio-pro/9.18/) and above, and currently can only be deployed to the [Mendix Cloud](/developerportal/deploy/mendix-cloud-deploy/).{{% /alert %}} @@ -35,7 +35,7 @@ To use Mendix Business Events, you will need the following: ## 2 Licensing {#licensing} -The Mendix Business Events module itself does not require a license, but it depends on an event broker to deploy to production environments. You can purchase a [Mendix Event Broker License](#event-broker-license) for a broker to be set up for you. See the [Mendix Event Broker](https://marketplace.mendix.com/link/component/202907) platform service page for more details. +The Mendix Business Events module itself does not require a license, but it depends on an event broker to deploy to production environments. You can purchase a [Mendix Event Broker License](#event-broker-license) for a broker to be set up for you. See the [Mendix Event Broker](https://marketplace.mendix.com/link/component/202907) platform service page for more details. You can also run business events on [your own Kafka cluster](#byok). ## 3 Configuration @@ -108,7 +108,7 @@ To consume a business event, you first need to create a **Consumed Business Even There are two ways to subscribe to, or consume a specific business event: * **Add** the subscription in the [consumed business event service](#consume-be) -* **Drag and drop** the business event from the **Data Hub pane** to your domain model +* **Drag and drop** the business event from the [Integration Pane](/refguide/integration-pane/) to your domain model ##### 4.1.3.1 Automatically Created Event Handler Microflow and Entity @@ -220,7 +220,7 @@ The business event service document is open in Studio Pro: After following the instructions in [Using an Existing Business Event Service](#two-way-be-create), you can publish or subscribe (or both, depending on the [service definitions](#add-be-definitions)) in the following ways: * Open the business service document and click **Add** -* **Drag and drop** the business event from the **Data Hub pane** to your domain model +* **Drag and drop** the business event from the [Integration Pane](/refguide/integration-pane/) to your domain model To publish a business event service, you need to use it in a microflow. @@ -302,7 +302,7 @@ There is a single Kafka broker for Free Apps that all your company Free Apps can Purchase a license to the Mendix Event Broker to deploy unlimited apps on production environments in the Mendix Cloud. Ask your Customer Success Manager or Account Manager to get in touch with us to purchase a license. See the [Mendix Event Broker](https://marketplace.mendix.com/link/component/202907) platform service page for more details. -Licenses for the Mendix Event Broker are available for all regions, but once selected, you can only run on a single region (no multi-region support). To learn more about how this broker works, see [Mendix Event Broker](#mendix-event-broker). +Licenses for the Mendix Event Broker are available for all regions, but once selected, you can only run on a single region (no multi-region support). To learn more about how this broker works, see [Mendix Event Broker](#mendix-event-broker). This license is available for all customers. You can also run business events on [your own Kafka cluster](#byok). #### 5.1.1 Enabling the Mendix Event Broker Service {#enable-mx-event-broker} @@ -380,7 +380,7 @@ If you are deploying an app to production that contains a published business eve 2. Transport the mda to an environment. 3. Restart the environment. -### 6.4 Apps Running Own Kafka Cluster (Bring Your Own Kafka) +### 6.4 Apps Running Own Kafka Cluster (Bring Your Own Kafka) {#byok} {{% alert color="info" %}} This deployment method is currently in [Beta](/releasenotes/beta-features/).{{% /alert %}} diff --git a/content/en/docs/appstore/modules/document-generation.md b/content/en/docs/appstore/modules/document-generation.md index 13705d98124..a84d1a7a623 100644 --- a/content/en/docs/appstore/modules/document-generation.md +++ b/content/en/docs/appstore/modules/document-generation.md @@ -1,19 +1,19 @@ --- -title: "Document Generation" +title: "PDF Document Generation" url: /appstore/modules/document-generation/ category: "Modules" -description: "Describes the configuration and usage of the Document Generation module, which is available in the Mendix Marketplace." +description: "Describes the configuration and usage of the PDF Document Generation module, which is available in the Mendix Marketplace." tags: ["marketplace", "marketplace component", "document generation", "platform support"] #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. --- {{% alert color="warning" %}} -This module is currently in Public Beta and should be used for testing purposes only. +This module is currently in Public Beta and should be used for testing purposes only. For more information on Beta products, see [Beta Releases](/releasenotes/beta-features/). {{% /alert %}} ## 1 Introduction -The [Document Generation](https://marketplace.mendix.com/link/component/211553) module allows you to generate pixel-perfect PDF documents based on regular pages in your app. +The [PDF Document Generation](https://marketplace.mendix.com/link/component/211553) module allows you to generate pixel-perfect PDF documents based on regular pages in your app. This module uses the document generation service on the Mendix Cloud to convert any regular web page in your app into a PDF document. The result is similar to what you would get when using the "Save as PDF" feature in the print dialog box of your browser. @@ -81,7 +81,7 @@ You need to have Chrome or Chromium installed on your local machine. ##### 3.1.1 Chrome -The Document Generation module automatically tries to find the Chrome executable (*chrome.exe*) in the default installation paths. +The PDF Document Generation module automatically tries to find the Chrome executable (*chrome.exe*) in the default installation paths. If you have installed Chrome in a custom location, configure the path to the Chrome executable in the constant **CustomChromePath** in the **_UseMe** > **Configuration** folder. diff --git a/content/en/docs/appstore/modules/mendix-feedback.md b/content/en/docs/appstore/modules/mendix-feedback.md index 6e11fcfdec1..ffa2e752dee 100644 --- a/content/en/docs/appstore/modules/mendix-feedback.md +++ b/content/en/docs/appstore/modules/mendix-feedback.md @@ -28,7 +28,7 @@ In case of any questions, contact [Mendix Support](https://support.mendix.com/hc ## 1 Introduction -The [Mendix Feedback](https://marketplace.mendix.com/link/component/199/) module allows end-users of your application to directly submit feedback into your app. The module contains a feedback widget along with other files. The feedback module is fully integrated with the [Feedback](/developerportal/collaborate/feedback/) page in the Developer Portal, where you can review feedback and convert it into [user stories](/developerportal/collaborate/stories/) to improve your app. +The [Mendix Feedback](https://marketplace.mendix.com/link/component/205506) module allows end-users of your application to directly submit feedback into your app. The module contains a feedback widget along with other files. The feedback module is fully integrated with the [Feedback](/developerportal/collaborate/feedback/) page in the Developer Portal, where you can review feedback and convert it into [user stories](/developerportal/collaborate/stories/) to improve your app. {{< figure src="/attachments/appstore/modules/mendix-feedback/feedback-in-app.png" >}} diff --git a/content/en/docs/appstore/partner-solutions/ats/rg-ats/v1/test-dev/std-actions/selenium-actions/rg-one-find/rg-one-find-element-by-css.md b/content/en/docs/appstore/partner-solutions/ats/rg-ats/v1/test-dev/std-actions/selenium-actions/rg-one-find/rg-one-find-element-by-css.md index c7dc8966014..db6a91e3ec3 100644 --- a/content/en/docs/appstore/partner-solutions/ats/rg-ats/v1/test-dev/std-actions/selenium-actions/rg-one-find/rg-one-find-element-by-css.md +++ b/content/en/docs/appstore/partner-solutions/ats/rg-ats/v1/test-dev/std-actions/selenium-actions/rg-one-find/rg-one-find-element-by-css.md @@ -5,11 +5,11 @@ url: /appstore/partner-solutions/ats/rg-one-find-element-by-css/ ## 1 Description -Find a web element by CSS. Occurence lets you specify which element to fetch from the result-list, starting at 1 for the first element (defaults to the first element). +Find a web element by CSS. Occurrence lets you specify which element to fetch from the result-list, starting at 1 for the first element (defaults to the first element). ## 2 Usage -Provide the CSS selector which matches the elements you want to find. This action will find all matching elements from the DOM and save them as a result-list. If you want, to get another element instead of the first element of the result-list, provide an index as input for the Occurence. +Provide the CSS selector which matches the elements you want to find. This action will find all matching elements from the DOM and save them as a result-list. If you want, to get another element instead of the first element of the result-list, provide an index as input for the Occurrence. Optionally restrict the search to a specified SearchContext element. ## 3 Input Parameters @@ -18,7 +18,7 @@ Name | Datatype | Required | Description ---- | -------- | ------- |--------------- CSS Selector | String | yes | CSS selector which matches the elements you want to find Search Context | WebElement | no | Limit the search to the given WebElement -Occurence | Integer | no | Index of the result-list value you want to get (defaults to the first element) +Occurrence | Integer | no | Index of the result-list value you want to get (defaults to the first element) ## 4 Return Value diff --git a/content/en/docs/appstore/partner-solutions/ats/rg-ats/v1/test-dev/std-actions/selenium-actions/rg-one-find/rg-one-find-element-by-id.md b/content/en/docs/appstore/partner-solutions/ats/rg-ats/v1/test-dev/std-actions/selenium-actions/rg-one-find/rg-one-find-element-by-id.md index d835b19c9fc..de57d852ada 100644 --- a/content/en/docs/appstore/partner-solutions/ats/rg-ats/v1/test-dev/std-actions/selenium-actions/rg-one-find/rg-one-find-element-by-id.md +++ b/content/en/docs/appstore/partner-solutions/ats/rg-ats/v1/test-dev/std-actions/selenium-actions/rg-one-find/rg-one-find-element-by-id.md @@ -5,11 +5,11 @@ url: /appstore/partner-solutions/ats/rg-one-find-element-by-id/ ## 1 Description -Find a web element by ID. Occurence lets you specify which element to fetch from the result-list, starting at 1 for the first element (defaults to the first element). +Find a web element by ID. Occurrence lets you specify which element to fetch from the result-list, starting at 1 for the first element (defaults to the first element). ## 2 Usage -Provide the ID of the element you want to find. This action will find all elements from the DOM with that ID and save them as a result-list. If you want, to get another element instead of the first element of the result-list, provide an index as input for the Occurence. +Provide the ID of the element you want to find. This action will find all elements from the DOM with that ID and save them as a result-list. If you want, to get another element instead of the first element of the result-list, provide an index as input for the Occurrence. Optionally restrict the search to a specified SearchContext element. ## 3 Input Parameters @@ -18,7 +18,7 @@ Name | Datatype | Required | Description ---- | -------- | ------- |--------------- ID| String | yes | The ID of the element you want to get Search Context | WebElement | no | Limit the search to the given WebElement -Occurence | Integer | no | Index of the result-list value you want to get (defaults to the first element) +Occurrence | Integer | no | Index of the result-list value you want to get (defaults to the first element) ## 4 Return Value diff --git a/content/en/docs/appstore/partner-solutions/ats/rg-ats/v1/test-dev/std-actions/selenium-actions/rg-one-find/rg-one-find-element-by-sizzle.md b/content/en/docs/appstore/partner-solutions/ats/rg-ats/v1/test-dev/std-actions/selenium-actions/rg-one-find/rg-one-find-element-by-sizzle.md index ab74cbd0209..8db3b57629f 100644 --- a/content/en/docs/appstore/partner-solutions/ats/rg-ats/v1/test-dev/std-actions/selenium-actions/rg-one-find/rg-one-find-element-by-sizzle.md +++ b/content/en/docs/appstore/partner-solutions/ats/rg-ats/v1/test-dev/std-actions/selenium-actions/rg-one-find/rg-one-find-element-by-sizzle.md @@ -5,11 +5,11 @@ url: /appstore/partner-solutions/ats/rg-one-find-element-by-sizzle/ ## 1 Description -Find a web element by Sizzle. Occurence lets you specify which element to fetch from the result-list, starting at 1 for the first element (defaults to the first element). +Find a web element by Sizzle. Occurrence lets you specify which element to fetch from the result-list, starting at 1 for the first element (defaults to the first element). ## 2 Usage -Provide the Sizzle selector which matches the elements you want to find. This action will find all matching elements from the DOM and save them as a result-list. If you want, to get another element instead of the first element of the result-list, provide an index as input for the Occurence. +Provide the Sizzle selector which matches the elements you want to find. This action will find all matching elements from the DOM and save them as a result-list. If you want, to get another element instead of the first element of the result-list, provide an index as input for the Occurrence. Optionally restrict the search to a specified SearchContext element. ## 3 Input Parameters @@ -18,7 +18,7 @@ Name | Datatype | Required | Description ---- | -------- | ------- |--------------- Sizzle Selector | String | yes | Sizzle selector which matches the elements you want to find Search Context | WebElement | no | Limit the search to the given WebElement -Occurence | Integer | no | Index of the result-list value you want to get (defaults to the first element) +Occurrence | Integer | no | Index of the result-list value you want to get (defaults to the first element) ## 4 Return Value diff --git a/content/en/docs/catalog/_index.md b/content/en/docs/catalog/_index.md index 821531c2252..f30f0666ee4 100644 --- a/content/en/docs/catalog/_index.md +++ b/content/en/docs/catalog/_index.md @@ -8,10 +8,11 @@ description_list: true cascade: - space: "Catalog Guide" - mendix_version: 10 -tags: ["data hub", "Catalog", "data hub landscape", "external entities", "external users"] +tags: ["data hub", "Catalog", "landscape", "external entities", "external users"] aliases: - /data-hub/data-catalog/index.html - /data-hub/ + - /data-hub/data-hub-catalog/ --- ## 1 Introduction @@ -23,82 +24,59 @@ OData REST services provided by Mendix Apps running in the Mendix Cloud, [publis Learn about updates and improvements in the [Catalog](/releasenotes/data-hub/) release notes. {{% alert color="info" %}} -If you deploy your Mendix apps in an alternative environment, like on-prem or private cloud, you can use the Catalog APIs to register your apps and services in the Catalog to enable visibility of your deployed APIs. For information about using Data Hub for local deployment, see [Register Data without Mendix Cloud](/data-hub/data-hub-without-mendix-cloud/).{{% /alert %}} +If you deploy your Mendix apps in an alternative environment, like on-prem or private cloud, you can use the Catalog APIs to register your apps and services in the Catalog to enable visibility of your deployed APIs. For information about using Catalog for local deployment, see [Register Data without Mendix Cloud](/data-hub/data-hub-without-mendix-cloud/).{{% /alert %}} {{% alert color="info" %}} The Catalog and [external entities](/refguide/external-entities/) are supported in Studio Pro [8.14](/releasenotes/studio-pro/8.14/) and above.{{% /alert %}} -## 2 Catalog Home {#catalog-home} +## 2 Catalog and Mendix Connect {#catalog-mx-connect} + +[Mendix Connect](https://www.mendix.com/data-hub/) is a collection of functionalities available in the Mendix Platform that allow people in your organization to discover, understand, connect, and govern data securely. The [Catalog](/catalog/) is a part of the Mendix Connect ecosystem as a user-friendly way to view, share, and use data within your organization. + +In addition to the Catalog, Mendix Connect functionalities include: + +* [Integration capabilities](/refguide/integration/#integration-mx-connect) in Studio Pro [10.0](/releasenotes/studio-pro/10.0/) +* Platform-supported [connectors and modules](/appstore/#marketplace-mx-connect) available in the [Mendix Marketplace](/appstore/) + +## 3 Catalog Home {#catalog-home} From the Catalog [Home](https://catalog.mendix.com) screen, you can navigate to the following tabs: * **Home** – search in the Catalog, manually register a service from different applications, select from the most popular services * **Catalog** – [search](/catalog/search/) for registered assets in the search pane and see details of the metadata of selected asset -* **Landscape** – gain a graphical view of the organization's available services and exposed datasets showing consuming and publishing dependencies (for further details, see [Data Hub Landscape](/data-hub/data-hub-landscape/)) +* **Landscape** – gain a graphical view of the organization's available services and exposed datasets showing consuming and publishing dependencies (for further details, see [Landscape](/data-hub/data-hub-landscape/)) * **Curate** – carry out [curate](/catalog/manage/curate/) functions on registered assets to enrich the registered metadata and increase discoverability From the **Home** screen, you can do the following: * **Search** – search in the Catalog using the **Search** box or by clicking the suggested **Tags** -* **Register a new data source** – manually register an OData service from your enterprise business application to the Data Hub (for more details, see [How to Register OData Resources in the Catalog](/catalog/register/register-data/)) +* **Register a new data source** – manually register an OData service from your enterprise business application to the Catalog (for more details, see [How to Register OData Resources in the Catalog](/catalog/register/register-data/)) * **Popular Data Sources** – click on the most popular data sources -Data Hub is also integrated in Mendix Studio Pro to find and connect to shared data sources in your apps. For further details on using Data Hub in Studio Pro, see [Data Hub Pane](/refguide/data-hub-pane/) in the *Studio Pro Guide*. +The Catalog is also integrated in Mendix Studio Pro to find and connect to shared data sources in your apps. For further details on using Catalog in Studio Pro, see [Integration Pane](/refguide/integration-pane/)in the *Studio Pro Guide*. {{% alert color="info" %}} -The Data Hub integration is available in Studio Pro version 8.14 and above. To use the latest functionality of Data Hub download the latest version of Studio Pro. {{% /alert %}} - -## 3 Using Mendix Data Hub - -The functionality of the Data Hub reflects the process of sharing data in an organization through APIs from different systems in an enterprise. The sections below describe the processes involved. - -### 3.1 Search – Finding Connectable Data Sources - -Users can find shared datasets by searching the Catalog. The [search](/catalog/search/) features include results that are project-relevant in order of most popular services, and results can be refined by using filters. Full details of the registered services are displayed to help in deciding on the suitability of the data associated with a registered dataset. - -Use the Data Hub to find suitable data sources to integrate into your other enterprise applications by clicking [Copy Data Source URI](/catalog/manage/search/#service-details). - -The Catalog search functionality is integrated into Mendix Studio Pro through the [Data Hub pane](/refguide/data-hub-pane/) for finding registered services and datasets to use when developing apps. - -For more details, see [How to Search for Registered Assets](/catalog/search/). - -### 3.2 Consume – Using Registered Datasets - -Registered assets in the Catalog can be accessed in Mendix Studio Pro to [build apps](/refguide/modeling/). These external data sources are represented in the domain model as [external entities](/refguide/external-entities/) which can be used with local entities. - -For further information on consuming from the Catalog, see [How to Consume Registered Assets](/catalog/consume/). For details on using shared entities in Studio Pro, see [Data Hub Pane](/refguide/data-hub-pane/) in the *Studio Pro Guide*. - -### 3.3 Register – Sharing Datasets - -If you want to make the data from your apps available for use by others, you can publish the datasets in an OData service and register it in the Data Hub. In a Mendix app, the datasets are the **Entity sets** for a defined **Entity**. Using this REST-based protocol, metadata contracts defining the structure and documentation of the datasets that are included are registered. Further details such as the location of the data associated with a registered dataset are also captured. For Mendix apps deploying to the Mendix Cloud, this information is captured during the deployment process. This information can also be collected while [registering a service without Mendix Cloud](/catalog/register/register-data/). - -OData services can be registered in the Data Hub in the following ways: - -* In Mendix Studio Pro, entities are exposed in a [published OData service](/refguide/published-odata-services/), and upon deployment of the app to an environment hosted in the Mendix Cloud, the service is automatically registered in the Catalog. For details on publishing an OData service from a Mendix app, see the [Publishing to the Catalog](/catalog/share-data/#publishing) section of *How to Share Data Between Apps*. -* OData v4 services originating from non-Mendix sources can be registered manually. For further details, see [Register OData Resources in the Catalog](/catalog/register/register-data/). -* Using the [Catalog API](/apidocs-mxsdk/apidocs/catalog-apis/) you can set up a registration pipeline to register data sources from your business application. - -### 3.4 Curate – Maintaining Registered Assets - -You can add tags and descriptions, edit app owners, and toggle discoverability to ensure the right people find your service. For more details, see [How to Curate Registered Assets](/catalog/manage/curate/). +The Catalog integration is available in Studio Pro version 8.14 and above. {{% /alert %}} ## 4 Information Available in the Catalog {#available-info} -In the Catalog, all the information for registered assets is displayed in the [Catalog search details](/catalog/manage/search/#search-details) screen. This information comes from the metadata in the OData service contract, and also from additional metadata that is added when registered assets are curated. Registered assets can be curated by owners, [Data Hub curators](/catalog/manage/user-roles/#curator), and [Mendix Admins](/catalog/manage/user-roles/#admin). +In the Catalog, all the information for registered assets is displayed in the [Catalog search details](/catalog/manage/search/#search-details) screen. This information comes from the metadata in the OData service contract, and also from additional metadata that is added when registered assets are curated. Registered assets can be curated by owners, [Curators](/catalog/manage/user-roles/#curator), and [Mendix Admins](/catalog/manage/user-roles/#admin). The information that is registered for data sources and exposed datasets are as follows: * **Endpoints** – All registered assets are defined as endpoints (URLs) in the Catalog. The endpoint of the service is accessed by the consuming app. -* **Environment** – To complete the location of the asset, the endpoints are published to an environment. The location of the OData service also includes the environment to which the publishing app is deployed. Connecting to a data source in the correct environment is very important. For example, when developing an app, you want to connect to the test data of the app deployed to a non-production test or acceptance environment. However, the final production app will have to access the datasets from the production environment - the actual live or working data. In the Data Hub, the **Environment Type** is also specified which indicates to users the quality of the data. +* **Environment** – To complete the location of the asset, the endpoints are published to an environment. The location of the OData service also includes the environment to which the publishing app is deployed. Connecting to a data source in the correct environment is very important. For example, when developing an app, you want to connect to the test data of the app deployed to a non-production test or acceptance environment. However, the final production app will have to access the datasets from the production environment - the actual live or working data. In the Catalog, the **Environment Type** is also specified which indicates to users the quality of the data. - {{% alert color="info" %}}You can filter the search results by environment type in the Catalog (**Production**, **Non-production**, and the Mendix Free App environment or **Sandbox**). In the [Data Hub pane](/refguide/data-hub-pane/) of Studio Pro, you can remove the default filter on the search results to include non-production environments. {{% /alert %}} + {{% alert color="info" %}}You can filter the search results by environment type in the Catalog (**Production**, **Non-production**, and the Mendix Free App environment or **Sandbox**). In the [Integration Pane](/refguide/integration-pane/) of Studio Pro, you can remove the default filter on the search results to include non-production environments. {{% /alert %}} * **Published OData service** – At the service endpoint, there are the OData service metadata contract files that define the service. Available data sources are registered in the Catalog by exposing datasets, attributes, and associations in the [published OData service](/refguide/published-odata-services/). * **Versions** – The contract exposed at a specific endpoint may be changed over time by the service owner, and if good practice is followed, these changes will be indicated by changing the version number. Every published OData service has a version number. Apps consuming from a service will consume from a specific version of a service deployed to an environment. {{% alert color="info" %}}If significant changes are made in the service which would break any consuming apps, then good practice dictates that the service is deployed to a different endpoint with a major update in the version number. In this case the service will be listed twice for the two different endpoints. For more information see [Semantic numbering](/refguide/consumed-odata-service/#semantic) in *Consumed OData Service*. {{% /alert %}} -## Data Hub Administration +## 5 Administration Mendix Admins can assign and manage **Curators**, **Owners**, and **External Users**, and control discoverability settings. For more information, see [Data Hub Administration](/developerportal/control-center/data-hub-admin/). + +## 6 Documents in This Guide \ No newline at end of file diff --git a/content/en/docs/catalog/consume/_index.md b/content/en/docs/catalog/consume/_index.md index 7cbf672ddb7..63398bbba9b 100644 --- a/content/en/docs/catalog/consume/_index.md +++ b/content/en/docs/catalog/consume/_index.md @@ -2,6 +2,8 @@ title: "Consume Data Sources" url: /catalog/consume/ weight: 20 +aliases: + - /data-hub/data-hub-catalog/consume-data-sources/ --- ## 1 Introduction @@ -11,7 +13,7 @@ The Catalog makes it easy to consume data sources within your company's ecosyste Common tasks for users who want to consume data sources from the Catalog include the following: * Understanding data source [authentication](/catalog/register/register-data/#authentication) set by publishing developers -* Using the [Data Hub pane](/refguide/data-hub-pane/) +* Using the [Integration Pane](/refguide/integration-pane/) * Understanding how sources are related in the [Landscape](/data-hub/data-hub-landscape/) For an overview on consuming data sources, see [Consume Registered Assets](/catalog/consume/). diff --git a/content/en/docs/catalog/consume/consume.md b/content/en/docs/catalog/consume/consume.md index c618abfede9..ee281c36f1e 100644 --- a/content/en/docs/catalog/consume/consume.md +++ b/content/en/docs/catalog/consume/consume.md @@ -2,19 +2,19 @@ title: "Consume Registered Assets" url: /catalog/consume/consume-registered-assets/ weight: 20 -description: "Describes how to use shared data sources and datasets through Mendix Data Hub." -tags: ["data hub", "Catalog", "consume", "external entities", "asset", "entities", data hub pane", "studio pro"] +description: "Describes how to use shared data sources and datasets through the Catalog." +tags: ["data hub", "Catalog", "consume", "external entities", "asset", "entities", integration pane", "studio pro"] aliases: - - /catalog/consume/ + - /data-hub/data-hub-catalog/consume/ --- ## 1 Introduction -The Catalog is a catalog of OData services exposing datasets that you can use in your apps. In Mendix Studio Pro, these exposed datasets are added as *external entities* through the [Data Hub pane](/refguide/data-hub-pane/). The integrated Catalog [search](/catalog/search/) functionality in Studio Pro is available to find suitable datasets to use in your apps. +The Catalog is a catalog of OData services exposing datasets that you can use in your apps. In Mendix Studio Pro, these exposed datasets are added as *external entities* through the [Integration Pane](/refguide/integration-pane/). The integrated Catalog [search](/catalog/search/) functionality in Studio Pro is available to find suitable datasets to use in your apps. ## 2 Using Registered Assets in Your App {#consuming-services-entities} -You can use the Catalog or the [Data Hub pane](/refguide/data-hub-pane/) in Studio Pro to find registered data sources. Click [Copy Data Source URI](/catalog/manage/search/#service-details) to obtain the OData service URI, which can be used in other enterprise applications. +You can use the Catalog or the [Integration Pane](/refguide/integration-pane/) in Studio Pro to find registered data sources. Click [Copy Data Source URI](/catalog/manage/search/#service-details) to obtain the OData service URI, which can be used in other enterprise applications. The following sections summarize important points to consider when using OData services and registered datasets in your apps in Studio Pro. @@ -30,7 +30,7 @@ It is good practice for publishers of a service to deprecate a service version i ### 2.2 Consumed External Entities -When you use an external entity from a published OData service through the **Data Hub** pane in Studio Pro, you are consuming the dataset from the service deployed to a specific environment. +When you use an external entity from a published OData service through the [Integration Pane](/refguide/integration-pane/) in Studio Pro, you are consuming the dataset from the service deployed to a specific environment. When security is enabled for your app, you can define access rules for external entities just as you would for [persistable](/refguide/persistability/#persistable) and [non-persistable](/refguide/persistability/#non-persistable) entities. You can define access rules based on user roles (for more details, see [Security and Controlling Access to Information](/catalog/security/)). diff --git a/content/en/docs/catalog/get-started.md b/content/en/docs/catalog/get-started.md index d5d1e4a5cce..f5a001cfb49 100644 --- a/content/en/docs/catalog/get-started.md +++ b/content/en/docs/catalog/get-started.md @@ -5,7 +5,7 @@ category: "Catalog" linktitle: "Get Started" weight: 1 description: "Describes initial steps beginning users can take with their Catalog." -tags: ["data hub", "Catalog", "consume", "external entities", "asset", "entities", "data hub pane", "studio pro"] +tags: ["data hub", "Catalog", "consume", "external entities", "asset", "entities", "integration pane", "studio pro"] aliases: - /data-hub/data-hub-catalog/get-started/ diff --git a/content/en/docs/catalog/integrate/_index.md b/content/en/docs/catalog/integrate/_index.md index 1a402682de6..04a9f9c383a 100644 --- a/content/en/docs/catalog/integrate/_index.md +++ b/content/en/docs/catalog/integrate/_index.md @@ -3,7 +3,7 @@ title: "Catalog and Studio Pro" url: /catalog/integrate-with-studio-pro/ weight: 60 aliases: - - /catalog/integrate/ + - /data-hub/data-hub-catalog/integrate/ --- ## 1 Introduction diff --git a/content/en/docs/catalog/integrate/share-data/_index.md b/content/en/docs/catalog/integrate/share-data/_index.md index 59902551c7c..a9aae357d31 100644 --- a/content/en/docs/catalog/integrate/share-data/_index.md +++ b/content/en/docs/catalog/integrate/share-data/_index.md @@ -10,6 +10,7 @@ aliases: - /catalog/use-data-catalog - /data-hub/share-data/ - /catalog/#share-data + - /data-hub/data-hub-catalog/share-data/ #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. --- @@ -115,12 +116,12 @@ Do the following: 3. In the panel on the left, click **Filter** to see the **Filters** dialog box. 4. Your app was deployed to the **Mendix Free App** or **Sandbox** environment. Check **Sandbox** to include it in the search results, then click **Apply**: - {{< figure src="/attachments/data-hub/share-data/dh-filter-box.png" alt="Data Hub screen" >}} + {{< figure src="/attachments/data-hub/share-data/dh-filter-box.png" alt="Catalog screen" >}} 5. From the new search results list on the left, select the *{yourname}CustomerODataService* service. Full details from the OData contract for the service are displayed on the right. 6. The **Curate** bar confirms that "**You are the owner of this data source**". You have permissions edit the metadata for this service in the Catalog and a **Business Owner**. - {{< figure src="/attachments/data-hub/share-data/search-details-screen.png" alt="data hub" >}} + {{< figure src="/attachments/data-hub/share-data/search-details-screen.png" alt="Catalog search details" >}} {{% alert color="info" %}}For more information about roles in the Catalog, see [User Roles](/catalog/manage/user-roles/).{{% /alert %}} @@ -133,16 +134,16 @@ You are going to create a second app and consume the **Customer** dataset from t To do this, follow the steps below: 1. In Mendix Studio Pro, create a new app using the **Blank** app template and call it *{yourname}CustomerActionsApp*. -2. Go to the domain model > **Data Hub** pane (if you do not see the **Data Hub** pane, click **View** > **Data Hub** to display it). -3. In the [Data Hub](/refguide/data-hub-pane/) pane, enter the search string *{yourname}*. -4. By default, search in the **Data Hub** pane only shows services in **Production** environments. Your app was deployed as a **Sandbox** app. Click the **Filter** icon next to the search and check **Show development environments**. +2. Go to the domain model > [Integration Pane](/refguide/integration-pane/) (if you do not see the [Integration Pane](/refguide/integration-pane/), click **View** > **Data Hub** to display it). +3. In the [Integration Pane](/refguide/integration-pane/), enter the search string *{yourname}*. +4. By default, search in the [Integration Pane](/refguide/integration-pane/) only shows services in **Production** environments. Your app was deployed as a **Sandbox** app. Click the **Filter** icon next to the search and check **Show development environments**. {{< figure src="/attachments/data-hub/share-data/filter-icon.png" alt="Filter Icon" >}} The search results now include **{yourname}CustomerOData_service** from your Mendix Cloud **Sandbox** environment. -5. From **{yourname}CustomerODataService**, drag the **Customer** entity into the domain model. The consumed service and entity have green checkmarks in the **Data Hub** pane now. -6. This entity is different from the blue entity container from the first app. This purple colored entity is called an [external entity](/refguide/external-entities/). The name of the OData service it is exposed in is displayed above it. Click the information icon for the consumed service in the **Data Hub** pane to see further information about the service, and follow the link to **View in Catalog**. +5. From **{yourname}CustomerODataService**, drag the **Customer** entity into the domain model. The consumed service and entity have green checkmarks in the [Integration Pane](/refguide/integration-pane/) now. +6. This entity is different from the blue entity container from the first app. This purple colored entity is called an [external entity](/refguide/external-entities/). The name of the OData service it is exposed in is displayed above it. Click the information icon for the consumed service in the [Integration Pane](/refguide/integration-pane/) to see further information about the service, and follow the link to **View in Catalog**. 7. In the **App Explorer**, notice the service and location documents for your external entity. These documents specify the metadata for the service and provide the links for connecting to the shared data. 8. Right-click the entity and select **Generate overview pages** for this entity. In the **Generate pages** dialog box, for **Content layout** select **Atlas_Default(Atlas_Core)** and click **OK**. Accept the **Information** box by clicking **OK**. Overview pages for the new entity are added in the **OverviewPages** folder of **MyFirstModule**. 9. From the App Explorer, drag **Customer_Overview** into the empty **Auto-fill** container under the *Home* banner. diff --git a/content/en/docs/catalog/integrate/without-mendix-cloud/_index.md b/content/en/docs/catalog/integrate/without-mendix-cloud/_index.md index 34722f5738d..14a0e7aaae8 100644 --- a/content/en/docs/catalog/integrate/without-mendix-cloud/_index.md +++ b/content/en/docs/catalog/integrate/without-mendix-cloud/_index.md @@ -4,7 +4,7 @@ description: "Describes how to use Catalog and external entities for local deplo url: /catalog/data-sources-without-mendix-cloud/ linktitle: "Register Data Sources Private Cloud/On-Prem" weight: 80 -tags: ["entity", "external entities", "private cloud", "on prem", "local", "studio pro", "consumed OData Service", "Data Hub on prem", "Data Hub private cloud", Data Hub Tencent", "without mendix cloud"] +tags: ["entity", "external entities", "private cloud", "on prem", "local", "studio pro", "consumed OData Service", "Data Hub on prem", "private cloud", Tencent", "without mendix cloud"] aliases: - /data-hub/data-hub-without-mendix-cloud/ #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. @@ -73,7 +73,7 @@ To import a metadata contract file of a published OData service, do the followin Right-click the **App Explorer** where you would like to add the service, then click **Add other** > **Consumed OData Service**. Select the `$metadata.xml` file you exported. -The service will now appear in the Data Hub pane. +The service will now appear in the [Integration Pane](/refguide/integration-pane/). #### 2.4.2 Importing from a URL @@ -89,7 +89,7 @@ To import a published OData service URL, do the following: 3. In the **Add Consumed OData Service** dialog box, make sure **From URL** is selected, and paste the copied URL into the field. -The service will now appear in the Data Hub pane. +The service will now appear in the [Integration Pane](/refguide/integration-pane/). ### 2.5 Updating a Manually Registered Contract diff --git a/content/en/docs/catalog/integrate/write-data/_index.md b/content/en/docs/catalog/integrate/write-data/_index.md index fe3bf71af66..100334f4beb 100644 --- a/content/en/docs/catalog/integrate/write-data/_index.md +++ b/content/en/docs/catalog/integrate/write-data/_index.md @@ -5,7 +5,7 @@ description: "Describes how to add annotations to an OData service in Mendix Stu tags: ["Data Hub", "external entities", "published OData service" ,"how to","OData", "Catalog"] weight: 20 aliases: - - /catalog/write-data/ + - /data-hub/write-data/ --- ## 1 Introduction @@ -57,14 +57,14 @@ Notice the highlighted **CRUD** letters next to the entity name in the search pa ## 5 Consuming OData Resources in Your Mendix App -Just like in the Catalog, you can see the **CRUD** capabilities of entities, attributes, and associations inside the **Data Hub** pane of Studio Pro. +Just like in the Catalog, you can see the **CRUD** capabilities of entities, attributes, and associations inside the [Integration Pane](/refguide/integration-pane/) of Studio Pro. {{< figure src="/attachments/data-hub/write-data/crud-capabilities.png" alt="crud capabilities" >}} To consume an OData entity, do the following: -1. In the **Data Hub** pane, enter a search term in the search field. -2. Select your entity from the **Data Hub** pane. By default it shows only results published to the production environment. If you also want to see results from other environments, click the filter icon and check the **Show development environment** checkbox. +1. In the [Integration Pane](/refguide/integration-pane/), enter a search term in the search field. +2. Select your entity from the [Integration Pane](/refguide/integration-pane/). By default it shows only results published to the production environment. If you also want to see results from other environments, click the filter icon and check the **Show development environment** checkbox. 3. Drag the entity into the domain model. Now you have an external entity in your domain model. Depending on the capabilities, for example the **CRUD** capabilities, you can generally use external entities to model your app as you would normally do, although there are some limitations. For more information on limitations, see the [External Entities Limitations](/refguide/external-entities/#limitations) section in *External Entities*. diff --git a/content/en/docs/catalog/manage/_index.md b/content/en/docs/catalog/manage/_index.md index cccf488706e..04795ec013e 100644 --- a/content/en/docs/catalog/manage/_index.md +++ b/content/en/docs/catalog/manage/_index.md @@ -4,10 +4,11 @@ url: /catalog/manage/ weight: 30 aliases: - /catalog/manage-data-sources/ + - /data-hub/data-hub-catalog/manage-data-sources/ --- ## 1 Introduction -Owners of data sources, Data Hub Curators, and Mendix Admins can manage, or curate, registered assets. +Owners of data sources, Curators, and Mendix Admins can manage, or curate, registered assets. Common tasks for managing data sources include the following: diff --git a/content/en/docs/catalog/manage/curate.md b/content/en/docs/catalog/manage/curate.md index 6be1aa8910b..09536141635 100644 --- a/content/en/docs/catalog/manage/curate.md +++ b/content/en/docs/catalog/manage/curate.md @@ -5,11 +5,13 @@ description: "Describes how to curate and enhance data assets in Catalog, and ma tags: ["data hub", "Catalog", "curate", "description", "services", "tags"] aliases: - /catalog/curate/ + - /data-hub/data-hub-catalog/curate/ + - /data-hub/data-hub-catalog/manage-data-sources/curate/ --- ## 1 Introduction -Owners of data sources, Curators, and Mendix Admins can curate registered assets. Curation in the Catalog is the process of enriching the metadata and providing further information about the exposed data sources, datasets and attributes, and deleting irrelevent or outdated data sources. You can add custom application icons, Catalog-specific descriptions, and tags to supplement the registered metadata. Curate functions in Data Hub include setting the [Discoverability](#discoverability) of data sources, indicating whether the data source is [validated](#validated), and specifying the [Business and Technical Owners](#custom-owner). +Owners of data sources, Curators, and Mendix Admins can curate registered assets. Curation in the Catalog is the process of enriching the metadata and providing further information about the exposed data sources, datasets and attributes, and deleting irrelevent or outdated data sources. You can add custom application icons, Catalog-specific descriptions, and tags to supplement the registered metadata. Curate functions in the Catalog include setting the [Discoverability](#discoverability) of data sources, indicating whether the data source is [validated](#validated), and specifying the [Business and Technical Owners](#custom-owner). Users who can curate assets in the Catalog are as follows: @@ -48,7 +50,7 @@ When a data source is selected in the **Search Results**, you can do the followi * **Edit Metadata** – edit the description of the data source and datasets, add tags, or specify business and technical owners and add change the application icon * [Discoverable/Validated](#discoverability) – set the **Discoverable** and **Validated** settings for the data source from the drop-down menu - * **Discoverable** – defines whether the service is visible and can be found (and consumed) by users of the Data Hub; if a service is set to **Non-discoverable**, only the owners of the service (**Business** and **Technical**) and curators can find the registered data source + * **Discoverable** – defines whether the service is visible and can be found (and consumed) by users of the Catalog; if a service is set to **Non-discoverable**, only the owners of the service (**Business** and **Technical**) and curators can find the registered data source * **Validate** – indicates that the data source and datasets have been validated * **Remove Data Source** – allows Owners to remove their own data sources, while Curators or Admins can remove any data sources in the company @@ -69,10 +71,10 @@ You can curate Application Details from the **Application Details** screen as fo The **Business Owners** and **Technical Owners** are displayed as a link in the asset **Metadata** pane so that users can contact them through the email that is provided for them. -By default, the **Technical Owner** for a registered asset is the user who registered the data source when registration is done through the deployment pipeline in Studio Pro. The owners can also be specified during manual registration using one of the connectors in the Data Hub Home and also when registering assets using the Catalog API. +By default, the **Technical Owner** for a registered asset is the user who registered the data source when registration is done through the deployment pipeline in Studio Pro. The owners can also be specified during manual registration using one of the connectors in the Catalog Home and also when registering assets using the Catalog API. {{% alert color="info" %}} -**Business Owners** and **Technical Owners** have curation rights for the registered data source in the Catalog only if they are registered users on the Mendix Platform. If a [custom owner](#custom-owner) is created with the process described in this section, the link to contact them will be displayed for the asset. It does not mean that they are able to access the asset in Data Hub or curate it.{{% /alert %}} +**Business Owners** and **Technical Owners** have curation rights for the registered data source in the Catalog only if they are registered users on the Mendix Platform. If a [custom owner](#custom-owner) is created with the process described in this section, the link to contact them will be displayed for the asset. It does not mean that they are able to access the asset in the Catalog or curate it.{{% /alert %}} {{% alert color="info" %}} Curators and Mendix Admins can manage the lists of custom owners as part of **Administration** functions. For details, see the [Owners](/developerportal/control-center/data-hub-admin/#custom-owners) section of *Data Hub Administration*. @@ -102,7 +104,7 @@ To add a custom **Business Owner**, follow these steps: ### 4.2 Changing the App Icon {#application-icon} -You can change the icon that is displayed for the app and the data source by uploading your own custom application icon or selecting one from Data Hub the icon library. The selected icon will be displayed for all endpoints of the application and data source such as the Catalog search results and also in the Mendix Studio Pro [Data Hub pane](/refguide/data-hub-pane/). +You can change the icon that is displayed for the app and the data source by uploading your own custom application icon or selecting one from the icon library. The selected icon will be displayed for all endpoints of the application and data source such as the Catalog search results and also in the Mendix Studio Pro [Integration Pane](/refguide/integration-pane/). When you change an application icon, all data sources that are registered in the Catalog for that application will show the new icon. @@ -143,7 +145,7 @@ To **upload a different icon** for the app follow these steps: #### 4.2.2 Selecting an Icon from the Library -An alternative to uploading an icon is to use an existing icon by clicking **select one from your library**. The icons for your Data Hub will be shown and you can select one and click **Change Icon**. +An alternative to uploading an icon is to use an existing icon by clicking **select one from your library**. The icons for your Catalog will be shown and you can select one and click **Change Icon**. ## 5 Editing the Metadata of a Data Source {#service-details} @@ -201,7 +203,7 @@ The discoverable and validated properties of registered assets can be set from t The discoverability is set at a data source level. When a data source is registered in the Catalog, **Discoverable** is set to the company default value, which is configured by the Mendix Admin in [Control Center](/developerportal/control-center/data-hub-admin/#settings). If **Discoverable** is on for a data source, all users can find the asset and see the details of it. The **Discoverable** setting will apply to all datasets that are exposed in the data source. -When the **Discoverable** setting is turned off, it will only be visible to the owners of the service and curators and the Mendix Admin. All other users of Data Hub (also through the Data Hub integrations in Studio Pro) will not be able to see an asset whose discoverabilty is turned off. +When the **Discoverable** setting is turned off, it will only be visible to the owners of the service and curators and the Mendix Admin. All other users of the Catalog (also through the Catalog integrations in Studio Pro) will not be able to see an asset whose discoverabilty is turned off. When a data source is set to non-**Discoverable**, the data source, and the datasets that are exposed cannot be found by other users (except by owners and curators). However, there may be instances of the same datasets in the Catalog, from the same apps, that are available through other discoverable services. diff --git a/content/en/docs/catalog/manage/landscape.md b/content/en/docs/catalog/manage/landscape.md index bc1ab38e724..c2ca2197fa2 100644 --- a/content/en/docs/catalog/manage/landscape.md +++ b/content/en/docs/catalog/manage/landscape.md @@ -6,6 +6,7 @@ tags: ["Catalog", "data hub", "external entities", "landscape", "published odata weight: 40 aliases: - /data-hub/data-hub-landscape/ + - /data-hub/data-hub-catalog/data-hub-landscape/ #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. --- @@ -85,4 +86,4 @@ Clicking a node will display details of the node in the **Metadata** pane. You c ### 2.6 Consumed Datasets -If you click the **Entity** icon on the consume line, the names of the datasets that are being consumed from the service will be shown in the right panel. \ No newline at end of file +If you click the **Entity** icon on the consume line, the names of the datasets that are being consumed from the service will be shown in the right panel. diff --git a/content/en/docs/catalog/manage/search.md b/content/en/docs/catalog/manage/search.md index a01dc2acbb4..7eb7659744b 100644 --- a/content/en/docs/catalog/manage/search.md +++ b/content/en/docs/catalog/manage/search.md @@ -4,12 +4,14 @@ url: /catalog/manage/search/ description: "Describes how to find data sources and datasets in the Catalog." tags: ["data hub", "Catalog", "data source", "dataset"] aliases: + - /data-hub/data-hub-catalog/search/ + - /data-hub/data-hub-catalog/manage-data-sources/search/ - /catalog/search/ --- ## 1 Introduction -Finding the right data to use in your app development is made easier using the search functionality in the Catalog. The details of registered data assets can be accessed using the [Search API](/apidocs-mxsdk/apidocs/catalog-apis/), or viewed in the [Asset details](#search-details) screen of the Catalog or the [Data Hub pane](/refguide/data-hub-pane/) in Studio Pro. This document describes how you can search in Catalog. +Finding the right data to use in your app development is made easier using the search functionality in the Catalog. The details of registered data assets can be accessed using the [Search API](/apidocs-mxsdk/apidocs/catalog-apis/), or viewed in the [Asset details](#search-details) screen of the Catalog or the [Integration Pane](/refguide/integration-pane/) in Studio Pro. This document describes how you can search in Catalog. ## 2 Search Using the API {#search-api} @@ -399,7 +401,7 @@ See the [Curation Bar](#curation-bar) section below for changing **Discoverabili The following discoverability values can be set: * **Discoverable** – all users in your company can see and consume the asset in the Catalog and Studio Pro -* **Non-Discoverable** – the asset is only visible to owners, curators, and the Mendix Admin in the Catalog; it is not included in the search results in the [Data Hub pane](/refguide/data-hub-pane/) of Studio Pro, or any other client of the Catalog API. +* **Non-Discoverable** – the asset is only visible to owners, curators, and the Mendix Admin in the Catalog; it is not included in the search results in the [Integration Pane](/refguide/integration-pane/) of Studio Pro, or any other client of the Catalog API. #### 3.6.5 Validated diff --git a/content/en/docs/catalog/manage/security.md b/content/en/docs/catalog/manage/security.md index d6ca8afc133..c301f5fac48 100644 --- a/content/en/docs/catalog/manage/security.md +++ b/content/en/docs/catalog/manage/security.md @@ -4,6 +4,8 @@ url: /catalog/manage/security/ description: "Describes security aspects around registered assets and access in Mendix Data Hub." tags: ["data hub", "Catalog", "security", "entity security", "dataset security","odata service security"] aliases: + - /data-hub/data-hub-catalog/security/ + - /data-hub/data-hub-catalog/manage-data-sources/security/ - /catalog/security/ --- @@ -43,7 +45,7 @@ For further details, see the [Entity Access](/refguide/module-security/#entity-a Registered data sources have the following classifications that apply to the visibility and accessibility of the data source in the Catalog: -* **Public** – the data source is visible to all internal and external users of Mendix Data Hub +* **Public** – the data source is visible to all internal and external users of the Catalog * **Internal** – the data source is restricted to the members of the organization The **Access Level** of the asset indicates the runtime security on the data source and what users can see and use when consuming datasets in their app development. diff --git a/content/en/docs/catalog/manage/user-roles.md b/content/en/docs/catalog/manage/user-roles.md index b082b28d496..51e14479fb4 100644 --- a/content/en/docs/catalog/manage/user-roles.md +++ b/content/en/docs/catalog/manage/user-roles.md @@ -5,6 +5,8 @@ description: "Describes the user roles in the Catalog." tags: ["data hub", "Catalog", "curate", "user roles", "curator", "admin"] aliases: - /catalog/manage-data-sources/user-roles/ + - /data-hub/data-hub-catalog/user-roles/ + - /data-hub/data-hub-catalog/manage-data-sources/user-roles/ --- ## 1 Introduction diff --git a/content/en/docs/catalog/register/automate-registration.md b/content/en/docs/catalog/register/automate-registration.md index 206e92c5384..880ecba0800 100644 --- a/content/en/docs/catalog/register/automate-registration.md +++ b/content/en/docs/catalog/register/automate-registration.md @@ -53,7 +53,7 @@ For this section, you will need: * A [Personal Access Token](/developerportal/community-tools/mendix-profile/#pat) * The application **Name** -Follow the steps for [registering an application through the Data Hub Registration API](/catalog/register/register-data/#register-application). +Follow the steps for [registering an application through the Registration API](/catalog/register/register-data/#register-application). Upon completion, you will have the `application_UUID`. diff --git a/content/en/docs/catalog/register/register-data.md b/content/en/docs/catalog/register/register-data.md index fb5e774d114..1049ffdadc2 100644 --- a/content/en/docs/catalog/register/register-data.md +++ b/content/en/docs/catalog/register/register-data.md @@ -65,7 +65,7 @@ Once you have a personal access token, follow this series of REST calls to regis If your service contract is not in the right format, use the [Transform API](#transform-api) (an endpoint of the Registration API) to get your service contract in the right format before registering them. -The [Data Hub Registration API specification](https://datahub-spec.s3.eu-central-1.amazonaws.com/registration_v4.html) describes all the optional fields, required formats, other operations on these same paths. You will only fill out the required fields and one operation per path in this how-to. +The [Registration API specification](https://datahub-spec.s3.eu-central-1.amazonaws.com/registration_v4.html) describes all the optional fields, required formats, other operations on these same paths. You will only fill out the required fields and one operation per path in this how-to. #### 4.1.1 Registering an Application Through the Catalog Registration API {#register-application} diff --git a/content/en/docs/catalog/register/register-non-odata-resources.md b/content/en/docs/catalog/register/register-non-odata-resources.md index d8378b1b94d..ade441b7034 100644 --- a/content/en/docs/catalog/register/register-non-odata-resources.md +++ b/content/en/docs/catalog/register/register-non-odata-resources.md @@ -32,7 +32,7 @@ There are certain limitations on consumed OData services. For more information o The diagram below represents how an OData API wrapper can be used to connect a custom app data source to a Mendix Studio Pro app: -{{< figure src="/attachments/data-hub/data-hub-catalog/register-non-odata-resources/non-odata.png" alt="Data Hub connecting to non-OData resources" >}} +{{< figure src="/attachments/data-hub/data-hub-catalog/register-non-odata-resources/non-odata.png" alt="Catalog connecting to non-OData resources" >}} Once the OData service is available, find the generated *$metadata* file for your data, and use that to register your service in the Catalog via the connector on the home page. For more information on setting up the connection, see [Published OData Services](/refguide/published-odata-services/). diff --git a/content/en/docs/developerportal/collaborate/jira-connector.md b/content/en/docs/developerportal/collaborate/jira-connector.md index e6818283601..6be1090650e 100644 --- a/content/en/docs/developerportal/collaborate/jira-connector.md +++ b/content/en/docs/developerportal/collaborate/jira-connector.md @@ -6,7 +6,7 @@ description: "Describes how to connec Mendix apps in the Developer Portal to Jir tags: ["app", "jira", "project management", "scrum master", "general settings", Developer Portal", "Scrum Master"] --- -{{% alert color="warning" %}}This feature is in Beta. For more information on Beta products, see [Beta Releases](https://github.com/mendix/docs/blob/development/releasenotes/beta-features). {{% /alert %}} +{{% alert color="warning" %}}This feature is in Beta. For more information on Beta products, see [Beta Releases](/releasenotes/beta-features/). {{% /alert %}} ## 1 Introduction diff --git a/content/en/docs/developerportal/community-tools/mendix-profile.md b/content/en/docs/developerportal/community-tools/mendix-profile.md index 99603b3e166..dd6680e6475 100644 --- a/content/en/docs/developerportal/community-tools/mendix-profile.md +++ b/content/en/docs/developerportal/community-tools/mendix-profile.md @@ -13,11 +13,14 @@ aliases: ## 1 Introduction -Your Mendix Profile is your main point of contact with members of the Mendix community. It displays your activities on the Mendix Platform and details about your background. -To get more involved in the Mendix community, your profile is the best way to start. +Your Mendix Profile is your main point of contact with members of the Mendix community. It displays your activities on the Mendix Platform and details about your background. To get more involved in the Mendix community, your profile is the best place to start. You can access your Mendix profile by clicking your picture in the upper-right corner of the Developer Portal and then selecting **See Your Profile**. +{{% alert color="info" %}} +By default, any newly created Mendix account comes with its own Mendix Profile. +{{% /alert %}} + ## 2 Header {#header} Your profile header displays a quick overview of information about you. Your Mendix experience in level and points, your number of [credits](#challenges), and your number of [connections](#connections) are all found here. You can also select up to four featured [badges](#badges) to display your progress on the Mendix Platform. If you have a certificate from the Mendix [Academy](https://academy.mendix.com), this will also be displayed. The **Personal Info** card presents other information. @@ -41,7 +44,7 @@ The first profile card below the header presents your **Stats**, which are your {{< figure src="/attachments/developerportal/community-tools/mendix-profile/stats.png" width="350" >}} {{% alert color="warning" %}} -Don't get bummed out about a low number of points, because everyone in the Mendix community started like that, even our Expert developers! There are plenty of opportunities to gain more points and climb the [Leaderboard](#leaderboard). +Don't get disappointed about a low number of points, because everyone in the Mendix community started like that, even our Expert developers! There are plenty of opportunities to gain more points and climb the [Leaderboard](#leaderboard). {{% /alert %}} ## 4 Badges {#badges} @@ -214,39 +217,85 @@ You can also connect your social accounts via **Twitter URL** and **LinkedIn URL You can also choose to make your profile public (which will allow the Mendix community to view your profile) by clicking **Make Profile Public**. Be sure to do the following to make your profile public: * Add an avatar -* Enter a **Function** -* Confirm if you are looking for a **job**, a **project**, both, or neither -* Enter a **Summary** -* Add at least 1 **Skill** -* Add at least 1 **Industry Experience** item +* Enter a **Job Title**, **Department**, and **Country of Residence** +* Add some details **About You** +* Add at least one **Skill** +* Add at least one **Industry Experience** item {{% alert color="info" %}} To make your public profile private again, click **Make Profile Private**. {{% /alert %}} -### 10.2 Account +You can also add a **Recover Email** address, which is useful if you lose access to your account or Mendix Profile. You can provide a non-business email address for this. -By default, you are requested to change your password every 90 days. A Mendix Admin can change this password policy setting in [Control Center](/developerportal/control-center/#security). +#### 10.1.1 Merging Profiles -You can update your password via the [Request Password Change](https://login.mendix.com/mxid3/request-password-reset) button, which you can also reach using the **Forgot password?** link on the login screen. +If you own two (or more) user accounts, Mendix recommendeds merging the profiles of these user accounts with each other. This saves you from having to maintain multiple profiles, and your community contributions will be stored with the one profile you actively use. As a result, you will have a stronger single Mendix Profile, and you will not have to keep track of your progress scattered in multiple profiles in the platform. -Do you want to transfer information from your old Mendix account to a new one? You should prepare for the merge by adding your new account to the relevant apps of your old account. Mendix recommends doing this, because once the old account has been merged into the new account, you no longer have access to the apps of your old account. With your new account, you will need a new invitation to those apps to gain access. +The **Merge Profile** process merges the information associated with the merged profiles, resulting in a single Mendix Profile with two (or more) user accounts related to it. For details on what information ends up in the resulting merged profile, see the [Results of Merge Process](#merge-profile-result) section below. -From your new account, then click **Transfer Account Data**. After sharing some information with us and entering the email address of your old account in the dialog box, click **Transfer Data** and the request will be sent. +These are the prerequisites for the profile merge actions: -If you still have access to your old account, you can approve the merge yourself after clicking the link in the confirmation email that is sent to your old account when the merge is requested. Be sure you are logged in with your old account to see the merge request. Otherwise, you can wait for merge approval from Mendix Support. +* Own two (or more) user accounts +* Have platform access with at least one of these user accounts +* Be able to receive emails for the user profiles that will be merged (this can be your email address used to log in or a profile email address) -Your account data, earned points, achievements, credits, certifications, and Academy progress is then transferred to your new account. +Before you start with a new profile merge action, it is important to understand what scenarios are possible and what it means for the profile merge process. The following starting scenarios are possible: -{{% alert color="info" %}} -With the merge, the accounts are only combined. The old account is not deactivated from the Mendix Platform. That should be done by a [Mendix Admin](/developerportal/control-center/#members). +* **All user accounts give you access to the Mendix Platform** – If you have access to the platform with all your user accounts, you are able to initiate a merge after signing in with any of the accounts. For the other profile, a confirmation email message is sent that enables starting the merge action. +* **One of the user accounts gives you access to the Mendix Platform** – If you have access to only one of your user accounts, the profile merge process can only be initiated from that account. Furthermore, the user account you signed in with determines what profile information ends up in the resulting merged profile in the case of properties where the system cannot determine the information that should be kept. For the other profile, a confirmation email message is sent that enables starting the merge action. +* **None of the user accounts gives you access to the Mendix Platform** – You should own at least one user account that provides access to the Mendix Platform. + +{{% alert color="warning" %}} +If you do not have access to any of the email addresses linked to the user accounts/profiles that you want to merge and you cannot log in with the Mendix Profile you want to merge, click **Create Support Request** to go to Mendix Support. Mendix Support will contact you to change the profile **Recovery** email. Once this is done, you will be able to follow the steps below. +{{% /alert %}} + +{{% alert color="warning" %}} +When merging user profiles, a merge confirmation is needed for the user account you are not signed in with. The verification code that you need to confirm the merge operation will arrive by email. Therefore, you must be able to receive the verification email in an email inbox that is associated with the user account or the associated profile. +{{% /alert %}} + +#### 10.1.2 Merge Process + +Follow these steps to merge your profiles: + +1. Click **Merge Profile**. +2. In the dialog box that appears, enter the email address of one of the accounts linked to the profile you want to transfer information from. Then click **Next**. +3. You will be asked to choose an email address to receive a verification code, so choose an email address you have access to. This step is needed to verify that you are the owner of the Mendix Profile you are trying to merge. +4. Enter the verification code you received via the selected email address. +5. After clicking **Verify**, you will see an overview of the profile information that will be deleted and the information that will be kept. This includes earned points, achievements, credits, certifications, and Academy progress that will be merged to your target profile. +6. To proceed with the merge, click **Merge**. You will be notified once the merge is completed. + +{{% alert color="info" %}} +With the merge, the accounts of both profiles are kept. None of the accounts will be deactivated from the Mendix Platform. That should be done by a [Mendix Admin](/developerportal/control-center/#members). {{% /alert %}} +#### 10.1.3 Merge Result {#merge-profile-result} + +The result of the profile merge process is that the information of the profiles is merged into one profile. The information that can be added to the profile will be associated with the resulting Mendix Profile. However, in a situation where there is conflicting data for the two profiles to be merged, the system uses the profile data of the user account you are signed in with. + +The following details may have conflicts, but these can easily be updated after the merge process: + +* Avatar image +* **Name** +* **Job Title** +* **Country of Residence** +* **About You** +* **Twitter URL** +* **LinkedIn URL** + {{% alert color="warning" %}} -It is not possible to separate accounts after they have been merged. Double-check that your old and new account information is valid and in the correct order. +It is not possible to separate profiles after they have been merged. Double-check that the information from all of your profiles is valid. {{% /alert %}} -If you do not want to use Mendix anymore, you can remove your account from this page. Click the menu button next to **Request Password Change** and select **Delete Account**. All of your personal and identifiable information is then removed and deleted from our servers. +### 10.2 Account + +This page is an overview of all the accounts you own and that are linked to your Mendix Profile. You can see which account you are logged in with, the company associated with each user account, if single sign-on is enabled, and the status of each user account (**Active** or **Deactivated**). + +By default, you are requested to change your password every 90 days. A Mendix Admin can change this password policy setting in [Control Center](/developerportal/control-center/#security). + +You can update the password of each of your accounts via the [Change Password](https://login.mendix.com/mxid3/request-password-reset) button, which you can also reach using the **Forgot password?** link on the login screen. + +If you do not want to use an account anymore, you can remove it from this page. Click the menu button next to the account you want to delete and select **Forget this Account**. All of the account information is then removed and deleted from Mendix's servers. All the personal and identifiable information of your profile will be deleted when you delete all your accounts. ### 10.3 Notifications {#notifications} diff --git a/content/en/docs/howto/_index.md b/content/en/docs/howto/_index.md index 229b09bbf06..209014dba95 100644 --- a/content/en/docs/howto/_index.md +++ b/content/en/docs/howto/_index.md @@ -9,16 +9,11 @@ description_list: true cascade: - space: "Studio Pro 10 How-tos" - mendix_version: 10 - - banner: "Mendix 10 is currently in Beta. For details on Mendix 9.24 LTS, see Studio Pro 9 How-tos." - sitemap: priority: 0.7 #This document is mapped to the landing page, update the link there if renaming or moving the doc file. --- -{{% alert color="warning" %}} -Mendix 10 is currently in [Beta](/releasenotes/beta-features/). Looking for documentation on Mendix 9.24 LTS instead? See [Studio Pro 9 How-tos](/howto9/). -{{% /alert %}} - ## 1 Introduction Browse the *Studio Pro 10 How-tos* to find step-by-step guides that will teach you how to build and customize apps with Mendix. diff --git a/content/en/docs/howto/front-end/atlas-ui/customize-styling-new.md b/content/en/docs/howto/front-end/atlas-ui/customize-styling-new.md index 35eec329f86..003776ea959 100644 --- a/content/en/docs/howto/front-end/atlas-ui/customize-styling-new.md +++ b/content/en/docs/howto/front-end/atlas-ui/customize-styling-new.md @@ -160,7 +160,7 @@ To create a re-usable theme module, do the following: {{% alert color="info" %}}To open your Mendix app directory from Studio Pro, click **App** in the top menu-bar, then click **Show App Directory in Explorer**.{{% /alert %}} 3. Copy the variables from *theme/web/custom-variables.scss* and paste them in *themesource/mytheme/web/custom-variables.scss*. Remove all the variables from the *theme/web/custom-variables.scss*. The *theme/web/custom-variables.scss* file should now be empty. -4. In *theme/web/custom-variables.scss* add `@import "../../themesource/mytheme/web/custom-variables.scss` to the top of the file, replacing “mytheme” with your module name. The *theme/web/custom-variables.scss* file should only contain an import statement to your "mytheme" custom variables. +4. In *theme/web/custom-variables.scss* add `@import "../../themesource/mytheme/web/custom-variables.scss"` to the top of the file, replacing “mytheme” with your module name. The *theme/web/custom-variables.scss* file should only contain an import statement to your "mytheme" custom variables. The two files should end up looking like this: diff --git a/content/en/docs/howto/front-end/styles.md b/content/en/docs/howto/front-end/styles.md index abdb8b9a216..ac485b4d14e 100644 --- a/content/en/docs/howto/front-end/styles.md +++ b/content/en/docs/howto/front-end/styles.md @@ -129,8 +129,8 @@ For more information on grid options, including suggestions and examples, see [B Change the way items appear in a list: * `listview-lined`: list view widget with only a bordered bottom in a list view item -* `listview-striped`: list view widget with striped listview items -* `listview-seperated`: list view widget with list view items seperated +* `listview-striped`: list view widget with striped list view items +* `listview-seperated`: list view widget with list view items separated * `listview-stylingless`: list view widget without spacing and background ## 8 Alerts diff --git a/content/en/docs/howto7/_index.md b/content/en/docs/howto7/_index.md index 4f0e00a4ab7..34ee4ecb1fa 100644 --- a/content/en/docs/howto7/_index.md +++ b/content/en/docs/howto7/_index.md @@ -9,16 +9,13 @@ description_list: true cascade: - space: "Mendix 7 How-tos" - mendix_version: 7 + - banner: "Mendix 7 is no longer supported unless you have Extended Support (for details, please contact Mendix Support). Mendix 7 documentation will remain available for customers with Extended Support until July, 2024." - old_content: true - hide_feedback: true - sitemap: priority: 0.1 --- -{{% alert color="info" %}} -Support for Mendix 7 will be available after the release of Mendix 10 for a maximum duration of one year. For details, see the [Extended Support](/developerportal/support/#extended-support) section in *Mendix Support*. -{{% /alert %}} - Browse the Mendix how-to's to find step-by-step guides that will teach you how to build and customize apps with Mendix. The *Mendix How-tos* are divided into the following categories: diff --git a/content/en/docs/howto7/front-end/styles.md b/content/en/docs/howto7/front-end/styles.md index 05f9c0368b9..5034a8ebd8f 100644 --- a/content/en/docs/howto7/front-end/styles.md +++ b/content/en/docs/howto7/front-end/styles.md @@ -129,8 +129,8 @@ For more information on grid options, including suggestions and examples, see [B Change the way items appear in a list: * `listview-lined`: list view widget with only a bordered bottom in a list view item -* `listview-striped`: list view widget with striped listview items -* `listview-seperated`: list view widget with list view items seperated +* `listview-striped`: list view widget with striped list view items +* `listview-seperated`: list view widget with list view items separated * `listview-stylingless`: list view widget without spacing and background ## 8 Alerts diff --git a/content/en/docs/howto8/front-end/styles.md b/content/en/docs/howto8/front-end/styles.md index 463722cd629..7674e779487 100644 --- a/content/en/docs/howto8/front-end/styles.md +++ b/content/en/docs/howto8/front-end/styles.md @@ -129,8 +129,8 @@ For more information on grid options, including suggestions and examples, see [B Change the way items appear in a list: * `listview-lined`: list view widget with only a bordered bottom in a list view item -* `listview-striped`: list view widget with striped listview items -* `listview-seperated`: list view widget with list view items seperated +* `listview-striped`: list view widget with striped list view items +* `listview-seperated`: list view widget with list view items separated * `listview-stylingless`: list view widget without spacing and background ## 8 Alerts diff --git a/content/en/docs/howto9/front-end/atlas-ui/customize-styling-new.md b/content/en/docs/howto9/front-end/atlas-ui/customize-styling-new.md index fbff2256445..90a68831ab3 100644 --- a/content/en/docs/howto9/front-end/atlas-ui/customize-styling-new.md +++ b/content/en/docs/howto9/front-end/atlas-ui/customize-styling-new.md @@ -162,7 +162,7 @@ To create a re-usable theme module, do the following: {{% alert color="info" %}}To open your Mendix app directory from Studio Pro, click **App** in the top menu-bar, then click **Show App Directory in Explorer**.{{% /alert %}} 3. Copy the variables from *theme/web/custom-variables.scss* and paste them in *themesource/mytheme/web/custom-variables.scss*. Remove all the variables from the *theme/web/custom-variables.scss*. The *theme/web/custom-variables.scss* file should now be empty. -4. In *theme/web/custom-variables.scss* add `@import "../../themesource/mytheme/web/custom-variables.scss` to the top of the file, replacing “mytheme” with your module name. The *theme/web/custom-variables.scss* file should only contain an import statement to your "mytheme" custom variables. +4. In *theme/web/custom-variables.scss* add `@import "../../themesource/mytheme/web/custom-variables.scss"` to the top of the file, replacing “mytheme” with your module name. The *theme/web/custom-variables.scss* file should only contain an import statement to your "mytheme" custom variables. The two files should end up looking like this: diff --git a/content/en/docs/howto9/front-end/styles.md b/content/en/docs/howto9/front-end/styles.md index ced5213462f..0ee1635e28c 100644 --- a/content/en/docs/howto9/front-end/styles.md +++ b/content/en/docs/howto9/front-end/styles.md @@ -129,8 +129,8 @@ For more information on grid options, including suggestions and examples, see [B Change the way items appear in a list: * `listview-lined`: list view widget with only a bordered bottom in a list view item -* `listview-striped`: list view widget with striped listview items -* `listview-seperated`: list view widget with list view items seperated +* `listview-striped`: list view widget with striped list view items +* `listview-seperated`: list view widget with list view items separated * `listview-stylingless`: list view widget without spacing and background ## 8 Alerts diff --git a/content/en/docs/refguide/_index.md b/content/en/docs/refguide/_index.md index 6df1a8cb962..094e3b81a58 100644 --- a/content/en/docs/refguide/_index.md +++ b/content/en/docs/refguide/_index.md @@ -9,15 +9,10 @@ description_list: true cascade: - space: "Studio Pro 10 Guide" - mendix_version: 10 - - banner: "Mendix 10 is currently in Beta. For details on Mendix 9.24 LTS, see Studio Pro 9 Guide." - sitemap: priority: 0.8 --- -{{% alert color="warning" %}} -Mendix 10 is currently in [Beta](/releasenotes/beta-features/). Looking for documentation on Mendix 9.24 LTS instead? See [Studio Pro 9 Guide](/refguide9/). -{{% /alert %}} - ## 1 Introduction The *Mendix Studio Pro 10 Guide* covers important topics concerning [Studio Pro](/refguide/modeling/), the [Mendix Runtime](/refguide/runtime/), and other components of the Mendix Platform. diff --git a/content/en/docs/refguide/general/mx-command-line-tool.md b/content/en/docs/refguide/general/mx-command-line-tool.md deleted file mode 100644 index 900e2589746..00000000000 --- a/content/en/docs/refguide/general/mx-command-line-tool.md +++ /dev/null @@ -1,390 +0,0 @@ ---- -title: "mx Command-Line Tool" -url: /refguide/mx-command-line-tool/ -category: "General Info" -weight: 20 -description: "Describes the options of the mx command-line tool." -tags: ["mx", "command-line", "tool", "mx", "studio pro", "windows", "linux"] ---- - -## 1 Introduction - -The **mx tool** is a Windows and Linux command-line tool that can be used to perform various actions on a Mendix app. - -## 2 Location - -Mendix Studio Pro comes with the mx command-line tool. The executable *mx.exe* file can be found in the same folder that contains `studiopro.exe` (for example, *C:\Program Files\Mendix\10.0.0.5003\modeler\mx.exe*). - -## 3 mx Tool Options - -The mx tool performs the commands described below. - -### 3.1 mx convert Command - -The `mx convert` command converts the app(s) MPK file(s) to a specific Studio Pro version. For example, if you are using the mx command-line tool for Studio Pro version 10.0.0.5003, `mx convert` will convert the app to that version. - -The input can be a single file, directory, or multiple files. - -{{% alert color="info" %}} -The mx tool can only upgrade your app; you cannot use it to downgrade the version. -{{% /alert %}} - -#### 3.1.1 Usage - -Use the following command pattern for `mx convert`: - -`mx convert [OPTIONS] INPUT... OUTPUT` - -The `OPTIONS` are described in the table below: - -| Option | Shortcut | Result | -| --- | --- | --- | -| `--help` | `-h` | Displays the help text and exits. | -| `--in-place` | `-p` | Converts the current app directory. Use this option to convert a folder containing a Mendix app. Otherwise, `mx convert` will convert *.mpk* files. | -| `--skip-error-check` | `-s` | Does not check for errors. Use this option to disable app error-checking during the conversion. When omitted, the tool will report on the number of errors, warnings, and deprecations in the app and do the conversion. | - -For `INPUT...`, enter one or more *.mpk* files or one directory that needs to be converted. - -For `OUTPUT`, enter the output location for the converted results. Mind the following: - -* When `INPUT...` is a single file, `OUTPUT` can be a single file or directory; otherwise, `OUTPUT` must be a directory. -* When using the `--in-place` option, the `INPUT...` folder will also be used as the `OUTPUT` folder, so you do not need to specify a separate `OUTPUT` folder - -#### 3.1.2 Examples - -Examples of commands are described in the table below: - -| Example | Result | -| --- | --- | -| `mx convert --in-place C:\MxProjects\App-main` | Converts the app in folder `C:\MxProjects\App-main` to the specific Studio Pro version which the mx tool is bundled with. | -| `mx convert C:\Mendix\App1.mpk C:\Mendix\App2.mpk C:\Mendix\ConvertedProjects\` | Converts the *App1.mpk* and *App2.mpk* app packages that are in the *C:\Mendix\* folder and puts the results in the `C:\Mendix\ConvertedProjects\` folder. | -| `mx convert --skip-error-check C:\Mendix\Packages\ C:\Mendix\ConvertedPackages\` | Converts all app packages in the `C:\Mendix\Packages\` folder to the `C:\Mendix\ConvertedPackages\` folder without checking for errors. | - -#### 3.1.3 Return Codes - -Return codes are described in the table below: - -| Return Code | Description | -| --- | --- | -| 0 | The conversion was successful. | -| 1 | An internal error occurred. | -| 2 | There is something wrong with the command-line options. | -| 3 | Converting failed. | - -### 3.2 mx create-project Command - -The `mx create-project` command creates a new app in Studio Pro. The app version depends on the version the tool was bundled with. For example, if you are using the mx tool for Studio Pro version 10.0.0.5003, `mx create project` will create a new app in that version. - -#### 3.2.1 Usage - -Use the following command pattern: `mx create-project [OPTIONS] [TEMPLATE-MPK-FILE]` - -The `OPTIONS` are described in the table below: - -| Option | Default Value | Result | -| --- | --- | --- | -| `app-name` | App | Assigns the specified app name to the app. | -| `output-dir` | Current directory | The directory in which to create the app. | -| `language-code` | en_US | The default language of the app. | -| `sprintr-app-id` | Optional | Associates the app [feedback features](/developerportal/collaborate/feedback/) with the provided [Developer Portal app](/developerportal/#my-apps). The value is a GUID. When accessing the app in the Developer Portal, this ID can be found in the browser's URL (for example, `1a428ea7-b00e-4166-9b23-20b7be88a40e`). | - -`TEMPLATE-MPK-FILE` is an optional path to a Mendix app package (*.mpk*) file. If this argument is omitted, the app is created with a default empty project template. - -#### 3.2.2 Examples - -Examples of commands are described in the table below: - -| Example | Result | -| --- | --- | -| `mx create-project` | Creates an app in the current folder using all the default parameters. | -| `mx create-project --app-name MyFirstApp --output-dir C:\Projects\MyFirstApp` | Creates an app named `MyFirstApp` in the *C:\Projects\MyFirstApp* folder using all the default parameters. | -| `mx create-project C:\Templates\ExpenseReportTemplate.mpk` | Creates an app with the default parameters from a template located at *C:\Templates\ExpenseReportTemplate.mpk*. | - -#### 3.2.3 Return Codes - -Return codes are described in the table below: - -| Return Code | Description | -| --- | --- | -| 0 | The app creation was successful. | -| 1 | An internal error occurred. | -| 2 | There is something wrong with the command-line options. | - -### 3.3 mx check Command {#check} - -The `mx check` command checks the app MPR file for issues such as Errors, Warnings, Deprecations, or Performance Recommendations. - -{{% alert color="info" %}} -The MPR file must be the same version as mx. -{{% /alert %}} - -#### 3.3.1 Usage - -Use the following command pattern for `mx check`: - -`mx check [OPTIONS] INPUT [Optional path to exported Suppress Warnings file (JSON)]` - -The `OPTIONS` are described in the table below: - -| Option | Shortcut | Result | -| ---------------- | -------- | ------------------------------------------------------------ | -| `--help` | `-h` | Displays the help text and exits. | -| `--deprecations` | `-d` | Include deprecations in the output | -| `--json ` | `-j ` | Output the results to the specified file path, as JSON. | -| `--performance` | `-p` | Include performance checks in the output (performance recommendations are only output if there are no errors) | -| `--warnings` | `-w` | Include warnings in the output | - -{{% alert color="info" %}} -Errors in the MPR are always reported. -{{% /alert %}} - -For `INPUT`, enter a single *.mpr* file. - -You can optionally specify the path to an exported Suppress Warnings file (JSON file). This means that `mx check -w` will use the list of suppressed warnings in the JSON file, instead of the default behavior which is to read from the *project-settings.user.json* file in the app directory. - -#### 3.3.2 Examples - -Examples of commands are described in the table below: - -| Example | Result | -| ------------------------------------------------------------ | ------------------------------------------------------------ | -| `mx check --help` | Displays the help text for the check command. | -| `mx check C:\MxProjects\App-main\App-main.mpr` | Checks the app at `C:\MxProjects\App-main\App-main.mpr` for errors. | -| `mx check C:\MxProjects\App-main\App-main.mpr -p` | Checks the app at `C:\MxProjects\App-main\App-main.mpr` for errors and performance recommendations. | -| `mx check C:\MxProjects\App-main\App-main.mpr -p -j c:\temp\mx-result.json` | Checks the app at `C:\MxProjects\App-main\App-main.mpr` for errors and performance recommendations. Outputs the result as a JSON file at `c:\temp\mx-result.json`. | -| `mx check C:\MxProjects\App-main\App-main.mpr --warnings --deprecations` | Checks the app at `C:\MxProjects\App-main\App-main.mpr` for errors, warnings, and deprecations. Suppressed warnings will be read from the *project-settings.user.json* file within the app directory. | -| `mx check C:\MxProjects\App-main\App-main.mpr c:\MxFiles\my-exported-suppressed-warnings.json --warnings` | Checks the app at `C:\MxProjects\App-main\App-main.mpr` for errors and warnings. Suppressed warnings will be read from the JSON file *my-exported-suppressed-warnings.json*. | -| `mx check C:\MxProjects\App-main\App-main.mpr -w -d -p` | Checks the app at `C:\MxProjects\App-main\App-main.mpr` for errors, warnings, deprecations, and performance recommendations. | - -#### 3.3.3 Return Codes - -Return codes are described in the table below: - -| Return Code | Description | -| ----------- | --------------------------------------- | -| 0 | No issues found. | -| 1 | Errors were found. | -| 2 | Warnings were found. | -| 4 | Deprecations were found. | -| 8 | Performance recommendations were found. | - -Those values are logically OR combined to indicate when there are a mix of errors, warnings, deprecations, or performance recommendations. - -For example: - -* 3 if errors and warnings found -* 7 if errors, warnings, and deprecations found - -### 3.4 mx show-version Command - -The `mx show-version` command reports which version of Studio Pro was used last time the app was opened. - -The input is a single MPR file. - -{{% alert color="info" %}} -The MPR file must be the same version as mx. -{{% /alert %}} - -#### 3.4.1 Usage - -Use the following command pattern for `mx show-version`: - -`mx show-version [OPTIONS] INPUT` - -The `OPTIONS` are described in the table below: - -| Option | Shortcut | Result | -| --- | --- | --- | -| `--help` | `-h` | Displays the help text and exits. | - -For `INPUT`, enter a *.mpr* file. - -#### 3.4.2 Examples - -Examples of commands are described in the table below: - -| Example | Result | -| --- | --- | -| `mx show-version --help` | Displays the help text for the `show-version` command. | -| `mx show-version C:\Mendix\App1\App1.mpr` | Displays the version of Studio Pro that was last used to open the app. | - -#### 3.4.3 Return Codes - -Return codes are described in the table below: - -| Return Code | Description | -| --- | --- | -| 0 | The command ran successfully. | - -### 3.5 mx merge Command - -The mx merge command performs a three-way merge of two MPR files having a common base commit. - -The input is three MPR files: base, mine, and theirs - -#### 3.5.1 Usage - -Use the following command pattern for `mx merge`: - -`mx merge [OPTIONS] BASE MINE THEIRS` - -The `OPTIONS` are described in the table below: - -| Option | Shortcut | Result | -| -------- | -------- | --------------------------------- | -| `--help` | `-h` | Displays the help text and exits. | - -`BASE` is common base commit. - -`MINE` is the version to merge into; this MPR contains the results of the merge. - -`THEIRS` is the version to merge changes from. - -#### 3.5.2 Conflicts - -If there are conflicts during the merge, you have to resolve those by opening the app in Studio Pro. - -#### 3.5.3 Examples - -`mx merge C:\MyApp\MyApp.mpr C:\MyApp-main\MyApp.mpr C:\MyApp-FeatureBranch\MyApp.mpr` - -#### 3.5.4 Return Codes - -| Return Code | Description | -| ----------- | ------------------------------------------------------------ | -| 0 | Merge is successful, there are no conflicts. *MINE.mpr* contains the result of the merge. | -| 1 | The command is invalid, check input parameters. | -| 2 | Conflicts are detected. Open *MINE.mpr* in Studio Pro to resolve them. | -| 3 | This code means an exception – an error occurred during the merge. Error details are printed to the command line output. | -| 4 | The version is unsupported. | - -### 3.6 mx show-app-version Command - -The mx show-app-version command allows you to see the [publisher-side](/appstore/creating-content/sol-solutions-guide/) version of your solution (meaning, the version of the solution that you develop) and the [consumer-side](/appstore/creating-content/sol-solutions-impl/) version of the solution package that your app is based on (meaning, the version of the solution package when you consumed the solution). - -#### 3.6.1 Usage - -Use the following command pattern for `mx show-app-version`: - -`mx show-app-version MPR-FILE [OPTIONS]` - -The `OPTIONS` are described in the table below: - -| Option | Shortcut | Result | -| ------------ | -------- | --------------------------------- | -| `--based-on` | `-b` | Show `Based on` version. | -| `--help` | `-h` | Displays the help text and exits. | - -For MPR-FILE enter a *.mpr* file. - -`Based on` version is a version of a solution package (.mxsolution) current App is based on. - -#### 3.6.2 Examples - -`mx show-app-version C:\MyApp\MyApp.mpr` - -`mx show-app-version C:\MyApp\MyApp.mpr -b` - -#### 3.6.3 Return Codes - -This command uses common format exit codes for all app-version related commands. - -The command outputs a version requested. If there is no errors, exit code is 0. - -In case of errors the exit code consists of three digits XYZ: - -**X:** determines the error type: - - 1: Parameter validation error. - - 2: Output-related error. - - 3: Errors related to the execution of the operation. - -**Y:** is the number of the parameter the error is related to (if applicable). - -**Z:** determines the following error details: - - 1: File not found. - - 2: App is too old. - - 3: Distribution is not enabled. - - 4: Version is not in the SemVer format. - - 5: App was not initialized from a solution package. - - The table below shows return codes and their meaning: - -| Return Code | Description | -| ----------- | ------------------------------------------------------------ | -| 0 | No errors | -| 315 | if -b was specified but the app is not based on a solution. | -| 313 | if -b was not specified but distribution as a solution is not enabled for the app. | - -### 3.7 mx set-app-version Command - -The mx set-app-version command allows you to set the version of your [solution when building it](/appstore/creating-content/sol-solutions-guide/). - -#### 3.7.1 Usage - -Use the following command pattern for `mx set-app-version`: - -`mx set-app-version MPR-FILE VERSION` - -The `OPTIONS` are described in the table below: - -| Option | Shortcut | Result | -| -------- | -------- | --------------------------------- | -| `--help` | `-h` | Displays the help text and exits. | - -For MPR-FILE enter a *.mpr* file. - -For VERSION enter a version in [SemVer](https://semver.org) format - -#### 3.7.2 Examples - -`mx set-app-version C:\MyApp\MyApp.mpr 1.2.3` - -#### 3.7.3 Return Codes - -This command uses common format exit codes for all app-version related commands. - -The command outputs a version requested. If there is no errors, exit code is 0. - -In case of errors the exit code consists of three digits XYZ: - -**X:** determines the error type: - - 1: Parameter validation error. - - 2: Output-related error. - - 3: Errors related to the execution of the operation. - -**Y:** is the number of the parameter the error is related to (if applicable). - -**Z:** determines error details: - - 1: File is not found. - - 2: App is too old. - - 3: Distribution is not enabled. - - 4: Version is not in the SemVer format. - - 5: App was not initialized from a solution package. - - The table below shows return codes and their meaning: - -| Return Code | Description | -| ----------- | -------------------------------------------------------- | -| 0 | No errors | -| 124 | if Version is not in SemVer format | -| 313 | if Distribution as a solution is not enabled for the app | - -### 3.8 Undocumented Options - -The mx tool contains options that are not described in this document. Those are for internal Mendix usage and are not officially supported. This might change in the future, but these options can be used only at your own risk. diff --git a/content/en/docs/refguide/general/mx-command-line-tool/_index.md b/content/en/docs/refguide/general/mx-command-line-tool/_index.md new file mode 100644 index 00000000000..93180c58a10 --- /dev/null +++ b/content/en/docs/refguide/general/mx-command-line-tool/_index.md @@ -0,0 +1,74 @@ +--- +title: "mx Command-Line Tool" +url: /refguide/mx-command-line-tool/ +category: "General Info" +weight: 50 +description: "Describes the options of the mx command-line tool." +tags: ["mx", "command-line", "tool", "mx", "studio pro", "windows", "linux"] +--- + +## 1 Introduction + +The **mx tool** is a Windows and Linux command-line tool that can be used to perform various actions on a Mendix app. + +## 2 Location + +Mendix Studio Pro comes with the mx command-line tool. You can find the executable *mx.exe* file can in the same folder that contains *studiopro.exe* (for example, *C:\Program Files\Mendix\10.0.0.5003\modeler\mx.exe*). + +## 3 Available Commands + +### 3.1 App Commands + +These are the available [app commands](/refguide/mx-command-line-tool/app/): + +| Command | Description | +| --- | --- | +| [check](/refguide/mx-command-line-tool/app/#check) | Checks the app for issues. | +| [convert](/refguide/mx-command-line-tool/app/#convert) | Converts the Mendix app. | +| [create-project](/refguide/mx-command-line-tool/app/#create-project) | Creates a new Mendix app. | +| [show-version](/refguide/mx-command-line-tool/app/#show-version) | Shows the Studio Pro version that was last used to edit the app. | + +### 3.1 Adaptable Solutions Commands + +These are the available [adaptable solutions commands](/refguide/mx-command-line-tool/adaptable/): + +| Command | Description| +| --- | --- | +| [show-app-version](/refguide/mx-command-line-tool/adaptable/#show-app-version) | Shows the application version of the app. | +| [set-app-version](/refguide/mx-command-line-tool/adaptable/#set-app-version) | Sets the application version of the app. | + +### 3.1 Module Commands + +These are the available [module commands](/refguide/mx-command-line-tool/module/): + +| Command | Description | +|---|---| +| [show-module-version](/refguide/mx-command-line-tool/module/#show-module-version) | Shows the version of the module specified. | +| [set-module-version](/refguide/mx-command-line-tool/module/#set-module-version) | Sets the version of the module specified. | + +### 3.1 Export Package Commands + +These are the available [export package commands](/refguide/mx-command-line-tool/export/): + +| Command | Description | +| --- | --- | +| [create-project-package](/refguide/mx-command-line-tool/export/#create-project-package) | Exports an app package. | +| [create-solution-package](/refguide/mx-command-line-tool/export/#create-solution-package) | Exports a solution package. | +| [create-module-package](/refguide/mx-command-line-tool/export/#create-module-package) | Exports a module package. | + +### 3.1 Merging and Diffing Commands + +These are the available [merging and diffing commands](/refguide/mx-command-line-tool/merge/): + +| Command | Description | +| --- | --- | +| [merge](/refguide/mx-command-line-tool/merge/#merge) | Merges the *.mpr* files. | +| [diff](/refguide/mx-command-line-tool/merge/#diff) | Shows the diff of the *.mpr* files. | + +## 4 mx Tool Options + +The mx tool has a `--help` option that outputs all the commands available. + +## 5 Undocumented Options + +The mx tool contains options that are not described in this document. Those are for internal Mendix usage and are not officially supported. This might change in the future, but these options can be used only at your own risk. \ No newline at end of file diff --git a/content/en/docs/refguide/general/mx-command-line-tool/adaptable.md b/content/en/docs/refguide/general/mx-command-line-tool/adaptable.md new file mode 100644 index 00000000000..9f9e91cc096 --- /dev/null +++ b/content/en/docs/refguide/general/mx-command-line-tool/adaptable.md @@ -0,0 +1,109 @@ +--- +title: "Adaptable Solution Commands" +url: /refguide/mx-command-line-tool/adaptable +weight: 20 +description: "Describes the adaptable solution-related commands for the mx command-line tool." +tags: ["mx", "command-line", "tool", "mx", "studio pro", "windows", "linux", "solution", "check"] +--- + +## 1 Introduction + +The commands in this group are related to [adaptable solutions](/appstore/creating-content/sol-adapt/) . + +These commands use common format exit codes. + +The commands return `0` in case of success. + +In case of errors, the exit code consists of three digits `XYZ`: + +* `X` determines the error type: + * `1` – parameter validation error + * `2` – output-related error + * `3` – errors related to the execution of the operation +* `Y` is the number of the parameter the error is related to (if applicable) +* `Z` determines error details: + * `1` – file is not found + * `2` – app is too old + * `3` – distribution is not enabled + * `4` – version is not in the SemVer format + * `5` – app was not initialized from a solution package + +For exit code examples, refer to the specific commands below. + +## 2 mx show-app-version Command {#show-app-version} + +The `mx show-app-version` command enables seeing the [publisher-side](/appstore/creating-content/sol-solutions-guide/) version of your solution (meaning, the version of the solution that you develop) and the [consumer-side](/appstore/creating-content/sol-solutions-impl/) version of the solution package that your app is based on (meaning, the version of the solution package when you consumed the solution). + +### 2.1 Usage + +Use the following command pattern for `mx show-app-version`: + +`mx show-app-version MPR-FILE [OPTIONS]` + +These are the `OPTIONS`: + +| Option | Shortcut | Result | +| --- | --- | --- | +| `--based-on` | `-b` | Shows the `Based on` version. | +| `--help` | `-h` | Displays the help text and exits. | + +For `MPR-FILE`, enter an *.mpr* file. + +The `Based on` version is a version of a solution package (*.mxsolution*) that the current app is based on. + +### 2.2 Examples + +Here are two examples: + +* `mx show-app-version C:\MyApp\MyApp.mpr` +* `mx show-app-version C:\MyApp\MyApp.mpr -b` + +### 2.3 Return Codes + +This command uses the common format exit codes described above for all app-version related commands. + +This table shows the return codes and their description: + +| Return Code | Description | +| --- | --- | +| `0` | No errors. | +| `315` | If `-b` was specified, but the app is not based on a solution. | +| `313` | If -b was not specified, but distribution as a solution is not enabled for the app. | + +## 3 mx set-app-version Command {#set-app-version} + +The `mx set-app-version` command enables setting the version of your [solution](/appstore/creating-content/sol-solutions-guide/) when building it. + +### 3.1 Usage + +Use the following command pattern for `mx set-app-version`: + +`mx set-app-version MPR-FILE VERSION` + +These are the `OPTIONS`: + +| Option | Shortcut | Result | +| --- | --- | --- | +| `--help` | `-h` | Displays the help text and exits. | + +For `MPR-FILE`, enter an *.mpr* file. + +For `VERSION`, enter a version in the [SemVer](https://semver.org) format. + +### 3.2 Examples + +Here is an example: + +`mx set-app-version C:\MyApp\MyApp.mpr 1.2.3` + +### 3.3 Return Codes + +This command uses the common format exit codes described above for all app-version related commands. + +This table shows the return codes and their description: + +| Return Code | Description | +| --- | --- | +| `0` | No errors. | +| `124` | The version is not in the SemVer format. | +| `313` | Distribution as a solution is not enabled for the app. | diff --git a/content/en/docs/refguide/general/mx-command-line-tool/app.md b/content/en/docs/refguide/general/mx-command-line-tool/app.md new file mode 100644 index 00000000000..d875d1b5413 --- /dev/null +++ b/content/en/docs/refguide/general/mx-command-line-tool/app.md @@ -0,0 +1,208 @@ +--- +title: "App Commands" +url: /refguide/mx-command-line-tool/app +weight: 10 +description: "Describes the app-related commands for the mx command-line tool." +tags: ["mx", "command-line", "tool", "mx", "studio pro", "windows", "linux", "create-project", "show-version", "convert"] +--- + +## 1 Introduction + +The commands in this group are related to Mendix app creation, checking, versioning and conversion. + +Typically, these commands require a path to the *.mpr* file as a parameter. + +## 2 mx create-project Command {#create-project} + +The `mx create-project` command creates a new app in Studio Pro. The app version depends on the version the tool was bundled with. For example, if you are using the mx tool for Studio Pro version 10.0.0, `mx create project` will create a new app in that version. + +### 2.1 Usage + +Use the following command pattern: `mx create-project [OPTIONS] [TEMPLATE-MPK-FILE]` + +These are the `OPTIONS`: + +| Option | Default Value | Result | +| --- | --- | --- | +| `app-name` | App | Assigns the specified app name to the app. | +| `output-dir` | Current directory | The directory in which to create the app. | +| `language-code` | en_US | The default language of the app. | +| `sprintr-app-id` | Optional | Associates the app [feedback features](/developerportal/collaborate/feedback/) with the provided [Developer Portal app](/developerportal/#my-apps). The value is a GUID. When accessing the app in the Developer Portal, this ID can be found in the browser's URL (for example, `1a428ea7-b00e-4166-9b23-20b7be88a40e`). | + +`TEMPLATE-MPK-FILE` is an optional path to a Mendix app package *.mpk* file. If this argument is omitted, the app is created with a default empty project template. + +### 2.2 Examples + +These are example commands: + +| Example | Result | +| --- | --- | +| `mx create-project` | Creates an app in the current folder using all the default parameters. | +| `mx create-project --app-name MyFirstApp --output-dir C:\Projects\MyFirstApp` | Creates an app named `MyFirstApp` in the *C:\Projects\MyFirstApp* folder using all the default parameters. | +| `mx create-project C:\Templates\ExpenseReportTemplate.mpk` | Creates an app with the default parameters from a template located at *C:\Templates\ExpenseReportTemplate.mpk*. | + +### 2.3 Return Codes + +These are the return codes: + +| Return Code | Description | +| --- | --- | +| `0` | The app creation was successful. | +| `1` | An internal error occurred. | +| `2` | There is something wrong with the command-line options. | + +## 3 mx show-version Command {#show-version} + +The `mx show-version` command reports which version of Studio Pro was used last time the app was opened. + +The input is a single *.mpr* file. + +{{% alert color="info" %}} +The *.mpr* file must be the same version as mx. +{{% /alert %}} + +### 3.1 Usage + +Use the following command pattern for `mx show-version`: + +`mx show-version [OPTIONS] INPUT` + +These are the `OPTIONS`: + +| Option | Shortcut | Result | +| --- | --- | --- | +| `--help` | `-h` | Displays the help text and exits. | + +For `INPUT`, enter an *.mpr* file. + +### 3.2 Examples + +These are example commands: + +| Example | Result | +| --- | --- | +| `mx show-version --help` | Displays the help text for the `show-version` command. | +| `mx show-version C:\Mendix\App1\App1.mpr` | Displays the version of Studio Pro that was last used to open the app. | + +### 3.3 Return Codes + +These are the return codes: + +| Return Code | Description | +| --- | --- | +| `0` | The command ran successfully. | + +## 4 mx convert Command {#convert} + +The `mx convert` command converts the *.mpk* file(s) of the app(s) to a specific Studio Pro version. For example, if you are using the mx command-line tool for Studio Pro version 10.0.0, `mx convert` will convert the app to that version. + +The input can be a single file, directory, or multiple files. + +{{% alert color="info" %}} +The mx tool can only upgrade your app. You cannot use it to downgrade the version. +{{% /alert %}} + +### 4.1 Usage + +Use the following command pattern for `mx convert`: + +`mx convert [OPTIONS] INPUT... OUTPUT` + +These are the `OPTIONS`: + +| Option | Shortcut | Result | +| --- | --- | --- | +| `--help` | `-h` | Displays the help text and exits. | +| `--in-place` | `-p` | Converts the current app directory. Use this option to convert a folder containing a Mendix app. Otherwise, `mx convert` will convert *.mpk* files. | +| `--skip-error-check` | `-s` | Does not check for errors. Use this option to disable app error-checking during the conversion. When omitted, the tool will report on the number of errors, warnings, and deprecations in the app and do the conversion. | + +For `INPUT...`, enter one or more *.mpk* files or one directory that needs to be converted. + +For `OUTPUT`, enter the output location for the converted results. Please note the following: + +* When `INPUT...` is a single file, `OUTPUT` can be a single file or directory; otherwise, `OUTPUT` must be a directory +* When using the `--in-place` option, the `INPUT...` folder will also be used as the `OUTPUT` folder, so you do not need to specify a separate `OUTPUT` folder + +### 4.2 Examples + +These are example commands: + +| Example | Result | +| --- | --- | +| `mx convert --in-place C:\MxProjects\App-main` | Converts the app in folder *C:\MxProjects\App-main* to the specific Studio Pro version that the mx tool is bundled with. | +| `mx convert C:\Mendix\App1.mpk C:\Mendix\App2.mpk C:\Mendix\ConvertedProjects\` | Converts the *App1.mpk* and *App2.mpk* app packages that are in the *C:\\Mendix\\* folder and puts the results in the *C:\\Mendix\\ConvertedProjects\\* folder. | +| `mx convert --skip-error-check C:\Mendix\Packages\ C:\Mendix\ConvertedPackages\` | Converts all the app packages in the *C:\\Mendix\\Packages\\* folder to the *C:\\Mendix\\ConvertedPackages\\* folder without checking for errors. | + +### 4.3 Return Codes + +These are the return codes: + +| Return Code | Description | +| --- | --- | +| `0` | The conversion was successful. | +| `1` | An internal error occurred. | +| `2` | There is something wrong with the command-line options. | +| `3` | Converting failed. | + +## 5 mx check Command {#check} + +The `mx check` command checks the app *.mpr* file for issues such as errors, warnings, deprecations, or performance recommendations. + +{{% alert color="info" %}} +The *.mpr* file must be the same version as the mx tool. +{{% /alert %}} + +### 5.1 Usage + +Use the following command pattern for `mx check`: + +`mx check [OPTIONS] INPUT [Optional path to exported Suppress Warnings file (JSON)]` + +These are the `OPTIONS`: + +| Option | Shortcut | Result | +| --- | --- | --- | +| `--help`| `-h` | Displays the help text and exits. | +| `--warnings` | `-w` | Includes warnings in the output. | +| `--deprecations` | `-d` | Includes deprecations in the output. | +| `--performance` | `-p` | Includes performance checks in the output (performance recommendations are only outputted if there are no errors). | + +{{% alert color="info" %}} +Errors in the *.mpr* are always reported. +{{% /alert %}} + +For `INPUT`, enter a single *.mpr* file. + +You can optionally specify the path to an exported suppress-warnings (JSON) file. This means that `mx check -w` will use the list of suppressed warnings in the JSON file, instead of the default behavior (which is to read from the *project-settings.user.json* file in the app directory). + +### 5.2 Examples + +These are example commands: + +| Example | Result | +| --- | --- | +| `mx check --help` | Displays the help text for the check command. | +| `mx check C:\MxProjects\App-main\App-main.mpr` | Checks the app at *C:\MxProjects\App-main\App-main.mpr* for errors. | +| `mx check C:\MxProjects\App-main\App-main.mpr -p` | Checks the app at *C:\MxProjects\App-main\App-main.mpr* for errors and performance recommendations. | +| `mx check C:\MxProjects\App-main\App-main.mpr --warnings --deprecations` | Checks the app at *C:\MxProjects\App-main\App-main.mpr* for errors, warnings, and deprecations. Suppressed warnings will be read from the *project-settings.user.json* file within the app directory. | +| `mx check C:\MxProjects\App-main\App-main.mpr c:\MxFiles\my-exported-suppressed-warnings.json --warnings` | Checks the app at *C:\MxProjects\App-main\App-main.mpr* for errors and warnings. Suppressed warnings will be read from the JSON file *my-exported-suppressed-warnings.json*. | +| `mx check C:\MxProjects\App-main\App-main.mpr -w -d -p` | Checks the app at *C:\MxProjects\App-main\App-main.mpr* for errors, warnings, deprecations, and performance recommendations. | + +### 5.3 Return Codes + +These are the return codes: + +| Return Code | Description | +| --- | --- | +| `0` | No issues found. | +| `1` | Errors were found. | +| `2` | Warnings were found. | +| `4` | Deprecations were found. | +| `8` | Performance recommendations were found. | + +Those values are logically `OR` combined to indicate when there are a mix of errors, warnings, deprecations, or performance recommendations. + +For example: + +* `3` if errors and warnings found +* `7` if errors, warnings, and deprecations found diff --git a/content/en/docs/refguide/general/mx-command-line-tool/export.md b/content/en/docs/refguide/general/mx-command-line-tool/export.md new file mode 100644 index 00000000000..4f3469a26ac --- /dev/null +++ b/content/en/docs/refguide/general/mx-command-line-tool/export.md @@ -0,0 +1,126 @@ +--- +title: "Export Package Commands" +url: /refguide/mx-command-line-tool/export +weight: 40 +description: "Describes the commands related to package export for the mx command-line tool." +tags: ["mx", "command-line", "tool", "mx", "studio pro", "windows", "linux", "create-project-package", "create-module-package", "create-solution-package"] +--- + +## 1 Introduction + +The commands in this group enable exporting different kids of packages from your app. + +## 2 mx create-project-package Command {#create-project-package} + +The `mx create-project-package` command exports the app as a [source app package](/refguide/export-app-package-dialog/). + +### 2.1 Usage + +Use the following command pattern: + +`mx create-project-package [OPTIONS] TARGET-FILE` + +These are the `OPTIONS`: + +| Option | Default Value | Result | +| --- | --- | --- | +| `-s, --include-snapshot` | Includes a snapshot in the app package. | +| `-d, --package-dir` | Exports the package to the directory. | +| `--help` | Displays the help screen. | + +For `TARGET-FILE`, specify the *.mpr* the app you want to export. + +### 2.2 Examples + +Here is an example: + +`mx create-project-package c:\MyApps\MyApp.mpr` + +### 2.3 Return Codes + +This table shows the return codes and their description: + +| Return Code | Description | +| --- | --- | +| `0` | OK. | +| `1` | Incorrect app file provided. | +| `2` | Output folder not determined. | +| `4` | Unknown package export error. | + +## 3 mx create-module-package Command {#create-module-package} + +The `mx create-module-package` command exports a module package from an app. + +### 3.1 Usage + +Use the following command pattern: + +`mx create-module-package [OPTIONS] TARGET-FILE MODULE-NAME` + +These are the `OPTIONS`: + +| Option | Description | +| --- | --- | +| `-l, --filter-required-libs` | Includes all the files except the userlibs that do not have an accompanying `[ModuleName].RequiredLib` file. | +| `-e, --exclude-files` | Excludes all the files that match the given regular expression. | +| `-d, --package-dir` | Exports the module package to the directory. | +| `--help` | Displays the help screen. | + +For `TARGET-FILE`, specify the *.mpr* the app you want to export. + +For `MODULE-NAME`, specify the name of the module you want to export. + +### 3.2 Examples + +Here is an example: + +`mx create-module-package c:\MyApps\MyApp.mpr Module1` + +### 3.3 Return Codes + +This table shows the return codes and their description: + +| Return Code | Description | +| --- | --- | +| `0` | OK. | +| `1` | Incorrect app file provided. | +| `2` | Output folder not determined. | +| `3` | Invalid module name specified. | +| `4` | Unknown package export error. | + +## 4 mx create-solution-package Command {#create-solution-package} + +The `mx create-solution-package` command exports the app as a [solution package](/refguide/export-app-package-dialog/). + +### 4.1 Usage + +Use the following command pattern: + +`mx create-solution-package [OPTIONS] TARGET-FILE` + +These are the `OPTIONS`: + +| Option | Default Value | Result | +| --- | --- | --- | +| `-s, --include-snapshot` | Includes a snapshot in the app package. | +| `-d, --package-dir` | Exports the package to the directory. | +| `--help` | Displays the help screen. | + +For `TARGET-FILE`, specify the *.mpr* the app you want to export. + +### 4.2 Examples + +Here is an example: + +`mx create-solution-package c:\MyApps\MyApp.mpr` + +### 4.3 Return Codes + +This table shows the return codes and their description: + +| Return Code | Description | +| --- | --- | +| `0` | OK. | +| `1` | Incorrect app file provided. | +| `2` | Output folder not determined. | +| `4` | Unknown package export error. | diff --git a/content/en/docs/refguide/general/mx-command-line-tool/merge.md b/content/en/docs/refguide/general/mx-command-line-tool/merge.md new file mode 100644 index 00000000000..80c06349f0c --- /dev/null +++ b/content/en/docs/refguide/general/mx-command-line-tool/merge.md @@ -0,0 +1,197 @@ +--- +title: "Merging and Diffing commands" +url: /refguide/mx-command-line-tool/merge +weight: 50 +description: "Describes the commands related to merging and diffing apps for the mx command-line tool." +tags: ["mx", "command-line", "tool", "mx", "studio pro", "windows", "linux", "diff", "merge"] +--- + +## 1 Introduction + +The commands in this group enable comparing two apps and merging them. + +## 2 mx diff Command {#diff} + +The `mx diff` command performs a diff of two *.mpr* files and outputs the differences to a file in the JSON format. + +### 2.1 Usage + +Use the following command pattern for `mx diff`: + +`mx diff [options] BASE MINE OUTPUT` + +These are the `OPTIONS`: + +| Option | Shortcut | Result | +| --- | --- | --- | +| `--help` | `-h` | Displays the help text and exits. | +| `--loose-version-check` | `-l` | Makes the version check loose (meaning, it auto-converts if possible before diffing). | + +`BASE` is the first *.mpr* file, which is used as a base in comparison. + +`MINE` is the second *.mpr* file, which is used as the changed version in comparison. The output will contain the changes that are in this file against the base. + +{{% alert color="info" %}} +For example, if the `BASE` *.mpr* has Microflow1 and the `MINE` *.mpr* does not have it, Microflow1 wil be listed as deleted in the output file. If you swap the `BASE` and `MINE` parameters and compare again, Microflow1 will be listed as added.{{% /alert %}} + +`OUTPUT` is the name of the outputted JSON file. + +### 2.2 Examples + +This is an example: + +`mx diff C:\MyApp\MyApp.mpr C:\MyApp-main\MyApp.mpr c:\comparison\output.json` + +### 2.3 Return Codes + +This table shows the return codes and their description: + +| Return Code | Meaning | +| --- | --- | +| `0` | OK. | +| `2` | Conflicts were found during the diff. | +| `3` | An error happened during the merge. | +| `4` | The version of either *.mpr* file is not supported. | + +## 3 mx merge Command {#merge} + +The `mx merge` command performs a three-way merge of two *.mpr* files that have a common base commit. + +The input is three *.mpr* files: `BASE`, `MINE`, and `THEIRS`. + +### 3.1 Usage + +Use the following command pattern for `mx merge`: + +`mx merge [OPTIONS] BASE MINE THEIRS` + +These are the `OPTIONS`: + +| Option | Shortcut | Result | +| --- | --- | --- | +| `--help` | `-h` | Displays the help text and exits. | + +`BASE` is common base version of the app. If the app is version-controlled, this is the last common revision of the app (the revision that is present in the history of both branches). + +`MINE` is the version to merge into. This *.mpr* contains the results of the merge. + +`THEIRS` is the version to merge changes from. + +The image below illustrates the meaning of the parameters: + +{{< figure src="/attachments/refguide/general/mx-command-line-tool/merge.png" alt="mx merge" >}} + +In the diagram, note the following: + +* **A"** is `MINE`, which is the current commit you want to merge the changes to +* **B'** is `THEIRS`, which is the last commit on a branch you want to merge changes from +* **A** is `BASE`, which is the common commit where the branches diverged + +In order to merge changes correctly, Studio Pro has to compare both **A"** and **B'** against **A** to see what has been changed on each branch. During the merge, the [merge algorithm](/refguide/merge-algorithm/) will try to automatically merge the changes. + +This command works for any three *.mpr* files. This means you can try to merge different apps at your own risk. + +{{% alert color="info" %}} +This command works differently than the normal version-controlled merges you can do in Studio Pro. While Studio Pro does a real merge of one branch into another, this command runs the merge algorithm over three *.mpr* files that do not even have to be version- controlled. {{% /alert %}} + +### 3.2 Conflicts + +If there are conflicts during the merge, resolve those by opening the app in Studio Pro and selecting **Version Control** > [Merge Changes Here](/refguide/version-control-menu/#merge-changes-here). + +The reason for this is that conflict resolution is a complex process that has two requirements: + +* The app has to be version-controlled +* Your Git repository has to be in the "merge state" (Studio Pro does this when you click **Merge Changes Here**) + +This merge state is needed for Studio Pro to know what your current branch is and which branch you are trying to merge into it. This way, when you are trying to resolve the conflict using the `THEIRS` document, Studio Pro can download the document from the branch and put it into your current app. + +So, if you run this command from the command line specifying the three *.mpr* files but the result has conflicts, you will not be able to resolve the conflicts in the `MINE` app using the `THEIRS` documents by just opening the app in Studio Pro. Instead, you need to configure Git to use `mx merge` as a [merge driver](#merge-git-driver) for the *.mpr* files and trigger the merge from the Git command line (so that the repository is put in the merge state for Studio Pro to be able to pick it up after the command is complete). + +### 3.3 Examples + +Here is an example: + +`mx merge C:\MyApp\MyApp.mpr C:\MyApp-main\MyApp.mpr C:\MyApp-FeatureBranch\MyApp.mpr` + +### 3.4 Return Codes + +This table shows the return codes and their description: + +| Return Code | Description | +| --- | --- | +| `0` | The merge is successful and there are no conflicts. *MINE.mpr* contains the result of the merge. | +| `1` | The command is invalid for the input parameters. | +| `2` | Conflicts are detected. Open *MINE.mpr* in Studio Pro to resolve them. | +| `3` | There is an exception, as an error occurred during the merge. Error details are printed to the command line output. | +| `4` | The version is unsupported | + +## 4 mx merge as Git Merge Driver {#merge-git-driver} + +This section describes the configuration you need to do in order to enable using the [mx merge](#merge) command as a merge driver in Git. With this configuration, you can merge one branch into another using third-party version control tools and the Git command line. + +Normally, when you are merging branches with Git, it compares the changes in files in both branches. If a certain file has been changed in both branches, this is called a conflict. If the files in conflict are text files, then Git attempts to resolve it automatically (and very often succeeds). + +However, if the files in conflict are Mendix apps the conflict is in two *.mpr* files, both the files and the conflict are more complex, which is why we need Studio Pro to resolve the conflicts. For such cases, Git has an option to delegate conflict resolution for a certain file type to an external tool. The `mx merge` command is compatible with this mechanism and allows Git to try to merge the *.mpr* files as if Studio Pro did it. Then, if there are still conflicts, you can open Studio Pro and resolve those manually. + +### 4.1 .gitconfig File + +Add the lines below to the *.gitconfig* file located in the *.git* folder of your app on disk. + +At the end of the file, add a `[merge "custom"]` block like this: + +```ini +[merge "custom"] + name = custom merge driver for MPR files + driver = [MX.EXE_PATH] merge %O %A %B +``` + +Replace `MX.EXE_PATH` with a full path to your *mx.exe* file in the Unix format (for example, `/c/Program\ Files/Mendix/10.0.0.8753/modeler/mx.exe`). + +Under the `[core]` section, add the following: + +```ini + attributesfile = .git/.gitattributes` +``` +### 4.2 .gitattributes File + +Create `.gitattributes` file in .git folder of your App on disk. Add the following line there to tell git to use `[merge "custom"]` driver from .gitconfig chapter of this page for merging *.mpr files. + +```ini +*.mpr merge=custom +``` + +### 4.3. Verification + +To confirm this works, you can create a blank version-controlled app and do the following: + +1. Create a branch called *branch* and download it. +2. Change the caption of a home page to *Branch*. +3. Add a microflow named *branch*. +4. Commit and push your changes. +5. Switch back to the **Main** branch. +6. Pull the changes from the remote. +7. Change the caption of the home page to *Main*. +8. Add a microflow named *main*. +7. Commit and push your changes. +8. Open the Git command line in your app's **Main** branch directory and run `git merge origin/branch`. + +If you configured everything correctly, the command line outout should look like this: + +```code +$ git merge origin/branch +Checking MPR Versions. +Complete. +Converting MPRs +Complete. +Merging MPRs. +Conflicts found during merging. Please resolve them by opening the project in Studio Pro. +Complete. +Auto-merging MyBlankApp.mpr +CONFLICT (content): Merge conflict in MyBlankApp.mpr +Automatic merge failed; fix conflicts and then commit the result. +``` + +Now, if you open you app on the **Main** branch, you should see the following: + +* Both the **branch** and **main** microflows ( this is a non-conflicting change, so `mx merge` sorted this out automatically, just like Studio Pro would do) +* A conflict on the **Home_Web** page concerning the renaming of home page caption (this is a conflicting change, as you changed the same caption to different values on both branches, so you can resolve this manually) diff --git a/content/en/docs/refguide/general/mx-command-line-tool/module.md b/content/en/docs/refguide/general/mx-command-line-tool/module.md new file mode 100644 index 00000000000..2659f5eea2b --- /dev/null +++ b/content/en/docs/refguide/general/mx-command-line-tool/module.md @@ -0,0 +1,87 @@ +--- +title: "Module Commands" +url: /refguide/mx-command-line-tool/module +weight: 30 +description: "Describes the module-related commands for the mx command-line tool." +tags: ["mx", "command-line", "tool", "mx", "studio pro", "windows", "linux", "module", "show-module-version", "set-module-version"] +--- + +## 1 Introduction + +The commands in this group are related to Mendix modules. + +Typically, these commands require a path to the *.mpr* file and the module name as parameters. + +## 2 mx show-module-version Command {#show-module-version} + +The `mx show-module-verion` command outputs the version of a module. + +### 2.1 Usage + +Use the following command pattern for `mx show-module-version`: + +`mx show-module-version TARGET-FILE MODULE-NAME` + +These are the `OPTIONS`: + +| Option | Shortcut | Result | +| --- | --- | --- | +| `--help` | `-h` | Displays the help text `and exits.`, | + +For `TARGET-FILE`, enter a *.mpr* file. + +For `MODULE-NAME`, enter the name of the module. + +### 2.2 Examples + +Here is an example: + +`mx show-module-version C:\MyApp\MyApp.mpr MyFirstModule` + +### 2.3 Return Codes + +This table shows the return codes and their description: + +| Return Code | Description | +| --- | --- | +| `0` | No errors. | +| `1` | The module does not have a version | + +The command will output the version of the module to the command line output. + +## 3 mx set-module-version Command {#set-module-version} + +The `mx set-module-version` command outputs the version of a module. + +### 3.1 Usage + +Use the following command pattern for `mx set-module-version`: + +`mx set-module-version TARGET-FILE MODULE-NAME NEW-VERSION` + +These are the `OPTIONS`: + +| Option | Shortcut | Result | +| --- | --- | --- | +| `--help` | `-h` | Displays the help text and exits. | + +For `TARGET-FILE`, enter a *.mpr* file. + +For `MODULE-NAME`, enter the name of the module. + +For `NEW-VERSION`, enter a version in the [SemVer](https://semver.org) format. + +### 3.2 Examples + +Here is an example: + +`mx set-module-version C:\MyApp\MyApp.mpr MyFirstModule 1.2.3` + +### 3.3 Return Codes + +This table shows the return codes and their description: + +| Return Code | Description | +| --- | --- | +| `0` | No errors. | +| `1` | The module does not have a version | diff --git a/content/en/docs/refguide/installation/upgrading-from-9-to-10.md b/content/en/docs/refguide/installation/upgrading-from-9-to-10.md index 9fd648a1dd0..8383460cef2 100644 --- a/content/en/docs/refguide/installation/upgrading-from-9-to-10.md +++ b/content/en/docs/refguide/installation/upgrading-from-9-to-10.md @@ -62,12 +62,14 @@ Check if there is a newer version of your component available in the Marketplace Be sure to update these key widgets, resources, and actions: -* [Native Mobile Resources](https://marketplace.mendix.com/link/component/109513) -* [Nanoflow Commons](https://marketplace.mendix.com/link/component/109515) +* [Atlas Core](https://marketplace.mendix.com/link/component/117187) * [Community Commons](https://marketplace.mendix.com/link/component/170) * [Data Widgets](https://marketplace.mendix.com/link/component/116540) +* [Nanoflow Commons](https://marketplace.mendix.com/link/component/109515) +* [Native Mobile Resources](https://marketplace.mendix.com/link/component/109513) +* [MendixSSO](https://marketplace.mendix.com/link/component/111349) -In general you should not remove and re-import modules unless this is recommended in the component's release notes. If you do remove and re-import a component, you may lose data or configuration related to the component. +In general, you should not remove and re-import modules unless this is recommended in the component's release notes. If you do remove and re-import a component, you may lose data or configuration related to the component. ## 6 Reviewing and Testing Your App @@ -119,6 +121,22 @@ If you use the [Workflow Commons](/appstore/modules/workflow-commons/) module in User task pages that were generated in an earlier version of Studio Pro also need to be updated. The conditional visibility based on whether the current user is assigned is no longer supported. You will see a consistency error for any outcome button that is using the visibility expression. For each button, set the visibility to **Always**. +## 7.6 DOM Structure Changes + +Studio Pro 10 introduces DOM structure changes to the web client to ensure compatibility with future versions of React. + +A `div[data-widget-wrapper]` element is placed around a React widget if its container is rendered as a Dojo widget, while the extra `script` element for such widgets has been removed. This added `div` element should not affect the page layout directly (as it uses `display: contents`), but it may affect the CSS styling that relies on direct child (`>`), sibling (`+`), or `nth-child` selectors. + +These changes may impact your current styling. + +If your application is currently using the Atlas theme, this is easily solved by upgrading [Atlas Core](https://marketplace.mendix.com/link/component/117187) to version 3.11 or above. Otherwise, please adjust your css selectors accordingly. + +## 7.7 Moving Away from Glyphicon + +In Studio Pro 10, the glyphicon is slowly being phased out. Although a currently selected glyphicon will still work, some of the widgets that Studio Pro 10 uses are no longer using a glyphicon class name. + +If your application is currently using the Atlas theme, this is easily solved by upgrading [Atlas Core](https://marketplace.mendix.com/link/component/117187) to version 3.11 or above. Otherwise, a possible workaround for this is to manually add the [Atlas icons module](https://github.com/mendix/atlas/raw/main/resources/Atlas_Icons.mpk) to your app. + ## 8 Read More * [Studio Pro 10 Release Notes](/releasenotes/studio-pro/10.0/) diff --git a/content/en/docs/refguide/modeling/app-explorer/app/_index.md b/content/en/docs/refguide/modeling/app-explorer/app/_index.md index 14b2dd339c2..5eec608a2ff 100644 --- a/content/en/docs/refguide/modeling/app-explorer/app/_index.md +++ b/content/en/docs/refguide/modeling/app-explorer/app/_index.md @@ -2,7 +2,7 @@ title: "App" url: /refguide/app/ weight: 10 -tags: ["studio pro", "app"] +tags: ["studio pro", "app", "settings", "navigation", "system texts", "export documentation"] aliases: - /refguide/project/ #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. @@ -10,33 +10,37 @@ aliases: ## 1 Introduction -A Mendix app consists of app-level documents and a number of modules. Each module can contain many documents. At the app level, there are some settings and documents that apply to your app as a whole. For example, navigation is an app-level document; the menu bar is app-wide and can refer to functionality in all modules. Most documents, however, live at the level of a [module](/refguide/modules/). +A Mendix app consists of app-level documents and a number of modules. Each module can contain many documents. At the app level, there are some settings and documents that apply to your app as a whole. For example, navigation is an app-level document, and the menu bar is app-wide and can refer to functionality in all modules. However, most documents live at the level of a [module](/refguide/modules/). ## 2 Settings -App settings include the languages for the end-user, app directory and database and server settings. +Clicking **Settings** opens a dialog box with settings for the end-user languages, the app directory, and the database and server. -See [App Settings](/refguide/app-settings/). +For more information, see [App Settings](/refguide/app-settings/). ## 3 Security -At the app level you can change the security level, manage user roles and manage administrator and anonymous user access. +At the app level, you can change the **Security** level, manage user roles, and manage administrator and anonymous user access. -See [App Security](/refguide/app-security/). +For more information, see [App Security](/refguide/app-security/). ## 4 Navigation -In navigation you can configure the menu bar and navigation tree for your application. Also you can specify what the home page is, as in, the page you see right after signing in. +In **Navigation**, you can configure the menu bar and navigation tree for your app. You can also specify what the **Home page** is (meaning, the page you see right after signing in). -See [Navigation](/refguide/navigation/). +For more information, see [Navigation](/refguide/navigation/). ## 5 System Texts -System texts are texts like information and error messages that are produced by the server or the client. You can translate these texts so that they appear in the preferred language of the user. +**System texts** are texts like information and error messages that are produced by the server or the client. You can translate these texts so that they appear in the preferred language of the user. -See [System Texts](/refguide/system-texts/). +For more information, see [System Texts](/refguide/system-texts/). -## 6 Read More +## 6 Export Documentation + +Right-clicking the **App** allows you to export documentation. This exports an HTML file with all the documents in your app and their documentation. + +## 7 Read More * [Modules](/refguide/modules/) * [Security](/refguide/security/) diff --git a/content/en/docs/refguide/modeling/application-logic/expressions/parse-integer.md b/content/en/docs/refguide/modeling/application-logic/expressions/parse-integer.md index f435c853bfd..e83a9876a78 100644 --- a/content/en/docs/refguide/modeling/application-logic/expressions/parse-integer.md +++ b/content/en/docs/refguide/modeling/application-logic/expressions/parse-integer.md @@ -3,7 +3,7 @@ title: "Parse Integer" url: /refguide/parse-integer/ weight: 140 description: "Describes the function for parsing integer from strings in Mendix." -tags: ["studio pro", "expressions", "parse", "integer"] +tags: ["studio pro", "expressions", "parse", "integer", "casting", "conversion", "type casting", "type conversion"] --- ## 1 Introduction diff --git a/content/en/docs/refguide/modeling/application-logic/microflows-and-nanoflows/activities/ml-kit-activities/_index.md b/content/en/docs/refguide/modeling/application-logic/microflows-and-nanoflows/activities/ml-kit-activities/_index.md index 6846cfa52e9..8c8fbb294a6 100644 --- a/content/en/docs/refguide/modeling/application-logic/microflows-and-nanoflows/activities/ml-kit-activities/_index.md +++ b/content/en/docs/refguide/modeling/application-logic/microflows-and-nanoflows/activities/ml-kit-activities/_index.md @@ -4,7 +4,6 @@ url: /refguide/ml-kit-activities/ weight: 82 tags: ["studio pro"] --- -{{% alert color="info" %}}[Machine learning model](/refguide/machine-learning-kit/) support is currently in [Beta](/releasenotes/beta-features/).{{% /alert %}} ## 1 Introduction diff --git a/content/en/docs/refguide/modeling/application-logic/microflows-and-nanoflows/activities/ml-kit-activities/call-ml-model.md b/content/en/docs/refguide/modeling/application-logic/microflows-and-nanoflows/activities/ml-kit-activities/call-ml-model.md index 5f12ddf1f62..e7992b0fa11 100644 --- a/content/en/docs/refguide/modeling/application-logic/microflows-and-nanoflows/activities/ml-kit-activities/call-ml-model.md +++ b/content/en/docs/refguide/modeling/application-logic/microflows-and-nanoflows/activities/ml-kit-activities/call-ml-model.md @@ -5,8 +5,6 @@ weight: 45 tags: ["ml kit", "call model", "ML microflow", "machine learning", "models"] --- -{{% alert color="info" %}}[Machine learning model](/refguide/machine-learning-kit/) support is currently in [Beta](/releasenotes/beta-features/).{{% /alert %}} - {{% alert color="warning" %}} These activities can only be used in **Microflows**. {{% /alert %}} diff --git a/content/en/docs/refguide/modeling/application-logic/microflows-and-nanoflows/activities/workflow-activities/show-task-page.md b/content/en/docs/refguide/modeling/application-logic/microflows-and-nanoflows/activities/workflow-activities/show-task-page.md index 42a0d669b4c..3c20d49cbb2 100644 --- a/content/en/docs/refguide/modeling/application-logic/microflows-and-nanoflows/activities/workflow-activities/show-task-page.md +++ b/content/en/docs/refguide/modeling/application-logic/microflows-and-nanoflows/activities/workflow-activities/show-task-page.md @@ -39,9 +39,14 @@ You can also open the dialog box by double-clicking the activity in the microflo The user task object of the System.WorkflowUserTask entity available from the microflow parameters. -### 3.2 Auto-Assign +### 3.2 Auto-Assign {#auto-assign} + +With this option, you can automatically assign the user task to the user who has opened the task page. + +For a [single user task](/refguide/user-task/), the auto assignment happens only if the user task has not been assigned to anyone yet. + +For a [multi-user task](/refguide/multi-user-task/), the auto assignment happens irrespective of whether the task was assigned before (to another user) or not. -With this option, you can automatically assign the user task to the user who has opened the task page, if the user task has not been assigned to anyone yet. This option is enabled by default. {{% alert color="info" %}} @@ -57,6 +62,10 @@ This option specifies who is able to open the user task page when a user has alr | Assigned user *(default)* | Only the user who is currently assigned to the task is able to open the user task page. | | Users with access | All users who have access to the user task can open the user task page.
Note that this option means that multiple users can open the page at the same time. Only the assigned user is able to complete the task, however, other users can make changes to the page, and the data will not be saved unless you add a **Save** button. This button saves data, but does not complete the task.
Take into account that when two users have the task page open simultaneously, data from the user who saves changes the last is stored and this will overwrite data from the other user. | +{{% alert color="info" %}} +For a multi-user task, this setting has no effect if the [Auto-Assign](#auto-assign) is enabled. +{{% /alert %}} + ## 4 Common Section {#common} {{% snippet file="/static/_includes/refguide/microflow-common-section-link.md" %}} diff --git a/content/en/docs/refguide/modeling/application-logic/microflows-and-nanoflows/microflows/microflow.md b/content/en/docs/refguide/modeling/application-logic/microflows-and-nanoflows/microflows/microflow.md index aa29b4d7e54..1dbbe28e9c2 100644 --- a/content/en/docs/refguide/modeling/application-logic/microflows-and-nanoflows/microflows/microflow.md +++ b/content/en/docs/refguide/modeling/application-logic/microflows-and-nanoflows/microflows/microflow.md @@ -132,7 +132,7 @@ The **Caption** and **Category** of the workflow action are required, but the ** The required size for the icon is 64x64 pixels, and 256x192 pixels for the image; the required image format for both is PNG. -A separate icon and image can be provided for the [dark mode](/refguide/preferences-dialog/#dark-mode) of Studio Pro to fit its color scheme. +A separate icon and image can be provided for the [dark mode](/refguide/preferences-dialog/#studio-pro-theme) of Studio Pro to fit its color scheme. {{% alert type="info" %}} @@ -156,7 +156,7 @@ The **Caption** and **Category** of the workflow action are required, but the ** The required size for the icon is 64x64 pixels, and 256x192 pixels for the image; the required image format for both is PNG. -A separate icon and image can be provided for the [dark mode](/refguide/preferences-dialog/#dark-mode) of Studio Pro to fit its color scheme. +A separate icon and image can be provided for the [dark mode](/refguide/preferences-dialog/#studio-pro-theme) of Studio Pro to fit its color scheme. {{% alert type="info" %}} diff --git a/content/en/docs/refguide/modeling/application-logic/microflows-and-nanoflows/parameter.md b/content/en/docs/refguide/modeling/application-logic/microflows-and-nanoflows/parameter.md index 794eca598f3..43eb4370ebe 100644 --- a/content/en/docs/refguide/modeling/application-logic/microflows-and-nanoflows/parameter.md +++ b/content/en/docs/refguide/modeling/application-logic/microflows-and-nanoflows/parameter.md @@ -10,18 +10,28 @@ tags: ["studio pro", "parameter", "microflow"] A parameter is a special kind of variable that is used as input for the microflow. When a microflow is triggered, the parameters are filled with the current values. -If you want to use an object of the *Customer* entity in a microflow, use the parameter. In the picture below, the object name is *EnclosingCustomer* and is shown in black. The data type is object, therefore the entity name is shown underneath the object name in blue. +If you want to use an object of the **Customer** entity in a microflow, use the parameter. In the image below, the object name is **EnclosingCustomer** and is shown in black. The data type is object. Therefore, the entity name is shown underneath the object name in color blue. {{< figure src="/attachments/refguide/modeling/application-logic/microflows-and-nanoflows/parameter/parameter.png" >}} -## 2 Output Properties +## 2 Common Section -### 2.1 Name +The **Documentation** property can be used to store developer documentation. This can be used to explain to other developers about the parameter. End-users will never see this documentation. -**Name** refers to the value of the parameter. +## 3 Output Section -### 2.2 Data Type +### 3.1 Data Type The data type of a parameter defines the type of the value that it expects. See [Data Types](/refguide/data-types/) for the possible data types. Default: *Object* + +### 3.2 Name + +**Name** refers to the name of the parameter. + +## 4 Setting an Input Parameter as the Return Value + +To set a parameter as the [return value](/refguide/end-event/#return-value) of your microflow, right-click the parameter and select **Set $Parameter as return value** via the context menu: + +{{< figure src="/attachments/refguide/modeling/application-logic/microflows-and-nanoflows/parameter/set-parameter-as-return-value.png" width="300px" >}} diff --git a/content/en/docs/refguide/modeling/application-logic/workflows/workflow-elements/multi-user-task.md b/content/en/docs/refguide/modeling/application-logic/workflows/workflow-elements/multi-user-task.md index 7b753e1afc8..42a6f2300d8 100644 --- a/content/en/docs/refguide/modeling/application-logic/workflows/workflow-elements/multi-user-task.md +++ b/content/en/docs/refguide/modeling/application-logic/workflows/workflow-elements/multi-user-task.md @@ -7,7 +7,7 @@ tags: ["workflow", "workflows", "multi-user task", "multi user task", "task", "S ## 1 Introduction -Multi-user tasks are tasks that have to be executed by multiple users. Each user performs the same task. The outcomes from all individual tasks will be aggregated into a single multi-user task outcome based on the [completion criteria](#completion-criteria). +Multi-user tasks are tasks that have to be executed by multiple users. Each user performs the same task. The outcomes from all individual tasks will be aggregated into a single multi-user task outcome based on the [completion condition](#completion-condition). For example, you can assign a review task to multiple users: @@ -18,11 +18,10 @@ For example, you can assign a review task to multiple users: Multi-user task properties consist of the following sections: * [General](#general) -* [Targeted users](#users) -* [User input](#user-input) -* [Completion criteria](#completion-criteria) * [Due date](#due-date) * [Events](#events) +* [Targeted users](#users) +* [Completion condition](#completion-condition) * [Outcomes](#outcomes) * [Task page](#task-page) * [Display information](#display-info) @@ -30,206 +29,284 @@ Multi-user task properties consist of the following sections: ### 2.1 General Section {#general} -**Caption** defines a title of the multi-user task. +**Caption** defines a title of the multi-user task. -### 2.2 Targeted Users Section {#users} +### 2.2 Due Date Section {#due-date} -#### 2.2.1 Target Users Using {#target-users} +**Due date** is stored in the System module on the **UserTask** entity as an attribute and its data can be dynamically displayed in the running app. For example, you can use it to set a deadline for the multi-user task and display it in your app. However, this is not an automatic reminder but rather a deadline you reference when keeping track of the multi-user task. If you are using the **Workflow Commons** module, **Due date** is used in page templates and preconfigured dashboards. -**Target users using** allows you to manage what users will the task be assigned to. You can filter users using XPath or implement more flexible logic and add several checks using a microflow. +The **Due date** section properties are described in the table below: -Possible options of this property are described in the table below: +| Property | Description | +| --- | --- | +| None | No due date is set. | +| Duration | You can set the deadline for the multi-user task with the **Due in** option, which indicates the number of hours, days, or weeks the task is due in. Possible values of the property are the following ones:
| +| Expression | You can set a due date for the multi-user task writing an expression. For example, to set a due date to tomorrow, you can use `addDays([%CurrentDateTime%], 1)`. | -| Option | Description | -|---| --- | -| XPath | Allows you to filter users who should be assigned the user task. For example, you can assign a certain task only to users with the Manager user role. You can use attributes of the **User Entity** set in [App Settings](/refguide/app-settings/#workflows). | -| Microflow | Allows you to assign the user task to certain users. Using microflow you can check, for example, which users have the right to approve user tasks and are currently not on vacation and assign the task only to users who passed the check.
The return type of the microflow should be the **User Entity** set in [App Settings](/refguide/app-settings/#workflows). | -| No assignment | Allows you to not assign the user task to certain users immediately. This can be useful when you, for example, want the user task to be created but have an administrator assign it to certain users later. | +### 2.3 Events Section {#events} -In case **Target users using** (an XPath or a microflow) results in an empty list of users (0 users), the workflow fails. For more information on how to handle this kind of issues, see the [Operation](/refguide/change-workflow-state/#operation) section in *Change Workflow State*. +**On Created** event allows you to select a microflow that is executed immediately after users have been determined for a newly created task instance. You can use this setting for a microflow that will send an email notification about the multi-user task to the assigned users. -#### 2.2.2 XPath Constraint +### 2.4 Targeted Users Section {#users} -Specifies the expression used to assign the user task. This option is displayed only when the [Target users using](#target-users) is set to **XPath**. +#### 2.4.1 Target Users Using {#target-users} -#### 2.2.3 Microflow +**Target users using** allows you to manage what users will the task be assigned to. You can filter users using XPath or implement more flexible logic and add several checks using a microflow. -Specifies the microflow used to assign the user task. This option is displayed only when the [Target users using](#target-users) is set to **Microflow**. +Possible options of this property are described in the table below: + +| Option | Description | +| --- | --- | +| XPath | Allows you to filter users who should be assigned to the multi-user task. For example, you can assign a certain task only to users with the Manager user role. You can use attributes of the **User Entity** set in [App Settings](/refguide/app-settings/#workflows). | +| Microflow | Allows you to assign the multi-user task to certain users. Using microflow you can check, for example, which users have the right to approve multi-user tasks and are currently not on vacation and assign the task only to users who passed the check.

The return type of the microflow should be the **User Entity** set in [App Settings](/refguide/app-settings/#workflows). | +| No assignment | Allows you to not assign the multi-user task to certain users immediately. This can be useful when you, for example, want the multi-user task to be created but have an administrator assign it to certain users later. | -#### 2.2.4 Auto-Assign When Targeting Results In One User {#auto-assign} +In case **Target users using** (an XPath or a microflow) results in an empty list of users (0 users), the workflow fails. For more information on how to handle this kind of issues, see the [Operation](/refguide/change-workflow-state/#operation) section in *Change Workflow State*. + +#### 2.4.2 XPath Constraint -Enables automatically assigning a user task when a single user is targeted. This option is displayed only when the [Target users using](#target-users) is set to **XPath** or **Microflow**. +Specifies the expression used to assign the multi-user task. This option is displayed only when the [Target users using](#target-users) is set to **XPath**. -### 2.3 User Input Section {#user-input} +#### 2.4.3 Microflow -#### 2.3.1 Input from +Specifies the microflow used to assign the multi-user task. This option is displayed only when the [Target users using](#target-users) is set to **Microflow**. -You can switch between a single-user task and a multi-user task. For more information on a single-user task, see [User Task](/refguide/user-task/). +### 2.5 Completion Condition Section {#completion-condition} -The following sections only introduce the properties that are shown after you choose a multi-user task. +{{% alert color="info" %}} +The completion condition is evaluated after each user selects an outcome. When a user selects an outcome and this results in the multi-user task to be completed, this multi-user task will be removed from the inbox of the remaining users, as their votes will not change the final outcome of the multi-user task. +{{% /alert %}} -#### 2.3.2 Required Input {#required-input} +#### 2.5.1 Participant Input {#participant-input} -This property determines the maximum number of targeted users that are required to select an outcome for a user task to be completed. +This property determines the maximum number of targeted users that are required to select an outcome to complete a multi-user task. -##### 2.3.2.1 All +Possible options of participant input are described in the table below: -All targeted users should select an outcome for the task to be completed. +| Participant Input | Description | +| --- | --- | +| All target users | All targeted users should select an outcome to complete the multi-user task. | +| Absolute number | The specified amount of targeted users who should select an outcome to complete the multi-user task.

**Amount**: The property that defines the absolute number. | +| Percentage | The specified percentage of targeted users who should select an outcome to complete the multi-user task. The result of applying the percentage will be rounded upwards to the nearest mathematical integer value.

For example, when there are 19 targeted users and the **Percentage** is set to `50%`, then 10 users need to select an outcome to complete the multi-user task. | -##### 2.3.2.2 Absolute Number {#absolute-number} +#### 2.5.2 Decision Method -The specified amount of targeted users should select an outcome for the task to be completed. +With this property, you specify how the outcomes of the individual users are aggregated into a single multi-user task outcome. This aggregated outcome is used as the final outcome to complete the multi-user task. -##### 2.3.2.3 Percentage +{{% alert color="warning" %}} +If the number of [targeted users](#users) is less than the absolute number specified in the **Participant input** section, it is impossible to complete the multi-user task and the workflow will fail. +{{% /alert %}} -The specified percentage of targeted users should select an outcome for the task to be completed. +{{% alert color="info" %}} +A fallback outcome can be both a selectable outcome and a fallback outcome at the same time. +{{% /alert %}} -The result of applying the percentage will be rounded upwards to the nearest mathematical integer value. +##### 2.5.2.1 Consensus -For example, when there are 19 targeted users and the **Percentage** is set to `50%`, then 10 users need to select an outcome for the task to complete. +Select this decision method when all required users should be in agreement with the provided outcome. That is, they should all select the same outcome. There has to be consensus. When there is no consensus, the multi-user task will complete with the the fallback outcome. -### 2.4 Completion Criteria Section {#completion-criteria} +###### 2.5.2.1.1 Fallback Outcome {#fallback-outcome} -With this property you specify how the outcomes of the individual users are aggregated into a single multi-user task outcome. This aggregated outcome is used as the final outcome to complete the multi-user task. +This outcome will be the final outcome of the multi-user task in the following cases: -#### 2.4.1 Consensus +* If any of the users during consensus decision method selects a different outcome from the rest of the users. +* If the multi-user task is completed with a final outcome before all required users have completed their task: -Select this rule when all users should be in agreement with the provided outcome. That is, they should all select the same outcome. There has to be consensus. When there is no consensus, the multi-user task will complete with the selected [fallback outcome](#fallback-outcome). + For example, when 5 users need to review a contract (`Approve`, `Reject`) and the first 2 users are not in agreement (one selects `Approve` and the other one selects `Reject`), this multi-user task will be completed with the **Fallback outcome**. The input from the other users will not change the final outcome anymore. The task will no longer appear in their inbox. -##### 2.4.1.1 Example +###### 2.5.2.1.2 Example - The following example shows how you can use **Consensus** as the **Completion criteria**: +The following example shows how it works when the decision method is **Consensus**: -Out of a group of two or more users, two users need to perform the same task: to approve or reject a request. Their decisions are represented by the task outcomes. When the **Completion criteria** is set to **Consensus**: +Out of a group of two or more users, two users need to perform the same task: to approve or reject a request. Their decisions are represented by the task outcomes. When the **Decision method** is set to **Consensus**: -* If they both approve the request, the multi-user task is completed with the outcome `Approve`. -* If they both reject the request, the multi-user task is completed with the outcome `Reject`. +* If they both approve the request, the multi-user task is completed with the outcome `Approve`. +* If they both reject the request, the multi-user task is completed with the outcome `Reject`. * If no consensus is reached between the two users, the multi-user task will then be completed with a fallback outcome (in this example, `NoConsensus` ) You can refer to the following properties settings for this example: * **Targeted users**: The users that can perform the task (they can be a team, a department, or two pre-selected users) -* **Input from**: **Multiple users** -* **Required input**: **Absolute number** > `2` -* **Completion criteria**: **Consensus** +* **Participant input**: **Absolute number** > `2` +* **Decision method**: **Consensus** * **Fallback outcome**: An outcome users can select but it will be selected automatically when there is no consensus (in this example, `NoConsensus`) * **Outcomes**: `Approve`, `Reject`, `NoConsensus` -##### 2.4.1.2 Fallback Outcome {#fallback-outcome} +##### 2.5.2.2 Veto {#veto} -This outcome will be the final outcome of the task in the following cases: +Veto decision method requires two outcomes, one of which is the veto outcome. If anyone selects the veto outcome, then the multi-user task will be completed with the veto outcome. -* If any of the users during consensus completion criteria selects a different outcome from the rest of the users -* If the number of [targeted users](#users) is less than the [absolute number](#absolute-number) specified in the **Required input** section: +For a multi-user task to complete with the non-veto outcome, all users defined in property **Participant input** need to complete their task by selecting the non-veto outcome. - For example, if the targeted user count is `10` and you set the absolute number to `20` as the **Required input**, then consensus can never be reached and fallback outcome will be used as the final outcome to complete the task. +###### 2.5.2.2.1 Veto Outcome -{{% alert color="info" %}} -The fallback outcome should not be an option a user can select on the task page. -{{% /alert %}} - -{{% alert color="info" %}} -The completion rule is evaluated after each user selects an outcome. Therefore,it is possible that a multi-user task completes with a final outcome before all required users have completed their task. For example, when 5 users need to review a contract (`Approve`, `Reject`) and the first 2 users are not in agreement (one selects `Approve` and the other one selects `Reject`), this multi-user task will be completed with the **Fallback outcome**. The input from the other users will not change the final outcome anymore. The task will no longer appear in their inbox. -{{% /alert %}} - -#### 2.4.2 Veto {#veto} - -Veto completion criteria requires two outcomes, one of which is the veto outcome. If anyone selects the veto outcome, then the multi-user task will be completed with the veto outcome. - -For a multi-user task to complete with the non-veto outcome, all users, as defined in property **Required input**, need to complete their task by selecting the non-veto outcome. +This property defines the [veto](#veto) outcome. -##### 2.4.2.1 Examples +###### 2.5.2.2.2 Examples -Two examples are provided here to show how you can use **Veto** as the **Completion criteria**. +Two examples are provided here to show how it works when the decision method is **Veto**. One example is when a whole team needs to make a joint decision during a hiring process: `Hire` or `DoNotHire`. The candidate receives an offer if the whole team agrees that this person should be hired. When one team member decides the person should not be hired (veto), the outcome of the multi-user task will be `DoNotHire`. As soon as someone decides this is not the right candidate, the rest do not have to make a decision anymore, as their decisions cannot influence the final outcome. You can refer to the following properties settings for the example above: -* **Targeted users**: All users that need to decide during the hiring process (the whole team) -* **Input from**: **Multiple users** -* **Required input**: **All** targeted users -* **Completion criteria**: **Veto** -* **Fallback outcome**: `DoNotHire` +* **Targeted users**: The users that can perform the task (the whole team) +* **Participant input**: **All target users** +* **Decision method**: **Veto** +* **Veto outcome**: `DoNotHire` * **Outcomes**: `Hire`, `DoNotHire` -Another example is when a group of five experts needs to decide whether a change request is `Minor` or `Major`. If any one of the five experts decides it is a major request, the change request will be `Major`. The input from the other four experts is not relevant anymore. If all five of them decide it is a minor change request, the final multi-user task outcome will be `Minor`. In this case, the outcome `Major` is the veto outcome. +Another example is when a group of five experts needs to decide whether a change request is `Minor` or `Major`. In this example, the outcome `Major` is the veto outcome. If any one of the five experts decides it is a major request, the change request will be `Major`. The input from the other four experts is not relevant anymore. If all five of them decide it is a minor change request, the final multi-user task outcome will be `Minor`. You can refer to the following properties settings for the second example above: * **Targeted users**: group of experts -* **Input from**: **Multiple users** -* **Required input**: **Absolute number** > `5` -* **Completion criteria**: **Veto** -* **Fallback outcome**: `Major` +* **Participant input**: **Absolute number** > `5` +* **Decision method**: **Veto** +* **Veto outcome**: `Major` * **Outcomes**: `Minor`, `Major` -##### 2.4.2.2 Veto Outcome +##### 2.5.2.3 Majority {#majority} -This property defines the [veto](#veto) outcome. +Select this decision method when a task should result in an outcome based on an absolute or relative majority number of votes. The number of required votes is defined as the result of the [participant input](#participant-input). + +###### 2.5.2.3.1 Majority Type + +This property determines the majority type that will be applied when using the majority decision method. + +Possible options of majority type are described in the table below: + +| Majority Type | Description | +| --- | --- | +| More than half | When one of the outcomes reaches more than 50% of all possible votes (absolute majority), the task is competed with this outcome. | +| Most chosen | As soon as one of the outcomes gets most of the votes (relative majority), the task is completed with this outcome. Adding additional votes will not change the final outcome. Currently, it is also not possible to add additional votes after the task is completed. | + +###### 2.5.2.3.2 Fallback Outcome {#majority-fallback-outcome} + +This outcome will be the final outcome of the multi-user task if it is determined that none of the remaining votes will result in a majority. {{% alert color="info" %}} -The completion rule is evaluated after each user selects an outcome. When one user completes the task by selecting the veto outcome, the multi-user task will be completed with the veto outcome. The task will be removed from the inbox of the remaining users. Their outcomes will not change the final multi-user task outcome. +When the **Majority type** is set to **More than half**, the fallback outcome is only required when there are 2 or more outcomes defined. {{% /alert %}} -### 2.5 Due Date Section {#due-date} +###### 2.5.2.3.3 Example -**Due date** is stored in the System module on the **UserTask** entity as an attribute and its data can be dynamically displayed in the running app. For example, you can use it to set a deadline for the user task and display it in your app. However, this is not an automatic reminder but rather a deadline you reference when keeping track of the user task. If you are using the **Workflow Commons** module, **Due date** is used in page templates and preconfigured dashboards. +The following example shows how it works when the decision method is **Majority** and the majority type is **More than half** or **Most chosen**. -The **Due date** section properties are described in the table below: +There are 50 targeted users and 10 required votes from users. The possible outcomes are A, B and C. 5 users have voted for outcome A, 4 users have voted for outcome B, and 0 users voted for outcome C. This means that the task has 9 completed votes, and 1 vote is left to determine the final outcome of the task. -| Property | Description | +| Outcomes | A | B | C | +|----------|-----|-----|-----| +| Votes | 5 | 4 | 0 | + +* In case the majority type is **More than half**, there is no absolute majority yet, as this would require more than half (6 votes) of the users to select the same outcome. In this example, when the next user votes for outcome A, the task will be completed with outcome A, as this is the first outcome to receive the absolute majority of the available votes. In case the last user completes the task with outcome B or C, the task will be completed with the fallback outcome, as there is no absolute majority possible. +* In case the majority type is **Most chosen**, when the last user selects outcome A or C, the task will be completed with outcome A, since it has most votes of all outcomes. If the user selects outcome B, the task completes with the fallback outcome because both A and B have 5 votes. + +{{% alert color="info" %}} +When there are only 2 outcomes for a task, there is no difference between the majority type **More than half** and **Most chosen**. +{{% /alert %}} + +You can refer to the following properties settings for this example: + +* **Targeted users**: The users that can perform the task +* **Participant input**: **All target users** +* **Decision method**: **Majority** +* **Majority type**: **More than half** or **Most chosen** +* **Fallback outcome**: An outcome users can select, but it will be selected automatically when there is no majority (in this example, `C`) +* **Outcomes**: `A`, `B`, `C` + +##### 2.5.2.4 Threshold {#threshold} + +Select this decision method when a task should complete with an outcome when the number of votes for this outcome reaches the amount of votes set as the threshold value. The number of required votes is defined as the result of the [participant input](#participant-input). + +###### 2.5.2.4.1 Threshold Type {#threshold-type} + +This property determines the threshold type that will be applied when using the threshold decision method. + +Possible options of threshold type are described in the table below: + +| Threshold Type | Description | | --- | --- | -| None | No due date is set. | -| Duration | You can set the deadline for the user task with the **Due in** option, which indicates the number of hours, days, or weeks the task is due in. Possible values of the property are the following ones:
| -| Expression | You can set a due date for the user task writing an expression. For example, to set a due date to tomorrow, you can use `addDays([%CurrentDateTime%], 1)`. | +| Percentage | Of the specified users defined in the participant input section, a task will be completed with an outcome when it reaches the specified percentage of votes. The result of applying the percentage will be rounded upwards to the nearest mathematical integer value.

For example, when the [participant input](#participant-input) results in 10 target users and the threshold value is set to `50%`, the multi-user task will complete with the outcome that gets 5 votes. | +| Absolute number | Of the specified users defined in the participant input section, a task will be completed with an outcome when it reaches the specified amount of votes.

**Amount**: The property that defines the absolute number.

For example, when the [participant input](#participant-input) results in 10 target users and the threshold value is set to `5`, the multi-user task will complete with the outcome that gets 5 votes. | + +{{% alert color="info" %}} +A threshold of `51%` is the same as using **Majority** as the **Decision method** with **More than half** as the **Majority type**. +{{% /alert %}} + +{{% alert color="info" %}} +A threshold of `100%` is the same as using **Consensus** as the **Decision method**. +{{% /alert %}} -### 2.6 Events Section {#events} +###### 2.5.2.4.2 Fallback Outcome {#threshold-fallback-outcome} + +This outcome will be the final outcome of the multi-user task if it is determined that it is not possible to reach the threshold with the remaining votes. + +###### 2.5.2.4.3 Example + +The following example shows how it works when the decision method is **Threshold** and the threshold type is **Percentage**. + +There are 50 targeted users and 10 required votes from users. The possible outcomes are A, B and C. The threshold value is `60%`. 3 users have voted for outcome A, 4 users have voted for outcome B, and 1 user voted for outcome C. This means that in total, 8 users have voted and there are a maximum of 2 votes to go to complete the task. + +| Outcomes | A | B | C | +|----------|-----|-----|-----| +| Votes | 3 | 5 | 1 | + +* In case the next user votes outcome A or C, the remaining votes will never reach threshold of `60%`. Therefore, the task will complete with the [fallback outcome](#threshold-fallback-outcome). +* In case the last two users vote for outcome B, the task is completed with outcome B as it was the first outcome to reach the threshold of `60%`. +* In case the 9th user votes for outcome B and the last user votes for either outcome A or C, none of the outcomes reaches the threshold of `60%`. Therefore, the task will complete with the [fallback outcome](#threshold-fallback-outcome). + +You can refer to the following properties settings for this example: -**On Created** event allows you to select a microflow that is executed immediately after users have been determined for a newly created task instance. You can use this setting for a microflow that will send an email notification about the user task to the assigned users. +* **Targeted users**: The users that can perform the task +* **Participant input**: **All target users** +* **Decision method**: **Threshold** +* **Threshold type**: **Percentage** +* **Fallback outcome**: An outcome users can select, but it will be selected automatically when there is no majority (in this example, `C`) +* **Outcomes**: `A`, `B`, `C` -### 2.7 Outcomes Section {#outcomes} +### 2.6 Outcomes Section {#outcomes} -The outcomes property allows you to create new outcomes for the user task. Outcomes are translated into different outgoing paths of the user task and can be referred to by other elements, such as a button. For example, you have a process when you need to approve or reject a request. One button on a [task page](#task-page) can refer to the **Approve** outcome of the user task, while another one can use the **Reject** outcome. +The outcomes property allows you to create new outcomes for the multi-user task. Outcomes are translated into different outgoing paths of the multi-user task and can be referred to by other elements, such as a button. For example, you have a process when you need to approve or reject a request. One button on a [task page](#task-page) can refer to the **Approve** outcome of the multi-user task, while another one can use the **Reject** outcome. -### 2.8 Task Page Section {#task-page} +### 2.7 Task Page Section {#task-page} -Task page is the page that an assigned user will use to inspect their task and complete it. You can also allow users to add comments or attachments on this page. +Task page is the page that an assigned user will use to inspect their task and complete it. You can also allow users to add comments or attachments on this page. If you generate the page using the templates in the **Workflows Commons** module, these templates contain necessary data containers and associated context entity. -### 2.9 Display Information Section {#display-info} +### 2.8 Display Information Section {#display-info} -#### 2.9.1 Task Name +#### 2.8.1 Task Name -**Task name** is stored in the System module on the **UserTask** entity as an attribute and its data can be dynamically displayed in the running app. If you are using the **Workflow Commons** module, the **Task name** is used in page templates and on preconfigured pages to identify the task. +**Task name** is stored in the System module on the **UserTask** entity as an attribute and its data can be dynamically displayed in the running app. If you are using the **Workflow Commons** module, the **Task name** is used in page templates and on preconfigured pages to identify the task. For more information on using parameters, see the [Parameters](#parameters) section below. -#### 2.9.2 Task Description +#### 2.8.2 Task Description -**Task Description** is stored in the System module on the **UserTask** entity as an attribute and its data can be dynamically displayed in the running app. If you are using the **Workflow Commons** module, the **Task description** is used in page templates. +**Task Description** is stored in the System module on the **UserTask** entity as an attribute and its data can be dynamically displayed in the running app. If you are using the **Workflow Commons** module, the **Task description** is used in page templates. The **Task description** can contain parameters that are written between braces, e.g. {1}. -#### 2.9.3 Parameters {#parameters} +#### 2.8.3 Parameters {#parameters} Parameters are attributes the value of which will be displayed. For example, you can display when the task is due using the **DueDate** parameter. -To view **Parameters**, click the ellipsis icon next to the **Task name** or **Task description** in properties depending on where you would like to display these parameters. +To view **Parameters**, click the ellipsis icon next to the **Task name** or **Task description** in properties depending on where you would like to display these parameters. Parameters have the following settings: * **Index** – an identification number of a parameter * **Expression** – an XPath expression that will be displayed -##### 2.9.3.1 Adding New Parameters +##### 2.8.3.1 Adding New Parameters To add a parameter to the **Task name** or the **Task description**, do the following: -1. Click the ellipsis icon next to the **Task name** or the **Task description**. +1. Click the ellipsis icon next to the **Task name** or the **Task description**. -2. In the **Edit task name/description** dialog box > **Parameters** section, click the **New** button. +2. In the **Edit task name/description** dialog box > **Parameters** section, click the **New** button. 3. In the **Template Parameter (String)** dialog box, specify the expression, and confirm your choice: @@ -239,9 +316,9 @@ To add a parameter to the **Task name** or the **Task description**, do the foll 4. In the **Template** setting, write the text you would like to display and type **Index** of the parameter you would like to include. For example, you can add a template for the **Task description** specifying the name of the workflow and what the workflow due date is : - {{< figure src="/attachments/refguide/modeling/application-logic/workflows/workflow-elements/user-task/task-description-example.jpg" alt="Task Description Example" >}} + {{< figure src="/attachments/refguide/modeling/application-logic/workflows/workflow-elements/user-task/task-description-example.jpg" alt="Task Description Example" >}} -##### 2.9.3.2 Performing Other Actions on Parameters +##### 2.8.3.2 Performing Other Actions on Parameters In addition to adding new parameters, you can perform the following actions on parameters: @@ -250,10 +327,11 @@ In addition to adding new parameters, you can perform the following actions on p * **Move up** – to move a parameter up in the list of parameters and also to change its index, click **Move up** * **Move down** – to move a parameter down in the list of parameters and also to change its index, click **Move down** -### 2.10 Common Section {#common} +### 2.9 Common Section {#common} -**Name** is the internal name of the user task. When referring to the user task in the app you will use this name. It must be unique within the workflow, but you can have two user tasks with the same name in different workflows. +**Name** is the internal name of the multi-user task. When referring to the multi-user task in the app you will use this name. It must be unique within the workflow, but you can have two multi-user tasks with the same name in different workflows. ## 3 Read More * [Workflows](/refguide/workflows/) +* [User Task](/refguide/user-task/) diff --git a/content/en/docs/refguide/modeling/application-logic/workflows/workflow-elements/user-task.md b/content/en/docs/refguide/modeling/application-logic/workflows/workflow-elements/user-task.md index 3a1643acaed..5401bd4e472 100644 --- a/content/en/docs/refguide/modeling/application-logic/workflows/workflow-elements/user-task.md +++ b/content/en/docs/refguide/modeling/application-logic/workflows/workflow-elements/user-task.md @@ -7,7 +7,7 @@ tags: ["workflow", "workflows", "user task", "task", "Studio Pro"] ## 1 Introduction -User task allows you to assign a workflow task to a certain user or a group of users. +User task allows you to assign a workflow task to a certain user or a group of users. For example, you can add filters and assign a task to users with the Manager role: @@ -22,11 +22,9 @@ When the workflow reaches the user task activity, the task is created and will b User task properties consist of the following sections: * [General](#general) -* [Targeted users](#users) -* [User input](#user-input) -* [Completion criteria](#completion-criteria) * [Due date](#due-date) * [Events](#events) +* [Targeted users](#users) * [Outcomes](#outcomes) * [Task page](#task-page) * [Display information](#display-info) @@ -34,104 +32,94 @@ User task properties consist of the following sections: ### 2.1 General Section {#general} -**Caption** defines a title of the user task. +**Caption** defines a title of the user task. -### 2.2 Targeted Users Section {#users} +### 2.2 Due Date Section {#due-date} -#### 2.2.1 Target Users Using {#target-users} - -**Target users using** allows you to manage what users will the task be assigned to. You can filter users using XPath or implement more flexible logic and add several checks using a microflow. +**Due date** is stored in the System module on the **UserTask** entity as an attribute and its data can be dynamically displayed in the running app. For example, you can use it to set a deadline for the user task and display it in your app. However, this is not an automatic reminder but rather a deadline you reference when keeping track of the user task. If you are using the **Workflow Commons** module, **Due date** is used in page templates and preconfigured dashboards. -Possible options of this property are described in the table below: +The **Due date** section properties are described in the table below: -| Option | Description | +| Property | Description | | --- | --- | -| XPath | Allows you to filter users who should be assigned the user task. For example, you can assign a certain task only to users with the Manager user role. You can use attributes of the **User Entity** set in [App Settings](/refguide/app-settings/#workflows). | -| Microflow | Allows you to assign the user task to certain users. Using microflow you can check, for example, which users have the right to approve user tasks and are currently not on vacation and assign the task only to users who passed the check.
The return type of the microflow should be the **User Entity** set in [App Settings](/refguide/app-settings/#workflows). | -| No assignment | Allows you to not assign the user task to certain users immediately. This can be useful when you, for example, want the user task to be created but have an administrator assign it to certain users later. | - -In case **Target users using** (an XPath or a microflow) results in an empty list of users (0 users), the workflow fails. For more information on how to handle this kind of issues, see the [Operation](/refguide/change-workflow-state/#operation) section in *Change Workflow State*. - -#### 2.2.2 XPath Constraint - -Specifies the expression used to assign the user task. This option is displayed only when the [Target users using](#target-users) is set to **XPath**. - -#### 2.2.3 Microflow +| None | No due date is set. | +| Duration | You can set the deadline for the user task with the **Due in** option, which indicates the number of hours, days, or weeks the task is due in. Possible values of the property are the following ones:
| +| Expression | You can set a due date for the user task writing an expression. For example, to set a due date to tomorrow, you can use `addDays([%CurrentDateTime%], 1)`. | -Specifies the microflow used to assign the user task. This option is displayed only when the [Target users using](#target-users) is set to **Microflow**. +### 2.3 Events Section {#events} -#### 2.2.4 Auto-Assign When Targeting Results In One User {#auto-assign} +**On Created** event allows you to select a microflow that is executed immediately after users have been determined for a newly created task instance. You can use this setting for a microflow that will send an email notification about the user task to the assigned users. -Enables automatically assigning a user task when a single user is targeted. This option is displayed only when the [Target users using](#target-users) is set to **XPath** or **Microflow**. +### 2.4 Targeted Users Section {#users} -### 2.3 User Input Section {#user-input} +#### 2.4.1 Target Users Using {#target-users} -You can switch between a single-user task and a multi-user task. For more information on a multi-user task, see [Multi-User Task](/refguide/multi-user-task/). +**Target users using** allows you to manage what users will the task be assigned to. You can filter users using XPath or implement more flexible logic and add several checks using a microflow. -The following sections only introduce the properties that are shown after you choose a single-user task. +Possible options of this property are described in the table below: -### 2.4 Completion Criteria {#completion-criteria} +| Option | Description | +| --- | --- | +| XPath | Allows you to filter users who should be assigned the user task. For example, you can assign a certain task only to users with the Manager user role. You can use attributes of the **User Entity** set in [App Settings](/refguide/app-settings/#workflows). | +| Microflow | Allows you to assign the user task to certain users. Using microflow you can check, for example, which users have the right to approve user tasks and are currently not on vacation and assign the task only to users who passed the check.
The return type of the microflow should be the **User Entity** set in [App Settings](/refguide/app-settings/#workflows). | +| No assignment | Allows you to not assign the user task to certain users immediately. This can be useful when you, for example, want the user task to be created but have an administrator assign it to certain users later. | -This property completion criteria used to complete a single-user task. The first user to trigger an outcome will complete the task. +In case **Target users using** (an XPath or a microflow) results in an empty list of users (0 users), the workflow fails. For more information on how to handle this kind of issues, see the [Operation](/refguide/change-workflow-state/#operation) section in *Change Workflow State*. -### 2.5 Due Date Section {#due-date} +#### 2.4.2 XPath Constraint -**Due date** is stored in the System module on the **UserTask** entity as an attribute and its data can be dynamically displayed in the running app. For example, you can use it to set a deadline for the user task and display it in your app. However, this is not an automatic reminder but rather a deadline you reference when keeping track of the user task. If you are using the **Workflow Commons** module, **Due date** is used in page templates and preconfigured dashboards. +Specifies the expression used to assign the user task. This option is displayed only when the [Target users using](#target-users) is set to **XPath**. -The **Due date** section properties are described in the table below: +#### 2.4.3 Microflow -| Property | Description | -| --- | --- | -| None | No due date is set. | -| Duration | You can set the deadline for the user task with the **Due in** option, which indicates the number of hours, days, or weeks the task is due in. Possible values of the property are the following ones:
| -| Expression | You can set a due date for the user task writing an expression. For example, to set a due date to tomorrow, you can use `addDays([%CurrentDateTime%], 1)`. | +Specifies the microflow used to assign the user task. This option is displayed only when the [Target users using](#target-users) is set to **Microflow**. -### 2.6 Events Section {#events} +#### 2.4.4 Auto-Assign When Targeting Results In One User {#auto-assign} -**On Created** event allows you to select a microflow that is executed immediately after users have been determined for a newly created task instance. You can use this setting for a microflow that will send an email notification about the user task to the assigned users. +Enables automatically assigning a user task when a single user is targeted. This option is displayed only when the [Target users using](#target-users) is set to **XPath** or **Microflow**. -### 2.7 Outcomes Section {#outcomes} +### 2.5 Outcomes Section {#outcomes} -The outcomes property allows you to create new outcomes for the user task. Outcomes are translated into different outgoing paths of the user task and can be referred to by other elements, such as a button. For example, you have a process when you need to approve or reject a request. One button on a [task page](#task-page) can refer to the **Approve** outcome of the user task, while another one can use the **Reject** outcome. +The outcomes property allows you to create new outcomes for the user task. Outcomes are translated into different outgoing paths of the user task and can be referred to by other elements, such as a button. For example, you have a process when you need to approve or reject a request. One button on a [task page](#task-page) can refer to the **Approve** outcome of the user task, while another one can use the **Reject** outcome. -### 2.8 Task Page Section {#task-page} +### 2.6 Task Page Section {#task-page} -Task page is the page that an assigned user will use to inspect their task and complete it. You can also allow users to add comments or attachments on this page. +Task page is the page that an assigned user will use to inspect their task and complete it. You can also allow users to add comments or attachments on this page. If you generate the page using the templates in the **Workflows Commons** module, these templates contain necessary data containers and associated context entity. -### 2.9 Display Information Section {#display-info} +### 2.7 Display Information Section {#display-info} -#### 2.9.1 Task Name +#### 2.7.1 Task Name -**Task name** is stored in the System module on the **UserTask** entity as an attribute and its data can be dynamically displayed in the running app. If you are using the **Workflow Commons** module, the **Task name** is used in page templates and on preconfigured pages to identify the task. +**Task name** is stored in the System module on the **UserTask** entity as an attribute and its data can be dynamically displayed in the running app. If you are using the **Workflow Commons** module, the **Task name** is used in page templates and on preconfigured pages to identify the task. For more information on using parameters, see the [Parameters](#parameters) section below. -#### 2.9.2 Task Description +#### 2.7.2 Task Description -**Task Description** is stored in the System module on the **UserTask** entity as an attribute and its data can be dynamically displayed in the running app. If you are using the **Workflow Commons** module, the **Task description** is used in page templates. +**Task Description** is stored in the System module on the **UserTask** entity as an attribute and its data can be dynamically displayed in the running app. If you are using the **Workflow Commons** module, the **Task description** is used in page templates. The **Task description** can contain parameters that are written between braces, e.g. {1}. -#### 2.9.3 Parameters {#parameters} +#### 2.7.3 Parameters {#parameters} Parameters are attributes the value of which will be displayed. For example, you can display when the task is due using the **DueDate** parameter. -To view **Parameters**, click the ellipsis icon next to the **Task name** or **Task description** in properties depending on where you would like to display these parameters. +To view **Parameters**, click the ellipsis icon next to the **Task name** or **Task description** in properties depending on where you would like to display these parameters. Parameters have the following settings: * **Index** – an identification number of a parameter * **Expression** – an XPath expression that will be displayed -##### 2.9.3.1 Adding New Parameters +##### 2.7.3.1 Adding New Parameters To add a parameter to the **Task name** or the **Task description**, do the following: -1. Click the ellipsis icon next to the **Task name** or the **Task description**. +1. Click the ellipsis icon next to the **Task name** or the **Task description**. -2. In the **Edit task name/description** dialog box > **Parameters** section, click the **New** button. +2. In the **Edit task name/description** dialog box > **Parameters** section, click the **New** button. 3. In the **Template Parameter (String)** dialog box, specify the expression, and confirm your choice: @@ -141,9 +129,9 @@ To add a parameter to the **Task name** or the **Task description**, do the foll 4. In the **Template** setting, write the text you would like to display and type **Index** of the parameter you would like to include. For example, you can add a template for the **Task description** specifying the name of the workflow and what the workflow due date is : - {{< figure src="/attachments/refguide/modeling/application-logic/workflows/workflow-elements/user-task/task-description-example.jpg" alt="Task Description Example" >}} + {{< figure src="/attachments/refguide/modeling/application-logic/workflows/workflow-elements/user-task/task-description-example.jpg" alt="Task Description Example" >}} -##### 2.9.3.2 Performing Other Actions on Parameters +##### 2.7.3.2 Performing Other Actions on Parameters In addition to adding new parameters, you can perform the following actions on parameters: @@ -152,10 +140,11 @@ In addition to adding new parameters, you can perform the following actions on p * **Move up** – to move a parameter up in the list of parameters and also to change its index, click **Move up** * **Move down** – to move a parameter down in the list of parameters and also to change its index, click **Move down** -### 2.10 Common Section {#common} +### 2.8 Common Section {#common} -**Name** is the internal name of the user task. When referring to the user task in the app you will use this name. It must be unique within the workflow, but you can have two user tasks with the same name in different workflows. +**Name** is the internal name of the user task. When referring to the user task in the app you will use this name. It must be unique within the workflow, but you can have two user tasks with the same name in different workflows. ## 3 Read More * [Workflows](/refguide/workflows/) +* [Multi-User Task](/refguide/multi-user-task/) diff --git a/content/en/docs/refguide/modeling/domain-model/entities/_index.md b/content/en/docs/refguide/modeling/domain-model/entities/_index.md index c5110852879..2fda6bd5244 100644 --- a/content/en/docs/refguide/modeling/domain-model/entities/_index.md +++ b/content/en/docs/refguide/modeling/domain-model/entities/_index.md @@ -35,7 +35,7 @@ The entity type defines how the data is handled and there are two types: {{< figure src="/attachments/refguide/modeling/domain-model/entities/type-of-entities.jpg" >}} {{% alert color="info" %}} -You can also use data sources from other applications in your app through the [Data Hub](/refguide/data-hub-pane/) pane. These data sources are represented in the domain model as *external entities* which are displayed as purple entity containers in the domain model. +You can also use data sources from other applications in your app through the [Integration Pane](/refguide/integration-pane/). These data sources are represented in the domain model as *external entities* which are displayed as purple entity containers in the domain model. For further information see [External Entities](/refguide/external-entities/). {{% /alert %}} diff --git a/content/en/docs/refguide/modeling/domain-model/external-entities.md b/content/en/docs/refguide/modeling/domain-model/external-entities.md index 4a247395034..0a0d5857b08 100644 --- a/content/en/docs/refguide/modeling/domain-model/external-entities.md +++ b/content/en/docs/refguide/modeling/domain-model/external-entities.md @@ -7,13 +7,13 @@ tags: ["domain model", "entity", "entities", "attribute", "external entities", " --- ## 1 Introduction -External entities can be added to the Domain Model through the [Data Hub pane](/refguide/data-hub-pane/). They are displayed as *purple* entity containers in the Domain Model. External entities represent the link to the datasets that are made available through the shared data sources registered in [Mendix Data Hub](/data-hub/). Data sources are collections of entity sets (that are referred to as datasets) are published in OData services. +External entities can be added to the Domain Model through the [Integration Pane](/refguide/integration-pane/). They are displayed as *purple* entity containers in the Domain Model. External entities represent the link to the datasets that are made available through the shared data sources registered in [Mendix Data Hub](/data-hub/). Data sources are collections of entity sets (that are referred to as datasets) are published in OData services. Datasets are maintained and updated in the source application. You can integrate or consume these datasets through external entities in your app development, and any changes to the data in the originating app is automatically updated in the consuming apps. External entities can be used with local entities. However, as the datasets are maintained in the source applications, not all properties can be changed in the consuming app. -To follow how to add external entities from the **Data Hub** pane, see [Adding External Entities](#adding-external-entities). +To follow how to add external entities from the [Integration Pane](/refguide/integration-pane/), see [Adding External Entities](#adding-external-entities). {{% alert color="info" %}} A license is required to use Mendix Data Hub and connect to external data sources through consumed OData services in your apps. @@ -23,7 +23,7 @@ A license is required to use Mendix Data Hub and connect to external data source To add an external entity to your app model, follow these steps: -1. In the the Domain Model of you app model search in the **Data Hub** pane for the entity or data source that you want to use in your app. +1. In the the Domain Model of you app model search in the [Integration Pane](/refguide/integration-pane/) for the entity or data source that you want to use in your app. {{% alert color="info" %}}In the [Catalog](/catalog/search/), an OData service may be registered multiple times with different version numbers or deployed to different environments, all exposing the entity (dataset) that you may want to use. Search the Catalog first and find the one most relevant to the requirements for your app.{{% /alert %}} @@ -41,12 +41,12 @@ When you drag an entity that is associated with an entity from the same service For further information, see [Consumed OData Service](/refguide/consumed-odata-service/). -The consumed entities of the current app are listed in the **Used in your App** section of the **Data Hub** pane: +The consumed entities of the current app are listed in the **Used in your App** section of the [Integration Pane](/refguide/integration-pane/): {{< figure src="/attachments/refguide/modeling/domain-model/external-entities/data-hub-app.png" alt=" Virtual Entity and OData Service files" >}} {{% alert color="info" %}} -When a new version of a consumed service becomes available in the Catalog, this will be indicated in the **Data Hub** pane by an update arrow next to the service name. For more information, see the [Updating or Switching a Consumed OData Service](/refguide/consumed-odata-service/#updating) section in *Consumed OData Service*. +When a new version of a consumed service becomes available in the Catalog, this will be indicated in the [Integration Pane](/refguide/integration-pane/) by an update arrow next to the service name. For more information, see the [Updating or Switching a Consumed OData Service](/refguide/consumed-odata-service/#updating) section in *Consumed OData Service*. {{% /alert %}} You can make local changes to the properties of external entities that only affect how the data is used and presented in the consuming app. All other properties are defined in the source application and cannot be changed. When multiple external entities from the same OData service are used in a module or app, associations between the entities (made in the source app) will automatically be made in the local module. @@ -79,7 +79,7 @@ This tab displays the general properties of the external entity. The values that The [attributes](/refguide/attributes/) that have been exposed in the OData service for the external entity are listed here. All changes that are made to the attributes and the attribute list are applied to the local instance of the entity. As they are consumed, these changes will not affect the metadata of the consumed service that the entity is exposed in or the attributes of the entity in the originating app. -{{% alert color="info" %}}In the [Data Hub Pane](/refguide/data-hub-pane/#association-attributes) the associations and attributes that are not supported in your Mendix model are shown as non-selectable (gray) and will not be included when you drag them into the domain model or be included in the entity properties. For more information see [Data Hub Pane](/refguide/data-hub-pane/#association-attributes).{{% /alert %}} +{{% alert color="info" %}}In the [Integration Pane](/refguide/integration-pane/#association-attributes) the associations and attributes that are not supported in your Mendix model are shown as non-selectable (gray) and will not be included when you drag them into the domain model or be included in the entity properties. For more information see [Integration Pane](/refguide/integration-pane/#association-attributes).{{% /alert %}} The following operations can be done on the displayed attribute list: @@ -171,7 +171,7 @@ For details on the types of authentication methods and how to set them up, see t ### 3.2 Consuming External Entities with Authentication -When an external entity is used in an app module through the Data Hub pane, a [consumed OData service](/refguide/consumed-odata-service/) document is added specifying the details of the consumed service. This is the API to the publishing app and the data associated with the entity. +When an external entity is used in an app module through the Integration Pane, a [consumed OData service](/refguide/consumed-odata-service/) document is added specifying the details of the consumed service. This is the API to the publishing app and the data associated with the entity. If the service you are consuming requires authentication, you will need to add authentication credentials. Consumers of an OData service in an external entity can contact the owner of the data source to check the required authentication method and credentials. @@ -183,7 +183,7 @@ Learn more about adding authentication information to a consumed OData service: ## 4 External Entity Limitations {#limitations} -External entities are the endpoints that are defined in the published OData service from the originating app. The consumed OData service document displays the values from the service metadata when the external entity is used through the **Data Hub** pane. The datasets associated with the entities are maintained in the originating apps. +External entities are the endpoints that are defined in the published OData service from the originating app. The consumed OData service document displays the values from the service metadata when the external entity is used through the [Integration Pane](/refguide/integration-pane/). The datasets associated with the entities are maintained in the originating apps. External entities cannot be committed. Use the [Send External Object activity](/refguide/send-external-object/) to persist changes to external entities. This means the following: diff --git a/content/en/docs/refguide/modeling/integration/_index.md b/content/en/docs/refguide/modeling/integration/_index.md index e1e59a6e6a6..e8ed4ea5e85 100644 --- a/content/en/docs/refguide/modeling/integration/_index.md +++ b/content/en/docs/refguide/modeling/integration/_index.md @@ -13,4 +13,20 @@ tags: ["studio pro"] Integration with other applications (other Mendix apps, or applications built with different technology) can be done using REST, OData, SOAP/Web Services, or Business Events. Mendix can also import and export data from XML and JSON, and supports integrating with machine learning models. -## Documents in This Category +Data integration capabilities in Studio pro is part of [Mendix Connect](#integration-mx-connect). + +## 2 Integration and Mendix Connect {#integration-mx-connect} + +[Mendix Connect](https://www.mendix.com/data-hub/) is a collection of functionalities available in the Mendix Platform that allow people in your organization to discover, understand, connect, and govern data securely. The following published and consumed integration services in Studio Pro allow you connect and share data between and among apps using APIs: + +* [OData services](/refguide/integration/odata-services/) (view and manage in your company's [Catalog](/catalog/)) +* [REST services](/refguide/integration/rest-services/) +* [Web services](/refguide/integration/web-services/) +* [Business event services](/refguide/business-event-services/) + +In addition to integration capabilities in Studio Pro [10](/releasenotes/studio-pro/10/), Mendix Connect functionalities include: + +* The [Catalog](/catalog/#catalog-mx-connect), used to register, manage, and govern data in your organization +* Platform-supported [connectors and modules](/appstore/#marketplace-mx-connect) available in the [Mendix Marketplace](/appstore/) + +## 3 Documents in This Category diff --git a/content/en/docs/refguide/modeling/integration/machine-learning-kit/_index.md b/content/en/docs/refguide/modeling/integration/machine-learning-kit/_index.md index 500c2776da6..04c6b547293 100644 --- a/content/en/docs/refguide/modeling/integration/machine-learning-kit/_index.md +++ b/content/en/docs/refguide/modeling/integration/machine-learning-kit/_index.md @@ -6,7 +6,6 @@ weight: 90 tags: ["studio pro", "machine learning", "ml kit", "models", "integration"] #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. --- -{{% alert color="info" %}}Machine learning model support is currently in [Beta](/releasenotes/beta-features/).{{% /alert %}} ## 1 Introduction diff --git a/content/en/docs/refguide/modeling/integration/machine-learning-kit/design-patterns/_index.md b/content/en/docs/refguide/modeling/integration/machine-learning-kit/design-patterns/_index.md index 9261751cd11..4afdd42825e 100644 --- a/content/en/docs/refguide/modeling/integration/machine-learning-kit/design-patterns/_index.md +++ b/content/en/docs/refguide/modeling/integration/machine-learning-kit/design-patterns/_index.md @@ -7,7 +7,6 @@ description_list: true weight: 35 tags: ["studio pro", "machine learning", "ml kit", "models"] --- -{{% alert color="info" %}}[Machine learning model](/refguide/machine-learning-kit/) support is currently in [Beta](/releasenotes/beta-features/).{{% /alert %}} ## 1 Introduction diff --git a/content/en/docs/refguide/modeling/integration/machine-learning-kit/design-patterns/advanced-inference-patterns.md b/content/en/docs/refguide/modeling/integration/machine-learning-kit/design-patterns/advanced-inference-patterns.md index 15e5bca6ceb..5d2fce6d7fd 100644 --- a/content/en/docs/refguide/modeling/integration/machine-learning-kit/design-patterns/advanced-inference-patterns.md +++ b/content/en/docs/refguide/modeling/integration/machine-learning-kit/design-patterns/advanced-inference-patterns.md @@ -6,7 +6,6 @@ weight: 35 tags: ["studio pro", "machine learning", "ml kit", "models", "design patterns"] #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. --- -{{% alert color="info" %}}[Machine learning model](/refguide/machine-learning-kit/) support is currently in [Beta](/releasenotes/beta-features/).{{% /alert %}} ## 1 Introduction diff --git a/content/en/docs/refguide/modeling/integration/machine-learning-kit/design-patterns/pre-post-processor-patterns.md b/content/en/docs/refguide/modeling/integration/machine-learning-kit/design-patterns/pre-post-processor-patterns.md index 96d2a8180a0..2419a78b9a0 100644 --- a/content/en/docs/refguide/modeling/integration/machine-learning-kit/design-patterns/pre-post-processor-patterns.md +++ b/content/en/docs/refguide/modeling/integration/machine-learning-kit/design-patterns/pre-post-processor-patterns.md @@ -6,7 +6,6 @@ weight: 35 tags: ["studio pro", "machine learning", "ml kit", "models", "design patterns"] #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. --- -{{% alert color="info" %}}[Machine learning model](/refguide/machine-learning-kit/) support is currently in [Beta](/releasenotes/beta-features/).{{% /alert %}} ## 1 Introduction diff --git a/content/en/docs/refguide/modeling/integration/machine-learning-kit/pretrained-ml-models/_index.md b/content/en/docs/refguide/modeling/integration/machine-learning-kit/pretrained-ml-models/_index.md index 69634f381c3..ef9cf2b83ab 100644 --- a/content/en/docs/refguide/modeling/integration/machine-learning-kit/pretrained-ml-models/_index.md +++ b/content/en/docs/refguide/modeling/integration/machine-learning-kit/pretrained-ml-models/_index.md @@ -6,8 +6,6 @@ weight: 20 tags: ["studio pro", "machine learning", "ml kit", "models", "integration"] --- -{{% alert color="info" %}}Machine learning model support is currently in [Beta](/releasenotes/beta-features/).{{% /alert %}} - ## 1 Introduction The ONNX community provides an ML model repository, called [ONNX Model Zoo](https://github.com/onnx/models), where common computer vision and language models can be found. The [ONNX Model Zoo](https://github.com/onnx/models) is a collection of pre-trained, state-of-the-art models in the ONNX format contributed by community members. Accompanying each model are Jupyter notebooks for model training and running inference with the trained model. The notebooks are written in Python and include links to the training dataset, as well as references to the original paper that describes the model architecture. All the ONNX models in the ONNX Zoo should be compatible with the *Mendix ML Kit*. You can pick up any model from this repository, customize it with your own data and integrate it in your Mendix app using the *ML Kit*. diff --git a/content/en/docs/refguide/modeling/integration/machine-learning-kit/using-ml-kit/_index.md b/content/en/docs/refguide/modeling/integration/machine-learning-kit/using-ml-kit/_index.md index 7bda3057bf6..06af153aa6e 100644 --- a/content/en/docs/refguide/modeling/integration/machine-learning-kit/using-ml-kit/_index.md +++ b/content/en/docs/refguide/modeling/integration/machine-learning-kit/using-ml-kit/_index.md @@ -6,7 +6,6 @@ weight: 15 tags: ["studio pro", "machine learning", "ml kit", "models", "integration"] #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. --- -{{% alert color="info" %}}Machine learning model support is currently in [Beta](/releasenotes/beta-features/).{{% /alert %}} ## 1 Introduction @@ -82,7 +81,7 @@ When importing your model, you might encounter error CE1790 like in this [BERT]( {{< figure src="/attachments/refguide/modeling/integration/ml-kit/ml-kit/edit-model-input-shapes.png" alt="Edit ML model input shape dialog box." >}} -In this case, the -1 dimensions should be configured before using the mapping in a [Call ML model](/refguide/call-ml-model/) activity. Once filled, static tensor shapes of an output mapping will be automatically calculated based on configured dimensions of the input entity mappings, like in this [BERT](https://github.com/onnx/models/blob/main/text/machine_comprehension/bert-squad/model/bertsquad-12-int8.onnx) example below. +In this case, configure the **?** dimensions before using the mapping in a [Call ML model](/refguide/call-ml-model/) activity. Once filled in, static tensor shapes of an output mapping will be automatically calculated based on configured dimensions of the input entity mappings, like in the [BERT](https://github.com/onnx/models/blob/main/text/machine_comprehension/bert-squad/model/bertsquad-12-int8.onnx) example below. The editor for the BERT model is below: diff --git a/content/en/docs/refguide/modeling/integration/machine-learning-kit/using-ml-kit/logistic-regression-example.md b/content/en/docs/refguide/modeling/integration/machine-learning-kit/using-ml-kit/logistic-regression-example.md index d316fa13f46..18e22cf538c 100644 --- a/content/en/docs/refguide/modeling/integration/machine-learning-kit/using-ml-kit/logistic-regression-example.md +++ b/content/en/docs/refguide/modeling/integration/machine-learning-kit/using-ml-kit/logistic-regression-example.md @@ -5,7 +5,6 @@ category: Using ML Kit weight: 20 tags: ["studio pro", "machine learning", "ml kit", "models", "integration", "example", "logistic regression"] --- -{{% alert color="info" %}}Machine learning model support is currently in [Beta](/releasenotes/beta-features/).{{% /alert %}} ## 1 Introduction diff --git a/content/en/docs/refguide/modeling/integration/odata-services/_index.md b/content/en/docs/refguide/modeling/integration/odata-services/_index.md index 9f9fc1831fd..1a5ddd6335d 100644 --- a/content/en/docs/refguide/modeling/integration/odata-services/_index.md +++ b/content/en/docs/refguide/modeling/integration/odata-services/_index.md @@ -11,7 +11,7 @@ tags: ["odata services"] OData is a set of best practices for building REST APIs that standardizes many aspects of REST APIs. It describes how you should provide filtering, sorting, and pagination on your resources, as well as how you should provide nested data structures. Using OData best practices ensures that your APIs are compatible with tools like Excel and PowerBI out of the box (see [Expose Data to BI Tools Using OData](/howto/integration/exposing-data-to-bi-tools-using-odata/)), and also ensures that API clients can optimize payload size and minimize roundtrips for the best possible usage performance. -Published OData services are registered automatically in the [Catalog](/catalog/), making them easily usable in other Mendix apps. Discovering and using OData resources in [external entities](/refguide/external-entities/) is made easy for users deploying to the [Mendix Cloud](/developerportal/deploy/mendix-cloud-deploy/), as [published OData Services](/refguide/published-odata-services/) are registered automatically in the [Catalog](/catalog/) and made available in the Studio Pro [Data Hub pane](/refguide/data-hub-pane/). +Published OData services are registered automatically in the [Catalog](/catalog/), making them easily usable in other Mendix apps. Discovering and using OData resources in [external entities](/refguide/external-entities/) is made easy for users deploying to the [Mendix Cloud](/developerportal/deploy/mendix-cloud-deploy/), as [published OData Services](/refguide/published-odata-services/) are registered automatically in the [Catalog](/catalog/) and made available in the Studio Pro [Integration Pane](/refguide/integration-pane/). To publish OData services, see: diff --git a/content/en/docs/refguide/modeling/integration/odata-services/consumed-odata-services/_index.md b/content/en/docs/refguide/modeling/integration/odata-services/consumed-odata-services/_index.md index 159a37ccf6f..625149125db 100644 --- a/content/en/docs/refguide/modeling/integration/odata-services/consumed-odata-services/_index.md +++ b/content/en/docs/refguide/modeling/integration/odata-services/consumed-odata-services/_index.md @@ -8,9 +8,9 @@ tags: ["studio pro"] ## 1 Introduction -Data can be published from an app for use by other apps through [published OData services](/refguide/published-odata-services/). Consumed OData services can be used to integrate external data sources in apps through [Mendix Data Hub](/data-hub/). +Data can be published from an app for use by other apps through [published OData services](/refguide/published-odata-services/). Consumed OData services can be used to integrate external data sources in apps through the [Integration Pane](/refguide/integration-pane/). -Mendix Data Hub enables integration of available data sources from different sources in an organization into your Mendix apps. OData services that are registered in the [Catalog](/catalog/) expose entities that can be dragged and dropped into your domain model through the [Data Hub pane](/refguide/data-hub-pane/) as external entities. The OData service document that is added to your app provides the information for retrieving the metadata for the service and exposed entities. +OData services that are registered in the [Catalog](/catalog/) expose entities that can be dragged and dropped into your domain model through the [Integration Pane](/refguide/integration-pane/) as external entities. The OData service document that is added to your app provides the information for retrieving the metadata for the service and exposed entities. For further details on the consumed OData service document and updating consumed OData services in your app, see [Consumed OData Service](/refguide/consumed-odata-service/). @@ -41,9 +41,9 @@ You can create associations between local [persistable entities](/refguide/persi When an external entity is dragged into the domain model, the **Consumed OData** document that is added to the model displays the values of the metadata contract from the service endpoint. -In the **Data Hub** pane, the service and the entity are shown as consumed both in the search results pane and also in the **Used in your App** section. +In the [Integration Pane](/refguide/integration-pane/), the service and the entity are shown as consumed both in the search results pane and also in the **Used in your App** section. -If the metadata contract at the specified service endpoint is different to the contract in the current app model, this is indicated in the **Data Hub** pane search results and the **Properties** pane for the service with an **Update** icon (a blue arrow). +If the metadata contract at the specified service endpoint is different to the contract in the current app model, this is indicated in the [Integration Pane](/refguide/integration-pane/) search results and the **Properties** pane for the service with an **Update** icon (a blue arrow). This means that the consumed service has to be **Updated** to the new contract. If this is not done, then this will result in errors when data has to be retrieved from the endpoint based on an outdated contract. Changes in consumed OData service contracts is further described in [Updating or Switching a Consumed OData Service](/refguide/consumed-odata-service/#updating). diff --git a/content/en/docs/refguide/modeling/integration/odata-services/consumed-odata-services/consumed-odata-service.md b/content/en/docs/refguide/modeling/integration/odata-services/consumed-odata-services/consumed-odata-service.md index 6706abb2774..e2b7e6f3ed4 100644 --- a/content/en/docs/refguide/modeling/integration/odata-services/consumed-odata-services/consumed-odata-service.md +++ b/content/en/docs/refguide/modeling/integration/odata-services/consumed-odata-services/consumed-odata-service.md @@ -9,7 +9,7 @@ aliases: ## 1 Introduction -When an external entity is used in an app module through the [Data Hub pane](/refguide/data-hub-pane/), a consumed OData service document is added specifying the details of the consumed service. This is the API to the publishing app and the data associated with the entity. +When an external entity is used in an app module through the [Integration Pane](/refguide/integration-pane/), a consumed OData service document is added specifying the details of the consumed service. This is the API to the publishing app and the data associated with the entity. ## 2 Consumed OData Service screen @@ -26,7 +26,7 @@ The **Consumed OData Service** document contains the following information: {{% alert color="info" %}} Studio Pro will always show the **Update** option for the **Consumed OData Service** where you can check if an update is available. In the Data Hub search and **App** pane, when a different contract is detected at the service end-point, this will be indicated with an update arrow for the service. For further information on updating and switching services see the [Updating or Switching a Consumed OData service](#updating) section of this document. {{% /alert %}} - {{% alert color="info" %}}In the **Data Hub** pane, consumed services have an **Update** icon (a blue arrow) if they have an update available.{{% /alert %}} + {{% alert color="info" %}}In the [Integration Pane](/refguide/integration-pane/), consumed services have an **Update** icon (a blue arrow) if they have an update available.{{% /alert %}} ### 2.1 Service URL {#service-url} @@ -124,7 +124,7 @@ When downloading the metadata from a URL, the server may request a username and This information is not stored, so if you download the metadata from the same server again, you will have to enter your username and password again. {{% /alert %}} -When you import the metadata, you can add external entities from the consumed OData service in the [Data Hub Pane](/refguide/data-hub-pane/). +When you import the metadata, you can add external entities from the consumed OData service in the [Integration Pane](/refguide/integration-pane/). ### 3.2 Properties @@ -194,9 +194,9 @@ The **Update** option is available when Studio Pro detects that that the contrac See the [Limitations](/refguide/consumed-odata-services/#consumed-odata-service-limitations) section of *Consumed OData Services* to read about known update limitations. -##### 4.3.1.1 Data Hub Pane +##### 4.3.1.1 Integration Pane -In the **Data Hub** pane, in search results and in the **Used in your App** section an update arrow indicate if there is a different contract at the Catalog endpoint: +In the [Integration Pane](/refguide/integration-pane/), in search results and in the **Used in your App** section an update arrow indicate if there is a different contract at the Catalog endpoint: {{< figure src="/attachments/refguide/modeling/integration/consumed-odata-services/consumed-odata-service/update-available.png" alt="update service app-pane" >}} @@ -220,7 +220,7 @@ In the example given in the [Consuming from Service Endpoints](#consume-service- #### 4.3.3 Switching Consumed Services -A published OData services that is deployed to multiple environments or is published with major service updates (and therefore deployed to a different endpoint) will be shown as separate items in the search results of the **Data Hub** pane. +A published OData services that is deployed to multiple environments or is published with major service updates (and therefore deployed to a different endpoint) will be shown as separate items in the search results of the [Integration Pane](/refguide/integration-pane/). In the following example, the consumed **Orders** version **1.0.0** deployed to **Test** environment is consumed in the app. However, the same service is deployed to the **Acceptance** environment: @@ -236,11 +236,11 @@ To consume the service deployed to the **Acceptance environment**, follow these {{< figure src="/attachments/refguide/modeling/integration/consumed-odata-services/consumed-odata-service/switch-environment.png" alt="major change environment" >}} -3. The consumed service is be consumed from the new selected environment. The information on the **Consumed OData Service** document will display the changed service details and the **Data Hub** pane now displays that you are consuming from the selected environment: +3. The consumed service is be consumed from the new selected environment. The information on the **Consumed OData Service** document will display the changed service details and the [Integration Pane](/refguide/integration-pane/) now displays that you are consuming from the selected environment: {{< figure src="/attachments/refguide/modeling/integration/consumed-odata-services/consumed-odata-service/switch-new-environment.png" alt="major change environment dh pane" width="300" >}} ## 5 Read More -* [Data Hub Pane](/refguide/data-hub-pane/) +* [Integration Pane](/refguide/integration-pane/) * [Consumed OData Services](/refguide/consumed-odata-services/) diff --git a/content/en/docs/refguide/modeling/integration/odata-services/wrap-services-odata.md b/content/en/docs/refguide/modeling/integration/odata-services/wrap-services-odata.md index ffe9564a49f..c52824f03bd 100644 --- a/content/en/docs/refguide/modeling/integration/odata-services/wrap-services-odata.md +++ b/content/en/docs/refguide/modeling/integration/odata-services/wrap-services-odata.md @@ -8,7 +8,7 @@ tags: ["connectors", "data hub", "studio pro", "build", "connector guide", "conn ## 1 Introduction -Features in Studio Pro 10 allow you to wrap any non-OData service, API, or database with OData, ensuring compatibility with the [Mendix Data Hub](/data-hub/) ([external entities](/refguide/external-entities/) and the [Catalog](/catalog/)). +Features in Studio Pro 10 allow you to wrap any non-OData service, API, or database with OData, ensuring compatibility with ([external entities](/refguide/external-entities/) and the [Catalog](/catalog/)). You can also use these features to more easily [build connectors](/appstore/creating-content/connector-guide-build/) that access external data. This set of features adds to the tools described in [Introducing the Mendix Connector Kit](https://www.mendix.com/blog/introducing-mendix-connector-kit/), and are collectively referred to as *Connector Kit 2.0*. @@ -34,7 +34,7 @@ OData is a set of best practices for building REST APIs that standardizes many a ### 2.2 Compatibility with Data Hub -Wrapping a service, API, or database in OData ensures compatibility with the [Mendix Data Hub](/data-hub/). Published OData services are registered automatically in the [Catalog](/catalog/), making them easily usable in other Mendix apps. Discovering and using OData resources in [external entities](/refguide/external-entities/) is made easy for licensed users on a [Mendix Cloud](/developerportal/deploy/mendix-cloud-deploy/), as [published OData Services](/refguide/published-odata-services/) are registered automatically in the [Catalog](/catalog/) and made available in the Studio Pro [Data Hub pane](/refguide/data-hub-pane/). +Wrapping a service, API, or database in OData ensures compatibility with the [Catalog](/catalog/). Published OData services are registered automatically in the [Catalog](/catalog/), making them easily usable in other Mendix apps. Discovering and using OData resources in [external entities](/refguide/external-entities/) is made easy for licensed users on a [Mendix Cloud](/developerportal/deploy/mendix-cloud-deploy/), as [published OData Services](/refguide/published-odata-services/) are registered automatically in the [Catalog](/catalog/) and made available in the Studio Pro [Integration Pane](/refguide/integration-pane/). ## 3 Non-Persistable Entities as Published OData Resources {#npe-published-odata} @@ -175,7 +175,8 @@ Set up a connector module that communicates to the Twitter API with OData by fol {{< figure src="/attachments/refguide/modeling/integration/wrap-services-odata/query-followers-microflow.png" alt="Microflow for querying followers." >}} 6. Export the metadata file of the published OData service to be used in the client module. To do so, open the service and go to **Settings**, and click **Export** next to the **Metadata** field. - Since you are working in local development environment and not deploying locally, your published resource will not automatically be available in the Catalog or the Data Hub pane. See [Data Hub without the Mendix Cloud](/data-hub/data-hub-without-mendix-cloud/) to understand how to work with Data Hub (external entities and the Catalog) for local deployments. + Since you are working in local development environment and not deploying locally, your published resource will not automatically be available in the Catalog or the Integration Pane. See [Register Data Sources without the Mendix Cloud](/catalog/data-sources-without-mendix-cloud/) to understand how to work with external entities and the Catalog for local deployments. + #### 7.1.3 Building the Client diff --git a/content/en/docs/refguide/modeling/integration/web-services/consumed-web-services/consume-a-complex-web-service.md b/content/en/docs/refguide/modeling/integration/web-services/consumed-web-services/consume-a-complex-web-service.md index a7a19731439..fafe559c132 100644 --- a/content/en/docs/refguide/modeling/integration/web-services/consumed-web-services/consume-a-complex-web-service.md +++ b/content/en/docs/refguide/modeling/integration/web-services/consumed-web-services/consume-a-complex-web-service.md @@ -19,6 +19,8 @@ This how-to will teach you how to do the following: * Directly import a web service document into your app * Configure a web service call +{{% alert color="warning" %}}The **Import Web Service** wizard is deprecated and will be removed in Studio Pro 10.6.{{% /alert %}} + ## 2 Importing a Web Service Using the Wizard This section describes the powerful wizard that enables integrating—in just a few clicks—the creation of an imported web service, the related data entities, the XML-mapping, and a microflow to trigger the web service. diff --git a/content/en/docs/refguide/modeling/menus/edit-menu/preferences-dialog.md b/content/en/docs/refguide/modeling/menus/edit-menu/preferences-dialog.md index 0964a887f9d..a6745f798de 100644 --- a/content/en/docs/refguide/modeling/menus/edit-menu/preferences-dialog.md +++ b/content/en/docs/refguide/modeling/menus/edit-menu/preferences-dialog.md @@ -141,48 +141,30 @@ This option is available when [Enable automatic repository optimization](#optimi Select this option when you want to work on an app that is not stored in [Mendix Team Server](/developerportal/collaborate/team-server/), but in a private Git server to which you have access. This will allow you to specify the location of the app on the Git server when opening, downloading, or uploading the app. In this section, you also need to specify name and email values that will be used to identify your commits with Git. -## 6 Advanced Tab +## 6 Work Environment Tab -### 6.1 Proxy Server +### 6.1 Studio Pro Theme {#studio-pro-theme} -Sometimes the computer running Studio Pro cannot access the internet directly, but has to connect to a proxy server that requires authentication. If this is the case, then these settings can be used to specify the user name and password to connect to the proxy server. - -### 6.2 Usage Data {#usage-data} - -When the **Send Studio Pro usage data to Mendix** setting is enabled, Studio Pro sends usage data to Mendix that allows Mendix to identify issues and improve the user experience. The usage data does not contain sensitive information. It is possible to disable this feature, but it may affect the behavior of some features, prevent Mendix from identifying issues reported by the user, or affect tracking issues that are not reported yet. This setting is machine-specific and changing this feature does not affect any existing installed version. - -### 6.2 Rendering {#rendering} +This option allows user to choose between Studio Pro themes: **Auto (System theme)**, **Light**, or **Dark**. The default is **Auto (System theme)**, which detects the theme set in the operating system and uses an appropriate theme for Studio Pro (**Light** or **Dark**). Changing this option requires a restart of Studio Pro to take effect. -Hardware and driver issues may cause performance problems when running Studio Pro. These issues can appear in form of dialogs opening and closing much slower than expected, and general slowness of the UI. In case the hardware problems cannot be solved, it is possible to mitigate these issues by turning the **Enable software rendering mode** setting on. Enabling this setting requires a restart of Studio Pro to take effect. Running the application with this setting on may increase the CPU usage. +### 6.2 Default Page Editor {#default-page-editor} -## 7 Work Environment Tab +This option sets the default page editor mode that your page opens in: **Design mode** (the default) or **Structure mode** . For more information on page editor modes, see the [Page Editor Modes](/refguide/page/#page-editor-modes) section in *Page*. -### 7.1 Default Page Editor {#default-page-editor} +### 6.3 Rendering {#rendering} -This option sets the default page editor mode that your page opens in: **Structure mode** or **Design mode**. For more information on page editor modes, see the [Page Editor Modes](/refguide/page/#page-editor-modes) section in *Page*. +Hardware and driver issues may cause performance problems when running Studio Pro. These issues can appear in form of dialog boxes opening and closing much more slowly than expected, and general slowness of the UI. In case the hardware problems cannot be solved, it is possible to mitigate these issues by turning the **Enable software rendering mode** setting on. Enabling this setting requires a restart of Studio Pro to take effect. Running the application with this setting on may increase the CPU usage. -## 8 New Features Tab {#new-features} +## 7 Advanced Tab -The **New features** tab allows you to turn new features on and off. These are features which are being worked on but are either not yet developed sufficiently to remove the previous version, or which are currently optional. +### 7.1 Proxy Server -{{% alert color="info" %}} -You need to restart Studio Pro for changes to these settings to take effect. -{{% /alert %}} - -### 8.1 Dark Mode Preview {#dark-mode} - -{{% alert color="info" %}} -This functionality is currently in [Beta](/releasenotes/beta-features/). -{{% /alert %}} - -The **Dark mode** option allows you to preview to the dark mode of the Studio Pro user interface. +Sometimes the computer running Studio Pro cannot access the internet directly, but has to connect to a proxy server that requires authentication. If this is the case, then these settings can be used to specify the user name and password to connect to the proxy server. -{{% alert color="info" %}} -Not all screens of Studio Pro support dark mode yet. -{{% /alert %}} +### 7.2 Usage Data {#usage-data} -Default: *disabled* +When the **Send Studio Pro usage data to Mendix** setting is enabled, Studio Pro sends usage data to Mendix that allows Mendix to identify issues and improve the user experience. The usage data does not contain sensitive information. It is possible to disable this feature, but it may affect the behavior of some features, prevent Mendix from identifying issues reported by the user, or affect tracking issues that are not reported yet. This setting is machine-specific and changing this feature does not affect any existing installed version. -## 9 Read More +## 8 Read More * [Upload to Version Control Server](/refguide/upload-to-version-control-dialog/) diff --git a/content/en/docs/refguide/modeling/menus/file-menu/open-app-dialog.md b/content/en/docs/refguide/modeling/menus/file-menu/open-app-dialog.md index edcb7981b3f..b76309a3b2e 100644 --- a/content/en/docs/refguide/modeling/menus/file-menu/open-app-dialog.md +++ b/content/en/docs/refguide/modeling/menus/file-menu/open-app-dialog.md @@ -17,7 +17,7 @@ To open an app in Mendix Studio Pro, do one of the following: * Select **File** > **Open App** * Click **Open App** on the Studio Pro landing page -The **Open App** dialog box will open, where you can [select an app](#select-app) from your apps, [open an app locally](#open-locally), or [import an app package](#import-app): +The **Open App** dialog box will open, where you can [select an app](#select-app) from your apps, [open an app locally](#open-locally),[open an app from a private git repository](#open-private) or [import an app package](#import-app): {{< figure src="/attachments/refguide/modeling/menus/file-menu/open-app-dialog/open-app.png" alt="Open App" >}} @@ -35,9 +35,21 @@ You can select an app from the list of your apps. Once you have selected an app, For opening an app you already have on disk, click **Open App Locally** in the left sidebar and point to the app file. -### 2.3 Importing App Package {#import-app} +### 2.3 Opening a Private App {#open-private} -You can also import and app package and open it. Click **Import App Package** in the left sidebar. For more information on how to import an app package, see [Import App Package](/refguide/import-app-package-dialog/). +For opening an app you already have in a [Git On-Premises Version Control Server](/refguide/on-premises-git/), click **Open Private App** in the left sidebar. You will need to enter the **App repository address**, credentials for the repository, choose the **Development line** (branch) and indicate where you want to store it on the disk. + +### 2.4 Importing App Package {#import-app} + +You can also import an app package and open it. Click **Import App Package** in the left sidebar. For more information on how to import an app package, see [Import App Package](/refguide/import-app-package-dialog/). + +### 2.5 Preferences + +Clicking **Preferences** opens a dialog box with a subset of the preferences you can set in [Preferences](/refguide/preferences-dialog/). The preferences you can change are as follows: + +* Studio Pro Theme +* Default Page Editor +* Rendering ## 3 Read More diff --git a/content/en/docs/refguide/modeling/menus/view-menu/_index.md b/content/en/docs/refguide/modeling/menus/view-menu/_index.md index cc6647801bf..65f14a2379d 100644 --- a/content/en/docs/refguide/modeling/menus/view-menu/_index.md +++ b/content/en/docs/refguide/modeling/menus/view-menu/_index.md @@ -71,7 +71,7 @@ The **Console** pane displays the output of the [Mendix Runtime](/refguide/runti ### 3.5 Data Hub {#data-hub} -The [Data Hub pane](/refguide/data-hub-pane/) enables you to browse the [Catalog](/catalog/) and use registered data sources that are available for your organization in your app development. You can add [external entities](/refguide/external-entities/) to your app via this pane and see entities and data sources already consumed in your app. +The [Integration Pane](/refguide/integration-pane/) enables you to browse the [Catalog](/catalog/) and use registered data sources that are available for your organization in your app development. You can add [external entities](/refguide/external-entities/) to your app via this pane and see entities and data sources already consumed in your app. ### 3.6 Documentation diff --git a/content/en/docs/refguide/modeling/menus/view-menu/data-hub-pane.md b/content/en/docs/refguide/modeling/menus/view-menu/integration-pane.md similarity index 75% rename from content/en/docs/refguide/modeling/menus/view-menu/data-hub-pane.md rename to content/en/docs/refguide/modeling/menus/view-menu/integration-pane.md index b3a6483b5ba..ec6d29f4a3e 100644 --- a/content/en/docs/refguide/modeling/menus/view-menu/data-hub-pane.md +++ b/content/en/docs/refguide/modeling/menus/view-menu/integration-pane.md @@ -1,27 +1,28 @@ --- -title: "Data Hub Pane" -url: /refguide/data-hub-pane/ +title: "Integration Pane" +url: /refguide/integration-pane/ weight: 30 -description: "Describes the Data Hub pane in Mendix Studio Pro." -tags: ["studio Pro", "data hub", "data hub pane", "Catalog"] - +description: "Describes the Integration Pane in Mendix Studio Pro." +tags: ["studio Pro", "data hub", "Integration Pane", "data hub catalog"] +aliases: + - /refguide/data-hub-pane/ --- ## 1 Introduction -[Mendix Data Hub](/data-hub/) enables integration of available data sources from the different applications in an organization into your Mendix apps. This means that new apps can be created using shared datasets that are registered in the [Catalog](/catalog/). In Studio Pro, this is possible using the integrated functionality of Catalog through the **Data Hub** pane. +Use the Integration Pane in Studio Pro to use available data sources from the different applications in an organization into your Mendix apps. New apps can be created using shared datasets that are registered in the [Catalog](/catalog/). In Studio Pro, this is possible using the integrated functionality of Catalog through the [Integration Pane](/refguide/integration-pane/). -You can search in the Catalog through the **Data Hub** pane to discover data sources that you can use in your app. Via this pane you can add the entities that are exposed in the registered OData services—called **Data Sources** in Data Hub—into your app's domain model. These entities are called [external entities](/refguide/external-entities/) and are different because they enable the connection to the data associated with the entities in the originating app. +You can search in the Catalog through the [Integration Pane](/refguide/integration-pane/) to discover data sources that you can use in your app. Via this pane you can add the entities that are exposed in the registered OData services—called **Data Sources** in Data Hub—into your app's domain model. These entities are called [external entities](/refguide/external-entities/) and are different because they enable the connection to the data associated with the entities in the originating app. -To display the **Data Hub** pane, click **View** > **Data Hub**. +To display the [Integration Pane](/refguide/integration-pane/), click **View** > **Integration**. {{% alert color="info" %}} In the Catalog, registered published services are referred to as *data sources*. Exposed entities will show the **Entity set** name and are called *datasets.* {{% /alert %}} -## 2 Data Hub Pane Overview +## 2 Integration Pane Overview -The **Data Hub** pane is used to search the Catalog for entities that can be dragged into the domain model and used in your app and also display the external entities and the associated services that are consumed in your current model. +The **Integration** pane is used to search the Catalog for entities that can be dragged into the domain model and used in your app and also display the external entities and the associated services that are consumed in your current model. The following functionality is available in the pane: @@ -32,15 +33,15 @@ The following functionality is available in the pane: ### 2.2 Used in Your App Section {#used-in-app} -When you do not enter search text in the **Data Hub** pane, then **Used in your App** section is displayed. This shows the consumed services and the external entities used in the current app. The list of entities, associations, and attributes for the consumed services are shown as for the search results: +When you do not enter search text in the [Integration Pane](/refguide/integration-pane/), then **Used in your App** section is displayed. This shows the consumed services and the external entities used in the current app. The list of entities, associations, and attributes for the consumed services are shown as for the search results: {{< figure src="/attachments/refguide/modeling/menus/view-menu/data-hub-pane/used-in-your-app.png" alt="User in Your App Section" >}} For more information on how to add entities to your app, see [Adding an External Entity to an App](/refguide/external-entities/#adding-external-entities) section in *External Entities*. -## 3 Searching the Catalog {#search} +## 3 Searching Catalog Sources {#search} -As you enter a search term, all the items in the Catalog satisfying the search string are listed in the search results. This includes words in the service, entity and attribute descriptions, which are not displayed in the **Data Hub** pane. For more information, see the [Selected Asset Details](/catalog/manage/search/#search-details) section in *Search in the Catalog*. +As you enter a search term, all the items in the Catalog satisfying the search string are listed in the search results. This includes words in the service, entity and attribute descriptions, which are not displayed in the [Integration Pane](/refguide/integration-pane/). For more information, see the [Selected Asset Details](/catalog/manage/search/#search-details) section in *Search in the Catalog*. You can drag the entity from the search results into your domain model and it will be added to your app and displayed as an [external entity](/refguide/external-entities/). @@ -64,9 +65,9 @@ By default, the search is performed on assets in the **Production** environment. When the **Show development environments** is checked, all subsequent searches results will also include those in non-production environments. {{% /alert %}} -## 4 Data Hub Pane Information {#viewing} +## 4 Integration Pane Information {#viewing} -The information that is displayed in the **Data Hub** pane either when you enter a search term or when you open the **Used in your App** section is described in the sections below. +The information that is displayed in the [Integration Pane](/refguide/integration-pane/) either when you enter a search term or when you open the **Used in your App** section is described in the sections below. ### 4.1 Services @@ -89,7 +90,7 @@ The search results and **User in your App** section show the following informati * **Gray shield icon** shows if the service or entity is validated in the Catalog * **Update icon** is a blue arrow icon that indicates that there is another version of the consumed service available in the Data Hub. Click to update the service that is consumed in the app to the contract that is now available: - {{< figure src="/attachments/refguide/modeling/menus/view-menu/data-hub-pane/update-available.png" alt="Data Hub Pane update" >}} + {{< figure src="/attachments/refguide/modeling/menus/view-menu/data-hub-pane/update-available.png" alt="Integration pane update" >}} {{% alert color="info" %}}If there is an OData service update available, then the entities that are listed are those that are available in that version of the OData service. These entities are grayed-out to indicate that they cannot be dragged into the domain model, as the *current* contract that is consumed in the app does not have these entities. You must update the contract to the version shown in the search results by clicking the **Update** icon. {{% /alert %}} @@ -97,7 +98,7 @@ The search results and **User in your App** section show the following informati * **Information icon** allows you to view further details for the service and a link to go directly to the [Service Details](/catalog/manage/search/#search-details) screen in the Catalog: - {{< figure src="/attachments/refguide/modeling/menus/view-menu/data-hub-pane/data-hub-pane-info.png" alt="Data Hub Pane Information" >}} + {{< figure src="/attachments/refguide/modeling/menus/view-menu/data-hub-pane/data-hub-pane-info.png" alt="Integration pane Information" >}} ### 4.2 Entities, Attributes, and Associations {#association-attributes} @@ -105,7 +106,7 @@ Entities, attributes, and associations are displayed under the service name. For any service in the list, you can click **Show details** to see the full list of the exposed entities, associations, and attributes for that service. -{{< figure src="/attachments/refguide/modeling/menus/view-menu/data-hub-pane/expand-service-list.png" alt="Data Hub Pane Information" >}} +{{< figure src="/attachments/refguide/modeling/menus/view-menu/data-hub-pane/expand-service-list.png" alt="Integration pane Information" >}} {{% alert color="info" %}}The associations and attributes that are not supported in your Mendix app are shown as non-selectable (gray) and will not be included when you drag them into the domain model.{{% /alert %}} @@ -133,7 +134,7 @@ Unsupported attributes are grayed out and are not included in your app. #### 4.2.4 CRUD Capabilities -If the entity, association, or attribute supports **C**reate, **R**ead, **U**pdate, or **D**elete capabilities and it is also supported by Studio Pro, then it is displayed in the **Data Hub** pane. +If the entity, association, or attribute supports **C**reate, **R**ead, **U**pdate, or **D**elete capabilities and it is also supported by Studio Pro, then it is displayed in the [Integration Pane](/refguide/integration-pane/). Entities and associations can have any of the CRUD capabilities, while attributes can only have create and update. For more information on CRUD capabilities, see [Write Data to Another App](/catalog/write-data/). ## 5 Read More diff --git a/content/en/docs/refguide/modeling/mx-assist-studio-pro/mx-assist-performance-bot/_index.md b/content/en/docs/refguide/modeling/mx-assist-studio-pro/mx-assist-performance-bot/_index.md index b35ea21ba1f..8151e82f87c 100644 --- a/content/en/docs/refguide/modeling/mx-assist-studio-pro/mx-assist-performance-bot/_index.md +++ b/content/en/docs/refguide/modeling/mx-assist-studio-pro/mx-assist-performance-bot/_index.md @@ -123,7 +123,7 @@ After the issue is auto-fixed, a pop-up window listing the changes appears. You ## 4 Best Practice Bot from the Command Line -Best Practice Bot may also be executed from the command line, via the [mx Command-Line Tool](/refguide/mx-command-line-tool/#check). +Best Practice Bot may also be executed from the command line, via the [mx Command-Line Tool](/refguide/mx-command-line-tool/app/#check). ## 5 Read More diff --git a/content/en/docs/refguide/modeling/pages/data-widgets/data-sources/xpath-source.md b/content/en/docs/refguide/modeling/pages/data-widgets/data-sources/xpath-source.md index dd6aaead153..7c3046bfcf3 100644 --- a/content/en/docs/refguide/modeling/pages/data-widgets/data-sources/xpath-source.md +++ b/content/en/docs/refguide/modeling/pages/data-widgets/data-sources/xpath-source.md @@ -75,7 +75,7 @@ The feature to use objects and attributes can be used for [List view](/refguide/ #### 2.4.1 Known Errors -Currently, Studio Pro does not support database retreivals using XPath constraints that walk through both regular databases and [external entities](/refguide/external-entities/). This results in the `Mixed source retrieval is currently not supported` error. If you experience this error, use Data Grid 2 instead of Data Grid, then disable sorting and remove the option to search on external entity attributes. +Currently, Studio Pro does not support database retrievals using XPath constraints that walk through both regular databases and [external entities](/refguide/external-entities/). This results in the `Mixed source retrieval is currently not supported` error. If you experience this error, use Data Grid 2 instead of Data Grid, then disable sorting and remove the option to search on external entity attributes. ## 3 Read More diff --git a/content/en/docs/refguide/modeling/pages/page/_index.md b/content/en/docs/refguide/modeling/pages/page/_index.md index 116db6a3946..40f946e040e 100644 --- a/content/en/docs/refguide/modeling/pages/page/_index.md +++ b/content/en/docs/refguide/modeling/pages/page/_index.md @@ -136,7 +136,7 @@ You can toggle between the modes by clicking the **Design mode** or **Structure {{< figure src="/attachments/refguide/modeling/pages/page/design-mode.png" alt="Design mode and Structure mode buttons" width="250" >}} -By default, pages open in **Structure mode**, but if you prefer **Design mode**, this can be set as default in the **Preferences** (**Edit > Preferences > Work Environment > Default Page Editor**). For more information, see the [Default Page Editor](/refguide/preferences-dialog/#default-page-editor) section in *Preferences*. +By default, pages open in **Design mode**, but if you prefer **Structure mode**, this can be set as default in the **Preferences** (**Edit > Preferences > Work Environment > Default Page Editor**). For more information, see the [Default Page Editor](/refguide/preferences-dialog/#default-page-editor) section in *Preferences*. Both modes allow you to edit your page by doing the following: diff --git a/content/en/docs/refguide/modeling/resources/javascript-actions.md b/content/en/docs/refguide/modeling/resources/javascript-actions.md index 9c75344b0d7..bf762d860f3 100644 --- a/content/en/docs/refguide/modeling/resources/javascript-actions.md +++ b/content/en/docs/refguide/modeling/resources/javascript-actions.md @@ -126,7 +126,7 @@ The **Icon** property is optional when exposing a JavaScript action. The image i When no icon is selected, the default JavaScript action icon is used. The required icon size is 64x64 pixels; the required icon format is PNG. -A separate icon can be provided for the [dark mode](/refguide/preferences-dialog/#dark-mode) of Studio Pro to fit its color scheme. +A separate icon can be provided for the [dark mode](/refguide/preferences-dialog/#studio-pro-theme) of Studio Pro to fit its color scheme. ### 4.4 Image @@ -136,7 +136,7 @@ When no image and no icon is selected, the default JavaScript action image is us The required image size is 256x192 pixels; the required the image format is PNG. -A separate image can be provided for the [dark mode](/refguide/preferences-dialog/#dark-mode) of Studio Pro to fit its color scheme. +A separate image can be provided for the [dark mode](/refguide/preferences-dialog/#studio-pro-theme) of Studio Pro to fit its color scheme. ## 5 Documentation diff --git a/content/en/docs/refguide7/_index.md b/content/en/docs/refguide7/_index.md index 7c19e7f1fb8..e3c19db31b3 100644 --- a/content/en/docs/refguide7/_index.md +++ b/content/en/docs/refguide7/_index.md @@ -9,16 +9,13 @@ description_list: true cascade: - space: "Mendix 7 Reference Guide" - mendix_version: 7 + - banner: "Mendix 7 is no longer supported unless you have Extended Support (for details, please contact Mendix Support). Mendix 7 documentation will remain available for customers with Extended Support until July, 2024." - old_content: true - hide_feedback: true - sitemap: priority: 0.1 --- -{{% alert color="info" %}} -Support for Mendix 7 will be available after the release of Mendix 10 for a maximum duration of one year. For details, see the [Extended Support](/developerportal/support/#extended-support) section in *Mendix Support*. -{{% /alert %}} - The *Mendix Reference Guide* covers important topics on the [Desktop Modeler](/refguide7/desktop-modeler/), [Mendix Runtime](/refguide7/runtime/), and other components of the Mendix Platform. Before installing Mendix 7, please read [System Requirements](/refguide7/system-requirements/). If you have been using version 6 of the Desktop Modeler, we recommend reading [Moving from 6 to 7](/refguide7/moving-from-6-to-7/). diff --git a/content/en/docs/refguide9/general/moving-from-8-to-9/moving-from-atlas-2-to-3/_index.md b/content/en/docs/refguide9/general/moving-from-8-to-9/moving-from-atlas-2-to-3/_index.md index 21c3a22c504..48c10f4f40b 100644 --- a/content/en/docs/refguide9/general/moving-from-8-to-9/moving-from-atlas-2-to-3/_index.md +++ b/content/en/docs/refguide9/general/moving-from-8-to-9/moving-from-atlas-2-to-3/_index.md @@ -45,7 +45,7 @@ To upgrade your theme directory to Atlas 3 specifications, please complete the f ### 2.2 Migrating UI Content {#upgrade-ui-content} -**Atlas 3** distributes the UI content previously found in the Atlas_UI_Resources, in 3 seperate modules: **Atlas Core**, **Atlas Web Content** and **Atlas Native Content**. +**Atlas 3** distributes the UI content previously found in the Atlas_UI_Resources, in 3 separate modules: **Atlas Core**, **Atlas Web Content** and **Atlas Native Content**. * [Atlas Core](https://marketplace.mendix.com/link/component/117187) - Contains Atlas core styling and layouts * [Atlas Web Content](https://marketplace.mendix.com/link/component/117183) - Contains Atlas's web page templates and building blocks diff --git a/content/en/docs/refguide9/modeling/application-logic/microflows-and-nanoflows/activities/ml-kit-activities/_index.md b/content/en/docs/refguide9/modeling/application-logic/microflows-and-nanoflows/activities/ml-kit-activities/_index.md index 597c7d4e78c..3528970aa1a 100644 --- a/content/en/docs/refguide9/modeling/application-logic/microflows-and-nanoflows/activities/ml-kit-activities/_index.md +++ b/content/en/docs/refguide9/modeling/application-logic/microflows-and-nanoflows/activities/ml-kit-activities/_index.md @@ -4,7 +4,7 @@ url: /refguide9/ml-kit-activities/ weight: 45 tags: ["studio pro"] --- -{{% alert color="info" %}}[Machine learning model](/refguide9/machine-learning-kit/) support is currently in [Beta](/releasenotes/beta-features/), and is available in Studio Pro [9.23](/releasenotes/studio-pro/9.23/) and above.{{% /alert %}} +{{% alert color="info" %}}[Machine learning model](/refguide9/machine-learning-kit/) support is available in Studio Pro [9.23](/releasenotes/studio-pro/9.23/) and above.{{% /alert %}} ## 1 Introduction diff --git a/content/en/docs/refguide9/modeling/application-logic/microflows-and-nanoflows/activities/ml-kit-activities/call-ml-model.md b/content/en/docs/refguide9/modeling/application-logic/microflows-and-nanoflows/activities/ml-kit-activities/call-ml-model.md index 8de15110a03..5a6623fdd1a 100644 --- a/content/en/docs/refguide9/modeling/application-logic/microflows-and-nanoflows/activities/ml-kit-activities/call-ml-model.md +++ b/content/en/docs/refguide9/modeling/application-logic/microflows-and-nanoflows/activities/ml-kit-activities/call-ml-model.md @@ -5,7 +5,7 @@ weight: 45 tags: ["ml kit", "call model", "ML microflow", "machine learning", "models"] --- -{{% alert color="info" %}}[Machine learning model](/refguide9/machine-learning-kit/) support is currently in [Beta](/releasenotes/beta-features/), and is available in Studio Pro [9.23](/releasenotes/studio-pro/9.23/) and above.{{% /alert %}} +{{% alert color="info" %}}[Machine learning model](/refguide9/machine-learning-kit/) support is available in Studio Pro [9.23](/releasenotes/studio-pro/9.23/) and above.{{% /alert %}} {{% alert color="warning" %}} These activities can only be used in **Microflows**. diff --git a/content/en/docs/refguide9/modeling/integration/machine-learning-kit/_index.md b/content/en/docs/refguide9/modeling/integration/machine-learning-kit/_index.md index f60ada04920..ef2e782f31a 100644 --- a/content/en/docs/refguide9/modeling/integration/machine-learning-kit/_index.md +++ b/content/en/docs/refguide9/modeling/integration/machine-learning-kit/_index.md @@ -6,7 +6,7 @@ weight: 90 tags: ["studio pro", "machine learning", "ml kit", "models", "integration"] #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. --- -{{% alert color="info" %}}Machine learning model support is currently in [Beta](/releasenotes/beta-features/), and is available in Studio Pro [9.23](/releasenotes/studio-pro/9.23/) and above.{{% /alert %}} +{{% alert color="info" %}}Machine learning model support is available in Studio Pro [9.23](/releasenotes/studio-pro/9.23/) and above.{{% /alert %}} ## 1 Introduction diff --git a/content/en/docs/refguide9/modeling/integration/machine-learning-kit/design-patterns/_index.md b/content/en/docs/refguide9/modeling/integration/machine-learning-kit/design-patterns/_index.md index 74b6a8595e1..67ee49e2990 100644 --- a/content/en/docs/refguide9/modeling/integration/machine-learning-kit/design-patterns/_index.md +++ b/content/en/docs/refguide9/modeling/integration/machine-learning-kit/design-patterns/_index.md @@ -7,7 +7,7 @@ description_list: true weight: 35 tags: ["studio pro", "machine learning", "ml kit", "models"] --- -{{% alert color="info" %}}[Machine learning model](/refguide9/machine-learning-kit/) support is currently in [Beta](/releasenotes/beta-features/), and is available in Studio Pro [9.23](/releasenotes/studio-pro/9.23/) and above.{{% /alert %}} +{{% alert color="info" %}}[Machine learning model](/refguide9/machine-learning-kit/) support is available in Studio Pro [9.23](/releasenotes/studio-pro/9.23/) and above.{{% /alert %}} ## 1 Introduction diff --git a/content/en/docs/refguide9/modeling/integration/machine-learning-kit/design-patterns/advanced-inference-patterns.md b/content/en/docs/refguide9/modeling/integration/machine-learning-kit/design-patterns/advanced-inference-patterns.md index ae437fc3f8b..cc9f41ce924 100644 --- a/content/en/docs/refguide9/modeling/integration/machine-learning-kit/design-patterns/advanced-inference-patterns.md +++ b/content/en/docs/refguide9/modeling/integration/machine-learning-kit/design-patterns/advanced-inference-patterns.md @@ -6,7 +6,7 @@ weight: 35 tags: ["studio pro", "machine learning", "ml kit", "models", "design patterns"] #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. --- -{{% alert color="info" %}}[Machine learning model](/refguide9/machine-learning-kit/) support is currently in [Beta](/releasenotes/beta-features/), and is available in Studio Pro [9.23](/releasenotes/studio-pro/9.23/) and above.{{% /alert %}} +{{% alert color="info" %}}[Machine learning model](/refguide9/machine-learning-kit/) support is available in Studio Pro [9.23](/releasenotes/studio-pro/9.23/) and above.{{% /alert %}} ## 1 Introduction diff --git a/content/en/docs/refguide9/modeling/integration/machine-learning-kit/design-patterns/pre-post-processor-patterns.md b/content/en/docs/refguide9/modeling/integration/machine-learning-kit/design-patterns/pre-post-processor-patterns.md index b7e83e8143b..aead648b5c1 100644 --- a/content/en/docs/refguide9/modeling/integration/machine-learning-kit/design-patterns/pre-post-processor-patterns.md +++ b/content/en/docs/refguide9/modeling/integration/machine-learning-kit/design-patterns/pre-post-processor-patterns.md @@ -6,7 +6,7 @@ weight: 35 tags: ["studio pro", "machine learning", "ml kit", "models", "design patterns"] #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. --- -{{% alert color="info" %}}[Machine learning model](/refguide9/machine-learning-kit/) support is currently in [Beta](/releasenotes/beta-features/), and is available in Studio Pro [9.23](/releasenotes/studio-pro/9.23/) and above.{{% /alert %}} +{{% alert color="info" %}}[Machine learning model](/refguide9/machine-learning-kit/) support is available in Studio Pro [9.23](/releasenotes/studio-pro/9.23/) and above.{{% /alert %}} ## 1 Introduction diff --git a/content/en/docs/refguide9/modeling/integration/machine-learning-kit/pretrained-ml-models/_index.md b/content/en/docs/refguide9/modeling/integration/machine-learning-kit/pretrained-ml-models/_index.md index 99239923fbc..b160f1f78f5 100644 --- a/content/en/docs/refguide9/modeling/integration/machine-learning-kit/pretrained-ml-models/_index.md +++ b/content/en/docs/refguide9/modeling/integration/machine-learning-kit/pretrained-ml-models/_index.md @@ -6,7 +6,7 @@ weight: 20 tags: ["studio pro", "machine learning", "ml kit", "models", "integration"] --- -{{% alert color="info" %}}Machine learning model support is currently in [Beta](/releasenotes/beta-features/), and is available in Studio Pro [9.23](/releasenotes/studio-pro/9.23/) and above.{{% /alert %}} +{{% alert color="info" %}}Machine learning model support is available in Studio Pro [9.23](/releasenotes/studio-pro/9.23/) and above.{{% /alert %}} ## 1 Introduction diff --git a/content/en/docs/releasenotes/developer-portal/_index.md b/content/en/docs/releasenotes/developer-portal/_index.md index 350ab27026b..da6875d3197 100644 --- a/content/en/docs/releasenotes/developer-portal/_index.md +++ b/content/en/docs/releasenotes/developer-portal/_index.md @@ -17,6 +17,16 @@ To see the current status of the Mendix Developer Portal and Control Center, see ## 2023 +### June 29th, 2023 + +#### New Features + +* We introduced a Mendix Profile recovery email address option that allows you to prove ownership of a profile during the profile merge process. You can provide a non-business email address for this. + +#### Improvements + +* We changed the process for merging Mendix Profiles so that the profiles are truly merged and your user accounts stay connected to the resulting Mendix Profile. Previously, profile data was moved from one account to another. + ### June 22nd, 2023 #### New Features @@ -34,6 +44,7 @@ To see the current status of the Mendix Developer Portal and Control Center, see * We had a close look at the messages we post on the [History](/developerportal/collaborate/team/) tab of the **Team** page and revised some of them to make them more readable. * You can now see all pending invitations to your app on the [Team](/developerportal/collaborate/team/) page. * We fixed an issue where, under certain circumstances, the app logo was not updated in Studio Pro after you changed it in the [General Settings](/developerportal/collaborate/general-settings/) page. + ### June 15th, 2023 #### New Features diff --git a/content/en/docs/releasenotes/feature-release-calendar/_index.md b/content/en/docs/releasenotes/feature-release-calendar/_index.md index 04d5d3b39ab..faf8fcda5c9 100644 --- a/content/en/docs/releasenotes/feature-release-calendar/_index.md +++ b/content/en/docs/releasenotes/feature-release-calendar/_index.md @@ -1,103 +1,85 @@ --- -title: "Feature Release Calendar" +title: "Mendix 10 Feature Release Calendar" +linktitle: "Mx10 Feature Release Calendar" url: /releasenotes/feature-release-calendar/ -tags: ["mendix world", "announcements", "features", "feature release", "products", "features and products", "calendar", "new"] -weight: 60 +tags: ["announcements", "features", "feature release", "products", "features and products", "calendar", "new", "mendix 10", "mx10"] +weight: 4 #notoc: true #layout: wide --- ## 1 Introduction -At Mendix World on September 8th, 2021, there were a number of announcements for features that Mendix is releasing. This document contains the calendar of expected release dates for these features. +At the Mendix 10 launch event on June 27th, 2023, there were a number of announcements for features that Mendix is releasing. This document contains the calendar of expected release dates for these features. -The new features were divided into these major announcements, which are described in the sections below: +The new features were divided into these major themes, which are described in the sections below: -{{< figure src="/attachments/releasenotes/mx-world-2021/innovations.png" alt="Announcements are solutions platform, end-user services and studio, control center, next-level front-end, page bot and machine learning toolkit, studio pro experience, data hub 2.0, intelligent automation, and hybrid cloud automation." >}} +{{< figure src="/attachments/releasenotes/calendar/themes.png" alt="Themes are continuous collaboration, developer experience, composability, multi-cloud deployment, and governance and control." >}} {{% alert color="info" %}} "GA" means General Availability for all users. A GA release is different than a Beta release. For more information, see [Beta Releases](/releasenotes/beta-features/). {{% /alert %}} -If you want to watch the keynote speech in which these announcements were made, you can find it at [Mendix World 2021](https://events.mendixworld.com/widget/mendix/world21/catalog/session/1624031940353001Xclf) — you will need to register or have already registered for Mendix World 2021 to see this. +## 2 Continuous Collaboration -## 2 Solutions Platform - -| Feature | Expected Release | -| --- | --- | -| Consuming add-on modules | Released for Mendix Vendor Program on [Mar 29th, 2022](/releasenotes/studio-pro/9.12/#add-on) | -| Publishing add-on modules | Released for Mendix Vendor Program on [Mar 29th, 2022](/releasenotes/studio-pro/9.12/#add-on) | - -## 3 End-User Services and Studio - -| Feature | Expected Release | -| --- | --- | -| Studio expression editor | Released for GA on [May 19th, 2021](/releasenotes/studio/9.0-9.6/#expression-editor) | -| End-user services – App Switcher | Released for GA on [Jan 14th, 2022](/appstore/modules/app-switcher/) | -| Studio workflow templates | Released for GA | - -## 4 Control Center - -| Feature | Expected Release | -| --- | --- | -| Platform user onboarding experience | Released for GA on [Oct 1st, 2021](/releasenotes/developer-portal/#oct1) | -| Dashboards with insights on platform employees and app activity | Released for GA in Apr 2022 | -| Overview of cloud environments | Released for GA on [Jun 9th, 2022](/releasenotes/developer-portal/#june-9th-2022) | - -## 5 Next-Level Front-End - -| Feature | Expected Release | +| Capability or Feature | Expected Release | | --- | --- | -| Atlas UI 3.0 with full design system support | Released for GA on [Mar 31st, 2021](/releasenotes/studio-pro/9.0/) | -| Native mobile – nanoflow home page | Released for GA on [Jul 27th, 2021](/releasenotes/studio-pro/9.4/) | -| Native mobile – over the air (OTA) updates | Released for GA on [Oct 26th, 2021](/releasenotes/studio-pro/9.7/) | -| Native mobile – delete | Released for GA on [Oct 26th, 2021](/releasenotes/studio-pro/9.7/) | -| Data widgets – Gallery | Released for GA on [Nov 16th, 2021](https://marketplace.mendix.com/link/component/116540https://marketplace.mendix.com/link/component/116540) | -| Data widgets – Tree View | Released for GA on [Nov 16th, 2021](https://marketplace.mendix.com/link/component/116540https://marketplace.mendix.com/link/component/116540) | -| Styling editor in Studio Pro | Released for GA on [Dec 17th, 2021](/releasenotes/studio-pro/9.9/) | -| Multiple page parameters | Released for GA on [Sep 30th, 2022](/releasenotes/studio-pro/9.18/#mpp) | -| Native mobile – simplified monitoring | Released for GA on [Oct 14th, 2022](/releasenotes/studio-pro/9.18/#9181) | -| Native mobile – file and image background sync | GA: TBD | -| Data widgets – Tree Table | GA: TBD | -| Data widgets – Spread Sheet Grid | GA: TBD | +| Portfolio Management | Released for GA [Jun 22, 2023](/releasenotes/developer-portal/#june-22nd-2023) | +| App Insights | Released for Public Beta [Dec 13, 2022](/releasenotes/developer-portal/#december-13th-2022)
GA: Q3 2023 | +| Jira integration | Released for Public Beta [Jun 22, 2023](/releasenotes/developer-portal/#june-22nd-2023)
GA: Q4 2023 | +| Community spaces | Currently in Private Beta
GA: Q3 2023 | -## 6 Page Bot and Machine Learning Toolkit +## 3 Developer Experience -| Feature | Expected Release | +| Capability or Feature | Expected Release | | --- | --- | -| MxAssist Logic Bot improvements | Released for GA on [Oct 26th, 2021](/releasenotes/studio-pro/9.7/#mx-assist-logic-bot) | -| MxAssist Performance Bot new best practices | Released for GA on [Oct 26th, 2021](/releasenotes/studio-pro/9.7/); [Nov 30th, 2021](/releasenotes/studio-pro/9.8/); [Dec 17th, 2021](/releasenotes/studio-pro/9.9/) | -| Validation Assist | Released for GA on Dec 20th, 2022 | -| Machine learning toolkit | Currently in Public Beta
GA: TBD | - -## 7 Studio Pro Experience - -| Feature | Expected Release | +| Validation Assist | Released for GA [Sep 30, 2022](/releasenotes/studio-pro/9.18/#9180) | +| Start from spreadsheet | Released for GA [Mar 28, 2023](/releasenotes/studio-pro/9.24/#9240) | +| Studio Pro redesign | Released for GA [Jun 27, 2023](/releasenotes/studio-pro/10.0/) | +| Improved Properties pane | Released for GA [Jun 27, 2023](/releasenotes/studio-pro/10.0/) | +| Git version control (removal of SVN support) | Released for GA [Jun 27, 2023](/releasenotes/studio-pro/10.0/) | +| Custom icons support | Released for GA [Jun 27, 2023](/releasenotes/studio-pro/10.0/) | +| Flexible page URLs | Released for GA [Jun 27, 2023](/releasenotes/studio-pro/10.0/) | +| MxAssist Best Practice Bot | Released for GA [Jun 27, 2023](/releasenotes/studio-pro/10.0/) | +| Workflow enhancements (multi-user tasks,
Wait for notification activity) | Released for GA [Jun 27, 2023](/releasenotes/studio-pro/10.0/) | +| PDF Document Generation module | Released for Public Beta [May 31, 2023](/appstore/modules/document-generation/)
GA: Q3 2023 | +| Insights into commits by peers| GA: Q3 2023 | +| Rich design properties | GA: Q3 2023 | +| Visual data filters | GA: Q3 2023 | +| Managed Java dependencies | GA: Q4 2023 | +| Mendix Chat | GA: Q4 2023 | +| Mixed online and offline data | GA: Q4 2023 | +| Mac support | Public Beta: Q4 2023
GA: TBD | + +## 4 Composability + +| Capability or Feature | Expected Release | | --- | --- | -| Studio Pro modernization | Released for GA on [Sep 28th, 2021](/releasenotes/studio-pro/9.6/#studio-pro-new-design) | -| Team Server Git (Mendix Cloud) | Released for GA on [Mar 29th, 2022](/releasenotes/studio-pro/9.12/#team-server-git) | -| BYO Git (Bring Your Own) | Released for GA on [Mar 28th, 2023](/releasenotes/studio-pro/9.24/#private-git) | -| Studio Pro dark mode | Currently in Public Beta
GA: TBD | - -## 8 Data Hub 2.0 - -| Feature | Expected Release | +| Mendix Connect – business events and Mendix Event Broker | Released for GA [Jun 27, 2023](/releasenotes/studio-pro/10.0/) | +| Machine Learning Kit | Released for GA [Jun 27, 2023](/releasenotes/studio-pro/10.0/) | +| Solutions Kit – protected modules | Released for GA [Jun 27, 2023](/releasenotes/studio-pro/10.0/) | +| Solutions Kit – solution lifecycle management | Released for GA [Jun 27, 2023](/releasenotes/studio-pro/10.0/) | +| Mendix Connect – new database connector | GA: Q3 2023 | +| Mendix Connect – REST connector | GA: Q4 2023 | +| Studio Pro extensibility | Private Beta: Q3 2023
GA: TBD | +| Solutions Kit – adaptation insights | Private Beta: Q4 2023
GA: TBD | +| Mendix Connect – external actions | GA: TBD | + +## 5 Multi-Cloud Deployment + +| Capability or Feature | Expected Release | | --- | --- | -| External entity create, update, and delete (AKA write) | Released for GA on [May 24th, 2022](/releasenotes/studio-pro/9.13/#new-features) | -| Connector Kit 2.0 (OData publish with microflows and Marketplace integration) | Released for GA on [Aug 31st, 2022](/releasenotes/studio-pro/9.17/#new-features) | -| Business events and event broker | Released for GA on [September 30th, 2022](/releasenotes/studio-pro/9.18/#other-new-features) | - -## 9 Intelligent Automation - -| Feature | Component | Expected Release | -| --- | --- | --- | -| Smart app services | MS Teams Connector |Released for GA on [May 2nd, 2022](https://marketplace.mendix.com/link/component/118391)| -| Workflow | | Released for GA on [Jan 25th, 2022](/releasenotes/studio-pro/9.10/#new-features) | +| Mendix on AWS EKS | Released for GA [Feb 8, 2023](/releasenotes/developer-portal/mendix-for-private-cloud/#february-8th-2023) | +| Webhooks | Released for GA [Jun 15, 2023](/releasenotes/developer-portal/mendix-cloud/#june-15th-2023) | +| Multi-region failover | GA: Q3 2023 | +| Private Mendix Platform | Currently in Private Beta
GA: Q4 2023 | +| Pipelines | Public Beta: Q4 2023
GA: TBD | -## 10 Hybrid Cloud Automation +## 6 Governance and Control -| Feature | Expected Release | +| Capability or Feature | Expected Release | | --- | --- | -| New Mendix Cloud regions – Shanghai, Sydney, Montreal | Released for GA in Aug, 2021 | -| Mendix for Private Cloud – automated installation and configuration of Mendix for Private Cloud on Kubernetes | Released for GA on [Sep 2nd, 2021](/releasenotes/developer-portal/mendix-for-private-cloud/#20210902) | -| Mendix for Private Cloud – built-in CI/CD | Released for GA on [Sep 27th, 2022](/releasenotes/developer-portal/mendix-for-private-cloud/#tekton) | +| BYO IDP | Released for GA [May 16, 2023](/releasenotes/developer-portal/#byoidp) | +| Cloud self-service | Currently in Private Beta
GA: TBD | +| Landscape overview | Public Beta: Q3 2023
GA: TBD | +| Dependency governance | Public Beta: Q4 2023
GA: TBD | diff --git a/content/en/docs/releasenotes/sdk/metamodel/metamodel-10/metamodel-10.0.md b/content/en/docs/releasenotes/sdk/metamodel/metamodel-10/metamodel-10.0.md index 18154f14c6e..275615ec372 100644 --- a/content/en/docs/releasenotes/sdk/metamodel/metamodel-10/metamodel-10.0.md +++ b/content/en/docs/releasenotes/sdk/metamodel/metamodel-10/metamodel-10.0.md @@ -4,9 +4,9 @@ url: /releasenotes/sdk/metamodel-10.0/ weight: 100 --- -## 10.0.0 Beta 2 +## 10.0.0 GA -**Release date: May 25th, 2023** +**Release date: June 19th, 2023** ### Microflows @@ -29,14 +29,14 @@ weight: 100 #### UnlockWorkflowAction (Element) -* We introduced the `workflowSelection` property. +* We introduced the `workflowSelection` property. * We deleted the `workflow` property. ### Projects #### ModuleSettings (ModelUnit) -* We introduced the `solutionIdentifier` and `jarDependencies` properties. +* We introduced the `solutionIdentifier`, `jarDependencies`, and `basedOnVersion` properties. ### Settings @@ -82,17 +82,17 @@ weight: 100 #### NavigationDocument (ModelUnit) -* We deleted the `reports` and `reportParameters` properties. +* We deleted the `reports` and `reportParameters` properties. ### Pages #### Page (ModelUnit) -* We introduced the `urlSegments` property. +* We introduced the `urlSegments` property. #### UrlSegment, ParameterAttributeUrlSegment, ParameterIdUrlSegment, StaticUrlSegment (Elements) -* We introduced these elements. +* We introduced these elements. #### EntityPathSource (Element) @@ -107,10 +107,10 @@ weight: 100 #### ReportParameter (Element) -* We deleted the `parameterTypeRuntime` and `reportId` properties. +* We deleted the `parameterTypeRuntime` and `reportId` properties. ### Workflows -#### WaitForNotificationActivity, WorkflowDefinitionSelection, WorkflowDefinitionNameSelection, WorkflowDefinitionObjectSelection (Elements) +#### WaitForNotificationActivity, MajorityCompletionCriteria, ThresholdCompletionCriteria, WorkflowDefinitionSelection, WorkflowDefinitionNameSelection, WorkflowDefinitionObjectSelection (Elements) -* We introduced these elements. +* We introduced these elements. diff --git a/content/en/docs/releasenotes/sdk/model-sdk/model-sdk-4.md b/content/en/docs/releasenotes/sdk/model-sdk/model-sdk-4.md index 1ec37847390..548badba6c0 100644 --- a/content/en/docs/releasenotes/sdk/model-sdk/model-sdk-4.md +++ b/content/en/docs/releasenotes/sdk/model-sdk/model-sdk-4.md @@ -4,14 +4,22 @@ url: /releasenotes/sdk/model-sdk-4/ weight: 97 #When updating, remember to update the Latest Mendix Releases file --- -## 4.75.0 (Beta 2 Version) {#475} + +## 4.76.0 {#476} + +**Release date: June 19th, 2023** + +* We added support for Mendix [10.0.0 GA](/releasenotes/studio-pro/10.0/). +* We added support for Mendix Metamodel [10.0.0 GA](/releasenotes/sdk/metamodel-10.0/). + +## 4.75.0 {#475} **Release date: May 25th, 2023** * We added support for Mendix [10.0.0 Beta 2](/releasenotes/studio-pro/10.0/). * We added support for Mendix Metamodel [10.0.0 Beta 2](/releasenotes/sdk/metamodel-10.0/). -## 4.74.0 (Beta 1 Version) {#474} +## 4.74.0 {#474} **Release date: April 24th, 2023** diff --git a/content/en/docs/releasenotes/studio-pro/10/10.0.md b/content/en/docs/releasenotes/studio-pro/10/10.0.md index b2bd24eca7b..9e2af1da18b 100644 --- a/content/en/docs/releasenotes/studio-pro/10/10.0.md +++ b/content/en/docs/releasenotes/studio-pro/10/10.0.md @@ -3,30 +3,31 @@ title: "10.0" url: /releasenotes/studio-pro/10.0/ description: "The release notes for Mendix Studio Pro version 10.0 (including all patches) with details on new features, bug fixes, and known issues." weight: 100 +# Deprecation note: Import Web Service or XML Schema wizard will be removed in 10.6. +# KI: WOR-1563 --- {{% alert color="info" %}} -Mendix 10 is currently in Beta. For more information about Beta releases and features, see [Beta Releases](/releasenotes/beta-features/). +For details on upgrading to Studio Pro 10, see [Upgrading from Mendix Studio Pro 9 to 10](/refguide/upgrading-from-9-to-10/). {{% /alert %}} -{{% alert color="info" %}} -For more information on upgrading to Studio Pro 10, see [Upgrading from Mendix Studio Pro 9 to 10](/refguide/upgrading-from-9-to-10/). -{{% /alert %}} - -## 10.0.0 Beta 2 {#1000-beta-2} +## 10.0.0 General Availability {#1000} -**Release date: June 1st, 2023** +**Release date: June 27th, 2023** {{% button color="info" href="https://marketplace.mendix.com/link/studiopro/10.0.0" text="Go to Marketplace" title="Download version 10.0.0 from the Marketplace" %}} ### New Features +* Mendix Solutions Kit is now released for General Availability (GA). This release provides capabilities for protected add-on and solution [modules](/refguide/modules/) that allow you to have more control over what can be changed in the modules you distribute. In addition, this release includes solution lifecycle management, which enables creating and distributing [adaptable solutions](/appstore/creating-content/sol-adapt/) to customers so that the consumed solutions can easily be upgraded when you release the next version. +* The [Machine Learning Kit](/refguide/machine-learning-kit/) is now released for GA. +* A [Mendix Event Broker license](/appstore/modules/business-events/#event-broker-license) is now available for all customers. +* We renamed MxAssist Performance Bot to **Best Practice Bot**. Previously, MxAssist Performance Bot functioned as a virtual co-developer bot, assisting developers in enhancing their app's performance by evaluating the app model against Mendix's performance best practices in Mendix Studio Pro. Throughout releases of Mendix 10, MxAssist Best Practice Bot will be expanded to give additional types of Mendix best practices, such as security or naming conventions. This bot will identify development anti-patterns during the app development cycle, locate these anti-patterns, and provide suggestions on how to refactor the app model based on the Mendix best practice. * [Page URLs](/refguide/page-properties/#url) got a major overhaul to support new functionality. Studio Pro now supports multiple page parameters, using attributes other than `Id` in the URL, and placing the variable segment(s) at any location in the URL. -* We added new options to the [Aggregate list](/refguide/aggregate-list/) activity. **All** and **Any** are new aggregation functions that you can use to check if an expression is true for all or any of the items in a list, respectively. In addition, we addded the **Reduce** aggregation to enable turning a list of values into a single value using an expression. In this expression, both `$currentObject` and `$currentResult` are available to create a new `$currentResult`. Finally, all aggregations that could be used with a specified attribute can now also be used with an expression instead. In this expression, `$currentObject` is available to access the item of the list that is currently being processed. +* We added new options to the [Aggregate list](/refguide/aggregate-list/) activity. **All** and **Any** are new aggregation functions you can use to check if an expression is true for all or any of the items in a list, respectively. In addition, we addded the **Reduce** aggregation to enable turning a list of values into a single value using an expression. In this expression, both `$currentObject` and `$currentResult` are available to create a new `$currentResult`. Finally, all aggregations that could be used with a specified attribute can now also be used with an expression instead. In this expression, `$currentObject` is available to access the item of the list currently being processed. +* We introduced a new nanoflow activity called [Clear from device](/refguide/clear-from-device/) that can be used to clear the objects of an entity from the device database. Objects cleared using this activity are not synchronized with the server database, and references to such objects are not cleared. * We added a new workflow activity and a related microflow activity. You can use the [Wait for notification](/refguide/wait-for-notification/) workflow activity to suspend a workflow's execution, and you can use the [Notify workflow](/refguide/notify-workflow/) microflow activity to send a notification to resume the workflow that has been suspended. -* We have added support for workflow [multi-user tasks](/refguide/multi-user-task/). It is now possible to configure a user task where the same task is executed by a number of users in parallel. A multi-user task is completed by consolidating and evaluating the outcomes of each individual task. Consolidated completion criteria can be **Consensus** or **Veto**. -* We introduced a new nanoflow activity called [Clear from device](/refguide/clear-from-device/) that can be used to clear the objects of an entity from the device database. Objects that are cleared using this activity are not synchronized with the server database, and references to such objects are not cleared. -* We renamed MxAssist Performance Bot to Best Practice Bot. Previously, MxAssist Performance Bot functioned as a virtual co-developer bot, assisting developers in enhancing their app's performance by evaluating the app model against Mendix's performance best practices in Mendix Studio Pro. Throughout releases of Mendix 10, MxAssist Best Practice Bot will be expanded to give additional types of Mendix best practices, such as security or naming conventions. This bot will identify development anti-patterns during the app development cycle, locate these anti-patterns, and provide suggestions on how to refactor the app model based on the Mendix best practice . +* We added support for workflow [multi-user tasks](/refguide/multi-user-task/). It is now possible to configure a user task where the same task is executed by a number of users in parallel. A multi-user task is completed by consolidating and evaluating the outcomes of each individual task. Decision methods can be **Consensus**, **Veto**, **Majority**, or **Threshold**. We also added support for the **Auto-assign** and **Who Can Open** options for multi-user tasks. ### Improvements @@ -34,74 +35,162 @@ For more information on upgrading to Studio Pro 10, see [Upgrading from Mendix S * We improved the performance of editing published web service operations. Operations that expose large data structures no longer cause Studio Pro to become unresponsive upon opening the editing dialog box. (Tickets 179950, 183039) -#### Other Improvements +#### Other Improvements +* You can now set input parameters as return variables via the context menu. + + {{% alert color="info" %}}This is based on an idea from Marius van der Knaap. Thank you, Marius!{{% /alert %}} + +* We reduced the number of cases in the client where a data source is reloaded, even if its container is hidden by conditional visibility at the same time. (Ticket 126149) * We improved the export size of the model. It should now be about half the size in a lot of cases. (Ticket 174121) * We improved data encryption in mobile apps. (Ticket 181442) +* We added support for signing in using a macOS external browser. This requires configuration. For details, see the [Configuring Your Windows Virtual Machine for Mendix Studio Pro](/refguide/using-mendix-studio-pro-on-a-mac/#configuring) section of *Configuring Parallels*. +* We added a column to the [Open App](/refguide/open-app-dialog/) dialog box that displays the Mendix Studio Pro application **Version** (including for local apps that are stored on disk). +* We added a **Preferences** link to the **Open App** dialog box. +* We added tooltips to the **Branch Line**, **Message**, and **On Disk** columns in the **Branch Lines** dialog box that is accessible via **Open App**. +* We updated the [Revert All Changes](/refguide/version-control-menu/#revert-all-changes) menu item to show the **Open App** dialog box if the app is closed after the operation (for example, when the changes include a version change). +* We extended the **Work Environment** tab in [Preferences](/refguide/preferences-dialog/) with **Studio Pro Theme**. When it is set to **Auto (System theme)**, we automatically detect the color preferences set in an operating system and use the appropriate theme for Studio Pro. You can now also find the **Rendering** settings in the **Work Environment** tab in **Preferences**. * **New merge algorithm with fine-grained conflict resolution** is now the default and only option for conflict resolution in Studio Pro. Therefore, it was removed from the **New Features** tab of the **Preferences** dialog box. -* Cloning another branch of a Git app in which you already have a branch on disk now first makes a local copy and then downloads the latest version from the server (instead of completely downloading the branch from the server). As Git always downloads the entire history (whereas SVN only downloads the latest revision), making this local copy significantly speeds up working with branches for Git apps. +* We made **Design mode** the [default editor](/refguide/preferences-dialog/#default-page-editor) for pages for new users. This does not affect existing installations. The setting can be changed in **Preferences** > **Work Environment** > **Default Page Editor**. * The new **Properties** pane that was introduced in [9.23](/releasenotes/studio-pro/9.23/#new-features) is now the default and only option in Studio Pro. It gives you a good overview of what is going on while making it significantly easier to make changes. -* We added a column to the [Open App](/refguide/open-app-dialog/) dialog box that displays the Mendix Studio Pro application **Version** (including for local apps that are stored on disk). -* We updated the style for the **Open App** dialog box, the tab control, the alert control (which displays alerts about merge conflicts), and the selection in text fields. -* We updated the style for the following UI components: button, checkbox, checkbox list, date and time selector, drop-down menu, group box, link, radio button, splitter, stepper, label, text editor, and text field. -* We made it possible to use the scrollbars in disabled grids. -* Tree and grid control rows are now highlighted when you hover over them with the mouse. -* We updated colors for the tree and grid controls. -* We updated the colors used in dialog boxes. -* We updated the icons of message dialog boxes. -* We made the drop-shadow style of various UI components more consistent. -* We updated the sign-in response pages to include the new Mendix logo. -* We updated the login image shown on startup. -* We included dark-mode support for the login dialog box shown on startup. -* We updated the colors of the microflow editor. -* We updated the style for controls residing in a toolbar. -* We updated the style for button controls. -* We updated the style for the breadcrumb, loading bar, scrollbar, and tooltip UI components. -* We added highlighting for when you hover over tree control rows. -* For pluggable widgets with a system property Label, **Show label** is now set to **Yes** by default. -* Pluggable widgets with a database, XPath, or association data source can now select an entity path from any surrounding data widget. This also enables using them in snippets with multiple parameters. -* Configuring pluggable widgets with association properties is now easier. When selecting an association, the selectable object data source is configured with a default database source. Switching from a database to an XPath data source keeps constraints and the selected entity path. +* We renamed the **Data Hub** pane to the [Integration](/refguide/integration-pane/) pane. You can still use this pane to view available data sources and use them in your app. +* We added F1 help support to the [Machine Learning Kit](/refguide/machine-learning-kit/) document and fixed an issue with its **Properties** pane. +* We changed the default location for a published OData service to use lower-case. +* We removed the **None** button that appeared when selecting an insert, update, or delete microflow for a published OData resource, because clicking it resulted in a validation error. +* We now set the variable name of an [Aggregate list](/refguide/aggregate-list/) activity to **Count** by default. +* We changed the caption of an empty enumeration value from `(empty)` to `Empty` in the decision outcomes grid for workflows. * We enhanced the [Lock workflow](/refguide/lock-workflow/) and [Unlock workflow](/refguide/unlock-workflow/) microflow activities by enabling the selection of the workflow definition (which is a Mendix Runtime workflow object), thus making the activity more reusable. * When creating a new workflow, it is now possible to select a context entity through the creation dialog box instead of adding it afterwards. * We added a button to the toolbar of the workflow editor that enables the export of a workflow to an image. +* We added a new way to convert between microflows and nanoflows by right-clicking the microflow or nanoflow in the **App Explorer**. For more information, see the alternative options specified in the [Converting a Microflow to a Nanoflow](/refguide/microflows/#convert-to-nanoflow) section of *Microflows* and the [Converting a Nanoflow to a Microflow](/refguide/nanoflows/#convert-to-microflow) section of *Nanoflows*. +* We improved the discoverability of exposing microflows as microflow or workflow actions by adding the **Expose as action** option to the context menu of the microflow editor. +* We added support for enumerations as an attribute type for [business events](/appstore/modules/business-events/). +* For pluggable widgets with a system property Label, **Show label** is now set to **Yes** by default. +* Pluggable widgets with a database, XPath, or association data source can now select an entity path from any surrounding data widget. This also enables using them in snippets with multiple parameters. +* Configuring pluggable widgets with association properties is now easier. When selecting an association, the selectable object data source is configured with a default database source. Switching from a database to an XPath data source keeps constraints and the selected entity path. * We extended the MxAssist Best Practice Bot recommendation [MXP003](/refguide/performance-best-practices/#mxp003) for a non-indexed attribute used in sorting to the same attribute types as for a non-indexed attribute used in XPath. -* We added a new recommendation [MXP016](/refguide/performance-best-practices/#mxp016) to Best Practice bot to find the key of an OData source that is missing an index. -* We added a **Category** column to the MxAssit Best Practice Bot pane. -* We added a button to filter MxAssist Best Practice Bot recommendations to documents that are not yet committed to version control. +* We added a new recommendation [MXP016](/refguide/performance-best-practices/#mxp016) to MxAssist Best Practice bot to find the key of an OData source that is missing an index. * We updated the MxAssist Best Practice Bot recommendation [MXP011](/refguide/performance-best-practices/#mxp011) to group recommendations together. There is one group for each stack of deeply nested views. +* We added a **Category** column to the MxAssit Best Practice Bot pane. +* We added a button to filter MxAssist Best Practice Bot recommendations for documents that are not yet committed to version control. * We updated MxAssist Logic Bot for when a Boolean decision is chosen (at the top level or in a loop) and both the true and false flows are created. -* We added a new way to convert between microflows and nanoflows by right-clicking the microflow or nanoflow in the **App Explorer**. For more information, see the alternative option specified in the [Converting a Microflow to a Nanoflow](/refguide/microflows/#convert-to-nanoflow) section in *Microflows* and in the [Converting a Nanoflow to a Microflow](/refguide/nanoflows/#convert-to-microflow) section in *Nanoflows*. -* We improved the discoverability of exposing microflows as microflow or workflow actions by adding the **Expose as action** option to the context menu of the microflow editor. -* We added support for enumerations as an attribute type for [business events](/appstore/modules/business-events/). -* We changed the default location for a published OData service to use lower-case. -* We removed the **None** button that appeared when selecting an insert, update, or delete microflow for a published OData resource, because clicking it resulted in a validation error. -* We added {F1} help support to the MLKit document and fixed an issue with its **Properties** pane. +* Cloning another branch of a Git app in which you already have a branch on disk now first makes a local copy and then downloads the latest version from the server (instead of completely downloading the branch from the server). As Git always downloads the entire history (whereas SVN only downloads the latest revision), making this local copy significantly speeds up working with branches for Git apps. +* We made adding attributes even easier. When adding a new attribute, Studio Pro previously suggested types based on the most common patterns seen in applications. We are now going one step further and also take into consideration the attributes and types already in your app. Studio Pro now also automatically tries to set the enumeration document if the enumeration type is suggested. +* We added a new log node called **IDResolution**, which provides more details about certain actions being executed on the Mendix Runtime. +* We removed the limitation that stopped you from automatically creating import and export mappings from message definitions with more than 100 attributes. +* Data sources for the list view, data grid, and template grid can now select an entity path from any surrounding data widget. This also enables using them in snippets with multiple parameters. * We improved the message that is shown if no suitable argument is available for a parameter mapping (for example, in the **Page settings** of a **Show a page** action). This now includes the expected type of the parameter. -* We updated the [Revert All Changes](/refguide/version-control-menu/#revert-all-changes) menu item to show the **Open App** dialog box if the app is closed after the operation (for example, when the changes include a version change). -* We added support for signing in using a macOS external browser. This requires configuration. For details, see the [Configuring Your Windows Virtual Machine for Mendix Studio Pro](/refguide/using-mendix-studio-pro-on-a-mac/#configuring) section in *Configuring Parallels*. -* Previously, a single XPath query could result in multiple SQL queries to the database, and if an XPath query was run outside of a transaction (meaning, not in a microflow, but in a data grid, for example), these SQL queries were run concurrently. This is no longer the case. This simplifies debugging, logging, and tracing. -* We added an option to the `mx check` command in the [mx command-line tool](/refguide/mx-command-line-tool/#check) to output the results to a JSON file. +* Previously, a single XPath query could result in multiple SQL queries to the database, and if an XPath query was run outside of a transaction (for example, not in a microflow but in a data grid), these SQL queries were run concurrently. This is no longer the case. This simplifies debugging, logging, and tracing. +* We added an option to the `mx check` command in the [mx command-line tool](/refguide/mx-command-line-tool/app/#check) to output results to a JSON file. +* We improved the naming generation in the JSON structure. +* In OQL, `Attribute = $Parameter` where the parameter is a collection containing only a `null` now checks that the attribute is `empty`. This now also works with the parameter on the left side. +* We added a private market option to the list of available target markets for Studio Pro. +* We updated the sign-in response pages to include the new Mendix logo. +* We updated the login image shown on startup. +* We included dark-mode support for the login dialog box shown on startup. +* We updated the style for the **Open App** dialog box, the tab control, the alert control (which displays alerts about merge conflicts), and the selection in text fields. +* We modernized the **New Document** dialog box and the message definitions editor to support dark mode. +* We updated the style for context menus, controls residing in a toolbar, and button controls. +* We updated the style for the following UI components: breadcrumb, button, check box, check box list, date and time selector, drop-down menu, group box, link, loading bar, radio button, scrollbar, splitter, stepper, label, text editor, text field, and tooltip. +* We updated the colors used in the microflow editor, dialog boxes, and tree and grid controls. +* We made the drop-shadow style of various UI components more consistent. +* We updated the icons of message dialog boxes. +* Tree and grid control rows are now highlighted when you hover over them. +* We added the ability to select the text in read-only drop-down controls. +* We reduced the number of default panes in the default layout of Studio Pro. +* We aligned the horizontal indentation of the text in the column headers and cells in the data grid and tree controls. +* We made it possible to use the scrollbars in disabled grids. * We added the `IMxRuntimeRequest.getRootUrl` method to the [Mendix Runtime API](/apidocs-mxsdk/apidocs/runtime-api/). This method can be used to retrieve the root URL of the application. * We added `getSslContext` to the `IHttpConfiguration` interface in the Mendix Runtime API. This gives the Java code access to the `SslContext` that should be used to call a service based on the Mendix Runtime settings. * We added default values for the `ProcessedTasksCleanupAge` and `ScheduledEventsCleanupAge` Mendix Runtime settings. The default value is now 365 days for existing apps with data and 7 days for new apps or apps with an empty database. Previously, the default values were empty and required an explicit Mendix Runtime setting configuration in order to perform cleanup. -* We improved the naming generation in the JSON structure. -* In OQL, `Attribute = $Parameter` where the parameter is a collection containing only a `null` now checks that the attribute is `empty`. This now also works with the parameter on the left side. * We introduced the new Mendix Runtime setting `StrictChangeBehaviour`. This setting is enabled by default. When this setting is enabled, trying to set an invalid value for an enum or a value for a calculated attribute will throw an `InvalidEnumerationValueException` or `ReadOnlyAttributeException` response, respectively. -* We added a private market option to the list of available target markets for Studio Pro. -### Fixes +### Deprecations {#deprecations} -* We fixed the documentation links in Studio Pro so that they point to the correct version 10 sections. -* We mitigated [CVE-2023-29017](https://www.cve.org/CVERecord?id=CVE-2023-29017) and [CVE-2023-30547](https://www.cve.org/CVERecord?id=CVE-2023-30547) by upgrading the vm2 library. These CVEs do not pose any apparent risk for Mendix customers. -* The `weekday-from-dateTime` XPath function and the `DATEPART(WEEKDAY, ...)` OQL function now return the documented values of (1 = Sunday, 7 = Saturday) for all supported databases. (Ticket 130641) +* We are deprecating the **Import Web Service or XML Schema** wizard that is accessible in the domain model editor when you click **Import web service/XML file**. This functionality will be removed in Mendix 10.6. +* All SVN support has been removed. For more information, see [How to Migrate to Git](/developerportal/collaborate/migrate-to-git/). +* For published OData services, publishing OData version 3 is deprecated and will be removed in a future release. Use OData version 4 instead. +* We deprecated deploying directly to Cloud Foundry from Studio Pro. The functionality will be removed in Mendix 11. +* We removed deprecated methods from the Mendix Runtime API and the M2EE API. +* We deprecated the `Counters`, `Gauges`, `Sets`, and `Timers` interfaces from the Mendix Runtime API. These will be removed in Mendix 11. +* We removed the deprecated `com.mendix.core.UseMimeDecoderForBase64` Mendix Runtime setting. Base64 decoding is now always strict, as specified by RFC 4648. +* We removed the deprecated `rollbackTransAction()` method from the public `IContext` interface. Use `rollbackTransaction` instead. +* We increased the default BCrypt cost factor from 10 to 12. A BCrypt cost factor below 12 is deprecated and will be forbidden in a future release. Use a BCrypt cost factor of at least 12. + +### Breaking Changes {#breaking-changes} + +#### Various Breaking Changes + +* The `parseDateTime\[UTC\]` microflow functions now use [strict parsing](https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/text/DateFormat.html#setLenient(boolean)) by default. To revert to lenient parsing, set the `com.mendix.core.LenientDateTimeParsing` custom Mendix Runtime setting to `true`. (Ticket 169612) +* When committing multiple objects, the order that **Before Commit** and **After Commit** events are executed may have changed. This order was already documented in [Event Handlers](/refguide/event-handlers/) to be unspecified, and it should not be relied on. +* We have made changes to the DOM structure of the web client to ensure compatibility with future versions of React. A `div[data-widget-wrapper]` element will be placed around a React widget if its container is rendered as a Dojo widget, while the extra `script` element for such widgets has been removed. This added `div` element should not affect the page layout directly (as it uses `display: contents`), but it may affect CSS styling that relies on direct child (`>`), sibling (`+`), or `nth-child` selectors. +* We updated the icons in Atlas and widgets to use the new set of Atlas icons that we released with Atlas Core 3.11.0. This means that new class names are used in the DOM. Therefore, if custom styling relies on the glyph icon class names, this may need to be updated. +* We removed the deprecated reporting category widgets. Any reporting category widget in an existing app now triggers a consistency error. +* We removed the deprecated direct function calls from the Pluggable Widget API for [linked property values](/apidocs-mxsdk/apidocs/pluggable-widgets-client-apis-list-values/#linked-values). +* To make it possible for a multi-user task to have multiple assignees, we renamed the **WorkflowUserTask_Assignee** association to **WorkflowUserTask_Assignees**, and this is a reference set from now on. +* For published OData Services, Studio Pro now gives a consistency error when the exposed name of an attribute or association is the same as the exposed name of its entity, because that is not valid according to the OData standard. +* The validation of exposed names in published OData services now follows the OData standard more closely, with 128 characters being the maximum length for OData version 4 services. +* We no longer support using DB2 as the database for applications. +* We upgraded the SQL Server JDBC driver to version 12.2.0. Since version 10, the driver uses TLS encryption by default. You can turn off encryption by setting `DatabaseUseSsl` to `false` or by setting `encrypt=false` in `DatabaseJdbcUrl`. +* An XPath constraint of the form `[$objectVariable/BooleanAttribute]` (where the microflow variable is not set) used to be ignored. Now, it is treated as `[false()]`. +* In OQL, using a path with an association in the `ON` clause of an `OUTER JOIN` is no longer allowed. +* In OQL, comparing an attribute to a collection parameter can only be done with the `IN` or `=` operators (as in, `Attribute IN $param`). +* In OQL, clauses like `Attribute = $RangeParameter`, `Attribute > RANGEBEGIN($RangeParameter)`, and `Attribute < RANGEEND($RangeParameter)` with an infinite range (from `null` to `null`) used to be ignored. Now, they are treated as `true`. This makes a difference when the clause has `OR` with another clause. Similarly, `Attribute < RANGEBEGIN($RangeParameter)` with a range starting with `null` or `Attribute > RANGEEND($RangeParameter)` with a range ending with `null` are no longer ignored, but treated as `false`. +* Duplicate column names in an OQL query are no longer allowed. +* Mendix no longer supports responding with custom reason phrases. This has the following effects: + * We removed `com.mendix.m2ee.api.IMxRuntimeResponse.setStatus(int, String)` from the Runtime API. + * Published REST services no longer allow for returning a custom reason phrase. When an operation microflow sets the `ReasonPhrase` attribute of the `System.HttpResponse` parameter, that value is now ignored. +* Legacy scheduled events (meaning, those that are non-repeating or have a start time) are no longer supported. Mendix Runtime will fail to start if legacy scheduled events exist. +* In Mendix [9.0](/releasenotes/studio-pro/9.0/), we removed support for Mendix Runtime uniqueness validation in preference of database uniqueness validation. There was still a custom setting to use the old behavior. This setting has now been removed. +* We are more strict in the URL formats we accept at the Mendix Runtime server. We no longer allow empty path segments (meaning, `//`, as in `http://your.app//`), ambiguous path segments (`http://your.app/%2e%2e/path`), or UTF-16 encoding (`http://your.app/path%u2192`). +* We upgraded `com.sun.xml.ws.jaxws-ri` from `2.3.6` to `4.0.1`. As a result, the `SOAPFaultException` that may be thrown by consumed web services is now in the `jakarta.xml.ws` namespace. +* We removed the deprecated metric types `statsd` and `logger`. Mendix now only supports Micrometer metrics. Correspondingly, the only valid value for the `com.mendix.metrics.Type` Mendix Runtime setting is `micrometer`. We also removed the following legacy StatsD Runtime settings: `com.mendix.metrics.Host`, `com.mendix.metrics.Port`, `com.mendix.metrics.Items`, and `com.mendix.metrics.FlushTime`. You can use the `Metrics.Registries` Mendix Runtime setting to configure a StatsD registry instead. +* We removed the request metric `mx.runtime.stats.handler.requests.[name]`, where `name` is the request handler name. This metric was replaced with the metric `mx.runtime.stats.handler_requests`, with the request handler name added as a tag. +* It is no longer possible to call `clear()` on the list returned by the `IDataTable.getRows()` API function. The list returned by `subList()` is no longer modifiable. +* Instances of `IDataTable`, `IDataTableSchema`, and `IDataColumnSchame` no longer provide equality. As of now, `equals()` and `hashCode()` are based on object identity. +* We changed the MIME type returned for *.js* files from the legacy `application/javascript` to `text/javascript`. +* We removed the deprecated error constants from `AdminException` and `IMxRuntime`. +* We removed the deprecated `IActionRegistrator#bundleComponentLoaded` method. + +#### Generated Code Changes {#generated-code-changes} + +* The public constructors of generated constant and microflow proxy classes are now private, and the classes are marked final to prevent instantiation and derivation. +* Entity and list of entity parameters in Java actions are now initialized in the constructor, and the accompanying `__[FieldName]` field is generated as deprecated. To get access to the `IMendixObject` variant, call the `getMendixObject()` method on the field (or items in the list in case of a list). +* The `initialize(IContext, IMendixIdentifier)` and `getGUID()`methods on generated entity proxies are no longer generated. +* We introduced the Mendix Runtime setting `ObjectManagement.StrictChangeBehavior` (formerly known as `StrictChangeBehaviour`), which is enabled by default. When enabled, trying to set an invalid value for an enumeration or a value for a calculated attribute throws an `InvalidEnumerationValueException` or `ReadOnlyAttributeException` response, respectively. We plan to remove this setting in Mendix version 11, after which, an exception will be raised when setting an invalid value. +* We changed the exception type from `CoreRuntimeException` to `ReadOnlyAttributeException` that occurs when trying to change a virtual method through `setValue`. +* The public constructors of the generated `Constant` and `Microflow` proxy classes are now private, and the classes are marked final to prevent instantiation and derivation. +* The fields in Java actions are now generated as final fields. +* The `Entity` and `List of Entity` parameters in Java actions are now initialized in the constructor, and the accompanying `__[FieldName]` field will be generated as deprecated. To get access to the `IMendixObject` variant, call the `getMendixObject()` method on the field (or items in the list, in case of a list). +* We changed the exception type from `CoreRuntimeException` to `ReadOnlyAttributeException` that occurs when trying to change a virtual method through `setValue`. + +### Known Issues + +* The algorithm for detecting conflicts during the migration of workflows with active multi-user tasks is currently too rigid and will not allow a conflicted user task to be continued in certain cases. In a future release, we will provide better migration scenarios where workflows with conflicted multi-user tasks can be continued. These are the situations in which a multi-user task is marked as **Incompatible** without continue: + * The type of decision method (as in, **Consensus**, **Majority**, **Threshold**, or **Veto**) is changed. + * A **Majority** decision method is changed from **More than half** to **Most chosen**. + * A **Threshold** decision method is changed from **Percentage** to **Absolute number** or vice versa. + * The **Percentage** or **Amount** value for the **Threshold** decision method is lowered. + +## 10.0.0 Betas + +{{% alert color="warning" %}} +The Beta program for Studio Pro 10 has ended, which means that the Studio Pro 10 Beta versions are no longer available to download. In addition, apps created in the Studio Pro 10 Beta versions that are converted to version 10.0.0 General Availability can no longer be opened in the Beta versions. +{{% /alert %}} + +* We mitigated [CVE-2022-34716](https://www.cve.org/CVERecord?id=CVE-2022-34716) by updating third-party dependencies. This CVE does not pose any apparent risk for Mendix customers. +* We mitigated [CVE-2023-29017](https://www.cve.org/CVERecord?id=CVE-2023-29017), [CVE-2023-30547](https://www.cve.org/CVERecord?id=CVE-2023-30547), and [CVE-2023-32314](https://www.cve.org/CVERecord?id=CVE-2023-32314) by upgrading the vm2 library. These CVEs do not pose any apparent risk for Mendix customers. +* We fixed an issue where a pluggable widget with a [widgets](/apidocs-mxsdk/apidocs/pluggable-widgets-property-types/#widgets) property linked to a data source and an [image](/apidocs-mxsdk/apidocs/pluggable-widgets-property-types/#image) property configured as a dynamic image was rendering incorrect data. (Ticket 117735) +* The `weekday-from-dateTime` XPath function and the `DATEPART(WEEKDAY, ...)` OQL function now return the documented values of `(1 = Sunday, 7 = Saturday)` for all supported databases. (Ticket 130641) * We fixed an issue where the debugger caused an error and disconnected after 30 seconds of inactivity. (Tickets 151937, 169696, 175161, 175542, 178553, 180332) * We fixed an issue where it was possible to add a path after a non-object variable, which led to issues in a running app. (Tickets 171893, 172495) +* We fixed a memory leak that occurred when opening pages. This caused issues after opening thousands of pages. (Ticket 172126) +* When a database transaction for a microflow does not perform any database operation for 10 minutes, it is automatically aborted. When the same microflow then does another database operation, this previously silently started a new database transaction, losing the earlier updates. Now, the microflow results in an error. (Ticket 174408) * We fixed an issue where non-localized date/time attributes in XPath constraints were not handled correctly, producing incorrect queries. (Ticket 176850) * We adjusted consumed OData services to use query options in the request body when the given service is configured to do so and pagination with `@nextLink` takes place. (Ticket 176976) -* When a database transaction for a microflow does not perform any database operation for 10 minutes, it is automatically aborted. When the same microflow then does another database operation, this previously silently started a new database transaction, losing the earlier updates. Now, the microflow results in an error. (Ticket 174408) * We fixed an issue in the domain model editor where an element outside the boundaries of the current view was not scrolled to when there was navigation via [Go to options](/refguide/go-to-option/). (Ticket 178829) * We fixed an issue where an object validation was removed incorrectly. (Ticket 180011) -* We fixed an issue where the language-sensitive parts on pages were not fully updated when you changed the language via the [Language Selector](/appstore/widgets/language-selector/) widget. (Tickets 180130, 180670, 180824, 181274, 181713, 181974) +* We fixed an issue where the language-sensitive parts of pages were not fully updated when you changed the language via the [Language Selector](/appstore/widgets/language-selector/) widget. (Tickets 180130, 180670, 180824, 181274, 181713, 181974) * We fixed an issue that occurred when opening multiple modal pop-up windows at the same time and it was not possible to focus widgets in the pop-up widget that was on top. (Ticket 180137) * We fixed an issue where a domain-level validation message could not be translated. You can now use the `mendix.lib.Validations.field_issue` system text to translate and change this message. (Tickets 180448, 181175) * We fixed an issue where objects were garbage-collected for pages with multiple page parameters. (Ticket 180470) @@ -112,97 +201,64 @@ For more information on upgrading to Studio Pro 10, see [Upgrading from Mendix S * We fixed a crash that occurred during login that blocked some users from logging in. (Tickets 181864, 183014) * We fixed an issue where an application with excluded *.jar* files failed to deploy. (Ticket 181931) * We fixed an issue that caused the attribute of conditional visibility settings or the text template parameters of a button inside a reference set selector to not be selectable, which resulted in a consistency error. (Ticket 182203) +* We fixed an issue where published REST and OData services created a session for a web service user when the custom authentication microflow returned such a user. This is unsupported (web service users should only be used for published web [SOAP] services), so it led to these sessions not being cleaned up properly. This scenario now results in a "500 Internal Server Error." (Tickets 182579, 187479) * We fixed an issue in the OpenAPI contract of published REST services where operations that used an import mapping had a schema defined for the other parameters but not the type. (Ticket 182615) * We fixed an issue in the OpenAPI contract of published OData services where `GET` operations no longer specified the `$expand` parameter when there were no associations to expand. (Ticket 182627) * We fixed an issue where importing a file from a version below [9.24](/releasenotes/studio-pro/9.24/) caused many errors to appear. (Ticket 182860) * We fixed an issue where attribute widgets (for example, a text box) did not trigger a consistency error if the selected attribute had an invalid source, causing an error when deploying the app. (Ticket 183379) +* We fixed an issue with getting the device name as the phone's factory name in mobile apps. (Ticket 183392) * We fixed an issue where deployment failed on the Linux operating system when module names contained upper-case letters. (Tickets 183841, 183872) * We fixed the colors of the term `empty` and the symbol `-` in the XPath constraint editor. (Ticket 183998). +* We fixed an issue where no error message was shown when an update of a Mendix Marketplace module failed. (Ticket 183507) +* We fixed an issue that occurred when a nanoflow retrieved a non-persistable entity over an association and the entity had an event handler. (Ticket 183879) +* We fixed an issue with dojo widgets that caused custom icon collections not to work. (Ticket 183996) * We fixed an issue in published REST services where publishing two REST services on the same location caused a consistency error. (This was not a problem where services did not publish resources and operations that resulted in the same operation URL.) (Tickets 185087, 185423) +* We fixed an issue in published REST services and published OData services that use a combination of custom authentication and another authentication type. When the custom authentication does not authenticate the user but a subsequent authentication type does, the operation was previously unable to read the body of the request. (Ticket 185790) +* We fixed the issue where the **Documentation** pane did not show the documentation corresponding to the selected element in certain conditions. (Ticket 185876) +* We fixed an issue where the compilation of Java actions failed when annotation processors were used. (Ticket 186516) * We fixed an issue where clicking **Load more** on a list view triggered the on-click event on a surrounding widget. (Ticket 365439) -* We fixed an issue in the OpenAPI contract of published OData services where the server URL contained a double slash. +* We fixed the documentation links in Studio Pro so that they point to the correct version 10 sections. +* We fixed the [Create object](/refguide/create-object/) activity so that it now produces a consistency error when committing an external object. +* We fixed the possible race conditions between microflow actions on the same workflow instance. +* We fixed an issue where a nanoflow could not be debugged if it was created while the app was already running. +* We fixed an issue where the nanoflow debugger did not stay paused after 30 seconds. * We fixed an issue where the workflow user task on-state-change microflow did not run again when the state changed to failed due to a prior execution error in the same event-handling microflow. * We fixed an issue where the outcome selector dialog box for a completed workflow user task activity showed duplicate outcomes. -* We fixed the [Create object](/refguide/create-object/) activity so that it now produces a consistency error when committing an external object. +* We fixed an issue that occurred when the Machine Learning Kit mapping document was moved and the underlying ONNX file was not copied to the new location. +* We fixed an issue where the ONNX file for an app using the Machine Learning Kit disappeared after deployment. +* We fixed an issue where MxAssist Best Practice Bot did not skip disabled microflow actions. This did not cause any false positives, but it caused some best practices to output no results for some apps. +* We fixed an issue where exporting recommendations from MxAssist Best Practice Bot included suppressed recommendations. +* We fixed an issue in the OpenAPI contract of published OData services where the server URL contained a double slash. * We fixed an error that occurred in OData services when the user had no access to an entity's association and there was an attempt to change its value. Mendix Runtime used to produce a response with the status 500, and now this is an error response with the status 422. +* We fixed the missing line breaks in the **Metadata** property of the consumed OData services properties pane. * We fixed an issue that occurred when adding external entities to an app where the generation of enumerations caused an error. -* We fixed an issue that occurred when the ML Kit mapping document was moved and the underlying ONNX file was not copied to the new location. -* We fixed an issue where the ONNX file for an app using the [ML Kit](/refguide/machine-learning-kit/) disappeared after deployment. * We fixed an issue in published web services where editing an operation that had a parameter and/or a return type that had been removed caused an error. -* We fixed an issue where MxAssist Best Practice Bot did not skip disabled microflow actions. This did not cause any false positives, but it caused some best practices to output no results for some apps. -* We fixed an issue where exporting recommendations from MxAssist Best Practice Bot was including suppressed recommendations. * We fixed an issue that triggered a consistency error on a text template of a pluggable widget inside a snippet with multiple parameters if the template had parameters based on an attribute. +* We fixed an issue where expressions in pluggable widgets were not updated correctly when renaming an element (like a module or an entity), which caused consistency errors. +* We fixed the functionality of the **Collapse All** button in the tree control. It now collapses all the nodes in the tree, even when there is only a single root node in the tree. * We fixed an issue that caused the warning pop-up window for the [inline snippet](/refguide/snippet-call/#inline-snippet) action to mention the same affected widget multiple times. * We fixed an issue that caused the inline snippet action to crash if the surrounding data widget was not configured. +* We fixed a styling issue in disabled check box controls. * We fixed an issue with text controls where the text was sometimes undesirably reverted. +* We fixed an issue where the text editor control did not have a border in dark mode. +* We fixed the icon styling in the auto-complete pop-up window of the text editor control in the dark mode. * We fixed an issue in the grid control where selecting multiple cells using Shift was inconsistent when clicking on the interactable control itself in the cell (meaning, the check box). +* We fixed an issue with the border color of selected cells in the grid control. +* We updated the building block image requirements to a PNG image that has the dimensions of 432 x 192 pixels. When the image is too large to fit into the **Toolbox**, it is downscaled. * We aligned the behavior of aggregates in grids with attribute columns. +* We fixed the tooltips that were not displayed for disabled toolbar buttons. +* We fixed an issue where the navigation editor's width changed upon performing UI updates (for example, toggling a check box). +* We fixed an issue with the search field where multiselection did not work correctly with numeric attributes. +* We fixed an issue with the rendering of custom app icons in the **Open App** dialog box. +* We fixed an issue where the **Commit Message** field was not focused upon opening the **Commit** dialog box. * We fixed an issue where a page parameter triggered a warning that it was unused if the only reference to that parameter was inside an XPath constraint. * We fixed an issue where a page parameter did not trigger a warning that it was unused if the parameter mapping of an action or data source pointed to an object of the same entity as the parameter. -* We fixed an issue with the search field where multiselection did not work correctly with numeric attributes. -* We fixed an exception in the XPath constraint editor that was thrown when the list of autocomplete suggestions was open and an erroneous character was being typed. -* We fixed an issue where expressions in pluggable widgets were not updated correctly when renaming an element (like a module or an entity), which caused consistency errors. * We fixed an issue where creating a non-persistable entity led to errors when attributes were read-only. * We fixed a Mendix Runtime error that occurred when a microflow was no longer being used in an app after doing a hot reload in Studio Pro. * We fixed an issue where the status of `ScheduledEventInformation` was `Completed` when the associated scheduled event failed. +* We fixed an exception in the XPath constraint editor that was thrown when the list of autocomplete suggestions was open and an erroneous character was being typed. * We fixed an issue in XPath constraint suggestions that gave incorrect suggestions when there were multiple predicates (meaning, expressions between the square brackets [`[`, `]`]). * We fixed an issue that occurred with PostgreSQL and Oracle databases where the `DATEDIFF` function in OQL calculated the difference in calendar weeks, which was inconsistent with other databases that calculate the difference in full weeks. * We fixed the issue where the `DATEDIFF` OQL function in Oracle threw an exception when calculating a difference in seconds. * The return type of the `round()` function with the second parameter now always returns a Decimal, even if the precision is 0. * The `ceil()`, `floor()`, and `round()` functions with a single argument now throw an exception if the result cannot be represented as an Integer/Long (for example, due to overflow). - -### Deprecations {#deprecations} - -* All SVN support has been removed. For more information, see [How to Migrate to Git](/developerportal/collaborate/migrate-to-git/). -* For published OData services, publishing OData version 3 is deprecated and will be removed in a future release. Use OData version 4 instead. -* We deprecated deploying directly to Cloud Foundry from Studio Pro. The functionality will be removed in Mendix 11. -* We removed deprecated methods from the Mendix Runtime API and the M2EE API. -* We deprecated the `Counters`, `Gauges`, `Sets`, and `Timers` interfaces from the Mendix Runtime API. These will be removed in Mendix 11. -* We removed the deprecated `com.mendix.core.UseMimeDecoderForBase64` Mendix Runtime setting. Base64 decoding is now always strict, as specified by RFC 4648. -* We removed the deprecated `rollbackTransAction()` method from the public `IContext` interface. Use `rollbackTransaction` instead. -* We increased the default BCrypt cost factor from 10 to 12. A BCrypt cost factor below 12 is deprecated and will be forbidden in a future release. Use a BCrypt cost factor of at least 12. - -### Breaking Changes {#breaking-changes} - -#### Various Breaking Changes - -* For published OData Services, Studio Pro now gives a consistency error when the exposed name of an attribute or association is the same as the exposed name of its entity, because that is not valid according to the OData standard. -* The validation of exposed names in published OData services now follows the OData standard more closely, with 128 characters being the maximum length for OData version 4 services. -* We upgraded the SQL Server JDBC driver to version 12.2.0. Since version 10, the driver uses TLS encryption by default. You can turn off encryption by setting `DatabaseUseSsl` to `false` or by setting `encrypt=false` in `DatabaseJdbcUrl`. -* We removed the deprecated reporting category widgets. Any reporting category widget in an existing app now triggers a consistency error. -* We removed the deprecated direct function calls from the Pluggable Widget API for [linked property values](/apidocs-mxsdk/apidocs/pluggable-widgets-client-apis-list-values/#linked-values). -* In OQL, using a path with an association in the `ON` clause of an `OUTER JOIN` is no longer allowed. -* In OQL, comparing an attribute to a collection parameter can only be done with the `IN` or `=` operators (as in, `Attribute IN $param`). -* In OQL, clauses like `Attribute = $RangeParameter`, `Attribute > RANGEBEGIN($RangeParameter)`, and `Attribute < RANGEEND($RangeParameter)` with an infinite range (from `null` to `null`) used to be ignored. Now, they are treated as `true`. This makes a difference when the clause has `OR` with another clause. Similarly, `Attribute < RANGEBEGIN($RangeParameter)` with a range starting with `null` or `Attribute > RANGEEND($RangeParameter)` with a range ending with `null` are no longer ignored, but treated as `false`. -* Duplicate column names in an OQL query are no longer allowed. -* Mendix no longer supports responding with custom reason phrases. This has the following effects: - * We removed `com.mendix.m2ee.api.IMxRuntimeResponse.setStatus(int, String)` from the Runtime API. - * Published REST services no longer allow for returning a custom reason phrase. When an operation microflow sets the `ReasonPhrase` attribute of the `System.HttpResponse` parameter, that value is now ignored. -* Legacy scheduled events (meaning, those that are non-repeating or have a start time) are no longer supported. Mendix Runtime will fail to start if legacy scheduled events exist. -* In Mendix [9.0](/releasenotes/studio-pro/9.0/), we removed support for Mendix Runtime uniqueness validation in preference of database uniqueness validation. There was still a custom setting to use the old behavior. This setting has now been removed. -* We are more strict in the URL formats we accept at the Mendix Runtime server. We no longer allow empty path segments (meaning, `//`, as in `http://your.app//`), ambiguous path segments (`http://your.app/%2e%2e/path`), or UTF-16 encoding (`http://your.app/path%u2192`). -* We upgraded `com.sun.xml.ws.jaxws-ri` from `2.3.6` to `4.0.1`. As a result, the `SOAPFaultException` that may be thrown by consumed web services is now in the `jakarta.xml.ws` namespace. -* We removed the deprecated metric types `statsd` and `logger`. Mendix now only supports Micrometer metrics. Correspondingly, the only valid value for the `com.mendix.metrics.Type` Mendix Runtime setting is `micrometer`. We also removed the following legacy StatsD runtime settings: `com.mendix.metrics.Host`, `com.mendix.metrics.Port`, `com.mendix.metrics.Items`, and `com.mendix.metrics.FlushTime`. You can use the `Metrics.Registries` Mendix Runtime setting to configure a StatsD registry instead. -* To make it possible for a multi-user task to have multiple assignees, we renamed the `WorkflowUserTask_Assignee` association to `WorkflowUserTask_Assignees`, and this is a reference set from now on. -* We removed the request metric `mx.runtime.stats.handler.requests.[name]`, where `name` is the request handler name. This metric was replaced with the metric `mx.runtime.stats.handler_requests`, with the request handler name added as a tag. -* The `parseDateTime\[UTC\]` microflow functions now use [strict parsing](https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/text/DateFormat.html#setLenient(boolean)) by default. To revert to lenient parsing, set the `com.mendix.core.LenientDateTimeParsing` custom Mendix Runtime setting to `true`. (Ticket 169612) -* It is no longer possible to call `clear()` on the list returned by the `IDataTable.getRows()` API function. The list returned by `subList()` is no longer modifiable. -* Instances of `IDataTable`, `IDataTableSchema`, and `IDataColumnSchame` no longer provide equality. As of now, `equals()` and `hashCode()` are based on object identity. -* An XPath constraint of the form `[$objectVariable/BooleanAttribute]` (where the microflow variable is not set) used to be ignored. Now, it is treated as `[false()]`. -* We changed the MIME type returned for *.js* files from the legacy `application/javascript` to `text/javascript`. -* We removed the deprecated error constants from `AdminException` and `IMxRuntime`. -* We removed the deprecated `IActionRegistrator#bundleComponentLoaded` method. -* We no longer support using DB2 as the database for applications. - -#### Generated Code Changes {#generated-code-changes} - -* The public constructors of generated constant and microflow proxy classes are now private, and the classes are marked final to prevent instantiation and derivation. -* Entity and list of entity parameters in Java actions are now initialized in the constructor, and the accompanying `__[FieldName]` field is generated as deprecated. To get access to the `IMendixObject` variant, call the `getMendixObject()` method on the field (or items in the list in case of a list). -* The `initialize(IContext, IMendixIdentifier)`, and `getGUID()`methods on generated entity proxies are no longer generated. -* We introduced the Mendix Runtime setting `ObjectManagement.StrictChangeBehavior` (formerly known as `StrictChangeBehaviour`), which is enabled by default. When enabled, trying to set an invalid value for an enumeration or a value for a calculated attribute throws an `InvalidEnumerationValueException` or `ReadOnlyAttributeException` response, respectively. We plan to remove this setting in Mendix version 11, after which, an exception will be raised when setting an invalid value. -* We changed the exception type from `CoreRuntimeException` to `ReadOnlyAttributeException` that occurs when trying to change a virtual method through `setValue`. -* The public constructors of generated `Constant` and `Microflow` proxy classes are now private, and the classes are marked final to prevent instantiation and derivation. -* The fields in Java actions are now generated as final fields. -* The `Entity` and `List of Entity` parameters in Java actions are now initialized in the constructor, and the accompanying `__[FieldName]` field will be generated as deprecated. To get access to the `IMendixObject` variant, call the `getMendixObject()` method on the field (or items in the list, in case of a list). -* The `initialize(IContext, IMendixIdentifier)` and `getGUID()` methods on generated entity proxies are no longer generated. -* We changed the exception type from `CoreRuntimeException` to `ReadOnlyAttributeException` that occurs when trying to change a virtual method through `setValue`. diff --git a/content/en/docs/releasenotes/studio-pro/7/7.23.md b/content/en/docs/releasenotes/studio-pro/7/7.23.md index 9038748bebd..4fb1ede1ebf 100644 --- a/content/en/docs/releasenotes/studio-pro/7/7.23.md +++ b/content/en/docs/releasenotes/studio-pro/7/7.23.md @@ -11,11 +11,7 @@ weight: 77 --- {{% alert color="info" %}} -This is the [LTS](/releasenotes/studio-pro/lts-mts/#lts) version 7 release for apps in production. -{{% /alert %}} - -{{% alert color="info" %}} -Support for Mendix 7 will be available after the release of Mendix 10 for a maximum duration of one year. For details, see the [Extended Support](/developerportal/support/#extended-support) section in *Mendix Support*. +Support for Mendix 7 is available after the release of Mendix 10 for a maximum duration of one year. For details, see the [Extended Support](/developerportal/support/#extended-support) section in *Mendix Support*. {{% /alert %}} ## 7.23.35 {#72335} diff --git a/content/en/docs/releasenotes/studio-pro/9/9.12.md b/content/en/docs/releasenotes/studio-pro/9/9.12.md index 722c814d902..d96e2566b25 100644 --- a/content/en/docs/releasenotes/studio-pro/9/9.12.md +++ b/content/en/docs/releasenotes/studio-pro/9/9.12.md @@ -5,10 +5,6 @@ description: "The release notes for Mendix Studio Pro version 9.12 (including al weight: 88 --- -{{% alert color="info" %}} -This is an [MTS](/releasenotes/studio-pro/lts-mts/#mts) version 9 release for apps in production. The preferred version 9 release for apps in production is [9.24](/releasenotes/studio-pro/9.24/) ([LTS](/releasenotes/studio-pro/lts-mts/#lts)). -{{% /alert %}} - ## 9.12.14 {#91214} **Release date: April 26th, 2023** diff --git a/content/en/docs/releasenotes/studio-pro/9/9.18.md b/content/en/docs/releasenotes/studio-pro/9/9.18.md index f95de8fc053..b71160e7174 100644 --- a/content/en/docs/releasenotes/studio-pro/9/9.18.md +++ b/content/en/docs/releasenotes/studio-pro/9/9.18.md @@ -5,10 +5,6 @@ description: "The release notes for Mendix Studio Pro version 9.18 (including al weight: 82 --- -{{% alert color="info" %}} -This is an [MTS](/releasenotes/studio-pro/lts-mts/#mts) version 9 release for apps in production. The preferred version 9 release for apps in production is [9.24](/releasenotes/studio-pro/9.24/) ([LTS](/releasenotes/studio-pro/lts-mts/#lts)). -{{% /alert %}} - ## 9.18.7 {#9187} **Release date: May 2nd, 2023** diff --git a/content/en/docs/releasenotes/studio-pro/9/9.6.md b/content/en/docs/releasenotes/studio-pro/9/9.6.md index 9c864f90339..f47ebc9e5f8 100644 --- a/content/en/docs/releasenotes/studio-pro/9/9.6.md +++ b/content/en/docs/releasenotes/studio-pro/9/9.6.md @@ -3,13 +3,8 @@ title: "9.6" url: /releasenotes/studio-pro/9.6/ description: "The release notes for Mendix Studio Pro version 9.6 (including all patches) with details on new features, bug fixes, and known issues." weight: 94 -#DEPRECATION NOTE: MariaDB 10.3 support to be dropped after June 1, update System Requirements directly with RN --- -{{% alert color="info" %}} -This is an [MTS](/releasenotes/studio-pro/lts-mts/#mts) version 9 release for apps in production. The preferred version 9 release for apps in production is [9.24](/releasenotes/studio-pro/9.24/) ([LTS](/releasenotes/studio-pro/lts-mts/#lts)). -{{% /alert %}} - {{% alert color="warning" %}} The Studio Pro distribution contains a utility called `mx-cf-client`, which makes it possible to deploy a Mendix application to Cloud Foundry using Studio Pro. `mx-cf-client` contains a vulnerable `log4j-core` library. The only scenario in which this could be exploited is when the applicable Cloud Foundry server is untrusted or hacked.

diff --git a/content/en/docs/releasenotes/studio-pro/lts-mts.md b/content/en/docs/releasenotes/studio-pro/lts-mts.md index 52b5c968395..040401b380d 100644 --- a/content/en/docs/releasenotes/studio-pro/lts-mts.md +++ b/content/en/docs/releasenotes/studio-pro/lts-mts.md @@ -9,13 +9,13 @@ weight: 1 The goal of this document is to clarify Mendix Studio Pro version options and help you decide which version to run your applications on. -To understand the different types of versions and releases, consider the example of Studio Pro version [8.18.1](/releasenotes/studio-pro/8.18/#8181) and see the sections below. +To understand the different types of versions and releases, consider the example of Studio Pro version [9.24.1](/releasenotes/studio-pro/9.24/#9241) and see the sections below. ### 1.1 Major Version {#major-version} -In the 8.18.1 example, the first number (**8**) indicates the major version. +In the 9.24.1 example, the first number (**9**) indicates the major version. -Mendix supports three major versions at a time. To clarify our current offering and in relation to our SLA, today Mendix supports major versions 7, 8, and 9. Once version 10 has been released, version 7 will only be supported via the Extended Support product. +Mendix supports three major versions at a time. To clarify our current offering and in relation to our SLA, today Mendix supports major versions 8, 9, and 10. Version 7 is only supported via the Extended Support product. As of Mendix 10, to make planning version upgrades easier for our users, Mendix will release in a two-year cadence, which means that every two years we plan to release a new major version in June. This will help in preparing and planning to adopt new releases and upgrade older Mendix versions. Each major version release will start with two Beta releases. @@ -37,13 +37,13 @@ For Mendix 10 and 11, we are planning to follow this release timeline: ### 1.2 Minor Version -In the 8.18.1 example, the second number (**18**) indicates the minor version. +In the 9.24.1 example, the second number (**18**) indicates the minor version. A minor version is generally released every month. It includes new features and fixes, but it does not include breaking changes. ### 1.3 Patch Version {#patch-version} -In the 8.18.1 example, the third number (**1**) indicates the patch version. +In the 9.24.1 example, the third number (**1**) indicates the patch version. A patch version is released on an as-needed basis. It includes security fixes and critical bug fixes, but it does not include new features or breaking changes (unless these address security issues). @@ -55,7 +55,6 @@ These are the current LTS versions of Studio Pro: * [9.24](/releasenotes/studio-pro/9.24/) (started in March, 2023) * [8.18](/releasenotes/studio-pro/8.18/) (started in March, 2021) -* [7.23](/releasenotes/studio-pro/7.23/) (started in February, 2019) Mendix advises using LTS versions for all production apps, as LTS versions of Studio Pro enjoy the highest security and stability. LTS versions also have the longest support duration compared to other versions. @@ -87,11 +86,7 @@ The impact of upgrading from an LTS to an LTS is often the lowest of these optio An MTS is a minor version released approximately every 6 months after a new major version release for General Availability. -These are the current MTS versions for Studio Pro: - -* [9.18](/releasenotes/studio-pro/9.18/) (started in September, 2022) -* [9.12](/releasenotes/studio-pro/9.12/) (started in March, 2022) -* [9.6](/releasenotes/studio-pro/9.6/) (started in September, 2021) +The next MTS version for Studio Pro will be 10.6, due to be released in December, 2023. {{% alert color="info" %}} Older MTS versions (for example, 9.6) remain supported until the next major version has been released for General Availability (for example, 10). diff --git a/layouts/partials/landingpage/latest-releases.html b/layouts/partials/landingpage/latest-releases.html index a0a705fd5eb..8553985a1db 100644 --- a/layouts/partials/landingpage/latest-releases.html +++ b/layouts/partials/landingpage/latest-releases.html @@ -2,29 +2,32 @@

Latest Releases

diff --git a/layouts/partials/landingpage/product-cards.html b/layouts/partials/landingpage/product-cards.html index bcf773e1a8e..2102be29422 100644 --- a/layouts/partials/landingpage/product-cards.html +++ b/layouts/partials/landingpage/product-cards.html @@ -1,37 +1,22 @@ - + @@ -59,7 +59,7 @@

    @@ -72,7 +72,7 @@

      diff --git a/static/attachments/refguide/general/mx-command-line-tool/merge.png b/static/attachments/refguide/general/mx-command-line-tool/merge.png new file mode 100644 index 00000000000..f7aad3e75a8 Binary files /dev/null and b/static/attachments/refguide/general/mx-command-line-tool/merge.png differ diff --git a/static/attachments/refguide/modeling/application-logic/microflows-and-nanoflows/parameter/set-parameter-as-return-value.png b/static/attachments/refguide/modeling/application-logic/microflows-and-nanoflows/parameter/set-parameter-as-return-value.png new file mode 100644 index 00000000000..60576c7dd7a Binary files /dev/null and b/static/attachments/refguide/modeling/application-logic/microflows-and-nanoflows/parameter/set-parameter-as-return-value.png differ diff --git a/static/attachments/refguide/modeling/integration/ml-kit/ml-kit/bert-model-input-shapes.png b/static/attachments/refguide/modeling/integration/ml-kit/ml-kit/bert-model-input-shapes.png index c02b0e9f3e6..34ad4e647fd 100644 Binary files a/static/attachments/refguide/modeling/integration/ml-kit/ml-kit/bert-model-input-shapes.png and b/static/attachments/refguide/modeling/integration/ml-kit/ml-kit/bert-model-input-shapes.png differ diff --git a/static/attachments/refguide/modeling/integration/ml-kit/ml-kit/edit-model-input-shapes.png b/static/attachments/refguide/modeling/integration/ml-kit/ml-kit/edit-model-input-shapes.png index 98e5d648d58..0a67d737bcb 100644 Binary files a/static/attachments/refguide/modeling/integration/ml-kit/ml-kit/edit-model-input-shapes.png and b/static/attachments/refguide/modeling/integration/ml-kit/ml-kit/edit-model-input-shapes.png differ diff --git a/static/attachments/refguide/modeling/integration/ml-kit/ml-kit/ml-model-created-entities.png b/static/attachments/refguide/modeling/integration/ml-kit/ml-kit/ml-model-created-entities.png index 651d86ee424..dc6f482e06e 100644 Binary files a/static/attachments/refguide/modeling/integration/ml-kit/ml-kit/ml-model-created-entities.png and b/static/attachments/refguide/modeling/integration/ml-kit/ml-kit/ml-model-created-entities.png differ diff --git a/static/attachments/refguide/modeling/integration/ml-kit/ml-kit/model-input-errors.png b/static/attachments/refguide/modeling/integration/ml-kit/ml-kit/model-input-errors.png index 15c900c4349..e1b4ca1e31e 100644 Binary files a/static/attachments/refguide/modeling/integration/ml-kit/ml-kit/model-input-errors.png and b/static/attachments/refguide/modeling/integration/ml-kit/ml-kit/model-input-errors.png differ diff --git a/static/attachments/refguide/modeling/integration/published-rest-services/published-rest-technical-details/published-rest-routing/determine-operation.png b/static/attachments/refguide/modeling/integration/published-rest-services/published-rest-technical-details/published-rest-routing/determine-operation.png index 32e68124f92..0fc717c7b6e 100644 Binary files a/static/attachments/refguide/modeling/integration/published-rest-services/published-rest-technical-details/published-rest-routing/determine-operation.png and b/static/attachments/refguide/modeling/integration/published-rest-services/published-rest-technical-details/published-rest-routing/determine-operation.png differ diff --git a/static/attachments/refguide/modeling/menus/file-menu/open-app-dialog/open-app.png b/static/attachments/refguide/modeling/menus/file-menu/open-app-dialog/open-app.png index 70b7be83879..dce7ad49184 100644 Binary files a/static/attachments/refguide/modeling/menus/file-menu/open-app-dialog/open-app.png and b/static/attachments/refguide/modeling/menus/file-menu/open-app-dialog/open-app.png differ diff --git a/static/attachments/refguide/modeling/menus/file-menu/open-app-dialog/select-app.png b/static/attachments/refguide/modeling/menus/file-menu/open-app-dialog/select-app.png index dd8d3faee2d..57614bf20b7 100644 Binary files a/static/attachments/refguide/modeling/menus/file-menu/open-app-dialog/select-app.png and b/static/attachments/refguide/modeling/menus/file-menu/open-app-dialog/select-app.png differ diff --git a/static/attachments/refguide8/modeling/integration/published-rest-services/published-rest-technical-details/published-rest-routing/determine-operation.png b/static/attachments/refguide8/modeling/integration/published-rest-services/published-rest-technical-details/published-rest-routing/determine-operation.png index 32e68124f92..0fc717c7b6e 100644 Binary files a/static/attachments/refguide8/modeling/integration/published-rest-services/published-rest-technical-details/published-rest-routing/determine-operation.png and b/static/attachments/refguide8/modeling/integration/published-rest-services/published-rest-technical-details/published-rest-routing/determine-operation.png differ diff --git a/static/attachments/refguide9/modeling/integration/published-rest-services/published-rest-technical-details/published-rest-routing/determine-operation.png b/static/attachments/refguide9/modeling/integration/published-rest-services/published-rest-technical-details/published-rest-routing/determine-operation.png index 32e68124f92..0fc717c7b6e 100644 Binary files a/static/attachments/refguide9/modeling/integration/published-rest-services/published-rest-technical-details/published-rest-routing/determine-operation.png and b/static/attachments/refguide9/modeling/integration/published-rest-services/published-rest-technical-details/published-rest-routing/determine-operation.png differ diff --git a/static/attachments/releasenotes/calendar/themes.png b/static/attachments/releasenotes/calendar/themes.png new file mode 100644 index 00000000000..7666fe5d150 Binary files /dev/null and b/static/attachments/releasenotes/calendar/themes.png differ diff --git a/static/attachments/releasenotes/mx-world-2021/innovations.png b/static/attachments/releasenotes/mx-world-2021/innovations.png deleted file mode 100644 index b3a973312f9..00000000000 Binary files a/static/attachments/releasenotes/mx-world-2021/innovations.png and /dev/null differ diff --git a/templates/marketplace-aws-connector-page-template.md b/templates/marketplace-aws-connector-page-template.md index e618be225d3..e9d29829d75 100644 --- a/templates/marketplace-aws-connector-page-template.md +++ b/templates/marketplace-aws-connector-page-template.md @@ -32,6 +32,16 @@ To use the {CONNECTOR NAME} connector, you must also install and configure the f * [AWS Authentication connector version {MINIMUM REQUIRED VERSION} or higher](https://marketplace.mendix.com/link/component/120333) - This connector is required to authenticate with Amazon Web Services (AWS). It is crucial for the {CONNECTOR NAME} connector to function correctly. For more information about installing and configuring the AWS Authentication connector, see [AWS Authentication](/appstore/connectors/aws/aws-authentication/). * {OTHER MODULES AS REQUIRED, WITH A SHORT DESCRIPTION OF THEIR PURPOSE AND A LINK TO THEIR PAGES ON MARKETPLACE.} +### 1.3 Licensing and Cost + +This connector is available as a free download from the Mendix Marketplace, but the AWS service to which is connects may incur a usage cost. For more information, refer to AWS documentation. + +{{% alert color="info" %}} +Most AWS services provide a free tier that allows easy access to most services. To find out if this service is included in the free tier, see [AWS Free Tier](https://aws.amazon.com/free/). To calculate the potential cost of using an AWS service outside of the free tier, use the [AWS Cost calculator](https://calculator.aws/). +{{% /alert %}} + +Depending on your use case, your deployment environment, and the type of app that you want to build, you may also need a license for your Mendix app. For more information, refer to [Licensing Apps](/developerportal/deploy/licensing-apps-outside-mxcloud/). + ## 2 Installation Follow the instructions in [How to Use Marketplace Content in Studio Pro](/appstore/general/app-store-content/) to import the {CONNECTOR NAME} connector into your app. @@ -42,7 +52,6 @@ After you install the connector, you can find it in the **App Explorer**, in the ### 3.1 Configuring AWS Authentication -#### THIS SECTION IS PRETTY MUCH ALWAYS REQUIRED, BUT THERE IS ONE PLATFORM-SUPPORTED CONNECTOR THAT USES A DIFFERENT AUTHENTICATION SETUP (AWS S3). IN THAT CASE, THIS SECTION IS SKIPPED. #### THIS SECTION HAS SCREENSHOTS FROM THE DYNAMODB CONNECTOR. REPLACE THEM WITH SIMILAR SCREENSHOTS FROM YOUR CONNECTOR. In order to use the {AWS SERVICE NAME} service, you must authenticate with AWS. To do so, you must set up a configuration profile in your Mendix app. After you set up the configuration profile, the connector module handles the authentication internally.