diff --git a/content/en/docs/refguide/modeling/app-explorer/_index.md b/content/en/docs/refguide/modeling/app-explorer/_index.md index b82635d475d..739dfbef1af 100644 --- a/content/en/docs/refguide/modeling/app-explorer/_index.md +++ b/content/en/docs/refguide/modeling/app-explorer/_index.md @@ -10,14 +10,14 @@ aliases: The **App Explorer** shows the complete structure of your app including all documents inside the modules: -{{< figure src="/attachments/refguide/modeling/app-explorer/app-explorer.png" class="no-border" >}} +{{< figure src="/attachments/refguide/modeling/app-explorer/app-explorer.png" width="200" >}} The **App Explorer** consists of the following: * **App** folder – contains settings and documents that apply to your app as a whole (for more information, see [Apps](/refguide/app/)) -* **Modules** – contain settings, a domain model, and *documents* that apply to this module (for more information, see [Modules](/refguide/modules/)) - * **Domain model** – a model that describes the information (or *data*) used by your application in an abstract way; one module can have one domain model only - * **Document** – an individual file, for example, a [page](/refguide/pages/), [microflow](/refguide/microflows/), or a [scheduled event](/refguide/scheduled-events/). +* **Modules** – contain settings, a domain model, and documents that apply to this module (for more information, see [Modules](/refguide/modules/)) + * **Domain model** – a model that describes the information (or data) used by your application in an abstract way; one module can have one domain model only + * **Document** – an individual file, for example, a [page](/refguide/pages/), [microflow](/refguide/microflows/), or a [scheduled event](/refguide/scheduled-events/) ## Performing Basic Functions {#basic-functions} @@ -27,12 +27,12 @@ In the **App Explorer**, you can do the following: * Navigate the **App Explorer** using and keys * Expand a folder or open a document by pressing Enter * Clear the filter query by pressing Esc -* **Open the document** – double-click the document to open it -* **Select the active document** – click the icon in the upper-right corner of the **App Explorer** to quickly view the active document in the **App Explorer** tree. By default the active document is always selected so you can quickly see where the document you are editing is located. You can change this behavior in the **Edit** > **Preferences** dialog box. -* **Expand all documents** – click the plus icon in the upper-left corner of the **App Explorer** to expand all document and see the whole structure of your app -* **Collapse all documents** – click the minus icon in the upper-left corner of the **App Explorer** to collapse all documents -* **Expand or collapse an individual folder** – to expand/collapse documents in an individual folder click the plus/minus icon or double-click the folder -* **Perform actions specific to the selected folder** – right-click the selected folder to see what functions you can perform. The list of functions depends on the folder, for example, when right-clicking the **System** module, you can only find usages of this module, while when right-clicking **MyFirstModule** you can add a page, add a microflow, rename the module, export the module package, copy/paste documents, and much more. +* **Open a document** – double-click a document to open it +* **Select the active document** – click the icon in the upper-right corner of the **App Explorer** to view the active document in the **App Explorer** tree. By default, the active document is always selected so you can quickly see where the document you are editing is located. You can change this behavior in the **Edit** > **Preferences** dialog box. +* **Expand all documents** – click the down arrow in the upper-left corner of the **App Explorer** to expand all document and see the whole structure of your app +* **Collapse all documents** – click the right arrow in the upper-left corner of the **App Explorer** to collapse all documents +* **Expand or collapse an individual folder** – click the plus/minus icon or double-click the folder you want to expand or collapse +* **Perform actions specific to the selected folder** – right-click the selected folder to see what functions you can perform. The list of functions depends on the folder. For example, when right-clicking the **System** module, you can only find usages of this module, while when right-clicking **MyFirstModule** you can add a page, add a microflow, rename the module, export the module package, copy/paste documents, and much more. ## Read More 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 62663aa3bc1..cc9fb3fecf9 100644 --- a/content/en/docs/refguide/modeling/app-explorer/app/_index.md +++ b/content/en/docs/refguide/modeling/app-explorer/app/_index.md @@ -9,11 +9,11 @@ aliases: ## 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, 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/). +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/). ## Settings -Clicking **Settings** opens a dialog box with settings for the end-user languages, the app directory, and the database and server. +In **Settings**, you can manage the settings for the end-user languages, the app directory, and the database and server. For more information, see [App Settings](/refguide/app-settings/). @@ -31,7 +31,7 @@ For more information, see [Navigation](/refguide/navigation/). ## 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 such as information and error messages that are produced by the server or the client. You can translate these texts so they appear in the user's preferred language. For more information, see [System Texts](/refguide/system-texts/). diff --git a/content/en/docs/refguide/modeling/app-explorer/app/app-settings/_index.md b/content/en/docs/refguide/modeling/app-explorer/app/app-settings/_index.md index 1a45a7ed856..2fc6a38fcfd 100644 --- a/content/en/docs/refguide/modeling/app-explorer/app/app-settings/_index.md +++ b/content/en/docs/refguide/modeling/app-explorer/app/app-settings/_index.md @@ -16,7 +16,7 @@ View your App Settings by clicking **App Explorer** > **App** > **Settings**: In the **App Settings** dialog box, you can alter the settings that are applicable to the whole app: -{{< figure src="/attachments/refguide/modeling/app-explorer/app/app-settings/app-settings-configuration.png" width="300px" class="no-border" >}} +{{< figure src="/attachments/refguide/modeling/app-explorer/app/app-settings/app-settings-configuration.png" width="400" >}} The categories described below are available. @@ -48,13 +48,13 @@ The resources are downloaded to the device once for each deployment and are reus ### Optimize Network Calls {#optimize-network-calls} -If this option is enabled (**true** by default), Mendix analyzes every microflow that can be triggered from the client to minimize the number of objects required to be sent. This speeds up your app significantly. +If this option is enabled (**yes** by default), Mendix analyzes every microflow that can be triggered from the client to minimize the number of objects required to be sent. This speeds up your app significantly. -If you experience an issue while running your app in which objects seem to be lost, this option can be disabled to resolve that issue. If this does resolve the issue, please file a bug report so that we can fix the issue in the platform. +If you experience an issue while running your app in which objects seem to be lost, this option can be disabled to resolve that issue. If this does resolve the issue, file a bug report so the issue can be fixed in the platform. ### URL Prefix{#url-prefix} -Here you have the option to change the default URL prefix for all pages and microflows in your application. The default prefix value is `/p/`. +You have the option to change the default URL prefix for all pages and microflows in your application. The default prefix value is `/p/`. {{< figure src="/attachments/refguide/modeling/app-explorer/app/app-settings/url-prefix.png" width="300px" class="no-border" >}} @@ -70,43 +70,43 @@ The URL prefix must be alphanumeric. It cannot be empty, contain whitespace, or * "ws-doc" * "xas" -Furthermore, static files are served on `/`. So any prefix that has the same name as a static folder located in `/deployment/web/` will cause an error. +Furthermore, static files are served on `/`, so any prefix that has the same name as a static folder located in `/deployment/web/` will cause an error. -If the URL prefix breaks any of the rules mentioned above, then you will get a consistency error. +If the URL prefix breaks any of the rules mentioned above, you will get a consistency error. ### Java Version{#java-version} -Here you can select which Java version to use for you application. For information on how the Java version can influence the behavior of an application, see [Java Version Migration](/refguide/java-version-migration/). +You can select which Java version to use for you application. For information on how the Java version can influence the behavior of an application, see [Java Version Migration](/refguide/java-version-migration/). {{% alert color="info" %}} For Studio Pro 11, you should choose Java 21. {{% /alert %}} -For local development the Java version configured here needs to have a corresponding JDK configured in the [Studio Pro preferences](/refguide/preferences-dialog/#jdk). +For local development, the Java version configured here needs to have a corresponding JDK configured in the [Studio Pro preferences](/refguide/preferences-dialog/#jdk). Applications deployed to the cloud will use this setting to select which Java version to use. ### After Startup{#after-startup} -Here you can select a microflow that is automatically executed immediately after the application has been started up. +You can select a microflow that is automatically run immediately after the application has been started up. {{% alert color="warning" %}} -There is a timeout of *11 minutes* on the after startup microflow. If your after startup microflow takes longer than 11 minutes your whole app will fail to start. +There is a timeout of 11 minutes on the after startup microflow. If your after startup microflow takes longer than 11 minutes, your whole app will fail to start. -**After startup** is designed to initialize the app and therefore runs *before* the app is able to respond to incoming service requests (for example, published REST services). +After startup is designed to initialize the app and therefore runs before the app is able to respond to incoming service requests (for example, published REST services). {{% /alert %}} ### Before Shutdown -Here you can select a microflow that is automatically executed when a shutdown command has been given, just before the application shuts down. +You can select a microflow that is automatically run when a shutdown command has been given, just before the application shuts down. ### Health Check -Here you can select a microflow which performs the checks on a running app that you think are required to assess the app's health. +You can select a microflow which performs the checks on a running app that you think are required to assess the app's health. The result of each check is returned as a string, which is displayed in the [Mendix Portal](/developerportal/deploy/environments/). When the microflow returns an empty string, the application is healthy; otherwise, the string presents an explanation of why the application is not healthy. -This microflow gets called every 10 seconds to check if the app is still healthy. This is done by executing it using m2ee on the admin port of your app. For more information, see the section [Health Check](/refguide/monitoring-mendix-runtime/#check-health) in *Monitoring Mendix Runtime*. +This microflow is called every 10 seconds to check if the app is still healthy. This is done by executing it using m2ee on the admin port of your app. For more information, see [Health Check](/refguide/monitoring-mendix-runtime/#check-health) section *Monitoring Mendix Runtime*. {{% alert color="info" %}} @@ -139,7 +139,7 @@ The **Scheduled event time zone** defines under which time zone scheduled events This affects time zone-related operations, such as parsing and formatting dates from/to strings and obtaining the beginning of the current day. -If you run on-premises, then you can select the time zone to which the server is set. However, please note that no guarantees are given for the whereabouts of application servers in the cloud. +If you run on-premises, you can select the time zone to which the server is set. However, note that no guarantees are given for the whereabouts of application servers in the cloud. ### Hash Algorithm{#hash-algorithm} @@ -150,7 +150,7 @@ The **Hash algorithm** is used to generate hash values for attributes of the has | **BCrypt** (default, recommended) | Resistant to brute-force search attacks. | | **SSHA256** | Salted Secure Hash Algorithm 2, digest length 256 bits. | -Mendix believes both algorithms are secure enough to store passwords within Mendix. The main difference between **BCrypt** and **SSHA256** is that the BCrypt algorithm has been configured so that it is relatively slow on purpose, since it was designed specifically to stop brute force attacks. That's why this results in a slight performance difference with the SSHA256 algorithm. +Mendix believes both algorithms are secure enough to store passwords within Mendix. The main difference between **BCrypt** and **SSHA256** is that the BCrypt algorithm has been configured so it is relatively slow on purpose, since it was designed specifically to stop brute force attacks. That is why this results in a slight performance difference with the SSHA256 algorithm. #### BCrypt Cost {#bcrypt-cost} @@ -162,16 +162,16 @@ If the BCrypt cost is low, the performance difference is hardly noticeable to a #### Performance Tests -A (web service) user will sign in to execute a web service operation, wait for the operation to finish, and finally get the result back (if any). +A (web service) user will sign in to run a web service operation, wait for the operation to finish, and get the result back (if any). -Imagine an empty microflow that returns nothing at all exposed as a published web service. We ask one user to execute this operation as many times as they can in one minute (simulated with SoapUI). First we set the hashing algorithm to **BCrypt** (with cost value 10), then we set it to **SSHA256**. Any extra overhead here (on top of establishing the connection, building the XML message and so forth) is basically the hashing algorithm, as the operation should take near zero milliseconds and there is no result. So that leaves only the login, or, more precisely, the hashing of the password. +Imagine an empty microflow that returns nothing at all exposed as a published web service. We ask one user to execute this operation as many times as they can in one minute (simulated with SoapUI). First, we set the hashing algorithm to **BCrypt** (with cost value 10), then we set it to **SSHA256**. Any extra overhead here (on top of establishing the connection, building the XML message and so forth) is basically the hashing algorithm, as the operation should take near zero milliseconds and there is no result. So that leaves only the login, or, more precisely, the hashing of the password. | Hashing Algorithm | Total Operations Executed | Operation per Second | Overhead in Milliseconds | | --- | --- | --- | --- | | BCrypt | 654 | 10.88 | 91.9 | | SSHA256 | 7163 | 119.36 | 8.4 | -So 80 milliseconds per operation is not that much, right? Well, that depends on how long the operation itself takes. +80 milliseconds per operation does not appear to be much, but it depends on how long the operation itself takes. | Operation Duration in Seconds | Operations per Hour (BCrypt) | Operations per Hour (SSHA256) | Difference % | | --- | --- | --- | --- | @@ -181,19 +181,19 @@ So 80 milliseconds per operation is not that much, right? Well, that depends on | 5 | 707 | 719 | +1.67% | | 15 | 239 | 240 | +0.5% | -The difference is noticeable when the operation takes less time. So if you expect a very high amount of concurrency in operations where hashing takes place (most commonly any place where login operations are involved), you might want to consider changing your hashing algorithm. +The difference is noticeable when the operation takes less time. If you expect a very high amount of concurrency in operations where hashing takes place (most commonly any place where login operations are involved), you might want to consider changing your hashing algorithm. {{% alert color="info" %}} It is important to remember when changing hashing algorithms that any hashed attribute (like the `System$User` password attribute) has its algorithm set on hashing. In other words, for the hashing type to take effect, any existing hashed attribute will have to be reset using the new hashing type. {{% /alert %}} -### Rounding Numbers{#rounding} +### Round Numbers{#rounding} The **Round Numbers** setting is used to select how to round numbers when performing calculations. The rounding methods **Half away from zero** and **Half to the nearest even number** indicate how rounding is performed in the case of a tie (for example, 2.5). -This table presents the results of rounding the input to one digit with the given method of rounding numbers: +The table below presents the results of rounding the input to one digit with the given method of rounding numbers: | Input Number | Half Away from Zero *(default)* | Half to the Nearest Even Number | | --- | --- | --- | @@ -256,7 +256,7 @@ The **Default language** indicates the language that is used when a user has not This is the list of languages in which your application will be available for users. -For each language, you can configure whether to check that all mandatory texts have a value. The default language is always checked. If a language is not checked and certain texts are not translated in Studio Pro, the default language is used as fall-back language. This means that you can run your application even though you have only partially translated your interface into a new language. +For each language, you can configure whether to check that all mandatory texts have a value. The default language is always checked. If a language is not checked and certain texts are not translated in Studio Pro, the default language is used as fallback language. This means you can run your application even though you have only partially translated your interface into a new language. ## Certificates Tab @@ -265,13 +265,13 @@ Certificates are used to connect to web services over HTTPS when the following r * The server uses a self-signed certificate authority, and/or * A client certificate (certificate with a private key) is required -These certificates can be imported into Studio Pro using the **Import** button. Certificate authority files usually have a *.crt* extension, and client certificates usually have a *.p12* or *.pfx* extension. After importing, use **View details** to acquire more information concerning the certificate. +These certificates can be imported into Studio Pro using the **Import** button. Certificate authority files usually have a *.crt* extension, and client certificates usually have a *.p12* or *.pfx* extension. After importing, use **View details** to get more information about the certificate. Client certificates added here will be used whenever a server accepts a client certificate. If you upload more than one client certificate, one of them will be chosen based on the requirements of the server. If you need more control over client certificates, you should not upload the certificates here, but use the [Runtime customization](/refguide/custom-settings/) *ClientCertificates*, *ClientCertificatePasswords*, and *ClientCertificateUsages* settings. {{% alert color="warning" %}} -When running from Studio Pro or from Eclipse, the certificates will be used automatically to connect over *HTTPS*. When running on a server, the location of the certificate files has to be specified in the configuration file. +When running from Studio Pro or from Eclipse, the certificates will be used automatically to connect over HTTPS. When running on a server, the location of the certificate files has to be specified in the configuration file. {{% /alert %}} {{% alert color="warning" %}} @@ -318,13 +318,13 @@ Older apps may still use a theme ZIP file as the basis for their theme. In this This practice is deprecated and will be removed in a future version. {{% /alert %}} -Switching from a ZIP file to a UI resources package is straightforward: +To switch from a ZIP file to a UI resources package, follow the steps below: -1. Firstly, replace the contents of the theme folder with the contents of the desired ZIP file. +1. Replace the contents of the theme folder with the contents of the desired ZIP file. -2. Then, use the **UI resources package** setting described above to select a module. Ideally, this module should only contain UI documents, such as page templates and building blocks. This will allow you to export and import the module to other apps without worrying about reference errors. +2. Use the **UI resources package** setting described above to select a module. Ideally, this module should only contain UI documents, such as page templates and building blocks. This will allow you to export and import the module to other apps without worrying about reference errors. -3. Lastly, set the **Theme ZIP file** setting to **None**. +3. Set the **Theme ZIP file** setting to **None**. ### Marking as a UI Resources Module @@ -340,7 +340,7 @@ You can set an explicit order in the theme settings (**App Settings** > **Theme* {{< figure src="/attachments/refguide/modeling/app-explorer/app/app-settings/app-theme-settings.png" alt="app theme settings" class="no-border" >}} -## Workflows Tab {#workflows} +## Workflow Tab {#workflows} ### User Entity @@ -348,7 +348,8 @@ You can set an explicit order in the theme settings (**App Settings** > **Theme* ### Optimization -Allows you to configure the maximum number of workflow and microflow threads that can be executed simultaneously by the Runtime. This is an advanced setting that gives developers control over app performance. Change these settings when you face performance issues on executing workflow instances or workflow-initiated microflows. The two values indicate the amount of threads that process the queues containing workflow instances or workflow-initiated microflows, for more information see [Workflow Instance Threads](#workflow-instance-threads) and [Microflow Threads](#microflow-threads) sections below. +This section allows you to configure the maximum number of workflow and microflow threads that can be executed simultaneously by the Runtime. This is an advanced setting that gives developers control over app performance. Change these settings when you face performance issues on executing workflow instances or workflow-initiated microflows. The two values in this field indicate the amount of threads that process the queues containing workflow instances or workflow-initiated microflows. For more information, see the [Workflow Instance Threads](#workflow-instance-threads) and [Microflow Threads](#microflow-threads) sections below. + App performance can be tracked (from Mendix 9.19 and above) using the following Task Queue metrics: * `mx.runtime.stats.taskqueue.queue-wait-time` – the amount of time a task has to wait for execution @@ -364,11 +365,11 @@ If the waiting time of the queue increases and active threads in the queue reach #### Workflow Instance Threads {#workflow-instance-threads} -Defines the maximum number of threads that can process active workflow instances simultaneously. This setting does not relate to the amount of workflow instances that are active in the system. +This defines the maximum number of threads that can process active workflow instances simultaneously. This setting does not relate to the amount of workflow instances that are active in the system. #### Microflow Threads {#microflow-threads} -Defines the maximum number of workflow-initiated microflows that the Runtime executes simultaneously. Workflow-initiated microflows are microflows defined as event handlers or microflow call activities defined in workflows. This setting has no influence on microflows executed by pages or other parts of the system. +This defines the maximum number of workflow-initiated microflows that the Runtime executes simultaneously. Workflow-initiated microflows are microflows defined as event handlers or microflow call activities defined in workflows. This setting has no influence on microflows executed by pages or other parts of the system. ### Event Handlers {#event-handlers} @@ -409,15 +410,15 @@ This tab can be used to view the managed dependencies in your app in one place a ### Overview -This shows all the direct managed dependencies in your app listed by group and artifact. It shows which versions of the dependencies you have and which modules they are coming from. If your app reports multiple versions of the same group and artifact then the highest version is used, so having multiple versions of a dependency is not necessarily a problem. +This shows all the direct managed dependencies in your app listed by group and artifact. It shows which versions of the dependencies you have and which modules they are coming from. If your app reports multiple versions of the same group and artifact, the highest version is used, so having multiple versions of a dependency is not necessarily a problem. ### Managed Dependency Exclusions -This shows all the managed dependencies in your app listed by package name. This overview includes both direct and transitive dependencies. If you have conflicts between different dependencies, you can uncheck here any files which you want to exclude. Ensure you leave at least one dependency which supports any calls made by your app or its dependencies. +This shows all the managed dependencies in your app listed by package name. This overview includes both direct and transitive dependencies. If you have conflicts between different dependencies, you can uncheck any files that you want to exclude. Ensure you leave at least one dependency which supports any calls made by your app or its dependencies. ### Userlib Exclusions -This shows the libraries from the userlib directory and allows you to exclude them from deployment. Use this, for example, if there is an add-on module that ships with a different version of a library that is already in your 'userlib' folder. +This shows the libraries from the userlib directory and allows you to exclude them from deployment. Use this, for example, if there is an add-on module that ships with a different version of a library that is already in your userlib folder. ## Solution Tab {#solution} @@ -427,7 +428,7 @@ If you want to distribute your app as an adaptable solution package and allow up A distributable app must have a **Solution version** that you can set on this tab. -If you are implementing a solution, **Based on** setting shows the version of the solution package your app is currently based on. +If you are implementing a solution, the **Based on** setting shows the version of the solution package your app is currently based on. ## Miscellaneous Tab {#miscellaneous} @@ -453,7 +454,7 @@ See the list below for detailed information on which widgets are generated in va You can decide how associations are stored in the database. -This option allows you to change the default for new associations. The initial defaults will be as follows: +This option allows you to change the default for new associations. The initial defaults are as follows: * **New projects** – one-to-many and one-to-one associations are implemented as direct associations * **Upgraded projects** – for projects which are upgraded from an older version of Mendix, all new associations continue to be implemented as association tables diff --git a/content/en/docs/refguide/modeling/app-explorer/app/app-settings/configuration.md b/content/en/docs/refguide/modeling/app-explorer/app/app-settings/configuration.md index 3c79bf99ef0..2e0e51c0d71 100644 --- a/content/en/docs/refguide/modeling/app-explorer/app/app-settings/configuration.md +++ b/content/en/docs/refguide/modeling/app-explorer/app/app-settings/configuration.md @@ -6,9 +6,9 @@ url: /refguide/configuration/ ## Introduction -A configuration is a group of settings that are applied when running your app locally. To access configurations, open the **App Explorer** > **App** > **Settings** > the **Configuration** tab. +A configuration is a group of settings that are applied when running your app locally. To access configurations, open the **App Explorer** > **App** > **Settings** > the **Configurations** tab. -You can define any number of configurations. The active configuration, as in, the one that will be used when running your application, is determined by the drop-down in the toolbar of Studio Pro. +You can define any number of configurations. The active configuration, meaning the one that will be used when running your application, is determined by the drop-down in the toolbar of Studio Pro. You can use configurations to have different database settings for different people working on your app. Maybe one person has SQL Server on their computer and the other has PostgreSQL. You can also have a shared configuration for connecting to a database server that you both have access to. @@ -20,13 +20,13 @@ When you are deploying your application to a server or Mendix Cloud, you will ha A configuration contains the following: -* **Name** – the name of the configuration -* [Database tab](#database) -* [Server tab](#server) -* [Constants tab](#constants) -* [Custom tab](#custom) -* [Headers tab](#headers) -* [Tracing tab](/refguide/tracing-in-runtime/#min-configuration) +* Name – the name of the configuration +* [Database](#database) +* [Server](#server) +* [Constants](#constants) +* [Custom](#custom) +* [Headers](#headers) +* [Tracing](/refguide/tracing-in-runtime/#min-configuration) ### Database {#database} @@ -35,7 +35,7 @@ The **Database** tab has the following settings: * **Type** – the type of database in which the end-user data of your application is stored * **URL (not for built-in database)** – the URL of the database server that contains your app * **Database name (called Database SID for Oracle)** – the name of the database that contains your app -* **Use integrated security (only for SQL Server)** – with SQL Server you can use integrated security to gain access to the database. This means that your Windows credentials are used to sign in to SQL Server. If you disable integrated security you can enter a user name and password manually. +* **Use integrated security (only for SQL Server)** – with SQL Server, you can use integrated security to gain access to the database. This means your Windows credentials are used to sign in to SQL Server. If you disable integrated security, you can enter a user name and password manually. * **User name (not for built-in database)** – the user name that is used to sign in to the database server. If you use integrated security, no user name has to be specified. * **Password (not for built-in database)** – the password that is used to sign in to the database server. If you use integrated security, no password has to be specified. @@ -44,24 +44,24 @@ The **Database** tab has the following settings: The **Server** tab has the following settings: * **Application root URL** – this URL points to the root of your application as it should be accessible by end-users. This setting is also used in the published WSDL files for the address where your published web services can be called. -* **Runtime port** – in this setting you can fill in the HTTP port through which a browser accesses the server on which your application is running. Multiple concurrently running servers on the same computer should use different HTTP port numbers. Default: *8080* +* **Runtime port** – in this setting, you can fill in the HTTP port through which a browser accesses the server on which your application is running. Multiple concurrently running servers on the same computer should use different HTTP port numbers. Default: *8080* * **Runtime port security** – determines whether the runtime HTTP port will be open to other machines or just to the current machine (localhost). * **Admin port** – this port number is used to communicate with the server. Multiple concurrently running servers on the same computer should use different server admin port numbers. Default: *8090* -* **Admin port security** – determines whether the admin port will be open to other machines or just to the current machine (localhost). -* **Java heap** – in this setting you can specify the maximum Java heap memory size. There following options are available: +* **Admin port security** – this setting determines whether the admin port will be open to other machines or just to the current machine (localhost). +* **Java heap** – in this setting, you can specify the maximum Java heap memory size. The following options are available: * **Default** – use the default heap memory size of the installed Java virtual machine. * **Custom** – use the value of the **Maximum size (in MB)** setting. -* **Maximum size (in MB)** – when you set the Java heap setting to *Custom*, you can specify the amount of heap memory that is available for the Java virtual machine on which you deploy your application. -* **Extra JVM parameters** – here you can enter extra parameters for the Java virtual machine on which you deploy your application. Note: use with care. If the parameters are invalid, the Java VM might not start. +* **Maximum size (in MB)** – when you set the Java heap setting to **Custom**, you can specify the amount of heap memory that is available for the Java virtual machine on which you deploy your application. +* **Extra JVM parameters** – here you can enter extra parameters for the Java virtual machine on which you deploy your application. Use this setting with care. If the parameters are invalid, the Java VM might not start. ### Constants {#constants} -Constants have a default value that you can override per configuration. You only need to add a constant here if you want a different value than the default value. An example is specifying different web service locations for different configurations. +Constants have a default value you can override per configuration. You only need to add a constant here if you want a different value than the default value. An example is specifying different web service locations for different configurations. The choice between a **Shared** value or a **Private** value determines where Studio Pro stores the value: * Choose **Shared** to store the value as part of the app. That means that when you commit/push your changes, you share the value with everyone that has access to the app's repository. -* Choose **Private** to store the value on your local machine. The value will be encrypted so that only your user account can read it. Other users will have to specify their own value for this constant. +* Choose **Private** to store the value on your local machine. The value will be encrypted so only your user account can read it. Other users will have to specify their own value for this constant. ### Custom {#custom} @@ -71,7 +71,7 @@ You can use custom server settings to configure the Runtime beyond the standard Only use this functionality if you know what you are doing. Wrong values can prevent the Mendix Runtime from starting. {{% /alert %}} -Each custom setting consists of a name and a value. For example, to set the hash algorithm to BCRYPT you add a custom setting with name `HashAlgorithm` and value `BCRYPT`. +Each custom setting consists of a name and a value. For example, to set the hash algorithm to BCRYPT, add a custom setting with name `HashAlgorithm` and value `BCRYPT`. For settings overview, see [Runtime Customization](/refguide/custom-settings/). @@ -83,28 +83,28 @@ You can specify custom headers that will be applied to responses coming from the Only use this functionality if you know what you are doing. Wrong values can stop the application from working correctly. {{% /alert %}} -Each header consists of a name and a value. By default, when configuring a custom header it can be selected from the dropdown menu. A custom header can be specified by selecting the **Custom...** option in the dropdown menu. In most cases the header will be returned for all responses from the Mendix Runtime. +Each header consists of a name and a value. By default, when configuring a custom header it can be selected from the drop-down menu. A custom header can be specified by selecting **Custom...** in the dropdown menu. In most cases, the header will be returned for all responses from the Mendix Runtime. #### Special headers -The following headers are considered special and are handled a bit differently from other custom headers. +The following headers are considered special and are handled differently from other custom headers. * `Content-Security-Policy`, this is only returned for HTML responses and responses for which it is added using `response.addContentSecurityPolicyHeader()`. Additionally, a `{{ NONCE }}` template variable can be used, which be replaced when the response is sent back by the value returned from `response.getNonce`. -## An Example +## Example -Say you have an app which calls an API. In the `GetData` module of your app you have a constant `API_ENDPOINT` which points to this endpoint and has the default value `https://example.com/usefulendpoint`. +Say you have an app which calls an API. In the `GetData` module of your app, you have a constant `API_ENDPOINT` which points to this endpoint and has the default value `https://example.com/usefulendpoint`. You want to test your app locally against a new API endpoint which also runs locally on your machine, using port `8080`. Unfortunately, `8080` is also the default port for connecting to a Mendix app running locally. -You can set up a new configuration which tells Mendix to deploy to a different port, and changes the value of the constant which specifies the API endpoint to use the local API. +You can set up a new configuration that tells Mendix to deploy to a different port, and changes the value of the constant which specifies the API endpoint to use the local API. To do this, perform the following steps: -1. In the Studio Pro **App Explorer** open the app **Settings**. +1. In the Studio Pro **App Explorer**, open the app **Settings**. 2. In the **Configurations** tab, click **New** to create a new configuration. 3. Enter a **Name** for the configuration. For example, *LocalAPI*. -4. In the **Server** tab change the **Runtime port** number to `8081` so that it doesn't clash with your local API endpoint. +4. In the **Server** tab, change the **Runtime port** number to `8081` so it does not clash with your local API endpoint. 5. In the **Constants** tab, click **New** to add a new constant. 6. Select the constant you want to change, in this case `GetData.API_ENDPOINT`. 7. Enter the new **Value**, in this example *localhost:8080* diff --git a/content/en/docs/refguide/modeling/app-explorer/app/navigation/_index.md b/content/en/docs/refguide/modeling/app-explorer/app/navigation/_index.md index 24f11987b34..0d2a99ac586 100644 --- a/content/en/docs/refguide/modeling/app-explorer/app/navigation/_index.md +++ b/content/en/docs/refguide/modeling/app-explorer/app/navigation/_index.md @@ -76,7 +76,7 @@ It is also possible to force the client to use a specific profile by adding a `p A profile can be added with the **Add navigation profile** button. Only one profile per type is allowed. While adding the profile, it is possible to copy the settings from an existing profile. -{{< figure src="/attachments/refguide/modeling/app-explorer/app/navigation/add-navigation-profile.png" class="no-border" >}} +{{< figure src="/attachments/refguide/modeling/app-explorer/app/navigation/add-navigation-profile.png" class="no-border" width="600" >}} ### General diff --git a/content/en/docs/refguide/modeling/app-explorer/app/system-texts.md b/content/en/docs/refguide/modeling/app-explorer/app/system-texts.md index de0c1bc21ea..e1d1526c3d5 100644 --- a/content/en/docs/refguide/modeling/app-explorer/app/system-texts.md +++ b/content/en/docs/refguide/modeling/app-explorer/app/system-texts.md @@ -18,10 +18,10 @@ For example, if an end-user enters a string into a search field that expects a n {{< figure src="/attachments/refguide/modeling/app-explorer/app/system-texts/example-invalid-number.png" width="300px" class="no-border" >}} -You can change the system texts in the following way: +You can change the system texts by following the steps below: -1. Go to the system texts editor: **App Explore** > **App 'AppName'** > **System texts** > **Text**. -2. Click on the texts in the **Text** column to edit the texts. +1. Open the systems text editor by opening **App Explorer** > **App 'AppName'** > **System texts** > **Text**. +2. Click the texts in the **Text** column to edit. ## Languages diff --git a/static/attachments/refguide/modeling/app-explorer/app-explorer.png b/static/attachments/refguide/modeling/app-explorer/app-explorer.png index a69b22276d8..10fa7d39003 100644 Binary files a/static/attachments/refguide/modeling/app-explorer/app-explorer.png and b/static/attachments/refguide/modeling/app-explorer/app-explorer.png differ diff --git a/static/attachments/refguide/modeling/app-explorer/app/app-settings/app-settings-configuration.png b/static/attachments/refguide/modeling/app-explorer/app/app-settings/app-settings-configuration.png index d84a367d5fe..a8e870f7e12 100644 Binary files a/static/attachments/refguide/modeling/app-explorer/app/app-settings/app-settings-configuration.png and b/static/attachments/refguide/modeling/app-explorer/app/app-settings/app-settings-configuration.png differ