From 173b7e2516c7497af3e59ad78a014ac450553ae3 Mon Sep 17 00:00:00 2001 From: Yiyun Liao Date: Fri, 11 Apr 2025 10:04:48 +0200 Subject: [PATCH 1/5] Change all links to /refguide/ to /refguide10/ in the Mx10 folders --- ...denormalize-data-to-improve-performance.md | 14 +- .../migrating-your-mendix-database.md | 4 +- .../sharing-the-development-database.md | 2 +- .../best-practices-javascript-actions.md | 8 +- .../create-native-javascript-action.md | 10 +- .../write-javascript-actions.md | 6 +- .../write-javascript-github.md | 4 +- .../extensibility/build-native-widget.md | 4 +- .../extensibility/howto-datastorage-api.md | 4 +- .../create-a-pluggable-widget-one.md | 2 +- .../atlas-ui/customize-styling-new.md | 8 +- .../atlas-ui/module-level-theme-settings.md | 4 +- ...our-first-two-overview-and-detail-pages.md | 8 +- .../howto10/front-end/custom-error-page.md | 2 +- .../howto10/front-end/layouts-and-snippets.md | 4 +- .../security/best-practices-security.md | 18 +- .../howto10/security/create-a-secure-app.md | 10 +- content/en/docs/howto10/security/csp.md | 2 +- ...-mendix-applications-using-selenium-ide.md | 2 +- content/en/docs/refguide10/_index.md | 16 +- content/en/docs/refguide10/general/_index.md | 4 +- .../refguide10/general/developer-tools.md | 4 +- .../general/mx-command-line-tool/_index.md | 50 ++-- .../general/mx-command-line-tool/adaptable.md | 2 +- .../mx-command-line-tool/analyze-mpr.md | 2 +- .../general/mx-command-line-tool/app.md | 2 +- .../general/mx-command-line-tool/dump-mpr.md | 2 +- .../general/mx-command-line-tool/export.md | 6 +- .../general/mx-command-line-tool/merge.md | 12 +- .../general/mx-command-line-tool/module.md | 2 +- content/en/docs/refguide10/general/mxbuild.md | 8 +- .../refguide10/general/sbom-generation.md | 8 +- .../general/studio-pro-overview/_index.md | 32 +-- .../studio-pro-overview/keyboard-shortcuts.md | 18 +- .../general/third-party-licenses.md | 2 +- .../en/docs/refguide10/installation/_index.md | 6 +- .../docs/refguide10/installation/install.md | 16 +- .../installation/jdk-installation.md | 4 +- .../installation/performance-tips.md | 14 +- .../installation/system-requirements.md | 30 +-- .../installation/upgrading-from-9-to-10.md | 10 +- .../using-mendix-studio-pro-on-a-mac.md | 8 +- .../refguide10/java-programming/_index.md | 8 +- .../access-a-samba-share-from-the-mxcloud.md | 2 +- .../debug-java-actions/_index.md | 10 +- .../debug-java-actions-remotely.md | 4 +- ...nding-your-application-with-custom-java.md | 14 +- .../java-programming/java-api-tutorial.md | 4 +- .../java-version-migration.md | 6 +- .../java-programming/managed-dependencies.md | 8 +- .../java-programming/troubleshooting.md | 2 +- .../java-programming/using-eclipse.md | 2 +- content/en/docs/refguide10/mobile/_index.md | 40 +-- .../mobile/best-practices/_index.md | 14 +- .../best-practices/batch-synchronization.md | 6 +- .../mobile/best-practices/compound-object.md | 8 +- .../mobile/best-practices/deleted-flag.md | 6 +- .../incremental-synchronization.md | 6 +- .../mobile/best-practices/request-object.md | 8 +- .../building-efficient-mobile-apps/_index.md | 10 +- .../building-efficient-mobile-apps/hermes.md | 8 +- .../building-efficient-mobile-apps/logging.md | 16 +- .../native-startup.md | 10 +- .../offlinefirst-data/_index.md | 18 +- .../auto-committed-objects.md | 20 +- .../offlinefirst-data/best-practices.md | 24 +- .../offlinefirst-data/local-data-security.md | 10 +- .../offlinefirst-data/online-sync-mode.md | 6 +- .../offlinefirst-data/synchronization.md | 16 +- .../_index.md | 12 +- .../design-principles.md | 6 +- .../images-icons-and-fonts.md | 8 +- .../native-styling-element-guide.md | 32 +-- .../native-styling.md | 10 +- .../navigation.md | 14 +- .../mobile/distributing-mobile-apps/_index.md | 14 +- .../building-native-apps/_index.md | 20 +- .../building-native-apps/bitrise.md | 6 +- .../deploying-native-app.md | 10 +- .../building-native-apps/how-to-devapps.md | 8 +- .../native-build-locally-manually.md | 4 +- .../native-build-locally.md | 2 +- .../building-native-apps/native-template.md | 10 +- .../distributing-native-apps.md | 4 +- .../distributing-mobile-apps/native-debug.md | 4 +- .../overtheair-updates.md | 12 +- .../testing-mobile-apps.md | 8 +- .../use-min-older-sp.md | 2 +- .../getting-started-with-mobile/_index.md | 12 +- .../prerequisites.md | 24 +- .../_index.md | 12 +- .../native-mobile.md | 6 +- .../progressive-web-app.md | 18 +- .../using-mobile-capabilities/_index.md | 20 +- .../augmented-reality/_index.md | 6 +- .../how-to-ar-business-card.md | 2 +- .../how-to-ar-simple-cube.md | 2 +- .../augmented-reality/how-to-web-xr.md | 2 +- .../authenticating-users.md | 16 +- .../using-mobile-capabilities/deep-links.md | 12 +- .../generic-permission-action.md | 8 +- .../local-notifications/_index.md | 12 +- .../local-notifications/local-notif-action.md | 10 +- .../local-notifications/local-notif-badges.md | 8 +- .../local-notifications/local-notif-data.md | 8 +- .../local-notif-schedule-cancel.md | 6 +- .../native-local-notifications.md | 8 +- .../location-and-maps.md | 10 +- .../mobile-accessibility.md | 4 +- .../native-language-change.md | 16 +- .../push-notifications/_index.md | 22 +- .../notif-add-module-depends.md | 4 +- .../push-notifications/notif-config-push.md | 8 +- .../notif-implement-module.md | 4 +- .../notif-implement-native.md | 10 +- .../push-notifications/notif-implement-pwa.md | 8 +- .../push-notifications/notif-mult-devices.md | 8 +- .../push-notifications/notif-send-test.md | 10 +- ...-google-firebase-cloud-messaging-server.md | 4 +- content/en/docs/refguide10/modeling/_index.md | 16 +- .../modeling/app-explorer/_index.md | 16 +- .../modeling/app-explorer/app/_index.md | 18 +- .../app-explorer/app/app-settings/_index.md | 38 +-- .../app/app-settings/configuration.md | 6 +- .../app-explorer/app/navigation/_index.md | 30 +-- .../setting-up-the-navigation-structure.md | 8 +- .../modeling/app-explorer/app/system-texts.md | 6 +- .../modeling/app-explorer/modules/_index.md | 54 ++-- .../configure-add-on-and-solution-modules.md | 8 +- .../consume-add-on-modules-and-solutions.md | 10 +- .../app-explorer/modules/module-settings.md | 10 +- .../modules/ui-resources-package.md | 6 +- .../modeling/app-from-spreadsheet.md | 2 +- .../modeling/app-performance/_index.md | 18 +- .../detect-and-resolve-performance-issues.md | 10 +- .../manage-app-performance-with-new-relic.md | 2 +- .../modeling/application-logic/_index.md | 10 +- .../application-logic/expressions/_index.md | 236 +++++++++--------- .../expressions/add-date-function-calls.md | 6 +- .../expressions/arithmetic-expressions.md | 4 +- .../begin-of-date-function-calls.md | 10 +- .../between-date-function-calls.md | 2 +- .../expressions/boolean-expressions.md | 2 +- .../expressions/date-creation.md | 6 +- .../expressions/end-of-date-function-calls.md | 10 +- .../enumerations-in-expressions.md | 6 +- .../expressions/if-expressions.md | 2 +- .../application-logic/expressions/length.md | 2 +- .../mathematical-function-calls.md | 4 +- .../parse-and-format-date-function-calls.md | 6 +- ...parse-and-format-decimal-function-calls.md | 2 +- .../expressions/parse-integer.md | 6 +- .../expressions/relational-expressions.md | 2 +- .../expressions/special-checks.md | 10 +- .../expressions/string-function-calls.md | 16 +- .../subtract-date-function-calls.md | 6 +- .../expressions/to-string.md | 6 +- .../expressions/trim-to-date.md | 2 +- .../expressions/unary-expressions.md | 2 +- .../microflows-and-nanoflows/_index.md | 34 +-- .../activities/_index.md | 130 +++++----- .../action-call-activities/_index.md | 12 +- .../java-action-call.md | 10 +- .../javascript-action-call.md | 14 +- .../action-call-activities/microflow-call.md | 16 +- .../activities/client-activities/_index.md | 24 +- .../client-activities/clear-from-device.md | 10 +- .../client-activities/close-page.md | 18 +- .../client-activities/download-file.md | 10 +- .../client-activities/nanoflow-call.md | 10 +- .../client-activities/show-home-page.md | 16 +- .../client-activities/show-message.md | 14 +- .../activities/client-activities/show-page.md | 20 +- .../synchronize-to-device.md | 6 +- .../client-activities/synchronize.md | 16 +- .../client-activities/validation-feedback.md | 16 +- .../external-object-activities/_index.md | 8 +- .../delete-external-object.md | 4 +- .../send-external-object.md | 10 +- .../activities/generate-document.md | 12 +- .../integration-activities/_index.md | 18 +- .../call-external-action.md | 4 +- .../call-rest-action.md | 42 ++-- .../call-web-service-action.md | 36 +-- .../integration-activities/data-importer.md | 2 +- .../export-mapping-action.md | 14 +- .../import-mapping-action.md | 24 +- .../query-external-database.md | 2 +- .../send-rest-request.md | 4 +- .../activities/list-activities/_index.md | 14 +- .../list-activities/aggregate-list.md | 8 +- .../activities/list-activities/change-list.md | 10 +- .../activities/list-activities/create-list.md | 4 +- .../list-activities/list-operation.md | 6 +- .../working-with-lists-in-a-microflow.md | 18 +- .../activities/log-message.md | 12 +- .../activities/metrics-activities/_index.md | 12 +- .../metrics-activities/metrics-counter.md | 10 +- .../metrics-activities/metrics-gauge.md | 10 +- .../metrics-increment-counter.md | 8 +- .../activities/ml-kit-activities/_index.md | 8 +- .../ml-kit-activities/call-ml-model.md | 10 +- .../activities/object-activities/_index.md | 22 +- .../object-activities/cast-object.md | 8 +- .../object-activities/change-object.md | 22 +- .../object-activities/committing-objects.md | 20 +- .../object-activities/create-object.md | 18 +- .../object-activities/deleting-objects.md | 18 +- .../activities/object-activities/retrieve.md | 10 +- .../object-activities/rollback-object.md | 14 +- .../activities/variable-activities/_index.md | 6 +- .../variable-activities/change-variable.md | 8 +- .../variable-activities/create-variable.md | 10 +- .../activities/workflow-activities/_index.md | 30 +-- .../apply-jump-to-option.md | 12 +- .../change-workflow-state.md | 10 +- .../workflow-activities/complete-task.md | 8 +- .../generate-jump-to-options.md | 16 +- .../workflow-activities/lock-workflow.md | 12 +- .../workflow-activities/notify-workflow.md | 10 +- .../retrieve-workflow-activity-records.md | 4 +- .../retrieve-workflow-context.md | 6 +- .../workflow-activities/retrieve-workflows.md | 8 +- .../workflow-activities/show-task-page.md | 8 +- .../workflow-activities/show-workflow-page.md | 4 +- .../workflow-activities/unlock-workflow.md | 12 +- .../workflow-activities/workflow-call.md | 10 +- .../microflows-and-nanoflows/annotation.md | 8 +- .../debug-microflows-and-nanoflows/_index.md | 10 +- .../debug-microflows-remotely.md | 4 +- .../decisions/_index.md | 10 +- .../decisions/decision.md | 20 +- .../decisions/merge.md | 2 +- .../decisions/object-type-decision.md | 12 +- .../microflows-and-nanoflows/events/_index.md | 12 +- .../events/break-event.md | 8 +- .../events/continue-event.md | 10 +- .../events/end-event.md | 14 +- .../events/error-event.md | 10 +- .../events/start-event.md | 8 +- .../microflows-and-nanoflows/loop.md | 8 +- .../microflow-element-common-properties.md | 12 +- .../microflows/_index.md | 46 ++-- .../error-handling-in-microflows.md | 16 +- .../extract-and-use-sub-microflows.md | 6 +- .../microflows/microflow.md | 26 +- ...etrieving-current-user-with-a-microflow.md | 10 +- .../testing-microflows-with-unit-testing.md | 10 +- .../trigger-microflow-from-menu-item.md | 12 +- .../nanoflows/_index.md | 48 ++-- .../nanoflows/error-handling-in-nanoflows.md | 6 +- .../nanoflows/nanoflow.md | 10 +- .../microflows-and-nanoflows/parameter.md | 6 +- .../microflows-and-nanoflows/sequence-flow.md | 4 +- .../application-logic/string-concatenation.md | 2 +- .../application-logic/workflows/_index.md | 28 +-- .../add-action-to-workflow-toolbox.md | 14 +- .../workflows/boundary-events.md | 24 +- .../application-logic/workflows/jump-to.md | 14 +- .../perform-workflow-basic-functions.md | 24 +- .../workflows/workflow-elements/_index.md | 26 +- .../workflow-elements/call-microflow.md | 8 +- .../workflow-elements/call-workflow.md | 12 +- .../decision-in-workflows.md | 6 +- .../workflow-elements/jump-activity.md | 6 +- .../workflow-elements/multi-user-task.md | 20 +- .../workflow-elements/parallel-split.md | 4 +- .../workflows/workflow-elements/timer.md | 24 +- .../workflows/workflow-elements/user-task.md | 16 +- .../wait-for-notification.md | 6 +- .../workflow-elements/workflow-parameters.md | 2 +- .../workflows/workflow-engine.md | 36 +-- .../workflows/workflow-events.md | 62 ++--- .../workflows/workflow-how-to-configure.md | 22 +- .../workflows/workflow-properties.md | 20 +- .../workflows/workflow-security.md | 8 +- .../workflows/workflow-setting-up-app.md | 6 +- .../workflows/workflow-versioning.md | 10 +- .../modeling/consistency-errors/_index.md | 32 +-- .../consistency-errors-navigation.md | 14 +- .../consistency-errors-pages.md | 38 +-- .../en/docs/refguide10/modeling/data-types.md | 14 +- .../refguide10/modeling/dev-best-practices.md | 56 ++--- .../modeling/domain-model/_index.md | 44 ++-- .../modeling/domain-model/annotations.md | 2 +- .../domain-model/associations/_index.md | 20 +- .../association-member-properties.md | 18 +- .../associations/association-properties.md | 22 +- .../associations/association-storage.md | 10 +- .../domain-model/associations/query-over.md | 6 +- .../domain-model/create-a-basic-data-layer.md | 28 +-- .../modeling/domain-model/entities/_index.md | 32 +-- .../domain-model/entities/access-rules.md | 24 +- .../domain-model/entities/attributes.md | 20 +- .../domain-model/entities/data-sets.md | 12 +- .../domain-model/entities/event-handlers.md | 12 +- .../entities/external-entities.md | 46 ++-- .../modeling/domain-model/entities/indexes.md | 6 +- .../domain-model/entities/persistability.md | 6 +- .../domain-model/entities/validation-rules.md | 8 +- .../entities/view-entities-survey.md | 2 +- .../entities/view-entities/_index.md | 28 +-- .../view-entities/abstracting-data.md | 2 +- .../charting-with-view-entities.md | 2 +- .../view-entities/create-pivot-table.md | 4 +- .../entities/view-entities/decoupling-apis.md | 2 +- .../view-entities/multilingual-apps.md | 2 +- .../view-entities/multitenant-apps.md | 2 +- .../view-entities/use-view-entities.md | 34 +-- .../view-entities/view-archived-data.md | 2 +- .../view-entity-data-versioning.md | 4 +- .../view-entities/view-entity-export-data.md | 2 +- .../view-entity-overview-pages.md | 8 +- .../generalization-and-association.md | 6 +- .../domain-model/mx-validation-assist.md | 10 +- .../modeling/domain-model/oql/_index.md | 4 +- .../modeling/domain-model/oql/oql-clauses.md | 46 ++-- .../domain-model/oql/oql-expression-syntax.md | 50 ++-- .../domain-model/oql/oql-expressions.md | 12 +- .../modeling/domain-model/oql/oql-v2.md | 24 +- .../setting-up-data-validation.md | 22 +- content/en/docs/refguide10/modeling/images.md | 8 +- .../modeling/import-and-export/_index.md | 10 +- .../refguide10/modeling/integration/_index.md | 12 +- .../modeling/integration/json-structures.md | 4 +- .../machine-learning-kit/_index.md | 20 +- .../design-patterns/_index.md | 6 +- .../advanced-inference-patterns.md | 8 +- .../pre-post-processor-patterns.md | 8 +- .../pretrained-ml-models/_index.md | 4 +- .../using-ml-kit/_index.md | 40 +-- .../logistic-regression-example.md | 14 +- .../integration/mapping-documents/_index.md | 24 +- .../mapping-documents/export-mappings.md | 6 +- .../mapping-documents/import-mappings.md | 14 +- .../mapping-documents/map-automatically.md | 2 +- .../mapping-documents/select--elements.md | 10 +- .../mapping-documents/xml-documents/_index.md | 12 +- .../xml-documents/export-xml-documents.md | 8 +- .../xml-documents/importing-xml-documents.md | 10 +- .../xml-inheritance-and-choice.md | 8 +- .../xml-documents/xml-schemas.md | 6 +- .../integration/message-definitions.md | 6 +- .../modeling/integration/ml-model-mapping.md | 12 +- .../integration/odata-services/_index.md | 10 +- .../odata-services/build-odata-apis.md | 16 +- .../consumed-odata-services/_index.md | 30 +-- .../consumed-odata-service-requirements.md | 24 +- .../consumed-odata-service.md | 36 +-- .../exposing-data-to-bi-tools-using-odata.md | 6 +- .../published-odata-services/_index.md | 52 ++-- .../graphql-feedback.md | 2 +- .../graphql-representation.md | 2 +- .../odata-representation.md | 4 +- .../published-odata-attribute.md | 4 +- .../published-odata-entity.md | 28 +-- .../published-odata-microflow.md | 12 +- .../supported-graphql-operations.md | 8 +- .../supported-odata-operations.md | 24 +- .../odata-services/security-authentication.md | 10 +- .../integration/rest-services/_index.md | 20 +- .../consumed-rest-services/_index.md | 12 +- .../consumed-rest-service.md | 10 +- .../server-side-paging.md | 10 +- .../use-call-rest-action-in-microflow.md | 10 +- .../http-request-and-response-entities.md | 4 +- ...ating-a-legacy-system-into-a-mendix-app.md | 8 +- .../published-rest-services/_index.md | 26 +- .../generate-rest-resource.md | 8 +- .../publish-microflow-as-rest-operation.md | 2 +- .../published-rest-service/_index.md | 34 +-- .../published-rest-service/cors-settings.md | 4 +- .../published-rest-service/gfm-syntax.md | 2 +- .../publish-rest-service.md | 8 +- .../published-rest-operation-parameter.md | 14 +- .../published-rest-operation.md | 36 +-- .../published-rest-path-parameters.md | 6 +- .../published-rest-query-parameters.md | 6 +- .../published-rest-resource.md | 10 +- .../version-rest-service.md | 2 +- .../_index.md | 12 +- .../open-api-2.md | 18 +- .../open-api.md | 18 +- ...published-rest-authentication-parameter.md | 4 +- .../published-rest-routing.md | 4 +- .../published-rest-service-json-schema.md | 6 +- .../integration/rest-services/rest-binary.md | 18 +- .../integration/share-data-sources/_index.md | 6 +- .../share-data-between-apps.md | 8 +- .../write-data-to-another-app.md | 12 +- .../integration/use-excel-documents/_index.md | 8 +- .../use-excel-documents/export-to-excel.md | 4 +- .../import-a-large-excel-file.md | 2 +- .../import-excel-documents.md | 8 +- .../integration/use-extensions/_index.md | 16 +- .../use-extensions/business-event-services.md | 2 +- ...n-sql-statement-on-an-external-database.md | 2 +- .../external-database-connection.md | 8 +- .../use-extensions/use-the-data-importer.md | 6 +- .../use-the-external-database-connector.md | 6 +- .../integration/web-services/_index.md | 8 +- .../consumed-web-services/_index.md | 18 +- .../consume-a-complex-web-service.md | 6 +- .../consume-a-simple-web-service.md | 4 +- .../consumed-web-service.md | 8 +- .../numeric-formatting.md | 4 +- .../published-web-services/_index.md | 4 +- .../expose-a-web-service.md | 12 +- .../published-web-services/operations.md | 2 +- .../published-web-service.md | 6 +- .../testing-web-services-using-soapui.md | 6 +- .../modeling/mendix-ai-assistance/_index.md | 24 +- .../best-practice-recommender/_index.md | 16 +- .../performance-best-practices.md | 26 +- .../domain-model-generator.md | 16 +- .../mendix-ai-assistance/logic-recommender.md | 8 +- .../mendix-ai-assistance/maia-chat.md | 8 +- .../mendix-ai-assistance/maia-explain.md | 6 +- .../mendix-ai-assistance/maia-learn.md | 6 +- .../mendix-ai-assistance/page-generator.md | 34 +-- .../translation-generator.md | 14 +- .../mendix-ai-assistance/ui-recommender.md | 6 +- .../workflow-recommender.md | 8 +- .../docs/refguide10/modeling/menus/_index.md | 20 +- .../modeling/menus/app-menu/_index.md | 22 +- .../create-deployment-package-dialog.md | 6 +- .../app-menu/deploy-to-the-cloud-dialog.md | 2 +- .../modeling/menus/edit-menu/_index.md | 14 +- .../menus/edit-menu/find-and-find-advanced.md | 4 +- .../modeling/menus/edit-menu/go-to-option.md | 12 +- .../menus/edit-menu/preferences-dialog.md | 46 ++-- .../modeling/menus/file-menu/_index.md | 16 +- .../file-menu/export-app-package-dialog.md | 14 +- .../file-menu/import-app-package-dialog.md | 8 +- .../modeling/menus/file-menu/new-app.md | 18 +- .../menus/file-menu/open-app-dialog.md | 18 +- .../solving-load-and-import-errors.md | 8 +- .../modeling/menus/help-menu/_index.md | 6 +- .../menus/help-menu/feedback-survey.md | 2 +- .../menus/help-menu/performance-logging.md | 2 +- .../modeling/menus/help-menu/profiling.md | 2 +- .../modeling/menus/run-menu/_index.md | 8 +- .../edit-cloud-foundry-settings-dialog.md | 2 +- .../menus/translatable-texts/_index.md | 30 +-- .../menus/translatable-texts/batch-replace.md | 4 +- .../translatable-texts/batch-translate.md | 10 +- .../translatable-texts/language-operations.md | 2 +- .../translatable-texts/language-settings.md | 6 +- .../translatable-validation-messages.md | 4 +- .../translate-your-app-content.md | 8 +- .../menus/version-control-menu/_index.md | 24 +- .../branch-line-manager-dialog/_index.md | 8 +- .../create-branch-line-dialog.md | 8 +- .../version-control-menu/commit-dialog.md | 6 +- .../download-from-version-control-dialog.md | 14 +- .../version-control-menu/history-dialog.md | 8 +- .../version-control-menu/merge-dialog.md | 6 +- .../upload-to-version-control-dialog.md | 10 +- .../modeling/menus/view-menu/_index.md | 36 +-- .../modeling/menus/view-menu/changes-pane.md | 14 +- .../menus/view-menu/errors-pane/_index.md | 6 +- .../errors-pane/clear-warning-messages.md | 8 +- .../errors-pane/suppression-rules.md | 6 +- .../menus/view-menu/integration-pane.md | 20 +- .../modeling/menus/view-menu/page-explorer.md | 8 +- .../modeling/menus/view-menu/stories-pane.md | 4 +- .../docs/refguide10/modeling/pages/_index.md | 48 ++-- .../pages/authentication-widgets/_index.md | 20 +- .../login-id-text-box.md | 16 +- .../password-text-box.md | 16 +- .../authentication-widgets/sign-in-button.md | 22 +- .../validation-message.md | 16 +- .../modeling/pages/button-widgets/_index.md | 26 +- .../pages/button-widgets/button-properties.md | 32 +-- .../create-a-custom-save-button.md | 12 +- .../modeling/pages/chart-widgets/_index.md | 14 +- .../charts-advanced-cheat-sheet.md | 2 +- .../charts-any-building-blocks.md | 4 +- .../chart-widgets/charts-any-cheat-sheet.md | 4 +- .../chart-widgets/charts-any-configuration.md | 4 +- .../chart-widgets/charts-configuration.md | 10 +- .../pages/common-widget-properties.md | 70 +++--- .../modeling/pages/data-widgets/_index.md | 20 +- .../pages/data-widgets/configure-form.md | 10 +- .../configure-list-and-details-on-one-page.md | 8 +- .../pages/data-widgets/data-sources/_index.md | 36 +-- .../data-sources/association-source.md | 10 +- .../data-sources/context-source.md | 8 +- .../data-sources/database-source.md | 22 +- .../data-sources/listen-to-grid-source.md | 2 +- .../data-sources/microflow-source.md | 6 +- .../data-sources/nanoflow-source.md | 10 +- .../data-widgets/data-sources/xpath-source.md | 24 +- .../modeling/pages/data-widgets/data-view.md | 38 +-- .../pages/data-widgets/grids/_index.md | 22 +- .../pages/data-widgets/grids/control-bar.md | 70 +++--- .../data-widgets/grids/data-grid/_index.md | 44 ++-- .../data-widgets/grids/data-grid/columns.md | 18 +- .../pages/data-widgets/grids/search-bar.md | 24 +- .../pages/data-widgets/grids/sort-bar.md | 20 +- .../pages/data-widgets/grids/template-grid.md | 36 +-- .../modeling/pages/data-widgets/list-view.md | 32 +-- .../pages/image-and-file-widgets/_index.md | 16 +- .../image-and-file-widgets/attach-images.md | 6 +- .../image-and-file-widgets/configure-files.md | 10 +- .../image-and-file-widgets/file-manager.md | 24 +- .../image-and-file-widgets/image-uploader.md | 20 +- .../image-and-file-widgets/image-viewer.md | 18 +- .../pages/image-and-file-widgets/image.md | 30 +-- .../modeling/pages/input-widgets/_index.md | 46 ++-- .../modeling/pages/input-widgets/check-box.md | 36 +-- .../pages/input-widgets/date-picker.md | 40 +-- .../modeling/pages/input-widgets/drop-down.md | 48 ++-- .../input-reference-set-selector.md | 26 +- .../pages/input-widgets/radio-buttons.md | 36 +-- .../pages/input-widgets/reference-selector.md | 50 ++-- .../input-widgets/reference-set-selector.md | 48 ++-- .../modeling/pages/input-widgets/text-area.md | 42 ++-- .../modeling/pages/input-widgets/text-box.md | 46 ++-- .../modeling/pages/menu-widgets/_index.md | 16 +- .../modeling/pages/menu-widgets/menu-bar.md | 24 +- .../pages/menu-widgets/navigation-tree.md | 24 +- .../pages/menu-widgets/simple-menu-bar.md | 24 +- .../modeling/pages/on-click-event.md | 58 ++--- .../modeling/pages/page-resources/_index.md | 20 +- .../pages/page-resources/building-block.md | 8 +- .../pages/page-resources/icon-collection.md | 4 +- .../pages/page-resources/image-collection.md | 8 +- .../pages/page-resources/layout/_index.md | 22 +- .../pages/page-resources/layout/header.md | 14 +- .../page-resources/layout/placeholder.md | 6 +- .../layout/sidebar-toggle-button.md | 16 +- .../modeling/pages/page-resources/menu.md | 20 +- .../pages/page-resources/page-templates.md | 16 +- .../modeling/pages/page-resources/snippet.md | 16 +- .../refguide10/modeling/pages/page/_index.md | 32 +-- .../modeling/pages/page/page-properties.md | 26 +- .../pages/structure-widgets/_index.md | 24 +- .../pages/structure-widgets/container.md | 18 +- .../pages/structure-widgets/group-box.md | 16 +- .../pages/structure-widgets/layout-grid.md | 16 +- .../structure-widgets/navigation-list.md | 22 +- .../structure-widgets/scroll-container.md | 24 +- .../pages/structure-widgets/snippet-call.md | 20 +- .../pages/structure-widgets/tab-container.md | 20 +- .../modeling/pages/structure-widgets/table.md | 24 +- .../modeling/pages/text-widgets/_index.md | 14 +- .../modeling/pages/text-widgets/label.md | 20 +- .../modeling/pages/text-widgets/page-title.md | 20 +- .../modeling/pages/text-widgets/text.md | 24 +- .../refguide10/modeling/resources/_index.md | 26 +- .../modeling/resources/constants.md | 18 +- .../resources/document-templates/_index.md | 34 +-- .../creating-your-own-documents.md | 6 +- .../data-grid-document-template/_index.md | 14 +- .../columns-document-template.md | 14 +- .../data-view-document-template.md | 12 +- .../document-templates/document-template.md | 6 +- .../dynamic-image-document-template.md | 12 +- .../dynamic-label-document-template.md | 16 +- .../footer-document-template.md | 12 +- .../header-document-template.md | 14 +- .../line-break-document-template.md | 12 +- .../page-break-document-template.md | 12 +- .../static-image-document-template.md | 12 +- .../static-label-document-template.md | 14 +- .../resources/document-templates/style.md | 2 +- .../table-document-template/_index.md | 16 +- .../row-document-template/_index.md | 12 +- .../cell-document-template.md | 12 +- .../template-grid-document-template.md | 12 +- .../title-document-template.md | 14 +- .../modeling/resources/enumerations.md | 22 +- .../modeling/resources/java-actions.md | 12 +- .../modeling/resources/javascript-actions.md | 26 +- .../modeling/resources/regular-expressions.md | 6 +- .../refguide10/modeling/resources/rules.md | 12 +- .../modeling/resources/scheduled-events.md | 10 +- .../modeling/resources/task-queue.md | 14 +- .../refguide10/modeling/security/_index.md | 16 +- .../modeling/security/app-security/_index.md | 24 +- .../security/app-security/administrator.md | 14 +- .../security/app-security/anonymous-users.md | 12 +- .../security/app-security/demo-users.md | 18 +- .../security/app-security/password-policy.md | 12 +- .../security/app-security/strict-mode.md | 10 +- .../security/app-security/user-roles.md | 22 +- .../modeling/security/module-security.md | 30 +-- .../modeling/security/security-overview.md | 6 +- .../docs/refguide10/modeling/xpath/_index.md | 22 +- .../xpath/define-access-rules-using-xpath.md | 12 +- .../filtering-data-on-an-overview-page.md | 12 +- .../xpath/xpath-aggregate-functions.md | 2 +- .../xpath/xpath-constraints/_index.md | 18 +- .../xpath-constraint-functions/_index.md | 38 +-- .../xpath-contains.md | 2 +- .../xpath-day-from-datetime.md | 2 +- .../xpath-day-of-year-from-datetime.md | 2 +- .../xpath-ends-with.md | 2 +- .../xpath-constraint-functions/xpath-false.md | 2 +- .../xpath-hours-from-datetime.md | 2 +- .../xpath-length.md | 2 +- .../xpath-minutes-from-datetime.md | 2 +- .../xpath-month-from-datetime.md | 2 +- .../xpath-constraint-functions/xpath-not.md | 2 +- .../xpath-quarter-from-datetime.md | 2 +- .../xpath-seconds-from-datetime.md | 2 +- .../xpath-starts-with.md | 2 +- .../xpath-string-length.md | 4 +- .../xpath-constraint-functions/xpath-true.md | 2 +- .../xpath-week-from-datetime.md | 2 +- .../xpath-weekday-from-datetime.md | 2 +- .../xpath-year-from-datetime.md | 2 +- .../xpath-constraints/xpath-expressions.md | 8 +- .../xpath-keywords-and-system-variables.md | 6 +- .../xpath-constraints/xpath-operators.md | 2 +- .../refguide10/modeling/xpath/xpath-tokens.md | 14 +- content/en/docs/refguide10/runtime/_index.md | 14 +- .../runtime/clustered-mendix-runtime.md | 6 +- .../runtime/communication-patterns.md | 10 +- .../runtime/custom-settings/_index.md | 24 +- .../tricky-custom-runtime-settings.md | 6 +- .../refguide10/runtime/data-storage/_index.md | 14 +- .../data-storage/attributes-type-migration.md | 2 +- .../case-sensitive-database-behavior.md | 4 +- .../refguide10/runtime/data-storage/mysql.md | 4 +- .../refguide10/runtime/data-storage/oracle.md | 6 +- .../runtime/data-storage/ordering-behavior.md | 2 +- .../runtime/data-storage/saphana.md | 4 +- .../runtime/data-storage/sqlserver.md | 4 +- .../data-storage/unlimited-string-behavior.md | 2 +- .../runtime/datasource-runtime-behavior.md | 16 +- .../runtime/date-and-time-handling/_index.md | 4 +- .../datetime-handling-faq.md | 2 +- ...inding-the-root-cause-of-runtime-errors.md | 6 +- .../en/docs/refguide10/runtime/log-levels.md | 4 +- .../docs/refguide10/runtime/logging/_index.md | 12 +- .../refguide10/runtime/logging/log-levels.md | 4 +- .../docs/refguide10/runtime/login-behavior.md | 6 +- .../runtime/mendix-client/_index.md | 36 +-- .../mendix-client/content-readiness.md | 4 +- .../refguide10/runtime/mendix-client/react.md | 16 +- .../widget-conversion-limitations.md | 2 +- content/en/docs/refguide10/runtime/metrics.md | 22 +- .../refguide10/runtime/minimize-number.md | 4 +- .../runtime/monitoring-client-state.md | 4 +- .../runtime/monitoring-mendix-runtime.md | 4 +- .../refguide10/runtime/objects-and-caching.md | 2 +- .../refguide10/runtime/request-handlers.md | 8 +- .../refguide10/runtime/runtime-deployment.md | 4 +- .../refguide10/runtime/runtime-java/_index.md | 8 +- .../runtime/runtime-java/java-memory-usage.md | 2 +- .../runtime-java/runtime-java-errors.md | 2 +- .../transient-objects-garbage-collecting.md | 8 +- .../docs/refguide10/runtime/runtime-server.md | 8 +- .../refguide10/runtime/session-management.md | 18 +- .../refguide10/runtime/tracing-in-runtime.md | 6 +- .../runtime/websockets-in-runtime.md | 2 +- .../docs/refguide10/version-control/_index.md | 10 +- .../version-control/on-premises-git.md | 14 +- .../_index.md | 30 +-- .../auto-fetch.md | 4 +- .../clone-type.md | 10 +- .../git-storage-optimization-dialog.md | 6 +- .../merge-algorithm.md | 18 +- .../version-control/version-control-faq.md | 12 +- .../version-control-troubleshooting/_index.md | 8 +- .../repository-size.md | 14 +- .../troubleshoot-team-server-issues.md | 4 +- 669 files changed, 4505 insertions(+), 4505 deletions(-) diff --git a/content/en/docs/howto10/data-models/denormalize-data-to-improve-performance.md b/content/en/docs/howto10/data-models/denormalize-data-to-improve-performance.md index 5ac3e161a94..1c5e5a16313 100644 --- a/content/en/docs/howto10/data-models/denormalize-data-to-improve-performance.md +++ b/content/en/docs/howto10/data-models/denormalize-data-to-improve-performance.md @@ -18,7 +18,7 @@ This how-to teaches you how to do the following: Before starting this how-to, make sure you have completed the following prerequisites: -* [Configure a domain model](/refguide/configuring-a-domain-model/) +* [Configure a domain model](/refguide10/configuring-a-domain-model/) ## Denormalization @@ -29,7 +29,7 @@ To show the total order amount, there are two options: * First option: create a calculated attribute in the Customer entity to compute the total order amount * The drawback of this option is that the calculated attributes bring down the performance of overview pages * Second option: create a persistable attribute in the Customer entity that stores the total order amount in the database – this is called denormalization - * The drawback of this option is that the redundant data needs to be kept in sync (but this is easy with Mendix [event handlers](/refguide/event-handlers/)) + * The drawback of this option is that the redundant data needs to be kept in sync (but this is easy with Mendix [event handlers](/refguide10/event-handlers/)) To enable denormalization, follow these steps: @@ -143,10 +143,10 @@ Now the application is ready to store redundant data, but you still need to keep ## Read More -* [Configuring a Domain Model](/refguide/configuring-a-domain-model/) -* [Setting Up Data Validation](/refguide/setting-up-data-validation/) +* [Configuring a Domain Model](/refguide10/configuring-a-domain-model/) +* [Setting Up Data Validation](/refguide10/setting-up-data-validation/) * [Find the Root Cause of Runtime Errors](/howto/monitoring-troubleshooting/finding-the-root-cause-of-runtime-errors/) * [Epics](/developerportal/project-management/epics/) -* [Defining Access Rules Using XPath](/refguide/define-access-rules-using-xpath/) -* [Attributes](/refguide/attributes/) -* [Event Handlers](/refguide/event-handlers/) +* [Defining Access Rules Using XPath](/refguide10/define-access-rules-using-xpath/) +* [Attributes](/refguide10/attributes/) +* [Event Handlers](/refguide10/event-handlers/) diff --git a/content/en/docs/howto10/data-models/migrating-your-mendix-database.md b/content/en/docs/howto10/data-models/migrating-your-mendix-database.md index db45a2062a0..09ee36601fb 100644 --- a/content/en/docs/howto10/data-models/migrating-your-mendix-database.md +++ b/content/en/docs/howto10/data-models/migrating-your-mendix-database.md @@ -19,7 +19,7 @@ After completing this how-to, you will know how to do the following: * Migrate a PostgreSQL database to a non-PostgreSQL database, including migrating a PostgreSQL database to SAP HANA {{% alert color="warning" %}} -You cannot use these methods to transfer data from one app to another. This is because each app labels the entities uniquely, even if the name in the domain model is the same. For more information, see [Data Storage](/refguide/data-storage/). +You cannot use these methods to transfer data from one app to another. This is because each app labels the entities uniquely, even if the name in the domain model is the same. For more information, see [Data Storage](/refguide10/data-storage/). If you want to copy data to another app, Mendix recommends using the [Database Replication](/appstore/modules/database-replication/) module. {{% /alert %}} @@ -38,7 +38,7 @@ These are the most commonly used custom settings for database migration: * SourceDatabaseUserName * SourceDatabasePassword -For more information and the full list of available settings, see [Runtime Customization](/refguide/custom-settings/). +For more information and the full list of available settings, see [Runtime Customization](/refguide10/custom-settings/). These settings can be configured as follows: diff --git a/content/en/docs/howto10/data-models/sharing-the-development-database.md b/content/en/docs/howto10/data-models/sharing-the-development-database.md index 6c988063146..9fd30346992 100644 --- a/content/en/docs/howto10/data-models/sharing-the-development-database.md +++ b/content/en/docs/howto10/data-models/sharing-the-development-database.md @@ -125,4 +125,4 @@ If you want to keep a copy of your existing data before using the data from the ## Read More -* [Version Control](/refguide/version-control/) +* [Version Control](/refguide10/version-control/) diff --git a/content/en/docs/howto10/extensibility/best-practices-javascript-actions.md b/content/en/docs/howto10/extensibility/best-practices-javascript-actions.md index cd8aa5a5641..32c09c9ac39 100644 --- a/content/en/docs/howto10/extensibility/best-practices-javascript-actions.md +++ b/content/en/docs/howto10/extensibility/best-practices-javascript-actions.md @@ -148,7 +148,7 @@ function CameraStart(targetSize, pictureSource, correctOrientation, waterMark) { } ``` -For more detail on input types, see [JavaScript Actions](/refguide/javascript-actions/). For more information on choosing correct input types, see the [Better APIs](#betterapis) section below. +For more detail on input types, see [JavaScript Actions](/refguide10/javascript-actions/). For more information on choosing correct input types, see the [Better APIs](#betterapis) section below. ### Coding the Actions @@ -253,7 +253,7 @@ Below is an example of using an external dependency based on [pdf-lib](https://g ### Understanding Returns -The JavaScript action can specify a return type such as Integer, DateTime, Object, List of object, and Generics. For more information on returns, see [JavaScript Actions](/refguide/javascript-actions/). +The JavaScript action can specify a return type such as Integer, DateTime, Object, List of object, and Generics. For more information on returns, see [JavaScript Actions](/refguide10/javascript-actions/). Actions can be synchronous or asynchronous. Synchronous actions will directly return the value and finish executing. An asynchronous action will return a promise, and will continue to execute and finish at a later time. The nanoflow will continue to execute when the promise is resolved. @@ -448,7 +448,7 @@ Well-documented actions are easier to reuse. Consider the following when documen An extensive test app can help make a JavaScript action more robust. Within a test app, try to create all possible variations of the input, accounting for empty inputs and error cases that should be handled. -When testing, make sure you to check all compatible platforms (web and native). The web should handle the Mendix browser compatibility. For further information about compatibility, see the [Browsers](/refguide/system-requirements/#browsers) section of *System Requirements*. +When testing, make sure you to check all compatible platforms (web and native). The web should handle the Mendix browser compatibility. For further information about compatibility, see the [Browsers](/refguide10/system-requirements/#browsers) section of *System Requirements*. When an action is not compatible with the platform, make sure it can be checked with an additional action before running into an error. For example, employ a `CheckCameraSupport` action before starting a camera. When an action is called but not compatible, it should fail gracefully or display a clear error message. @@ -475,7 +475,7 @@ Not all capabilities are recommended for use. Consider the side effects that an ## Read More * [Build JavaScript Actions](/howto/extensibility/build-javascript-actions/) -* [JavaScript Actions](/refguide/javascript-actions/) +* [JavaScript Actions](/refguide10/javascript-actions/) * [Mendix Client API](/apidocs-mxsdk/apidocs/client-api/) * JavaScript basics: * [Mozilla JavaScript Basics](https://developer.mozilla.org/en-US/docs/Learn/Getting_started_with_the_web/JavaScript_basics) diff --git a/content/en/docs/howto10/extensibility/build-javascript-actions/create-native-javascript-action.md b/content/en/docs/howto10/extensibility/build-javascript-actions/create-native-javascript-action.md index 7404dc2936f..52361d2bc7b 100644 --- a/content/en/docs/howto10/extensibility/build-javascript-actions/create-native-javascript-action.md +++ b/content/en/docs/howto10/extensibility/build-javascript-actions/create-native-javascript-action.md @@ -209,11 +209,11 @@ This dialog box is your phone's operating system recognizing the NFC tag. On And ### Building a Native Custom Developer App {#custom-developer-app} -When developing a native mobile app, you can use the [Make it Native](/refguide/getting-the-make-it-native-app/) app to quickly get started. However, this app is bundled with a limited number of functionalities. This tutorial's app requires an NFC module in order to access the native NFC capabilities. This can only be achieved by building a custom developer app. To build and install a custom developer app, follow the steps in [Create a Custom Developer App](/refguide/mobile/distributing-mobile-apps/building-native-apps/how-to-devapps/). +When developing a native mobile app, you can use the [Make it Native](/refguide10/getting-the-make-it-native-app/) app to quickly get started. However, this app is bundled with a limited number of functionalities. This tutorial's app requires an NFC module in order to access the native NFC capabilities. This can only be achieved by building a custom developer app. To build and install a custom developer app, follow the steps in [Create a Custom Developer App](/refguide10/mobile/distributing-mobile-apps/building-native-apps/how-to-devapps/). ### Testing the NFC Custom Developer App -After you have finished the steps outlined in [Create a Custom Developer App](/refguide/mobile/distributing-mobile-apps/building-native-apps/how-to-devapps/), try it out. +After you have finished the steps outlined in [Create a Custom Developer App](/refguide10/mobile/distributing-mobile-apps/building-native-apps/how-to-devapps/), try it out. 1. Open the app 1. Tap **Scan tag** @@ -315,12 +315,12 @@ Congratulations on making your own native JavaScript action! Please use your own Until this section, you have used a custom developer app to validate your application. When you want to distribute your app in the Google Play Store or Apple App Store, you have to make a build that includes the bundled Mendix app. -For the full explanation on how to build, sign, and distribute your app to an app store see [Build a Mendix Native App in the Cloud](/refguide/mobile/distributing-mobile-apps/building-native-apps/deploying-native-app/), as well as the tutorial's subsequent sections. +For the full explanation on how to build, sign, and distribute your app to an app store see [Build a Mendix Native App in the Cloud](/refguide10/mobile/distributing-mobile-apps/building-native-apps/deploying-native-app/), as well as the tutorial's subsequent sections. ## Read More -* [How to Build a Mendix Native App in the Cloud](/refguide/mobile/distributing-mobile-apps/building-native-apps/deploying-native-app/) -* [JavaScript Actions Reference Guide](/refguide/javascript-actions/) +* [How to Build a Mendix Native App in the Cloud](/refguide10/mobile/distributing-mobile-apps/building-native-apps/deploying-native-app/) +* [JavaScript Actions Reference Guide](/refguide10/javascript-actions/) * [How To Build JavaScript actions](/howto/extensibility/build-javascript-actions/) * [Declaring Native Dependencies](/apidocs-mxsdk/apidocs/pluggable-widgets-native-dependencies/) * GitHub's [NFC React Native Library](https://github.com/whitedogg13/react-native-nfc-manager) diff --git a/content/en/docs/howto10/extensibility/build-javascript-actions/write-javascript-actions.md b/content/en/docs/howto10/extensibility/build-javascript-actions/write-javascript-actions.md index 495b31d672d..fd323b8182b 100644 --- a/content/en/docs/howto10/extensibility/build-javascript-actions/write-javascript-actions.md +++ b/content/en/docs/howto10/extensibility/build-javascript-actions/write-javascript-actions.md @@ -8,7 +8,7 @@ description: "This how-to teaches you how to create a JavaScript action." ## Introduction -Nanoflows are more powerful with pluggable nanoflow actions — called JavaScript actions. With JavaScript actions, the standard set of actions can be extended with new functionality. A JavaScript action is a reusable action based on JavaScript that runs in the client just like the nanoflow, and can use capabilities such as HTML5 browser functions, Cordova plugins, and React Native modules. JavaScript actions are similar to [Java actions](/refguide/java-actions/), but run on the client instead of the server. To share them inside your organization, JavaScript actions can be distributed and downloaded through the private [Mendix Marketplace](https://marketplace.mendix.com/). +Nanoflows are more powerful with pluggable nanoflow actions — called JavaScript actions. With JavaScript actions, the standard set of actions can be extended with new functionality. A JavaScript action is a reusable action based on JavaScript that runs in the client just like the nanoflow, and can use capabilities such as HTML5 browser functions, Cordova plugins, and React Native modules. JavaScript actions are similar to [Java actions](/refguide10/java-actions/), but run on the client instead of the server. To share them inside your organization, JavaScript actions can be distributed and downloaded through the private [Mendix Marketplace](https://marketplace.mendix.com/). This how-to teaches you how to do the following: @@ -123,7 +123,7 @@ To create a JavaScript action that can synthesize text to speech, follow these s {{< figure src="/attachments/howto10/extensibility/build-javascript-actions/write-javascript-actions/selectjsactioncalldetail.png" alt="select text to speech action" class="no-border" >}} - Optionally, you can expose the JavaScript action as a nanoflow action. When you do, you can choose a **Caption**, **Category**, and **Icon**. Note that to choose an icon your image will need to be included in an existing [image collection](/refguide/image-collection/). + Optionally, you can expose the JavaScript action as a nanoflow action. When you do, you can choose a **Caption**, **Category**, and **Icon**. Note that to choose an icon your image will need to be included in an existing [image collection](/refguide10/image-collection/). {{< figure src="/attachments/howto10/extensibility/build-javascript-actions/write-javascript-actions/exposeasnanoflow.png" alt="add caption category and icon" class="no-border" >}} @@ -142,7 +142,7 @@ To create a JavaScript action that can synthesize text to speech, follow these s * [Build JavaScript Actions: Part 2 (Advanced)](/howto/extensibility/write-javascript-github/) * [Implement Best Practices for JavaScript Actions](/howto/extensibility/best-practices-javascript-actions/) -* [JavaScript Actions](/refguide/javascript-actions/) +* [JavaScript Actions](/refguide10/javascript-actions/) * [Mendix Client API](/apidocs-mxsdk/apidocs/client-api/) * JavaScript Resources: * [JavaScript basics](https://developer.mozilla.org/en-US/docs/Learn/Getting_started_with_the_web/JavaScript_basics) diff --git a/content/en/docs/howto10/extensibility/build-javascript-actions/write-javascript-github.md b/content/en/docs/howto10/extensibility/build-javascript-actions/write-javascript-github.md index 3b28dcc7406..44bffd7d7a7 100644 --- a/content/en/docs/howto10/extensibility/build-javascript-actions/write-javascript-github.md +++ b/content/en/docs/howto10/extensibility/build-javascript-actions/write-javascript-github.md @@ -259,7 +259,7 @@ To create a JavaScript action that can search for users on GitHub, follow the st {{< figure src="/attachments/howto10/extensibility/build-javascript-actions/write-javascript-github/select-searchgithub-users.png" alt="select search GitHub users" class="no-border" >}} - Optionally, you can expose the JavaScript action as a nanoflow action. When you do, you can choose a **Caption**, **Category**, and **Icon**. Note that your icon image will need to be in an existing [image collection](/refguide/image-collection/): + Optionally, you can expose the JavaScript action as a nanoflow action. When you do, you can choose a **Caption**, **Category**, and **Icon**. Note that your icon image will need to be in an existing [image collection](/refguide10/image-collection/): {{< figure src="/attachments/howto10/extensibility/build-javascript-actions/write-javascript-github/nanoflow-options.png" alt="nanoflow options" class="no-border" >}} @@ -303,7 +303,7 @@ Congratulations! Using the power of JavaScript actions, your app can search for * [Build JavaScript Actions: Part 1 (Basic)](/howto/extensibility/write-javascript-actions/) * [Mendix Client API](https://apidocs.rnd.mendix.com/10/client/index.html) -* [JavaScript Actions](/refguide/javascript-actions/) +* [JavaScript Actions](/refguide10/javascript-actions/) * JavaScript Resources * [JavaScript Basics](https://developer.mozilla.org/en-US/docs/Learn/Getting_started_with_the_web/JavaScript_basics) * [Promises](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise) diff --git a/content/en/docs/howto10/extensibility/build-native-widget.md b/content/en/docs/howto10/extensibility/build-native-widget.md index 991e46b0e6e..7f4830db422 100644 --- a/content/en/docs/howto10/extensibility/build-native-widget.md +++ b/content/en/docs/howto10/extensibility/build-native-widget.md @@ -1377,6 +1377,6 @@ The developer needs to have the class names memorized to apply a certain group b ## Read More * [Pluggable Widgets API Documentation](/apidocs-mxsdk/apidocs/pluggable-widgets/) -* [Designing Mobile User Interfaces](/refguide/mobile/designing-mobile-user-interfaces/) -* [Native Mobile Styling Reference Guide](/refguide/native-styling-refguide/) +* [Designing Mobile User Interfaces](/refguide10/mobile/designing-mobile-user-interfaces/) +* [Native Mobile Styling Reference Guide](/refguide10/native-styling-refguide/) * [How to Build Pluggable Widgets](/howto/extensibility/pluggable-widgets/) diff --git a/content/en/docs/howto10/extensibility/howto-datastorage-api.md b/content/en/docs/howto10/extensibility/howto-datastorage-api.md index a452d1bc65b..0212a7d1592 100644 --- a/content/en/docs/howto10/extensibility/howto-datastorage-api.md +++ b/content/en/docs/howto10/extensibility/howto-datastorage-api.md @@ -24,9 +24,9 @@ This how to describes how you can build the following microflow actions: * Create first Monday of month list - returns a list of dates of the first Monday of every month in a specified range * Register global entity listeners - run custom Java code for every object change -For more information on Java programming for Mendix, see [Java Programming](/refguide/java-programming/). +For more information on Java programming for Mendix, see [Java Programming](/refguide10/java-programming/). -For more information on calling Java actions from a microflow, see [Java Actions](/refguide/java-actions/). +For more information on calling Java actions from a microflow, see [Java Actions](/refguide10/java-actions/). ## Retrieving Objects Using Advanced XPath diff --git a/content/en/docs/howto10/extensibility/pluggable-widgets/create-a-pluggable-widget-one.md b/content/en/docs/howto10/extensibility/pluggable-widgets/create-a-pluggable-widget-one.md index 29c2d83b1c6..c70d09457fd 100644 --- a/content/en/docs/howto10/extensibility/pluggable-widgets/create-a-pluggable-widget-one.md +++ b/content/en/docs/howto10/extensibility/pluggable-widgets/create-a-pluggable-widget-one.md @@ -290,7 +290,7 @@ Comparing our widget to the Mendix text input widget we are still missing a labe {{< figure src="/attachments/howto10/extensibility/pluggable-widgets/create-a-pluggable-widget-one/inputwidgetswithlabel.png" alt="A live Mendix app with two text fields with labels. The second text field has the label TextBox" class="no-border" >}} -{{% alert color="info" %}}The labels will appear in front of, or above the inputs. This depends on the surrounding [data view's properties](/refguide/data-view/#orientation) (**form orientation** and **label width**) and the size of the screen.{{% /alert %}} +{{% alert color="info" %}}The labels will appear in front of, or above the inputs. This depends on the surrounding [data view's properties](/refguide10/data-view/#orientation) (**form orientation** and **label width**) and the size of the screen.{{% /alert %}} ### Handling Updates diff --git a/content/en/docs/howto10/front-end/atlas-ui/customize-styling-new.md b/content/en/docs/howto10/front-end/atlas-ui/customize-styling-new.md index 182ce17c3ca..bc6ce465d23 100644 --- a/content/en/docs/howto10/front-end/atlas-ui/customize-styling-new.md +++ b/content/en/docs/howto10/front-end/atlas-ui/customize-styling-new.md @@ -27,7 +27,7 @@ The styling editor is based on the editor that powers Visual Studio Code and is {{< figure src="/attachments/howto10/front-end/atlas-ui/customize-styling-new/styling-editor.png" alt="styling editor" class="no-border" >}} -By default, Studio Pro shows styling files on the app level and from UI resources modules, such as **Atlas_Core**. This can be changed in [preferences](/refguide/preferences-dialog/) (Edit > **Preferences** > **General** > **Interface**) or by simply right-clicking **Styling** in the App Explorer: +By default, Studio Pro shows styling files on the app level and from UI resources modules, such as **Atlas_Core**. This can be changed in [preferences](/refguide10/preferences-dialog/) (Edit > **Preferences** > **General** > **Interface**) or by simply right-clicking **Styling** in the App Explorer: {{< figure src="/attachments/howto10/front-end/atlas-ui/customize-styling-new/styling-editor-settings.png" alt="styling editor settings" class="no-border" >}} @@ -265,7 +265,7 @@ Mendix monitors the file system in the **theme** and **themesource** folders for If **Enable developer mode** is enabled, and changes are made in the JavaScript styling files, the app automatically reloads with the new styling. -For more information, see the Getting the [Make It Native App Reference Guide](/refguide/getting-the-make-it-native-app/). +For more information, see the Getting the [Make It Native App Reference Guide](/refguide10/getting-the-make-it-native-app/). ## File and Folder Structure {#file-and-folder} @@ -342,7 +342,7 @@ For native mobile apps the React Native framework is used to combine all the Jav If there are errors during the bundling, these will be shown in Studio Pro and the Make it Native app. For details on the error, it can be helpful to look at the native packager logs in *{Mendix app directory}/deployment/log/native_packager_log.txt*. -For more details on styling native mobile apps see the [Native Mobile Styling](/refguide/native-styling-refguide/) Reference Guide. +For more details on styling native mobile apps see the [Native Mobile Styling](/refguide10/native-styling-refguide/) Reference Guide. ## Disabling default styling from Atlas Core {#disable-default} @@ -576,7 +576,7 @@ Mendix is able to add the `?638184496048312490` query parameter because of the u ``` {{% alert color="info" %}} -When the [Mendix React Client](/refguide/mendix-client/react/) is enabled, the line in */deployment/web/index.html* is as follows: +When the [Mendix React Client](/refguide10/mendix-client/react/) is enabled, the line in */deployment/web/index.html* is as follows: ``` ``` diff --git a/content/en/docs/howto10/front-end/atlas-ui/module-level-theme-settings.md b/content/en/docs/howto10/front-end/atlas-ui/module-level-theme-settings.md index ac81f21ea15..3989129d82c 100644 --- a/content/en/docs/howto10/front-end/atlas-ui/module-level-theme-settings.md +++ b/content/en/docs/howto10/front-end/atlas-ui/module-level-theme-settings.md @@ -34,7 +34,7 @@ By excluding a UI element, you can no longer use it across your app. ### Excluding Layouts and Page Templates -By excluding [layouts](/refguide/layout/) and [page templates](/refguide/page-templates/), developers can no longer use them to create a new page. Here is a small example of how to exclude Atlas Core layouts and page templates: +By excluding [layouts](/refguide10/layout/) and [page templates](/refguide10/page-templates/), developers can no longer use them to create a new page. Here is a small example of how to exclude Atlas Core layouts and page templates: ```json { @@ -53,7 +53,7 @@ Existing pages with the banned designs will continue to work. ### Excluding Building Blocks -Similar to layouts and page templates, excluding the [building blocks](/refguide/building-block/) will hide them from the page editor toolbox. Here is a small example of how to exclude Atlas Web Content building blocks: +Similar to layouts and page templates, excluding the [building blocks](/refguide10/building-block/) will hide them from the page editor toolbox. Here is a small example of how to exclude Atlas Web Content building blocks: ```json { diff --git a/content/en/docs/howto10/front-end/create-your-first-two-overview-and-detail-pages.md b/content/en/docs/howto10/front-end/create-your-first-two-overview-and-detail-pages.md index 90fb9193862..ada0e8b8520 100644 --- a/content/en/docs/howto10/front-end/create-your-first-two-overview-and-detail-pages.md +++ b/content/en/docs/howto10/front-end/create-your-first-two-overview-and-detail-pages.md @@ -19,7 +19,7 @@ This how-to teaches you how to do the following: Before starting with this how-to, make sure you have completed the following prerequisite: -* Create a domain model by following [Configuring a Domain Model](/refguide/configuring-a-domain-model/): +* Create a domain model by following [Configuring a Domain Model](/refguide10/configuring-a-domain-model/): {{< figure src="/attachments/howto10/front-end/create-your-first-two-overview-and-detail-pages/18582175.png" class="no-border" >}} @@ -94,7 +94,7 @@ To create a new detail page manually, follow these steps: ## Navigation and Security -Now create a navigation item for your overview page to start using it. For details on Setting Up Navigation, see [Setting Up Navigation](/refguide/setting-up-the-navigation-structure/). +Now create a navigation item for your overview page to start using it. For details on Setting Up Navigation, see [Setting Up Navigation](/refguide10/setting-up-the-navigation-structure/). If you switched on security for this application, you also need to configure page access on both the overview and detail pages. For more information, see [How to Create a Secure App](/howto/security/create-a-secure-app/). @@ -102,6 +102,6 @@ If you switched on security for this application, you also need to configure pag * [UI Design](/howto/front-end/atlas-ui/) * [Use Layouts and Snippets](/howto/front-end/layouts-and-snippets/) -* [Setting Up Navigation](/refguide/setting-up-the-navigation-structure/) +* [Setting Up Navigation](/refguide10/setting-up-the-navigation-structure/) * [Find the Root Cause of Runtime Errors](/howto/monitoring-troubleshooting/finding-the-root-cause-of-runtime-errors/) -* [Page](/refguide/page/) +* [Page](/refguide10/page/) diff --git a/content/en/docs/howto10/front-end/custom-error-page.md b/content/en/docs/howto10/front-end/custom-error-page.md index a11d57c7438..82be9bd08e6 100644 --- a/content/en/docs/howto10/front-end/custom-error-page.md +++ b/content/en/docs/howto10/front-end/custom-error-page.md @@ -8,7 +8,7 @@ description: "Describes how to create a custom error page for a more tailored us {{% alert color="info" %}} This document explains how to make custom error pages for web pages. Native mobile does not use custom error pages, as users cannot enter URLs which lead to them. -To create customized error information for native pages, please create custom [system texts](/refguide/system-texts/). +To create customized error information for native pages, please create custom [system texts](/refguide10/system-texts/). {{% /alert %}} ## Introduction diff --git a/content/en/docs/howto10/front-end/layouts-and-snippets.md b/content/en/docs/howto10/front-end/layouts-and-snippets.md index 7824a0aef24..e30891bf1e3 100644 --- a/content/en/docs/howto10/front-end/layouts-and-snippets.md +++ b/content/en/docs/howto10/front-end/layouts-and-snippets.md @@ -163,7 +163,7 @@ At the heart of the navigation model in Mendix, are three device types: Desktop, When a user visits a Mendix application, they are automatically redirected to the home page of the appropriate device type (for details, see the section [Redirection to Device Types](#RedirectiontoDeviceTypes)). -For more information on navigation profiles, see [Navigation in Mendix](/refguide/navigation/). +For more information on navigation profiles, see [Navigation in Mendix](/refguide10/navigation/). ### Menu Document @@ -205,6 +205,6 @@ In addition, a snippet can define an entity that serves as a context for the wid * [Atlas UI](/howto/front-end/atlas-ui/) * [Use Layouts and Snippets](/howto/front-end/layouts-and-snippets/) -* [Setting Up Navigation](/refguide/setting-up-the-navigation-structure/) +* [Setting Up Navigation](/refguide10/setting-up-the-navigation-structure/) * [Create Your First Two Overview and Detail Pages](/howto/front-end/create-your-first-two-overview-and-detail-pages/) * [Find the Root Cause of Runtime Errors](/howto/monitoring-troubleshooting/finding-the-root-cause-of-runtime-errors/) diff --git a/content/en/docs/howto10/security/best-practices-security.md b/content/en/docs/howto10/security/best-practices-security.md index 662dad96dd7..2836ef83e30 100644 --- a/content/en/docs/howto10/security/best-practices-security.md +++ b/content/en/docs/howto10/security/best-practices-security.md @@ -109,8 +109,8 @@ Choosing *Yes* comes with the benefits of having the time zone and language sett APIs that do require authentication have either two or three options to fulfill that requirement, based on whether they are Published Web Services or OData/REST endpoints. -All these authentication options will later be combined with the API's [Allowed Roles](/refguide/published-rest-service/#allowed-roles) configuration. -Allowed roles can be any of the roles you have defined in [User Roles](/refguide/user-roles/), including the role assigned to Anonymous users. +All these authentication options will later be combined with the API's [Allowed Roles](/refguide10/published-rest-service/#allowed-roles) configuration. +Allowed roles can be any of the roles you have defined in [User Roles](/refguide10/user-roles/), including the role assigned to Anonymous users. {{% alert color="warning" %}} Assigning an Anonymous user role as one of the API's allowed roles is similar as choosing *No* at **Requires authentication**. @@ -134,7 +134,7 @@ Credentials provided in the basic auth header will be checked as follows: #### Authentication Option 2, Active Session{#active} {{% alert color="info" %}} -This authentication option is not available for Published Web Services and can only be used in apps which are not [Offline-First](/refguide/offline-first/). +This authentication option is not available for Published Web Services and can only be used in apps which are not [Offline-First](/refguide10/offline-first/). {{% /alert %}} If you choose this option, the API will expect a "X-Csrf-Token" HTTP request header to be set on each incoming request. This authentication option is particularly interesting for custom JavaScript and widget implementations. @@ -147,9 +147,9 @@ If you choose this option, the API passes the HttpRequest including all the atta This functionality allows you, for example, to contact an external Identity Provider or verify the access to the API endpoint and resource based on scopes and claims encoded in a JWT token. -After the request has been authenticated, the role-based security model of Mendix will be applied to the microflows that are executed as the result of the API endpoint, resources, and paths that have been configured. If [Apply entity access](/refguide/microflow/#security) has been turned on, the API call will also check for read/write access to the requested entities and attributes before returning any data. +After the request has been authenticated, the role-based security model of Mendix will be applied to the microflows that are executed as the result of the API endpoint, resources, and paths that have been configured. If [Apply entity access](/refguide10/microflow/#security) has been turned on, the API call will also check for read/write access to the requested entities and attributes before returning any data. -To understand the full authentication flow, take a closer look at [Published REST Request Routing](/refguide/published-rest-routing/). +To understand the full authentication flow, take a closer look at [Published REST Request Routing](/refguide10/published-rest-routing/). ### Limiting API Access through IP Restrictions and Certificates @@ -168,10 +168,10 @@ This data is defined within the domain model and stored within the database of y You may need to store sensitive information, such as credentials, in your app. To limit access to this sensitive information, Mendix recommends the following: -* Credentials are recorded in [constants](/refguide/constants/) which can be set when your app is deployed—in the [Mendix Portal](/developerportal/deploy/environments-details/#constants), for example, if you are deploying to Mendix Cloud. +* Credentials are recorded in [constants](/refguide10/constants/) which can be set when your app is deployed—in the [Mendix Portal](/developerportal/deploy/environments-details/#constants), for example, if you are deploying to Mendix Cloud. * The constants should be blank by default (not populated with the credentials) in the app. - * Values for the constants can be provided during testing by creating a [configuration](/refguide/configuration/#constants). + * Values for the constants can be provided during testing by creating a [configuration](/refguide10/configuration/#constants). * Only authorized people should be given access to set the constants when the app is deployed. This is done through the [app roles](/developerportal/general/app-roles/) and (for Mendix Cloud) the [node permissions](/developerportal/deploy/node-permissions/). @@ -197,7 +197,7 @@ By default, Mendix forces a strong password policy. The same password policy tha It is very tempting to simplify the password constraints for development purposes (for example, making it possible to use a single character to login). However, Mendix recommends avoiding this approach so that deployments will continue to force a strong password policy. -The password policy can be set by via the guidelines described in [Password Policy](/refguide/password-policy/). +The password policy can be set by via the guidelines described in [Password Policy](/refguide10/password-policy/). ## Renaming the Administrator User @@ -268,5 +268,5 @@ Security in Mendix does not include scanning files that end-users upload or down To scan uploaded files for malicious content, do one of the following: -* Create a custom module and configure the functionality yourself, for example, by using a [before a commit event](/refguide/setting-up-data-validation/#validation-before-commit-event). +* Create a custom module and configure the functionality yourself, for example, by using a [before a commit event](/refguide10/setting-up-data-validation/#validation-before-commit-event). * Check available modules in the [Mendix Marketplace](https://marketplace.mendix.com/). For more information on how to use the Mendix Marketplace content, see [How to Use Marketplace Content](/appstore/use-content/). diff --git a/content/en/docs/howto10/security/create-a-secure-app.md b/content/en/docs/howto10/security/create-a-secure-app.md index 991f940381e..882a3a768c1 100644 --- a/content/en/docs/howto10/security/create-a-secure-app.md +++ b/content/en/docs/howto10/security/create-a-secure-app.md @@ -20,10 +20,10 @@ This how-to teaches you how to do the following: Before starting with this how-to, make sure you have completed the following prerequisites: -* Know how to create a domain model (for details, see [Creating a Basic Data Layer](/refguide/configuring-a-domain-model/)) +* Know how to create a domain model (for details, see [Creating a Basic Data Layer](/refguide10/configuring-a-domain-model/)) * Know how to create overview and detail pages (for details, see [How to Create Your First Two Overview and Details Pages](/howto/front-end/create-your-first-two-overview-and-detail-pages/)) -* Know how to create menu items (for details, see [Setting Up Navigation](/refguide/setting-up-the-navigation-structure/)) -* Know how to add action buttons (for details, see [Buttons](/refguide/button-widgets/)) +* Know how to create menu items (for details, see [Setting Up Navigation](/refguide10/setting-up-the-navigation-structure/)) +* Know how to add action buttons (for details, see [Buttons](/refguide10/button-widgets/)) ## Preparing the Data Structure, GUI, and Example Data @@ -214,7 +214,7 @@ To create access roles for the User module role, follow these steps: * **Allow deleting existing objects**: false * **Default rights for new members**: **Read** - {{% alert color="warning" %}}Be careful when setting default rights. If a new attribute or association is added, it will automatically have the designated access, which may not be what you want. See the [Access Rights](/refguide/access-rules/#access-rights) section of *Access Rules* for more details.{{% /alert %}} + {{% alert color="warning" %}}Be careful when setting default rights. If a new attribute or association is added, it will automatically have the designated access, which may not be what you want. See the [Access Rights](/refguide10/access-rules/#access-rights) section of *Access Rules* for more details.{{% /alert %}} {{< figure src="/attachments/howto10/security/create-a-secure-app/18581535.png" class="no-border" >}} @@ -236,7 +236,7 @@ To create access roles for the User module role, follow these steps: In the previous section you set some access rules on your domain model. In this section you will define the access rules on the Order entity so that orders can only be viewed by a user if the payment status of the order is set to open. You will do this by adding an XPath constraint to the Order entity for the User module role. -An XPath constraint can be used to constrain the set of objects to which the access rule applies. If the XPath constraint is empty, the rule applies to all the objects of the entity. For more information, see [XPath Constraints](/refguide/xpath-constraints/) in the *Studio Pro Guide*. +An XPath constraint can be used to constrain the set of objects to which the access rule applies. If the XPath constraint is empty, the rule applies to all the objects of the entity. For more information, see [XPath Constraints](/refguide10/xpath-constraints/) in the *Studio Pro Guide*. ### Adding an Account with the User User Role diff --git a/content/en/docs/howto10/security/csp.md b/content/en/docs/howto10/security/csp.md index 01202a2b62e..143a8e803ea 100644 --- a/content/en/docs/howto10/security/csp.md +++ b/content/en/docs/howto10/security/csp.md @@ -102,7 +102,7 @@ Lastly, ensure you are not using any external fonts by checking your theme's sty #### Testing Your Changes Locally -To check that your changes are working locally, you can add a custom `Content-Security-Policy` header in your [configuration](/refguide/configuration/#headers). +To check that your changes are working locally, you can add a custom `Content-Security-Policy` header in your [configuration](/refguide10/configuration/#headers). After redeploying your app locally, it should function as normal. If your app does not load or if there are errors, check that you have completed all steps listed above. diff --git a/content/en/docs/howto10/testing/testing-mendix-applications-using-selenium-ide.md b/content/en/docs/howto10/testing/testing-mendix-applications-using-selenium-ide.md index 55853a77543..eba91b9fd3a 100644 --- a/content/en/docs/howto10/testing/testing-mendix-applications-using-selenium-ide.md +++ b/content/en/docs/howto10/testing/testing-mendix-applications-using-selenium-ide.md @@ -69,7 +69,7 @@ To create an automated test by using the record button in Selenium IDE, follow t 3. Enter a name for your new Selenium project (for example, *CompanyExpenses*). 4. Enter the URL for your Company Expenses app's login screen (`http://localhost:8080/login.html`), then click **START RECORDING**. This will open up your app in a new browser window. The Selenium IDE is now recording. -5. Sign in with default [administrator credentials](/refguide/administrator/#administrator-properties): +5. Sign in with default [administrator credentials](/refguide10/administrator/#administrator-properties): * **User name**: MxAdmin * **Password**: 1 diff --git a/content/en/docs/refguide10/_index.md b/content/en/docs/refguide10/_index.md index 3843fd85db5..7422954e3ff 100644 --- a/content/en/docs/refguide10/_index.md +++ b/content/en/docs/refguide10/_index.md @@ -1,6 +1,6 @@ --- title: "Studio Pro 10 Guide" -url: /refguide/ +url: /refguide10/ description: "The various sections of the Mendix Studio Pro Guide provide details on the features and functionality of the Mendix Platform." weight: 10 no_list: false @@ -14,11 +14,11 @@ cascade: ## 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. +The *Mendix Studio Pro 10 Guide* covers important topics concerning [Studio Pro](/refguide10/modeling/), the [Mendix Runtime](/refguide10/runtime/), and other components of the Mendix Platform. -Studio Pro runs on both Windows and macOS. Before installing Studio Pro 10, please read [System Requirements](/refguide/system-requirements/). For information on how to install Studio Pro, see [Installing Mendix Studio Pro](/refguide/install/). +Studio Pro runs on both Windows and macOS. Before installing Studio Pro 10, please read [System Requirements](/refguide10/system-requirements/). For information on how to install Studio Pro, see [Installing Mendix Studio Pro](/refguide10/install/). -If you have been using Studio Pro version 9, Mendix recommends reading [Upgrading from Mendix Studio Pro 9 to 10](/refguide/upgrading-from-9-to-10/). +If you have been using Studio Pro version 9, Mendix recommends reading [Upgrading from Mendix Studio Pro 9 to 10](/refguide10/upgrading-from-9-to-10/). If you are looking to build your first app, check out the [Quick Starts](/quickstarts/). @@ -30,7 +30,7 @@ Studio Pro allows you to create, test, and run apps. ### Modeling -Modeling an app is the process of creating an app and involves creating pages, adding logic, configuring security, etc. For more information on what functionality you can use to model your app, see [App Modeling](/refguide/modeling/). +Modeling an app is the process of creating an app and involves creating pages, adding logic, configuring security, etc. For more information on what functionality you can use to model your app, see [App Modeling](/refguide10/modeling/). ### Testing @@ -44,15 +44,15 @@ For more information on options for deploying your app see [Deploying Apps](/dep ## Version Control -[Version Control](/refguide/version-control/) allows you to manage your app development and work on multiple development lines. For information on how Studio Pro handles versioning of apps, see the [Versioning an App Deployed to the Cloud](/refguide/using-version-control-in-studio-pro/#versioning-app) section in *Using Version Control in Studio Pro*. +[Version Control](/refguide10/version-control/) allows you to manage your app development and work on multiple development lines. For information on how Studio Pro handles versioning of apps, see the [Versioning an App Deployed to the Cloud](/refguide10/using-version-control-in-studio-pro/#versioning-app) section in *Using Version Control in Studio Pro*. ## Mendix Runtime -The [Mendix Runtime](/refguide/runtime/) executes the application model that is created in Studio Pro. It is included in the Studio Pro 10 Guide as it uses the same version numbering. +The [Mendix Runtime](/refguide10/runtime/) executes the application model that is created in Studio Pro. It is included in the Studio Pro 10 Guide as it uses the same version numbering. ## Mobile -Mobile app development allows you to create native mobile and progressive web apps. For more information, see [Mobile](/refguide/mobile/). +Mobile app development allows you to create native mobile and progressive web apps. For more information, see [Mobile](/refguide10/mobile/). ## Guide Categories diff --git a/content/en/docs/refguide10/general/_index.md b/content/en/docs/refguide10/general/_index.md index fe14970393c..77e993fcc5f 100644 --- a/content/en/docs/refguide10/general/_index.md +++ b/content/en/docs/refguide10/general/_index.md @@ -1,6 +1,6 @@ --- title: "General Info" -url: /refguide/general/ +url: /refguide10/general/ weight: 15 description: "Presents an overview on using Studio Pro 10." no_list: false @@ -9,6 +9,6 @@ description_list: true ## Introduction -As you start using Studio Pro 10, reference [Studio Pro Overview](/refguide/studio-pro-overview/) to understand the IDE's user interface and shortcut options. +As you start using Studio Pro 10, reference [Studio Pro Overview](/refguide10/studio-pro-overview/) to understand the IDE's user interface and shortcut options. ## Documents in This Category diff --git a/content/en/docs/refguide10/general/developer-tools.md b/content/en/docs/refguide10/general/developer-tools.md index b0aca0f483e..8c4bf1405e4 100644 --- a/content/en/docs/refguide10/general/developer-tools.md +++ b/content/en/docs/refguide10/general/developer-tools.md @@ -1,6 +1,6 @@ --- title: "Developer Tool Recommendations" -url: /refguide/developer-tools/ +url: /refguide10/developer-tools/ weight: 40 description: "Describes the best third-party tools to use when developing with Mendix." --- @@ -10,6 +10,6 @@ To make development a little easier, here is a list of helpful third-party tools * [Linux m2ee scripts](https://github.com/mendix/m2ee-tools) – Mendix Runtime helper tools for GNU/Linux (for details on installation, see [Installing Mendix on GNU/Linux](https://github.com/mendix/m2ee-tools/blob/master/doc/README.md)) * [Firefox DevTools](https://www.mozilla.org/en-US/firefox/developer/?utm_source=firebug&utm_medium=lp&utm_campaign=switch&utm_content=landingpage) – these developer tools replace [Firebug](https://getfirebug.com/), which is no longer being supported * [Selenium](https://www.seleniumhq.org/) – tools for automating web browsers -* [Eclipse](https://www.eclipse.org/downloads/) – tools for writing and debugging Java actions (for more information, see [Using Eclipse](/refguide/using-eclipse/)) +* [Eclipse](https://www.eclipse.org/downloads/) – tools for writing and debugging Java actions (for more information, see [Using Eclipse](/refguide10/using-eclipse/)) * [SOAP UI](https://www.soapui.org/) – REST and SOAP testing tools (for more information, see [How to Test Web Services Using SoapUI](/howto/testing/testing-web-services-using-soapui/)) * [Visual Studio Code](https://code.visualstudio.com/) – a powerful code editor (especially useful for maintaining your theme) diff --git a/content/en/docs/refguide10/general/mx-command-line-tool/_index.md b/content/en/docs/refguide10/general/mx-command-line-tool/_index.md index b08b0dcf7f1..7961ca0b504 100644 --- a/content/en/docs/refguide10/general/mx-command-line-tool/_index.md +++ b/content/en/docs/refguide10/general/mx-command-line-tool/_index.md @@ -1,6 +1,6 @@ --- title: "mx Command-Line Tool" -url: /refguide/mx-command-line-tool/ +url: /refguide10/mx-command-line-tool/ weight: 50 description: "Describes the options of the mx command-line tool." --- @@ -11,7 +11,7 @@ The mx tool is a Windows and Linux command-line tool that can be used to perform ## Location -Mendix Studio Pro comes with the mx command-line tool. You can find the executable *mx.exe* file in the same folder that contains *studiopro.exe* (for example, *C:\Program Files\Mendix\10.0.0.5003\modeler\mx.exe*). It is also included if you download [mxbuild](/refguide/mxbuild/). +Mendix Studio Pro comes with the mx command-line tool. You can find the executable *mx.exe* file in the same folder that contains *studiopro.exe* (for example, *C:\Program Files\Mendix\10.0.0.5003\modeler\mx.exe*). It is also included if you download [mxbuild](/refguide10/mxbuild/). ## Available Commands @@ -21,56 +21,56 @@ To see a list of commands, use the command `mx --help`. ### App Commands -These are the available [app commands](/refguide/mx-command-line-tool/app/): +These are the available [app commands](/refguide10/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. | -| [show-java-version](/refguide/mx-command-line-tool/app/#show-java-version) | Show the configured Java version of the app. | -| [analyze-mpr](/refguide/mx-command-line-tool/analyze-mpr/) | Shows the contents of the MPR file and their contribution to file size. | +| [check](/refguide10/mx-command-line-tool/app/#check) | Checks the app for issues. | +| [convert](/refguide10/mx-command-line-tool/app/#convert) | Converts the Mendix app. | +| [create-project](/refguide10/mx-command-line-tool/app/#create-project) | Creates a new Mendix app. | +| [show-version](/refguide10/mx-command-line-tool/app/#show-version) | Shows the Studio Pro version that was last used to edit the app. | +| [show-java-version](/refguide10/mx-command-line-tool/app/#show-java-version) | Show the configured Java version of the app. | +| [analyze-mpr](/refguide10/mx-command-line-tool/analyze-mpr/) | Shows the contents of the MPR file and their contribution to file size. | ### Adaptable Solutions Commands -These are the available [adaptable solutions commands](/refguide/mx-command-line-tool/adaptable/): +These are the available [adaptable solutions commands](/refguide10/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. | +| [show-app-version](/refguide10/mx-command-line-tool/adaptable/#show-app-version) | Shows the application version of the app. | +| [set-app-version](/refguide10/mx-command-line-tool/adaptable/#set-app-version) | Sets the application version of the app. | ### Module Commands -These are the available [module commands](/refguide/mx-command-line-tool/module/): +These are the available [module commands](/refguide10/mx-command-line-tool/module/): | Command | Description | |---|---| -| [show-module-version](/refguide/mx-command-line-tool/module/#show-module-version) | Shows the version of a module. | -| [set-module-version](/refguide/mx-command-line-tool/module/#set-module-version) | Sets the version of a module. | -| [module-import](/refguide/mx-command-line-tool/module/#module-import) | Import a module from an mpk package into an app. | +| [show-module-version](/refguide10/mx-command-line-tool/module/#show-module-version) | Shows the version of a module. | +| [set-module-version](/refguide10/mx-command-line-tool/module/#set-module-version) | Sets the version of a module. | +| [module-import](/refguide10/mx-command-line-tool/module/#module-import) | Import a module from an mpk package into an app. | ### Export Package Commands -These are the available [export package commands](/refguide/mx-command-line-tool/export/): +These are the available [export package commands](/refguide10/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. | +| [create-project-package](/refguide10/mx-command-line-tool/export/#create-project-package) | Exports an app package. | +| [create-solution-package](/refguide10/mx-command-line-tool/export/#create-solution-package) | Exports a solution package. | +| [create-module-package](/refguide10/mx-command-line-tool/export/#create-module-package) | Exports a module package. | ### Merging and Diffing Commands -These are the available [merging and diffing commands](/refguide/mx-command-line-tool/merge/): +These are the available [merging and diffing commands](/refguide10/mx-command-line-tool/merge/): | Command | Description | | --- | --- | -| [merge](/refguide/mx-command-line-tool/merge/#merge) | Merges the *.mpr* files. | -| [git-merge](/refguide/mx-command-line-tool/merge/#git-merge) | Merges the *.mpr* files as a custom git merge driver. | -| [diff](/refguide/mx-command-line-tool/merge/#diff) | Shows the diff of the *.mpr* files. | -| [dump-mpr](/refguide/mx-command-line-tool/dump-mpr/) | Create a JSON description of the model of a Mendix App | +| [merge](/refguide10/mx-command-line-tool/merge/#merge) | Merges the *.mpr* files. | +| [git-merge](/refguide10/mx-command-line-tool/merge/#git-merge) | Merges the *.mpr* files as a custom git merge driver. | +| [diff](/refguide10/mx-command-line-tool/merge/#diff) | Shows the diff of the *.mpr* files. | +| [dump-mpr](/refguide10/mx-command-line-tool/dump-mpr/) | Create a JSON description of the model of a Mendix App | ## Undocumented Options diff --git a/content/en/docs/refguide10/general/mx-command-line-tool/adaptable.md b/content/en/docs/refguide10/general/mx-command-line-tool/adaptable.md index 32693beb123..f0e95202b61 100644 --- a/content/en/docs/refguide10/general/mx-command-line-tool/adaptable.md +++ b/content/en/docs/refguide10/general/mx-command-line-tool/adaptable.md @@ -1,6 +1,6 @@ --- title: "Adaptable Solution Commands" -url: /refguide/mx-command-line-tool/adaptable +url: /refguide10/mx-command-line-tool/adaptable weight: 20 description: "Describes the adaptable solution-related commands for the mx command-line tool." --- diff --git a/content/en/docs/refguide10/general/mx-command-line-tool/analyze-mpr.md b/content/en/docs/refguide10/general/mx-command-line-tool/analyze-mpr.md index 7446cfe3eac..03b7cf3e38c 100644 --- a/content/en/docs/refguide10/general/mx-command-line-tool/analyze-mpr.md +++ b/content/en/docs/refguide10/general/mx-command-line-tool/analyze-mpr.md @@ -1,6 +1,6 @@ --- title: "MPR Analyze Command" -url: /refguide/mx-command-line-tool/analyze-mpr/ +url: /refguide10/mx-command-line-tool/analyze-mpr/ weight: 60 description: "Describes MPR analyze command, which shows the contents of the MPR file and their contribution to file size." --- diff --git a/content/en/docs/refguide10/general/mx-command-line-tool/app.md b/content/en/docs/refguide10/general/mx-command-line-tool/app.md index 927fd6dfe09..c066c552bbf 100644 --- a/content/en/docs/refguide10/general/mx-command-line-tool/app.md +++ b/content/en/docs/refguide10/general/mx-command-line-tool/app.md @@ -1,6 +1,6 @@ --- title: "App Commands" -url: /refguide/mx-command-line-tool/app +url: /refguide10/mx-command-line-tool/app weight: 10 description: "Describes the app-related commands for the mx command-line tool." --- diff --git a/content/en/docs/refguide10/general/mx-command-line-tool/dump-mpr.md b/content/en/docs/refguide10/general/mx-command-line-tool/dump-mpr.md index e66eda181a3..7b9fc1d95d9 100644 --- a/content/en/docs/refguide10/general/mx-command-line-tool/dump-mpr.md +++ b/content/en/docs/refguide10/general/mx-command-line-tool/dump-mpr.md @@ -1,6 +1,6 @@ --- title: "MPR Dump" -url: /refguide/mx-command-line-tool/dump-mpr +url: /refguide10/mx-command-line-tool/dump-mpr weight: 60 description: "Describes the command used to create a JSON description of the model of a Mendix App." --- diff --git a/content/en/docs/refguide10/general/mx-command-line-tool/export.md b/content/en/docs/refguide10/general/mx-command-line-tool/export.md index 4e37c3c0bec..8afe6a92068 100644 --- a/content/en/docs/refguide10/general/mx-command-line-tool/export.md +++ b/content/en/docs/refguide10/general/mx-command-line-tool/export.md @@ -1,6 +1,6 @@ --- title: "Export Package Commands" -url: /refguide/mx-command-line-tool/export +url: /refguide10/mx-command-line-tool/export weight: 40 description: "Describes the commands related to package export for the mx command-line tool." --- @@ -11,7 +11,7 @@ The commands in this group enable exporting different kids of packages from your ## 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/). +The `mx create-project-package` command exports the app as a [source app package](/refguide10/export-app-package-dialog/). ### Usage @@ -89,7 +89,7 @@ This table shows the return codes and their description: ## 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/). +The `mx create-solution-package` command exports the app as a [solution package](/refguide10/export-app-package-dialog/). ### Usage diff --git a/content/en/docs/refguide10/general/mx-command-line-tool/merge.md b/content/en/docs/refguide10/general/mx-command-line-tool/merge.md index daca3bf4cd9..48ed36a666c 100644 --- a/content/en/docs/refguide10/general/mx-command-line-tool/merge.md +++ b/content/en/docs/refguide10/general/mx-command-line-tool/merge.md @@ -1,6 +1,6 @@ --- title: "Merging and Diffing Commands" -url: /refguide/mx-command-line-tool/merge +url: /refguide10/mx-command-line-tool/merge weight: 50 description: "Describes the commands related to merging and diffing apps for the mx command-line tool." --- @@ -86,7 +86,7 @@ In the diagram, note the following: * **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. +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](/refguide10/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. @@ -95,7 +95,7 @@ This command works differently than the normal version-controlled merges you can ### Conflicts -If there are conflicts during the merge, resolve them by opening the app in Studio Pro and selecting **Version Control** > [Merge Changes Here](/refguide/version-control-menu/#merge-changes-here). +If there are conflicts during the merge, resolve them by opening the app in Studio Pro and selecting **Version Control** > [Merge Changes Here](/refguide10/version-control-menu/#merge-changes-here). The reason for this is that conflict resolution is a complex process that has two requirements: @@ -107,7 +107,7 @@ This merge state is needed for Studio Pro to know what your current branch is an 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 the repository is put in the merge state for Studio Pro to be able to pick it up after the command is complete). {{% alert color="warning" %}} -`mx merge` as a [merge driver](#merge-git-driver) is suitable only for [MPRv1 Format](/refguide/troubleshoot-repository-size/#mpr-format) +`mx merge` as a [merge driver](#merge-git-driver) is suitable only for [MPRv1 Format](/refguide10/troubleshoot-repository-size/#mpr-format) {{% /alert %}} ### Examples @@ -130,7 +130,7 @@ This table shows the return codes and their description: ## mx merge as Git Merge Driver {#merge-git-driver} {{% alert color="warning" %}} -`mx merge` as a [merge driver](#merge-git-driver) is suitable only for [MPRv1 Format](/refguide/troubleshoot-repository-size/#mpr-format) +`mx merge` as a [merge driver](#merge-git-driver) is suitable only for [MPRv1 Format](/refguide10/troubleshoot-repository-size/#mpr-format) {{% /alert %}} {{% alert color="info" %}} @@ -213,7 +213,7 @@ When you get a different output, the custom merge drive is not configured correc ## mx git-merge Command {#git-merge} The `mx git-merge` command performs a three-way merge of two *.mpr* files by considering their common ancestor (base). -The command is suitable for both [MPRv2 Format](/refguide/troubleshoot-repository-size/#mpr-format) and the [MPRv1 Format](/refguide/troubleshoot-repository-size/#mpr-format). +The command is suitable for both [MPRv2 Format](/refguide10/troubleshoot-repository-size/#mpr-format) and the [MPRv1 Format](/refguide10/troubleshoot-repository-size/#mpr-format). {{% alert color="warning" %}} The command should be used as a **merge driver** and not as a standalone command like [mx merge](#merge). diff --git a/content/en/docs/refguide10/general/mx-command-line-tool/module.md b/content/en/docs/refguide10/general/mx-command-line-tool/module.md index d498a94c544..1c607de4cba 100644 --- a/content/en/docs/refguide10/general/mx-command-line-tool/module.md +++ b/content/en/docs/refguide10/general/mx-command-line-tool/module.md @@ -1,6 +1,6 @@ --- title: "Module Commands" -url: /refguide/mx-command-line-tool/module +url: /refguide10/mx-command-line-tool/module weight: 30 description: "Describes the module-related commands for the mx command-line tool." --- diff --git a/content/en/docs/refguide10/general/mxbuild.md b/content/en/docs/refguide10/general/mxbuild.md index 99b119492b0..e77a944a29a 100644 --- a/content/en/docs/refguide10/general/mxbuild.md +++ b/content/en/docs/refguide10/general/mxbuild.md @@ -1,6 +1,6 @@ --- title: "MxBuild" -url: /refguide/mxbuild/ +url: /refguide10/mxbuild/ weight: 30 description: "Describes MxBuild, which is a command-line tool for building and deploying Mendix Apps." --- @@ -30,7 +30,7 @@ Any public version of Studio Pro in this [Studio Pro Releases List](https://mark You can extract the files using an archival tool, such as [7-Zip](https://www.7-zip.org/). -For details on the system requirements for MxBuild, see [System Requirements](/refguide/system-requirements/#mxbuild). +For details on the system requirements for MxBuild, see [System Requirements](/refguide10/system-requirements/#mxbuild). {{% alert color="info" %}} The examples used in this document are for Windows, except when specifically mentioned otherwise. @@ -61,7 +61,7 @@ Command-line options are described in the table below: | `-h`, `--help` | Prints a short description of the MxBuild and a list of all available options. | | `--java-home=DIRECTORY` | (Required). The directory in which the JDK is installed.
For example, `--java-home=/usr/lib/jvm/java-8-oracle`.
For Windows, *DIRECTORY* should be enclosed in double-quotes `"`. | | `--java-exe-path=FILENAME` | (Required). The full path to the Java executable.
For example, `--java-exe-path=/usr/lib/jvm/java-8-oracle/bin/java`.
For Windows, *DIRECTORY* should be enclosed in double-quotes `"` and must contain the complete file name `...\java.exe`. | -| ––target=[package|deploy] | `package`: default if option is omitted; creates a deployment package (*.mda file*).
`deploy`: deploys the app without making a deployment package.
`sbom`: generates a [Software Bill of Materials](/refguide/sbom-generation/) (SBOM) in the CycloneDX format for the app. | +| ––target=[package|deploy] | `package`: default if option is omitted; creates a deployment package (*.mda file*).
`deploy`: deploys the app without making a deployment package.
`sbom`: generates a [Software Bill of Materials](/refguide10/sbom-generation/) (SBOM) in the CycloneDX format for the app. | | `--loose-version-check` | Creates a deployment package from an app which was created with a lower Mendix version.
The app will be upgraded to the MxBuild version before the deployment package is created.
Any changes included as a result of this upgrade will not be stored in your app. | | `--write-errors=FILENAME` | Writes all errors, warnings, and deprecations encountered during deployment of the app to the specified file in JSON format.
This file is only written when the app contains errors.
If the file already exists, it will be overwritten without a warning.
For a description of the format of this file, see the [App Errors](#app-errors) section below. | | `--generate-sbom` | Generates a Software Bill of Materials (SBOM) file as a part of the `package` and `deployment` targets. The SBOM will be included in the deployment package if this option is used and is saved under its default location: `deployment\sbom.json` | @@ -153,7 +153,7 @@ The following table describes the various properties of the `problems` JSON obje | --- | --- | | `name` | A unique identifier of the problem or `null` when the consistency check is not yet defined in the Mendix Metamodel. | | `severity` | Describes the type of problem: `Warning`, `Error`, or `Deprecation`. | -| `message` | The description of the problem. This is the same as the message in the [Errors pane](/refguide/errors-pane/) of Mendix Studio Pro. | +| `message` | The description of the problem. This is the same as the message in the [Errors pane](/refguide10/errors-pane/) of Mendix Studio Pro. | | `locations` | Contains zero or more objects that describe the location in the Mendix app where the problem occurs (see the following table). | The location (or locations) associated with the problem have the following properties: diff --git a/content/en/docs/refguide10/general/sbom-generation.md b/content/en/docs/refguide10/general/sbom-generation.md index 6ba782e378d..4d45e263354 100644 --- a/content/en/docs/refguide10/general/sbom-generation.md +++ b/content/en/docs/refguide10/general/sbom-generation.md @@ -1,6 +1,6 @@ --- title: "SBOM Generation" -url: /refguide/sbom-generation/ +url: /refguide10/sbom-generation/ weight: 60 description: "Describes how to create an SBOM from Studio Pro." --- @@ -13,7 +13,7 @@ When building a Mendix app, you use many reusable components such as Widgets and You can generate an SBOM by using either of the following options: -1. [MxBuild](/refguide/mxbuild/). +1. [MxBuild](/refguide10/mxbuild/). ```bat mxbuild --java-home="C:\Program Files\Eclipse Adoptium\jdk-11.0.16.101-hotspot" --java-exe-path="C:\Program Files\Eclipse Adoptium\jdk-11.0.16.101-hotspot\bin\java.exe" --generate-sbom "C:\Mendix\MyApp\MyApp.mpr" @@ -83,9 +83,9 @@ The table below describes what components are currently covered in the generated | Feature | Description | Version | --- | --- | --- | | Mendix Modules | `9.24.14`, `10.4.0` | Mendix Modules imported from the Marketplace. This does not include Add-on Modules, Solutions, Extensions, or manually imported modules. | -| [Java Dependencies](/refguide/managed-dependencies/) | `9.24.14`, `10.4.0` | Java libraries imported into your project using [Managed Dependencies](/refguide/managed-dependencies/), or those manually added in the `userlib` folder. Libraries added through managed dependencies will have access to information of the package manager and will include more details, such as the used license. | +| [Java Dependencies](/refguide10/managed-dependencies/) | `9.24.14`, `10.4.0` | Java libraries imported into your project using [Managed Dependencies](/refguide10/managed-dependencies/), or those manually added in the `userlib` folder. Libraries added through managed dependencies will have access to information of the package manager and will include more details, such as the used license. | | [Widgets](/appstore/widgets/) | `10.9.0`, `10.6.6`, `10.10.0`, `9.24.18` | User interface elements downloaded from the Marketplace, such as drop-downs or buttons. | -| JavaScript Actions(/refguide/javascript-actions/) | `10.10` | npm libraries that are used in your JavaScript actions. | +| JavaScript Actions(/refguide10/javascript-actions/) | `10.10` | npm libraries that are used in your JavaScript actions. | ## Read More diff --git a/content/en/docs/refguide10/general/studio-pro-overview/_index.md b/content/en/docs/refguide10/general/studio-pro-overview/_index.md index ae39adce7f0..1babbe0ea64 100644 --- a/content/en/docs/refguide10/general/studio-pro-overview/_index.md +++ b/content/en/docs/refguide10/general/studio-pro-overview/_index.md @@ -1,11 +1,11 @@ --- title: "Studio Pro Overview" -url: /refguide/studio-pro-overview/ +url: /refguide10/studio-pro-overview/ weight: 10 description: "Describes Studio Pro in general, for example, tabs and menus." aliases: - - /refguide/desktop-modeler-overview.html - - /refguide/desktop-modeler-overview + - /refguide10/desktop-modeler-overview.html + - /refguide10/desktop-modeler-overview #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. #This document is mapped to the landing page, update the link there if renaming or moving the doc file. --- @@ -34,9 +34,9 @@ The Studio Pro top bar contains the following items: ### Menus {#menus} -In the Studio Pro top bar, you can see several menus, such as [Edit](/refguide/edit-menu/), [View](/refguide/view-menu/), and [Version Control](/refguide/version-control-menu/). Each menu contains items that allow you to perform various actions, such as to [create a deployment package](/refguide/create-deployment-package-dialog/), set [preferences](/refguide/preferences-dialog/), or view the [**Errors**](/refguide/errors-pane/) pane. +In the Studio Pro top bar, you can see several menus, such as [Edit](/refguide10/edit-menu/), [View](/refguide10/view-menu/), and [Version Control](/refguide10/version-control-menu/). Each menu contains items that allow you to perform various actions, such as to [create a deployment package](/refguide10/create-deployment-package-dialog/), set [preferences](/refguide10/preferences-dialog/), or view the [**Errors**](/refguide10/errors-pane/) pane. -For more information, see [Menus](/refguide/menus/). +For more information, see [Menus](/refguide10/menus/). ### Run and View App {#run-and-view} @@ -46,7 +46,7 @@ Deploy your app by clicking the **Publish** or **Run Locally** ({{% icon name="c For more information on deployment in Mendix, see [Deploying Apps](/deployment/). -For more information on deploying and versioning your app, see the [Versioning an App Deployed to the Cloud](/refguide/using-version-control-in-studio-pro/#versioning-app) section in *Using Version Control in Studio Pro*. +For more information on deploying and versioning your app, see the [Versioning an App Deployed to the Cloud](/refguide10/using-version-control-in-studio-pro/#versioning-app) section in *Using Version Control in Studio Pro*. ### Links and User Profile Menu {#links} @@ -56,7 +56,7 @@ Your profile picture is displayed next to these links if you are signed in. When ## App Explorer -An app consists of individual files (also known as documents) and settings that are grouped in folders and [modules](/refguide/modules/). The complete structure of your app can be viewed in the [App Explorer](/refguide/app-explorer/). +An app consists of individual files (also known as documents) and settings that are grouped in folders and [modules](/refguide10/modules/). The complete structure of your app can be viewed in the [App Explorer](/refguide10/app-explorer/). ## Working Area {#working-area} @@ -65,7 +65,7 @@ A working area is a current document tab that you work in. The working area and ### Document Tabs {#documents} {{% alert color="info" %}} -This section describes documents in the working area, not panes that you can open and position around the working area. For more information on pane behavior, see the [Layout of Panes](/refguide/view-menu/#layout-of-panes) section in *View Menu*. +This section describes documents in the working area, not panes that you can open and position around the working area. For more information on pane behavior, see the [Layout of Panes](/refguide10/view-menu/#layout-of-panes) section in *View Menu*. {{% /alert %}} The documents you view and edit are shown in tabs. @@ -80,7 +80,7 @@ Dockable panes can be positioned around the working area and contain various ele {{< figure src="/attachments/refguide10/studio-pro-overview/pane-example.png" alt="Properties Pane Example" width="300" class="no-border" >}} -For example, you can view the [list of errors](/refguide/errors-pane/), run the [Best Practice Recommender](/refguide/best-practice-recommender/), configure properties of a specific document or an element, or view the toolbox. For more information on panes and their layout, see [View Menu](/refguide/view-menu/). +For example, you can view the [list of errors](/refguide10/errors-pane/), run the [Best Practice Recommender](/refguide10/best-practice-recommender/), configure properties of a specific document or an element, or view the toolbox. For more information on panes and their layout, see [View Menu](/refguide10/view-menu/). ## Status Bar {#status-bar} @@ -90,14 +90,14 @@ At the bottom of the Studio Pro main window pane is a status bar: On the left is the current status of your app. -On the right are the version control buttons (branch status, incoming commits, outgoing commits). You can use these buttons to open the **Branch Line Manager**, as well as your commit history. For more information, see [Version Control](/refguide/version-control/). +On the right are the version control buttons (branch status, incoming commits, outgoing commits). You can use these buttons to open the **Branch Line Manager**, as well as your commit history. For more information, see [Version Control](/refguide10/version-control/). -Next to version control is the currently selected language. If you have set up multiple languages in your app, you can use the drop-down to change the language you are currently using. For more information, see [Language Menu](/refguide/translatable-texts/). +Next to version control is the currently selected language. If you have set up multiple languages in your app, you can use the drop-down to change the language you are currently using. For more information, see [Language Menu](/refguide10/translatable-texts/). ## Read More -* [Keyboard Shortcuts](/refguide/keyboard-shortcuts/) -* [App Explorer](/refguide/app-explorer/) -* [Menus](/refguide/menus/) -* [Best Practices for Development](/refguide/dev-best-practices/) -* [Best Practices for App Performance](/refguide/community-best-practices-for-app-performance/) +* [Keyboard Shortcuts](/refguide10/keyboard-shortcuts/) +* [App Explorer](/refguide10/app-explorer/) +* [Menus](/refguide10/menus/) +* [Best Practices for Development](/refguide10/dev-best-practices/) +* [Best Practices for App Performance](/refguide10/community-best-practices-for-app-performance/) diff --git a/content/en/docs/refguide10/general/studio-pro-overview/keyboard-shortcuts.md b/content/en/docs/refguide10/general/studio-pro-overview/keyboard-shortcuts.md index 95ae87662d9..1c50217b727 100644 --- a/content/en/docs/refguide10/general/studio-pro-overview/keyboard-shortcuts.md +++ b/content/en/docs/refguide10/general/studio-pro-overview/keyboard-shortcuts.md @@ -1,6 +1,6 @@ --- title: "Keyboard Shortcuts" -url: /refguide/keyboard-shortcuts/ +url: /refguide10/keyboard-shortcuts/ weight: 12 description: "Describes the shortcut keys available in Studio Pro." #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. @@ -34,7 +34,7 @@ There are alternative ways to navigate between tabs within panes: | Ctrl + 1 - 0 | Not available | Switch to tab at selected tab position in the current window. | | Ctrl + Page up / Page down | Not available | Switch to next/previous tab in active pane. | -Most menu items also have shortcut keys assigned to them that can be used in all panes. These are shown in the menus, listed in the [Menu Shortcut Keys](#menu-shortcuts) section, below, and are listed on the documentation page for each menu under [Menus](/refguide/menus/). +Most menu items also have shortcut keys assigned to them that can be used in all panes. These are shown in the menus, listed in the [Menu Shortcut Keys](#menu-shortcuts) section, below, and are listed on the documentation page for each menu under [Menus](/refguide10/menus/). #### Editors Only {#editors-only} @@ -177,7 +177,7 @@ The following shortcut keys are available in the workflow editor: |Ctrl + Mouse scroll wheel
(in Studio Pro 10.15.0 and above) | Command + Mouse scroll wheel
(in Studio Pro 10.15.0 and above) | Zoom in or out. | | Ctrl + Plus sign/Minus sign | Command + Plus sign/Minus sign | Zoom in or out. | | Ctrl + 0 | Command + 0 | Reset zoom level to 100%. | -| Ctrl + Left/Right arrow
(in Studio Pro 10.15.0 and above) | Command + Left/Right arrow
(in Studio Pro 10.15.0 and above) | Move a [boundary event](/refguide/workflow-boundary-events/) left or right. | +| Ctrl + Left/Right arrow
(in Studio Pro 10.15.0 and above) | Command + Left/Right arrow
(in Studio Pro 10.15.0 and above) | Move a [boundary event](/refguide10/workflow-boundary-events/) left or right. | ## Debugger Shortcut Keys {#debugger-shortcuts} @@ -193,7 +193,7 @@ The following shortcut keys are available for the debugger: ## Menu Shortcut Keys {#menu-shortcuts} -The following shortcut keys are assigned to menu actions that can be used in all panes. These are also shown in the menus and listed on the documentation page for each menu under [Menus](/refguide/menus/). +The following shortcut keys are assigned to menu actions that can be used in all panes. These are also shown in the menus and listed on the documentation page for each menu under [Menus](/refguide10/menus/). | Windows | Mac | Description | | --- | --- | --- | @@ -230,7 +230,7 @@ The following shortcut keys are assigned to menu actions that can be used in all ## Maia Chat Shortcut Keys {#maia-chat-shortcuts} -You can use the following shortcut keys in [Maia Chat](/refguide/maia-chat/), including on the feedback page: +You can use the following shortcut keys in [Maia Chat](/refguide10/maia-chat/), including on the feedback page: | Windows | Mac | Description | | --- | --- | --- | @@ -251,7 +251,7 @@ In Studio Pro 10.6, Enter can only be used to add a new line, not to ## Read More -* [App Explorer](/refguide/app-explorer/) -* [Menus](/refguide/menus/) -* [Best Practices for Development](/refguide/dev-best-practices/) -* [Best Practices for App Performance](/refguide/community-best-practices-for-app-performance/) +* [App Explorer](/refguide10/app-explorer/) +* [Menus](/refguide10/menus/) +* [Best Practices for Development](/refguide10/dev-best-practices/) +* [Best Practices for App Performance](/refguide10/community-best-practices-for-app-performance/) diff --git a/content/en/docs/refguide10/general/third-party-licenses.md b/content/en/docs/refguide10/general/third-party-licenses.md index 1c3115cf1b1..6862316c773 100644 --- a/content/en/docs/refguide10/general/third-party-licenses.md +++ b/content/en/docs/refguide10/general/third-party-licenses.md @@ -1,6 +1,6 @@ --- title: "Third-Party Licenses" -url: /refguide/third-party-licenses/ +url: /refguide10/third-party-licenses/ weight: 50 description: "Describes where to find the available third-party licenses in Mendix." --- diff --git a/content/en/docs/refguide10/installation/_index.md b/content/en/docs/refguide10/installation/_index.md index 0878f3bb7a0..966c2545f89 100644 --- a/content/en/docs/refguide10/installation/_index.md +++ b/content/en/docs/refguide10/installation/_index.md @@ -1,6 +1,6 @@ --- title: "Installation" -url: /refguide/installation/ +url: /refguide10/installation/ weight: 10 description: "Describes the system requirements and other important aspects of installing and using Studio Pro 10." no_list: false @@ -9,8 +9,8 @@ description_list: true ## Introduction -Before installing Studio Pro 10, it is important to understand the [System Requirements](/refguide/system-requirements/). +Before installing Studio Pro 10, it is important to understand the [System Requirements](/refguide10/system-requirements/). -If you have been using Studio Pro 9, see [Upgrading from Mendix Studio Pro 9 to 10](/refguide/upgrading-from-9-to-10/). +If you have been using Studio Pro 9, see [Upgrading from Mendix Studio Pro 9 to 10](/refguide10/upgrading-from-9-to-10/). ## Documents in This Category diff --git a/content/en/docs/refguide10/installation/install.md b/content/en/docs/refguide10/installation/install.md index 9992f039997..ee5b5d22b81 100644 --- a/content/en/docs/refguide10/installation/install.md +++ b/content/en/docs/refguide10/installation/install.md @@ -1,6 +1,6 @@ --- title: "Installing Mendix Studio Pro" -url: /refguide/install/ +url: /refguide10/install/ linktitle: "Installing Studio Pro" weight: 10 description: "Describes how to install Mendix Studio Pro." @@ -12,9 +12,9 @@ aliases: ## Introduction -Mendix Studio Pro allows you to build apps on the Mendix Platform. This document will guide you through the steps of installing [the latest version of Studio Pro](https://marketplace.mendix.com/link/studiopro/). For the full list of supported systems and required frameworks, see [System Requirements](/refguide/system-requirements/). +Mendix Studio Pro allows you to build apps on the Mendix Platform. This document will guide you through the steps of installing [the latest version of Studio Pro](https://marketplace.mendix.com/link/studiopro/). For the full list of supported systems and required frameworks, see [System Requirements](/refguide10/system-requirements/). -If you use a Mac device and need to use a version of Mendix Studio Pro older than 10.7, see [Configuring Parallels](/refguide/using-mendix-studio-pro-on-a-mac/) to configure a Windows virtual machine. +If you use a Mac device and need to use a version of Mendix Studio Pro older than 10.7, see [Configuring Parallels](/refguide10/using-mendix-studio-pro-on-a-mac/) to configure a Windows virtual machine. ## Downloading Mendix Studio Pro @@ -54,7 +54,7 @@ The prerequisites are the following: | --- | --- | | [.NET Desktop Runtime 6.0.x (x64 or ARM64)](https://dotnet.microsoft.com/en-us/download/dotnet/6.0)
Mendix recommends using version 6.0.35 or above | [.NET Desktop Runtime 8.0.x (x64 or ARM64)](https://dotnet.microsoft.com/en-us/download/dotnet/8.0)
Mendix recommends using version 8.0.10 or above | -* Eclipse Temurin JDK (x64) (see [JDK Installation](/refguide/jdk-installation/) if you want to install another version of the JDK). Mendix version 10.8.0 and 10.0.9 supports JDK 11 and 17. Mendix version 10.10.0 supports JDK 11, 17, and 21, but installer still installs JDK 11. +* Eclipse Temurin JDK (x64) (see [JDK Installation](/refguide10/jdk-installation/) if you want to install another version of the JDK). Mendix version 10.8.0 and 10.0.9 supports JDK 11 and 17. Mendix version 10.10.0 supports JDK 11, 17, and 21, but installer still installs JDK 11. | Studio Pro 10.0.0 - 10.10.0 | Studio Pro 10.11.0 and above | | --- | --- | @@ -71,7 +71,7 @@ The prerequisites are the following: | [2.37.1](https://github.com/git-for-windows/git/releases/tag/v2.37.1.windows.1) | [2.41.0](https://github.com/git-for-windows/git/releases/tag/v2.41.0.windows.3) | [2.43.0](https://github.com/git-for-windows/git/releases/tag/v2.43.0.windows.1)|[2.48.1](https://github.com/git-for-windows/git/releases/download/v2.48.1.windows.1/Git-2.48.1-64-bit.exe)| {{% alert color="warning" %}} Mendix recommends installing Git for all versions of Studio Pro to ensure optimal performance and full feature availability. -* Studio Pro versions below 10.21.0 can work without Git, but some operations may experience reduced performance, and advanced features—such as [rebase](/refguide/merge-algorithm/#rebase)—will not be available. +* Studio Pro versions below 10.21.0 can work without Git, but some operations may experience reduced performance, and advanced features—such as [rebase](/refguide10/merge-algorithm/#rebase)—will not be available. * Starting from Studio Pro 10.21.0, Git version 2.48.1 or above is required. This version is automatically installed during Studio Pro installation. However, for [non-administrative installation](#offline) you must install Git manually.{{% /alert %}} * [Microsoft Edge WebView2 Evergreen Runtime (x64 or ARM64) (Evergreen Standalone Installer version)](https://developer.microsoft.com/en-us/microsoft-edge/webview2/) @@ -136,7 +136,7 @@ If an error occurs during JDK installation, try the following: If managed dependencies are used (in Mendix 10.3.0 and above), you need to set up a custom repository that can resolve the dependencies. -For more information on how to configure a custom repository, see the *Custom Repositories* section of [Managed Dependencies](/refguide/managed-dependencies/#custom-repos). +For more information on how to configure a custom repository, see the *Custom Repositories* section of [Managed Dependencies](/refguide10/managed-dependencies/#custom-repos). ## Installing Mendix Studio Pro Without Admin Rights @@ -152,7 +152,7 @@ From Studio Pro version 10.14.0, the portable installer for Windows x64 and arm6 {{% alert color="info" %}}Git does not get installed automatically for the portable version because it requires Admin rights.{{% /alert %}} -You can download and install [portable version](https://git-scm.com/downloads/win) of Git and configure [Git Location](/refguide/preferences-dialog/#git-location) in **Preferences** in Studio Pro to use it. +You can download and install [portable version](https://git-scm.com/downloads/win) of Git and configure [Git Location](/refguide10/preferences-dialog/#git-location) in **Preferences** in Studio Pro to use it. Versions of Mendix Studio Pro that are installed via the portable installer do not show up in the Mendix Version Selector where you can manage Mendix versions. However, you can manually add a Studio Pro version by clicking **Add custom version** in **Manage Mendix versions** and specifying the path to the executable file of the Studio Pro version: @@ -178,4 +178,4 @@ Accepting untrusted certificates can bring security risks. You should only do so Congratulations on installing Mendix Studio Pro! Now you are ready to start modeling your apps. -You can start with the [Studio Pro Overview](/refguide/studio-pro-overview/) for details on Studio Pro's UI and shortcuts, or you can move straight to [App Modeling](/refguide/modeling/). +You can start with the [Studio Pro Overview](/refguide10/studio-pro-overview/) for details on Studio Pro's UI and shortcuts, or you can move straight to [App Modeling](/refguide10/modeling/). diff --git a/content/en/docs/refguide10/installation/jdk-installation.md b/content/en/docs/refguide10/installation/jdk-installation.md index 5a852155d9a..4016e10c741 100644 --- a/content/en/docs/refguide10/installation/jdk-installation.md +++ b/content/en/docs/refguide10/installation/jdk-installation.md @@ -1,6 +1,6 @@ --- title: "JDK Installation" -url: /refguide/jdk-installation/ +url: /refguide10/jdk-installation/ weight: 45 description: "Describes how to install the JDK for Studio Pro." --- @@ -23,4 +23,4 @@ After downloading execute the downloaded installation executable and follow the ## Configuring Studio Pro -After the JDK is installed you can configure it in Studio Pro in the [Preferences](/refguide/preferences-dialog/#jdk). +After the JDK is installed you can configure it in Studio Pro in the [Preferences](/refguide10/preferences-dialog/#jdk). diff --git a/content/en/docs/refguide10/installation/performance-tips.md b/content/en/docs/refguide10/installation/performance-tips.md index 71a6191557e..889138b20d5 100644 --- a/content/en/docs/refguide10/installation/performance-tips.md +++ b/content/en/docs/refguide10/installation/performance-tips.md @@ -1,6 +1,6 @@ --- title: "Performance Tips" -url: /refguide/performance-tips/ +url: /refguide10/performance-tips/ weight: 50 description: "Presents performance tips for installing and using Studio Pro." --- @@ -19,13 +19,13 @@ Update your Studio Pro to the latest [LTS](/releasenotes/studio-pro/lts-mts/#lts ### Software -Use a Microsoft Windows version that is currently listed in the [System Requirements](/refguide/system-requirements/#software). +Use a Microsoft Windows version that is currently listed in the [System Requirements](/refguide10/system-requirements/#software). Keep your Microsoft Windows updated. ### Hardware -Ensure your hardware meets the [System Requirements](/refguide/system-requirements/#hardware). +Ensure your hardware meets the [System Requirements](/refguide10/system-requirements/#hardware). Consider installing the operating system (OS) and Studio Pro and storing your Mendix apps in a solid-state drive (SSD). @@ -35,11 +35,11 @@ Additionally, do not run your solution from a USB drive. Copy it to your hard-di In some exceptional cases, hardware acceleration can cause errors when rendering desktop applications. When this occurs, Mendix recommends enabling software rendering. -To do this, navigate to **Preferences** > **Work Environment** and select [Enable software rendering mode](/refguide/preferences-dialog/#rendering). Then, restart Studio Pro. After restarting, check if you notice improvements. If you do not notice improvements, it is preferable to turn this setting off. +To do this, navigate to **Preferences** > **Work Environment** and select [Enable software rendering mode](/refguide10/preferences-dialog/#rendering). Then, restart Studio Pro. After restarting, check if you notice improvements. If you do not notice improvements, it is preferable to turn this setting off. ### Parallels -For tips on using Parallels, see the [Improving Performance](/refguide/using-mendix-studio-pro-on-a-mac/#performance) section of *Configuring Parallels*. +For tips on using Parallels, see the [Improving Performance](/refguide10/using-mendix-studio-pro-on-a-mac/#performance) section of *Configuring Parallels*. ## Advanced @@ -53,5 +53,5 @@ Studio Pro uses different tools and sub-processes that are not covered if you on ## Read More -* [Community Best Practices for App Performance](/refguide/community-best-practices-for-app-performance/) -* [Mendix Best Practices for Development](/refguide/dev-best-practices/) +* [Community Best Practices for App Performance](/refguide10/community-best-practices-for-app-performance/) +* [Mendix Best Practices for Development](/refguide10/dev-best-practices/) diff --git a/content/en/docs/refguide10/installation/system-requirements.md b/content/en/docs/refguide10/installation/system-requirements.md index a3e89ed8b17..3e56580aa93 100644 --- a/content/en/docs/refguide10/installation/system-requirements.md +++ b/content/en/docs/refguide10/installation/system-requirements.md @@ -1,6 +1,6 @@ --- title: "System Requirements" -url: /refguide/system-requirements/ +url: /refguide10/system-requirements/ weight: 20 description: "Presents the system requirements for using the Mendix Platform." #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. @@ -16,7 +16,7 @@ Mendix Studio Pro has the requirements listed in the following sections. ### Software Specifications {#software} -[Mendix Studio Pro](/refguide/modeling/) 10 is supported on 64-bit versions of Windows 10 release 1809 and above; this also includes Windows 11. +[Mendix Studio Pro](/refguide10/modeling/) 10 is supported on 64-bit versions of Windows 10 release 1809 and above; this also includes Windows 11. We support running on Windows locally, or locally virtualized. Studio Pro 10.7 and above can run in beta mode on an ARM Mac and Intel Mac running macOS Sonoma 14.0 and above. For information on known limitation, see the [Known Limitations for Mac](#mac-limitations) section below. @@ -29,7 +29,7 @@ While Studio Pro on Mac is in [public beta](/releasenotes/beta-features/), Mendi Administrator rights are required to install Mendix Studio Pro on Mac (Beta). {{% /alert %}} -Studio Pro versions 10.0 and above can run on the M series Apple Silicon Mac using [Parallels 17](https://www.parallels.com/) and Windows 11. Earlier versions of Studio Pro can run on Apple Mac [using Parallels](/refguide/using-mendix-studio-pro-on-a-mac/). +Studio Pro versions 10.0 and above can run on the M series Apple Silicon Mac using [Parallels 17](https://www.parallels.com/) and Windows 11. Earlier versions of Studio Pro can run on Apple Mac [using Parallels](/refguide10/using-mendix-studio-pro-on-a-mac/). {{% alert color="info" %}} @@ -48,7 +48,7 @@ The following frameworks are required. They will be installed automatically by t * Microsoft Visual C++ 2019 Redistributable Package (x64) * A Java Developer Kit (JDK) version 11, 17, or 21 - if not yet installed on your machine, Mendix will install 'Eclipse Temurin JDK 21 (x64 or ARM64)' * Gradle version 8.5 or above - if Gradle is not yet installed on your machine, Mendix will install Gradle version 8.5 -* Git for Windows (x64) version 2.41.0 or above (for more information, see the [Prerequisites](/refguide/install/#prerequisites) section in *Installing Mendix Studio Pro*) +* Git for Windows (x64) version 2.41.0 or above (for more information, see the [Prerequisites](/refguide10/install/#prerequisites) section in *Installing Mendix Studio Pro*) * Mendix Native Mobile Builder * Microsoft Edge WebView2 Evergreen Runtime (x64) @@ -99,7 +99,7 @@ Studio Pro needs access to the following URLs in order to work. If your firewall * `*.teamserver.sprintr.com` * `*.api.mendix.com` -If you have set up managed dependencies and are working behind a firewall or using a proxy, see the [Proxy Settings](/refguide/managed-dependencies/#proxy-settings) section of *Managed Dependencies* for advice on what you need to do to allow the managed dependencies to work. +If you have set up managed dependencies and are working behind a firewall or using a proxy, see the [Proxy Settings](/refguide10/managed-dependencies/#proxy-settings) section of *Managed Dependencies* for advice on what you need to do to allow the managed dependencies to work. To run a Mendix app, Mendix Studio Pro uses the following ports by default. If your firewall is blocking these, you will need to open them: @@ -108,7 +108,7 @@ To run a Mendix app, Mendix Studio Pro uses the following ports by default. If y * 8090 – admin port * 8100 – sign-in port -For more information on ports and modifying Studio Pro's default ports, see [Configurations](/refguide/configuration/) and the [Troubleshooting Common Mobile Issues](/refguide/mobile/getting-started-with-mobile/prerequisites/#troubleshooting) section of *Native App Prerequisites and Troubleshooting*. +For more information on ports and modifying Studio Pro's default ports, see [Configurations](/refguide10/configuration/) and the [Troubleshooting Common Mobile Issues](/refguide10/mobile/getting-started-with-mobile/prerequisites/#troubleshooting) section of *Native App Prerequisites and Troubleshooting*. ### File Comparison @@ -239,20 +239,20 @@ Mendix tries to support the most recent and patched database server versions fro Current support: -* [MariaDB](/refguide/mysql/): 10.4, 10.5, 10.6, 10.11, 11.4 +* [MariaDB](/refguide10/mysql/): 10.4, 10.5, 10.6, 10.11, 11.4 * [Microsoft SQL Server](/developerportal/deploy/mendix-on-windows-microsoft-sql-server/): 2019, 2022 * [Azure SQL](https://docs.microsoft.com/en-us/sql/t-sql/statements/alter-database-transact-sql-compatibility-level?view=sql-server-2017): v12 compatibility mode 140 or higher -* [MySQL](/refguide/mysql/): 8.0, 8.4 -* [Oracle Database](/refguide/oracle/): 19, 21c +* [MySQL](/refguide10/mysql/): 8.0, 8.4 +* [Oracle Database](/refguide10/oracle/): 19, 21c * PostgreSQL: 12, 13, 14, 15, 16, 17 -* [SAP HANA](/refguide/saphana/): 2.00.076.00.1705400033 +* [SAP HANA](/refguide10/saphana/): 2.00.076.00.1705400033 {{% alert color="warning" %}} Each app must have its own database. Mendix apps cannot share data by sharing the same database. -If you want two apps to share the same database, then you need to share the data from one app to the other using APIs. In Mendix, these are supported by [Data Hub](/data-hub/share-data/) or the REST and OData services described in the [Integration](/refguide/integration/) section of the *Studio Pro Guide*. This is referred to as a microservices architecture. +If you want two apps to share the same database, then you need to share the data from one app to the other using APIs. In Mendix, these are supported by [Data Hub](/data-hub/share-data/) or the REST and OData services described in the [Integration](/refguide10/integration/) section of the *Studio Pro Guide*. This is referred to as a microservices architecture. -For more information on why data cannot be shared between apps see [Data Storage](/refguide/data-storage/#databases). Use the [Database Replication](/appstore/modules/database-replication/) module if you need to copy the data from one app to another. +For more information on why data cannot be shared between apps see [Data Storage](/refguide10/data-storage/#databases). Use the [Database Replication](/appstore/modules/database-replication/) module if you need to copy the data from one app to another. {{% /alert %}} ## File Storage {#file-storage} @@ -311,11 +311,11 @@ Mendix recommends the following minimum hardware requirements for all mobile dev Depending on your app's complexity, these minimum hardware requirements might not be sufficient and should be adjusted. -Developing native mobile apps with Mendix comes with special requirements explained in [Native App Prerequisites and Troubleshooting](/refguide/mobile/getting-started-with-mobile/prerequisites/). +Developing native mobile apps with Mendix comes with special requirements explained in [Native App Prerequisites and Troubleshooting](/refguide10/mobile/getting-started-with-mobile/prerequisites/). ## MxBuild {#mxbuild} -MxBuild is a Windows and Linux command-line tool that can be used to build a Mendix Deployment Package. For more information, see [MxBuild](/refguide/mxbuild/). +MxBuild is a Windows and Linux command-line tool that can be used to build a Mendix Deployment Package. For more information, see [MxBuild](/refguide10/mxbuild/). * .NET @@ -327,6 +327,6 @@ MxBuild is a Windows and Linux command-line tool that can be used to build a Men ## mx Command-Line Tool {#mxtool} -The **mx** command-line tool is a Windows and Linux command-line tool that can be used to do useful things with your Mendix app. For more information, see [mx Command-Line Tool](/refguide/mx-command-line-tool/). +The **mx** command-line tool is a Windows and Linux command-line tool that can be used to do useful things with your Mendix app. For more information, see [mx Command-Line Tool](/refguide10/mx-command-line-tool/). * Mono v5.20.x or .NET v4.7.2 diff --git a/content/en/docs/refguide10/installation/upgrading-from-9-to-10.md b/content/en/docs/refguide10/installation/upgrading-from-9-to-10.md index 723ac2a89ea..72ab669cb11 100644 --- a/content/en/docs/refguide10/installation/upgrading-from-9-to-10.md +++ b/content/en/docs/refguide10/installation/upgrading-from-9-to-10.md @@ -1,6 +1,6 @@ --- title: "Upgrading from Mendix Studio Pro 9 to 10" -url: /refguide/upgrading-from-9-to-10/ +url: /refguide10/upgrading-from-9-to-10/ linktitle: "Upgrading from Studio Pro 9 to 10" weight: 30 description: "Provides details on upgrading your app from Studio Pro 9 to Studio Pro 10, including sections on converting your app and deprecated features." @@ -14,7 +14,7 @@ Mendix Studio Pro 10 is a [major version](/releasenotes/studio-pro/lts-mts/#majo The sections below describe how to upgrade from Studio Pro 9 to Studio Pro 10. -Mendix recommends reviewing the [Breaking Changes](/releasenotes/studio-pro/10.0/#breaking-changes) section of the *Studio Pro 10.0* release notes as well as the updated [System Requirements](/refguide/system-requirements/). +Mendix recommends reviewing the [Breaking Changes](/releasenotes/studio-pro/10.0/#breaking-changes) section of the *Studio Pro 10.0* release notes as well as the updated [System Requirements](/refguide10/system-requirements/). Before upgrading your app to Mendix 10, ensure the app is successfully [migrated from your Team Server to Git](/developerportal/general/migrate-to-git/). Starting from Mendix 10, Git is the only supported Team Server. Mendix 10 will neither recognize nor open apps hosted on SVN Team Servers. @@ -112,7 +112,7 @@ As of Studio Pro 10, the tautology range functions are no longer removed, but ar ### Workflow Domain Model Changes -In Studio Pro 10, we added a new feature called [multi-user tasks](/refguide/multi-user-task/). This feature makes it possible for a user task to have multiple assignees. For that to be possible, we renamed the `WorkflowUserTask_Assignee` association to `WorkflowUserTask_Assignees` to suggest that there can be multiple assignees now. This association will now be a reference set. +In Studio Pro 10, we added a new feature called [multi-user tasks](/refguide10/multi-user-task/). This feature makes it possible for a user task to have multiple assignees. For that to be possible, we renamed the `WorkflowUserTask_Assignee` association to `WorkflowUserTask_Assignees` to suggest that there can be multiple assignees now. This association will now be a reference set. If you use the [Workflow Commons](/appstore/modules/workflow-commons/) module in your project, you will have to upgrade the module to v3.0.0 or later due to this change. In addition, you need to execute the migration microflow `ACT_Assignee_Migration` (available from the `WorkflowAdminCenter` page) or add the `ASu_Assignee_Migrate` microflow to the after startup microflow of your project. @@ -136,11 +136,11 @@ If your application is currently using the Atlas theme, this is easily solved by ### Custom Login for Published Services -In Studio Pro 10, published OData, REST, and Web services use sessions that do not communicate with the database. This also means these services ignore [customized login behavior using a LoginAction](/refguide/login-behavior/#customizing-login-behavior). When upgrading an app that uses these features to Studio Pro 10, you need to reimplement the login behavior in an authentication microflow. For more information, see [OData authentication microflow](/refguide/published-odata-services/#authentication-microflow), [REST authentication microflow](/refguide/published-rest-service/#authentication-microflow), or [Web service authentication](/refguide/integration/expose-a-web-service/#authentication-and-users). +In Studio Pro 10, published OData, REST, and Web services use sessions that do not communicate with the database. This also means these services ignore [customized login behavior using a LoginAction](/refguide10/login-behavior/#customizing-login-behavior). When upgrading an app that uses these features to Studio Pro 10, you need to reimplement the login behavior in an authentication microflow. For more information, see [OData authentication microflow](/refguide10/published-odata-services/#authentication-microflow), [REST authentication microflow](/refguide10/published-rest-service/#authentication-microflow), or [Web service authentication](/refguide10/integration/expose-a-web-service/#authentication-and-users). ### Java Version -Studio Pro 10.21 and above requires your application to use Java 21. The Java version of an application can be configured in the runtime settings. Java 21 is available in 9.24.23 and above. Please consider the [Java Version Migration](https://docs.mendix.com/refguide/java-version-migration/) guide for a list of changes between Java versions. For on-premises deployments, ensure that JDK 21 is installed in the environments where Mendix 10 applications are deployed. +Studio Pro 10.21 and above requires your application to use Java 21. The Java version of an application can be configured in the runtime settings. Java 21 is available in 9.24.23 and above. Please consider the [Java Version Migration](https://docs.mendix.com/refguide10/java-version-migration/) guide for a list of changes between Java versions. For on-premises deployments, ensure that JDK 21 is installed in the environments where Mendix 10 applications are deployed. ## Read More diff --git a/content/en/docs/refguide10/installation/using-mendix-studio-pro-on-a-mac.md b/content/en/docs/refguide10/installation/using-mendix-studio-pro-on-a-mac.md index f967755f537..ff178f56e45 100644 --- a/content/en/docs/refguide10/installation/using-mendix-studio-pro-on-a-mac.md +++ b/content/en/docs/refguide10/installation/using-mendix-studio-pro-on-a-mac.md @@ -1,6 +1,6 @@ --- title: "Configuring Parallels" -url: /refguide/using-mendix-studio-pro-on-a-mac/ +url: /refguide10/using-mendix-studio-pro-on-a-mac/ linktitle: "Configuring Parallels" weight: 40 description: "Describes how to start making Mendix apps on your Mac device." @@ -120,12 +120,12 @@ Instead, you must enter your Mac's IP address into your Make It Native app. To r Congratulations! You have successfully viewed your app on a test device. {{% alert color="info" %}} -If you experience issues connecting with the Make It Native app, make sure your firewall is not preventing a connection. For information on resolving Windows Defender and other firewall-related issues, see the [Error: Unable to Load Script](/refguide/mobile/getting-started-with-mobile/prerequisites/#unable-load-script) section of *Prerequisites* +If you experience issues connecting with the Make It Native app, make sure your firewall is not preventing a connection. For information on resolving Windows Defender and other firewall-related issues, see the [Error: Unable to Load Script](/refguide10/mobile/getting-started-with-mobile/prerequisites/#unable-load-script) section of *Prerequisites* {{% /alert %}} ## Viewing Changes to Your App on Your Testing Device -For information on how to change to your app and then see the change on your device, see the [Viewing Changes to Your App on Your Testing Device](/refguide/mobile/getting-started-with-mobile/#viewingchanges) section in *Getting Started with Mobile*. +For information on how to change to your app and then see the change on your device, see the [Viewing Changes to Your App on Your Testing Device](/refguide10/mobile/getting-started-with-mobile/#viewingchanges) section in *Getting Started with Mobile*. ## Improving Performance {#performance} @@ -147,4 +147,4 @@ For more information, see [Parallels Forum](https://forum.parallels.com/threads/ ## Read More -* [Getting Started with Mobile](/refguide/mobile/getting-started-with-mobile/) +* [Getting Started with Mobile](/refguide10/mobile/getting-started-with-mobile/) diff --git a/content/en/docs/refguide10/java-programming/_index.md b/content/en/docs/refguide10/java-programming/_index.md index 80412ec8e26..576753d1935 100644 --- a/content/en/docs/refguide10/java-programming/_index.md +++ b/content/en/docs/refguide10/java-programming/_index.md @@ -1,6 +1,6 @@ --- title: "Java Programming" -url: /refguide/java-programming/ +url: /refguide10/java-programming/ description: "Describes how to use the Mendix Java library and use Eclipse as an environment to write your Mendix Java Actions." weight: 60 no_list: false @@ -11,7 +11,7 @@ description_list: true With Java actions, you can extend the functionality of your application in situations where it would be hard to implement this functionality in microflows. -For information about Java actions in Studio Pro, see [Java Actions](/refguide/java-actions/). +For information about Java actions in Studio Pro, see [Java Actions](/refguide10/java-actions/). ## Writing Code in .java Files of Your Java Actions @@ -73,7 +73,7 @@ You can find the Javadoc at [Mendix Runtime API](/apidocs-mxsdk/apidocs/runtime- This library is automatically added to your libraries when you import your app into Eclipse, it is called *mxruntime.jar*. -For details on usage and examples, see [Using the Java API](/refguide/java-api-tutorial/). +For details on usage and examples, see [Using the Java API](/refguide10/java-api-tutorial/). ## Opening HTTP Connections @@ -83,6 +83,6 @@ You should therefore ensure that you always set a timeout for any connections yo ## Using Eclipse as an Environment to Write Your Mendix Java Actions -For details on this topic, see [Using Eclipse](/refguide/using-eclipse/). +For details on this topic, see [Using Eclipse](/refguide10/using-eclipse/). ## Documents in This Category diff --git a/content/en/docs/refguide10/java-programming/access-a-samba-share-from-the-mxcloud.md b/content/en/docs/refguide10/java-programming/access-a-samba-share-from-the-mxcloud.md index 0fd3a8ebb9b..a8f5af45a8b 100644 --- a/content/en/docs/refguide10/java-programming/access-a-samba-share-from-the-mxcloud.md +++ b/content/en/docs/refguide10/java-programming/access-a-samba-share-from-the-mxcloud.md @@ -1,6 +1,6 @@ --- title: "Access a Samba Share" -url: /refguide/access-a-samba-share/ +url: /refguide10/access-a-samba-share/ weight: 43 description: "Describes how to access a Samba share from the MxCloud and use a server name." aliases: diff --git a/content/en/docs/refguide10/java-programming/debug-java-actions/_index.md b/content/en/docs/refguide10/java-programming/debug-java-actions/_index.md index 6cd7ea8112f..49cc5a72fc1 100644 --- a/content/en/docs/refguide10/java-programming/debug-java-actions/_index.md +++ b/content/en/docs/refguide10/java-programming/debug-java-actions/_index.md @@ -1,6 +1,6 @@ --- title: "Debug Java Actions" -url: /refguide/debug-java-actions/ +url: /refguide10/debug-java-actions/ weight: 4 description: "Describes how to set breakpoints and debug Java actions in Eclipse." aliases: @@ -24,7 +24,7 @@ Before starting this how-to, make sure you have completed the following prerequi * Install [Eclipse](https://eclipse.org/) * Add a Java action and open the app in Eclipse -* Read [Extending Your Application with Custom Java](/refguide/extending-your-application-with-custom-java/) +* Read [Extending Your Application with Custom Java](/refguide10/extending-your-application-with-custom-java/) * Deploy the application for Eclipse by selecting **Deploy for Eclipse** from the app menu in Studio Pro (you should redo this every time you make changes in Studio Pro): {{< figure src="/attachments/refguide10/java-programming/debug-java-actions/18581045.png" class="no-border" >}} @@ -74,6 +74,6 @@ There is the following limitation: * [Monitor Mendix Using JMX](/howto/monitoring-troubleshooting/monitoring-mendix-using-jmx/) * [Debug Java Actions Remotely](/howto/monitoring-troubleshooting/debug-java-actions-remotely/) * [Log Levels](/howto/monitoring-troubleshooting/log-levels/) -* [Debugging Microflows and Nanoflows](/refguide/debug-microflows-and-nanoflows/) -* [Debugging Microflows Remotely](/refguide/debug-microflows-remotely/) -* [Java Actions](/refguide/java-actions/) +* [Debugging Microflows and Nanoflows](/refguide10/debug-microflows-and-nanoflows/) +* [Debugging Microflows Remotely](/refguide10/debug-microflows-remotely/) +* [Java Actions](/refguide10/java-actions/) diff --git a/content/en/docs/refguide10/java-programming/debug-java-actions/debug-java-actions-remotely.md b/content/en/docs/refguide10/java-programming/debug-java-actions/debug-java-actions-remotely.md index 8c6785b8835..65d7b56ee29 100644 --- a/content/en/docs/refguide10/java-programming/debug-java-actions/debug-java-actions-remotely.md +++ b/content/en/docs/refguide10/java-programming/debug-java-actions/debug-java-actions-remotely.md @@ -1,6 +1,6 @@ --- title: "Debug Java Actions Remotely" -url: /refguide/debug-java-actions-remotely/ +url: /refguide10/debug-java-actions-remotely/ aliases: - /howto/monitoring-troubleshooting/debug-java-actions-remotely/ --- @@ -22,7 +22,7 @@ This how-to teaches you how to do the following: To edit the server configuration with extra JVM parameters, follow these steps: -1. Open the [App Settings](/refguide/app-settings/). +1. Open the [App Settings](/refguide10/app-settings/). 2. Edit the configuration on the **Configurations** tab. 3. Go to the **Server** tab of the configuration, add the following line to the **Extra JVM parameters** field: diff --git a/content/en/docs/refguide10/java-programming/extending-your-application-with-custom-java.md b/content/en/docs/refguide10/java-programming/extending-your-application-with-custom-java.md index 00ab247a990..19c6f487da6 100644 --- a/content/en/docs/refguide10/java-programming/extending-your-application-with-custom-java.md +++ b/content/en/docs/refguide10/java-programming/extending-your-application-with-custom-java.md @@ -1,7 +1,7 @@ --- title: "Extending Your Application with Custom Java" linktitle: "Extending App with Custom Java" -url: /refguide/extending-your-application-with-custom-java/ +url: /refguide10/extending-your-application-with-custom-java/ weight: 30 description: "Describes how to extend your application with custom Java code." # Linked from https://www.mendix.com/blog/easy-xpath-retrieval-in-java/ - please ask for this to be changed and redirect if moved @@ -9,7 +9,7 @@ description: "Describes how to extend your application with custom Java code." ## Introduction -Most application logic can be developed using [microflows](/refguide/microflows/) and [nanoflows](/refguide/nanoflows/). These are very powerful and contain most of the features you need in every application. However, If there is a feature missing you can extend Mendix microflows with the use of Java actions. +Most application logic can be developed using [microflows](/refguide10/microflows/) and [nanoflows](/refguide10/nanoflows/). These are very powerful and contain most of the features you need in every application. However, If there is a feature missing you can extend Mendix microflows with the use of Java actions. This document teaches you how to do the following: @@ -23,7 +23,7 @@ This how-to assumes that you are familiar with using Studio Pro to create a simp Before starting this how-to, Mendix recommends that you install Eclipse. Eclipse is a Java editor which can be downloaded from the [Eclipse Foundation](https://eclipse.org/). {{% alert color="info" %}} -Mendix recommends using Eclipse to edit your Java code, although you can use any text editor. Studio Pro contains a [Deploy for Eclipse](/refguide/app-menu/#eclipse) feature which automatically configures everything so you only have to import the app into your Eclipse working environment. +Mendix recommends using Eclipse to edit your Java code, although you can use any text editor. Studio Pro contains a [Deploy for Eclipse](/refguide10/app-menu/#eclipse) feature which automatically configures everything so you only have to import the app into your Eclipse working environment. {{% /alert %}} ## Setting Up a Simple App{#simple-app} @@ -174,7 +174,7 @@ Now you will add a button to the Product_NewEdit page which uses a microflow to ## XPath Retrieval in Java {#xpath} -Using the [Mendix Runtime API](/apidocs-mxsdk/apidocs/runtime-api/), your Java actions can interact with many parts of your app. One thing that many developers want to do is to retrieve a list of objects using an [XPath Constraint](/refguide/xpath-constraints/). This section describes how to implement an XPath retrieval in a Java action. +Using the [Mendix Runtime API](/apidocs-mxsdk/apidocs/runtime-api/), your Java actions can interact with many parts of your app. One thing that many developers want to do is to retrieve a list of objects using an [XPath Constraint](/refguide10/xpath-constraints/). This section describes how to implement an XPath retrieval in a Java action. Using the Domain Model you set up in [Setting Up a Simple App](#simple-app), above, you want to retrieve a list of Products which meet the following criteria: @@ -312,7 +312,7 @@ To use this same XPath in a Java action called from a microflow, perform the fol If you get an `UnsupportedClassVersionError` when running your app, follow these steps: 1. Clean your app's **deployment** folder by selecting **App** > **Clean Deployment Directory**. -2. Add the same JDK version to Eclipse as that which you are using in Studio Pro (this is the recommended version correlation). For details on JDK requirements, see the [Mendix Studio Pro](/refguide/system-requirements/#sp) section of *System Requirements*. +2. Add the same JDK version to Eclipse as that which you are using in Studio Pro (this is the recommended version correlation). For details on JDK requirements, see the [Mendix Studio Pro](/refguide10/system-requirements/#sp) section of *System Requirements*. ### Compile Errors @@ -324,5 +324,5 @@ When you use your app, you may encounter an error. You can look in the Studio Pr ## Read More -* [Using Eclipse](/refguide/using-eclipse/) -* [Using the Java API](/refguide/java-api-tutorial/) +* [Using Eclipse](/refguide10/using-eclipse/) +* [Using the Java API](/refguide10/java-api-tutorial/) diff --git a/content/en/docs/refguide10/java-programming/java-api-tutorial.md b/content/en/docs/refguide10/java-programming/java-api-tutorial.md index 964aa39dd1b..d009582efed 100644 --- a/content/en/docs/refguide10/java-programming/java-api-tutorial.md +++ b/content/en/docs/refguide10/java-programming/java-api-tutorial.md @@ -1,6 +1,6 @@ --- title: "Using the Mendix Runtime Java API" -url: /refguide/java-api-tutorial/ +url: /refguide10/java-api-tutorial/ weight: 40 description: "Describes how to add a Java action, edit it in Eclipse, and call it from a microflow." --- @@ -120,4 +120,4 @@ After this, all `Attachments` belonging to one `GenericObject` are copied to ano ## Read More -* [Extending Your Application with Custom Java](/refguide/extending-your-application-with-custom-java/) +* [Extending Your Application with Custom Java](/refguide10/extending-your-application-with-custom-java/) diff --git a/content/en/docs/refguide10/java-programming/java-version-migration.md b/content/en/docs/refguide10/java-programming/java-version-migration.md index 82c3ccb231c..e7726c81c6f 100644 --- a/content/en/docs/refguide10/java-programming/java-version-migration.md +++ b/content/en/docs/refguide10/java-programming/java-version-migration.md @@ -1,6 +1,6 @@ --- title: "Java Version Migration" -url: /refguide/java-version-migration/ +url: /refguide10/java-version-migration/ weight: 45 description: "Describes consequences for a Mendix app when migrating from one Java version to another." --- @@ -17,7 +17,7 @@ The following changes in behavior have been noticed when migrating from Java ver ### Changes in Date Formatting When Locale Is Dutch {#date-locale-dutch} -[Locale data was updated in Java version 13](https://www.oracle.com/java/technologies/javase/13-relnote-issues.html#JDK-8221432) in such a way that [date formatting microflow expressions](/refguide/parse-and-format-date-function-calls/) have changed what they produce when the locale is Dutch and no format argument is given. +[Locale data was updated in Java version 13](https://www.oracle.com/java/technologies/javase/13-relnote-issues.html#JDK-8221432) in such a way that [date formatting microflow expressions](/refguide10/parse-and-format-date-function-calls/) have changed what they produce when the locale is Dutch and no format argument is given. #### Dutch, Belgium (nl_BE) @@ -39,6 +39,6 @@ The following changes in behavior have been noticed when migrating from Java ver ### Changes in Date Formatting {#date-formatting-21} -[Locale data updates in Java version 20](https://www.oracle.com/java/technologies/javase/20-relnote-issues.html#JDK-8284840) mean that [date formatting microflow expressions](/refguide/parse-and-format-date-function-calls/#formatDateTime) return a different result when the format string contains AM or PM. +[Locale data updates in Java version 20](https://www.oracle.com/java/technologies/javase/20-relnote-issues.html#JDK-8284840) mean that [date formatting microflow expressions](/refguide10/parse-and-format-date-function-calls/#formatDateTime) return a different result when the format string contains AM or PM. In Java versions below 20, a space would be included before the AM/PM, but now it will be a Unicode non-breaking space (NBSP or NNBSP, \u202f). In a microflow expression, this non-breaking space can be included in a string using `urlDecode('%E2%80%AF')`—for example `'8:24' + urlDecode('%E2%80%AF') + 'AM'`. diff --git a/content/en/docs/refguide10/java-programming/managed-dependencies.md b/content/en/docs/refguide10/java-programming/managed-dependencies.md index 0f7f007c5bf..2c5c30da634 100644 --- a/content/en/docs/refguide10/java-programming/managed-dependencies.md +++ b/content/en/docs/refguide10/java-programming/managed-dependencies.md @@ -1,6 +1,6 @@ --- title: "Managed Dependencies" -url: /refguide/managed-dependencies/ +url: /refguide10/managed-dependencies/ weight: 50 description: "Describes how to use the managed dependencies feature in Studio Pro" --- @@ -17,7 +17,7 @@ In versions of Mendix below 10.3.0, Java dependencies were put into the `userlib ## Adding or Updating Managed Dependencies{#add-dependency} -You can specify Java dependencies through the module settings of each module. For each module, you can configure your dependencies on the **Java Dependencies** tab of [Module settings](/refguide/module-settings/). +You can specify Java dependencies through the module settings of each module. For each module, you can configure your dependencies on the **Java Dependencies** tab of [Module settings](/refguide10/module-settings/). {{< figure src="/attachments/refguide10/java-programming/managed-dependencies/module-settings.png" class="no-border" >}} @@ -90,7 +90,7 @@ Platform-supported Marketplace modules created by Mendix have been updated with By default, dependencies are downloaded from the [Maven Central](https://central.sonatype.com/) repository. In some scenarios, you may want to specify a custom location. For example, if your organization has its own repository to cache downloads or as an alternative if internet access is restricted in an air-gapped setup. -Custom repositories are configured in the **Repositories** setting of the **Deployment** tab in the [Preferences](/refguide/preferences-dialog/) dialog box. This setting uses the same syntax as Gradle. For internal usage of the platform, some dependencies are required which are also resolved using the configured repositories. For example: +Custom repositories are configured in the **Repositories** setting of the **Deployment** tab in the [Preferences](/refguide10/preferences-dialog/) dialog box. This setting uses the same syntax as Gradle. For internal usage of the platform, some dependencies are required which are also resolved using the configured repositories. For example: ```groovy maven { @@ -205,7 +205,7 @@ If you have an issue with the managed dependencies of a Marketplace module, you This feature was introduced in Mendix versions 10.16.0, 10.12.7, and 10.6.17. {{% /alert %}} -In the Deployment tab of the Studio Pro preferences [Gradle synchronization](/refguide/preferences-dialog/#gradle-synchronization) can be disabled. +In the Deployment tab of the Studio Pro preferences [Gradle synchronization](/refguide10/preferences-dialog/#gradle-synchronization) can be disabled. This means that applications can be started even if Studio Pro is offline or in an air gapped environment. {{% alert color="info" %}} diff --git a/content/en/docs/refguide10/java-programming/troubleshooting.md b/content/en/docs/refguide10/java-programming/troubleshooting.md index 21c6241c687..c553b20cec5 100644 --- a/content/en/docs/refguide10/java-programming/troubleshooting.md +++ b/content/en/docs/refguide10/java-programming/troubleshooting.md @@ -1,6 +1,6 @@ --- title: "Troubleshooting" -url: /refguide/troubleshooting/ +url: /refguide10/troubleshooting/ weight: 10 description: "Lists the problematic JAR files and the known workarounds." # See Jira issue IDS-807, compatibility list might need update diff --git a/content/en/docs/refguide10/java-programming/using-eclipse.md b/content/en/docs/refguide10/java-programming/using-eclipse.md index 85a6ea71bfe..e91ebf00c14 100644 --- a/content/en/docs/refguide10/java-programming/using-eclipse.md +++ b/content/en/docs/refguide10/java-programming/using-eclipse.md @@ -1,6 +1,6 @@ --- title: "Using Eclipse" -url: /refguide/using-eclipse/ +url: /refguide10/using-eclipse/ weight: 20 description: "Describes how to set up Eclipse, and how to add a Mendix application to Eclipse and launch it." #If moving or renaming this doc file, implement a temporary redirect and let the respective team know they should update the URL in the Evaluation Guide. See Mapping to Products for more details. diff --git a/content/en/docs/refguide10/mobile/_index.md b/content/en/docs/refguide10/mobile/_index.md index c3312080d7e..26e2656e60a 100644 --- a/content/en/docs/refguide10/mobile/_index.md +++ b/content/en/docs/refguide10/mobile/_index.md @@ -1,6 +1,6 @@ --- title: "Mobile" -url: /refguide/mobile/ +url: /refguide10/mobile/ weight: 50 description: "Gives an overview of mobile app development with Mendix." no_list: true @@ -12,13 +12,13 @@ aliases: With Mendix, you can use just one platform which supports various styles of mobile app development (native, web, PWA) for multiple devices. Mendix also provides common mobile back-end services. -Mendix allows you to quickly build true [native mobile apps](/refguide/native-mobile/) and [progressive web apps](/refguide/progressive-web-app/). This document gives an overview of mobile app development with Mendix. +Mendix allows you to quickly build true [native mobile apps](/refguide10/native-mobile/) and [progressive web apps](/refguide10/progressive-web-app/). This document gives an overview of mobile app development with Mendix. -With Mendix, you can create different channels (for example, responsive, native phone) from a single model using navigation profiles. These mobile profiles can be added and removed separately. If you add a profile, you must also provide a home page for it. For more information on navigation profiles, see [Navigation](/refguide/navigation/). +With Mendix, you can create different channels (for example, responsive, native phone) from a single model using navigation profiles. These mobile profiles can be added and removed separately. If you add a profile, you must also provide a home page for it. For more information on navigation profiles, see [Navigation](/refguide10/navigation/). ## Getting Started with Mobile -As you begin mobile development with Mendix, our [Getting Started with Mobile](/refguide/mobile/getting-started-with-mobile/) guide can help you learn the basics. This simple guide teaches you how to create a native mobile Mendix app. After you create it, you will view your app on a mobile device using our [Make It Native](/releasenotes/mobile/make-it-native-parent/) testing app. Getting Started with Mobile is a lean guide designed to show the basics of mobile development. +As you begin mobile development with Mendix, our [Getting Started with Mobile](/refguide10/mobile/getting-started-with-mobile/) guide can help you learn the basics. This simple guide teaches you how to create a native mobile Mendix app. After you create it, you will view your app on a mobile device using our [Make It Native](/releasenotes/mobile/make-it-native-parent/) testing app. Getting Started with Mobile is a lean guide designed to show the basics of mobile development. For a broader introduction to Mendix development, you may also use the [Quick Starts](/quickstarts/) to learn some Studio Pro fundamentals: @@ -31,7 +31,7 @@ For a broader introduction to Mendix development, you may also use the [Quick St With Mendix Studio Pro, you can build both native mobile apps and progressive web apps. Progressive web apps are the next evolution of web apps, and your users can access them directly from the browser instead of downloading them from an app store. Native mobile apps are distributed via app stores, and offer improved access to native device capabilities as well as fast performance. -For more information on the capabilities of various mobile apps, see [Introduction to Mobile Technologies](/refguide/mobile/introduction-to-mobile-technologies/). +For more information on the capabilities of various mobile apps, see [Introduction to Mobile Technologies](/refguide10/mobile/introduction-to-mobile-technologies/). ## Designing Mobile User Interfaces @@ -39,7 +39,7 @@ Well-designed mobile apps take various design requirements into consideration. F In web apps, you can use CSS to style the user interface. Styling in native mobile is different. Mendix's native mobile apps are based on React Native, which has its own styling system that uses JavaScript instead. You can style the UI elements by using JSON objects and setting their names to the corresponding widget’s class properties. -For more information on design and styling, see [Designing Mobile User Interfaces](/refguide/mobile/designing-mobile-user-interfaces/). +For more information on design and styling, see [Designing Mobile User Interfaces](/refguide10/mobile/designing-mobile-user-interfaces/). ## Building Efficient Mobile Applications @@ -47,36 +47,36 @@ After you have built your application and tested it on end-user devices, you may The following documents will help you understand data syncing, accelerate your app's performance, and more: -* [Optimizing Native Startup](/refguide/mobile/building-efficient-mobile-apps/native-startup/) – This guide teaches you how to speed up your native app's startup time. -* [Logging In Native Apps](/refguide/mobile/building-efficient-mobile-apps/logging/) – Native mobile apps are able to send logs to the [Mendix Runtime](/refguide/runtime/). Read this guide for information on native app logging configuration. -* [Offline-First Data](/refguide/mobile/building-efficient-mobile-apps/offlinefirst-data/): native and progressive web apps use an offline database and a synchronization mechanism to replicate data on the client for efficient access and offline capabilities +* [Optimizing Native Startup](/refguide10/mobile/building-efficient-mobile-apps/native-startup/) – This guide teaches you how to speed up your native app's startup time. +* [Logging In Native Apps](/refguide10/mobile/building-efficient-mobile-apps/logging/) – Native mobile apps are able to send logs to the [Mendix Runtime](/refguide10/runtime/). Read this guide for information on native app logging configuration. +* [Offline-First Data](/refguide10/mobile/building-efficient-mobile-apps/offlinefirst-data/): native and progressive web apps use an offline database and a synchronization mechanism to replicate data on the client for efficient access and offline capabilities ## Using Mobile Capabilities Building apps with Mendix gives you access to several mobile capabilities: -* [Deep Links](/refguide/mobile/using-mobile-capabilities/deep-links/): native apps can define a custom URL scheme (for instance, `my-app://`) that allows other apps to access pages and functionalities of the app -* [Location and Maps](/refguide/mobile/using-mobile-capabilities/location-and-maps/): native apps can access the user location and display native maps inside the application -* [Push Notifications](/refguide/mobile/using-mobile-capabilities/push-notifications/): native apps can present a notification to the user that is triggered by the runtime even if the app is not running -* [Local Notifications](/refguide/mobile/using-mobile-capabilities/location-and-maps/): in addition to push notifications, native apps can schedule notifications to be shown at a specific time even if the app is not running -* [Augmented Reality](/refguide/mobile/using-mobile-capabilities/augmented-reality/): native apps can render 3D objects in the physical environments via the camera stream of a mobile device +* [Deep Links](/refguide10/mobile/using-mobile-capabilities/deep-links/): native apps can define a custom URL scheme (for instance, `my-app://`) that allows other apps to access pages and functionalities of the app +* [Location and Maps](/refguide10/mobile/using-mobile-capabilities/location-and-maps/): native apps can access the user location and display native maps inside the application +* [Push Notifications](/refguide10/mobile/using-mobile-capabilities/push-notifications/): native apps can present a notification to the user that is triggered by the runtime even if the app is not running +* [Local Notifications](/refguide10/mobile/using-mobile-capabilities/location-and-maps/): in addition to push notifications, native apps can schedule notifications to be shown at a specific time even if the app is not running +* [Augmented Reality](/refguide10/mobile/using-mobile-capabilities/augmented-reality/): native apps can render 3D objects in the physical environments via the camera stream of a mobile device Although this document is located in a different category, for more information offline-first capabilities see the following: -* [Offline-First Data](/refguide/mobile/building-efficient-mobile-apps/offlinefirst-data/): native and progressive web apps use an offline database and a synchronization mechanism to replicate data on the client for efficient access and offline capabilities +* [Offline-First Data](/refguide10/mobile/building-efficient-mobile-apps/offlinefirst-data/): native and progressive web apps use an offline database and a synchronization mechanism to replicate data on the client for efficient access and offline capabilities -For more information on empowering your apps, see [Using Mobile Capabilities](/refguide/mobile/using-mobile-capabilities/). +For more information on empowering your apps, see [Using Mobile Capabilities](/refguide10/mobile/using-mobile-capabilities/). ## Building, Testing, and Distributing Apps -Distributing web apps is a single step; deploying to the production environment lets your end-users access the latest version of the web app. However, native mobile apps require more steps. Part of the application model (pages, nanoflows, and JavaScript actions) are distributed as part of the native mobile app. Even if you deploy a new version of the app, your end users will be interacting with the old version. That is why a second step is needed: distribution. To distribute the latest version of a native mobile app to users, you can either build a new version using the Native Mobile Builder and then release it to online app stores, or you can use the [over-the-air](/refguide/mobile/distributing-mobile-apps/overtheair-updates/) update mechanism to update the app elements stored in the apps without releasing a new version of your native mobile app. For more information on all aspects of the app lifecycle, see [Building, Testing, and Distributing Apps](/refguide/mobile/distributing-mobile-apps/). +Distributing web apps is a single step; deploying to the production environment lets your end-users access the latest version of the web app. However, native mobile apps require more steps. Part of the application model (pages, nanoflows, and JavaScript actions) are distributed as part of the native mobile app. Even if you deploy a new version of the app, your end users will be interacting with the old version. That is why a second step is needed: distribution. To distribute the latest version of a native mobile app to users, you can either build a new version using the Native Mobile Builder and then release it to online app stores, or you can use the [over-the-air](/refguide10/mobile/distributing-mobile-apps/overtheair-updates/) update mechanism to update the app elements stored in the apps without releasing a new version of your native mobile app. For more information on all aspects of the app lifecycle, see [Building, Testing, and Distributing Apps](/refguide10/mobile/distributing-mobile-apps/). -As your native mobile app gets more complex, monitoring your app's behavior and users' interactions becomes an essential part of your app development cycle. Therefore Mendix supports sending default and custom logs of different levels from the Mendix native app to the [Mendix Runtime](/refguide/runtime/). This allows app administrators to monitor the app, gain insight on different app states, and possess an improved overview for troubleshooting. To learn more about logging in native mobile apps, see [Logging](/refguide/mobile/building-efficient-mobile-apps/logging/). +As your native mobile app gets more complex, monitoring your app's behavior and users' interactions becomes an essential part of your app development cycle. Therefore Mendix supports sending default and custom logs of different levels from the Mendix native app to the [Mendix Runtime](/refguide10/runtime/). This allows app administrators to monitor the app, gain insight on different app states, and possess an improved overview for troubleshooting. To learn more about logging in native mobile apps, see [Logging](/refguide10/mobile/building-efficient-mobile-apps/logging/). -We also have the information you need to [test](/refguide/mobile/distributing-mobile-apps/testing-mobile-apps/) and [debug](/refguide/mobile/distributing-mobile-apps/native-debug/) your Mendix apps. To debug a web app's JavaScript, you simply open the developer console. But to debug a Mendix native app, you can use the Make It Native testing app's **Enable Remote JS Debugging** function to open the app up to normal debugging with Chrome. +We also have the information you need to [test](/refguide10/mobile/distributing-mobile-apps/testing-mobile-apps/) and [debug](/refguide10/mobile/distributing-mobile-apps/native-debug/) your Mendix apps. To debug a web app's JavaScript, you simply open the developer console. But to debug a Mendix native app, you can use the Make It Native testing app's **Enable Remote JS Debugging** function to open the app up to normal debugging with Chrome. ## Best Practices for Mobile Apps Building mobile and offline-first apps can be challenging. To help you make the most of our mobile capabilities, we have collected several best practice patterns. These patterns describe common challenges our developers face and established approaches how to resolve them. -To learn about these best practices, see [Best Practices for Mobile Apps](/refguide/mobile/best-practices/). +To learn about these best practices, see [Best Practices for Mobile Apps](/refguide10/mobile/best-practices/). diff --git a/content/en/docs/refguide10/mobile/best-practices/_index.md b/content/en/docs/refguide10/mobile/best-practices/_index.md index f22ac23bdd6..93f1bd2ff95 100644 --- a/content/en/docs/refguide10/mobile/best-practices/_index.md +++ b/content/en/docs/refguide10/mobile/best-practices/_index.md @@ -1,6 +1,6 @@ --- title: "Best Practices for Mobile Apps" -url: /refguide/mobile/best-practices/ +url: /refguide10/mobile/best-practices/ weight: 60 description: "Best practices and patterns for building mobile apps with Mendix." --- @@ -11,12 +11,12 @@ Guides in this section will help you apply best practices and patterns when buil ## Best Practices for Offline-First Apps -* [Deleted Flag](/refguide/mobile/best-practices/deleted-flag/) – Remove deleted objects from the offline database via the synchronize to device activity. -* [Incremental Synchronization](/refguide/mobile/best-practices/incremental-synchronization/) – Incrementally sync objects from the server to the device based on changed dates. -* [Batch Synchronization](/refguide/mobile/best-practices/batch-synchronization/) – Spread long synchronizations to multiple actions and present a progress to your users. -* [Compound Object](/refguide/mobile/best-practices/compound-object/) – Combine multiple objects to improve synchronization performance. -* [Request Object](/refguide/mobile/best-practices/request-object/) – Capture changes as objects and apply them after synchronization making these changes more secure. +* [Deleted Flag](/refguide10/mobile/best-practices/deleted-flag/) – Remove deleted objects from the offline database via the synchronize to device activity. +* [Incremental Synchronization](/refguide10/mobile/best-practices/incremental-synchronization/) – Incrementally sync objects from the server to the device based on changed dates. +* [Batch Synchronization](/refguide10/mobile/best-practices/batch-synchronization/) – Spread long synchronizations to multiple actions and present a progress to your users. +* [Compound Object](/refguide10/mobile/best-practices/compound-object/) – Combine multiple objects to improve synchronization performance. +* [Request Object](/refguide10/mobile/best-practices/request-object/) – Capture changes as objects and apply them after synchronization making these changes more secure. ## Read More -* To increase the clarity, organization, and documentation of your apps, see [Mendix Best Practices for Development](/refguide/dev-best-practices/) +* To increase the clarity, organization, and documentation of your apps, see [Mendix Best Practices for Development](/refguide10/dev-best-practices/) diff --git a/content/en/docs/refguide10/mobile/best-practices/batch-synchronization.md b/content/en/docs/refguide10/mobile/best-practices/batch-synchronization.md index 29e73c830f2..e83a4b75bca 100644 --- a/content/en/docs/refguide10/mobile/best-practices/batch-synchronization.md +++ b/content/en/docs/refguide10/mobile/best-practices/batch-synchronization.md @@ -1,6 +1,6 @@ --- title: "Batch Synchronization" -url: /refguide/mobile/best-practices/batch-synchronization +url: /refguide10/mobile/best-practices/batch-synchronization weight: 30 description: "This pattern lets you spread long synchronizations to multiple actions and present a progress to your users." --- @@ -25,7 +25,7 @@ Batch synchronization lets you group large synchronization actions into smaller To implement this best practice, do the following: -1. Implement [incremental synchronization](/refguide/mobile/best-practices/incremental-synchronization/) for the target entity. +1. Implement [incremental synchronization](/refguide10/mobile/best-practices/incremental-synchronization/) for the target entity. 1. Add a non-persistable entity to store the progress of your synchronization (for example, *SyncProgress* with an attribute **Progress** of type `Integer`). 1. Change the microflow that retrieves and synchronizes the changed objects to accept an offset: 1. Add a parameter **Offset** of type `Integer`. @@ -63,4 +63,4 @@ To improve your apps further, consult the following recommendations: ## Read More -* To increase the clarity, organization, and documentation of your apps, see [Mendix Best Practices for Development](/refguide/dev-best-practices/) +* To increase the clarity, organization, and documentation of your apps, see [Mendix Best Practices for Development](/refguide10/dev-best-practices/) diff --git a/content/en/docs/refguide10/mobile/best-practices/compound-object.md b/content/en/docs/refguide10/mobile/best-practices/compound-object.md index 38a36446124..dc8d37ce1c3 100644 --- a/content/en/docs/refguide10/mobile/best-practices/compound-object.md +++ b/content/en/docs/refguide10/mobile/best-practices/compound-object.md @@ -1,6 +1,6 @@ --- title: "Compound Object" -url: /refguide/mobile/best-practices/compound-object +url: /refguide10/mobile/best-practices/compound-object weight: 40 description: "This pattern lets you combine multiple objects to improve synchronization performance." --- @@ -55,9 +55,9 @@ To improve your apps further, consult the following recommendations: * The after commit event handlers used in the best practice can lead to performance issues if the target object or a related object changes frequently. In this case, use a designated update microflow instead of after commit event handlers. * If associations to related objects can be empty, be sure to handle this in the update microflow — for example by using the expression `if ($Store=empty) then '-' else $Store/Name`. * It is often useful for compound objects to store aggregate values, such as the number of related objects. These can be computed using the appropriate **List Aggregation** action in the update microflow. -* It is assumed that compound objects are not changed by the offline client. If this is needed, combine the compound object with a [Request Object](/refguide/mobile/best-practices/request-object/). -* Combine the compound object with [Incremental Synchronization](/refguide/mobile/best-practices/incremental-synchronization/) to further increase synchronization performance. +* It is assumed that compound objects are not changed by the offline client. If this is needed, combine the compound object with a [Request Object](/refguide10/mobile/best-practices/request-object/). +* Combine the compound object with [Incremental Synchronization](/refguide10/mobile/best-practices/incremental-synchronization/) to further increase synchronization performance. ## Read More -* To increase the clarity, organization, and documentation of your apps, see [Mendix Best Practices for Development](/refguide/dev-best-practices/) +* To increase the clarity, organization, and documentation of your apps, see [Mendix Best Practices for Development](/refguide10/dev-best-practices/) diff --git a/content/en/docs/refguide10/mobile/best-practices/deleted-flag.md b/content/en/docs/refguide10/mobile/best-practices/deleted-flag.md index 993d2e46ebf..6a83d07caee 100644 --- a/content/en/docs/refguide10/mobile/best-practices/deleted-flag.md +++ b/content/en/docs/refguide10/mobile/best-practices/deleted-flag.md @@ -1,13 +1,13 @@ --- title: "Deleted Flag" -url: /refguide/mobile/best-practices/deleted-flag +url: /refguide10/mobile/best-practices/deleted-flag weight: 10 description: "This pattern lets you remove deleted objects from the offline database via Sync-to-device." --- ## Introduction -This pattern lets you remove deleted objects from the offline database via the [Synchronize to Device](/refguide/synchronize-to-device/) action. +This pattern lets you remove deleted objects from the offline database via the [Synchronize to Device](/refguide10/synchronize-to-device/) action. ## Challenge @@ -36,4 +36,4 @@ To improve your apps further, consult the following recommendations: ## Read More -* To increase the clarity, organization, and documentation of your apps, see [Mendix Best Practices for Development](/refguide/dev-best-practices/) +* To increase the clarity, organization, and documentation of your apps, see [Mendix Best Practices for Development](/refguide10/dev-best-practices/) diff --git a/content/en/docs/refguide10/mobile/best-practices/incremental-synchronization.md b/content/en/docs/refguide10/mobile/best-practices/incremental-synchronization.md index 6a9a40c41b3..dd508ec4562 100644 --- a/content/en/docs/refguide10/mobile/best-practices/incremental-synchronization.md +++ b/content/en/docs/refguide10/mobile/best-practices/incremental-synchronization.md @@ -1,6 +1,6 @@ --- title: "Incremental Synchronization" -url: /refguide/mobile/best-practices/incremental-synchronization +url: /refguide10/mobile/best-practices/incremental-synchronization weight: 20 description: "This pattern makes it possible to incrementally sync objects from the server to the device based on changed dates." --- @@ -25,7 +25,7 @@ Incremental synchronization lets you speed up synchronization by transmitting on To implement this pattern, do the following: -1. Implement the [Deleted Flag](/refguide/mobile/best-practices/deleted-flag/) best practice for the target entity. +1. Implement the [Deleted Flag](/refguide10/mobile/best-practices/deleted-flag/) best practice for the target entity. 1. Enable **Store changedDate** for the target entity. 1. Add a new entity with an attribute to store the last synchronization date (for example, **SyncHelper/LastSyncDate**). 1. Set the default value for the synchronization date attribute to **1970-01-01**. @@ -63,4 +63,4 @@ To improve your apps further, consult the following recommendations: ## Read More -* To increase the clarity, organization, and documentation of your apps, see [Mendix Best Practices for Development](/refguide/dev-best-practices/) +* To increase the clarity, organization, and documentation of your apps, see [Mendix Best Practices for Development](/refguide10/dev-best-practices/) diff --git a/content/en/docs/refguide10/mobile/best-practices/request-object.md b/content/en/docs/refguide10/mobile/best-practices/request-object.md index 7e7a72aaa52..820db8fb2fa 100644 --- a/content/en/docs/refguide10/mobile/best-practices/request-object.md +++ b/content/en/docs/refguide10/mobile/best-practices/request-object.md @@ -1,6 +1,6 @@ --- title: "Request Object" -url: /refguide/mobile/best-practices/request-object/ +url: /refguide10/mobile/best-practices/request-object/ weight: 50 description: "This pattern lets you capture changes as objects and apply them after synchronization making these changes more secure." --- @@ -41,9 +41,9 @@ To implement this pattern, do the following: To improve your apps further, consult the following recommendations: * If the offline client employs multiple request objects in parallel, add a unique identifier (for example by using the nanoflow action **Get guid**) to the main request object and use it as a reference that can be passed to the microflow. -* It can be beneficial for data integrity to keep the processed request objects in the server database. In that case, use a [Deleted Flag](/refguide/mobile/best-practices/deleted-flag/) to remove them from the offline client. -* Combine **Request Object** with [Compound Object](/refguide/mobile/best-practices/compound-object/) to allow reading from and writing to complex data structures. +* It can be beneficial for data integrity to keep the processed request objects in the server database. In that case, use a [Deleted Flag](/refguide10/mobile/best-practices/deleted-flag/) to remove them from the offline client. +* Combine **Request Object** with [Compound Object](/refguide10/mobile/best-practices/compound-object/) to allow reading from and writing to complex data structures. ## Read More -* To increase the clarity, organization, and documentation of your apps, see [Mendix Best Practices for Development](/refguide/dev-best-practices/) +* To increase the clarity, organization, and documentation of your apps, see [Mendix Best Practices for Development](/refguide10/dev-best-practices/) diff --git a/content/en/docs/refguide10/mobile/building-efficient-mobile-apps/_index.md b/content/en/docs/refguide10/mobile/building-efficient-mobile-apps/_index.md index ef8f6253411..1562de0830b 100644 --- a/content/en/docs/refguide10/mobile/building-efficient-mobile-apps/_index.md +++ b/content/en/docs/refguide10/mobile/building-efficient-mobile-apps/_index.md @@ -1,6 +1,6 @@ --- title: "Building Efficient Mobile Apps" -url: /refguide/mobile/building-efficient-mobile-apps/ +url: /refguide10/mobile/building-efficient-mobile-apps/ weight: 31 description: "These documents explain how to best arrange data syncing, startups, and improve other aspects of mobile apps." --- @@ -9,7 +9,7 @@ description: "These documents explain how to best arrange data syncing, startups The following documents will help you understand data syncing, accelerate your app's performance, and more: -* [Optimizing Native Startup](/refguide/mobile/building-efficient-mobile-apps/native-startup/) – This guide teaches you how to speed up your native app's startup time. -* [Logging In Native Apps](/refguide/mobile/building-efficient-mobile-apps/logging/) – Native mobile apps are able to send logs to the [Mendix Runtime](/refguide/runtime/). Read this guide for information on native app logging configuration. -* [Offline-First Data](/refguide/mobile/building-efficient-mobile-apps/offlinefirst-data/): Native and progressive web apps use an offline database and a synchronization mechanism to replicate data on the client for efficient access and offline capabilities -* [Hermes Engine](/refguide/mobile/building-efficient-mobile-apps/hermes-engine/): Hermes is a JavaScript engine optimized for React Native, enhancing app performance and efficiency. +* [Optimizing Native Startup](/refguide10/mobile/building-efficient-mobile-apps/native-startup/) – This guide teaches you how to speed up your native app's startup time. +* [Logging In Native Apps](/refguide10/mobile/building-efficient-mobile-apps/logging/) – Native mobile apps are able to send logs to the [Mendix Runtime](/refguide10/runtime/). Read this guide for information on native app logging configuration. +* [Offline-First Data](/refguide10/mobile/building-efficient-mobile-apps/offlinefirst-data/): Native and progressive web apps use an offline database and a synchronization mechanism to replicate data on the client for efficient access and offline capabilities +* [Hermes Engine](/refguide10/mobile/building-efficient-mobile-apps/hermes-engine/): Hermes is a JavaScript engine optimized for React Native, enhancing app performance and efficiency. diff --git a/content/en/docs/refguide10/mobile/building-efficient-mobile-apps/hermes.md b/content/en/docs/refguide10/mobile/building-efficient-mobile-apps/hermes.md index a0088a92478..52588e1e73f 100644 --- a/content/en/docs/refguide10/mobile/building-efficient-mobile-apps/hermes.md +++ b/content/en/docs/refguide10/mobile/building-efficient-mobile-apps/hermes.md @@ -1,10 +1,10 @@ --- title: "Hermes Engine" -url: /refguide/mobile/building-efficient-mobile-apps/hermes-engine/ +url: /refguide10/mobile/building-efficient-mobile-apps/hermes-engine/ weight: 15 description: "Hermes is a JavaScript engine optimized for React Native, enhancing app performance and efficiency." aliases: - - /refguide/mobile/hermes + - /refguide10/mobile/hermes --- ## Introduction @@ -34,5 +34,5 @@ The Hermes engine generally does not require any modifications to your existing ## Read More -* [Optimizing Native Startup](/refguide/mobile/building-efficient-mobile-apps/native-startup/) -* [Testing Native Apps](/refguide/mobile/distributing-mobile-apps/testing-mobile-apps/) +* [Optimizing Native Startup](/refguide10/mobile/building-efficient-mobile-apps/native-startup/) +* [Testing Native Apps](/refguide10/mobile/distributing-mobile-apps/testing-mobile-apps/) diff --git a/content/en/docs/refguide10/mobile/building-efficient-mobile-apps/logging.md b/content/en/docs/refguide10/mobile/building-efficient-mobile-apps/logging.md index 1e053e7d6b1..c2ea598b240 100644 --- a/content/en/docs/refguide10/mobile/building-efficient-mobile-apps/logging.md +++ b/content/en/docs/refguide10/mobile/building-efficient-mobile-apps/logging.md @@ -1,14 +1,14 @@ --- title: "Logging in Native Apps" -url: /refguide/mobile/building-efficient-mobile-apps/logging/ +url: /refguide10/mobile/building-efficient-mobile-apps/logging/ weight: 25 description: "Describes using logging in native mobile apps" aliases: - - /refguide/mobile/logging/ + - /refguide10/mobile/logging/ --- ## Introduction -Native mobile apps are able to send logs to the [Mendix Runtime](/refguide/runtime/). Read this guide for information on native app logging configuration. +Native mobile apps are able to send logs to the [Mendix Runtime](/refguide10/runtime/). Read this guide for information on native app logging configuration. {{% alert color="warning" %}} Please note the following current limitations regarding native client logs: @@ -18,10 +18,10 @@ Please note the following current limitations regarding native client logs: ## Enabling Native App Logging -Sending logs from native apps is disabled by default. However, sending logs can be enabled from your [native phone profile](/refguide/navigation/#native-phone) by selecting the **Enable sending logs to runtime** checkbox inside the **Logging** group box. +Sending logs from native apps is disabled by default. However, sending logs can be enabled from your [native phone profile](/refguide10/navigation/#native-phone) by selecting the **Enable sending logs to runtime** checkbox inside the **Logging** group box. {{% alert color="warning" %}} -Please note that after enabling or disabling sending logs to runtime, you must create and distribute a new build of the native mobile app for this change to take effect. For more information on creating and distributing builds, see [Building, Testing, and Distributing Apps](/refguide/mobile/distributing-mobile-apps/). +Please note that after enabling or disabling sending logs to runtime, you must create and distribute a new build of the native mobile app for this change to take effect. For more information on creating and distributing builds, see [Building, Testing, and Distributing Apps](/refguide10/mobile/distributing-mobile-apps/). {{% /alert %}} {{< figure src="/attachments/refguide10/mobile/native-mobile/logging/enable-logging.png" class="no-border" >}} @@ -34,7 +34,7 @@ Please note the following: * `Crash` logs are not supported currently {{% /alert %}} -For more information on log levels, see the [Log Levels](/refguide/logging/#log-levels) section of *Logging*. +For more information on log levels, see the [Log Levels](/refguide10/logging/#log-levels) section of *Logging*. ### Critical @@ -64,7 +64,7 @@ However, you may choose to add more entry and exit points at the **Debug** level ## Native Client Default Log Nodes -This section provides some details on specific log nodes used by the Mendix native client. Mendix recommends that if you write your own [log messages](/refguide/log-message/), you should also use your own log node names to avoid confusion with the Mendix log messages. +This section provides some details on specific log nodes used by the Mendix native client. Mendix recommends that if you write your own [log messages](/refguide10/log-message/), you should also use your own log node names to avoid confusion with the Mendix log messages. ### Default Mendix Native Client Log Nodes {#native-client-log-nodes} @@ -73,7 +73,7 @@ The following log nodes are used by Mendix when writing log messages: {{% alert color="warning" %}} * Log messages are filtered based on the log levels set in the Cloud Portal app. -* Enabling the `trace` log level may cause too many logs to be sent to the [Mendix Runtime](/refguide/runtime/), so it should not be kept enabled for long periods of time. +* Enabling the `trace` log level may cause too many logs to be sent to the [Mendix Runtime](/refguide10/runtime/), so it should not be kept enabled for long periods of time. {{% /alert %}} | Log Node | Description | diff --git a/content/en/docs/refguide10/mobile/building-efficient-mobile-apps/native-startup.md b/content/en/docs/refguide10/mobile/building-efficient-mobile-apps/native-startup.md index 748a25e3f51..2805bf11452 100644 --- a/content/en/docs/refguide10/mobile/building-efficient-mobile-apps/native-startup.md +++ b/content/en/docs/refguide10/mobile/building-efficient-mobile-apps/native-startup.md @@ -1,6 +1,6 @@ --- title: "Optimizing Native Startup" -url: /refguide/mobile/building-efficient-mobile-apps/native-startup/ +url: /refguide10/mobile/building-efficient-mobile-apps/native-startup/ weight: 15 description: "Describes optimizing native app startup times by tailoring the way your app syncs data." --- @@ -18,7 +18,7 @@ Four major things take place when the launch screen is shown: 3. An initial full sync is executed. 4. If you have a nanoflow as home page, it will be executed. -You can inspect what is actually happening by enabling Trace logs for the various `Client_` log-nodes (most important are `Client_Startup` and `Client_Synchronization`). For more details see [Mobile Logging](/refguide/mobile/building-efficient-mobile-apps/logging/). +You can inspect what is actually happening by enabling Trace logs for the various `Client_` log-nodes (most important are `Client_Startup` and `Client_Synchronization`). For more details see [Mobile Logging](/refguide10/mobile/building-efficient-mobile-apps/logging/). ## Application Initialization @@ -26,7 +26,7 @@ Application initialization should not take long in most scenarios. However, it i ## Over-the-Air Updates -OTA updates let you upgrade your native client from the cloud without installing an updated version on the cloud. You can enable OTA updates in the native navigation profile. Once enabled, each time you publish your Mendix app an OTA bundle is generated and published as well. For more details see [Updating Native Apps](/refguide/mobile/distributing-mobile-apps/overtheair-updates/). +OTA updates let you upgrade your native client from the cloud without installing an updated version on the cloud. You can enable OTA updates in the native navigation profile. Once enabled, each time you publish your Mendix app an OTA bundle is generated and published as well. For more details see [Updating Native Apps](/refguide10/mobile/distributing-mobile-apps/overtheair-updates/). The Mendix Client checks for a new OTA update each time end-users start their native mobile apps. If there is no new OTA update the app starts as usual. If there is a new OTA update, the client downloads and installs it automatically. If the size of the OTA package is large, this may slow startup performance as downloading large packages takes time. @@ -36,13 +36,13 @@ You can an OTA bundle's size by downloading it via a link like this from a deplo ## Initial Synchronization -Synchronization ensures that the changes to domain model objects on the client and the runtime are kept in sync. Full synchronization ensures that all changes from the client are sent to the runtime, and all entities that are configured to synchronize “All Objects” are sent to the client. For more details see [Offline Synchronization](/refguide/mobile/building-efficient-mobile-apps/offlinefirst-data/synchronization/). +Synchronization ensures that the changes to domain model objects on the client and the runtime are kept in sync. Full synchronization ensures that all changes from the client are sent to the runtime, and all entities that are configured to synchronize “All Objects” are sent to the client. For more details see [Offline Synchronization](/refguide10/mobile/building-efficient-mobile-apps/offlinefirst-data/synchronization/). The initial full sync cannot be skipped. Therefore, for data-heavy apps it is important to control the sync behavior and use **All Objects** and **By XPath** sparingly. It is often better to use **Nothing (preserve data)** and synchronize (using a microflow and Sync-To-Device) only when the data is accessed or refreshed. Excluding file documents and images from startup synchronization and then synchronizing them lazily on-demand can boost your app's performance significantly. -If you need to synchronize files and images on startup, ensure their size is small. In most cases, image sizes can be reduced by lowering their resolution. You can refer to the **Client_Startup** log node’s logs to see how long your startup synchronization took. For more information on Native Logging, see [Logging in Native Apps](/refguide/mobile/building-efficient-mobile-apps/logging/). +If you need to synchronize files and images on startup, ensure their size is small. In most cases, image sizes can be reduced by lowering their resolution. You can refer to the **Client_Startup** log node’s logs to see how long your startup synchronization took. For more information on Native Logging, see [Logging in Native Apps](/refguide10/mobile/building-efficient-mobile-apps/logging/). ## Nanoflow Home Page diff --git a/content/en/docs/refguide10/mobile/building-efficient-mobile-apps/offlinefirst-data/_index.md b/content/en/docs/refguide10/mobile/building-efficient-mobile-apps/offlinefirst-data/_index.md index 2ec6a9c6444..9c2c3b23b4a 100644 --- a/content/en/docs/refguide10/mobile/building-efficient-mobile-apps/offlinefirst-data/_index.md +++ b/content/en/docs/refguide10/mobile/building-efficient-mobile-apps/offlinefirst-data/_index.md @@ -1,12 +1,12 @@ --- title: "Offline-First Data" -url: /refguide/mobile/building-efficient-mobile-apps/offlinefirst-data/ +url: /refguide10/mobile/building-efficient-mobile-apps/offlinefirst-data/ no_list: false description_list: true weight: 20 aliases: - - /refguide/offline-first/ - - /refguide/mobile/building-efficient-mobile-apps/offlinefirst-data/ + - /refguide10/offline-first/ + - /refguide10/mobile/building-efficient-mobile-apps/offlinefirst-data/ --- ## Introduction @@ -19,19 +19,19 @@ Offline-first applications work regardless of the connection to provide a contin It is essential to understand that offline-first is an architectural concept and not an approach based on the device's network state. Offline-first apps do not rely on a connection. Still, they can use network connections (for example, you can call microflows, use a Google Maps widget, or use push notifications). {{% /alert %}} -Mendix supports building offline-first applications for [native mobile](/refguide/native-mobile/) and [progressive web apps](/refguide/mobile/introduction-to-mobile-technologies/progressive-web-app/). Both native and progressive web apps (PWAs) share the same core, giving them the same offline-first capabilities. Native mobile apps are always offline-first, but for progressive web apps this is optional. You can configure your PWA to be offline-first by adding an offline-first PWA navigation profile to your app. For more information, see [Progressive Web Apps](/refguide/mobile/introduction-to-mobile-technologies/progressive-web-app/). +Mendix supports building offline-first applications for [native mobile](/refguide10/native-mobile/) and [progressive web apps](/refguide10/mobile/introduction-to-mobile-technologies/progressive-web-app/). Both native and progressive web apps (PWAs) share the same core, giving them the same offline-first capabilities. Native mobile apps are always offline-first, but for progressive web apps this is optional. You can configure your PWA to be offline-first by adding an offline-first PWA navigation profile to your app. For more information, see [Progressive Web Apps](/refguide10/mobile/introduction-to-mobile-technologies/progressive-web-app/). {{% alert color="info" %}} **Online Synchronization Mode (Introduced in Mendix 10.19)** Mendix 10.19 introduces a new way to sync an app's data: online synchronization mode. This mode allows app developers to use entity data on pages without synchronizing the data of those entities to the offline database. Using this mode requires an available connection to the server. -For more details, see [Online Synchronization Mode](/refguide/mobile/building-efficient-mobile-apps/offlinefirst-data/online-sync-mode/). +For more details, see [Online Synchronization Mode](/refguide10/mobile/building-efficient-mobile-apps/offlinefirst-data/online-sync-mode/). {{% /alert %}} ## Synchronization -Synchronization is the process of copying data and files from the app's server to the device and updating the server with the changes made on the local device. The local database is populated when the app starts for the first time. After this initial synchronization, data will remain available in the app so that it can work without an internet connection. You can model when and how to perform the subsequent synchronizations. In some cases, the Mendix Client may perform a synchronization automatically. Designing an efficient synchronization strategy is crucial for a high-performance app and a smooth UX. For more information, see the [Synchronization Guide](/refguide/mobile/building-efficient-mobile-apps/offlinefirst-data/synchronization/). +Synchronization is the process of copying data and files from the app's server to the device and updating the server with the changes made on the local device. The local database is populated when the app starts for the first time. After this initial synchronization, data will remain available in the app so that it can work without an internet connection. You can model when and how to perform the subsequent synchronizations. In some cases, the Mendix Client may perform a synchronization automatically. Designing an efficient synchronization strategy is crucial for a high-performance app and a smooth UX. For more information, see the [Synchronization Guide](/refguide10/mobile/building-efficient-mobile-apps/offlinefirst-data/synchronization/). ## Modeling Offline-First Apps @@ -51,13 +51,13 @@ Imagine that you have deployed the first version of your native mobile app, your A similar issue may occur regarding changes to other app elements, including microflows and constants available to the client. For example, if your new deployment renames a microflow or modifies its parameters, users who have not updated their apps will be working with the previous model of the app where it references the microflow with the old name. -For more information on offline-first app design, see [Offline Best Practices](/refguide/mobile/building-efficient-mobile-apps/offlinefirst-data/best-practices/). +For more information on offline-first app design, see [Offline Best Practices](/refguide10/mobile/building-efficient-mobile-apps/offlinefirst-data/best-practices/). ## Distributing Mobile Apps -When you model a web app and deploy it to production, all users immediately have access to it. However, this is often not the case with offline-first apps. The apps installed on your users' devices do not immediately update (especially true for native mobile apps). Typically, you create and distribute a new release of your app in the Google Play store and Apple App Store, which may take some time. Alternatively, Mendix provides an over-the-air (OTA) update mechanism to update your apps without going through the release process. For more information, see [Updating Native Apps](/refguide/mobile/distributing-mobile-apps/overtheair-updates/). +When you model a web app and deploy it to production, all users immediately have access to it. However, this is often not the case with offline-first apps. The apps installed on your users' devices do not immediately update (especially true for native mobile apps). Typically, you create and distribute a new release of your app in the Google Play store and Apple App Store, which may take some time. Alternatively, Mendix provides an over-the-air (OTA) update mechanism to update your apps without going through the release process. For more information, see [Updating Native Apps](/refguide10/mobile/distributing-mobile-apps/overtheair-updates/). -For information on safely updating your offline-first apps, see [Building, Testing, and Distributing Apps](/refguide/mobile/distributing-mobile-apps/). +For information on safely updating your offline-first apps, see [Building, Testing, and Distributing Apps](/refguide10/mobile/distributing-mobile-apps/). ## Session Management diff --git a/content/en/docs/refguide10/mobile/building-efficient-mobile-apps/offlinefirst-data/auto-committed-objects.md b/content/en/docs/refguide10/mobile/building-efficient-mobile-apps/offlinefirst-data/auto-committed-objects.md index d56286c25bc..f61875e4358 100644 --- a/content/en/docs/refguide10/mobile/building-efficient-mobile-apps/offlinefirst-data/auto-committed-objects.md +++ b/content/en/docs/refguide10/mobile/building-efficient-mobile-apps/offlinefirst-data/auto-committed-objects.md @@ -1,16 +1,16 @@ --- title: "Synchronization & Auto-Committed Objects" -url: /refguide/mobile/building-efficient-mobile-apps/offlinefirst-data/auto-committed-objects/ +url: /refguide10/mobile/building-efficient-mobile-apps/offlinefirst-data/auto-committed-objects/ weight: 40 description: "Describes when offline sync can create auto-committed objects and what to do when that occurs." aliases: - - /refguide/mobile/using-mobile-capabilities/offlinefirst-data/auto-committed-objects/ + - /refguide10/mobile/using-mobile-capabilities/offlinefirst-data/auto-committed-objects/ # If moving or renaming this doc file, implement a permanent redirect and let the respective team (R&D/AppDev/Frontend/Mobile Offline Team) update the URL in the product. --- ## Introduction -Auto-committed objects are Mendix objects committed to the database automatically because the app commits another object that references the auto-committed object. To learn more about auto-committed objects, see the [Autocommit and Associated Objects](/refguide/committing-objects/#autocommit-and-associated-objects) section of *Commit Object(s)*. +Auto-committed objects are Mendix objects committed to the database automatically because the app commits another object that references the auto-committed object. To learn more about auto-committed objects, see the [Autocommit and Associated Objects](/refguide10/committing-objects/#autocommit-and-associated-objects) section of *Commit Object(s)*. ## Offline-First Apps and Auto-Commit Logic @@ -26,7 +26,7 @@ To continue the example, here is the related nanoflow: The example above saves the `$NewOrder` object to the local database, including the association value referencing the uncommitted `$NewCustomer` object. Since the `$NewCustomer` is not yet committed, however, the reference is invalid. To solve this issue, the nanoflow must commit the `$NewCustomer` object. -Assume a user closes the app right after the example nanoflow has run. Since the `$NewCustomer` object is stored only in memory, it will be gone. The `$NewOrder` object references a customer object which no longer exists. When you try to synchronize `$NewOrder` later, it will fail due to the dangling reference error. You must set the reference to `empty` to successfully synchronize this object. To learn more about dangling references, see the [Dangling References](/refguide/mobile/building-efficient-mobile-apps/offlinefirst-data/synchronization/#dangling-references) section of *Offline Synchronization*. +Assume a user closes the app right after the example nanoflow has run. Since the `$NewCustomer` object is stored only in memory, it will be gone. The `$NewOrder` object references a customer object which no longer exists. When you try to synchronize `$NewOrder` later, it will fail due to the dangling reference error. You must set the reference to `empty` to successfully synchronize this object. To learn more about dangling references, see the [Dangling References](/refguide10/mobile/building-efficient-mobile-apps/offlinefirst-data/synchronization/#dangling-references) section of *Offline Synchronization*. It is true that an offline-first app *can* create auto-committed objects on the runtime database. However, although auto-committed objects help ensure database consistency in web applications, creating auto-committed objects in offline-first apps is *not recommended*. @@ -34,13 +34,13 @@ It is true that an offline-first app *can* create auto-committed objects on the Auto-committed objects live until the user's session expires. When the user's session expires, the Mendix Runtime deletes any auto-committed objects created in that session. This logic works well for web applications, but is not a good fit for offline-first apps for the following reasons: -* **Session expiration** – offline apps use regular sessions that expire according to the [`SessionTimeout` runtime setting](/refguide/tricky-custom-runtime-settings/#general-settings). A session on the server may expire as the user uses the app. The server will remove any auto-committed objects, even if the end-user is still interacting with the app.This can cause unexpected behaviors. For example, suppose the user changes the auto-committed object and attempts to synchronize. The Mendix Runtime will not be able to do that, because the runtime database no longer has this object. +* **Session expiration** – offline apps use regular sessions that expire according to the [`SessionTimeout` runtime setting](/refguide10/tricky-custom-runtime-settings/#general-settings). A session on the server may expire as the user uses the app. The server will remove any auto-committed objects, even if the end-user is still interacting with the app.This can cause unexpected behaviors. For example, suppose the user changes the auto-committed object and attempts to synchronize. The Mendix Runtime will not be able to do that, because the runtime database no longer has this object. * It is useful to keep in mind that a session may expire on the server if the end-user uses the app while there is no network connection. When this happens, the Mendix Client attempts to create a new session automatically when the device sends a request to the Mendix Runtime. * **Auto-committed objects as regular objects** – auto-committed objects can be synchronized to other users' local databases and treated as regular objects, which may cause the following problems: * The Mendix Runtime does not run any validations or event handler microflows while auto-committing an object. Therefore, auto-committed objects synchronized to local databases may be invalid or incomplete. This may lead to bugs in the app model (nanoflows, UI, or other areas) if the app model is not resistant to invalid objects. * The synchronization may fail if a user changes and synchronizes an invalid auto-committed object. -* **Delete behavior issues** – the Mendix Runtime may delete other associated objects while deleting the auto-committed objects at the end of a session. This can happen if the association's [on delete behavior](/refguide/association-properties/#delete-behavior) is set to deleting associated objects. -* **Long-lived sessions** – In Mendix versions below 10.9.0, offline-first progressive web apps use [long-lived sessions](/refguide/mobile/introduction-to-mobile-technologies/progressive-web-app/#sessions) with longer session timeout by default. This causes auto-committed objects to remain on the server database as long as a session is active. Other PWA users can synchronize the auto-committed objects to their local databases. For example, a user changes and attempts to synchronize an auto-committed object with validation problems. In that case the server may fail to synchronize it. This is not the case for apps created in Mendix version 10.9.0 and above, as a new [session management](/refguide/session-management/) using authentication tokens was introduced in that version. +* **Delete behavior issues** – the Mendix Runtime may delete other associated objects while deleting the auto-committed objects at the end of a session. This can happen if the association's [on delete behavior](/refguide10/association-properties/#delete-behavior) is set to deleting associated objects. +* **Long-lived sessions** – In Mendix versions below 10.9.0, offline-first progressive web apps use [long-lived sessions](/refguide10/mobile/introduction-to-mobile-technologies/progressive-web-app/#sessions) with longer session timeout by default. This causes auto-committed objects to remain on the server database as long as a session is active. Other PWA users can synchronize the auto-committed objects to their local databases. For example, a user changes and attempts to synchronize an auto-committed object with validation problems. In that case the server may fail to synchronize it. This is not the case for apps created in Mendix version 10.9.0 and above, as a new [session management](/refguide10/session-management/) using authentication tokens was introduced in that version. ## How Offline-First Apps Create Auto-Committed Objects @@ -102,7 +102,7 @@ The offline synchronization detected {count} auto-committed objects during synch - {EntityN}: {count} object(s) - ({guid1}, {guid2}, ... {guidN}) Please refer to the documentation to learn more about this issue and how to solve it: -https://docs.mendix.com/refguide/mobile/building-efficient-mobile-apps/offlinefirst-data/auto-committed-objects/ +https://docs.mendix.com/refguide10/mobile/building-efficient-mobile-apps/offlinefirst-data/auto-committed-objects/ ``` #### Created While Executing a Microflow @@ -121,7 +121,7 @@ The offline synchronization detected {count} auto-committed objects during synch - {EntityN}: {count} object(s) - ({guid1}, {guid2}, ... {guidN}) Please refer to the documentation to learn more about this issue and how to solve it: -https://docs.mendix.com/refguide/mobile/building-efficient-mobile-apps/offlinefirst-data/auto-committed-objects/ +https://docs.mendix.com/refguide10/mobile/building-efficient-mobile-apps/offlinefirst-data/auto-committed-objects/ ``` Auto-committed objects created inside microflows that are called from a nanoflow will remain on the database. @@ -130,4 +130,4 @@ Auto-committed objects created inside microflows that are called from a nanoflow A custom runtime setting (`com.mendix.offline.DeleteAutoCommittedObjectsAfterSync`) is available to disable deleting the auto-committed objects created during synchronization. This setting can be used in apps from Mendix Studio Pro 9.18 and above. -This setting is intended for offline-first apps created in Mendix 9.17 and below to keep the previous behavior. Disabling this setting for new applications is not recommended. For details on changing this setting, see [Advanced Custom Settings in Mendix Runtime](/refguide/tricky-custom-runtime-settings/#general-settings) +This setting is intended for offline-first apps created in Mendix 9.17 and below to keep the previous behavior. Disabling this setting for new applications is not recommended. For details on changing this setting, see [Advanced Custom Settings in Mendix Runtime](/refguide10/tricky-custom-runtime-settings/#general-settings) diff --git a/content/en/docs/refguide10/mobile/building-efficient-mobile-apps/offlinefirst-data/best-practices.md b/content/en/docs/refguide10/mobile/building-efficient-mobile-apps/offlinefirst-data/best-practices.md index bc6d69fdc77..8009a207a26 100644 --- a/content/en/docs/refguide10/mobile/building-efficient-mobile-apps/offlinefirst-data/best-practices.md +++ b/content/en/docs/refguide10/mobile/building-efficient-mobile-apps/offlinefirst-data/best-practices.md @@ -1,6 +1,6 @@ --- title: "Offline Best Practices" -url: /refguide/mobile/building-efficient-mobile-apps/offlinefirst-data/best-practices/ +url: /refguide10/mobile/building-efficient-mobile-apps/offlinefirst-data/best-practices/ weight: 30 description: "Describes how to make secure, high-performing offline-first apps." --- @@ -15,7 +15,7 @@ To ensure the best user experience for your Mendix application, follow these bes * Synchronize large files or images using selective synchronization * Use an `isDeleted` Boolean attribute for delete functionality so that conflicts can be handled correctly on the server * Use before- and after-commit microflows to pre- or post-process data -* Use a [microflow call](/refguide/microflow-call/) in your nanoflows to perform additional server-side logic such as retrieving data from a REST service, or accessing and using complex logic such as Java actions +* Use a [microflow call](/refguide10/microflow-call/) in your nanoflows to perform additional server-side logic such as retrieving data from a REST service, or accessing and using complex logic such as Java actions * Help your user remember to synchronize their data so it is processed as soon as possible: you can check for connectivity and automatically synchronize in the nanoflow that commits your object, or remind a user to synchronize while using a notification or before signing out to ensure no data is lost ## Preventing Synchronization Issues @@ -41,7 +41,7 @@ Mendix helps developers build rich offline-first apps. However, there are some l ### Microflows {#microflows} -Microflows can be called from offline apps by using [microflow call](/refguide/microflow-call/) action in your nanoflows to perform logic on the server. However, it works a bit different from when used in online profiles, these differences are explained below: +Microflows can be called from offline apps by using [microflow call](/refguide10/microflow-call/) action in your nanoflows to perform logic on the server. However, it works a bit different from when used in online profiles, these differences are explained below: #### Microflow Arguments Type @@ -58,12 +58,12 @@ UI-related actions will be ignored and will not have any effect. We encourage yo These actions are as the following: -* [Show message](/refguide/show-message/) -* [Show validation message](/refguide/validation-feedback/) -* [Show home page](/refguide/show-home-page/) -* [Show page](/refguide/show-page/) -* [Close page](/refguide/close-page/) -* [Download file](/refguide/download-file/) +* [Show message](/refguide10/show-message/) +* [Show validation message](/refguide10/validation-feedback/) +* [Show home page](/refguide10/show-home-page/) +* [Show page](/refguide10/show-page/) +* [Close page](/refguide10/close-page/) +* [Download file](/refguide10/download-file/) #### Object Side-Effects @@ -76,11 +76,11 @@ Changes to persistable objects made in a microflow will not be reflected on the #### Language Switching -To be able to switch the language of a Mendix app, a device must be online and have access to the Mendix runtime. For more information on the runtime, see the [Runtime Reference Guide](/refguide/runtime/). +To be able to switch the language of a Mendix app, a device must be online and have access to the Mendix runtime. For more information on the runtime, see the [Runtime Reference Guide](/refguide10/runtime/). ### Offline Microflow Best Practices {#offline-mf-best-practices} -To make microflow calls work from offline-first apps, Mendix stores some microflow information in the offline app. That information is called from the app. This means that changes to microflows used from offline apps must be backwards-compatible, because there can be older apps which have not received an over the air update yet. All microflow calls from such a device will still contain the old microflow call configuration in nanoflows, which means that the request might fail. For more information on over-the-air updates, see [Updating Native Apps](/refguide/mobile/distributing-mobile-apps/overtheair-updates/). +To make microflow calls work from offline-first apps, Mendix stores some microflow information in the offline app. That information is called from the app. This means that changes to microflows used from offline apps must be backwards-compatible, because there can be older apps which have not received an over the air update yet. All microflow calls from such a device will still contain the old microflow call configuration in nanoflows, which means that the request might fail. For more information on over-the-air updates, see [Updating Native Apps](/refguide10/mobile/distributing-mobile-apps/overtheair-updates/). To avoid backwards-compatibility errors in offline microflow calls after the initial release, Mendix suggests these best practices: @@ -114,7 +114,7 @@ Excel and CSV export are not available in offline applications. ### Hashed String Attributes {#hashed-strings} -Attributes with the hashed string [attribute type](/refguide/attributes/#type) will not be synchronized. +Attributes with the hashed string [attribute type](/refguide10/attributes/#type) will not be synchronized. ### Access Rules with XPath Constraints {#access-rules} diff --git a/content/en/docs/refguide10/mobile/building-efficient-mobile-apps/offlinefirst-data/local-data-security.md b/content/en/docs/refguide10/mobile/building-efficient-mobile-apps/offlinefirst-data/local-data-security.md index ed51004c68d..9a0783bfaf6 100644 --- a/content/en/docs/refguide10/mobile/building-efficient-mobile-apps/offlinefirst-data/local-data-security.md +++ b/content/en/docs/refguide10/mobile/building-efficient-mobile-apps/offlinefirst-data/local-data-security.md @@ -1,6 +1,6 @@ --- title: "Offline Data Security" -url: /refguide/mobile/building-efficient-mobile-apps/offlinefirst-data/local-data-security/ +url: /refguide10/mobile/building-efficient-mobile-apps/offlinefirst-data/local-data-security/ weight: 85 description: "This documentation describes best practices to keep your offline data secure." aliases: @@ -27,13 +27,13 @@ It is a best practice to synchronize as little data as possible to the device an The Mendix Client only stores objects and attributes that the current user has read access to. Incomplete or misconfigured access rules on the domain model may cause too much data to be synchronized to the device databases. -To learn more about configuring access rules, see [Access Rules](/refguide/access-rules/). +To learn more about configuring access rules, see [Access Rules](/refguide10/access-rules/). ### Limiting Data with XPath Constraints In apps where you want to grant end-users working with objects access to the responsive profile, but you do not wish to grant them access to an offline-first navigation profile, it is possible to limit the amount of data by an XPath constraint using the **Configure Synchronization** screen. -To learn more about customizing the synchronization behavior, see [Customizable Synchronization](/refguide/mobile/building-efficient-mobile-apps/offlinefirst-data/synchronization/#customizable-synchronization). +To learn more about customizing the synchronization behavior, see [Customizable Synchronization](/refguide10/mobile/building-efficient-mobile-apps/offlinefirst-data/synchronization/#customizable-synchronization). ### Using Non-Persistable Entities @@ -45,7 +45,7 @@ The app keeps the non-persistable objects only in the memory and removes them wh Suppose you have to store sensitive data on a device and cannot control the operating system your app is running on. In that case, you should enable database encryption for your app. This ensures that all data in the local database is encrypted before storing it on the device. Note that encryption will impact your app's performance. Full synchronization of all clients is required to enable it. -To learn more, see [Encrypting Local Databases](/refguide/mobile/building-efficient-mobile-apps/offlinefirst-data/local-data-security/#encrypting-local-databases) +To learn more, see [Encrypting Local Databases](/refguide10/mobile/building-efficient-mobile-apps/offlinefirst-data/local-data-security/#encrypting-local-databases) ### Encrypting User Files and Images {#encrypting-files-images} @@ -79,7 +79,7 @@ Encrypting the existing database is not possible. Therefore, the Mendix Client n Enabling database encryption and deploying a new version of the Mendix app to the cloud does not affect the existing devices. This setting takes effect once users update their apps, either through OTA or an app update. After the app is updated on the device, it will sign out the current user and start with an empty database. This step may cause unsynchronized data to be lost. -Consider the [prerequisites above](/refguide/mobile/building-efficient-mobile-apps/offlinefirst-data/local-data-security/#encryption-prerequisites) before enabling database encryption, especially for existing apps +Consider the [prerequisites above](/refguide10/mobile/building-efficient-mobile-apps/offlinefirst-data/local-data-security/#encryption-prerequisites) before enabling database encryption, especially for existing apps ### Disabling Database Encryption diff --git a/content/en/docs/refguide10/mobile/building-efficient-mobile-apps/offlinefirst-data/online-sync-mode.md b/content/en/docs/refguide10/mobile/building-efficient-mobile-apps/offlinefirst-data/online-sync-mode.md index 56d57bc9107..8acf5d91a51 100644 --- a/content/en/docs/refguide10/mobile/building-efficient-mobile-apps/offlinefirst-data/online-sync-mode.md +++ b/content/en/docs/refguide10/mobile/building-efficient-mobile-apps/offlinefirst-data/online-sync-mode.md @@ -1,13 +1,13 @@ --- title: "Online Synchronization Mode" -url: /refguide/mobile/building-efficient-mobile-apps/offlinefirst-data/online-sync-mode/ +url: /refguide10/mobile/building-efficient-mobile-apps/offlinefirst-data/online-sync-mode/ description: "Describes the online sync mode, which allows entities to be used in offline navigation profiles without requiring data. synchronization" no_list: false description_list: true weight: 20 beta: true aliases: - - /refguide/mobile/using-mobile-capabilities/offlinefirst-data/online-sync-mode/ + - /refguide10/mobile/using-mobile-capabilities/offlinefirst-data/online-sync-mode/ --- ## Introduction @@ -30,7 +30,7 @@ It requires to be explicitly enabled via the "Edit" menu -> "Preferences" item - Do the following to properly configure entities: -1. Go to the [Navigation](/refguide/navigation/) tree item Studio Pro's App Explorer. +1. Go to the [Navigation](/refguide10/navigation/) tree item Studio Pro's App Explorer. 1. Go to the offline navigation profile on which you want to enable the online synchronization mode. This can be the **Native mobile (tablet & phone)**, or the **Response web offline** profile. 1. In that tab, click **Configure synchronization**. diff --git a/content/en/docs/refguide10/mobile/building-efficient-mobile-apps/offlinefirst-data/synchronization.md b/content/en/docs/refguide10/mobile/building-efficient-mobile-apps/offlinefirst-data/synchronization.md index 3b3103dc695..e48d7a0a8ba 100644 --- a/content/en/docs/refguide10/mobile/building-efficient-mobile-apps/offlinefirst-data/synchronization.md +++ b/content/en/docs/refguide10/mobile/building-efficient-mobile-apps/offlinefirst-data/synchronization.md @@ -1,10 +1,10 @@ --- title: "Offline Synchronization" -url: /refguide/mobile/building-efficient-mobile-apps/offlinefirst-data/synchronization/ +url: /refguide10/mobile/building-efficient-mobile-apps/offlinefirst-data/synchronization/ weight: 20 description: "Describes how and when synchronization occurs, and how to resolve sync errors." aliases: - - /refguide/mobile/using-mobile-capabilities/offlinefirst-data/synchronization/ + - /refguide10/mobile/using-mobile-capabilities/offlinefirst-data/synchronization/ --- ## Introduction @@ -48,7 +48,7 @@ This type of synchronization can only be done through a **Synchronize** action i #### Selective Synchronization {#selective-sync} -Selective synchronization can only be done through a **Synchronize** action inside a nanoflow. In this mode, a specific set of objects will be synchronized. These objects can be either all unsynchronized objects when the [synchronize unsynchronized objects](/refguide/synchronize/#unsynchronized-objects) mode is selected, or a manually selected set of objects when the [synchronize selected object (or objects)](/refguide/synchronize/#selected-objects) mode is selected. +Selective synchronization can only be done through a **Synchronize** action inside a nanoflow. In this mode, a specific set of objects will be synchronized. These objects can be either all unsynchronized objects when the [synchronize unsynchronized objects](/refguide10/synchronize/#unsynchronized-objects) mode is selected, or a manually selected set of objects when the [synchronize selected object (or objects)](/refguide10/synchronize/#selected-objects) mode is selected. Deleted objects cannot be synchronized using selective synchronization. @@ -100,10 +100,10 @@ By default, Mendix automatically determines which objects need to be synchronize Depending on the use-case, more fine-grained synchronization controls might be required. Therefore, it is possible to change the synchronization mode for an entity. You can choose between the following options: * **All Objects** – Download all objects applying the regular security constraints. -* **By XPath** – Only download the objects which match the [XPath Constraints](/refguide/xpath-constraints/) in addition to the regular security constraints. This means all previously synchronized objects that do not match the XPath constraint will be removed. +* **By XPath** – Only download the objects which match the [XPath Constraints](/refguide10/xpath-constraints/) in addition to the regular security constraints. This means all previously synchronized objects that do not match the XPath constraint will be removed. * **Nothing (clear data)** – Do not download any objects automatically, but do clear the data stored in the database for this entity when performing a synchronization (this can be useful in cases where the objects should only be uploaded, for example a `Feedback` entity). -* **Nothing (preserve data)** – Do not download any objects automatically, and do not clear the data stored in the database for this entity when performing a synchronization (this can be useful in cases where you want have full control over the synchronization and should be used in combination with the [Synchronize to device](/refguide/synchronize-to-device/) or [Synchronize](/refguide/synchronize/) activity with specific objects selected). -* **Never** – When an entity is set to `Never`, its objects will not be synchronized between the runtime and the offline database during a Startup Synchronization, [Synchronize all Objects](/refguide/synchronize/#all-objects), or [Synchronize Unsynchronized Objects](/refguide/synchronize/#unsynchronized-objects). Alternatively, the objects can still be synchronized using [Synchronize to device](/refguide/synchronize-to-device/) or [Synchronize selected object (or objects)](/refguide/synchronize/#selected-objects), but you will be in control when and what is synchronized. +* **Nothing (preserve data)** – Do not download any objects automatically, and do not clear the data stored in the database for this entity when performing a synchronization (this can be useful in cases where you want have full control over the synchronization and should be used in combination with the [Synchronize to device](/refguide10/synchronize-to-device/) or [Synchronize](/refguide10/synchronize/) activity with specific objects selected). +* **Never** – When an entity is set to `Never`, its objects will not be synchronized between the runtime and the offline database during a Startup Synchronization, [Synchronize all Objects](/refguide10/synchronize/#all-objects), or [Synchronize Unsynchronized Objects](/refguide10/synchronize/#unsynchronized-objects). Alternatively, the objects can still be synchronized using [Synchronize to device](/refguide10/synchronize-to-device/) or [Synchronize selected object (or objects)](/refguide10/synchronize/#selected-objects), but you will be in control when and what is synchronized. If you have custom widgets or JavaScript actions which use an entity that cannot be detected by Studio Pro in your offline-first profile (because its only used in the code), you can use customizable synchronization to include such entities. @@ -115,7 +115,7 @@ For each entity the **Synchronization mode** is shown. A default is automaticall Please be aware of the following limitation affecting synchronization: -* Running multiple synchronization processes at the same time is not supported, regardless the of the type (**full** or **selective**). For more information, see the [Limitations](/refguide/synchronize/#limitations) section of the *Synchronize Guide*. +* Running multiple synchronization processes at the same time is not supported, regardless the of the type (**full** or **selective**). For more information, see the [Limitations](/refguide10/synchronize/#limitations) section of the *Synchronize Guide*. * An entity configured with the **Never** synchronization mode is not allowed to be associated with either of the following: * An entity that is not used in offline. * An entity that is configured with a synchronization mode other than **Never**. @@ -123,7 +123,7 @@ Please be aware of the following limitation affecting synchronization: * An entity configured with **Never** synchronization mode is not allowed to have generalization from either of the following: * An entity that is not used in offline. * An entity that is configured with a synchronization mode other than **Never**. -* Deleted objects configured with **Never** will be ignored during Startup Synchronization, [Synchronize all Objects](/refguide/synchronize/#all-objects), or [Synchronize Unsynchronized Objects](/refguide/synchronize/#unsynchronized-objects). +* Deleted objects configured with **Never** will be ignored during Startup Synchronization, [Synchronize all Objects](/refguide10/synchronize/#all-objects), or [Synchronize Unsynchronized Objects](/refguide10/synchronize/#unsynchronized-objects). * If the offline database is reset (for example, because of a domain model change), all offline objects of entities configured with **Never** will be removed. To avoid data loss, only use the synchronization mode **Never** for objects you can recreate. ### Error Handling {#error-handling} diff --git a/content/en/docs/refguide10/mobile/designing-mobile-user-interfaces/_index.md b/content/en/docs/refguide10/mobile/designing-mobile-user-interfaces/_index.md index 6d527d18ccc..f4bd9d10595 100644 --- a/content/en/docs/refguide10/mobile/designing-mobile-user-interfaces/_index.md +++ b/content/en/docs/refguide10/mobile/designing-mobile-user-interfaces/_index.md @@ -1,6 +1,6 @@ --- title: "Designing Mobile User Interfaces" -url: /refguide/mobile/designing-mobile-user-interfaces/ +url: /refguide10/mobile/designing-mobile-user-interfaces/ weight: 30 description: "These documents explain best practices for designing mobile UI with Mendix." --- @@ -15,8 +15,8 @@ Mobile applications have unique properties that must be taken into consideration These documents guide you through the process of shaping great mobile user experiences both from a design and an implementation perspective: -* [Design Principles](/refguide/mobile/designing-mobile-user-interfaces/design-principles/) – This guide teaches you how to build a native mobile app's UI. -* [Navigation In Native Mobile Apps](/refguide/mobile/designing-mobile-user-interfaces/navigation/) – This guide gives general information for native navigation in Mendix test. -* [Images, Icons, and Fonts](/refguide/mobile/designing-mobile-user-interfaces/images-icons-and-fonts/) – This guide helps you enrich your native mobile app's design with images and custom fonts. -* [Native Styling](/refguide/mobile/designing-mobile-user-interfaces/native-styling/) – This guide gives general information for native styling in Mendix. -* [Widget Styling Guide](/refguide/mobile/designing-mobile-user-interfaces/widget-styling-guide/) – This guide contextualizes the style elements Mendix uses in native mobile apps and explains the classes and style properties of Mendix’s widgets. +* [Design Principles](/refguide10/mobile/designing-mobile-user-interfaces/design-principles/) – This guide teaches you how to build a native mobile app's UI. +* [Navigation In Native Mobile Apps](/refguide10/mobile/designing-mobile-user-interfaces/navigation/) – This guide gives general information for native navigation in Mendix test. +* [Images, Icons, and Fonts](/refguide10/mobile/designing-mobile-user-interfaces/images-icons-and-fonts/) – This guide helps you enrich your native mobile app's design with images and custom fonts. +* [Native Styling](/refguide10/mobile/designing-mobile-user-interfaces/native-styling/) – This guide gives general information for native styling in Mendix. +* [Widget Styling Guide](/refguide10/mobile/designing-mobile-user-interfaces/widget-styling-guide/) – This guide contextualizes the style elements Mendix uses in native mobile apps and explains the classes and style properties of Mendix’s widgets. diff --git a/content/en/docs/refguide10/mobile/designing-mobile-user-interfaces/design-principles.md b/content/en/docs/refguide10/mobile/designing-mobile-user-interfaces/design-principles.md index 7d048b051f5..75451a5b1f3 100644 --- a/content/en/docs/refguide10/mobile/designing-mobile-user-interfaces/design-principles.md +++ b/content/en/docs/refguide10/mobile/designing-mobile-user-interfaces/design-principles.md @@ -1,6 +1,6 @@ --- title: "Design Principles" -url: /refguide/mobile/designing-mobile-user-interfaces/design-principles/ +url: /refguide10/mobile/designing-mobile-user-interfaces/design-principles/ weight: 10 description: "This document teaches you how to build a native mobile app's UI." aliases: @@ -134,5 +134,5 @@ It is a common pitfall to keep adding classes to a single file. However, this wi ## Read More -* [Native Mobile Styling Guide](/refguide/native-styling-refguide/) -* [How to Style Your Mendix Native Mobile App](/refguide/mobile/designing-mobile-user-interfaces/native-styling/) +* [Native Mobile Styling Guide](/refguide10/native-styling-refguide/) +* [How to Style Your Mendix Native Mobile App](/refguide10/mobile/designing-mobile-user-interfaces/native-styling/) diff --git a/content/en/docs/refguide10/mobile/designing-mobile-user-interfaces/images-icons-and-fonts.md b/content/en/docs/refguide10/mobile/designing-mobile-user-interfaces/images-icons-and-fonts.md index 37eca62a97f..5ceb39a7313 100644 --- a/content/en/docs/refguide10/mobile/designing-mobile-user-interfaces/images-icons-and-fonts.md +++ b/content/en/docs/refguide10/mobile/designing-mobile-user-interfaces/images-icons-and-fonts.md @@ -1,10 +1,10 @@ --- title: "Images, Icons, and Fonts" -url: /refguide/mobile/designing-mobile-user-interfaces/images-icons-and-fonts/ +url: /refguide10/mobile/designing-mobile-user-interfaces/images-icons-and-fonts/ weight: 30 description: "This tutorial teaches you how to enrich the design of your native mobile app with images and custom fonts." aliases: - - /refguide/native-svg/ + - /refguide10/native-svg/ - /howto/mobile/native-custom-fonts/ --- @@ -63,7 +63,7 @@ You can check the list of allowed style properties at the [react-native-svg](htt #### Coloring SVG Icons -Icons can only be set for buttons and bottom bar items. When you integrate an SVG icon into a button or bottom bar item, you will have to set the SVG's color yourself. When using an app which employs Atlas UI, by default the colors are all white. For more information on styling, see the [Native Mobile Styling Guide](/refguide/native-styling-refguide/). +Icons can only be set for buttons and bottom bar items. When you integrate an SVG icon into a button or bottom bar item, you will have to set the SVG's color yourself. When using an app which employs Atlas UI, by default the colors are all white. For more information on styling, see the [Native Mobile Styling Guide](/refguide10/native-styling-refguide/). For example, the following code: @@ -235,7 +235,7 @@ To use the new fonts to style your content, follow these instructions: {{< figure src="/attachments/howto/mobile/native-mobile/implementation/native-custom-fonts/advanced-fonts4.png" alt="Custom fonts screen code snippet" width="400" class="no-border" >}} -1. Open your styles *js* file and paste the snippet there. For this example, the *custom-variables.js* file is being used. For more information on styling your app, see [Native Styling](/refguide/mobile/designing-mobile-user-interfaces/native-styling/): +1. Open your styles *js* file and paste the snippet there. For this example, the *custom-variables.js* file is being used. For more information on styling your app, see [Native Styling](/refguide10/mobile/designing-mobile-user-interfaces/native-styling/): {{< figure src="/attachments/howto/mobile/native-mobile/implementation/native-custom-fonts/custom-variables.png" alt="Custom variables file" width="400" class="no-border" >}} diff --git a/content/en/docs/refguide10/mobile/designing-mobile-user-interfaces/native-styling-element-guide.md b/content/en/docs/refguide10/mobile/designing-mobile-user-interfaces/native-styling-element-guide.md index 22d01158276..7b06f4cc9e0 100644 --- a/content/en/docs/refguide10/mobile/designing-mobile-user-interfaces/native-styling-element-guide.md +++ b/content/en/docs/refguide10/mobile/designing-mobile-user-interfaces/native-styling-element-guide.md @@ -1,17 +1,17 @@ --- title: "Widget Styling Guide" -url: /refguide/mobile/designing-mobile-user-interfaces/widget-styling-guide/ +url: /refguide10/mobile/designing-mobile-user-interfaces/widget-styling-guide/ weight: 45 description: "This guide will contextualize the style elements Mendix uses in native mobile apps, as well as explain the classes and style properties of Mendix’s widgets." aliases: - - /refguide/native-styling-refguide/ + - /refguide10/native-styling-refguide/ --- ## Introduction {#native-mobile-styling} -This guide will contextualize the style elements Mendix uses in native mobile apps, as well as explain the classes and style properties of Mendix’s widgets. To learn the basics of native styling, you can consult [Designing Mobile User Interfaces](/refguide/mobile/designing-mobile-user-interfaces/). +This guide will contextualize the style elements Mendix uses in native mobile apps, as well as explain the classes and style properties of Mendix’s widgets. To learn the basics of native styling, you can consult [Designing Mobile User Interfaces](/refguide10/mobile/designing-mobile-user-interfaces/). -Mendix apps use layouts to dictate how pages can look and function. For native mobile apps specifically, you can use a native layout to easily integrate navigation and settings optimized for native functionality. For more information on layouts, see [Layout](/refguide/layout/). +Mendix apps use layouts to dictate how pages can look and function. For native mobile apps specifically, you can use a native layout to easily integrate navigation and settings optimized for native functionality. For more information on layouts, see [Layout](/refguide10/layout/). To keep widgets responsive, Mendix apps use Flexbox. Using Flexbox, a component can set the layout of its child components. This allows your app to retain a consistent layout across multiple form factors. For more information on layout, see React Native’s [Flexbox documentation](https://reactnative.dev/docs/flexbox). @@ -74,7 +74,7 @@ export const com_mendix_widget_native_badge_Badge = (Badge = { }); ``` -For more information on creating your own classes, see the [Creating Your Own Classes](/refguide/mobile/designing-mobile-user-interfaces/native-styling/#creating-your-own-classes) section in *Style Your Mendix Native Mobile App*. That document also shows how to use custom classes as design properties. +For more information on creating your own classes, see the [Creating Your Own Classes](/refguide10/mobile/designing-mobile-user-interfaces/native-styling/#creating-your-own-classes) section in *Style Your Mendix Native Mobile App*. That document also shows how to use custom classes as design properties. ## Data Containers {#understanding-data-widgets} @@ -82,11 +82,11 @@ Data containers are essential to many Mendix apps. These widgets will allow your ### Data View Widget -The data view widget shows the contents of one data object. For more information about this widget, see [Data View](/refguide/data-view/).This widget has no user interface, so it does not support any styling. +The data view widget shows the contents of one data object. For more information about this widget, see [Data View](/refguide10/data-view/).This widget has no user interface, so it does not support any styling. ### List View Widget {#list-view} -The list view shows a list of objects arranged vertically or horizontally. For more information about this widget, see [List View](/refguide/list-view/). This is not the default list view, but how a list view widget could look in an app: +The list view shows a list of objects arranged vertically or horizontally. For more information about this widget, see [List View](/refguide10/list-view/). This is not the default list view, but how a list view widget could look in an app: {{< figure src="/attachments/refguide10/mobile/native-mobile/native-styling-refguide/list-view.png" alt="list view" width="350" class="no-border" >}} @@ -126,7 +126,7 @@ Text widgets are used in almost all app pages. Because of their ubiquity, learni ### Text -The text widget shows text which can optionally contain parameters. For more information on these widgets, see [Text Widgets](/refguide/text/). +The text widget shows text which can optionally contain parameters. For more information on these widgets, see [Text Widgets](/refguide10/text/). ```javascript export const Text = { @@ -150,7 +150,7 @@ The default class to style all texts is named `Text`. ### Page Title -The page title widget shows the title of the page on which it is used. This can be the title defined on the page itself, or the override title defined when showing a page. For more information on this widget, consult [Page Title](/refguide/page-title/). +The page title widget shows the title of the page on which it is used. This can be the title defined on the page itself, or the override title defined when showing a page. For more information on this widget, consult [Page Title](/refguide10/page-title/). ```javascript export const PageTitle = { @@ -174,7 +174,7 @@ The default class to style all page titles is named `PageTitle`. ## Structure Widgets -Structure widgets are a set of tools that allow you to provide structure for your page’s content. There is also a specific widget called container widget detailed below. For more information on these widgets, see [Structure](/refguide/structure-widgets/). +Structure widgets are a set of tools that allow you to provide structure for your page’s content. There is also a specific widget called container widget detailed below. For more information on these widgets, see [Structure](/refguide10/structure-widgets/). ### Layout Grid @@ -296,7 +296,7 @@ The default class to style all scroll containers is named `ScrollContainer`. ## Input Elements -Input elements are typically used to show data to the user and allow them to edit data. For more information on these widgets, see [Input Elements](/refguide/input-widgets/). +Input elements are typically used to show data to the user and allow them to edit data. For more information on these widgets, see [Input Elements](/refguide10/input-widgets/). ### Text Box {#text-box} @@ -633,13 +633,13 @@ The default class to style all date picker inputs is named `DatePicker`. ### Reference selector -The reference selector is an input widget that can be used to display and edit associations. For more information on this widget, see [Reference Selector](/refguide/reference-selector/). This widget supports the same style properties and structure as the [drop-down](#drop-down) widget above. +The reference selector is an input widget that can be used to display and edit associations. For more information on this widget, see [Reference Selector](/refguide10/reference-selector/). This widget supports the same style properties and structure as the [drop-down](#drop-down) widget above. The default class to style all reference selector inputs is named `ReferenceSelector`. ## Images, Videos, and Files -Images, videos, and files help your user app manage images and other files. For more information on these widgets, see [Images, Videos, and Files](/refguide/image-and-file-widgets/). +Images, videos, and files help your user app manage images and other files. For more information on these widgets, see [Images, Videos, and Files](/refguide10/image-and-file-widgets/). ### Image (#new-image) @@ -667,7 +667,7 @@ export const com_mendix_widget_native_image_Image = { ### Static Image {#image} -The static image widget can be used to show a predefined image on a page, layout, or snippet. For more information on this widgets, see [Static Image](/refguide/image/). +The static image widget can be used to show a predefined image on a page, layout, or snippet. For more information on this widgets, see [Static Image](/refguide10/image/). ```javascript export const Image = { @@ -707,7 +707,7 @@ The default class to style all dynamic images is named `NativeDynamicImage`. ## Buttons -Buttons help your user perform actions. For more information about these widgets, see [Buttons](/refguide/button-widgets/). +Buttons help your user perform actions. For more information about these widgets, see [Buttons](/refguide10/button-widgets/). ### Action Button @@ -2486,5 +2486,5 @@ The default class to style all gallery text filter widgets is named `com_mendix_ ## Read More -* [Native Styling](/refguide/mobile/designing-mobile-user-interfaces/native-styling/) +* [Native Styling](/refguide10/mobile/designing-mobile-user-interfaces/native-styling/) * [Design Properties Documentation](/apidocs-mxsdk/apidocs/design-properties/) diff --git a/content/en/docs/refguide10/mobile/designing-mobile-user-interfaces/native-styling.md b/content/en/docs/refguide10/mobile/designing-mobile-user-interfaces/native-styling.md index 6f882964523..6e2fe8a9830 100644 --- a/content/en/docs/refguide10/mobile/designing-mobile-user-interfaces/native-styling.md +++ b/content/en/docs/refguide10/mobile/designing-mobile-user-interfaces/native-styling.md @@ -1,6 +1,6 @@ --- title: "Native Styling" -url: /refguide/mobile/designing-mobile-user-interfaces/native-styling/ +url: /refguide10/mobile/designing-mobile-user-interfaces/native-styling/ weight: 40 description: "General information for native styling in Mendix." aliases: @@ -52,13 +52,13 @@ Design properties are an easier way to apply classes. Atlas already offers sever ## Using Native Styling {#using-styling} -You have the capacity to alter design properties with Mendix Studio Pro. Furthermore, because all native mobile styling is written in JavaScript, you have new ways of applying your styling customizations. For more details on native styling, class names, and widget styling, see the [Widget Styling Guide](/refguide/mobile/designing-mobile-user-interfaces/widget-styling-guide/). +You have the capacity to alter design properties with Mendix Studio Pro. Furthermore, because all native mobile styling is written in JavaScript, you have new ways of applying your styling customizations. For more details on native styling, class names, and widget styling, see the [Widget Styling Guide](/refguide10/mobile/designing-mobile-user-interfaces/widget-styling-guide/). ### Prerequisites * Install an integrated development environment (IDE) of your choice (Mendix recommends [Microsoft Visual Studio Code](https://code.visualstudio.com/)) -* Create a Mendix app based on the Blank Native Mobile App template by following the [Creating a New App Based on the Quickstarter App](/refguide/mobile/getting-started-with-mobile/#quickstartapp) section of *Get Started with Native Mobile* -* Download the Make It Native App on your mobile device. Depending on the Mendix version your app is developed in and the device you want to run on, you need a different Make It Native app. For more information on how to download the correct version, see the [Getting the Make It Native App](/refguide/mobile/getting-started-with-mobile/prerequisites/#get-min-app) section in *Native App Prerequisites and Troubleshooting*. +* Create a Mendix app based on the Blank Native Mobile App template by following the [Creating a New App Based on the Quickstarter App](/refguide10/mobile/getting-started-with-mobile/#quickstartapp) section of *Get Started with Native Mobile* +* Download the Make It Native App on your mobile device. Depending on the Mendix version your app is developed in and the device you want to run on, you need a different Make It Native app. For more information on how to download the correct version, see the [Getting the Make It Native App](/refguide10/mobile/getting-started-with-mobile/prerequisites/#get-min-app) section in *Native App Prerequisites and Troubleshooting*. ### Customizing the Quickstarter App @@ -153,7 +153,7 @@ When you have specific design requirements, you will need to build custom classe } ``` - To alter a class on your own, consult the [Native Mobile Styling Guide](/refguide/native-styling-refguide/) to understand widget structures. + To alter a class on your own, consult the [Native Mobile Styling Guide](/refguide10/native-styling-refguide/) to understand widget structures. 6. Now you will edit the code you pasted. Apply a transparent background color to customize the default button widget: diff --git a/content/en/docs/refguide10/mobile/designing-mobile-user-interfaces/navigation.md b/content/en/docs/refguide10/mobile/designing-mobile-user-interfaces/navigation.md index 75d6b28dda9..2bd0b8f1358 100644 --- a/content/en/docs/refguide10/mobile/designing-mobile-user-interfaces/navigation.md +++ b/content/en/docs/refguide10/mobile/designing-mobile-user-interfaces/navigation.md @@ -1,11 +1,11 @@ --- title: "Navigation In Native Mobile Apps" linktitle: "Navigation" -url: /refguide/mobile/designing-mobile-user-interfaces/navigation/ +url: /refguide10/mobile/designing-mobile-user-interfaces/navigation/ weight: 20 description: "General information for native navigation in Mendix." aliases: - - /refguide/native-navigation/ + - /refguide10/native-navigation/ --- ## Introduction @@ -134,7 +134,7 @@ In addition, you can configure the Open page action to **Clear history** when na In order to add more flexibility and customization to mobile apps, Mendix offers different options for how an app's opening screen or popup animation can look. -You can find and customize these options in [Navigation Profile](/refguide/navigation/): +You can find and customize these options in [Navigation Profile](/refguide10/navigation/): {{< figure src="/attachments/refguide10/mobile/native-mobile/native-navigation/navigationtransition.png" >}} @@ -176,10 +176,10 @@ The Open page action's **Clear history** option can be used to model out complex ## Customization -Out of the box, the bottom bar and top bar have a default styling. To change this styling, see the [Pages](/refguide/mobile/designing-mobile-user-interfaces/widget-styling-guide/#pages) section of the *Widget Styling Guide*. However, if you want to further customize the styling to match your design, you can create pluggable widgets to replace some of the default navigation components. For more information, see the [Pluggable Widgets API Documentation](/apidocs-mxsdk/apidocs/pluggable-widgets/) +Out of the box, the bottom bar and top bar have a default styling. To change this styling, see the [Pages](/refguide10/mobile/designing-mobile-user-interfaces/widget-styling-guide/#pages) section of the *Widget Styling Guide*. However, if you want to further customize the styling to match your design, you can create pluggable widgets to replace some of the default navigation components. For more information, see the [Pluggable Widgets API Documentation](/apidocs-mxsdk/apidocs/pluggable-widgets/) ## Read More -* [Show Page Guide](/refguide/show-page/) -* [Close Page Guide](/refguide/close-page/) -* [Navigation Widget](/refguide/mobile/designing-mobile-user-interfaces/widget-styling-guide/#navigation-widget) section of the *Widget Styling Guide* +* [Show Page Guide](/refguide10/show-page/) +* [Close Page Guide](/refguide10/close-page/) +* [Navigation Widget](/refguide10/mobile/designing-mobile-user-interfaces/widget-styling-guide/#navigation-widget) section of the *Widget Styling Guide* diff --git a/content/en/docs/refguide10/mobile/distributing-mobile-apps/_index.md b/content/en/docs/refguide10/mobile/distributing-mobile-apps/_index.md index c7b3570b374..92af1423b7c 100644 --- a/content/en/docs/refguide10/mobile/distributing-mobile-apps/_index.md +++ b/content/en/docs/refguide10/mobile/distributing-mobile-apps/_index.md @@ -1,7 +1,7 @@ --- title: "Building, Testing, and Distributing Apps" linktitle: "Build, Test, Distribute Apps" -url: /refguide/mobile/distributing-mobile-apps/ +url: /refguide10/mobile/distributing-mobile-apps/ weight: 50 description: "Distribute native mobile apps." aliases: @@ -12,9 +12,9 @@ aliases: Guides in this section will help you build, test and distribute mobile apps. While web-based applications, including Progressive Web Apps, can be distributed using our built-in publishing process, distributing a Native App requires a few additional steps. Therefore, the guides in this section focus on Native Apps. -* [Building Native Apps](/refguide/mobile/distributing-mobile-apps/building-native-apps/) – The first step to install a native app on a mobile device is to create an application package (IPA on iOS and APK on Android). -* [Distributing Native Apps](/refguide/mobile/distributing-mobile-apps/distributing-native-apps/) – To install an application package, it must be signed and submitted to the appropriate app stores (AppStore on iOS or PlayStore on Android) or installed via a mobile device management (MDM) solution. -* [Updating Native Apps](/refguide/mobile/distributing-mobile-apps/overtheair-updates/) – Native apps are normally updated by building and distributing the updated version. In some situations (mainly for smaller changes) these steps can be skipped with an over-the-air update. -* [Debugging Native Apps](/refguide/mobile/distributing-mobile-apps/native-debug/) – Web applications can be debugged directly in the web browser. For native apps, this is also possible but requires a few extra steps to set up. -* [Testing Native Apps](/refguide/mobile/distributing-mobile-apps/testing-mobile-apps/) – To test native apps, third-party software is required. This guide explains how to use Appium to test native apps. -* [Use MIN With Older Studio Pro Versions](/refguide/mobile/distributing-mobile-apps/use-min-older-sp/) – Detailed instructions on how to build a version of the Make it Native app compatible with your specific version of Mendix Studio Pro. +* [Building Native Apps](/refguide10/mobile/distributing-mobile-apps/building-native-apps/) – The first step to install a native app on a mobile device is to create an application package (IPA on iOS and APK on Android). +* [Distributing Native Apps](/refguide10/mobile/distributing-mobile-apps/distributing-native-apps/) – To install an application package, it must be signed and submitted to the appropriate app stores (AppStore on iOS or PlayStore on Android) or installed via a mobile device management (MDM) solution. +* [Updating Native Apps](/refguide10/mobile/distributing-mobile-apps/overtheair-updates/) – Native apps are normally updated by building and distributing the updated version. In some situations (mainly for smaller changes) these steps can be skipped with an over-the-air update. +* [Debugging Native Apps](/refguide10/mobile/distributing-mobile-apps/native-debug/) – Web applications can be debugged directly in the web browser. For native apps, this is also possible but requires a few extra steps to set up. +* [Testing Native Apps](/refguide10/mobile/distributing-mobile-apps/testing-mobile-apps/) – To test native apps, third-party software is required. This guide explains how to use Appium to test native apps. +* [Use MIN With Older Studio Pro Versions](/refguide10/mobile/distributing-mobile-apps/use-min-older-sp/) – Detailed instructions on how to build a version of the Make it Native app compatible with your specific version of Mendix Studio Pro. diff --git a/content/en/docs/refguide10/mobile/distributing-mobile-apps/building-native-apps/_index.md b/content/en/docs/refguide10/mobile/distributing-mobile-apps/building-native-apps/_index.md index 8c277104140..b59945dcd8e 100644 --- a/content/en/docs/refguide10/mobile/distributing-mobile-apps/building-native-apps/_index.md +++ b/content/en/docs/refguide10/mobile/distributing-mobile-apps/building-native-apps/_index.md @@ -1,6 +1,6 @@ --- title: "Building Native Apps" -url: /refguide/mobile/distributing-mobile-apps/building-native-apps/ +url: /refguide10/mobile/distributing-mobile-apps/building-native-apps/ weight: 20 description: Learn the different ways of building native apps in Mendix. aliases: @@ -15,22 +15,22 @@ Building native mobile apps can be challenging because mobile operating systems Many of these guides use the Mendix Native Mobile Builder UI tool included in Mendix Studio Pro 8.15 and above: -* [Build a Mendix Native App Locally](/refguide/mobile/distributing-mobile-apps/building-native-apps/native-build-locally/) – Follow this guide to build your apps locally using the Mendix Native Mobile Builder. -* [Build a Mendix Native App Locally Manually](/refguide/mobile/distributing-mobile-apps/building-native-apps/native-build-locally-manually/) – Follow this guide to build your apps locally and without an internet connection. +* [Build a Mendix Native App Locally](/refguide10/mobile/distributing-mobile-apps/building-native-apps/native-build-locally/) – Follow this guide to build your apps locally using the Mendix Native Mobile Builder. +* [Build a Mendix Native App Locally Manually](/refguide10/mobile/distributing-mobile-apps/building-native-apps/native-build-locally-manually/) – Follow this guide to build your apps locally and without an internet connection. {{% alert color="warning" %}} -Building mobile apps with App Center is deprecated and will be removed on March 30, 2025. Learn more about the new and improved ways to build mobile apps with Bitrise in [our documentation](/refguide/mobile/distributing-mobile-apps/building-native-apps/bitrise/). +Building mobile apps with App Center is deprecated and will be removed on March 30, 2025. Learn more about the new and improved ways to build mobile apps with Bitrise in [our documentation](/refguide10/mobile/distributing-mobile-apps/building-native-apps/bitrise/). {{% /alert %}} -* [Build a Mendix Native App in the Cloud](/refguide/mobile/distributing-mobile-apps/building-native-apps/deploying-native-app/) – Go from a blank slate to an app running on a device. -* [Create a Custom Developer App](/refguide/mobile/distributing-mobile-apps/building-native-apps/how-to-devapps/) – Create a custom developer app (a substitute for the Make It Native app) which accommodates custom dependencies such as native widgets or fonts. -* [Native Template](/refguide/mobile/distributing-mobile-apps/building-native-apps/native-template/) – The Native Template describes the native dependencies your app needs, and it includes two native apps (one for iOS and one for Android) that can be independently built to create the finished apps. -* [Build a Mendix Native App with Bitrise](/refguide/mobile/distributing-mobile-apps/building-native-apps/bitrise/) – This guide explains how to set up Bitrise to build a Mendix native mobile app. +* [Build a Mendix Native App in the Cloud](/refguide10/mobile/distributing-mobile-apps/building-native-apps/deploying-native-app/) – Go from a blank slate to an app running on a device. +* [Create a Custom Developer App](/refguide10/mobile/distributing-mobile-apps/building-native-apps/how-to-devapps/) – Create a custom developer app (a substitute for the Make It Native app) which accommodates custom dependencies such as native widgets or fonts. +* [Native Template](/refguide10/mobile/distributing-mobile-apps/building-native-apps/native-template/) – The Native Template describes the native dependencies your app needs, and it includes two native apps (one for iOS and one for Android) that can be independently built to create the finished apps. +* [Build a Mendix Native App with Bitrise](/refguide10/mobile/distributing-mobile-apps/building-native-apps/bitrise/) – This guide explains how to set up Bitrise to build a Mendix native mobile app. {{% alert color="info" %}} The React Native version used in Studio Pro versions 10.11-10.16 includes Bitcode, which is not longer supported by Xcode 16 and above. This means that native mobile iOS applications created by customers **cannot be submitted to the App Store**. -For more information and workarounds, see [Bitcode Deprecation](/refguide/mobile/introduction-to-mobile-technologies/native-mobile/#bitcode-deprecation). +For more information and workarounds, see [Bitcode Deprecation](/refguide10/mobile/introduction-to-mobile-technologies/native-mobile/#bitcode-deprecation). {{% /alert %}} {{% alert color="info" %}} -The Mendix Native Mobile Builder does not currently support connections behind proxy servers. Please make sure you are not behind a proxy server and that your security rules allow access to the required services. For more information, see the [Firewall Settings](/refguide/system-requirements/#firewall-settings) section of System Requirements. +The Mendix Native Mobile Builder does not currently support connections behind proxy servers. Please make sure you are not behind a proxy server and that your security rules allow access to the required services. For more information, see the [Firewall Settings](/refguide10/system-requirements/#firewall-settings) section of System Requirements. {{% /alert %}} diff --git a/content/en/docs/refguide10/mobile/distributing-mobile-apps/building-native-apps/bitrise.md b/content/en/docs/refguide10/mobile/distributing-mobile-apps/building-native-apps/bitrise.md index 93143da98f6..847fe98567d 100644 --- a/content/en/docs/refguide10/mobile/distributing-mobile-apps/building-native-apps/bitrise.md +++ b/content/en/docs/refguide10/mobile/distributing-mobile-apps/building-native-apps/bitrise.md @@ -1,6 +1,6 @@ --- title: "Build a Mendix Native App with Bitrise" -url: /refguide/mobile/distributing-mobile-apps/building-native-apps/bitrise/ +url: /refguide10/mobile/distributing-mobile-apps/building-native-apps/bitrise/ weight: 60 description: Describes how to integrate with Bitrise to build a Mendix native app in the cloud. --- @@ -12,7 +12,7 @@ This guide helps you set up [Bitrise](https://bitrise.io) to automate building a {{% alert color="info" %}} The React Native version used in Studio Pro versions 10.11-10.16 includes Bitcode, which is not longer supported by Xcode 16 and above. This means that native mobile iOS applications created by customers **cannot be submitted to the App Store**. -For more information and workarounds, see [Bitcode Deprecation](/refguide/mobile/introduction-to-mobile-technologies/native-mobile/#bitcode-deprecation). +For more information and workarounds, see [Bitcode Deprecation](/refguide10/mobile/introduction-to-mobile-technologies/native-mobile/#bitcode-deprecation). {{% /alert %}} ## Prerequisites {#prerequisites} @@ -24,7 +24,7 @@ Before starting this guide, make sure you have completed the following prerequis * Read the [Getting Starting guide from Bitrise](https://devcenter.bitrise.io/en/getting-started.html) and understand the key concepts of Bitrise * Have access to a Mendix application project with a native mobile profile as a developer * The Mendix application is deployed -* Have created the native template project for your app by following [Using Mendix Native Mobile Builder to Set Up Your Local App](/refguide/mobile/distributing-mobile-apps/building-native-apps/native-build-locally/#using-mendix-native-mobile-builder-to-set-up-your-local-app). Make sure to set the GitHub token to also create a GitHub repository. +* Have created the native template project for your app by following [Using Mendix Native Mobile Builder to Set Up Your Local App](/refguide10/mobile/distributing-mobile-apps/building-native-apps/native-build-locally/#using-mendix-native-mobile-builder-to-set-up-your-local-app). Make sure to set the GitHub token to also create a GitHub repository. * Fulfilled the prerequisites below for all operating systems you want to target: ### Prerequisites for iOS {#prerecs-ios} diff --git a/content/en/docs/refguide10/mobile/distributing-mobile-apps/building-native-apps/deploying-native-app.md b/content/en/docs/refguide10/mobile/distributing-mobile-apps/building-native-apps/deploying-native-app.md index 2e57d51fb5d..b70da53e76a 100644 --- a/content/en/docs/refguide10/mobile/distributing-mobile-apps/building-native-apps/deploying-native-app.md +++ b/content/en/docs/refguide10/mobile/distributing-mobile-apps/building-native-apps/deploying-native-app.md @@ -1,7 +1,7 @@ --- title: "Build a Mendix Native App in the Cloud" linktitle: "Deploy Mendix Native Mobile App" -url: /refguide/mobile/distributing-mobile-apps/building-native-apps/deploying-native-app/ +url: /refguide10/mobile/distributing-mobile-apps/building-native-apps/deploying-native-app/ weight: 30 description: Describes how to Build a Mendix native app in the cloud with the Mendix Native Mobile Builder. aliases: @@ -13,7 +13,7 @@ aliases: {{% alert color="warning" %}} Microsoft announced that Visual Studio App Center will be retired on March 31, 2025 ([Find the announcement here](https://learn.microsoft.com/en-us/appcenter/retirement)). This guide relies on App Center to build the Mendix native app in the cloud and will no longer work after that date. -If you are looking for a drop-in replacement of App Center, please consult the guide to [Build a Mendix Native App with Bitrise](/refguide/mobile/distributing-mobile-apps/building-native-apps/bitrise/) +If you are looking for a drop-in replacement of App Center, please consult the guide to [Build a Mendix Native App with Bitrise](/refguide10/mobile/distributing-mobile-apps/building-native-apps/bitrise/) {{% /alert %}} This guide teaches you how to go from a blank slate to an app running on a device. @@ -29,7 +29,7 @@ The Mendix Native Mobile Builder does not currently support connections behind p Before starting this guide, make sure you have completed the following prerequisites: * Install the [latest MTS version](/releasenotes/studio-pro/lts-mts/#mts) of Mendix Studio Pro using the online installer. The offline installer does not include the Mendix Native Mobile Builder dependency. -* Read [Get Started with Native Mobile](/refguide/mobile/getting-started-with-mobile/) to see how to create, style and debug an application with Mendix Studio Pro +* Read [Get Started with Native Mobile](/refguide10/mobile/getting-started-with-mobile/) to see how to create, style and debug an application with Mendix Studio Pro * Deploy your native mobile app to the cloud via Studio Pro and have the cloud address of your deployed application available * A [GitHub](https://github.com/) account. * An [App Center](https://appcenter.ms/) account. Mendix recommends a paid account if you will be building and deploying regularly. @@ -136,7 +136,7 @@ Next, do the following: ## Signing Your Apps {#signing-a-build} -By default, App Center builds are unsigned and cannot be released on the Google Play Store or the Apple App Store. To release your apps, you must provide your signature keys to Mendix Native Mobile Builder. Signature keys prove the authenticity of your app and prevent forgeries. For more information to how to acquire these keys, see the [Managing App Signing Keys Guide](/refguide/managing-app-signing-keys/). +By default, App Center builds are unsigned and cannot be released on the Google Play Store or the Apple App Store. To release your apps, you must provide your signature keys to Mendix Native Mobile Builder. Signature keys prove the authenticity of your app and prevent forgeries. For more information to how to acquire these keys, see the [Managing App Signing Keys Guide](/refguide10/managing-app-signing-keys/). ### Setting Up Signing for iOS {#signing-for-ios} @@ -248,4 +248,4 @@ A signed Android APK can be uploaded to Google Play store directly. For more inf ## Read More -* [Get Started with Native Mobile](/refguide/mobile/getting-started-with-mobile/) +* [Get Started with Native Mobile](/refguide10/mobile/getting-started-with-mobile/) diff --git a/content/en/docs/refguide10/mobile/distributing-mobile-apps/building-native-apps/how-to-devapps.md b/content/en/docs/refguide10/mobile/distributing-mobile-apps/building-native-apps/how-to-devapps.md index c349ab3d657..259d0a755b5 100644 --- a/content/en/docs/refguide10/mobile/distributing-mobile-apps/building-native-apps/how-to-devapps.md +++ b/content/en/docs/refguide10/mobile/distributing-mobile-apps/building-native-apps/how-to-devapps.md @@ -1,6 +1,6 @@ --- title: "Creating a Custom Developer App" -url: /refguide/mobile/distributing-mobile-apps/building-native-apps/how-to-devapps/ +url: /refguide10/mobile/distributing-mobile-apps/building-native-apps/how-to-devapps/ weight: 40 description: A tutorial for creating custom developer apps. aliases: @@ -15,8 +15,8 @@ A custom developer app helps you by serving as a replacement for the Make It Nat ## Prerequisites -* Complete [Get Started with Native Mobile](/refguide/mobile/getting-started-with-mobile/) -* Complete the Mendix Native Mobile Builder wizard as found in [Build a Mendix Native App Locally](/refguide/mobile/distributing-mobile-apps/building-native-apps/native-build-locally-manually/) +* Complete [Get Started with Native Mobile](/refguide10/mobile/getting-started-with-mobile/) +* Complete the Mendix Native Mobile Builder wizard as found in [Build a Mendix Native App Locally](/refguide10/mobile/distributing-mobile-apps/building-native-apps/native-build-locally-manually/) ## Building Your Developer App {#build-your-developer-app} @@ -76,7 +76,7 @@ There are various ways install an app on a device. Installing using a USB is det ### iOS -By default your custom developer app will be unsigned. To get a signed *IPA*, follow the steps in [Distributing Native Apps](/refguide/mobile/distributing-mobile-apps/distributing-native-apps/). Your custom developer app branch is named **developer**. +By default your custom developer app will be unsigned. To get a signed *IPA*, follow the steps in [Distributing Native Apps](/refguide10/mobile/distributing-mobile-apps/distributing-native-apps/). Your custom developer app branch is named **developer**. The unsigned output of an iOS build is an *XCArchive* file. *XCArchive* files require manual signing before they are ready to be installed on a device. diff --git a/content/en/docs/refguide10/mobile/distributing-mobile-apps/building-native-apps/native-build-locally-manually.md b/content/en/docs/refguide10/mobile/distributing-mobile-apps/building-native-apps/native-build-locally-manually.md index 449f2a86702..3847ac0a819 100644 --- a/content/en/docs/refguide10/mobile/distributing-mobile-apps/building-native-apps/native-build-locally-manually.md +++ b/content/en/docs/refguide10/mobile/distributing-mobile-apps/building-native-apps/native-build-locally-manually.md @@ -1,7 +1,7 @@ --- title: "Build a Mendix Native App Locally Manually" linktitle: "Native App Local Manual Build" -url: /refguide/mobile/distributing-mobile-apps/building-native-apps/native-build-locally-manually/ +url: /refguide10/mobile/distributing-mobile-apps/building-native-apps/native-build-locally-manually/ weight: 20 description: Describes how to build your first Mendix native mobile app locally, without using the Mendix Native Mobile Builder. aliases: @@ -103,7 +103,7 @@ Now that you have a copy of the Native Template checked out and ready, you can b Bundling is the process of packaging everything you created in Studio Pro and making that package ready to be compiled into your native mobile app. Bundling in the case of a React Native app, and hence a Mendix Native App, includes transpiling the business logic and layout of your app into a JavaScript bundle and gathering all your static resources into the correct folder structure. -For bundling your resources, Mendix Studio Pro comes with a helpful tool called [MxBuild](/refguide/mxbuild/). MxBuild can be found relatively to the location of the Studio Pro executable (for example *C:\Program Files\Mendix\Studio Pro (version)\mxbuild.exe*). +For bundling your resources, Mendix Studio Pro comes with a helpful tool called [MxBuild](/refguide10/mxbuild/). MxBuild can be found relatively to the location of the Studio Pro executable (for example *C:\Program Files\Mendix\Studio Pro (version)\mxbuild.exe*). 1. Run the following command: diff --git a/content/en/docs/refguide10/mobile/distributing-mobile-apps/building-native-apps/native-build-locally.md b/content/en/docs/refguide10/mobile/distributing-mobile-apps/building-native-apps/native-build-locally.md index 0eeef2d0a03..af6da0cf957 100644 --- a/content/en/docs/refguide10/mobile/distributing-mobile-apps/building-native-apps/native-build-locally.md +++ b/content/en/docs/refguide10/mobile/distributing-mobile-apps/building-native-apps/native-build-locally.md @@ -1,6 +1,6 @@ --- title: "Build a Mendix Native App Locally" -url: /refguide/mobile/distributing-mobile-apps/building-native-apps/native-build-locally/ +url: /refguide10/mobile/distributing-mobile-apps/building-native-apps/native-build-locally/ weight: 10 description: Describes how to build your first Mendix native mobile app locally using Mendix Native Mobile Builder. aliases: diff --git a/content/en/docs/refguide10/mobile/distributing-mobile-apps/building-native-apps/native-template.md b/content/en/docs/refguide10/mobile/distributing-mobile-apps/building-native-apps/native-template.md index 2a55620ce0f..74962856668 100644 --- a/content/en/docs/refguide10/mobile/distributing-mobile-apps/building-native-apps/native-template.md +++ b/content/en/docs/refguide10/mobile/distributing-mobile-apps/building-native-apps/native-template.md @@ -1,10 +1,10 @@ --- title: "Native Template" -url: /refguide/mobile/distributing-mobile-apps/building-native-apps/native-template +url: /refguide10/mobile/distributing-mobile-apps/building-native-apps/native-template weight: 50 description: Description of the native template. aliases: - - /refguide/native-template/ + - /refguide10/native-template/ --- ## Introduction @@ -13,7 +13,7 @@ A template is required when you build a Mendix native app: specifically the Nati The template also includes tooling to help put everything together. Specifically, the Native Template uses the React Native and Mendix auto-linking capabilities to link the native dependencies to platform-specific apps, and uses the Native Mobile toolkit which configures the platform-specific app with version numbers, app names, splash screens, and more. -In addition, the Native Template helps create custom developer apps. These are apps that act like the Make It Native app but are tailored your app's specific needs. If you would like to build an app that uses bespoke functionality like custom native widgets see [Create a Custom Developer App](/refguide/mobile/distributing-mobile-apps/building-native-apps/how-to-devapps/). +In addition, the Native Template helps create custom developer apps. These are apps that act like the Make It Native app but are tailored your app's specific needs. If you would like to build an app that uses bespoke functionality like custom native widgets see [Create a Custom Developer App](/refguide10/mobile/distributing-mobile-apps/building-native-apps/how-to-devapps/). ## Location @@ -580,7 +580,7 @@ native-mobile-toolkit configure --config-path='./.jso Mendix Native apps are based on React Native. When building your Mendix app using the Mendix Native Mobile Builder, your app is first compiled to JavaScript code and static assets. Using React Native's Metro Bundler, the client code and assets are then compiled to platform specific React Native Bundles. These are finally moved to the correct location in Native Template before compiling the final apps. -This whole process is unified using a tool called MxBuild that is included with every installation of Mendix Studio Pro. For more information, see the [MxBuild Reference Guide](/refguide/mxbuild/). +This whole process is unified using a tool called MxBuild that is included with every installation of Mendix Studio Pro. For more information, see the [MxBuild Reference Guide](/refguide10/mxbuild/). ### Using MxBuild to Build your Native App @@ -655,4 +655,4 @@ solutions, on premise or as a service, that can be used for this purpose. We do ## Read More -* [Offline First Guide](/refguide/offline-first/) +* [Offline First Guide](/refguide10/offline-first/) diff --git a/content/en/docs/refguide10/mobile/distributing-mobile-apps/distributing-native-apps.md b/content/en/docs/refguide10/mobile/distributing-mobile-apps/distributing-native-apps.md index a20e2c48810..5e7f9eee8e8 100644 --- a/content/en/docs/refguide10/mobile/distributing-mobile-apps/distributing-native-apps.md +++ b/content/en/docs/refguide10/mobile/distributing-mobile-apps/distributing-native-apps.md @@ -1,10 +1,10 @@ --- title: "Distributing Native Apps" -url: /refguide/mobile/distributing-mobile-apps/distributing-native-apps/ +url: /refguide10/mobile/distributing-mobile-apps/distributing-native-apps/ weight: 20 description: "This guide will help you distribute a mobile app to a mobile app store." aliases: - - /refguide/managing-app-signing-keys/ + - /refguide10/managing-app-signing-keys/ --- ## Introduction diff --git a/content/en/docs/refguide10/mobile/distributing-mobile-apps/native-debug.md b/content/en/docs/refguide10/mobile/distributing-mobile-apps/native-debug.md index 0ba3e67671b..a7732dd432e 100644 --- a/content/en/docs/refguide10/mobile/distributing-mobile-apps/native-debug.md +++ b/content/en/docs/refguide10/mobile/distributing-mobile-apps/native-debug.md @@ -1,6 +1,6 @@ --- title: "Debugging Native Apps" -url: /refguide/mobile/distributing-mobile-apps/native-debug/ +url: /refguide10/mobile/distributing-mobile-apps/native-debug/ weight: 40 description: "A guide for debugging native mobile apps using the Make It Native app." aliases: @@ -98,7 +98,7 @@ After running `react-devtools` you will see the React developer tools GUI. To us When your Mendix app is crashing or the logging in Mendix Studio Pro is incomplete, you might want to dive into your operating system's log files for information. There are two options: -1. You could start the app in [Xcode or Android Studio](/refguide/mobile/distributing-mobile-apps/building-native-apps/native-build-locally/#building-app-project), either of which will give you more information and allow you to set breakpoint and inspect variable values. This approach is a bit more cumbersome. +1. You could start the app in [Xcode or Android Studio](/refguide10/mobile/distributing-mobile-apps/building-native-apps/native-build-locally/#building-app-project), either of which will give you more information and allow you to set breakpoint and inspect variable values. This approach is a bit more cumbersome. 1. Get the log files directly from your device. The first approach is self-explanatory. For information on getting log files directly from your device, however, see below. diff --git a/content/en/docs/refguide10/mobile/distributing-mobile-apps/overtheair-updates.md b/content/en/docs/refguide10/mobile/distributing-mobile-apps/overtheair-updates.md index 9a46b26d6f4..ab6af2326ca 100644 --- a/content/en/docs/refguide10/mobile/distributing-mobile-apps/overtheair-updates.md +++ b/content/en/docs/refguide10/mobile/distributing-mobile-apps/overtheair-updates.md @@ -1,6 +1,6 @@ --- title: "Updating Native Apps" -url: /refguide/mobile/distributing-mobile-apps/overtheair-updates/ +url: /refguide10/mobile/distributing-mobile-apps/overtheair-updates/ weight: 30 description: "Describes enabling over the air updates using built-in functionality." aliases: @@ -48,9 +48,9 @@ With these shortcomings in mind, we developed a Mendix OTA update mechanism whic Before starting this guide, make sure you have completed the following prerequisites: * Use Mendix Studio Pro. -* Deploy your app by completing [Build a Mendix Native App Locally](/refguide/mobile/distributing-mobile-apps/building-native-apps/native-build-locally/). +* Deploy your app by completing [Build a Mendix Native App Locally](/refguide10/mobile/distributing-mobile-apps/building-native-apps/native-build-locally/). * Install your app on a test device or emulator. -* Read the [Offline-First](/refguide/offline-first/) guide. Understand this document before issuing OTA updates or releasing new versions. +* Read the [Offline-First](/refguide10/offline-first/) guide. Understand this document before issuing OTA updates or releasing new versions. ## When to Use OTA Updates{#when-to-use-ota} @@ -66,16 +66,16 @@ OTA updates are useful in the following app development cases: * Widgets added or removed * You added a new custom JavaScript-only widget or module * You added a page with no additional logic -* Non-destructive model changes (for more information, see [Offline-First](/refguide/offline-first/)) +* Non-destructive model changes (for more information, see [Offline-First](/refguide10/offline-first/)) ### When a Full Release Is Required If you have made any changes directly to your iOS or Android app, you will have to fully redeploy your app to the app stores for the changes to take effect. OTA updates do not suffice and a full release is required in the following cases: * The initial release of your app -* A Studio Pro version upgrade that requires a new [Native Template](/refguide/native-template/) version +* A Studio Pro version upgrade that requires a new [Native Template](/refguide10/native-template/) version * You fundamentally changed your app's functionality (this is an Apple App Store limitation, and will require a re-release and re-review of your app by Apple—your app might be removed if you do not comply) -* A new native module has been added (such as the [Native Mobile AR](https://marketplace.mendix.com/link/component/117209) module — for more information see [Modules](/refguide/modules/) +* A new native module has been added (such as the [Native Mobile AR](https://marketplace.mendix.com/link/component/117209) module — for more information see [Modules](/refguide10/modules/) * The app has been renamed * You added a new microflow or nanoflow * The app's launcher icons have been changed diff --git a/content/en/docs/refguide10/mobile/distributing-mobile-apps/testing-mobile-apps.md b/content/en/docs/refguide10/mobile/distributing-mobile-apps/testing-mobile-apps.md index 0c2f2208565..b7c06ddb8af 100644 --- a/content/en/docs/refguide10/mobile/distributing-mobile-apps/testing-mobile-apps.md +++ b/content/en/docs/refguide10/mobile/distributing-mobile-apps/testing-mobile-apps.md @@ -1,6 +1,6 @@ --- title: "Testing Native Apps" -url: /refguide/mobile/distributing-mobile-apps/testing-mobile-apps/ +url: /refguide10/mobile/distributing-mobile-apps/testing-mobile-apps/ weight: 50 description: This guide teaches you how to write end-to-end tests once and run them on both platforms using Appium. aliases: @@ -37,7 +37,7 @@ However, the default Appium Android driver (UIAutomator2) is unable to read the To set up Appium Desktop for native iOS testing, do the following: -1. Build a native iOS app for your Mendix app (see [Building Native Apps](/refguide/mobile/distributing-mobile-apps/building-native-apps/) for more information). +1. Build a native iOS app for your Mendix app (see [Building Native Apps](/refguide10/mobile/distributing-mobile-apps/building-native-apps/) for more information). 1. Build the WebDriverAgent project that is shipped with your Appium Desktop installation as described [here](https://appium.readthedocs.io/en/stable/en/advanced-concepts/wda-custom-server/). For Appium Desktop, the WDA project can be found in */Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-webdriveragent*. 1. Start Appium Desktop 1. Click **Start Server**. @@ -62,7 +62,7 @@ To set up Appium Desktop for native iOS testing, do the following: To set up Appium Desktop for native Android testing, do the following: 1. Add the Espresso dependencies by following the setup instructions [here](https://developer.android.com/training/testing/espresso/setup). -1. Build a native Android app for your Mendix app (See [Building Native Apps](/refguide/mobile/distributing-mobile-apps/building-native-apps/) for more information). +1. Build a native Android app for your Mendix app (See [Building Native Apps](/refguide10/mobile/distributing-mobile-apps/building-native-apps/) for more information). 1. Start Appium Desktop. 1. Click **Start Server**. 1. On the new screen, click the **Start Inspector Session** magnifier image in the top-right. @@ -116,4 +116,4 @@ Once you have the capabilities you want that work with Appium Desktop, you can a ## Read More -* [Building, Testing, and Distributing Apps](/refguide/mobile/distributing-mobile-apps/) +* [Building, Testing, and Distributing Apps](/refguide10/mobile/distributing-mobile-apps/) diff --git a/content/en/docs/refguide10/mobile/distributing-mobile-apps/use-min-older-sp.md b/content/en/docs/refguide10/mobile/distributing-mobile-apps/use-min-older-sp.md index 52a6311e562..3ee7bf8479c 100644 --- a/content/en/docs/refguide10/mobile/distributing-mobile-apps/use-min-older-sp.md +++ b/content/en/docs/refguide10/mobile/distributing-mobile-apps/use-min-older-sp.md @@ -1,6 +1,6 @@ --- title: "Use MIN With Older Studio Pro Versions" -url: /refguide/mobile/distributing-mobile-apps/use-min-older-sp/ +url: /refguide10/mobile/distributing-mobile-apps/use-min-older-sp/ weight: 45 description: "This guide will help you build a MIN app compatible with a non-LTS Studio Pro version." --- diff --git a/content/en/docs/refguide10/mobile/getting-started-with-mobile/_index.md b/content/en/docs/refguide10/mobile/getting-started-with-mobile/_index.md index 9d110f7c3a4..dcbd88a3a14 100644 --- a/content/en/docs/refguide10/mobile/getting-started-with-mobile/_index.md +++ b/content/en/docs/refguide10/mobile/getting-started-with-mobile/_index.md @@ -1,6 +1,6 @@ --- title: "Getting Started with Mobile" -url: /refguide/mobile/getting-started-with-mobile/ +url: /refguide10/mobile/getting-started-with-mobile/ weight: 10 description: Create a native mobile Mendix app and view it on a mobile device using the Make It Native test app. aliases: @@ -26,11 +26,11 @@ The Blank Native Mobile App also includes six modules: Before starting this guide, make sure you have completed the following prerequisites: * Have a mobile device to test your native mobile app -* For information on device requirements, see [System Requirements](/refguide/system-requirements/) +* For information on device requirements, see [System Requirements](/refguide10/system-requirements/) * If you wish to use an emulator for Android mobile testing, install a product such as [Bluestacks](https://www.bluestacks.com/nl/index.html) or [Genymotion](https://www.genymotion.com/) (your emulator must have Google Play services supported) {{% alert color="warning" %}} -Android devices running MIUI (Xiaomi/Redmi devices) are not supported as Mendix test devices. They can run a production version of your Mendix app, but not the development version based on the [Make It Native App](/releasenotes/mobile/make-it-native-9/) or a [custom developer app](/refguide/mobile/distributing-mobile-apps/building-native-apps/how-to-devapps/). +Android devices running MIUI (Xiaomi/Redmi devices) are not supported as Mendix test devices. They can run a production version of your Mendix app, but not the development version based on the [Make It Native App](/releasenotes/mobile/make-it-native-9/) or a [custom developer app](/refguide10/mobile/distributing-mobile-apps/building-native-apps/how-to-devapps/). {{% /alert %}} ## Creating a New App Based on the Quickstarter App {#quickstartapp} @@ -52,7 +52,7 @@ At this point you have a running native mobile app. To view your app on a mobile ### Downloading and Installing the Make It Native App {#download-min} -Depending on the Mendix version your app is developed in and the device you want to run on, you need a different Make It Native app. For more information on how to download the correct version, see the [Getting the Make It Native App](/refguide/mobile/getting-started-with-mobile/prerequisites/#get-min-app) section in *Native App Prerequisites and Troubleshooting*. +Depending on the Mendix version your app is developed in and the device you want to run on, you need a different Make It Native app. For more information on how to download the correct version, see the [Getting the Make It Native App](/refguide10/mobile/getting-started-with-mobile/prerequisites/#get-min-app) section in *Native App Prerequisites and Troubleshooting*. ### Viewing Your App on Your Testing Device @@ -96,7 +96,7 @@ For more detailed instructions on debugging a native mobile app, see [Debug Nati ## Read More -* [Native App Prerequisites and Troubleshooting](/refguide/mobile/getting-started-with-mobile/prerequisites/) +* [Native App Prerequisites and Troubleshooting](/refguide10/mobile/getting-started-with-mobile/prerequisites/) * [How to Build Pluggable Widgets](/howto/extensibility/pluggable-widgets/) -* [Native Mobile Styling Guide](/refguide/native-styling-refguide/) +* [Native Mobile Styling Guide](/refguide10/native-styling-refguide/) * [How to Debug Native Mobile Apps (Advanced)](/howto/mobile/native-debug/) diff --git a/content/en/docs/refguide10/mobile/getting-started-with-mobile/prerequisites.md b/content/en/docs/refguide10/mobile/getting-started-with-mobile/prerequisites.md index 18a6333a641..ea5a71b2d8d 100644 --- a/content/en/docs/refguide10/mobile/getting-started-with-mobile/prerequisites.md +++ b/content/en/docs/refguide10/mobile/getting-started-with-mobile/prerequisites.md @@ -1,12 +1,12 @@ --- title: "Native App Prerequisites and Troubleshooting" linktitle: "Prerequisites and Troubleshooting" -url: /refguide/mobile/getting-started-with-mobile/prerequisites/ +url: /refguide10/mobile/getting-started-with-mobile/prerequisites/ weight: 10 description: Troubleshoot common issues associated with building and running native mobile apps. aliases: - - /refguide/mobile/distributing-mobile-apps/building-native-apps/how-to-min-versions/ - - /refguide/getting-the-make-it-native-app/ + - /refguide10/mobile/distributing-mobile-apps/building-native-apps/how-to-min-versions/ + - /refguide10/getting-the-make-it-native-app/ - /howto/mobile/common-issues/ --- @@ -28,11 +28,11 @@ There are no special requirements for developing, deploying, and accessing Progr Native mobile apps are not run in the device browser like web-based Mendix apps. Instead, a native app is built for each mobile operating system it should run on resulting in an APK or IPA file, which are then installed on the device. This introduces several special considerations: -* **Developer Preview**: When developing a native mobile app, a special app called [Make It Native](/refguide/mobile/getting-started-with-mobile/prerequisites/) is required to preview the app. It is not possible to preview it in the browser or directly in Studio Pro using Design Mode. +* **Developer Preview**: When developing a native mobile app, a special app called [Make It Native](/refguide10/mobile/getting-started-with-mobile/prerequisites/) is required to preview the app. It is not possible to preview it in the browser or directly in Studio Pro using Design Mode. * **Build Native App**: For building native apps, we provide a tool called Build Native App. This tool must be configured and run each time a new build is created. Build Native App is not supported on Studio Pro for Mac. Build Native App updates itself automatically by downloading new versions from AWS. * **Native Template**: Build Native App needs to download the Native Template from [GitHub](https://github.com/mendix/native-template). This template contains the React Native project that is used to build the native app for iOS and Android. * **Dependencies**: The Native Template makes use of several open-source projects, including React Native. These must be downloaded from several external services including npm, gradle, and Cocoapods. -* **Building**: Once prepared using Build Native App, the Native Template can be built for each target mobile operating system. Building can be done [locally](/refguide/mobile/distributing-mobile-apps/building-native-apps/native-build-locally/) by downloading the mobile operating system's IDE or [remotely](/refguide/mobile/distributing-mobile-apps/building-native-apps/deploying-native-app/) using a third-party continuous integration and delivery (CI/CD) platform. For building remotely, a [GitHub account](https://github.com/) and an [App Center account](https://appcenter.ms/) is required. +* **Building**: Once prepared using Build Native App, the Native Template can be built for each target mobile operating system. Building can be done [locally](/refguide10/mobile/distributing-mobile-apps/building-native-apps/native-build-locally/) by downloading the mobile operating system's IDE or [remotely](/refguide10/mobile/distributing-mobile-apps/building-native-apps/deploying-native-app/) using a third-party continuous integration and delivery (CI/CD) platform. For building remotely, a [GitHub account](https://github.com/) and an [App Center account](https://appcenter.ms/) is required. * **Deploying**: Most mobile devices refuse to install APK/IPA files without additional steps. At minimum, the file must be signed to identify its developer and prevent manipulation. Furthermore, for iOS and recent versions of Android, the app must be published via the official mobile operating system's store or a mobile device management (MDM) system. * **Connectivity**: When running a Mendix native mobile app, it must connect to the Mendix Runtime at least once during startup. If no connection can be established, an error is shown. Connectivity is also needed to run microflows and to synchronize data. @@ -67,12 +67,12 @@ Depending on the Mendix version used to build your app, you have to use a differ * **Latest Mendix Version** - Latest version of Make It Native 10 ([Android](https://play.google.com/apps/testing/com.mendix.developerapp.mx10), [iOS](https://testflight.apple.com/join/bQfLf27w)) * Please note that the latest version of Make It Native 10 is offered in online stores' beta version programs. Simply follow the instructions on those sites to download and install the latest version of MIN 10. * **10.18.x** – Make It Native 10 MTS ([Android](https://play.google.com/store/apps/details?id=com.mendix.developerapp.mx10), [iOS](https://apps.apple.com/app/make-it-native-10/id6450037464)) -* **10.6.x to 10.17.x** – These versions are no longer supported by Make It Native. Please use MIN 9 LTS (below) or 10 MTS (above) instead, or make your own [custom MIN app](/refguide/mobile/distributing-mobile-apps/use-min-older-sp/) from open source. +* **10.6.x to 10.17.x** – These versions are no longer supported by Make It Native. Please use MIN 9 LTS (below) or 10 MTS (above) instead, or make your own [custom MIN app](/refguide10/mobile/distributing-mobile-apps/use-min-older-sp/) from open source. * **9.24.0 to 10.5.x** – Make It Native 9 LTS ([Android](https://play.google.com/store/apps/details?id=com.mendix.developerapp.mx9), [iOS](https://apps.apple.com/app/make-it-native-9/id1542182000)) * **8.18.x** – Make It Native 8 LTS ([iOS](https://apps.apple.com/app/make-it-native-8/id1334081181)) -* **Other** – [Creating a Custom Developer App](/refguide/mobile/distributing-mobile-apps/building-native-apps/how-to-devapps/) or [Building Your Own Make It Native App](https://github.com/mendix/make-it-native) +* **Other** – [Creating a Custom Developer App](/refguide10/mobile/distributing-mobile-apps/building-native-apps/how-to-devapps/) or [Building Your Own Make It Native App](https://github.com/mendix/make-it-native) -For information on which mobile operating systems are supported by the Mendix native mobile apps, see the [Mobile Operating Systems](/refguide/system-requirements/#mobile) section of *System Requirements*. +For information on which mobile operating systems are supported by the Mendix native mobile apps, see the [Mobile Operating Systems](/refguide10/system-requirements/#mobile) section of *System Requirements*. ### Direct Download Links {#direct-links} @@ -106,7 +106,7 @@ When working with applications on a Mid-Term Support (MTS) version, it is import Only use the latest version of Mendix if you are prepared to update your application every month. The latest version of Make It Native only supports the latest version of Mendix and is updated monthly. -If you want to use a custom version of Mendix you can always [create a Custom Developer App](/refguide/mobile/distributing-mobile-apps/building-native-apps/how-to-devapps/) or [build your own Make It Native App](https://github.com/mendix/make-it-native) for that version of Mendix. +If you want to use a custom version of Mendix you can always [create a Custom Developer App](/refguide10/mobile/distributing-mobile-apps/building-native-apps/how-to-devapps/) or [build your own Make It Native App](https://github.com/mendix/make-it-native) for that version of Mendix. ## Troubleshooting Common Mobile Issues {#troubleshooting} @@ -118,7 +118,7 @@ To troubleshoot issues related to the Make it Native app, see the sections below #### Port Issues -Mendix recommends keeping the **Runtime port** in your [configuration](/refguide/configuration/#server) on **8080**. If you change it, do not change it to **8083**, because that is designated for app packaging. +Mendix recommends keeping the **Runtime port** in your [configuration](/refguide10/configuration/#server) on **8080**. If you change it, do not change it to **8083**, because that is designated for app packaging. #### Wifi Network Settings @@ -171,11 +171,11 @@ If your company has strict network policies which do not allow you to open the p ### Use Make It Native 9 with an Older Version of Mendix 9 {#use-MIN-older} -The latest version of Make It Native 9 is only compatible with versions of Mendix 9.24.0 and above. To develop with older versions of Mendix 9, you can create a custom developer app by following [this guide](/refguide/mobile/distributing-mobile-apps/building-native-apps/how-to-devapps/). Note that a custom developer app can be used to develop multiple older Mendix apps as long as no custom dependencies are introduced. +The latest version of Make It Native 9 is only compatible with versions of Mendix 9.24.0 and above. To develop with older versions of Mendix 9, you can create a custom developer app by following [this guide](/refguide10/mobile/distributing-mobile-apps/building-native-apps/how-to-devapps/). Note that a custom developer app can be used to develop multiple older Mendix apps as long as no custom dependencies are introduced. ### Configure Parallels -To use Studio Pro on a Mac device, you will first need to install and configure Parallels. For more information, see [Configuring Parallels](/refguide/using-mendix-studio-pro-on-a-mac/). +To use Studio Pro on a Mac device, you will first need to install and configure Parallels. For more information, see [Configuring Parallels](/refguide10/using-mendix-studio-pro-on-a-mac/). ### Avoid Network or Cloud Folders diff --git a/content/en/docs/refguide10/mobile/introduction-to-mobile-technologies/_index.md b/content/en/docs/refguide10/mobile/introduction-to-mobile-technologies/_index.md index c87d5ef90ac..722f3a12beb 100644 --- a/content/en/docs/refguide10/mobile/introduction-to-mobile-technologies/_index.md +++ b/content/en/docs/refguide10/mobile/introduction-to-mobile-technologies/_index.md @@ -1,6 +1,6 @@ --- title: "Introduction to Mobile Technologies" -url: /refguide/mobile/introduction-to-mobile-technologies/ +url: /refguide10/mobile/introduction-to-mobile-technologies/ weight: 20 --- @@ -8,7 +8,7 @@ weight: 20 Mendix supports different technologies to build mobile applications. Besides responsive web apps, you can build native mobile apps or progress web apps. You can use pages, widgets, nanoflows, JavaScript actions, microflows, and many other familiar elements to build your app. -These different technologies (for example: responsive, native phone) can be configured in a single model using navigation profiles. Mobile profiles can be added and removed separately. If you add a profile, you must also provide a home page for it. For more information on navigation profiles, see [Navigation](/refguide/navigation/). +These different technologies (for example: responsive, native phone) can be configured in a single model using navigation profiles. Mobile profiles can be added and removed separately. If you add a profile, you must also provide a home page for it. For more information on navigation profiles, see [Navigation](/refguide10/navigation/). ## Progressive Web Apps {#pwa} @@ -23,7 +23,7 @@ Progressive web apps have several advantages over regular web applications: Publishing PWAs is the same as publishing regular web applications with Mendix. Once the application is deployed, users can simply access the PWA by opening the application URL. Considering PWA and web apps are equally easy to publish, we recommend you use PWAs to take advantage of their additional capabilities. -For more information, see [Progressive Web App](/refguide/mobile/introduction-to-mobile-technologies/progressive-web-app/). +For more information, see [Progressive Web App](/refguide10/mobile/introduction-to-mobile-technologies/progressive-web-app/). ## Native Mobile Apps {#nativemobile} @@ -38,7 +38,7 @@ Mendix allows you to build fully native mobile apps (based on [React Native](htt Building native mobile apps is inherently more complex than building web-based apps. They are distributed via app stores, which requires additional steps for deploying and updating the mobile app. Further, they are always offline-first, which requires additional considerations when designing the domain model. -For more information, see [Native Mobile](/refguide/mobile/introduction-to-mobile-technologies/native-mobile/). +For more information, see [Native Mobile](/refguide10/mobile/introduction-to-mobile-technologies/native-mobile/). ## Deciding Between a PWA or Native Mobile App @@ -50,10 +50,10 @@ In general, Mendix recommends building a PWA for your mobile app project. PWAs a 1. **App Store Publishing**: The Apple AppStore and Google Play Store serve as distribution platforms for millions of apps. If your app should also be published via these stores, you should build a native mobile app. Mendix PWAs cannot be published via these stores without additional steps and third-party solutions. Note that publishing your app via these stores can be complex while providing only limited benefit especially for apps that are primarily used internally. -1. **Deep Device Integrations**: PWAs can access a multitude of device capabilities via Web APIs, including the camera, GPS, and push notifications (see [Progressive Web App](/refguide/mobile/introduction-to-mobile-technologies/progressive-web-app/#accessing-device-features) for a comprehensive list). However, not everything is supported. If your app requires a capability that is not supported via Web APIs or needs to execute custom native code, you should build a native mobile app. +1. **Deep Device Integrations**: PWAs can access a multitude of device capabilities via Web APIs, including the camera, GPS, and push notifications (see [Progressive Web App](/refguide10/mobile/introduction-to-mobile-technologies/progressive-web-app/#accessing-device-features) for a comprehensive list). However, not everything is supported. If your app requires a capability that is not supported via Web APIs or needs to execute custom native code, you should build a native mobile app. 1. **Offline Data**: PWAs also allow offline-first operation. However, the size of the database is limited and cannot be stored securely. If your app requires storing large amounts of data reliably or requires that offline data is encrypted, build a native mobile app. 1. **Developer Experience**: If most of your developers and designers are experienced in web technologies (and you have no developers familiar with building and publishing native mobile apps), you should build a PWA. Training your team to learn new native technologies while simultaneously developing apps can delay application production. -If you decide to build a native mobile app after considering these requirements, please consult our documentation on [Building Efficient Mobile Apps](/refguide/mobile/building-efficient-mobile-apps/) and [Building, Testing, and Distributing Apps](/refguide/mobile/distributing-mobile-apps/). +If you decide to build a native mobile app after considering these requirements, please consult our documentation on [Building Efficient Mobile Apps](/refguide10/mobile/building-efficient-mobile-apps/) and [Building, Testing, and Distributing Apps](/refguide10/mobile/distributing-mobile-apps/). diff --git a/content/en/docs/refguide10/mobile/introduction-to-mobile-technologies/native-mobile.md b/content/en/docs/refguide10/mobile/introduction-to-mobile-technologies/native-mobile.md index 221b3778480..c38ff4bd524 100644 --- a/content/en/docs/refguide10/mobile/introduction-to-mobile-technologies/native-mobile.md +++ b/content/en/docs/refguide10/mobile/introduction-to-mobile-technologies/native-mobile.md @@ -1,9 +1,9 @@ --- title: "Native Mobile" -url: /refguide/mobile/introduction-to-mobile-technologies/native-mobile/ +url: /refguide10/mobile/introduction-to-mobile-technologies/native-mobile/ weight: 10 aliases: - - /refguide/native-mobile/ + - /refguide10/native-mobile/ - /howto/mobile/native-mobile/ --- @@ -15,7 +15,7 @@ You build Mendix native mobile apps the same way you build web apps. You can use ## Styling -Native mobile apps' theming and styling is based on JavaScript. For more information on styling, see [Native Styling](/refguide/native-styling-refguide/). +Native mobile apps' theming and styling is based on JavaScript. For more information on styling, see [Native Styling](/refguide10/native-styling-refguide/). ## Using Device Capabilities diff --git a/content/en/docs/refguide10/mobile/introduction-to-mobile-technologies/progressive-web-app.md b/content/en/docs/refguide10/mobile/introduction-to-mobile-technologies/progressive-web-app.md index a1606be7bbf..2289135d826 100644 --- a/content/en/docs/refguide10/mobile/introduction-to-mobile-technologies/progressive-web-app.md +++ b/content/en/docs/refguide10/mobile/introduction-to-mobile-technologies/progressive-web-app.md @@ -1,9 +1,9 @@ --- title: "Progressive Web App" -url: /refguide/mobile/introduction-to-mobile-technologies/progressive-web-app/ +url: /refguide10/mobile/introduction-to-mobile-technologies/progressive-web-app/ weight: 20 aliases: - - /refguide/progressive-web-app/ + - /refguide10/progressive-web-app/ --- ## Introduction @@ -34,10 +34,10 @@ As PWAs are basically web apps with additional features, Mendix offers these fea PWAs require a version of Atlas 2 or above. {{% /alert %}} -To create a full offline-first PWA, choose and add one of the following profiles (depending on which form factor you need): Responsive Web Offline, Phone Web Offline, or Tablet Web Offline. For more information about offline-first apps, see the [Offline-First Guide](/refguide/offline-first/). +To create a full offline-first PWA, choose and add one of the following profiles (depending on which form factor you need): Responsive Web Offline, Phone Web Offline, or Tablet Web Offline. For more information about offline-first apps, see the [Offline-First Guide](/refguide10/offline-first/). {{% alert color="info" %}} -Offline-first progressive web apps have some restrictions to make sure they can fully work offline. For more information, see [Offline Best Practices](/refguide/mobile/building-efficient-mobile-apps/offlinefirst-data/best-practices/). +Offline-first progressive web apps have some restrictions to make sure they can fully work offline. For more information, see [Offline Best Practices](/refguide10/mobile/building-efficient-mobile-apps/offlinefirst-data/best-practices/). {{% /alert %}} Within the navigation profiles the following PWA features can be configured: @@ -72,7 +72,7 @@ You can also open PWA profiles on your device via the **View on your device** op {{< figure src="/attachments/refguide10/mobile/progressive-web-app/view-dialog.png" alt="View menu" width="350" class="no-border" >}} -Note that if you are running on a Mac with Parallels, make sure that port 8080 (or whichever port you have configured for your app) is forwarded and that you use your Mac IP instead of the Virtual Machine’s IP. For more information on Mendix and Parallels, see [Configuring Parallels](/refguide/using-mendix-studio-pro-on-a-mac/). +Note that if you are running on a Mac with Parallels, make sure that port 8080 (or whichever port you have configured for your app) is forwarded and that you use your Mac IP instead of the Virtual Machine’s IP. For more information on Mendix and Parallels, see [Configuring Parallels](/refguide10/using-mendix-studio-pro-on-a-mac/). {{% alert color="info" %}} When previewing or testing an offline-first PWA locally, an internet connection is always required to load the app. After initial loading, the app behaves fully offline, but it can not be reloaded without a connection. Once the app is deployed to the cloud, end-users can always load it without a connection after the first visit. @@ -140,17 +140,17 @@ For more information on the available properties in the web app manifest, read t Offline-first PWAs use an authentication token by default to keep the session active while users are not actively working in the app. -For more information on the session and authentication tokens, see [Session Management](/refguide/session-management/) +For more information on the session and authentication tokens, see [Session Management](/refguide10/session-management/) #### Mendix Versions Below 10.9.0 -Offline-first PWAs use long-lived sessions, which keep users logged in for a longer period even after their apps are closed. By default, users will be logged out after 7 days of inactivity. This can be customized using the [LongLivedSessionTimeout](/refguide/custom-settings/#LongLivedSessionTimeout) runtime setting. +Offline-first PWAs use long-lived sessions, which keep users logged in for a longer period even after their apps are closed. By default, users will be logged out after 7 days of inactivity. This can be customized using the [LongLivedSessionTimeout](/refguide10/custom-settings/#LongLivedSessionTimeout) runtime setting. -For more information on sessions and how to customize the timeout, see the [Session Duration](/refguide/tricky-custom-runtime-settings/#session-duration) section of the *Advanced Custom Settings in Mendix Runtime Reference Guide*. +For more information on sessions and how to customize the timeout, see the [Session Duration](/refguide10/tricky-custom-runtime-settings/#session-duration) section of the *Advanced Custom Settings in Mendix Runtime Reference Guide*. ## Accessing Device Features -Browsers offer access to device features through APIs that can be leveraged in PWAs. These device features can be used by available widgets and nanoflow actions. It is also possible to leverage additional device features by extending the platform using [JavaScript Actions](/refguide/javascript-actions/) or [Pluggable Widgets](/howto/extensibility/pluggable-widgets/). +Browsers offer access to device features through APIs that can be leveraged in PWAs. These device features can be used by available widgets and nanoflow actions. It is also possible to leverage additional device features by extending the platform using [JavaScript Actions](/refguide10/javascript-actions/) or [Pluggable Widgets](/howto/extensibility/pluggable-widgets/). This table lists the most used device features and APIs, and also documents their compatibility with common browsers: diff --git a/content/en/docs/refguide10/mobile/using-mobile-capabilities/_index.md b/content/en/docs/refguide10/mobile/using-mobile-capabilities/_index.md index 8b8f6c93f0a..371dee7a03e 100644 --- a/content/en/docs/refguide10/mobile/using-mobile-capabilities/_index.md +++ b/content/en/docs/refguide10/mobile/using-mobile-capabilities/_index.md @@ -1,6 +1,6 @@ --- title: Using Mobile Capabilities -url: /refguide/mobile/using-mobile-capabilities/ +url: /refguide10/mobile/using-mobile-capabilities/ weight: 40 description: Implement native mobile features in Mendix Studio Pro. aliases: @@ -11,12 +11,12 @@ aliases: Guides in this section will help you implement key features of native apps and/or progressive web apps (PWAs). -* [Authenticating Users](/refguide/mobile/using-mobile-capabilities/deep-links/): this guide explains how to authenticate users in a mobile app. -* [Deep Links](/refguide/mobile/using-mobile-capabilities/deep-links/): native apps can define a custom URL scheme (for instance, `my-app://`) that allows other apps to access pages and functionalities of the app -* [Internationalize Mobile Apps](/refguide/mobile/using-mobile-capabilities/native-language-change/): this guide allows your end-user to change the interface language on their mobile device within a Mendix mobile app -* [Location and Maps](/refguide/mobile/using-mobile-capabilities/location-and-maps/): native apps can access the user location and display native maps inside the application -* [Push Notifications](/refguide/mobile/using-mobile-capabilities/push-notifications/): native apps can present a notification to the user that is triggered by the runtime even if the app is not running -* [Local Notifications](/refguide/mobile/using-mobile-capabilities/location-and-maps/): in addition to push notifications, native apps can schedule notifications to be shown at a specific time even if the app is not running -* [Augmented Reality](/refguide/mobile/using-mobile-capabilities/augmented-reality/): native apps can render 3D objects in the physical environments via the camera stream of a mobile device -* [App Permissions](/refguide/mobile/using-mobile-capabilities/generic-permission-action/): this guide allows native apps to request permissions from iOS and Android device users -* [Mobile Accessibility](/refguide/mobile/using-mobile-capabilities/mobile-accessibility/): this guide allows you to customize accessibility options for native mobile applications +* [Authenticating Users](/refguide10/mobile/using-mobile-capabilities/deep-links/): this guide explains how to authenticate users in a mobile app. +* [Deep Links](/refguide10/mobile/using-mobile-capabilities/deep-links/): native apps can define a custom URL scheme (for instance, `my-app://`) that allows other apps to access pages and functionalities of the app +* [Internationalize Mobile Apps](/refguide10/mobile/using-mobile-capabilities/native-language-change/): this guide allows your end-user to change the interface language on their mobile device within a Mendix mobile app +* [Location and Maps](/refguide10/mobile/using-mobile-capabilities/location-and-maps/): native apps can access the user location and display native maps inside the application +* [Push Notifications](/refguide10/mobile/using-mobile-capabilities/push-notifications/): native apps can present a notification to the user that is triggered by the runtime even if the app is not running +* [Local Notifications](/refguide10/mobile/using-mobile-capabilities/location-and-maps/): in addition to push notifications, native apps can schedule notifications to be shown at a specific time even if the app is not running +* [Augmented Reality](/refguide10/mobile/using-mobile-capabilities/augmented-reality/): native apps can render 3D objects in the physical environments via the camera stream of a mobile device +* [App Permissions](/refguide10/mobile/using-mobile-capabilities/generic-permission-action/): this guide allows native apps to request permissions from iOS and Android device users +* [Mobile Accessibility](/refguide10/mobile/using-mobile-capabilities/mobile-accessibility/): this guide allows you to customize accessibility options for native mobile applications diff --git a/content/en/docs/refguide10/mobile/using-mobile-capabilities/augmented-reality/_index.md b/content/en/docs/refguide10/mobile/using-mobile-capabilities/augmented-reality/_index.md index 097bcfcb8ef..4d5ab1f161b 100644 --- a/content/en/docs/refguide10/mobile/using-mobile-capabilities/augmented-reality/_index.md +++ b/content/en/docs/refguide10/mobile/using-mobile-capabilities/augmented-reality/_index.md @@ -1,6 +1,6 @@ --- title: "Augmented Reality" -url: /refguide/mobile/using-mobile-capabilities/augmented-reality/ +url: /refguide10/mobile/using-mobile-capabilities/augmented-reality/ weight: 60 description: Tutorials for setting up and using AR in Mendix Studio Pro. aliases: @@ -11,5 +11,5 @@ These step-by-step guides teach you how to set up and use augmented reality (AR) The following guides are available here: -* [Get Started with AR](/refguide/mobile/using-mobile-capabilities/augmented-reality/how-to-ar-simple-cube/) -* [Create an AR Business Card](/refguide/mobile/using-mobile-capabilities/augmented-reality/how-to-ar-business-card/) +* [Get Started with AR](/refguide10/mobile/using-mobile-capabilities/augmented-reality/how-to-ar-simple-cube/) +* [Create an AR Business Card](/refguide10/mobile/using-mobile-capabilities/augmented-reality/how-to-ar-business-card/) diff --git a/content/en/docs/refguide10/mobile/using-mobile-capabilities/augmented-reality/how-to-ar-business-card.md b/content/en/docs/refguide10/mobile/using-mobile-capabilities/augmented-reality/how-to-ar-business-card.md index 105725d3cef..cf1e92300ba 100644 --- a/content/en/docs/refguide10/mobile/using-mobile-capabilities/augmented-reality/how-to-ar-business-card.md +++ b/content/en/docs/refguide10/mobile/using-mobile-capabilities/augmented-reality/how-to-ar-business-card.md @@ -1,6 +1,6 @@ --- title: "Create an AR Business Card" -url: /refguide/mobile/using-mobile-capabilities/augmented-reality/how-to-ar-business-card/ +url: /refguide10/mobile/using-mobile-capabilities/augmented-reality/how-to-ar-business-card/ weight: 20 description: In this guide you will make an augmented reality business card app. aliases: diff --git a/content/en/docs/refguide10/mobile/using-mobile-capabilities/augmented-reality/how-to-ar-simple-cube.md b/content/en/docs/refguide10/mobile/using-mobile-capabilities/augmented-reality/how-to-ar-simple-cube.md index 59084525c21..3e900d41867 100644 --- a/content/en/docs/refguide10/mobile/using-mobile-capabilities/augmented-reality/how-to-ar-simple-cube.md +++ b/content/en/docs/refguide10/mobile/using-mobile-capabilities/augmented-reality/how-to-ar-simple-cube.md @@ -1,6 +1,6 @@ --- title: "Get Started with AR" -url: /refguide/mobile/using-mobile-capabilities/augmented-reality/how-to-ar-simple-cube/ +url: /refguide10/mobile/using-mobile-capabilities/augmented-reality/how-to-ar-simple-cube/ weight: 10 description: Tutorials for setting up and using AR in Mendix Studio Pro. aliases: diff --git a/content/en/docs/refguide10/mobile/using-mobile-capabilities/augmented-reality/how-to-web-xr.md b/content/en/docs/refguide10/mobile/using-mobile-capabilities/augmented-reality/how-to-web-xr.md index 2416596cebd..5b217b93624 100644 --- a/content/en/docs/refguide10/mobile/using-mobile-capabilities/augmented-reality/how-to-web-xr.md +++ b/content/en/docs/refguide10/mobile/using-mobile-capabilities/augmented-reality/how-to-web-xr.md @@ -1,6 +1,6 @@ --- title: "Get Started with WebXR" -url: /refguide/mobile/using-mobile-capabilities/augmented-reality/get-started-with-web-xr/ +url: /refguide10/mobile/using-mobile-capabilities/augmented-reality/get-started-with-web-xr/ weight: 10 description: "Tutorials for setting up and using XR in Mendix Studio Pro." --- diff --git a/content/en/docs/refguide10/mobile/using-mobile-capabilities/authenticating-users.md b/content/en/docs/refguide10/mobile/using-mobile-capabilities/authenticating-users.md index c73e883c19e..5fa71e8277d 100644 --- a/content/en/docs/refguide10/mobile/using-mobile-capabilities/authenticating-users.md +++ b/content/en/docs/refguide10/mobile/using-mobile-capabilities/authenticating-users.md @@ -1,6 +1,6 @@ --- title: "Authenticating Users" -url: /refguide/mobile/using-mobile-capabilities/auth-users/ +url: /refguide10/mobile/using-mobile-capabilities/auth-users/ weight: 9 description: "This guide explains how to authenticate users in a mobile app." --- @@ -11,7 +11,7 @@ Native mobile apps often need to authenticate users just like web applications. ## Setting Up User Authentication -To enable user authentication in a native mobile app, you first need to enable [App Security](/refguide/app-security/) by setting the security level to **Prototype** or **Production**. +To enable user authentication in a native mobile app, you first need to enable [App Security](/refguide10/app-security/) by setting the security level to **Prototype** or **Production**. In a web-based app, you can rely on the provided `login.html` file to handle showing a sign-in form to your users. This is not possible in a native mobile app. Instead, you must model the login page using Mendix. This requires three steps: model the sign-in page, enable anonymous users, and set the role-based homepage for anonymous users to the sign-in page. @@ -28,7 +28,7 @@ To model your native sign-in page, do the following: The page already contains a sign-in form but is missing a data source to store the sign-in information. 1. Before you will model the data source, make sure to change the new page's layout to **NativePhone_TopBarOnly** to remove the bottom navigation. -1. To model the data source that will store the sign-in form data, start by creating a non-persistable entity in the [Domain model](/refguide/domain-model/) called *Login*. +1. To model the data source that will store the sign-in form data, start by creating a non-persistable entity in the [Domain model](/refguide10/domain-model/) called *Login*. 1. Add three attributes of type String: **Username**, **Password**, and **ValidationMessage**: {{< figure src="/attachments/refguide10/mobile/native-mobile/authenticating-users/login-entity.png" alt="Login entity" class="no-border" >}} @@ -67,7 +67,7 @@ Do not fill the contents of the form automatically. Instead connect the Email Ad The **Anonymous users** role allows users use your application without needing to authenticate first. This is needed to let users access the sign-in page before they can use it to authenticate. -Anonymous users are enabled in **App Security**. For more information, see [Anonymous Users](/refguide/anonymous-users/). +Anonymous users are enabled in **App Security**. For more information, see [Anonymous Users](/refguide10/anonymous-users/). ### Set Up Role-Based Homepages @@ -81,10 +81,10 @@ Role-based homepages are set up in **App Navigation**: {{< figure src="/attachments/refguide10/mobile/native-mobile/authenticating-users/role-based-homepage.png" alt="Role-based home page" class="no-border" >}} -For more information on role-based homepages, see [Setting a Role-Based Homepage](/refguide/setting-up-the-navigation-structure/#role-based-home-page). +For more information on role-based homepages, see [Setting a Role-Based Homepage](/refguide10/setting-up-the-navigation-structure/#role-based-home-page). ## Read More -* [App Security](/refguide/app-security/) -* [Anonymous Users](/refguide/anonymous-users/) -* [Setting a Role-Based Homepage](/refguide/setting-up-the-navigation-structure/#role-based-home-page) +* [App Security](/refguide10/app-security/) +* [Anonymous Users](/refguide10/anonymous-users/) +* [Setting a Role-Based Homepage](/refguide10/setting-up-the-navigation-structure/#role-based-home-page) diff --git a/content/en/docs/refguide10/mobile/using-mobile-capabilities/deep-links.md b/content/en/docs/refguide10/mobile/using-mobile-capabilities/deep-links.md index 03ccd465b6a..3f78c63ecfc 100644 --- a/content/en/docs/refguide10/mobile/using-mobile-capabilities/deep-links.md +++ b/content/en/docs/refguide10/mobile/using-mobile-capabilities/deep-links.md @@ -1,6 +1,6 @@ --- title: "Deep Links" -url: /refguide/mobile/using-mobile-capabilities/deep-links/ +url: /refguide10/mobile/using-mobile-capabilities/deep-links/ weight: 20 description: Connect URLs to your native mobile app by adding a deep link. aliases: @@ -25,15 +25,15 @@ Deep link registrations persist after the app is closed. Specifically, deep link ### Testing With the Make It Native App -For this tutorial, Mendix recommends running your app from source against a local instance of Mendix Studio Pro. This will save you time when rebuilding and redeploying your app. To do this, follow the steps in [Build a Mendix Native App Locally](/refguide/mobile/distributing-mobile-apps/building-native-apps/native-build-locally/) to make an app and link it to the Make It Native mobile testing app. +For this tutorial, Mendix recommends running your app from source against a local instance of Mendix Studio Pro. This will save you time when rebuilding and redeploying your app. To do this, follow the steps in [Build a Mendix Native App Locally](/refguide10/mobile/distributing-mobile-apps/building-native-apps/native-build-locally/) to make an app and link it to the Make It Native mobile testing app. -Please note that the Make It Native app has already the registered schema `makeitnative://` and can be used out of the box. To use the Make It Native app with that schema, see the [Using Deep Linking in Your App](#using-deep-linking) section below. If you want to change this schema, see [How to Create a Custom Developer App](/refguide/mobile/distributing-mobile-apps/building-native-apps/how-to-devapps/) to build your own custom developer app and then use the [Setting up App Deep Linking](#set-up) section below to change its schema. +Please note that the Make It Native app has already the registered schema `makeitnative://` and can be used out of the box. To use the Make It Native app with that schema, see the [Using Deep Linking in Your App](#using-deep-linking) section below. If you want to change this schema, see [How to Create a Custom Developer App](/refguide10/mobile/distributing-mobile-apps/building-native-apps/how-to-devapps/) to build your own custom developer app and then use the [Setting up App Deep Linking](#set-up) section below to change its schema. ## Prerequisites Before starting this guide, make sure you have completed the following prerequisites: -* Complete the [Prerequisites](/refguide/mobile/distributing-mobile-apps/building-native-apps/deploying-native-app/#prerequisites) section of *Build a Mendix Native App in the Cloud* +* Complete the [Prerequisites](/refguide10/mobile/distributing-mobile-apps/building-native-apps/deploying-native-app/#prerequisites) section of *Build a Mendix Native App in the Cloud* * Make sure your [Native Mobile Resources](/appstore/modules/native-mobile-resources/) module is up to date * Install Git [command line](https://git-scm.com/downloads) tool for working with the Native Mobile App Builder CLI * Install Mendix Studio Pro v 8.15.0 or above in order to use the Native Mobile App Builder @@ -46,7 +46,7 @@ If you do not already have a native template for your app, you can create one by Set up a native template with the **Native Mobile App Builder** by following these instructions: -1. Launch the Native Mobile App Builder from the **App** menu. Walk through the wizard and configure the app's details and tokens (for more information, see [Build a Mendix Native App Locally](/refguide/mobile/distributing-mobile-apps/building-native-apps/native-build-locally/)): +1. Launch the Native Mobile App Builder from the **App** menu. Walk through the wizard and configure the app's details and tokens (for more information, see [Build a Mendix Native App Locally](/refguide10/mobile/distributing-mobile-apps/building-native-apps/native-build-locally/)): {{< figure src="/attachments/howto/mobile/native-mobile/implementation/native-deep-link/launch-native-mobile-app-builder.png" alt="launch native mobile builder" width="400" class="no-border" >}} @@ -154,7 +154,7 @@ Add a few test link buttons, for example {app://myapp/task/123} or {makeitnative ## Read more -* [Build a Mendix Native App Locally](/refguide/mobile/distributing-mobile-apps/building-native-apps/native-build-locally/) +* [Build a Mendix Native App Locally](/refguide10/mobile/distributing-mobile-apps/building-native-apps/native-build-locally/) * [React Native Linking](https://facebook.github.io/react-native/docs/linking) * [Deep Linking Android](https://developer.android.com/training/app-links/deep-linking) * [Deep Linking iOS](https://developer.apple.com/documentation/uikit/inter-process_communication/allowing_apps_and_websites_to_link_to_your_content/defining_a_custom_url_scheme_for_your_app) diff --git a/content/en/docs/refguide10/mobile/using-mobile-capabilities/generic-permission-action.md b/content/en/docs/refguide10/mobile/using-mobile-capabilities/generic-permission-action.md index 5ee8f162a59..4acdcafa9b2 100644 --- a/content/en/docs/refguide10/mobile/using-mobile-capabilities/generic-permission-action.md +++ b/content/en/docs/refguide10/mobile/using-mobile-capabilities/generic-permission-action.md @@ -1,6 +1,6 @@ --- title: "App Permissions" -url: /refguide/mobile/using-mobile-capabilities/generic-permission-action/ +url: /refguide10/mobile/using-mobile-capabilities/generic-permission-action/ weight: 85 description: "This guide teaches you how to use request generic permission actions for native mobile apps." --- @@ -11,7 +11,7 @@ Advanced features in mobile apps often require permission from users. Apps need ## Prerequisites -* Complete the [Prerequisites](/refguide/mobile/distributing-mobile-apps/building-native-apps/deploying-native-app/#prerequisites) section of *Build a Mendix Native App in the Cloud*. +* Complete the [Prerequisites](/refguide10/mobile/distributing-mobile-apps/building-native-apps/deploying-native-app/#prerequisites) section of *Build a Mendix Native App in the Cloud*. * Install Mendix Studio Pro to use the Native Mobile App Builder and the latest Nanoflow Commons module. * Confirm your [Native Mobile Resources](/appstore/modules/native-mobile-resources/) module is up to date. * Confirm you are using the latest version of the [Make It Native 10 app](/releasenotes/mobile/make-it-native-parent/). @@ -79,7 +79,7 @@ The following permissions can be tested using the iOS Make It Native app: * MICROPHONE * PHOTO_LIBRARY -To test the remaining permissions you can build [native app](/refguide/mobile/distributing-mobile-apps/building-native-apps/native-build-locally/) and [update the native app](#update-ios-native-permissions) with the required permissions. +To test the remaining permissions you can build [native app](/refguide10/mobile/distributing-mobile-apps/building-native-apps/native-build-locally/) and [update the native app](#update-ios-native-permissions) with the required permissions. #### Android @@ -95,7 +95,7 @@ The following permissions can be tested using the Android Make It Native app: * WRITE_EXTERNAL_STORAGE * SCHEDULE_EXACT_ALARM -To test the remaining permissions you can build a [native app](/refguide/mobile/distributing-mobile-apps/building-native-apps/native-build-locally/) and [update the native app](#update-android-native-permissions) with the required permissions. +To test the remaining permissions you can build a [native app](/refguide10/mobile/distributing-mobile-apps/building-native-apps/native-build-locally/) and [update the native app](#update-android-native-permissions) with the required permissions. ### Deployment diff --git a/content/en/docs/refguide10/mobile/using-mobile-capabilities/local-notifications/_index.md b/content/en/docs/refguide10/mobile/using-mobile-capabilities/local-notifications/_index.md index b40e1a17d39..ee45a1c3bd2 100644 --- a/content/en/docs/refguide10/mobile/using-mobile-capabilities/local-notifications/_index.md +++ b/content/en/docs/refguide10/mobile/using-mobile-capabilities/local-notifications/_index.md @@ -1,6 +1,6 @@ --- title: "Local Notifications" -url: /refguide/mobile/using-mobile-capabilities/local-notifications/ +url: /refguide10/mobile/using-mobile-capabilities/local-notifications/ weight: 50 description: Tutorials for setting up local push notifications which do not use an internet connection. aliases: @@ -16,8 +16,8 @@ These step-by-step guides teach you how to build local notifications for native These guides teach you how to do the following: -* [Part 1: Local Notifications](/refguide/mobile/using-mobile-capabilities/local-notifications/native-local-notifications/) – Trigger native notifications from Mendix app's microflow, configure your notification permissions, and test the notifications on a device. -* [Part 2: Badges](/refguide/mobile/using-mobile-capabilities/local-notifications/local-notif-badges/) – Make your notifications leave badge indicators on your application's icon. -* [Part 3: Actions](/refguide/mobile/using-mobile-capabilities/local-notifications/local-notif-action/) – Configure notifications to do an action after being tapped (in this case, show a page). -* [Part 4: Data](/refguide/mobile/using-mobile-capabilities/local-notifications/local-notif-data/) – Enable notifications to pass data and bring a user to a page with specific parameters set. -* [Part 5: Scheduling](/refguide/mobile/using-mobile-capabilities/local-notifications/local-notif-schedule-cancel/) – Make notifications trigger at a certain time and cancel them. +* [Part 1: Local Notifications](/refguide10/mobile/using-mobile-capabilities/local-notifications/native-local-notifications/) – Trigger native notifications from Mendix app's microflow, configure your notification permissions, and test the notifications on a device. +* [Part 2: Badges](/refguide10/mobile/using-mobile-capabilities/local-notifications/local-notif-badges/) – Make your notifications leave badge indicators on your application's icon. +* [Part 3: Actions](/refguide10/mobile/using-mobile-capabilities/local-notifications/local-notif-action/) – Configure notifications to do an action after being tapped (in this case, show a page). +* [Part 4: Data](/refguide10/mobile/using-mobile-capabilities/local-notifications/local-notif-data/) – Enable notifications to pass data and bring a user to a page with specific parameters set. +* [Part 5: Scheduling](/refguide10/mobile/using-mobile-capabilities/local-notifications/local-notif-schedule-cancel/) – Make notifications trigger at a certain time and cancel them. diff --git a/content/en/docs/refguide10/mobile/using-mobile-capabilities/local-notifications/local-notif-action.md b/content/en/docs/refguide10/mobile/using-mobile-capabilities/local-notifications/local-notif-action.md index b715a73d79d..b615006ce37 100644 --- a/content/en/docs/refguide10/mobile/using-mobile-capabilities/local-notifications/local-notif-action.md +++ b/content/en/docs/refguide10/mobile/using-mobile-capabilities/local-notifications/local-notif-action.md @@ -1,6 +1,6 @@ --- title: "Part 3: Actions" -url: /refguide/mobile/using-mobile-capabilities/local-notifications/local-notif-action/ +url: /refguide10/mobile/using-mobile-capabilities/local-notifications/local-notif-action/ weight: 30 description: A tutorial for making your push notifications trigger actions when tapped. --- @@ -10,7 +10,7 @@ description: A tutorial for making your push notifications trigger actions when Several apps which use push notifications will also need actions to trigger after a user taps a notification. This step-by-step guide teaches you how to make a tapped notification show a specific page. {{% alert color="warning" %}} -The Make It Native app is currently experiencing limitations which interfere with notifications. We are currently fixing those limitations. To test your local notification actions, please use a native release app installed on a mobile testing device instead of the Make It Native app. To build a native release app, please complete [Build a Mendix Native App Locally](/refguide/mobile/distributing-mobile-apps/building-native-apps/native-build-locally/) and use that app to test local notification actions. +The Make It Native app is currently experiencing limitations which interfere with notifications. We are currently fixing those limitations. To test your local notification actions, please use a native release app installed on a mobile testing device instead of the Make It Native app. To build a native release app, please complete [Build a Mendix Native App Locally](/refguide10/mobile/distributing-mobile-apps/building-native-apps/native-build-locally/) and use that app to test local notification actions. {{% /alert %}} ## Prerequisites @@ -18,8 +18,8 @@ The Make It Native app is currently experiencing limitations which interfere wit Before starting this guide, make sure you have completed the following prerequisites: * Review the [basic differences](https://developer.apple.com/documentation/usernotifications) between local notifications and push notifications -* Install the [Make It Native](/refguide/getting-the-make-it-native-app/) app on your mobile device -* Complete the preceding tutorials in this [Use Local Notifications](/refguide/mobile/using-mobile-capabilities/local-notifications/) series +* Install the [Make It Native](/refguide10/getting-the-make-it-native-app/) app on your mobile device +* Complete the preceding tutorials in this [Use Local Notifications](/refguide10/mobile/using-mobile-capabilities/local-notifications/) series ## Setting an Action for When a Notification is Tapped @@ -72,7 +72,7 @@ Great job setting up your notification. Now you can test it: 4. Tap the notification to navigate to the page you selected. 5. Tap the **Return to home page** button to navigate back to your home page. -Now you can show pages after notifications are tapped. Next, in [Use Local Notifications Part 4: Data](/refguide/mobile/using-mobile-capabilities/local-notifications/local-notif-data/), you will learn to pass data to such pages. +Now you can show pages after notifications are tapped. Next, in [Use Local Notifications Part 4: Data](/refguide10/mobile/using-mobile-capabilities/local-notifications/local-notif-data/), you will learn to pass data to such pages. ## Read More diff --git a/content/en/docs/refguide10/mobile/using-mobile-capabilities/local-notifications/local-notif-badges.md b/content/en/docs/refguide10/mobile/using-mobile-capabilities/local-notifications/local-notif-badges.md index f05e2d122c6..6c7eb8c9507 100644 --- a/content/en/docs/refguide10/mobile/using-mobile-capabilities/local-notifications/local-notif-badges.md +++ b/content/en/docs/refguide10/mobile/using-mobile-capabilities/local-notifications/local-notif-badges.md @@ -1,6 +1,6 @@ --- title: "Part 2: Badges" -url: /refguide/mobile/using-mobile-capabilities/local-notifications/local-notif-badges/ +url: /refguide10/mobile/using-mobile-capabilities/local-notifications/local-notif-badges/ weight: 20 description: A tutorial for setting up badges for local push notifications. --- @@ -19,8 +19,8 @@ In this document you will learn to add badge functionality to your app, as well Before starting this guide, make sure you have completed the following prerequisites: * Review the [basic differences](https://developer.apple.com/documentation/usernotifications) between local notifications and push notifications -* Install the [Make It Native](/refguide/getting-the-make-it-native-app/) app on your mobile device -* Complete the preceding tutorial in this [Use Local Notifications](/refguide/mobile/using-mobile-capabilities/local-notifications/) series +* Install the [Make It Native](/refguide10/getting-the-make-it-native-app/) app on your mobile device +* Complete the preceding tutorial in this [Use Local Notifications](/refguide10/mobile/using-mobile-capabilities/local-notifications/) series ## Setting a Badge Number @@ -103,7 +103,7 @@ You can now test your badge clearing. 5. Check your Studio Pro **Console** to read the **Your notification has been cleared** text you set up. -Congratulations! You successfully implemented basic badge clearing. Next, in [How to Use Local Notifications Part 3: Actions](/refguide/mobile/using-mobile-capabilities/local-notifications/local-notif-action/), you will learn how to configure a notification so that when a user taps a notification, they are brought to a page. +Congratulations! You successfully implemented basic badge clearing. Next, in [How to Use Local Notifications Part 3: Actions](/refguide10/mobile/using-mobile-capabilities/local-notifications/local-notif-action/), you will learn how to configure a notification so that when a user taps a notification, they are brought to a page. ## Read More diff --git a/content/en/docs/refguide10/mobile/using-mobile-capabilities/local-notifications/local-notif-data.md b/content/en/docs/refguide10/mobile/using-mobile-capabilities/local-notifications/local-notif-data.md index c00cee56c6a..d3618b5d1e6 100644 --- a/content/en/docs/refguide10/mobile/using-mobile-capabilities/local-notifications/local-notif-data.md +++ b/content/en/docs/refguide10/mobile/using-mobile-capabilities/local-notifications/local-notif-data.md @@ -1,6 +1,6 @@ --- title: "Part 4: Data" -url: /refguide/mobile/using-mobile-capabilities/local-notifications/local-notif-data/ +url: /refguide10/mobile/using-mobile-capabilities/local-notifications/local-notif-data/ weight: 40 description: A tutorial for integrating data into your push notifications. --- @@ -25,8 +25,8 @@ You will create the following things to send data to pages: Before starting this guide, make sure you have completed the following prerequisites: * Review the [basic differences](https://developer.apple.com/documentation/usernotifications) between local notifications and push notifications -* Install the [Make It Native](/refguide/getting-the-make-it-native-app/) app on your mobile device -* Complete the preceding tutorials in this [Use Local Notifications](/refguide/mobile/using-mobile-capabilities/local-notifications/) series +* Install the [Make It Native](/refguide10/getting-the-make-it-native-app/) app on your mobile device +* Complete the preceding tutorials in this [Use Local Notifications](/refguide10/mobile/using-mobile-capabilities/local-notifications/) series ## Sending Data to Pages @@ -236,7 +236,7 @@ Great job! Now test your data notification functionality: 2. Tap the button which sends a notification. 3. Tap the notification to navigate to the **DetailTestEntity** page with the proper object. -Congratulations! You have harnessed the power of data to enhance your push notifications. Next, in [How to Use Local Notifications Part 5: Scheduling](/refguide/mobile/using-mobile-capabilities/local-notifications/local-notif-schedule-cancel/), you will learn how to schedule notifications for specific times and cancel them. +Congratulations! You have harnessed the power of data to enhance your push notifications. Next, in [How to Use Local Notifications Part 5: Scheduling](/refguide10/mobile/using-mobile-capabilities/local-notifications/local-notif-schedule-cancel/), you will learn how to schedule notifications for specific times and cancel them. ## Read More diff --git a/content/en/docs/refguide10/mobile/using-mobile-capabilities/local-notifications/local-notif-schedule-cancel.md b/content/en/docs/refguide10/mobile/using-mobile-capabilities/local-notifications/local-notif-schedule-cancel.md index a19bd416af3..bf60011a6a5 100644 --- a/content/en/docs/refguide10/mobile/using-mobile-capabilities/local-notifications/local-notif-schedule-cancel.md +++ b/content/en/docs/refguide10/mobile/using-mobile-capabilities/local-notifications/local-notif-schedule-cancel.md @@ -1,6 +1,6 @@ --- title: "Part 5: Scheduling" -url: /refguide/mobile/using-mobile-capabilities/local-notifications/local-notif-schedule-cancel/ +url: /refguide10/mobile/using-mobile-capabilities/local-notifications/local-notif-schedule-cancel/ weight: 50 description: A tutorial for scheduling and cancelling push notifications. --- @@ -15,8 +15,8 @@ Local notifications should rarely notify a user right after they perform an acti Before starting this guide, make sure you have completed the following prerequisites: * Review the [basic differences](https://developer.apple.com/documentation/usernotifications) between local notifications and push notifications -* Install the [Make It Native](/refguide/getting-the-make-it-native-app/) app on your mobile device -* Complete the preceding tutorials in this [Use Local Notifications](/refguide/mobile/using-mobile-capabilities/local-notifications/) series +* Install the [Make It Native](/refguide10/getting-the-make-it-native-app/) app on your mobile device +* Complete the preceding tutorials in this [Use Local Notifications](/refguide10/mobile/using-mobile-capabilities/local-notifications/) series ## Scheduling a Notification diff --git a/content/en/docs/refguide10/mobile/using-mobile-capabilities/local-notifications/native-local-notifications.md b/content/en/docs/refguide10/mobile/using-mobile-capabilities/local-notifications/native-local-notifications.md index 6ad03f977f9..304ddc82614 100644 --- a/content/en/docs/refguide10/mobile/using-mobile-capabilities/local-notifications/native-local-notifications.md +++ b/content/en/docs/refguide10/mobile/using-mobile-capabilities/local-notifications/native-local-notifications.md @@ -1,6 +1,6 @@ --- title: "Part 1: Local Notifications" -url: /refguide/mobile/using-mobile-capabilities/local-notifications/native-local-notifications/ +url: /refguide10/mobile/using-mobile-capabilities/local-notifications/native-local-notifications/ weight: 10 description: A tutorial for setting up local push notifications which do not use an internet connection. --- @@ -19,10 +19,10 @@ This guide teaches you how to do the following: Before starting this guide, make sure you have completed the following prerequisites: * Review the [basic differences](https://developer.apple.com/documentation/usernotifications) between local notifications and push notifications -* Install the [Make It Native](/refguide/getting-the-make-it-native-app/) app on your mobile device +* Install the [Make It Native](/refguide10/getting-the-make-it-native-app/) app on your mobile device {{% alert color="info" %}} -To use push notifications with apps created with the Native Builder, make sure you have completed [How To Build a Mendix Native App in the Cloud](/howto/mobile/deploying-native-app/) and the guides described in [Push Notifications](/refguide/mobile/using-mobile-capabilities/push-notifications/) +To use push notifications with apps created with the Native Builder, make sure you have completed [How To Build a Mendix Native App in the Cloud](/howto/mobile/deploying-native-app/) and the guides described in [Push Notifications](/refguide10/mobile/using-mobile-capabilities/push-notifications/) {{% /alert %}} ## Creating an App and Configuring Notifications @@ -174,7 +174,7 @@ Now you can run your app and see if your notification works. If you did not see a notification, try clicking **Run Locally** to reload your app. Then, tap the **Send Notification** button again. -Congratulations! You can now see local notifications on your device. Next, in [How to Use Local Notifications Part 2: Badges](/refguide/mobile/using-mobile-capabilities/local-notifications/local-notif-badges/), you will learn how to configure notification badges. +Congratulations! You can now see local notifications on your device. Next, in [How to Use Local Notifications Part 2: Badges](/refguide10/mobile/using-mobile-capabilities/local-notifications/local-notif-badges/), you will learn how to configure notification badges. ## Read More diff --git a/content/en/docs/refguide10/mobile/using-mobile-capabilities/location-and-maps.md b/content/en/docs/refguide10/mobile/using-mobile-capabilities/location-and-maps.md index 5e2965e8536..2a9296f01b6 100644 --- a/content/en/docs/refguide10/mobile/using-mobile-capabilities/location-and-maps.md +++ b/content/en/docs/refguide10/mobile/using-mobile-capabilities/location-and-maps.md @@ -1,6 +1,6 @@ --- title: "Location and Maps" -url: /refguide/mobile/using-mobile-capabilities/location-and-maps/ +url: /refguide10/mobile/using-mobile-capabilities/location-and-maps/ weight: 30 description: This guide teaches you how to set up native mobile maps capabilities for Android and Apple devices. aliases: @@ -17,7 +17,7 @@ The Mendix Native Mobile Builder does not currently support connections behind p ## Prerequisites -* Complete the [Prerequisites](/refguide/mobile/distributing-mobile-apps/building-native-apps/deploying-native-app/#prerequisites) section of *Deploying Native Apps* +* Complete the [Prerequisites](/refguide10/mobile/distributing-mobile-apps/building-native-apps/deploying-native-app/#prerequisites) section of *Deploying Native Apps* * Create an app on the [Google Cloud Console](https://console.cloud.google.com/google/maps-apis/overview) and have Google Maps enabled for Android (and iOS, if you wish to use Google Maps on iOS as well) and also posses an [API key](https://developers.google.com/maps/documentation/android-sdk/get-api-key). * Before you can start using the Google Maps Platform APIs and SDKs, you must sign up and create a [billing account](https://developers.google.com/maps/gmp-get-started#create-billing-account). * Install Mendix Studio Pro 8.15.0 and above to use the Native Mobile App Builder @@ -37,7 +37,7 @@ Next you will configure the **Maps** widget provider. You will have two choices: ### Configuring Maps Capability -1. Set up a native template with the **Native Mobile App Builder**. This can be launched from the **App** menu as shown in [Build a Mendix Native App Locally](/refguide/mobile/distributing-mobile-apps/building-native-apps/native-build-locally/). Complete the wizard and configure the app's details and tokens: +1. Set up a native template with the **Native Mobile App Builder**. This can be launched from the **App** menu as shown in [Build a Mendix Native App Locally](/refguide10/mobile/distributing-mobile-apps/building-native-apps/native-build-locally/). Complete the wizard and configure the app's details and tokens: {{< figure src="/attachments/howto/mobile/native-mobile/implementation/how-to-maps/launch-native-mobile-app-builder.png" alt="launch native mobile builder" width="400" class="no-border" >}} @@ -62,5 +62,5 @@ When running locally from source, on iOS you have to run `pod install` once more ## Read More -* [Build a Mendix Native App Locally](/refguide/mobile/distributing-mobile-apps/building-native-apps/native-build-locally/) -* [Getting Started with Mobile](/refguide/mobile/getting-started-with-mobile/) +* [Build a Mendix Native App Locally](/refguide10/mobile/distributing-mobile-apps/building-native-apps/native-build-locally/) +* [Getting Started with Mobile](/refguide10/mobile/getting-started-with-mobile/) diff --git a/content/en/docs/refguide10/mobile/using-mobile-capabilities/mobile-accessibility.md b/content/en/docs/refguide10/mobile/using-mobile-capabilities/mobile-accessibility.md index 90238ee2f39..ba6e0258245 100644 --- a/content/en/docs/refguide10/mobile/using-mobile-capabilities/mobile-accessibility.md +++ b/content/en/docs/refguide10/mobile/using-mobile-capabilities/mobile-accessibility.md @@ -1,6 +1,6 @@ --- title: "Mobile Accessibility" -url: /refguide/mobile/using-mobile-capabilities/mobile-accessibility/ +url: /refguide10/mobile/using-mobile-capabilities/mobile-accessibility/ weight: 87 description: "This guide allows you to customize accessibility for native mobile applications." --- @@ -16,7 +16,7 @@ This guide only applies to native mobile apps. Before starting this guide, make sure you have completed the following prerequisites: * Install [Mendix Studio Pro](https://marketplace.mendix.com/link/studiopro/) -* Complete the [Prerequisites](/refguide/mobile/distributing-mobile-apps/building-native-apps/deploying-native-app/#prerequisites) section of *Build a Mendix Native App in the Cloud* +* Complete the [Prerequisites](/refguide10/mobile/distributing-mobile-apps/building-native-apps/deploying-native-app/#prerequisites) section of *Build a Mendix Native App in the Cloud* * Make sure you are using [Make It Native 9 app](/releasenotes/mobile/make-it-native-parent/) ## Setting Up Accessibility for Mendix Native Widgets diff --git a/content/en/docs/refguide10/mobile/using-mobile-capabilities/native-language-change.md b/content/en/docs/refguide10/mobile/using-mobile-capabilities/native-language-change.md index 34c88a2865d..65eef4413ca 100644 --- a/content/en/docs/refguide10/mobile/using-mobile-capabilities/native-language-change.md +++ b/content/en/docs/refguide10/mobile/using-mobile-capabilities/native-language-change.md @@ -1,6 +1,6 @@ --- title: "Internationalize Mobile Apps" -url: /refguide/mobile/using-mobile-capabilities/native-language-change +url: /refguide10/mobile/using-mobile-capabilities/native-language-change weight: 30 description: "This guide allows your end-user to change the interface language on their mobile device within a Mendix mobile app." --- @@ -12,17 +12,17 @@ This internationalization guide explains how to give your end-user an easy way t This guide shows one of the ways to change the language on a *native* app. You can also apply this guide's mechanism to *all offline PWA profiles*. Please note that this guide's mechanism does not change the localization of an application because it depends on the settings of the device. -While this guide gives your end-user the ability to switch their app's language, translation is a different issue. Translating native apps and PWAs actually works the same as it does for web apps. To learn more about app translation, see [Translating Your App Content](/refguide/translate-your-app-content/). +While this guide gives your end-user the ability to switch their app's language, translation is a different issue. Translating native apps and PWAs actually works the same as it does for web apps. To learn more about app translation, see [Translating Your App Content](/refguide10/translate-your-app-content/). ## Prerequisites Before starting this guide, make sure you have completed the following prerequisites: * Install Mendix Studio Pro version [9.14.0](/releasenotes/studio-pro/9.14/) or above -* Complete the [Prerequisites](/refguide/mobile/distributing-mobile-apps/building-native-apps/deploying-native-app/#prerequisites) section of *Build a Mendix Native App in the Cloud* +* Complete the [Prerequisites](/refguide10/mobile/distributing-mobile-apps/building-native-apps/deploying-native-app/#prerequisites) section of *Build a Mendix Native App in the Cloud* * Make sure your [Nanoflow Commons](/appstore/modules/nanoflow-commons/) module is up to date -* Read the [Language Menu](/refguide/translatable-texts/) guide to understand the basics of the Mendix Language menu -* Set up the required [languages](/refguide/language-settings/) in Studio Pro—this tutorial has been configured with three languages as below: +* Read the [Language Menu](/refguide10/translatable-texts/) guide to understand the basics of the Mendix Language menu +* Set up the required [languages](/refguide10/language-settings/) in Studio Pro—this tutorial has been configured with three languages as below: {{< figure src="/attachments/refguide10/mobile/native-mobile/native-language-change/language-settings.png" alt="language settings" width= "450" class="no-border" >}} @@ -105,7 +105,7 @@ Now it is time to see the app in action. If you are using a PWA, you can simply To test your native app, locally deploy and view the app on the **Make It Native 9** app: -1. Follow the steps in [Downloading and Installing the Make It Native App](/refguide/mobile/getting-started-with-mobile/#download-min) to view your app in Mendix's Make It Native testing app. +1. Follow the steps in [Downloading and Installing the Make It Native App](/refguide10/mobile/getting-started-with-mobile/#download-min) to view your app in Mendix's Make It Native testing app. 1. Once the app is running, you should be able to see the native **Language_Overview** page: {{< figure src="/attachments/refguide10/mobile/native-mobile/native-language-change/device-language-overview-en.png" alt="language overview english" width= "250" class="no-border" >}} @@ -121,7 +121,7 @@ Congratulations, you just implemented internationalization in your native app! Y ## Read More -* [Using Translatable Validation Messages](/refguide/translatable-validation-messages/) -* [Language Menu](/refguide/translatable-texts/): gives more information on translating the languages of different Mendix UI elements +* [Using Translatable Validation Messages](/refguide10/translatable-validation-messages/) +* [Language Menu](/refguide10/translatable-texts/): gives more information on translating the languages of different Mendix UI elements * [Change Language by Clicking a Link](https://community.mendix.com/link/questions/91821): explanations and ideas in the Mendix Community for refreshing the page when the language is changed * [Anonymous User Journey](https://community.mendix.com/link/questions/91676): a discussion in the Mendix Community about switching languages for anonymous end-users diff --git a/content/en/docs/refguide10/mobile/using-mobile-capabilities/push-notifications/_index.md b/content/en/docs/refguide10/mobile/using-mobile-capabilities/push-notifications/_index.md index dbf4ec5359a..3bf192b9c85 100644 --- a/content/en/docs/refguide10/mobile/using-mobile-capabilities/push-notifications/_index.md +++ b/content/en/docs/refguide10/mobile/using-mobile-capabilities/push-notifications/_index.md @@ -1,6 +1,6 @@ --- title: "Push Notifications" -url: /refguide/mobile/using-mobile-capabilities/push-notifications/ +url: /refguide10/mobile/using-mobile-capabilities/push-notifications/ weight: 40 description: Tutorials for configuring push and local notifications. aliases: @@ -11,18 +11,18 @@ aliases: These guides teach you how to configure push notifications (also known as remote notifications) for your Mendix apps. The guides are meant to be completed in order, and they teach you how to **send a test push notification to a single device**. Depending on your app's starting template your app may already satisfy certain prerequisites and conditions. Complete only the steps which apply to your use case, and skip what does not apply. -* [Adding Module Dependencies](/refguide/mobile/using-mobile-capabilities/push-notifications/notif-add-module-depends/) – Install the required dependency modules so your app can use push notifications. -* [Implementing the Push Notifications Module](/refguide/mobile/using-mobile-capabilities/push-notifications/notif-implement-module/) – Learn to implement the Push Notifications Connector module. -* [Setting Up the Google Firebase Cloud Messaging Server](/refguide/mobile/using-mobile-capabilities/push-notifications/setting-up-google-firebase-cloud-messaging-server/) – Set up a Firebase account and configure the service in your app so that you can send push notifications. -* [Configuring Push Notifications](/refguide/mobile/using-mobile-capabilities/push-notifications/notif-config-push/) – Learn to configure push notifications in the runtime. -* [Implementing Push Notifications in Your Native App](/refguide/mobile/using-mobile-capabilities/push-notifications/notif-implement-native/) – Implement push notifications for a native app. -* [Implementing Push Notifications in Your Progressive Web App](/refguide/mobile/using-mobile-capabilities/push-notifications/notif-implement-pwa/) – Implement push notifications for a progressive web app. -* [Sending Your First Test Push Notification](/refguide/mobile/using-mobile-capabilities/push-notifications/notif-send-test/) – Send a test notification to confirm your app is working properly. +* [Adding Module Dependencies](/refguide10/mobile/using-mobile-capabilities/push-notifications/notif-add-module-depends/) – Install the required dependency modules so your app can use push notifications. +* [Implementing the Push Notifications Module](/refguide10/mobile/using-mobile-capabilities/push-notifications/notif-implement-module/) – Learn to implement the Push Notifications Connector module. +* [Setting Up the Google Firebase Cloud Messaging Server](/refguide10/mobile/using-mobile-capabilities/push-notifications/setting-up-google-firebase-cloud-messaging-server/) – Set up a Firebase account and configure the service in your app so that you can send push notifications. +* [Configuring Push Notifications](/refguide10/mobile/using-mobile-capabilities/push-notifications/notif-config-push/) – Learn to configure push notifications in the runtime. +* [Implementing Push Notifications in Your Native App](/refguide10/mobile/using-mobile-capabilities/push-notifications/notif-implement-native/) – Implement push notifications for a native app. +* [Implementing Push Notifications in Your Progressive Web App](/refguide10/mobile/using-mobile-capabilities/push-notifications/notif-implement-pwa/) – Implement push notifications for a progressive web app. +* [Sending Your First Test Push Notification](/refguide10/mobile/using-mobile-capabilities/push-notifications/notif-send-test/) – Send a test notification to confirm your app is working properly. After you complete the tasks above, you may wish to do more advanced tasks with notifications. For information on **sending push notifications to multiple devices**, use this documentation: -* [Sending Notifications to Multiple Devices](/refguide/mobile/using-mobile-capabilities/push-notifications/notif-mult-devices/) +* [Sending Notifications to Multiple Devices](/refguide10/mobile/using-mobile-capabilities/push-notifications/notif-mult-devices/) -The documentation described above is specifically for native mobile apps. For information on local notifications, see [Use Local Notifications](/refguide/mobile/using-mobile-capabilities/local-notifications/). +The documentation described above is specifically for native mobile apps. For information on local notifications, see [Use Local Notifications](/refguide10/mobile/using-mobile-capabilities/local-notifications/). -To get started, begin with the series' first entry: [Add Module Dependencies](/refguide/mobile/using-mobile-capabilities/push-notifications/notif-add-module-depends/). +To get started, begin with the series' first entry: [Add Module Dependencies](/refguide10/mobile/using-mobile-capabilities/push-notifications/notif-add-module-depends/). diff --git a/content/en/docs/refguide10/mobile/using-mobile-capabilities/push-notifications/notif-add-module-depends.md b/content/en/docs/refguide10/mobile/using-mobile-capabilities/push-notifications/notif-add-module-depends.md index cac3b81ed1e..71e7696a8e3 100644 --- a/content/en/docs/refguide10/mobile/using-mobile-capabilities/push-notifications/notif-add-module-depends.md +++ b/content/en/docs/refguide10/mobile/using-mobile-capabilities/push-notifications/notif-add-module-depends.md @@ -1,7 +1,7 @@ --- title: "Part 1: Add Module Dependencies" linktitle: "1. Add Module Dependencies" -url: /refguide/mobile/using-mobile-capabilities/push-notifications/notif-add-module-depends/ +url: /refguide10/mobile/using-mobile-capabilities/push-notifications/notif-add-module-depends/ weight: 20 description: Tutorial for adding push notification module dependencies. aliases: @@ -10,7 +10,7 @@ aliases: ## Introduction -This guide will help you add module dependencies for the [Push Notifications Connector](/appstore/modules/push-notifications/) module. You only need to install the modules your use case requires. Once your app has the modules it needs, you may move on to [Implement the Push Notifications Module](/refguide/mobile/using-mobile-capabilities/push-notifications/notif-implement-module/). +This guide will help you add module dependencies for the [Push Notifications Connector](/appstore/modules/push-notifications/) module. You only need to install the modules your use case requires. Once your app has the modules it needs, you may move on to [Implement the Push Notifications Module](/refguide10/mobile/using-mobile-capabilities/push-notifications/notif-implement-module/). ## Implementing the Encryption Module diff --git a/content/en/docs/refguide10/mobile/using-mobile-capabilities/push-notifications/notif-config-push.md b/content/en/docs/refguide10/mobile/using-mobile-capabilities/push-notifications/notif-config-push.md index d68ced7f3fe..45c20876d9b 100644 --- a/content/en/docs/refguide10/mobile/using-mobile-capabilities/push-notifications/notif-config-push.md +++ b/content/en/docs/refguide10/mobile/using-mobile-capabilities/push-notifications/notif-config-push.md @@ -1,7 +1,7 @@ --- title: "Part 4: Configure Push Notifications" linktitle: "4. Configure Push Notifications" -url: /refguide/mobile/using-mobile-capabilities/push-notifications/notif-config-push/ +url: /refguide10/mobile/using-mobile-capabilities/push-notifications/notif-config-push/ weight: 50 description: Tutorial for configuring push notifications. aliases: @@ -14,13 +14,13 @@ This guide teaches you how to configure the runtime for using push notifications ### Configuring Your Notifications -If you have completed [Add Module Dependencies](/refguide/mobile/using-mobile-capabilities/push-notifications/notif-add-module-depends/) and [Implement the Push Notifications Module](/refguide/mobile/using-mobile-capabilities/push-notifications/notif-implement-module/) per your use case, do the following to configure your push notifications: +If you have completed [Add Module Dependencies](/refguide10/mobile/using-mobile-capabilities/push-notifications/notif-add-module-depends/) and [Implement the Push Notifications Module](/refguide10/mobile/using-mobile-capabilities/push-notifications/notif-implement-module/) per your use case, do the following to configure your push notifications: 1. Open your app in Mendix Studio Pro. -1. Log in as the Administrator user you [previously designated](/refguide/mobile/using-mobile-capabilities/push-notifications/notif-implement-module/#config). +1. Log in as the Administrator user you [previously designated](/refguide10/mobile/using-mobile-capabilities/push-notifications/notif-implement-module/#config). 1. Navigate to the **Administration** page. -The first time you open this page it will present you with a wizard to set up the Firebase configuration. If you have not set up Firebase yet, see [Set Up the Google Firebase Cloud Messaging Server](/refguide/mobile/using-mobile-capabilities/push-notifications/setting-up-google-firebase-cloud-messaging-server/). +The first time you open this page it will present you with a wizard to set up the Firebase configuration. If you have not set up Firebase yet, see [Set Up the Google Firebase Cloud Messaging Server](/refguide10/mobile/using-mobile-capabilities/push-notifications/setting-up-google-firebase-cloud-messaging-server/). {{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/notif-config-push/push-setup-wizard.png" alt="test entity" width="400" class="no-border" >}} diff --git a/content/en/docs/refguide10/mobile/using-mobile-capabilities/push-notifications/notif-implement-module.md b/content/en/docs/refguide10/mobile/using-mobile-capabilities/push-notifications/notif-implement-module.md index 536a688b9a5..193a878b9e0 100644 --- a/content/en/docs/refguide10/mobile/using-mobile-capabilities/push-notifications/notif-implement-module.md +++ b/content/en/docs/refguide10/mobile/using-mobile-capabilities/push-notifications/notif-implement-module.md @@ -1,7 +1,7 @@ --- title: "Part 2: Implement the Push Notifications Module" linktitle: "2. Push Notifications Module" -url: /refguide/mobile/using-mobile-capabilities/push-notifications/notif-implement-module/ +url: /refguide10/mobile/using-mobile-capabilities/push-notifications/notif-implement-module/ weight: 30 description: Tutorial for implementing the push notification module. aliases: @@ -41,6 +41,6 @@ In order for your app to use to use the Push Connections Module, configure the f 1. Add a new open page navigation item to the **Responsive** navigation profile. 1. Select the **Administration** page from the **PushNotifications** module. This page is located in the **_USE ME/Admin** folder of the **PushNotifications** module. 1. Add a microflow sub-call to your **AfterStartup** microflow for the microflow **AfterStartup_PushNotifications**:
- * If you do not have an **AfterStartup** microflow configured yet, read the [After Startup](/refguide/app-settings/#after-startup) section of *App Settings* for more information. + * If you do not have an **AfterStartup** microflow configured yet, read the [After Startup](/refguide10/app-settings/#after-startup) section of *App Settings* for more information. Now you are able to start your app and move on to the next section. diff --git a/content/en/docs/refguide10/mobile/using-mobile-capabilities/push-notifications/notif-implement-native.md b/content/en/docs/refguide10/mobile/using-mobile-capabilities/push-notifications/notif-implement-native.md index 3e851cc026a..f9fcad74303 100644 --- a/content/en/docs/refguide10/mobile/using-mobile-capabilities/push-notifications/notif-implement-native.md +++ b/content/en/docs/refguide10/mobile/using-mobile-capabilities/push-notifications/notif-implement-native.md @@ -1,13 +1,13 @@ --- title: "Part 5: Implement Push Notifications in Your Native App" linktitle: "5. Push Notifications in Native App" -url: /refguide/mobile/using-mobile-capabilities/push-notifications/notif-implement-native/ +url: /refguide10/mobile/using-mobile-capabilities/push-notifications/notif-implement-native/ weight: 60 description: Tutorial for implementing push notifications in a native app. aliases: - /howto/mobile/notif-implement-native/ - /howto/mobile/notif-build-native/ - - /refguide/mobile/using-mobile-capabilities/push-notifications/notif-build-native/ + - /refguide10/mobile/using-mobile-capabilities/push-notifications/notif-build-native/ --- ## Introduction @@ -41,7 +41,7 @@ If you already had an **App events** widget on your home page, follow these step The snippet also adds the **Notifications** widget which lets users interact with the notifications the app receives. -By default this widget is configured with an **Example** action. It uses a non-persistable entity ([NPE](/refguide/persistability/#non-persistable)) that stores data received from the notifications. It then uses that data in the nanoflow upon receiving or opening the notification. Use this example to make your own actions. +By default this widget is configured with an **Example** action. It uses a non-persistable entity ([NPE](/refguide10/persistability/#non-persistable)) that stores data received from the notifications. It then uses that data in the nanoflow upon receiving or opening the notification. Use this example to make your own actions. ## Customizing Offline Synchronization @@ -60,7 +60,7 @@ This will ensure that the correct objects are synchronized to your native apps. Now that you have everything set up, it is time to deploy your native app: 1. In Studio Pro top bar navigation, click **App** > **Build Native Mobile App**:
- * If you are building your native app for the first time, click [here](/refguide/mobile/distributing-mobile-apps/building-native-apps/native-build-locally/) for instructions.
+ * If you are building your native app for the first time, click [here](/refguide10/mobile/distributing-mobile-apps/building-native-apps/native-build-locally/) for instructions.
1. After choosing the type of build (local development or distribution) go to **App capabilities**.
1. Under **Firebase configuration** switch **Push notifications** to **On**.
1. Scroll down and upload the Firebase configurations:
@@ -78,4 +78,4 @@ Now that you have everything set up, it is time to deploy your native app: When building for local development, keep in mind that Mendix's Make It Native app does not support push notifications. In order to use and test push notifications, you will have to build your own native app as described above and distribute it to an emulator (Android only) or test device. -Now you are able to build, the next step is to run your app in an emulator or test device. Proceed to [part 7](/refguide/mobile/using-mobile-capabilities/push-notifications/notif-send-test/) to send your first push notifications or continue with the next section to set up push notifications for progressive web apps. +Now you are able to build, the next step is to run your app in an emulator or test device. Proceed to [part 7](/refguide10/mobile/using-mobile-capabilities/push-notifications/notif-send-test/) to send your first push notifications or continue with the next section to set up push notifications for progressive web apps. diff --git a/content/en/docs/refguide10/mobile/using-mobile-capabilities/push-notifications/notif-implement-pwa.md b/content/en/docs/refguide10/mobile/using-mobile-capabilities/push-notifications/notif-implement-pwa.md index 22252c30d4a..c0909ed73a7 100644 --- a/content/en/docs/refguide10/mobile/using-mobile-capabilities/push-notifications/notif-implement-pwa.md +++ b/content/en/docs/refguide10/mobile/using-mobile-capabilities/push-notifications/notif-implement-pwa.md @@ -1,7 +1,7 @@ --- title: "Part 6: Implement Push Notifications in Your Progressive Web App" linktitle: "6. Push Notifications in Progressive Web App" -url: /refguide/mobile/using-mobile-capabilities/push-notifications/notif-implement-pwa/ +url: /refguide10/mobile/using-mobile-capabilities/push-notifications/notif-implement-pwa/ weight: 70 description: Tutorial for implementing push notifications in a progressive web app. --- @@ -16,7 +16,7 @@ Push notifications in progressive web apps require Firebase to be set up as earl 1. Create a custom `index.html` in your `theme\web` folder by following [this guide](/howto/front-end/customize-styling-new/#custom-web). 1. Edit the created `index.html` file in your favorite text editor. -1. Add below text before the line `` (replace `firebaseConfig` with your configuration from [part 3](/refguide/mobile/using-mobile-capabilities/push-notifications/setting-up-google-firebase-cloud-messaging-server/#copy-pwa-config)): +1. Add below text before the line `` (replace `firebaseConfig` with your configuration from [part 3](/refguide10/mobile/using-mobile-capabilities/push-notifications/setting-up-google-firebase-cloud-messaging-server/#copy-pwa-config)): ```html @@ -34,7 +34,7 @@ Push notifications in progressive web apps require Firebase to be set up as earl ``` -1. Create the file `theme\web\firebase-messaging-sw.js` with the following content (replace `firebaseConfig` with your configuration from [part 3](/refguide/mobile/using-mobile-capabilities/push-notifications/setting-up-google-firebase-cloud-messaging-server/#copy-pwa-config)): +1. Create the file `theme\web\firebase-messaging-sw.js` with the following content (replace `firebaseConfig` with your configuration from [part 3](/refguide10/mobile/using-mobile-capabilities/push-notifications/setting-up-google-firebase-cloud-messaging-server/#copy-pwa-config)): ```js importScripts('https://www.gstatic.com/firebasejs/10.11.0/firebase-app-compat.js'); @@ -51,7 +51,7 @@ Push notifications in progressive web apps require Firebase to be set up as earl const messaging = firebase.messaging(); ``` -1. Back in Studio Pro, set the constant `WebPushVapidKey` found in `_USE ME/Web/` in the Push Notifications module to the public key of the Web Push certificate you created in [part 3](/refguide/mobile/using-mobile-capabilities/push-notifications/setting-up-google-firebase-cloud-messaging-server/#set-web-push). +1. Back in Studio Pro, set the constant `WebPushVapidKey` found in `_USE ME/Web/` in the Push Notifications module to the public key of the Web Push certificate you created in [part 3](/refguide10/mobile/using-mobile-capabilities/push-notifications/setting-up-google-firebase-cloud-messaging-server/#set-web-push). {{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/notif-implement-pwa/vapid-idwizard.png" alt="VAPID Constant" width="400" class="no-border" >}} diff --git a/content/en/docs/refguide10/mobile/using-mobile-capabilities/push-notifications/notif-mult-devices.md b/content/en/docs/refguide10/mobile/using-mobile-capabilities/push-notifications/notif-mult-devices.md index de9ad8cf169..9600967d100 100644 --- a/content/en/docs/refguide10/mobile/using-mobile-capabilities/push-notifications/notif-mult-devices.md +++ b/content/en/docs/refguide10/mobile/using-mobile-capabilities/push-notifications/notif-mult-devices.md @@ -1,7 +1,7 @@ --- title: "Part 8: Send Notifications to Multiple Devices" linktitle: "8. Notifications to Multiple Devices" -url: /refguide/mobile/using-mobile-capabilities/push-notifications/notif-mult-devices/ +url: /refguide10/mobile/using-mobile-capabilities/push-notifications/notif-mult-devices/ weight: 90 description: Learn to send notifications to multiple devices with the Native Mobile Builder. aliases: @@ -20,11 +20,11 @@ Push notifications only work with apps created through the Mendix Native Mobile Before starting this section, make sure you have completed the following prerequisite: -* Send one test push notification as described in [Push Notifications](/refguide/mobile/using-mobile-capabilities/push-notifications/) +* Send one test push notification as described in [Push Notifications](/refguide10/mobile/using-mobile-capabilities/push-notifications/) If you want to use push notifications with custom apps created with Mendix Native Mobile Builder, make sure you have completed the following prerequisite: -* Complete [Build a Mendix Native App Locally](/refguide/mobile/distributing-mobile-apps/building-native-apps/native-build-locally/) +* Complete [Build a Mendix Native App Locally](/refguide10/mobile/distributing-mobile-apps/building-native-apps/native-build-locally/) ## Sending Notifications to Multiple Devices @@ -97,4 +97,4 @@ To send a push notification to all users, use the **SendMessageToUsers** Java ac ## Troubleshooting Notification Issues -If you run into issues, see the [Troubleshoot Notification Issues](/refguide/mobile/using-mobile-capabilities/push-notifications/notif-send-test/#troubleshoot) section of *Send Your First Test Push Notification*. +If you run into issues, see the [Troubleshoot Notification Issues](/refguide10/mobile/using-mobile-capabilities/push-notifications/notif-send-test/#troubleshoot) section of *Send Your First Test Push Notification*. diff --git a/content/en/docs/refguide10/mobile/using-mobile-capabilities/push-notifications/notif-send-test.md b/content/en/docs/refguide10/mobile/using-mobile-capabilities/push-notifications/notif-send-test.md index d8a8ee10788..358ebc2443f 100644 --- a/content/en/docs/refguide10/mobile/using-mobile-capabilities/push-notifications/notif-send-test.md +++ b/content/en/docs/refguide10/mobile/using-mobile-capabilities/push-notifications/notif-send-test.md @@ -1,7 +1,7 @@ --- title: "Part 7: Send Your First Test Push Notification" linktitle: "7. Test Push Notification" -url: /refguide/mobile/using-mobile-capabilities/push-notifications/notif-send-test/ +url: /refguide10/mobile/using-mobile-capabilities/push-notifications/notif-send-test/ weight: 80 description: Tutorial for testing your push notifications. aliases: @@ -10,7 +10,7 @@ aliases: ## Introduction -After [configuring the Push Notifications module](/refguide/mobile/using-mobile-capabilities/push-notifications/notif-config-push/) and [implementing push notifications in your native app](/refguide/mobile/using-mobile-capabilities/push-notifications/notif-implement-native/#build-native-app) or your [progressive web app](/refguide/mobile/using-mobile-capabilities/push-notifications/notif-implement-pwa/) it is now time to send your first test push notification. +After [configuring the Push Notifications module](/refguide10/mobile/using-mobile-capabilities/push-notifications/notif-config-push/) and [implementing push notifications in your native app](/refguide10/mobile/using-mobile-capabilities/push-notifications/notif-implement-native/#build-native-app) or your [progressive web app](/refguide10/mobile/using-mobile-capabilities/push-notifications/notif-implement-pwa/) it is now time to send your first test push notification. ## Sending the Test Notification @@ -40,10 +40,10 @@ If you did not receive the message, check the application's logs to see if the m | Issue | Cause | Solution | |-----|----|-----| -| Sending a message causes a **SenderId mismatch** error or **403: Forbidden**. | Your native mobile app registered the device within your Mendix applications, but not with Firebase. | Follow the [Build Native App](/refguide/mobile/using-mobile-capabilities/push-notifications/notif-implement-native/#build-native-app) section, and make sure you add the *google-services.json* file. | -| Sending a message causes a **Request contains an invalid argument** error or **400: Bad Request**. | Your **Project ID** does not match the **project_id** in your private key *json* file. | Upload the correct file or [generate a new private key](/refguide/mobile/using-mobile-capabilities/push-notifications/setting-up-google-firebase-cloud-messaging-server/#setting-up-a-service-account) in Firebase and upload it. | +| Sending a message causes a **SenderId mismatch** error or **403: Forbidden**. | Your native mobile app registered the device within your Mendix applications, but not with Firebase. | Follow the [Build Native App](/refguide10/mobile/using-mobile-capabilities/push-notifications/notif-implement-native/#build-native-app) section, and make sure you add the *google-services.json* file. | +| Sending a message causes a **Request contains an invalid argument** error or **400: Bad Request**. | Your **Project ID** does not match the **project_id** in your private key *json* file. | Upload the correct file or [generate a new private key](/refguide10/mobile/using-mobile-capabilities/push-notifications/setting-up-google-firebase-cloud-messaging-server/#setting-up-a-service-account) in Firebase and upload it. | | Mendix Runtime exception on JavaAction 'DecryptString': **Key should not be empty**. | This module depends on the **Encryption** module, which requires a key. | Set the constant **EncryptionKey** in the **Encryption** module with a key of exactly 32 characters. | -| Error sending message: **Error reading credentials from stream, 'type' field not specified. at PushNotifications.SendFCMMessages (JavaAction : 'GetFCMAccessToken')**. | The wrong private key file was uploaded. | Upload the correct file or [generate a new private key](/refguide/mobile/using-mobile-capabilities/push-notifications/setting-up-google-firebase-cloud-messaging-server/#setting-up-a-service-account) in Firebase and upload it. | +| Error sending message: **Error reading credentials from stream, 'type' field not specified. at PushNotifications.SendFCMMessages (JavaAction : 'GetFCMAccessToken')**. | The wrong private key file was uploaded. | Upload the correct file or [generate a new private key](/refguide10/mobile/using-mobile-capabilities/push-notifications/setting-up-google-firebase-cloud-messaging-server/#setting-up-a-service-account) in Firebase and upload it. | | Not receiving push notifications on a PWA | Push notifications on PWAs are only shown when the app is in the background or closed | Close the app and try again | | Registration fails on a PWA on iOS | To receive push notifications on iOS the app must be served over https and added to the home page | Deploy your app and add it to the home page via the Share button in Safari and try again | | Clicking on a push notification does not open the PWA | Push notifications for PWAs require a Web link to be set. | Make sure the Web link is set to a valid path of your application (for example "/") | diff --git a/content/en/docs/refguide10/mobile/using-mobile-capabilities/push-notifications/setting-up-google-firebase-cloud-messaging-server.md b/content/en/docs/refguide10/mobile/using-mobile-capabilities/push-notifications/setting-up-google-firebase-cloud-messaging-server.md index baf48b6203b..a7da49a8896 100644 --- a/content/en/docs/refguide10/mobile/using-mobile-capabilities/push-notifications/setting-up-google-firebase-cloud-messaging-server.md +++ b/content/en/docs/refguide10/mobile/using-mobile-capabilities/push-notifications/setting-up-google-firebase-cloud-messaging-server.md @@ -1,7 +1,7 @@ --- title: "Part 3: Set Up the Google Firebase Cloud Messaging Server" linktitle: "3. Set Up Firebase Cloud Messaging" -url: /refguide/mobile/using-mobile-capabilities/push-notifications/setting-up-google-firebase-cloud-messaging-server/ +url: /refguide10/mobile/using-mobile-capabilities/push-notifications/setting-up-google-firebase-cloud-messaging-server/ weight: 40 description: Tutorial for configuring push notifications. aliases: @@ -67,7 +67,7 @@ For a native mobile app, your bundle ID will be what you specify for the **App i * For iOS, open *ios/Config/config.xcconfig* and consult **BUNDLE_IDENTIFIER** to find your ID {{% alert color="info" %}} -If you also want to support a [custom developer app](/refguide/mobile/distributing-mobile-apps/building-native-apps/how-to-devapps/), repeat the above steps and append `.developerapp` to the IDs. +If you also want to support a [custom developer app](/refguide10/mobile/distributing-mobile-apps/building-native-apps/how-to-devapps/), repeat the above steps and append `.developerapp` to the IDs. {{% /alert %}} Click **Deploy**, then **Mobile App**. Your ID is listed as **App Identifier**: diff --git a/content/en/docs/refguide10/modeling/_index.md b/content/en/docs/refguide10/modeling/_index.md index e43074f9ce9..ccb9bf17805 100644 --- a/content/en/docs/refguide10/modeling/_index.md +++ b/content/en/docs/refguide10/modeling/_index.md @@ -1,17 +1,17 @@ --- title: "App Modeling" -url: /refguide/modeling/ +url: /refguide10/modeling/ description: "Describes the various features used for modeling in Studio Pro, including document templates, the domain model, microflows, modules, pages, and security." weight: 20 no_list: false description_list: true aliases: - - /refguide/desktop-modeler.html - - /refguide/modeler.html - - /refguide/Modeler.html - - /refguide/desktop-modeler - - /refguide/modeler - - /refguide/Modeler + - /refguide10/desktop-modeler.html + - /refguide10/modeler.html + - /refguide10/Modeler.html + - /refguide10/desktop-modeler + - /refguide10/modeler + - /refguide10/Modeler #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.1 Introduction --- @@ -19,6 +19,6 @@ aliases: Mendix Studio Pro allows you to create, view, and edit your Mendix applications. This category of documentation describes the functionality used for modeling your app in Studio Pro. -*App modeling* is a process of creating and configuring an app, such as creating pages, adding data and logic, configuring security, and integrating with other applications. For more introductory information, see [Studio Pro Overview](/refguide/studio-pro-overview/). +*App modeling* is a process of creating and configuring an app, such as creating pages, adding data and logic, configuring security, and integrating with other applications. For more introductory information, see [Studio Pro Overview](/refguide10/studio-pro-overview/). ## Documents in This Category diff --git a/content/en/docs/refguide10/modeling/app-explorer/_index.md b/content/en/docs/refguide10/modeling/app-explorer/_index.md index 5acbc5ef065..22413e01f35 100644 --- a/content/en/docs/refguide10/modeling/app-explorer/_index.md +++ b/content/en/docs/refguide10/modeling/app-explorer/_index.md @@ -1,9 +1,9 @@ --- title: "App Explorer" -url: /refguide/app-explorer/ +url: /refguide10/app-explorer/ weight: 25 aliases: - - /refguide/project-explorer/ + - /refguide10/project-explorer/ --- ## Introduction @@ -14,10 +14,10 @@ The **App Explorer** shows the complete structure of your app including all docu 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/)) +* **App** folder – contains settings and documents that apply to your app as a whole (for more information, see [Apps](/refguide10/app/)) +* **Modules** – contain settings, a domain model, and *documents* that apply to this module (for more information, see [Modules](/refguide10/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/). + * **Document** – an individual file, for example, a [page](/refguide10/pages/), [microflow](/refguide10/microflows/), or a [scheduled event](/refguide10/scheduled-events/). ## Performing Basic Functions {#basic-functions} @@ -36,6 +36,6 @@ In the **App Explorer**, you can do the following: ## Read More -* [Apps](/refguide/app/) -* [Modules](/refguide/modules/) -* [Security](/refguide/security/) +* [Apps](/refguide10/app/) +* [Modules](/refguide10/modules/) +* [Security](/refguide10/security/) diff --git a/content/en/docs/refguide10/modeling/app-explorer/app/_index.md b/content/en/docs/refguide10/modeling/app-explorer/app/_index.md index 62663aa3bc1..b24f1502d83 100644 --- a/content/en/docs/refguide10/modeling/app-explorer/app/_index.md +++ b/content/en/docs/refguide10/modeling/app-explorer/app/_index.md @@ -1,39 +1,39 @@ --- title: "App" -url: /refguide/app/ +url: /refguide10/app/ weight: 10 aliases: - - /refguide/project/ + - /refguide10/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. --- ## 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](/refguide10/modules/). ## Settings Clicking **Settings** opens a dialog box with settings for the end-user languages, the app directory, and the database and server. -For more information, see [App Settings](/refguide/app-settings/). +For more information, see [App Settings](/refguide10/app-settings/). ## Security At the app level, you can change the **Security** level, manage user roles, and manage administrator and anonymous user access. -For more information, see [App Security](/refguide/app-security/). +For more information, see [App Security](/refguide10/app-security/). ## Navigation 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). -For more information, see [Navigation](/refguide/navigation/). +For more information, see [Navigation](/refguide10/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. -For more information, see [System Texts](/refguide/system-texts/). +For more information, see [System Texts](/refguide10/system-texts/). ## Export Documentation {#export} @@ -41,5 +41,5 @@ Right-clicking the **App** allows you to export documentation. This exports an H ## Read More -* [Modules](/refguide/modules/) -* [Security](/refguide/security/) +* [Modules](/refguide10/modules/) +* [Security](/refguide10/security/) diff --git a/content/en/docs/refguide10/modeling/app-explorer/app/app-settings/_index.md b/content/en/docs/refguide10/modeling/app-explorer/app/app-settings/_index.md index 1e6d098487a..01573470b5e 100644 --- a/content/en/docs/refguide10/modeling/app-explorer/app/app-settings/_index.md +++ b/content/en/docs/refguide10/modeling/app-explorer/app/app-settings/_index.md @@ -1,10 +1,10 @@ --- title: "App Settings" -url: /refguide/app-settings/ +url: /refguide10/app-settings/ weight: 10 description: "Settings which apply to the app as a whole." aliases: - - /refguide/project-settings/ + - /refguide10/project-settings/ #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. --- @@ -20,7 +20,7 @@ The categories described below are available. A configuration is a group of settings. 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 menu in the toolbar of Studio Pro. -For more information on settings in a configuration, see [Configuration](/refguide/configuration/). +For more information on settings in a configuration, see [Configuration](/refguide10/configuration/). ## Runtime Tab @@ -78,7 +78,7 @@ For Studio Pro versions 10.6.7 and 10.8.0 and above, you can choose Java 17. {{% /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](/refguide10/preferences-dialog/#jdk). Applications deployed to the cloud will use this setting to select which Java version to use. @@ -102,7 +102,7 @@ Here you can select a microflow which performs the checks on a running app that 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 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](/refguide10/monitoring-mendix-runtime/#check-health) in *Monitoring Mendix Runtime*. {{% alert color="info" %}} @@ -206,9 +206,9 @@ This table presents the results of rounding the input to one digit with the give ### OQL version 2 {#oql-version-2} -If this option is set to **Yes**, your app will use version 2 of the OQL syntax. This setting must be enabled to use [view entities](/refguide/view-entities/). Make sure your app is ready to use the new syntax before making the switch. +If this option is set to **Yes**, your app will use version 2 of the OQL syntax. This setting must be enabled to use [view entities](/refguide10/view-entities/). Make sure your app is ready to use the new syntax before making the switch. -For more information about the differences, see [OQL Version 2 Features](/refguide/oql-v2/). +For more information about the differences, see [OQL Version 2 Features](/refguide10/oql-v2/). Default: *No* @@ -230,7 +230,7 @@ Default: *Yes* ### Foreign Key Constraints {#database-fkc} -If this option is enabled, database [foreign key constraints](/refguide/data-storage/#fkc) will be used. An attempt to commit a dangling reference will throw a runtime exception. +If this option is enabled, database [foreign key constraints](/refguide10/data-storage/#fkc) will be used. An attempt to commit a dangling reference will throw a runtime exception. {{% alert color="info" %}} This option was added in Mendix version 10.10. @@ -253,7 +253,7 @@ Default: **SunX509 (for backwards compatibility)** ## Languages Tab {#languages-tab} -For more information about using different languages in your app, see [Language Menu](/refguide/translatable-texts/). +For more information about using different languages in your app, see [Language Menu](/refguide10/translatable-texts/). ### Default Language @@ -274,7 +274,7 @@ Certificates are used to connect to web services over HTTPS when the following r 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. -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. +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](/refguide10/custom-settings/) *ClientCertificates*, *ClientCertificatePasswords*, and *ClientCertificateUsages* settings. {{% alert color="warning" %}} @@ -311,12 +311,12 @@ For background information, see [Transport Layer Security (TLS) Renegotiation Is ### UI Resources Package -The look and feel of a Mendix application is governed by the [UI resources package](/refguide/ui-resources-package/). This package supplies the app with all the required theme information accompanied by matching page templates and building blocks. The module which is designated as the UI resources package is governed by the **UI resources package** setting. Generally, this is automatically updated when a new UI resources package is imported. However, with this setting, the desired module can also be set manually. +The look and feel of a Mendix application is governed by the [UI resources package](/refguide10/ui-resources-package/). This package supplies the app with all the required theme information accompanied by matching page templates and building blocks. The module which is designated as the UI resources package is governed by the **UI resources package** setting. Generally, this is automatically updated when a new UI resources package is imported. However, with this setting, the desired module can also be set manually. ### ⚠ Theme ZIP File {{% alert color="warning" %}} -The use of a ZIP file to configure an app's theme is deprecated. A [UI resources package](/refguide/ui-resources-package/) is the preferred method of sharing themes. +The use of a ZIP file to configure an app's theme is deprecated. A [UI resources package](/refguide10/ui-resources-package/) is the preferred method of sharing themes. {{% /alert %}} Older apps may still use a theme ZIP file as the basis for their theme. In this situation, the **Theme ZIP file** setting can be used to switch between any ZIP files found in the **theme** folder. @@ -351,7 +351,7 @@ You can set an explicit order in the theme settings (**App Settings** > **Theme* ### User Entity -**User entity** defines the entity which is used in [target-users-using](/refguide/user-task/#target-users). If you assign a user task using an XPath, you can use attributes of this entity. If you are using a microflow, the entity defines the return type the microflows expects. For more information, see the [Targeted Users Section](/refguide/user-task/#users) section in *User Task*. +**User entity** defines the entity which is used in [target-users-using](/refguide10/user-task/#target-users). If you assign a user task using an XPath, you can use attributes of this entity. If you are using a microflow, the entity defines the return type the microflows expects. For more information, see the [Targeted Users Section](/refguide10/user-task/#users) section in *User Task*. ### Optimization @@ -379,18 +379,18 @@ Defines the maximum number of workflow-initiated microflows that the Runtime exe ### Event Handlers {#event-handlers} -An event handler allows you to specify a microflow which is triggered when the subscribed event (or events) occur. Each event handler can subscribe to multiple events and there can be multiple event handlers. An event is triggered when the workflow or its activity goes through transitions which warrant the event. This setting is app-wide; you can override it by setting workflow-specific event handlers in [workflow properties](/refguide/workflow-properties/#event-handlers). +An event handler allows you to specify a microflow which is triggered when the subscribed event (or events) occur. Each event handler can subscribe to multiple events and there can be multiple event handlers. An event is triggered when the workflow or its activity goes through transitions which warrant the event. This setting is app-wide; you can override it by setting workflow-specific event handlers in [workflow properties](/refguide10/workflow-properties/#event-handlers). An event handler has the following configuration: * **Name** – describes the event handler * **Documentation** – provides more information regarding the usage of the event handler -* **When** – allows you to select the [workflow event types](/refguide/workflow-events/#workflow-event-types), for which the handler should be triggered +* **When** – allows you to select the [workflow event types](/refguide10/workflow-events/#workflow-event-types), for which the handler should be triggered * **Microflow** – allows you to select a microflow that should be triggered for each of the above selected workflow event types You can use the data from the event handler microflow to build audit trails or for logging purposes. For example, you can define an event handler that only collects data from user task events. -For more information on workflow events, see [Workflow Events](/refguide/workflow-events/). +For more information on workflow events, see [Workflow Events](/refguide10/workflow-events/). ### ⚠ Events (Deprecated) {#events} @@ -404,11 +404,11 @@ Security settings of workflows and user tasks allow you to access workflow or us #### Workflow State Change {#workflow-state-change} -A microflow selected for this setting will start every time a workflow changes its state, for example, when the workflow is completed or has failed. This setting is app-wide; you can override it by setting a workflow-specific microflow in [workflow properties](/refguide/workflow-properties/#events). +A microflow selected for this setting will start every time a workflow changes its state, for example, when the workflow is completed or has failed. This setting is app-wide; you can override it by setting a workflow-specific microflow in [workflow properties](/refguide10/workflow-properties/#events). #### User Task State Change {#user-task-state-change} -A microflow selected for this setting will start every time a user task changes its state, for example, when a user task is completed or paused. This setting is app-wide; you can override it by setting a workflow-specific microflow in [workflow properties](/refguide/workflow-properties/#events). +A microflow selected for this setting will start every time a user task changes its state, for example, when a user task is completed or paused. This setting is app-wide; you can override it by setting a workflow-specific microflow in [workflow properties](/refguide10/workflow-properties/#events). ## Dependencies Tab {#deployment} @@ -469,7 +469,7 @@ This option allows you to change the default for new associations. The initial d * **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 -For more information, including which types of association this applies to, see [Association Storage Options](/refguide/association-storage/). +For more information, including which types of association this applies to, see [Association Storage Options](/refguide10/association-storage/). ### Suggest Lower-Case Variable Names in Microflows diff --git a/content/en/docs/refguide10/modeling/app-explorer/app/app-settings/configuration.md b/content/en/docs/refguide10/modeling/app-explorer/app/app-settings/configuration.md index 898f0dfc5d8..c7909a87b0f 100644 --- a/content/en/docs/refguide10/modeling/app-explorer/app/app-settings/configuration.md +++ b/content/en/docs/refguide10/modeling/app-explorer/app/app-settings/configuration.md @@ -1,6 +1,6 @@ --- title: "Configurations" -url: /refguide/configuration/ +url: /refguide10/configuration/ #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. --- @@ -76,7 +76,7 @@ Only use this functionality if you know what you are doing. Wrong values can pre 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`. -For settings overview, see [Runtime Customization](/refguide/custom-settings/). +For settings overview, see [Runtime Customization](/refguide10/custom-settings/). ### Headers {#headers} @@ -119,4 +119,4 @@ You can select which configuration is active using **Make active**. ## Read More -* [App Settings](/refguide/app-settings/) +* [App Settings](/refguide10/app-settings/) diff --git a/content/en/docs/refguide10/modeling/app-explorer/app/navigation/_index.md b/content/en/docs/refguide10/modeling/app-explorer/app/navigation/_index.md index 6f58dafba20..c36695e5497 100644 --- a/content/en/docs/refguide10/modeling/app-explorer/app/navigation/_index.md +++ b/content/en/docs/refguide10/modeling/app-explorer/app/navigation/_index.md @@ -1,6 +1,6 @@ --- title: "Navigation" -url: /refguide/navigation/ +url: /refguide10/navigation/ weight: 20 description: "Describes the concept of navigation in apps and the properties of a profile." #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. @@ -8,11 +8,11 @@ description: "Describes the concept of navigation in apps and the properties of ## Introduction -This document describes the concept of navigation in Mendix applications and the properties of a profile. The **Navigation** document can be found by expanding the **App** node in the **App Explorer**. It defines the navigation structure of the application for users. It also allows you to set the home page of your application and to define the menu structures that can be used in [Menus and Navigation](/refguide/menu-widgets/). +This document describes the concept of navigation in Mendix applications and the properties of a profile. The **Navigation** document can be found by expanding the **App** node in the **App Explorer**. It defines the navigation structure of the application for users. It also allows you to set the home page of your application and to define the menu structures that can be used in [Menus and Navigation](/refguide10/menu-widgets/). {{< figure src="/attachments/refguide10/modeling/app-explorer/app/navigation/navigation-profile-properties.png" class="no-border" >}} -A user's home page can vary based on their [user roles](/refguide/user-roles/). +A user's home page can vary based on their [user roles](/refguide10/user-roles/). ## Profiles {#profiles} @@ -28,7 +28,7 @@ The core of Mendix's navigation model is founded on the following profiles: Users that access the app via a particular device type are automatically redirected to the homepage of the appropriate profile based on the profile type (for details, see the [Redirection to Profiles](#redirection) section below). -The device type of the currently logged-in user is available in [microflows](/refguide/microflows/) as the `$currentDeviceType` variable. The type of this variable is the [enumeration](/refguide/enumerations/) `System.DeviceType`, which has the values `Phone`, `Tablet`, and `Desktop`. You can use `$currentDeviceType` to perform different actions based on the device type. A typical example is to show different pages based on the device type. +The device type of the currently logged-in user is available in [microflows](/refguide10/microflows/) as the `$currentDeviceType` variable. The type of this variable is the [enumeration](/refguide10/enumerations/) `System.DeviceType`, which has the values `Phone`, `Tablet`, and `Desktop`. You can use `$currentDeviceType` to perform different actions based on the device type. A typical example is to show different pages based on the device type. ### Responsive web @@ -50,7 +50,7 @@ A Mendix app can be installed on a phone as a native application which offers se * **Access to Device Features** — Native apps can harness the full potential of a phone's hardware features, such as GPS, camera, and push notifications, enhancing the user experience. * **Offline Functionality** — Native apps store data locally on the phone, ensuring that users can access content even without an internet connection. -The Mendix app will run in [offline-first](/refguide/offline-first/) mode. This means that all the data is stored on the phone and only synchronized with the server on request. +The Mendix app will run in [offline-first](/refguide10/offline-first/) mode. This means that all the data is stored on the phone and only synchronized with the server on request. {{% alert color="info" %}} You are required to enable anonymous users in your app's security settings and include anonymous user roles on native login pages. This is because there is no built-in login screen in the native profile; login pages are modeled as regular native pages. @@ -66,7 +66,7 @@ Mendix Runtime automatically redirects users to the home page of the appropriate | Android|iPad | Tablet | | *(other)* | Responsive | -To configure the regular expressions used to match phone or tablet users, see [Runtime Customization](/refguide/custom-settings/). +To configure the regular expressions used to match phone or tablet users, see [Runtime Customization](/refguide10/custom-settings/). It is also possible to force the client to use a specific profile by adding a `profile` query string parameter to the URL when visiting a Mendix application. The possible values are the names of the profiles, which are Responsive, Tablet, and Phone. For example: @@ -92,7 +92,7 @@ This specifies the application icon. This icon is shown as favicon in the title #### Default Home Page {#default-home-page} -The default home page indicates which [page](/refguide/page/) or [microflow](/refguide/microflow/) is opened after a user signs in. If role-based home pages (see below) are specified for one of the [user roles](/refguide/user-roles/) of the user, then that home page will be used instead. +The default home page indicates which [page](/refguide10/page/) or [microflow](/refguide10/microflow/) is opened after a user signs in. If role-based home pages (see below) are specified for one of the [user roles](/refguide10/user-roles/) of the user, then that home page will be used instead. {{% alert color="info" %}} The default home page is visible to all unauthenticated users. @@ -106,27 +106,27 @@ For each role-based home page, you can specify the user role it applies to and t ### Authentication {#authentication} -If an [anonymous user](/refguide/anonymous-users/) tries to access a resource to which the user has no access, the configured [sign-in page](/refguide/authentication-widgets/) will be displayed, prompting the user to sign in. +If an [anonymous user](/refguide10/anonymous-users/) tries to access a resource to which the user has no access, the configured [sign-in page](/refguide10/authentication-widgets/) will be displayed, prompting the user to sign in. If the sign-in page is set to none, a built-in pop-up window will appear instead. The page title is translatable and may be overridden. ### Menu -Each device type contains a default menu. You can use these menus in [Menus and Navigation](/refguide/menu-widgets/). Defining the menu for a device type works the same as when editing a menu document. For more details, see [Menu](/refguide/menu/). +Each device type contains a default menu. You can use these menus in [Menus and Navigation](/refguide10/menu-widgets/). Defining the menu for a device type works the same as when editing a menu document. For more details, see [Menu](/refguide10/menu/). {{% alert color="warning" %}} -If [security](/refguide/app-security/) is enabled, the menu will only show the items to which the user has access. +If [security](/refguide10/app-security/) is enabled, the menu will only show the items to which the user has access. {{% /alert %}} ### Profile Buttons #### Change Profile Type -Allows for changing the [profile type](/refguide/navigation/). +Allows for changing the [profile type](/refguide10/navigation/). #### Delete -This deletes the profile. If [Menus and Navigation](/refguide/menu-widgets/) are still referring to the profile, errors will appear. It is possible to undo the deletion of a profile. +This deletes the profile. If [Menus and Navigation](/refguide10/menu-widgets/) are still referring to the profile, errors will appear. It is possible to undo the deletion of a profile. #### Synchronization Configuration {#customize} @@ -134,11 +134,11 @@ Only available on profiles supporting offline synchronization. This opens the **Customize offline synchronization** dialog box that is used for overriding offline synchronization settings for specific entities. For each entity the download setting is shown. A default is automatically determined by analyzing the model, but can be overridden by the developer in which case the setting will appear in boldface. -For more details on the settings and when to use them, see the [Offline-First Reference Guide](/refguide/mobile/building-efficient-mobile-apps/offlinefirst-data/synchronization/#customizable-synchronization). +For more details on the settings and when to use them, see the [Offline-First Reference Guide](/refguide10/mobile/building-efficient-mobile-apps/offlinefirst-data/synchronization/#customizable-synchronization). {{< figure src="/attachments/refguide10/modeling/app-explorer/app/navigation/customize-offline-synchronization.png" class="no-border" >}} ## Read More -* [App Explorer](/refguide/app-explorer/) -* [Navigation Tree](/refguide/navigation-tree/) +* [App Explorer](/refguide10/app-explorer/) +* [Navigation Tree](/refguide10/navigation-tree/) diff --git a/content/en/docs/refguide10/modeling/app-explorer/app/navigation/setting-up-the-navigation-structure.md b/content/en/docs/refguide10/modeling/app-explorer/app/navigation/setting-up-the-navigation-structure.md index a45c4fcb8fd..aece03a4a09 100644 --- a/content/en/docs/refguide10/modeling/app-explorer/app/navigation/setting-up-the-navigation-structure.md +++ b/content/en/docs/refguide10/modeling/app-explorer/app/navigation/setting-up-the-navigation-structure.md @@ -1,7 +1,7 @@ --- title: "Setting Up Navigation" linktitle: "Set Up Navigation" -url: /refguide/setting-up-the-navigation-structure/ +url: /refguide10/setting-up-the-navigation-structure/ description: "Describes how to configure the navigation structure in Studio Pro." aliases: - /howto/general/setting-up-the-navigation-structure/ @@ -70,11 +70,11 @@ Now every time a user with the **Administrator** user signs in to the applicatio ## Setting a Fallback Page {#fallback} -The fallback page is a page or microflow that can be used to customize the application's behavior when trying to access a [microflow](/refguide/microflow/#url) or [page](/refguide/page-properties/#url) URL that does not exist. When configured, the default pop-up stating "The page you requested was not found. You are redirected to the home page" is replaced by the fallback microflow or the page. Fallback pages are not available for offline profiles. +The fallback page is a page or microflow that can be used to customize the application's behavior when trying to access a [microflow](/refguide10/microflow/#url) or [page](/refguide10/page-properties/#url) URL that does not exist. When configured, the default pop-up stating "The page you requested was not found. You are redirected to the home page" is replaced by the fallback microflow or the page. Fallback pages are not available for offline profiles. If a microflow is used as a fallback, it can have only one String parameter named 'Path', which will contain the URL that could not be found. -The fallback page will only be used for URLs that start with a [URL Prefix](/refguide/app-settings/#url-prefix). +The fallback page will only be used for URLs that start with a [URL Prefix](/refguide10/app-settings/#url-prefix). ## Setting a Nanoflow as a Home Page {#nanoflow-home-page} @@ -104,7 +104,7 @@ You can create menu items for your navigation. Do the following: 6. Click **OK** to save the menu item. -In the overview of menu items you can see the name of the menu item, the target page/microflow, and the user role are the necessary settings to be configured for the menu item. The user roles are derived from the [page and microflow access settings](/refguide/module-security/). +In the overview of menu items you can see the name of the menu item, the target page/microflow, and the user role are the necessary settings to be configured for the menu item. The user roles are derived from the [page and microflow access settings](/refguide10/module-security/). You can restructure the menu by dragging and dropping menu items. diff --git a/content/en/docs/refguide10/modeling/app-explorer/app/system-texts.md b/content/en/docs/refguide10/modeling/app-explorer/app/system-texts.md index e311d0a1457..ad3f40494b1 100644 --- a/content/en/docs/refguide10/modeling/app-explorer/app/system-texts.md +++ b/content/en/docs/refguide10/modeling/app-explorer/app/system-texts.md @@ -1,6 +1,6 @@ --- title: "System Texts" -url: /refguide/system-texts/ +url: /refguide10/system-texts/ #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. --- @@ -9,7 +9,7 @@ url: /refguide/system-texts/ {{% alert color="info" %}} In Studio Pro 10.14.0, the web version of the system texts editor was released as an [experimental](/releasenotes/beta-features/) feature. You can enable it via **Preferences** > **New Features**. -If Translation Generator is also enabled, you can use this AI-powered translation tool in the new editor to translate the system texts. For more information, see the [Generating Translation for System Texts](/refguide/translation-generator/#translate-system-text) section in *Translation Generator*. +If Translation Generator is also enabled, you can use this AI-powered translation tool in the new editor to translate the system texts. For more information, see the [Generating Translation for System Texts](/refguide10/translation-generator/#translate-system-text) section in *Translation Generator*. {{% /alert %}} System texts are texts that are shown automatically to end-users by the server or the client. @@ -25,7 +25,7 @@ You can change the system texts in the following way: ## Languages -In the [App Settings](/refguide/project-settings/), you can manage the available languages of your application. For each language, you can specify the translation of the system texts. If you do not provide a translation, the text will be shown in the default language. +In the [App Settings](/refguide10/project-settings/), you can manage the available languages of your application. For each language, you can specify the translation of the system texts. If you do not provide a translation, the text will be shown in the default language. ## Parameters diff --git a/content/en/docs/refguide10/modeling/app-explorer/modules/_index.md b/content/en/docs/refguide10/modeling/app-explorer/modules/_index.md index 23790b70714..3e964779112 100644 --- a/content/en/docs/refguide10/modeling/app-explorer/modules/_index.md +++ b/content/en/docs/refguide10/modeling/app-explorer/modules/_index.md @@ -1,19 +1,19 @@ --- title: "Modules" -url: /refguide/modules/ +url: /refguide10/modules/ weight: 20 #If moving or renaming this doc file, implement a temporary redirect and let the respective team know they should update the URL in the product. See Mapping to Products for more details. --- ## Introduction -A Mendix app consists of modules: a **System** module, a [UI resources package](/refguide/ui-resources-package/), one or more user-defined **app modules**, [Marketplace modules](/appstore/modules/), [add-on modules](/refguide/configure-add-on-and-solution-modules/), and [solution modules](/refguide/configure-add-on-and-solution-modules/). +A Mendix app consists of modules: a **System** module, a [UI resources package](/refguide10/ui-resources-package/), one or more user-defined **app modules**, [Marketplace modules](/appstore/modules/), [add-on modules](/refguide10/configure-add-on-and-solution-modules/), and [solution modules](/refguide10/configure-add-on-and-solution-modules/). Modules are a way to split the functionality of your application into separate parts. For example, a web shop can put order management in a different module than customer and product management. Studio Pro does not enforce any kind of module structure; it is up to you to choose logical modules for your application. Some modules are part of your app by default, while others you can download in the [Mendix Marketplace](https://marketplace.mendix.com/) to add functionality to your app. The domain model is a data model that describes the information in your application domain in an abstract way. -Within a module you can define [module security](/refguide/module-security/) via module roles and specify the security settings of those module roles for pages, microflows, entities and datasets. +Within a module you can define [module security](/refguide10/module-security/) via module roles and specify the security settings of those module roles for pages, microflows, entities and datasets. Furthermore, a module can contain many different types of documents. Each type of document is described in its own domain-specific language (DSL). For example, user-interface forms are described by using a visual language with elements like text boxes, tables, and grids. @@ -25,57 +25,57 @@ The sections below present categories and tables for all the different kinds of ## Module Types {#module-types} -When you create a module, it has a default **app module** type. The type can be changed at any time in [Module Settings](/refguide/module-settings/). +When you create a module, it has a default **app module** type. The type can be changed at any time in [Module Settings](/refguide10/module-settings/). There are the following type of modules: -* [App modules](/refguide/module-settings/#app-module) (standard modules) -* [Add-on modules](/refguide/module-settings/#add-on-module) -* [Solution modules](/refguide/module-settings/#solution-module) +* [App modules](/refguide10/module-settings/#app-module) (standard modules) +* [Add-on modules](/refguide10/module-settings/#add-on-module) +* [Solution modules](/refguide10/module-settings/#solution-module) ## Common | Document type | Typical elements | Description | | --- | --- | --- | -| [Pages](/refguide/pages/) | [Data view](/refguide/data-view/), [data grid](/refguide/data-grid/), [table](/refguide/table/), [text box](/refguide/text-box/) | Forms are used to create a user interface for the end-user. They are composed of components that are called widgets. | -| [Microflows](/refguide/microflows/) | [Activities](/refguide/activities/), [sequence Flow](/refguide/sequence-flow/) | Microflows describe the logic of your app. They are composed of activities that manipulate objects and interact with the client. | -| [Enumerations](/refguide/enumerations/) | | An enumeration is a set of predefined values (for example, in a web shop, an enumeration called MemberType could have the values Gold and Silver. | +| [Pages](/refguide10/pages/) | [Data view](/refguide10/data-view/), [data grid](/refguide10/data-grid/), [table](/refguide10/table/), [text box](/refguide10/text-box/) | Forms are used to create a user interface for the end-user. They are composed of components that are called widgets. | +| [Microflows](/refguide10/microflows/) | [Activities](/refguide10/activities/), [sequence Flow](/refguide10/sequence-flow/) | Microflows describe the logic of your app. They are composed of activities that manipulate objects and interact with the client. | +| [Enumerations](/refguide10/enumerations/) | | An enumeration is a set of predefined values (for example, in a web shop, an enumeration called MemberType could have the values Gold and Silver. | ## Page Resources | Document type | Description | | --- | --- | -| [Images](/refguide/images/) | Images can be used to brighten up your app. Navigation items and the various kinds of buttons have small images (icons) to the left of their captions. | -| [Layouts](/refguide/layout/) | Layouts specify what comes where. Each [page](/refguide/page/) is based on a layout. The layout contains widgets and structures that return on every page based on that layout. | -| [Menus](/refguide/menu/) | A menu document defines a navigation menu that can be used by a [menu widget](/refguide/menu-widgets/). | -| [Snippets](/refguide/snippet/) | Snippets define reusable interface parts. They can be used on [pages](/refguide/page/) and [layouts](/refguide/layout/). | +| [Images](/refguide10/images/) | Images can be used to brighten up your app. Navigation items and the various kinds of buttons have small images (icons) to the left of their captions. | +| [Layouts](/refguide10/layout/) | Layouts specify what comes where. Each [page](/refguide10/page/) is based on a layout. The layout contains widgets and structures that return on every page based on that layout. | +| [Menus](/refguide10/menu/) | A menu document defines a navigation menu that can be used by a [menu widget](/refguide10/menu-widgets/). | +| [Snippets](/refguide10/snippet/) | Snippets define reusable interface parts. They can be used on [pages](/refguide10/page/) and [layouts](/refguide10/layout/). | ## Resources | Document type | Description | | --- | --- | -| [Constants](/refguide/constants/) | Constants are used to define a constant value (for example, to store a URL for a web service). | -| [Datasets](/refguide/data-sets/) | A dataset can be used for reporting and is defined using either an OQL query or a custom Java action. | -| [Document Templates](/refguide/document-templates/) | Document templates are used to model a template needed as input for a document export action that can generate all kinds of documents based on application data. They are composed much in the same way as forms. | -| [Java Actions](/refguide/java-actions/) | With Java actions, you can extend the functionality of your application in situations where it would be hard to implement the functionality in microflows. You can call a Java action from a microflow. | -| [Regular Expressions](/refguide/regular-expressions/) | A regular expression is used by [validation rules](/refguide/validation-rules/) on an entity to describe a set of criteria that a string can match. | -| [Rules](/refguide/rules/) | A rule defines a set of criteria. With a certain input, the rule will result in a Boolean or enumeration, depending on the criteria met. It can be called from a decision to determine the direction the microflow should go once a decision is reached. | -| [Task Queue](/refguide/task-queue/) | A task queue runs continuously to check if any microflow tasks have been added to it and executes the tasks in the background. | -| [Scheduled Events](/refguide/scheduled-events/) | A scheduled event is used to execute a microflow at a certain point in time. You can also schedule it to repeat after a given time. For example, a scheduled event can run every morning at 6 AM | +| [Constants](/refguide10/constants/) | Constants are used to define a constant value (for example, to store a URL for a web service). | +| [Datasets](/refguide10/data-sets/) | A dataset can be used for reporting and is defined using either an OQL query or a custom Java action. | +| [Document Templates](/refguide10/document-templates/) | Document templates are used to model a template needed as input for a document export action that can generate all kinds of documents based on application data. They are composed much in the same way as forms. | +| [Java Actions](/refguide10/java-actions/) | With Java actions, you can extend the functionality of your application in situations where it would be hard to implement the functionality in microflows. You can call a Java action from a microflow. | +| [Regular Expressions](/refguide10/regular-expressions/) | A regular expression is used by [validation rules](/refguide10/validation-rules/) on an entity to describe a set of criteria that a string can match. | +| [Rules](/refguide10/rules/) | A rule defines a set of criteria. With a certain input, the rule will result in a Boolean or enumeration, depending on the criteria met. It can be called from a decision to determine the direction the microflow should go once a decision is reached. | +| [Task Queue](/refguide10/task-queue/) | A task queue runs continuously to check if any microflow tasks have been added to it and executes the tasks in the background. | +| [Scheduled Events](/refguide10/scheduled-events/) | A scheduled event is used to execute a microflow at a certain point in time. You can also schedule it to repeat after a given time. For example, a scheduled event can run every morning at 6 AM | ## Consumed Services | Document type | Description | | --- | --- | -| [Consumed Web Services](/refguide/consumed-web-services/) | Importing web services of other applications (Mendix or otherwise) enables calling those web services from your microflows. | +| [Consumed Web Services](/refguide10/consumed-web-services/) | Importing web services of other applications (Mendix or otherwise) enables calling those web services from your microflows. | | | A domain-to-XML mapping defines a translation from domain model objects to XML objects. | | | An XML-to-domain mapping defines a translation from XML objects to domain model objects. | -| [XML Schemas](/refguide/xml-schemas/) | An XML schema is defined in an XML schema definition (XSD) file and can be imported in your model. It describes what a certain XML document should look like. | +| [XML Schemas](/refguide10/xml-schemas/) | An XML schema is defined in an XML schema definition (XSD) file and can be imported in your model. It describes what a certain XML document should look like. | ## Published Services | Document type | Description | | --- | --- | -| [Published REST Services](/refguide/published-rest-services/) | A microflow can be published as a REST service operation so that it can be consumed by other Mendix apps. | -| [Published OData/GraphQL Services](/refguide/published-odata-services/) | Persistable entities can be exposed in an OData service, so that they can be imported by third-party applications such as Excel. | -| [Published Web Services](/refguide/published-web-services/) | A microflow can be published as a web service operation so that it can be called by third-party applications. | +| [Published REST Services](/refguide10/published-rest-services/) | A microflow can be published as a REST service operation so that it can be consumed by other Mendix apps. | +| [Published OData/GraphQL Services](/refguide10/published-odata-services/) | Persistable entities can be exposed in an OData service, so that they can be imported by third-party applications such as Excel. | +| [Published Web Services](/refguide10/published-web-services/) | A microflow can be published as a web service operation so that it can be called by third-party applications. | diff --git a/content/en/docs/refguide10/modeling/app-explorer/modules/configure-add-on-and-solution-modules.md b/content/en/docs/refguide10/modeling/app-explorer/modules/configure-add-on-and-solution-modules.md index 7d1fa73a516..3be1026308b 100644 --- a/content/en/docs/refguide10/modeling/app-explorer/modules/configure-add-on-and-solution-modules.md +++ b/content/en/docs/refguide10/modeling/app-explorer/modules/configure-add-on-and-solution-modules.md @@ -1,7 +1,7 @@ --- title: "Configuring Add-on and Solution Modules for Publishing" linktitle: "Publish Add-on and Solution Modules" -url: /refguide/configure-add-on-and-solution-modules/ +url: /refguide10/configure-add-on-and-solution-modules/ weight: 20 --- @@ -65,7 +65,7 @@ Pages cannot be made **Usable**. Instead, a navigation microflow that opens the ## Exporting Add-on Modules and Solutions {#export} {{% alert color="info" %}} -Before exporting an add-on module or a solution to customers, note that only English (US) is shipped by default. This may be important if your app is in another language (meaning, not English (US)) and your customers decide to translate the consumed solution or add-on to other languages. To avoid confusion, open [Language](/refguide/translatable-texts/) > **Language Operations** and select the **Delete** operation for English (US). For details on performing a certain operation, see [Language Operations](/refguide/language-operations/). +Before exporting an add-on module or a solution to customers, note that only English (US) is shipped by default. This may be important if your app is in another language (meaning, not English (US)) and your customers decide to translate the consumed solution or add-on to other languages. To avoid confusion, open [Language](/refguide10/translatable-texts/) > **Language Operations** and select the **Delete** operation for English (US). For details on performing a certain operation, see [Language Operations](/refguide10/language-operations/). {{% /alert %}} ### Exporting Add-on Module Package @@ -88,7 +88,7 @@ The add-on module gets an *.mxmodule* extension. A solution package is an app package that can be sold as an out-of-the-box solution and can be used by multiple customers. It has a solution core that consists of solution modules. It can also consists of app modules and add-on modules. For more information, see [How to Create Solutions](/appstore/creating-content/sol-solutions-guide/) in the *Marketplace Guide*. -To export the solution package, right-click the name of the app in the **App Explorer** and select **Export app package**, or open **File** > **Export App Package**. For more information, see [Export App Package](/refguide/export-app-package-dialog/). +To export the solution package, right-click the name of the app in the **App Explorer** and select **Export app package**, or open **File** > **Export App Package**. For more information, see [Export App Package](/refguide10/export-app-package-dialog/). The solution package gets an *.mxsolution* extension. @@ -105,4 +105,4 @@ If for some reason you switch the add-on and solution module to an app module (f * [Create Solutions](/appstore/creating-content/sol-solutions-guide/) * [IP Protection](/appstore/creating-content/sol-ip-protection/) * [How to Use Marketplace Content](/appstore/use-content/) -* [Import and Export Apps, Modules, Widgets, and Documents](/refguide/import-and-export/) +* [Import and Export Apps, Modules, Widgets, and Documents](/refguide10/import-and-export/) diff --git a/content/en/docs/refguide10/modeling/app-explorer/modules/consume-add-on-modules-and-solutions.md b/content/en/docs/refguide10/modeling/app-explorer/modules/consume-add-on-modules-and-solutions.md index bf39a01f0c9..faf0201c60b 100644 --- a/content/en/docs/refguide10/modeling/app-explorer/modules/consume-add-on-modules-and-solutions.md +++ b/content/en/docs/refguide10/modeling/app-explorer/modules/consume-add-on-modules-and-solutions.md @@ -1,6 +1,6 @@ --- title: "Consuming Add-on Modules and Solutions" -url: /refguide/consume-add-on-modules-and-solutions/ +url: /refguide10/consume-add-on-modules-and-solutions/ linktitle: "Consume Add-on Modules and Solutions" weight: 30 #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. @@ -18,18 +18,18 @@ When consuming add-on modules and solutions, you may come across the following l * When debugging add-on and solution modules, you cannot step into microflows, debugging will automatically use **Step Over**. * If app modules and add-on modules or solutions have conflicting custom widgets, you are prompted with a warning showing the sources of the conflicts (module and widget package names) to find a workaround. An automatic fix is not implemented. -* When a constant is hidden, you cannot configure its value in the **App settings**. For more information on app settings, see the [Configuration Tab](/refguide/app-settings/#configurations) section in *App Settings*. +* When a constant is hidden, you cannot configure its value in the **App settings**. For more information on app settings, see the [Configuration Tab](/refguide10/app-settings/#configurations) section in *App Settings*. * If there are add-on modules imported into Studio Pro and the application is deployed for Eclipse using menu option **App > Deploy for Eclipse**, there are known build failures in Java source code. ## Importing an Add-on Module There are several ways to import an add-on module from the Marketplace. For more information, see the [Installing Marketplace Content](/appstore/use-content/#install) section in *Using Marketplace Content*. -You can also add an add-on module to your app not through the Marketplace. For more information, see the [Importing Module Package](/refguide/import-and-export/#import-module) section in *Importing and Exporting Apps, Modules, Widgets, and Documents*. +You can also add an add-on module to your app not through the Marketplace. For more information, see the [Importing Module Package](/refguide10/import-and-export/#import-module) section in *Importing and Exporting Apps, Modules, Widgets, and Documents*. ## Importing a Solution Package -A solution package is imported to your app as any other app package. For more information, see the [Importing App Packages](/refguide/import-and-export/#import-app-package) section in *Importing and Exporting Apps, Modules, Widgets, and Documents*. +A solution package is imported to your app as any other app package. For more information, see the [Importing App Packages](/refguide10/import-and-export/#import-app-package) section in *Importing and Exporting Apps, Modules, Widgets, and Documents*. ## Working with Add-on Modules and Solutions in Your App @@ -52,4 +52,4 @@ The module is deleted from your app. * [IP Protection](/appstore/creating-content/sol-ip-protection/) * [How to Use Marketplace Content](/appstore/use-content/) -* [Importing and Exporting Apps, Modules, Widgets, and Documents](/refguide/import-and-export/) +* [Importing and Exporting Apps, Modules, Widgets, and Documents](/refguide10/import-and-export/) diff --git a/content/en/docs/refguide10/modeling/app-explorer/modules/module-settings.md b/content/en/docs/refguide10/modeling/app-explorer/modules/module-settings.md index a79f1a26007..d1c7333fcaa 100644 --- a/content/en/docs/refguide10/modeling/app-explorer/modules/module-settings.md +++ b/content/en/docs/refguide10/modeling/app-explorer/modules/module-settings.md @@ -1,6 +1,6 @@ --- title: "Module Settings" -url: /refguide/module-settings/ +url: /refguide10/module-settings/ weight: 10 #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. --- @@ -23,7 +23,7 @@ To open module settings, double-click **Settings** in the required module. Java managed dependencies are available in Studio Pro 10.3.0 and above. {{% /alert %}} -You can add managed dependencies for each module on the **Java Dependencies** tab. For more information, see [Managed Dependencies](/refguide/managed-dependencies/). +You can add managed dependencies for each module on the **Java Dependencies** tab. For more information, see [Managed Dependencies](/refguide10/managed-dependencies/). {{< figure src="/attachments/refguide10/modeling/app-explorer/modules/module-settings/module-settings-java-dependencies.png" class="no-border" >}} @@ -55,7 +55,7 @@ An app module is exported as a package file (*.mpk* ) that includes the full sou An add-on module is a standalone module that is not dependent on other modules. It is used as a separate element (for example, as a connector). -An add-on module is exported as a module file (*.mxmodule*) that only exposes the elements with the **Usable** export level. For more information on export levels, see [Configuring Add-on and Solution Modules for Publishing](/refguide/configure-add-on-and-solution-modules/). Its source cannot be inspected by the consumer of the module. +An add-on module is exported as a module file (*.mxmodule*) that only exposes the elements with the **Usable** export level. For more information on export levels, see [Configuring Add-on and Solution Modules for Publishing](/refguide10/configure-add-on-and-solution-modules/). Its source cannot be inspected by the consumer of the module. If you are creating functionality that can be exported and used by other users separately and independently of the rest of the app, you can set your module to an add-on type. @@ -79,7 +79,7 @@ Mendix recommends setting a new version every time changes are made to the modul ## Read More -* [Modules](/refguide/modules/) -* [Configure Add-on and Solution Modules for Publishing](/refguide/configure-add-on-and-solution-modules/) +* [Modules](/refguide10/modules/) +* [Configure Add-on and Solution Modules for Publishing](/refguide10/configure-add-on-and-solution-modules/) * [IP Protection](/appstore/creating-content/sol-ip-protection/) * [Create Solutions](/appstore/creating-content/sol-solutions-guide/) diff --git a/content/en/docs/refguide10/modeling/app-explorer/modules/ui-resources-package.md b/content/en/docs/refguide10/modeling/app-explorer/modules/ui-resources-package.md index da4c0466a78..0949202e9dd 100644 --- a/content/en/docs/refguide10/modeling/app-explorer/modules/ui-resources-package.md +++ b/content/en/docs/refguide10/modeling/app-explorer/modules/ui-resources-package.md @@ -1,13 +1,13 @@ --- title: "UI Resources Package" -url: /refguide/ui-resources-package/ +url: /refguide10/ui-resources-package/ --- ## Introduction -The UI resources package is a specific [module](/refguide/modules/) marked by a green icon in the App Explorer, that determines the app's look and feel. It does this in two distinct ways. First, the package supplies the app with all the page documents required to create well-designed, consistent pages, such as [page templates](/refguide/page-templates/) and [building blocks](/refguide/building-block/). Second, the package contains theme information, which allows users to easily switch out themes that complement the accompanying page documents. +The UI resources package is a specific [module](/refguide10/modules/) marked by a green icon in the App Explorer, that determines the app's look and feel. It does this in two distinct ways. First, the package supplies the app with all the page documents required to create well-designed, consistent pages, such as [page templates](/refguide10/page-templates/) and [building blocks](/refguide10/building-block/). Second, the package contains theme information, which allows users to easily switch out themes that complement the accompanying page documents. -Which module is set as the UI resources package is governed by the **UI resources package** setting in the **Theme** tab of the [App Settings settings](/refguide/project-settings/). This setting will automatically be updated if a new UI resources package is imported. +Which module is set as the UI resources package is governed by the **UI resources package** setting in the **Theme** tab of the [App Settings settings](/refguide10/project-settings/). This setting will automatically be updated if a new UI resources package is imported. The core concept of a UI resources package as an easily shared source of design utilities works best if the contents of the module is restricted to page templates and building blocks. Adding pages, microflows, and entities is possible and can be useful, but it also forces users to use static resources that may not be ideally suited to their specific application. Consequently, when they inevitably feel the need to tweak those resources to their requirements, the package can no longer be easily updated and maintained by the original designer. diff --git a/content/en/docs/refguide10/modeling/app-from-spreadsheet.md b/content/en/docs/refguide10/modeling/app-from-spreadsheet.md index 70292f8ac3f..5232a296476 100644 --- a/content/en/docs/refguide10/modeling/app-from-spreadsheet.md +++ b/content/en/docs/refguide10/modeling/app-from-spreadsheet.md @@ -1,6 +1,6 @@ --- title: "Starting with App from a Spreadsheet" -url: /refguide/app-from-spreadsheet/ +url: /refguide10/app-from-spreadsheet/ weight: 19 description: "Describes how to import an Excel spreadsheet to your app in Mendix Studio Pro using App from a spreadsheet template." #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. diff --git a/content/en/docs/refguide10/modeling/app-performance/_index.md b/content/en/docs/refguide10/modeling/app-performance/_index.md index 2da6e229f42..2d190114f26 100644 --- a/content/en/docs/refguide10/modeling/app-performance/_index.md +++ b/content/en/docs/refguide10/modeling/app-performance/_index.md @@ -1,7 +1,7 @@ --- title: "Community Best Practices for App Performance" linktitle: "App Performance" -url: /refguide/community-best-practices-for-app-performance/ +url: /refguide10/community-best-practices-for-app-performance/ weight: 15 description: "Describes some best practices to apply during development to get a better performing app. This document is created by and for the Mendix community." aliases: @@ -46,7 +46,7 @@ If you made a simple and sound design of the app's domain models, consider the f * Add separate entities for specializations with a one-to-one relation. Depending on UI needs, this one-to-one relation might be a normal reference from specialization to generalization to save prefetching time. * Add a non-persistable layer with inheritance that is populated by your business logic. * Do not use temporary associations on persistable entities. Use a non-persistable entity for your screen/UI logic here. -* Avoid using more than one [association](/refguide/associations/) between entities, especially if such associations give different access levels. Instead, use [enumerations](/refguide/enumerations/) within one of the entities, or add an intermediary entity between the entities that contains an enumeration with the association type. For example, if different user types are accessing a document, do not create the associations **Document_Owner**, **Document_Editor**, **Document_Viewer**, etc. Instead, add an intermediary entity named **DocumentAccess** between the entities that contains an enumeration named **AccessType**, with the possible values of **Owner**, **Editor**, and **Viewer**. +* Avoid using more than one [association](/refguide10/associations/) between entities, especially if such associations give different access levels. Instead, use [enumerations](/refguide10/enumerations/) within one of the entities, or add an intermediary entity between the entities that contains an enumeration with the association type. For example, if different user types are accessing a document, do not create the associations **Document_Owner**, **Document_Editor**, **Document_Viewer**, etc. Instead, add an intermediary entity named **DocumentAccess** between the entities that contains an enumeration named **AccessType**, with the possible values of **Owner**, **Editor**, and **Viewer**. ## Index @@ -68,8 +68,8 @@ Indexes is a topic with a long history of best practices from the database world * Try to prevent multiple identical data sources, since they load the object multiple times. * Minimize conditional visibility. * Give the user feedback. If this takes more than a few seconds, provide a progress indication. -* Do work asynchronously if the user does not have to wait for the result. For example, sending mails or updating other apps over an interface should never be something the user is waiting on in the UI. For running work asynchronously, there are options in the [Community Commons Function Library](/appstore/modules/community-commons-function-library/) in the Mendix Marketplace to run microflows in the background or have a [task queue](/refguide/task-queue/) to control the load and prevent peaks in background work. -* When using a filter via an attribute from an associated entity in a data grid, restricting possible options is suggested in the drop-down search field so that only objects that have an association to the entity in the grid are fetched. For example scenario, you have a grid for the **Order** entity where you want to add a drop-down search field to filter by **Order_Customer/Customer/Name**. It would be beneficial to add the following [XPath](/refguide/xpath/) constraint to the drop-down search field: `[Order_Customer/Order]`. That way only **Customer**s with **Order**s will be available in the drop-down search. This is necessary because in some databases, filtering by non-existing criteria is slow, even if all indices are in place. +* Do work asynchronously if the user does not have to wait for the result. For example, sending mails or updating other apps over an interface should never be something the user is waiting on in the UI. For running work asynchronously, there are options in the [Community Commons Function Library](/appstore/modules/community-commons-function-library/) in the Mendix Marketplace to run microflows in the background or have a [task queue](/refguide10/task-queue/) to control the load and prevent peaks in background work. +* When using a filter via an attribute from an associated entity in a data grid, restricting possible options is suggested in the drop-down search field so that only objects that have an association to the entity in the grid are fetched. For example scenario, you have a grid for the **Order** entity where you want to add a drop-down search field to filter by **Order_Customer/Customer/Name**. It would be beneficial to add the following [XPath](/refguide10/xpath/) constraint to the drop-down search field: `[Order_Customer/Order]`. That way only **Customer**s with **Order**s will be available in the drop-down search. This is necessary because in some databases, filtering by non-existing criteria is slow, even if all indices are in place. ## Microflows {#microflow-community-best-practices} @@ -78,10 +78,10 @@ Indexes is a topic with a long history of best practices from the database world * If needed, create a list named `_CommitList` (or `_DeleteList`) before the loop and collect the items to be committed (or deleted) there. * For retrieves in a loop, consider retrieving all the data before the loop, and do finds on that list inside the loop. * If loops contain decisions, consider if the decision logic can be a query before the loop to minimize iterations. -* When working with a large number of objects, consider working in batches. Committing or deleting items one by one can be slow, but these activities clean up memory. Doing this in batches ensures both good performance and low memory usage. For deletions, this is only possible in Studio Pro 10.17.0 and above. Create a [variable](/refguide/create-variable/) that is of data type Integer/Long and use it as a counter to decide in a loop when to perform the **Commit object(s)** or **Delete object(s)** activity on the list. Do not forget to use a **Change list** activity to do a **Clear** operation on the `_CommitList` list after the **Commit object(s)** activity. The `_DeleteList` list is cleared automatically during the **Delete object(s)** activity. +* When working with a large number of objects, consider working in batches. Committing or deleting items one by one can be slow, but these activities clean up memory. Doing this in batches ensures both good performance and low memory usage. For deletions, this is only possible in Studio Pro 10.17.0 and above. Create a [variable](/refguide10/create-variable/) that is of data type Integer/Long and use it as a counter to decide in a loop when to perform the **Commit object(s)** or **Delete object(s)** activity on the list. Do not forget to use a **Change list** activity to do a **Clear** operation on the `_CommitList` list after the **Commit object(s)** activity. The `_DeleteList` list is cleared automatically during the **Delete object(s)** activity. * Prevent unnecessary retrieves if objects or lists can be passed as parameters. * Know and use the retrieve + aggregate optimization. If you retrieve a list and count the list, Mendix will optimize this to one query. If you need the list later in the microflow, after some decisions, it is wise to retrieve the list again so that you only retrieve the data when needed. This also works in batches where you can retrieve the total count optimized and retrieve chunks in a separate query. -* Use retrieve over association if possible. This ensures that you have the latest version of your objects, including any changes which are not yet committed which the runtime will [take from memory](/refguide/mendix-client/#object-cache). If business logic requires the database value (because you want to ignore changes to the value over association), then you will need to make a database retrieve. +* Use retrieve over association if possible. This ensures that you have the latest version of your objects, including any changes which are not yet committed which the runtime will [take from memory](/refguide10/mendix-client/#object-cache). If business logic requires the database value (because you want to ignore changes to the value over association), then you will need to make a database retrieve. * Commit as late as possible. A commit locks that record (or list of records). This means that any other user/logic that wants to commit the same object has to wait until the first transaction is finished. * To prevent locking, do scheduled events that commit data in small chunks. This is so the data does not get locked over a longer period of time. @@ -101,7 +101,7 @@ For OQL, many of the same best practices apply as for XPath. ## Web Services and XML -* Use SSHA256 instead of BCrypt (except for [password hashing](/refguide/app-settings/#hash-algorithm)). +* Use SSHA256 instead of BCrypt (except for [password hashing](/refguide10/app-settings/#hash-algorithm)). * Validating against schema slows down the processing. * Using sub-transactions for microflows slows down processing. @@ -112,6 +112,6 @@ For OQL, many of the same best practices apply as for XPath. ## Best Practice Recommender -[Best Practice Recommender](/refguide/best-practice-recommender/) can help you find potential improvements to your app in general, such as performance, security, naming conventions, and so on. It can be accessed via **View** > **Best Practice Recommender**. +[Best Practice Recommender](/refguide10/best-practice-recommender/) can help you find potential improvements to your app in general, such as performance, security, naming conventions, and so on. It can be accessed via **View** > **Best Practice Recommender**. -For more information on best practices, see [Recommendations from Best Practice Recommender](/refguide/performance-best-practices/). +For more information on best practices, see [Recommendations from Best Practice Recommender](/refguide10/performance-best-practices/). diff --git a/content/en/docs/refguide10/modeling/app-performance/detect-and-resolve-performance-issues.md b/content/en/docs/refguide10/modeling/app-performance/detect-and-resolve-performance-issues.md index 60beb190ce4..f7dbc42766b 100644 --- a/content/en/docs/refguide10/modeling/app-performance/detect-and-resolve-performance-issues.md +++ b/content/en/docs/refguide10/modeling/app-performance/detect-and-resolve-performance-issues.md @@ -1,6 +1,6 @@ --- title: "Detect and Resolve Performance Issues" -url: /refguide/detect-and-resolve-performance-issues/ +url: /refguide10/detect-and-resolve-performance-issues/ description: "Describes possible performance issues with root causes and resolutions." aliases: - /howto/monitoring-troubleshooting/detect-and-resolve-performance-issues/ @@ -83,7 +83,7 @@ The Mendix Server and [Apps](/developerportal/) offer a number of performance gr Once you have identified a slow page, it is easy to identify which microflows are executed on that page. Make sure you look at directly referenced microflows (such as data sources), and also at sub-microflows, on-change event handlers, and domain model event handlers that could be called by your page. -Setting a breakpoint and stepping through these relevant microflows can often give you a quick (although subjective) way to find a slow action (for details, see [Debugging Microflows and Nanoflows](/refguide/debug-microflows-and-nanoflows/)). If you cannot subjectively identify your slow process, move on to the next step. +Setting a breakpoint and stepping through these relevant microflows can often give you a quick (although subjective) way to find a slow action (for details, see [Debugging Microflows and Nanoflows](/refguide10/debug-microflows-and-nanoflows/)). If you cannot subjectively identify your slow process, move on to the next step. ### Microflow Time Stamps @@ -126,7 +126,7 @@ Slow retrieves can occur for a number of different reasons, such as: Additionally, for details on how denormalization can improve your app performance in some cases, review [How to Denormalize Data to Improve Performance](/howto/data-models/denormalize-data-to-improve-performance/). {{% alert color="info" %}} -You can set the [LogMinDurationQuery](/refguide/custom-settings/#LogMinDurationQuery) custom setting to debug slow database queries (OQL and XPath). For example, for debugging purposes, you could set the value to `500` milliseconds to see all the retrieves or commits that take longer than `500` milliseconds. +You can set the [LogMinDurationQuery](/refguide10/custom-settings/#LogMinDurationQuery) custom setting to debug slow database queries (OQL and XPath). For example, for debugging purposes, you could set the value to `500` milliseconds to see all the retrieves or commits that take longer than `500` milliseconds. {{% /alert %}} ### Slow Database Commits @@ -183,9 +183,9 @@ As always, make sure you look at the retrieves and commits performed in your loo ## Using Best Practice Recommender -[Best Practice Recommender](/refguide/best-practice-recommender/) can help you find potential improvements to your app in general, such as performance, security, naming conventions, and so on. It can be accessed via **View** > **Best Practice Recommender**. +[Best Practice Recommender](/refguide10/best-practice-recommender/) can help you find potential improvements to your app in general, such as performance, security, naming conventions, and so on. It can be accessed via **View** > **Best Practice Recommender**. -For more information on best practices, see [Recommendations from Best Practice Recommender](/refguide/performance-best-practices/). +For more information on best practices, see [Recommendations from Best Practice Recommender](/refguide10/performance-best-practices/). ## Read More diff --git a/content/en/docs/refguide10/modeling/app-performance/manage-app-performance-with-new-relic.md b/content/en/docs/refguide10/modeling/app-performance/manage-app-performance-with-new-relic.md index 3d635290ac1..60acb4258ff 100644 --- a/content/en/docs/refguide10/modeling/app-performance/manage-app-performance-with-new-relic.md +++ b/content/en/docs/refguide10/modeling/app-performance/manage-app-performance-with-new-relic.md @@ -1,6 +1,6 @@ --- title: "Manage App Performance with New Relic" -url: /refguide/manage-app-performance-with-new-relic/ +url: /refguide10/manage-app-performance-with-new-relic/ weight: 2 aliases: - /howto/monitoring-troubleshooting/manage-app-performance-with-new-relic/ diff --git a/content/en/docs/refguide10/modeling/application-logic/_index.md b/content/en/docs/refguide10/modeling/application-logic/_index.md index 760e20259e1..fbd08558621 100644 --- a/content/en/docs/refguide10/modeling/application-logic/_index.md +++ b/content/en/docs/refguide10/modeling/application-logic/_index.md @@ -1,6 +1,6 @@ --- title: "Application Logic" -url: /refguide/application-logic/ +url: /refguide10/application-logic/ weight: 40 description: "Presents an overview of documentation on microflows and nanoflows." --- @@ -9,14 +9,14 @@ description: "Presents an overview of documentation on microflows and nanoflows. While you can create a simple Mendix app using widgets on pages, you can unleash the full power of Mendix by adding application logic to your app. -Application logic in Mendix can be implemented via [microflows](/refguide/microflows/), [nanoflows](/refguide/nanoflows/), and [workflows](/refguide/workflows/). These are visual ways of expressing what traditionally ends up in a textual programming code. +Application logic in Mendix can be implemented via [microflows](/refguide10/microflows/), [nanoflows](/refguide10/nanoflows/), and [workflows](/refguide10/workflows/). These are visual ways of expressing what traditionally ends up in a textual programming code. {{< figure src="/attachments/refguide10/modeling/application-logic/logic-comparison-diagram.png" class="no-border">}} Microflows and nanoflows are short-lived in nature. They can perform actions such as creating and updating objects, customizing button functionalities, showing pages, and making choices. For example, you can use a microflow to customize a **Save** button for validating end-users' input data. For more instructions, see the [Defining Logic Using Microflows](/quickstarts/responsive-web-app/#microflow-use-case) section in *Building a Responsive Web App*. An example of a nanoflow is to use it to create a button that allows end-users to take a picture. For more instructions, see the [Using a Nanoflow to Call a JavaScript Action](/quickstarts/native-mobile-app/#nanoflow-use-case) section in *Adding a Native Mobile App*. -Microflows run in the runtime server and can therefore not be used in offline apps, while nanoflows run directly on the client side (that is, on the browser/device), and can be used in an offline app. For more details on their differences, see the [Differences between Microflows and Nanoflows](/refguide/microflows-and-nanoflows/#differences) section in *Microflows and Nanoflows*. +Microflows run in the runtime server and can therefore not be used in offline apps, while nanoflows run directly on the client side (that is, on the browser/device), and can be used in an offline app. For more details on their differences, see the [Differences between Microflows and Nanoflows](/refguide10/microflows-and-nanoflows/#differences) section in *Microflows and Nanoflows*. -Workflows represent a long-lived process. They are used to build extendable processes and are fully integrated with other editors, such as the microflow editor and the page editor. The main difference of workflows from microflows and nanoflows is from a waiting aspect—the workflow is paused until it gets an input from an end-user. An example of a workflow is when an employee sends a business travel request to get approved by their manager. Sending the travel request will trigger the start of the workflow and then the workflow is paused until a manager approves or rejects the request by clicking a button. For more information on workflow definitions, properties, and usages, see [Workflows](/refguide/workflows/). +Workflows represent a long-lived process. They are used to build extendable processes and are fully integrated with other editors, such as the microflow editor and the page editor. The main difference of workflows from microflows and nanoflows is from a waiting aspect—the workflow is paused until it gets an input from an end-user. An example of a workflow is when an employee sends a business travel request to get approved by their manager. Sending the travel request will trigger the start of the workflow and then the workflow is paused until a manager approves or rejects the request by clicking a button. For more information on workflow definitions, properties, and usages, see [Workflows](/refguide10/workflows/). -In Mendix, expressions play a crucial role in defining conditional actions and logic within your application. For instance, they are often used in [decisions in microflows or nanoflows](/refguide/decisions/), or in [decisions in workflows](/refguide/decision-in-workflows/). For an overview of expressions that are available in Mendix, see [Expressions](/refguide/expressions/). +In Mendix, expressions play a crucial role in defining conditional actions and logic within your application. For instance, they are often used in [decisions in microflows or nanoflows](/refguide10/decisions/), or in [decisions in workflows](/refguide10/decision-in-workflows/). For an overview of expressions that are available in Mendix, see [Expressions](/refguide10/expressions/). diff --git a/content/en/docs/refguide10/modeling/application-logic/expressions/_index.md b/content/en/docs/refguide10/modeling/application-logic/expressions/_index.md index cad833296c5..691a6e6ab55 100644 --- a/content/en/docs/refguide10/modeling/application-logic/expressions/_index.md +++ b/content/en/docs/refguide10/modeling/application-logic/expressions/_index.md @@ -1,11 +1,11 @@ --- title: "Expressions" -url: /refguide/expressions/ +url: /refguide10/expressions/ weight: 30 description: "Describes the expressions that can be used in Mendix for a variety of purposes (for example, to change a member of an object based on logic)." aliases: - - /refguide/microflow-expressions.html - - /refguide/microflow-expressions + - /refguide10/microflow-expressions.html + - /refguide10/microflow-expressions #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. --- @@ -57,7 +57,7 @@ This way the first statement gets evaluated. ### Regular Expressions -[Regular Expression](/refguide/regular-expressions/) resource documents cannot be used in expressions. However, the format of regular expressions, sub-expressions, and quantifiers used in regular expression strings is the same as the ones described in the [Expression](/refguide/regular-expressions/#expression) section of *Regular Expressions*. +[Regular Expression](/refguide10/regular-expressions/) resource documents cannot be used in expressions. However, the format of regular expressions, sub-expressions, and quantifiers used in regular expression strings is the same as the ones described in the [Expression](/refguide10/regular-expressions/#expression) section of *Regular Expressions*. ## System Items {#system-items} @@ -81,177 +81,177 @@ For performance reasons, this information is cached. If you need the current val ## Unary Expressions -* [Unary minus ( `-` )](/refguide/unary-expressions/) +* [Unary minus ( `-` )](/refguide10/unary-expressions/) ## Arithmetic Expressions -* [Multiplication ( `*` )](/refguide/arithmetic-expressions/#multiplication) -* [Division ( `div` or `:` )](/refguide/arithmetic-expressions/#division) -* [Modulo ( `mod` )](/refguide/arithmetic-expressions/#modulo) -* [Addition ( `+` )](/refguide/arithmetic-expressions/#addition) -* [Subtraction ( `-` )](/refguide/arithmetic-expressions/#subtraction) +* [Multiplication ( `*` )](/refguide10/arithmetic-expressions/#multiplication) +* [Division ( `div` or `:` )](/refguide10/arithmetic-expressions/#division) +* [Modulo ( `mod` )](/refguide10/arithmetic-expressions/#modulo) +* [Addition ( `+` )](/refguide10/arithmetic-expressions/#addition) +* [Subtraction ( `-` )](/refguide10/arithmetic-expressions/#subtraction) ## Relational Expressions -* [Less than ( `<` )](/refguide/relational-expressions/#less-than) -* [Greater than ( `>` )](/refguide/relational-expressions/#greater-than) -* [Less than or equal to ( `<=` )](/refguide/relational-expressions/#less-than-or-equal-to) -* [Greater than or equal to ( `>=` )](/refguide/relational-expressions/#greater-than-or-equal-to) -* [Equal to ( `=` )](/refguide/relational-expressions/#equal-to) -* [Not equal to ( `!=` )](/refguide/relational-expressions/#not-equal-to) +* [Less than ( `<` )](/refguide10/relational-expressions/#less-than) +* [Greater than ( `>` )](/refguide10/relational-expressions/#greater-than) +* [Less than or equal to ( `<=` )](/refguide10/relational-expressions/#less-than-or-equal-to) +* [Greater than or equal to ( `>=` )](/refguide10/relational-expressions/#greater-than-or-equal-to) +* [Equal to ( `=` )](/refguide10/relational-expressions/#equal-to) +* [Not equal to ( `!=` )](/refguide10/relational-expressions/#not-equal-to) ## Special Checks -* [Checking for an empty object](/refguide/special-checks/#empty-object) -* [Checking for an empty object member](/refguide/special-checks/#empty-object-member) -* [Checking if an object is new (`isNew`)](/refguide/special-checks/#new) -* [Checking if an object is synced (`isSynced`)](/refguide/special-checks/#synced) -* [Checking if a synchronization is running (`isSyncing`)](/refguide/special-checks/#is-syncing) +* [Checking for an empty object](/refguide10/special-checks/#empty-object) +* [Checking for an empty object member](/refguide10/special-checks/#empty-object-member) +* [Checking if an object is new (`isNew`)](/refguide10/special-checks/#new) +* [Checking if an object is synced (`isSynced`)](/refguide10/special-checks/#synced) +* [Checking if a synchronization is running (`isSyncing`)](/refguide10/special-checks/#is-syncing) ## Boolean Expressions -* [`and`](/refguide/boolean-expressions/#and) -* [`or`](/refguide/boolean-expressions/#or) -* [`not`](/refguide/boolean-expressions/#not) +* [`and`](/refguide10/boolean-expressions/#and) +* [`or`](/refguide10/boolean-expressions/#or) +* [`not`](/refguide10/boolean-expressions/#not) ## If Expressions -* [`if`](/refguide/if-expressions/) – performs a conditional action +* [`if`](/refguide10/if-expressions/) – performs a conditional action ## Mathematical Function Calls -* [`max`](/refguide/mathematical-function-calls/#max) – the maximum of a list of numbers -* [`min`](/refguide/mathematical-function-calls/#min) – the minimum of a list of numbers -* [`round`](/refguide/mathematical-function-calls/#round) – the rounding of a floating-point number, optionally to a specified precision -* [`random`](/refguide/mathematical-function-calls/#random) – random number generation -* [`floor`](/refguide/mathematical-function-calls/#floor) – the rounding of a floating-point number down -* [`ceil`](/refguide/mathematical-function-calls/#ceil) – the rounding of a floating-point number up -* [`pow`](/refguide/mathematical-function-calls/#pow) – the exponentiation -* [`abs`](/refguide/mathematical-function-calls/#abs) – the absolute value -* [`sqrt`](/refguide/mathematical-function-calls/#sqrt) – the square root +* [`max`](/refguide10/mathematical-function-calls/#max) – the maximum of a list of numbers +* [`min`](/refguide10/mathematical-function-calls/#min) – the minimum of a list of numbers +* [`round`](/refguide10/mathematical-function-calls/#round) – the rounding of a floating-point number, optionally to a specified precision +* [`random`](/refguide10/mathematical-function-calls/#random) – random number generation +* [`floor`](/refguide10/mathematical-function-calls/#floor) – the rounding of a floating-point number down +* [`ceil`](/refguide10/mathematical-function-calls/#ceil) – the rounding of a floating-point number up +* [`pow`](/refguide10/mathematical-function-calls/#pow) – the exponentiation +* [`abs`](/refguide10/mathematical-function-calls/#abs) – the absolute value +* [`sqrt`](/refguide10/mathematical-function-calls/#sqrt) – the square root ## String Function Calls -* [`toLowerCase`](/refguide/string-function-calls/#toLowerCase) – converts the string to lower-case -* [`toUpperCase`](/refguide/string-function-calls/#toUpperCase) – converts the string to upper-case -* [`substring`](/refguide/string-function-calls/#substring) – gets a part of a string -* [`find`](/refguide/string-function-calls/#find) – gets a sub-string position -* [`findLast`](/refguide/string-function-calls/#findLast) – gets the last sub-string position -* [`contains`](/refguide/string-function-calls/#contains) – contains the sub-string -* [`startsWith`](/refguide/string-function-calls/#startWith) – determines whether a string starts with the specified sub-string -* [`endsWith`](/refguide/string-function-calls/#endWith) – determines whether a string ends with the specified sub-string -* [`trim`](/refguide/string-function-calls/#trim) – removes the leading and trailing whitespace -* [`isMatch`](/refguide/string-function-calls/#isMatch) – matches a regular expression -* [`replaceAll`](/refguide/string-function-calls/#replaceAll) – replaces the occurrences of a sub-string -* [`replaceFirst`](/refguide/string-function-calls/#replaceFirst) – replaces the first occurrence of a sub-string -* [String concatenation ( `+` )](/refguide/string-function-calls/#string-concatenation) – concatenates strings -* [`urlEncode`](/refguide/string-function-calls/#urlEncode) – converts a string to be used in a URL -* [`urlDecode`](/refguide/string-function-calls/#urlDecode) – converts a string back from a URL +* [`toLowerCase`](/refguide10/string-function-calls/#toLowerCase) – converts the string to lower-case +* [`toUpperCase`](/refguide10/string-function-calls/#toUpperCase) – converts the string to upper-case +* [`substring`](/refguide10/string-function-calls/#substring) – gets a part of a string +* [`find`](/refguide10/string-function-calls/#find) – gets a sub-string position +* [`findLast`](/refguide10/string-function-calls/#findLast) – gets the last sub-string position +* [`contains`](/refguide10/string-function-calls/#contains) – contains the sub-string +* [`startsWith`](/refguide10/string-function-calls/#startWith) – determines whether a string starts with the specified sub-string +* [`endsWith`](/refguide10/string-function-calls/#endWith) – determines whether a string ends with the specified sub-string +* [`trim`](/refguide10/string-function-calls/#trim) – removes the leading and trailing whitespace +* [`isMatch`](/refguide10/string-function-calls/#isMatch) – matches a regular expression +* [`replaceAll`](/refguide10/string-function-calls/#replaceAll) – replaces the occurrences of a sub-string +* [`replaceFirst`](/refguide10/string-function-calls/#replaceFirst) – replaces the first occurrence of a sub-string +* [String concatenation ( `+` )](/refguide10/string-function-calls/#string-concatenation) – concatenates strings +* [`urlEncode`](/refguide10/string-function-calls/#urlEncode) – converts a string to be used in a URL +* [`urlDecode`](/refguide10/string-function-calls/#urlDecode) – converts a string back from a URL ## Date Creation -* [`dateTime`](/refguide/date-creation/) – creating a date value using the server's calendar -* [`dateTimeUTC`](/refguide/date-creation/) – creating a date value using the UTC calendar +* [`dateTime`](/refguide10/date-creation/) – creating a date value using the server's calendar +* [`dateTimeUTC`](/refguide10/date-creation/) – creating a date value using the UTC calendar ## Begin-of Date Function Calls -* [`BeginOfDay`](/refguide/begin-of-date-function-calls/#beginOfDay) – calculates the beginning of the day compared to the initial date -* [`BeginOfWeek`](/refguide/begin-of-date-function-calls/#beginOfWeek) – calculates the beginning of the week compared to the initial date -* [`BeginOfMonth`](/refguide/begin-of-date-function-calls/#beginOfMonth) – calculates the beginning of the month compared to the initial date -* [`BeginOfYear`](/refguide/begin-of-date-function-calls/#beginOfYear) – calculates the beginning of the year compared to the initial date +* [`BeginOfDay`](/refguide10/begin-of-date-function-calls/#beginOfDay) – calculates the beginning of the day compared to the initial date +* [`BeginOfWeek`](/refguide10/begin-of-date-function-calls/#beginOfWeek) – calculates the beginning of the week compared to the initial date +* [`BeginOfMonth`](/refguide10/begin-of-date-function-calls/#beginOfMonth) – calculates the beginning of the month compared to the initial date +* [`BeginOfYear`](/refguide10/begin-of-date-function-calls/#beginOfYear) – calculates the beginning of the year compared to the initial date ## End-of Date Function Calls -* [`EndOfDay`](/refguide/end-of-date-function-calls/#endOfDay) – calculates the end of the day compared to the initial date -* [`EndOfWeek`](/refguide/end-of-date-function-calls/#endOfWeek) – calculates the end of the week compared to the initial date -* [`EndOfMonth`](/refguide/end-of-date-function-calls/#endOfMonth) – calculates the end of the month compared to the initial date -* [`EndOfYear`](/refguide/end-of-date-function-calls/#endOfYear) – calculates the end of the year compared to the initial date +* [`EndOfDay`](/refguide10/end-of-date-function-calls/#endOfDay) – calculates the end of the day compared to the initial date +* [`EndOfWeek`](/refguide10/end-of-date-function-calls/#endOfWeek) – calculates the end of the week compared to the initial date +* [`EndOfMonth`](/refguide10/end-of-date-function-calls/#endOfMonth) – calculates the end of the month compared to the initial date +* [`EndOfYear`](/refguide10/end-of-date-function-calls/#endOfYear) – calculates the end of the year compared to the initial date ## Between Date Function Calls -* [`millisecondsBetween`](/refguide/between-date-function-calls/#millisecondsBetween) – the milliseconds between two dates -* [`secondsBetween`](/refguide/between-date-function-calls/#secondsBetween) – the seconds between two dates -* [`minutesBetween`](/refguide/between-date-function-calls/#minutesBetween) – the minutes between two dates -* [`hoursBetween`](/refguide/between-date-function-calls/#hoursBetween) – the hours between two dates -* [`daysBetween`](/refguide/between-date-function-calls/#daysBetween) – the days between two dates -* [`weeksBetween`](/refguide/between-date-function-calls/#weeksBetween) – the weeks between two dates -* [`calendarMonthsBetween`](/refguide/between-date-function-calls/#calendarMonthsBetween) - the months between two dates -* [`calendarYearsBetween`](/refguide/between-date-function-calls/#calendarYearsBetween) - the years between two dates +* [`millisecondsBetween`](/refguide10/between-date-function-calls/#millisecondsBetween) – the milliseconds between two dates +* [`secondsBetween`](/refguide10/between-date-function-calls/#secondsBetween) – the seconds between two dates +* [`minutesBetween`](/refguide10/between-date-function-calls/#minutesBetween) – the minutes between two dates +* [`hoursBetween`](/refguide10/between-date-function-calls/#hoursBetween) – the hours between two dates +* [`daysBetween`](/refguide10/between-date-function-calls/#daysBetween) – the days between two dates +* [`weeksBetween`](/refguide10/between-date-function-calls/#weeksBetween) – the weeks between two dates +* [`calendarMonthsBetween`](/refguide10/between-date-function-calls/#calendarMonthsBetween) - the months between two dates +* [`calendarYearsBetween`](/refguide10/between-date-function-calls/#calendarYearsBetween) - the years between two dates ## Add Date Function Calls -* [`addMilliseconds`](/refguide/add-date-function-calls/#addMilliseconds) – adds milliseconds to a date -* [`addSeconds`](/refguide/add-date-function-calls/#addSeconds) – adds seconds to a date -* [`addMinutes`](/refguide/add-date-function-calls/#addMinutes) – adds minutes to a date -* [`addHours`](/refguide/add-date-function-calls/#addHours) – adds hours to a date -* [`addDays`](/refguide/add-date-function-calls/#addDays) – adds days to a date -* [`addDaysUTC`](/refguide/add-date-function-calls/#addDays) – adds days to a date using the UTC calendar -* [`addWeeks`](/refguide/add-date-function-calls/#addWeeks) – adds weeks to a date -* [`addWeeksUTC`](/refguide/add-date-function-calls/#addWeeks) – adds weeks to a date using the UTC calendar -* [`addMonths`](/refguide/add-date-function-calls/#addMonths) – adds months to a date -* [`addMonthsUTC`](/refguide/add-date-function-calls/#addMonths) – adds months to a date using the UTC calendar -* [`addQuarters`](/refguide/add-date-function-calls/#addQuarters) – adds quarters to a date -* [`addQuartersUTC`](/refguide/add-date-function-calls/#addQuarters) – adds quarters to a date using the UTC calendar -* [`addYears`](/refguide/add-date-function-calls/#addYears) – adds years to a date -* [`addYearsUTC`](/refguide/add-date-function-calls/#addYears) – adds years to a date using the UTC calendar +* [`addMilliseconds`](/refguide10/add-date-function-calls/#addMilliseconds) – adds milliseconds to a date +* [`addSeconds`](/refguide10/add-date-function-calls/#addSeconds) – adds seconds to a date +* [`addMinutes`](/refguide10/add-date-function-calls/#addMinutes) – adds minutes to a date +* [`addHours`](/refguide10/add-date-function-calls/#addHours) – adds hours to a date +* [`addDays`](/refguide10/add-date-function-calls/#addDays) – adds days to a date +* [`addDaysUTC`](/refguide10/add-date-function-calls/#addDays) – adds days to a date using the UTC calendar +* [`addWeeks`](/refguide10/add-date-function-calls/#addWeeks) – adds weeks to a date +* [`addWeeksUTC`](/refguide10/add-date-function-calls/#addWeeks) – adds weeks to a date using the UTC calendar +* [`addMonths`](/refguide10/add-date-function-calls/#addMonths) – adds months to a date +* [`addMonthsUTC`](/refguide10/add-date-function-calls/#addMonths) – adds months to a date using the UTC calendar +* [`addQuarters`](/refguide10/add-date-function-calls/#addQuarters) – adds quarters to a date +* [`addQuartersUTC`](/refguide10/add-date-function-calls/#addQuarters) – adds quarters to a date using the UTC calendar +* [`addYears`](/refguide10/add-date-function-calls/#addYears) – adds years to a date +* [`addYearsUTC`](/refguide10/add-date-function-calls/#addYears) – adds years to a date using the UTC calendar ## Subtract Date Function Calls -* [`subtractMilliseconds`](/refguide/subtract-date-function-calls/#subtractMilliseconds) – subtracts milliseconds from a date -* [`subtractSeconds`](/refguide/subtract-date-function-calls/#subtractSeconds) – subtracts seconds from a date -* [`subtractMinutes`](/refguide/subtract-date-function-calls/#subtractMinutes) – subtracts minutes from a date -* [`subtractHours`](/refguide/subtract-date-function-calls/#subtractHours) – subtracts hours from a date -* [`subtractDays`](/refguide/subtract-date-function-calls/#subtractDays) – subtracts days from a date -* [`subtractDaysUTC`](/refguide/subtract-date-function-calls/#subtractDays) – subtracts days from a date using the UTC calendar -* [`subtractWeeks`](/refguide/subtract-date-function-calls/#subtractWeeks) – subtracts weeks from a date -* [`subtractWeeksUTC`](/refguide/subtract-date-function-calls/#subtractWeeks) – subtracts weeks from a date using the UTC calendar -* [`subtractMonths`](/refguide/subtract-date-function-calls/#subtractMonths) – subtracts months from a date -* [`subtractMonthsUTC`](/refguide/subtract-date-function-calls/#subtractMonths) – subtracts months from a date using the UTC calendar -* [`subtractQuarters`](/refguide/subtract-date-function-calls/#subtractQuarters) – subtracts quarters from a date -* [`subtractQuartersUTC`](/refguide/subtract-date-function-calls/#subtractQuarters) – subtracts quarters from a date using the UTC calendar -* [`subtractYears`](/refguide/subtract-date-function-calls/#subtractYears) – subtracts years from a date -* [`subtractYearsUTC`](/refguide/subtract-date-function-calls/#subtractYears) – subtracts years from a date using the UTC calendar +* [`subtractMilliseconds`](/refguide10/subtract-date-function-calls/#subtractMilliseconds) – subtracts milliseconds from a date +* [`subtractSeconds`](/refguide10/subtract-date-function-calls/#subtractSeconds) – subtracts seconds from a date +* [`subtractMinutes`](/refguide10/subtract-date-function-calls/#subtractMinutes) – subtracts minutes from a date +* [`subtractHours`](/refguide10/subtract-date-function-calls/#subtractHours) – subtracts hours from a date +* [`subtractDays`](/refguide10/subtract-date-function-calls/#subtractDays) – subtracts days from a date +* [`subtractDaysUTC`](/refguide10/subtract-date-function-calls/#subtractDays) – subtracts days from a date using the UTC calendar +* [`subtractWeeks`](/refguide10/subtract-date-function-calls/#subtractWeeks) – subtracts weeks from a date +* [`subtractWeeksUTC`](/refguide10/subtract-date-function-calls/#subtractWeeks) – subtracts weeks from a date using the UTC calendar +* [`subtractMonths`](/refguide10/subtract-date-function-calls/#subtractMonths) – subtracts months from a date +* [`subtractMonthsUTC`](/refguide10/subtract-date-function-calls/#subtractMonths) – subtracts months from a date using the UTC calendar +* [`subtractQuarters`](/refguide10/subtract-date-function-calls/#subtractQuarters) – subtracts quarters from a date +* [`subtractQuartersUTC`](/refguide10/subtract-date-function-calls/#subtractQuarters) – subtracts quarters from a date using the UTC calendar +* [`subtractYears`](/refguide10/subtract-date-function-calls/#subtractYears) – subtracts years from a date +* [`subtractYearsUTC`](/refguide10/subtract-date-function-calls/#subtractYears) – subtracts years from a date using the UTC calendar ## Trim to Date -* [`trimToSeconds`](/refguide/trim-to-date/#trimToSeconds) – trims to seconds -* [`trimToMinutes`](/refguide/trim-to-date/#trimToMinutes) – trims to minutes -* [`trimToHours`](/refguide/trim-to-date/#trimToHours) – trims to hours -* [`trimToHoursUTC`](/refguide/trim-to-date/#trimToHours) – trims to hours using the UTC calendar -* [`trimToDays`](/refguide/trim-to-date/#trimToDays) – trims to days -* [`trimToDaysUTC`](/refguide/trim-to-date/#trimToDays) – trims to days using the UTC calendar -* [`trimToMonths`](/refguide/trim-to-date/#trimToMonths) – trims to months -* [`trimToMonthsUTC`](/refguide/trim-to-date/#trimToMonths) – trims to months using the UTC calendar -* [`trimToYears`](/refguide/trim-to-date/#trimToYears) – trims to years -* [`trimToYearsUTC`](/refguide/trim-to-date/#trimToYears) – trims to years using the UTC calendar +* [`trimToSeconds`](/refguide10/trim-to-date/#trimToSeconds) – trims to seconds +* [`trimToMinutes`](/refguide10/trim-to-date/#trimToMinutes) – trims to minutes +* [`trimToHours`](/refguide10/trim-to-date/#trimToHours) – trims to hours +* [`trimToHoursUTC`](/refguide10/trim-to-date/#trimToHours) – trims to hours using the UTC calendar +* [`trimToDays`](/refguide10/trim-to-date/#trimToDays) – trims to days +* [`trimToDaysUTC`](/refguide10/trim-to-date/#trimToDays) – trims to days using the UTC calendar +* [`trimToMonths`](/refguide10/trim-to-date/#trimToMonths) – trims to months +* [`trimToMonthsUTC`](/refguide10/trim-to-date/#trimToMonths) – trims to months using the UTC calendar +* [`trimToYears`](/refguide10/trim-to-date/#trimToYears) – trims to years +* [`trimToYearsUTC`](/refguide10/trim-to-date/#trimToYears) – trims to years using the UTC calendar ## To String -See [To String](/refguide/to-string/) for details. +See [To String](/refguide10/to-string/) for details. ## Length -See [Length](/refguide/length/) for details. +See [Length](/refguide10/length/) for details. ## Parse Integer -See [Parse Integer](/refguide/parse-integer/) for details. +See [Parse Integer](/refguide10/parse-integer/) for details. ## Parse and Format Decimal Function Calls {#expressions-formatter-functions} -* [`parseDecimal`](/refguide/parse-and-format-decimal-function-calls/#parseDecimal) – converts a string to a decimal -* [`formatDecimal`](/refguide/parse-and-format-decimal-function-calls/#formatDecimal) – converts a decimal to a string +* [`parseDecimal`](/refguide10/parse-and-format-decimal-function-calls/#parseDecimal) – converts a string to a decimal +* [`formatDecimal`](/refguide10/parse-and-format-decimal-function-calls/#formatDecimal) – converts a decimal to a string ## Parse and Format Date Function Calls -* [`parseDateTime[UTC]`](/refguide/parse-and-format-date-function-calls/#parseDateTime) – converts a string to a date value -* [`formatDateTime[UTC]`](/refguide/parse-and-format-date-function-calls/#formatDateTime) – converts a date value to a string -* [`formatTime[UTC]`](/refguide/parse-and-format-date-function-calls/#formatTime) – converts the time part of a date value to a string -* [`formatDate[UTC]`](/refguide/parse-and-format-date-function-calls/#formatDate) – converts the date part of a date value to a string -* [`dateTimeToEpoch`](/refguide/parse-and-format-date-function-calls/#dateTimeToEpoch) – converts a date to a long -* [`epochToDateTime`](/refguide/parse-and-format-date-function-calls/#epochToDateTime) – converts a long to a date +* [`parseDateTime[UTC]`](/refguide10/parse-and-format-date-function-calls/#parseDateTime) – converts a string to a date value +* [`formatDateTime[UTC]`](/refguide10/parse-and-format-date-function-calls/#formatDateTime) – converts a date value to a string +* [`formatTime[UTC]`](/refguide10/parse-and-format-date-function-calls/#formatTime) – converts the time part of a date value to a string +* [`formatDate[UTC]`](/refguide10/parse-and-format-date-function-calls/#formatDate) – converts the date part of a date value to a string +* [`dateTimeToEpoch`](/refguide10/parse-and-format-date-function-calls/#dateTimeToEpoch) – converts a date to a long +* [`epochToDateTime`](/refguide10/parse-and-format-date-function-calls/#epochToDateTime) – converts a long to a date ## Enumerations in Expressions -* [`getCaption`](/refguide/enumerations-in-expressions/#getCaption) – gets the caption of an enumeration value in current language -* [`getKey`](/refguide/enumerations-in-expressions/#getKey) – gets the technical name of an enumeration value +* [`getCaption`](/refguide10/enumerations-in-expressions/#getCaption) – gets the caption of an enumeration value in current language +* [`getKey`](/refguide10/enumerations-in-expressions/#getKey) – gets the technical name of an enumeration value diff --git a/content/en/docs/refguide10/modeling/application-logic/expressions/add-date-function-calls.md b/content/en/docs/refguide10/modeling/application-logic/expressions/add-date-function-calls.md index b21b8ce1fde..bd0058fefd7 100644 --- a/content/en/docs/refguide10/modeling/application-logic/expressions/add-date-function-calls.md +++ b/content/en/docs/refguide10/modeling/application-logic/expressions/add-date-function-calls.md @@ -1,6 +1,6 @@ --- title: "Add Date Function Calls" -url: /refguide/add-date-function-calls/ +url: /refguide10/add-date-function-calls/ weight: 110 --- @@ -8,9 +8,9 @@ weight: 110 Add date function calls add a time period to a date and time and return the modified value. -The first parameter can be an attribute of a domain model entity of type **Date and time**, a variable of type **Date and time**, or a **Date and time** value created using a [Date Creation](/refguide/date-creation/) function. The second parameter specifies the time period to be added. +The first parameter can be an attribute of a domain model entity of type **Date and time**, a variable of type **Date and time**, or a **Date and time** value created using a [Date Creation](/refguide10/date-creation/) function. The second parameter specifies the time period to be added. -You can also subtract a time period from the specified date. For more information, see [Subtract Date Function Calls](/refguide/subtract-date-function-calls/). +You can also subtract a time period from the specified date. For more information, see [Subtract Date Function Calls](/refguide10/subtract-date-function-calls/). ## addMilliseconds {#addMilliseconds} diff --git a/content/en/docs/refguide10/modeling/application-logic/expressions/arithmetic-expressions.md b/content/en/docs/refguide10/modeling/application-logic/expressions/arithmetic-expressions.md index 2c269734e7b..8e9cf0d775d 100644 --- a/content/en/docs/refguide10/modeling/application-logic/expressions/arithmetic-expressions.md +++ b/content/en/docs/refguide10/modeling/application-logic/expressions/arithmetic-expressions.md @@ -1,6 +1,6 @@ --- title: "Arithmetic Expressions" -url: /refguide/arithmetic-expressions/ +url: /refguide10/arithmetic-expressions/ weight: 20 --- @@ -165,7 +165,7 @@ the output is: Adds two numbers. -For the use of the addition symbol for string concatenation, see [String function calls](/refguide/string-function-calls/). +For the use of the addition symbol for string concatenation, see [String function calls](/refguide10/string-function-calls/). ### Input Parameters diff --git a/content/en/docs/refguide10/modeling/application-logic/expressions/begin-of-date-function-calls.md b/content/en/docs/refguide10/modeling/application-logic/expressions/begin-of-date-function-calls.md index 5329f060a26..ed2e30ec9e0 100644 --- a/content/en/docs/refguide10/modeling/application-logic/expressions/begin-of-date-function-calls.md +++ b/content/en/docs/refguide10/modeling/application-logic/expressions/begin-of-date-function-calls.md @@ -1,6 +1,6 @@ --- title: "Begin-of Date Function Calls" -url: /refguide/begin-of-date-function-calls/ +url: /refguide10/begin-of-date-function-calls/ weight: 95 description: Describes begin-of date function calls in Studio Pro expressions. --- @@ -9,9 +9,9 @@ description: Describes begin-of date function calls in Studio Pro expressions. Begin-of date function calls calculate the beginning of the day, week, month, or year and return the value. -The first parameter can be an attribute of an entity of type **Date and time**, a variable of type **Date and time**, or a **Date and time** value created using a [Date Creation](/refguide/date-creation/) function. +The first parameter can be an attribute of an entity of type **Date and time**, a variable of type **Date and time**, or a **Date and time** value created using a [Date Creation](/refguide10/date-creation/) function. -You can also calculate the end of a time period from the specified date. For more information, see [End-of Date Function Calls](/refguide/end-of-date-function-calls/). +You can also calculate the end of a time period from the specified date. For more information, see [End-of Date Function Calls](/refguide10/end-of-date-function-calls/). ## beginOfDay {#beginOfDay} @@ -151,5 +151,5 @@ The output is: ## Read More -* [Date Creation](/refguide/date-creation/) -* [End-of Date Function Calls](/refguide/end-of-date-function-calls/) +* [Date Creation](/refguide10/date-creation/) +* [End-of Date Function Calls](/refguide10/end-of-date-function-calls/) diff --git a/content/en/docs/refguide10/modeling/application-logic/expressions/between-date-function-calls.md b/content/en/docs/refguide10/modeling/application-logic/expressions/between-date-function-calls.md index 7bd8fe61c04..31079f6e852 100644 --- a/content/en/docs/refguide10/modeling/application-logic/expressions/between-date-function-calls.md +++ b/content/en/docs/refguide10/modeling/application-logic/expressions/between-date-function-calls.md @@ -1,6 +1,6 @@ --- title: "Between Date Function Calls" -url: /refguide/between-date-function-calls/ +url: /refguide10/between-date-function-calls/ weight: 100 --- diff --git a/content/en/docs/refguide10/modeling/application-logic/expressions/boolean-expressions.md b/content/en/docs/refguide10/modeling/application-logic/expressions/boolean-expressions.md index 80a4258ba9f..22059ca11ee 100644 --- a/content/en/docs/refguide10/modeling/application-logic/expressions/boolean-expressions.md +++ b/content/en/docs/refguide10/modeling/application-logic/expressions/boolean-expressions.md @@ -1,6 +1,6 @@ --- title: "Boolean Expressions" -url: /refguide/boolean-expressions/ +url: /refguide10/boolean-expressions/ weight: 50 --- diff --git a/content/en/docs/refguide10/modeling/application-logic/expressions/date-creation.md b/content/en/docs/refguide10/modeling/application-logic/expressions/date-creation.md index a46511cb727..af901f9c5fd 100644 --- a/content/en/docs/refguide10/modeling/application-logic/expressions/date-creation.md +++ b/content/en/docs/refguide10/modeling/application-logic/expressions/date-creation.md @@ -1,18 +1,18 @@ --- title: "Date Creation" -url: /refguide/date-creation/ +url: /refguide10/date-creation/ weight: 90 --- ## Introduction -Dates can be created with the `dateTime` and `dateTimeUTC` functions. The difference between them is that `dateTime` uses the calendar of the session used in the function call, and `dateTimeUTC` uses the UTC calendar. The system session runs as UTC by default, except for scheduled events, which can be configured in the [Scheduled Event Time Zone](/refguide/app-settings/#scheduled) section of **App Settings**. +Dates can be created with the `dateTime` and `dateTimeUTC` functions. The difference between them is that `dateTime` uses the calendar of the session used in the function call, and `dateTimeUTC` uses the UTC calendar. The system session runs as UTC by default, except for scheduled events, which can be configured in the [Scheduled Event Time Zone](/refguide10/app-settings/#scheduled) section of **App Settings**. {{% alert color="info" %}} Do not use `dateTimeUTC` in client-side expressions (for example, in nanoflows) if you want to assign the output to (or compare the output with) an attribute of type **Date and time** where **Localize** is disabled. In the client, the localization functionality is built into the attribute type itself, and using UTC functions causes the time zone conversion to be handled twice. {{% /alert %}} -This function does not accept variable or attribute parameters, only fixed values. To create a date using parameters, use the [parseDateTime](/refguide/parse-and-format-date-function-calls/#parseDateTime) function. +This function does not accept variable or attribute parameters, only fixed values. To create a date using parameters, use the [parseDateTime](/refguide10/parse-and-format-date-function-calls/#parseDateTime) function. ## Values diff --git a/content/en/docs/refguide10/modeling/application-logic/expressions/end-of-date-function-calls.md b/content/en/docs/refguide10/modeling/application-logic/expressions/end-of-date-function-calls.md index 626c41fe759..2ff391e4ada 100644 --- a/content/en/docs/refguide10/modeling/application-logic/expressions/end-of-date-function-calls.md +++ b/content/en/docs/refguide10/modeling/application-logic/expressions/end-of-date-function-calls.md @@ -1,6 +1,6 @@ --- title: "End-of Date Function Calls" -url: /refguide/end-of-date-function-calls/ +url: /refguide10/end-of-date-function-calls/ weight: 98 description: Describes end-of date function calls in Studio Pro expressions. --- @@ -9,9 +9,9 @@ description: Describes end-of date function calls in Studio Pro expressions. End-of date function calls calculate the end of the day, week, month, or year and return the value. -The first parameter can be an attribute of an entity of type **Date and time**, a variable of type **Date and time**, or a **Date and time** value created using a [Date Creation](/refguide/date-creation/) function. +The first parameter can be an attribute of an entity of type **Date and time**, a variable of type **Date and time**, or a **Date and time** value created using a [Date Creation](/refguide10/date-creation/) function. -You can also calculate the end of a time period from the specified date. For more information, see [Begin-of Date Function Calls](/refguide/begin-of-date-function-calls/). +You can also calculate the end of a time period from the specified date. For more information, see [Begin-of Date Function Calls](/refguide10/begin-of-date-function-calls/). ## endOfDay {#endOfDay} @@ -143,5 +143,5 @@ The output is: ## Read More -* [Date Creation](/refguide/date-creation/) -* [Begin-of Date Function Calls](/refguide/begin-of-date-function-calls/) +* [Date Creation](/refguide10/date-creation/) +* [Begin-of Date Function Calls](/refguide10/begin-of-date-function-calls/) diff --git a/content/en/docs/refguide10/modeling/application-logic/expressions/enumerations-in-expressions.md b/content/en/docs/refguide10/modeling/application-logic/expressions/enumerations-in-expressions.md index 2f81672dd1e..476db832fe9 100644 --- a/content/en/docs/refguide10/modeling/application-logic/expressions/enumerations-in-expressions.md +++ b/content/en/docs/refguide10/modeling/application-logic/expressions/enumerations-in-expressions.md @@ -1,6 +1,6 @@ --- title: "Enumerations in Expressions" -url: /refguide/enumerations-in-expressions/ +url: /refguide10/enumerations-in-expressions/ weight: 170 --- @@ -66,7 +66,7 @@ Gouden ## getKey {#getKey} -The `getKey` function takes an enumeration value and returns the key (called *Name* in Studio Pro) of this value. The key is the technical name for the enumeration value and is language independent. For more information, see [Enumerations](/refguide/enumerations/). +The `getKey` function takes an enumeration value and returns the key (called *Name* in Studio Pro) of this value. The key is the technical name for the enumeration value and is language independent. For more information, see [Enumerations](/refguide10/enumerations/). ### Input Parameters @@ -96,4 +96,4 @@ Golden ## Read More -* [Enumerations](/refguide/enumerations/) +* [Enumerations](/refguide10/enumerations/) diff --git a/content/en/docs/refguide10/modeling/application-logic/expressions/if-expressions.md b/content/en/docs/refguide10/modeling/application-logic/expressions/if-expressions.md index dc399ad9da5..e3735cf97c2 100644 --- a/content/en/docs/refguide10/modeling/application-logic/expressions/if-expressions.md +++ b/content/en/docs/refguide10/modeling/application-logic/expressions/if-expressions.md @@ -1,6 +1,6 @@ --- title: "If Expressions" -url: /refguide/if-expressions/ +url: /refguide10/if-expressions/ weight: 60 --- diff --git a/content/en/docs/refguide10/modeling/application-logic/expressions/length.md b/content/en/docs/refguide10/modeling/application-logic/expressions/length.md index 093fb4511fb..406a48e3f2b 100644 --- a/content/en/docs/refguide10/modeling/application-logic/expressions/length.md +++ b/content/en/docs/refguide10/modeling/application-logic/expressions/length.md @@ -1,6 +1,6 @@ --- title: "Length" -url: /refguide/length/ +url: /refguide10/length/ weight: 135 --- diff --git a/content/en/docs/refguide10/modeling/application-logic/expressions/mathematical-function-calls.md b/content/en/docs/refguide10/modeling/application-logic/expressions/mathematical-function-calls.md index caf0a7cbe28..6bf1cee1a20 100644 --- a/content/en/docs/refguide10/modeling/application-logic/expressions/mathematical-function-calls.md +++ b/content/en/docs/refguide10/modeling/application-logic/expressions/mathematical-function-calls.md @@ -1,6 +1,6 @@ --- title: "Mathematical Function Calls" -url: /refguide/mathematical-function-calls/ +url: /refguide10/mathematical-function-calls/ weight: 70 --- @@ -93,7 +93,7 @@ The input parameters are described in the table below: ### Output -In the [App Settings](/refguide/app-settings/), your option for **Round numbers** can be set which determines how half numbers (0.5) are treated: +In the [App Settings](/refguide10/app-settings/), your option for **Round numbers** can be set which determines how half numbers (0.5) are treated: * For the **Half away from zero** option (also called "commercial rounding"), +2.5 becomes +3 and -1.5 becomes -2 * The **Half to the nearest even number** option (also called "bankers' rounding") is the default rounding mode used in [IEEE 754](https://en.wikipedia.org/wiki/IEEE_floating_point "IEEE floating point") computing functions and operators; for example, +23.5 becomes +24, as does +24.5; and -22.5 becomes -22, as does -21.5 diff --git a/content/en/docs/refguide10/modeling/application-logic/expressions/parse-and-format-date-function-calls.md b/content/en/docs/refguide10/modeling/application-logic/expressions/parse-and-format-date-function-calls.md index da15edd0ff7..d45fa085fb6 100644 --- a/content/en/docs/refguide10/modeling/application-logic/expressions/parse-and-format-date-function-calls.md +++ b/content/en/docs/refguide10/modeling/application-logic/expressions/parse-and-format-date-function-calls.md @@ -1,6 +1,6 @@ --- title: "Parse and Format Date Function Calls" -url: /refguide/parse-and-format-date-function-calls/ +url: /refguide10/parse-and-format-date-function-calls/ weight: 160 description: "Describes the functions for parsing Date and time values from strings using a specified pattern or producing a string from a Date and time value in Mendix." --- @@ -129,7 +129,7 @@ The examples below illustrate which value the expression returns: ## formatDateTime[UTC] {#formatDateTime} -Converts the Date and time value to a string, formatted according to the format parameter. Without the format parameter, a standard format is used, which depends on the [Java version](/refguide/java-version-migration/#date-locale-dutch) and user locale. The function `formatDateTime` uses the users calendar and `formatDateTimeUTC` uses the UTC calendar. +Converts the Date and time value to a string, formatted according to the format parameter. Without the format parameter, a standard format is used, which depends on the [Java version](/refguide10/java-version-migration/#date-locale-dutch) and user locale. The function `formatDateTime` uses the users calendar and `formatDateTimeUTC` uses the UTC calendar. ### Input Parameters @@ -204,7 +204,7 @@ the output is: ## formatDate[UTC] {#formatDate} -Converts the date part of Date and time value to a string in a standard format, which depends on the [Java version](/refguide/java-version-migration/#date-locale-dutch) and user locale. `formatDate` uses the users calendar and `formatDateUTC` uses the UTC calendar. +Converts the date part of Date and time value to a string in a standard format, which depends on the [Java version](/refguide10/java-version-migration/#date-locale-dutch) and user locale. `formatDate` uses the users calendar and `formatDateUTC` uses the UTC calendar. ### Input Parameters diff --git a/content/en/docs/refguide10/modeling/application-logic/expressions/parse-and-format-decimal-function-calls.md b/content/en/docs/refguide10/modeling/application-logic/expressions/parse-and-format-decimal-function-calls.md index 35710ad5955..9889000bf12 100644 --- a/content/en/docs/refguide10/modeling/application-logic/expressions/parse-and-format-decimal-function-calls.md +++ b/content/en/docs/refguide10/modeling/application-logic/expressions/parse-and-format-decimal-function-calls.md @@ -1,6 +1,6 @@ --- title: "Parse and Format Decimal Function Calls" -url: /refguide/parse-and-format-decimal-function-calls/ +url: /refguide10/parse-and-format-decimal-function-calls/ weight: 150 --- diff --git a/content/en/docs/refguide10/modeling/application-logic/expressions/parse-integer.md b/content/en/docs/refguide10/modeling/application-logic/expressions/parse-integer.md index b98c97d507b..eb138d3d573 100644 --- a/content/en/docs/refguide10/modeling/application-logic/expressions/parse-integer.md +++ b/content/en/docs/refguide10/modeling/application-logic/expressions/parse-integer.md @@ -1,13 +1,13 @@ --- title: "Parse Integer" -url: /refguide/parse-integer/ +url: /refguide10/parse-integer/ weight: 140 description: "Describes the function for parsing integer from strings in Mendix." --- ## Introduction -This document describes the function that converts a string to a value that is of data type [Integer/Long](/refguide/data-types/#integer-long). +This document describes the function that converts a string to a value that is of data type [Integer/Long](/refguide10/data-types/#integer-long). ## parseInteger @@ -23,7 +23,7 @@ The input parameters are described in the table below: | Default value **(optional)** | Integer/Long | {{% alert color="info" %}} -A default value can be specified to handle parsing errors. If no default value is provided, an error will occur if the string is not a number or if the parsed value is not within the range of valid values for an Integer/Long. The range of valid values for an Integer/Long can be found in this [table of supported data types](/refguide/data-types/#supported-data-types). +A default value can be specified to handle parsing errors. If no default value is provided, an error will occur if the string is not a number or if the parsed value is not within the range of valid values for an Integer/Long. The range of valid values for an Integer/Long can be found in this [table of supported data types](/refguide10/data-types/#supported-data-types). {{% /alert %}} ### Output diff --git a/content/en/docs/refguide10/modeling/application-logic/expressions/relational-expressions.md b/content/en/docs/refguide10/modeling/application-logic/expressions/relational-expressions.md index af402343d95..80549677e7d 100644 --- a/content/en/docs/refguide10/modeling/application-logic/expressions/relational-expressions.md +++ b/content/en/docs/refguide10/modeling/application-logic/expressions/relational-expressions.md @@ -1,6 +1,6 @@ --- title: "Relational Expressions" -url: /refguide/relational-expressions/ +url: /refguide10/relational-expressions/ weight: 30 description: "Describes relational expressions in Mendix." --- diff --git a/content/en/docs/refguide10/modeling/application-logic/expressions/special-checks.md b/content/en/docs/refguide10/modeling/application-logic/expressions/special-checks.md index fc7dd7239f8..138b9128c9c 100644 --- a/content/en/docs/refguide10/modeling/application-logic/expressions/special-checks.md +++ b/content/en/docs/refguide10/modeling/application-logic/expressions/special-checks.md @@ -1,6 +1,6 @@ --- title: "Special Checks" -url: /refguide/special-checks/ +url: /refguide10/special-checks/ weight: 40 description: "Describes special checks in expressions in Mendix." --- @@ -106,7 +106,7 @@ isNew($object1) ## Checking Whether an Object Is Synced {#synced} -This function is available only in expressions for [conditional visibility or editability](/refguide/common-widget-properties/) and [nanoflows](/refguide/nanoflows/), as they are only evaluated on client side. +This function is available only in expressions for [conditional visibility or editability](/refguide10/common-widget-properties/) and [nanoflows](/refguide10/nanoflows/), as they are only evaluated on client side. ### Input Parameters @@ -122,7 +122,7 @@ The output is described in the table below: | Value | Type | | ------------------------------------------------------------ | ------- | -| Returns whether the changes done to the object [offline](/refguide/offline-first/) have been synchronized to the runtime database. In web profiles without offline support, this always returns `true`. | Boolean | +| Returns whether the changes done to the object [offline](/refguide10/offline-first/) have been synchronized to the runtime database. In web profiles without offline support, this always returns `true`. | Boolean | ### Example @@ -134,7 +134,7 @@ isSynced($currentObject) ## Checking If a Synchronization Is Running {#is-syncing} -This function is available only in client-side expressions (expressions in [nanoflows](/refguide/nanoflows/) and [pages](/refguide/pages/)). +This function is available only in client-side expressions (expressions in [nanoflows](/refguide10/nanoflows/) and [pages](/refguide10/pages/)). ### Input Parameters @@ -146,7 +146,7 @@ The output is described in the table below: | Value | Type | | ------------------------------------------------------------ | ------- | -| Returns `true` when there is a [synchronization](/refguide/synchronize/) process running, otherwise it returns `false`.| Boolean | +| Returns `true` when there is a [synchronization](/refguide10/synchronize/) process running, otherwise it returns `false`.| Boolean | ### Example diff --git a/content/en/docs/refguide10/modeling/application-logic/expressions/string-function-calls.md b/content/en/docs/refguide10/modeling/application-logic/expressions/string-function-calls.md index dc26cba8044..1dbfecc6c3a 100644 --- a/content/en/docs/refguide10/modeling/application-logic/expressions/string-function-calls.md +++ b/content/en/docs/refguide10/modeling/application-logic/expressions/string-function-calls.md @@ -1,6 +1,6 @@ --- title: "String Function Calls" -url: /refguide/string-function-calls/ +url: /refguide10/string-function-calls/ weight: 80 description: "Describes the functions for converting and inspecting strings in Mendix." #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. @@ -8,7 +8,7 @@ description: "Describes the functions for converting and inspecting strings in M ## Introduction -This document describes functions that are used to convert and inspect [strings](/refguide/data-types/). Note that these functions never change the string itself, they only return a new value. +This document describes functions that are used to convert and inspect [strings](/refguide10/data-types/). Note that these functions never change the string itself, they only return a new value. Strings are surrounded by quotes. If the string contains a quote, it should be escaped by another quote. For example: `'this isn''t funny'`. @@ -456,14 +456,14 @@ The input parameters are described in the table below: | Regular expression to match | String | {{% alert color="info" %}} -The regular expression must be provided as a string. Although it uses the same format for regular expressions, you cannot use a [regular expression](/refguide/regular-expressions/) resource document in this function. +The regular expression must be provided as a string. Although it uses the same format for regular expressions, you cannot use a [regular expression](/refguide10/regular-expressions/) resource document in this function. {{% /alert %}} {{% alert color="warning" %}} Please note that this function call uses the regular expression language provided by the current platform: -* When used inside a [microflow](/refguide/microflow/) – Java's regular expressions (for details, see [Class Pattern documentation](https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/util/regex/Pattern.html)) +* When used inside a [microflow](/refguide10/microflow/) – Java's regular expressions (for details, see [Class Pattern documentation](https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/util/regex/Pattern.html)) * When used in the client – JavaScript's regular expressions (for details, see [Regular Expressions documentation](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions)) {{% /alert %}} @@ -516,14 +516,14 @@ The input parameters are described in the table below: | The string to be substituted for each match (this does not support backreferences, substitutions, or captures) | String | {{% alert color="info" %}} -The regular expression must be provided as a string. Although it uses the same format for regular expressions, you cannot use a [regular expression](/refguide/regular-expressions/) resource document in this function. +The regular expression must be provided as a string. Although it uses the same format for regular expressions, you cannot use a [regular expression](/refguide10/regular-expressions/) resource document in this function. {{% /alert %}} {{% alert color="warning" %}} Please note that this function call uses the regular expression language provided by the current platform: -* When used inside [microflows](/refguide/microflows/) – Java's regular expressions (for details, see [Class Pattern](https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/util/regex/Pattern.html)) +* When used inside [microflows](/refguide10/microflows/) – Java's regular expressions (for details, see [Class Pattern](https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/util/regex/Pattern.html)) * When used in the client – JavaScript's regular expressions (for details, see [Regular Expressions](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions)) {{% /alert %}} @@ -577,14 +577,14 @@ The input parameters are described in the table below: | The string to be substituted for the first match (this does not support backreferences, substitutions, or captures) | String | {{% alert color="info" %}} -The regular expression must be provided as a string. Although it uses the same format for regular expressions, you cannot use a [regular expression](/refguide/regular-expressions/) resource document in this function. +The regular expression must be provided as a string. Although it uses the same format for regular expressions, you cannot use a [regular expression](/refguide10/regular-expressions/) resource document in this function. {{% /alert %}} {{% alert color="warning" %}} Please note that this function call uses the regular expression language provided by the current platform: -* When used inside a [microflow](/refguide/microflow/) – Java's regular expressions (for details, see [Class Pattern documentation](https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/util/regex/Pattern.html)) +* When used inside a [microflow](/refguide10/microflow/) – Java's regular expressions (for details, see [Class Pattern documentation](https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/util/regex/Pattern.html)) * When used in the client – JavaScript's regular expressions (for details, see [Regular Expressions documentation](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions)) {{% /alert %}} diff --git a/content/en/docs/refguide10/modeling/application-logic/expressions/subtract-date-function-calls.md b/content/en/docs/refguide10/modeling/application-logic/expressions/subtract-date-function-calls.md index f2e2642ee8e..5106bc0533b 100644 --- a/content/en/docs/refguide10/modeling/application-logic/expressions/subtract-date-function-calls.md +++ b/content/en/docs/refguide10/modeling/application-logic/expressions/subtract-date-function-calls.md @@ -1,6 +1,6 @@ --- title: "Subtract Date Function Calls" -url: /refguide/subtract-date-function-calls/ +url: /refguide10/subtract-date-function-calls/ weight: 115 --- @@ -8,9 +8,9 @@ weight: 115 Subtract date function calls subtract a time period from a date and time and return the modified value. -The first parameter can be an attribute of a domain model entity of type **Date and time**, a variable of type **Date and time**, or a **Date and time** value created using a [Date Creation](/refguide/date-creation/) function. The second parameter specifies the time period to be subtracted. It is also possible to pass values of the Long type to different **Subtract date function** calls. +The first parameter can be an attribute of a domain model entity of type **Date and time**, a variable of type **Date and time**, or a **Date and time** value created using a [Date Creation](/refguide10/date-creation/) function. The second parameter specifies the time period to be subtracted. It is also possible to pass values of the Long type to different **Subtract date function** calls. -You can also add a time period to the specified date. For more information, see [Add Date Function Calls](/refguide/add-date-function-calls/). +You can also add a time period to the specified date. For more information, see [Add Date Function Calls](/refguide10/add-date-function-calls/). ## subtractMilliseconds {#subtractMilliseconds} diff --git a/content/en/docs/refguide10/modeling/application-logic/expressions/to-string.md b/content/en/docs/refguide10/modeling/application-logic/expressions/to-string.md index 752aedf4462..e654c8decbf 100644 --- a/content/en/docs/refguide10/modeling/application-logic/expressions/to-string.md +++ b/content/en/docs/refguide10/modeling/application-logic/expressions/to-string.md @@ -1,6 +1,6 @@ --- title: "To String" -url: /refguide/to-string/ +url: /refguide10/to-string/ weight: 130 --- @@ -12,7 +12,7 @@ Basic functions to convert values of various data types to string. Converts the specified value to a string representation. -If you need full control over the output format, consider using the data type specific format functions. For example, for decimal, use [formatDecimal](/refguide/parse-and-format-decimal-function-calls/). +If you need full control over the output format, consider using the data type specific format functions. For example, for decimal, use [formatDecimal](/refguide10/parse-and-format-decimal-function-calls/). ### Input Parameters @@ -20,7 +20,7 @@ The input parameters are described in the table below: | Value | Type | | --------------------------------------------- | ------------------------------------------------------------ | -| A value that should be converted to a string. | Integer/Long, Decimal, Date and time, Boolean and Enumeration.
In case of enumeration, the expression returns the key of the enumeration value, not the caption. More information, see [Enumerations in expressions](/refguide/enumerations-in-expressions/). | +| A value that should be converted to a string. | Integer/Long, Decimal, Date and time, Boolean and Enumeration.
In case of enumeration, the expression returns the key of the enumeration value, not the caption. More information, see [Enumerations in expressions](/refguide10/enumerations-in-expressions/). | {{% alert color="info" %}} If you pass an empty object or attribute to this function, the output will be an empty string. diff --git a/content/en/docs/refguide10/modeling/application-logic/expressions/trim-to-date.md b/content/en/docs/refguide10/modeling/application-logic/expressions/trim-to-date.md index 8daa4bc76b6..eb5c558adb2 100644 --- a/content/en/docs/refguide10/modeling/application-logic/expressions/trim-to-date.md +++ b/content/en/docs/refguide10/modeling/application-logic/expressions/trim-to-date.md @@ -1,6 +1,6 @@ --- title: "Trim to Date" -url: /refguide/trim-to-date/ +url: /refguide10/trim-to-date/ weight: 120 --- diff --git a/content/en/docs/refguide10/modeling/application-logic/expressions/unary-expressions.md b/content/en/docs/refguide10/modeling/application-logic/expressions/unary-expressions.md index ecc1f4658e8..14486f91cfb 100644 --- a/content/en/docs/refguide10/modeling/application-logic/expressions/unary-expressions.md +++ b/content/en/docs/refguide10/modeling/application-logic/expressions/unary-expressions.md @@ -1,6 +1,6 @@ --- title: "Unary Expressions" -url: /refguide/unary-expressions/ +url: /refguide10/unary-expressions/ weight: 10 --- diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/_index.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/_index.md index a86d753dc42..b8d7cb3f777 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/_index.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/_index.md @@ -1,6 +1,6 @@ --- title: "Microflows and Nanoflows" -url: /refguide/microflows-and-nanoflows/ +url: /refguide10/microflows-and-nanoflows/ weight: 10 description: "Presents an overview of microflows and nanoflows." --- @@ -11,17 +11,17 @@ Microflows and nanoflows allow you to express the logic of your application. The Explore the documentation for details on microflow and nanoflow definitions, properties, and usages. -* [Microflows](/refguide/microflows/) -* [Nanoflows](/refguide/nanoflows/) -* [Sequence Flow](/refguide/sequence-flow/) -* [Activities](/refguide/activities/) -* [Decisions](/refguide/decisions/) -* [Annotation](/refguide/annotation/) -* [Parameter](/refguide/parameter/) -* [Loop](/refguide/loop/) -* [Events](/refguide/events/) -* [Common Properties](/refguide/microflow-element-common-properties/) -* [Debugging Microflows and Nanoflows](/refguide/debug-microflows-and-nanoflows/) +* [Microflows](/refguide10/microflows/) +* [Nanoflows](/refguide10/nanoflows/) +* [Sequence Flow](/refguide10/sequence-flow/) +* [Activities](/refguide10/activities/) +* [Decisions](/refguide10/decisions/) +* [Annotation](/refguide10/annotation/) +* [Parameter](/refguide10/parameter/) +* [Loop](/refguide10/loop/) +* [Events](/refguide10/events/) +* [Common Properties](/refguide10/microflow-element-common-properties/) +* [Debugging Microflows and Nanoflows](/refguide10/debug-microflows-and-nanoflows/) ## Differences between Microflows and Nanoflows {#differences} @@ -30,8 +30,8 @@ Microflows run in the runtime server and can therefore not be used in offline ap Below presents a list of main differences between microflows and nanoflows: * When a nanoflow steps through its actions, client actions are directly executed. For example, an open page action immediately opens a page instead of at the end of the nanoflow. This is different from client actions in a microflow, which only run when the client receives the result from the microflow. -* Nanoflows and microflows do not provide the same [activities](/refguide/activities/). Some activities available in microflows are not available in nanoflows, and vice versa. -* Because nanoflows use JavaScript libraries and microflows use Java libraries, there can sometimes be slight differences in the way [expressions](/refguide/expressions/) are executed. +* Nanoflows and microflows do not provide the same [activities](/refguide10/activities/). Some activities available in microflows are not available in nanoflows, and vice versa. +* Because nanoflows use JavaScript libraries and microflows use Java libraries, there can sometimes be slight differences in the way [expressions](/refguide10/expressions/) are executed. * When used in nanoflow activities, expressions do not support the following objects and variables: `$latestSoapFault`, `$latestHttpResponse`, `$currentSession`, `$currentUser`, `$currentDeviceType`. * Nanoflows are not run inside a transaction. So, if an error occurs in a nanoflow, it will not roll back any previous changes. * Changes done to the lists in a sub-nanoflow are not reflected in the original nanoflow. @@ -43,9 +43,9 @@ In Studio Pro 10.6 and above, use the new and modernized microflow, nanoflow, an The new editors contain several huge improvements, with some major improvements in: -* [Logic Recommender](/refguide/logic-recommender/) -* [Keyboard navigation](/refguide/keyboard-shortcuts/#keyboard-improved) -* [Canvas interaction](/refguide/microflows/#canvas-interaction) +* [Logic Recommender](/refguide10/logic-recommender/) +* [Keyboard navigation](/refguide10/keyboard-shortcuts/#keyboard-improved) +* [Canvas interaction](/refguide10/microflows/#canvas-interaction) In Studio Pro 10.5 and below, the default logic editors are the **Classic** logic editors. In Studio Pro 10.4 and 10.5, there is the toggle at the top right corner of the editor allowing you to try the beta versions of the new modern editor for the current document. diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/_index.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/_index.md index a29fe601d6b..f242f1e76e4 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/_index.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/_index.md @@ -1,6 +1,6 @@ --- title: "Activities" -url: /refguide/activities/ +url: /refguide10/activities/ weight: 40 --- @@ -11,68 +11,68 @@ Activities define the actions that are executed in a microflow or a nanoflow. There are different types of activity, and they are grouped together in the Studio Pro **Toolbox**. All the activities are listed below. Click on each activity for more details. {{% alert color="info" %}} -Most activities can be used in both microflows and nanoflows. However, some can only be used in one of these types of flow, or the behavior may differ between in microflows and in nanoflows. For more information, see the [Differences between Microflows and Nanoflows](/refguide/microflows-and-nanoflows/#differences) section in *Microflows and Nanoflows*. +Most activities can be used in both microflows and nanoflows. However, some can only be used in one of these types of flow, or the behavior may differ between in microflows and in nanoflows. For more information, see the [Differences between Microflows and Nanoflows](/refguide10/microflows-and-nanoflows/#differences) section in *Microflows and Nanoflows*. {{% /alert %}} ## Object Activities -[Object activities](/refguide/object-activities/) can be used to create and manipulate objects. The [domain model](/refguide/domain-model/) defines the object types ([entities](/refguide/entities/)) that can be used. +[Object activities](/refguide10/object-activities/) can be used to create and manipulate objects. The [domain model](/refguide10/domain-model/) defines the object types ([entities](/refguide10/entities/)) that can be used. | Graphic | Name | Description | | --- | --- | --- | -| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/cast-object.png" alt="cast object" link="/refguide/cast-object/" max-width=80% class="no-border" >}} | [Cast object](/refguide/cast-object/) | In combination with an [object type decision](/refguide/object-type-decision/) allows you to use the specialized members of the object. For more information on the specialized members of an object, see [Entities](/refguide/entities/). | -| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/change-object.png" alt="change object" link="/refguide/change-object/" max-width=80% class="no-border" >}} | [Change object](/refguide/change-object/) |Allows you to change the members of an object. This can be done with or without committing, and with or without events. | -| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/commit-object.png" alt="commit object" link="/refguide/committing-objects/" max-width=80% class="no-border" >}} | [Commit object(s)](/refguide/committing-objects/) | Allows you to commit changes to one or more objects. | -| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/create-object.png" alt="create object" link="/refguide/create-object/" max-width=80% class="no-border" >}} | [Create object](/refguide/create-object/) | Creates an object. | -| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/delete-object.png" alt="delete object" link="/refguide/deleting-objects/" max-width=80% class="no-border" >}} | [Delete object(s)](/refguide/deleting-objects/) | Deletes an object. | -| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/retrieve.png" alt="retrieve" link="/refguide/retrieve/" max-width=80% class="no-border" >}} | [Retrieve](/refguide/retrieve/) | Gets one (or more) associated objects of another object. Furthermore, this activity can also get one or more objects directly from a database. | -| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/rollback.png" alt="rollback object" link="/refguide/rollback-object/" max-width=80% class="no-border" >}} | [Rollback object](/refguide/rollback-object/) | Rolls uncommitted changes back that were made to an object in the part of the microflow preceding the activity. Furthermore, it deletes objects that have been created but have never been committed. | +| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/cast-object.png" alt="cast object" link="/refguide10/cast-object/" max-width=80% class="no-border" >}} | [Cast object](/refguide10/cast-object/) | In combination with an [object type decision](/refguide10/object-type-decision/) allows you to use the specialized members of the object. For more information on the specialized members of an object, see [Entities](/refguide10/entities/). | +| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/change-object.png" alt="change object" link="/refguide10/change-object/" max-width=80% class="no-border" >}} | [Change object](/refguide10/change-object/) |Allows you to change the members of an object. This can be done with or without committing, and with or without events. | +| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/commit-object.png" alt="commit object" link="/refguide10/committing-objects/" max-width=80% class="no-border" >}} | [Commit object(s)](/refguide10/committing-objects/) | Allows you to commit changes to one or more objects. | +| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/create-object.png" alt="create object" link="/refguide10/create-object/" max-width=80% class="no-border" >}} | [Create object](/refguide10/create-object/) | Creates an object. | +| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/delete-object.png" alt="delete object" link="/refguide10/deleting-objects/" max-width=80% class="no-border" >}} | [Delete object(s)](/refguide10/deleting-objects/) | Deletes an object. | +| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/retrieve.png" alt="retrieve" link="/refguide10/retrieve/" max-width=80% class="no-border" >}} | [Retrieve](/refguide10/retrieve/) | Gets one (or more) associated objects of another object. Furthermore, this activity can also get one or more objects directly from a database. | +| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/rollback.png" alt="rollback object" link="/refguide10/rollback-object/" max-width=80% class="no-border" >}} | [Rollback object](/refguide10/rollback-object/) | Rolls uncommitted changes back that were made to an object in the part of the microflow preceding the activity. Furthermore, it deletes objects that have been created but have never been committed. | ## List Activities -[List activities](/refguide/list-activities/) can be used to create and manipulate lists of objects. +[List activities](/refguide10/list-activities/) can be used to create and manipulate lists of objects. | Graphic | Name | Description | | --- | --- | --- | -| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/aggregate-list.png" alt="aggregate list" link="/refguide/aggregate-list/" max-width=65% class="no-border" >}} | [Aggregate list](/refguide/aggregate-list/) | Allows you to calculate aggregated values such as the maximum, minimum, sum, average, and total amount of objects over a list of objects. | -| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/change-list.png" alt="change list" link="/refguide/change-list/" max-width=65% class="no-border" >}} | [Change list](/refguide/change-list/) | Allows you to change the content of a list variable. | -| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/create-list.png" alt="create list" link="/refguide/create-list/" max-width=65% class="no-border" >}} | [Create list](/refguide/create-list/) | Creates a (empty) list variable. | -| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/list-operation.png" alt="list operation" link="/refguide/list-operation/" max-width=65% class="no-border" >}} | [List operation](/refguide/list-operation/) | Combines or compares two lists with objects of the same entity. | +| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/aggregate-list.png" alt="aggregate list" link="/refguide10/aggregate-list/" max-width=65% class="no-border" >}} | [Aggregate list](/refguide10/aggregate-list/) | Allows you to calculate aggregated values such as the maximum, minimum, sum, average, and total amount of objects over a list of objects. | +| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/change-list.png" alt="change list" link="/refguide10/change-list/" max-width=65% class="no-border" >}} | [Change list](/refguide10/change-list/) | Allows you to change the content of a list variable. | +| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/create-list.png" alt="create list" link="/refguide10/create-list/" max-width=65% class="no-border" >}} | [Create list](/refguide10/create-list/) | Creates a (empty) list variable. | +| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/list-operation.png" alt="list operation" link="/refguide10/list-operation/" max-width=65% class="no-border" >}} | [List operation](/refguide10/list-operation/) | Combines or compares two lists with objects of the same entity. | ## Action Call Activities -[Action call activities](/refguide/action-call-activities/) can be used to call another microflow or to call a Java action. +[Action call activities](/refguide10/action-call-activities/) can be used to call another microflow or to call a Java action. | Graphic | Name | Description | | --- | --- | --- | -| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/call-java-action.png" alt="Java action call" link="/refguide/java-action-call/" max-width=65% class="no-border" >}} | [Call Java action](/refguide/java-action-call/) (microflows only) | Calls a Java action. Arguments can be passed to the action and the result can be stored in a variable. | -| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/call-javascript-action.png" alt="javascript action call" link="/refguide/javascript-action-call/" max-width=65% class="no-border" >}} | [Call JavaScript action](/refguide/javascript-action-call/) (nanoflows only) | Calls a JavaScript action. Arguments can be passed to the action and the result can be stored in a variable. | -| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/call-microflow.png" alt="microflow call" link="/refguide/microflow-call/" max-width=65% class="no-border" >}} | [Microflow call](/refguide/microflow-call/) | Calls a microflow. Arguments can be passed to the microflow and the result can be stored in a variable. | +| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/call-java-action.png" alt="Java action call" link="/refguide10/java-action-call/" max-width=65% class="no-border" >}} | [Call Java action](/refguide10/java-action-call/) (microflows only) | Calls a Java action. Arguments can be passed to the action and the result can be stored in a variable. | +| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/call-javascript-action.png" alt="javascript action call" link="/refguide10/javascript-action-call/" max-width=65% class="no-border" >}} | [Call JavaScript action](/refguide10/javascript-action-call/) (nanoflows only) | Calls a JavaScript action. Arguments can be passed to the action and the result can be stored in a variable. | +| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/call-microflow.png" alt="microflow call" link="/refguide10/microflow-call/" max-width=65% class="no-border" >}} | [Microflow call](/refguide10/microflow-call/) | Calls a microflow. Arguments can be passed to the microflow and the result can be stored in a variable. | ## Variable Activities -[Variable activities](/refguide/variable-activities/) can be used to create or change a variable. +[Variable activities](/refguide10/variable-activities/) can be used to create or change a variable. | Graphic | Name | Description | | --- | --- | --- | -| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/change-variable.png" alt="change variable" link="/refguide/change-variable/" max-width=55% class="no-border" >}} | [Change variable](/refguide/change-variable/) | Allows you to changes the value of a variable. | -| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/create-variable.png" alt="create variable" link="/refguide/create-variable/" max-width=55% class="no-border" >}} | [Create variable](/refguide/create-variable/) | Allows you to creates a new variable. | +| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/change-variable.png" alt="change variable" link="/refguide10/change-variable/" max-width=55% class="no-border" >}} | [Change variable](/refguide10/change-variable/) | Allows you to changes the value of a variable. | +| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/create-variable.png" alt="create variable" link="/refguide10/create-variable/" max-width=55% class="no-border" >}} | [Create variable](/refguide10/create-variable/) | Allows you to creates a new variable. | ## Client Activities -[Client activities](/refguide/client-activities/) can be used to have the web client of your application perform an action, such as showing a different page or downloading a file. +[Client activities](/refguide10/client-activities/) can be used to have the web client of your application perform an action, such as showing a different page or downloading a file. | Graphic | Name | Description | | --- | --- | --- | -| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/call-nanoflow.png" alt="nanoflow call" link="/refguide/nanoflow-call/" max-width=100% class="no-border" >}} | [Call nanoflow](/refguide/nanoflow-call/) (nanoflows only) | Calls another nanoflow. Arguments can be passed to the nanoflow and the result can be stored in a variable. | -| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/close-page.png" alt="close page" link="/refguide/close-page/" max-width=100% class="no-border" >}} | [Close page](/refguide/close-page/) | Closes the page that was opened last by the user who called the microflow or nanoflow in which this activity is used. | -| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/download-file.png" alt="download file" link="/refguide/download-file/" max-width=100% class="no-border" >}} | [Download file](/refguide/download-file/) (microflows only) | Can be used to enable the browser to download a specific file. The user who calls the microflow in which this activity is used gets a download pop-up window, or the file is shown directly in the browser. | -| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/show-home-page.png" alt="show home page" link="/refguide/show-home-page/" max-width=100% class="no-border" >}} | [Show home page](/refguide/show-home-page/) (microflows only) | Navigates to the home page for the current user. | -| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/show-message.png" alt="show message" link="/refguide/show-message/" max-width=100% class="no-border" >}} | [Show message](/refguide/show-message/) | Allows you to show a blocking or non-blocking message to the user that calls the microflow or nanoflow in which this activity is used. | -| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/show-page.png" alt="show page" link="/refguide/show-page/" max-width=100% class="no-border" >}} | [Show page](/refguide/show-page/) | Allows you to show a page to the user that calls the microflow or nanoflow in which this activity is used. | -| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/synchronize-to-device.png" alt="synchronize to device" link="/refguide/synchronize-to-device/" max-width=100% class="no-border" >}} | [Synchronize to device](/refguide/synchronize-to-device/) (microflows only) | Can be used to selectively synchronize one or more objects or lists to a device and store them in the offline database. | -| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/synchronize.png" alt="synchronize" link="/refguide/synchronize/" max-width=100% class="no-border" >}} | [Synchronize](/refguide/synchronize/) (nanoflows only) | Synchronizes data. | -| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/validation-feedback.png" alt="validation feedback" link="/refguide/validation-feedback/" max-width=100% class="no-border" >}} | [Validation feedback](/refguide/validation-feedback/) | Allows you to display a red text below a widget that displays an attribute or association. | +| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/call-nanoflow.png" alt="nanoflow call" link="/refguide10/nanoflow-call/" max-width=100% class="no-border" >}} | [Call nanoflow](/refguide10/nanoflow-call/) (nanoflows only) | Calls another nanoflow. Arguments can be passed to the nanoflow and the result can be stored in a variable. | +| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/close-page.png" alt="close page" link="/refguide10/close-page/" max-width=100% class="no-border" >}} | [Close page](/refguide10/close-page/) | Closes the page that was opened last by the user who called the microflow or nanoflow in which this activity is used. | +| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/download-file.png" alt="download file" link="/refguide10/download-file/" max-width=100% class="no-border" >}} | [Download file](/refguide10/download-file/) (microflows only) | Can be used to enable the browser to download a specific file. The user who calls the microflow in which this activity is used gets a download pop-up window, or the file is shown directly in the browser. | +| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/show-home-page.png" alt="show home page" link="/refguide10/show-home-page/" max-width=100% class="no-border" >}} | [Show home page](/refguide10/show-home-page/) (microflows only) | Navigates to the home page for the current user. | +| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/show-message.png" alt="show message" link="/refguide10/show-message/" max-width=100% class="no-border" >}} | [Show message](/refguide10/show-message/) | Allows you to show a blocking or non-blocking message to the user that calls the microflow or nanoflow in which this activity is used. | +| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/show-page.png" alt="show page" link="/refguide10/show-page/" max-width=100% class="no-border" >}} | [Show page](/refguide10/show-page/) | Allows you to show a page to the user that calls the microflow or nanoflow in which this activity is used. | +| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/synchronize-to-device.png" alt="synchronize to device" link="/refguide10/synchronize-to-device/" max-width=100% class="no-border" >}} | [Synchronize to device](/refguide10/synchronize-to-device/) (microflows only) | Can be used to selectively synchronize one or more objects or lists to a device and store them in the offline database. | +| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/synchronize.png" alt="synchronize" link="/refguide10/synchronize/" max-width=100% class="no-border" >}} | [Synchronize](/refguide10/synchronize/) (nanoflows only) | Synchronizes data. | +| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/validation-feedback.png" alt="validation feedback" link="/refguide10/validation-feedback/" max-width=100% class="no-border" >}} | [Validation feedback](/refguide10/validation-feedback/) | Allows you to display a red text below a widget that displays an attribute or association. | ## Integration Activities @@ -80,29 +80,29 @@ Most activities can be used in both microflows and nanoflows. However, some can These activities can only be used in microflows. {{% /alert %}} -[Integration activities](/refguide/integration-activities/) can be used to integrate with other systems, for example by calling a web service. +[Integration activities](/refguide10/integration-activities/) can be used to integrate with other systems, for example by calling a web service. | Graphic | Name | Description | | --- | --- | --- | -| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/call-external-action.png" alt="call external action" link="/refguide/call-external-action/" max-width=100% class="no-border" >}} | [Call external action](/refguide/call-external-action/) | Can be used to call an external action from a consumed OData service. You can configure the parameters and if available, store the result in a variable. | -| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/call-rest-service.png" alt="call REST service" link="/refguide/call-rest-action/" max-width=100% class="no-border" >}} | [Call REST service](/refguide/call-rest-action/) | Can be used to call a REST endpoint. You can use mappings to map results to entities or entities to requests. You can also use string templates and store the result in a string variable. | -| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/call-web-service.png" alt="call web service action" link="/refguide/call-web-service-action/" max-width=100% class="no-border" >}} | [Call web service](/refguide/call-web-service-action/) | Can be used to call one of the [imported web services](/refguide/consumed-web-services/). The content of the request can be edited. Furthermore the response of the webservice can be mapped to entities, stored in a variable or be ignored. | -| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/import-with-mapping.png" alt="import with mapping" link="/refguide/import-mapping-action/" max-width=100% class="no-border" >}} | [Import with mapping](/refguide/import-mapping-action/) | Can be used to parse the data in a string variable or data stored in a file document, and store them to entities defined in the [domain model](/refguide/domain-model/) of the database. An [import mapping](/refguide/import-mappings/) is used to map the incoming XML or JSON to entities. | -| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/export-with-mapping.png" alt="export with mapping" link="/refguide/export-mapping-action/" max-width=100% class="no-border" >}} | [Export with mapping](/refguide/export-mapping-action/) | Can be used to export the data stored in [domain model](/refguide/domain-model/) entities into an XML or JSON string. It can also be stored in a file document. An [export mapping](/refguide/export-mappings/) is used to map domain model entities into XML or JSON. | -| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/query-external-database.png" alt="query external database" link="/refguide/query-external-database/" max-width=100% class="no-border" >}} | [Query external database](/refguide/query-external-database/) | Can be used with the [External Database Connector](/appstore/modules/external-database-connector/) to use preconfigured database queries and display retrieved data in your app.| -| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/send-rest-request.png" alt="send rest request" link="/refguide/send-rest-request/" max-width=100% class="no-border" >}} | [Send REST request (beta)](/refguide/send-rest-request/) | Can be used to send a REST request, which is configured in a [consumed REST service](/refguide/consumed-rest-service/) document.| +| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/call-external-action.png" alt="call external action" link="/refguide10/call-external-action/" max-width=100% class="no-border" >}} | [Call external action](/refguide10/call-external-action/) | Can be used to call an external action from a consumed OData service. You can configure the parameters and if available, store the result in a variable. | +| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/call-rest-service.png" alt="call REST service" link="/refguide10/call-rest-action/" max-width=100% class="no-border" >}} | [Call REST service](/refguide10/call-rest-action/) | Can be used to call a REST endpoint. You can use mappings to map results to entities or entities to requests. You can also use string templates and store the result in a string variable. | +| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/call-web-service.png" alt="call web service action" link="/refguide10/call-web-service-action/" max-width=100% class="no-border" >}} | [Call web service](/refguide10/call-web-service-action/) | Can be used to call one of the [imported web services](/refguide10/consumed-web-services/). The content of the request can be edited. Furthermore the response of the webservice can be mapped to entities, stored in a variable or be ignored. | +| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/import-with-mapping.png" alt="import with mapping" link="/refguide10/import-mapping-action/" max-width=100% class="no-border" >}} | [Import with mapping](/refguide10/import-mapping-action/) | Can be used to parse the data in a string variable or data stored in a file document, and store them to entities defined in the [domain model](/refguide10/domain-model/) of the database. An [import mapping](/refguide10/import-mappings/) is used to map the incoming XML or JSON to entities. | +| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/export-with-mapping.png" alt="export with mapping" link="/refguide10/export-mapping-action/" max-width=100% class="no-border" >}} | [Export with mapping](/refguide10/export-mapping-action/) | Can be used to export the data stored in [domain model](/refguide10/domain-model/) entities into an XML or JSON string. It can also be stored in a file document. An [export mapping](/refguide10/export-mappings/) is used to map domain model entities into XML or JSON. | +| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/query-external-database.png" alt="query external database" link="/refguide10/query-external-database/" max-width=100% class="no-border" >}} | [Query external database](/refguide10/query-external-database/) | Can be used with the [External Database Connector](/appstore/modules/external-database-connector/) to use preconfigured database queries and display retrieved data in your app.| +| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/send-rest-request.png" alt="send rest request" link="/refguide10/send-rest-request/" max-width=100% class="no-border" >}} | [Send REST request (beta)](/refguide10/send-rest-request/) | Can be used to send a REST request, which is configured in a [consumed REST service](/refguide10/consumed-rest-service/) document.| ## Logging Activities | Graphic | Name | Description | | ---| --- | --- | -| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/log-message.png" alt="log message" link="/refguide/log-message/" max-width=60% class="no-border" >}} | [Log message](/refguide/log-message/) | Allows you to create messages that appear in the log of your Mendix application. | +| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/log-message.png" alt="log message" link="/refguide10/log-message/" max-width=60% class="no-border" >}} | [Log message](/refguide10/log-message/) | Allows you to create messages that appear in the log of your Mendix application. | ## Document Generation Activities | Graphic | Name | Description | | --- | --- | --- | -| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/generate-document.png" alt="generate document" link="/refguide/generate-document/" max-width=60% class="no-border" >}} | [Generate document](/refguide/generate-document/) (microflows only) | Allows you to create a document of a certain type based on a [template](/refguide/document-templates/). | +| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/generate-document.png" alt="generate document" link="/refguide10/generate-document/" max-width=60% class="no-border" >}} | [Generate document](/refguide10/generate-document/) (microflows only) | Allows you to create a document of a certain type based on a [template](/refguide10/document-templates/). | ## Metrics Activities @@ -110,21 +110,21 @@ These activities can only be used in microflows. These activities can only be used in microflows. {{% /alert %}} -[Metrics activities](/refguide/metrics-activities/) are used to provide custom metrics from your app. +[Metrics activities](/refguide10/metrics-activities/) are used to provide custom metrics from your app. | Graphic | Name | Description | | --- | --- | --- | -| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/counter.png" alt="counter" link="/refguide/metrics-counter/" max-width=55% class="no-border" >}} | [Counter](/refguide/metrics-counter/) | Allows you to increment a counter by the specified value. | -| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/increment-counter.png" alt="increment-counter" link="/refguide/metrics-increment-counter/" max-width=55% class="no-border" >}} | [Increment counter](/refguide/metrics-increment-counter/) | Allows you to increment a counter by 1. | -| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/gauge.png" alt="gauge" link="/refguide/metrics-gauge/" max-width=55% class="no-border" >}} | [Gauge](/refguide/metrics-gauge/) | Allows you to specify the value of a gauge. | +| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/counter.png" alt="counter" link="/refguide10/metrics-counter/" max-width=55% class="no-border" >}} | [Counter](/refguide10/metrics-counter/) | Allows you to increment a counter by the specified value. | +| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/increment-counter.png" alt="increment-counter" link="/refguide10/metrics-increment-counter/" max-width=55% class="no-border" >}} | [Increment counter](/refguide10/metrics-increment-counter/) | Allows you to increment a counter by 1. | +| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/gauge.png" alt="gauge" link="/refguide10/metrics-gauge/" max-width=55% class="no-border" >}} | [Gauge](/refguide10/metrics-gauge/) | Allows you to specify the value of a gauge. | ## ML Kit Activities -[ML Kit activities](/refguide/ml-kit-activities/) are used with a machine learning model. +[ML Kit activities](/refguide10/ml-kit-activities/) are used with a machine learning model. | Graphic | Name | Description | | --- | --- | --- | -| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/call-ML-model.png" alt="call ml model" link="/refguide/call-ml-model/" max-width=60% class="no-border" >}} | [Call ML model](/refguide/call-ml-model/) (microflows only) | Allows you to call an [ML model mapping](/refguide/ml-model-mapping/) document. | +| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/call-ML-model.png" alt="call ml model" link="/refguide10/call-ml-model/" max-width=60% class="no-border" >}} | [Call ML model](/refguide10/call-ml-model/) (microflows only) | Allows you to call an [ML model mapping](/refguide10/ml-model-mapping/) document. | ## Workflow Activities @@ -132,23 +132,23 @@ These activities can only be used in microflows. These activities can only be used in microflows. {{% /alert %}} -[Workflow activities](/refguide/workflow-activities/) are used in relation to workflows and their user tasks. +[Workflow activities](/refguide10/workflow-activities/) are used in relation to workflows and their user tasks. | Graphic | Name | Description | | --- | ---| --- | -| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/apply-jump-to-option.png" link="/refguide/apply-jump-to-option/" max-width=100% class="no-border" >}} | [Apply jump-to option](/refguide/apply-jump-to-option/) | Allows the workflow to jump to a selected activity. This activity should be used after the [Generate jump-to options](/refguide/generate-jump-to-options/) activity that generates the list of possible workflow activities the workflow can jump to. | -| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/workflow-call.png" link="/refguide/workflow-call/" max-width=100% class="no-border" >}} | [Call workflow](/refguide/workflow-call/) | Triggers the selected workflow. | -| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/change-workflow-state.png" link="/refguide/change-workflow-state/" max-width=100% class="no-border" >}} | [Change workflow state](/refguide/change-workflow-state/) | Allows you to add **Abort**, **Continue**, **Pause**, **Unpause**, **Restart**, and **Retry** operations to a workflow and control workflow instances. | -| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/complete-user-task.png" link="/refguide/complete-user-task/" max-width=100% class="no-border" >}} | [Complete user task](/refguide/complete-user-task/) | Sets which outcome the [user task](/refguide/user-task/) should follow. For example, this activity can be used to complete a user task using a microflow with custom validations. | -| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/generate-jump-to-options.png" link="/refguide/generate-jump-to-options/" max-width=100% class="no-border" >}} | [Generate jump-to options](/refguide/generate-jump-to-options/) | Allows you to generate a list of workflow activities where the workflow can jump to as its next step. The [Apply jump-to option](/refguide/apply-jump-to-option/) activity should be used after the **Generate jump-to options** activity to let the workflow continue from the selected activity. | -| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/retrieve-workflow-activity-records.png" link="/refguide/retrieve-workflow-activity-records/" max-width=100% class="no-border" >}} | [Retrieve workflow activity records](/refguide/retrieve-workflow-activity-records/) | Allows you to retrieve a list of **System.WorkflowActivityRecord** objects for a given workflow instance. Each **System.WorkflowActivityRecord** represents a snapshot of a workflow activity. | -| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/retrieve-workflow-context.png" link="/refguide/retrieve-workflow-context/" max-width=100% class="no-border" >}} | [Retrieve workflow context](/refguide/retrieve-workflow-context/) | Allows you to retrieve the selected [workflow context](/refguide/workflow-parameters/) entity. | -| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/retrieve-workflows.png" link="/refguide/retrieve-workflows/" max-width=100% class="no-border" >}} | [Retrieve workflows](/refguide/retrieve-workflows/) | Allows you to retrieve a list of **System.Workflow** objects associated with the given [workflow context](/refguide/workflow-parameters/) object. | -| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/open-task-page.png" link="/refguide/show-task-page/" max-width=100% class="no-border" >}} | [Show user task page](/refguide/show-task-page/) | Opens a user task page specified in [user task properties](/refguide/user-task/). | -| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/open-workflow-page.png" link="/refguide/show-workflow-page/" max-width=100% class="no-border" >}} | [Show workflow admin page](/refguide/show-workflow-page/) | Opens a workflow overview page. | -| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/lock-workflow.png" link="/refguide/lock-workflow/" max-width=100% class="no-border" >}} | [Lock workflow](/refguide/lock-workflow/) | Allows you to lock a workflow. | -| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/unlock-workflow.png" link="/refguide/unlock-workflow/" max-width=100% class="no-border" >}} | [Unlock workflow](/refguide/unlock-workflow/) | Allows you to unlock a workflow. | -| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/notify-workflow.png" link="/refguide/notify-workflow/" max-width=100% class="no-border" >}} | [Notify workflow](/refguide/notify-workflow/) | Allows you to notify a workflow that is suspended on the [Wait for notification](/refguide/wait-for-notification/) activity. | +| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/apply-jump-to-option.png" link="/refguide10/apply-jump-to-option/" max-width=100% class="no-border" >}} | [Apply jump-to option](/refguide10/apply-jump-to-option/) | Allows the workflow to jump to a selected activity. This activity should be used after the [Generate jump-to options](/refguide10/generate-jump-to-options/) activity that generates the list of possible workflow activities the workflow can jump to. | +| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/workflow-call.png" link="/refguide10/workflow-call/" max-width=100% class="no-border" >}} | [Call workflow](/refguide10/workflow-call/) | Triggers the selected workflow. | +| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/change-workflow-state.png" link="/refguide10/change-workflow-state/" max-width=100% class="no-border" >}} | [Change workflow state](/refguide10/change-workflow-state/) | Allows you to add **Abort**, **Continue**, **Pause**, **Unpause**, **Restart**, and **Retry** operations to a workflow and control workflow instances. | +| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/complete-user-task.png" link="/refguide10/complete-user-task/" max-width=100% class="no-border" >}} | [Complete user task](/refguide10/complete-user-task/) | Sets which outcome the [user task](/refguide10/user-task/) should follow. For example, this activity can be used to complete a user task using a microflow with custom validations. | +| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/generate-jump-to-options.png" link="/refguide10/generate-jump-to-options/" max-width=100% class="no-border" >}} | [Generate jump-to options](/refguide10/generate-jump-to-options/) | Allows you to generate a list of workflow activities where the workflow can jump to as its next step. The [Apply jump-to option](/refguide10/apply-jump-to-option/) activity should be used after the **Generate jump-to options** activity to let the workflow continue from the selected activity. | +| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/retrieve-workflow-activity-records.png" link="/refguide10/retrieve-workflow-activity-records/" max-width=100% class="no-border" >}} | [Retrieve workflow activity records](/refguide10/retrieve-workflow-activity-records/) | Allows you to retrieve a list of **System.WorkflowActivityRecord** objects for a given workflow instance. Each **System.WorkflowActivityRecord** represents a snapshot of a workflow activity. | +| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/retrieve-workflow-context.png" link="/refguide10/retrieve-workflow-context/" max-width=100% class="no-border" >}} | [Retrieve workflow context](/refguide10/retrieve-workflow-context/) | Allows you to retrieve the selected [workflow context](/refguide10/workflow-parameters/) entity. | +| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/retrieve-workflows.png" link="/refguide10/retrieve-workflows/" max-width=100% class="no-border" >}} | [Retrieve workflows](/refguide10/retrieve-workflows/) | Allows you to retrieve a list of **System.Workflow** objects associated with the given [workflow context](/refguide10/workflow-parameters/) object. | +| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/open-task-page.png" link="/refguide10/show-task-page/" max-width=100% class="no-border" >}} | [Show user task page](/refguide10/show-task-page/) | Opens a user task page specified in [user task properties](/refguide10/user-task/). | +| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/open-workflow-page.png" link="/refguide10/show-workflow-page/" max-width=100% class="no-border" >}} | [Show workflow admin page](/refguide10/show-workflow-page/) | Opens a workflow overview page. | +| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/lock-workflow.png" link="/refguide10/lock-workflow/" max-width=100% class="no-border" >}} | [Lock workflow](/refguide10/lock-workflow/) | Allows you to lock a workflow. | +| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/unlock-workflow.png" link="/refguide10/unlock-workflow/" max-width=100% class="no-border" >}} | [Unlock workflow](/refguide10/unlock-workflow/) | Allows you to unlock a workflow. | +| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/notify-workflow.png" link="/refguide10/notify-workflow/" max-width=100% class="no-border" >}} | [Notify workflow](/refguide10/notify-workflow/) | Allows you to notify a workflow that is suspended on the [Wait for notification](/refguide10/wait-for-notification/) activity. | ## External Object Activities @@ -156,9 +156,9 @@ These activities can only be used in microflows. These activities can only be used in microflows. {{% /alert %}} -[External object activities](/refguide/external-object-activities/) allow you to call the service to update the state of the object in the other system. +[External object activities](/refguide10/external-object-activities/) allow you to call the service to update the state of the object in the other system. | Graphic | Name | Description | | --- | --- | --- | -| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/delete-external-object.png" link="/refguide/delete-external-object/" max-width=55% class="no-border" >}} | [Delete external object](/refguide/delete-external-object/) | Allows you to delete an external object. | -| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/send-external-object.png" link="/refguide/send-external-object/" max-width=55% class="no-border" >}} | [Send external object](/refguide/send-external-object/) | Allows you to send an external object. | +| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/delete-external-object.png" link="/refguide10/delete-external-object/" max-width=55% class="no-border" >}} | [Delete external object](/refguide10/delete-external-object/) | Allows you to delete an external object. | +| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/send-external-object.png" link="/refguide10/send-external-object/" max-width=55% class="no-border" >}} | [Send external object](/refguide10/send-external-object/) | Allows you to send an external object. | diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/action-call-activities/_index.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/action-call-activities/_index.md index e440fe146f8..04558c996f4 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/action-call-activities/_index.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/action-call-activities/_index.md @@ -1,6 +1,6 @@ --- title: "Action Call Activities" -url: /refguide/action-call-activities/ +url: /refguide10/action-call-activities/ weight: 30 --- @@ -8,11 +8,11 @@ weight: 30 The following are the action call activities you can use in your microflow or nanoflow: -* [Java action call](/refguide/java-action-call/) (microflows only) – calls a Java action -* [JavaScript action call](/refguide/javascript-action-call/) (nanoflows only) – calls a JavaScript action -* [Microflow call](/refguide/microflow-call/) – calls a microflow +* [Java action call](/refguide10/java-action-call/) (microflows only) – calls a Java action +* [JavaScript action call](/refguide10/javascript-action-call/) (nanoflows only) – calls a JavaScript action +* [Microflow call](/refguide10/microflow-call/) – calls a microflow ## Read More -* [Activities](/refguide/activities/) -* [Call Nanoflow](/refguide/nanoflow-call/) +* [Activities](/refguide10/activities/) +* [Call Nanoflow](/refguide10/nanoflow-call/) diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/action-call-activities/java-action-call.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/action-call-activities/java-action-call.md index 21fdc8509bd..b9ededb6d73 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/action-call-activities/java-action-call.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/action-call-activities/java-action-call.md @@ -1,6 +1,6 @@ --- title: "Java Action Call" -url: /refguide/java-action-call/ +url: /refguide10/java-action-call/ weight: 10 #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. --- @@ -11,7 +11,7 @@ This activity can only be used in microflows. ## Introduction -The **Java action call** activity can be used to call a [Java action](/refguide/java-actions/). Arguments can be passed to the action and the result can be stored. +The **Java action call** activity can be used to call a [Java action](/refguide10/java-actions/). Arguments can be passed to the action and the result can be stored. ## Properties @@ -42,7 +42,7 @@ Click **Edit** next to the parameter to fill in the arguments. An argument is the input data that you are passing to the Java action. For each Java action parameter, you must supply an argument of the same type. -The values of the arguments are defined using [expressions](/refguide/expressions/): +The values of the arguments are defined using [expressions](/refguide10/expressions/): {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/action-call-activities/java-action-call/argument-edit.png" alt="argument" class="no-border" >}} @@ -70,8 +70,8 @@ If you want a microflow to call a Java action to run in the background using a t 2. Identify which task queue it should run in in **Select Task Queue**. 3. (optionally) Select an automatic retry strategy. -For more information about task queues, see [Task Queue](/refguide/task-queue/). +For more information about task queues, see [Task Queue](/refguide10/task-queue/). ## Common Section {#common} -{{% snippet file="/static/_includes/refguide/microflow-common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/microflow-common-section-link.md" %}} diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/action-call-activities/javascript-action-call.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/action-call-activities/javascript-action-call.md index 1d7b9270e20..5bb111f789e 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/action-call-activities/javascript-action-call.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/action-call-activities/javascript-action-call.md @@ -1,6 +1,6 @@ --- title: "JavaScript Action Call" -url: /refguide/javascript-action-call/ +url: /refguide10/javascript-action-call/ weight: 20 description: "This reference explains the properties of the JavaScript action call activity." #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. @@ -12,7 +12,7 @@ This activity can only be used in nanoflows. ## Introduction -The JavaScript action call activity can be used to call a [JavaScript action](/refguide/javascript-actions/). Arguments can be passed to the action, and the result can be stored. +The JavaScript action call activity can be used to call a [JavaScript action](/refguide10/javascript-actions/). Arguments can be passed to the action, and the result can be stored. ## Properties @@ -47,7 +47,7 @@ Click **Edit** next to the parameter to fill in the arguments. An argument is the input data that you are passing to the JavaScript action. For each JavaScript action parameter, you must supply an argument of the same type. -The values of the arguments are defined using [expressions](/refguide/expressions/): +The values of the arguments are defined using [expressions](/refguide10/expressions/): {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/action-call-activities/java-action-call/argument-edit.png" alt="argument" class="no-border" >}} @@ -65,11 +65,11 @@ The name of the variable, list, or object returned by the activity. If it is an ## Common Section {#common} -{{% snippet file="/static/_includes/refguide/microflow-common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/microflow-common-section-link.md" %}} ## Read More -* [JavaScript Actions](/refguide/javascript-actions/) +* [JavaScript Actions](/refguide10/javascript-actions/) * [Build JavaScript Actions](/howto/extensibility/build-javascript-actions/) -* [Nanoflows](/refguide/nanoflows/) -* [Java Action Call](/refguide/java-action-call/) +* [Nanoflows](/refguide10/nanoflows/) +* [Java Action Call](/refguide10/java-action-call/) diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/action-call-activities/microflow-call.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/action-call-activities/microflow-call.md index bd7f848837e..6616c0afceb 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/action-call-activities/microflow-call.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/action-call-activities/microflow-call.md @@ -1,6 +1,6 @@ --- title: "Microflow Call" -url: /refguide/microflow-call/ +url: /refguide10/microflow-call/ #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,7 +10,7 @@ This activity can be used in both microflows and nanoflows. ## Introduction -The **Microflow call** activity can be used to call a [microflow](/refguide/microflows/). Arguments can be passed to the microflow and the result can be stored. +The **Microflow call** activity can be used to call a [microflow](/refguide10/microflows/). Arguments can be passed to the microflow and the result can be stored. ## Properties @@ -45,17 +45,17 @@ The name of the parameter that is read-only. #### Type -The type of the parameter that is read-only. For more information on possible types of parameters, see [Data Types](/refguide/data-types/). +The type of the parameter that is read-only. For more information on possible types of parameters, see [Data Types](/refguide10/data-types/). #### Argument {#argument} -The **Edit parameter value** button allows you to edit the argument value. For each parameter of the microflow, you need to supply an argument of the same type. The values of the arguments are expressed using [expressions](/refguide/expressions/). There is a difference in the way argument values are passed to a sub-microflow: +The **Edit parameter value** button allows you to edit the argument value. For each parameter of the microflow, you need to supply an argument of the same type. The values of the arguments are expressed using [expressions](/refguide10/expressions/). There is a difference in the way argument values are passed to a sub-microflow: * Lists and objects are passed as references (meaning, if the list/object is changed in a sub-microflow, the original list/object is altered) * Primitive types (strings, numbers, etc.) are passed as values (meaning, they are immutable, and not changeable via sub-microflows) {{% alert color="warning" %}} -When used inside a nanoflow in an offline profile, only primitives and non-persistable entities that have no associations with persistable entities are allowed as arguments for the call. For more information, see the [Microflows](/refguide/mobile/building-efficient-mobile-apps/offlinefirst-data/best-practices/#microflows) section of *Offline Best Practices*. +When used inside a nanoflow in an offline profile, only primitives and non-persistable entities that have no associations with persistable entities are allowed as arguments for the call. For more information, see the [Microflows](/refguide10/mobile/building-efficient-mobile-apps/offlinefirst-data/best-practices/#microflows) section of *Offline Best Practices*. {{% /alert %}} ### Task Queue @@ -70,7 +70,7 @@ If you want a microflow to call a microflow to run in the background using a tas 2. Identify which task queue it should run in in **Select Task Queue**. 3. (optionally) Select an automatic retry strategy. -For more information about task queues, see [Task Queue](/refguide/task-queue/). +For more information about task queues, see [Task Queue](/refguide10/task-queue/). ### Return Type @@ -88,8 +88,8 @@ If you specify a name for the returned value in the called microflow's end event ## Microflow Calls in Offline-First Apps -It is possible to perform a microflow call from an offline-first app. However, it works a bit differently than in online applications. For more information, see the [Microflows](/refguide/mobile/building-efficient-mobile-apps/offlinefirst-data/best-practices/#microflows) section of *Offline Best Practices* +It is possible to perform a microflow call from an offline-first app. However, it works a bit differently than in online applications. For more information, see the [Microflows](/refguide10/mobile/building-efficient-mobile-apps/offlinefirst-data/best-practices/#microflows) section of *Offline Best Practices* ## Common Section {#common} -{{% snippet file="/static/_includes/refguide/microflow-common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/microflow-common-section-link.md" %}} diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/client-activities/_index.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/client-activities/_index.md index 9bd93dd423a..7d6e6bbfe33 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/client-activities/_index.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/client-activities/_index.md @@ -1,6 +1,6 @@ --- title: "Client Activities" -url: /refguide/client-activities/ +url: /refguide10/client-activities/ weight: 50 --- @@ -10,17 +10,17 @@ weight: 50 The following are the client activities you can use in your microflow or nanoflow: -* [Nanoflow call](/refguide/nanoflow-call/) (nanoflows only) – calls another nanoflow -* [Close page](/refguide/close-page/) – closes the currently open page -* [Download file](/refguide/download-file/) (microflows only) – downloads a file using the browser -* [Show home page](/refguide/show-home-page/) (microflows only) – opens the home page for the end-user -* [Show message](/refguide/show-message/) – shows a message to the end-user -* [Show page](/refguide/show-page/) – shows a selected page to the end-user -* [Synchronize to device](/refguide/synchronize-to-device/) (microflows only) – enables selectively synchronizing a set of objects to the device when calling a microflow from a nanoflow -* [Synchronize](/refguide/synchronize/) (nanoflows only) – synchronizes data between your device and the server -* [Validation feedback](/refguide/validation-feedback/) – does a validation check, and if this check fails, it shows a message to the end-user -* [Clear from device](/refguide/clear-from-device/) (nanoflows only) – clears all objects of an entity only from the local database of the device +* [Nanoflow call](/refguide10/nanoflow-call/) (nanoflows only) – calls another nanoflow +* [Close page](/refguide10/close-page/) – closes the currently open page +* [Download file](/refguide10/download-file/) (microflows only) – downloads a file using the browser +* [Show home page](/refguide10/show-home-page/) (microflows only) – opens the home page for the end-user +* [Show message](/refguide10/show-message/) – shows a message to the end-user +* [Show page](/refguide10/show-page/) – shows a selected page to the end-user +* [Synchronize to device](/refguide10/synchronize-to-device/) (microflows only) – enables selectively synchronizing a set of objects to the device when calling a microflow from a nanoflow +* [Synchronize](/refguide10/synchronize/) (nanoflows only) – synchronizes data between your device and the server +* [Validation feedback](/refguide10/validation-feedback/) – does a validation check, and if this check fails, it shows a message to the end-user +* [Clear from device](/refguide10/clear-from-device/) (nanoflows only) – clears all objects of an entity only from the local database of the device ## Read More -* [Activities](/refguide/activities/) +* [Activities](/refguide10/activities/) diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/client-activities/clear-from-device.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/client-activities/clear-from-device.md index 33dcb5a8ec1..a02ada170cd 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/client-activities/clear-from-device.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/client-activities/clear-from-device.md @@ -1,6 +1,6 @@ --- title: "Clear from Device" -url: /refguide/clear-from-device/ +url: /refguide10/clear-from-device/ weight: 70 #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. --- @@ -8,19 +8,19 @@ weight: 70 {{% alert color="info" %}} This activity can only be used in Nanoflows that run in an offline-first app (a native or offline PWA app). -This activity can only be used with offline [persistable entities](/refguide/persistability/). +This activity can only be used with offline [persistable entities](/refguide10/persistability/). {{% /alert %}} ## Introduction -The **Clear from device** activity can be used to clear all objects of a [persistable entity](/refguide/persistability/) only from the local database of a device but these objects are not going to be deleted from the server after synchronization. +The **Clear from device** activity can be used to clear all objects of a [persistable entity](/refguide10/persistability/) only from the local database of a device but these objects are not going to be deleted from the server after synchronization. {{% alert color="info" %}} If the entity is synchronized after clearing, the objects are downloaded from the Mendix Runtime again. {{% /alert %}} {{% alert color="warning" %}} -Objects with unsynchronized changes are also removed without synchronizing them. To avoid data loss, it is recommended to run [Synchronize unsynchronized objects](/refguide/synchronize/#unsynchronized-objects) before running this activity. +Objects with unsynchronized changes are also removed without synchronizing them. To avoid data loss, it is recommended to run [Synchronize unsynchronized objects](/refguide10/synchronize/#unsynchronized-objects) before running this activity. {{% /alert %}} ## Properties @@ -48,7 +48,7 @@ The entity that you want to clear all its objects from the local database of the ## Common Section {#common} -{{% snippet file="/static/_includes/refguide/microflow-common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/microflow-common-section-link.md" %}} ## Limitations diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/client-activities/close-page.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/client-activities/close-page.md index e9895cabc31..491048a1dde 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/client-activities/close-page.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/client-activities/close-page.md @@ -1,12 +1,12 @@ --- title: "Close Page" -url: /refguide/close-page/ +url: /refguide10/close-page/ weight: 10 aliases: - - /refguide/Close+Form.html - - /refguide/close-form.html - - /refguide/Close+Form - - /refguide/close-form + - /refguide10/Close+Form.html + - /refguide10/close-form.html + - /refguide10/Close+Form + - /refguide10/close-form #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. --- @@ -15,7 +15,7 @@ This activity can be used in both microflows and nanoflows. {{% /alert %}} {{% alert color="warning" %}} -This action is ignored and does not work when a microflow is called from an offline or native app. For more information, see the [Microflows](/refguide/mobile/building-efficient-mobile-apps/offlinefirst-data/best-practices/#microflows) section of *Offline Best Practices*. +This action is ignored and does not work when a microflow is called from an offline or native app. For more information, see the [Microflows](/refguide10/mobile/building-efficient-mobile-apps/offlinefirst-data/best-practices/#microflows) section of *Offline Best Practices*. {{% /alert %}} ## Introduction @@ -50,9 +50,9 @@ This property allows you to control how many pages should be closed. ## Common Section {#common} -{{% snippet file="/static/_includes/refguide/microflow-common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/microflow-common-section-link.md" %}} ## Read More -* [Show Page](/refguide/show-page/) -* [Native Navigation](/refguide/native-navigation/) +* [Show Page](/refguide10/show-page/) +* [Native Navigation](/refguide10/native-navigation/) diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/client-activities/download-file.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/client-activities/download-file.md index b37fd46b0b1..4908706a0ca 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/client-activities/download-file.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/client-activities/download-file.md @@ -1,10 +1,10 @@ --- title: "Download File" -url: /refguide/download-file/ +url: /refguide10/download-file/ weight: 20 aliases: - - /refguide/Download+File.html - - /refguide/Download+File + - /refguide10/Download+File.html + - /refguide10/Download+File #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. --- @@ -13,7 +13,7 @@ This activity can only be used in microflows. {{% /alert %}} {{% alert color="warning" %}} -This action is ignored and does not work when a microflow is called from an offline or native app. For more information, see the [Microflows](/refguide/mobile/building-efficient-mobile-apps/offlinefirst-data/best-practices/#microflows) section of *Offline-First Data*. +This action is ignored and does not work when a microflow is called from an offline or native app. For more information, see the [Microflows](/refguide10/mobile/building-efficient-mobile-apps/offlinefirst-data/best-practices/#microflows) section of *Offline-First Data*. {{% /alert %}} {{% alert color="warning" %}} @@ -64,4 +64,4 @@ Many browsers implement pop-up window blockers preventing them from being opened ## Common Section {#common} -{{% snippet file="/static/_includes/refguide/microflow-common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/microflow-common-section-link.md" %}} diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/client-activities/nanoflow-call.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/client-activities/nanoflow-call.md index fca9005abb3..6bb03c4e514 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/client-activities/nanoflow-call.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/client-activities/nanoflow-call.md @@ -1,6 +1,6 @@ --- title: "Call Nanoflow" -url: /refguide/nanoflow-call/ +url: /refguide10/nanoflow-call/ weight: 2 #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. --- @@ -11,7 +11,7 @@ This activity can only be used in nanoflows. ## Introduction -The **Call nanoflow** activity can be used to call another [nanoflow](/refguide/nanoflows/). Arguments can be passed to the nanoflow and the result can be stored in a variable. +The **Call nanoflow** activity can be used to call another [nanoflow](/refguide10/nanoflows/). Arguments can be passed to the nanoflow and the result can be stored in a variable. ## Properties @@ -46,11 +46,11 @@ The name of the parameter that is read-only. #### Type -The type of the parameter that is read-only. For more information on possible types of parameters, see [Data Types](/refguide/data-types/). +The type of the parameter that is read-only. For more information on possible types of parameters, see [Data Types](/refguide10/data-types/). #### Argument {#argument} -The **Edit parameter value** button allows you to edit the argument value. For each parameter of the nanoflow, you have to supply an argument of the same type. The values of the arguments are expressed using [expressions](/refguide/expressions/). +The **Edit parameter value** button allows you to edit the argument value. For each parameter of the nanoflow, you have to supply an argument of the same type. The values of the arguments are expressed using [expressions](/refguide10/expressions/). ### Return Type @@ -68,4 +68,4 @@ If you specify a name for the returned value in the called nanoflow's end event, ## Common Section {#common} -{{% snippet file="/static/_includes/refguide/microflow-common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/microflow-common-section-link.md" %}} diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/client-activities/show-home-page.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/client-activities/show-home-page.md index 12c89566510..1f9d32facfc 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/client-activities/show-home-page.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/client-activities/show-home-page.md @@ -1,10 +1,10 @@ --- title: "Show Home Page" -url: /refguide/show-home-page/ +url: /refguide10/show-home-page/ weight: 30 aliases: - - /refguide/Show+Home+Page.html - - /refguide/Show+Home+Page + - /refguide10/Show+Home+Page.html + - /refguide10/Show+Home+Page #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. --- @@ -13,7 +13,7 @@ This activity can only be used in microflows. {{% /alert %}} {{% alert color="warning" %}} -This action is ignored and does not work when a microflow is called from an offline or native app. For more information, see the [Microflows](/refguide/mobile/building-efficient-mobile-apps/offlinefirst-data/best-practices/#microflows) section of *Offline-First Data*. +This action is ignored and does not work when a microflow is called from an offline or native app. For more information, see the [Microflows](/refguide10/mobile/building-efficient-mobile-apps/offlinefirst-data/best-practices/#microflows) section of *Offline-First Data*. {{% /alert %}} ## Introduction @@ -22,7 +22,7 @@ The **Show home page** activity opens the home page for an end-user. For example {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/client-activities/show-home-page/show-home-page.png" alt="Show Home Page" width="200" class="no-border" >}} -This activity shows the same page that is displayed to the end-user after they log in, meaning it shows the home page defined for the current user role. For more information on role-based home pages, see [Navigation](/refguide/navigation/). +This activity shows the same page that is displayed to the end-user after they log in, meaning it shows the home page defined for the current user role. For more information on role-based home pages, see [Navigation](/refguide10/navigation/). ## Properties @@ -40,9 +40,9 @@ The **Action** section of the properties pane shows the action associated with t ## Common Section {#common} -{{% snippet file="/static/_includes/refguide/microflow-common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/microflow-common-section-link.md" %}} ## Read More -* [Show Page](/refguide/show-page/) -* [Activities](/refguide/activities/) +* [Show Page](/refguide10/show-page/) +* [Activities](/refguide10/activities/) diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/client-activities/show-message.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/client-activities/show-message.md index 0f5454da9e6..65800335462 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/client-activities/show-message.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/client-activities/show-message.md @@ -1,10 +1,10 @@ --- title: "Show Message" -url: /refguide/show-message/ +url: /refguide10/show-message/ weight: 4 aliases: - - /refguide/Show+Message.html - - /refguide/Show+Message + - /refguide10/Show+Message.html + - /refguide10/Show+Message #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. --- @@ -13,7 +13,7 @@ This activity can be used in both microflows and nanoflows. {{% /alert %}} {{% alert color="warning" %}} -This action is ignored and does not work when a microflow is called from an offline or native app. For more information, see the [Microflows](/refguide/mobile/building-efficient-mobile-apps/offlinefirst-data/best-practices/#microflows) section of *Offline-First Data*. +This action is ignored and does not work when a microflow is called from an offline or native app. For more information, see the [Microflows](/refguide10/mobile/building-efficient-mobile-apps/offlinefirst-data/best-practices/#microflows) section of *Offline-First Data*. {{% /alert %}} ## Introduction @@ -57,7 +57,7 @@ There are three message options: ### Parameters -For each parameter in the template, you define an attribute of the context entity or an associated entity. The value of this attribute will be inserted at the position of the parameter. Parameters should be entered using [expressions](/refguide/expressions/) resulting in a string. +For each parameter in the template, you define an attribute of the context entity or an associated entity. The value of this attribute will be inserted at the position of the parameter. Parameters should be entered using [expressions](/refguide10/expressions/) resulting in a string. With parameters you can customize your message with data specific to the situation. For example, the message "An email has been sent to customer {1}." with parameter `$customer/FullName` will show the full name of the customer who an email has been sent to. @@ -72,8 +72,8 @@ The **Blocking** property defines whether the message shown to the end-user is b ## Common Section {#common} -{{% snippet file="/static/_includes/refguide/microflow-common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/microflow-common-section-link.md" %}} ## Read More -* [Activities](/refguide/activities/) +* [Activities](/refguide10/activities/) diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/client-activities/show-page.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/client-activities/show-page.md index c5d97315e4a..274e8c4b8ba 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/client-activities/show-page.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/client-activities/show-page.md @@ -1,10 +1,10 @@ --- title: "Show Page" -url: /refguide/show-page/ +url: /refguide10/show-page/ weight: 50 aliases: - - /refguide/Show+Page.html - - /refguide/Show+Page + - /refguide10/Show+Page.html + - /refguide10/Show+Page #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. --- @@ -13,7 +13,7 @@ This activity can be used in both microflows and nanoflows. {{% /alert %}} {{% alert color="warning" %}} -This action is ignored and does not work when a microflow is called from an offline or native app. For more information, see the [Microflows](/refguide/mobile/building-efficient-mobile-apps/offlinefirst-data/best-practices/#microflows) section of *Offline-First Data*. +This action is ignored and does not work when a microflow is called from an offline or native app. For more information, see the [Microflows](/refguide10/mobile/building-efficient-mobile-apps/offlinefirst-data/best-practices/#microflows) section of *Offline-First Data*. {{% /alert %}} ## Introduction @@ -45,7 +45,7 @@ You can also open the dialog box by double-clicking the activity, or right-click ### Page -The [page](/refguide/page/) that is displayed to an end-user. If the page has parameters, the [Parameters](#parameters) section allows you to specify the which objects should be passed to the page. +The [page](/refguide10/page/) that is displayed to an end-user. If the page has parameters, the [Parameters](#parameters) section allows you to specify the which objects should be passed to the page. To create a new page that **Show page** activity will show, click the **Select** button > **New**. Studio Pro will ask you whether you want to pass a variable as an argument to the new page. If you select a variable to pass, Studio Pro will automatically create a page parameter of that type and a data view to edit that object. @@ -53,7 +53,7 @@ To create a new page that **Show page** activity will show, click the **Select** By default the title of the page is determined by the page title property of the page. You can replace this title with a custom title if necessary. -This feature allows you to re-use the same page for the **New** and **Edit** buttons of a [data grid](/refguide/data-grid/). By simply setting the titles to, for example, *New Customer* and *Edit Customer*, you can save yourself the trouble of duplicating pages. +This feature allows you to re-use the same page for the **New** and **Edit** buttons of a [data grid](/refguide10/data-grid/). By simply setting the titles to, for example, *New Customer* and *Edit Customer*, you can save yourself the trouble of duplicating pages. ### Close Pages {#close-pages} @@ -72,13 +72,13 @@ Often you need to have control of page history, for example to show the correct ### Parameters Section {#parameters} -Depending on the selected page, you will see a list of its parameters. For each parameter, you can configure a variable or expression to specify which object should be passed to it. These objects are used by [data views](/refguide/data-view/) with a page parameter data source. If only one variable of the expected type for a certain parameter is available, that variable is automatically filled in. +Depending on the selected page, you will see a list of its parameters. For each parameter, you can configure a variable or expression to specify which object should be passed to it. These objects are used by [data views](/refguide10/data-view/) with a page parameter data source. If only one variable of the expected type for a certain parameter is available, that variable is automatically filled in. ## Common Section{#common} -{{% snippet file="/static/_includes/refguide/microflow-common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/microflow-common-section-link.md" %}} ## Read More -* [Activities](/refguide/activities/) -* [Native Navigation](/refguide/native-navigation/) +* [Activities](/refguide10/activities/) +* [Native Navigation](/refguide10/native-navigation/) diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/client-activities/synchronize-to-device.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/client-activities/synchronize-to-device.md index 6210e8af13b..ca4c6435235 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/client-activities/synchronize-to-device.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/client-activities/synchronize-to-device.md @@ -1,6 +1,6 @@ --- title: "Synchronize to Device" -url: /refguide/synchronize-to-device/ +url: /refguide10/synchronize-to-device/ weight: 60 #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. --- @@ -38,7 +38,7 @@ A variable that refers to an object or a list to be synchronized. ## Common Section {#common} -{{% snippet file="/static/_includes/refguide/microflow-common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/microflow-common-section-link.md" %}} ## Limitations @@ -56,7 +56,7 @@ they will not be synchronized to a device. If the offline database already conta When adding **Synchronize to device** to a microflow consider the following: -* This action should be used in combination with the [Nothing (preserve data)](/refguide/mobile/building-efficient-mobile-apps/offlinefirst-data/synchronization/#customizable-synchronization) option to make sure your data is not cleared during a synchronize action. +* This action should be used in combination with the [Nothing (preserve data)](/refguide10/mobile/building-efficient-mobile-apps/offlinefirst-data/synchronization/#customizable-synchronization) option to make sure your data is not cleared during a synchronize action. * **Synchronize to device** action works in an append mode, it does not replace all data in the database. Any existing data is kept and only objects that are sent to the client are affected. * Synchronizing the same object or list multiple times will synchronize it only once. The latest committed state will be synchronized. diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/client-activities/synchronize.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/client-activities/synchronize.md index 75b8548c584..52eed58d06d 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/client-activities/synchronize.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/client-activities/synchronize.md @@ -1,6 +1,6 @@ --- title: "Synchronize" -url: /refguide/synchronize/ +url: /refguide10/synchronize/ weight: 70 #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. --- @@ -15,7 +15,7 @@ The **Synchronize** activity can be used to synchronize your data between your d ## Synchronization Modes -All three modes perform synchronization in two phases: upload and download. For more information, see the [Synchronization Behavior](#synchronization-behavior) section below and the [Synchronization types](/refguide/mobile/building-efficient-mobile-apps/offlinefirst-data/synchronization/) section of *Offline Synchronization*. +All three modes perform synchronization in two phases: upload and download. For more information, see the [Synchronization Behavior](#synchronization-behavior) section below and the [Synchronization types](/refguide10/mobile/building-efficient-mobile-apps/offlinefirst-data/synchronization/) section of *Offline Synchronization*. ### All Objects {#all-objects} @@ -27,7 +27,7 @@ All three modes perform synchronization in two phases: upload and download. For The **All objects** mode synchronizes the entire local database. The server database is updated with the changes from the local database. The local database is updated with the latest data from the server, including the file contents. -The behavior of this mode can be configured through [synchronization configuration](/refguide/mobile/building-efficient-mobile-apps/offlinefirst-data/synchronization/#customizable-synchronization). +The behavior of this mode can be configured through [synchronization configuration](/refguide10/mobile/building-efficient-mobile-apps/offlinefirst-data/synchronization/#customizable-synchronization). ### Unsynchronized Objects {#unsynchronized-objects} @@ -50,7 +50,7 @@ Using this mode, only the selected objects or lists are synchronized. Deleted ob This section describes the behavior for the [Unsynchronized objects](#unsynchronized-objects) and [Selected object(s)](#selected-objects) modes. {{% alert color="warning" %}} -The settings in [synchronization configuration](/refguide/mobile/building-efficient-mobile-apps/offlinefirst-data/synchronization/#customizable-synchronization) are not applied for the **Unsynchronized objects** and **Selected object(s)** modes. +The settings in [synchronization configuration](/refguide10/mobile/building-efficient-mobile-apps/offlinefirst-data/synchronization/#customizable-synchronization) are not applied for the **Unsynchronized objects** and **Selected object(s)** modes. {{% /alert %}} In the **Selected object(s)** mode, if the set of objects selected for synchronization contains any objects that have not been committed yet, those objects will be skipped and thus not synchronized. @@ -79,7 +79,7 @@ The **Action** section of the properties pane shows the action associated with t ## Common Section {#common} -{{% snippet file="/static/_includes/refguide/microflow-common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/microflow-common-section-link.md" %}} ## Limitations {#limitations} @@ -87,9 +87,9 @@ Running multiple synchronization processes at the same time is not supported, re If you try to trigger another synchronization process while the synchronization is in progress, the following error message will be shown: "Performing simultaneous synchronizations is not supported. Please try again after the current synchronization is completed." -Such an error can be handled in the nanoflow from which the synchronization attempt was triggered using [error handlers](/refguide/error-handling-in-nanoflows/#errorhandlers-nano). +Such an error can be handled in the nanoflow from which the synchronization attempt was triggered using [error handlers](/refguide10/error-handling-in-nanoflows/#errorhandlers-nano). ## Read More -* [Activities](/refguide/activities/) -* [Offline Synchronization](/refguide/mobile/building-efficient-mobile-apps/offlinefirst-data/synchronization/) +* [Activities](/refguide10/activities/) +* [Offline Synchronization](/refguide10/mobile/building-efficient-mobile-apps/offlinefirst-data/synchronization/) diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/client-activities/validation-feedback.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/client-activities/validation-feedback.md index 9d419b80365..b533ddcc906 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/client-activities/validation-feedback.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/client-activities/validation-feedback.md @@ -1,10 +1,10 @@ --- title: "Validation Feedback" -url: /refguide/validation-feedback/ +url: /refguide10/validation-feedback/ weight: 70 aliases: - - /refguide/Validation+Feedback.html - - /refguide/Validation+Feedback + - /refguide10/Validation+Feedback.html + - /refguide10/Validation+Feedback #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. --- @@ -13,7 +13,7 @@ This activity can be used in both microflows and nanoflows. {{% /alert %}} {{% alert color="warning" %}} -This action is ignored and does not work when a microflow is called from an offline or native app. For more information, see the [Microflows](/refguide/mobile/building-efficient-mobile-apps/offlinefirst-data/best-practices/#microflows) section of *Offline-First Data*. +This action is ignored and does not work when a microflow is called from an offline or native app. For more information, see the [Microflows](/refguide10/mobile/building-efficient-mobile-apps/offlinefirst-data/best-practices/#microflows) section of *Offline-First Data*. {{% /alert %}} ## Introduction @@ -47,7 +47,7 @@ You can also open the dialog box by double-clicking the activity, or right-click ### Member -**Member** defines for which attribute or association the message will be shown. In you have a [reference selector](/refguide/reference-selector/) or [reference set selector](/refguide/reference-set-selector/), you should select the association that is edited with these widgets. +**Member** defines for which attribute or association the message will be shown. In you have a [reference selector](/refguide10/reference-selector/) or [reference set selector](/refguide10/reference-set-selector/), you should select the association that is edited with these widgets. ### Template @@ -61,12 +61,12 @@ Nanoflows do not support text templates in validation feedback. Only a static me ### Parameters -Parameters are attributes the value of which will be displayed. Parameters need to be entered using [expressions](/refguide/expressions/) resulting in a string. +Parameters are attributes the value of which will be displayed. Parameters need to be entered using [expressions](/refguide10/expressions/) resulting in a string. ## Common Section {#common} -{{% snippet file="/static/_includes/refguide/microflow-common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/microflow-common-section-link.md" %}} ## Read More -* [Activities](/refguide/activities/) +* [Activities](/refguide10/activities/) diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/external-object-activities/_index.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/external-object-activities/_index.md index c17d5f19bad..609cc6fca9c 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/external-object-activities/_index.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/external-object-activities/_index.md @@ -1,6 +1,6 @@ --- title: "External Object Activities" -url: /refguide/external-object-activities/ +url: /refguide10/external-object-activities/ weight: 90 --- @@ -16,9 +16,9 @@ The activities described in this document are in the **External Object Activitie The following are the integration activities you can use in your microflow: -* [Send external object](/refguide/send-external-object/) – sends changes to an external object to the publishing app -* [Delete external object](/refguide/delete-external-object/) – deletes an external object in the publishing app +* [Send external object](/refguide10/send-external-object/) – sends changes to an external object to the publishing app +* [Delete external object](/refguide10/delete-external-object/) – deletes an external object in the publishing app ## Read More -* [Activities](/refguide/activities/) +* [Activities](/refguide10/activities/) diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/external-object-activities/delete-external-object.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/external-object-activities/delete-external-object.md index c472401ce0b..18a3e31f1de 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/external-object-activities/delete-external-object.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/external-object-activities/delete-external-object.md @@ -1,6 +1,6 @@ --- title: "Delete External Object" -url: /refguide/delete-external-object/ +url: /refguide10/delete-external-object/ --- {{% alert color="info" %}} @@ -31,4 +31,4 @@ This setting defines how changes are reflected in the pages presented to the end ## After the Activity -After this activity, the `$latestHttpResponse` variable (of the [HttpResponse](/refguide/http-request-and-response-entities/#http-response) type) is available to inspect the response returned by the service. +After this activity, the `$latestHttpResponse` variable (of the [HttpResponse](/refguide10/http-request-and-response-entities/#http-response) type) is available to inspect the response returned by the service. diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/external-object-activities/send-external-object.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/external-object-activities/send-external-object.md index 07611006c85..33f80d2e6aa 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/external-object-activities/send-external-object.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/external-object-activities/send-external-object.md @@ -1,6 +1,6 @@ --- title: "Send External Object" -url: /refguide/send-external-object/ +url: /refguide10/send-external-object/ --- {{% alert color="info" %}} @@ -17,7 +17,7 @@ Use this activity with [updatable external entities](#updatable-entities) to sen ### Updatable External Entities {#updatable-entities} -External entities may have updatable attributes. The values of these attributes can change; for example, in a widget, or by using the [change object activity](/refguide/change-object/). Associations between two external entities from the same OData service may be updatable as well. +External entities may have updatable attributes. The values of these attributes can change; for example, in a widget, or by using the [change object activity](/refguide10/change-object/). Associations between two external entities from the same OData service may be updatable as well. Use the **Send External Object** activity to send the changed attributes and the changed associations that the entity owns to the app that publishes the entity. That app will persist the changes, overwriting the previous values of the attributes and associations. @@ -51,7 +51,7 @@ This setting defines how changes are reflected in the pages presented to the end ## After the Activity -After this activity, the `$latestHttpResponse` variable (of the [HttpResponse](/refguide/http-request-and-response-entities/#http-response) type) is available to inspect the response returned by the service. +After this activity, the `$latestHttpResponse` variable (of the [HttpResponse](/refguide10/http-request-and-response-entities/#http-response) type) is available to inspect the response returned by the service. After this activity, an external object is updated based on the received response. @@ -61,6 +61,6 @@ The feature to update an external entity was introduced in Studio Pro 10.3.0. ## Related -Persistable objects are persisted by using the [commit](/refguide/committing-objects/) activity. External entities cannot be committed. Use this activity instead. +Persistable objects are persisted by using the [commit](/refguide10/committing-objects/) activity. External entities cannot be committed. Use this activity instead. -The [Save](/refguide/button-widgets/) button does not work for external entities, either. To persist changes to an external object on a page, use a microflow that has this activity. +The [Save](/refguide10/button-widgets/) button does not work for external entities, either. To persist changes to an external object on a page, use a microflow that has this activity. diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/generate-document.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/generate-document.md index 7e2ad32ceef..d7aae20e182 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/generate-document.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/generate-document.md @@ -1,6 +1,6 @@ --- title: "Generate Document" -url: /refguide/generate-document/ +url: /refguide10/generate-document/ weight: 80 description: "Describes generating documents from a microflow. " #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. @@ -12,7 +12,7 @@ This activity can only be used in microflows. ## Introduction -The **Generate document** activity is used to write a document to a file, based on a [document template](/refguide/document-templates/). +The **Generate document** activity is used to write a document to a file, based on a [document template](/refguide10/document-templates/). For more information on which types of documents can be created, see [Document Type](#document-type). @@ -46,7 +46,7 @@ The language in which the titles and labels of the document should appear is des | Option | Description | | --- | --- | | Current user *(default)* | Use the language of the current user. | -| Project default | Use the default language that is specified in the [App Settings](/refguide/app-settings/). | +| Project default | Use the default language that is specified in the [App Settings](/refguide10/app-settings/). | | Variable | Use the language stored in the selected object, which must be of type *System.Language*. | ### Document Type{#document-type} @@ -68,7 +68,7 @@ The document type specifies the type of the generated document. ### Template -Template defines which [document template](/refguide/document-templates/) is used to generate the file. Depending on the selected document template one or more [arguments](#argument) need to be specified. +Template defines which [document template](/refguide10/document-templates/) is used to generate the file. Depending on the selected document template one or more [arguments](#argument) need to be specified. ### Arguments @@ -84,8 +84,8 @@ The type of the argument used in the document template that is read-only. #### Argument {#argument} -The **Edit argument** button allows you to edit the argument value. An argument is the input data that you are passing to the document template. For each document template parameter (for each non-nested data view and data grid), you must supply an argument of the same type. The values of the arguments are expressed using [expressions](/refguide/expressions/). +The **Edit argument** button allows you to edit the argument value. An argument is the input data that you are passing to the document template. For each document template parameter (for each non-nested data view and data grid), you must supply an argument of the same type. The values of the arguments are expressed using [expressions](/refguide10/expressions/). ## Common Section {#common} -{{% snippet file="/static/_includes/refguide/microflow-common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/microflow-common-section-link.md" %}} diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/integration-activities/_index.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/integration-activities/_index.md index 2dd47325def..72db0427d36 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/integration-activities/_index.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/integration-activities/_index.md @@ -1,6 +1,6 @@ --- title: "Integration Activities" -url: /refguide/integration-activities/ +url: /refguide10/integration-activities/ weight: 60 --- @@ -16,14 +16,14 @@ The activities described in this document are in the **Integration Activities** The following are the integration activities you can use in your microflow: -* [Call External Action](/refguide/call-external-action/) - calls an external action that is defined by an OData service -* [Call REST Service](/refguide/call-rest-action/) – calls a REST endpoint -* [Call Web Service](/refguide/call-web-service-action/) – calls an imported web service operation -* [Import Mapping](/refguide/import-mapping-action/) – imports data from an XML or JSON document into objects -* [Export Mapping](/refguide/export-mapping-action/) – exports data from objects into XML or JSON documents, or a string variable -* [Query External Database](/refguide/query-external-database/) – uses preconfigured database queries and displays retrieved data -* [Send REST Request (beta)](/refguide/send-rest-request/) – sends a REST request +* [Call External Action](/refguide10/call-external-action/) - calls an external action that is defined by an OData service +* [Call REST Service](/refguide10/call-rest-action/) – calls a REST endpoint +* [Call Web Service](/refguide10/call-web-service-action/) – calls an imported web service operation +* [Import Mapping](/refguide10/import-mapping-action/) – imports data from an XML or JSON document into objects +* [Export Mapping](/refguide10/export-mapping-action/) – exports data from objects into XML or JSON documents, or a string variable +* [Query External Database](/refguide10/query-external-database/) – uses preconfigured database queries and displays retrieved data +* [Send REST Request (beta)](/refguide10/send-rest-request/) – sends a REST request ## Read More -* [Activities](/refguide/activities/) +* [Activities](/refguide10/activities/) diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/integration-activities/call-external-action.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/integration-activities/call-external-action.md index 837adf914d7..d2356c5ebac 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/integration-activities/call-external-action.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/integration-activities/call-external-action.md @@ -1,6 +1,6 @@ --- title: "Call External Action" -url: /refguide/call-external-action/ +url: /refguide10/call-external-action/ weight: 5 #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. --- @@ -67,7 +67,7 @@ In the **Documentation** tab, you can find a **Summary** and a **Description**. {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/integration-activities/call-external-action/edit-parameter-mapping.png" class="no-border" >}} -The **Edit External Action Parameter Mapping** dialog allows you to set the value of the parameter you pass to an external action. You can either select a **Variable** from the dropdown field, or write a custom [microflow expression](/refguide/expressions/) that returns a value of the expected type. +The **Edit External Action Parameter Mapping** dialog allows you to set the value of the parameter you pass to an external action. You can either select a **Variable** from the dropdown field, or write a custom [microflow expression](/refguide10/expressions/) that returns a value of the expected type. Every parameter must have a value specified. When **Can be empty** is true, the selected variable or expression may evaluate to `empty`. When the value cannot be empty, the microflow will throw an error if the value evaluates to `empty`. diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/integration-activities/call-rest-action.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/integration-activities/call-rest-action.md index c21f9a4c525..2a6456d83b5 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/integration-activities/call-rest-action.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/integration-activities/call-rest-action.md @@ -1,9 +1,9 @@ --- title: "Call REST Service" -url: /refguide/call-rest-action/ +url: /refguide10/call-rest-action/ weight: 10 aliases: - - /refguide/using-a-proxy-to-call-a-rest-service/ + - /refguide10/using-a-proxy-to-call-a-rest-service/ #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. --- @@ -59,7 +59,7 @@ The template for the location can contain parameters that are written as a numbe #### Parameters -For each parameter in the template, you can specify its value using a [microflow expression](/refguide/expressions/) resulting in a string value. This value will be inserted at the position of the parameter. +For each parameter in the template, you can specify its value using a [microflow expression](/refguide10/expressions/) resulting in a string value. This value will be inserted at the position of the parameter. ### HTTP Method @@ -83,7 +83,7 @@ Default value: *300 seconds* ### Proxy Configuration -In almost all cases, you can ignore this setting. **Use app settings** is a good default value. For more information about app settings, see the *Proxy Settings* section of [Runtime Customization](/refguide/custom-settings/#proxy-settings). +In almost all cases, you can ignore this setting. **Use app settings** is a good default value. For more information about app settings, see the *Proxy Settings* section of [Runtime Customization](/refguide10/custom-settings/#proxy-settings). If desired, you can configure whether to use a proxy for the request. These are the choices: @@ -107,7 +107,7 @@ The options are: When you select **Override**, you can configure which client certificate will be used. Click **Edit** to specify the **Client certificate identifier**. This identifier can be set in different places, depending on where you deploy the app: * When you deploy the app in Mendix Cloud, set the **Client certificate identifier** in the app and the **Web Service Call name** [in Mendix Cloud](/developerportal/deploy/certificates/#outgoing-client-certificates) to the same value to use a specific client certificate for this REST call. -* When you deploy the app elsewhere, the identifier is set in the custom setting [ClientCertificateUsages](/refguide/custom-settings/#CACertificates). For testing locally, this can be set as a custom server setting in a [Configuration](/refguide/configuration/#custom). +* When you deploy the app elsewhere, the identifier is set in the custom setting [ClientCertificateUsages](/refguide10/custom-settings/#CACertificates). For testing locally, this can be set as a custom server setting in a [Configuration](/refguide10/configuration/#custom). When this identifier is not set for the environment where your app is deployed (either not pinned or not present in *ClientCertificateUsages*), the default settings will be used (as if **Use app settings** were selected). @@ -121,11 +121,11 @@ The **Use HTTP authentication** checkbox defines whether basic authentication (u ### User Name -The **User name** property defines the user name that will be used to authenticate over HTTP. The user name needs to be entered using [microflow Expressions](/refguide/expressions/). The microflow expression should result in a string. +The **User name** property defines the user name that will be used to authenticate over HTTP. The user name needs to be entered using [microflow Expressions](/refguide10/expressions/). The microflow expression should result in a string. ### Password -The **Password** property defines the password that will be used to authenticate over HTTP. The password needs to be entered using [expressions](/refguide/expressions/). The microflow expression should result in a string. +The **Password** property defines the password that will be used to authenticate over HTTP. The password needs to be entered using [expressions](/refguide10/expressions/). The microflow expression should result in a string. ### Custom HTTP Headers {#custom-http-headers} @@ -147,7 +147,7 @@ Requests can only be generated for HTTP methods POST, PUT, PATCH, and OPTIONS. ### Export Mapping for the Entire Request -This option allows you to use a single [export mapping](/refguide/export-mappings/) for the body of the request. +This option allows you to use a single [export mapping](/refguide10/export-mappings/) for the body of the request. #### Mapping @@ -155,15 +155,15 @@ Select the mapping that you want to apply. #### Parameter Type -If the [export mapping](/refguide/export-mappings/) requires an input, this field shows the type of the input. +If the [export mapping](/refguide10/export-mappings/) requires an input, this field shows the type of the input. #### Parameter -If the [export mapping](/refguide/export-mappings/) requires an input, you can select a parameter of the correct type. +If the [export mapping](/refguide10/export-mappings/) requires an input, you can select a parameter of the correct type. #### Content Type -If the [export mapping](/refguide/export-mappings/) is based on a message definition, it can export either XML or JSON. Choose the type of output you want. +If the [export mapping](/refguide10/export-mappings/) is based on a message definition, it can export either XML or JSON. Choose the type of output you want. {{% alert color="info" %}} **Content-Type header** is not set by default. To set it, use the **Custom HTTP Headers** tab. @@ -171,7 +171,7 @@ If the [export mapping](/refguide/export-mappings/) is based on a message defini ### Binary for the Entire Request -This option allows you to send binary data (for example, the contents of a FileDocument). See [Images and Files with REST](/refguide/send-receive-files-rest/) for detailed information working with files with REST). +This option allows you to send binary data (for example, the contents of a FileDocument). See [Images and Files with REST](/refguide10/send-receive-files-rest/) for detailed information working with files with REST). ### Form-Data @@ -201,9 +201,9 @@ See [String Template](#string-template), above, for more information on construc These are the options in the drop-down menu for handling the response: -* **Apply import mapping** – if the response is JSON or XML, it can be transformed directly into objects using an [import mapping](/refguide/import-mappings/); the fields that you can choose here are described in the [Import Mapping action](/refguide/import-mapping-action/) -* **Store in an HTTP response** – any successful HTTP response can be stored directly in an [HttpResponse](/refguide/http-request-and-response-entities/#http-response) object, and the [$latestHttpResponse](#latesthttpresponse) variable is also updated -* **Store in a file document** – if the response contains binary content (for example, a PDF), it can be stored in an object of an entity type which inherits from `System.FileDocument` (see [Images and Files with REST](/refguide/send-receive-files-rest/)) for detailed information working with files with REST) +* **Apply import mapping** – if the response is JSON or XML, it can be transformed directly into objects using an [import mapping](/refguide10/import-mappings/); the fields that you can choose here are described in the [Import Mapping action](/refguide10/import-mapping-action/) +* **Store in an HTTP response** – any successful HTTP response can be stored directly in an [HttpResponse](/refguide10/http-request-and-response-entities/#http-response) object, and the [$latestHttpResponse](#latesthttpresponse) variable is also updated +* **Store in a file document** – if the response contains binary content (for example, a PDF), it can be stored in an object of an entity type which inherits from `System.FileDocument` (see [Images and Files with REST](/refguide10/send-receive-files-rest/)) for detailed information working with files with REST) * **Store in a string** – if the response is a string (for example, CSV), it can be stored directly in a string variable * **Do not store in a variable** - use this option when the call does not return anything useful @@ -217,7 +217,7 @@ The **Variable** field defines the name for the result of the operation. #### $latestHttpResponse Variable -The `$latestHttpResponse` variable is of the [HttpResponse](/refguide/http-request-and-response-entities/#http-response) type. It is available after a **Call REST service** activity. This variable can only be accessed in the microflow where the **Call REST service** activity is used. +The `$latestHttpResponse` variable is of the [HttpResponse](/refguide10/http-request-and-response-entities/#http-response) type. It is available after a **Call REST service** activity. This variable can only be accessed in the microflow where the **Call REST service** activity is used. However, its `Content` attribute will be left empty in most cases to minimize memory usage. @@ -228,15 +228,15 @@ This attribute is filled when one of the following scenarios occur: #### Store Message Body in $latestHttpResponse Variable {#latesthttpresponse} -If HTTP response status code is not successful (for example, `[4xx]` or `[5xx]`), the flow will continue in an [error handler](/refguide/error-handling-in-microflows/#errorhandlers). +If HTTP response status code is not successful (for example, `[4xx]` or `[5xx]`), the flow will continue in an [error handler](/refguide10/error-handling-in-microflows/#errorhandlers). {{% alert color="warning" %}} -You should always add an error handler for a [Call REST service](/refguide/call-rest-action/) action. +You should always add an error handler for a [Call REST service](/refguide10/call-rest-action/) action. {{% /alert %}} ## Common Section{#common} -{{% snippet file="/static/_includes/refguide/microflow-common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/microflow-common-section-link.md" %}} ## Troubleshooting{#troubleshooting} @@ -246,7 +246,7 @@ This error occurs when your app's infrastructure closes the connection because i There are two ways to resolve this: -1. Alter the value of the `http.client.CleanupAfterSeconds` [runtime setting](/refguide/custom-settings/) to be less than the connection timeout. This will ensure that the your app client will create a new HTTP client for the request. +1. Alter the value of the `http.client.CleanupAfterSeconds` [runtime setting](/refguide10/custom-settings/) to be less than the connection timeout. This will ensure that the your app client will create a new HTTP client for the request. 2. Handle the error in your microflow and retry a number of times before returning the error. Your flow might look similar to the one below. {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/integration-activities/call-rest-action/retry-rest-connection-timeout.png" class="no-border" >}} @@ -271,4 +271,4 @@ If that is not possible: * Always validate and sanitize the user inputs * Maintain a safe list of the domains that should be accessible and use it to validate URLs -* Do not allow the user to access an unprocessed response from the call (note that it might not be sufficient to make secret information invisible on a page. See also the section on [Communication Patterns](/refguide/communication-patterns/#security)) +* Do not allow the user to access an unprocessed response from the call (note that it might not be sufficient to make secret information invisible on a page. See also the section on [Communication Patterns](/refguide10/communication-patterns/#security)) diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/integration-activities/call-web-service-action.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/integration-activities/call-web-service-action.md index 021509fbe56..a1be760ab1c 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/integration-activities/call-web-service-action.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/integration-activities/call-web-service-action.md @@ -1,9 +1,9 @@ --- title: "Call Web Service" -url: /refguide/call-web-service-action/ +url: /refguide10/call-web-service-action/ weight: 20 aliases: - - /refguide/using-a-proxy-to-call-a-webservice/ + - /refguide10/using-a-proxy-to-call-a-webservice/ #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. --- @@ -13,7 +13,7 @@ This activity can only be used in microflows. ## Introduction -The **Call web service** activity can be used to call one of the [imported web service](/refguide/consumed-web-services/) operations. You can specify whether or not to use authentication, what the request should look like and how the response of the web service should be handled. +The **Call web service** activity can be used to call one of the [imported web service](/refguide10/consumed-web-services/) operations. You can specify whether or not to use authentication, what the request should look like and how the response of the web service should be handled. ## Properties @@ -66,7 +66,7 @@ When calling a web service using a call web service activity, the location of th ### Location -**Location** defines the address of the web service if you override the location. The location needs to be entered using an [expression](/refguide/expressions/) which results in a valid URL string. +**Location** defines the address of the web service if you override the location. The location needs to be entered using an [expression](/refguide10/expressions/) which results in a valid URL string. ### Use Timeout on Request @@ -96,13 +96,13 @@ Setting this setting to yes can greatly decrease performance! When consuming a WSDL that uses encoding, turning on validation will lead to a consistency error, because it is not WS-I compliant. {{% /alert %}} -Schema validation is not supported when you configure the [consumed web service](/refguide/consumed-web-service/) to send binary data as attachments. +Schema validation is not supported when you configure the [consumed web service](/refguide10/consumed-web-service/) to send binary data as attachments. Default: *No* ### Proxy Configuration -In almost all cases, you can ignore this setting. **Use app settings** is a good default value. For more information about app settings, see the *Proxy Settings* section of [Runtime Customization](/refguide/custom-settings/#proxy-settings). +In almost all cases, you can ignore this setting. **Use app settings** is a good default value. For more information about app settings, see the *Proxy Settings* section of [Runtime Customization](/refguide10/custom-settings/#proxy-settings). If desired, you can configure whether to use a proxy for the request. These are the choices: @@ -126,7 +126,7 @@ The options are: When you select **Override**, you can configure which client certificate will be used. Click **Edit** to specify the **Client certificate identifier**. This identifier can be set in different places, depending on where you deploy the app: * When you deploy the app in Mendix Cloud, set the **Client certificate identifier** in the app and the **Web Service Call name** [in Mendix Cloud](/developerportal/deploy/certificates/#outgoing-client-certificates) to the same value to use a specific client certificate for this web service. -* When you deploy the app elsewhere, the identifier is set in the custom setting [ClientCertificateUsages](/refguide/custom-settings/#CACertificates). For testing locally, this can be set as a custom server setting in a [Configuration](/refguide/configuration/#custom). +* When you deploy the app elsewhere, the identifier is set in the custom setting [ClientCertificateUsages](/refguide10/custom-settings/#CACertificates). For testing locally, this can be set as a custom server setting in a [Configuration](/refguide10/configuration/#custom). When this identifier is not set for the environment where your app is deployed (either not pinned or not present in *ClientCertificateUsages*), the default settings will be used (as if **Use app settings** were selected). @@ -140,11 +140,11 @@ Use HTTP authentication defines whether the basic authentication should be used. ### User Name -User name defines the user name that will be used to authenticate over HTTP. The user name needs to be entered using [expressions](/refguide/expressions/). The microflow expression should result in a string. +User name defines the user name that will be used to authenticate over HTTP. The user name needs to be entered using [expressions](/refguide10/expressions/). The microflow expression should result in a string. ### Password -Password defines the password that will be used to authenticate over HTTP. The password needs to be entered using [expressions](/refguide/expressions/). The microflow expression should result in a string. +Password defines the password that will be used to authenticate over HTTP. The password needs to be entered using [expressions](/refguide10/expressions/). The microflow expression should result in a string. ### Custom HTTP Headers @@ -162,13 +162,13 @@ The XML for the request parts (header and body) can be generated in several ways ### Export Mapping for Entire Request -Using this option, a single [Export Mapping](/refguide/export-mappings/) can be used to generate the XML for the request part. You can choose the export mapping to use for the request part and, if applicable, the object or list that you want to use as parameter for the mapping. +Using this option, a single [Export Mapping](/refguide10/export-mappings/) can be used to generate the XML for the request part. You can choose the export mapping to use for the request part and, if applicable, the object or list that you want to use as parameter for the mapping. ### Simple Expressions for Each Request Parameter This option for request parts can be used when all children of the XML element of the request part occur at most once and are primitive values. If that is not the case, this option is disabled and cannot be used. -Using this option you need to supply an argument value for all elements of a primitive type (parameters). Argument values need to be entered using [expressions](/refguide/expressions/) resulting in the same data type as the parameter. +Using this option you need to supply an argument value for all elements of a primitive type (parameters). Argument values need to be entered using [expressions](/refguide10/expressions/) resulting in the same data type as the parameter. {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/integration-activities/call-web-service-action/req-param.png" class="no-border" >}} @@ -194,17 +194,17 @@ The template for the XML request can contain parameters that are written as a nu #### Parameters -For each parameter in the template, you can specify its value using a [microflow expression](/refguide/expressions/) resulting in a string value. This value will be inserted at the position of the parameter. +For each parameter in the template, you can specify its value using a [microflow expression](/refguide10/expressions/) resulting in a string value. This value will be inserted at the position of the parameter. ## SOAP Response Tab{#response} {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/integration-activities/call-web-service-action/soap-response-tab.png" class="no-border" >}} -If the data type is a complex XML structure it can be mapped to entities using a [Import Mapping](/refguide/import-mappings/). If it is primitive data, it can be stored in a variable immediately. The response does not have to be used though; it can also be ignored if you are not interested in it. +If the data type is a complex XML structure it can be mapped to entities using a [Import Mapping](/refguide10/import-mappings/). If it is primitive data, it can be stored in a variable immediately. The response does not have to be used though; it can also be ignored if you are not interested in it. ### Mapping -If you are using complex XML structures you can choose the [Import Mapping](/refguide/import-mappings/) that will be used to transform the XML into objects. +If you are using complex XML structures you can choose the [Import Mapping](/refguide10/import-mappings/) that will be used to transform the XML into objects. ### If No Object Was Found @@ -220,9 +220,9 @@ Indicates whether the resulting objects should be committed to the database, and | Option | Description | | --- | --- | -| Yes | The objects are saved in the database and the [event handlers](/refguide/event-handlers/) are triggered. | -| Yes without events | The objects are saved in the database, but the [event handlers](/refguide/event-handlers/) are not triggered (default). | -| No | The objects are created without being saved in the database. You will need a [commit action](/refguide/committing-objects/) to save them. | +| Yes | The objects are saved in the database and the [event handlers](/refguide10/event-handlers/) are triggered. | +| Yes without events | The objects are saved in the database, but the [event handlers](/refguide10/event-handlers/) are not triggered (default). | +| No | The objects are created without being saved in the database. You will need a [commit action](/refguide10/committing-objects/) to save them. | ### Range (If the Mapping Returns a List) @@ -248,4 +248,4 @@ The name for the output that will hold the result of the operation. ## Common Section{#common} -{{% snippet file="/static/_includes/refguide/microflow-common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/microflow-common-section-link.md" %}} diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/integration-activities/data-importer.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/integration-activities/data-importer.md index b4637060747..0a828bb89d5 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/integration-activities/data-importer.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/integration-activities/data-importer.md @@ -1,6 +1,6 @@ --- title: "Import Data from File" -url: /refguide/import-data-from-file/ +url: /refguide10/import-data-from-file/ weight: 30 #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. --- diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/integration-activities/export-mapping-action.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/integration-activities/export-mapping-action.md index 5765d820a1e..dcb4563cf2b 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/integration-activities/export-mapping-action.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/integration-activities/export-mapping-action.md @@ -1,6 +1,6 @@ --- title: "Export With Mapping" -url: /refguide/export-mapping-action/ +url: /refguide10/export-mapping-action/ weight: 40 #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. --- @@ -11,7 +11,7 @@ This activity can only be used in microflows. ## Introduction -The **Export with mapping** activity allows you to export the data stored in [domain model](/refguide/domain-model/) entities into an XML document, JSON document, or string variable. +The **Export with mapping** activity allows you to export the data stored in [domain model](/refguide10/domain-model/) entities into an XML document, JSON document, or string variable. ## Properties @@ -36,19 +36,19 @@ You can also open the dialog box by double-clicking the activity, or right-click ### Export Mapping -The [Export Mapping](/refguide/export-mappings/) action defines in which way the data in the [domain model](/refguide/domain-model/) corresponds with the XML schema or JSON structure. +The [Export Mapping](/refguide10/export-mappings/) action defines in which way the data in the [domain model](/refguide10/domain-model/) corresponds with the XML schema or JSON structure. ### Parameter Type -If the [export mapping](/refguide/export-mappings/) requires an input, this field shows the type of the input. +If the [export mapping](/refguide10/export-mappings/) requires an input, this field shows the type of the input. ### Parameter -If the [export mapping](/refguide/export-mappings/) requires an input, you can select a parameter of the correct type. +If the [export mapping](/refguide10/export-mappings/) requires an input, you can select a parameter of the correct type. ### Content Type -If the [export mapping](/refguide/export-mappings/) is based on a message definition, it can export both XML and JSON. Choose which type of output you want. +If the [export mapping](/refguide10/export-mappings/) is based on a message definition, it can export both XML and JSON. Choose which type of output you want. ### Validate Against Schema @@ -76,4 +76,4 @@ The name of the object or string which is the result of the activity. ## Common Section{#common} -{{% snippet file="/static/_includes/refguide/microflow-common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/microflow-common-section-link.md" %}} diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/integration-activities/import-mapping-action.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/integration-activities/import-mapping-action.md index 1b66805add8..6d301808909 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/integration-activities/import-mapping-action.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/integration-activities/import-mapping-action.md @@ -1,6 +1,6 @@ --- title: "Import with Mapping" -url: /refguide/import-mapping-action/ +url: /refguide10/import-mapping-action/ weight: 30 #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. --- @@ -11,7 +11,7 @@ This activity can only be used in microflows. ## Introduction -The **Import with mapping** activity allows you to import the data stored in an XML or JSON document into [domain model](/refguide/domain-model/) entities. +The **Import with mapping** activity allows you to import the data stored in an XML or JSON document into [domain model](/refguide10/domain-model/) entities. ## Properties @@ -38,19 +38,19 @@ You can also open the dialog box by double-clicking the activity, or right-click ### Variable -The input variable can be the name of a string variable, a file document, an [HttpRequest](/refguide/http-request-and-response-entities/#http-request), or an [HttpResponse](/refguide/http-request-and-response-entities/#http-response). The content of the file document, HttpRequest, or HttpResponse should be XML or JSON. +The input variable can be the name of a string variable, a file document, an [HttpRequest](/refguide10/http-request-and-response-entities/#http-request), or an [HttpResponse](/refguide10/http-request-and-response-entities/#http-response). The content of the file document, HttpRequest, or HttpResponse should be XML or JSON. ### Mapping -The [import mapping](/refguide/import-mappings/) defines how to transform the XML or JSON into objects. +The [import mapping](/refguide10/import-mappings/) defines how to transform the XML or JSON into objects. ### Input Content Type -If the import mapping is based on a [message definitions](/refguide/message-definitions/), it can import both XML and JSON. Select whether the input object contains XML or JSON. +If the import mapping is based on a [message definitions](/refguide10/message-definitions/), it can import both XML and JSON. Select whether the input object contains XML or JSON. ### The Input Contains -If the import mapping is based on a [message definitions](/refguide/message-definitions/), it can import both single objects and lists. Select whether the input is a single object or a list of objects. +If the import mapping is based on a [message definitions](/refguide10/message-definitions/), it can import both single objects and lists. Select whether the input is a single object or a list of objects. ### If No Object Was Found @@ -76,17 +76,17 @@ Indicates whether the resulting objects should be committed to the database, and | Option | Description | | --- | --- | -| Yes | The objects are saved in the database and the [event handlers](/refguide/event-handlers/) are triggered. | -| Yes without events | The objects are saved in the database, but the [event handlers](/refguide/event-handlers/) are not triggered (default). | -| No | The objects are created without being saved in the database. You will need a [commit action](/refguide/committing-objects/) to save them. | +| Yes | The objects are saved in the database and the [event handlers](/refguide10/event-handlers/) are triggered. | +| Yes without events | The objects are saved in the database, but the [event handlers](/refguide10/event-handlers/) are not triggered (default). | +| No | The objects are created without being saved in the database. You will need a [commit action](/refguide10/committing-objects/) to save them. | ### Validate Against Schema {{% alert color="info" %}} -Validation properties are only applicable if an import mapping is selected that maps from XML based on an [XML schema](/refguide/xml-schemas/) or a [consumed web service](/refguide/consumed-web-service/). +Validation properties are only applicable if an import mapping is selected that maps from XML based on an [XML schema](/refguide10/xml-schemas/) or a [consumed web service](/refguide10/consumed-web-service/). {{% /alert %}} -Determines whether the import action should validate the incoming XML against the [XML schema](/refguide/xml-schemas/). +Determines whether the import action should validate the incoming XML against the [XML schema](/refguide10/xml-schemas/). Setting this to *yes* can impact performance! @@ -106,4 +106,4 @@ The name of the result of the import. ## Common Section{#common} -{{% snippet file="/static/_includes/refguide/microflow-common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/microflow-common-section-link.md" %}} diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/integration-activities/query-external-database.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/integration-activities/query-external-database.md index fe9468f54a8..fe6e7264833 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/integration-activities/query-external-database.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/integration-activities/query-external-database.md @@ -1,6 +1,6 @@ --- title: "Query External Database" -url: /refguide/query-external-database/ +url: /refguide10/query-external-database/ weight: 90 #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. --- diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/integration-activities/send-rest-request.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/integration-activities/send-rest-request.md index 91d2fb63d1c..7adf7641321 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/integration-activities/send-rest-request.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/integration-activities/send-rest-request.md @@ -1,12 +1,12 @@ --- title: "Send REST Request" -url: /refguide/send-rest-request/ +url: /refguide10/send-rest-request/ #If moving or renaming this doc file, implement a temporary redirect and let the respective team know they should update the URL in the product. See Mapping to Products for more details. --- ## Introduction -The **Send REST request** activity allows you to send a REST request, which is configured in a [Consumed REST Service](/refguide/consumed-rest-service/) document. +The **Send REST request** activity allows you to send a REST request, which is configured in a [Consumed REST Service](/refguide10/consumed-rest-service/) document. {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/integration-activities/send-rest-request/rest-microflow.png" class="no-border" >}} diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/list-activities/_index.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/list-activities/_index.md index b4bc4afaf7e..7fb4f91339f 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/list-activities/_index.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/list-activities/_index.md @@ -1,6 +1,6 @@ --- title: "List Activities" -url: /refguide/list-activities/ +url: /refguide10/list-activities/ weight: 20 --- @@ -11,17 +11,17 @@ List activities work differently in microflows and in nanoflows. In nanoflows, c When working with the Mendix Platform, you can use microflows to manipulate not only single objects but whole lists of entities with a single activity. -Additional activities which work on lists, [commit object(s)](/refguide/committing-objects/), [delete object(s)](/refguide/deleting-objects/), and [retrieve](/refguide/retrieve/), are in the [Object Activities](/refguide/object-activities/) section of the toolbox. You can also [loop](/refguide/loop/) through a list to perform activities on the individual objects. +Additional activities which work on lists, [commit object(s)](/refguide10/committing-objects/), [delete object(s)](/refguide10/deleting-objects/), and [retrieve](/refguide10/retrieve/), are in the [Object Activities](/refguide10/object-activities/) section of the toolbox. You can also [loop](/refguide10/loop/) through a list to perform activities on the individual objects. The activities described in this document are in the **List Activities** section of the **Toolbox**. The following are the list activities you can use in your microflow or nanoflow: -* [Aggregate List](/refguide/aggregate-list/) – calculates aggregated values over a list -* [Change List](/refguide/change-list/) – adds objects to, and removes objects from a list -* [Create List](/refguide/create-list/) – creates an empty list -* [List Operation](/refguide/list-operation/) – performs actions on a list and, if the result is a list, returns a new list containing the result +* [Aggregate List](/refguide10/aggregate-list/) – calculates aggregated values over a list +* [Change List](/refguide10/change-list/) – adds objects to, and removes objects from a list +* [Create List](/refguide10/create-list/) – creates an empty list +* [List Operation](/refguide10/list-operation/) – performs actions on a list and, if the result is a list, returns a new list containing the result ## Read More -* [Activities](/refguide/activities/) +* [Activities](/refguide10/activities/) diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/list-activities/aggregate-list.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/list-activities/aggregate-list.md index 5c65322f161..1df735460a1 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/list-activities/aggregate-list.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/list-activities/aggregate-list.md @@ -1,6 +1,6 @@ --- title: "Aggregate List" -url: /refguide/aggregate-list/ +url: /refguide10/aggregate-list/ weight: 1 #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. #To update screenshots of these microflows in Studio Pro, use the Microflow Screenshots app. @@ -99,11 +99,11 @@ The name of the variable in which the result of the aggregation is stored. The v ## Common Section{#common} -{{% snippet file="/static/_includes/refguide/microflow-common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/microflow-common-section-link.md" %}} ## Optimizing Aggregate Activities -In some apps, it is necessary to evaluate large datasets in a microflow (for example, for reporting purposes). If there are a lot of [retrieves](/refguide/retrieve/) and aggregates on large datasets in a microflow, it is easy to run into performance or memory problems. +In some apps, it is necessary to evaluate large datasets in a microflow (for example, for reporting purposes). If there are a lot of [retrieves](/refguide10/retrieve/) and aggregates on large datasets in a microflow, it is easy to run into performance or memory problems. This section describes how Mendix Runtime optimizes **Aggregate list** activities with large datasets and some recommended approaches for optimization. @@ -135,4 +135,4 @@ Since the Mendix Runtime merges list retrieve and aggregate activities, you do n ## Read More -* [Retrieve Activities](/refguide/retrieve/) +* [Retrieve Activities](/refguide10/retrieve/) diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/list-activities/change-list.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/list-activities/change-list.md index dbe53ee1577..1a21fa256ac 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/list-activities/change-list.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/list-activities/change-list.md @@ -1,6 +1,6 @@ --- title: "Change List" -url: /refguide/change-list/ +url: /refguide10/change-list/ weight: 2 #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. --- @@ -11,7 +11,7 @@ This activity works differently in microflows and in nanoflows. In nanoflows, ch ## Introduction -The **Change list** activity allows you to change a list by adding objects to, and removing objects from, it. The activity works directly on the list provided, in contrast to the [List operation](/refguide/list-operation/) activity. +The **Change list** activity allows you to change a list by adding objects to, and removing objects from, it. The activity works directly on the list provided, in contrast to the [List operation](/refguide10/list-operation/) activity. ## Properties @@ -51,7 +51,7 @@ Defines the type of change that is applied to the list. #### When Using the Add Type{#notes} -If you do not want duplicates in your (microflow) list, you can either remove the object (or objects) first, or use the **Contains** [list operation](/refguide/list-operation/) to examine the list before adding the object (or objects). +If you do not want duplicates in your (microflow) list, you can either remove the object (or objects) first, or use the **Contains** [list operation](/refguide10/list-operation/) to examine the list before adding the object (or objects). {{% alert color="info" %}} In Studio Pro 10.9 and below, this works differently in nanoflows and microflows. In a nanoflow, objects will not be added if they are already in the list, whereas in a microflow, the same object can be added multiple times. In Studio Pro 10.10 and above, this difference is resolved: like in microflows, you can add duplicate objects in nanoflows regardless of whether they are added in a sub-nanoflow or outside of it. @@ -59,8 +59,8 @@ In Studio Pro 10.9 and below, this works differently in nanoflows and microflows ### Value -Value defines the objects that are used to change the list. The value is entered using an [expression](/refguide/expressions/). The expression must result in an object or list of objects of the same type of [entity](/refguide/entities/) as the input list. +Value defines the objects that are used to change the list. The value is entered using an [expression](/refguide10/expressions/). The expression must result in an object or list of objects of the same type of [entity](/refguide10/entities/) as the input list. ## Common Section{#common} -{{% snippet file="/static/_includes/refguide/microflow-common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/microflow-common-section-link.md" %}} diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/list-activities/create-list.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/list-activities/create-list.md index d116a62b3ca..76540a16421 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/list-activities/create-list.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/list-activities/create-list.md @@ -1,6 +1,6 @@ --- title: "Create List" -url: /refguide/create-list/ +url: /refguide10/create-list/ weight: 3 --- @@ -43,4 +43,4 @@ This is the name of the list which can be used by all activities that follow thi ## Common Section{#common} -{{% snippet file="/static/_includes/refguide/microflow-common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/microflow-common-section-link.md" %}} diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/list-activities/list-operation.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/list-activities/list-operation.md index f308058d4f8..804efc3b01c 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/list-activities/list-operation.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/list-activities/list-operation.md @@ -1,6 +1,6 @@ --- title: "List Operation" -url: /refguide/list-operation/ +url: /refguide10/list-operation/ weight: 4 #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. --- @@ -11,7 +11,7 @@ This activity works differently in microflows and in nanoflows. In nanoflows, ch ## Introduction -The **List operation** activity can perform various actions on a list. The result of the action is returned as a new list in contrast to the [Change list](/refguide/change-list/) activity. +The **List operation** activity can perform various actions on a list. The result of the action is returned as a new list in contrast to the [Change list](/refguide10/change-list/) activity. The actions which can be performed are: @@ -118,4 +118,4 @@ This is the name of the resulting List, Object, or Boolean variable. The result ## Common Section {#common} -{{% snippet file="/static/_includes/refguide/microflow-common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/microflow-common-section-link.md" %}} diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/list-activities/working-with-lists-in-a-microflow.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/list-activities/working-with-lists-in-a-microflow.md index 99b1040a47a..fe8d0e7853e 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/list-activities/working-with-lists-in-a-microflow.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/list-activities/working-with-lists-in-a-microflow.md @@ -1,6 +1,6 @@ --- title: "Working with Lists in a Microflow" -url: /refguide/working-with-lists-in-a-microflow/ +url: /refguide10/working-with-lists-in-a-microflow/ weight: 60 description: "Describes how to work with a list of objects in a microflow as well retrieve a filtered list of objects from the database." --- @@ -19,7 +19,7 @@ This document teaches you how to do the following: Before you continue, you should first set up a test app, and populate it with test data. To do so, follow these steps: -1. Create a [domain model](/refguide/configuring-a-domain-model/) with the following entities: +1. Create a [domain model](/refguide10/configuring-a-domain-model/) with the following entities: * **Customer** | Attribute name | Attribute type | @@ -44,7 +44,7 @@ Before you continue, you should first set up a test app, and populate it with te {{< figure src="/attachments/refguide10/modeling/xpath/define-access-rules-using-xpath/18581378.png" alt="Customer and Order entities with one-to-many association" class="no-border" >}} 2. Create [overview and detail pages](/howto/front-end/create-your-first-two-overview-and-detail-pages/) to manage the **Customer** and **Order** objects. -3. Create [menu items](/refguide/setting-up-the-navigation-structure/#menu-items) to access the **Customer** and **Order** overview pages. +3. Create [menu items](/refguide10/setting-up-the-navigation-structure/#menu-items) to access the **Customer** and **Order** overview pages. 4. Add the following **Customer** data to your app: | Name | Address | Zip code | City | @@ -67,7 +67,7 @@ Before you continue, you should first set up a test app, and populate it with te ## Retrieving and Filtering a List of Objects from the Database -Use a microflow with a [Retrieve](/refguide/retrieve/) activity to retrieve a list of objects, and then filter that list by applying an [XPath constraint](/refguide/xpath-constraints/). For example, the microflow can retrieve all orders from the database, and then filter that list to only the orders with the **Processing** status. +Use a microflow with a [Retrieve](/refguide10/retrieve/) activity to retrieve a list of objects, and then filter that list by applying an [XPath constraint](/refguide10/xpath-constraints/). For example, the microflow can retrieve all orders from the database, and then filter that list to only the orders with the **Processing** status. 1. Create a new microflow by right-clicking your module and selecting **Add** > **Microflow**. 2. In the **Add Microflow** dialog box, in the **Name** field, enter *IVK_SetOrderToComplete*, and then click **OK**. @@ -98,7 +98,7 @@ Apart from filtering the list of orders by an attribute of the Order entity itse ## Updating Multiple Objects by Iterating over a List -After retrieving a list of orders with the status **Processing**, use a [loop](/refguide/loop/) to iterate over this list and change the status of each object to **Complete**. +After retrieving a list of orders with the status **Processing**, use a [loop](/refguide10/loop/) to iterate over this list and change the status of each object to **Complete**. 1. Open the **IVK_SetOrderToComplete** microflow that you created in the previous section. 2. Drag a **Loop** activity from the **Toolbox**, and place it between the **OrderProcessingList** activity and the end event of the microflow. @@ -182,7 +182,7 @@ To calculate the total sum of all your orders via a loop, create a variable whic ## Calculating the Total List Value by Using an Aggregate Function -Instead of a loop, you can also calculate the total price by using the [aggregate list](/refguide/aggregate-list/) function. Use the aggregate list to calculate values such as the maximum, minimum, sum, average, and total number of objects over a list of objects. +Instead of a loop, you can also calculate the total price by using the [aggregate list](/refguide10/aggregate-list/) function. Use the aggregate list to calculate values such as the maximum, minimum, sum, average, and total number of objects over a list of objects. 1. In the **IVK_CalculateTotalPriceOrders** microflow, remove the loop and the **CalculatedTotalPrice** variable. 2. Add an **Aggregate list** activity after the **OrderList**. @@ -211,6 +211,6 @@ Instead of a loop, you can also calculate the total price by using the [aggregat ## Read More -* [Microflows](/refguide/microflows/) -* [Object Activities](/refguide/object-activities/) -* [List Activities](/refguide/list-activities/) +* [Microflows](/refguide10/microflows/) +* [Object Activities](/refguide10/object-activities/) +* [List Activities](/refguide10/list-activities/) diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/log-message.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/log-message.md index bb879cfbd9f..9a2081f3545 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/log-message.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/log-message.md @@ -1,6 +1,6 @@ --- title: "Log Message" -url: /refguide/log-message/ +url: /refguide10/log-message/ weight: 70 #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. --- @@ -34,7 +34,7 @@ You can also open the dialog box by double-clicking the activity, or right-click ### Log Level -The log level defines the severity of the log message. In the [Studio Pro Console pane](/refguide/view-menu/#console), messages have a different color and an icon for some log levels. +The log level defines the severity of the log message. In the [Studio Pro Console pane](/refguide10/view-menu/#console), messages have a different color and an icon for some log levels. | Option | Icon | Description | | --- | --- | --- | @@ -51,10 +51,10 @@ The log level defines the severity of the log message. In the [Studio Pro Consol This property is only available in microflows. {{% /alert %}} -The log node name is a microflow expression that defines the source of the log message. For example, if you log messages from an email module, the log node name could be *Email module*. Use your own log node names as this avoids confusion with messages from the Mendix runtime which are written to the Mendix log nodes. The Mendix log nodes are listed in the [Default Mendix Log Nodes](/refguide/logging/#mendix-nodes) section of *Logging*. +The log node name is a microflow expression that defines the source of the log message. For example, if you log messages from an email module, the log node name could be *Email module*. Use your own log node names as this avoids confusion with messages from the Mendix runtime which are written to the Mendix log nodes. The Mendix log nodes are listed in the [Default Mendix Log Nodes](/refguide10/logging/#mendix-nodes) section of *Logging*. {{% alert color="info" %}} -You can only set custom [log node levels](/developerportal/deploy/environments-details/#log-levels) for the environment if your app has posted a message to that log node. It is therefore recommended that you send an initial message to all your custom log nodes in an [after startup microflow](/refguide/app-settings/#after-startup). +You can only set custom [log node levels](/developerportal/deploy/environments-details/#log-levels) for the environment if your app has posted a message to that log node. It is therefore recommended that you send an initial message to all your custom log nodes in an [after startup microflow](/refguide10/app-settings/#after-startup). {{% /alert %}} ### Template @@ -63,7 +63,7 @@ A **Template** defines the message text. The template can contain parameters tha ### Parameters -For each parameter in the template you define a microflow expression of which the value will be inserted at the position of the parameter. Parameters need to be entered using [expressions](/refguide/expressions/) resulting in a string. +For each parameter in the template you define a microflow expression of which the value will be inserted at the position of the parameter. Parameters need to be entered using [expressions](/refguide10/expressions/) resulting in a string. {{% alert color="info" %}} @@ -81,4 +81,4 @@ This option also applies to `$latestSoapFault`. If you define an error handler f ## Common Section {#common} -{{% snippet file="/static/_includes/refguide/microflow-common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/microflow-common-section-link.md" %}} diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/metrics-activities/_index.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/metrics-activities/_index.md index 075056e9c47..2941698ceb1 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/metrics-activities/_index.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/metrics-activities/_index.md @@ -1,6 +1,6 @@ --- title: "Metrics Activities" -url: /refguide/metrics-activities/ +url: /refguide10/metrics-activities/ weight: 81 --- @@ -14,12 +14,12 @@ The activities described in this document are in the **Metrics Activities** sect The following are the metrics activities you can use in your microflow: -* [Counter](/refguide/metrics-counter/) – increments a counter by the specified value -* [Increment Counter](/refguide/metrics-increment-counter/) – increments a counter by 1 -* [Gauge](/refguide/metrics-gauge/) – specifies the value of a gauge +* [Counter](/refguide10/metrics-counter/) – increments a counter by the specified value +* [Increment Counter](/refguide10/metrics-increment-counter/) – increments a counter by 1 +* [Gauge](/refguide10/metrics-gauge/) – specifies the value of a gauge ## Read More -* [Metric Configuration](/refguide/metrics/) -* [Activities](/refguide/activities/) +* [Metric Configuration](/refguide10/metrics/) +* [Activities](/refguide10/activities/) * [Meter Concepts](https://docs.micrometer.io/micrometer/reference/concepts.html) diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/metrics-activities/metrics-counter.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/metrics-activities/metrics-counter.md index 3a5dbc66451..8821ca2fe95 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/metrics-activities/metrics-counter.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/metrics-activities/metrics-counter.md @@ -1,6 +1,6 @@ --- title: "Counter" -url: /refguide/metrics-counter/ +url: /refguide10/metrics-counter/ weight: 10 #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. --- @@ -49,7 +49,7 @@ It is recommended to use a common prefix that uniquely defines your organization ### Value -The value used to increment the counter's value. Values are specified with [expressions](/refguide/expressions/) and should be of type Integer/Long. It is only possible to increment the counter, so values cannot be negative. +The value used to increment the counter's value. Values are specified with [expressions](/refguide10/expressions/) and should be of type Integer/Long. It is only possible to increment the counter, so values cannot be negative. ### Tags @@ -57,10 +57,10 @@ You can specify a list of tags to enrich the counter name with key/value pairs. ## Common Section {#common} -{{% snippet file="/static/_includes/refguide/microflow-common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/microflow-common-section-link.md" %}} ## Read More -* [Metric Configuration](/refguide/metrics/) -* [Metrics Activities](/refguide/metrics-activities/) +* [Metric Configuration](/refguide10/metrics/) +* [Metrics Activities](/refguide10/metrics-activities/) * [Meter Concepts](https://micrometer.io/docs/concepts) diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/metrics-activities/metrics-gauge.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/metrics-activities/metrics-gauge.md index 61307488d69..428dad5aedd 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/metrics-activities/metrics-gauge.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/metrics-activities/metrics-gauge.md @@ -1,6 +1,6 @@ --- title: "Gauge" -url: /refguide/metrics-gauge/ +url: /refguide10/metrics-gauge/ weight: 20 #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. --- @@ -49,7 +49,7 @@ It is recommended to use a common prefix that uniquely defines your organization ### Value -The value used to set the gauge to. Values are specified with [expressions](/refguide/expressions/) and should be of type Decimal. +The value used to set the gauge to. Values are specified with [expressions](/refguide10/expressions/) and should be of type Decimal. ### Tags @@ -57,10 +57,10 @@ You can specify a list of tags to enrich the gauge name with key/value pairs. Se ## Common Section {#common} -{{% snippet file="/static/_includes/refguide/microflow-common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/microflow-common-section-link.md" %}} ## Read More -* [Metric Configuration](/refguide/metrics/) -* [Metrics Activities](/refguide/metrics-activities/) +* [Metric Configuration](/refguide10/metrics/) +* [Metrics Activities](/refguide10/metrics-activities/) * [Meter Concepts](https://micrometer.io/docs/concepts) diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/metrics-activities/metrics-increment-counter.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/metrics-activities/metrics-increment-counter.md index 6ea2c4daa78..a48a115664f 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/metrics-activities/metrics-increment-counter.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/metrics-activities/metrics-increment-counter.md @@ -1,6 +1,6 @@ --- title: "Increment Counter" -url: /refguide/metrics-increment-counter/ +url: /refguide10/metrics-increment-counter/ weight: 30 #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. --- @@ -53,10 +53,10 @@ You can specify a list of tags to enrich the counter name with key/value pairs. ## Common Section {#common} -{{% snippet file="/static/_includes/refguide/microflow-common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/microflow-common-section-link.md" %}} ## Read More -* [Metric Configuration](/refguide/metrics/) -* [Metrics Activities](/refguide/metrics-activities/) +* [Metric Configuration](/refguide10/metrics/) +* [Metrics Activities](/refguide10/metrics-activities/) * [Meter Concepts](https://micrometer.io/docs/concepts) diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/ml-kit-activities/_index.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/ml-kit-activities/_index.md index de40b5db7e3..8b07f56de8e 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/ml-kit-activities/_index.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/ml-kit-activities/_index.md @@ -1,6 +1,6 @@ --- title: "ML Kit Activities" -url: /refguide/ml-kit-activities/ +url: /refguide10/ml-kit-activities/ weight: 82 --- @@ -10,12 +10,12 @@ These activities can only be used in microflows. ## Introduction -The **ML Kit** section of the [Toolbox](/refguide/view-menu/#toolbox) contains activities you can use with a machine learning model. +The **ML Kit** section of the [Toolbox](/refguide10/view-menu/#toolbox) contains activities you can use with a machine learning model. -To get started with machine learning models, check out [Machine Learning Kit](/refguide/machine-learning-kit/) and [Using ML Kit](/refguide/machine-learning-kit/using-ml-kit/). +To get started with machine learning models, check out [Machine Learning Kit](/refguide10/machine-learning-kit/) and [Using ML Kit](/refguide10/machine-learning-kit/using-ml-kit/). {{% alert color="info" %}}Check out a demo app and Jupyter Notebook examples in our [Demo for Mendix ML Kit](https://github.com/mendix/mlkit-example-app) repository for further information on working with machine learning models in Mendix.{{% /alert %}} The following are the ML Kit activities you can use in your microflow: -* [Call ML Model](/refguide/call-ml-model/) +* [Call ML Model](/refguide10/call-ml-model/) diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/ml-kit-activities/call-ml-model.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/ml-kit-activities/call-ml-model.md index 93e7e23f75b..82ab40b2d64 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/ml-kit-activities/call-ml-model.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/ml-kit-activities/call-ml-model.md @@ -1,6 +1,6 @@ --- title: "Call ML Model" -url: /refguide/call-ml-model/ +url: /refguide10/call-ml-model/ weight: 45 --- @@ -12,9 +12,9 @@ This activity can only be used in microflows. Studio Pro supports machine learning (ML) model integration in Mendix apps. Collectively called the *Machine Learning (ML) Kit*, this functionality allows Mendix developers to deploy a ML model built using common ML framework and language into the Mendix Runtime. -Use the **Call ML Model** [activity](/refguide/activities/) in a microflow to call the ML model mapping document (see the [Using the Model in a Microflow](/refguide/machine-learning-kit/using-ml-kit/#use-model-microflow) section of *Integrate Machine Learning Models*). +Use the **Call ML Model** [activity](/refguide10/activities/) in a microflow to call the ML model mapping document (see the [Using the Model in a Microflow](/refguide10/machine-learning-kit/using-ml-kit/#use-model-microflow) section of *Integrate Machine Learning Models*). -To get started with machine learning models, check out [Using ML Kit](/refguide/machine-learning-kit/using-ml-kit/). +To get started with machine learning models, check out [Using ML Kit](/refguide10/machine-learning-kit/using-ml-kit/). {{% alert color="info" %}}Check out a demo app and Jupyter Notebook examples in our [Demo for Mendix ML Kit](https://github.com/mendix/mlkit-example-app) repository for further information on working with machine learning models in Mendix.{{% /alert %}} @@ -22,8 +22,8 @@ To get started with machine learning models, check out [Using ML Kit](/refguide/ ### Action -* **ML model mapping** – the [ML model mapping](/refguide/ml-model-mapping/) model -* **Input object** – the inputObject, defined in the microflow with a [Create Object](/refguide/create-object/) or [Java Action Call](/refguide/java-action-call/), and expects the same object type (not the entity) as in the **model mapping** +* **ML model mapping** – the [ML model mapping](/refguide10/ml-model-mapping/) model +* **Input object** – the inputObject, defined in the microflow with a [Create Object](/refguide10/create-object/) or [Java Action Call](/refguide10/java-action-call/), and expects the same object type (not the entity) as in the **model mapping** ### Output diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/object-activities/_index.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/object-activities/_index.md index aaeab2f64b1..3aa6275cd81 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/object-activities/_index.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/object-activities/_index.md @@ -1,27 +1,27 @@ --- title: "Object Activities" -url: /refguide/object-activities/ +url: /refguide10/object-activities/ weight: 10 #To update screenshots of these microflows in Studio Pro, use the Microflow Screenshots app. --- ## Introduction -When working with the Mendix Platform, objects of entities are always being manipulated. This happens implicitly within [data containers](/refguide/data-widgets/) on a page, or explicitly using activities in microflows and nanoflows. +When working with the Mendix Platform, objects of entities are always being manipulated. This happens implicitly within [data containers](/refguide10/data-widgets/) on a page, or explicitly using activities in microflows and nanoflows. -The activities in this section of the microflow and nanoflow toolbox generally work on single objects, however **commit object(s)**, **delete object(s)**, and **retrieve** also work on lists of objects. For other activities which work with lists, see [List Activities](/refguide/list-activities/). +The activities in this section of the microflow and nanoflow toolbox generally work on single objects, however **commit object(s)**, **delete object(s)**, and **retrieve** also work on lists of objects. For other activities which work with lists, see [List Activities](/refguide10/list-activities/). The activities described in this document are in the **Object Activities** section of the **Toolbox**. The following are the object activities you can use in your microflow or nanoflow: -* [Cast object](/refguide/cast-object/) – changes the type of object from a generalized object type to the specialized object type -* [Change object](/refguide/change-object/) – changes the members of an object -* [Commit object(s)](/refguide/committing-objects/) – either stores objects of persistable entities in the database or stores objects of non-persistable entities in memory to allow them to be rolled back -* [Create object](/refguide/create-object/) – creates an object -* [Delete object(s)](/refguide/deleting-objects/) – activity deletes one or more objects -* [Retrieve](/refguide/retrieve/) – gets one or more objects of an entity -* [Rollback object](/refguide/rollback-object/) – undoes uncommitted changes made to an object +* [Cast object](/refguide10/cast-object/) – changes the type of object from a generalized object type to the specialized object type +* [Change object](/refguide10/change-object/) – changes the members of an object +* [Commit object(s)](/refguide10/committing-objects/) – either stores objects of persistable entities in the database or stores objects of non-persistable entities in memory to allow them to be rolled back +* [Create object](/refguide10/create-object/) – creates an object +* [Delete object(s)](/refguide10/deleting-objects/) – activity deletes one or more objects +* [Retrieve](/refguide10/retrieve/) – gets one or more objects of an entity +* [Rollback object](/refguide10/rollback-object/) – undoes uncommitted changes made to an object {{% alert color="info" %}} Any changes made to an object are visible in all widgets. This is because changes are stored globally in the client. @@ -29,4 +29,4 @@ Any changes made to an object are visible in all widgets. This is because change ## Read More -* [Activities](/refguide/activities/) +* [Activities](/refguide10/activities/) diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/object-activities/cast-object.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/object-activities/cast-object.md index 0efbe82793d..8779485bad7 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/object-activities/cast-object.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/object-activities/cast-object.md @@ -1,6 +1,6 @@ --- title: "Cast Object" -url: /refguide/cast-object/ +url: /refguide10/cast-object/ weight: 10 --- @@ -10,9 +10,9 @@ This activity can be used in both microflows and nanoflows. ## Introduction -The **Cast object** activity is used after an [object type decision](/refguide/object-type-decision/) to change the type of object from the generalized object type to the specialized object type of the path out of the object type decision. +The **Cast object** activity is used after an [object type decision](/refguide10/object-type-decision/) to change the type of object from the generalized object type to the specialized object type of the path out of the object type decision. -For more information about specialization and generalization, see [Entities](/refguide/entities/). +For more information about specialization and generalization, see [Entities](/refguide10/entities/). ## Properties @@ -41,7 +41,7 @@ This is the name for the result of the cast. It can be used by all activities th ## Common Section{#common} -{{% snippet file="/static/_includes/refguide/microflow-common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/microflow-common-section-link.md" %}} ## Example diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/object-activities/change-object.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/object-activities/change-object.md index ffb2cd9b815..4b6d574afda 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/object-activities/change-object.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/object-activities/change-object.md @@ -1,6 +1,6 @@ --- title: "Change Object" -url: /refguide/change-object/ +url: /refguide10/change-object/ weight: 20 --- @@ -39,15 +39,15 @@ You can also open the dialog box by double-clicking the activity, or right-click ### Commit -**Commit** defines the way the object is committed. For more information on committing, see the section [How Commits Work](/refguide/committing-objects/#how-commits-work) in *Commit Object(s)*. +**Commit** defines the way the object is committed. For more information on committing, see the section [How Commits Work](/refguide10/committing-objects/#how-commits-work) in *Commit Object(s)*. | Option | Description | | --- | --- | -| **Yes with event handlers** | The object is saved in the database and the [event handlers](/refguide/event-handlers/) are triggered | -| **Yes without event handlers** | The object is saved in the database, but the [event handlers](/refguide/event-handlers/) are not triggered | +| **Yes with event handlers** | The object is saved in the database and the [event handlers](/refguide10/event-handlers/) are triggered | +| **Yes without event handlers** | The object is saved in the database, but the [event handlers](/refguide10/event-handlers/) are not triggered | | **No** (default)| The object is changed without being saved in the database | -This option is not shown for [external entities](/refguide/external-entities/) because they cannot be committed. Use the [Send External Object](/refguide/send-external-object/) activity to save changes to external entities. +This option is not shown for [external entities](/refguide10/external-entities/) because they cannot be committed. Use the [Send External Object](/refguide10/send-external-object/) activity to save changes to external entities. #### Use Cases for Setting Commit @@ -68,7 +68,7 @@ Default: **No** {{% alert color="info" %}} To make pages of a Mendix app efficient, many widgets display values from an attribute of an object which is cached on the page. Attributes in widgets which use cached data are always reflected in the client even if they are not committed and irrespective of the value of **Refresh in client**. -If a widget is only updated when a [data source](/refguide/data-sources/) is loaded, then changes will only be seen if changes are committed and **Refresh in client** is set to **Yes**. +If a widget is only updated when a [data source](/refguide10/data-sources/) is loaded, then changes will only be seen if changes are committed and **Refresh in client** is set to **Yes**. When testing your app, ensure that the desired data is being displayed by the widgets you have chosen. {{% /alert %}} @@ -77,26 +77,26 @@ When testing your app, ensure that the desired data is being displayed by the wi If **Refresh in client** is set to **No**, the change is not reflected in the client. -If set to **Yes**, the object is refreshed across the client, which includes reloading the relevant [data sources](/refguide/data-sources/). +If set to **Yes**, the object is refreshed across the client, which includes reloading the relevant [data sources](/refguide10/data-sources/). #### Microflow is Called in an Offline or Native App When inside a microflow that is called from an offline or native app, the **Refresh in client** option is ignored and functions as if it was set to **No**. -For more information, see the [Microflows](/refguide/mobile/building-efficient-mobile-apps/offlinefirst-data/best-practices/#microflows) section of Offline-First Data. +For more information, see the [Microflows](/refguide10/mobile/building-efficient-mobile-apps/offlinefirst-data/best-practices/#microflows) section of Offline-First Data. #### Action is in a Nanoflow -The **Refresh in client** option is not available when change object is used in a [nanoflow](/refguide/nanoflows/). In this case, the refresh behavior depends on the **Commit type** option. It always reflects the changed attribute values in the client, including [visibility](/refguide/common-widget-properties/#visibility-properties). +The **Refresh in client** option is not available when change object is used in a [nanoflow](/refguide10/nanoflows/). In this case, the refresh behavior depends on the **Commit type** option. It always reflects the changed attribute values in the client, including [visibility](/refguide10/common-widget-properties/#visibility-properties). If **Commit type** is set to **Yes**, the object is refreshed across the client as if **Refresh in client** was set to **Yes**. ### Change Members -You can specify a list of changes to apply to the object. Values for members are specified with [expressions](/refguide/expressions/) and must be of the same type as the member. +You can specify a list of changes to apply to the object. Values for members are specified with [expressions](/refguide10/expressions/) and must be of the same type as the member. For a reference set association, it is also possible to add and remove an association (instead of only setting the member). For **add**, an object or a list of objects can be added to the currently associated objects. For **remove**, an object or a list of objects can be removed from the currently associated objects. ## Common Section{#common} -{{% snippet file="/static/_includes/refguide/microflow-common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/microflow-common-section-link.md" %}} diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/object-activities/committing-objects.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/object-activities/committing-objects.md index 7150f49d6b3..1bc797ae76f 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/object-activities/committing-objects.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/object-activities/committing-objects.md @@ -1,6 +1,6 @@ --- title: "Commit Object(s)" -url: /refguide/committing-objects/ +url: /refguide10/committing-objects/ weight: 30 --- @@ -10,7 +10,7 @@ This activity can be used in both microflows and nanoflows. ## Introduction -The **Commit object(s)** activity works on one or more objects. For persistable entities, committing an object stores it in the database. Committing non-persistable entities stores the current attribute values and association values in memory. This allows a rollback to revert to those values. See also [Persistability](/refguide/persistability/). External objects cannot be committed. To store changed values of external objects, use the [Send External Object](/refguide/send-external-object/) activity. +The **Commit object(s)** activity works on one or more objects. For persistable entities, committing an object stores it in the database. Committing non-persistable entities stores the current attribute values and association values in memory. This allows a rollback to revert to those values. See also [Persistability](/refguide10/persistability/). External objects cannot be committed. To store changed values of external objects, use the [Send External Object](/refguide10/send-external-object/) activity. {{% alert color="info" %}} A Mendix commit does not always behave like a database commit. See [How Commits Work](#how-commits-work), below, for more information. @@ -52,7 +52,7 @@ Indicates whether or not to execute the commit event handlers of the objects. Default: **Yes** {{% alert color="warning" %}} -Most validation rules are not triggered if you do a commit and **With events** is set to *No*. In most cases, validation rules will have been triggered when members (for example, an attribute) are changed, but Mendix advises that you set **With events** to *Yes* if you want to ensure that validations are always carried out. See [data validation](/refguide/setting-up-data-validation/) for more information. +Most validation rules are not triggered if you do a commit and **With events** is set to *No*. In most cases, validation rules will have been triggered when members (for example, an attribute) are changed, but Mendix advises that you set **With events** to *Yes* if you want to ensure that validations are always carried out. See [data validation](/refguide10/setting-up-data-validation/) for more information. {{% /alert %}} #### Events in Nanoflows @@ -72,7 +72,7 @@ Default: **No** {{% alert color="info" %}} To make pages of a Mendix app efficient, many widgets display values from an attribute of an object which is cached on the page. Attributes in widgets which use cached data are always reflected in the client when they are updated or deleted irrespective of the value of **Refresh in client**. -If a widget is only updated when a [data source](/refguide/data-sources/) is loaded, then changes are only seen when **Refresh in client** is set to **Yes**. +If a widget is only updated when a [data source](/refguide10/data-sources/) is loaded, then changes are only seen when **Refresh in client** is set to **Yes**. When testing your app, ensure that the desired data is being displayed by the widgets you choose. {{% /alert %}} @@ -85,21 +85,21 @@ When committing a large number of objects, Mendix recommends not enabling **Refr If **Refresh in client** is set to **No**, the change is not reflected in the client. -If set to **Yes**, the object is refreshed across the client, which includes reloading the relevant [data sources](/refguide/data-sources/). +If set to **Yes**, the object is refreshed across the client, which includes reloading the relevant [data sources](/refguide10/data-sources/). #### Microflow is Called in an Offline or Native App When inside a microflow that is called from an offline or native app, the **Refresh in client** option is ignored and functions as if it was set to **No**. -For more information, see the [Microflows](/refguide/mobile/building-efficient-mobile-apps/offlinefirst-data/best-practices/#microflows) section of Offline-First Data. +For more information, see the [Microflows](/refguide10/mobile/building-efficient-mobile-apps/offlinefirst-data/best-practices/#microflows) section of Offline-First Data. #### Action is in a Nanoflow -When inside a [nanoflow](/refguide/nanoflows/), the object is refreshed across the client as if **Refresh in client** was set to **Yes**. +When inside a [nanoflow](/refguide10/nanoflows/), the object is refreshed across the client as if **Refresh in client** was set to **Yes**. ## Common Section{#common} -{{% snippet file="/static/_includes/refguide/microflow-common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/microflow-common-section-link.md" %}} ## How Commits Work{#how-commits-work} @@ -107,7 +107,7 @@ When inside a [nanoflow](/refguide/nanoflows/), the object is refreshed across t When you commit an object, the current value is saved. This means that you cannot roll back to the previous values of the object using the rollback object activity of a microflow. -However, a Mendix commit is not the same as a database commit. For an object of a persistable entity, the saved value is not committed to the database until the microflow and any microflows from which it is called, complete. This means that errors in a microflow can initiate a rollback. If a microflow activity errors and has **Error handling** set to **Rollback** or **Custom with rollback**, the value of the object is rolled back to the value it had at the start of the microflow. See [Error Handling in Microflows](/refguide/error-handling-in-microflows/) for more information. +However, a Mendix commit is not the same as a database commit. For an object of a persistable entity, the saved value is not committed to the database until the microflow and any microflows from which it is called, complete. This means that errors in a microflow can initiate a rollback. If a microflow activity errors and has **Error handling** set to **Rollback** or **Custom with rollback**, the value of the object is rolled back to the value it had at the start of the microflow. See [Error Handling in Microflows](/refguide10/error-handling-in-microflows/) for more information. Mendix mimics this behavior for non-persistable entities. Committing a non-persistable entity means that you cannot use a rollback object activity to go back to the previous values, although the rollback error handling in a microflow rolls back to the original values. @@ -122,7 +122,7 @@ An autocommit is not the same as an explicit commit! When objects are autocommitted, all changed member values, including associations, are saved in the database as well. These members are still marked as changed until these objects are explicitly committed. As a consequence, association rows for these objects are deleted and reinserted in the database when these objects are explicitly committed. -If a rollback is triggered for any reason (for example, if the user session is terminated by the user closing the browser), then autocommitted objects are deleted from the database. For more information about how Mendix handles persistable objects, see [Persistability](/refguide/persistability/). +If a rollback is triggered for any reason (for example, if the user session is terminated by the user closing the browser), then autocommitted objects are deleted from the database. For more information about how Mendix handles persistable objects, see [Persistability](/refguide10/persistability/). {{% /alert %}} If you end up with autocommitted objects, it is always because of a modeling error. At some point in time, an association was set to a new object, the associated object was committed, and all of its associations were committed as well to keep all the data consistent. diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/object-activities/create-object.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/object-activities/create-object.md index c35c2f0fad1..5d964ff30bd 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/object-activities/create-object.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/object-activities/create-object.md @@ -1,6 +1,6 @@ --- title: "Create Object" -url: /refguide/create-object/ +url: /refguide10/create-object/ weight: 40 --- @@ -39,12 +39,12 @@ The entity of which you want to create an object. ### Commit -**Commit** defines the way the object is committed. For more information on committing, see the section [How Commits Work](/refguide/committing-objects/#how-commits-work) in *Commit Object(s)*. +**Commit** defines the way the object is committed. For more information on committing, see the section [How Commits Work](/refguide10/committing-objects/#how-commits-work) in *Commit Object(s)*. | Option | Description | | --- | --- | -| Yes with event handlers | The object is saved in the database and the [event handlers](/refguide/event-handlers/) are triggered. | -| Yes without event handlers | The object is saved in the database, but the [event handlers](/refguide/event-handlers/) are not triggered. | +| Yes with event handlers | The object is saved in the database and the [event handlers](/refguide10/event-handlers/) are triggered. | +| Yes without event handlers | The object is saved in the database, but the [event handlers](/refguide10/event-handlers/) are not triggered. | | No *(default)* | The object is changed without being saved in the database. | #### Commits in Nanoflows @@ -61,21 +61,21 @@ Default: **No** If **Refresh in client** is set to **No**, the change is not reflected in any widgets in the client. -If **Commit** and **Refresh in client** are both set to **Yes**, [data sources](/refguide/data-sources/) are reloaded and the new object's values are displayed in relevant widgets. +If **Commit** and **Refresh in client** are both set to **Yes**, [data sources](/refguide10/data-sources/) are reloaded and the new object's values are displayed in relevant widgets. #### Microflow Is Called in an Offline or Native App When inside a microflow that is called from an offline or native app, the **Refresh in client** option is ignored and functions as if it was set to **No**. -For more information, see the [Microflows](/refguide/mobile/building-efficient-mobile-apps/offlinefirst-data/best-practices/#microflows) section of Offline-First Data. +For more information, see the [Microflows](/refguide10/mobile/building-efficient-mobile-apps/offlinefirst-data/best-practices/#microflows) section of Offline-First Data. #### Action Is in a Nanoflow -In a nanoflow, the create object action reloads [data sources](/refguide/data-sources/) as if **Refresh in client** was set to **Yes**. +In a nanoflow, the create object action reloads [data sources](/refguide10/data-sources/) as if **Refresh in client** was set to **Yes**. ### Change Members -You can set the values of members (attributes and associations) of the newly created object to be different from the default value set in the [entity](/refguide/entities/). Values for members are specified with an [expression](/refguide/expressions/) and must be of the same type as the member. +You can set the values of members (attributes and associations) of the newly created object to be different from the default value set in the [entity](/refguide10/entities/). Values for members are specified with an [expression](/refguide10/expressions/) and must be of the same type as the member. ### Object Name @@ -83,7 +83,7 @@ This is the name of the resulting object which can be used by all activities tha ## Common Section{#common} -{{% snippet file="/static/_includes/refguide/microflow-common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/microflow-common-section-link.md" %}} ## What Happens During a Create? diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/object-activities/deleting-objects.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/object-activities/deleting-objects.md index 432df900d78..1a299e183ad 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/object-activities/deleting-objects.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/object-activities/deleting-objects.md @@ -1,6 +1,6 @@ --- title: "Delete Object(s)" -url: /refguide/deleting-objects/ +url: /refguide10/deleting-objects/ weight: 50 --- @@ -18,7 +18,7 @@ An example of delete object properties is represented in the image below: {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/object-activities/deleting-objects/delete-properties.png" alt="delete object properties" width="650px" class="no-border" >}} -This activity cannot be used to delete [external objects](/refguide/external-entities/). Use the [Delete External Object](/refguide/delete-external-object/) activity to delete external objects. +This activity cannot be used to delete [external objects](/refguide10/external-entities/). Use the [Delete External Object](/refguide10/delete-external-object/) activity to delete external objects. There are two sets of properties for this activity, those in the dialog box on the left, and those in the properties pane on the right. @@ -48,7 +48,7 @@ Default: **No** {{% alert color="info" %}} To make pages of a Mendix app efficient, many widgets display values from an attribute of an object which is cached on the page. Attributes in widgets which use cached data are always reflected in the client even if they are not committed and irrespective of the value of **Refresh in client**. When an object is deleted, it will display any attributes as null, but the object will still be displayed (for example, there will be a blank entry for the deleted object in a list view). -If **Refresh in client** is set to **Yes**, then all widgets are updated, including those which are only updated when a [data source](/refguide/data-sources/) is loaded. +If **Refresh in client** is set to **Yes**, then all widgets are updated, including those which are only updated when a [data source](/refguide10/data-sources/) is loaded. When testing your app, ensure that the desired data is being displayed by the widgets you have chosen. {{% /alert %}} @@ -57,13 +57,13 @@ When testing your app, ensure that the desired data is being displayed by the wi If **Refresh in client** is set to **No**, the data sources are not rerun, and widgets which need to reload data will still display the object (or objects). -If set to **Yes**, the deletion is reflected across the client, which includes reloading the relevant [data sources](/refguide/data-sources/). +If set to **Yes**, the deletion is reflected across the client, which includes reloading the relevant [data sources](/refguide10/data-sources/). #### Activity Used in a Microflow Called in an Offline-First App When inside a microflow that is called from an offline or native app, the **Refresh in client** option is ignored and functions as if it was set to **No**. -For more information, see the [Microflows](/refguide/mobile/building-efficient-mobile-apps/offlinefirst-data/best-practices/#microflows) section of Offline-First Data. +For more information, see the [Microflows](/refguide10/mobile/building-efficient-mobile-apps/offlinefirst-data/best-practices/#microflows) section of Offline-First Data. #### Activity Used in a Nanoflow {#delete-in-nano} @@ -83,7 +83,7 @@ When using the activity in a nanoflow accessible from an offline profile, please * When you create an object in the client and optionally commit it, it does not exist in the runtime database until you synchronize it * Deleting such an object removes it from the device and does not require synchronization, and therefore the before and after events of the corresponding entity will not be triggered -For more information on associations' delete behavior, see the [On Delete Behavior](/refguide/association-properties/#delete-behavior) section of Association Properties. +For more information on associations' delete behavior, see the [On Delete Behavior](/refguide10/association-properties/#delete-behavior) section of Association Properties. ### Example {#delete-example} @@ -97,7 +97,7 @@ The **On delete of 'Customer' object** option below should be set to **Keep 'Ord ## Common Section{#common} -{{% snippet file="/static/_includes/refguide/microflow-common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/microflow-common-section-link.md" %}} ## What Happens During a Delete? @@ -116,7 +116,7 @@ The **Committing** state of the **IMendixObject** is deprecated. {{% alert color="warning" %}} The **Delete object(s)** activity also removes the object or list reference from the microflow. Be careful not to use the object or list anymore after using it in a **Delete object(s)** activity. -Since Mendix 10.17 there is an exception to this in the case of lists in loops. In Mendix 10.17.0 and above, when **Delete object(s)** is used on a list in a loop, the reference is not removed, but is changed to an empty list. This means that you can add new objects to the list within the loop and the following activities can act on the objects in these lists. You can temporarily revert to the earlier behavior using the [Microflows.RemoveVariableOnDeleteObjectsActivity](/refguide/custom-settings/#MicroflowsRemoveVariableOnDeleteObjectsActivity) runtime setting. +Since Mendix 10.17 there is an exception to this in the case of lists in loops. In Mendix 10.17.0 and above, when **Delete object(s)** is used on a list in a loop, the reference is not removed, but is changed to an empty list. This means that you can add new objects to the list within the loop and the following activities can act on the objects in these lists. You can temporarily revert to the earlier behavior using the [Microflows.RemoveVariableOnDeleteObjectsActivity](/refguide10/custom-settings/#MicroflowsRemoveVariableOnDeleteObjectsActivity) runtime setting. {{% /alert %}} * Events: @@ -158,7 +158,7 @@ No before or after delete events will be executed in this case. 1. Searches the device database for all objects that reference the deleted object. 1. Clears all references to the deleted object from all objects found previously. 1. Deletes the object from the device database. -1. Marks the object as deleted in the offline database, which makes it possible to synchronize the deletion with the server using [Synchronize unsynchronized objects](/refguide/synchronize/#unsynchronized-objects) or [Synchronize all objects](/refguide/synchronize/#all-objects). +1. Marks the object as deleted in the offline database, which makes it possible to synchronize the deletion with the server using [Synchronize unsynchronized objects](/refguide10/synchronize/#unsynchronized-objects) or [Synchronize all objects](/refguide10/synchronize/#all-objects). Before and after events for the deleted object will be executed upon synchronization. diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/object-activities/retrieve.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/object-activities/retrieve.md index 9603498fc5e..b80dcf1b807 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/object-activities/retrieve.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/object-activities/retrieve.md @@ -1,6 +1,6 @@ --- title: "Retrieve" -url: /refguide/retrieve/ +url: /refguide10/retrieve/ weight: 60 #To update screenshots of these microflows in Studio Pro, use the Microflow Screenshots app. #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. @@ -42,7 +42,7 @@ The **Source** defines the way the objects are retrieved: | Option | Description | | --- | --- | | By association | Retrieve the object (or objects) associated to an object by following an association. Note that when objects and/or their associations are changed and not committed, the data is not yet available in the database. By retrieving **By association**, the data that is not committed can be retrieved. For more information, see the [Retrieve by Association Properties](#association) section below. | -| From database | Retrieve objects from the database. This can only be used for [persistable objects](/refguide/persistability/). For more information, see the [Retrieve from Database Properties](#from-database) section below. +| From database | Retrieve objects from the database. This can only be used for [persistable objects](/refguide10/persistability/). For more information, see the [Retrieve from Database Properties](#from-database) section below. {{% alert color="warning" %}} If you have changes in the memory, this action retrieves objects from the database and also applies the changes in the client. @@ -68,7 +68,7 @@ This property specifies the entity from which to retrieve instances (objects). #### XPath Constraint -The [XPath constraint](/refguide/xpath-constraints/) defines the condition the objects need to fulfill to be retrieved. If there is no XPath constraint, all objects of the entity are retrieved. +The [XPath constraint](/refguide10/xpath-constraints/) defines the condition the objects need to fulfill to be retrieved. If there is no XPath constraint, all objects of the entity are retrieved. {{% alert color="info" %}} Date functions, user-role tokens, computations based on tokens, and following associations are not supported in XPath constraints when the retrieve activity is in a nanoflow. @@ -98,7 +98,7 @@ This is the name of the list or object returned by the activity. It can be used ## Common Section{#common} -{{% snippet file="/static/_includes/refguide/microflow-common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/microflow-common-section-link.md" %}} ## Optimizing Retrieve Activities @@ -138,4 +138,4 @@ However, there is the risk of creating an infinite loop if the retrieve activity ## Read More -* [Extracting and Using Sub-Microflows](/refguide/extracting-and-using-sub-microflows/) +* [Extracting and Using Sub-Microflows](/refguide10/extracting-and-using-sub-microflows/) diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/object-activities/rollback-object.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/object-activities/rollback-object.md index ff490e8a104..795847a0ecc 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/object-activities/rollback-object.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/object-activities/rollback-object.md @@ -1,6 +1,6 @@ --- title: "Rollback Object" -url: /refguide/rollback-object/ +url: /refguide10/rollback-object/ weight: 70 --- @@ -50,7 +50,7 @@ Default: **No** {{% alert color="info" %}} To make pages of a Mendix app efficient, many widgets display values from an attribute of an object which is cached on the page. Attributes in widgets which use cached data are always reflected in the client even if they are not committed and irrespective of the value of **Refresh in client**. -If a widget is only updated when a [data source](/refguide/data-sources/) is loaded, then rollbacks will only be seen if they are committed and **Refresh in client** is set to **Yes**. +If a widget is only updated when a [data source](/refguide10/data-sources/) is loaded, then rollbacks will only be seen if they are committed and **Refresh in client** is set to **Yes**. When testing your app, ensure that the desired data is being displayed by the widgets you have chosen. {{% /alert %}} @@ -59,26 +59,26 @@ When testing your app, ensure that the desired data is being displayed by the wi If **Refresh in client** is set to **No**, the rollback is not reflected in the client. -If set to **Yes**, the object is refreshed across the client, which includes reloading the relevant [data sources](/refguide/data-sources/). +If set to **Yes**, the object is refreshed across the client, which includes reloading the relevant [data sources](/refguide10/data-sources/). #### Microflow Is Called in an Offline or Native App When inside a microflow that is called from an offline or native app, the **Refresh in client** option is ignored and functions as if it was set to **No**. -For more information, see the [Microflows](/refguide/mobile/building-efficient-mobile-apps/offlinefirst-data/best-practices/#microflows) section of Offline-First Data. +For more information, see the [Microflows](/refguide10/mobile/building-efficient-mobile-apps/offlinefirst-data/best-practices/#microflows) section of Offline-First Data. #### Action Is in a Nanoflow -When inside a [nanoflow](/refguide/nanoflows/), the rollback object activity reloads [data sources](/refguide/data-sources/) as if **Refresh in client** was set to **Yes**. +When inside a [nanoflow](/refguide10/nanoflows/), the rollback object activity reloads [data sources](/refguide10/data-sources/) as if **Refresh in client** was set to **Yes**. ## Common Section{#common} -{{% snippet file="/static/_includes/refguide/microflow-common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/microflow-common-section-link.md" %}} ## What Does Rollback Do? {{% alert color="info" %}} -A rollback object activity in a microflow or nanoflow is not the same as the rollback option on an [Error Event](/refguide/error-event/) in a microflow. +A rollback object activity in a microflow or nanoflow is not the same as the rollback option on an [Error Event](/refguide10/error-event/) in a microflow. A rollback from an error event does not trigger any rollback events, and does not reflect whether changes to objects have been committed. {{% /alert %}} diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/variable-activities/_index.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/variable-activities/_index.md index 862e60424fb..15886b5bd2e 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/variable-activities/_index.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/variable-activities/_index.md @@ -1,6 +1,6 @@ --- title: "Variable Activities" -url: /refguide/variable-activities/ +url: /refguide10/variable-activities/ weight: 40 --- @@ -13,5 +13,5 @@ The activities described in this document are in the **Variable Activities** sec The following are the variable activities you can use in your microflow or nanoflow: -* [Create Variable](/refguide/create-variable/) – allows you to create a new variable and assign a value to it -* [Change Variable](/refguide/change-variable/) – allows you to change the value of an existing variable +* [Create Variable](/refguide10/create-variable/) – allows you to create a new variable and assign a value to it +* [Change Variable](/refguide10/change-variable/) – allows you to change the value of an existing variable diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/variable-activities/change-variable.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/variable-activities/change-variable.md index 51a461855f2..164114de98a 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/variable-activities/change-variable.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/variable-activities/change-variable.md @@ -1,6 +1,6 @@ --- title: "Change Variable" -url: /refguide/change-variable/ +url: /refguide10/change-variable/ #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. --- @@ -33,12 +33,12 @@ The variable which you want to change the value of. ### Value -The new value for the variable. The value is entered using an [expression](/refguide/expressions/). The type of the expression must be the same as the type of the selected variable. +The new value for the variable. The value is entered using an [expression](/refguide10/expressions/). The type of the expression must be the same as the type of the selected variable. ## Common Section {#common} -{{% snippet file="/static/_includes/refguide/microflow-common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/microflow-common-section-link.md" %}} ## Read More -* [Activities](/refguide/activities/) +* [Activities](/refguide10/activities/) diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/variable-activities/create-variable.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/variable-activities/create-variable.md index 3f1378716f7..480426ee898 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/variable-activities/create-variable.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/variable-activities/create-variable.md @@ -1,6 +1,6 @@ --- title: "Create Variable" -url: /refguide/create-variable/ +url: /refguide10/create-variable/ #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. --- @@ -41,11 +41,11 @@ You can also open the dialog box by double-clicking the activity, or right-click ### Data Type -**Data type** defines what type of data is stored in the variable. A variable can have one of the following [data types](/refguide/data-types/): Boolean, Enumeration, Decimal, Integer/Long, or String. +**Data type** defines what type of data is stored in the variable. A variable can have one of the following [data types](/refguide10/data-types/): Boolean, Enumeration, Decimal, Integer/Long, or String. ### Initial Value -Defines the initial value of the variable. The value is entered using an [expression](/refguide/expressions/) (the result of the microflow expression must match the data type of the variable). +Defines the initial value of the variable. The value is entered using an [expression](/refguide10/expressions/) (the result of the microflow expression must match the data type of the variable). ### Variable Name @@ -53,8 +53,8 @@ Variable name defines the name of the resulting variable. The variable can be us ## Common Section {#common} -{{% snippet file="/static/_includes/refguide/microflow-common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/microflow-common-section-link.md" %}} ## Read More -* [Activities](/refguide/activities/) +* [Activities](/refguide10/activities/) diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/workflow-activities/_index.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/workflow-activities/_index.md index 74cbe60ae29..7f1ff8cab13 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/workflow-activities/_index.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/workflow-activities/_index.md @@ -1,6 +1,6 @@ --- title: "Workflow Activities" -url: /refguide/workflow-activities/ +url: /refguide10/workflow-activities/ weight: 85 --- @@ -14,20 +14,20 @@ The activities described in this document are in the **Workflow Activities** sec The following are the workflow activities you can use in your microflow: -* [Apply jump-to option](/refguide/apply-jump-to-option/) – allows the workflow to continue from the selected workflow activity -* [Call workflow](/refguide/workflow-call/) – calls a workflow -* [Change workflow state](/refguide/change-workflow-state/) – allows you to add **Abort**, **Continue**, **Pause**, **Restart**, and **Resume** operations to a workflow and control workflow instances -* [Complete user task](/refguide/complete-user-task/) – sets which outcome the specified [user task](/refguide/user-task/) should follow -* [Generate jump-to options](/refguide/generate-jump-to-options/) – generates a list of workflow activities as possible next steps where the workflow can jump to -* [Retrieve workflow activity records](/refguide/retrieve-workflow-activity-records/) – retrieves a list of **System.WorkflowActivityRecord** objects sorted by activity start time -* [Retrieve workflow context](/refguide/retrieve-workflow-context/) – retrieves the workflow context entity -* [Retrieve workflows](/refguide/retrieve-workflows/) – retrieve a list of **System.Workflow** objects associated with the given workflow context object -* [Show user task page](/refguide/show-task-page/) – opens a user task page specified in [user task properties](/refguide/user-task/) -* [Show workflow admin page](/refguide/show-workflow-page/) – opens a workflow overview page -* [Lock workflow](/refguide/lock-workflow/) – locks the selected workflow -* [Unlock workflow](/refguide/unlock-workflow/) – unlocks the selected workflow -* [Notify workflow](/refguide/notify-workflow/) – notifies the workflow that is suspended on the [Wait for notification](/refguide/wait-for-notification/) activity +* [Apply jump-to option](/refguide10/apply-jump-to-option/) – allows the workflow to continue from the selected workflow activity +* [Call workflow](/refguide10/workflow-call/) – calls a workflow +* [Change workflow state](/refguide10/change-workflow-state/) – allows you to add **Abort**, **Continue**, **Pause**, **Restart**, and **Resume** operations to a workflow and control workflow instances +* [Complete user task](/refguide10/complete-user-task/) – sets which outcome the specified [user task](/refguide10/user-task/) should follow +* [Generate jump-to options](/refguide10/generate-jump-to-options/) – generates a list of workflow activities as possible next steps where the workflow can jump to +* [Retrieve workflow activity records](/refguide10/retrieve-workflow-activity-records/) – retrieves a list of **System.WorkflowActivityRecord** objects sorted by activity start time +* [Retrieve workflow context](/refguide10/retrieve-workflow-context/) – retrieves the workflow context entity +* [Retrieve workflows](/refguide10/retrieve-workflows/) – retrieve a list of **System.Workflow** objects associated with the given workflow context object +* [Show user task page](/refguide10/show-task-page/) – opens a user task page specified in [user task properties](/refguide10/user-task/) +* [Show workflow admin page](/refguide10/show-workflow-page/) – opens a workflow overview page +* [Lock workflow](/refguide10/lock-workflow/) – locks the selected workflow +* [Unlock workflow](/refguide10/unlock-workflow/) – unlocks the selected workflow +* [Notify workflow](/refguide10/notify-workflow/) – notifies the workflow that is suspended on the [Wait for notification](/refguide10/wait-for-notification/) activity ## Read More -* [Activities](/refguide/activities/) +* [Activities](/refguide10/activities/) diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/workflow-activities/apply-jump-to-option.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/workflow-activities/apply-jump-to-option.md index 1c220452fe4..645511538d4 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/workflow-activities/apply-jump-to-option.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/workflow-activities/apply-jump-to-option.md @@ -1,6 +1,6 @@ --- title: Apply Jump-To Option -url: /refguide/apply-jump-to-option/ +url: /refguide10/apply-jump-to-option/ weight: 5 #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. --- @@ -11,13 +11,13 @@ This activity can only be used in microflows. ## Introduction -The **Apply jump-to option** activity allows the workflow to jump to a selected activity. This activity should be used after the [Generate jump-to options](/refguide/generate-jump-to-options/) activity that generates the list of possible workflow activities the workflow can jump to. This is useful when, for example, the workflow is in incompatible state and the Workflow Administrator or any other user should be able to select a specific activity where the workflow can continue. +The **Apply jump-to option** activity allows the workflow to jump to a selected activity. This activity should be used after the [Generate jump-to options](/refguide10/generate-jump-to-options/) activity that generates the list of possible workflow activities the workflow can jump to. This is useful when, for example, the workflow is in incompatible state and the Workflow Administrator or any other user should be able to select a specific activity where the workflow can continue. -For more information on configuring the jumping to other activities, see [Jumping to Different Activities in a Workflow](/refguide/jump-to/). +For more information on configuring the jumping to other activities, see [Jumping to Different Activities in a Workflow](/refguide10/jump-to/). {{% alert color="info" %}} -This functionality is different from the [Jump activity](/refguide/jump-activity/) in workflows, which you can add from the **Toolbox** when you configure the workflow. +This functionality is different from the [Jump activity](/refguide10/jump-activity/) in workflows, which you can add from the **Toolbox** when you configure the workflow. {{% /alert %}} @@ -48,8 +48,8 @@ An object of the **System.WorkflowJumpToDetails** entity available from the micr ## Common Section {#common} -{{% snippet file="/static/_includes/refguide/microflow-common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/microflow-common-section-link.md" %}} ## Read More -* [Jumping to Different Activities in a Workflow](/refguide/jump-to/) +* [Jumping to Different Activities in a Workflow](/refguide10/jump-to/) diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/workflow-activities/change-workflow-state.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/workflow-activities/change-workflow-state.md index 916fd8c11f3..14768011da7 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/workflow-activities/change-workflow-state.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/workflow-activities/change-workflow-state.md @@ -1,6 +1,6 @@ --- title: "Change Workflow State" -url: /refguide/change-workflow-state/ +url: /refguide10/change-workflow-state/ weight: 20 --- @@ -49,12 +49,12 @@ You can select the following operations that represent the new state of the work * **Retry workflow** – This operation allows you to retry the failed workflow. **Retry workflow** differs from **Restart workflow** – **Restart workflow** starts the same workflow from the beginning, while **Retry workflow** retries the failed activity to see whether the workflow can get back into the in-progress state. There can be the following use cases: * If the failed activity is a user task activity, **Retry workflow** attempts to get the user task back to the state it had before it failed. - * If the user task failed due to an execution error in the event handling microflow (for more information, see the [Events Section](/refguide/user-task/#events) in *User Task* and the [User Task State Change](/refguide/workflow-properties/#user-task-state-change) section in *Workflow Properties*), the failed microflow is re-executed. - * If the user task failed because no users were targeted by a microflow or XPath expression (for more information, see the [Target Users Using](/refguide/user-task/#target-users) section in *User Task*), there are two ways to fix this: + * If the user task failed due to an execution error in the event handling microflow (for more information, see the [Events Section](/refguide10/user-task/#events) in *User Task* and the [User Task State Change](/refguide10/workflow-properties/#user-task-state-change) section in *Workflow Properties*), the failed microflow is re-executed. + * If the user task failed because no users were targeted by a microflow or XPath expression (for more information, see the [Target Users Using](/refguide10/user-task/#target-users) section in *User Task*), there are two ways to fix this: * Change the data that is used by the targeting microflow or the XPath expression so that it results in one or more users (for example, making sure each role has at least one user). After that the **Retry workflow** will re-execute the targeting microflow or XPath expression. * Add targeted users to the **System.WorkflowUserTask_TargetUsers** association (for example, from the **DefaultWorkflowAdmin** page in the [Workflow Commons](/appstore/modules/workflow-commons/) module or from your own functionality). In this case the **Retry workflow** puts the workflow into the in-progress state and does not execute the targeting microflow or XPath expression again. * If the multi-user task failed because too few users were targeted by a microflow or XPath expression, there are three ways to fix this: - * Change the completion condition so that the number of (already) targeted users satisfies the condition (for more information, see the [Participant Input](/refguide/multi-user-task/#participant-input) section in *Multi-User Task*). + * Change the completion condition so that the number of (already) targeted users satisfies the condition (for more information, see the [Participant Input](/refguide10/multi-user-task/#participant-input) section in *Multi-User Task*). * Add targeted users to the **System.WorkflowUserTask_TargetUsers** association, so that the completion condition is satisfied. Note that the user-targeting microflow or XPath expression is not re-executed. This is to prevent overwriting the added targeted users. If re-execution of the user targeting is desired, use the option provided in the next bullet point. * Remove all targeted users from the **System.WorkflowUserTask_TargetUsers** association, which will re-execute the user-targeting microflow or XPath expression. In addition, other changes, like the ones mentioned in the above bullet points, must be made as well. Otherwise, the user targeting will fail again like before. @@ -72,4 +72,4 @@ The **Reason** property is only used when **Abort workflow** is selected in the ## Common Section {#common} -{{% snippet file="/static/_includes/refguide/microflow-common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/microflow-common-section-link.md" %}} diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/workflow-activities/complete-task.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/workflow-activities/complete-task.md index ba6a836dc6a..83f5f4e999b 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/workflow-activities/complete-task.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/workflow-activities/complete-task.md @@ -1,9 +1,9 @@ --- title: "Complete User Task" -url: /refguide/complete-user-task/ +url: /refguide10/complete-user-task/ weight: 30 aliases: - - /refguide/complete-task/ + - /refguide10/complete-task/ #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. --- @@ -13,7 +13,7 @@ This activity can only be used in microflows. ## Introduction -The **Complete user task** activity can be used to define which outcome the [user task](/refguide/user-task/) should follow. +The **Complete user task** activity can be used to define which outcome the [user task](/refguide10/user-task/) should follow. ## Properties @@ -50,4 +50,4 @@ Gives you a list of available outcomes for the selected user task. The user task ## Common Section {#common} -{{% snippet file="/static/_includes/refguide/microflow-common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/microflow-common-section-link.md" %}} diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/workflow-activities/generate-jump-to-options.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/workflow-activities/generate-jump-to-options.md index eb3f61dc2bc..7d0926f3c72 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/workflow-activities/generate-jump-to-options.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/workflow-activities/generate-jump-to-options.md @@ -1,6 +1,6 @@ --- title: Generate Jump-To Options -url: /refguide/generate-jump-to-options/ +url: /refguide10/generate-jump-to-options/ weight: 35 --- @@ -10,16 +10,16 @@ This activity can only be used in microflows. ## Introduction -The **Generate jump-to options** activity allows you to generate a list of workflow activities where the workflow can jump to as its next step. The [Apply jump-to option](/refguide/apply-jump-to-option/) activity should be used after the **Generate jump-to options** to let the workflow continue from the selected activity. This is useful when, for example, the workflow is in incompatible state and the Workflow Administrator or any other user should be able to select a specific activity where the workflow can continue. +The **Generate jump-to options** activity allows you to generate a list of workflow activities where the workflow can jump to as its next step. The [Apply jump-to option](/refguide10/apply-jump-to-option/) activity should be used after the **Generate jump-to options** to let the workflow continue from the selected activity. This is useful when, for example, the workflow is in incompatible state and the Workflow Administrator or any other user should be able to select a specific activity where the workflow can continue. {{% alert color="warning" %}} -The list of generated options only contains activities of the currently executed path in the workflow, excluding activities inside a [Parallel split](/refguide/parallel-split/) activity of the workflow or activities inside a non-interrupting [Boundary Event](/refguide/workflow-boundary-events/) path. When the workflow is executing a path in a [Parallel split](/refguide/parallel-split/) or in a non-interrupting [Boundary Event](/refguide/workflow-boundary-events/) path, the generated options will only contain activities of the current path. +The list of generated options only contains activities of the currently executed path in the workflow, excluding activities inside a [Parallel split](/refguide10/parallel-split/) activity of the workflow or activities inside a non-interrupting [Boundary Event](/refguide10/workflow-boundary-events/) path. When the workflow is executing a path in a [Parallel split](/refguide10/parallel-split/) or in a non-interrupting [Boundary Event](/refguide10/workflow-boundary-events/) path, the generated options will only contain activities of the current path. {{% /alert %}} -For more information on configuring the jumping to other activities, see [Jumping to Different Activities in a Workflow](/refguide/jump-to/). +For more information on configuring the jumping to other activities, see [Jumping to Different Activities in a Workflow](/refguide10/jump-to/). {{% alert color="info" %}} -This functionality is different from the [Jump activity](/refguide/jump-activity/) in workflows, which you can add from the **Toolbox** when you configure the workflow. +This functionality is different from the [Jump activity](/refguide10/jump-activity/) in workflows, which you can add from the **Toolbox** when you configure the workflow. {{% /alert %}} ## Properties @@ -49,12 +49,12 @@ A workflow object of the **System.Workflow** entity available from the microflow ### Variable Name or Object Name -The name of the variable or the object returned by the activity. This is an object of the **System.WorkflowJumpToDetails** entity which can be used by the [Apply jump-to option](/refguide/apply-jump-to-option/) activity. +The name of the variable or the object returned by the activity. This is an object of the **System.WorkflowJumpToDetails** entity which can be used by the [Apply jump-to option](/refguide10/apply-jump-to-option/) activity. ## Common Section {#common} -{{% snippet file="/static/_includes/refguide/microflow-common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/microflow-common-section-link.md" %}} ## Read More -* [Jumping to Different Activities in a Workflow](/refguide/jump-to/) +* [Jumping to Different Activities in a Workflow](/refguide10/jump-to/) diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/workflow-activities/lock-workflow.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/workflow-activities/lock-workflow.md index 2ef41421a3e..f6c3f6ad52a 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/workflow-activities/lock-workflow.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/workflow-activities/lock-workflow.md @@ -1,6 +1,6 @@ --- title: "Lock Workflow" -url: /refguide/lock-workflow/ +url: /refguide10/lock-workflow/ weight: 70 #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. --- @@ -11,7 +11,7 @@ This activity can only be used in microflows. ## Introduction -The **Lock workflow** activity can be used to lock a [workflow](/refguide/workflows/). +The **Lock workflow** activity can be used to lock a [workflow](/refguide10/workflows/). {{% alert color="info" %}} When the workflow is locked, it is the workflow definition that is locked. It means that when a workflow definition is locked it is not possible to start new instances of the workflow. @@ -19,13 +19,13 @@ When the workflow is locked, it is the workflow definition that is locked. It me This microflow activity allows developers to build a function for the workflow administration that stops the workflow execution. The Lock workflow activity can be used when the workflow definition contains errors and you have to prevent further damage to the process execution or data that will be difficult to undo/revert. -The information whether the workflow is locked is stored in the **IsLocked** attribute of the **WorkflowDefinition** entity. For more information, see the [Definition-Related Entities](/refguide/workflow-engine/#definition) section in *Workflow Engine*. +The information whether the workflow is locked is stored in the **IsLocked** attribute of the **WorkflowDefinition** entity. For more information, see the [Definition-Related Entities](/refguide10/workflow-engine/#definition) section in *Workflow Engine*. {{% alert color="warning" %}} -If the workflow is locked, new workflow instances from the selected workflow cannot be created and the activity will result in a Runtime error. If you try the lock the workflow which has been already locked, it will also result in a Runtime error. For information on how to handle the error, see [Error Handling in Microflows](/refguide/error-handling-in-microflows/). +If the workflow is locked, new workflow instances from the selected workflow cannot be created and the activity will result in a Runtime error. If you try the lock the workflow which has been already locked, it will also result in a Runtime error. For information on how to handle the error, see [Error Handling in Microflows](/refguide10/error-handling-in-microflows/). {{% /alert %}} -For information on unlocking the workflow, see the [Unlock Workflow](/refguide/unlock-workflow/). +For information on unlocking the workflow, see the [Unlock Workflow](/refguide10/unlock-workflow/). ## Properties @@ -77,4 +77,4 @@ The table below shows all workflow state transitions upon lock and unlock the wo ## Common Section {#common} -{{% snippet file="/static/_includes/refguide/microflow-common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/microflow-common-section-link.md" %}} diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/workflow-activities/notify-workflow.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/workflow-activities/notify-workflow.md index 80b9fd5421c..4d2af1a3665 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/workflow-activities/notify-workflow.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/workflow-activities/notify-workflow.md @@ -1,6 +1,6 @@ --- title: "Notify Workflow" -url: /refguide/notify-workflow/ +url: /refguide10/notify-workflow/ weight: 90 #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. --- @@ -11,12 +11,12 @@ This activity can only be used in microflows. ## Introduction {#introduction} -The **Notify workflow** activity can be used to notify a [workflow](/refguide/workflows/) that is suspended on the [Wait for notification](/refguide/wait-for-notification/) workflow activity. +The **Notify workflow** activity can be used to notify a [workflow](/refguide10/workflows/) that is suspended on the [Wait for notification](/refguide10/wait-for-notification/) workflow activity. If the workflow is suspended on the specified wait for notification activity, then this activity will return `true` and the workflow execution will continue further. Otherwise, it will simply return `false`. {{% alert color="warning" %}} -When you try to notify a workflow which is already `Completed` or `Aborted`, it will result in a Runtime error. For information on how to handle the error, see [Error Handling in Microflows](/refguide/error-handling-in-microflows/). +When you try to notify a workflow which is already `Completed` or `Aborted`, it will result in a Runtime error. For information on how to handle the error, see [Error Handling in Microflows](/refguide10/error-handling-in-microflows/). {{% /alert %}} ## Properties @@ -46,7 +46,7 @@ The workflow instance that will be notified by this activity. ### Activity -The ([caption](/refguide/wait-for-notification/#general) of the) [wait for notification](/refguide/wait-for-notification/) workflow activity that suspends the workflow instance. This wait for notification workflow activity needs to be notified so that the workflow can continue. +The ([caption](/refguide10/wait-for-notification/#general) of the) [wait for notification](/refguide10/wait-for-notification/) workflow activity that suspends the workflow instance. This wait for notification workflow activity needs to be notified so that the workflow can continue. ### Variable Name @@ -56,4 +56,4 @@ For more information on the return values, see the [Introduction](#introduction) ## Common Section {#common} -{{% snippet file="/static/_includes/refguide/microflow-common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/microflow-common-section-link.md" %}} diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/workflow-activities/retrieve-workflow-activity-records.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/workflow-activities/retrieve-workflow-activity-records.md index 859054615ec..73d8e4c21cf 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/workflow-activities/retrieve-workflow-activity-records.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/workflow-activities/retrieve-workflow-activity-records.md @@ -1,6 +1,6 @@ --- title: "Retrieve Workflow Activity Records" -url: /refguide/retrieve-workflow-activity-records/ +url: /refguide10/retrieve-workflow-activity-records/ weight: 40 --- @@ -51,4 +51,4 @@ The name of the list variable returned by the activity. ## Common Section {#common} -{{% snippet file="/static/_includes/refguide/microflow-common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/microflow-common-section-link.md" %}} diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/workflow-activities/retrieve-workflow-context.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/workflow-activities/retrieve-workflow-context.md index 8943bacb045..14bb72af7b4 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/workflow-activities/retrieve-workflow-context.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/workflow-activities/retrieve-workflow-context.md @@ -1,6 +1,6 @@ --- title: "Retrieve Workflow Context" -url: /refguide/retrieve-workflow-context/ +url: /refguide10/retrieve-workflow-context/ weight: 40 --- @@ -10,7 +10,7 @@ This activity can only be used in microflows. ## Introduction -A **Retrieve workflow context** activity can be used to retrieve the selected [workflow context entity](/refguide/workflow-parameters/#entity). +A **Retrieve workflow context** activity can be used to retrieve the selected [workflow context entity](/refguide10/workflow-parameters/#entity). It needs the **System.Workflow** entity as its input. The action determines the return type based on the selected workflow (the configured Context entity of that workflow). A Runtime error occurs if the passed workflow object is not of the right type. @@ -49,4 +49,4 @@ The name of the variable returned by the activity. ## Common Section {#common} -{{% snippet file="/static/_includes/refguide/microflow-common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/microflow-common-section-link.md" %}} diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/workflow-activities/retrieve-workflows.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/workflow-activities/retrieve-workflows.md index 0defd778111..315fdf44463 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/workflow-activities/retrieve-workflows.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/workflow-activities/retrieve-workflows.md @@ -1,6 +1,6 @@ --- title: "Retrieve Workflows" -url: /refguide/retrieve-workflows/ +url: /refguide10/retrieve-workflows/ weight: 40 --- @@ -12,12 +12,12 @@ This activity can only be used in microflows. A **Retrieve workflows** activity can be used to retrieve a list of **System.Workflow** objects. -It needs a [workflow context object](/refguide/workflow-parameters/#entity) as its input. The provided workflow context object here can be associated with one or several workflow instances. A Runtime error occurs if the [WorkflowContext parameter](/refguide/workflow-parameters/) contains no object. +It needs a [workflow context object](/refguide10/workflow-parameters/#entity) as its input. The provided workflow context object here can be associated with one or several workflow instances. A Runtime error occurs if the [WorkflowContext parameter](/refguide10/workflow-parameters/) contains no object. You can use this activity to check if the workflow context object is already used in a workflow, and if so, which workflows are used to process the workflow context object. {{% alert color="info" %}} -All the workflow objects this activity returns are of type **System.Workflow**, but they can be related to different workflow definitions that are of type [System.WorkflowDefinition](/refguide/workflow-engine/#definition). +All the workflow objects this activity returns are of type **System.Workflow**, but they can be related to different workflow definitions that are of type [System.WorkflowDefinition](/refguide10/workflow-engine/#definition). {{% /alert %}} ## Properties @@ -51,4 +51,4 @@ The name of the variable returned by the activity. ## Common Section {#common} -{{% snippet file="/static/_includes/refguide/microflow-common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/microflow-common-section-link.md" %}} diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/workflow-activities/show-task-page.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/workflow-activities/show-task-page.md index 6ec0846fdae..724347c137f 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/workflow-activities/show-task-page.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/workflow-activities/show-task-page.md @@ -1,6 +1,6 @@ --- title: "Show User Task Page" -url: /refguide/show-task-page/ +url: /refguide10/show-task-page/ weight: 50 #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. --- @@ -42,9 +42,9 @@ The user task object of the System.WorkflowUserTask entity available from the mi 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 [single user task](/refguide10/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. +For a [multi-user task](/refguide10/multi-user-task/), the auto assignment happens irrespective of whether the task was assigned before (to another user) or not. This option is enabled by default. @@ -67,4 +67,4 @@ For a multi-user task, this setting has no effect if the [Auto-Assign](#auto-ass ## Common Section {#common} -{{% snippet file="/static/_includes/refguide/microflow-common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/microflow-common-section-link.md" %}} diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/workflow-activities/show-workflow-page.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/workflow-activities/show-workflow-page.md index d948197d63d..5ca3d5d66d7 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/workflow-activities/show-workflow-page.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/workflow-activities/show-workflow-page.md @@ -1,6 +1,6 @@ --- title: "Show Workflow Admin Page" -url: /refguide/show-workflow-page/ +url: /refguide10/show-workflow-page/ weight: 60 #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. --- @@ -40,4 +40,4 @@ A workflow object of which the page you would like to show. ## Common Section {#common} -{{% snippet file="/static/_includes/refguide/microflow-common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/microflow-common-section-link.md" %}} diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/workflow-activities/unlock-workflow.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/workflow-activities/unlock-workflow.md index f50bcc42e81..6e6a2248e8e 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/workflow-activities/unlock-workflow.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/workflow-activities/unlock-workflow.md @@ -1,6 +1,6 @@ --- title: "Unlock Workflow" -url: /refguide/unlock-workflow/ +url: /refguide10/unlock-workflow/ weight: 80 #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. --- @@ -11,16 +11,16 @@ This activity can only be used in microflows. ## Introduction -The **Unlock workflow** activity can be used to unlock a [workflow](/refguide/workflows/), i.e. a workflow definition. +The **Unlock workflow** activity can be used to unlock a [workflow](/refguide10/workflows/), i.e. a workflow definition. If the workflow is unlocked, new instances of the workflow can be created. {{% alert color="warning" %}} -When you try to unlock the workflow which is not locked, it will result in a Runtime error. For information on how to handle the error, see [Error Handling in Microflows](/refguide/error-handling-in-microflows/). +When you try to unlock the workflow which is not locked, it will result in a Runtime error. For information on how to handle the error, see [Error Handling in Microflows](/refguide10/error-handling-in-microflows/). {{% /alert %}} -For information on locking the workflow, see the [Lock Workflow](/refguide/lock-workflow/). +For information on locking the workflow, see the [Lock Workflow](/refguide10/lock-workflow/). ## Properties @@ -54,10 +54,10 @@ The workflow that is unlocked by this activity. ### Unpause Instances {#workflow} With this option, all paused running workflow instances are reverted to their previous state. Workflow instances that are not currently paused are not impacted. -For more information on workflow state transitions, see the [Workflow State Transitions Upon Locking and Unlocking](/refguide/lock-workflow/#workflow-state-transitions) section in *Lock Workflow*. +For more information on workflow state transitions, see the [Workflow State Transitions Upon Locking and Unlocking](/refguide10/lock-workflow/#workflow-state-transitions) section in *Lock Workflow*. This option is enabled by default. ## Common Section {#common} -{{% snippet file="/static/_includes/refguide/microflow-common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/microflow-common-section-link.md" %}} diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/workflow-activities/workflow-call.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/workflow-activities/workflow-call.md index 47f3350702c..20b6495f845 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/workflow-activities/workflow-call.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/workflow-activities/workflow-call.md @@ -1,6 +1,6 @@ --- title: "Call Workflow" -url: /refguide/workflow-call/ +url: /refguide10/workflow-call/ weight: 10 #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,12 +10,12 @@ This activity can only be used in microflows. {{% /alert %}} {{% alert color="info" %}} -This page describes the **Call workflow** activity you can use in your [microflow](/refguide/workflow-activities/). Looking for information on the **Call workflow** activity for [workflows](/refguide/workflow-elements/) instead? See [Call workflow](/refguide/call-workflow/). +This page describes the **Call workflow** activity you can use in your [microflow](/refguide10/workflow-activities/). Looking for information on the **Call workflow** activity for [workflows](/refguide10/workflow-elements/) instead? See [Call workflow](/refguide10/call-workflow/). {{% /alert %}} ## Introduction -The **Call workflow** activity in microflows can be used to call and trigger a [workflow](/refguide/workflows/). +The **Call workflow** activity in microflows can be used to call and trigger a [workflow](/refguide10/workflows/). ## Properties @@ -48,7 +48,7 @@ The object which you want to use as a context. It should be of the entity type s ### Use Return Value -This property determines if the returned value from the called workflow should be available in the rest of the current microflow. If **Use return value** is set to **Yes**, you will need to fill in the [variable name](/refguide/microflow-call/#name) of the workflow object returned by the activity. +This property determines if the returned value from the called workflow should be available in the rest of the current microflow. If **Use return value** is set to **Yes**, you will need to fill in the [variable name](/refguide10/microflow-call/#name) of the workflow object returned by the activity. ### Variable Name {#name} @@ -56,4 +56,4 @@ The name of the variable returned by the activity. ## Common Section {#common} -{{% snippet file="/static/_includes/refguide/microflow-common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/microflow-common-section-link.md" %}} diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/annotation.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/annotation.md index f3f7dfb2569..0e2564467c1 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/annotation.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/annotation.md @@ -1,10 +1,10 @@ --- title: "Annotation" -url: /refguide/annotation/ +url: /refguide10/annotation/ weight: 60 aliases: - - /refguide/annotation-flow.html - - /refguide/annotation-flow + - /refguide10/annotation-flow.html + - /refguide10/annotation-flow #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. --- @@ -20,7 +20,7 @@ In the example below, you use a **Show message** activity to warn end-users abou ### Caption -For details, see [Common Properties](/refguide/microflow-element-common-properties/). +For details, see [Common Properties](/refguide10/microflow-element-common-properties/). ## Annotation Flow {#annotation-flow} diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/debug-microflows-and-nanoflows/_index.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/debug-microflows-and-nanoflows/_index.md index 2dbf009206a..6affb4d4a37 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/debug-microflows-and-nanoflows/_index.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/debug-microflows-and-nanoflows/_index.md @@ -1,6 +1,6 @@ --- title: "Debugging Microflows and Nanoflows" -url: /refguide/debug-microflows-and-nanoflows// +url: /refguide10/debug-microflows-and-nanoflows// weight: 120 --- @@ -17,7 +17,7 @@ This how-to teaches you how to do the following: Before starting this how-to, make sure you have completed the following prerequisites: -* Read [Configuring a Domain Model](/refguide/configuring-a-domain-model/) +* Read [Configuring a Domain Model](/refguide10/configuring-a-domain-model/) * Read [How to Create Your First Two Overview and Detail Pages](/howto/front-end/create-your-first-two-overview-and-detail-pages/) ## Debugging Overview @@ -86,7 +86,7 @@ Breakpoints are points in a microflow/nanoflow where the application will halt e To debug a microflow from a nanoflow you need to add a separate breakpoint to the microflow. Stepping into the microflow won't work in this situation. -For details on available shortcut keys, see the [Debugger Shortcut Keys](/refguide/keyboard-shortcuts/#debugger-shortcuts) section of *Keyboard Shortcuts*. +For details on available shortcut keys, see the [Debugger Shortcut Keys](/refguide10/keyboard-shortcuts/#debugger-shortcuts) section of *Keyboard Shortcuts*. ## Variables Viewer @@ -121,5 +121,5 @@ To use breakpoint conditions, follow these steps: ## Read More -* [Debugging Microflows Remotely](/refguide/debug-microflows-remotely/) -* [Common Properties](/refguide/microflow-element-common-properties/) +* [Debugging Microflows Remotely](/refguide10/debug-microflows-remotely/) +* [Common Properties](/refguide10/microflow-element-common-properties/) diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/debug-microflows-and-nanoflows/debug-microflows-remotely.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/debug-microflows-and-nanoflows/debug-microflows-remotely.md index f9577c35e30..097e283791a 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/debug-microflows-and-nanoflows/debug-microflows-remotely.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/debug-microflows-and-nanoflows/debug-microflows-remotely.md @@ -1,6 +1,6 @@ --- title: "Debugging Microflows Remotely" -url: /refguide/debug-microflows-remotely/ +url: /refguide10/debug-microflows-remotely/ aliases: - /howto/monitoring-troubleshooting/debug-microflows-remotely #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. @@ -152,5 +152,5 @@ The debugger is now connected to your app running in the cloud. ## Read More -* [Debugging Microflows and Nanoflows](/refguide/debug-microflows-and-nanoflows/) +* [Debugging Microflows and Nanoflows](/refguide10/debug-microflows-and-nanoflows/) * [The Ultimate Debugger](https://www.mendix.com/tech-blog/the-ultimate-debugger/) diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/decisions/_index.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/decisions/_index.md index b42ae8a1b09..12a7fabfb01 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/decisions/_index.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/decisions/_index.md @@ -1,6 +1,6 @@ --- title: "Decisions" -url: /refguide/decisions/ +url: /refguide10/decisions/ weight: 50 #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. --- @@ -15,16 +15,16 @@ The elements described in this document are in the **Decisions** section of the For more details on each element and how to use them, click into its specific page shown in the following: -* [Decision](/refguide/decision/) – makes a choice based on a condition and follows one and only one of the outgoing sequence flows +* [Decision](/refguide10/decision/) – makes a choice based on a condition and follows one and only one of the outgoing sequence flows {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/decisions/decision/decision-example.png" width="400" class="no-border" >}} - For more information on how expressions are used in a decision, see the [Expression Section](/refguide/decision/#expression) in *Decision*. For an overview of expressions that are available in Mendix, see [Expressions](/refguide/expressions/). + For more information on how expressions are used in a decision, see the [Expression Section](/refguide10/decision/#expression) in *Decision*. For an overview of expressions that are available in Mendix, see [Expressions](/refguide10/expressions/). -* [Object Type Decision](/refguide/object-type-decision/) – makes a choice based on the type of an object of a generalized entity +* [Object Type Decision](/refguide10/object-type-decision/) – makes a choice based on the type of an object of a generalized entity {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/decisions/object-type-decision.png" class="no-border" >}} -* [Merge](/refguide/merge/) – merges incoming flows +* [Merge](/refguide10/merge/) – merges incoming flows {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/decisions/merge.png" class="no-border" >}} diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/decisions/decision.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/decisions/decision.md index eca78e3eec1..dd9d8761d52 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/decisions/decision.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/decisions/decision.md @@ -1,10 +1,10 @@ --- title: "Decision" -url: /refguide/decision/ +url: /refguide10/decision/ weight: 1 aliases: - - /refguide/exclusive-split.html - - /refguide/exclusive-split + - /refguide10/exclusive-split.html + - /refguide10/exclusive-split #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. --- @@ -28,7 +28,7 @@ The decision properties pane consists of the following sections: ### Caption -For more information, see the [Caption](/refguide/microflow-element-common-properties/#caption) section in *Common Properties*. +For more information, see the [Caption](/refguide10/microflow-element-common-properties/#caption) section in *Common Properties*. ### Decision Type {#decision-type} @@ -41,13 +41,13 @@ For more information, see the [Caption](/refguide/microflow-element-common-prope ### Error Handling Type -For more information, see the [Error Handling Type](/refguide/microflow-element-common-properties/#error-handling) section in *Common Properties*. +For more information, see the [Error Handling Type](/refguide10/microflow-element-common-properties/#error-handling) section in *Common Properties*. ## Expression Section {#expression} -The **Expression** section is shown in the decision properties pane if the [Decision Type](#decision-type) property is set to **Expression**. The expression entered here is used to define the condition of the decision. For more information on expressions, see [Microflow Expressions](/refguide/expressions/). +The **Expression** section is shown in the decision properties pane if the [Decision Type](#decision-type) property is set to **Expression**. The expression entered here is used to define the condition of the decision. For more information on expressions, see [Microflow Expressions](/refguide10/expressions/). -The expression should result in a Boolean or an [enumeration](/refguide/enumerations/). +The expression should result in a Boolean or an [enumeration](/refguide10/enumerations/). ### Boolean Result @@ -67,11 +67,11 @@ In the example below, the microflow parameter is *MeetingRegistration*. Dependin Since you want to go in a different direction for each value of the enumeration, you only need to use the attribute containing the enumeration. So the expression in this example is `$MeetingRegistration/WorkingLocation`. -Afterwards, you can merge the three flows followed by a meeting URL into one flow (for more information, see [Merge](/refguide/merge/)). Then you only need to [commit](/refguide/committing-objects/) the registration once and have one [Close page](/refguide/committing-objects/) activity after the merge. +Afterwards, you can merge the three flows followed by a meeting URL into one flow (for more information, see [Merge](/refguide10/merge/)). Then you only need to [commit](/refguide10/committing-objects/) the registration once and have one [Close page](/refguide10/committing-objects/) activity after the merge. ## Rule Section {#rule} -The **Rule** section is shown in the decision properties pane if the [Decision Type](#decision-type) property is set to **Rule**. A [rule](/refguide/rules/) can be selected to define the condition of the decision. You can use the outcome of the rule for the decision instead of calling a sub-microflow and using the returned variable of that sub-microflow. +The **Rule** section is shown in the decision properties pane if the [Decision Type](#decision-type) property is set to **Rule**. A [rule](/refguide10/rules/) can be selected to define the condition of the decision. You can use the outcome of the rule for the decision instead of calling a sub-microflow and using the returned variable of that sub-microflow. {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/decisions/decision/rule-properties.png" width="350" class="no-border" >}} @@ -79,4 +79,4 @@ The properties of the **Rule** decision type are the following ones: * **Rule** – allows you to select a rule. -* **Parameter** – for each parameter of the rule an argument needs to be specified using [expressions](/refguide/expressions/). For example, a rule that determines whether a customer deserves a certain status will have a customer object as a parameter. +* **Parameter** – for each parameter of the rule an argument needs to be specified using [expressions](/refguide10/expressions/). For example, a rule that determines whether a customer deserves a certain status will have a customer object as a parameter. diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/decisions/merge.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/decisions/merge.md index a30bcb63a19..b7908fc1d73 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/decisions/merge.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/decisions/merge.md @@ -1,6 +1,6 @@ --- title: "Merge" -url: /refguide/merge/ +url: /refguide10/merge/ weight: 3 #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. --- diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/decisions/object-type-decision.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/decisions/object-type-decision.md index fecff0dd412..d7865f7ad6c 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/decisions/object-type-decision.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/decisions/object-type-decision.md @@ -1,18 +1,18 @@ --- title: "Object Type Decision" -url: /refguide/object-type-decision/ +url: /refguide10/object-type-decision/ weight: 2 aliases: - - /refguide/inheritance-split.html - - /refguide/inheritance-split + - /refguide10/inheritance-split.html + - /refguide10/inheritance-split #If moving or renaming this doc file, implement a temporary redirect and let the respective team know they should update the URL in the product. See Mapping to Products for more details. --- ## Introduction -An object type decision is an element that makes a choice based on the type of an object of a generalized entity. The output of the object type decision are the specialized entities that inherit from the generalized entity. For more information on specialization and generalization, see [Entities](/refguide/entities/). +An object type decision is an element that makes a choice based on the type of an object of a generalized entity. The output of the object type decision are the specialized entities that inherit from the generalized entity. For more information on specialization and generalization, see [Entities](/refguide10/entities/). -If you want to use the specialized type in the rest of the microflow or nanoflow, you can use a [Cast object](/refguide/cast-object/) activity. +If you want to use the specialized type in the rest of the microflow or nanoflow, you can use a [Cast object](/refguide10/cast-object/) activity. ## Properties @@ -29,7 +29,7 @@ The object type decision properties consists of the following sections: #### Caption -For more information, see the [Caption](/refguide/microflow-element-common-properties/#caption) section in *Common Properties*. +For more information, see the [Caption](/refguide10/microflow-element-common-properties/#caption) section in *Common Properties*. ### Input Section {#input} diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/events/_index.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/events/_index.md index 541e4d185b1..ebc627d35ef 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/events/_index.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/events/_index.md @@ -1,6 +1,6 @@ --- title: "Events" -url: /refguide/events/ +url: /refguide10/events/ weight: 90 --- @@ -14,8 +14,8 @@ For example, they are used to start or end your microflow, to break an iteration You can add the following events to your flow: -* [Start Event](/refguide/start-event/) – indicates the beginning of your microflow or nanoflow -* [End Event](/refguide/end-event/) – defines where the flow stops -* [Error Event](/refguide/error-event/) – defines where the microflow will stop and throw an error -* [Continue Event](/refguide/continue-event/) – used in loops to stop the current iteration and start the iteration of the next object -* [Break Event](/refguide/break-event/) – used in loops to exit the loop and continue with the rest of the flow +* [Start Event](/refguide10/start-event/) – indicates the beginning of your microflow or nanoflow +* [End Event](/refguide10/end-event/) – defines where the flow stops +* [Error Event](/refguide10/error-event/) – defines where the microflow will stop and throw an error +* [Continue Event](/refguide10/continue-event/) – used in loops to stop the current iteration and start the iteration of the next object +* [Break Event](/refguide10/break-event/) – used in loops to exit the loop and continue with the rest of the flow diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/events/break-event.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/events/break-event.md index 5f1b7eb0fdf..49a9084ad27 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/events/break-event.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/events/break-event.md @@ -1,13 +1,13 @@ --- title: "Break Event" -url: /refguide/break-event/ +url: /refguide10/break-event/ weight: 5 --- ## Introduction {{% alert color="warning" %}} -Break events can only be used inside [loops](/refguide/loop/). +Break events can only be used inside [loops](/refguide10/loop/). {{% /alert %}} A break event is used to stop iterating over the list of objects and continue with the rest of the flow. Without a break event, the loop will continue with the iteration of the next object. @@ -18,5 +18,5 @@ For example, if you want to notify the user of any unpaid order lines you can us ## Read More -* [Loop](/refguide/loop/) -* [Continue Event](/refguide/continue-event/) +* [Loop](/refguide10/loop/) +* [Continue Event](/refguide10/continue-event/) diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/events/continue-event.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/events/continue-event.md index a539215dc98..c2a75a53b7d 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/events/continue-event.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/events/continue-event.md @@ -1,18 +1,18 @@ --- title: "Continue Event" -url: /refguide/continue-event/ +url: /refguide10/continue-event/ weight: 4 --- ## Introduction {{% alert color="warning" %}} -Continue events can only be used inside [loops](/refguide/loop/). +Continue events can only be used inside [loops](/refguide10/loop/). {{% /alert %}} A continue event is used to stop the current iteration and start the iteration of the next object inside a loop. -Normally, the iteration of the next object will be started automatically. So, a continue event is only necessary after a [decision](/refguide/decision/) (when one of the paths does not have a destination yet), as both paths of a decision need a destination. However, for clarity you could choose to always include one. +Normally, the iteration of the next object will be started automatically. So, a continue event is only necessary after a [decision](/refguide10/decision/) (when one of the paths does not have a destination yet), as both paths of a decision need a destination. However, for clarity you could choose to always include one. For example, you have a list of objects of the *OrderLine* entity and you want to set the purchase date for only the paid order lines. This can be done using a loop with a decision, a continue event, and a change activity. The decision determines whether the order line is paid or not. If the order line is paid, the purchase date is set by a change activity and the looped activity starts with the next order line. If the order line is not paid, the loop starts with the next order line because of the continue event. @@ -20,5 +20,5 @@ For example, you have a list of objects of the *OrderLine* entity and you want t ## Read More -* [Loop](/refguide/loop/) -* [Break Event](/refguide/break-event/) +* [Loop](/refguide10/loop/) +* [Break Event](/refguide10/break-event/) diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/events/end-event.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/events/end-event.md index 9c1efdb8468..c188fb3463d 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/events/end-event.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/events/end-event.md @@ -1,6 +1,6 @@ --- title: "End Event" -url: /refguide/end-event/ +url: /refguide10/end-event/ weight: 2 #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. --- @@ -13,7 +13,7 @@ In the example below, a *Buyer* variable of the *Customer* entity is returned by {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/events/end-event/end-event.png" class="no-border" >}} -The number of end events depends on the number of possible outcomes of the microflow or nanoflow. That means there can be more than one end event, for example when a [decision](/refguide/decision/) is used: +The number of end events depends on the number of possible outcomes of the microflow or nanoflow. That means there can be more than one end event, for example when a [decision](/refguide10/decision/) is used: {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/events/end-event/end-events.png" width="500px" class="no-border" >}} @@ -39,9 +39,9 @@ If you have several end events and they have a return value, they all need to re ### Return Type {#return-type} -You can choose to return nothing, or to return, for example, a list, enumeration, or Boolean value. For more information on possible return types, see [Data Types](/refguide/data-types/). +You can choose to return nothing, or to return, for example, a list, enumeration, or Boolean value. For more information on possible return types, see [Data Types](/refguide10/data-types/). -After you type an [expression](/refguide/expressions/) in the **End Event** dialog box, you will see an option that allows you to update the return type: +After you type an [expression](/refguide10/expressions/) in the **End Event** dialog box, you will see an option that allows you to update the return type: {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/events/end-event/end-event-form.png" width="500px" >}} @@ -59,6 +59,6 @@ When you update the return type, a default variable name is set based on the ret ## Read More -* [Start Event](/refguide/start-event/) -* [Microflow Call](/refguide/microflow-call/) -* [Call Nanoflow](/refguide/nanoflow-call/) +* [Start Event](/refguide10/start-event/) +* [Microflow Call](/refguide10/microflow-call/) +* [Call Nanoflow](/refguide10/nanoflow-call/) diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/events/error-event.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/events/error-event.md index 205a0ead32b..60dd04bb13d 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/events/error-event.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/events/error-event.md @@ -1,6 +1,6 @@ --- title: "Error Event" -url: /refguide/error-event/ +url: /refguide10/error-event/ weight: 3 --- @@ -10,7 +10,7 @@ This event can only be used in **Microflows**. ## Introduction -An error event defines where a microflow will stop and throw an error that occurred earlier. If you call a microflow, you may want to know whether any errors occurred within the microflow or not. This event throws the error again, so the caller of the microflow can catch them. When you use this event, all database actions within the current transaction will be rolled back (for more information, see [Error Handling in Microflows](/refguide/error-handling-in-microflows/)). +An error event defines where a microflow will stop and throw an error that occurred earlier. If you call a microflow, you may want to know whether any errors occurred within the microflow or not. This event throws the error again, so the caller of the microflow can catch them. When you use this event, all database actions within the current transaction will be rolled back (for more information, see [Error Handling in Microflows](/refguide10/error-handling-in-microflows/)). {{% alert color="warning" %}} You can only use an error event if an error is in scope: Studio Pro does not accept it if you connect the normal execution flow to an error event, because there would not be an error to pass back to the caller. @@ -21,10 +21,10 @@ In this example, an error occurs while committing an object to the database. It {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/events/error-event/error-event.png" class="no-border" >}} {{% alert color="info" %}} -When adding an error event, you need to add an [error handler](/refguide/error-handling-in-microflows/#errorhandlers) for an activity before the error event. Link an error event and an activity which has an error handlers set on it with a [sequence flow](/refguide/sequence-flow/) and select **Set as error handler** for the sequence flow. +When adding an error event, you need to add an [error handler](/refguide10/error-handling-in-microflows/#errorhandlers) for an activity before the error event. Link an error event and an activity which has an error handlers set on it with a [sequence flow](/refguide10/sequence-flow/) and select **Set as error handler** for the sequence flow. {{% /alert %}} ## Read More -* [Error Handling in Microflows](/refguide/error-handling-in-microflows/) -* [Error Handling in Nanoflows](/refguide/error-handling-in-nanoflows/) +* [Error Handling in Microflows](/refguide10/error-handling-in-microflows/) +* [Error Handling in Nanoflows](/refguide10/error-handling-in-nanoflows/) diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/events/start-event.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/events/start-event.md index 46415b6cc78..b54848454c8 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/events/start-event.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/events/start-event.md @@ -1,6 +1,6 @@ --- title: "Start Event" -url: /refguide/start-event/ +url: /refguide10/start-event/ weight: 1 --- @@ -8,11 +8,11 @@ weight: 1 A start event defines the starting point of a microflow or a nanoflow and is represented by a green circle. A flow can contain only one start event. -Link the start event to an activity with which you would like to start the microflow using a [sequence flow](/refguide/sequence-flow/). +Link the start event to an activity with which you would like to start the microflow using a [sequence flow](/refguide10/sequence-flow/). {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/events/start-event/start-event.png" class="no-border" >}} ## Read More -* [End Event](/refguide/end-event/) -* [Sequence Flow](/refguide/sequence-flow/) +* [End Event](/refguide10/end-event/) +* [Sequence Flow](/refguide10/sequence-flow/) diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/loop.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/loop.md index 25eb9a7ecf8..8486894dbfd 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/loop.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/loop.md @@ -1,6 +1,6 @@ --- title: "Loop" -url: /refguide/loop/ +url: /refguide10/loop/ weight: 80 --- @@ -8,7 +8,7 @@ weight: 80 A loop is used to execute repeated actions and is visualized as a frame. For each iteration, the flow inside the loop is executed. The loop can be configured to iterate over a list or be based on a Boolean expression. For more information, see the [Loop Type Property](#loop-type) section below. -The loop can contain all types of elements used in microflows, except for [start events](/refguide/start-event/) and [end events](/refguide/end-event/). Only a loop can contain [break events](/refguide/break-event/) and [continue events](/refguide/continue-event/). +The loop can contain all types of elements used in microflows, except for [start events](/refguide10/start-event/) and [end events](/refguide10/end-event/). Only a loop can contain [break events](/refguide10/break-event/) and [continue events](/refguide10/continue-event/). ## Loop Variable @@ -36,10 +36,10 @@ For example, if you have a list of objects of the **OrderLine** entity and you w This loop type repeats the flow inside the loop many times until some condition evaluates to `false`. This condition is evaluated before each execution of the loop body. Typically, a **While** loop is used when it is impossible to determine the exact number of loop iterations in advance. -You can provide a description for the loop or the condition by setting the **Caption** field. The loop condition can be entered as an [expression](/refguide/expressions/) in the **Expression** editor, and it should result in a Boolean value. The **While** keyword is shown in blue, and the **Caption** is shown underneath in black. +You can provide a description for the loop or the condition by setting the **Caption** field. The loop condition can be entered as an [expression](/refguide10/expressions/) in the **Expression** editor, and it should result in a Boolean value. The **While** keyword is shown in blue, and the **Caption** is shown underneath in black. {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/loop/while-loop-edit-form.png" width="550px" class="no-border" >}} -For example, if you want to [log](/refguide/log-message/) numbers between 1 and 5, you can use a loop with a condition that checks whether a **Counter** [variable](/refguide/variable-activities/) is less than or equal to 5. Inside the loop, you would log the **Counter** value and add 1 to the **Counter** variable in order for the loop to stop executing when the **Counter** is greater than 5: +For example, if you want to [log](/refguide10/log-message/) numbers between 1 and 5, you can use a loop with a condition that checks whether a **Counter** [variable](/refguide10/variable-activities/) is less than or equal to 5. Inside the loop, you would log the **Counter** value and add 1 to the **Counter** variable in order for the loop to stop executing when the **Counter** is greater than 5: {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/loop/while-loop.png" width="550px" class="no-border" >}} diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/microflow-element-common-properties.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/microflow-element-common-properties.md index 27b4a8e20b5..2b0261db5d3 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/microflow-element-common-properties.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/microflow-element-common-properties.md @@ -1,6 +1,6 @@ --- title: "Common Properties" -url: /refguide/microflow-element-common-properties/ +url: /refguide10/microflow-element-common-properties/ weight: 110 --- @@ -37,13 +37,13 @@ The **Auto-generate caption** property specifies whether the caption is automati ## Background Color {#color} -The **Background color** property allows you to choose a background color for each activity individually. Colors do not influence execution; they are only used to quickly spot an element in a flow. For example, you can make activities with [error handlers](/refguide/error-handling-in-microflows/#errorhandlers) red so you can easily identify them. +The **Background color** property allows you to choose a background color for each activity individually. Colors do not influence execution; they are only used to quickly spot an element in a flow. For example, you can make activities with [error handlers](/refguide10/error-handling-in-microflows/#errorhandlers) red so you can easily identify them. -You can also select a default color for all the activities of a certain type in **App Settings** > [Miscellaneous](/refguide/app-settings/#miscellaneous). The default color for all activities of a certain type can also be changed by right-clicking a microflow activity and selecting **Set as default color** from the context menu. This will make the current activity's color the default color for all activities of the same type. If you change the default color for an activity type and there are other activities of that type present in the app that have a different individual background color specified, you will be asked whether you want to overwrite these individual colors with the new default color. +You can also select a default color for all the activities of a certain type in **App Settings** > [Miscellaneous](/refguide10/app-settings/#miscellaneous). The default color for all activities of a certain type can also be changed by right-clicking a microflow activity and selecting **Set as default color** from the context menu. This will make the current activity's color the default color for all activities of the same type. If you change the default color for an activity type and there are other activities of that type present in the app that have a different individual background color specified, you will be asked whether you want to overwrite these individual colors with the new default color. ## Error Handling Type {#error-handling} -In **Error handling type**, you can choose the type of error handling for the activity. For details on available options and their effects, see the [Error Handling Options](/refguide/error-handling-in-microflows/#errorhandlers) section in *Error Handling in Microflows*. +In **Error handling type**, you can choose the type of error handling for the activity. For details on available options and their effects, see the [Error Handling Options](/refguide10/error-handling-in-microflows/#errorhandlers) section in *Error Handling in Microflows*. ## Disabled {#disabled} @@ -56,5 +56,5 @@ The **Disabled** property allows you to skip the activity from a flow. ## Read More -* [Microflows](/refguide/microflows/) -* [Nanoflows](/refguide/nanoflows/) +* [Microflows](/refguide10/microflows/) +* [Nanoflows](/refguide10/nanoflows/) diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/microflows/_index.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/microflows/_index.md index aab81efa333..1dbff10470e 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/microflows/_index.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/microflows/_index.md @@ -1,6 +1,6 @@ --- title: "Microflows" -url: /refguide/microflows/ +url: /refguide10/microflows/ weight: 10 description: "Presents an overview of all the elements that can be used in a microflow." #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,13 +10,13 @@ description: "Presents an overview of all the elements that can be used in a mic Microflows allow you to express the logic of your application. A microflow can perform actions such as creating and updating objects, showing pages, and making choices. It is a visual way of expressing what traditionally ends up in textual program code. -Microflows run in the runtime server and can therefore not be used in offline apps. For application logic within offline apps, see [Nanoflows](/refguide/nanoflows/). For information on how nanoflows and microflows differ, see the [Differences between Microflows and Nanoflows](/refguide/microflows-and-nanoflows/#differences) section in *Microflows and Nanoflows*. +Microflows run in the runtime server and can therefore not be used in offline apps. For application logic within offline apps, see [Nanoflows](/refguide10/nanoflows/). For information on how nanoflows and microflows differ, see the [Differences between Microflows and Nanoflows](/refguide10/microflows-and-nanoflows/#differences) section in *Microflows and Nanoflows*. This page is a summary of the elements which make up a microflow, together with their visual representation within the microflow. It also covers [keyboard support](#keyboard) when editing microflows. -For the properties of the microflow itself, see [Microflow Properties](/refguide/microflow/). For microflow best practices, see [Microflow Naming Conventions](/refguide/dev-best-practices/#microflow-naming-conventions), [Microflow General Best Practices](/refguide/dev-best-practices/#microflow-dev-best-practices), and [Microflow Best Practices from the Community](/refguide/community-best-practices-for-app-performance/#microflow-community-best-practices). +For the properties of the microflow itself, see [Microflow Properties](/refguide10/microflow/). For microflow best practices, see [Microflow Naming Conventions](/refguide10/dev-best-practices/#microflow-naming-conventions), [Microflow General Best Practices](/refguide10/dev-best-practices/#microflow-dev-best-practices), and [Microflow Best Practices from the Community](/refguide10/community-best-practices-for-app-performance/#microflow-community-best-practices). -For information on using microflows as data sources, see [Microflow Source](/refguide/microflow-source/). +For information on using microflows as data sources, see [Microflow Source](/refguide10/microflow-source/). ## Microflow Notation @@ -28,7 +28,7 @@ A microflow is composed of elements. Below is a categorized overview of all elem * [Flows](#flows) form the connection between elements. * [Decisions](#decisions) deal with making choices and merging different paths again. * [Activities](#activities) are the actions that are executed in a microflow. -* [Loop](/refguide/loop/) is used to iterate over a list of objects. +* [Loop](/refguide10/loop/) is used to iterate over a list of objects. * [Parameter](#parameter) is data that serves as input for the microflow. * [Annotation](#annotation) is an element that can be used to put comments in a microflow. @@ -38,11 +38,11 @@ Events represent start and endpoints of a microflow and special operations in a | Graphic | Name | Description | | --- | --- | --- | -| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/microflows/start-event.png" link="/refguide/start-event/" class="no-border" >}} | [Start Event](/refguide/start-event/) | A start event is the starting point of a microflow. A microflow can only have one start event. | -| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/microflows/end-event.png" link="/refguide/end-event/" class="no-border" >}} | [End Event](/refguide/end-event/) | An end event defines the location where a microflow stops.Depending on the return type of the microflow, in some cases a value must be specified. There can be more than one end event. | -| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/microflows/error-event.png" link="/refguide/error-event/" class="no-border" >}} | [Error Event](/refguide/error-event/) | An error event defines a location where a microflow stops and throws an error that occurred earlier. If you call a microflow, you may want to know whether any errors occurred within the microflow or not. | -| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/microflows/continue-event.png" link="/refguide/continue-event/" class="no-border" >}} | [Continue Event](/refguide/continue-event/) | A continue event is used to stop the current iteration of a loop and continue with the next iteration. Continue events can only be used inside a [Loop](/refguide/loop/). | -| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/microflows/break-event.png" link="/refguide/break-event/" class="no-border" >}} | [Break Event](/refguide/break-event/) | A break event is used to stop iterating over a list of objects and continue with the rest of the flow after the loop. Break events can only be used inside a [Loop](/refguide/loop/). | +| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/microflows/start-event.png" link="/refguide10/start-event/" class="no-border" >}} | [Start Event](/refguide10/start-event/) | A start event is the starting point of a microflow. A microflow can only have one start event. | +| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/microflows/end-event.png" link="/refguide10/end-event/" class="no-border" >}} | [End Event](/refguide10/end-event/) | An end event defines the location where a microflow stops.Depending on the return type of the microflow, in some cases a value must be specified. There can be more than one end event. | +| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/microflows/error-event.png" link="/refguide10/error-event/" class="no-border" >}} | [Error Event](/refguide10/error-event/) | An error event defines a location where a microflow stops and throws an error that occurred earlier. If you call a microflow, you may want to know whether any errors occurred within the microflow or not. | +| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/microflows/continue-event.png" link="/refguide10/continue-event/" class="no-border" >}} | [Continue Event](/refguide10/continue-event/) | A continue event is used to stop the current iteration of a loop and continue with the next iteration. Continue events can only be used inside a [Loop](/refguide10/loop/). | +| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/microflows/break-event.png" link="/refguide10/break-event/" class="no-border" >}} | [Break Event](/refguide10/break-event/) | A break event is used to stop iterating over a list of objects and continue with the rest of the flow after the loop. Break events can only be used inside a [Loop](/refguide10/loop/). | ### Flows {#flows} @@ -50,8 +50,8 @@ Flows form the connection between elements. | Graphic | Name | Description | | --- | --- | --- | -| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/microflows/sequence-flow.png" link="/refguide/sequence-flow/" class="no-border" >}} | [Sequence Flow](/refguide/sequence-flow/) | A sequence flow is an arrow that links events, activities, decisions, and merges with each other. Together they define the order of execution within a microflow. | -| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/microflows/annotation-flow.png" link="/refguide/annotation/#annotation-flow" class="no-border" >}} | [Annotation flow](/refguide/annotation/#annotation-flow) | An annotation flow is a dashed line that is used to connect an [annotation](#annotation) to another element. | +| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/microflows/sequence-flow.png" link="/refguide10/sequence-flow/" class="no-border" >}} | [Sequence Flow](/refguide10/sequence-flow/) | A sequence flow is an arrow that links events, activities, decisions, and merges with each other. Together they define the order of execution within a microflow. | +| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/microflows/annotation-flow.png" link="/refguide10/annotation/#annotation-flow" class="no-border" >}} | [Annotation flow](/refguide10/annotation/#annotation-flow) | An annotation flow is a dashed line that is used to connect an [annotation](#annotation) to another element. | ### Decisions {#decisions} @@ -59,19 +59,19 @@ Decisions deal with making choices and merging different paths again. | Graphic | Name | Description | | --- | --- | --- | -| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/microflows/decision.png" link="/refguide/decision/" class="no-border" >}} | [Decision](/refguide/decision/) | A decision makes a decision based on a condition and follows one and only one of the outgoing flows. There is no parallel execution in microflows. | -| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/microflows/object-type-decision.png" link="/refguide/object-type-decision/" class="no-border" >}} | [Object Type Decision](/refguide/object-type-decision/) | An object type decision is an element that makes a choice based on the [specialization](/refguide/entities/) of the selected object. You can give the specialized object a name using a [cast object](/refguide/cast-object/) activity. | -| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/microflows/merge.png" link="/refguide/merge/" class="no-border" >}} | [Merge](/refguide/merge/) | A merge is used to combine multiple sequence flows into one. If a choice is made in a microflow and afterwards some common work needs to be done, you can combine the two (or more) paths using a merge. | +| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/microflows/decision.png" link="/refguide10/decision/" class="no-border" >}} | [Decision](/refguide10/decision/) | A decision makes a decision based on a condition and follows one and only one of the outgoing flows. There is no parallel execution in microflows. | +| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/microflows/object-type-decision.png" link="/refguide10/object-type-decision/" class="no-border" >}} | [Object Type Decision](/refguide10/object-type-decision/) | An object type decision is an element that makes a choice based on the [specialization](/refguide10/entities/) of the selected object. You can give the specialized object a name using a [cast object](/refguide10/cast-object/) activity. | +| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/microflows/merge.png" link="/refguide10/merge/" class="no-border" >}} | [Merge](/refguide10/merge/) | A merge is used to combine multiple sequence flows into one. If a choice is made in a microflow and afterwards some common work needs to be done, you can combine the two (or more) paths using a merge. | ### Activities {#activities} -[Activities](/refguide/activities/) are the actions that are executed in a microflow: +[Activities](/refguide10/activities/) are the actions that are executed in a microflow: {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/microflows/activity.png" alt="Activity" width="150px" class="no-border" >}} ### Loop {#loop} -A [loop](/refguide/loop/) is used to iterate over a list of objects: +A [loop](/refguide10/loop/) is used to iterate over a list of objects: {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/microflows/loop.png" alt="Loop" class="no-border" >}} @@ -79,7 +79,7 @@ For every object, the flow inside the loop is executed. A loop activity can cont ### Parameter {#parameter} -A [parameter](/refguide/parameter/) is data that serves as input for a microflow. +A [parameter](/refguide10/parameter/) is data that serves as input for a microflow. {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/microflows/parameter.png" alt="Parameter" class="no-border" >}} @@ -87,7 +87,7 @@ Parameters are filled at the location from where the microflow is triggered. ### Annotation {#annotation} -An [annotation](/refguide/annotation/) is an element that can be used to put comments in a microflow: +An [annotation](/refguide10/annotation/) is an element that can be used to put comments in a microflow: {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/microflows/annotation.png" alt="Annotation" class="no-border" >}} @@ -101,14 +101,14 @@ In the example below, the parameter **AccountPasswordData** is highlighted becau ## Keyboard Support {#keyboard} -For an overview of the shortcut keys that are supported in the microflow editor, see the [Microflow, Nanoflow, and Rule Editor Shortcut Keys](/refguide/keyboard-shortcuts/#logic-editor-keyboard-support) section in *Keyboard Shortcuts*. +For an overview of the shortcut keys that are supported in the microflow editor, see the [Microflow, Nanoflow, and Rule Editor Shortcut Keys](/refguide10/keyboard-shortcuts/#logic-editor-keyboard-support) section in *Keyboard Shortcuts*. ## Microflow Debugging If you want to see what happens while a microflow is executing, you can use the microflow debugger. See the following how-tos: -* [Debugging Microflows and Nanoflows](/refguide/debug-microflows-and-nanoflows/) -* [Debugging Microflows Remotely](/refguide/debug-microflows-remotely/) +* [Debugging Microflows and Nanoflows](/refguide10/debug-microflows-and-nanoflows/) +* [Debugging Microflows Remotely](/refguide10/debug-microflows-remotely/) ## Converting a Microflow to a Nanoflow {#convert-to-nanoflow} @@ -140,7 +140,7 @@ In the microflow editor from Studio Pro 10.6, you can use common patterns like u ## Exporting a Microflow to an Image {#export-microflow} -To export a microflow to an image, navigate to the [File menu](/refguide/file-menu/) in the Studio Pro top bar, and click **File** > **Export as image**. +To export a microflow to an image, navigate to the [File menu](/refguide10/file-menu/) in the Studio Pro top bar, and click **File** > **Export as image**. This opens an **Export to image** dialog box allowing you to choose a name and location for the exported image. After clicking **Save**, the **Export microflow model to image** dialog box is opened, where you can change parameters for your image export such as a transparent or opaque background and a relative size of the exported image by selecting a zoom level: diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/microflows/error-handling-in-microflows.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/microflows/error-handling-in-microflows.md index d3d73c0cf14..5d1620704d1 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/microflows/error-handling-in-microflows.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/microflows/error-handling-in-microflows.md @@ -1,6 +1,6 @@ --- title: "Error Handling in Microflows" -url: /refguide/error-handling-in-microflows/ +url: /refguide10/error-handling-in-microflows/ weight: 4 aliases: - /howto/logic-business-rules/set-up-error-handling @@ -9,7 +9,7 @@ aliases: ## Introduction -In a [microflow](/refguide/microflows/), microflow elements ([activities](/refguide/activities/), [decisions](/refguide/decisions/), or [loops](/refguide/loop/)) can sometimes fail and produce an error. If you do nothing, Mendix reports the error with a system error message and roll back all the changes. However, you can also change this behavior and handle errors yourself. +In a [microflow](/refguide10/microflows/), microflow elements ([activities](/refguide10/activities/), [decisions](/refguide10/decisions/), or [loops](/refguide10/loop/)) can sometimes fail and produce an error. If you do nothing, Mendix reports the error with a system error message and roll back all the changes. However, you can also change this behavior and handle errors yourself. This document introduces different error handling options in microflows and explains how they work using simple examples. An example of how combined custom error handling works is also given in [An Example of Combined Error Handling](#example). @@ -24,12 +24,12 @@ There are four error handling options: * **Custom without rollback** * **Continue** -Except for the **Rollback** option, which is the default, the other three are all custom error handling options. For **Custom with rollback** and **Custom without rollback**, you can create an additional flow from the microflow elements (activities or decisions) from which the error is returned and mark this flow as an error handling flow. You can end this flow with an [error event](/refguide/error-event/) or an [end event](/refguide/end-event/). Hence, we introduce these two custom error handling options based on what event terminates the error handling flow. +Except for the **Rollback** option, which is the default, the other three are all custom error handling options. For **Custom with rollback** and **Custom without rollback**, you can create an additional flow from the microflow elements (activities or decisions) from which the error is returned and mark this flow as an error handling flow. You can end this flow with an [error event](/refguide10/error-event/) or an [end event](/refguide10/end-event/). Hence, we introduce these two custom error handling options based on what event terminates the error handling flow. {{% alert color="info" %}} In the error handling flow, you can include activities that update the database. Custom error handling does not affect newly created objects there, but if you try to update the status of an existing object that was created outside of this flow and that was rolled back because of custom error handling, then an error will occur. -You can also include decisions in the error handling flow based on what you want. It is recommended to put a [Log message activity](/refguide/log-message/) in the error handling flow to log the error and present a custom error message to the end-user. +You can also include decisions in the error handling flow based on what you want. It is recommended to put a [Log message activity](/refguide10/log-message/) in the error handling flow to log the error and present a custom error message to the end-user. {{% /alert %}} It is important to know that when a microflow is started by an end-user (for example, by clicking a button), a savepoint is always created at the very beginning of the microflow. This is the case for **Microflow 1** in all the following examples. Knowing how savepoints are created and function is key to understanding how error handling works. @@ -64,7 +64,7 @@ When **Microflow 1** starts with a button click, a savepoint is created at the v ### Error Handling - Custom without Rollback -Setting **Custom without rollback** will not stop data changes within the activity which failed from being rolled back. For example, if a [Call REST Service](/refguide/call-rest-action/) returns an error, any data the REST call retrieved will not be kept. +Setting **Custom without rollback** will not stop data changes within the activity which failed from being rolled back. For example, if a [Call REST Service](/refguide10/call-rest-action/) returns an error, any data the REST call retrieved will not be kept. #### Error Handling Which Ends with an Error Event @@ -96,7 +96,7 @@ In this example, the error handling in **Microflow 2** is set to **Continue**. When **Microflow 1** starts with a button click, a savepoint is created at the very beginning of **Microflow 1**. Another savepoint is created right before **GenerateError** because the error handling is set to **Continue**. When the error in **Microflow 2** occurs, the microflow continues as if nothing happened. Changes made in **Create Customer** and **Create Order** are both kept. No error message is logged and no message is displayed to the end-user. -Data changes within the activity which returns an error (for example, within an iteration of a [loop](/refguide/loop/)) will always be rolled back. It is only data changes outside the activity returning the error which will be kept. +Data changes within the activity which returns an error (for example, within an iteration of a [loop](/refguide10/loop/)) will always be rolled back. It is only data changes outside the activity returning the error which will be kept. {{% alert color="warning" %}} You should be very careful with using the **Continue** option since it can make it very difficult to understand when something goes wrong. Where possible, try to use **Custom without rollback** instead and log the error message. @@ -134,7 +134,7 @@ The `$latestError` variable is a special variable that does not behave like norm ### Inspecting REST Errors -If the error is a REST fault (an error that occurs as a result of a REST call), the result of the call will be stored in the `$latestHttpResponse` variable which is an object of type `HttpResponse`. This object is available in your custom error flows and you can use it to write more focused messages to the log or to make other decisions within the error flow. For more information, see the [Response Tab](/refguide/call-rest-action/#response) section in *Call REST Service*. +If the error is a REST fault (an error that occurs as a result of a REST call), the result of the call will be stored in the `$latestHttpResponse` variable which is an object of type `HttpResponse`. This object is available in your custom error flows and you can use it to write more focused messages to the log or to make other decisions within the error flow. For more information, see the [Response Tab](/refguide10/call-rest-action/#response) section in *Call REST Service*. {{% alert color="warning" %}} The `$latestHttpResponse` variable is a special variable that does not behave like normal variables. This variable should not be returned as the result of a microflow to a nanoflow, page, or widget that calls it. Doing so will result in unexpected behavior. @@ -175,4 +175,4 @@ Consider the following best practices for error handling: ## Read More -* [Error Handling in Nanoflows](/refguide/error-handling-in-nanoflows/) +* [Error Handling in Nanoflows](/refguide10/error-handling-in-nanoflows/) diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/microflows/extract-and-use-sub-microflows.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/microflows/extract-and-use-sub-microflows.md index 00a18571448..a4da033e463 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/microflows/extract-and-use-sub-microflows.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/microflows/extract-and-use-sub-microflows.md @@ -1,6 +1,6 @@ --- title: "Extracting and Using Sub-Microflows" -url: /refguide/extracting-and-using-sub-microflows/ +url: /refguide10/extracting-and-using-sub-microflows/ weight: 5 description: "Describes how to break down a large microflow into more manageable parts." aliases: @@ -45,7 +45,7 @@ To extract the validation steps into a sub-microflow, follow these steps: 3. In the **Add microflow** dialog box, enter a name for the sub-microflow. - {{% alert color="info" %}}As a best practice, use a consistent naming scheme that clearly identifies the sub-microflow, for example, *SUB_{Microflow description}*. For more naming best practices, see [Microflow Naming Conventions](/refguide/dev-best-practices/#microflow-naming-conventions).{{% /alert %}} + {{% alert color="info" %}}As a best practice, use a consistent naming scheme that clearly identifies the sub-microflow, for example, *SUB_{Microflow description}*. For more naming best practices, see [Microflow Naming Conventions](/refguide10/dev-best-practices/#microflow-naming-conventions).{{% /alert %}} 4. Click **OK**. 5. Open the sub-microflow by right-clicking the sub-microflow call and selecting **Go to microflow**. @@ -81,4 +81,4 @@ To reuse an existing microflow, follow these steps: ## Read More -* [Microflows](/refguide/microflows/) +* [Microflows](/refguide10/microflows/) diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/microflows/microflow.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/microflows/microflow.md index bb0fc5be293..ec9b7b21577 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/microflows/microflow.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/microflows/microflow.md @@ -1,12 +1,12 @@ --- title: "Microflow Properties" -url: /refguide/microflow/ +url: /refguide10/microflow/ weight: 1 --- ## Introduction -This document describes the properties of a microflow. If you want to see what microflows are for and what kind of elements they contain, you can check [Microflows](/refguide/microflows/). If you want to know about the settings of the **Call a microflow** event action, you can check [Microflow Settings](/refguide/on-click-event/#microflow-settings). +This document describes the properties of a microflow. If you want to see what microflows are for and what kind of elements they contain, you can check [Microflows](/refguide10/microflows/). If you want to know about the settings of the **Call a microflow** event action, you can check [Microflow Settings](/refguide10/on-click-event/#microflow-settings). ## Properties @@ -24,7 +24,7 @@ Microflow properties consist of the following sections: #### Return Type {#return-type} -The return type defines what information the microflow returns. The caller of the microflow gets a result of this type. For information on possible return types, see [Data Types](/refguide/data-types/). +The return type defines what information the microflow returns. The caller of the microflow gets a result of this type. For information on possible return types, see [Data Types](/refguide10/data-types/). {{% alert color="info" %}} To indicate whether or not an object should be committed, you can use Boolean as the return type of the microflow. @@ -32,7 +32,7 @@ To indicate whether or not an object should be committed, you can use Boolean as #### URL {#url} -Microflow URLs allow you to execute a microflow when the end-user navigates to a specific URL within your application. The microflow is executed during the client startup, just before the home page is shown. When the microflow executes a [Show page](/refguide/on-click-event/#show-page) activity, its page is the first page shown to the end-user. The microflow's full URL starts with the base URL of your application, followed by `/p/`, and then by the microflow's configured URL. For example, `http://example.mendixcloud.com/p/microflow` is the full URL for the microflow's configured URL `microflow`. +Microflow URLs allow you to execute a microflow when the end-user navigates to a specific URL within your application. The microflow is executed during the client startup, just before the home page is shown. When the microflow executes a [Show page](/refguide10/on-click-event/#show-page) activity, its page is the first page shown to the end-user. The microflow's full URL starts with the base URL of your application, followed by `/p/`, and then by the microflow's configured URL. For example, `http://example.mendixcloud.com/p/microflow` is the full URL for the microflow's configured URL `microflow`. Microflows with parameters can also have URLs. Such cases require that all parameters are present in the URL. You should include the parameters in the URL by writing their names between brackets, for example, `my-microflow/{Name}` where `Name` is the parameter's name. @@ -61,7 +61,7 @@ URLs are not supported for microflows that have non-persistable entities or list #### Export Level {{% alert color="info" %}} -This property is only available for add-on and solution modules. For more information on types of modules, see the [Module Types](/refguide/modules/#module-types) section in *Modules*. +This property is only available for add-on and solution modules. For more information on types of modules, see the [Module Types](/refguide10/modules/#module-types) section in *Modules*. {{% /alert %}} **Export level** allows you to define access level to this document on the consumer (customer) side when developing an add-on module or a solution. @@ -89,7 +89,7 @@ Default: *disabled* #### Apply Entity Access -**Apply entity access** indicates whether entity access based on the current user is applied when performing operations on objects. Enabling this setting limits the objects that are retrieved by the [retrieve activity](/refguide/retrieve/) to only those that the current user is allowed to see. Similarly, when reading and writing attributes and associations, the entity access of the current user is applied. Conversely, if entity access is not applied, all operations are allowed and all objects are retrieved. +**Apply entity access** indicates whether entity access based on the current user is applied when performing operations on objects. Enabling this setting limits the objects that are retrieved by the [retrieve activity](/refguide10/retrieve/) to only those that the current user is allowed to see. Similarly, when reading and writing attributes and associations, the entity access of the current user is applied. Conversely, if entity access is not applied, all operations are allowed and all objects are retrieved. | Option | Description | | --- | --- | @@ -106,13 +106,13 @@ Microflows that apply entity access have an **Entity Access** tag in the editor. #### Allowed Roles -**Allowed roles** defines which [module role](/refguide/module-security/#module-role) the user must have to be able to execute the microflow. +**Allowed roles** defines which [module role](/refguide10/module-security/#module-role) the user must have to be able to execute the microflow. {{% alert color="warning" %}} These roles are only checked when the microflow is executed from the client. A microflow is always allowed to call another microflow, and these roles are not checked then. {{% /alert %}} -For more information, see [Module Security](/refguide/module-security/). +For more information, see [Module Security](/refguide10/module-security/). ### Concurrent Execution Section {#concurrent} @@ -145,11 +145,11 @@ It is also accessible by right-clicking in the microflow editor and selecting ** By selecting the **Expose as microflow action** option, you can expose the microflow as a microflow action and use the return type of the microflow to generate outcomes / paths in the workflow. Exposing the microflow will make it appear in the **Toolbox** when you are editing a microflow in the category of your choice. When this action is used in a microflow, it will show the provided caption and icon. -The **Caption** and **Category** of the workflow action are required, but the **Icon** and **Image** are optional. The image in the **Icon** property is used for the list view of the **Toolbox**, and the image in the **Image** property – for the toolbox tile view. For more information, see the [Toolbox](/refguide/view-menu/#toolbox) section in the **View Menu**. +The **Caption** and **Category** of the workflow action are required, but the **Icon** and **Image** are optional. The image in the **Icon** property is used for the list view of the **Toolbox**, and the image in the **Image** property – for the toolbox tile view. For more information, see the [Toolbox](/refguide10/view-menu/#toolbox) section in the **View Menu**. 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/#studio-pro-theme) of Studio Pro to fit its color scheme. +A separate icon and image can be provided for the [dark mode](/refguide10/preferences-dialog/#studio-pro-theme) of Studio Pro to fit its color scheme. {{% alert type="info" %}} When no icon and no image are selected, the default microflow call action icon and image are used. @@ -165,13 +165,13 @@ It is also accessible by right-clicking in the microflow editor and selecting ** {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/microflows/microflow/workflow-expose.jpg" alt="Expose As Workflow Action" width="550" class="no-border" >}} -By selecting the **Expose as workflow action** option, you can expose the microflow as a [workflow](/refguide/workflows/) action. Exposing the workflow makes it appear in the **Toolbox** of a [workflow editor](/refguide/workflows/) in the category of your choice. When this action is used in a workflow, it shows the provided caption and icon. +By selecting the **Expose as workflow action** option, you can expose the microflow as a [workflow](/refguide10/workflows/) action. Exposing the workflow makes it appear in the **Toolbox** of a [workflow editor](/refguide10/workflows/) in the category of your choice. When this action is used in a workflow, it shows the provided caption and icon. -The **Caption** and **Category** of the workflow action are required, but the **Icon** and **Image** are optional. The image in the **Icon** property is used for the list view of the **Toolbox**, and the image in the **Image** property – for the toolbox tile view. For more information, see the [Toolbox](/refguide/view-menu/#toolbox) section in the *View Menu*. +The **Caption** and **Category** of the workflow action are required, but the **Icon** and **Image** are optional. The image in the **Icon** property is used for the list view of the **Toolbox**, and the image in the **Image** property – for the toolbox tile view. For more information, see the [Toolbox](/refguide10/view-menu/#toolbox) section in the *View Menu*. 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/#studio-pro-theme) of Studio Pro to fit its color scheme. +A separate icon and image can be provided for the [dark mode](/refguide10/preferences-dialog/#studio-pro-theme) of Studio Pro to fit its color scheme. {{% alert type="info" %}} When no icon and no image are selected, the default workflow call action icon and image are used. diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/microflows/retrieving-current-user-with-a-microflow.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/microflows/retrieving-current-user-with-a-microflow.md index 87740683f5f..bb67b80754f 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/microflows/retrieving-current-user-with-a-microflow.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/microflows/retrieving-current-user-with-a-microflow.md @@ -1,7 +1,7 @@ --- title: "Retrieving the Current User with a Microflow" linktitle: "Retrieving Current User with a Microflow" -url: /refguide/retrieving-current-user-with-a-microflow/ +url: /refguide10/retrieving-current-user-with-a-microflow/ weight: 6 description: "Describes how to retrieve the current user of your application in Studio Pro with a microflow." --- @@ -10,7 +10,7 @@ description: "Describes how to retrieve the current user of your application in In order to implement a certain logic, you often need to identify the user who is currently logged in. The following are facts about user management in a Mendix app: -* The currently logged-in user is always available in [microflow calls](/refguide/microflows/) and [XPath constraints](/refguide/xpath-constraints/), and it can be retrieved in a microflow for subsequent querying or manipulation. +* The currently logged-in user is always available in [microflow calls](/refguide10/microflows/) and [XPath constraints](/refguide10/xpath-constraints/), and it can be retrieved in a microflow for subsequent querying or manipulation. * All application users/accounts are a specialization of `System.User`, and very often and by default, it is `Administration.Account`. * In Studio Pro, the [Administration](/appstore/modules/administration/) module is added by default. It allows you to manage local accounts and view app statistics. @@ -24,7 +24,7 @@ Before you continue, make sure you have completed the following: * Install the latest version of Studio Pro * Read about the [Administration](/appstore/modules/administration/) module in the *Studio Pro Guide* -* Understand the basics about [microflows](/refguide/microflows/) +* Understand the basics about [microflows](/refguide10/microflows/) ## Retrieving the Current User @@ -48,5 +48,5 @@ Now you have the microflow that retrieves the current user! ## Read More -* [XPath Constraints](/refguide/xpath-constraints/) -* [XPath Keywords and System Variables](/refguide/xpath-keywords-and-system-variables/) +* [XPath Constraints](/refguide10/xpath-constraints/) +* [XPath Keywords and System Variables](/refguide10/xpath-keywords-and-system-variables/) diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/microflows/testing-microflows-with-unit-testing.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/microflows/testing-microflows-with-unit-testing.md index 3a783e3689a..890596300e5 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/microflows/testing-microflows-with-unit-testing.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/microflows/testing-microflows-with-unit-testing.md @@ -1,13 +1,13 @@ --- title: "Testing Microflows with the Unit Testing Module" linktitle: "Testing Microflows with Unit Test Module" -url: /refguide/testing-microflows-with-unit-testing-module/ +url: /refguide10/testing-microflows-with-unit-testing-module/ weight: 3 --- ## Introduction -The [Unit Testing](/appstore/modules/unit-testing/) module provides the capabilities to verify if your [microflow](/refguide/microflows/) logic and your custom Java code works as expected. It provides a user-friendly interface to manage and run unit tests that are created by using microflows, as well as unit tests that are by created using JUnit. +The [Unit Testing](/appstore/modules/unit-testing/) module provides the capabilities to verify if your [microflow](/refguide10/microflows/) logic and your custom Java code works as expected. It provides a user-friendly interface to manage and run unit tests that are created by using microflows, as well as unit tests that are by created using JUnit. This how-to teaches you how to do the following: @@ -31,7 +31,7 @@ Before starting this how-to, make sure you have completed the following prerequi To set up the unit testing module and run the example tests, follow these steps: -1. Create a [new app](/refguide/new-app/). +1. Create a [new app](/refguide10/new-app/). 2. Download and install the [Unit Testing](https://marketplace.mendix.com/link/component/390) module. For more information, see [How to Use Marketplace Content](/appstore/use-content/). @@ -83,14 +83,14 @@ For the purpose of this how-to, create a sample microflow that you can then test To create a sample microflow for testing, follow these steps: -1. Create a new [enumeration](/refguide/configuring-a-domain-model/#add-enumeration) with the following properties: +1. Create a new [enumeration](/refguide10/configuring-a-domain-model/#add-enumeration) with the following properties: * **Name** – *Level* * **Enumeration values** **Caption** and **Name** – *Junior*, *Medior*, and *Senior*. {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/microflows/testing/create-level-enumeration.png" alt="Enumeration with three values" max-width=70% >}} 2. Open the domain model of **MyFirstModule**. -3. Create a new [entity](/refguide/configuring-a-domain-model/#create-entity) with the following properties: +3. Create a new [entity](/refguide10/configuring-a-domain-model/#create-entity) with the following properties: * **Name** – *Employee* * **Attributes** – *Name* (of the **String** type) and *Level* ( of the **Enumeration** > **Level** type). diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/microflows/trigger-microflow-from-menu-item.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/microflows/trigger-microflow-from-menu-item.md index 31af4731bfe..48d46231ef5 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/microflows/trigger-microflow-from-menu-item.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/microflows/trigger-microflow-from-menu-item.md @@ -1,13 +1,13 @@ --- title: "Triggering a Microflow From a Menu Item" -url: /refguide/triggering-microflow-from-menu-item/ +url: /refguide10/triggering-microflow-from-menu-item/ weight: 2 description: "Describes how to create a simple microflow that will define the logic of your application." --- ## Introduction -Mendix uses visual models called [microflows](/refguide/microflows/) to define the logic of your application. Microflows are visual ways of expressing what traditionally would be written in code. This document explains how you can create a very simple "Hello World" microflow and trigger it from a [menu item](/refguide/menu/#menu-item). +Mendix uses visual models called [microflows](/refguide10/microflows/) to define the logic of your application. Microflows are visual ways of expressing what traditionally would be written in code. This document explains how you can create a very simple "Hello World" microflow and trigger it from a [menu item](/refguide10/menu/#menu-item). This document teaches you how to do the following: @@ -80,7 +80,7 @@ Congratulations! You have created a menu item that triggers a microflow and show ## Read More -* [Navigation](/refguide/navigation/) -* [Menu Item](/refguide/menu/#menu-item) -* [Creating a Custom Save Button with a Microflow](/refguide/creating-a-custom-save-button/) -* [Working with Lists in a Microflow](/refguide/working-with-lists-in-a-microflow/) +* [Navigation](/refguide10/navigation/) +* [Menu Item](/refguide10/menu/#menu-item) +* [Creating a Custom Save Button with a Microflow](/refguide10/creating-a-custom-save-button/) +* [Working with Lists in a Microflow](/refguide10/working-with-lists-in-a-microflow/) diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/nanoflows/_index.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/nanoflows/_index.md index 6904d43fdbd..9a695bc8738 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/nanoflows/_index.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/nanoflows/_index.md @@ -1,6 +1,6 @@ --- title: "Nanoflows" -url: /refguide/nanoflows/ +url: /refguide10/nanoflows/ weight: 20 description: "Presents an overview of all the elements that can be used in a nanoflow." #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. @@ -8,11 +8,11 @@ description: "Presents an overview of all the elements that can be used in a nan ## Introduction -Nanoflows are similar to [microflows](/refguide/microflows/), in that they allow you to express the logic of your application. However, they do have some specific benefits. For example, they run directly on a browser/device and hence can be used in an offline app. Furthermore, since most of the activities run directly on the device, there is also a speed benefit for logic which does not need access to the server. For more information on how nanoflows and microflows differ, see the [Differences between Microflows and Nanoflows](/refguide/microflows-and-nanoflows/#differences) section in *Microflows and Nanoflows*. +Nanoflows are similar to [microflows](/refguide10/microflows/), in that they allow you to express the logic of your application. However, they do have some specific benefits. For example, they run directly on a browser/device and hence can be used in an offline app. Furthermore, since most of the activities run directly on the device, there is also a speed benefit for logic which does not need access to the server. For more information on how nanoflows and microflows differ, see the [Differences between Microflows and Nanoflows](/refguide10/microflows-and-nanoflows/#differences) section in *Microflows and Nanoflows*. -This page is an overview of all the elements that can be used in a nanoflow. For the properties of the nanoflow itself, see [Nanoflow Properties](/refguide/nanoflow/). +This page is an overview of all the elements that can be used in a nanoflow. For the properties of the nanoflow itself, see [Nanoflow Properties](/refguide10/nanoflow/). -For information on using nanoflows as data sources, see [Nanoflow Source](/refguide/nanoflow-source/). +For information on using nanoflows as data sources, see [Nanoflow Source](/refguide10/nanoflow-source/). ## When to Use Nanoflows @@ -26,15 +26,15 @@ Nanoflows also offer great value to online applications (for example, for UI log The following activities interact with the database: -* [Create object](/refguide/create-object/) -* [Commit object(s)](/refguide/committing-objects/) -* [Retrieve](/refguide/retrieve/) -* [Rollback object](/refguide/rollback-object/) +* [Create object](/refguide10/create-object/) +* [Commit object(s)](/refguide10/committing-objects/) +* [Retrieve](/refguide10/retrieve/) +* [Rollback object](/refguide10/rollback-object/) Therefore, the best practice is to use nanoflows in online applications when they do not contain the above activities. {{% alert color="info" %}} -An exception is that you can use the **Create object** activity to create a [non-persistable entity](/refguide/persistability/#non-persistable) if this NPE: +An exception is that you can use the **Create object** activity to create a [non-persistable entity](/refguide10/persistability/#non-persistable) if this NPE: * does not have any event handlers attached * does not have any calculated attributes @@ -61,7 +61,7 @@ A nanoflow is composed of elements. The following categories are used: * [Flows](#flows) form the connection between elements * [Decisions](#decisions) deal with making choices and merging different paths again * [Activities](#activities) are the actions that are executed in a nanoflow -* [Loop](/refguide/loop/) is used to iterate over a list of objects +* [Loop](/refguide10/loop/) is used to iterate over a list of objects * [Parameter](#parameter) is data that serves as input for the nanoflow. * [Annotation](#annotation) is an element that can be used to put comments in a nanoflow. @@ -71,10 +71,10 @@ Events represent the start and endpoints of a nanoflow and special operations in | Graphic | Name | Description | | --- | --- | --- | -| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/microflows/start-event.png" alt="start event" link="/refguide/start-event/" class="no-border" >}} | [Start event](/refguide/start-event/) | The starting point of a nanoflow. A nanoflow can only have one start event. | -| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/microflows/end-event.png" alt="end event" link="/refguide/end-event/" class="no-border" >}} | [End event](/refguide/end-event/) | Defines the location where a nanoflow stops. Depending on the return type of the nanoflow, in some cases a value must be specified. There can be more than one end event. | -| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/microflows/continue-event.png" alt="continue event" link="/refguide/continue-event/" class="no-border" >}} | [Continue event](/refguide/continue-event/) | Used to stop the current iteration of a loop and continue with the next iteration. Continue events can only be used inside a [loop](/refguide/loop/). | -| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/microflows/break-event.png" alt="break event" link="/refguide/break-event/" class="no-border" >}} | [Break Event](/refguide/break-event/) | Used to stop iterating over a list of objects and to continue with the rest of the flow after the loop. Break events can only be used inside a [loop](/refguide/loop/). | +| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/microflows/start-event.png" alt="start event" link="/refguide10/start-event/" class="no-border" >}} | [Start event](/refguide10/start-event/) | The starting point of a nanoflow. A nanoflow can only have one start event. | +| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/microflows/end-event.png" alt="end event" link="/refguide10/end-event/" class="no-border" >}} | [End event](/refguide10/end-event/) | Defines the location where a nanoflow stops. Depending on the return type of the nanoflow, in some cases a value must be specified. There can be more than one end event. | +| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/microflows/continue-event.png" alt="continue event" link="/refguide10/continue-event/" class="no-border" >}} | [Continue event](/refguide10/continue-event/) | Used to stop the current iteration of a loop and continue with the next iteration. Continue events can only be used inside a [loop](/refguide10/loop/). | +| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/microflows/break-event.png" alt="break event" link="/refguide10/break-event/" class="no-border" >}} | [Break Event](/refguide10/break-event/) | Used to stop iterating over a list of objects and to continue with the rest of the flow after the loop. Break events can only be used inside a [loop](/refguide10/loop/). | ### Flows {#flows} @@ -82,8 +82,8 @@ Flows form the connection between elements. | Graphic | Name | Description | | --- | --- | --- | -| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/microflows/sequence-flow.png" link="/refguide/sequence-flow/" class="no-border" >}} | [Sequence flow](/refguide/sequence-flow/) | An arrow that links events, activities, decisions, and merges with each other. Together they define the order of execution within a nanoflow. | -| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/microflows/annotation-flow.png" link="/refguide/annotation/#annotation-flow" class="no-border" >}} | [Annotation flow](/refguide/annotation/#annotation-flow) | A dashed-line that is used to connect an [annotation](#annotation) to another element. | +| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/microflows/sequence-flow.png" link="/refguide10/sequence-flow/" class="no-border" >}} | [Sequence flow](/refguide10/sequence-flow/) | An arrow that links events, activities, decisions, and merges with each other. Together they define the order of execution within a nanoflow. | +| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/microflows/annotation-flow.png" link="/refguide10/annotation/#annotation-flow" class="no-border" >}} | [Annotation flow](/refguide10/annotation/#annotation-flow) | A dashed-line that is used to connect an [annotation](#annotation) to another element. | ### Decisions {#decisions} @@ -91,18 +91,18 @@ Decisions deal with making choices and merging different paths. | Graphic | Name | Description | | --- | --- | --- | -| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/microflows/decision.png" alt="decision" link="/refguide/decision/" class="no-border" >}} | [Decision](/refguide/decision/) | Makes a decision based on a condition and follows one and only one of the outgoing flows. There is no parallel execution in nanoflows. | -| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/microflows/merge.png" alt="merge" link="/refguide/merge/" class="no-border" >}} | [Merge](/refguide/merge/) | Used to combine multiple sequence flows into one. If a choice is made in a nanoflow and afterwards some common work needs to be done, you can combine the two (or more) paths using a merge. | +| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/microflows/decision.png" alt="decision" link="/refguide10/decision/" class="no-border" >}} | [Decision](/refguide10/decision/) | Makes a decision based on a condition and follows one and only one of the outgoing flows. There is no parallel execution in nanoflows. | +| {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/microflows/merge.png" alt="merge" link="/refguide10/merge/" class="no-border" >}} | [Merge](/refguide10/merge/) | Used to combine multiple sequence flows into one. If a choice is made in a nanoflow and afterwards some common work needs to be done, you can combine the two (or more) paths using a merge. | ### Activities{#activities} -[Activities](/refguide/activities/) are the actions that are executed in a nanoflow: +[Activities](/refguide10/activities/) are the actions that are executed in a nanoflow: {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/microflows/activity.png" alt="Activity" class="no-border" >}} ### Loop {#loop} -A [loop](/refguide/loop/) is used to iterate over a list of objects: +A [loop](/refguide10/loop/) is used to iterate over a list of objects: {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/microflows/loop.png" alt="Loop" class="no-border" >}} @@ -110,7 +110,7 @@ For every object, the flow inside the loop is executed. A loop activity can cont ### Parameter {#parameter} -A [parameter](/refguide/parameter/) is data that serves as input for a nanoflow. +A [parameter](/refguide10/parameter/) is data that serves as input for a nanoflow. {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/microflows/parameter.png" alt="Parameter" class="no-border" >}} @@ -118,7 +118,7 @@ Parameters are filled at the location from where the nanoflow is triggered. ### Annotation {#annotation} -An [annotation](/refguide/annotation/) is an element that can be used to put comments in a nanoflow: +An [annotation](/refguide10/annotation/) is an element that can be used to put comments in a nanoflow: {{< figure src="/attachments/refguide10/modeling/application-logic/microflows-and-nanoflows/microflows/annotation.png" alt="Annotation" class="no-border" >}} @@ -132,7 +132,7 @@ In the example below, the parameter **AccountPasswordData** is highlighted becau ## Keyboard Support -For an overview of the shortcut keys that are supported in the nanoflow editor, see the [Microflow, Nanoflow, and Rule Editor Shortcut Keys](/refguide/keyboard-shortcuts/#logic-editor-keyboard-support) section in *Keyboard Shortcuts*. +For an overview of the shortcut keys that are supported in the nanoflow editor, see the [Microflow, Nanoflow, and Rule Editor Shortcut Keys](/refguide10/keyboard-shortcuts/#logic-editor-keyboard-support) section in *Keyboard Shortcuts*. ## Security {#security} @@ -168,7 +168,7 @@ In the nanoflow editor from Studio Pro 10.6, you can use common patterns like un ## Exporting a Nanoflow to an Image {#export-nanoflow} -To export a nanoflow to an image, navigate to the [File menu](/refguide/file-menu/) in the Studio Pro top bar, and click **File** > **Export as image**. +To export a nanoflow to an image, navigate to the [File menu](/refguide10/file-menu/) in the Studio Pro top bar, and click **File** > **Export as image**. This opens an **Export to image** dialog box allowing you to choose a name and location for the exported image. After clicking **Save**, another dialog box is opened, where you can change parameters for your image export such as a transparent or opaque background and a relative size of the exported image by selecting a zoom level. diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/nanoflows/error-handling-in-nanoflows.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/nanoflows/error-handling-in-nanoflows.md index 7d9052d3182..48836980928 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/nanoflows/error-handling-in-nanoflows.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/nanoflows/error-handling-in-nanoflows.md @@ -1,6 +1,6 @@ --- title: "Error Handling in Nanoflows" -url: /refguide/error-handling-in-nanoflows/ +url: /refguide10/error-handling-in-nanoflows/ weight: 30 --- @@ -21,10 +21,10 @@ With the **Custom without rollback** option, you can draw an additional flow fro ## Error Inspection -In a custom error handler executed after an error occurs, the `$latestError` variable is set to show error message. The `$latestError` variable type is **String**, unlike in [microflows](/refguide/microflows/) where `$latestError` is an object of entity type **System.Error**. +In a custom error handler executed after an error occurs, the `$latestError` variable is set to show error message. The `$latestError` variable type is **String**, unlike in [microflows](/refguide10/microflows/) where `$latestError` is an object of entity type **System.Error**. The `$latestSoapFault` variable is not available in nanoflows. ## Read More -* [Error Handling in Microflows](/refguide/error-handling-in-microflows/) +* [Error Handling in Microflows](/refguide10/error-handling-in-microflows/) diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/nanoflows/nanoflow.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/nanoflows/nanoflow.md index 9cb1bde630c..de787168384 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/nanoflows/nanoflow.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/nanoflows/nanoflow.md @@ -1,12 +1,12 @@ --- title: "Nanoflow Properties" -url: /refguide/nanoflow/ +url: /refguide10/nanoflow/ weight: 20 --- ## Introduction -This page describes the properties of nanoflows. For details on using nanoflows and nanoflow elements, see [Nanoflows](/refguide/nanoflows/). +This page describes the properties of nanoflows. For details on using nanoflows and nanoflow elements, see [Nanoflows](/refguide10/nanoflows/). ## Properties @@ -21,7 +21,7 @@ Nanoflow properties consist of the following sections: #### Return Type -The return type defines what information the nanoflow returns. The caller of the nanoflow gets a result of this type. For information on possible return types, see [Data Types](/refguide/data-types/). +The return type defines what information the nanoflow returns. The caller of the nanoflow gets a result of this type. For information on possible return types, see [Data Types](/refguide10/data-types/). ### Common Section {#common} @@ -47,6 +47,6 @@ Default: *disabled* #### Allowed Roles -These are the [module roles](/refguide/module-security/#module-role) the user must have to be able to execute the nanoflow. +These are the [module roles](/refguide10/module-security/#module-role) the user must have to be able to execute the nanoflow. -For more information, see [Module Security](/refguide/module-security/). +For more information, see [Module Security](/refguide10/module-security/). diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/parameter.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/parameter.md index 44d291bf5d7..ff3cd3c8100 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/parameter.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/parameter.md @@ -1,6 +1,6 @@ --- title: "Parameter" -url: /refguide/parameter/ +url: /refguide10/parameter/ weight: 70 #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. --- @@ -21,7 +21,7 @@ The **Documentation** property can be used to store developer documentation. Thi ### 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. +The data type of a parameter defines the type of the value that it expects. See [Data Types](/refguide10/data-types/) for the possible data types. Default: *Object* @@ -49,7 +49,7 @@ When an argument is set to **optional**, a default value can be set: ## 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: +To set a parameter as the [return value](/refguide10/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/refguide10/modeling/application-logic/microflows-and-nanoflows/parameter/set-parameter-as-return-value.png" width="300px" class="no-border" >}} diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/sequence-flow.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/sequence-flow.md index c21d2424b50..d6fc3c08aeb 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/sequence-flow.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/sequence-flow.md @@ -1,6 +1,6 @@ --- title: "Sequence Flow" -url: /refguide/sequence-flow/ +url: /refguide10/sequence-flow/ weight: 30 --- @@ -14,4 +14,4 @@ When you have two activities that you want to link together a sequence flow is u ## Condition Value -The **Condition value** describes which direction should be followed based on the outcome of a [decision](/refguide/decision/) or an [object type decision](/refguide/object-type-decision/). +The **Condition value** describes which direction should be followed based on the outcome of a [decision](/refguide10/decision/) or an [object type decision](/refguide10/object-type-decision/). diff --git a/content/en/docs/refguide10/modeling/application-logic/string-concatenation.md b/content/en/docs/refguide10/modeling/application-logic/string-concatenation.md index 81382fb1818..5bf6e81d056 100644 --- a/content/en/docs/refguide10/modeling/application-logic/string-concatenation.md +++ b/content/en/docs/refguide10/modeling/application-logic/string-concatenation.md @@ -1,7 +1,7 @@ --- title: "Configuring String Concatenation" linktitle: "Configure String Concatenation" -url: /refguide/string-concatenation/ +url: /refguide10/string-concatenation/ weight: 110 description: "Describes three examples as well as best practices on configuring string concatenation." aliases: diff --git a/content/en/docs/refguide10/modeling/application-logic/workflows/_index.md b/content/en/docs/refguide10/modeling/application-logic/workflows/_index.md index 7fb25dc8208..8d3755b2682 100644 --- a/content/en/docs/refguide10/modeling/application-logic/workflows/_index.md +++ b/content/en/docs/refguide10/modeling/application-logic/workflows/_index.md @@ -1,13 +1,13 @@ --- title: "Workflows" -url: /refguide/workflows/ +url: /refguide10/workflows/ weight: 20 #If moving or renaming this doc file, implement a temporary redirect and let the respective team know they should update the URL in the product. See Mapping to Products for more details. --- ## Introduction -This document provides a general introduction to workflows, including the reasons why organizations adopt workflow processes, when and when not to use workflows, and a few Mendix workflow business use cases. For instructions on how to perform Mendix workflow basic functions, see [Performing Workflow Basic Functions](/refguide/perform-workflow-basic-functions/). +This document provides a general introduction to workflows, including the reasons why organizations adopt workflow processes, when and when not to use workflows, and a few Mendix workflow business use cases. For instructions on how to perform Mendix workflow basic functions, see [Performing Workflow Basic Functions](/refguide10/perform-workflow-basic-functions/). Workflow is a visual language that allows you to build extendable processes. In Mendix Studio Pro, it is fully integrated with other visual editors, such as the microflow editor and page editor. Implementing workflow processes is beneficial for organizations that would like to enhance operational efficiency, ensure compliance with regulations, and mitigate risks. @@ -71,11 +71,11 @@ The table below presents a few use cases that are a good fit for Mendix workflow | Dynamic business process support for a new product launch | For companies needing rapid application development to support end-to-end business processes for new product launches, Mendix workflows can be integrated for the subsequent legal and financial review and approval. | | Automated customer onboarding process | Organizations that need to streamline customer onboarding can use Mendix workflows to automate the process across multiple systems and involve user intervention for invalid situations. This ensures a smooth onboarding experience. | -For more information on a concrete use case, see [Configuring a Workflow in Studio Pro for the Employee Onboarding Process](/refguide/workflow-how-to-configure/). +For more information on a concrete use case, see [Configuring a Workflow in Studio Pro for the Employee Onboarding Process](/refguide10/workflow-how-to-configure/). ## Workflow Elements -A workflow is composed of elements that you can use in the workflow editor: you can either see them in the working area (start and end events, a parameter), or drag them from **Toolbox** to the flow. For more information, see [Workflow Elements](/refguide/workflow-elements/). +A workflow is composed of elements that you can use in the workflow editor: you can either see them in the working area (start and end events, a parameter), or drag them from **Toolbox** to the flow. For more information, see [Workflow Elements](/refguide10/workflow-elements/). ## Workflow Variables @@ -84,34 +84,34 @@ Workflows have dedicated variables that can be used in an XPath and Expressions The list of variables is described below: * `$WorkflowContext` – an instance of the business-related entity that travels through the workflow -* `$WorkflowInstance` – an instance of a currently running workflow ([System.Workflow](/refguide/workflow-engine/#system-workflow)) +* `$WorkflowInstance` – an instance of a currently running workflow ([System.Workflow](/refguide10/workflow-engine/#system-workflow)) -For example, you can use these variables as parameters in the **Task name** and **Task description** properties of a user task. For more information, see [User Task](/refguide/user-task/). +For example, you can use these variables as parameters in the **Task name** and **Task description** properties of a user task. For more information, see [User Task](/refguide10/user-task/). ## Workflow-Specific Activities in Microflows -You can add workflow-related activities to your microflows. For more information on these activities, see [Workflow Activities](/refguide/workflow-activities/). +You can add workflow-related activities to your microflows. For more information on these activities, see [Workflow Activities](/refguide10/workflow-activities/). ## Workflow-Specific On-Click Events on Pages -You can trigger workflows or user tasks from pages via specific on-click events configured on widgets. For more details, see [On Click Event and Events Section](/refguide/on-click-event/). +You can trigger workflows or user tasks from pages via specific on-click events configured on widgets. For more details, see [On Click Event and Events Section](/refguide10/on-click-event/). ## Workflow Commons Module The [Workflow Commons](/appstore/modules/workflow-commons/) module is a workflow specific module that has preconfigured page templates, pages, dashboards, etc. It can save you a lot of time during development. You can either download it from the Marketplace or use one of the app templates when creating a new app in [Apps](https://sprintr.home.mendix.com/). These templates already contain the **Workflows Commons** module. -For more information on how to configure the **Workflow Commons** in an existing app, see [Adding a Workflow to an Existing App with Workflow Commons](/refguide/workflow-setting-up-app/). +For more information on how to configure the **Workflow Commons** in an existing app, see [Adding a Workflow to an Existing App with Workflow Commons](/refguide10/workflow-setting-up-app/). ## Workflow Engine -The Workflow Engine is the Mendix Runtime engine for executing workflows. For information on how the engine works, how you can interact with the engine, and what information it stores, see [Workflow Engine](/refguide/workflow-engine/). +The Workflow Engine is the Mendix Runtime engine for executing workflows. For information on how the engine works, how you can interact with the engine, and what information it stores, see [Workflow Engine](/refguide10/workflow-engine/). ## Keyboard Support -For information on the supported shortcut keys in the workflow editor, see the [Workflow Editor Shortcut Keys](/refguide/keyboard-shortcuts/#workflow-editor-shortcut-keys) and the [Editors Only](/refguide/keyboard-shortcuts/#editors-only) sections in *Keyboard Shortcuts*. +For information on the supported shortcut keys in the workflow editor, see the [Workflow Editor Shortcut Keys](/refguide10/keyboard-shortcuts/#workflow-editor-shortcut-keys) and the [Editors Only](/refguide10/keyboard-shortcuts/#editors-only) sections in *Keyboard Shortcuts*. ## Read More -* [Performing Workflow Basic Functions](/refguide/perform-workflow-basic-functions/) -* [Configuring a Workflow in Studio Pro for the Employee Onboarding Process](/refguide/workflow-how-to-configure/) -* [Configuring Security for a Workflow Process](/refguide/workflow-security/) +* [Performing Workflow Basic Functions](/refguide10/perform-workflow-basic-functions/) +* [Configuring a Workflow in Studio Pro for the Employee Onboarding Process](/refguide10/workflow-how-to-configure/) +* [Configuring Security for a Workflow Process](/refguide10/workflow-security/) diff --git a/content/en/docs/refguide10/modeling/application-logic/workflows/add-action-to-workflow-toolbox.md b/content/en/docs/refguide10/modeling/application-logic/workflows/add-action-to-workflow-toolbox.md index 563f2979896..5b9e50f457b 100644 --- a/content/en/docs/refguide10/modeling/application-logic/workflows/add-action-to-workflow-toolbox.md +++ b/content/en/docs/refguide10/modeling/application-logic/workflows/add-action-to-workflow-toolbox.md @@ -1,7 +1,7 @@ --- title: "Adding a Custom Action to the Workflow Toolbox" linktitle: "Add Custom Action to Workflow Toolbox" -url: /refguide/add-action-to-workflow-toolbox/ +url: /refguide10/add-action-to-workflow-toolbox/ description: "Describes how to expose a microflow as a workflow action in Mendix Studio Pro." weight: 100 aliases: @@ -10,7 +10,7 @@ aliases: ## Introduction -You can expose a microflow as a workflow action and add it to the workflow toolbox. This is particularly useful if you plan to reuse the microflow logic several times, turning it into a custom workflow action is a good alternative to using the [Call microflow](/refguide/call-microflow/) action. There are the following advantages to having the custom workflow action: +You can expose a microflow as a workflow action and add it to the workflow toolbox. This is particularly useful if you plan to reuse the microflow logic several times, turning it into a custom workflow action is a good alternative to using the [Call microflow](/refguide10/call-microflow/) action. There are the following advantages to having the custom workflow action: * It makes logic more reusable. * The workflow process is more visualized and understandable. @@ -26,9 +26,9 @@ This how-to teaches you how to do the following: Before starting this how-to, make sure you have completed the following prerequisites: -* Familiarize yourself with workflow terms. For more information, see [Workflows](/refguide/workflows/). +* Familiarize yourself with workflow terms. For more information, see [Workflows](/refguide10/workflows/). * Install Atlas 3 from the Mendix Marketplace. As a result of installing Atlas 3, your app should contain the following modules that Workflow Commons depends on: Atlas_Core, Atlas_Web_Content, and DataGrid. -* Your app has the following optional modules [Workflow Commons](https://marketplace.mendix.com/link/component/117066) and [Mendix SSO](https://marketplace.mendix.com/link/component/111349) modules for better developer experience. For more information on how to set up Workflow Commons in an existing app, see [Adding a Workflow to an Existing App: Using Workflow Commons](/refguide/workflow-setting-up-app/). +* Your app has the following optional modules [Workflow Commons](https://marketplace.mendix.com/link/component/117066) and [Mendix SSO](https://marketplace.mendix.com/link/component/111349) modules for better developer experience. For more information on how to set up Workflow Commons in an existing app, see [Adding a Workflow to an Existing App: Using Workflow Commons](/refguide10/workflow-setting-up-app/). ## Exposing the Microflow as the Workflow Action @@ -63,7 +63,7 @@ To create the calling microflow and add it as the custom action to the workflow 2. Set **Category** to **Integration**. - 3. Select an icon and a toolbox image from a disk for **Icon** and **Image** properties. For more information on properties, see the [Expose as Workflow Action](/refguide/microflow/#expose-as-workflow-action) section in *Microflow Properties*. + 3. Select an icon and a toolbox image from a disk for **Icon** and **Image** properties. For more information on properties, see the [Expose as Workflow Action](/refguide10/microflow/#expose-as-workflow-action) section in *Microflow Properties*. {{< figure src="/attachments/refguide10/modeling/application-logic/workflows/add-action-to-workflow-toolbox/expose-as-workflow-action-properties.png" alt="Expose as Workflow Action Settings" class="no-border" >}} @@ -86,5 +86,5 @@ Congratulations! You have turned the microflow into the custom workflow action a ## Read More -* [Microflow Properties](/refguide/microflow/) -* [Adding a Workflow to an Existing App: Using Workflow Commons](/refguide/workflow-setting-up-app/) +* [Microflow Properties](/refguide10/microflow/) +* [Adding a Workflow to an Existing App: Using Workflow Commons](/refguide10/workflow-setting-up-app/) diff --git a/content/en/docs/refguide10/modeling/application-logic/workflows/boundary-events.md b/content/en/docs/refguide10/modeling/application-logic/workflows/boundary-events.md index b29f8989b11..1c62531ee40 100644 --- a/content/en/docs/refguide10/modeling/application-logic/workflows/boundary-events.md +++ b/content/en/docs/refguide10/modeling/application-logic/workflows/boundary-events.md @@ -1,6 +1,6 @@ --- title: "Boundary Events" -url: /refguide/workflow-boundary-events/ +url: /refguide10/workflow-boundary-events/ weight: 20 --- @@ -28,17 +28,17 @@ Below is an example of what a non-interrupting timer boundary event looks like: Studio Pro now supports the following boundary event: -* [Timer](/refguide/timer/) +* [Timer](/refguide10/timer/) ## Getting started You can add boundary events to the following activities: -* [Wait for notification](/refguide/wait-for-notification/) -* [User task](/refguide/user-task/) -* [Multi-user task](/refguide/multi-user-task/) -* [Call microflow](/refguide/call-microflow/) -* [Call workflow](/refguide/call-workflow/) +* [Wait for notification](/refguide10/wait-for-notification/) +* [User task](/refguide10/user-task/) +* [Multi-user task](/refguide10/multi-user-task/) +* [Call microflow](/refguide10/call-microflow/) +* [Call workflow](/refguide10/call-workflow/) {{% alert color="info" %}} When a boundary event is added to an activity, this activity is also referred to as the parent activity of the boundary event. @@ -64,7 +64,7 @@ To add a boundary event to the [above-listed activities](#supported-activities), {{< figure src="/attachments/refguide10/modeling/application-logic/workflows/boundary-events/edit-dialog.png" alt="Adding boundary events through edit dialog" width="450" >}} -To configure the properties of a boundary event, double-click the event to open its properties dialog box. For more information on how to configure the properties of a timer boundary event, see the [Properties](/refguide/timer/#properties) section in *Timer*. +To configure the properties of a boundary event, double-click the event to open its properties dialog box. For more information on how to configure the properties of a timer boundary event, see the [Properties](/refguide10/timer/#properties) section in *Timer*. #### Enabling and Adding Interrupting Boundary Events (Beta) @@ -148,7 +148,7 @@ The current release of boundary events is still under development and has the fo ## Read more -* [Workflows](/refguide/workflows/) -* [Add Date Function Calls](/refguide/add-date-function-calls/) -* [Parse and Format Date Function Calls](/refguide/parse-and-format-date-function-calls/) -* [Workflow Versioning and Conflict Mitigation](/refguide/workflow-versioning/) +* [Workflows](/refguide10/workflows/) +* [Add Date Function Calls](/refguide10/add-date-function-calls/) +* [Parse and Format Date Function Calls](/refguide10/parse-and-format-date-function-calls/) +* [Workflow Versioning and Conflict Mitigation](/refguide10/workflow-versioning/) diff --git a/content/en/docs/refguide10/modeling/application-logic/workflows/jump-to.md b/content/en/docs/refguide10/modeling/application-logic/workflows/jump-to.md index d689ccf53c9..7b8eb1f214d 100644 --- a/content/en/docs/refguide10/modeling/application-logic/workflows/jump-to.md +++ b/content/en/docs/refguide10/modeling/application-logic/workflows/jump-to.md @@ -1,22 +1,22 @@ --- title: "Jumping to Different Activities in a Workflow" -url: /refguide/jump-to/ +url: /refguide10/jump-to/ linktitle: "Jump to Different Activities" weight: 60 --- ## Introduction -Running workflow instances can be manually changed while they are in progress. This means that you can manually select what activity the workflow will continue from. This can be useful to correct wrong decisions or to continue a workflow when it is in incompatible state. You can use the [Generate Jump-to Option](/refguide/generate-jump-to-options/) microflow action to generate a list of activities the workflow can jump to and the [Apply Jump-To Option](/refguide/apply-jump-to-option/) microflow action to apply the desired changes to the workflow instance. The information is captured in a set of non-persistable entities. +Running workflow instances can be manually changed while they are in progress. This means that you can manually select what activity the workflow will continue from. This can be useful to correct wrong decisions or to continue a workflow when it is in incompatible state. You can use the [Generate Jump-to Option](/refguide10/generate-jump-to-options/) microflow action to generate a list of activities the workflow can jump to and the [Apply Jump-To Option](/refguide10/apply-jump-to-option/) microflow action to apply the desired changes to the workflow instance. The information is captured in a set of non-persistable entities. {{% alert color="info" %}} -This functionality is different from the [Jump activity](/refguide/jump-activity/) in workflows, which you can add from the **Toolbox** when you configure the workflow. The jumping to different activities functionality is something that you configure via microflow activities. +This functionality is different from the [Jump activity](/refguide10/jump-activity/) in workflows, which you can add from the **Toolbox** when you configure the workflow. The jumping to different activities functionality is something that you configure via microflow activities. {{% /alert %}} ## Related System Entities and Associations -The [Generate Jump-to Option](/refguide/generate-jump-to-options/) microflow action generates a **System.WorkflowJumpToDetails** object with associated **System.WorkflowCurrentActivity** and **System.WorkflowActivityDetails** objects. The entity structure is shown in the image of the System domain model below: +The [Generate Jump-to Option](/refguide10/generate-jump-to-options/) microflow action generates a **System.WorkflowJumpToDetails** object with associated **System.WorkflowCurrentActivity** and **System.WorkflowActivityDetails** objects. The entity structure is shown in the image of the System domain model below: {{< figure src="/attachments/refguide10/modeling/application-logic/workflows/jump-to/jump-to-entities.jpg" class="no-border" >}} @@ -38,7 +38,7 @@ The **Action** attribute on the **System.WorkflowCurrentActivity** object is an When the **Action** attribute is set to *JumpTo*, the **System.WorkflowCurrentActivity_JumpToTarget** association should refer to one of the **System.WorkflowActivityDetails** objects that are associated through the **System.WorkflowCurrentActivity_ApplicableTargets**. This ensures you select an applicable target. Referring to other **System.WorkflowActivityDetails** objects will lead to errors. -After setting the objects, changes can be applied by calling a microflow containing the [Apply jump-to option](/refguide/apply-jump-to-option/). This will change the current activities of the associated workflow instance and queue the workflow for execution (as this happens asynchronously, execution may not happen instantly). If the workflow was in incompatible state because of versioning conflicts, the workflow is set to its previous state (for example *In Progress* or *Paused*). +After setting the objects, changes can be applied by calling a microflow containing the [Apply jump-to option](/refguide10/apply-jump-to-option/). This will change the current activities of the associated workflow instance and queue the workflow for execution (as this happens asynchronously, execution may not happen instantly). If the workflow was in incompatible state because of versioning conflicts, the workflow is set to its previous state (for example *In Progress* or *Paused*). ## Jumping to Other Activities in Parallel Splits or in Boundary Event Paths @@ -48,5 +48,5 @@ For interrupting boundary event paths, in Studio Pro 10.21.0 and above, it is po ## Read More -* [Generate Jump-To Options](/refguide/generate-jump-to-options/) -* [Apply Jump-To Option](/refguide/apply-jump-to-option/) +* [Generate Jump-To Options](/refguide10/generate-jump-to-options/) +* [Apply Jump-To Option](/refguide10/apply-jump-to-option/) diff --git a/content/en/docs/refguide10/modeling/application-logic/workflows/perform-workflow-basic-functions.md b/content/en/docs/refguide10/modeling/application-logic/workflows/perform-workflow-basic-functions.md index 785c4bd4de8..125c36dc0c0 100644 --- a/content/en/docs/refguide10/modeling/application-logic/workflows/perform-workflow-basic-functions.md +++ b/content/en/docs/refguide10/modeling/application-logic/workflows/perform-workflow-basic-functions.md @@ -1,13 +1,13 @@ --- title: "Performing Workflow Basic Functions" linktitle: "Perform Basic Functions" -url: /refguide/perform-workflow-basic-functions/ +url: /refguide10/perform-workflow-basic-functions/ weight: 50 --- ## Introduction -A workflow is composed of [elements](/refguide/workflow-elements/) that you can use in the workflow editor. In this document, you will learn how to perform the following basic functions when working on workflows and on workflow elements: +A workflow is composed of [elements](/refguide10/workflow-elements/) that you can use in the workflow editor. In this document, you will learn how to perform the following basic functions when working on workflows and on workflow elements: * [Add a workflow](#add-workflow) * [Delete a workflow](#delete-workflow) @@ -23,9 +23,9 @@ A workflow is composed of [elements](/refguide/workflow-elements/) that you can To add a workflow to your app, do the following: -1. In the [App Explorer](/refguide/app-explorer/), right-click the module or a folder you want to create a page in and select **Add workflow**. +1. In the [App Explorer](/refguide10/app-explorer/), right-click the module or a folder you want to create a page in and select **Add workflow**. 2. In the **Add Workflow** dialog box, fill in the **Name** for the workflow. -3. Select an **Entity** to use it as a [workflow parameter](/refguide/workflow-parameters/): +3. Select an **Entity** to use it as a [workflow parameter](/refguide10/workflow-parameters/): {{< figure src="/attachments/refguide10/modeling/application-logic/workflows/add-workflow-dialog.png" alt="Adding Workflow" class="no-border" >}} @@ -35,7 +35,7 @@ The workflow is created. To delete a workflow, do the following: -1. In the [App Explorer](/refguide/app-explorer/), select a workflow you would like to delete and right-click it. +1. In the [App Explorer](/refguide10/app-explorer/), select a workflow you would like to delete and right-click it. 2. In the displayed list, select **Delete** and confirm your choice by clicking **Delete** in the pop-up dialog. The selected workflow is deleted. @@ -102,7 +102,7 @@ When using cut/copy/paste, note the following: * When the clipboard contents has an **Annotation**, it can only be pasted into the workflow or into individual activities that support annotations. * Pasting an activity after an **End** or **Jump** activity results in a consistency error as an **End** or **Jump** activity should be placed at the end of a flow. * Pasting activity can result in a consistency error when the next activity becomes unreachable by either placing an **End** or **Jump** activity in front of it or when all flows before a merge end with an **End** or **Jump** activity. -* Pasting a boundary event on an activity adds it to the activity. You can add maximum five boundary events to one activity. For more information, see [a list of activities that support adding boundary events](/refguide/workflow-boundary-events/#supported-activities). +* Pasting a boundary event on an activity adds it to the activity. You can add maximum five boundary events to one activity. For more information, see [a list of activities that support adding boundary events](/refguide10/workflow-boundary-events/#supported-activities). * Pasting a **Jump** activity in a boundary event is only allowed when there are multiple paths going to the boundary event's ending path, otherwise a consistency error is thrown. * Pasting an **End** event inside a non-interrupting boundary event path is not allowed. This is because an **End** event is only allowed if no other paths will be executed, which is not the case in a non-interrupting timer boundary event. @@ -110,7 +110,7 @@ When using cut/copy/paste, note the following: The following elements cannot be cut, copied or pasted in the workflow editor: -* Workflow (this can be only be done in the [App Explorer](/refguide/app-explorer/#basic-functions)) +* Workflow (this can be only be done in the [App Explorer](/refguide10/app-explorer/#basic-functions)) * WorkflowContext * Start event * End event (the final End event which is at the end of the workflow) @@ -137,7 +137,7 @@ You can trigger a workflow [from a page](#trigger-page) or [via a microflow](#tr ### Triggering a Workflow from a Page {#trigger-page} -To start the workflow, you can add a widget with a specific on-click event on a page. For more information on on-click events, see [On Click Event and Events Section](/refguide/on-click-event/). +To start the workflow, you can add a widget with a specific on-click event on a page. For more information on on-click events, see [On Click Event and Events Section](/refguide10/on-click-event/). Do the following: @@ -152,7 +152,7 @@ You have configured the button to trigger the workflow. ### Triggering a Workflow via a Microflow {#trigger-microflow} -To trigger a workflow via a microflow, you can add a **Call workflow** activity to the microflow. For more information on this activity, see [Call Workflow](/refguide/workflow-call/). +To trigger a workflow via a microflow, you can add a **Call workflow** activity to the microflow. For more information on this activity, see [Call Workflow](/refguide10/workflow-call/). Do the following: @@ -173,7 +173,7 @@ Now when you run this microflow, it will trigger the selected workflow. There are two ways to export a workflow to an image: -* Through the [File menu](/refguide/file-menu/) in the top bar: **File** > **Export as image**. +* Through the [File menu](/refguide10/file-menu/) in the top bar: **File** > **Export as image**. * By clicking **Export as image** in the upper-left corner of the workflow editor. Both options open a **Save file** dialog-box allowing you to choose a name and location for the exported image. After clicking **Save** the **Export workflow model to image** dialog-box is opened, where you can change parameters for your image export such as a transparent or opaque background and a relative size of the exported image by selecting a zoom level: @@ -190,5 +190,5 @@ It is important to bear in mind that the chosen orientation is not preserved or ## Read More -* [Workflow Elements](/refguide/workflow-elements/) -* [Configuring a Workflow in Studio Pro for the Employee Onboarding Process](/refguide/workflow-how-to-configure/) +* [Workflow Elements](/refguide10/workflow-elements/) +* [Configuring a Workflow in Studio Pro for the Employee Onboarding Process](/refguide10/workflow-how-to-configure/) diff --git a/content/en/docs/refguide10/modeling/application-logic/workflows/workflow-elements/_index.md b/content/en/docs/refguide10/modeling/application-logic/workflows/workflow-elements/_index.md index 8b824d9ebb8..710de687fef 100644 --- a/content/en/docs/refguide10/modeling/application-logic/workflows/workflow-elements/_index.md +++ b/content/en/docs/refguide10/modeling/application-logic/workflows/workflow-elements/_index.md @@ -1,6 +1,6 @@ --- title: "Workflow Elements" -url: /refguide/workflow-elements/ +url: /refguide10/workflow-elements/ weight: 10 --- @@ -16,7 +16,7 @@ A workflow is composed of elements that you can drag on a path from the **Toolbo ## Workflow Parameters {#parameters} -A [workflow parameter](/refguide/workflow-parameters/) is input data for your workflow. The **WorkflowContext** parameter is a business-related data that travels through the workflow: +A [workflow parameter](/refguide10/workflow-parameters/) is input data for your workflow. The **WorkflowContext** parameter is a business-related data that travels through the workflow: {{< figure src="/attachments/refguide10/modeling/application-logic/workflows/workflow-elements/workflow-context.png" alt="Workflow Context Example" max-width=50% class="no-border" >}} ## General {#general} @@ -27,16 +27,16 @@ The elements of this category are described in the table below: | Graphic | Element | Description | | ----------------------------------------------------------- | --------------------------------- | ------------------------------------------------------------ | -| {{< figure src="/attachments/refguide10/modeling/application-logic/workflows/workflow-elements/start-event.png" alt="Start Event" class="no-border" >}} | Start event | The starting point of a workflow. Workflows are triggered either by the [Call workflow](/refguide/on-click-event/#call-workflow) on-click event on pages or by the [Call workflow](/refguide/workflow-call/) action in microflows.
Click the start event to open [workflow properties](/refguide/workflow-properties/). | +| {{< figure src="/attachments/refguide10/modeling/application-logic/workflows/workflow-elements/start-event.png" alt="Start Event" class="no-border" >}} | Start event | The starting point of a workflow. Workflows are triggered either by the [Call workflow](/refguide10/on-click-event/#call-workflow) on-click event on pages or by the [Call workflow](/refguide10/workflow-call/) action in microflows.
Click the start event to open [workflow properties](/refguide10/workflow-properties/). | | {{< figure src="/attachments/refguide10/modeling/application-logic/workflows/workflow-elements/annotation.png" alt="Annotation" class="no-border" >}} | Annotation | An annotation is an element that can be used to put comments to a flow. For example, you can add a comment for your team that one of the user tasks needs to be changed later.
You can add annotations to the workflow or to individual activities. To add the annotation to the workflow, drag and drop the annotation in the editor's working area. To add the annotation to the activity, drag and drop it inside the activity. | -| {{< figure src="/attachments/refguide10/modeling/application-logic/workflows/workflow-elements/decision.png" alt="Decision" class="no-border" >}} | [Decision](/refguide/decision-in-workflows/) | Makes a choice based on a condition and follows one and only one of the outgoing paths. | -| {{< figure src="/attachments/refguide10/modeling/application-logic/workflows/workflow-elements/parallel-split.png" alt="Parallel Split" class="no-border" >}} | [Parallel split](/refguide/parallel-split/) | Adds two parallel paths to your workflow. | -| {{< figure src="/attachments/refguide10/modeling/application-logic/workflows/workflow-elements/jump.png" alt="Jump Activity" class="no-border" >}} | [Jump](/refguide/jump-activity/) | Allows you to jump to other activities in the workflow. | -| {{< figure src="/attachments/refguide10/modeling/application-logic/workflows/workflow-elements/wait-for-notification.png" alt="Wait for notification activity" class="no-border" >}} | [Wait for notification](/refguide/wait-for-notification/) | Allows you to suspend a workflow’s execution until the workflow is notified. | +| {{< figure src="/attachments/refguide10/modeling/application-logic/workflows/workflow-elements/decision.png" alt="Decision" class="no-border" >}} | [Decision](/refguide10/decision-in-workflows/) | Makes a choice based on a condition and follows one and only one of the outgoing paths. | +| {{< figure src="/attachments/refguide10/modeling/application-logic/workflows/workflow-elements/parallel-split.png" alt="Parallel Split" class="no-border" >}} | [Parallel split](/refguide10/parallel-split/) | Adds two parallel paths to your workflow. | +| {{< figure src="/attachments/refguide10/modeling/application-logic/workflows/workflow-elements/jump.png" alt="Jump Activity" class="no-border" >}} | [Jump](/refguide10/jump-activity/) | Allows you to jump to other activities in the workflow. | +| {{< figure src="/attachments/refguide10/modeling/application-logic/workflows/workflow-elements/wait-for-notification.png" alt="Wait for notification activity" class="no-border" >}} | [Wait for notification](/refguide10/wait-for-notification/) | Allows you to suspend a workflow’s execution until the workflow is notified. | | {{< figure src="/attachments/refguide10/modeling/application-logic/workflows/workflow-elements/end-event.png" alt="End event" class="no-border" >}} | End event | Ends the path of the workflow | {{% alert color="info" %}} -You can add customized activities to this section if you use the **Expose as a workflow action** setting in microflows. For more information see the [Expose as Workflow Action](/refguide/microflow/#expose-as-workflow-action) section in *Microflow Properties*. +You can add customized activities to this section if you use the **Expose as a workflow action** setting in microflows. For more information see the [Expose as Workflow Action](/refguide10/microflow/#expose-as-workflow-action) section in *Microflow Properties*. {{% /alert %}} ## User Tasks {#user-tasks} @@ -47,8 +47,8 @@ The elements of this category are described in the table below: | Graphic | Element | Description | | ----------------------------------------------------------- | --------------------------------- | ------------------------------------------------------------ | -| {{< figure src="/attachments/refguide10/modeling/application-logic/workflows/workflow-elements/user-task.png" width="50px" alt="User Task" class="no-border" >}} | [User task](/refguide/user-task/) | A central element in a workflow that allows you to assign a task to a certain user or a group of users using filters or microflows. | -| {{< figure src="/attachments/refguide10/modeling/application-logic/workflows/workflow-elements/multi-user-task.png" width="50px" alt="Multi-user task" class="no-border" >}} | [Multi-user task](/refguide/multi-user-task/) | A central element in a workflow that allows you assign a task to 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](/refguide/multi-user-task/#completion-condition). | +| {{< figure src="/attachments/refguide10/modeling/application-logic/workflows/workflow-elements/user-task.png" width="50px" alt="User Task" class="no-border" >}} | [User task](/refguide10/user-task/) | A central element in a workflow that allows you to assign a task to a certain user or a group of users using filters or microflows. | +| {{< figure src="/attachments/refguide10/modeling/application-logic/workflows/workflow-elements/multi-user-task.png" width="50px" alt="Multi-user task" class="no-border" >}} | [Multi-user task](/refguide10/multi-user-task/) | A central element in a workflow that allows you assign a task to 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](/refguide10/multi-user-task/#completion-condition). | ## Events {#events} @@ -56,7 +56,7 @@ The elements of this category are described in the table below: | Graphic | Element | Description | | ----------------------------------------------------------- | --------------------------------- | ------------------------------------------------------------ | -{{< figure src="/attachments/refguide10/modeling/application-logic/workflows/workflow-elements/timer.png" width="50px" alt="timer activity" class="no-border" >}} | [Timer](/refguide/timer/) | Allows you to configure a certain duration or a specific date and time in a workflow. It can be used as a standalone activity on a workflow path or as a [Boundary Event](/refguide/workflow-boundary-events/) attached to another workflow activity.| +{{< figure src="/attachments/refguide10/modeling/application-logic/workflows/workflow-elements/timer.png" width="50px" alt="timer activity" class="no-border" >}} | [Timer](/refguide10/timer/) | Allows you to configure a certain duration or a specific date and time in a workflow. It can be used as a standalone activity on a workflow path or as a [Boundary Event](/refguide10/workflow-boundary-events/) attached to another workflow activity.| ## System Actions {#system} @@ -66,5 +66,5 @@ The elements of this category are described in the table below: | Graphic | Element | Description | | ----------------------------------------------------------- | --------------------------------- | ------------------------------------------------------------ | -| {{< figure src="/attachments/refguide10/modeling/application-logic/workflows/workflow-elements/call-microflow.png" alt="Call Microflow" class="no-border" >}} | [Call microflow](/refguide/call-microflow/) | Calls a selected microflow. | -| {{< figure src="/attachments/refguide10/modeling/application-logic/workflows/workflow-elements/call-workflow.png" alt="Call Workflow" class="no-border" >}} | [Call workflow](/refguide/call-workflow/) | Calls a selected workflow. | +| {{< figure src="/attachments/refguide10/modeling/application-logic/workflows/workflow-elements/call-microflow.png" alt="Call Microflow" class="no-border" >}} | [Call microflow](/refguide10/call-microflow/) | Calls a selected microflow. | +| {{< figure src="/attachments/refguide10/modeling/application-logic/workflows/workflow-elements/call-workflow.png" alt="Call Workflow" class="no-border" >}} | [Call workflow](/refguide10/call-workflow/) | Calls a selected workflow. | diff --git a/content/en/docs/refguide10/modeling/application-logic/workflows/workflow-elements/call-microflow.md b/content/en/docs/refguide10/modeling/application-logic/workflows/workflow-elements/call-microflow.md index b4124e220d6..6df6c216b72 100644 --- a/content/en/docs/refguide10/modeling/application-logic/workflows/workflow-elements/call-microflow.md +++ b/content/en/docs/refguide10/modeling/application-logic/workflows/workflow-elements/call-microflow.md @@ -1,12 +1,12 @@ --- title: "Call Microflow" -url: /refguide/call-microflow/ +url: /refguide10/call-microflow/ weight: 95 --- ## Introduction -**Call microflow** is used to call a selected [microflow](/refguide/microflow/). +**Call microflow** is used to call a selected [microflow](/refguide10/microflow/). {{< figure src="/attachments/refguide10/modeling/application-logic/workflows/workflow-elements/call-microflow/call-microflow-example.jpg" alt="Call Microflow Example" width="250" class="no-border" >}} @@ -40,7 +40,7 @@ Parameters of the selected microflow. Depending on the selected microflow, you w ### Boundary Events Section {#boundary-events} -For more information, see [Boundary Events](/refguide/workflow-boundary-events/). +For more information, see [Boundary Events](/refguide10/workflow-boundary-events/). ### Common Section {#common} @@ -48,4 +48,4 @@ For more information, see [Boundary Events](/refguide/workflow-boundary-events/) ## Read More -* [Workflow Properties](/refguide/workflow-properties/) +* [Workflow Properties](/refguide10/workflow-properties/) diff --git a/content/en/docs/refguide10/modeling/application-logic/workflows/workflow-elements/call-workflow.md b/content/en/docs/refguide10/modeling/application-logic/workflows/workflow-elements/call-workflow.md index 34ab0866827..debd02c399e 100644 --- a/content/en/docs/refguide10/modeling/application-logic/workflows/workflow-elements/call-workflow.md +++ b/content/en/docs/refguide10/modeling/application-logic/workflows/workflow-elements/call-workflow.md @@ -1,11 +1,11 @@ --- title: "Call Workflow" -url: /refguide/call-workflow/ +url: /refguide10/call-workflow/ weight: 100 --- {{% alert color="info" %}} -This page describes the **Call workflow** activity you can use in your [workflow](/refguide/workflow-elements/). Looking for information on the **Call workflow** activity for [microflows](/refguide/workflow-activities/) instead? See [Call workflow](/refguide/workflow-call/). +This page describes the **Call workflow** activity you can use in your [workflow](/refguide10/workflow-elements/). Looking for information on the **Call workflow** activity for [microflows](/refguide10/workflow-activities/) instead? See [Call workflow](/refguide10/workflow-call/). {{% /alert %}} ## Introduction @@ -48,7 +48,7 @@ To change the parameter, either double-click the parameter from the list or sele ### Boundary Events Section {#boundary-events} -For more information, see [Boundary Events](/refguide/workflow-boundary-events/). +For more information, see [Boundary Events](/refguide10/workflow-boundary-events/). ### Common Section {#common} @@ -60,7 +60,7 @@ When a calling workflow or a called workflow changes a state, they may have impa ### State of Calling Workflow When Called Workflow Changes Its State -Usually state transition of a called workflow does not affect the calling workflow except for when the called workflow fails, is aborted or locked. When the called workflow fails or is aborted, the calling workflow fails. When the called workflow is [locked](/refguide/lock-workflow/), the calling workflow fails because calling workflow tries to call the locked workflow. +Usually state transition of a called workflow does not affect the calling workflow except for when the called workflow fails, is aborted or locked. When the called workflow fails or is aborted, the calling workflow fails. When the called workflow is [locked](/refguide10/lock-workflow/), the calling workflow fails because calling workflow tries to call the locked workflow. All other state changes of a called workflow do not affect the workflow. @@ -75,8 +75,8 @@ The following cases when the state of the calling workflow changes affect the st All other state changes of the calling workflow do not affect the called workflow. -You can use the [Workflow state change](/refguide/workflow-properties/#workflow-state-change) property to extend the behavior described above and, for example, configure a behavior that when the calling workflow is paused, the called workflow is paused as well. +You can use the [Workflow state change](/refguide10/workflow-properties/#workflow-state-change) property to extend the behavior described above and, for example, configure a behavior that when the calling workflow is paused, the called workflow is paused as well. ## Read More -* [Workflow Properties](/refguide/workflow-properties/) +* [Workflow Properties](/refguide10/workflow-properties/) diff --git a/content/en/docs/refguide10/modeling/application-logic/workflows/workflow-elements/decision-in-workflows.md b/content/en/docs/refguide10/modeling/application-logic/workflows/workflow-elements/decision-in-workflows.md index 033025f54d8..f274e1d0faf 100644 --- a/content/en/docs/refguide10/modeling/application-logic/workflows/workflow-elements/decision-in-workflows.md +++ b/content/en/docs/refguide10/modeling/application-logic/workflows/workflow-elements/decision-in-workflows.md @@ -1,6 +1,6 @@ --- title: "Decision in Workflows" -url: /refguide/decision-in-workflows/ +url: /refguide10/decision-in-workflows/ weight: 30 --- @@ -26,7 +26,7 @@ The **Caption** describes what happens in this element. It is displayed under th #### Condition -**Condition** is configured based on an [expression](/refguide/expressions/). The expression should result in a Boolean or an enumeration. +**Condition** is configured based on an [expression](/refguide10/expressions/). The expression should result in a Boolean or an enumeration. For the expression resulting in a Boolean, two paths are possible: **true** and **false**. For example, you can use the expression resulting in a Boolean to follow different paths whether a new employee is working from home or from the office (and either send their devices to the home address or set up a workstation in the office). @@ -42,4 +42,4 @@ The number of conditions available for the enumeration type depends on the corre ## Read More -* [Parallel Split](/refguide/parallel-split/) +* [Parallel Split](/refguide10/parallel-split/) diff --git a/content/en/docs/refguide10/modeling/application-logic/workflows/workflow-elements/jump-activity.md b/content/en/docs/refguide10/modeling/application-logic/workflows/workflow-elements/jump-activity.md index 0b51b8cf86e..93c1f51b2bc 100644 --- a/content/en/docs/refguide10/modeling/application-logic/workflows/workflow-elements/jump-activity.md +++ b/content/en/docs/refguide10/modeling/application-logic/workflows/workflow-elements/jump-activity.md @@ -1,6 +1,6 @@ --- title: "Jump Activity" -url: /refguide/jump-activity/ +url: /refguide10/jump-activity/ weight: 50 --- @@ -28,7 +28,7 @@ The **Caption** describes what happens in this element. It is displayed under th **Target** is the activity that the workflow process will jump to during execution. You can select the activity you would like to go to from the drop-down menu. {{% alert color="warning" %}} -You cannot use the **Jump** activity as the final step in a [Parallel split](/refguide/parallel-split/) path, a [Boundary Event](/refguide/workflow-boundary-events/) path, or the main workflow path without providing an alternative route. Doing so prevents the path from reaching its endpoint. +You cannot use the **Jump** activity as the final step in a [Parallel split](/refguide10/parallel-split/) path, a [Boundary Event](/refguide10/workflow-boundary-events/) path, or the main workflow path without providing an alternative route. Doing so prevents the path from reaching its endpoint. {{% /alert %}} ### Common Section {#common} @@ -37,4 +37,4 @@ You cannot use the **Jump** activity as the final step in a [Parallel split](/re ## Read More -* [Workflow Properties](/refguide/workflow-properties/) +* [Workflow Properties](/refguide10/workflow-properties/) diff --git a/content/en/docs/refguide10/modeling/application-logic/workflows/workflow-elements/multi-user-task.md b/content/en/docs/refguide10/modeling/application-logic/workflows/workflow-elements/multi-user-task.md index 0ce5e05ffda..ba00fd13653 100644 --- a/content/en/docs/refguide10/modeling/application-logic/workflows/workflow-elements/multi-user-task.md +++ b/content/en/docs/refguide10/modeling/application-logic/workflows/workflow-elements/multi-user-task.md @@ -1,6 +1,6 @@ --- title: "Multi-User Task" -url: /refguide/multi-user-task/ +url: /refguide10/multi-user-task/ weight: 80 --- @@ -54,15 +54,15 @@ 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). | +| 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](/refguide10/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](/refguide10/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. | -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*. +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](/refguide10/change-workflow-state/#operation) section in *Change Workflow State*. #### XPath Constraint -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**. Click **Edit** to edit the [XPath constraint](/refguide/xpath-constraints/). +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**. Click **Edit** to edit the [XPath constraint](/refguide10/xpath-constraints/). #### Microflow @@ -276,7 +276,7 @@ Through the **Decision microflow** setting, you can provide your own microflow. | List of `System.WorkflowUserTaskOutcome` | All outcomes that have been selected so far. These outcomes are ordered in the order in which they occurred, earliest first. | | `System.WorkflowUserTask` | The multi-user task for which the decision must be made. | | `System.Workflow` | The workflow instance that contains the multi-user task. | -| workflow context | The [workflow parameter](/refguide/workflow-parameters/) variable. | +| workflow context | The [workflow parameter](/refguide10/workflow-parameters/) variable. | The provided microflow should return a value of type **String**, containing the final outcome of the multi-user task. If no decision can be taken yet based on the selected outcomes, the microflow should return `empty` (or an empty string). @@ -293,7 +293,7 @@ When a value is returned that is not defined in the [Outcomes](#outcomes), the m {{% /alert %}} {{% alert color="warning" %}} -If the microflow is changed in between deployments, it might return a different result after the deployment from during the previous deployment, for user tasks that are in progress. This cannot be detected during [workflow versioning conflict detection](/refguide/workflow-versioning/) because the microflow cannot be called at that point. As a result, it will not cause a conflict and behaves like when the workflow is marked as resolved. +If the microflow is changed in between deployments, it might return a different result after the deployment from during the previous deployment, for user tasks that are in progress. This cannot be detected during [workflow versioning conflict detection](/refguide10/workflow-versioning/) because the microflow cannot be called at that point. As a result, it will not cause a conflict and behaves like when the workflow is marked as resolved. {{% /alert %}} ###### Example @@ -400,7 +400,7 @@ In addition to adding new parameters, you can perform the following actions on p ### Boundary Events Section {#boundary-events} -For more information, see [Boundary Events](/refguide/workflow-boundary-events/). +For more information, see [Boundary Events](/refguide10/workflow-boundary-events/). ### Common Section {#common} @@ -408,5 +408,5 @@ For more information, see [Boundary Events](/refguide/workflow-boundary-events/) ## Read More -* [Workflows](/refguide/workflows/) -* [User Task](/refguide/user-task/) +* [Workflows](/refguide10/workflows/) +* [User Task](/refguide10/user-task/) diff --git a/content/en/docs/refguide10/modeling/application-logic/workflows/workflow-elements/parallel-split.md b/content/en/docs/refguide10/modeling/application-logic/workflows/workflow-elements/parallel-split.md index 528a8457136..d90bbb192f1 100644 --- a/content/en/docs/refguide10/modeling/application-logic/workflows/workflow-elements/parallel-split.md +++ b/content/en/docs/refguide10/modeling/application-logic/workflows/workflow-elements/parallel-split.md @@ -1,6 +1,6 @@ --- title: "Parallel Split" -url: /refguide/parallel-split/ +url: /refguide10/parallel-split/ weight: 40 --- @@ -36,4 +36,4 @@ The **Paths** property allows you to add as many paths as there are parallel pro ## Read More -* [Workflow Properties](/refguide/workflow-properties/) +* [Workflow Properties](/refguide10/workflow-properties/) diff --git a/content/en/docs/refguide10/modeling/application-logic/workflows/workflow-elements/timer.md b/content/en/docs/refguide10/modeling/application-logic/workflows/workflow-elements/timer.md index bcc975a8e2b..9d141ea6363 100644 --- a/content/en/docs/refguide10/modeling/application-logic/workflows/workflow-elements/timer.md +++ b/content/en/docs/refguide10/modeling/application-logic/workflows/workflow-elements/timer.md @@ -1,9 +1,9 @@ --- title: "Timer" -url: /refguide/timer/ +url: /refguide10/timer/ weight: 90 aliases: - - /refguide/wait-for-timer/ + - /refguide10/wait-for-timer/ #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. --- @@ -21,7 +21,7 @@ It can be used in the following two ways: {{< figure src="/attachments/refguide10/modeling/application-logic/workflows/workflow-elements/timer/standalone-timer-activity.png" alt="Standalone Timer activity" width="250" >}} -* **Timer** can also be attached to another workflow activity as a [Boundary Event](/refguide/workflow-boundary-events/) (released in GA in Studio Pro 10.16): +* **Timer** can also be attached to another workflow activity as a [Boundary Event](/refguide10/workflow-boundary-events/) (released in GA in Studio Pro 10.16): {{< figure src="/attachments/refguide10/modeling/application-logic/workflows/workflow-elements/timer/timer-boundary-event.png" alt="Timer boundary event" width="300" >}} @@ -48,7 +48,7 @@ This section is displayed if interrupting timer boundary events (beta) are enabl The **Interrupting** property sets the timer boundary event to be either interrupting or non-interrupting. -By default, it is set to **No**, which means that the timer boundary event is non-interrupting. When it is set to **Yes**, the timer boundary event is interrupting. For more information, see [Boundary Events](/refguide/workflow-boundary-events/). +By default, it is set to **No**, which means that the timer boundary event is non-interrupting. When it is set to **Yes**, the timer boundary event is interrupting. For more information, see [Boundary Events](/refguide10/workflow-boundary-events/). ### Timer Section {#timer} @@ -59,7 +59,7 @@ The **Timer** properties are described in the table below: | Type | Description | | --- | --- | | Duration | You can set a certain duration for the timer. With the **Continue after** setting, you can indicate the number of seconds, minutes, hours, days, weeks or months the timer's duration is. Possible values for the setting are:
  • Seconds
  • Minutes
  • Hours
  • Days
  • Weeks
  • Months
| -| Expression | You can set a certain date and time for the timer by writing an expression via the **Continue at** setting.

For example, you can write `addDays([%CurrentDateTime%], 1)` to set tomorrow as the due date and time. To set a static date and time, you can use the expression `parseDateTimeUTC('2023-12-10T17:12:00.000', 'yyyy-MM-dd''T''HH:mm:ss.SSS')`.

You can also create a more complex timer. For example, you can set a timer based on a Boolean value (in this example, `isVIPUser`) from the provided workflow context entity: `if $WorkflowContext/isVIPUser then addDays([%CurrentDateTime%], 2) else addWeeks([%CurrentDateTime%], 2])`.

For more information on available expressions in Mendix, see [Expressions](/refguide/expressions/). | +| Expression | You can set a certain date and time for the timer by writing an expression via the **Continue at** setting.

For example, you can write `addDays([%CurrentDateTime%], 1)` to set tomorrow as the due date and time. To set a static date and time, you can use the expression `parseDateTimeUTC('2023-12-10T17:12:00.000', 'yyyy-MM-dd''T''HH:mm:ss.SSS')`.

You can also create a more complex timer. For example, you can set a timer based on a Boolean value (in this example, `isVIPUser`) from the provided workflow context entity: `if $WorkflowContext/isVIPUser then addDays([%CurrentDateTime%], 2) else addWeeks([%CurrentDateTime%], 2])`.

For more information on available expressions in Mendix, see [Expressions](/refguide10/expressions/). | ### Common Section {#common} @@ -84,7 +84,7 @@ The following cases do not trigger a continuation of the workflow path when time * Expiration in a workflow that is aborted. * Expiration in a workflow that is incompatible - After the workflow resumes, the workflow path continues normally. * Expiration in a workflow that is jumped from the timer to a different activity. -* Expiration in a workflow that is completed - This can only occur when **Timer** is used as a [Boundary Event](/refguide/workflow-boundary-events/). +* Expiration in a workflow that is completed - This can only occur when **Timer** is used as a [Boundary Event](/refguide10/workflow-boundary-events/). * A workflow is restarted and a previous timer was still scheduled. ### Workflow Incompatibility @@ -93,13 +93,13 @@ The following cases do not trigger a continuation of the workflow path when time This section is only applicable when **Timer** is used as a standalone activity on a workflow path. {{% /alert %}} -When a **Timer** activity is added to the workflow definition and the application is redeployed, a validation on already running workflow instances is performed. When the **Timer** activity has been added before the currently in-progress activity, the workflow becomes incompatible. The conflict/incompatibility validation is analogous to other activities added before an in-progress activity. For more information, see [Workflow Versioning and Conflict Mitigation](/refguide/workflow-versioning/). +When a **Timer** activity is added to the workflow definition and the application is redeployed, a validation on already running workflow instances is performed. When the **Timer** activity has been added before the currently in-progress activity, the workflow becomes incompatible. The conflict/incompatibility validation is analogous to other activities added before an in-progress activity. For more information, see [Workflow Versioning and Conflict Mitigation](/refguide10/workflow-versioning/). -When a **Timer** activity is removed from the workflow definition and the application is redeployed, on initiation of the application, it validates if there are any running timers (that is, active timers that are initiated but have not reached their defined date and time). In this case, the workflow becomes incompatible and a warning log is created. For information on how to resolve a conflict when an activity is removed, see [Workflow Versioning and Conflict Mitigation](/refguide/workflow-versioning/). +When a **Timer** activity is removed from the workflow definition and the application is redeployed, on initiation of the application, it validates if there are any running timers (that is, active timers that are initiated but have not reached their defined date and time). In this case, the workflow becomes incompatible and a warning log is created. For information on how to resolve a conflict when an activity is removed, see [Workflow Versioning and Conflict Mitigation](/refguide10/workflow-versioning/). ## Read More -* [Workflows](/refguide/workflows/) -* [Add Date Function Calls](/refguide/add-date-function-calls/) -* [Parse and Format Date Function Calls](/refguide/parse-and-format-date-function-calls/) -* [Workflow Versioning and Conflict Mitigation](/refguide/workflow-versioning/) +* [Workflows](/refguide10/workflows/) +* [Add Date Function Calls](/refguide10/add-date-function-calls/) +* [Parse and Format Date Function Calls](/refguide10/parse-and-format-date-function-calls/) +* [Workflow Versioning and Conflict Mitigation](/refguide10/workflow-versioning/) diff --git a/content/en/docs/refguide10/modeling/application-logic/workflows/workflow-elements/user-task.md b/content/en/docs/refguide10/modeling/application-logic/workflows/workflow-elements/user-task.md index c734391c7ec..673bf57d4f4 100644 --- a/content/en/docs/refguide10/modeling/application-logic/workflows/workflow-elements/user-task.md +++ b/content/en/docs/refguide10/modeling/application-logic/workflows/workflow-elements/user-task.md @@ -1,6 +1,6 @@ --- title: "User Task" -url: /refguide/user-task/ +url: /refguide10/user-task/ weight: 70 --- @@ -56,15 +56,15 @@ Possible options of this property are described in the table below: | 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). | +| 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](/refguide10/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](/refguide10/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*. +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](/refguide10/change-workflow-state/#operation) section in *Change Workflow State*. #### XPath Constraint {#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**. Click **Edit** to edit the [XPath constraint](/refguide/xpath-constraints/). +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**. Click **Edit** to edit the [XPath constraint](/refguide10/xpath-constraints/). #### Microflow @@ -142,7 +142,7 @@ In addition to adding new parameters, you can perform the following actions on p ### Boundary Events Section {#boundary-events} -For more information, see [Boundary Events](/refguide/workflow-boundary-events/). +For more information, see [Boundary Events](/refguide10/workflow-boundary-events/). ### Common Section {#common} @@ -150,5 +150,5 @@ For more information, see [Boundary Events](/refguide/workflow-boundary-events/) ## Read More -* [Workflows](/refguide/workflows/) -* [Multi-User Task](/refguide/multi-user-task/) +* [Workflows](/refguide10/workflows/) +* [Multi-User Task](/refguide10/multi-user-task/) diff --git a/content/en/docs/refguide10/modeling/application-logic/workflows/workflow-elements/wait-for-notification.md b/content/en/docs/refguide10/modeling/application-logic/workflows/workflow-elements/wait-for-notification.md index ff06e2a89f4..1ca196cba7c 100644 --- a/content/en/docs/refguide10/modeling/application-logic/workflows/workflow-elements/wait-for-notification.md +++ b/content/en/docs/refguide10/modeling/application-logic/workflows/workflow-elements/wait-for-notification.md @@ -1,6 +1,6 @@ --- title: "Wait for Notification" -url: /refguide/wait-for-notification/ +url: /refguide10/wait-for-notification/ weight: 60 #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. --- @@ -31,7 +31,7 @@ The **Caption** describes what happens in this element. It is displayed under th ### Boundary Events {#boundary-events} -For more information, see [Boundary Events](/refguide/workflow-boundary-events/). +For more information, see [Boundary Events](/refguide10/workflow-boundary-events/). ### Common Section {#common} @@ -39,4 +39,4 @@ For more information, see [Boundary Events](/refguide/workflow-boundary-events/) ## Read More -* [Workflows](/refguide/workflows/) +* [Workflows](/refguide10/workflows/) diff --git a/content/en/docs/refguide10/modeling/application-logic/workflows/workflow-elements/workflow-parameters.md b/content/en/docs/refguide10/modeling/application-logic/workflows/workflow-elements/workflow-parameters.md index 1a895111975..0deaf0dcd05 100644 --- a/content/en/docs/refguide10/modeling/application-logic/workflows/workflow-elements/workflow-parameters.md +++ b/content/en/docs/refguide10/modeling/application-logic/workflows/workflow-elements/workflow-parameters.md @@ -1,6 +1,6 @@ --- title: "Workflow Parameters" -url: /refguide/workflow-parameters/ +url: /refguide10/workflow-parameters/ weight: 20 --- diff --git a/content/en/docs/refguide10/modeling/application-logic/workflows/workflow-engine.md b/content/en/docs/refguide10/modeling/application-logic/workflows/workflow-engine.md index 4500b08bf8c..adb5e732e7c 100644 --- a/content/en/docs/refguide10/modeling/application-logic/workflows/workflow-engine.md +++ b/content/en/docs/refguide10/modeling/application-logic/workflows/workflow-engine.md @@ -1,6 +1,6 @@ --- title: "Workflow Engine" -url: /refguide/workflow-engine/ +url: /refguide10/workflow-engine/ weight: 30 --- @@ -27,7 +27,7 @@ The Workflow Engine stores the state of the workflow instances in the database. Objects of definition-related entities are created automatically by the Workflow Engine when the app is started and are based on the app’s model. The following entities are definition-related: * **System.WorkflowDefinition** – It represents your workflow in the database. This entity gets one object per workflow as defined in your app in Studio Pro. -* **System.WorkflowUserTaskDefinition** – It represents your [user tasks](/refguide/user-task/) and [system activities](/refguide/call-microflow/) in the database. This entity gets one object per user task/system activity inside a workflow as defined in the app in Studio Pro. +* **System.WorkflowUserTaskDefinition** – It represents your [user tasks](/refguide10/user-task/) and [system activities](/refguide10/call-microflow/) in the database. This entity gets one object per user task/system activity inside a workflow as defined in the app in Studio Pro. When a workflow, a user task, or a system activity is deleted from the app, the object remains in the database (you will still be able to create reports with it), however, its attribute **IsObsolete** is set to **true**. @@ -47,13 +47,13 @@ The Workflow Engine stores execution data in regular entities. The purpose of th It represents a running workflow, that is, a workflow instance. As soon as the workflow is initiated (using the **Call workflow** activity in microflows, a client action, or using the corresponding Java API), an object of this entity is created. -The **Name** and **Description** attributes are populated based on the [properties defined in the workflow](/refguide/workflow-properties/). The **DueDate** attribute is based on the configured [Due date workflow property](/refguide/workflow-properties/#due-date). The **StartTime** attribute is set to the current time. The **State** attribute is set to **InProgress**. The **System.Workflow_WorkflowDefinition** association is set to the corresponding **System.WorkflowDefinition** object. The **System.owner** is set to the user initiating the workflow. +The **Name** and **Description** attributes are populated based on the [properties defined in the workflow](/refguide10/workflow-properties/). The **DueDate** attribute is based on the configured [Due date workflow property](/refguide10/workflow-properties/#due-date). The **StartTime** attribute is set to the current time. The **State** attribute is set to **InProgress**. The **System.Workflow_WorkflowDefinition** association is set to the corresponding **System.WorkflowDefinition** object. The **System.owner** is set to the user initiating the workflow. During the execution of the workflow, some of the attributes and associations of the workflow may change as the Workflow Engine uses **System.Workflow** entity to store the current state of the workflow. For more information on different states, see the [Workflow Execution](#execution) section below. When a workflow instance finishes, the object stays in the database. Removing completed and aborted instances from the workflow entity should be done by the app operator. -Security-wise, users with the **Administrator** role can access all instances. Other users can access them only when they are an assigned or a targeted user in one of the associated **System.WorkflowUserTask** instances (you can set that in the [access rules](/refguide/access-rules/) of the **System.Workflow** entity). If other users need to access the **System.Workflow** data, the app developer needs to set [state-change event](/refguide/workflow-properties/#workflow-state-change) in [App Settings](/refguide/app-settings/#events) or in [workflow properties](/refguide/workflow-properties/#events) to copy the data to other entities with more specific security constraints (For an example, see the *OCh_Workflow_State* microflow in the [Workflow Commons](/appstore/modules/workflow-commons/) module). +Security-wise, users with the **Administrator** role can access all instances. Other users can access them only when they are an assigned or a targeted user in one of the associated **System.WorkflowUserTask** instances (you can set that in the [access rules](/refguide10/access-rules/) of the **System.Workflow** entity). If other users need to access the **System.Workflow** data, the app developer needs to set [state-change event](/refguide10/workflow-properties/#workflow-state-change) in [App Settings](/refguide10/app-settings/#events) or in [workflow properties](/refguide10/workflow-properties/#events) to copy the data to other entities with more specific security constraints (For an example, see the *OCh_Workflow_State* microflow in the [Workflow Commons](/appstore/modules/workflow-commons/) module). {{% alert color="warning" %}} For an app developer, it is allowed to change the **Name**, **Description**, and **DueDate** attributes of **System.Workflow** instances. Other attributes or outgoing associations should not be changed. @@ -63,17 +63,17 @@ For an app developer, it is allowed to change the **Name**, **Description**, and When the workflow runs a user task activity, an instance of **System.WorkflowUserTask** is created. -The **Name** and **Description** attributes are populated based on the user task **Task name** and **Task description** properties defined in the [Display Information](/refguide/user-task/#display-info) section. The **DueDate** attribute is based on the configured [Due Date property](/refguide/user-task/#due-date). The **StartTime** is set to the current time, and the **State** is set to **Created**. The **System.WorkflowUserTask_Workflow** association points to the running workflow instance, and the **System.WorkflowUserTask_WorkflowUserTaskDefinition** association points to the corresponding **System.WorkflowUserTaskDefinition** object. The **System.WorkflowUserTask_TargetUsers** is populated based on the [Targeted Users section](/refguide/user-task/#users) in user task properties. +The **Name** and **Description** attributes are populated based on the user task **Task name** and **Task description** properties defined in the [Display Information](/refguide10/user-task/#display-info) section. The **DueDate** attribute is based on the configured [Due Date property](/refguide10/user-task/#due-date). The **StartTime** is set to the current time, and the **State** is set to **Created**. The **System.WorkflowUserTask_Workflow** association points to the running workflow instance, and the **System.WorkflowUserTask_WorkflowUserTaskDefinition** association points to the corresponding **System.WorkflowUserTaskDefinition** object. The **System.WorkflowUserTask_TargetUsers** is populated based on the [Targeted Users section](/refguide10/user-task/#users) in user task properties. -The **System.WorkflowUserTask_Assignee** association is populated by the Workflow Engine upon creation only when there is one targeted user and when **Auto-assign when targeting results in one user** is enabled in the user task properties. App developers may populate this association either by setting the [on-created event](/refguide/user-task/#events) in the properties or later via a user action that assigns the task to the end-user, for example, when an end-user opens a task page and a task is automatically assigned to them. +The **System.WorkflowUserTask_Assignee** association is populated by the Workflow Engine upon creation only when there is one targeted user and when **Auto-assign when targeting results in one user** is enabled in the user task properties. App developers may populate this association either by setting the [on-created event](/refguide10/user-task/#events) in the properties or later via a user action that assigns the task to the end-user, for example, when an end-user opens a task page and a task is automatically assigned to them. -During the process of targeting users, if the configured [on-created event](/refguide/user-task/#events) and user task state-change event (set in [App Settings](/refguide/app-settings/#events) or in [workflow properties](/refguide/workflow-properties/#events)) succeed, the **State** changes to **In Progress**. If one of them fails, the **State** is set to **Failed**. After the user task state is set to **Failed**, the workflow state will be changed to **Failed**. +During the process of targeting users, if the configured [on-created event](/refguide10/user-task/#events) and user task state-change event (set in [App Settings](/refguide10/app-settings/#events) or in [workflow properties](/refguide10/workflow-properties/#events)) succeed, the **State** changes to **In Progress**. If one of them fails, the **State** is set to **Failed**. After the user task state is set to **Failed**, the workflow state will be changed to **Failed**. -Failed workflows can be retried using the **Retry workflow** option of the [Change Workflow State microflow activity](/refguide/change-workflow-state/#operation). This option will attempt to run the user task from the point it failed. When the user task failed because no users were targeted, it is possible to manually correct user targeting and then use the **Retry workflow** option to set the workflow into the in-progress state again. +Failed workflows can be retried using the **Retry workflow** option of the [Change Workflow State microflow activity](/refguide10/change-workflow-state/#operation). This option will attempt to run the user task from the point it failed. When the user task failed because no users were targeted, it is possible to manually correct user targeting and then use the **Retry workflow** option to set the workflow into the in-progress state again. The **System.WorkflowUserTask** entity is used for the Task Inbox. To keep the Task Inbox performant, user task objects are deleted when they are no longer necessary. This happens when the user task state becomes **Completed** or **Aborted**. -Security-wise, users with the **Administrator** role can access all instances. Other users can access only an instance they were targeted for (you can set it in the access rules of the **System.WorkflowUserTask** entity). If other users need to access the **System.Workflow** data, the app developer needs to set the [User task state change property](/refguide/workflow-properties/#user-task-state-change) in workflow properties to copy the data to other entities with more specific security constraints (you can reference the **OCh_WorkflowUserTask_State** microflow as an example from the [Workflow Commons](/appstore/modules/workflow-commons/) module). +Security-wise, users with the **Administrator** role can access all instances. Other users can access only an instance they were targeted for (you can set it in the access rules of the **System.WorkflowUserTask** entity). If other users need to access the **System.Workflow** data, the app developer needs to set the [User task state change property](/refguide10/workflow-properties/#user-task-state-change) in workflow properties to copy the data to other entities with more specific security constraints (you can reference the **OCh_WorkflowUserTask_State** microflow as an example from the [Workflow Commons](/appstore/modules/workflow-commons/) module). {{% alert color="warning" %}} As an app developer you can change the **Name**, **Description**, **DueDate**, **System.WorkflowUserTask_TargetUsers**, and **System.WorkflowUserTask_Assignee** members of **System.WorkflowUserTask** instances. Other attributes or outgoing associations should not be changed. @@ -83,11 +83,11 @@ As an app developer you can change the **Name**, **Description**, **DueDate**, * When a user selects an outcome for a user task, this information is stored as an object in the **System.WorkflowUserTaskOutcome** entity. The user selecting an outcome is stored in the **System.WorkflowUserTaskOutcome_User** association, the user task is stored in the **System.WorkflowUserTaskOutcome_WorkflowUserTask** association, and the outcome and the time are stored in the attributes of **System.WorkflowUserTaskOutcome**. -Security-wise, users with the **Administrator** role can access all instances. Other users can access them only when they are an assigned or a targeted user of the associated user task. If other users need to access the **System.Workflow** data, the app developer needs to set state-change events in [App Settings](/refguide/app-settings/#events) or in [workflow properties](/refguide/workflow-properties/#events) to copy the data to other entities with more specific security constraints. +Security-wise, users with the **Administrator** role can access all instances. Other users can access them only when they are an assigned or a targeted user of the associated user task. If other users need to access the **System.Workflow** data, the app developer needs to set state-change events in [App Settings](/refguide10/app-settings/#events) or in [workflow properties](/refguide10/workflow-properties/#events) to copy the data to other entities with more specific security constraints. ### Action-Related Entities {#action} -Action-related entities are entities that refer to jumping to different activities in a workflow. For more information, see [Jumping to Different Activities in a Workflow](/refguide/jump-to/). +Action-related entities are entities that refer to jumping to different activities in a workflow. For more information, see [Jumping to Different Activities in a Workflow](/refguide10/jump-to/). ## Workflow Execution {#execution} @@ -107,7 +107,7 @@ During execution the System.Workflow object record gets locked beforehand. This The execution of a workflow will load the workflow instance and will try to advance the workflow from the current activity. If this is not possible (the prerequisites for advancing an activity have not been met yet), or when the workflow reaches another activity that has to wait for completion, the workflow is suspended and it stores the new state in the database. The execution of that workflow instance will then stop and the engine may continue executing other workflow instances. For example, when a user task is in progress, the workflow is suspended until the user task is completed. As soon as something happens in the system that may allow a workflow instance to advance again, a workflow execution task will be queued to execute that workflow instance again, which may advance that workflow instance further. When the Workflow Engine reaches the **End** activity, the workflow execution will stop and the state of the workflow instance will become **Completed**. -Before execution, the Workflow Engine verifies whether a workflow is compatible with the latest workflow definition of the app model. If version conflicts are found, the workflow instance becomes incompatible (the **State** attribute becomes **Incompatible** and the **Reason** attribute will contain the description of the conflicts). Next to an **In-Progress** or **Paused** workflow becoming incompatible, it is also possible that an incompatible workflow returns to its previous in-progress/paused state. For more information, see [Workflow Versioning and Conflict Mitigation](/refguide/workflow-versioning/). +Before execution, the Workflow Engine verifies whether a workflow is compatible with the latest workflow definition of the app model. If version conflicts are found, the workflow instance becomes incompatible (the **State** attribute becomes **Incompatible** and the **Reason** attribute will contain the description of the conflicts). Next to an **In-Progress** or **Paused** workflow becoming incompatible, it is also possible that an incompatible workflow returns to its previous in-progress/paused state. For more information, see [Workflow Versioning and Conflict Mitigation](/refguide10/workflow-versioning/). Only workflow instances with the **State** attribute being **InProgress** are executed. @@ -120,25 +120,25 @@ The Workflow Engine queues workflow instances for execution automatically. This * After an outcome has been selected for a user task * After a sub-workflow finishes (either successfully, failing, or being aborted) * After redeployment of a change in the workflow model -* After a workflow activity in microflows (such as [Change workflow state](/refguide/change-workflow-state/) or [Generate jump-to options](/refguide/generate-jump-to-options/)) +* After a workflow activity in microflows (such as [Change workflow state](/refguide10/change-workflow-state/) or [Generate jump-to options](/refguide10/generate-jump-to-options/)) #### Task Queues {#workflow-task-queue} The Workflow Engine uses two different task queues. They can be configured in the **App Settings** > the **Workflows** tab > the **Optimization** section. There is one task queue for workflow execution (the **Workflow instance threads** setting) and one task queue for the execution of all microflows that are executed by the workflow (the **Microflow threads** setting) -The microflows executed on the **Microflow threads** queue include: event handler microflows (set in [App Settings](/refguide/app-settings/#event-handlers) or in [workflow properties](/refguide/workflow-properties/#event-handlers)), workflow state-change events (set in [App Settings](/refguide/app-settings/#events) or in [workflow properties](/refguide/workflow-properties/#events)), user task state-change events (set in [App Settings](/refguide/app-settings/#events) or in [workflow properties](/refguide/workflow-properties/#events)), the [targeted-users microflow](/refguide/user-task/#users) for a user task, the [on-created event](/refguide/user-task/#events) for a user task, the [decision-method microflow](/refguide/multi-user-task/#microflow) for a multi-user task, and the microflow set for a [Call microflow](/refguide/call-microflow/#microflow) activity. +The microflows executed on the **Microflow threads** queue include: event handler microflows (set in [App Settings](/refguide10/app-settings/#event-handlers) or in [workflow properties](/refguide10/workflow-properties/#event-handlers)), workflow state-change events (set in [App Settings](/refguide10/app-settings/#events) or in [workflow properties](/refguide10/workflow-properties/#events)), user task state-change events (set in [App Settings](/refguide10/app-settings/#events) or in [workflow properties](/refguide10/workflow-properties/#events)), the [targeted-users microflow](/refguide10/user-task/#users) for a user task, the [on-created event](/refguide10/user-task/#events) for a user task, the [decision-method microflow](/refguide10/multi-user-task/#microflow) for a multi-user task, and the microflow set for a [Call microflow](/refguide10/call-microflow/#microflow) activity. -When one of these workflow-related tasks fails (the workflow execution fails or the microflow execution fails), the task queue task still succeeds. However, the result is always reflected in the workflow instance (it gets the state **Failed** with an exception in the **Reason** attribute), except for failures with [event handlers](/refguide/workflow-properties/#event-handlers). You can handle the failures from the Workflow administration pages or automate them using event handlers. For more information on possible actions that an administrator can take, see the [Workflow States](#workflow-states) section below. +When one of these workflow-related tasks fails (the workflow execution fails or the microflow execution fails), the task queue task still succeeds. However, the result is always reflected in the workflow instance (it gets the state **Failed** with an exception in the **Reason** attribute), except for failures with [event handlers](/refguide10/workflow-properties/#event-handlers). You can handle the failures from the Workflow administration pages or automate them using event handlers. For more information on possible actions that an administrator can take, see the [Workflow States](#workflow-states) section below. #### Microflow Executions and Transaction Scopes All microflows that are run as part of the workflow are executed as an asynchronous microflow via the task queue. Therefore, microflow execution does not have an impact on the workflow (except that when it finishes successfully, the workflow can continue with the next activity and when it fails, the workflow is marked as failed). This also means that the transaction scope of such microflows only encompass the microflow execution itself. -Failed workflows can be retried using the **Retry workflow** option of the [Change Workflow State microflow activity](/refguide/change-workflow-state/#operation). This option will attempt to run the user task from the point it failed. When the user task failed because no users were targeted, it is possible to manually correct user targeting and then use the **Retry Workflow** option to set the workflow into the in-progress state again. +Failed workflows can be retried using the **Retry workflow** option of the [Change Workflow State microflow activity](/refguide10/change-workflow-state/#operation). This option will attempt to run the user task from the point it failed. When the user task failed because no users were targeted, it is possible to manually correct user targeting and then use the **Retry Workflow** option to set the workflow into the in-progress state again. #### Boundary Events {#boundary-events} -A [boundary event](/refguide/workflow-boundary-events/) is attached to the boundary of an activity. Once the activity begins, the boundary events are initialized. For example, with a timer boundary event, when the set timer expires, the workflow engine checks if the parent activity is in progress. If the parent activity has already been completed, aborted, or has failed, the trigger will be ignored and the boundary path will not be executed. If the workflow is paused or in an incompatible state, the boundary event path will commence its execution once the workflow resumes an in-progress state. Otherwise, if the activity is still ongoing, the boundary event path will initiate its execution. +A [boundary event](/refguide10/workflow-boundary-events/) is attached to the boundary of an activity. Once the activity begins, the boundary events are initialized. For example, with a timer boundary event, when the set timer expires, the workflow engine checks if the parent activity is in progress. If the parent activity has already been completed, aborted, or has failed, the trigger will be ignored and the boundary path will not be executed. If the workflow is paused or in an incompatible state, the boundary event path will commence its execution once the workflow resumes an in-progress state. Otherwise, if the activity is still ongoing, the boundary event path will initiate its execution. Each boundary event can have only one active instance of the event path at a time. @@ -148,7 +148,7 @@ With non-interrupting boundary events, the parent activity remains active/in-pro #### Measures Against Endless Loops -The [Jump activity](/refguide/jump-activity/) allows the workflow to jump to another activity of the same workflow. Jumping back to an earlier activity can create endless loops if defined incorrectly. To prevent endless loops occupying the Workflow Engine, the Workflow Engine executes only a limited amount of activities in the workflow (default number is 50, but it can be changed using the custom Runtime Server setting `com.mendix.workflow.MaxActivityExecutions`). When the limit is reached, the workflow execution stops and the workflow instance is queued for re-execution (which means that it is put at the end of the queue). This queuing mechanism allows other workflow instances to proceed. +The [Jump activity](/refguide10/jump-activity/) allows the workflow to jump to another activity of the same workflow. Jumping back to an earlier activity can create endless loops if defined incorrectly. To prevent endless loops occupying the Workflow Engine, the Workflow Engine executes only a limited amount of activities in the workflow (default number is 50, but it can be changed using the custom Runtime Server setting `com.mendix.workflow.MaxActivityExecutions`). When the limit is reached, the workflow execution stops and the workflow instance is queued for re-execution (which means that it is put at the end of the queue). This queuing mechanism allows other workflow instances to proceed. #### Workflow States {#workflow-states} diff --git a/content/en/docs/refguide10/modeling/application-logic/workflows/workflow-events.md b/content/en/docs/refguide10/modeling/application-logic/workflows/workflow-events.md index 4fde85bf79a..35de0e5a498 100644 --- a/content/en/docs/refguide10/modeling/application-logic/workflows/workflow-events.md +++ b/content/en/docs/refguide10/modeling/application-logic/workflows/workflow-events.md @@ -1,19 +1,19 @@ --- title: "Workflow Events" -url: /refguide/workflow-events/ +url: /refguide10/workflow-events/ weight: 40 --- ## Introduction -The [Workflow Engine](/refguide/workflow-engine/) emits near real-time workflow events. These events provide a great way to build audit trails, handle errors, update KPI dashboards, etc. For example, you can define an event handler that only collects data from user task events. +The [Workflow Engine](/refguide10/workflow-engine/) emits near real-time workflow events. These events provide a great way to build audit trails, handle errors, update KPI dashboards, etc. For example, you can define an event handler that only collects data from user task events. ## Configuration {#configuration} There are two ways in which you can configure workflow-related event handlers: -* The events can be configured via the **Event handlers** setting in [workflow properties](/refguide/workflow-properties/#event-handlers). -* The **Event handlers** setting can also be configured in [App Settings](/refguide/app-settings/#event-handlers): +* The events can be configured via the **Event handlers** setting in [workflow properties](/refguide10/workflow-properties/#event-handlers). +* The **Event handlers** setting can also be configured in [App Settings](/refguide10/app-settings/#event-handlers): {{< figure src="/attachments/refguide10/modeling/application-logic/workflows/workflow-events/event-handler-overview.png" max-width=80% >}} @@ -27,7 +27,7 @@ The image below presents an example of how you can configure an event handler ei ## Event Mechanism {#event-mechanism} -When something happens in the workflow engine, an event is emitted when subscribed to that event. This event is posted asynchronously using the task queue as described in [Workflow Engine](/refguide/workflow-engine/#workflow-task-queue). We take a snapshot of the event state at the time when it occurs to get real-time data. This snapshot data is then converted by the task queue task to the system module non-persistent workflow entities: **WorkflowEvent**, **WorkflowRecord**, and **WorkflowActivityRecord**. +When something happens in the workflow engine, an event is emitted when subscribed to that event. This event is posted asynchronously using the task queue as described in [Workflow Engine](/refguide10/workflow-engine/#workflow-task-queue). We take a snapshot of the event state at the time when it occurs to get real-time data. This snapshot data is then converted by the task queue task to the system module non-persistent workflow entities: **WorkflowEvent**, **WorkflowRecord**, and **WorkflowActivityRecord**. There are a few advantages of this mechanism: @@ -38,7 +38,7 @@ The **WorkflowEvent** entity represents workflow event data at a specific execut * **EventTime** – the time at which the event occurred. * **EventType** – the type of the event being triggered. For more information, see the [Event Types](#workflow-event-types) section below. -* **WorkflowEvent_Initiator** – an association to the current user object which is logged in. The [activity workflow events](/refguide/workflow-events/#activity-event-type) will have an initiator in cases where a user takes some action, otherwise it will be empty. For example, when a user specifies the outcome of a user task or when a user notifies a suspended workflow, then this user becomes the initiator. As a special case, it will also be empty for the **Workflow Initiated** event of a sub-workflow because a sub-workflow is directly related to the [Call workflow](/refguide/call-workflow/) activity. +* **WorkflowEvent_Initiator** – an association to the current user object which is logged in. The [activity workflow events](/refguide10/workflow-events/#activity-event-type) will have an initiator in cases where a user takes some action, otherwise it will be empty. For example, when a user specifies the outcome of a user task or when a user notifies a suspended workflow, then this user becomes the initiator. As a special case, it will also be empty for the **Workflow Initiated** event of a sub-workflow because a sub-workflow is directly related to the [Call workflow](/refguide10/call-workflow/) activity. The **WorkflowActivityRecord** entity represents workflow activity data at a specific execution moment. For example, a snapshot of a workflow activity at the moment when it was completed. @@ -66,7 +66,7 @@ Examples are shown below: * On an abort, all events (for example, **User Task Ended**, **Wait for Notification Ended**, **Call Microflow Ended**, **Call Workflow Ended** and **Workflow Aborted**) will have an identical workflow record, with state **Aborted**. -In the case of workflow [operations](/refguide/change-workflow-state/#operation), the workflow lifecycle events are the last event being triggered and the activity-related events come before that. For example, if you abort a workflow which is currently suspended on a user task, then the **User Task Ended** event is triggered first and later on the **Workflow Aborted** event. +In the case of workflow [operations](/refguide10/change-workflow-state/#operation), the workflow lifecycle events are the last event being triggered and the activity-related events come before that. For example, if you abort a workflow which is currently suspended on a user task, then the **User Task Ended** event is triggered first and later on the **Workflow Aborted** event. ## Event Types {#workflow-event-types} @@ -80,17 +80,17 @@ The event types listed in the tables below correspond to the enumeration values | --- | --- |--- | | Workflow Completed | Triggered when a workflow completes successfully | | | Workflow Initiated | Triggered when a new workflow instance is initiated | | -| Workflow Restarted | Triggered when a workflow is restarted | See the [Operation](/refguide/change-workflow-state/#operation) section in *Change Workflow State* | +| Workflow Restarted | Triggered when a workflow is restarted | See the [Operation](/refguide10/change-workflow-state/#operation) section in *Change Workflow State* | | Workflow Failed | Triggered when a workflow instance fails | When a user task fails, the workflow fails | -| Workflow Aborted | Triggered when a workflow is aborted | See the [Operation](/refguide/change-workflow-state/#operation) section in *Change Workflow State* | -| Workflow Paused | Triggered when a workflow is paused | See the [Operation](/refguide/change-workflow-state/#operation) section in *Change Workflow State* | -| Workflow Unpaused | Triggered when a paused workflow is resumed | See the [Operation](/refguide/change-workflow-state/#operation) section in *Change Workflow State* | -| Workflow Retried | Triggered when a workflow is retried after being failed or incompatible | See the [Operation](/refguide/change-workflow-state/#operation) section in *Change Workflow State* | -| Workflow Updated | Triggered when a parent workflow is put back into progress after the sub-workflow is retried, restarted, or when jump-to option is applied | See the [Operation](/refguide/change-workflow-state/#operation) section in *Change Workflow State* | -| Workflow Upgraded | Triggered when the workflow definition has a new version having non-conflicting changes | See [Successful Upgrades to the Latest Workflow Definition](/refguide/workflow-versioning/#workflow-definition-upgrade) | -| Workflow Conflicted | Triggered when the workflow definition has a new version having conflicting changes | See [Workflow Versioning Conflict Types](/refguide/workflow-versioning/#conflict-types) | -| Workflow Resolved | Triggered when the workflow is continued after being incompatible | See the [Operation](/refguide/change-workflow-state/#operation) section in *Change Workflow State* | -| Workflow Jump-To Option Applied | Triggered when a jump-to option is applied on the workflow | See [Jumping to Different Activities in a Workflow](/refguide/jump-to/) | +| Workflow Aborted | Triggered when a workflow is aborted | See the [Operation](/refguide10/change-workflow-state/#operation) section in *Change Workflow State* | +| Workflow Paused | Triggered when a workflow is paused | See the [Operation](/refguide10/change-workflow-state/#operation) section in *Change Workflow State* | +| Workflow Unpaused | Triggered when a paused workflow is resumed | See the [Operation](/refguide10/change-workflow-state/#operation) section in *Change Workflow State* | +| Workflow Retried | Triggered when a workflow is retried after being failed or incompatible | See the [Operation](/refguide10/change-workflow-state/#operation) section in *Change Workflow State* | +| Workflow Updated | Triggered when a parent workflow is put back into progress after the sub-workflow is retried, restarted, or when jump-to option is applied | See the [Operation](/refguide10/change-workflow-state/#operation) section in *Change Workflow State* | +| Workflow Upgraded | Triggered when the workflow definition has a new version having non-conflicting changes | See [Successful Upgrades to the Latest Workflow Definition](/refguide10/workflow-versioning/#workflow-definition-upgrade) | +| Workflow Conflicted | Triggered when the workflow definition has a new version having conflicting changes | See [Workflow Versioning Conflict Types](/refguide10/workflow-versioning/#conflict-types) | +| Workflow Resolved | Triggered when the workflow is continued after being incompatible | See the [Operation](/refguide10/change-workflow-state/#operation) section in *Change Workflow State* | +| Workflow Jump-To Option Applied | Triggered when a jump-to option is applied on the workflow | See [Jumping to Different Activities in a Workflow](/refguide10/jump-to/) | ### Activity Events {#activity-event-type} @@ -98,22 +98,22 @@ The event types listed in the tables below correspond to the enumeration values | --- | --- | --- | | Start Event Executed | Triggered when the start event is executed | | | End Event Executed | Triggered when the end event is executed | | -| Decision Executed | Triggered when a **Decision** is executed | See [Decision in Workflows](/refguide/decision-in-workflows/) | -| Jump Executed | Triggered when a **Jump** activity is executed | See [Jump Activity](/refguide/jump-activity/) | -| Parallel Split Executed | Triggered when a **Parallel split** activity is started | See [Parallel Split](/refguide/parallel-split/) | +| Decision Executed | Triggered when a **Decision** is executed | See [Decision in Workflows](/refguide10/decision-in-workflows/) | +| Jump Executed | Triggered when a **Jump** activity is executed | See [Jump Activity](/refguide10/jump-activity/) | +| Parallel Split Executed | Triggered when a **Parallel split** activity is started | See [Parallel Split](/refguide10/parallel-split/) | | Parallel Merge Executed | Triggered when all parallel split paths are completed | | -| Call Workflow Started | Triggered in the following cases:
  • Sub-workflow is successfully instantiated
  • Sub-workflow definition is not found (in this case it is triggered together with **Call Workflow Ended** event)
  • Sub-workflow is retried, restarted, or when jump-to option is applied | See [Call Workflow](/refguide/call-workflow/) | -| Call Workflow Ended | Triggered in the following cases:
    • Workflow is **Completed**, **Failed**, or **Aborted**
    • Sub-workflow definition is not found (in this case it is triggered together with **Call Workflow Started** event)
    • Workflow suspended on **Call workflow** activity is aborted, restarted, or when jump-to option is applied
    • Parallel path containing **Call workflow** activity is removed and workflow is continued
    | See [Call Workflow](/refguide/call-workflow/) | -| Call Microflow Started | Triggered when **Call microflow** activity is started | See [Call Microflow](/refguide/call-microflow/) | -| Call Microflow Ended | Triggered in the following situations:
    • Microflow is executed successfully with a valid outcome
    • Workflow suspended on **Call microflow** activity is aborted, restarted, or when jump-to option is applied
    • Parallel path containing **Call microflow** activity is removed and workflow is continued
    • Microflow is executed with an invalid outcome | See [Call Microflow](/refguide/call-microflow/) | -| Wait for Notification Started | Triggered when **Wait for notification** activity is started | See [Wait for Notification](/refguide/wait-for-notification/) | -| Wait for Notification Ended | Triggered in the following situations:
      • Notification is received successfully
      • Workflow suspended on **Wait for notification** activity is aborted, restarted, or when jump-to option is applied
      • Parallel path containing **Wait for notification** activity is removed and workflow is continued | See [Wait for Notification](/refguide/wait-for-notification/) | -| Timer Started | Triggered in the following cases:
        • Timer is successfully scheduled
        • Delay expression results in an empty value
        • Delay expression is invalid (for example, divide by zero error in an expression) | See [Timer](/refguide/timer/) | -| Timer Ended | Triggered in following cases:
          • Timer has expired
          • Delay expression results in an empty value
          • Delay expression in invalid (for example, divide by zero error in expression)
          • Workflow suspended on **Timer** activity is aborted, restarted, or when jump-to option is applied
          • Parallel path containing **Timer** activity is removed and workflow is continued | See [Timer](/refguide/timer/) | -| Non-Interrupting Timer Event Executed | Triggered when the scheduled timer for the non-interrupting boundary event expires | See [Boundary Events](/refguide/workflow-boundary-events/) | -| User Task Started | Triggered in following cases:
            • User targeting is evaluated
            • On-created microflow is successfully scheduled | See [User Task](/refguide/user-task/) or [Multi-User Task](/refguide/multi-user-task/) | +| Call Workflow Started | Triggered in the following cases:
              • Sub-workflow is successfully instantiated
              • Sub-workflow definition is not found (in this case it is triggered together with **Call Workflow Ended** event)
              • Sub-workflow is retried, restarted, or when jump-to option is applied | See [Call Workflow](/refguide10/call-workflow/) | +| Call Workflow Ended | Triggered in the following cases:
                • Workflow is **Completed**, **Failed**, or **Aborted**
                • Sub-workflow definition is not found (in this case it is triggered together with **Call Workflow Started** event)
                • Workflow suspended on **Call workflow** activity is aborted, restarted, or when jump-to option is applied
                • Parallel path containing **Call workflow** activity is removed and workflow is continued
                | See [Call Workflow](/refguide10/call-workflow/) | +| Call Microflow Started | Triggered when **Call microflow** activity is started | See [Call Microflow](/refguide10/call-microflow/) | +| Call Microflow Ended | Triggered in the following situations:
                • Microflow is executed successfully with a valid outcome
                • Workflow suspended on **Call microflow** activity is aborted, restarted, or when jump-to option is applied
                • Parallel path containing **Call microflow** activity is removed and workflow is continued
                • Microflow is executed with an invalid outcome | See [Call Microflow](/refguide10/call-microflow/) | +| Wait for Notification Started | Triggered when **Wait for notification** activity is started | See [Wait for Notification](/refguide10/wait-for-notification/) | +| Wait for Notification Ended | Triggered in the following situations:
                  • Notification is received successfully
                  • Workflow suspended on **Wait for notification** activity is aborted, restarted, or when jump-to option is applied
                  • Parallel path containing **Wait for notification** activity is removed and workflow is continued | See [Wait for Notification](/refguide10/wait-for-notification/) | +| Timer Started | Triggered in the following cases:
                    • Timer is successfully scheduled
                    • Delay expression results in an empty value
                    • Delay expression is invalid (for example, divide by zero error in an expression) | See [Timer](/refguide10/timer/) | +| Timer Ended | Triggered in following cases:
                      • Timer has expired
                      • Delay expression results in an empty value
                      • Delay expression in invalid (for example, divide by zero error in expression)
                      • Workflow suspended on **Timer** activity is aborted, restarted, or when jump-to option is applied
                      • Parallel path containing **Timer** activity is removed and workflow is continued | See [Timer](/refguide10/timer/) | +| Non-Interrupting Timer Event Executed | Triggered when the scheduled timer for the non-interrupting boundary event expires | See [Boundary Events](/refguide10/workflow-boundary-events/) | +| User Task Started | Triggered in following cases:
                        • User targeting is evaluated
                        • On-created microflow is successfully scheduled | See [User Task](/refguide10/user-task/) or [Multi-User Task](/refguide10/multi-user-task/) | | Multi-User Task Outcome Selected | Triggered when a vote is specified for a multi-user task | | -| User Task Ended | Triggered in following cases:
                          • User task fails
                          • Workflow suspended on a user task is aborted, restarted, or when jump-to option is applied
                          • Parallel path containing a user task is removed and workflow is continued | See [User Task](/refguide/user-task/) or [Multi-User Task](/refguide/multi-user-task/)

                            User task can fail due to the following reasons:
                            • On-created microflow fails
                            • When number of required users is more than the targeted users in a multi-user task

                              {{% alert color="info" %}}**WorkflowActivityRecord** for failure cases will have the **Failed** activity state.

                              **WorkflowActivityRecord** will only have one actor in the case of a single-user task.{{% /alert %}} | +| User Task Ended | Triggered in following cases:
                              • User task fails
                              • Workflow suspended on a user task is aborted, restarted, or when jump-to option is applied
                              • Parallel path containing a user task is removed and workflow is continued | See [User Task](/refguide10/user-task/) or [Multi-User Task](/refguide10/multi-user-task/)

                                User task can fail due to the following reasons:
                                • On-created microflow fails
                                • When number of required users is more than the targeted users in a multi-user task

                                  {{% alert color="info" %}}**WorkflowActivityRecord** for failure cases will have the **Failed** activity state.

                                  **WorkflowActivityRecord** will only have one actor in the case of a single-user task.{{% /alert %}} | ## Sub-Workflows diff --git a/content/en/docs/refguide10/modeling/application-logic/workflows/workflow-how-to-configure.md b/content/en/docs/refguide10/modeling/application-logic/workflows/workflow-how-to-configure.md index 0f8da783c7e..051721ec90d 100644 --- a/content/en/docs/refguide10/modeling/application-logic/workflows/workflow-how-to-configure.md +++ b/content/en/docs/refguide10/modeling/application-logic/workflows/workflow-how-to-configure.md @@ -1,7 +1,7 @@ --- title: "Configuring a Workflow in Studio Pro for the Employee Onboarding Process" linktitle: "Workflow for Employee Onboarding" -url: /refguide/workflow-how-to-configure/ +url: /refguide10/workflow-how-to-configure/ description: "Describes how to configure a workflow in Mendix Studio Pro." weight: 80 aliases: @@ -32,7 +32,7 @@ You would like to build an employee onboarding process. At first, an HR speciali Before starting this how-to, make sure you have completed the following prerequisites: -* Your app includes the [Workflow Commons](https://marketplace.mendix.com/link/component/117066) module. For more information on how to set up Workflow Commons in an existing app, see [Adding a Workflow to an Existing App: Using Workflow Commons](/refguide/workflow-setting-up-app/). +* Your app includes the [Workflow Commons](https://marketplace.mendix.com/link/component/117066) module. For more information on how to set up Workflow Commons in an existing app, see [Adding a Workflow to an Existing App: Using Workflow Commons](/refguide10/workflow-setting-up-app/). * Dashboards and metrics in Workflow Commons v2.1.0 and above depend on state change microflows. Make sure to do the following: @@ -41,9 +41,9 @@ Before starting this how-to, make sure you have completed the following prerequi * Make sure your app has Atlas 3. As a result of installing Atlas 3, your app should contain the following modules that Workflow Commons depends on: Atlas_Core, Atlas_Web_Content, and DataWidgets. -* Familiarize yourself with workflow terms. For more information, see [Workflows](/refguide/workflows/). +* Familiarize yourself with workflow terms. For more information, see [Workflows](/refguide10/workflows/). -* Make sure that the **User entity** is set to *Administration.Account* in your [App Settings](/refguide/app-settings/#workflows) > **Workflows** tab. +* Make sure that the **User entity** is set to *Administration.Account* in your [App Settings](/refguide10/app-settings/#workflows) > **Workflows** tab. * Make sure that the domain model of the module you are working in looks the following way: @@ -128,7 +128,7 @@ You need to create demo users for the newly created app roles to be able to test 1. In the App Explorer, open **App** > **Security** > the **Demo users** tab. 2. Click **New**. 3. In the **Add Demo User** dialog box, set the **User name** to **demo_facilities**. -4. Set the same entity you selected for the **User entity** setting in [App Settings](/refguide/app-settings/#workflows) > **Workflows** tab: set **Entity** to **Administration.Account**. +4. Set the same entity you selected for the **User entity** setting in [App Settings](/refguide10/app-settings/#workflows) > **Workflows** tab: set **Entity** to **Administration.Account**. 5. Assign the corresponding user role in the **User roles** section: select the **Facilities** role and click **OK**. 6. Repeat steps 2-5 to add the **demo_manager** demo user. 7. Repeat steps 2-5 to add the **demo_hr** demo user. @@ -137,7 +137,7 @@ You have configured demo users for your app. ### Configuring Entity Access -The next step in setting up security is to configure the entity access otherwise you might run into consistency errors and the users of your app may see too much or too little information. For more information on what the entity access is, see the [Entity Access](/refguide/module-security/#entity-access) section in *Module Security*. Follow the steps below: +The next step in setting up security is to configure the entity access otherwise you might run into consistency errors and the users of your app may see too much or too little information. For more information on what the entity access is, see the [Entity Access](/refguide10/module-security/#entity-access) section in *Module Security*. Follow the steps below: 1. Open the domain model. 2. Double-click the **EmployeeOnboarding** entity to open its properties. @@ -196,7 +196,7 @@ To create a workflow that you will add activities to and create pages for, do th 2. In the **Add Workflow** dialog box, do the following: 1. Type *Employee_Onboarding* as the **Name** of the workflow. - 2. In the Workflow context section, click **Select** to select an entity. This entity will be used by the [Workflow Context parameter](/refguide/workflow-parameters/) to carry the business data that is added during the execution of the workflow. + 2. In the Workflow context section, click **Select** to select an entity. This entity will be used by the [Workflow Context parameter](/refguide10/workflow-parameters/) to carry the business data that is added during the execution of the workflow. 3. In the **Select Entity** dialog box, select the **EmployeeOnboarding** entity and click **Select**. Good job! You have created a workflow and configured the Workflow Context parameter. @@ -289,7 +289,7 @@ Depending on whether the new hire is working from the office or home, there are Do the following: 1. Open the workflow editor > **Toolbox** and drag the **Decision** activity after the **Manager: Specify Device and Location** user task. -2. Decision means that the workflow path can split and follow one of the outcomes depending on the condition of the decision. For more information, see [Decision in Workflows](/refguide/decision-in-workflows/). Open the decision properties and do the following: +2. Decision means that the workflow path can split and follow one of the outcomes depending on the condition of the decision. For more information, see [Decision in Workflows](/refguide10/decision-in-workflows/). Open the decision properties and do the following: 1. Set the **Caption** to **WFH?**. 2. Click the ellipsis icon in the **Condition** property. @@ -348,7 +348,7 @@ To call a microflow in your workflow, do the following: {{< figure src="/attachments/refguide10/modeling/application-logic/workflows/workflow-how-to-configure/microflow-example.png" alt="Microflow Example" class="no-border" >}} -You can now add the actual desk assignment logic to the microflow, which falls outside the scope of this how-to. For more information on microflows and their properties, see [Microflows](/refguide/microflows/) and [Microflow Properties](/refguide/microflow/). +You can now add the actual desk assignment logic to the microflow, which falls outside the scope of this how-to. For more information on microflows and their properties, see [Microflows](/refguide10/microflows/) and [Microflow Properties](/refguide10/microflow/). Now if the manager indicates that the new employee works from home, the desk prepared by the Facilities department will be assigned to the new employee and will be shown in the system. Congratulations! The onboarding workflow is completed, and you can test it with different roles by running your application locally. @@ -388,7 +388,7 @@ To test your workflow, you need to switch between different user roles. Follow t {{< figure src="/attachments/refguide10/modeling/application-logic/workflows/workflow-how-to-configure/demo_hr.png" alt="EmployeeToOnboard Example" class="no-border" >}} - {{% alert color="info" %}}Now HR can start the onboarding process for the same employee more than once, which is okay for testing purposes, but it is not ideal in reality. A good solution is to add an OnboardingStatus attribute to the **EmployeeOnboarding** entity and configure the **Start Onboarding** button to trigger a microflow that updates the OnboardingStatus and then starts the workflow. Also, add conditional visibility for the **Start Onboarding** button so that it is not visible anymore after the OnboardingStatus is updated after the HR presses the button. For information on how to add conditional visibility for a button, see the [Visibility Section](/refguide/common-widget-properties/#visibility-properties) in *Properties Common in the Page Editor*. This solution, however, falls outside of the scope of the current how-to. {{% /alert %}} + {{% alert color="info" %}}Now HR can start the onboarding process for the same employee more than once, which is okay for testing purposes, but it is not ideal in reality. A good solution is to add an OnboardingStatus attribute to the **EmployeeOnboarding** entity and configure the **Start Onboarding** button to trigger a microflow that updates the OnboardingStatus and then starts the workflow. Also, add conditional visibility for the **Start Onboarding** button so that it is not visible anymore after the OnboardingStatus is updated after the HR presses the button. For information on how to add conditional visibility for a button, see the [Visibility Section](/refguide10/common-widget-properties/#visibility-properties) in *Properties Common in the Page Editor*. This solution, however, falls outside of the scope of the current how-to. {{% /alert %}} 2. Test the process: switch users, view inbox for each user, complete tasks, see how new inbox items are created for the user roles you configured at the next task in the process. 3. Open the Workflow Admin Center. @@ -398,4 +398,4 @@ Great job! You have deployed your app locally and tested your workflow from the ## Read More -* [Adding a Workflow to an Existing App: Using Workflow Commons](/refguide/workflow-setting-up-app/) +* [Adding a Workflow to an Existing App: Using Workflow Commons](/refguide10/workflow-setting-up-app/) diff --git a/content/en/docs/refguide10/modeling/application-logic/workflows/workflow-properties.md b/content/en/docs/refguide10/modeling/application-logic/workflows/workflow-properties.md index f7f78b5d169..a8bd58946b3 100644 --- a/content/en/docs/refguide10/modeling/application-logic/workflows/workflow-properties.md +++ b/content/en/docs/refguide10/modeling/application-logic/workflows/workflow-properties.md @@ -1,12 +1,12 @@ --- title: "Workflow Properties" -url: /refguide/workflow-properties/ +url: /refguide10/workflow-properties/ weight: 25 --- ## Introduction -This document describes workflow properties. For details on what workflows are for and what kind of elements you can use there, see [Workflows](/refguide/workflows/). +This document describes workflow properties. For details on what workflows are for and what kind of elements you can use there, see [Workflows](/refguide10/workflows/). ## Workflow Properties @@ -38,16 +38,16 @@ The **Due date** section properties are described in the table below: ### Event Handlers {#event-handlers} -**Event Handlers** section allows you to override the app-wide event handlers in the **App Settings** and to set workflow-specific event handlers that will be triggered when the workflow or its activities go through the transitions which warrant those workflow events. For more information on app-wide event handlers, see the [Events Handlers](/refguide/app-settings/#event-handlers) section in *App Settings*. +**Event Handlers** section allows you to override the app-wide event handlers in the **App Settings** and to set workflow-specific event handlers that will be triggered when the workflow or its activities go through the transitions which warrant those workflow events. For more information on app-wide event handlers, see the [Events Handlers](/refguide10/app-settings/#event-handlers) section in *App Settings*. An event handler has the following configuration: * **Name** – describes the event handler * **Documentation** – provides more information regarding the usage of the event handler -* **When** – allows you to select the [workflow event types](/refguide/workflow-events/#workflow-event-types), for which the handler should be triggered +* **When** – allows you to select the [workflow event types](/refguide10/workflow-events/#workflow-event-types), for which the handler should be triggered * **Microflow** – allows you to select a microflow that should be triggered for each of the above selected workflow event types -For more information on workflow events, see [Workflow Events](/refguide/workflow-events/). +For more information on workflow events, see [Workflow Events](/refguide10/workflow-events/). {{% alert color="info"%}} You can define multiple workflow-specific event handlers. Even if a single event handler is defined for a specific workflow definition, it overrides all available app-wide event handlers for the workflow instances belonging to that definition. @@ -59,12 +59,12 @@ You can define multiple workflow-specific event handlers. Even if a single event State-change events are deprecated and replaced with the new [event handlers](#event-handlers) above that also contain events for state changes. It is suggested to migrate the microflows to the new event handlers. {{% /alert %}} -**Events** section properties allow you to override app-wide events in the **App Settings** and to set a workflow-specific microflow that will be triggered on a state change of the current workflow and its user tasks. For more information on app-wide events, see the [Events](/refguide/app-settings/#events) section in *App Settings*. +**Events** section properties allow you to override app-wide events in the **App Settings** and to set a workflow-specific microflow that will be triggered on a state change of the current workflow and its user tasks. For more information on app-wide events, see the [Events](/refguide10/app-settings/#events) section in *App Settings*. #### Workflow State Change {#workflow-state-change} {{% alert color="info" %}} -This setting overrides the app-wide setting in the **App Settings**. For more information see the [Workflow State Change](/refguide/app-settings/#workflow-state-change) section in *App Settings*. +This setting overrides the app-wide setting in the **App Settings**. For more information see the [Workflow State Change](/refguide10/app-settings/#workflow-state-change) section in *App Settings*. {{% /alert %}} **Workflow state change** allows you to select a microflow that is triggered when the state of the current workflow has changed, for example, when the workflow is in progress or completed. @@ -72,14 +72,14 @@ This setting overrides the app-wide setting in the **App Settings**. For more in #### User Task State Change {#user-task-state-change} {{% alert color="info" %}} -This setting overrides the app-wide setting in the **App Settings**. For more information see the [User Task State Change](/refguide/app-settings/#user-task-state-change) section in *App Settings*. +This setting overrides the app-wide setting in the **App Settings**. For more information see the [User Task State Change](/refguide10/app-settings/#user-task-state-change) section in *App Settings*. {{% /alert %}} **User task state change** allows you to select a microflow that is triggered when the state of a user task in the current workflow has changed, for example, when the a user task is completed or has failed. ### Admin Page Section {#admin-page} -**Override admin page** is an optional page used for displaying an instance of the workflow to the workflow admin. This overrides a generic page used to display any workflow instances in the app, for example, when you have a **Show workflow admin page** set as an [on-click event](/refguide/on-click-event/#show-workflow-page) or as a [microflow action](/refguide/show-workflow-page/) and would like to override the page selected for this event/action. +**Override admin page** is an optional page used for displaying an instance of the workflow to the workflow admin. This overrides a generic page used to display any workflow instances in the app, for example, when you have a **Show workflow admin page** set as an [on-click event](/refguide10/on-click-event/#show-workflow-page) or as a [microflow action](/refguide10/show-workflow-page/) and would like to override the page selected for this event/action. If you generate the page using the templates in **Workflows Commons** module, these templates contain necessary data containers and associated context entity. @@ -151,4 +151,4 @@ You cannot change the **Name** of the workflow but you can change the [Caption]( ## Read More -* [Workflows](/refguide/workflows/) +* [Workflows](/refguide10/workflows/) diff --git a/content/en/docs/refguide10/modeling/application-logic/workflows/workflow-security.md b/content/en/docs/refguide10/modeling/application-logic/workflows/workflow-security.md index 8545451d1d5..59b830c2089 100644 --- a/content/en/docs/refguide10/modeling/application-logic/workflows/workflow-security.md +++ b/content/en/docs/refguide10/modeling/application-logic/workflows/workflow-security.md @@ -1,6 +1,6 @@ --- title: "Configuring Security for a Workflow Process" -url: /refguide/workflow-security/ +url: /refguide10/workflow-security/ linktitle: "Configure Workflow Security" description: "Describes how to configure security for a workflow in Mendix Studio Pro." weight: 110 @@ -20,7 +20,7 @@ A combination of entity access, page access, and targeted users help you make su If a user does not have an access to an entity, this means they have no access to entity data. You can allow users to **Create**, **Read**, **Write** and/or **Delete** objects of the entity. If a user should be able to only view the page with user tasks assigned to them without making any changes, the **Read** access is sufficient. If a user needs to add, change, and/or delete data, you should allow **Create**, **Write**, and **Delete** objects for the corresponding user role. You can also configure an XPath for detailed access rules. -For more information on the entity access, see the [Entity Access vs. Page Access](/refguide/security/#entity-vs-page-access) section in *Security* and the [Entity Access](/refguide/module-security/#entity-access) section in *Module Security*. +For more information on the entity access, see the [Entity Access vs. Page Access](/refguide10/security/#entity-vs-page-access) section in *Security* and the [Entity Access](/refguide10/module-security/#entity-access) section in *Module Security*. ## Configuring Page Access {#page-access} @@ -28,7 +28,7 @@ For each user task you set a dedicated page where users can view their **Task in The combination of entity access and page access makes sure that only dedicated users can open a user task page and view its data. -For more information on the page access, see the [Page Access](/refguide/module-security/#page-access) section in *Module Security*. +For more information on the page access, see the [Page Access](/refguide10/module-security/#page-access) section in *Module Security*. ## Configuring Targeted Users {#target-users} @@ -48,7 +48,7 @@ This means that the currently logged in user can see WorkflowUserTask data only In the user task properties, you specify what user is targeted for the task (i.e. what user will see the task in the inbox) by writing an XPath expression or a microflow. You can set filters there and specify that only a certain user role can receive a task in their inbox, for example, only users from an IT department. However, the conditions for the **System.WorkflowUserTask** entity mentioned above should be met for the user to see the task. -For more information on user assignment, see the [Targeted Users Section](/refguide/user-task/#users) section in *User Task*. +For more information on user assignment, see the [Targeted Users Section](/refguide10/user-task/#users) section in *User Task*. ## Why the User Does Not See the User Task diff --git a/content/en/docs/refguide10/modeling/application-logic/workflows/workflow-setting-up-app.md b/content/en/docs/refguide10/modeling/application-logic/workflows/workflow-setting-up-app.md index e36ee5cff9d..c4bbd02ef9c 100644 --- a/content/en/docs/refguide10/modeling/application-logic/workflows/workflow-setting-up-app.md +++ b/content/en/docs/refguide10/modeling/application-logic/workflows/workflow-setting-up-app.md @@ -1,7 +1,7 @@ --- title: "Adding a Workflow to an Existing App: Using Workflow Commons" linktitle: "Add Workflow to Existing App" -url: /refguide/workflow-setting-up-app/ +url: /refguide10/workflow-setting-up-app/ description: "Describes how to use Workflow Commons in an existing app in Mendix Studio Pro." weight: 90 #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. @@ -34,7 +34,7 @@ Depending on the required user roles for your application, you may have the need 2. Link the user role to the **Administrator** module role in Workflow Commons. 3. Link the user role to both the **User** and **WorkflowAdministrator** module roles in the System module. -Finally, go to the Workflows tab in your [app settings](/refguide/app-settings/#workflows) and select the same user entity as the one you are using in Workflow Commons. You can then use the properties of this entity to filter the users that can pick up a task in the task's user assignment property. For more information on user task properties, see [User Task](/refguide/user-task/). +Finally, go to the Workflows tab in your [app settings](/refguide10/app-settings/#workflows) and select the same user entity as the one you are using in Workflow Commons. You can then use the properties of this entity to filter the users that can pick up a task in the task's user assignment property. For more information on user task properties, see [User Task](/refguide10/user-task/). ## Customizing Workflow Commons @@ -50,4 +50,4 @@ Mendix recommends the following best practices when working with workflows: ## Read More * [Workflow Commons](/appstore/modules/workflow-commons/) -* [Workflows](/refguide/workflows/) +* [Workflows](/refguide10/workflows/) diff --git a/content/en/docs/refguide10/modeling/application-logic/workflows/workflow-versioning.md b/content/en/docs/refguide10/modeling/application-logic/workflows/workflow-versioning.md index 6b1a6e41b1b..7d7fb95d2c1 100644 --- a/content/en/docs/refguide10/modeling/application-logic/workflows/workflow-versioning.md +++ b/content/en/docs/refguide10/modeling/application-logic/workflows/workflow-versioning.md @@ -1,6 +1,6 @@ --- title: "Workflow Versioning and Conflict Mitigation" -url: /refguide/workflow-versioning/ +url: /refguide10/workflow-versioning/ weight: 120 --- @@ -39,7 +39,7 @@ Any of the following changes are interpreted as non-conflicting: * Changing due dates of a user task * Changing the **Targeted users** settings or the **Completion condition** settings of a multi-user task, resulting in a different number of required participants * Changing the type of decision method in a multi-user task - * changing the settings of a decision method in a multi-user task, resulting in a different final outcome than before (except when the [Microflow decision method](/refguide/multi-user-task/#microflow) is chosen, becasue then we cannot detect a conflict) + * changing the settings of a decision method in a multi-user task, resulting in a different final outcome than before (except when the [Microflow decision method](/refguide10/multi-user-task/#microflow) is chosen, becasue then we cannot detect a conflict) {{% alert color="info" %}} For the changes mentioned above that relate to a multi-user task, they only apply if the multi-user task already has at least one selected outcome. If not, anything can be changed without a conflicting resulting. {{% /alert %}} @@ -100,7 +100,7 @@ You can do one of the following: // END USER CODE ``` - For more information on Java actions, see [Extending Your Application with Custom Java](/refguide/extending-your-application-with-custom-java/). + For more information on Java actions, see [Extending Your Application with Custom Java](/refguide10/extending-your-application-with-custom-java/). * The app developer can revert changes to the original **Workflow** **Context** entity and deploy this change. To prevent this issue, you need to make sure that context objects cannot be deleted while they are still being used in running workflow instances. @@ -116,7 +116,7 @@ This conflict may occur even without deploying a new app version. You can do one of the following: * The workflow can be aborted, for example, by using the **DefaultWorkflowAdmin** page in the Workflow Commons. -* The app developer can create a Java action that uses the `void setWorkflowObject(contextObject: IMendixObject)` method on the `com.mendix.workflows.Workflow` interface to manually set the context object of the workflow parameter context for the right entity. For more information on Java actions, see [Extending Your Application with Custom Java](/refguide/extending-your-application-with-custom-java/). +* The app developer can create a Java action that uses the `void setWorkflowObject(contextObject: IMendixObject)` method on the `com.mendix.workflows.Workflow` interface to manually set the context object of the workflow parameter context for the right entity. For more information on Java actions, see [Extending Your Application with Custom Java](/refguide10/extending-your-application-with-custom-java/). #### Workflow Definition Deleted @@ -135,7 +135,7 @@ You can do one of the following: * The workflow can be aborted, for example, by using the **DefaultWorkflowAdmin** page in the Workflow Commons. * The workflow can be restarted, for example, by using the **DefaultWorkflowAdmin** page in the Workflow Commons. -* The Administrator can apply jumping to different activities. The Workflow Commons module has pages where the Administrator can decide which activity in the workflow to continue from (which activity to jump to). As a developer, you can also use microflow activities [Generate jump-to options](/refguide/generate-jump-to-options/) and [Apply jump-to option](/refguide/apply-jump-to-option/) to build custom pages and logic to migrate running workflow instances. +* The Administrator can apply jumping to different activities. The Workflow Commons module has pages where the Administrator can decide which activity in the workflow to continue from (which activity to jump to). As a developer, you can also use microflow activities [Generate jump-to options](/refguide10/generate-jump-to-options/) and [Apply jump-to option](/refguide10/apply-jump-to-option/) to build custom pages and logic to migrate running workflow instances. * The app developer can revert the change (which adds the activities back) and deploy this version. #### Current Parallel Split Removed diff --git a/content/en/docs/refguide10/modeling/consistency-errors/_index.md b/content/en/docs/refguide10/modeling/consistency-errors/_index.md index 850da7b10b6..d2445d506a3 100644 --- a/content/en/docs/refguide10/modeling/consistency-errors/_index.md +++ b/content/en/docs/refguide10/modeling/consistency-errors/_index.md @@ -1,6 +1,6 @@ --- title: "Consistency Errors" -url: /refguide/consistency-errors/ +url: /refguide10/consistency-errors/ weight: 17 description: "Describes consistency errors in Mendix Studio Pro and the way to fix them." --- @@ -9,7 +9,7 @@ description: "Describes consistency errors in Mendix Studio Pro and the way to f To make sure that your app is always consistent and properly built, Studio Pro does consistency checks when you build your app. -When a consistency check is not met, Studio Pro will notify you about this via consistency errors on the [Errors pane](/refguide/errors-pane/). The errors in pages, microflows, domain models, and document templates will be highlighted: +When a consistency check is not met, Studio Pro will notify you about this via consistency errors on the [Errors pane](/refguide10/errors-pane/). The errors in pages, microflows, domain models, and document templates will be highlighted: {{< figure src="/attachments/refguide10/modeling/consistency-errors/errors-pane.png" alt="Errors Pane" class="no-border" >}} @@ -27,20 +27,20 @@ Double-clicking on the error will take you directly to the element causing the e Errors need to be solved before your app can be deployed. A consistency error can occur in the following editors or functionalities of Studio Pro: -* [Pages](/refguide/consistency-errors-pages/) -* [Navigation](/refguide/consistency-errors-navigation/) -* [Microflows](/refguide/microflows/) -* [Workflows](/refguide/workflows/) -* [Data in the Domain Model](/refguide/domain-model/) -* [Integration](/refguide/integration/) -* [Security](/refguide/security/) +* [Pages](/refguide10/consistency-errors-pages/) +* [Navigation](/refguide10/consistency-errors-navigation/) +* [Microflows](/refguide10/microflows/) +* [Workflows](/refguide10/workflows/) +* [Data in the Domain Model](/refguide10/domain-model/) +* [Integration](/refguide10/integration/) +* [Security](/refguide10/security/) ## Read More -* [Page Editor Consistency Errors](/refguide/consistency-errors-pages/) -* [Navigation Consistency Errors](/refguide/consistency-errors-navigation/) -* [Errors Pane](/refguide/errors-pane/) -* [Pages](/refguide/pages/) -* [Microflows](/refguide/microflows/) -* [Workflows](/refguide/workflows/) -* [Navigation in Mendix](/refguide/navigation/) +* [Page Editor Consistency Errors](/refguide10/consistency-errors-pages/) +* [Navigation Consistency Errors](/refguide10/consistency-errors-navigation/) +* [Errors Pane](/refguide10/errors-pane/) +* [Pages](/refguide10/pages/) +* [Microflows](/refguide10/microflows/) +* [Workflows](/refguide10/workflows/) +* [Navigation in Mendix](/refguide10/navigation/) diff --git a/content/en/docs/refguide10/modeling/consistency-errors/consistency-errors-navigation.md b/content/en/docs/refguide10/modeling/consistency-errors/consistency-errors-navigation.md index 69dec65f657..2e7e64af4ed 100644 --- a/content/en/docs/refguide10/modeling/consistency-errors/consistency-errors-navigation.md +++ b/content/en/docs/refguide10/modeling/consistency-errors/consistency-errors-navigation.md @@ -1,6 +1,6 @@ --- title: "Navigation Consistency Errors" -url: /refguide/consistency-errors-navigation/ +url: /refguide10/consistency-errors-navigation/ description: "Describes consistency errors in Mendix Studio Pro and the way to fix them." #To update screenshots in this document, use the Consistency Errors app. --- @@ -31,7 +31,7 @@ To fix CE1568, pass an object to the page by changing the **On click** property When you set a page with a data view as a menu item, you get a consistency error, because the page expects an object to be passed to it. -For example, you have created a menu item called **Program** for a **Responsive** [profile](/refguide/navigation/#profiles). This menu item opens the **Program** page. However, the **Program** page has a data view on it and expects a *ProgramItem* object to be passed to it, so that it can show the program details of a specific *ProgramItem* on the page. As a result, you get a consistency error, as no object is passed to this page from the navigation. +For example, you have created a menu item called **Program** for a **Responsive** [profile](/refguide10/navigation/#profiles). This menu item opens the **Program** page. However, the **Program** page has a data view on it and expects a *ProgramItem* object to be passed to it, so that it can show the program details of a specific *ProgramItem* on the page. As a result, you get a consistency error, as no object is passed to this page from the navigation. {{< figure src="/attachments/refguide10/modeling/consistency-errors/consistency-errors-navigation/page-expects-an-object-error.png" alt="Scheme Showing the Menu Item Error" class="no-border" >}} @@ -54,7 +54,7 @@ To fix CE0529, you can use a microflow as the home page that opens the preferred #### Error Fix Example for CE0529 {#home-page-expects-an-object} -If you set a page that expects an object to be passed to it as a home page for a [navigation profile](/refguide/navigation/#properties), you will get a consistency error. +If you set a page that expects an object to be passed to it as a home page for a [navigation profile](/refguide10/navigation/#properties), you will get a consistency error. For example, you have added a data view that expects an object of type *Customer* to the home page of the responsive profile, and you get a consistency error. @@ -87,12 +87,12 @@ Now the new object of type *Customer* will be created and passed to the home pag CE0548 error message: *Items with subitems cannot have an action themselves.* -You get CE0548 if you have assigned an [on-click event](/refguide/on-click-event/) to a menu item that has a sub-item, when menu items with have sub-items cannot have on-click events assigned to them. +You get CE0548 if you have assigned an [on-click event](/refguide10/on-click-event/) to a menu item that has a sub-item, when menu items with have sub-items cannot have on-click events assigned to them. To fix CE0548, you need to either set the on-click event of the menu item to *Nothing*, or delete/move the sub-item. ## Read More -* [Navigation](/refguide/navigation/) -* [Microflows](/refguide/microflows/) -* [Microflow Properties](/refguide/microflow/) +* [Navigation](/refguide10/navigation/) +* [Microflows](/refguide10/microflows/) +* [Microflow Properties](/refguide10/microflow/) diff --git a/content/en/docs/refguide10/modeling/consistency-errors/consistency-errors-pages.md b/content/en/docs/refguide10/modeling/consistency-errors/consistency-errors-pages.md index 04de7583292..feb4b15eca9 100644 --- a/content/en/docs/refguide10/modeling/consistency-errors/consistency-errors-pages.md +++ b/content/en/docs/refguide10/modeling/consistency-errors/consistency-errors-pages.md @@ -1,6 +1,6 @@ --- title: "Page Editor Consistency Errors" -url: /refguide/consistency-errors-pages/ +url: /refguide10/consistency-errors-pages/ weight: 10 description: "Describes consistency errors in Mendix Studio Pro and the way to fix them." #To update screenshots in this document, use the Consistency Errors app. @@ -18,7 +18,7 @@ Some errors have error codes and if these errors are described in documentation, ## List View Consistency Errors -If you do not configure a [data source](/refguide/data-sources/) for a [list view](/refguide/list-view/) properly, you get consistency errors. +If you do not configure a [data source](/refguide10/data-sources/) for a [list view](/refguide10/list-view/) properly, you get consistency errors. The scheme below shows that the data source of the list view has been set to **Database**, but the entity that needs to be retrieved from the database has not been specified. This results in a consistency error. @@ -73,7 +73,7 @@ To fix CE0595, open the widget's properties > **Data source** and select another ## Data View Consistency Errors -If you do not configure a [data source](/refguide/data-sources/) for a [data view](/refguide/data-view/) properly, you get consistency errors. +If you do not configure a [data source](/refguide10/data-sources/) for a [data view](/refguide10/data-view/) properly, you get consistency errors. For example, you have selected **Listen to widget** as the data source, but you have not selected the specific **List widget** you are listening to. @@ -167,7 +167,7 @@ To fix CE1568, make sure that the object is passed to the page that has a config When a page expects a context that is not passed to it from a calling page or a microflow, you get consistency errors. -For example, the **Customers** page contains a list view with a list of all customer names (**Customer** is set as **Entity** in the **Data Source** properties), and a **Details** button outside of the list view (placed in a [container](/refguide/container/) only). The **Details** button opens a **Customer Details** page when a user clicks it (the **On Click Action** for the button is set to **Page**). +For example, the **Customers** page contains a list view with a list of all customer names (**Customer** is set as **Entity** in the **Data Source** properties), and a **Details** button outside of the list view (placed in a [container](/refguide10/container/) only). The **Details** button opens a **Customer Details** page when a user clicks it (the **On Click Action** for the button is set to **Page**). {{< figure src="/attachments/refguide10/modeling/consistency-errors/consistency-errors-pages/customers-page.png" alt="Button Properties on the Customers Page" class="no-border" >}} @@ -291,7 +291,7 @@ To fix CE1573, place the widget in a data container and make sure that the data When you set a microflow or a nanoflow as an on-click event for a widget, and this microflow expects an argument (for example, an object) that is not available, this results in an error. -For example, on a page named *Customers* you have a button that calls a microflow (that is an [On click event](/refguide/on-click-event/) of the button is set to *Microflow*). +For example, on a page named *Customers* you have a button that calls a microflow (that is an [On click event](/refguide10/on-click-event/) of the button is set to *Microflow*). However, the microflow contains a parameter *Customer*: @@ -322,7 +322,7 @@ To fix CE1574, make sure that an argument (for example, an object) available for When you set a microflow or nanoflow as an on-click event for a widget, and this microflow/nanoflow expects a certain argument, but a different argument is available to the widget, this results in an error. -For example, on a page named *Customers* you have a button that calls a microflow (that is an [On click event](/refguide/on-click-event/) of the button is set to *Microflow*). +For example, on a page named *Customers* you have a button that calls a microflow (that is an [On click event](/refguide10/on-click-event/) of the button is set to *Microflow*). The microflow contains a parameter *Customer*: @@ -338,7 +338,7 @@ The best way to fix this error is to either change the microflow to accept *Phot ## Input Widget Consistency Errors -The most common errors for input elements, their causes, and ways to fix them are described in the following sub-sections. For more information on input elements, see [Input Elements](/refguide/input-widgets/). +The most common errors for input elements, their causes, and ways to fix them are described in the following sub-sections. For more information on input elements, see [Input Elements](/refguide10/input-widgets/). ### Error Code: CE0544 @@ -369,9 +369,9 @@ Error message: *Association {Name} must be a reference (not a reference set).* You get this error message if you have added a reference selector and then you changed the association from reference type to reference set (from one-to-many or one-to-one to many-to-many). -A reference selector is a widget that is used to display and edit one-to-many or one-to-one associations. For more information on the widget, see [Reference Selector](/refguide/reference-selector/). +A reference selector is a widget that is used to display and edit one-to-many or one-to-one associations. For more information on the widget, see [Reference Selector](/refguide10/reference-selector/). -For example, you have several employees who are associated with one city where they work. This is a one-to-many association: multiple *Employees* objects are associated with one *City* object. Associations that refer to a single object in this manner are *references*, as opposed to *reference sets*, in which multiple objects can refer to multiple other objects. In a reference, the "single object" side of the association is always the association's owner. For more information on associations and their types, see [Associations](/refguide/associations/). +For example, you have several employees who are associated with one city where they work. This is a one-to-many association: multiple *Employees* objects are associated with one *City* object. Associations that refer to a single object in this manner are *references*, as opposed to *reference sets*, in which multiple objects can refer to multiple other objects. In a reference, the "single object" side of the association is always the association's owner. For more information on associations and their types, see [Associations](/refguide10/associations/). {{< figure src="/attachments/refguide10/modeling/consistency-errors/consistency-errors-pages/many-to-one-association.png" alt="One-to-many Association" class="no-border" >}} @@ -399,9 +399,9 @@ Error messages: You get the above error messages if you have added an input reference set selector and then you changed the association from reference set type to reference (from many-to-many to one-to-many or one-to-one). -Reference set selector and input set selector are widgets that are used to display and edit many-to-many associations. For more information on these widgets, see [Reference Set Selector](/refguide/reference-set-selector/) and [Input Reference Set Selector](/refguide/input-reference-set-selector/). +Reference set selector and input set selector are widgets that are used to display and edit many-to-many associations. For more information on these widgets, see [Reference Set Selector](/refguide10/reference-set-selector/) and [Input Reference Set Selector](/refguide10/input-reference-set-selector/). -For example, you have several employees who can visit customers in different cities during the week. Thus, many employees are associated with many cities, this is a many-to-many association between an *Employee* entity and a *City* entity (multiple employees are associated with multiple cities). Associations that refer to multiple objects in this manner are *reference set*. For more information on associations and their types, see [Associations](/refguide/associations/). +For example, you have several employees who can visit customers in different cities during the week. Thus, many employees are associated with many cities, this is a many-to-many association between an *Employee* entity and a *City* entity (multiple employees are associated with multiple cities). Associations that refer to multiple objects in this manner are *reference set*. For more information on associations and their types, see [Associations](/refguide10/associations/). {{< figure src="/attachments/refguide10/modeling/consistency-errors/consistency-errors-pages/many-to-many-association.png" alt="Many-to-many Association" class="no-border" >}} @@ -422,13 +422,13 @@ Changing the domain model can result in other errors. To avoid changing the doma ## Images, Videos and Files Consistency Errors -Images, videos and files should be placed in a data container, otherwise you get consistency errors. Another way to fix consistency errors is to place these widgets in a snippet and configure the snippet. For more information on images, videos, and files, see [Images, Videos, and Files](/refguide/image-and-file-widgets/). +Images, videos and files should be placed in a data container, otherwise you get consistency errors. Another way to fix consistency errors is to place these widgets in a snippet and configure the snippet. For more information on images, videos, and files, see [Images, Videos, and Files](/refguide10/image-and-file-widgets/). The images, videos and files consistency errors are described in the following sub-sections. ### Error Code: CE6810 -CE6810 error message: *A [file manager](/refguide/file-manager/) must be placed in a data view or snippet that is connected to the entity ‘System.FileDocument’ or a specialization.* +CE6810 error message: *A [file manager](/refguide10/file-manager/) must be placed in a data view or snippet that is connected to the entity ‘System.FileDocument’ or a specialization.* You get CE6810 if you have added a file manager to a page, but it is not inside a data view or a snippet that is configured properly. @@ -436,7 +436,7 @@ To fix CE6810, place this widget into a data container. If you want to place it ### Error Code: CE6811 -CE6811 error message: *An [image uploader](/refguide/image-uploader/) must be placed in a data view or snippet that is connected to the entity ‘System.Image’ or a specialization.* +CE6811 error message: *An [image uploader](/refguide10/image-uploader/) must be placed in a data view or snippet that is connected to the entity ‘System.Image’ or a specialization.* You get CE6811 if you have added an image uploader to a page, but it is not inside a data view or a snippet that is configured properly. @@ -446,13 +446,13 @@ To fix CE6811, place this widget into a data container. If you want to place it CE7950 error message: *Move this widget into a data container, for example a data view or list view.* -You get CE7950 if you have added a [dynamic image](/refguide/image-viewer/) to your page, but it is not inside a data view or a list view. +You get CE7950 if you have added a [dynamic image](/refguide10/image-viewer/) to your page, but it is not inside a data view or a list view. To fix CE7950, place this widget inside a data view or a list view. ### Error Code: CE0489 -CE0489 error message: *Select an entity for the data source of this [dynamic image](/refguide/image-viewer/).* +CE0489 error message: *Select an entity for the data source of this [dynamic image](/refguide10/image-viewer/).* You get CE0489 if you have added a dynamic image to a page, it is placed inside a data view or a list view, but an entity for the dynamic image is not specified. @@ -466,11 +466,11 @@ Error message: *No image selected.* You get this error message if you have added an image widget to a page, but do not select an image itself. -To fix this error, open the image properties > **General** > **Image** and select an image. For more information on an image widget, see [Image](/refguide/image/). +To fix this error, open the image properties > **General** > **Image** and select an image. For more information on an image widget, see [Image](/refguide10/image/). ## On Click Event Consistency Errors -You can specify an [On click event](/refguide/on-click-event/) for different widgets, for example, for buttons or images. +You can specify an [On click event](/refguide10/on-click-event/) for different widgets, for example, for buttons or images. The most common on click event consistency errors are connected with not configuring the on click event. @@ -490,4 +490,4 @@ To fix CE1616, change the class name for one of the icon collections. ## Read More -* [Pages](/refguide/pages/) +* [Pages](/refguide10/pages/) diff --git a/content/en/docs/refguide10/modeling/data-types.md b/content/en/docs/refguide10/modeling/data-types.md index 58a8ab11df8..430a94597dd 100644 --- a/content/en/docs/refguide10/modeling/data-types.md +++ b/content/en/docs/refguide10/modeling/data-types.md @@ -1,6 +1,6 @@ --- title: "Data Types" -url: /refguide/data-types/ +url: /refguide10/data-types/ weight: 60 description: "Presents an overview of the data types that Studio Pro supports." #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. @@ -8,7 +8,7 @@ description: "Presents an overview of the data types that Studio Pro supports." ## Introduction -Throughout Studio Pro the same set of data types are used. The exception is the type of [attributes](/refguide/attributes/), which is more specific with regard to storage in the database. In general, an attribute type maps to the data type with the same name. The exceptions are mentioned in the table below. +Throughout Studio Pro the same set of data types are used. The exception is the type of [attributes](/refguide10/attributes/), which is more specific with regard to storage in the database. In general, an attribute type maps to the data type with the same name. The exceptions are mentioned in the table below. ## Data Types Supported {#supported-data-types} @@ -20,13 +20,13 @@ Mendix supports the following data types: | Binary | Binary data such as files and images. | | | Date and time | A point in time consisting of a date and a time component accurate up to milliseconds. | Thursday, 12 February 2015, 14:50:36 | | Decimal | A high-precision fractional number. The Decimal type can be used for high-precision calculations. Use this type to represent amounts of money for example. A Decimal can have up to 20 digits before the decimal point, and up to 8 after. | 3.14, 738000000000.00000001 | -| Enumeration | One of the values of the given [enumeration](/refguide/enumerations/). | Red, Green, Blue; Todo, Running, Done | +| Enumeration | One of the values of the given [enumeration](/refguide10/enumerations/). | Red, Green, Blue; Todo, Running, Done | | Integer/Long | A whole number between -(2^63) and 2^63 - 1. The attribute types AutoNumber, Integer and Long map to this data type. | -42, 0, 123 | -| List | A list of objects of a specific [entity](/refguide/entities/). | | -| Nothing | No value. Can only be used as the return type of a [microflow](/refguide/microflows/). | | -| Object | A single object of a specific [entity](/refguide/entities/). | | +| List | A list of objects of a specific [entity](/refguide10/entities/). | | +| Nothing | No value. Can only be used as the return type of a [microflow](/refguide10/microflows/). | | +| Object | A single object of a specific [entity](/refguide10/entities/). | | | String | A piece of text that can contain letters, numbers, spaces and other characters. The attribute types **String** and **Hashed string** both map to this data type. | 'Hello World!'; 'Desiderius Erasmus' | -If you want to change data from one type to another (for example, to display a number as part of a message in a text box) you will usually need to use an expression to do this. See [Expressions](/refguide/expressions/) for more information on what is available. +If you want to change data from one type to another (for example, to display a number as part of a message in a text box) you will usually need to use an expression to do this. See [Expressions](/refguide10/expressions/) for more information on what is available. An exception is converting an Integer/Long to a Decimal, where conversion is done implicitly if you provide an Integer/Long where a Decimal is expected. diff --git a/content/en/docs/refguide10/modeling/dev-best-practices.md b/content/en/docs/refguide10/modeling/dev-best-practices.md index c1d57ab3041..67c50c8efb5 100644 --- a/content/en/docs/refguide10/modeling/dev-best-practices.md +++ b/content/en/docs/refguide10/modeling/dev-best-practices.md @@ -1,7 +1,7 @@ --- title: "Mendix Best Practices for Development" linktitle: "Best Practices for Development" -url: /refguide/dev-best-practices/ +url: /refguide10/dev-best-practices/ weight: 12 description: "Describes Mendix best practices for developing Mendix applications." aliases: @@ -31,7 +31,7 @@ The language that will be used to develop the application should be determined u There are some reasons why certain parts of an application may use another language. The main reason to make an exception would be within the domain model of an integration module. For example, when the source data model is in another language already. -For more information, see [Translating Your App Content](/refguide/translate-your-app-content/). +For more information, see [Translating Your App Content](/refguide10/translate-your-app-content/). ### App Name @@ -43,7 +43,7 @@ Every app has at least one configuration, but it may have many. Every app starts ### User Roles -The [user roles](/refguide/user-roles/) should have logical names that reflect the different types of users that will use the application. The user roles are singular and use an UpperCamelCase notation, like **FunctionalAdministrator**. User roles are mostly defined in English, but there is an option to name these in a different language, since the user role is visible in the front end. +The [user roles](/refguide10/user-roles/) should have logical names that reflect the different types of users that will use the application. The user roles are singular and use an UpperCamelCase notation, like **FunctionalAdministrator**. User roles are mostly defined in English, but there is an option to name these in a different language, since the user role is visible in the front end. Each user role should correspond to only one module role per module. In other words, a user role should not map to multiple module roles within the same module. This helps to keep the number of applicable module roles for a user to a minimum, which reduces complexity in understanding the security model and reduces the performance impact of complex security rules. @@ -51,7 +51,7 @@ Each user role should correspond to only one module role per module. In other wo Always store secret information in a safe place. A safe place is the database. Use the [Encryption](https://marketplace.mendix.com/link/component/1011) module to encrypt, store, retrieve, and decrypt the information. -In Mendix version 10.9.0 and above, you can also store [private constants](/refguide/configuration/#constants) in configurations. These are encrypted and stored on your local machine so will not be shared with others. In versions of Mendix below 10.9.0, all configuration values are shared. +In Mendix version 10.9.0 and above, you can also store [private constants](/refguide10/configuration/#constants) in configurations. These are encrypted and stored on your local machine so will not be shared with others. In versions of Mendix below 10.9.0, all configuration values are shared. Using either the default value of a constant or the project's shared configuration settings is unsafe. Both these places are readable by others and visible in the version management copies. @@ -65,13 +65,13 @@ Modules should be treated like standalone replaceable services; for example, the #### Module Roles -The [module roles](/refguide/module-security/#module-role) should have logical names that reflect the access they should have within a module. In contrast to the user role, the module role should always be in English, for instance **Administrator** or **Employee**. +The [module roles](/refguide10/module-security/#module-role) should have logical names that reflect the access they should have within a module. In contrast to the user role, the module role should always be in English, for instance **Administrator** or **Employee**. ### Domain Model #### Entity Names -Most of the time, an [entity](/refguide/entities/) reflects a real-world object that people can relate to. Therefore, the entity name should also reflect that object and identify its purpose. There are sometimes app-specific exceptions that lead to creating other types of entity, but that is up to you. The name of an entity is singular since an object is a single instance of the entity. A good example is using **Customer** and not **Customers**. Furthermore, we advise avoiding abbreviations, underscores, mathematical characters or any other special characters in the names of entities. Entity names also use UpperCamelCase, for example, **HousekeepingRecord** or **LogEntry**. +Most of the time, an [entity](/refguide10/entities/) reflects a real-world object that people can relate to. Therefore, the entity name should also reflect that object and identify its purpose. There are sometimes app-specific exceptions that lead to creating other types of entity, but that is up to you. The name of an entity is singular since an object is a single instance of the entity. A good example is using **Customer** and not **Customers**. Furthermore, we advise avoiding abbreviations, underscores, mathematical characters or any other special characters in the names of entities. Entity names also use UpperCamelCase, for example, **HousekeepingRecord** or **LogEntry**. {{% alert color="info" %}} Following these entity naming conventions will prevent issues with naming conflicts between modules and entities. For example, if a module named **Customer** contains an entity named **customer** (note the lower-case "c"), there will be a Java compilation error and the app will not run. Renaming the entity to **Customer** will solve the problem. @@ -79,7 +79,7 @@ Following these entity naming conventions will prevent issues with naming confli #### Entity Attributes -The entity [attribute](/refguide/attributes/) should reflect a property of a real-world object that people can relate to and fits the purpose of that property. We advise avoiding abbreviations, underscores (except in the case described in the next paragraph), mathematical characters or any other special characters in the names. Entity attributes should use UpperCamelCase, for example, **FirstName** or **TelephoneNumber**. +The entity [attribute](/refguide10/attributes/) should reflect a property of a real-world object that people can relate to and fits the purpose of that property. We advise avoiding abbreviations, underscores (except in the case described in the next paragraph), mathematical characters or any other special characters in the names. Entity attributes should use UpperCamelCase, for example, **FirstName** or **TelephoneNumber**. Attributes that do not reflect business-related data, but are only necessary for technical reasons, should start with an underscore (`_`). @@ -91,7 +91,7 @@ A strong indicator for determining whether or not an attribute is business-relat ##### Naming Multiple Associations Between Entities -[Association](/refguide/associations/) names in the domain model are automatically generated by Mendix. The auto-generated names follow the best practice and should be used by default. +[Association](/refguide10/associations/) names in the domain model are automatically generated by Mendix. The auto-generated names follow the best practice and should be used by default. If you have multiple associations between the same entities, Mendix recommends extending the association name. Extending this name with a recognizable purpose clarifies where you should use the association. For example, you can have a relationship between **Person** and **Address**. A person can have multiple addresses but you want to specify what their postal address is and what their delivery address is. An implementation choice could be that you create two associations for that purpose and adjust the names of the associations accordingly. For example, **Person_Address_Delivery**. @@ -125,7 +125,7 @@ Every app has documents that are needed for specific entities. Think of overview ### Microflows {#microflow-naming-conventions} -Generally, [microflow](/refguide/microflows/) names should include the type of event which triggers them, the name of the main entity being processed, and the operation being performed: **{PREFIX}\_{Entity}_{Operation}**. For example, **ACT_Vendor_StartWorkflow**. +Generally, [microflow](/refguide10/microflows/) names should include the type of event which triggers them, the name of the main entity being processed, and the operation being performed: **{PREFIX}\_{Entity}_{Operation}**. For example, **ACT_Vendor_StartWorkflow**. There are exceptions, such as where there is no main entity, or there is another reason to use a different name to improve understandability. The important thing is to make sure the name of the microflow clearly indicates its purpose. @@ -133,7 +133,7 @@ To easily find and recognize the purpose of a microflow, you can use standard pr #### Entity Event Microflows -For some entities you use entity [events](/refguide/events/) that are always triggered when a specific operation is executed on the entity. +For some entities you use entity [events](/refguide10/events/) that are always triggered when a specific operation is executed on the entity. For example, an attribute **TotalOrderAmount** is automatically filled based on the amount values of the order-related order lines. You can define an after-commit event that ensures that **TotalOrderAmount** is updated when a related order line is saved: *ACO_Order_CalculateTotalOrderAmount*. @@ -160,7 +160,7 @@ For attributes, you can choose to store the value in the database or to calculat #### Page-Based Microflows -[Pages](/refguide/pages/) have a number of events that can trigger a microflow. See the following list for the examples and prefixes: +[Pages](/refguide10/pages/) have a number of events that can trigger a microflow. See the following list for the examples and prefixes: | Event Type | Prefix | Used In | | ------------------------- |---------------- |-------- | @@ -172,7 +172,7 @@ For attributes, you can choose to store the value in the database or to calculat #### Workflow Microflows -You can call a microflow from a [workflow](/refguide/workflows/). See the list of examples and prefixes in the table below: +You can call a microflow from a [workflow](/refguide10/workflows/). See the list of examples and prefixes in the table below: | Event Type | Prefix | Description | | ---------------- | ------ | -------------------------------------------------------------- | @@ -182,7 +182,7 @@ You can call a microflow from a [workflow](/refguide/workflows/). See the list o #### Validation Microflows -Microflows that are used for [data validation](/refguide/setting-up-data-validation/) use the prefix **VAL_**. +Microflows that are used for [data validation](/refguide10/setting-up-data-validation/) use the prefix **VAL_**. | Event Type | Prefix | | ---------- | ------ | @@ -190,7 +190,7 @@ Microflows that are used for [data validation](/refguide/setting-up-data-validat #### Scheduled Event Microflows -For the microflow that you use in your [scheduled events](/refguide/scheduled-events/), use the prefix **SCE_**. The event itself should have a descriptive name since it will be shown in the cloud configuration portal. The scheduled event and the microflow should have the same name. +For the microflow that you use in your [scheduled events](/refguide10/scheduled-events/), use the prefix **SCE_**. The event itself should have a descriptive name since it will be shown in the cloud configuration portal. The scheduled event and the microflow should have the same name. | Event Type | Prefix | | --------------- | ------ | @@ -198,7 +198,7 @@ For the microflow that you use in your [scheduled events](/refguide/scheduled-ev #### App Microflows {#app-microflows} -Your [app settings](/refguide/app-settings/) provide three events that can trigger a microflow. In these cases we advise writing out the purpose as a microflow name. These microflows are defined only once per app and should preferably call sub-microflows to do the actual processing. These sub-microflows should have a prefix indicated below: +Your [app settings](/refguide10/app-settings/) provide three events that can trigger a microflow. In these cases we advise writing out the purpose as a microflow name. These microflows are defined only once per app and should preferably call sub-microflows to do the actual processing. These sub-microflows should have a prefix indicated below: | Event Type | Microflow Name | Sub-Microflow Prefix | | --------------- | -------------- | -------------------- | @@ -208,7 +208,7 @@ Your [app settings](/refguide/app-settings/) provide three events that can trigg #### Sub-Microflows -To clearly identify a [sub-microflow](/refguide/extracting-and-using-sub-microflows/), use the prefix **SUB_**. Exceptions can happen if there are other sub-microflow prefixes that are generally accepted too, for instance, the sub-microflow prefixes mentioned in the [App Microflows](#app-microflows) section above. +To clearly identify a [sub-microflow](/refguide10/extracting-and-using-sub-microflows/), use the prefix **SUB_**. Exceptions can happen if there are other sub-microflow prefixes that are generally accepted too, for instance, the sub-microflow prefixes mentioned in the [App Microflows](#app-microflows) section above. | Event Type | Prefix | | ------------- | --------------------------- | @@ -238,7 +238,7 @@ For integrations, you have the following types of microflow: | Published REST service operation microflow | PRS_ | | Published OData service operation microflow | POS_ | -You can also use the [Find Advanced](/refguide/find-and-find-advanced/#find-advanced) option in Studio Pro to search for microflows by service type. +You can also use the [Find Advanced](/refguide10/find-and-find-advanced/#find-advanced) option in Studio Pro to search for microflows by service type. ### Workflows @@ -252,7 +252,7 @@ Guidelines below can help you choose a short yet meaningful name for your workfl #### Layouts and Snippets -[Layouts](/refguide/layout/) and [snippets](/refguide/snippet/) should be identified with prefixes. +[Layouts](/refguide10/layout/) and [snippets](/refguide10/snippet/) should be identified with prefixes. | Document Type | Prefix | | --------------------------- | ------------ | @@ -266,7 +266,7 @@ Guidelines below can help you choose a short yet meaningful name for your workfl #### Enumerations -[Enumerations](/refguide/enumerations/) should be identified with a prefix. The name of the enumeration should reflect its business context, for example, *ENUM_ShippingStatus*. +[Enumerations](/refguide10/enumerations/) should be identified with a prefix. The name of the enumeration should reflect its business context, for example, *ENUM_ShippingStatus*. | Document Type | Prefix | | ------------- |------- | @@ -284,7 +284,7 @@ Pages that are used to make a selection of one object have a suffix of **_Select Pages that are used as a tooltip page should have the suffix **_Tooltip**. -Pages that are called when a [user task](/refguide/user-task/) in a workflow is executed, have suffix **_Workflow**. There is one task page per user task. These pages always have a WorkflowUserTask data view and are specific to performing workflow tasks. +Pages that are called when a [user task](/refguide10/user-task/) in a workflow is executed, have suffix **_Workflow**. There is one task page per user task. These pages always have a WorkflowUserTask data view and are specific to performing workflow tasks. | Page Purpose | Suffix | | ------------------------------------ | ------------ | @@ -311,14 +311,14 @@ Documents used to support integration should have the prefixes listed below. | Deeplink | DL_ | {{% alert color="warning" %}} -The [Deep Link](/appstore/modules/deep-link/) module is deprecated from Studio Pro 10.6.0. It is replaced by [page URLs](/refguide/page-properties/#url) and [microflow URLs](/refguide/microflow/#url). For instructions on migrating to page and microflow URLs, see the [Migrating to Page and Microflow URLs](/appstore/modules/deep-link/#migrate-page-micro) section in *Deep Link*. +The [Deep Link](/appstore/modules/deep-link/) module is deprecated from Studio Pro 10.6.0. It is replaced by [page URLs](/refguide10/page-properties/#url) and [microflow URLs](/refguide10/microflow/#url). For instructions on migrating to page and microflow URLs, see the [Migrating to Page and Microflow URLs](/appstore/modules/deep-link/#migrate-page-micro) section in *Deep Link*. We will continue to actively support this module for Mendix 9. {{% /alert %}} ### Home Pages -You can define the [home pages](/refguide/show-home-page/) per device and role in your navigation. The recommended page names are listed below: +You can define the [home pages](/refguide10/show-home-page/) per device and role in your navigation. The recommended page names are listed below: | Event Type | Device | Page Name | | -------------------- | ------- | ------------------------ | @@ -362,11 +362,11 @@ When using inheritance (specialization/generalization), it is recommended to use #### Delete Behavior -[Delete behavior](/refguide/configuring-a-domain-model/#delete-behavior) must be specified where possible. Delete behavior must, however, never be relied upon when deleting large amounts of data. For performance reasons it is better to explicitly delete dependent objects when doing batch deletes. +[Delete behavior](/refguide10/configuring-a-domain-model/#delete-behavior) must be specified where possible. Delete behavior must, however, never be relied upon when deleting large amounts of data. For performance reasons it is better to explicitly delete dependent objects when doing batch deletes. #### Event Handlers -[Event handlers](/refguide/event-handlers/) on domain entities must be used with a lot of caution. They can quickly result in complex and possibly unexpected behavior when several of them are applied to a single entity. It is often best to make the execution of microflows more explicit by using sub-microflows that are called manually, for example, just before committing an object. +[Event handlers](/refguide10/event-handlers/) on domain entities must be used with a lot of caution. They can quickly result in complex and possibly unexpected behavior when several of them are applied to a single entity. It is often best to make the execution of microflows more explicit by using sub-microflows that are called manually, for example, just before committing an object. ### Microflows {#microflow-dev-best-practices} @@ -380,7 +380,7 @@ Certain cases (such as validation checks) may require this rule to be ignored to #### Documentation and Annotations {#documentation-and-annotations} -All complex microflows (more than ten activities or more than two decisions) should have an [annotation](/refguide/annotations/) describing the purpose of the microflow, expected parameters, and return values. This annotation should be placed at the start, so it is visible when the microflow is opened. This will assist other developers in quickly understanding the general purpose of a microflow, without having to read through it entirely. +All complex microflows (more than ten activities or more than two decisions) should have an [annotation](/refguide10/annotations/) describing the purpose of the microflow, expected parameters, and return values. This annotation should be placed at the start, so it is visible when the microflow is opened. This will assist other developers in quickly understanding the general purpose of a microflow, without having to read through it entirely. Complex, non-standard or integration-related sections in microflows should also have an accompanying annotation. Examples of these are web service calls, custom loops, and Java calls. @@ -410,9 +410,9 @@ The number of parameters for a microflow should be kept to a minimum to facilita #### Error Handling and Logging -Use microflow [error handling](/refguide/error-handling-in-microflows/) for all integration and Java calls. Make sure to determine the correct rollback behavior. Always log the error that occurred, even if the process can continue, this is essential for later analysis of the error. +Use microflow [error handling](/refguide10/error-handling-in-microflows/) for all integration and Java calls. Make sure to determine the correct rollback behavior. Always log the error that occurred, even if the process can continue, this is essential for later analysis of the error. -Complex processes and important business logic (like workflow processing or validations) must include debug and trace [logging](/refguide/logging/). Logging actions must write the current state and progress of the process and must include a request ID or other identifying information. The log node should be the name of the module. This will greatly assist error analysis. +Complex processes and important business logic (like workflow processing or validations) must include debug and trace [logging](/refguide10/logging/). Logging actions must write the current state and progress of the process and must include a request ID or other identifying information. The log node should be the name of the module. This will greatly assist error analysis. #### Validating Inputs in Microflows @@ -454,7 +454,7 @@ Unused and excluded documents should be removed from the model when they are no ### XPath -[XPath](/refguide/xpath/) constraints in any part of the model should be kept as simple as possible. As a general rule, XPaths must not appear when the **Find advanced > XPath** option in Studio Pro is used with all options enabled. +[XPath](/refguide10/xpath/) constraints in any part of the model should be kept as simple as possible. As a general rule, XPaths must not appear when the **Find advanced > XPath** option in Studio Pro is used with all options enabled. ### Security diff --git a/content/en/docs/refguide10/modeling/domain-model/_index.md b/content/en/docs/refguide10/modeling/domain-model/_index.md index 80f0f2e2a2b..65aa1287b9b 100644 --- a/content/en/docs/refguide10/modeling/domain-model/_index.md +++ b/content/en/docs/refguide10/modeling/domain-model/_index.md @@ -1,7 +1,7 @@ --- title: "Data in the Domain Model" linktitle: "Data (Domain Model)" -url: /refguide/domain-model/ +url: /refguide10/domain-model/ weight: 30 description: "Introduces the domain model in Studio Pro." #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. @@ -11,9 +11,9 @@ description: "Introduces the domain model in Studio Pro." The **domain model** describes the information (or data) used by your app in a visual way. The domain model is a data model which abstracts the structure of a relational database management system (RDBMS) which stores the business data which powers your app. See [Implementation](#implementation), below, for information on the relationship between the domain model and the underlying RDBMS. -The domain model is central to the architecture of your application. Each [module](/refguide/modules/) has its own domain model which describes the data used in that module. All modules in an app can use data from all the domain models within the app. +The domain model is central to the architecture of your application. Each [module](/refguide10/modules/) has its own domain model which describes the data used in that module. All modules in an app can use data from all the domain models within the app. -A domain model consists of [entities](/refguide/entities/) with their relationships to other entities represented by [associations](/refguide/associations/). Entities can be one of four types: +A domain model consists of [entities](/refguide10/entities/) with their relationships to other entities represented by [associations](/refguide10/associations/). Entities can be one of four types: * Persistable (blue) – entities which hold app information which needs to be held permanently or shared with other end-users of the app (see [Implementation of Persistable Entities](#implementation), below, for information on how these are implemented) * Non-persistable (orange) – entities which hold app information which is needed while the end-user is using the app but can then be thrown away @@ -21,35 +21,35 @@ A domain model consists of [entities](/refguide/entities/) with their relationsh * View (green) – entities which are the result of a stored OQL query on persistable entities or other view entities (this feature is in beta) {{% alert color="info" %}} -[View entities](/refguide/view-entities/) were introduced in [Studio Pro 10.19](/releasenotes/studio-pro/10.19/) as a beta feature. To enable this feature in your app, set the OQL version to version 2 by clicking **App** > **Settings** > **Runtime**. +[View entities](/refguide10/view-entities/) were introduced in [Studio Pro 10.19](/releasenotes/studio-pro/10.19/) as a beta feature. To enable this feature in your app, set the OQL version to version 2 by clicking **App** > **Settings** > **Runtime**. {{% /alert %}} -You can also add [annotations](/refguide/annotations/) to your domain model to remind yourself, and other team members, how it is to be used. +You can also add [annotations](/refguide10/annotations/) to your domain model to remind yourself, and other team members, how it is to be used. -See [Configuring a Domain Model](/refguide/configuring-a-domain-model/) for information on how to create persistable and non-persistable entities in the domain model of your app modules. See [External Entities](/refguide/external-entities/) for how to add an external entity to your app. +See [Configuring a Domain Model](/refguide10/configuring-a-domain-model/) for information on how to create persistable and non-persistable entities in the domain model of your app modules. See [External Entities](/refguide10/external-entities/) for how to add an external entity to your app. ## Representation of the Domain Model -Below is a domain model that describes customers and orders. The names of the entities are `Customer` and `Order`. The line between them is an association. `Order_Customer`. One customer can have many orders, but each order is for one customer. Within the boxes representing the entities you can see the [attributes](/refguide/attributes/) of the entities together with the [type](/refguide/attributes/#type) of data they hold. There is also a [non-persistable](/refguide/persistability/) entity, `ProductQueryResults`, which is used to record product information which is retrieved from a separate product system, and an [external entity](/refguide/external-entities/), `Products`, which holds a list of products stored in a separate system. +Below is a domain model that describes customers and orders. The names of the entities are `Customer` and `Order`. The line between them is an association. `Order_Customer`. One customer can have many orders, but each order is for one customer. Within the boxes representing the entities you can see the [attributes](/refguide10/attributes/) of the entities together with the [type](/refguide10/attributes/#type) of data they hold. There is also a [non-persistable](/refguide10/persistability/) entity, `ProductQueryResults`, which is used to record product information which is retrieved from a separate product system, and an [external entity](/refguide10/external-entities/), `Products`, which holds a list of products stored in a separate system. {{< figure src="/attachments/refguide10/modeling/domain-model/annotated-domain-model.png" alt="Domain Model annotated with structure" >}} | Element | Displays | | --- | --- | | Annotation | A comment explaining an aspect of the domain model | -| Generalization | Indicates that this entity is based on another entity (see [generalization](/refguide/entities/#generalization) in *Entities*) and will include that entity's attributes and behavior | +| Generalization | Indicates that this entity is based on another entity (see [generalization](/refguide10/entities/#generalization) in *Entities*) and will include that entity's attributes and behavior | | Image | An image which helps to identify the entity | -| Event Handler | An indication that one or more [event handlers](/refguide/event-handlers/) have been set up for this entity | -| Validation Rule | An indication that one or more [validation rules](/refguide/validation-rules/) have been set up for this attribute, the attribute *"FullName"* | +| Event Handler | An indication that one or more [event handlers](/refguide10/event-handlers/) have been set up for this entity | +| Validation Rule | An indication that one or more [validation rules](/refguide10/validation-rules/) have been set up for this attribute, the attribute *"FullName"* | | Calculated Value | An indication that the value of this attribute (*"NameLength"*) is calculated | | Persistable Entity | This is an entity stored permanently in a database | | One | Indicates that one of this entity relates to the quantity of the entity at the other end of the association | -| Association Name | How the [association](/refguide/associations/) will be referred to in the database | +| Association Name | How the [association](/refguide10/associations/) will be referred to in the database | | Many | Indicates that many of these entities relate to the quantity of the entity at the other end of the association | -| Association Owner | An end of an association without an arrow indicates that this entity owns the association (it is also possible for both entities to own the association, see [ownership](/refguide/associations/#ownership) in *Associations* for more information) | -| Entity Name | How the [entity](/refguide/entities/) will be referred to in the database, *Order* | -| Attribute Name | How this [attribute](/refguide/attributes/) will be referred to in the database, *"Number"* | -| Attribute Type | The [type](/refguide/attributes/#type) (*Autonumber*) of data stored in this attribute | +| Association Owner | An end of an association without an arrow indicates that this entity owns the association (it is also possible for both entities to own the association, see [ownership](/refguide10/associations/#ownership) in *Associations* for more information) | +| Entity Name | How the [entity](/refguide10/entities/) will be referred to in the database, *Order* | +| Attribute Name | How this [attribute](/refguide10/attributes/) will be referred to in the database, *"Number"* | +| Attribute Type | The [type](/refguide10/attributes/#type) (*Autonumber*) of data stored in this attribute | | Service Name | The service which provides the data for this external entity | | Non-persistable Entity | This is an entity which is not stored in a database but only stored temporarily within the app | | View Entity | This is an entity which is the result set of a stored OQL query | @@ -57,16 +57,16 @@ Below is a domain model that describes customers and orders. The names of the en ## Implementation of Persistable Entities {#implementation} -While data in non-persistable and external entities is maintained in the memory of the app, every app has its own database or schema where it stores persistable data. This is solely for its own use and cannot be shared with another Mendix app. The persistable (persistent or permanent) data is stored in one of the [supported RDBMSs](/refguide/system-requirements/#databases), depending on where the app is being deployed. For example, an app deployed to Mendix Cloud will use a PostgreSQL database to store its data. The database structure is created during the app deployment to support the domain models in the app. +While data in non-persistable and external entities is maintained in the memory of the app, every app has its own database or schema where it stores persistable data. This is solely for its own use and cannot be shared with another Mendix app. The persistable (persistent or permanent) data is stored in one of the [supported RDBMSs](/refguide10/system-requirements/#databases), depending on where the app is being deployed. For example, an app deployed to Mendix Cloud will use a PostgreSQL database to store its data. The database structure is created during the app deployment to support the domain models in the app. In the database, every entity is stored in a separate table and has columns for the attributes defined in Studio Pro (except those which are calculated) and the system attributes. Each row of the table contains the data for an object of this particular entity type, and every entity table contains a column holding a unique identifier for the object. If an entity has specializations there is also a column indicating which specialization the object belongs to. -Associations are stored in association tables with columns holding the identifiers (ID) of both associated objects. This allows for more flexibility when creating your domain model. In Mendix 10.21 and above, you can also choose to store direct associations for one-to-one and one-to-many associations. For more information, see [Association Storage Options](/refguide/association-storage/). +Associations are stored in association tables with columns holding the identifiers (ID) of both associated objects. This allows for more flexibility when creating your domain model. In Mendix 10.21 and above, you can also choose to store direct associations for one-to-one and one-to-many associations. For more information, see [Association Storage Options](/refguide10/association-storage/). {{% alert color="info" %}} -Mendix apps cannot share data by sharing the same database. If you want two apps to share the same database, then you need to share the data from one app to the other using APIs. In Mendix, these are supported by external entities or the REST and OData services described in the [Integration](/refguide/integration/) section of the Studio Pro Guide. This is referred to as a microservices architecture. +Mendix apps cannot share data by sharing the same database. If you want two apps to share the same database, then you need to share the data from one app to the other using APIs. In Mendix, these are supported by external entities or the REST and OData services described in the [Integration](/refguide10/integration/) section of the Studio Pro Guide. This is referred to as a microservices architecture. -For more information on how the underlying database behaves and why data cannot be shared between apps see [Data Storage](/refguide/data-storage/). +For more information on how the underlying database behaves and why data cannot be shared between apps see [Data Storage](/refguide10/data-storage/). {{% /alert %}} ### Implementation Example @@ -105,7 +105,7 @@ The entity `Order` is stored in the table `module$order` which is shown below. I #### OrderLine Entity {{% alert color="info" %}} -The description of the `OrderLine` includes direct associations, which were introduced in Mendix 10.21.0. See [Association Storage Options](/refguide/association-storage/) for more information. +The description of the `OrderLine` includes direct associations, which were introduced in Mendix 10.21.0. See [Association Storage Options](/refguide10/association-storage/) for more information. {{% /alert %}} The entity `OrderLine` is stored in the table `module$orderline` which is shown below. It is similar to the table of the entity `Order`. `Orderline` also has an association, `OrderLine_Order` associating each order line with the order it belongs to. This is implemented as a direct association, so the information is stored in the `module$orderline` table, as shown below. @@ -119,5 +119,5 @@ The entity `OrderLine` is stored in the table `module$orderline` which is shown ## Read More -* [Configuring a Domain Model](/refguide/configuring-a-domain-model/) -* [Maia Domain Model Generator](/refguide/domain-model-generator/) +* [Configuring a Domain Model](/refguide10/configuring-a-domain-model/) +* [Maia Domain Model Generator](/refguide10/domain-model-generator/) diff --git a/content/en/docs/refguide10/modeling/domain-model/annotations.md b/content/en/docs/refguide10/modeling/domain-model/annotations.md index db4dcbb9aaf..1c300c28b17 100644 --- a/content/en/docs/refguide10/modeling/domain-model/annotations.md +++ b/content/en/docs/refguide10/modeling/domain-model/annotations.md @@ -1,6 +1,6 @@ --- title: "Annotations" -url: /refguide/annotations/ +url: /refguide10/annotations/ weight: 30 #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. --- diff --git a/content/en/docs/refguide10/modeling/domain-model/associations/_index.md b/content/en/docs/refguide10/modeling/domain-model/associations/_index.md index 08e856f77a2..53aade9e713 100644 --- a/content/en/docs/refguide10/modeling/domain-model/associations/_index.md +++ b/content/en/docs/refguide10/modeling/domain-model/associations/_index.md @@ -1,6 +1,6 @@ --- title: "Associations" -url: /refguide/associations/ +url: /refguide10/associations/ weight: 20 #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,35 +10,35 @@ weight: 20 An association describes a relation between entities. In the domain model, an association is represented by a line or arrow between two entities. {{% alert color="info" %}} -Associations between two external entities from the same data source are defined in the originating app and therefore automatically established when the entities are used in a model. For further details, see the [Associations](/refguide/external-entities/#properties) section of *External Entities*. +Associations between two external entities from the same data source are defined in the originating app and therefore automatically established when the entities are used in a model. For further details, see the [Associations](/refguide10/external-entities/#properties) section of *External Entities*. {{% /alert %}} ### Ownership {#ownership} -The value of an association should be viewed and edited from the object of the entity that is the [owner](/refguide/association-member-properties/#owner) of the association. Ownership in an association is signified by an arrow (note that the arrow does not signify direction). Either one entity or both entities can be the owner of the association. If one entity is the owner, there is an arrow that points from the owner to the other entity. If both entities are owners, there is a line between the two entities but no arrow. This is the only way the arrow can be controlled. +The value of an association should be viewed and edited from the object of the entity that is the [owner](/refguide10/association-member-properties/#owner) of the association. Ownership in an association is signified by an arrow (note that the arrow does not signify direction). Either one entity or both entities can be the owner of the association. If one entity is the owner, there is an arrow that points from the owner to the other entity. If both entities are owners, there is a line between the two entities but no arrow. This is the only way the arrow can be controlled. It is important to understand why ownership exists. Ownership is implemented in Mendix so that you can change relationships dynamically rather than being stuck with your first design. For example, if you design something as a [one-to-many association](#one-to-many) and then need it to be a [many-to-many association with default ownership](#many-to-many), you do not need to rebuild your database, because Mendix handles it for you. ### Multiplicity -The [multiplicity](/refguide/association-properties/#multiplicity) (or number of referred objects) of an association is indicated by the number one (`1`) or a star (`*`) at either side of the association. +The [multiplicity](/refguide10/association-properties/#multiplicity) (or number of referred objects) of an association is indicated by the number one (`1`) or a star (`*`) at either side of the association. In the example below, the arrow indicates that **Order** is the owner of the association, and the `1` and `*` indicate that one customer is associated with many orders: {{< figure src="/attachments/refguide10/modeling/domain-model/associations/association-order-customer.png" class="no-border" >}} {{% alert color="info" %}} -An association between a persistable entity and a non-persistable entity must start in the non-persistable entity and have the owner **Default**. For more information on persistable and non-persistable entities, see [Persistability](/refguide/persistability/). +An association between a persistable entity and a non-persistable entity must start in the non-persistable entity and have the owner **Default**. For more information on persistable and non-persistable entities, see [Persistability](/refguide10/persistability/). {{% /alert %}} ## Creating Associations {#creating} -The quickest way to create an association is to draw the association between two entities in a [domain model](/refguide/domain-model/). By default this will create a one-to-many association starting at the owner/many side of the association and ending at the one side of the association. The association will be named by joining the names of the two entities with an underscore. You can then edit the association as discussed in the next section. +The quickest way to create an association is to draw the association between two entities in a [domain model](/refguide10/domain-model/). By default this will create a one-to-many association starting at the owner/many side of the association and ending at the one side of the association. The association will be named by joining the names of the two entities with an underscore. You can then edit the association as discussed in the next section. -You can also create associations between entities in different modules of your app. In this case it is not possible to draw the association. You can create an association to an entity in another module's domain model by creating a new association in the **Association** tab of the entity which owns the association. You can then choose any entity within your app as the target of the association. For more information see [Association Tab Properties](/refguide/association-member-properties/). +You can also create associations between entities in different modules of your app. In this case it is not possible to draw the association. You can create an association to an entity in another module's domain model by creating a new association in the **Association** tab of the entity which owns the association. You can then choose any entity within your app as the target of the association. For more information see [Association Tab Properties](/refguide10/association-member-properties/). {{% alert color="info" %}} -You can create and edit associations only between an external entity and a local entity. However, an external entity cannot be the [owner](/refguide/association-member-properties/#owner) for an association with a local entity. +You can create and edit associations only between an external entity and a local entity. However, an external entity cannot be the [owner](/refguide10/association-member-properties/#owner) for an association with a local entity. {{% /alert %}} {{% alert color="info" %}} @@ -55,7 +55,7 @@ You can edit the association itself. In this case you will define the associatio {{< figure src="/attachments/refguide10/modeling/domain-model/associations/edit-association.png" class="no-border" >}} -For more information see [Association Properties](/refguide/association-properties/). +For more information see [Association Properties](/refguide10/association-properties/). ### Edit from Associations in the Entity @@ -63,7 +63,7 @@ You can edit the associations as members of the entity. In this case you will de {{< figure src="/attachments/refguide10/modeling/domain-model/associations/association-member-properties/edit-entity-association.png" class="no-border" >}} -For more information see [Association Tab Properties](/refguide/association-member-properties/). +For more information see [Association Tab Properties](/refguide10/association-member-properties/). ### Move the Association Arrow diff --git a/content/en/docs/refguide10/modeling/domain-model/associations/association-member-properties.md b/content/en/docs/refguide10/modeling/domain-model/associations/association-member-properties.md index 982578b3fc0..c1af200ff03 100644 --- a/content/en/docs/refguide10/modeling/domain-model/associations/association-member-properties.md +++ b/content/en/docs/refguide10/modeling/domain-model/associations/association-member-properties.md @@ -1,14 +1,14 @@ --- title: "Association Tab Properties" -url: /refguide/association-member-properties/ +url: /refguide10/association-member-properties/ weight: 15 --- ## Introduction -There are two ways to edit the properties of an [association](/refguide/associations/). This document describes the properties you can edit from the **Associations** tab in the entity properties. If you want to edit the association as described in [Association Properties](/refguide/association-properties/), you can click **Edit** to open the association properties dialog. +There are two ways to edit the properties of an [association](/refguide10/associations/). This document describes the properties you can edit from the **Associations** tab in the entity properties. If you want to edit the association as described in [Association Properties](/refguide10/association-properties/), you can click **Edit** to open the association properties dialog. -For more information on associations, see [Associations](/refguide/associations/). +For more information on associations, see [Associations](/refguide10/associations/). ## Properties @@ -30,7 +30,7 @@ You can sort the list of associations by any of these properties (ascending or d The name of the association is used to refer to it. For example, in forms or microflows. {{% alert color="info" %}} -You cannot change this name in the association tab. To change the name, click **Edit** (or double-click the association name) to open the [Association Properties](/refguide/association-properties/). +You cannot change this name in the association tab. To change the name, click **Edit** (or double-click the association name) to open the [Association Properties](/refguide10/association-properties/). {{% /alert %}} ### Type {#type} @@ -72,7 +72,7 @@ So, for a one-to-many association the *many* end owns the association to ensure #### Association Recording -An association is recorded in the object which owns it. If both objects own the association, then the association is recorded with both objects. You can see examples of where the associations are recorded in the [Association Examples](/refguide/associations/#examples) section of *Associations*. +An association is recorded in the object which owns it. If both objects own the association, then the association is recorded with both objects. You can see examples of where the associations are recorded in the [Association Examples](/refguide10/associations/#examples) section of *Associations*. Where the association is recorded has an important impact on the user of reference and reference set selectors in your app. The selector can only be inside a data view containing the *owning* object. This is because it is only when you commit the owning object that the association is recorded. @@ -88,7 +88,7 @@ Recording the association on only one of the entities does not affect your abili ### Type and Owner Relationship with Multiplicity and Navigability {#types} -**Type** and **Owner** properties of an entity are related to [Multiplicity](/refguide/association-properties/#multiplicity) and [Navigability](/refguide/association-properties/#navigability) properties of an association. When you change **Type** or **Owner**, you change **Multiplicity** and **Navigability** as well. +**Type** and **Owner** properties of an entity are related to [Multiplicity](/refguide10/association-properties/#multiplicity) and [Navigability](/refguide10/association-properties/#navigability) properties of an association. When you change **Type** or **Owner**, you change **Multiplicity** and **Navigability** as well. You can find the correspondence between **Type**/**Owner** and **Multiplicity**/**Navigability** in the table below. @@ -99,7 +99,7 @@ You can find the correspondence between **Type**/**Owner** and **Multiplicity**/ | Many-to-many | X objects refer to Y objects | Reference set | Default | | Many-to-many | X and Y objects refer to each other | Reference set | Both | -For more information on multiplicity and navigability, see the [Multiplicity](/refguide/association-properties/#multiplicity) and [Navigability](/refguide/association-properties/#navigability) sections in *Association Properties*. +For more information on multiplicity and navigability, see the [Multiplicity](/refguide10/association-properties/#multiplicity) and [Navigability](/refguide10/association-properties/#navigability) sections in *Association Properties*. ## Parent/Child {#parent-child} @@ -107,5 +107,5 @@ Parent and child settings show you the direction of the association. Parent defi ## Read More -* [Association Properties](/refguide/association-properties/) -* [Entities](/refguide/entities/) +* [Association Properties](/refguide10/association-properties/) +* [Entities](/refguide10/entities/) diff --git a/content/en/docs/refguide10/modeling/domain-model/associations/association-properties.md b/content/en/docs/refguide10/modeling/domain-model/associations/association-properties.md index 0b65a7ba23b..686bc1b2a20 100644 --- a/content/en/docs/refguide10/modeling/domain-model/associations/association-properties.md +++ b/content/en/docs/refguide10/modeling/domain-model/associations/association-properties.md @@ -1,18 +1,18 @@ --- title: "Association Properties" -url: /refguide/association-properties/ +url: /refguide10/association-properties/ weight: 10 #If moving or renaming this doc file, implement a temporary redirect and let the respective team know they should update the URL in the product. See Mapping to Products for more details. --- ## Introduction -There are two ways to edit the properties of an [association](/refguide/associations/). This page describes the properties you can edit in the properties pane of the association in the domain model, or from opening the association properties dialog directly from the association or the association tab in the entity properties. +There are two ways to edit the properties of an [association](/refguide10/associations/). This page describes the properties you can edit in the properties pane of the association in the domain model, or from opening the association properties dialog directly from the association or the association tab in the entity properties. -You can also edit an association directly within the association tab in the entity properties. For more information see [Association Tab Properties](/refguide/association-member-properties/). +You can also edit an association directly within the association tab in the entity properties. For more information see [Association Tab Properties](/refguide10/association-member-properties/). {{% alert color="info" %}} -Attributes properties for associated external entities are defined in the originating app and the only local changes that can be applied to these entities is a local name and description. For further information, see the [Attributes](/refguide/external-entities/#attributes) section of *External Entities*. +Attributes properties for associated external entities are defined in the originating app and the only local changes that can be applied to these entities is a local name and description. For further information, see the [Attributes](/refguide10/external-entities/#attributes) section of *External Entities*. {{% /alert %}} ## Association Properties @@ -38,7 +38,7 @@ The name used to refer to the association. For example, in forms or microflows. {{% alert color="info" %}} -This property is only available for add-on and solution modules. For more information on types of modules, see the [Module Types](/refguide/modules/#module-types) section in *Modules*. +This property is only available for add-on and solution modules. For more information on types of modules, see the [Module Types](/refguide10/modules/#module-types) section in *Modules*. {{% /alert %}} @@ -63,7 +63,7 @@ Multiplicity can be of the following types: | One-to-many *(default)*| One X object is associated with multiple Y object | An association of type **Reference** with owner set to **Default** | | Many-to-many | Multiple X objects are associated with multiple Y objects | An association of type **Reference set** – in this case ownership is set by the **Navigability** property | -For more information about association types, see the [Type](/refguide/association-member-properties/#type) section in *Association Tab Properties*, and for information on ownership, see the [Owner](/refguide/association-member-properties/#owner) section in *Association Tab Properties*. +For more information about association types, see the [Type](/refguide10/association-member-properties/#type) section in *Association Tab Properties*, and for information on ownership, see the [Owner](/refguide10/association-member-properties/#owner) section in *Association Tab Properties*. ### Navigability {#navigability} @@ -72,13 +72,13 @@ For more information about association types, see the [Type](/refguide/associati | X objects refer to Y objects *(default)* | The owner of the association is X | An association of type **Reference set** with owner set to **Default** | | X and Y objects refer to each other | Both entities are owners | An association of type **Reference set** with owner set to **Both** | -This corresponds to the **Owner** property for **Reference sets**. See the [Owner](/refguide/association-member-properties/#owner) section of *Association Tab Properties* for a more detailed discussion of the impact of changing navigability. +This corresponds to the **Owner** property for **Reference sets**. See the [Owner](/refguide10/association-member-properties/#owner) section of *Association Tab Properties* for a more detailed discussion of the impact of changing navigability. Despite its name, navigability is usually only important when adding or changing associations. Making one object owner of an association does not prevent you reading the association from the non-owner end. #### One-Way Navigable Associations {#one-way-navigable} -One-way navigable associations are associations that allow navigation to associated entities only in a single direction: from [parent to child](/refguide/association-member-properties/#parent-child). These associations are typically introduced by integration using [external entities](/refguide/external-entities/#associations). The major implications of one-way navigability are related to XPath use cases such as constraints and queries. +One-way navigable associations are associations that allow navigation to associated entities only in a single direction: from [parent to child](/refguide10/association-member-properties/#parent-child). These associations are typically introduced by integration using [external entities](/refguide10/external-entities/#associations). The major implications of one-way navigability are related to XPath use cases such as constraints and queries. You can retrieve data from all other domain model associations in both directions. @@ -119,7 +119,7 @@ This delete behavior is used, for example, if you want to be able to delete a ** {{< figure src="/attachments/refguide10/modeling/domain-model/associations/association-properties/association-prevent-delete.png" >}} {{% alert color="info" %}} -This option is not available for an external entity that is the [child](/refguide/association-member-properties/#parent-child) of an association to a local entity. +This option is not available for an external entity that is the [child](/refguide10/association-member-properties/#parent-child) of an association to a local entity. {{% /alert %}} ### Association Storage{#storage} @@ -128,7 +128,7 @@ This option is not available for an external entity that is the [child](/refguid Association storage was introduced in Mendix 10.21. {{% /alert %}} -In Mendix 10.20 and below, associations are always stored in association tables. This enables you to change the multiplicity easily if your design changed. In Mendix 10.21 and above, you can choose to store associations directly in the owning entity, thus removing the need for an extra association table. For more information, see [Association Storage Options](/refguide/association-storage/). +In Mendix 10.20 and below, associations are always stored in association tables. This enables you to change the multiplicity easily if your design changed. In Mendix 10.21 and above, you can choose to store associations directly in the owning entity, thus removing the need for an extra association table. For more information, see [Association Storage Options](/refguide10/association-storage/). | Association storage | Description | Notes | | --- | --- | --- | @@ -137,4 +137,4 @@ In Mendix 10.20 and below, associations are always stored in association tables. ## Read More -* [Associations](/refguide/associations/) +* [Associations](/refguide10/associations/) diff --git a/content/en/docs/refguide10/modeling/domain-model/associations/association-storage.md b/content/en/docs/refguide10/modeling/domain-model/associations/association-storage.md index 8c58a28e136..20d3428db14 100644 --- a/content/en/docs/refguide10/modeling/domain-model/associations/association-storage.md +++ b/content/en/docs/refguide10/modeling/domain-model/associations/association-storage.md @@ -1,7 +1,7 @@ --- title: "Association Storage Options" linktitle: "Association Storage" -url: /refguide/association-storage/ +url: /refguide10/association-storage/ weight: 25 --- @@ -13,7 +13,7 @@ Association storage options were introduced in Mendix 10.21 to give you more con -Prior to Mendix 10.21, all associations (except the system associations `owner` and `changedby`, where selected) were stored in association tables. This had the advantage that you didn't have to worry about the [multiplicity](/refguide/association-properties/#multiplicity) or [navigability](/refguide/association-properties/#navigability) of the associations. You could change things as your domain model evolved. +Prior to Mendix 10.21, all associations (except the system associations `owner` and `changedby`, where selected) were stored in association tables. This had the advantage that you didn't have to worry about the [multiplicity](/refguide10/association-properties/#multiplicity) or [navigability](/refguide10/association-properties/#navigability) of the associations. You could change things as your domain model evolved. In Mendix 10.21 you can choose to implement some associations as direct associations. This means that the ID of the **Child** object is stored as a foreign key column of the **Parent** object (for example the "many" side of the association) in the underlying database table, thus removing the need for a association table. @@ -29,7 +29,7 @@ In Mendix 10.21 and above, the following defaults apply: * **Upgraded projects** – for projects which are upgraded from an older version of Mendix, all new associations continue to be implemented as association tables {{% alert color="info" %}} -In your app settings you can [change the default](/refguide/app-settings/#miscellaneous) for all new associations. This does not affect existing associations. +In your app settings you can [change the default](/refguide10/app-settings/#miscellaneous) for all new associations. This does not affect existing associations. {{% /alert %}} ## Advantages of Direct Associations @@ -53,10 +53,10 @@ Enabling direct associations is simple, and has the following features: * The choice is reversible – you can decide to revert to using association tables (but see things to think about [before switching to direct associations](#before)) * Direct associations are available in Mendix versions 10.21 and above -* You can [change the default](/refguide/app-settings/#miscellaneous) for all new associations +* You can [change the default](/refguide10/app-settings/#miscellaneous) for all new associations * You can enable it for specific associations -For more information, see the [Association Storage](/refguide/association-properties/#storage) section of *Association Properties*. +For more information, see the [Association Storage](/refguide10/association-properties/#storage) section of *Association Properties*. ## Before Switching to Direct Associations{#before} diff --git a/content/en/docs/refguide10/modeling/domain-model/associations/query-over.md b/content/en/docs/refguide10/modeling/domain-model/associations/query-over.md index 8b952dea8c9..e7f736dfcd9 100644 --- a/content/en/docs/refguide10/modeling/domain-model/associations/query-over.md +++ b/content/en/docs/refguide10/modeling/domain-model/associations/query-over.md @@ -1,6 +1,6 @@ --- title: "Querying Over Self-References" -url: /refguide/query-over/ +url: /refguide10/query-over/ weight: 20 --- @@ -42,7 +42,7 @@ There are six folders in the example above, and the database is structured and t {{< figure src="/attachments/refguide10/modeling/domain-model/associations/query-over/query-over-example-database.png" class="no-border" >}} -For more information on how domain models are implemented in databases, see the [Implementation](/refguide/domain-model/#implementation) section of *Domain Model*. +For more information on how domain models are implemented in databases, see the [Implementation](/refguide10/domain-model/#implementation) section of *Domain Model*. ### Retrieving the SubFolder (or SubFolders) (Children) from a Folder (Parent) @@ -98,7 +98,7 @@ If the $ChosenFolder object is `SubFolder2`, you will retrieve all the **File** ## Associations to Specializations -In the special case of self-reference when a one-to-many association is with a specialization of itself, you cannot retrieve [by association](/refguide/retrieve/#source). +In the special case of self-reference when a one-to-many association is with a specialization of itself, you cannot retrieve [by association](/refguide10/retrieve/#source). Here is an example inheritance: diff --git a/content/en/docs/refguide10/modeling/domain-model/create-a-basic-data-layer.md b/content/en/docs/refguide10/modeling/domain-model/create-a-basic-data-layer.md index dd34797ca57..2543a7a3660 100644 --- a/content/en/docs/refguide10/modeling/domain-model/create-a-basic-data-layer.md +++ b/content/en/docs/refguide10/modeling/domain-model/create-a-basic-data-layer.md @@ -1,20 +1,20 @@ --- title: "Configuring a Domain Model" -url: /refguide/configuring-a-domain-model/ +url: /refguide10/configuring-a-domain-model/ weight: 60 description: "Describes how to create entities and attributes, add enumerations, create associations, and configure the delete behavior for associations with Studio Pro." aliases: - /howto/data-models/create-a-basic-data-layer/ - - /refguide/create-a-basic-data-layer/ + - /refguide10/create-a-basic-data-layer/ --- ## Introduction -This document explains how you can configure a domain model for your application with Mendix. Each application can have multiple [modules](/refguide/modules/), and each module has its own domain model. All the domain models together define the data layer of the application. +This document explains how you can configure a domain model for your application with Mendix. Each application can have multiple [modules](/refguide10/modules/), and each module has its own domain model. All the domain models together define the data layer of the application. -A [domain model](/refguide/domain-model/) consists of entities and associations. An entity is the blueprint for an object in your application, like the **Customer** and **Order** entities mentioned in the following sections. +A [domain model](/refguide10/domain-model/) consists of entities and associations. An entity is the blueprint for an object in your application, like the **Customer** and **Order** entities mentioned in the following sections. -[Associations](/refguide/associations/) define the relation between two entities. As soon as you deploy the application, Mendix takes care of the underlying database for you. This means that you do not have to create tables and write queries yourself. +[Associations](/refguide10/associations/) define the relation between two entities. As soon as you deploy the application, Mendix takes care of the underlying database for you. This means that you do not have to create tables and write queries yourself. This document teaches you how to do the following: @@ -30,12 +30,12 @@ This document also presents [an example for defining the domain model](#example- To create entities and their attributes, follow the steps below. {{% alert color="info" %}} -If you are using Mendix version 10.13.0 or above, you can use the Maia domain model generator to create a domain model based on a description of your requirements. For more information, see [Maia Domain Model Generator](/refguide/domain-model-generator/). +If you are using Mendix version 10.13.0 or above, you can use the Maia domain model generator to create a domain model based on a description of your requirements. For more information, see [Maia Domain Model Generator](/refguide10/domain-model-generator/). The domain model generator is currently an experimental feature. For more information on experimental features, see [Beta and Experimental Releases](/releasenotes/beta-features/). {{% /alert %}} -1. Open your [domain model](/refguide/domain-model/). +1. Open your [domain model](/refguide10/domain-model/). 2. Go to **Toolbox** and drag **Entity** into your domain model. {{< figure src="/attachments/refguide10/modeling/domain-model/create-a-basic-data-layer/toolbox-entity.png" width="300px" class="no-border" >}} @@ -62,7 +62,7 @@ The domain model generator is currently an experimental feature. For more inform ## Adding Enumerations {#add-enumeration} -An [enumeration](/refguide/enumerations/) is a predefined list of values that can be used as an attribute type. This allows end-users to select any of the predefined values for this attribute. A good example of an enumeration is order status (with values open, processing, and complete). +An [enumeration](/refguide10/enumerations/) is a predefined list of values that can be used as an attribute type. This allows end-users to select any of the predefined values for this attribute. A good example of an enumeration is order status (with values open, processing, and complete). To extend the **Order** entity with an enumeration value-based attribute, follow these steps: @@ -93,7 +93,7 @@ To extend the **Order** entity with an enumeration value-based attribute, follow ## Creating Associations -After you created the entities, you can create associations for the entities. For more information, see [Associations](/refguide/associations/). +After you created the entities, you can create associations for the entities. For more information, see [Associations](/refguide10/associations/). To create an association, draw a line from the border of one entity to the border of the other entity. Always start with the entity that can have more instances in the system than the other one. In this case, draw an association from **Order** to **Customer**, because one customer can have multiple orders. @@ -101,7 +101,7 @@ To create an association, draw a line from the border of one entity to the borde ## Multiplicity -This section explains how to change the [multiplicity](/refguide/association-properties/#multiplicity) of associations. +This section explains how to change the [multiplicity](/refguide10/association-properties/#multiplicity) of associations. By default, the domain model editor creates an association with a one-to-many multiplicity. In the above case, a customer can have multiple orders, and an order can only have one customer. @@ -115,11 +115,11 @@ If you want to change the multiplicity, double-click the **Order_Customer** asso {{< figure src="/attachments/refguide10/modeling/domain-model/create-a-basic-data-layer/many-to-many.png" width="500px" class="no-border" >}} - When the association is set to a many-to-many multiplicity, the **Navigability** property is also activated. For further details, see the [Navigability](/refguide/association-properties/#navigability) section in *Association Properties*. + When the association is set to a many-to-many multiplicity, the **Navigability** property is also activated. For further details, see the [Navigability](/refguide10/association-properties/#navigability) section in *Association Properties*. ## Delete Behavior {#delete-behavior} -You can configure the [on delete behavior](/refguide/association-properties/#delete-behavior) for both sides of an association. +You can configure the [on delete behavior](/refguide10/association-properties/#delete-behavior) for both sides of an association. To configure the delete behavior, double-click the **Order_Customer** association to open its **Properties** dialog box: @@ -183,7 +183,7 @@ An example of the domain model for the online shopping app is shown below: * The product information should be divided into the following entities: * **Product** – general information about the product, such as its name, description, and price - * **Product_Image** – each product has an image, but you do not create it as an attribute. You need to create an entity that is a specialization of the **System.Image** entity to allow you to store images. For an example on how to use the specialization of the **System.Image** entity to display images on a page, see [Image Uploader](/refguide/image-uploader/) + * **Product_Image** – each product has an image, but you do not create it as an attribute. You need to create an entity that is a specialization of the **System.Image** entity to allow you to store images. For an example on how to use the specialization of the **System.Image** entity to display images on a page, see [Image Uploader](/refguide10/image-uploader/) * The order information should be divided into the following entities: @@ -204,4 +204,4 @@ The following explains how each entity is associated for the online shopping app ## Read More * [Denormalize Data to Improve Performance](/howto/data-models/denormalize-data-to-improve-performance/) -* [Setting Up Data Validation](/refguide/setting-up-data-validation/) +* [Setting Up Data Validation](/refguide10/setting-up-data-validation/) diff --git a/content/en/docs/refguide10/modeling/domain-model/entities/_index.md b/content/en/docs/refguide10/modeling/domain-model/entities/_index.md index 7d443ed5947..ac3a16bdb7f 100644 --- a/content/en/docs/refguide10/modeling/domain-model/entities/_index.md +++ b/content/en/docs/refguide10/modeling/domain-model/entities/_index.md @@ -1,6 +1,6 @@ --- title: "Entities" -url: /refguide/entities/ +url: /refguide10/entities/ weight: 10 #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. --- @@ -13,7 +13,7 @@ For example, the object representing the CD 'Exodus' could be an instance of the {{< figure src="/attachments/refguide10/modeling/domain-model/entities/example-entity.png" alt="Example of a CD entity" width="650px" class="no-border" >}} -The properties or features of an entity are described using [attributes](/refguide/attributes/). An attribute represents a small piece of information about an entity, such as the name or birth date of a person. +The properties or features of an entity are described using [attributes](/refguide10/attributes/). An attribute represents a small piece of information about an entity, such as the name or birth date of a person. For example, you have a collection of CDs like the one in the table below: @@ -43,11 +43,11 @@ The entity type defines how the data is handled and there are four types: {{< figure src="/attachments/refguide10/modeling/domain-model/entities/type-of-entities.png" width=="300" >}} -The structure of persistable, non-persistable, and view entities are defined within your app. This page describes how to add and update persistable and non-persistable entities. For more information on persistable entities, see [Persistability](/refguide/persistability/). +The structure of persistable, non-persistable, and view entities are defined within your app. This page describes how to add and update persistable and non-persistable entities. For more information on persistable entities, see [Persistability](/refguide10/persistability/). -The structure of an external entity is defined in the source system where the underlying data (objects) is stored. For more information on external entities and how to add them to your app, see [External Entities](/refguide/external-entities/). +The structure of an external entity is defined in the source system where the underlying data (objects) is stored. For more information on external entities and how to add them to your app, see [External Entities](/refguide10/external-entities/). -View entities are defined by their underlying OQL queries, which run on one or more persistable entities or other view entities. For more information, see [View Entities](/refguide/view-entities/). +View entities are defined by their underlying OQL queries, which run on one or more persistable entities or other view entities. For more information, see [View Entities](/refguide10/view-entities/). ## Properties {#properties} @@ -63,7 +63,7 @@ Entity properties consist of the following sections: * [Documentation](#documentation) {{% alert color="info" %}} -For more information on how these properties relate to external entities, see the [Properties](/refguide/external-entities/#properties) section of *External Entities*. +For more information on how these properties relate to external entities, see the [Properties](/refguide10/external-entities/#properties) section of *External Entities*. {{% /alert %}} ### General Section {#entities-general-properties} @@ -84,7 +84,7 @@ The name has to be unique only within the domain model of a module. You can have | Usable | Consumers can see the entity in the domain model and use it in their app. | {{% alert color="info" %}} -**Export level** is only available for add-on and solution modules. For more information on types of modules, see the [Module Types](/refguide/modules/#module-types) section in *Modules*. +**Export level** is only available for add-on and solution modules. For more information on types of modules, see the [Module Types](/refguide10/modules/#module-types) section in *Modules*. If the entity is set to **Hidden**, all attributes will be hidden automatically and cannot be set to **Usable**. {{% /alert %}} @@ -103,7 +103,7 @@ An example of generalization is a situation where you have entities, say a **Stu {{< figure src="/attachments/refguide10/modeling/domain-model/entities/917900.png" class="no-border" >}} -For more information, and a discussion on the relative merits of using generalization or associations, see [Generalization vs 1-1 Associations](/refguide/generalization-and-association/). +For more information, and a discussion on the relative merits of using generalization or associations, see [Generalization vs 1-1 Associations](/refguide10/generalization-and-association/). #### Image {#image} @@ -111,7 +111,7 @@ The image property can be used to associate an image with the entity. In the dom #### Persistable -Define whether instances of this entity can be stored in the database. For more information, see [Persistability](/refguide/persistability/). +Define whether instances of this entity can be stored in the database. For more information, see [Persistability](/refguide10/persistability/). ### System Members Properties{#system-members} @@ -187,7 +187,7 @@ In Mendix 10.19.x and below, the 'changedBy' property is updated whenever a valu #### Access Rules -For more information on access rules, see [Access Rules](/refguide/access-rules/). +For more information on access rules, see [Access Rules](/refguide10/access-rules/). ### Documentation Section {#documentation} @@ -203,12 +203,12 @@ You can also edit an entity by opening the entity properties dialog box. In addition to the properties described above, there are also tabs which allow you to edit the following: -* [Attributes](/refguide/attributes/) -* [Associations](/refguide/associations/) -* [Validation Rules](/refguide/validation-rules/) -* [Event Handlers](/refguide/event-handlers/) -* [Indexes](/refguide/indexes/) -* [Access Rules](/refguide/access-rules/) +* [Attributes](/refguide10/attributes/) +* [Associations](/refguide10/associations/) +* [Validation Rules](/refguide10/validation-rules/) +* [Event Handlers](/refguide10/event-handlers/) +* [Indexes](/refguide10/indexes/) +* [Access Rules](/refguide10/access-rules/) * [Documentation](#documentation-property) See the detailed pages for each of these tabs for more information. diff --git a/content/en/docs/refguide10/modeling/domain-model/entities/access-rules.md b/content/en/docs/refguide10/modeling/domain-model/entities/access-rules.md index ac7fe8d99cb..eeb9ee9e5f4 100644 --- a/content/en/docs/refguide10/modeling/domain-model/entities/access-rules.md +++ b/content/en/docs/refguide10/modeling/domain-model/entities/access-rules.md @@ -1,6 +1,6 @@ --- title: "Access Rules" -url: /refguide/access-rules/ +url: /refguide10/access-rules/ weight: 70 #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. --- @@ -16,12 +16,12 @@ The access rules of an entity define what an end-user is allowed to do with obje A member is an attribute or an association of an entity. -You can also limit the set of objects available for viewing, editing, and removing using an [XPath constraint](/refguide/xpath-constraints/). +You can also limit the set of objects available for viewing, editing, and removing using an [XPath constraint](/refguide10/xpath-constraints/). -Every entity can have multiple access rules which are applicable to one or more [module roles](/refguide/module-security/#module-role). Each access rule grants certain access rights to those roles. Rules are additive, which means that if multiple access rules apply to the same module role, all access rights of those rules are combined for that module role. +Every entity can have multiple access rules which are applicable to one or more [module roles](/refguide10/module-security/#module-role). Each access rule grants certain access rights to those roles. Rules are additive, which means that if multiple access rules apply to the same module role, all access rights of those rules are combined for that module role. {{% alert color="info" %}} -Access rules are not inherited from an entity's [generalization](/refguide/entities/#generalization), because the security for every entity is specified explicitly. So when adding an access rule to an entity, always make sure that all required XPath constraints are applied. If the entity has a generalization with access rules defining XPath constraints, these will not apply to its specializations and will therefore not limit its visibility. +Access rules are not inherited from an entity's [generalization](/refguide10/entities/#generalization), because the security for every entity is specified explicitly. So when adding an access rule to an entity, always make sure that all required XPath constraints are applied. If the entity has a generalization with access rules defining XPath constraints, these will not apply to its specializations and will therefore not limit its visibility. {{% /alert %}} {{% alert color="warning" %}} @@ -31,7 +31,7 @@ The **System.User** entity has inbuilt access rules where access is given to its ## Defining Access Rules {#new-editor} {{% alert color="warning" %}} -The modernized access rule editor was made generally available in Studio Pro version 10.21.0, replacing the old editor. It was also available from Studio Pro version 10.6.0, as a [beta](/releasenotes/beta-features/). The old editor is deprecated and will be removed in Studio Pro version 11.0.0, but you can revert to the old editor in the [Preferences Dialog](/refguide/preferences-dialog/#new-features) +The modernized access rule editor was made generally available in Studio Pro version 10.21.0, replacing the old editor. It was also available from Studio Pro version 10.6.0, as a [beta](/releasenotes/beta-features/). The old editor is deprecated and will be removed in Studio Pro version 11.0.0, but you can revert to the old editor in the [Preferences Dialog](/refguide10/preferences-dialog/#new-features) For guidance on using the old editor, see [Defining Access Rules Using the Old Editor](#old-editor), below. {{% /alert %}} @@ -47,7 +47,7 @@ For Studio Pro versions 10.6.0 through 10.16.0, the modernized access rule edito You can view access rules in the **Access rules** tab of the entity properties dialog. Open this by double clicking on an entity in the domain model. {{% alert color="info" %}} -The **Access rules** section is only visible if the [App Security](/refguide/app-security/) is set to **Production**. +The **Access rules** section is only visible if the [App Security](/refguide10/app-security/) is set to **Production**. {{% /alert %}} ### Editor Layout @@ -106,7 +106,7 @@ The **Owner** button adds an XPath constraint so the access rule is only applied [System.owner='[%CurrentUser%]'] ``` -This constraint is only valid when the [Store 'owner'](/refguide/entities/#store-owner) checkbox in the **System members** section of the entity properties is checked. +This constraint is only valid when the [Store 'owner'](/refguide10/entities/#store-owner) checkbox in the **System members** section of the entity properties is checked. ##### Path to User @@ -169,7 +169,7 @@ If an end-user cannot view the value of an attribute because of security constra Because Mendix is stateless, this can lead to unexpected results (for example, loss of changes) if changes to the attribute in a microflow are not committed immediately. {{% /alert %}} -See [Basic CRUD Communication Pattern](/refguide/communication-patterns/#crud) in *Communication Patterns in the Mendix Runtime* for more information on how data is passed between the Runtime Server and the Mendix Client and what cases may lead to a loss of changes. +See [Basic CRUD Communication Pattern](/refguide10/communication-patterns/#crud) in *Communication Patterns in the Mendix Runtime* for more information on how data is passed between the Runtime Server and the Mendix Client and what cases may lead to a loss of changes. ### New Objects @@ -188,7 +188,7 @@ Non-persistable objects cannot have XPath constraints. ## Defining Access Rules using the Old Editor {#old-editor} {{% alert color="warning" %}} -The old editor is the only one available in versions of Studio Pro below 10.6. From Studio Pro 10.21 it is deprecated and it will be removed in 11.0.0. In the meantime it can still be used by disabling the modern editor in the [Preferences Dialog](/refguide/preferences-dialog/#new-features). +The old editor is the only one available in versions of Studio Pro below 10.6. From Studio Pro 10.21 it is deprecated and it will be removed in 11.0.0. In the meantime it can still be used by disabling the modern editor in the [Preferences Dialog](/refguide10/preferences-dialog/#new-features). {{% /alert %}} An example of the access rules properties is represented in the image below: @@ -242,7 +242,7 @@ The set of objects that can be deleted can be limited by using an [XPath constra #### Member Read and Write Rights Section {#member-access} -**Member read and write rights** define the access rights for every member ([attribute](/refguide/attributes/) or [association](/refguide/associations/)) of the entity. These access rights indicate whether end-users are allowed to view and/or edit the member's value. The set of objects to which these rights apply can be limited by using an [XPath constraint](#xpath-constraint). +**Member read and write rights** define the access rights for every member ([attribute](/refguide10/attributes/) or [association](/refguide10/associations/)) of the entity. These access rights indicate whether end-users are allowed to view and/or edit the member's value. The set of objects to which these rights apply can be limited by using an [XPath constraint](#xpath-constraint). | Value | Description | | --- | --- | @@ -266,7 +266,7 @@ See [Attribute Changes and Security Constraints](#attribute-changes), below, for #### XPath Constraint {#xpath-constraint} -An [XPath constraint](/refguide/xpath-constraints/) can be used to constrain the set of objects to which the access rule applies. If the constraint rule is true, the rule applies to that object. If the XPath constraint is empty, the rule applies to all objects of the entity. +An [XPath constraint](/refguide10/xpath-constraints/) can be used to constrain the set of objects to which the access rule applies. If the constraint rule is true, the rule applies to that object. If the XPath constraint is empty, the rule applies to all objects of the entity. Click **Edit…** to edit the XPath constraint. @@ -286,7 +286,7 @@ The **Owner** button adds an XPath constraint so the access rule is only applied [System.owner='[%CurrentUser%]'] ``` -This constraint is only valid when the [Store 'owner'](/refguide/entities/#store-owner) checkbox in the **System members** section of the entity properties is checked. +This constraint is only valid when the [Store 'owner'](/refguide10/entities/#store-owner) checkbox in the **System members** section of the entity properties is checked. ##### Path to User diff --git a/content/en/docs/refguide10/modeling/domain-model/entities/attributes.md b/content/en/docs/refguide10/modeling/domain-model/entities/attributes.md index 429ea387d47..89f1a41d7a6 100644 --- a/content/en/docs/refguide10/modeling/domain-model/entities/attributes.md +++ b/content/en/docs/refguide10/modeling/domain-model/entities/attributes.md @@ -1,6 +1,6 @@ --- title: "Attributes" -url: /refguide/attributes/ +url: /refguide10/attributes/ weight: 30 #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. --- @@ -21,15 +21,15 @@ The domain model editor uses the following symbols to help visualize attribute p | {{< figure src="/attachments/refguide10/modeling/domain-model/entities/attributes/917592.png" class="no-border" >}} | This attribute has a microflow that calculates the value of the attribute. | {{% alert color="info" %}} -Attributes for external entities are specified in the **External Entity Properties**. These attributes are defined in the originating app and the only local changes that can be applied to these entities is a local name and description. For further information see the [Attributes](/refguide/external-entities/#attributes) section of *External Entities*. +Attributes for external entities are specified in the **External Entity Properties**. These attributes are defined in the originating app and the only local changes that can be applied to these entities is a local name and description. For further information see the [Attributes](/refguide10/external-entities/#attributes) section of *External Entities*. {{% /alert %}} ## Properties -You can add attributes to an entity from the [entity properties dialog box](/refguide/entities/#dialog-box). You can also edit them from this dialog box, or by double-clicking the attribute name in the domain model. +You can add attributes to an entity from the [entity properties dialog box](/refguide10/entities/#dialog-box). You can also edit them from this dialog box, or by double-clicking the attribute name in the domain model. {{% alert color="info" %}} -You can **Add** new attributes to [external entities](/refguide/external-entities/#attributes), **Edit** some of the attribute properties, or **Delete** them. However, the changes will only apply locally, and the values in the originating app will not be affected. For more information on operations on attributes of external entities, see the [Attributes](/refguide/external-entities/#attributes) section of *External Entities*. +You can **Add** new attributes to [external entities](/refguide10/external-entities/#attributes), **Edit** some of the attribute properties, or **Delete** them. However, the changes will only apply locally, and the values in the originating app will not be affected. For more information on operations on attributes of external entities, see the [Attributes](/refguide10/external-entities/#attributes) section of *External Entities*. {{% /alert %}} An example of the attribute properties is represented in the image below: @@ -57,7 +57,7 @@ If you delete an attribute in your entity and then create a new attribute with t {{% alert color="info" %}} -This property is only available for add-on and solution modules. For more information on types of modules, see the [Module Types](/refguide/modules/#module-types) section in *Modules*. +This property is only available for add-on and solution modules. For more information on types of modules, see the [Module Types](/refguide10/modules/#module-types) section in *Modules*. This property will not be shown for attributes if the entity is set to **Hidden**, all attributes will be hidden automatically and cannot be set to **Usable**. @@ -78,10 +78,10 @@ This allows you to describe aspects of the entity which may be useful to you or #### Type -The type property defines the type of data that can be stored in the attribute. These are related to the data types described in [Data Types](/refguide/data-types/), but there is not a one-to-one mapping. +The type property defines the type of data that can be stored in the attribute. These are related to the data types described in [Data Types](/refguide10/data-types/), but there is not a one-to-one mapping. {{% alert color="warning" %}} -Mendix allows you to change attribute and association types on existing domain models. While some attributes can easily be converted, there are limitations and consequences of converting between some types. For more information, see [Attributes Type Migration](/refguide/attributes-type-migration/). +Mendix allows you to change attribute and association types on existing domain models. While some attributes can easily be converted, there are limitations and consequences of converting between some types. For more information, see [Attributes Type Migration](/refguide10/attributes-type-migration/). {{% /alert %}} An attribute has one of the following types: @@ -93,8 +93,8 @@ Binary¹ | Binary data. Can only be used for persistable entities as the data is Boolean | True or false. | Boolean | Date and time | A point in time consisting of a date and a time component accurate up to milliseconds. | Date and time | Decimal | A positive or negative number that can have digits after the decimal point. The Decimal type can be used for high-precision calculations. Use this type to represent amounts of money for example. When a Decimal type attribute is persisted in the database its value is validated against 2 conditions. In case the number of digits of the integral part (before the decimal separator) is more than 20, an exception is thrown. In case the number of digits of the fractional part (after the decimal separator) is more than 8, the fractional value is automatically rounded according to [the round half to even rule (also known as bankers' rounding)](https://en.wikipedia.org/wiki/Rounding#Round_half_to_even). Therefore, the maximum allowable value for the Decimal type is 99999999999999999999.99999999. | Decimal | -Enumeration | A list of predefined attributes. For more information, see [Enumerations](/refguide/enumerations/). | Enumeration | -Hashed string | A string which is hashed using the algorithm specified in the [app settings](/refguide/app-settings/#hash-algorithm). This can be used to store password hashes, for example, so that the original password is not recorded in the database. | String | +Enumeration | A list of predefined attributes. For more information, see [Enumerations](/refguide10/enumerations/). | Enumeration | +Hashed string | A string which is hashed using the algorithm specified in the [app settings](/refguide10/app-settings/#hash-algorithm). This can be used to store password hashes, for example, so that the original password is not recorded in the database. | String | Integer | A whole number that can be positive (maximum 2³¹-1, thus 2147483647), negative (minimum -2³¹, thus -2147483648), or zero. | Integer/Long² | Long | A whole number that can be positive (maximum 2⁶³-1), negative (minimum -2⁶³), or zero. | Integer/Long | String *(default)* | A text containing letters, spaces, numbers and other characters. | String | @@ -131,7 +131,7 @@ This property is shown if **Type** is set to **Date and time**. This property indicates whether the date and time should be localized when displaying (or picking) their value. By default localization is enabled. If you are NOT interested in the time component of a date and you want the date to be exactly the same all over the world (for example, a birthday), you should toggle this property off. Otherwise, the date can change because of time zone differences: a date and time early in the morning on April 2 in Europe will be on April 1 in the U.S.A. -In technical terms, this property indicates whether the client assumes that the date and time are in a local time zone (enabled) or in UTC (disabled). In the former case, the date is first converted to UTC before being sent to the server and converted from UTC before being displayed. To avoid this time zone conversion from happening twice, UTC functions and tokens like [dateTimeUTC](/refguide/date-creation/) should not be used in client-side expressions to assign values to **Date and time** attributes where localization is disabled. +In technical terms, this property indicates whether the client assumes that the date and time are in a local time zone (enabled) or in UTC (disabled). In the former case, the date is first converted to UTC before being sent to the server and converted from UTC before being displayed. To avoid this time zone conversion from happening twice, UTC functions and tokens like [dateTimeUTC](/refguide10/date-creation/) should not be used in client-side expressions to assign values to **Date and time** attributes where localization is disabled. Default: *enabled* diff --git a/content/en/docs/refguide10/modeling/domain-model/entities/data-sets.md b/content/en/docs/refguide10/modeling/domain-model/entities/data-sets.md index c2ac3fe0792..771fbdc1bdf 100644 --- a/content/en/docs/refguide10/modeling/domain-model/entities/data-sets.md +++ b/content/en/docs/refguide10/modeling/domain-model/entities/data-sets.md @@ -1,13 +1,13 @@ --- title: "Datasets" -url: /refguide/data-sets/ +url: /refguide10/data-sets/ weight: 80 #If moving or renaming this doc file, implement a temporary redirect and let the respective team know they should update the URL in the product. See Mapping to Products for more details. --- ## Introduction -A dataset is defined using either an [OQL query](/refguide/oql/) or a custom [Java action](/refguide/java-actions/). To constrain a dataset, parameters can be defined which can be used in the OQL query or Java action. +A dataset is defined using either an [OQL query](/refguide10/oql/) or a custom [Java action](/refguide10/java-actions/). To constrain a dataset, parameters can be defined which can be used in the OQL query or Java action. For one use of a dataset, see [Retrieving Objects Using OQL Specified in a Dataset](/howto/extensibility/howto-datastorage-api/#retrieving-objects-using-oql-specified-in-a-dataset) in *How to Use Mendix Data Storage APIs to Build Reusable Microflow Actions*. @@ -20,8 +20,8 @@ Fields for datasets contain the following properties: ## Source -* **OQL query** – This is the [OQL query](/refguide/oql/) which defines the dataset. -* **Java action** – This is the interface of the Java action which returns a dataset. The columns and [data types](/refguide/data-types/) of the columns need to be specified in Studio Pro. Based on this specification, Studio Pro will create a template for this action. +* **OQL query** – This is the [OQL query](/refguide10/oql/) which defines the dataset. +* **Java action** – This is the interface of the Java action which returns a dataset. The columns and [data types](/refguide10/data-types/) of the columns need to be specified in Studio Pro. Based on this specification, Studio Pro will create a template for this action. The following shows an example OQL query that calculates the aggregated total order amount for all orders of a customer for a specific group of customers: @@ -45,8 +45,8 @@ A parameter has the following configurable properties: * **Name** – This is the name of the parameter. * **Type** – The type of the parameter can be: **Boolean**, **Date and time**, **Enumeration**, **Decimal**, **Integer/Long**, or **Object**. -* **Constraints** – The constraints on a parameter influence which values can be selected for parameter input values by the end-user. Constraints can be associated with [user roles](/refguide/user-roles/) in dataset security. There are two types of constraints: +* **Constraints** – The constraints on a parameter influence which values can be selected for parameter input values by the end-user. Constraints can be associated with [user roles](/refguide10/user-roles/) in dataset security. There are two types of constraints: * Ranges which apply to numeric and date parameters * XPath constraints which apply to object parameters * **Ranges** – When a parameter is defined as a range, the drop-down box in the report shows each range instead of all values within the ranges. Decimal parameters are always ranges. -* **XPath Constraints** – An XPath constraint can be defined using [XPath](/refguide/xpath/). Multiple constraints can be defined on a parameter and each constraint can be associated with a user role. +* **XPath Constraints** – An XPath constraint can be defined using [XPath](/refguide10/xpath/). Multiple constraints can be defined on a parameter and each constraint can be associated with a user role. diff --git a/content/en/docs/refguide10/modeling/domain-model/entities/event-handlers.md b/content/en/docs/refguide10/modeling/domain-model/entities/event-handlers.md index 91016c1a096..14387c35b8b 100644 --- a/content/en/docs/refguide10/modeling/domain-model/entities/event-handlers.md +++ b/content/en/docs/refguide10/modeling/domain-model/entities/event-handlers.md @@ -1,6 +1,6 @@ --- title: "Event Handlers" -url: /refguide/event-handlers/ +url: /refguide10/event-handlers/ weight: 50 #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. --- @@ -27,11 +27,11 @@ For example, say your **Customer** entity has a **Postcode** attribute and you w {{< figure src="/attachments/refguide10/modeling/domain-model/entities/event-handlers/customer-event-handlers.png" alt="Example of adding a before commit event handler to the Customer entity" class="no-border" >}} -For more information on using event handlers for data validation, see [Setting Up Data Validation](/refguide/setting-up-data-validation/). +For more information on using event handlers for data validation, see [Setting Up Data Validation](/refguide10/setting-up-data-validation/). ## Properties -You can add and edit event handlers for an entity from the [entity dialog box](/refguide/entities/#dialog-box). +You can add and edit event handlers for an entity from the [entity dialog box](/refguide10/entities/#dialog-box). An example of the event handler properties is represented in the image below: @@ -54,8 +54,8 @@ Event handler properties consist of the following sections: | Value | Description | | --- | --- | -| Create | The microflow is executed when an object of this entity is created. This happens when the user clicks **Create** on a grid or when an object is created in a microflow. In a [create](/refguide/create-object/) action in a microflow, an after create action is executed after the object is initialized with the attributes' default values, but before any change items specified in the action are applied. | -| Commit | The microflow is executed when an object of this entity is committed. This happens when the user clicks **Save** on a page or when an object is committed in a microflow. For more information, see the [Security](/refguide/nanoflows/#security) section of *Nanoflows*. | +| Create | The microflow is executed when an object of this entity is created. This happens when the user clicks **Create** on a grid or when an object is created in a microflow. In a [create](/refguide10/create-object/) action in a microflow, an after create action is executed after the object is initialized with the attributes' default values, but before any change items specified in the action are applied. | +| Commit | The microflow is executed when an object of this entity is committed. This happens when the user clicks **Save** on a page or when an object is committed in a microflow. For more information, see the [Security](/refguide10/nanoflows/#security) section of *Nanoflows*. | | Delete | The microflow is executed when an object of this entity is deleted. This happens when a user clicks **Delete** in a grid or when an object is deleted in a microflow. | | Rollback | The microflow is executed when an object of this entity is rolled back. This happens when a user clicks **Cancel** on a page or when an object is rolled back in a microflow. | @@ -98,4 +98,4 @@ Default: *Yes* ## Read More * [How to Denormalize Data to Improve Performance](/howto/data-models/denormalize-data-to-improve-performance/) -* [Setting Up Data Validation](/refguide/setting-up-data-validation/) +* [Setting Up Data Validation](/refguide10/setting-up-data-validation/) diff --git a/content/en/docs/refguide10/modeling/domain-model/entities/external-entities.md b/content/en/docs/refguide10/modeling/domain-model/entities/external-entities.md index 0b8b3b2fae0..5bd1b7a2a05 100644 --- a/content/en/docs/refguide10/modeling/domain-model/entities/external-entities.md +++ b/content/en/docs/refguide10/modeling/domain-model/entities/external-entities.md @@ -1,12 +1,12 @@ --- title: "External Entities" -url: /refguide/external-entities/ +url: /refguide10/external-entities/ weight: 15 #If moving or renaming this doc file, implement a temporary redirect and let the respective team know they should update the URL in the product. See Mapping to Products for more details. --- ## Introduction -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 Catalog](/catalog/). Data sources are collections of entity sets (that are referred to as datasets) in published OData services. +External entities can be added to the domain model through the [Integration pane](/refguide10/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 Catalog](/catalog/). Data sources are collections of entity sets (that are referred to as datasets) in published OData services. Datasets are maintained and updated in the originating app. You can consume these datasets through external entities in your app development. When the app uses the data, it retrieves it from the originating app. @@ -24,7 +24,7 @@ To add an external entity to your app model, follow these steps: The entity and its attributes are then added to your app and two documents are added in the **App Explorer**: -* A [Consumed OData Service](/refguide/consumed-odata-service/) document that contains details of the OData service and the metadata. The logo displayed identifies the originating app of the service. +* A [Consumed OData Service](/refguide10/consumed-odata-service/) document that contains details of the OData service and the metadata. The logo displayed identifies the originating app of the service. * A **Location** constant that specifies the URL of the service. {{< figure src="/attachments/refguide10/modeling/domain-model/external-entities/consumed-service-docs.png" alt=" Virtual Entity and OData Service files" class="no-border" >}} @@ -33,14 +33,14 @@ The entity and its attributes are then added to your app and two documents are a When you drag an entity that is associated with an entity from the same service already in your domain model, the association will be displayed and established between the entities. For more information on associations between external entities, see [Associations](#properties). {{% /alert %}} -For more information, see [Consumed OData Service](/refguide/consumed-odata-service/). +For more information, see [Consumed OData Service](/refguide10/consumed-odata-service/). The consumed entities of the current app are listed in the **Used in your App** section of the Integration pane: {{< figure src="/attachments/refguide10/modeling/domain-model/external-entities/data-hub-app.png" alt=" Virtual Entity and OData Service files" class="no-border" >}} {{% alert color="info" %}} -When a new version of a consumed service becomes available in the Catalog, this will be indicated in the 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*. +When a new version of a consumed service becomes available in the Catalog, this will be indicated in the Integration pane by an update arrow next to the service name. For more information, see the [Updating or Switching a Consumed OData Service](/refguide10/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 originating app 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 originating app) will automatically be made in the local module. @@ -69,15 +69,15 @@ This group displays the general properties of the external entity. These values * **From service** – shows the service from which this entity originates * **Original name** – shows the name of the entity as defined in the originating app * **Capabilities** - indicates whether the service supports creating, reading, updating, and/or deleting objects -* **Create and change locally** - when switched off, the app can only create and update objects when the server supports it; when switched on, the app can create and update objects, but will not be able to [send](/refguide/send-external-object/) them to the server +* **Create and change locally** - when switched off, the app can only create and update objects when the server supports it; when switched on, the app can create and update objects, but will not be able to [send](/refguide10/send-external-object/) them to the server * **Persistable** – indicates if this a persistable external entity, which means the originating app allows retrieving (reading) objects * **Summary** – shows the description for the entity in the originating app (shown only when there is a description) ### Attributes {#attributes} -The [attributes](/refguide/attributes/) that have been published in the OData service for the external entity are listed here. You can choose to remove attributes that the app does not need. 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, the changes will not affect the metadata of the consumed service that the entity is published in or the attributes of the entity in the originating app. +The [attributes](/refguide10/attributes/) that have been published in the OData service for the external entity are listed here. You can choose to remove attributes that the app does not need. 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, the changes will not affect the metadata of the consumed service that the entity is published in or the attributes of the entity in the originating app. -{{% alert color="info" %}}In the Integration pane, the associations and attributes that are not supported in your Mendix model are shown as non-selectable (gray) and will not be included in the entity properties or when you drag them into the domain model. For more information, see [Integration Pane](/refguide/integration-pane/#association-attributes).{{% /alert %}} +{{% alert color="info" %}}In the Integration pane, the associations and attributes that are not supported in your Mendix model are shown as non-selectable (gray) and will not be included in the entity properties or when you drag them into the domain model. For more information, see [Integration Pane](/refguide10/integration-pane/#association-attributes).{{% /alert %}} The following operations can be done on the attribute list: @@ -103,15 +103,15 @@ The **Edit Attribute** dialog can be used to specify a local name and add a loca ### Associations {#associations} -This tab displays the associations the external entity has with other entities that are published in the same service, and any associations that have been made with local entities. For more information on association properties in Studio Pro, see [Association Tab Properties](/refguide/association-member-properties/). +This tab displays the associations the external entity has with other entities that are published in the same service, and any associations that have been made with local entities. For more information on association properties in Studio Pro, see [Association Tab Properties](/refguide10/association-member-properties/). -If the entity contains [one-way navigable associations](/refguide/association-properties/#one-way-navigable), there is a note at the top of the dialog box. +If the entity contains [one-way navigable associations](/refguide10/association-properties/#one-way-navigable), there is a note at the top of the dialog box. {{< figure src="/attachments/refguide10/modeling/domain-model/external-entities/external-entity-associations.png" alt="Edit attributes" class="no-border" >}} The following apply for all associations with the external entity: -* **Navigability icon** – an icon indicating whether an association is [one-way navigable](/refguide/association-properties/#one-way-navigable) +* **Navigability icon** – an icon indicating whether an association is [one-way navigable](/refguide10/association-properties/#one-way-navigable) * **Name** – name of the association as displayed in the current app * **Type** – read-only for associations between two external entities * **Owner** – read-only for associations between two external entities @@ -142,7 +142,7 @@ When you **Edit** an association that is included in two entities exposed in the * **Multiplicity** – read-only multiplicity values from the originating app * **Documentation** – a local description for the external entity association -If the association is [one-way navigable](/refguide/association-properties/#one-way-navigable), there is a note at the top of the dialog box. +If the association is [one-way navigable](/refguide10/association-properties/#one-way-navigable), there is a note at the top of the dialog box. {{< figure src="/attachments/refguide10/modeling/domain-model/external-entities/association-properties-one-way-navigable.png" alt="Edit external associations one-way navigable" class="no-border" >}} @@ -158,25 +158,25 @@ Using external entities in production environments requires both publishers and Publishers of an OData service set the type of authentication needed for it to be consumed. The following authentication methods are available: -* [Username and password](/refguide/published-odata-services/#username-password) (basic authentication) -* [Active session](/refguide/published-odata-services/#authentication-active-session) -* [Custom](/refguide/published-odata-services/#authentication-microflow) (calling an authentication microflow) - * [Mendix SSO](/refguide/published-odata-services/#authentication-mendix-sso) +* [Username and password](/refguide10/published-odata-services/#username-password) (basic authentication) +* [Active session](/refguide10/published-odata-services/#authentication-active-session) +* [Custom](/refguide10/published-odata-services/#authentication-microflow) (calling an authentication microflow) + * [Mendix SSO](/refguide10/published-odata-services/#authentication-mendix-sso) * Other (add your own, using a custom module for example) -For details on the types of authentication methods and how to set them up, see the [Security](/refguide/published-odata-services/#security) section of *Published OData Services*. +For details on the types of authentication methods and how to set them up, see the [Security](/refguide10/published-odata-services/#security) section of *Published OData Services*. ### Consuming External Entities with Authentication -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. +When an external entity is used in an app module through the Integration pane, a [consumed OData service](/refguide10/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. Learn more about adding authentication information to a consumed OData service: -* Configuring [username and password](/refguide/consumed-odata-service/#authentication) consuming apps -* Using [HTTP headers](/refguide/consumed-odata-service/#http-headers) for consuming custom authentication methods -* Consuming a service that uses [Mendix SSO](/refguide/consumed-odata-service/#authenticate-mendix-sso) +* Configuring [username and password](/refguide10/consumed-odata-service/#authentication) consuming apps +* Using [HTTP headers](/refguide10/consumed-odata-service/#http-headers) for consuming custom authentication methods +* Consuming a service that uses [Mendix SSO](/refguide10/consumed-odata-service/#authenticate-mendix-sso) ## External Entity Limitations {#limitations} @@ -186,10 +186,10 @@ External entities are the endpoints that are defined in the published OData serv Please note that external entities are not supported in native offline apps. {{% /alert %}} -Furthermore, 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: +Furthermore, external entities cannot be committed. Use the [Send External Object activity](/refguide10/send-external-object/) to persist changes to external entities. This means the following: * The **Commit** activity does not work. Use **Send External Object** instead. -* On pages, the [Save button](/refguide/button-widgets/) and the [Save Changes event](/refguide/on-click-event/#save-changes) do not work when the page contains widgets that update external entities. Call a microflow that persists the changes using **Send External Object** instead. +* On pages, the [Save button](/refguide10/button-widgets/) and the [Save Changes event](/refguide10/on-click-event/#save-changes) do not work when the page contains widgets that update external entities. Call a microflow that persists the changes using **Send External Object** instead. * When synchronizing remote entities to an offline-first client while the remote service is offline, the synchronization will fail and users will see an error. For more details on consuming services and published entities, including operations that can be performed on external entities, see [Consume Registered Assets](/catalog/consume/) in the *Data Hub Guide*. diff --git a/content/en/docs/refguide10/modeling/domain-model/entities/indexes.md b/content/en/docs/refguide10/modeling/domain-model/entities/indexes.md index 03e0c0452f3..e4ae456a8b1 100644 --- a/content/en/docs/refguide10/modeling/domain-model/entities/indexes.md +++ b/content/en/docs/refguide10/modeling/domain-model/entities/indexes.md @@ -1,6 +1,6 @@ --- title: "Indexes" -url: /refguide/indexes/ +url: /refguide10/indexes/ weight: 60 #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. --- @@ -14,7 +14,7 @@ Indexes can be added and edited from the **Indexes** tab of the entity propertie {{< figure src="/attachments/refguide10/modeling/domain-model/entities/indexes/index-properties.png" alt="Example of index tab" class="no-border" >}} {{% alert color="info" %}} -Index properties are read-only for external entities. For further details, see [External Entities](/refguide/external-entities/). +Index properties are read-only for external entities. For further details, see [External Entities](/refguide10/external-entities/). {{% /alert %}} ## Important Considerations @@ -25,7 +25,7 @@ Indexes are ordered, which means that when you create an index on two or more at ### Indexes on System Members -If you choose to store an entity's `owner` and `changedBy` system members, an index is created. This is not so for the `createdDate` and `changedDate` system members. In addition, an index is created for the automatically generated attribute `id`. See [Data in the Domain Model](/refguide/domain-model/) for more information about the implementation of these attributes. +If you choose to store an entity's `owner` and `changedBy` system members, an index is created. This is not so for the `createdDate` and `changedDate` system members. In addition, an index is created for the automatically generated attribute `id`. See [Data in the Domain Model](/refguide10/domain-model/) for more information about the implementation of these attributes. ### Indexes on Non-Persistable Entities diff --git a/content/en/docs/refguide10/modeling/domain-model/entities/persistability.md b/content/en/docs/refguide10/modeling/domain-model/entities/persistability.md index 2f5389b5045..275de8824db 100644 --- a/content/en/docs/refguide10/modeling/domain-model/entities/persistability.md +++ b/content/en/docs/refguide10/modeling/domain-model/entities/persistability.md @@ -1,6 +1,6 @@ --- title: "Persistability" -url: /refguide/persistability/ +url: /refguide10/persistability/ weight: 20 --- @@ -22,11 +22,11 @@ Committing an object of this entity type results in a row being inserted into th Usually, a rollback reverts changes in memory since the last commit. -However, performing a rollback on persistable autocommitted objects or objects with the state "NEW" deletes the row corresponding with this object from the database table for the associated entity. See [Object Activities](/refguide/object-activities/) for more information about autocommitted objects. +However, performing a rollback on persistable autocommitted objects or objects with the state "NEW" deletes the row corresponding with this object from the database table for the associated entity. See [Object Activities](/refguide10/object-activities/) for more information about autocommitted objects. ## Non-Persistable Entities {#non-persistable} -Non-persistable entities are stored in the runtime memory and never get committed to the database. Therefore, they have no table in the database and the only way to retrieve them is [over associations](/refguide/retrieve/#association). +Non-persistable entities are stored in the runtime memory and never get committed to the database. Therefore, they have no table in the database and the only way to retrieve them is [over associations](/refguide10/retrieve/#association). Committing non-persistable entities records the current attribute values and association values in memory, allowing a rollback to revert to these values. diff --git a/content/en/docs/refguide10/modeling/domain-model/entities/validation-rules.md b/content/en/docs/refguide10/modeling/domain-model/entities/validation-rules.md index 1c064587318..c09fa710668 100644 --- a/content/en/docs/refguide10/modeling/domain-model/entities/validation-rules.md +++ b/content/en/docs/refguide10/modeling/domain-model/entities/validation-rules.md @@ -1,6 +1,6 @@ --- title: "Validation Rules" -url: /refguide/validation-rules/ +url: /refguide10/validation-rules/ weight: 40 #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. --- @@ -24,7 +24,7 @@ You can only define validation rules for persistable entities as they are design ## Properties -You can add and edit validation rules for an entity from the [entity dialog box](/refguide/entities/#dialog-box). +You can add and edit validation rules for an entity from the [entity dialog box](/refguide10/entities/#dialog-box). An example of the validation rule properties is represented in the image below: @@ -57,7 +57,7 @@ The rule defines which condition an attribute should satisfy. | Unique | The value of this attribute must be different from the values of this attribute in all other objects of the same entity. See [Uniqueness Constraint](#uniqueness), below for more information. | | Equals | The attribute value needs to be equal to a specified value or equal to the value of another attribute of the same object. | | Range | The attribute value needs to be greater than or equal to, less than or equal to, or between two values. The values are either specified fixed values or values of other attributes of the same object. | -| Regular expression | The attribute needs to match a regular expression stored in a [regular expression](/refguide/regular-expressions/) resource. | +| Regular expression | The attribute needs to match a regular expression stored in a [regular expression](/refguide10/regular-expressions/) resource. | | Maximum length | The attribute may have no more than the specified number of characters. | {{% alert color="info" %}} @@ -85,7 +85,7 @@ There are some things you need to consider when applying a uniqueness constraint #### Strings -The uniqueness constraint will take into account the way that the underlying database deals with case sensitivity. For a full discussion of this, see [Case-Sensitive Database Behavior](/refguide/case-sensitive-database-behavior/). +The uniqueness constraint will take into account the way that the underlying database deals with case sensitivity. For a full discussion of this, see [Case-Sensitive Database Behavior](/refguide10/case-sensitive-database-behavior/). The uniqueness constraint will also take into account the way that the underlying database deals with string matching. If, for example, two values of a string attribute differ only in having a different number of trailing spaces, some databases will ignore these spaces when deciding if the strings are the same, while others will see them as different. diff --git a/content/en/docs/refguide10/modeling/domain-model/entities/view-entities-survey.md b/content/en/docs/refguide10/modeling/domain-model/entities/view-entities-survey.md index 1536381fa75..f57ac205309 100644 --- a/content/en/docs/refguide10/modeling/domain-model/entities/view-entities-survey.md +++ b/content/en/docs/refguide10/modeling/domain-model/entities/view-entities-survey.md @@ -1,6 +1,6 @@ --- title: "View Entities Feedback" -url: /refguide/view-entities-feedback/ +url: /refguide10/view-entities-feedback/ toc_hide: true hide_summary: true # This doc is hidden as part of the View Entities survey request. diff --git a/content/en/docs/refguide10/modeling/domain-model/entities/view-entities/_index.md b/content/en/docs/refguide10/modeling/domain-model/entities/view-entities/_index.md index 26846942e6a..c2bb4580c40 100644 --- a/content/en/docs/refguide10/modeling/domain-model/entities/view-entities/_index.md +++ b/content/en/docs/refguide10/modeling/domain-model/entities/view-entities/_index.md @@ -1,6 +1,6 @@ --- title: "View Entities" -url: /refguide/view-entities/ +url: /refguide10/view-entities/ weight: 17 cascade: - beta: true @@ -13,7 +13,7 @@ This feature was introduced in Studio Pro 10.19 and is currently in beta. For mo ## Introduction -A view entity represents the result set of a stored [OQL query](/refguide/oql/) and can be used similarly to a [persistable entity](/refguide/persistability/#persistable). This concept is similar to the function of views in general database technology. Whenever a view entity is retrieved via a page or a microflow, the corresponding OQL query runs and fetches the relevant data. Consequently, the result set of a view entity is not stored as a separate table in the database (like a materialized view). Instead, the query runs each time the view entity is accessed, dynamically retrieving the data. +A view entity represents the result set of a stored [OQL query](/refguide10/oql/) and can be used similarly to a [persistable entity](/refguide10/persistability/#persistable). This concept is similar to the function of views in general database technology. Whenever a view entity is retrieved via a page or a microflow, the corresponding OQL query runs and fetches the relevant data. Consequently, the result set of a view entity is not stored as a separate table in the database (like a materialized view). Instead, the query runs each time the view entity is accessed, dynamically retrieving the data. During modeling, changes to the underlying entities used in the OQL query affect the options available within the query. At runtime, any changes to the data in the underlying entities immediately impact the data available through the view entity. @@ -25,7 +25,7 @@ View entities are read-only. To change the resulting data of a view entity retri ## Prerequisites -Your app must use OQL version 2 to use view entities. You can change this setting by clicking **App 'APP_NAME'** > **Settings** > **Runtime** and setting [OQL version 2](/refguide/app-settings/#oql-version-2) to **Yes**. Alternatively, you can drag a new view entity from the toolbar or **Toolbox** to the domain model, which opens a dialog box where you can confirm upgrading to OQL version 2 if it has not been upgraded yet. +Your app must use OQL version 2 to use view entities. You can change this setting by clicking **App 'APP_NAME'** > **Settings** > **Runtime** and setting [OQL version 2](/refguide10/app-settings/#oql-version-2) to **Yes**. Alternatively, you can drag a new view entity from the toolbar or **Toolbox** to the domain model, which opens a dialog box where you can confirm upgrading to OQL version 2 if it has not been upgraded yet. ## Properties @@ -78,19 +78,19 @@ You can add any local information about the view entity in this tab. This is als ## Using a View Entity -After creating a view entity in the domain model, it can be used in microflows and pages like any other entity. For more information, see [Use View Entities](/refguide/use-view-entities/) and [OQL]( /refguide/oql/). +After creating a view entity in the domain model, it can be used in microflows and pages like any other entity. For more information, see [Use View Entities](/refguide10/use-view-entities/) and [OQL]( /refguide10/oql/). ## Read More For specific use case scenarios, see the following: -* [Creating Overview Pages](/refguide/view-entity-overview-pages/) -* [Decoupling APIs](/refguide/decoupling-apis/) -* [Charting with View Entities](/refguide/charting-with-view-entities/) -* [Multilingual Apps and Translations](/refguide/multilingual-apps/) -* [View Archived Data](/refguide/view-archived-data/) -* [Create a Pivot Table with View Entities](/refguide/view-entity-pivot-table/) -* [Data Versioning with View Entities](/refguide/view-entity-data-versioning/) -* [Exporting Data with View Entities](/refguide/view-entity-expport-data/) -* [Abstracting Data of Add-On Modules](/refguide/abstracting-view-entity-data/) -* [Multitenant Applications](/refguide/view-entity-multitenant-apps/) +* [Creating Overview Pages](/refguide10/view-entity-overview-pages/) +* [Decoupling APIs](/refguide10/decoupling-apis/) +* [Charting with View Entities](/refguide10/charting-with-view-entities/) +* [Multilingual Apps and Translations](/refguide10/multilingual-apps/) +* [View Archived Data](/refguide10/view-archived-data/) +* [Create a Pivot Table with View Entities](/refguide10/view-entity-pivot-table/) +* [Data Versioning with View Entities](/refguide10/view-entity-data-versioning/) +* [Exporting Data with View Entities](/refguide10/view-entity-expport-data/) +* [Abstracting Data of Add-On Modules](/refguide10/abstracting-view-entity-data/) +* [Multitenant Applications](/refguide10/view-entity-multitenant-apps/) diff --git a/content/en/docs/refguide10/modeling/domain-model/entities/view-entities/abstracting-data.md b/content/en/docs/refguide10/modeling/domain-model/entities/view-entities/abstracting-data.md index a887e9ebc6f..b170cf88b8d 100644 --- a/content/en/docs/refguide10/modeling/domain-model/entities/view-entities/abstracting-data.md +++ b/content/en/docs/refguide10/modeling/domain-model/entities/view-entities/abstracting-data.md @@ -1,6 +1,6 @@ --- title: "Abstracting Data of Add-On Modules" -url: /refguide/abstracting-view-entity-data/ +url: /refguide10/abstracting-view-entity-data/ weight: 100 --- diff --git a/content/en/docs/refguide10/modeling/domain-model/entities/view-entities/charting-with-view-entities.md b/content/en/docs/refguide10/modeling/domain-model/entities/view-entities/charting-with-view-entities.md index 6ffe0fe8f0e..2935ec8b7dd 100644 --- a/content/en/docs/refguide10/modeling/domain-model/entities/view-entities/charting-with-view-entities.md +++ b/content/en/docs/refguide10/modeling/domain-model/entities/view-entities/charting-with-view-entities.md @@ -1,6 +1,6 @@ --- title: "Charting with View Entities" -url: /refguide/charting-with-view-entities/ +url: /refguide10/charting-with-view-entities/ weight: 40 --- diff --git a/content/en/docs/refguide10/modeling/domain-model/entities/view-entities/create-pivot-table.md b/content/en/docs/refguide10/modeling/domain-model/entities/view-entities/create-pivot-table.md index 37b14a85ef8..4826f25c469 100644 --- a/content/en/docs/refguide10/modeling/domain-model/entities/view-entities/create-pivot-table.md +++ b/content/en/docs/refguide10/modeling/domain-model/entities/view-entities/create-pivot-table.md @@ -1,6 +1,6 @@ --- title: "Create a Pivot Table with View Entities" -url: /refguide/view-entity-pivot-table/ +url: /refguide10/view-entity-pivot-table/ weight: 70 --- @@ -53,7 +53,7 @@ Create a view entity that shows each order together with its total value, calcul {{% alert color="info" %}} -With view entities, you can take the relevant component of `DateTime` as a column using the `DATEPART` function. For more information, see the [`DATEPART` and `DATEDIFF`](/refguide/oql-v2/#date-validations) section of *OQL Version 2 Features*. +With view entities, you can take the relevant component of `DateTime` as a column using the `DATEPART` function. For more information, see the [`DATEPART` and `DATEDIFF`](/refguide10/oql-v2/#date-validations) section of *OQL Version 2 Features*. {{% /alert %}} diff --git a/content/en/docs/refguide10/modeling/domain-model/entities/view-entities/decoupling-apis.md b/content/en/docs/refguide10/modeling/domain-model/entities/view-entities/decoupling-apis.md index 501b0c5f176..64ace058160 100644 --- a/content/en/docs/refguide10/modeling/domain-model/entities/view-entities/decoupling-apis.md +++ b/content/en/docs/refguide10/modeling/domain-model/entities/view-entities/decoupling-apis.md @@ -1,6 +1,6 @@ --- title: "Decoupling APIs" -url: /refguide/decoupling-apis/ +url: /refguide10/decoupling-apis/ weight: 30 --- diff --git a/content/en/docs/refguide10/modeling/domain-model/entities/view-entities/multilingual-apps.md b/content/en/docs/refguide10/modeling/domain-model/entities/view-entities/multilingual-apps.md index 951f5a660ab..a0830cf7e9e 100644 --- a/content/en/docs/refguide10/modeling/domain-model/entities/view-entities/multilingual-apps.md +++ b/content/en/docs/refguide10/modeling/domain-model/entities/view-entities/multilingual-apps.md @@ -1,6 +1,6 @@ --- title: "Multilingual Apps and Translations" -url: /refguide/multilingual-apps/ +url: /refguide10/multilingual-apps/ weight: 50 --- diff --git a/content/en/docs/refguide10/modeling/domain-model/entities/view-entities/multitenant-apps.md b/content/en/docs/refguide10/modeling/domain-model/entities/view-entities/multitenant-apps.md index 9caa265b3de..adbfd9fce24 100644 --- a/content/en/docs/refguide10/modeling/domain-model/entities/view-entities/multitenant-apps.md +++ b/content/en/docs/refguide10/modeling/domain-model/entities/view-entities/multitenant-apps.md @@ -1,6 +1,6 @@ --- title: "Multitenant Applications" -url: /refguide/view-entity-multitenant-apps/ +url: /refguide10/view-entity-multitenant-apps/ weight: 110 --- diff --git a/content/en/docs/refguide10/modeling/domain-model/entities/view-entities/use-view-entities.md b/content/en/docs/refguide10/modeling/domain-model/entities/view-entities/use-view-entities.md index 7253382c094..f16f5b6fd95 100644 --- a/content/en/docs/refguide10/modeling/domain-model/entities/view-entities/use-view-entities.md +++ b/content/en/docs/refguide10/modeling/domain-model/entities/view-entities/use-view-entities.md @@ -1,12 +1,12 @@ --- title: "Use View Entities" -url: /refguide/use-view-entities/ +url: /refguide10/use-view-entities/ weight: 10 --- ## Introduction -View entities allow you to retrieve, transform, and aggregate your data. They represent a set of stored OQL queries that can be used similarly to [persistable entities]( /refguide/persistability/#persistable). The data that view entities contain is determined when you retrieve the data. +View entities allow you to retrieve, transform, and aggregate your data. They represent a set of stored OQL queries that can be used similarly to [persistable entities]( /refguide10/persistability/#persistable). The data that view entities contain is determined when you retrieve the data. You can perform operations such as sorting, paging, and filtering using view entities. The entire query is executed by the database, often resulting in faster performance compared to executing multiple independent retrieves. A view entity fetches the data you need from the database and allows data transformation and aggregation. With view entities, you can: @@ -24,11 +24,11 @@ When you need data from multiple entities in your widgets, view entities make it ### Charting -View entities can execute aggregation and calculations required for charts, dashboards, and KPIs within the database, providing the necessary data for your widgets. For more information, see [Charting with View Entities](/refguide/charting-with-view-entities/). +View entities can execute aggregation and calculations required for charts, dashboards, and KPIs within the database, providing the necessary data for your widgets. For more information, see [Charting with View Entities](/refguide10/charting-with-view-entities/). ### API Stability -To decouple data usage from data storage, especially for APIs, view entities allow you to expose data while keeping your domain model flexible. This ensures API stability for external applications and allows you to change your domain model as needed without affecting the API. For more information, see [Decoupling APIs](/refguide/decoupling-apis/). +To decouple data usage from data storage, especially for APIs, view entities allow you to expose data while keeping your domain model flexible. This ensures API stability for external applications and allows you to change your domain model as needed without affecting the API. For more information, see [Decoupling APIs](/refguide10/decoupling-apis/). ## Creating Maintainable View Entities Using Composability @@ -58,11 +58,11 @@ Alternatively, you can store the parameter value in the database, then use that This is done by joining an entity that has all the necessary translations and filtering it by the language of the current user. Coalesce is used to return the default language in case there is no translation is available. -This approach can also be useful for multitenant applications. If you have a multitenant system where every user has a tenant ID, you can ensure through view entities that any data that is tenant-specific will only return data for the tenant of the current user. For more information, see [Multitenant Applications](/refguide/view-entity-multitenant-apps/). +This approach can also be useful for multitenant applications. If you have a multitenant system where every user has a tenant ID, you can ensure through view entities that any data that is tenant-specific will only return data for the tenant of the current user. For more information, see [Multitenant Applications](/refguide10/view-entity-multitenant-apps/). ## Data Security -Use the [`WHERE` clause]( /refguide/oql-expressions/) of a view entity to ensure only data that should be available to the user is returned. This is an alternative to the access rules you can have on both persistable entities and view entities. +Use the [`WHERE` clause]( /refguide10/oql-expressions/) of a view entity to ensure only data that should be available to the user is returned. This is an alternative to the access rules you can have on both persistable entities and view entities. Persistable entity access rules are not applied when using view entities. Instead, you must specify the access rules. You can define what users have access to while still allowing access to aggregated data. For example, you may want to know how many employees are part of each department of a company. However, you should not be able to see the detailed information of each employee. View entities allow you to give a user access to specific employee data without revealing sensitive information. @@ -109,17 +109,17 @@ If you set the `DataStorage_QueryPlan` log node to Trace, you see the query plan ## Read More -For more information on how to enable view entities in your app, see [View Entities]( /refguide/view-entities/) and [OQL]( /refguide/oql/). +For more information on how to enable view entities in your app, see [View Entities]( /refguide10/view-entities/) and [OQL]( /refguide10/oql/). For specific use case scenarios, see the following: -* [Creating Overview Pages](/refguide/view-entity-overview-pages/) -* [Decoupling APIs](/refguide/decoupling-apis/) -* [Charting with View Entities](/refguide/charting-with-view-entities/) -* [Multilingual Apps and Translations](/refguide/multilingual-apps/) -* [View Archived Data](/refguide/view-archived-data/) -* [Create a Pivot Table with View Entities](/refguide/view-entity-pivot-table/) -* [Data Versioning with View Entities](/refguide/view-entity-data-versioning/) -* [Exporting Data with View Entities](/refguide/view-entity-expport-data/) -* [Abstracting Data of Add-On Modules](/refguide/abstracting-view-entity-data/) -* [Multitenant Applications](/refguide/view-entity-multitenant-apps/) +* [Creating Overview Pages](/refguide10/view-entity-overview-pages/) +* [Decoupling APIs](/refguide10/decoupling-apis/) +* [Charting with View Entities](/refguide10/charting-with-view-entities/) +* [Multilingual Apps and Translations](/refguide10/multilingual-apps/) +* [View Archived Data](/refguide10/view-archived-data/) +* [Create a Pivot Table with View Entities](/refguide10/view-entity-pivot-table/) +* [Data Versioning with View Entities](/refguide10/view-entity-data-versioning/) +* [Exporting Data with View Entities](/refguide10/view-entity-expport-data/) +* [Abstracting Data of Add-On Modules](/refguide10/abstracting-view-entity-data/) +* [Multitenant Applications](/refguide10/view-entity-multitenant-apps/) diff --git a/content/en/docs/refguide10/modeling/domain-model/entities/view-entities/view-archived-data.md b/content/en/docs/refguide10/modeling/domain-model/entities/view-entities/view-archived-data.md index 7449f219771..2c283f68549 100644 --- a/content/en/docs/refguide10/modeling/domain-model/entities/view-entities/view-archived-data.md +++ b/content/en/docs/refguide10/modeling/domain-model/entities/view-entities/view-archived-data.md @@ -1,6 +1,6 @@ --- title: "View Archived Data" -url: /refguide/view-archived-data/ +url: /refguide10/view-archived-data/ weight: 60 --- diff --git a/content/en/docs/refguide10/modeling/domain-model/entities/view-entities/view-entity-data-versioning.md b/content/en/docs/refguide10/modeling/domain-model/entities/view-entities/view-entity-data-versioning.md index 2a47fc0bb07..d6be9b1693a 100644 --- a/content/en/docs/refguide10/modeling/domain-model/entities/view-entities/view-entity-data-versioning.md +++ b/content/en/docs/refguide10/modeling/domain-model/entities/view-entities/view-entity-data-versioning.md @@ -1,6 +1,6 @@ --- title: "Data Versioning with View Entities" -url: /refguide/view-entity-data-versioning/ +url: /refguide10/view-entity-data-versioning/ weight: 80 --- @@ -51,7 +51,7 @@ To view the latest status of an order, follow the steps below: The above query is a nested query. It retrieves information from the *OrderInfo* table, then joins it with the *OrderUpdate* table. The result is a table with every update of every order. If you are only interested in the latest update of each table, retrieve the latest date an order is updated using `MAX(u.UpdateDate)` and combine it with the previous `JOIN`. -For more information on different OQL clauses, see [OQL Version 2 Features](/refguide/oql-v2/). +For more information on different OQL clauses, see [OQL Version 2 Features](/refguide10/oql-v2/). {{% /alert %}} diff --git a/content/en/docs/refguide10/modeling/domain-model/entities/view-entities/view-entity-export-data.md b/content/en/docs/refguide10/modeling/domain-model/entities/view-entities/view-entity-export-data.md index 526ee1ec0c7..d2e05b3701c 100644 --- a/content/en/docs/refguide10/modeling/domain-model/entities/view-entities/view-entity-export-data.md +++ b/content/en/docs/refguide10/modeling/domain-model/entities/view-entities/view-entity-export-data.md @@ -1,6 +1,6 @@ --- title: "Exporting Data with View Entities" -url: /refguide/view-entity-expport-data/ +url: /refguide10/view-entity-expport-data/ weight: 90 --- diff --git a/content/en/docs/refguide10/modeling/domain-model/entities/view-entities/view-entity-overview-pages.md b/content/en/docs/refguide10/modeling/domain-model/entities/view-entities/view-entity-overview-pages.md index ec8d8b53127..270a743a231 100644 --- a/content/en/docs/refguide10/modeling/domain-model/entities/view-entities/view-entity-overview-pages.md +++ b/content/en/docs/refguide10/modeling/domain-model/entities/view-entities/view-entity-overview-pages.md @@ -1,6 +1,6 @@ --- title: "Creating Overview Pages" -url: /refguide/view-entity-overview-pages/ +url: /refguide10/view-entity-overview-pages/ weight: 20 --- @@ -45,7 +45,7 @@ Create a view entity that combines only the relevant attributes of the entities {{% alert color="info" %}} -This query uses OQL to take the four attributes of each product and combines them with the associated supplier and category. If there is no supplier or category, the product will not be included. For more information, see [OQL Expressions](/refguide/oql-expressions/). +This query uses OQL to take the four attributes of each product and combines them with the associated supplier and category. If there is no supplier or category, the product will not be included. For more information, see [OQL Expressions](/refguide10/oql-expressions/). {{% /alert %}} @@ -137,7 +137,7 @@ On the Product overview page above, there is no button to add or modify a produc 1. Create a microflow and name it *ACT_UpdateProduct*. 2. Add a parameter and in the entity field and select **ProductOverviewVE**. -3. Add a [retrieve](/refguide/retrieve/) activity. In this activity, retrieve a *Product* object from the database. Configure the activity with the following details: +3. Add a [retrieve](/refguide10/retrieve/) activity. In this activity, retrieve a *Product* object from the database. Configure the activity with the following details: * Use the following XPath constraint: @@ -147,7 +147,7 @@ On the Product overview page above, there is no button to add or modify a produc * In the Options field, set Range to **First** -4. Add a [Change Object]( /refguide/change-object/) activity. Configure the activity by adding the attributes of `Product` to reflect those of `ProductOverviewVE` +4. Add a [Change Object]( /refguide10/change-object/) activity. Configure the activity by adding the attributes of `Product` to reflect those of `ProductOverviewVE` {{< figure src="/attachments/refguide10/modeling/domain-model/view-entities/create-overview-pages/change-object.png" >}} diff --git a/content/en/docs/refguide10/modeling/domain-model/generalization-and-association.md b/content/en/docs/refguide10/modeling/domain-model/generalization-and-association.md index 6500392bdff..45611bdfe55 100644 --- a/content/en/docs/refguide10/modeling/domain-model/generalization-and-association.md +++ b/content/en/docs/refguide10/modeling/domain-model/generalization-and-association.md @@ -1,7 +1,7 @@ --- title: "Generalization vs One-to-One Associations" linktitle: "Generalization vs 1-to-1 Associations" -url: /refguide/generalization-and-association/ +url: /refguide10/generalization-and-association/ weight: 50 --- @@ -19,7 +19,7 @@ The Mendix domain model is based on the [class diagram](https://en.wikipedia.org {{< figure src="/attachments/refguide10/modeling/domain-model/generalization-and-association/generalization-indication.png" alt="example of generalization notation" class="no-border" >}} -UML also allows us to specify the types of associations, such as an [Aggregation](https://en.wikipedia.org/wiki/Aggregation_(object-oriented_programming)) or [Composition](https://en.wikipedia.org/wiki/Object_composition). The definition of these associations specify whether or not the objects can exist without each other. Unlike UML we can not specify how strong a relationship is. Any dependencies between the two objects have to be specified using [event microflows](/refguide/event-handlers/) or [on delete behavior/prevention](/refguide/association-properties/#delete-behavior). +UML also allows us to specify the types of associations, such as an [Aggregation](https://en.wikipedia.org/wiki/Aggregation_(object-oriented_programming)) or [Composition](https://en.wikipedia.org/wiki/Object_composition). The definition of these associations specify whether or not the objects can exist without each other. Unlike UML we can not specify how strong a relationship is. Any dependencies between the two objects have to be specified using [event microflows](/refguide10/event-handlers/) or [on delete behavior/prevention](/refguide10/association-properties/#delete-behavior). ### Performance @@ -39,7 +39,7 @@ When you change an object with inheritance the platform will potentially prevent #### One-to-One Association -When changing an object, none of the associated objects will be changed. There are two exceptions to this rule: if you change the associated object in an object event, or when associated objects are being 'autocommitted', see [Object Activities](/refguide/object-activities/). +When changing an object, none of the associated objects will be changed. There are two exceptions to this rule: if you change the associated object in an object event, or when associated objects are being 'autocommitted', see [Object Activities](/refguide10/object-activities/). Whenever you have a high number of write transactions in your application, it is better to choose a one-to-one association, since this limits the number of tables that are being changed/locked during a transaction. However, if you do more inserts than updates it might be worth using inheritance again. Inheritance uses one fewer table to store the relationship; it does not have the association table. Therefore, any inserts require one indexed table fewer to be updated. diff --git a/content/en/docs/refguide10/modeling/domain-model/mx-validation-assist.md b/content/en/docs/refguide10/modeling/domain-model/mx-validation-assist.md index 62e46b7a2da..4812746174c 100644 --- a/content/en/docs/refguide10/modeling/domain-model/mx-validation-assist.md +++ b/content/en/docs/refguide10/modeling/domain-model/mx-validation-assist.md @@ -1,13 +1,13 @@ --- title: "Validation Assist" -url: /refguide/validation-assist/ +url: /refguide10/validation-assist/ weight: 80 description: "Describes Mendix Validation Assist on pages." --- ## Introduction -The Validation Assist helps you build validation microflows in a more automated way using pre-built expressions. [Validation rules](/refguide/validation-rules/) are conditions that should be satisfied before an object is committed. There are different ways to [set up data validations](/refguide/setting-up-data-validation/) in Mendix. Building data validation in microflows is a manual and repetitive task and Validation Assist helps automate it. +The Validation Assist helps you build validation microflows in a more automated way using pre-built expressions. [Validation rules](/refguide10/validation-rules/) are conditions that should be satisfied before an object is committed. There are different ways to [set up data validations](/refguide10/setting-up-data-validation/) in Mendix. Building data validation in microflows is a manual and repetitive task and Validation Assist helps automate it. The main features of the Validation Assist are as follows: @@ -52,7 +52,7 @@ The dialog box consists of two sections: * **Microflow** – microflow name * **Commit** – defines whether changes should be committed to the database (only for buttons) * **Close Page** – defines whether the page should be closed after clicking the button (only for buttons) - * **On Event** – defines when to trigger the validation check (only for input widgets); for more information on events, see [On Click Events and Events Section](/refguide/on-click-event/) + * **On Event** – defines when to trigger the validation check (only for input widgets); for more information on events, see [On Click Events and Events Section](/refguide10/on-click-event/) * **Validations** where validations for the microflow are configured. This section contains the following: @@ -126,5 +126,5 @@ You can now click **Run Locally** ({{% icon name="controls-play-filled" %}}) in ## Read More -* [Validation Rules](/refguide/validation-rules/) -* [Setting Up Data Validation](/refguide/setting-up-data-validation/) +* [Validation Rules](/refguide10/validation-rules/) +* [Setting Up Data Validation](/refguide10/setting-up-data-validation/) diff --git a/content/en/docs/refguide10/modeling/domain-model/oql/_index.md b/content/en/docs/refguide10/modeling/domain-model/oql/_index.md index 4c0abb5c4dd..facfa9b2308 100644 --- a/content/en/docs/refguide10/modeling/domain-model/oql/_index.md +++ b/content/en/docs/refguide10/modeling/domain-model/oql/_index.md @@ -1,6 +1,6 @@ --- title: "OQL" -url: /refguide/oql/ +url: /refguide10/oql/ weight: 90 --- @@ -11,7 +11,7 @@ The Mendix Object Query Language (OQL) is a relational query language inspired b In addition, OQL can use predefined relations (associations) to easily join objects without having to calculate which columns should be coupled. Despite these differences, many SQL keywords also work in OQL. {{% alert color="info" %}} -OQL can only be used on persistable and view entities and the associations between them. It cannot be used with non-persistable or external [entities](/refguide/entities/). +OQL can only be used on persistable and view entities and the associations between them. It cannot be used with non-persistable or external [entities](/refguide10/entities/). {{% /alert %}} Some examples of OQL queries are: diff --git a/content/en/docs/refguide10/modeling/domain-model/oql/oql-clauses.md b/content/en/docs/refguide10/modeling/domain-model/oql/oql-clauses.md index 4ffa26883be..78dedb1f58a 100644 --- a/content/en/docs/refguide10/modeling/domain-model/oql/oql-clauses.md +++ b/content/en/docs/refguide10/modeling/domain-model/oql/oql-clauses.md @@ -1,15 +1,15 @@ --- title: "OQL Clauses" -url: /refguide/oql-clauses/ +url: /refguide10/oql-clauses/ weight: 10 aliases: - - /refguide/oql-from-clause/ - - /refguide/oql-group-by-clause/ - - /refguide/oql-limit-clause/ - - /refguide/oql-order-by-clause/ - - /refguide/oql-select-clause/ - - /refguide/oql-subqueries/ - - /refguide/oql-where-clause/ + - /refguide10/oql-from-clause/ + - /refguide10/oql-group-by-clause/ + - /refguide10/oql-limit-clause/ + - /refguide10/oql-order-by-clause/ + - /refguide10/oql-select-clause/ + - /refguide10/oql-subqueries/ + - /refguide10/oql-where-clause/ --- ## Introduction @@ -45,7 +45,7 @@ The `SELECT` clause specifies which entity attributes or other specified data mu The `SELECT` clause consists of the term `SELECT` and one or more column definitions. Each column definition must be separated by a comma. Each column definition defines a column or a set of columns in the result. Each single value column definition can have an alias, which will be the name of the column in the result. {{% alert color="info" %}} -We use terms "attributes" and "columns" for data in different contexts. Attributes are the [entity attributes](/refguide/attributes/). If data belongs to objects of an entity, we refer to that data as attributes of those objects. While columns contain the same data, they are not tied to a particular entity. In the general case, OQL does not result in an entity, and so results on an OQL query are columns. When it comes to [view entities](/refguide/view-entities/), OQL columns are mapped to attributes of a view entity, and then we can speak of attributes again. +We use terms "attributes" and "columns" for data in different contexts. Attributes are the [entity attributes](/refguide10/attributes/). If data belongs to objects of an entity, we refer to that data as attributes of those objects. While columns contain the same data, they are not tied to a particular entity. In the general case, OQL does not result in an entity, and so results on an OQL query are columns. When it comes to [view entities](/refguide10/view-entities/), OQL columns are mapped to attributes of a view entity, and then we can speak of attributes again. Similarly, we use term "objects" when referring to objects of an entity, but for results of an OQL query, we use "rows" because the results are not necessarily mapped to objects of a particular entity. {{% /alert %}} @@ -91,7 +91,7 @@ Using `*` (asterisk) in the SELECT clause specifies that the values of all attri Specifying `entity_name/*` and `from_alias/*` specify that the values of all attributes of the specified entity or expression of the `FROM` clause should be returned. -`entity_name` can optionally be put in double quotes. If the entity name is a [reserved OQL word](/refguide/oql/#reserved-oql-words) (like `Order` or `Group`), double quotes are mandatory. +`entity_name` can optionally be put in double quotes. If the entity name is a [reserved OQL word](/refguide10/oql/#reserved-oql-words) (like `Order` or `Group`), double quotes are mandatory. {{% alert color="info" %}} Specifying all attributes will also return attributes which are normally hidden in the Domain Model, such as the `ID` of each object. @@ -106,7 +106,7 @@ SELECT * FROM Sales.Customer ``` -The following query returns all attributes of objects of `Sales.Request` that are associated with `Sales.Customer` objects (see [Select from Multiple Tables using `JOIN`](/refguide/oql-clauses/#join)) +The following query returns all attributes of objects of `Sales.Request` that are associated with `Sales.Customer` objects (see [Select from Multiple Tables using `JOIN`](/refguide10/oql-clauses/#join)) ``` SELECT Sales.Request/* @@ -195,9 +195,9 @@ returns ### Expressions -It is possible to use more complex expressions in `SELECT`. This is explained in detail in [OQL Expressions](/refguide/oql-expressions/). +It is possible to use more complex expressions in `SELECT`. This is explained in detail in [OQL Expressions](/refguide10/oql-expressions/). -It is also possible to use a subquery. See [Subquery in `SELECT`](/refguide/oql-clauses/#subquery-in-select) for more details. +It is also possible to use a subquery. See [Subquery in `SELECT`](/refguide10/oql-clauses/#subquery-in-select) for more details. ### Selecting Attributes over Associations @@ -219,7 +219,7 @@ SELECT FROM Sales.Customer ``` -In the case when the association [multiplicity type](/refguide/association-properties/#multiplicity) is one-to-many or many-to-many, every attribute over association may result in multiple results per object. If there are multiple attributes over association in the `FROM` clause, the result will be a cartesian product of associated objects meaning that there will be a row for every combination of associated objects. If you want to avoid that effect, consider rewriting the query using [`JOIN`](/refguide/oql-clauses/#join). +In the case when the association [multiplicity type](/refguide10/association-properties/#multiplicity) is one-to-many or many-to-many, every attribute over association may result in multiple results per object. If there are multiple attributes over association in the `FROM` clause, the result will be a cartesian product of associated objects meaning that there will be a row for every combination of associated objects. If you want to avoid that effect, consider rewriting the query using [`JOIN`](/refguide10/oql-clauses/#join). For example, when a `Sales.Customer` with `LastName` "Doe" has two associated `Sales.Request` objects with a `Number` attribute with values 1 and 2, the following query will return 4 rows: @@ -547,7 +547,7 @@ FULL OUTER JOIN Cust/Sales.Request_Customer/Sales.Request Req ### Select from a Subquery -See [Subquery in `FROM`](/refguide/oql-clauses/#subquery-in-from) for details. +See [Subquery in `FROM`](/refguide10/oql-clauses/#subquery-in-from) for details. ## `WHERE` Clause {#where} @@ -563,7 +563,7 @@ WHERE `` is an expression of type BOOLEAN. Expressions can consist of simple comparisons using operators, functions, keywords, parameters, and system variables. If the result of the expression is `True` for a particular row, that row is included in the result. Rows that do not match the expression are not included in the result. -For more information, see [OQL Expressions](/refguide/oql-expressions/). +For more information, see [OQL Expressions](/refguide10/oql-expressions/). ### Examples @@ -622,7 +622,7 @@ WHERE | ------------ | ------ | | Caribou | -1 | -You can also use a subquery in `WHERE`. See [Subquery in `WHERE`](/refguide/oql-clauses/#subquery-in-where) for examples. +You can also use a subquery in `WHERE`. See [Subquery in `WHERE`](/refguide10/oql-clauses/#subquery-in-where) for examples. #### Entities over Associations in `WHERE` Clause @@ -670,7 +670,7 @@ GROUP BY ``` {{% alert color="info" %}} -The `GROUP BY` clause is usually used in combination with [aggregations](/refguide/oql-expressions/#aggregates): `AVG`, `COUNT`, `MAX`, `MIN`, `SUM`. +The `GROUP BY` clause is usually used in combination with [aggregations](/refguide10/oql-expressions/#aggregates): `AVG`, `COUNT`, `MAX`, `MIN`, `SUM`. {{% /alert %}} ### Using `GROUP BY` @@ -785,7 +785,7 @@ GROUP BY LENGTH(Brand) It is recommended not to use the following functionality to avoid potential migration problems. -1. Aliases in `GROUP BY`. [Supported](/refguide/system-requirements/#databases) database vendors that allow do allow aliases in `GROUP BY` are HSQLDB, PostgreSQL, MariaDB, and MySQL. +1. Aliases in `GROUP BY`. [Supported](/refguide10/system-requirements/#databases) database vendors that allow do allow aliases in `GROUP BY` are HSQLDB, PostgreSQL, MariaDB, and MySQL. 2. Subqueries in `GROUP BY`. Supported database vendors which do allow subqueries in `GROUP BY` are PostgreSQL, MariaDB, and MySQL. {{% /alert %}} @@ -822,7 +822,7 @@ HAVING COUNT(*) > 1 AND SUM(Stock) < 20 | ------ | | Rekall | -You can also use [more complex expressions](/refguide/oql-expression-syntax/) such as subqueries and functions in `HAVING`: +You can also use [more complex expressions](/refguide10/oql-expression-syntax/) such as subqueries and functions in `HAVING`: ```sql SELECT Brand @@ -878,7 +878,7 @@ ORDER BY LastName | Jane | Moose | {{% alert color="info" %}} -For information on the default ordering behavior of NULL values, see the [NULL Values Order Behavior](/refguide/ordering-behavior/#null-ordering-behavior) section of *Order By Behavior*. +For information on the default ordering behavior of NULL values, see the [NULL Values Order Behavior](/refguide10/ordering-behavior/#null-ordering-behavior) section of *Order By Behavior*. {{% /alert %}} {{% alert color="info" %}} @@ -966,7 +966,7 @@ ORDER BY LastName DESC, FirstName ASC OQL allows you to specify paths to attributes of associated entities in the `ORDER BY` clause. {{% alert color="info" %}} -In the example below `Sales.Customer` object for Jim Elk does not have any associated objects of the `Sales.Request` entity. Depending on the database, that object will end up either at the beginning or the end of the ordered result. See [NULL Values Order Behavior](/refguide/ordering-behavior/#null-ordering-behavior) for more information. +In the example below `Sales.Customer` object for Jim Elk does not have any associated objects of the `Sales.Request` entity. Depending on the database, that object will end up either at the beginning or the end of the ordered result. See [NULL Values Order Behavior](/refguide10/ordering-behavior/#null-ordering-behavior) for more information. {{% /alert %}} ```sql @@ -1079,7 +1079,7 @@ The syntax is as follows: The data types used in `select_query` statements are considered when determining the final return type of the `UNION` clause. All data types used in `select_query` statements must be compatible. All data types are compatible with themselves. Differing types are only compatible in these cases: -* `UNION` of numeric types `INTEGER`, `LONG` and `DECIMAL`. The return type is the numeric type found in the `select_query` statements with the highest precedence (see [Type Precedence](/refguide/oql-expression-syntax/#type-coercion) for more information). +* `UNION` of numeric types `INTEGER`, `LONG` and `DECIMAL`. The return type is the numeric type found in the `select_query` statements with the highest precedence (see [Type Precedence](/refguide10/oql-expression-syntax/#type-coercion) for more information). * `UNION` of limited and unlimited `STRING`. The return type is determined by the largest length of `STRING` attributes in the `select_query` statements. * `UNION` of any known type and a `NULL` literal. The result type is the known type. diff --git a/content/en/docs/refguide10/modeling/domain-model/oql/oql-expression-syntax.md b/content/en/docs/refguide10/modeling/domain-model/oql/oql-expression-syntax.md index 53c57234d16..3106077b7bc 100644 --- a/content/en/docs/refguide10/modeling/domain-model/oql/oql-expression-syntax.md +++ b/content/en/docs/refguide10/modeling/domain-model/oql/oql-expression-syntax.md @@ -1,22 +1,22 @@ --- title: "OQL Expression Syntax" -url: /refguide/oql-expression-syntax/ +url: /refguide10/oql-expression-syntax/ weight: 30 aliases: - - /refguide/oql-case-expression/ - - /refguide/oql-cast/ - - /refguide/oql-coalesce/ - - /refguide/oql-datediff/ - - /refguide/oql-datepart/ - - /refguide/oql-functions/ - - /refguide/oql-length/ - - /refguide/oql-lower/ - - /refguide/oql-operators/ - - /refguide/oql-rangebegin/ - - /refguide/oql-rangeend/ - - /refguide/oql-replace/ - - /refguide/oql-round/ - - /refguide/oql-upper/ + - /refguide10/oql-case-expression/ + - /refguide10/oql-cast/ + - /refguide10/oql-coalesce/ + - /refguide10/oql-datediff/ + - /refguide10/oql-datepart/ + - /refguide10/oql-functions/ + - /refguide10/oql-length/ + - /refguide10/oql-lower/ + - /refguide10/oql-operators/ + - /refguide10/oql-rangebegin/ + - /refguide10/oql-rangeend/ + - /refguide10/oql-replace/ + - /refguide10/oql-round/ + - /refguide10/oql-upper/ --- ## Introduction @@ -27,7 +27,7 @@ This document details the use and syntax of expressions in an OQL query. ## Data Types -OQL supports a set of data types that differ slightly from [Mendix data types](/refguide/data-types/). The supported data types are: +OQL supports a set of data types that differ slightly from [Mendix data types](/refguide10/data-types/). The supported data types are: | Data Type | Mendix Data type | Example | Description | |------------|------------------|-----------------------|--------------------------------------------| @@ -58,7 +58,7 @@ There is no direct support for `DATETIME` literals. For functions that take `DAT ## System Variables -Most XPath [system variables](/refguide/xpath-keywords-and-system-variables/#system-variables) can be used in OQL with the format: +Most XPath [system variables](/refguide10/xpath-keywords-and-system-variables/#system-variables) can be used in OQL with the format: ```sql '[%SystemVariable%]' @@ -100,7 +100,7 @@ WHERE ### Time-Related Variables -All time-related variables and expressions that are supported in XPath are also supported in OQL. See section [Time-Related](/refguide/xpath-keywords-and-system-variables/#time-related) of *XPath Keywords and System Variables*. +All time-related variables and expressions that are supported in XPath are also supported in OQL. See section [Time-Related](/refguide10/xpath-keywords-and-system-variables/#time-related) of *XPath Keywords and System Variables*. The return type of all time-related variables and expressions is Date and time. They can be used the same way as values of type Date and time. @@ -555,7 +555,7 @@ The `IS` operator can be used to filter out rows with values that are NULL. For The `CASE` expression is a conditional expression, similar to if/else statements in other programming languages. If the result of a following `WHEN` condition is `TRUE`, the value of the `CASE` expression is the result that follows the condition and the remainder of the `CASE` expression is not processed. If the result is not `TRUE`, any subsequent `WHEN` clauses are examined in the same manner. If no `WHEN` condition yields `TRUE`, the value of the `CASE` expression is the result of the `ELSE` clause. If the `ELSE` clause is omitted and no condition is `TRUE`, the result is null. -If [OQL v2](/refguide/oql-v2/) is enabled, additional data type validations apply to result expressions of `CASE`. See the corresponding [page](/refguide/oql-v2/#case-validations) for details. +If [OQL v2](/refguide10/oql-v2/) is enabled, additional data type validations apply to result expressions of `CASE`. See the corresponding [page](/refguide10/oql-v2/#case-validations) for details. #### Syntax @@ -760,7 +760,7 @@ SELECT (Number : 2) as Normal, (Cast(Number AS DECIMAL) : 2) as Casted FROM Sale Returns the value of the first `expression` that is not NULL. Can be used with columns. -If [OQL v2](/refguide/oql-v2/) is enabled, additional data type validations apply to arguments of `COALESCE`. See the corresponding [page](/refguide/oql-v2/#coalesce-validations) for details. +If [OQL v2](/refguide10/oql-v2/) is enabled, additional data type validations apply to arguments of `COALESCE`. See the corresponding [page](/refguide10/oql-v2/#coalesce-validations) for details. #### Syntax @@ -814,7 +814,7 @@ FROM Sales.Customer The `DATEDIFF` function returns the difference between two given `DATETIME` expressions. The difference is given in the specified unit. -If [OQL v2](/refguide/oql-v2/) is enabled, additional data type validations apply to the arguments of `DATEDIFF`. See the corresponding [page](/refguide/oql-v2/#date-validations) for details. +If [OQL v2](/refguide10/oql-v2/) is enabled, additional data type validations apply to the arguments of `DATEDIFF`. See the corresponding [page](/refguide10/oql-v2/#date-validations) for details. #### Syntax @@ -895,7 +895,7 @@ The way the difference is calculated depends on the database. The `YEAR` differe The `DATEPART` function retrieves a specified element from `DATETIME` values. The return type is `INTEGER`. -If [OQL v2](/refguide/oql-v2/) is enabled, additional data type validations apply to the arguments of `DATEPART`. See the corresponding [page](/refguide/oql-v2/#date-validations) for details. +If [OQL v2](/refguide10/oql-v2/) is enabled, additional data type validations apply to the arguments of `DATEPART`. See the corresponding [page](/refguide10/oql-v2/#date-validations) for details. #### Syntax @@ -949,7 +949,7 @@ SELECT End FROM Sales.Period WHERE DATEPART(YEAR, End) = 2025 The `LENGTH` function returns the length in characters of the result of a string expression. -If [OQL v2](/refguide/oql-v2/) is enabled, additional data type validations apply. See the corresponding [page](/refguide/oql-v2/#length-validations) for details. +If [OQL v2](/refguide10/oql-v2/) is enabled, additional data type validations apply. See the corresponding [page](/refguide10/oql-v2/#length-validations) for details. #### Syntax @@ -1028,10 +1028,10 @@ This query can no longer take advantage of an index for `LastName` for compariso ### Ranges in Datasets {{% alert color="info" %}} -Range parameters are defined only in [datasets](/refguide/data-sets/). +Range parameters are defined only in [datasets](/refguide10/data-sets/). {{% /alert %}} -`RANGEBEGIN` and `RANGEEND` can only be used with a [parameter](/refguide/data-sets/#parameters) as input. +`RANGEBEGIN` and `RANGEEND` can only be used with a [parameter](/refguide10/data-sets/#parameters) as input. #### RANGEBEGIN diff --git a/content/en/docs/refguide10/modeling/domain-model/oql/oql-expressions.md b/content/en/docs/refguide10/modeling/domain-model/oql/oql-expressions.md index 786252d8602..671aba85a04 100644 --- a/content/en/docs/refguide10/modeling/domain-model/oql/oql-expressions.md +++ b/content/en/docs/refguide10/modeling/domain-model/oql/oql-expressions.md @@ -1,10 +1,10 @@ --- title: "OQL Expressions" weight: 20 -url: /refguide/oql-expressions/ +url: /refguide10/oql-expressions/ aliases: - - /refguide/oql-aggregation/ - - /refguide/oql-parameters/ + - /refguide10/oql-aggregation/ + - /refguide10/oql-parameters/ --- @@ -18,7 +18,7 @@ An OQL expression is a query building block that returns a value or a list of va * a subquery * a combination of attribute names, constants, system variables, functions, and subqueries connected by operators -OQL expressions can be used in `WHERE`, `SELECT`, `GROUP BY`, `UNION`, `HAVING`, and `ON` conditions of `JOIN` clauses. For more information, see [OQL clauses](/refguide/oql-clauses/). +OQL expressions can be used in `WHERE`, `SELECT`, `GROUP BY`, `UNION`, `HAVING`, and `ON` conditions of `JOIN` clauses. For more information, see [OQL clauses](/refguide10/oql-clauses/). ## Aggregations{#aggregates} @@ -126,7 +126,7 @@ SELECT COUNT(Stock) AS StockEntryCount FROM Sales.Product |:---------------:| | 4 | -You can count just unique names with [`DISTINCT`](/refguide/oql-clauses/#distinct): +You can count just unique names with [`DISTINCT`](/refguide10/oql-clauses/#distinct): ```sql SELECT COUNT(DISTINCT Name) AS DistinctNameEntryCount FROM Sales.Product @@ -221,7 +221,7 @@ Parameters are external variables that are referenced to by name in an OQL query If you use undefined in `IN` and `LIKE` comparison expressions, the condition always returns `true`. In other cases, undefined parameters cause an exception. -{{% alert color="warning" %}} Parameters are only supported within OQL queries defined in [data sets](/refguide/data-sets/) or inside Java actions using the [Mendix Runtime API](/apidocs-mxsdk/apidocs/runtime-api/). They can not be used in [view entities](/refguide/view-entities/).{{% /alert %}} +{{% alert color="warning" %}} Parameters are only supported within OQL queries defined in [data sets](/refguide10/data-sets/) or inside Java actions using the [Mendix Runtime API](/apidocs-mxsdk/apidocs/runtime-api/). They can not be used in [view entities](/refguide10/view-entities/).{{% /alert %}} ### Examples diff --git a/content/en/docs/refguide10/modeling/domain-model/oql/oql-v2.md b/content/en/docs/refguide10/modeling/domain-model/oql/oql-v2.md index 3d20dc98aea..8ff3ad24768 100644 --- a/content/en/docs/refguide10/modeling/domain-model/oql/oql-v2.md +++ b/content/en/docs/refguide10/modeling/domain-model/oql/oql-v2.md @@ -1,13 +1,13 @@ --- title: "OQL Version 2 Features" linktitle: "Switching to OQL Version 2" -url: /refguide/oql-v2/ +url: /refguide10/oql-v2/ weight: 100 --- ## Introduction -In Studio Pro version 10.19, we introduced OQL v2. It can be enabled by setting the [OQL version 2](/refguide/app-settings/#oql-version-2) app setting to *Yes*. You will have to switch to OQL v2 in order to enable [View entities](/refguide/view-entities/). +In Studio Pro version 10.19, we introduced OQL v2. It can be enabled by setting the [OQL version 2](/refguide10/app-settings/#oql-version-2) app setting to *Yes*. You will have to switch to OQL v2 in order to enable [View entities](/refguide10/view-entities/). OQL v2 syntax is the same as OQL. However, there are a few differences in the handling of specific, mostly not very common, cases. @@ -44,29 +44,29 @@ OQL v2 has more strict data type validation of some functions and other expressi #### `CASE` {#case-validations} -In OQL v2, all result expressions of a [CASE](/refguide/oql-expression-syntax/#case-expression) expression should have matching types or be Null. In OQL v1, there was no such validation, and handling of different types was delegated to the database, which made the behavior database-specific and unreliable. +In OQL v2, all result expressions of a [CASE](/refguide10/oql-expression-syntax/#case-expression) expression should have matching types or be Null. In OQL v1, there was no such validation, and handling of different types was delegated to the database, which made the behavior database-specific and unreliable. Also, in OQL v2 it is no longer possible to have Null as the result of all result expressions of CASE. In OQL v1, that was allowed, but would lead to database-level exceptions for some database vendors. -Numeric types Integer, Long and Decimal are considered matching. See [examples](/refguide/oql-expression-syntax/#case-expression-examples) of `CASE` expressions for details on how different numeric types are combined. +Numeric types Integer, Long and Decimal are considered matching. See [examples](/refguide10/oql-expression-syntax/#case-expression-examples) of `CASE` expressions for details on how different numeric types are combined. #### `COALESCE` {#coalesce-validations} -Data type validation of [COALESCE](/refguide/oql-expression-syntax/#coalesce-expression) follows the same logic as CASE. +Data type validation of [COALESCE](/refguide10/oql-expression-syntax/#coalesce-expression) follows the same logic as CASE. -In OQL v2, all arguments of a [COALESCE](/refguide/oql-expression-syntax/#coalesce-expression) expression should have matching types or be Null. In OQL v1, there was no such validation, and handling of different types was delegated to the database, which made the behavior database-specific and unreliable. +In OQL v2, all arguments of a [COALESCE](/refguide10/oql-expression-syntax/#coalesce-expression) expression should have matching types or be Null. In OQL v1, there was no such validation, and handling of different types was delegated to the database, which made the behavior database-specific and unreliable. Also, in OQL v2 it is no longer possible to have a COALESCE expression where all arguments are Null literals. In OQL v1, that was allowed, but would lead to database-level exceptions for some database vendors. -Numeric types Integer, Long and Decimal are considered matching. See [examples](/refguide/oql-expression-syntax/#coalesce-expression-examples) of `COALESCE` for details on how different numeric types are combined. +Numeric types Integer, Long and Decimal are considered matching. See [examples](/refguide10/oql-expression-syntax/#coalesce-expression-examples) of `COALESCE` for details on how different numeric types are combined. #### `LENGTH` {#length-validations} -In OQL v2, the argument of [LENGTH](/refguide/oql-expression-syntax/#length-function) function can only be of type String. Note that values of Enumerations are also treated as Strings. In OQL v1, there was no such validation, and handling of other types was delegated to the database. +In OQL v2, the argument of [LENGTH](/refguide10/oql-expression-syntax/#length-function) function can only be of type String. Note that values of Enumerations are also treated as Strings. In OQL v1, there was no such validation, and handling of other types was delegated to the database. #### `DATEPART` and `DATEDIFF` {#date-validations} -In OQL v2, the date arguments of functions [DATEPART](/refguide/oql-expression-syntax/#datepart-function) and [DATEDIFF](/refguide/oql-expression-syntax/#datediff-function) can be only of one of the following types: +In OQL v2, the date arguments of functions [DATEPART](/refguide10/oql-expression-syntax/#datepart-function) and [DATEDIFF](/refguide10/oql-expression-syntax/#datediff-function) can be only of one of the following types: * Date and time * String. In this case, Runtime will implicitly attempt conversion of the string to a Date and time. @@ -214,7 +214,7 @@ FROM ( ### `ORDER BY` in View Entities -For [view entities](/refguide/view-entities/), you must now have a `LIMIT` and `OFFSET` in all `ORDER BY` clauses, even for the top level query. +For [view entities](/refguide10/view-entities/), you must now have a `LIMIT` and `OFFSET` in all `ORDER BY` clauses, even for the top level query. This is because view entity results are not accessed directly. In the Runtime, a view entity is wrapped inside another `SELECT` query as a subquery, which allows further filtering and ordering. This makes it similar to the Subquery case, above. @@ -237,7 +237,7 @@ When handling numeric types in OQL v2 (Integer, Long, and Decimal), the result o * Long * Integer -If any side of the operation is of a non-numeric type, no casting is performed, and the result is handled by the database, as in OQL v1. See [Expression syntax](/refguide/oql-expression-syntax/#type-coercion) for more information. +If any side of the operation is of a non-numeric type, no casting is performed, and the result is handled by the database, as in OQL v1. See [Expression syntax](/refguide10/oql-expression-syntax/#type-coercion) for more information. ### The Result Type of `ROUND` Is Now `Decimal` @@ -291,6 +291,6 @@ UNION SELECT DecimalAttribute FROM Module.Entity ``` -In OQL v2 support of different data types is consistent across databases and is more limited. The result data type is determined by all `UNION` queries, merged according to precedence. See [UNION documentation](/refguide/oql-clauses/#oql-union-type) for data type specifics. +In OQL v2 support of different data types is consistent across databases and is more limited. The result data type is determined by all `UNION` queries, merged according to precedence. See [UNION documentation](/refguide10/oql-clauses/#oql-union-type) for data type specifics. The example query above now returns a result of type `DECIMAL`, as it has higher precedence than `INTEGER`. diff --git a/content/en/docs/refguide10/modeling/domain-model/setting-up-data-validation.md b/content/en/docs/refguide10/modeling/domain-model/setting-up-data-validation.md index ef83946f34b..89842b154c5 100644 --- a/content/en/docs/refguide10/modeling/domain-model/setting-up-data-validation.md +++ b/content/en/docs/refguide10/modeling/domain-model/setting-up-data-validation.md @@ -1,6 +1,6 @@ --- title: "Setting Up Data Validation" -url: /refguide/setting-up-data-validation/ +url: /refguide10/setting-up-data-validation/ weight: 70 description: "Describes how to set up both required and advanced data validation with Studio Pro." aliases: @@ -9,25 +9,25 @@ aliases: ## Introduction -This document explains how you can set up data validation with Mendix. Make sure you have set up a basic data structure, otherwise there is no data to validate. For more information on how to set up a basic data structure, see [Configuring a Domain Model](/refguide/configuring-a-domain-model/). +This document explains how you can set up data validation with Mendix. Make sure you have set up a basic data structure, otherwise there is no data to validate. For more information on how to set up a basic data structure, see [Configuring a Domain Model](/refguide10/configuring-a-domain-model/). ## Data Validation on Entity Level This section explains how you can add validation rules to the domain model of your module. {{% alert color="info" %}} -Validation rules can only be applied on entities that are [persistable](/refguide/persistability/). +Validation rules can only be applied on entities that are [persistable](/refguide10/persistability/). {{% /alert %}} Validation rules are generally triggered for each member of the entity (for example, an attribute) whenever changes are made to it. {{% alert color="warning" %}} -Some validation rules are not triggered if you do a commit and [With events](/refguide/committing-objects/#with-events) is set to *No*. This mainly affects attributes in new objects and attributes which are modified using the `setValue` Java method. In most other cases, validation rules will have been triggered when members are changed. Mendix advises that you set **With events** to *Yes* if you want to ensure that validations are always carried out. +Some validation rules are not triggered if you do a commit and [With events](/refguide10/committing-objects/#with-events) is set to *No*. This mainly affects attributes in new objects and attributes which are modified using the `setValue` Java method. In most other cases, validation rules will have been triggered when members are changed. Mendix advises that you set **With events** to *Yes* if you want to ensure that validations are always carried out. {{% /alert %}} To add validation rules on entity level, follow the steps below: -1. Open your [domain model](/refguide/configuring-a-domain-model/) in Studio Pro. +1. Open your [domain model](/refguide10/configuring-a-domain-model/) in Studio Pro. 2. Double-click a persistable entity to open its properties. 3. Go to the **Validation rules** tab. @@ -43,7 +43,7 @@ An example of an already-configured validation rule is shown below: {{< figure src="/attachments/refguide10/modeling/domain-model/setting-up-data-validation/validation-rule-example.png" width="500px" class="no-border" >}} -For more information on adding validation rules on entity level, see [Validation Rules](/refguide/validation-rules/). +For more information on adding validation rules on entity level, see [Validation Rules](/refguide10/validation-rules/). ## Required Validation on Inputs, Reference Selectors, and Drop-downs @@ -64,7 +64,7 @@ An example of checking the input for the **Name** attribute of a **Customer** en **Required** validation on **Input elements** in a page editor is always checked before the validation rule on the entity level. This means that if you set both as **Required** and have different error messages, the page error message is shown to the end-user. {{% /alert %}} -For more information on input widget validation, see the [Validation](/refguide/common-widget-properties/#validation) section in *Properties Common in the Page Editor*. +For more information on input widget validation, see the [Validation](/refguide10/common-widget-properties/#validation) section in *Properties Common in the Page Editor*. ## Advanced Data Validation with the Before Commit Event {#validation-before-commit-event} @@ -72,7 +72,7 @@ Validation rules are great for simple validations, but Mendix also offers ways t This section explains how you can validate data using the **Before Commit** event. To do so, follow these steps: -1. Open your [domain model](/refguide/configuring-a-domain-model/) in Studio Pro. +1. Open your [domain model](/refguide10/configuring-a-domain-model/) in Studio Pro. 2. Double-click an entity to open its properties. 3. Go to the **Event handlers** tab. 4. Click **New** to start configuring a new event handler for this entity. @@ -89,7 +89,7 @@ This section explains how you can validate data using the **Before Commit** even As long as this microflow returns a Boolean value, you are free to add any logic to determine whether the data is valid or not. If the microflow returns `false`, the commit is cancelled. Returning `true` commits the object. -For more information on working with microflows, see [Microflows](/refguide/microflows/). +For more information on working with microflows, see [Microflows](/refguide10/microflows/). ## Advanced Validation with a Custom Save Button {#custom-validation-save-button} @@ -98,7 +98,7 @@ Validating user input can also be achieved by overriding the default **Save** bu There are two ways to configure a custom **Save** button for data validation. {{% alert color="info" %}} -You can do this with the help of [Validation Assist](/refguide/validation-assist/). With Validation Assist, you can build validation microflows automatically by using pre-built expressions. For more information on how to use the Validation Assist, see the [Using Validation Assist to Build Data Validations](/refguide/validation-assist/#data-validations) section in *Validation Assist*. +You can do this with the help of [Validation Assist](/refguide10/validation-assist/). With Validation Assist, you can build validation microflows automatically by using pre-built expressions. For more information on how to use the Validation Assist, see the [Using Validation Assist to Build Data Validations](/refguide10/validation-assist/#data-validations) section in *Validation Assist*. {{% /alert %}} You can also configure a custom **Save** button manually. To do so, follow these steps: @@ -147,7 +147,7 @@ If you want to validate multiple attributes, it is best to do this in a sub-micr 2. Create your validations as described in the above section. 3. Configure the sub-microflow to change the Boolean variable to `false` after the validation feedback or error message. Connect this flow back to the main sequence flow using a merge, and continue with the next validation. 4. At the end of the sub-microflow, the variable should be `true` if it successfully passed all validations, and `false` when one or more validations have failed. -5. Add a [decision](/refguide/decision/) that checks the return value and only allows the microflow to continue to the **Commit** event if all validations have passed. In this way, you can keep the logic while performing all necessary validations at once. +5. Add a [decision](/refguide10/decision/) that checks the return value and only allows the microflow to continue to the **Commit** event if all validations have passed. In this way, you can keep the logic while performing all necessary validations at once. ## Read More diff --git a/content/en/docs/refguide10/modeling/images.md b/content/en/docs/refguide10/modeling/images.md index cd7c613b36e..b718baf1867 100644 --- a/content/en/docs/refguide10/modeling/images.md +++ b/content/en/docs/refguide10/modeling/images.md @@ -1,6 +1,6 @@ --- title: "Images" -url: /refguide/images/ +url: /refguide10/images/ weight: 70 description: "Introduces the image functionality in Studio Pro." #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. @@ -8,14 +8,14 @@ description: "Introduces the image functionality in Studio Pro." ## Introduction -Images can be used to brighten up your application. [Navigation items](/refguide/navigation-tree/) and the various kinds of [buttons](/refguide/button-widgets/) have small images (icons) to left of their captions. Images can also be used in the dynamic image widgets in [pages](/refguide/pages/) and [document templates](/refguide/document-templates/). Also, [enumeration values](/refguide/enumerations/#enum-value-properties) can have images that can then be shown in data grid columns. +Images can be used to brighten up your application. [Navigation items](/refguide10/navigation-tree/) and the various kinds of [buttons](/refguide10/button-widgets/) have small images (icons) to left of their captions. Images can also be used in the dynamic image widgets in [pages](/refguide10/pages/) and [document templates](/refguide10/document-templates/). Also, [enumeration values](/refguide10/enumerations/#enum-value-properties) can have images that can then be shown in data grid columns. The **System** module contains some images that are used by the standard components. If you place a data view on a page, the **Save** and **Cancel** buttons will have images from the **System** module on them. You can always use different images if you like. The same holds for images on the control bar buttons of the data grid. {{% alert color="info" %}} This sort of image is called a **static** image as it is always the same. For example, the icon you put on a save button will always look the same whatever object you are saving. -If you want different images to appear for different objects (for example, a picture of a product) these images should be stored as images in the database. See [Dynamic Image](/refguide/image-viewer/) for more information. +If you want different images to appear for different objects (for example, a picture of a product) these images should be stored as images in the database. See [Dynamic Image](/refguide10/image-viewer/) for more information. {{% /alert %}} ## Supported Formats @@ -24,7 +24,7 @@ The following image formats are supported: *png*, *jpeg*, *gif*, *bmp*, *webp*, ## Custom Images -To use your own images, they must first be added to an [image collection](/refguide/image-collection/). For information on how to create an image collection, and add images to it, see [Image Collection](/refguide/image-collection/). +To use your own images, they must first be added to an [image collection](/refguide10/image-collection/). For information on how to create an image collection, and add images to it, see [Image Collection](/refguide10/image-collection/). You should not add custom images to the existing image collections in imported modules, for example in the Atlas UI module. If you do this, there is a risk that they may be overwritten if you import a new version of the module at a later date. diff --git a/content/en/docs/refguide10/modeling/import-and-export/_index.md b/content/en/docs/refguide10/modeling/import-and-export/_index.md index 11115088de3..488291e306c 100644 --- a/content/en/docs/refguide10/modeling/import-and-export/_index.md +++ b/content/en/docs/refguide10/modeling/import-and-export/_index.md @@ -1,7 +1,7 @@ --- title: "Import and Export Apps, Modules, Widgets, and Documents" linktitle: "Importing and Exporting Elements" -url: /refguide/import-and-export/ +url: /refguide10/import-and-export/ weight: 18 description: "Gives an overview of the import and export functions in Studio Pro." --- @@ -64,7 +64,7 @@ The app is imported. Importing a module containing workflows is supported from Studio Pro 10.21.0 and above. In Studio Pro 10.20 and below, importing a module containing workflows will make all running workflow instances incompatible. {{% /alert %}} -Mendix modules can either be stored in a Mendix package (*.mpk*) file or have an *.mxmodule* extension if they are [add-on or solution modules](/refguide/configure-add-on-and-solution-modules/). +Mendix modules can either be stored in a Mendix package (*.mpk*) file or have an *.mxmodule* extension if they are [add-on or solution modules](/refguide10/configure-add-on-and-solution-modules/). #### Importing a Module Package Through the App Explorer @@ -204,7 +204,7 @@ To export an app, follow these steps: {{< figure src="/attachments/refguide10/modeling/import-and-export/export-app-package.png" class="no-border" >}} - For more information on types of packages, see [Export App Package](/refguide/export-app-package-dialog/). + For more information on types of packages, see [Export App Package](/refguide10/export-app-package-dialog/). The **Existing snapshot** option will only be available when a data snapshot was created earlier using the **Add snapshot of data** menu option from the **Team** menu. It is also possible to include a new snapshot based on the current state of the local database. This option is only available after the app has been started at least once. @@ -240,5 +240,5 @@ Mendix module documents can be exported as a Mendix package (*.mpk*) file. ## Read More -* [Modules](/refguide/modules/) -* [App](/refguide/app/) +* [Modules](/refguide10/modules/) +* [App](/refguide10/app/) diff --git a/content/en/docs/refguide10/modeling/integration/_index.md b/content/en/docs/refguide10/modeling/integration/_index.md index 85af6b29eeb..27e6283277a 100644 --- a/content/en/docs/refguide10/modeling/integration/_index.md +++ b/content/en/docs/refguide10/modeling/integration/_index.md @@ -1,6 +1,6 @@ --- title: "Integration" -url: /refguide/integration/ +url: /refguide10/integration/ weight: 110 no_list: false description_list: true @@ -17,11 +17,11 @@ Data integration capabilities in Studio Pro is part of [Mendix Connect](#integra [Mendix Connect](https://www.mendix.com/data-hub/) is a collection of functionalities available in the Mendix Platform that allows 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/) -* [Published GraphQL services](/refguide/published-odata-services/) (experimental) +* [OData services](/refguide10/integration/odata-services/) (view and manage in your company's [Catalog](/catalog/)) +* [REST services](/refguide10/integration/rest-services/) +* [Web services](/refguide10/integration/web-services/) +* [Business Event services](/refguide10/business-event-services/) +* [Published GraphQL services](/refguide10/published-odata-services/) (experimental) In addition to integration capabilities in Studio Pro [10](/releasenotes/studio-pro/10/), Mendix Connect functionalities include: diff --git a/content/en/docs/refguide10/modeling/integration/json-structures.md b/content/en/docs/refguide10/modeling/integration/json-structures.md index aa72a69d744..322dabb4b12 100644 --- a/content/en/docs/refguide10/modeling/integration/json-structures.md +++ b/content/en/docs/refguide10/modeling/integration/json-structures.md @@ -1,6 +1,6 @@ --- title: "JSON Structures" -url: /refguide/json-structures/ +url: /refguide10/json-structures/ weight: 10 description: "Describes how to use a JSON structure document that can be used in import and export mappings." #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. @@ -8,7 +8,7 @@ description: "Describes how to use a JSON structure document that can be used in ## General -A JSON structure document stores a JSON snippet and converts it into a schema structure that can be used in [Import Mappings](/refguide/import-mappings/) and [Export Mappings](/refguide/export-mappings/) to convert JSON content to Mendix objects and vice versa. +A JSON structure document stores a JSON snippet and converts it into a schema structure that can be used in [Import Mappings](/refguide10/import-mappings/) and [Export Mappings](/refguide10/export-mappings/) to convert JSON content to Mendix objects and vice versa. {{< figure src="/attachments/refguide10/modeling/integration/json-structures/sample-structure.png" class="no-border" width="600" >}} diff --git a/content/en/docs/refguide10/modeling/integration/machine-learning-kit/_index.md b/content/en/docs/refguide10/modeling/integration/machine-learning-kit/_index.md index cc2b9a1dc0f..0dbde75e051 100644 --- a/content/en/docs/refguide10/modeling/integration/machine-learning-kit/_index.md +++ b/content/en/docs/refguide10/modeling/integration/machine-learning-kit/_index.md @@ -1,6 +1,6 @@ --- title: "Machine Learning Kit" -url: /refguide/machine-learning-kit/ +url: /refguide10/machine-learning-kit/ weight: 26 description: "Introduces the Machine Learning (ML) Kit, used to deploy a machine learning model built using common ML framework." #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. @@ -18,20 +18,20 @@ Mendix *ML Kit* is built with the Open Neural Network Exchange ([ONNX](https://o The ONNX Runtime is based on the ONNX standard, and is an optimized inference engine for efficiently running any model converted to the ONNX format across different hardware and operating systems with minimum effort. Due to this framework interoperability nature of ONNX, ONNX Runtime improves the development efficiency from model training to inference. With the ML Kit, we have extended the Mendix Runtime with ONNX Runtime. ONNX bridges the gap between AI frameworks and Mendix. -To get started, see [Converting Your Model to ONNX](/refguide/machine-learning-kit/using-ml-kit/#convert-ml-model) in *Using ML Kit*. +To get started, see [Converting Your Model to ONNX](/refguide10/machine-learning-kit/using-ml-kit/#convert-ml-model) in *Using ML Kit*. ## Work with ML Kit Learn more about the machine learning kit in the following documents: -* [Using ML Kit](/refguide/machine-learning-kit/using-ml-kit/), a comprehensive overview of working with machine learning model functionality in Studio Pro - * [Logistic Regression Example](/refguide/machine-learning-kit/using-ml-kit/logistic-regression/), an example of the end-to-end flow of integrating an ML model into Studio Pro -* [Pre-Trained ML Models](/refguide/machine-learning-kit/pretrained-ml-models/), a list of pre-trained models you can use with *Mendix ML Kit* -* [Design Patterns](/refguide/machine-learning-kit/design-patterns/), an overview page that links to two documents about machine learning design patterns: - * [Advanced Inference Design Patterns](/refguide/machine-learning-kit/design-patterns/advanced-inference/) - * [Pre- and Post-Processor Design Patterns](/refguide/machine-learning-kit/design-patterns/pre-post-processor-patterns/) -* [ML model mapping](/refguide/ml-model-mapping/), an entry in the Studio Pro guide about the service document for machine learning models -* [Call ML Model](/refguide/call-ml-model/), about the microflow [activity](/refguide/activities/) to call an imported ML model in a microflow +* [Using ML Kit](/refguide10/machine-learning-kit/using-ml-kit/), a comprehensive overview of working with machine learning model functionality in Studio Pro + * [Logistic Regression Example](/refguide10/machine-learning-kit/using-ml-kit/logistic-regression/), an example of the end-to-end flow of integrating an ML model into Studio Pro +* [Pre-Trained ML Models](/refguide10/machine-learning-kit/pretrained-ml-models/), a list of pre-trained models you can use with *Mendix ML Kit* +* [Design Patterns](/refguide10/machine-learning-kit/design-patterns/), an overview page that links to two documents about machine learning design patterns: + * [Advanced Inference Design Patterns](/refguide10/machine-learning-kit/design-patterns/advanced-inference/) + * [Pre- and Post-Processor Design Patterns](/refguide10/machine-learning-kit/design-patterns/pre-post-processor-patterns/) +* [ML model mapping](/refguide10/ml-model-mapping/), an entry in the Studio Pro guide about the service document for machine learning models +* [Call ML Model](/refguide10/call-ml-model/), about the microflow [activity](/refguide10/activities/) to call an imported ML model in a microflow ## Read More diff --git a/content/en/docs/refguide10/modeling/integration/machine-learning-kit/design-patterns/_index.md b/content/en/docs/refguide10/modeling/integration/machine-learning-kit/design-patterns/_index.md index fbe3dc832fe..0b44ee99242 100644 --- a/content/en/docs/refguide10/modeling/integration/machine-learning-kit/design-patterns/_index.md +++ b/content/en/docs/refguide10/modeling/integration/machine-learning-kit/design-patterns/_index.md @@ -1,6 +1,6 @@ --- title: "Design Patterns" -url: /refguide/machine-learning-kit/design-patterns/ +url: /refguide10/machine-learning-kit/design-patterns/ no_list: false description_list: true weight: 35 @@ -8,9 +8,9 @@ weight: 35 ## Introduction -Design patterns are implementation patterns for machine learning models. The documents in this section explore [Advanced Inference Design Patterns](/refguide/machine-learning-kit/design-patterns/advanced-inference/) and [Pre-Processor and Post-Processor Design Patterns](/refguide/machine-learning-kit/design-patterns/pre-post-processor-patterns/) in further detail. +Design patterns are implementation patterns for machine learning models. The documents in this section explore [Advanced Inference Design Patterns](/refguide10/machine-learning-kit/design-patterns/advanced-inference/) and [Pre-Processor and Post-Processor Design Patterns](/refguide10/machine-learning-kit/design-patterns/pre-post-processor-patterns/) in further detail. -For detailed information on working with machine learning models in Studio Pro, see [Integrate Machine Learning Models](/refguide/machine-learning-kit/). +For detailed information on working with machine learning models in Studio Pro, see [Integrate Machine Learning Models](/refguide10/machine-learning-kit/). {{% alert color="info" %}}Check out a demo app and Jupyter Notebook examples in our [Demo for Mendix ML Kit](https://github.com/mendix/mlkit-example-app) repository for further information on working with machine learning models in Mendix.{{% /alert %}} diff --git a/content/en/docs/refguide10/modeling/integration/machine-learning-kit/design-patterns/advanced-inference-patterns.md b/content/en/docs/refguide10/modeling/integration/machine-learning-kit/design-patterns/advanced-inference-patterns.md index 0b27b90b57f..9f2ed3f5cef 100644 --- a/content/en/docs/refguide10/modeling/integration/machine-learning-kit/design-patterns/advanced-inference-patterns.md +++ b/content/en/docs/refguide10/modeling/integration/machine-learning-kit/design-patterns/advanced-inference-patterns.md @@ -1,13 +1,13 @@ --- title: "Advanced Inference Design Patterns" -url: /refguide/machine-learning-kit/design-patterns/advanced-inference/ +url: /refguide10/machine-learning-kit/design-patterns/advanced-inference/ weight: 35 #If moving or renaming this doc file, implement a temporary redirect and let the respective team know they should update the URL in the product. See Mapping to Products for more details. --- ## Introduction -The [Integrating Models with Pre-processors and Post-processors](/refguide/machine-learning-kit/using-ml-kit/#pre-post-processors) section of *Integrate Machine Learning Models* outlines considerations when importing a machine learning model with advanced processing needs. What are the standards for these models, and what do they look like? +The [Integrating Models with Pre-processors and Post-processors](/refguide10/machine-learning-kit/using-ml-kit/#pre-post-processors) section of *Integrate Machine Learning Models* outlines considerations when importing a machine learning model with advanced processing needs. What are the standards for these models, and what do they look like? This document explores four common advanced inference design patterns for machine learning models. These include the following: @@ -48,7 +48,7 @@ A model pre-processor makes some data available for the first model, and the out ### Machine Learning MaaS (Model as a Service) {#maas} -A common pattern in machine learning deployment is using a microservice or a service. While Studio Pro supports monolith applications with its security and speed advantages, creating a microservice is possible by servers [publishing a REST service](/howto/integration/publish-rest-service/) and clients [calling the service](/refguide/call-rest-action/). +A common pattern in machine learning deployment is using a microservice or a service. While Studio Pro supports monolith applications with its security and speed advantages, creating a microservice is possible by servers [publishing a REST service](/howto/integration/publish-rest-service/) and clients [calling the service](/refguide10/call-rest-action/). In this way, the AI-powered smart app can be split into two Mendix apps: one to host the ML model, and one to process and use the predictions. This is a good approach for use cases where the ML model is complex and requires heavy computing power, or when the ML model is owned and maintained by another team. Another advantage is that you can update the ML model without the need for deploying the Mendix client app. @@ -58,7 +58,7 @@ Below is an example of such deployment. Instead of actually storing the variable ### Batch Inference {#batch-inference} -A common pattern for machine learning applications is the ability to run multiple inferences with a single request for the model, or batch inference. This is just a special case of [Dynamic Shapes](/refguide/machine-learning-kit/using-ml-kit/#dynamic-shapes), in which the first dimension is dynamic: +A common pattern for machine learning applications is the ability to run multiple inferences with a single request for the model, or batch inference. This is just a special case of [Dynamic Shapes](/refguide10/machine-learning-kit/using-ml-kit/#dynamic-shapes), in which the first dimension is dynamic: {{< figure src="/attachments/refguide10/modeling/integration/ml-kit/design-patterns/advanced-inference-patterns/resnet50-dynamic-parameter.png" alt="Mapping of a ResNet50 with first parameter dynamic." class="no-border" >}} diff --git a/content/en/docs/refguide10/modeling/integration/machine-learning-kit/design-patterns/pre-post-processor-patterns.md b/content/en/docs/refguide10/modeling/integration/machine-learning-kit/design-patterns/pre-post-processor-patterns.md index f734cfae9f0..bd7dfc47220 100644 --- a/content/en/docs/refguide10/modeling/integration/machine-learning-kit/design-patterns/pre-post-processor-patterns.md +++ b/content/en/docs/refguide10/modeling/integration/machine-learning-kit/design-patterns/pre-post-processor-patterns.md @@ -1,13 +1,13 @@ --- title: "Pre/Post-Processor Design Patterns" -url: /refguide/machine-learning-kit/design-patterns/pre-post-processor-patterns/ +url: /refguide10/machine-learning-kit/design-patterns/pre-post-processor-patterns/ weight: 35 #If moving or renaming this doc file, implement a temporary redirect and let the respective team know they should update the URL in the product. See Mapping to Products for more details. --- ## Introduction -The [Integrating Models with Pre-processors and Post-processors](/refguide/machine-learning-kit/using-ml-kit/#pre-post-processors) section of *Integrate Machine Learning Models* outlines considerations when importing a machine learning model with advanced processing needs. +The [Integrating Models with Pre-processors and Post-processors](/refguide10/machine-learning-kit/using-ml-kit/#pre-post-processors) section of *Integrate Machine Learning Models* outlines considerations when importing a machine learning model with advanced processing needs. An ML algorithm typically gets and returns numerical values in various shapes (scalar, vector, matrix, etc.) as input and output. However, the input data in our applications could be used and stored in different formats like string, JPG, PNG, mp3, etc. Similarly, an output of an ML model could not be interpreted by our applications and need to be converted into a different data representation format. Therefore, we need pre- / post-processors to make the necessary data representation conversions in our ML-based applications in order to feed the ML model with the correct input data format and parse the relevant output. Mendix developers have multiple choices when it comes to implementing pre- / post-processors. @@ -54,7 +54,7 @@ For instance, the output of the model that is called target_probability which is #### Aggregation -Some numerical features can be somewhat summarized using aggregation components. The most common aggregate functions are min(), max(), mean(), count(), sum(), etc. Those features could be very powerful features for use-cases like real-time data flow is a concern on time-series data. [List activities](/refguide/list-activities/) can be useful to calculate such features inside the microflows. +Some numerical features can be somewhat summarized using aggregation components. The most common aggregate functions are min(), max(), mean(), count(), sum(), etc. Those features could be very powerful features for use-cases like real-time data flow is a concern on time-series data. [List activities](/refguide10/list-activities/) can be useful to calculate such features inside the microflows. An aggregation activity @@ -70,7 +70,7 @@ For instance, a new feature (minimum bike age) is calculated via Aggregate List More advanced use cases would require to use the full power of a programming language in order to achieve some complex transformation, into and from the model itself. -If your model has multidimensional numeric inputs and/or outputs, you need to encode these as `strings`, using Base64. In this use case Java Actions will be required. See the [Multidimensional Outputs](/refguide/machine-learning-kit/using-ml-kit/#multidimensional-outputs) section of *Using ML Kit* for more information. +If your model has multidimensional numeric inputs and/or outputs, you need to encode these as `strings`, using Base64. In this use case Java Actions will be required. See the [Multidimensional Outputs](/refguide10/machine-learning-kit/using-ml-kit/#multidimensional-outputs) section of *Using ML Kit* for more information. #### Java Actions for Encoding Features diff --git a/content/en/docs/refguide10/modeling/integration/machine-learning-kit/pretrained-ml-models/_index.md b/content/en/docs/refguide10/modeling/integration/machine-learning-kit/pretrained-ml-models/_index.md index f211845e4b2..1e8dc1f2c6c 100644 --- a/content/en/docs/refguide10/modeling/integration/machine-learning-kit/pretrained-ml-models/_index.md +++ b/content/en/docs/refguide10/modeling/integration/machine-learning-kit/pretrained-ml-models/_index.md @@ -1,6 +1,6 @@ --- title: "Pre-Trained ML Models" -url: /refguide/machine-learning-kit/pretrained-ml-models/ +url: /refguide10/machine-learning-kit/pretrained-ml-models/ weight: 20 --- @@ -42,4 +42,4 @@ To integrate a pre-built (propriety or public) ML model into a Mendix app, consi * Compatibility of the model internal representation (IR) version with the *ML Kit* * Compatibility of the model OpSets with the *ML Kit* -Then, follow the instructions to [import an ML model and create the ML mapping document](/refguide/machine-learning-kit/using-ml-kit/#import-model) in the *Using ML Kit* document.For details on versioning schemes, see the [Versioning](/refguide/machine-learning-kit/using-ml-kit/#versioning) section of *Using ML Kit*. +Then, follow the instructions to [import an ML model and create the ML mapping document](/refguide10/machine-learning-kit/using-ml-kit/#import-model) in the *Using ML Kit* document.For details on versioning schemes, see the [Versioning](/refguide10/machine-learning-kit/using-ml-kit/#versioning) section of *Using ML Kit*. diff --git a/content/en/docs/refguide10/modeling/integration/machine-learning-kit/using-ml-kit/_index.md b/content/en/docs/refguide10/modeling/integration/machine-learning-kit/using-ml-kit/_index.md index d0a822745de..34796bf3140 100644 --- a/content/en/docs/refguide10/modeling/integration/machine-learning-kit/using-ml-kit/_index.md +++ b/content/en/docs/refguide10/modeling/integration/machine-learning-kit/using-ml-kit/_index.md @@ -1,6 +1,6 @@ --- title: "Using ML Kit" -url: /refguide/machine-learning-kit/using-ml-kit/ +url: /refguide10/machine-learning-kit/using-ml-kit/ weight: 15 #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. --- @@ -19,7 +19,7 @@ For information on ML Kit known issues, see the [Known Issues](#known-issues) se ## Usage {#usage} -To use an ML model in your app, you need to convert it to ONNX, then import it to create an ML model mapping. For a visual walkthrough of the steps in this section, see the [Logistic Regression Example](/refguide/machine-learning-kit/using-ml-kit/logistic-regression/). +To use an ML model in your app, you need to convert it to ONNX, then import it to create an ML model mapping. For a visual walkthrough of the steps in this section, see the [Logistic Regression Example](/refguide10/machine-learning-kit/using-ml-kit/logistic-regression/). ### Converting Your Model to ONNX {#convert-ml-model} @@ -89,7 +89,7 @@ When importing your model, you might encounter error CE1790 like in this [BERT]( {{< figure src="/attachments/refguide10/modeling/integration/ml-kit/ml-kit/edit-model-input-shapes.png" alt="Edit ML model input shape dialog box." class="no-border" >}} -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. +In this case, configure the **?** dimensions before using the mapping in a [Call ML model](/refguide10/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: @@ -103,7 +103,7 @@ The completed mapping for the BERT model is below: #### Persistable and Non-Persistable Entities {#persist-nonpersist-entities} -After importing a model, two [non-persistable](/refguide/persistability/) entities are created using the ML model *input* and *output* like in this [sample XGBoost ML model](https://github.com/mendix/mlkit-example-app/tree/main/mlsource/titanic_xgboost): +After importing a model, two [non-persistable](/refguide10/persistability/) entities are created using the ML model *input* and *output* like in this [sample XGBoost ML model](https://github.com/mendix/mlkit-example-app/tree/main/mlsource/titanic_xgboost): {{< figure src="/attachments/refguide10/modeling/integration/ml-kit/ml-kit/entities-example-1.png" alt="Input and output entities in the mapping document." class="no-border" >}} @@ -119,30 +119,30 @@ See [Integrating Models with Pre-processors and Post-processors](#pre-post-proce ##### Converting to Persistable Entities -You can convert non-persistable entities into [persistable](/refguide/persistability/) ones and use other types, such as **Binary**. This can be done to decrease inference latency of ML mappings document used in the [Call ML model](/refguide/call-ml-model/) activity. +You can convert non-persistable entities into [persistable](/refguide10/persistability/) ones and use other types, such as **Binary**. This can be done to decrease inference latency of ML mappings document used in the [Call ML model](/refguide10/call-ml-model/) activity. To convert an entity, do the following: 1. Double-click on the entity to open its **Properties**. 2. Select **Yes** in the **Persistable** section. -You now have a [persistable](/refguide/persistability/) entity in your domain model that you can set as the type you need, and that can be used in [pre- and post-processors](#pre-post-processors). +You now have a [persistable](/refguide10/persistability/) entity in your domain model that you can set as the type you need, and that can be used in [pre- and post-processors](#pre-post-processors). ### Using the ML Model in a Microflow {#use-model-microflow} Once the ML [mapping document](#import-model) is created by importing the ML model, the ML model is available in Studio Pro. -Drag and drop the [Call ML model](/refguide/call-ml-model/) activity from the Toolbox in the microflow editor to use call and use your ML model in your application logic. +Drag and drop the [Call ML model](/refguide10/call-ml-model/) activity from the Toolbox in the microflow editor to use call and use your ML model in your application logic. #### Example of a Model Microflow -In the microflow below, a [Create object](/refguide/create-object/) activity creates an object of input entity type, mapped to input tensors in the ML mapping document. The [Call ML model](/refguide/call-ml-model/) activity calls the ML model, and a [Change object](/refguide/change-object/) activity updates business object with predicted value. +In the microflow below, a [Create object](/refguide10/create-object/) activity creates an object of input entity type, mapped to input tensors in the ML mapping document. The [Call ML model](/refguide10/call-ml-model/) activity calls the ML model, and a [Change object](/refguide10/change-object/) activity updates business object with predicted value. {{< figure src="/attachments/refguide10/modeling/integration/ml-kit/ml-kit/drag-action-into-microflow.png" alt="Completed ML mapping. Described in the paragraph above." class="no-border" >}} #### Call ML Model Activity Details -The **Call ML model** activity is an **ML Kit** activity in the **Toolbox**. For further details, see [Call ML model](/refguide/call-ml-model/). +The **Call ML model** activity is an **ML Kit** activity in the **Toolbox**. For further details, see [Call ML model](/refguide10/call-ml-model/). ## Integrating Models with Pre-processors and Post-processors {#pre-post-processors} @@ -152,7 +152,7 @@ Integrating machine learning models can sometimes require using a more complex s ### Pre-processing and Post-processing Using Java Actions {#java-pre-post} -Data transformations are usually complex tasks, and often require mathematical libraries or even more complex pieces of software (think OpenCV for computer vision). As a result, sometimes they are not integrated into the ML model. In this case, the best way to perform these transformations in Mendix is using Java Actions (see [Extending Your Application with Custom Java](/refguide/extending-your-application-with-custom-java/)). +Data transformations are usually complex tasks, and often require mathematical libraries or even more complex pieces of software (think OpenCV for computer vision). As a result, sometimes they are not integrated into the ML model. In this case, the best way to perform these transformations in Mendix is using Java Actions (see [Extending Your Application with Custom Java](/refguide10/extending-your-application-with-custom-java/)). Read the sections below for an example of pre-processing and post-processing using Java Actions in Mendix. @@ -221,15 +221,15 @@ Currently, it is required to have any multidimensional data as a string encoded Once you import your model, the **Call ML Model** activity allows you to add your input variable coming from the previous action, and name your output to be used in any ulterior steps. -For information on design patterns that include pre-processors and post-processors, see [Pre/Post-Processor Design Patterns](/refguide/machine-learning-kit/design-patterns/pre-post-processor-patterns/). +For information on design patterns that include pre-processors and post-processors, see [Pre/Post-Processor Design Patterns](/refguide10/machine-learning-kit/design-patterns/pre-post-processor-patterns/). {{% alert color="info" %}}Check out pre- and post-processor sample files in our [Mendix ML Kit Demo Repository](https://github.com/mendix/mlkit-example-app/tree/main/javasource). In **Actions** folders, look for Java files named `PreProcessor.java` and `PostProcessor.java`.{{% /alert %}} ## Supported Frameworks and Libraries {#supported-frameworks} -To ensure that your model will work with the [Call ML Model](/refguide/call-ml-model/) activity, follow the guidelines in this section. +To ensure that your model will work with the [Call ML Model](/refguide10/call-ml-model/) activity, follow the guidelines in this section. -To learn more about design patterns that can be applied to the Inference process, and specifications that for pre/post-processing while using Mendix components, Java actions, or embedding it into the ML model directly, see our documentation on [Design Patterns](/refguide/machine-learning-kit/design-patterns/). +To learn more about design patterns that can be applied to the Inference process, and specifications that for pre/post-processing while using Mendix components, Java actions, or embedding it into the ML model directly, see our documentation on [Design Patterns](/refguide10/machine-learning-kit/design-patterns/). ### Model Building @@ -261,7 +261,7 @@ In the section below, there are tips for Mendix developers to get insights about ### Troubleshooting -The [Errors Pane](/refguide/errors-pane/) in Studio Pro shares informative messages about the metadata of the ML models that are consumed by the **Call ML Model** activity. Warning messages do not block deployment, but the application may not work seamlessly. All error messages have to be resolved in order to execute applications in local environments or deploy applications into the production environments. +The [Errors Pane](/refguide10/errors-pane/) in Studio Pro shares informative messages about the metadata of the ML models that are consumed by the **Call ML Model** activity. Warning messages do not block deployment, but the application may not work seamlessly. All error messages have to be resolved in order to execute applications in local environments or deploy applications into the production environments. Warning @@ -275,7 +275,7 @@ Error ### Console -The [Console](/refguide/view-menu/#console) pane displays the output of the [Mendix Runtime](/refguide/runtime/) while running an application. +The [Console](/refguide10/view-menu/#console) pane displays the output of the [Mendix Runtime](/refguide10/runtime/) while running an application. #### Mendix Runtime Logs @@ -286,7 +286,7 @@ The responsibility of the Mendix Runtime is to make an inference call on the ML #### Using the Log Message Activity -The [Log Message](/refguide/log-message/) activity is very flexible and can be used to debug the inputs/outputs of any activity including Java Actions and the **Call ML Model** activities. It is useful when it comes to checking the state of the data at a specific point inside the Microflow. +The [Log Message](/refguide10/log-message/) activity is very flexible and can be used to debug the inputs/outputs of any activity including Java Actions and the **Call ML Model** activities. It is useful when it comes to checking the state of the data at a specific point inside the Microflow. For example, a log message after an inference call made by the **Call ML Model** activity helps to observe the classification result of a ResNet model on a provided image: @@ -389,7 +389,7 @@ The table below presents the compatibility list for your models per Studio Pro v ## Read More {#readmore} -* Learn about machine learning [Design Patterns](/refguide/machine-learning-kit/design-patterns/), including [Advanced Inference Design Patterns](/refguide/machine-learning-kit/design-patterns/advanced-inference/) and [Pre- and Post-Processor Design Patterns](/refguide/machine-learning-kit/design-patterns/pre-post-processor-patterns/) -* See [Pre-Trained ML Models](/refguide/machine-learning-kit/pretrained-ml-models/) to learn about models you can use with *Mendix ML Kit*. -* The [ML model mapping](/refguide/ml-model-mapping/) document covers details of the service document for machine learning models -* The [Call ML Model](/refguide/call-ml-model/) document covers the microflow [activity](/refguide/activities/) used to call an imported ML model in a microflow +* Learn about machine learning [Design Patterns](/refguide10/machine-learning-kit/design-patterns/), including [Advanced Inference Design Patterns](/refguide10/machine-learning-kit/design-patterns/advanced-inference/) and [Pre- and Post-Processor Design Patterns](/refguide10/machine-learning-kit/design-patterns/pre-post-processor-patterns/) +* See [Pre-Trained ML Models](/refguide10/machine-learning-kit/pretrained-ml-models/) to learn about models you can use with *Mendix ML Kit*. +* The [ML model mapping](/refguide10/ml-model-mapping/) document covers details of the service document for machine learning models +* The [Call ML Model](/refguide10/call-ml-model/) document covers the microflow [activity](/refguide10/activities/) used to call an imported ML model in a microflow diff --git a/content/en/docs/refguide10/modeling/integration/machine-learning-kit/using-ml-kit/logistic-regression-example.md b/content/en/docs/refguide10/modeling/integration/machine-learning-kit/using-ml-kit/logistic-regression-example.md index 1f90ac02de4..7f37332d551 100644 --- a/content/en/docs/refguide10/modeling/integration/machine-learning-kit/using-ml-kit/logistic-regression-example.md +++ b/content/en/docs/refguide10/modeling/integration/machine-learning-kit/using-ml-kit/logistic-regression-example.md @@ -1,12 +1,12 @@ --- title: "Logistic Regression Example" -url: /refguide/machine-learning-kit/using-ml-kit/logistic-regression/ +url: /refguide10/machine-learning-kit/using-ml-kit/logistic-regression/ weight: 20 --- ## Introduction -This document walks through the steps an example of a logistic regression model, its [netron.app](https://netron.app/) schema and the component display, along with the ML Mapping. [Usage](/refguide/machine-learning-kit/using-ml-kit/#usage) section of *Using ML Kit* lists the steps you need to get started with integrating machine learning models into Studio Pro. +This document walks through the steps an example of a logistic regression model, its [netron.app](https://netron.app/) schema and the component display, along with the ML Mapping. [Usage](/refguide10/machine-learning-kit/using-ml-kit/#usage) section of *Using ML Kit* lists the steps you need to get started with integrating machine learning models into Studio Pro. {{% alert color="info" %}}Access the [ONNX file](https://github.com/mendix/mlkit-example-app/tree/main/mlsource/iris_logisticregression), [Jupyter Notebook](https://github.com/mendix/mlkit-example-app/blob/main/notebooks/iris_lr.ipynb), and the [Java files](https://github.com/mendix/mlkit-example-app/tree/main/javasource/iris_logisticregression/proxies) for the logistic regressor example in the [Mendix ML Kit Demo Repository](https://github.com/mendix/mlkit-example-app#getting-started).{{% /alert %}} @@ -16,21 +16,21 @@ The image below is the [netron.app](https://netron.app/) schema of a logistic re {{< figure src="/attachments/refguide10/modeling/integration/ml-kit/ml-kit/logistic-regression/ml-model-created-entities.png" alt="Example of the logistic regression netron.app schema." class="no-border" >}} -To integrate this in a Mendix app with the Mendix [Machine Learning Kit](/refguide/machine-learning-kit/), do the following: +To integrate this in a Mendix app with the Mendix [Machine Learning Kit](/refguide10/machine-learning-kit/), do the following: -1. [Import](/refguide/machine-learning-kit/using-ml-kit/#import-model) the [ONNX file](https://github.com/mendix/mlkit-example-app/tree/main/mlsource/iris_logisticregression) into Studio Pro by going to **Add other > ML model mapping**. +1. [Import](/refguide10/machine-learning-kit/using-ml-kit/#import-model) the [ONNX file](https://github.com/mendix/mlkit-example-app/tree/main/mlsource/iris_logisticregression) into Studio Pro by going to **Add other > ML model mapping**. 2. This creates a model mapping, as displayed in this image: {{< figure src="/attachments/refguide10/modeling/integration/ml-kit/ml-kit/logistic-regression/output-type.png" alt="Example of a logistic regression." class="no-border" >}} -3. Resolve any errors by [configuring dynamic tensor shapes](/refguide/machine-learning-kit/using-ml-kit/#dynamic-shapes). +3. Resolve any errors by [configuring dynamic tensor shapes](/refguide10/machine-learning-kit/using-ml-kit/#dynamic-shapes). ## Using the Model Once you have imported the model, you can start working with it by calling it in microflows. -1. Use the [Call ML model](/refguide/call-ml-model/) activity to call it in a microflow: +1. Use the [Call ML model](/refguide10/call-ml-model/) activity to call it in a microflow: {{< figure src="/attachments/refguide10/modeling/integration/ml-kit/ml-kit/logistic-regression/call-ml-mapping.png" class="no-border" >}} @@ -38,7 +38,7 @@ Once you have imported the model, you can start working with it by calling it in {{< figure src="/attachments/refguide10/modeling/integration/ml-kit/ml-kit/logistic-regression/create-object.png" alt="Details of the log message in a microflow example." class="no-border" >}} -3. You can then consume the inference output with microflow [expressions](/refguide/expressions/), using a **Create variable** activity: +3. You can then consume the inference output with microflow [expressions](/refguide10/expressions/), using a **Create variable** activity: {{< figure src="/attachments/refguide10/modeling/integration/ml-kit/ml-kit/logistic-regression/create-variable.png" alt="Details of the log message in a microflow example." class="no-border" >}} diff --git a/content/en/docs/refguide10/modeling/integration/mapping-documents/_index.md b/content/en/docs/refguide10/modeling/integration/mapping-documents/_index.md index d7e1621b14a..5b6479e111f 100644 --- a/content/en/docs/refguide10/modeling/integration/mapping-documents/_index.md +++ b/content/en/docs/refguide10/modeling/integration/mapping-documents/_index.md @@ -1,6 +1,6 @@ --- title: "Mapping Documents" -url: /refguide/mapping-documents/ +url: /refguide10/mapping-documents/ weight: 20 description: "Overview of how to use import and export mapping documents in Studio Pro." #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. @@ -8,28 +8,28 @@ description: "Overview of how to use import and export mapping documents in Stud ## Introduction -Mapping documents are used to define how Mendix objects can be converted to and from XML or JSON, according to a specific XML schema or JSON structure. There are two types of mappings: [Import Mappings](/refguide/import-mappings/) and [Export Mappings](/refguide/export-mappings/). +Mapping documents are used to define how Mendix objects can be converted to and from XML or JSON, according to a specific XML schema or JSON structure. There are two types of mappings: [Import Mappings](/refguide10/import-mappings/) and [Export Mappings](/refguide10/export-mappings/). ## Import Mappings {#import-mappings} Import mappings are used to define how incoming XML or JSON is converted into Mendix objects, according to a specific XML schema or JSON structure. This is needed to be able to interpret data received from other systems. In Mendix, there are three basic scenarios for creating Mendix objects from XML or JSON: -* Receiving XML from a web service (defined in an [imported web service](/refguide/consumed-web-service/)) in a [call web service](/refguide/call-web-service-action/) activity. -* Receiving XML or JSON from a call action [call REST service](/refguide/call-rest-action/). -* Importing XML or JSON directly in an [import from mapping](/refguide/import-mapping-action/) action. +* Receiving XML from a web service (defined in an [imported web service](/refguide10/consumed-web-service/)) in a [call web service](/refguide10/call-web-service-action/) activity. +* Receiving XML or JSON from a call action [call REST service](/refguide10/call-rest-action/). +* Importing XML or JSON directly in an [import from mapping](/refguide10/import-mapping-action/) action. This is an example of an import mapping document that maps an **Order** from a web service to a **ReceivedOrder** entity: {{< figure src="/attachments/refguide10/modeling/integration/mapping-documents/16843933.png" class="no-border" >}} -For more details, see [Import Mappings](/refguide/import-mappings/). +For more details, see [Import Mappings](/refguide10/import-mappings/). ## Export Mappings Export mappings are used to define how Mendix objects can be converted to XML according to a specific XML schema. This is needed to be able to send data to other systems in a format the other system can process. In Mendix, there are two basic scenarios for converting Mendix objects to XML: -* Sending XML to a web service (defined in an [imported web service](/refguide/consumed-web-service/)) in a [call web service](/refguide/call-web-service-action/) activity. -* Exporting XML directly in an [export with mapping](/refguide/export-mapping-action/) action. +* Sending XML to a web service (defined in an [imported web service](/refguide10/consumed-web-service/)) in a [call web service](/refguide10/call-web-service-action/) activity. +* Exporting XML directly in an [export with mapping](/refguide10/export-mapping-action/) action. This is an example of an export mapping document: @@ -37,7 +37,7 @@ This is an example of an export mapping document: In this example, a **Cheesecake** entity will be passed when the export mapping is called. Subsequently, the **Topping** entities will be fetched by following the **Topping_Cheesecake** association from the passed Cheesecake Mendix object. The result is passed to an XML document or sent to a web service. -For more details, see [Export Mappings](/refguide/export-mappings/). +For more details, see [Export Mappings](/refguide10/export-mappings/). ## Creating a New Mapping Document @@ -46,11 +46,11 @@ To specify an import or export mapping, the user must: 1. Create a new **Import Mapping** or **Export Mapping** document. 2. Click **Select elements...** to select an XML schema, imported web service document, or JSON structure document as the source schema for this mapping. - If the schema is large, a subset of elements can be selected so you don't have to map all of them. This is explained in more detail in the [Select Elements](/refguide/select--elements/) section. + If the schema is large, a subset of elements can be selected so you don't have to map all of them. This is explained in more detail in the [Select Elements](/refguide10/select--elements/) section. 3. Click **OK**. A structure is created with placeholders for entities on the left, and the selected XSD elements on the right. - It is possible to include a parameter entity in mapping documents. Mapping documents with a parameter entity need to be invoked (in a [call web service](/refguide/call-web-service-action/) or [export with mapping](/refguide/export-mapping-action/) activity) by passing a parameter of the configured type. Mapping documents without a parameter entity can be invoked without passing a parameter. For import mappings, a parameter entity can be included by dragging one onto the placeholder in the created structure using the Connector tool. Export mappings always need to have a parameter entity (the object that is being exported) and the mapped root element is used for this. In both cases, the parameter entity is depicted as a yellow arrow parameter symbol. + It is possible to include a parameter entity in mapping documents. Mapping documents with a parameter entity need to be invoked (in a [call web service](/refguide10/call-web-service-action/) or [export with mapping](/refguide10/export-mapping-action/) activity) by passing a parameter of the configured type. Mapping documents without a parameter entity can be invoked without passing a parameter. For import mappings, a parameter entity can be included by dragging one onto the placeholder in the created structure using the Connector tool. Export mappings always need to have a parameter entity (the object that is being exported) and the mapped root element is used for this. In both cases, the parameter entity is depicted as a yellow arrow parameter symbol. 4. Map the child elements of the schema. Entities can be obtained in four ways: @@ -63,7 +63,7 @@ To specify an import or export mapping, the user must: ## Convenience Functions -* Map automatically: Automatically look for entities and associations in the domain model that can be used in the mapping. If a matching entity or association is not found, it is created in the domain model. This function is explained in more detail in the [Map Automatically](/refguide/map-automatically/) section. +* Map automatically: Automatically look for entities and associations in the domain model that can be used in the mapping. If a matching entity or association is not found, it is created in the domain model. This function is explained in more detail in the [Map Automatically](/refguide10/map-automatically/) section. * Clear mappings: Disconnects all mapping elements in the document from entities and associations. They are not deleted in the domain model. ## Tip: Important Windows diff --git a/content/en/docs/refguide10/modeling/integration/mapping-documents/export-mappings.md b/content/en/docs/refguide10/modeling/integration/mapping-documents/export-mappings.md index 1f109a9645c..fae0afb5cb3 100644 --- a/content/en/docs/refguide10/modeling/integration/mapping-documents/export-mappings.md +++ b/content/en/docs/refguide10/modeling/integration/mapping-documents/export-mappings.md @@ -1,16 +1,16 @@ --- title: "Export Mappings" -url: /refguide/export-mappings/ +url: /refguide10/export-mappings/ #If moving or renaming this doc file, implement a temporary redirect and let the respective team know they should update the URL in the product. See Mapping to Products for more details. --- ## Introduction -For an introduction to export mappings, refer to [Mapping Documents](/refguide/mapping-documents/). +For an introduction to export mappings, refer to [Mapping Documents](/refguide10/mapping-documents/). ## Obtaining Objects in Export Mappings -Figure 1 shows an example of an Export Mapping document in which two elements from a schema have been selected using the [Select Elements](/refguide/select--elements/) dialog. The entity Cheesecake (on the left) was dragged into the mapping to map to the Cheesecake element (on the right). The entity Topping was mapped to the Topping element. +Figure 1 shows an example of an Export Mapping document in which two elements from a schema have been selected using the [Select Elements](/refguide10/select--elements/) dialog. The entity Cheesecake (on the left) was dragged into the mapping to map to the Cheesecake element (on the right). The entity Topping was mapped to the Topping element. {{< figure src="/attachments/refguide10/modeling/integration/mapping-documents/export-mappings/16843939.png" class="no-border" >}} diff --git a/content/en/docs/refguide10/modeling/integration/mapping-documents/import-mappings.md b/content/en/docs/refguide10/modeling/integration/mapping-documents/import-mappings.md index 545d5a76e3f..87e69887a7f 100644 --- a/content/en/docs/refguide10/modeling/integration/mapping-documents/import-mappings.md +++ b/content/en/docs/refguide10/modeling/integration/mapping-documents/import-mappings.md @@ -1,10 +1,10 @@ --- title: "Import Mappings" -url: /refguide/import-mappings/ +url: /refguide10/import-mappings/ #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. --- -Please refer to [Mapping Documents](/refguide/mapping-documents/) for an introduction. +Please refer to [Mapping Documents](/refguide10/mapping-documents/) for an introduction. ## Obtaining Objects in Import Mappings @@ -26,11 +26,11 @@ For each XML or JSON object, a Mendix object needs to be obtained. You can creat #### Obtain Mendix Object Methods{#obtain-object} -This is what will happen when you use an [Import with Mapping](/refguide/import-mapping-action/) action in your microflow. +This is what will happen when you use an [Import with Mapping](/refguide10/import-mapping-action/) action in your microflow. | Property | Description | | --- | --- | -| **Create an object** | Creates a new object.
                                  An error can be thrown if there are any [Before Create](/refguide/event-handlers/#when) microflows that fail. | +| **Create an object** | Creates a new object.
                                  An error can be thrown if there are any [Before Create](/refguide10/event-handlers/#when) microflows that fail. | | **Find an object (by key)** | Searches for an object using keys defined in the attributes list. The runtime searches for the object by taking all attributes marked as **Key** (in the **Value element to attribute mapping** section below) and converting them to an XPath query.
                                  If more than one object is returned by the XPath query, an error will be thrown. | | **Call a microflow** | Calls a microflow to obtain an object and return it. If the microflow expects any parameters, these need to be specified in the **Select...** window. Possible parameters are the input parameter (see above), any parent entity in the mapping and any attributes in the current XML element. The microflow must return an object of the correct entity type. If it returns a null object, the selected **If no object was found** action will be performed. | @@ -50,7 +50,7 @@ This is the action that the runtime will perform when an error occurred in the s | **Ignore** | Do not map this element and continue parsing the rest of the XML. | | **Error** | Explicitly stop parsing the XML and throw an error. This error needs to be handled in the calling microflow. | -If this is the top level of the mapping, you can check **Decide this at the place where the mapping gets used**. If this is checked, the option **If no object was found** can be set whenever you use the mapping, for instance in an [import mapping action](/refguide/import-mapping-action/) or a [call REST service action](/refguide/call-rest-action/). +If this is the top level of the mapping, you can check **Decide this at the place where the mapping gets used**. If this is checked, the option **If no object was found** can be set whenever you use the mapping, for instance in an [import mapping action](/refguide10/import-mapping-action/) or a [call REST service action](/refguide10/call-rest-action/). ### Setting Associations @@ -89,7 +89,7 @@ Having defined the mappings for the attributes, these mappings are also shown in ## Mapping Parameter -Import mappings have the additional option to receive an incoming parameter. The parameter can be passed by the calling microflow when the microflow uses the [import from mapping](/refguide/import-mapping-action/) action. +Import mappings have the additional option to receive an incoming parameter. The parameter can be passed by the calling microflow when the microflow uses the [import from mapping](/refguide10/import-mapping-action/) action. To define a parameter for your mapping, click the parameter box and select the data type. You can also drag an entity into the parameter box. @@ -103,6 +103,6 @@ If you are importing a very long JSON string, the underlying conversion library Mendix uses the Jackson Core XML library when performing the import mapping and this [has a limit of 20 million](https://javadoc.io/static/com.fasterxml.jackson.core/jackson-core/2.15.1/com/fasterxml/jackson/core/StreamReadConstraints.html#DEFAULT_MAX_STRING_LEN) characters (in earlier versions 5 million) in the JSON string. -In Mendix version 10.9.0 and above and Mendix MTS version 10.6, patch releases 10.6.5 and above, you can override this using the [mapping.import.MaxJsonReadingLength](/refguide/custom-settings/#mapping.import.MaxJsonReadingLength) custom setting. +In Mendix version 10.9.0 and above and Mendix MTS version 10.6, patch releases 10.6.5 and above, you can override this using the [mapping.import.MaxJsonReadingLength](/refguide10/custom-settings/#mapping.import.MaxJsonReadingLength) custom setting. Mendix recommends that you only add this setting if you will be getting very long JSON strings as it may result in more memory usage. diff --git a/content/en/docs/refguide10/modeling/integration/mapping-documents/map-automatically.md b/content/en/docs/refguide10/modeling/integration/mapping-documents/map-automatically.md index fa2cd872f83..5dc643799fb 100644 --- a/content/en/docs/refguide10/modeling/integration/mapping-documents/map-automatically.md +++ b/content/en/docs/refguide10/modeling/integration/mapping-documents/map-automatically.md @@ -1,6 +1,6 @@ --- title: "Map Automatically" -url: /refguide/map-automatically/ +url: /refguide10/map-automatically/ --- ## Creating Entities, Attributes, and Associations from Import or Export Mappings diff --git a/content/en/docs/refguide10/modeling/integration/mapping-documents/select--elements.md b/content/en/docs/refguide10/modeling/integration/mapping-documents/select--elements.md index a6946a34e0c..7ba3e79cf95 100644 --- a/content/en/docs/refguide10/modeling/integration/mapping-documents/select--elements.md +++ b/content/en/docs/refguide10/modeling/integration/mapping-documents/select--elements.md @@ -1,21 +1,21 @@ --- title: "Select Elements" -url: /refguide/select--elements/ +url: /refguide10/select--elements/ aliases: - - /refguide/Select++Elements.html - - /refguide/Select++Elements + - /refguide10/Select++Elements.html + - /refguide10/Select++Elements #If moving or renaming this doc file, implement a temporary redirect and let the respective team know they should update the URL in the product. See Mapping to Products for more details. --- ## Introduction -For both [import](/refguide/import-mappings/) and [export mappings](/refguide/export-mappings/), you need to specify the elements structure you want to map. You do this in the **Select schema elements** window. An example of this screen is shown below: +For both [import](/refguide10/import-mappings/) and [export mappings](/refguide10/export-mappings/), you need to specify the elements structure you want to map. You do this in the **Select schema elements** window. An example of this screen is shown below: {{< figure src="/attachments/refguide10/modeling/integration/mapping-documents/select--elements/19399143.png" class="no-border" >}} Perform the following steps in the **Select schema elements** window: -1. Depending on whether you want to make a mapping for an [XML schema](/refguide/xml-schemas/), a [Consumed web service](/refguide/consumed-web-services/), or a [JSON structure](/refguide/json-structures/) document, you need to select an **XML schema**, **Web service operation**, or **JSON structure** as the source. +1. Depending on whether you want to make a mapping for an [XML schema](/refguide10/xml-schemas/), a [Consumed web service](/refguide10/consumed-web-services/), or a [JSON structure](/refguide10/json-structures/) document, you need to select an **XML schema**, **Web service operation**, or **JSON structure** as the source. 2. If source is XML schema, select the root element of the mapping. This is done by selecting the **Start at** element for the XML schema or the **Request part** for the web service operation. **Start at** lists the root elements in an XML schema. You can select one root element to base your mapping on. If source is Web service operation, **Request part** lists the header and body element of the request part of an operation. If an operation has multiple parameters, these are listed in the **Request part** as well. **Request part** is only applicable to export mappings. 3. Select specific elements in the tree explorer below. Typically you do not need to map an entire source, since they can be quite large. diff --git a/content/en/docs/refguide10/modeling/integration/mapping-documents/xml-documents/_index.md b/content/en/docs/refguide10/modeling/integration/mapping-documents/xml-documents/_index.md index 1a1d98a806b..841401dca97 100644 --- a/content/en/docs/refguide10/modeling/integration/mapping-documents/xml-documents/_index.md +++ b/content/en/docs/refguide10/modeling/integration/mapping-documents/xml-documents/_index.md @@ -1,9 +1,9 @@ --- title: Use XML -url: /refguide/use-xml/ +url: /refguide10/use-xml/ aliases: /howto/integration/use-xml-documents/ - /refguide/xml-schema-support/ + /refguide10/xml-schema-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. --- @@ -13,18 +13,18 @@ Use Mendix Studio Pro to integrate with other systems using XML. Documents available for this topic: -* [Import XML Documents](/refguide/importing-xml-documents/) +* [Import XML Documents](/refguide10/importing-xml-documents/) Describes how to prepare the data structure and GUI, add an XML schema, and create XML-to-domain mapping. -* [Export Excel Documents](/refguide/export-xml-documents/) +* [Export Excel Documents](/refguide10/export-xml-documents/) Describes how to add an XML schema, create domain-to-XML mapping, and export logic. -* [XML Schemas](/refguide/xml-schemas/) +* [XML Schemas](/refguide10/xml-schemas/) Describes how to import and export an XML Schema Defintion (XSD) file. -* [XML Inheritance and Choice](/refguide/xml-inheritance-and-choice/) +* [XML Inheritance and Choice](/refguide10/xml-inheritance-and-choice/) Describes choice and inheretence XSD elements. diff --git a/content/en/docs/refguide10/modeling/integration/mapping-documents/xml-documents/export-xml-documents.md b/content/en/docs/refguide10/modeling/integration/mapping-documents/xml-documents/export-xml-documents.md index 7cfb7e3a30e..6798f30a86b 100644 --- a/content/en/docs/refguide10/modeling/integration/mapping-documents/xml-documents/export-xml-documents.md +++ b/content/en/docs/refguide10/modeling/integration/mapping-documents/xml-documents/export-xml-documents.md @@ -1,6 +1,6 @@ --- title: "Export XML Documents" -url: /refguide/export-xml-documents/ +url: /refguide10/export-xml-documents/ weight: 4 description: "Describes how to add an XML schema, create domain-to-XML mapping, and export logic." aliases: /howto/integration/export-xml-documents/ @@ -20,10 +20,10 @@ This how-to teaches you how to do the following: Before you can start exporting XML documents, you need data in your application that is used during the export. You first need to set up the data structure and GUI to maintain the customer data. Then, you'll create the actual export logic and the corresponding export mapping. To do this, you need to know how to do the following: -* Create a domain model (for more information, see [Configuring a Domain Model](/refguide/configuring-a-domain-model/)) -* Create a custom file document (for more information, see [File Manager](/refguide/file-manager/)) +* Create a domain model (for more information, see [Configuring a Domain Model](/refguide10/configuring-a-domain-model/)) +* Create a custom file document (for more information, see [File Manager](/refguide10/file-manager/)) * Create overview and detail pages (for more information, see [How to Create Your First Two Overview and Detail Pages](/howto/front-end/create-your-first-two-overview-and-detail-pages/)) -* Create menu items, (for more information, see [Setting Up Navigation](/refguide/setting-up-the-navigation-structure/)) +* Create menu items, (for more information, see [Setting Up Navigation](/refguide10/setting-up-the-navigation-structure/)) Before starting this how-to, make sure you have completed the following prerequisites: diff --git a/content/en/docs/refguide10/modeling/integration/mapping-documents/xml-documents/importing-xml-documents.md b/content/en/docs/refguide10/modeling/integration/mapping-documents/xml-documents/importing-xml-documents.md index 13b25e18009..7d9f7b63067 100644 --- a/content/en/docs/refguide10/modeling/integration/mapping-documents/xml-documents/importing-xml-documents.md +++ b/content/en/docs/refguide10/modeling/integration/mapping-documents/xml-documents/importing-xml-documents.md @@ -1,6 +1,6 @@ --- title: "Import XML Documents" -url: /refguide/importing-xml-documents/ +url: /refguide10/importing-xml-documents/ weight: 3 description: "Describes how to prepare the data structure and GUI, add an XML schema, and create XML-to-domain mapping." aliases: /howto/integration/importing-xml-documents/ @@ -21,10 +21,10 @@ This how-to teaches you how to do the following: Before you continue, make sure that you know how to create: -* Domain models (see [Configuring a Domain Model](/refguide/configuring-a-domain-model/)) -* A custom file document (see [File Manager](/refguide/file-manager/)) +* Domain models (see [Configuring a Domain Model](/refguide10/configuring-a-domain-model/)) +* A custom file document (see [File Manager](/refguide10/file-manager/)) * Overview and detail pages (see [How to Create Your First Two Overview and Detail Pages](/howto/front-end/create-your-first-two-overview-and-detail-pages/)) -* Menu items (see [Setting Up Navigation](/refguide/setting-up-the-navigation-structure/)) +* Menu items (see [Setting Up Navigation](/refguide10/setting-up-the-navigation-structure/)) ## Preparing the Data Structure and GUI @@ -43,7 +43,7 @@ To prepare the data structure and the GUI, follow these steps: {{< figure src="/attachments/refguide10/modeling/integration/export-xml-documents/18581650.png" class="no-border" >}} 5. Create the overview and detail pages to manage objects of the **XMLDocument** type. -6. Create a menu item to access the XML document overview page (for more information, see [Setting Up Navigation](/refguide/setting-up-the-navigation-structure/)). +6. Create a menu item to access the XML document overview page (for more information, see [Setting Up Navigation](/refguide10/setting-up-the-navigation-structure/)). ## Adding an XML Schema (XSD) diff --git a/content/en/docs/refguide10/modeling/integration/mapping-documents/xml-documents/xml-inheritance-and-choice.md b/content/en/docs/refguide10/modeling/integration/mapping-documents/xml-documents/xml-inheritance-and-choice.md index 6225704cda7..ba9bbdb9595 100644 --- a/content/en/docs/refguide10/modeling/integration/mapping-documents/xml-documents/xml-inheritance-and-choice.md +++ b/content/en/docs/refguide10/modeling/integration/mapping-documents/xml-documents/xml-inheritance-and-choice.md @@ -1,6 +1,6 @@ --- title: "XML Inheritance and Choice" -url: /refguide/xml-inheritance-and-choice/ +url: /refguide10/xml-inheritance-and-choice/ --- ## Obtaining an Object by Entity specialization @@ -12,8 +12,8 @@ There are two special cases for XSD elements in mapping documents: choice and in In Mendix, both inheritance and choice are mapped by entity specialization. -* The base inheritance or choice element is mapped to a generalization entity. For export mappings, the base mapping contains the setting on how to obtain the Mendix object (from parameter, by association, microflow, or key), as explained in [Export Mappings](/refguide/export-mappings/). -* Child elements of inheritance or choice are mapped by entity specialization. For export mappings, you cannot specify how to obtain an object because that is already defined one level up at the base mapping element. For import mappings, however, you do need to specify how to obtain the Mendix object, as explained in [Import Mappings](/refguide/import-mappings/). +* The base inheritance or choice element is mapped to a generalization entity. For export mappings, the base mapping contains the setting on how to obtain the Mendix object (from parameter, by association, microflow, or key), as explained in [Export Mappings](/refguide10/export-mappings/). +* Child elements of inheritance or choice are mapped by entity specialization. For export mappings, you cannot specify how to obtain an object because that is already defined one level up at the base mapping element. For import mappings, however, you do need to specify how to obtain the Mendix object, as explained in [Import Mappings](/refguide10/import-mappings/). ## XML Inheritance @@ -27,7 +27,7 @@ For Export Mappings, if the inheritance element is **Optional** and an empty obj ### Selection of Request Part for Web Services in Export Mappings -[Select elements](/refguide/select--elements/) describes how to select XML schema or WSDL elements to use in the mapping. If you use an Export Mapping to create a request body for a web service operation, you can select request parts if there are multiple request parameters. Inheritance elements are also supported as a request part. +[Select elements](/refguide10/select--elements/) describes how to select XML schema or WSDL elements to use in the mapping. If you use an Export Mapping to create a request body for a web service operation, you can select request parts if there are multiple request parameters. Inheritance elements are also supported as a request part. When the root element is an inheritance element, you can only maps the entire body. Mapping individual request parameter is not possible in this case. diff --git a/content/en/docs/refguide10/modeling/integration/mapping-documents/xml-documents/xml-schemas.md b/content/en/docs/refguide10/modeling/integration/mapping-documents/xml-documents/xml-schemas.md index db7842d80a0..06fb685fd40 100644 --- a/content/en/docs/refguide10/modeling/integration/mapping-documents/xml-documents/xml-schemas.md +++ b/content/en/docs/refguide10/modeling/integration/mapping-documents/xml-documents/xml-schemas.md @@ -1,12 +1,12 @@ --- title: "XML Schemas" -url: /refguide/xml-schemas/ +url: /refguide10/xml-schemas/ weight: 15 --- ## Overview -An XML schema is defined in an XML Schema Definition (XSD) file and can be imported in your model. It describes what a certain XML document should look like. The schema can then be used in [Import Mappings](/refguide/import-mappings/) and [Export Mappings](/refguide/export-mappings/). +An XML schema is defined in an XML Schema Definition (XSD) file and can be imported in your model. It describes what a certain XML document should look like. The schema can then be used in [Import Mappings](/refguide10/import-mappings/) and [Export Mappings](/refguide10/export-mappings/). {{< figure src="/attachments/refguide10/modeling/integration/xml-schemas/18582294.png" alt="Figure 1" class="no-border" >}} @@ -39,7 +39,7 @@ In the mapping editor for import mappings, you can check elements that can occur * XML generated using export mappings must strictly adhere to the XSD specification. This means the XML tags that are generated by the mapping must be in the exact order that the XSD specifies. -* When importing or exporting an [XML schema](/refguide/xml-schema-support/), the XSD file needs to be in your app. If the XML refers to an XSD file that is not in your app, a runtime error will be thrown. Add the XSD file manually to resolve this error. +* When importing or exporting an [XML schema](/refguide10/xml-schema-support/), the XSD file needs to be in your app. If the XML refers to an XSD file that is not in your app, a runtime error will be thrown. Add the XSD file manually to resolve this error. ## Elements and Types diff --git a/content/en/docs/refguide10/modeling/integration/message-definitions.md b/content/en/docs/refguide10/modeling/integration/message-definitions.md index 201b91a5e41..6d55af7efa9 100644 --- a/content/en/docs/refguide10/modeling/integration/message-definitions.md +++ b/content/en/docs/refguide10/modeling/integration/message-definitions.md @@ -1,6 +1,6 @@ --- title: "Message Definitions" -url: /refguide/message-definitions/ +url: /refguide10/message-definitions/ weight: 5 description: "Describes how to use a message definition for JSON and XML to use on both single objects and lists of objects." #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. @@ -77,8 +77,8 @@ The structure tree shows the attributes and some of the associations of the enti | Occurrence | How many times this item can occur for each parent item. | n | | | External Name | The name of the XML node or the JSON property. | y | By default, the name of the attribute or (for associations) entity.
                                  For a `0..*` occurrence, a letter `s` is added. | | External Single Item Name | The XML node that represents a single item. | y | Only relevant for XML when the occurrence is `0..*`
                                  By default, the entity name. | -| Example value | A typical value for an attribute. | y | For a published REST service, this value shows up in the [interactive documentation](/refguide/published-rest-services/#interactive-documentation).
                                  A date/time value is specified in the format `year-month-day` or `year-month-day hour:minute:second`. | -| Public Documentation | Additional information to be displayed in the [interactive documentation](/refguide/published-rest-services/#interactive-documentation). | y | | +| Example value | A typical value for an attribute. | y | For a published REST service, this value shows up in the [interactive documentation](/refguide10/published-rest-services/#interactive-documentation).
                                  A date/time value is specified in the format `year-month-day` or `year-month-day hour:minute:second`. | +| Public Documentation | Additional information to be displayed in the [interactive documentation](/refguide10/published-rest-services/#interactive-documentation). | y | | ### Documentation diff --git a/content/en/docs/refguide10/modeling/integration/ml-model-mapping.md b/content/en/docs/refguide10/modeling/integration/ml-model-mapping.md index b23318f9fa9..dccbc7c792a 100644 --- a/content/en/docs/refguide10/modeling/integration/ml-model-mapping.md +++ b/content/en/docs/refguide10/modeling/integration/ml-model-mapping.md @@ -1,6 +1,6 @@ --- title: "ML Model Mapping" -url: /refguide/ml-model-mapping/ +url: /refguide10/ml-model-mapping/ weight: 25 description: "Introduces machine learning (ML) model integration used to deploy a ML model." --- @@ -9,18 +9,18 @@ description: "Introduces machine learning (ML) model integration used to deploy Studio Pro supports machine learning (ML) model integration in Mendix apps. Collectively called the *Machine Learning (ML) Kit*, this functionality allows Mendix developers to deploy a ML model built using common ML framework and language into the Mendix Runtime. -For a list of supported models, see the [Supported Frameworks and Libraries](/refguide/machine-learning-kit/using-ml-kit/#supported-frameworks) section in *Using ML Kit*. +For a list of supported models, see the [Supported Frameworks and Libraries](/refguide10/machine-learning-kit/using-ml-kit/#supported-frameworks) section in *Using ML Kit*. ## Adding a ML Mapping to Your App To add a ML model to your app, do the following: -1. Convert your model to ONNX format (see the [Converting Your Model to ONNX](/refguide/machine-learning-kit/using-ml-kit/#convert-ml-model) section in *Using ML Kit*). +1. Convert your model to ONNX format (see the [Converting Your Model to ONNX](/refguide10/machine-learning-kit/using-ml-kit/#convert-ml-model) section in *Using ML Kit*). 2. Right-click on the module where you would like to add the mapping, and go to **Add other > ML model mapping**. 3. Click **Import model** to import your ONNX file. ## Read More -* An introduction to the [Machine Learning Kit](/refguide/machine-learning-kit/) -* Detailed information on [using ML Kit](/refguide/machine-learning-kit/using-ml-kit/). -* Learn about machine learning [Design Patterns](/refguide/machine-learning-kit/design-patterns/), including [Advanced Inference Design Patterns](/refguide/machine-learning-kit/design-patterns/advanced-inference/) and [Pre- and Post-Processor Design Patterns](/refguide/machine-learning-kit/design-patterns/pre-post-processor-patterns/) +* An introduction to the [Machine Learning Kit](/refguide10/machine-learning-kit/) +* Detailed information on [using ML Kit](/refguide10/machine-learning-kit/using-ml-kit/). +* Learn about machine learning [Design Patterns](/refguide10/machine-learning-kit/design-patterns/), including [Advanced Inference Design Patterns](/refguide10/machine-learning-kit/design-patterns/advanced-inference/) and [Pre- and Post-Processor Design Patterns](/refguide10/machine-learning-kit/design-patterns/pre-post-processor-patterns/) diff --git a/content/en/docs/refguide10/modeling/integration/odata-services/_index.md b/content/en/docs/refguide10/modeling/integration/odata-services/_index.md index c422f73540a..43d76c79701 100644 --- a/content/en/docs/refguide10/modeling/integration/odata-services/_index.md +++ b/content/en/docs/refguide10/modeling/integration/odata-services/_index.md @@ -1,6 +1,6 @@ --- title: "OData Services" -url: /refguide/integration/odata-services/ +url: /refguide10/integration/odata-services/ weight: 40 description: "Introduces OData services." --- @@ -9,20 +9,20 @@ description: "Introduces 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 entities, as well as how you should provide nested data structures. Using OData best practices ensures 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 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 usable in other Mendix apps. Discovering and using them 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/). +Published OData services are registered automatically in the [Catalog](/catalog/), making them usable in other Mendix apps. Discovering and using them in [external entities](/refguide10/external-entities/) is made easy for users deploying to the [Mendix Cloud](/developerportal/deploy/mendix-cloud-deploy/), as [published OData Services](/refguide10/published-odata-services/) are registered automatically in the [Catalog](/catalog/) and made available in the Studio Pro [Integration pane](/refguide10/integration-pane/). To publish OData services, see: -* [Published OData Services](/refguide/published-odata-services/), an overview in the Studio Pro guide +* [Published OData Services](/refguide10/published-odata-services/), an overview in the Studio Pro guide * [Expose Data to BI Tools Using OData](/howto/integration/exposing-data-to-bi-tools-using-odata/), step-by-step instructions for a specific use case To consume OData services, see: -* [Consumed OData Services](/refguide/consumed-odata-services/), an overview in the Studio Pro guide +* [Consumed OData Services](/refguide10/consumed-odata-services/), an overview in the Studio Pro guide To learn about using OData to implement REST best practices, see -* [Build OData APIs with REST Best Practices](/refguide/build-odata-apis/) +* [Build OData APIs with REST Best Practices](/refguide10/build-odata-apis/) To wrap services, APIs, or databases in OData, see: diff --git a/content/en/docs/refguide10/modeling/integration/odata-services/build-odata-apis.md b/content/en/docs/refguide10/modeling/integration/odata-services/build-odata-apis.md index 029a9303fd4..b478c3f8165 100644 --- a/content/en/docs/refguide10/modeling/integration/odata-services/build-odata-apis.md +++ b/content/en/docs/refguide10/modeling/integration/odata-services/build-odata-apis.md @@ -1,12 +1,12 @@ --- title: "Build OData APIs with REST Best Practices" -url: /refguide/build-odata-apis/ +url: /refguide10/build-odata-apis/ weight: 75 --- ## Introduction -Companies with a large portfolio of custom-built REST APIs use a set of best practices to ensure these APIs function properly and in a predictable way. Mendix Studio Pro gives you full control of all these aspects when creating a [published REST service](/refguide/published-rest-service/). +Companies with a large portfolio of custom-built REST APIs use a set of best practices to ensure these APIs function properly and in a predictable way. Mendix Studio Pro gives you full control of all these aspects when creating a [published REST service](/refguide10/published-rest-service/). If you plan to create a large number of APIs, implementing REST using published OData services can save you a lot of time and ensure consistency across your APIs. @@ -40,7 +40,7 @@ Create OData APIs by right-clicking on an entity > **Publish in OData service** ### Published OData Service Document -In the [published OData service](/refguide/published-odata-services/) document, select which attributes and associations are available in the API: +In the [published OData service](/refguide10/published-odata-services/) document, select which attributes and associations are available in the API: {{< figure src="/attachments/refguide10/modeling/integration/build-odata-apis/select-attributes-associations.png" class="no-border" >}} @@ -114,7 +114,7 @@ The following URL parameters are available: * **$expand** – This defines which associated resources to include in the response payload. * **$count** – This defines whether or not to return the count of the query result instead of the resources themselves. -For more information about these query options, see [Supported OData Operations](/refguide/supported-odata-operations/#query-options). +For more information about these query options, see [Supported OData Operations](/refguide10/supported-odata-operations/#query-options). The following example illustrates how you can combine filtering, sorting, pagination, and attribute selection: @@ -375,7 +375,7 @@ There are two ways to take an API-first approach, as explained in [API-First vs. ### Defining a Resource Model -Define a resource model using [non-persistable entities](/refguide/persistability/), publish them in an OData service, then model microflows to map these resources to the actual source data. This will require you to handle the OData query options in the microflow. Using custom Java actions can simplify this process, as explained in the [Combining Data from Two Entities](#two-entities) section below. +Define a resource model using [non-persistable entities](/refguide10/persistability/), publish them in an OData service, then model microflows to map these resources to the actual source data. This will require you to handle the OData query options in the microflow. Using custom Java actions can simplify this process, as explained in the [Combining Data from Two Entities](#two-entities) section below. ### Combining Data from Two Entities {#two-entities} @@ -439,7 +439,7 @@ This example shows a **CustomerEmailRequest** entity that a client can create us ### Running Operations Asynchronously -Consider running operations that take longer to complete [asynchronously](https://learn.microsoft.com/en-us/azure/architecture/best-practices/api-design#asynchronous-operations). This means you tell the client that the request has been received, that it is not yet completely processed, but that it will be done in the background. In Studio Pro, you can use a [task queue](/refguide/task-queue/) to schedule the logic to run in the background. In the meantime, the client can `GET` the resource to see what the status is. +Consider running operations that take longer to complete [asynchronously](https://learn.microsoft.com/en-us/azure/architecture/best-practices/api-design#asynchronous-operations). This means you tell the client that the request has been received, that it is not yet completely processed, but that it will be done in the background. In Studio Pro, you can use a [task queue](/refguide10/task-queue/) to schedule the logic to run in the background. In the meantime, the client can `GET` the resource to see what the status is. The last activity of the insert microflow calls the SendCustomerEmail microflow using the task queue: @@ -485,5 +485,5 @@ This approach ensures customer applications can migrate at their own pace becaus ## Read More -* [OData Services](/refguide/integration/odata-services/) -* [Integration](/refguide/integration/) +* [OData Services](/refguide10/integration/odata-services/) +* [Integration](/refguide10/integration/) diff --git a/content/en/docs/refguide10/modeling/integration/odata-services/consumed-odata-services/_index.md b/content/en/docs/refguide10/modeling/integration/odata-services/consumed-odata-services/_index.md index e15a2653b5d..ea05f025718 100644 --- a/content/en/docs/refguide10/modeling/integration/odata-services/consumed-odata-services/_index.md +++ b/content/en/docs/refguide10/modeling/integration/odata-services/consumed-odata-services/_index.md @@ -1,22 +1,22 @@ --- title: "Consumed OData Services" -url: /refguide/consumed-odata-services/ +url: /refguide10/consumed-odata-services/ weight: 5 description: "Overview of consumed OData services for Mendix Studio Pro" --- ## 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 and actions in apps through the [Integration pane](/refguide/integration-pane/). +Data can be published from an app for use by other apps through [published OData services](/refguide10/published-odata-services/). Consumed OData services can be used to integrate external data sources and actions in apps through the [Integration pane](/refguide10/integration-pane/). OData services that are registered in the [Catalog](/catalog/) publish entities that can be dragged and dropped into your domain model through the 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 published 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/). +For further details on the consumed OData service document and updating consumed OData services in your app, see [Consumed OData Service](/refguide10/consumed-odata-service/). -For details on the features that a published OData service must support and how the conversion from and to the Mendix data model works, see [Consumed OData Service Requirements](/refguide/consumed-odata-service-requirements/). +For details on the features that a published OData service must support and how the conversion from and to the Mendix data model works, see [Consumed OData Service Requirements](/refguide10/consumed-odata-service-requirements/). {{% alert color="warning" %}} -The OData implementation in Mendix does not support all features in the OData specification, nor do we have any plans to provide a full implementation of the entire specification. The supported capabilities of OData are focused on providing a simple and productive way to share data and logic between Mendix apps. Although OData [external entities](/refguide/external-entities/) may also work for third-party OData APIs, their use is not tested nor guaranteed. Please validate upfront that the functionality provided in Mendix matches the requirements of your third-party APIs. If [external entities](/refguide/external-entities/) do not work with your OData APIs, the advised alternative is to use [REST](/refguide/consumed-rest-services/) functionality. +The OData implementation in Mendix does not support all features in the OData specification, nor do we have any plans to provide a full implementation of the entire specification. The supported capabilities of OData are focused on providing a simple and productive way to share data and logic between Mendix apps. Although OData [external entities](/refguide10/external-entities/) may also work for third-party OData APIs, their use is not tested nor guaranteed. Please validate upfront that the functionality provided in Mendix matches the requirements of your third-party APIs. If [external entities](/refguide10/external-entities/) do not work with your OData APIs, the advised alternative is to use [REST](/refguide10/consumed-rest-services/) functionality. {{% /alert %}} ## OData Services {#odata-services} @@ -30,13 +30,13 @@ External entities have some limitations compared to persistable entities: * The aggregate functions (average, sum, maximum, minimum) cannot be used on external entities * There are certain limitations on XPath constraints for external entities (for instance, you cannot filter on an association between a persistable entity and an external entity) * External entities cannot be used in datasets -* [XPath constraints](/refguide/xpath-constraints/) in the access rules of external entities cannot be set -* Creatable and updatable external entities cannot be saved like persistable entities. Instead, you need to use a microflow with a [Send External Object](/refguide/send-external-object/) activity -* Deletable entities cannot be used in a **Delete** activity. For this, use the [Delete external object](/refguide/delete-external-object/) activity +* [XPath constraints](/refguide10/xpath-constraints/) in the access rules of external entities cannot be set +* Creatable and updatable external entities cannot be saved like persistable entities. Instead, you need to use a microflow with a [Send External Object](/refguide10/send-external-object/) activity +* Deletable entities cannot be used in a **Delete** activity. For this, use the [Delete external object](/refguide10/delete-external-object/) activity Associations between external entities (as defined in the originating app) are shown in the domain model. You can only use the associations where both sides are published. -You can create associations between local [persistable entities](/refguide/persistability/#persistable) and external entities. For those associations, the persistable entities need to be the owner. +You can create associations between local [persistable entities](/refguide10/persistability/#persistable) and external entities. For those associations, the persistable entities need to be the owner. #### External Non-Persistable Entities {#external-non-persistable-entities} @@ -55,23 +55,23 @@ When the consumed OData service is deleted from your project, Studio Pro allows ### External Actions {#external-actions} -External actions allow you to execute actions published by the OData service. An action can take parameters and may return a value. This is defined in the OData service contract. These actions can be called from a microflow by using a [Call external action](/refguide/call-external-action/) activity. +External actions allow you to execute actions published by the OData service. An action can take parameters and may return a value. This is defined in the OData service contract. These actions can be called from a microflow by using a [Call external action](/refguide10/call-external-action/) activity. -There are some limitations on which actions can be consumed. These are described in the [Requirements on Actions](/refguide/consumed-odata-service-requirements/#actions) section of *Consumed OData Service Requirements*. +There are some limitations on which actions can be consumed. These are described in the [Requirements on Actions](/refguide10/consumed-odata-service-requirements/#actions) section of *Consumed OData Service Requirements*. ### Consumed OData Service When an external entity is dragged into the domain model, or when an external action is used in a microflow, the **Consumed OData service** document that is added to the model displays the values of the metadata contract from the service endpoint. -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. +In the [Integration pane](/refguide10/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 [Integration pane](/refguide/integration-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](/refguide10/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). +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](/refguide10/consumed-odata-service/#updating). #### Limitations {#consumed-odata-service-limitations} -When you update a [consumed OData service](/refguide/consumed-odata-service/) with a new version from the Catalog, but close the document without saving, the blue arrow icon will no longer be shown to notify you about the available update for that service. Close your app and open it again and the error will be resolved. +When you update a [consumed OData service](/refguide10/consumed-odata-service/) with a new version from the Catalog, but close the document without saving, the blue arrow icon will no longer be shown to notify you about the available update for that service. Close your app and open it again and the error will be resolved. ## Runtime Considerations diff --git a/content/en/docs/refguide10/modeling/integration/odata-services/consumed-odata-services/consumed-odata-service-requirements.md b/content/en/docs/refguide10/modeling/integration/odata-services/consumed-odata-services/consumed-odata-service-requirements.md index 8433e058054..1c94c5ec86d 100644 --- a/content/en/docs/refguide10/modeling/integration/odata-services/consumed-odata-services/consumed-odata-service-requirements.md +++ b/content/en/docs/refguide10/modeling/integration/odata-services/consumed-odata-services/consumed-odata-service-requirements.md @@ -1,15 +1,15 @@ --- title: "Consumed OData Service Requirements" -url: /refguide/consumed-odata-service-requirements/ +url: /refguide10/consumed-odata-service-requirements/ weight: 20 description: "Requirements on OData services consumed in Mendix." #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" %}} -The OData implementation in Mendix does not support all features of the OData specification, nor do we have any plans to provide a full implementation of the entire specification. The supported capabilities of OData are focused on providing a simple and productive way to share data and logic between Mendix apps. Although OData [external entities](/refguide/external-entities/) may also work for third-party OData APIs, their use is not tested nor guaranteed. +The OData implementation in Mendix does not support all features of the OData specification, nor do we have any plans to provide a full implementation of the entire specification. The supported capabilities of OData are focused on providing a simple and productive way to share data and logic between Mendix apps. Although OData [external entities](/refguide10/external-entities/) may also work for third-party OData APIs, their use is not tested nor guaranteed. -When using third-party APIs, it is advised you to make a proof of concept to ensure the functionality provided in Mendix matches the requirements of your third-party APIs. If external entities do not work with your OData APIs, you can use the Mendix [REST](/refguide/consumed-rest-services/) functionality instead. +When using third-party APIs, it is advised you to make a proof of concept to ensure the functionality provided in Mendix matches the requirements of your third-party APIs. If external entities do not work with your OData APIs, you can use the Mendix [REST](/refguide10/consumed-rest-services/) functionality instead. {{% /alert %}} ## Introduction @@ -41,9 +41,9 @@ Vocabulary annotations can be used in a service to indicate features that are no * **Filterable** – an entity set marked as `Filterable="false"` sets all properties as non-filterable. * **Sortable** – an entity set marked as `Sortable="false"` sets all properties as non-sortable. * Marking an entity set as `Filterable="false"` and `Sortable="false"` sets all properties as non-filterable and non-sortable. Marking properties with the `NonFilterableProperties` annotation or the `NonSortableProperties` annotation sets specific attributes as non-filterable or non-sortable. -* **Insertable** – an entity marked as `Insertable="true"` will make the entity creatable in the domain model. That means, for example, that you can model pages that create new objects, and that you can use the entity in the [Create Object](/refguide/create-object/) activity. For insertable entities, the annotations `NonInsertableProperties` and `NonInsertableNavigationProperties` list the (navigation) properties that cannot be passed to the service in the [Send External Object](/refguide/send-external-object/) activity. -* **Updatable** – an entity marked as `Updatable="true"` with `DeltaUpdateSupported="true"` and `UpdateMethod="2"` will make the entity updatable in the domain model. That means, for example, that you can model pages that change attributes values and associated objects, and that you can use the entity in the [Change Object](/refguide/change-object/) activity. For updatable entities, the annotations `NonUpdatableProperties` and `NonUpdatableNavigationProperties` list the (navigation) properties that cannot be updated. -* **Deletable** - an entity marked as `Deletable="true"` can be used in the [Delete External Object](/refguide/delete-external-object/) activity. +* **Insertable** – an entity marked as `Insertable="true"` will make the entity creatable in the domain model. That means, for example, that you can model pages that create new objects, and that you can use the entity in the [Create Object](/refguide10/create-object/) activity. For insertable entities, the annotations `NonInsertableProperties` and `NonInsertableNavigationProperties` list the (navigation) properties that cannot be passed to the service in the [Send External Object](/refguide10/send-external-object/) activity. +* **Updatable** – an entity marked as `Updatable="true"` with `DeltaUpdateSupported="true"` and `UpdateMethod="2"` will make the entity updatable in the domain model. That means, for example, that you can model pages that change attributes values and associated objects, and that you can use the entity in the [Change Object](/refguide10/change-object/) activity. For updatable entities, the annotations `NonUpdatableProperties` and `NonUpdatableNavigationProperties` list the (navigation) properties that cannot be updated. +* **Deletable** - an entity marked as `Deletable="true"` can be used in the [Delete External Object](/refguide10/delete-external-object/) activity. An entity can only be used as an external entity when it is accessible through an entity set, and when it is uniquely identifiable with a key. The key can consist of one or more properties, as long as the following conditions are met: @@ -66,7 +66,7 @@ The key can consist of one or more properties, as long as the following conditio The list above for supported key fields does not include `Date` or `DateTime` data types. {{% /alert %}} -Entities that are not accessible through an entity set can be used as a [non-persistable entity](/refguide/consumed-odata-services/#external-non-persistable-entities). +Entities that are not accessible through an entity set can be used as a [non-persistable entity](/refguide10/consumed-odata-services/#external-non-persistable-entities). ### Attributes @@ -92,7 +92,7 @@ The most commonly used attribute types can be used in your app. The types of the ¹ In Studio Pro, Booleans cannot be null. If the service returns null, the app will use the value `false`. -² Decimal values outside of the range of a [Mendix Decimal](/refguide/attributes/#type) are currently not supported. If the service returns a value outside of the range, there will be an error. +² Decimal values outside of the range of a [Mendix Decimal](/refguide10/attributes/#type) are currently not supported. If the service returns a value outside of the range, there will be an error. #### Attributes of Complex Types @@ -136,7 +136,7 @@ When you publish a self-referencing association, you can only publish one side o ### Enumerations -In Studio Pro 10.11 and earlier, enumeration types that have one or more members with a name that is not a valid [enumeration value name](/refguide/enumerations/#name) are not supported. +In Studio Pro 10.11 and earlier, enumeration types that have one or more members with a name that is not a valid [enumeration value name](/refguide10/enumerations/#name) are not supported. {{% alert color="info" %}} As of Mendix 10.12, the original enumeration member value is stored separately from the enumeration member name and caption in the app model. This enables Studio Pro to consume enumerations that have special characters or reserved keywords as enumeration values. By default, the caption will be equal to the remote value; the name will be equal to the remote value, with any unsupported characters replaced by underscores. @@ -144,7 +144,7 @@ As of Mendix 10.12, the original enumeration member value is stored separately f ## Requirements on Actions {#actions} -The [Call External Action](/refguide/call-external-action/) activity calls actions. It cannot call +The [Call External Action](/refguide10/call-external-action/) activity calls actions. It cannot call * Bound actions * Actions that take an unsupported type as parameter @@ -167,10 +167,10 @@ Note that the only supported Collection type is a Collection of Entities, and th ¹ In Mendix, Booleans cannot be null. If the action returns null, the value will be false in Mendix. -² Decimal values outside of the range of a Mendix [Decimal](/refguide/attributes/#type) are currently not supported. If the action returns a value outside of the range, the action will return an error. +² Decimal values outside of the range of a Mendix [Decimal](/refguide10/attributes/#type) are currently not supported. If the action returns a value outside of the range, the action will return an error. ³ Objects that contain attributes of complex types are not currently supported in actions. {{% alert color="warning" %}} -When the OData endpoint contains functions, these are not imported in the consumed OData service. You can use a [Call REST service](/refguide/call-rest-action/) activity to call these functions. +When the OData endpoint contains functions, these are not imported in the consumed OData service. You can use a [Call REST service](/refguide10/call-rest-action/) activity to call these functions. {{% /alert %}} diff --git a/content/en/docs/refguide10/modeling/integration/odata-services/consumed-odata-services/consumed-odata-service.md b/content/en/docs/refguide10/modeling/integration/odata-services/consumed-odata-services/consumed-odata-service.md index dcd4c5cfd1d..f24cf93c6cf 100644 --- a/content/en/docs/refguide10/modeling/integration/odata-services/consumed-odata-services/consumed-odata-service.md +++ b/content/en/docs/refguide10/modeling/integration/odata-services/consumed-odata-services/consumed-odata-service.md @@ -1,16 +1,16 @@ --- title: "Consumed OData Service" -url: /refguide/consumed-odata-service/ +url: /refguide10/consumed-odata-service/ weight: 10 aliases: - - /refguide/consumed-odata-service-properties + - /refguide10/consumed-odata-service-properties --- ## Introduction A consumed OData service contains the connection information for OData external entities and actions. -You can create a consumed OData service and specify its metadata in a file or a URL. Alternatively, you can search using the [Integration pane](/refguide/integration-pane/) and drag an entity to the domain model to have Studio Pro create a consumed OData service for you. +You can create a consumed OData service and specify its metadata in a file or a URL. Alternatively, you can search using the [Integration pane](/refguide10/integration-pane/) and drag an entity to the domain model to have Studio Pro create a consumed OData service for you. ## Consumed OData Service screen @@ -27,7 +27,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 Catalog search and **App** pane, when a different contract is detected at the service endpoint, it will be indicated with an update arrow for the service. For more 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 [Integration pane](/refguide/integration-pane/), consumed services display an **Update** icon (a blue arrow) if there is an update available.{{% /alert %}} + {{% alert color="info" %}}In the [Integration pane](/refguide10/integration-pane/), consumed services display an **Update** icon (a blue arrow) if there is an update available.{{% /alert %}} ### Configuration @@ -47,31 +47,31 @@ Choose a microflow that returns one of the following options: This microflow may take a parameter of type **System.HttpResponse**. The microflow is called every time a request is made. Initially, the HTTP response parameter will be empty. If the service responds with `401 Unauthorized`, the microflow is called with that HTTP response and another call is made with the new HTTP headers. {{% alert color="info" %}} -Custom authentication can be done with the microflow where the authentication value is retrieved (such as SSO). For more information on access and authentication, see [Using Custom HTTP Header Validation for Published Entities](/refguide/security-shared-datasets/#http-header-validation) in *Security and Shared Datasets*. +Custom authentication can be done with the microflow where the authentication value is retrieved (such as SSO). For more information on access and authentication, see [Using Custom HTTP Header Validation for Published Entities](/refguide10/security-shared-datasets/#http-header-validation) in *Security and Shared Datasets*. {{% /alert %}} #### Authenticating with Mendix SSO {#authenticate-mendix-sso} -Publishers can set up [custom authentication](/refguide/published-odata-services/#authentication-microflow) using [Mendix SSO](/appstore/modules/mendix-sso/) module. For more information, see the [Mendix SSO](/refguide/published-odata-services/#authentication-mendix-sso) section of *Published OData Services*. +Publishers can set up [custom authentication](/refguide10/published-odata-services/#authentication-microflow) using [Mendix SSO](/appstore/modules/mendix-sso/) module. For more information, see the [Mendix SSO](/refguide10/published-odata-services/#authentication-mendix-sso) section of *Published OData Services*. Consumers of an OData service that is set up with Mendix SSO authentication can use the **CreateAccessTokenAuthorizationHeaderList**. -To learn more about how to publish an OData service with authentication (Mendix SSO, or other methods), see the [Authentication Methods](/refguide/published-odata-services/#authentication-methods) section of *Published OData Services*. +To learn more about how to publish an OData service with authentication (Mendix SSO, or other methods), see the [Authentication Methods](/refguide10/published-odata-services/#authentication-methods) section of *Published OData Services*. -To learn more about using external entities with security enabled (in production environments), see the [Authentication](/refguide/external-entities/#authentication) section of *External Entities*. +To learn more about using external entities with security enabled (in production environments), see the [Authentication](/refguide10/external-entities/#authentication) section of *External Entities*. ### Service URL {#service-url} The **Service URL** displays constant that specifies the URL of the service endpoint: -* Click **Select** to choose another [constant](/refguide/constants/) for the service +* Click **Select** to choose another [constant](/refguide10/constants/) for the service * Click **Show** to open the **Constant** dialog box displaying the service URL or endpoint: {{< figure src="/attachments/refguide10/modeling/integration/consumed-odata-services/consumed-odata-service/service-url.png" class="no-border" >}} ### Timeout -**Timeout** is the response time for fetching data from the service endpoint. If the endpoint has not responded after the number of seconds in **Timeout (s)**, an exception will occur. If this happens during a microflow activity, the microflow will roll back or go into your custom [error handling](/refguide/error-handling-in-microflows/). +**Timeout** is the response time for fetching data from the service endpoint. If the endpoint has not responded after the number of seconds in **Timeout (s)**, an exception will occur. If this happens during a microflow activity, the microflow will roll back or go into your custom [error handling](/refguide10/error-handling-in-microflows/). Default value: 300 seconds @@ -106,7 +106,7 @@ If the service uses a configuration microflow or a headers microflow that specif ### Error Handling Microflow -When a call to the OData service fails, users see a generic error message. Create an [error-handling microflow](/refguide/error-handling-in-microflows/) to change this message. +When a call to the OData service fails, users see a generic error message. Create an [error-handling microflow](/refguide10/error-handling-in-microflows/) to change this message. When the service responds with an unsuccessful status code (not in the 2xx range), or does not return a response at all, this microflow decides which message to show to the user. @@ -138,7 +138,7 @@ When downloading the metadata from a URL, the server may request a user name and This information is not stored, so if you download the metadata from the same server again, you will have to re-enter your user name and password. {{% /alert %}} -When you import the metadata, you can add external entities and actions from the consumed OData service in the [Integration pane](/refguide/integration-pane/). +When you import the metadata, you can add external entities and actions from the consumed OData service in the [Integration pane](/refguide10/integration-pane/). ### Properties @@ -211,11 +211,11 @@ When a change in the contract at a consumed endpoint is detected (possibly due t The **Update** option is available when Studio Pro detects that the contract at the Catalog endpoint is different than the one currently consumed in the app. If **Update** is selected, the new contract will be loaded in the app. -See the [Limitations](/refguide/consumed-odata-services/#consumed-odata-service-limitations) section of *Consumed OData Services* to read about known update limitations. +See the [Limitations](/refguide10/consumed-odata-services/#consumed-odata-service-limitations) section of *Consumed OData Services* to read about known update limitations. ##### Integration Pane -In the [Integration pane](/refguide/integration-pane/), search results, and in the **Used in your App** section, an update arrow indicates if there is a different contract at the Catalog endpoint. +In the [Integration pane](/refguide10/integration-pane/), search results, and in the **Used in your App** section, an update arrow indicates if there is a different contract at the Catalog endpoint. {{< figure src="/attachments/refguide10/modeling/integration/consumed-odata-services/consumed-odata-service/integration-pane.png" alt="update service app-pane" class="no-border" >}} @@ -239,7 +239,7 @@ In the example in the [Consuming from Service Endpoints](#consume-service-endpoi #### Switching Consumed Services -A published OData service that is deployed to multiple environments or is published with major service updates (and therefore deployed to a different endpoint) is shown as separate items in the search results of the [Integration pane](/refguide/integration-pane/). +A published OData service that is deployed to multiple environments or is published with major service updates (and therefore deployed to a different endpoint) is shown as separate items in the search results of the [Integration pane](/refguide10/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: @@ -255,11 +255,11 @@ To consume the service deployed to the **Acceptance environment**, follow these {{< figure src="/attachments/refguide10/modeling/integration/consumed-odata-services/consumed-odata-service/switch-dialog-box.png" alt="major change environment" width="700" class="no-border" >}} -3. The consumed service is be consumed from the new selected environment. The information on the **Consumed OData Service** document displays the changed service details and the [Integration pane](/refguide/integration-pane/) will display 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 displays the changed service details and the [Integration pane](/refguide10/integration-pane/) will display that you are consuming from the selected environment: {{< figure src="/attachments/refguide10/modeling/integration/consumed-odata-services/consumed-odata-service/integration-pane-2.png" width="350" class="no-border" >}} ## Read More -* [Integration Pane](/refguide/integration-pane/) -* [Consumed OData Services](/refguide/consumed-odata-services/) +* [Integration Pane](/refguide10/integration-pane/) +* [Consumed OData Services](/refguide10/consumed-odata-services/) diff --git a/content/en/docs/refguide10/modeling/integration/odata-services/exposing-data-to-bi-tools-using-odata.md b/content/en/docs/refguide10/modeling/integration/odata-services/exposing-data-to-bi-tools-using-odata.md index 0b18333a0a5..adedfb3567c 100644 --- a/content/en/docs/refguide10/modeling/integration/odata-services/exposing-data-to-bi-tools-using-odata.md +++ b/content/en/docs/refguide10/modeling/integration/odata-services/exposing-data-to-bi-tools-using-odata.md @@ -1,6 +1,6 @@ --- title: "Expose Data to BI Tools Using OData" -url: /refguide/exposing-data-to-bi-tools-using-odata/ +url: /refguide10/exposing-data-to-bi-tools-using-odata/ weight: 13 description: "Describes how to create a published OData service with resources, add the OData server to Tableau and Excel, combine resources in Tableau, and create custom queries." aliases: @@ -29,13 +29,13 @@ This how-to outlines how to do the following: Before reviewing this guide, make sure you do the following: -* Create an app that includes data you want to expose. You can either have published OData services already, or follow the steps in the [Creating a Published OData Service](#create-service) section below. For detailed steps to publishing an OData service, see the [Creating an App](/refguide/share-data/#createapp) and [Publishing to the Catalog](/refguide/share-data/#publishing) sections of *Share Data Between Apps*. +* Create an app that includes data you want to expose. You can either have published OData services already, or follow the steps in the [Creating a Published OData Service](#create-service) section below. For detailed steps to publishing an OData service, see the [Creating an App](/refguide10/share-data/#createapp) and [Publishing to the Catalog](/refguide10/share-data/#publishing) sections of *Share Data Between Apps*. * Install Excel (this document uses Excel for Office 365). * Download and install the public version of [Tableau](https://public.tableau.com). ## Creating a Published OData Service {#create-service} -A published OData service can be used by third-party applications to read data from a Mendix application. For detailed steps on publishing an OData service, see the [Creating an App](/refguide/share-data/#createapp) and [Publishing to the Catalog](/refguide/share-data/#publishing) sections of *Share Data Between Apps*. The basic steps are as follows: +A published OData service can be used by third-party applications to read data from a Mendix application. For detailed steps on publishing an OData service, see the [Creating an App](/refguide10/share-data/#createapp) and [Publishing to the Catalog](/refguide10/share-data/#publishing) sections of *Share Data Between Apps*. The basic steps are as follows: 1. Open Studio Pro and add a folder named *OData Services* to **MyFirstModule**. 2. Right-click the new folder and select **Add other** > **Published OData service**. diff --git a/content/en/docs/refguide10/modeling/integration/odata-services/published-odata-services/_index.md b/content/en/docs/refguide10/modeling/integration/odata-services/published-odata-services/_index.md index 6f466086eb9..203e766bac5 100644 --- a/content/en/docs/refguide10/modeling/integration/odata-services/published-odata-services/_index.md +++ b/content/en/docs/refguide10/modeling/integration/odata-services/published-odata-services/_index.md @@ -1,13 +1,13 @@ --- title: "Published OData/GraphQL Services" -url: /refguide/published-odata-services/ +url: /refguide10/published-odata-services/ weight: 10 #If moving or renaming this doc file, implement a temporary redirect and let the respective team know they should update the URL in the product. See Mapping to Products for more details. --- ## Introduction -In Studio Pro, [entities](/refguide/published-odata-entity/) and [microflows](/refguide/published-odata-microflow/) by adding them to a published OData/GraphQL service. You can publish any number of related entities and microflows. +In Studio Pro, [entities](/refguide10/published-odata-entity/) and [microflows](/refguide10/published-odata-microflow/) by adding them to a published OData/GraphQL service. You can publish any number of related entities and microflows. A published OData service is a REST service with an OpenAPI contract, which means that OpenAPI compatible REST clients can easily interact with it. @@ -62,19 +62,19 @@ GraphQL support was introduced in [Studio Pro 10.14.0](/releasenotes/studio-pro/ Default: **No** -Choose **Yes** to publish the entities in a GraphQL service. This allows clients to send GraphQL `POST` requests to the location of the service. The service responds with the requested entity data in JSON format. This option is available when the [GraphQL feature](/refguide/preferences-dialog/#graphql) is enabled or when the value is **Yes**. +Choose **Yes** to publish the entities in a GraphQL service. This allows clients to send GraphQL `POST` requests to the location of the service. The service responds with the requested entity data in JSON format. This option is available when the [GraphQL feature](/refguide10/preferences-dialog/#graphql) is enabled or when the value is **Yes**. {{% alert color="warning" %}} Enabling GraphQL on a service that publishes OData v3 is not supported. {{% /alert %}} -See [Supported GraphQL Operations](/refguide/supported-graphql-operations/) for an overview of the operations of the resulting GraphQL service. +See [Supported GraphQL Operations](/refguide10/supported-graphql-operations/) for an overview of the operations of the resulting GraphQL service. Not all features that you can model in a published OData/GraphQL service are supported through GraphQL. See [GraphQL Limitations](#graphql-limitations) for more details. ### Entities -This list gives an overview of all [published entities](/refguide/published-odata-entity/). +This list gives an overview of all [published entities](/refguide10/published-odata-entity/). #### Entity Details @@ -82,7 +82,7 @@ This list gives an overview of all published attributes and associations. ### Enumerations -This list gives an overview of all [enumerations](/refguide/enumerations/) that are published by the service (for OData v4 only). When a published entity has an attribute with an enumeration type then the enumeration appears in this list. The list does not appear when there are no published enumerations. There is no need to add enumerations yourself, because Studio Pro will add them when needed. +This list gives an overview of all [enumerations](/refguide10/enumerations/) that are published by the service (for OData v4 only). When a published entity has an attribute with an enumeration type then the enumeration appears in this list. The list does not appear when there are no published enumerations. There is no need to add enumerations yourself, because Studio Pro will add them when needed. Click **Edit** to change the exposed name of the enumeration (the name as it appears to clients of the service) and to provide documentation. @@ -96,11 +96,11 @@ Use the **Refresh** button when the enumeration values have changed to update th ### Microflows -This list gives an overview of all microflows published as [OData actions](/refguide/published-odata-microflow/). +This list gives an overview of all microflows published as [OData actions](/refguide10/published-odata-microflow/). ### Parameters -This list gives an overview of the [parameters](/refguide/published-odata-microflow/#pub-odata-mflow-parameters) of a selected microflow. +This list gives an overview of the [parameters](/refguide10/published-odata-microflow/#pub-odata-mflow-parameters) of a selected microflow. ## Settings @@ -116,7 +116,7 @@ In OData, the namespace is used to refer to data types. You can customize this n #### Associations -You can select how you want to represent associations. For more information, see the [Associations](/refguide/odata-representation/#associations) section of *OData Representation*. +You can select how you want to represent associations. For more information, see the [Associations](/refguide10/odata-representation/#associations) section of *OData Representation*. #### Include Metadata in Response by Default @@ -150,16 +150,16 @@ The GraphQL schema describes the queries and types exposed by this GraphQL servi ### Security {#security} -You can configure security for the OData/GraphQL service when [App Security](/refguide/app-security/) is enabled. +You can configure security for the OData/GraphQL service when [App Security](/refguide10/app-security/) is enabled. #### Requires Authentication {#authentication} Select whether clients need to authenticate or not. Select **No** to allow access to the service without restrictions. Select **Yes** to be able to select which authentication methods to support. -Even when you choose **Yes**, you can still expose the service to anonymous users. For detailed information on allowing anonymous users, see [Anonymous User Role](/refguide/anonymous-users/). +Even when you choose **Yes**, you can still expose the service to anonymous users. For detailed information on allowing anonymous users, see [Anonymous User Role](/refguide10/anonymous-users/). {{% alert color="info" %}} -The **Authentication** section of a published OData/GraphQL service is only visible when you have enabled [app security](/refguide/app-security/). +The **Authentication** section of a published OData/GraphQL service is only visible when you have enabled [app security](/refguide10/app-security/). {{% /alert %}} #### Authentication Methods {#authentication-methods} @@ -203,9 +203,9 @@ Support for using a list of `System.HttpHeader` in authentication microflows was Specify which microflow to use for custom authentication. The microflow may take the following as a parameter: -* A list of [HttpHeader](/refguide/http-request-and-response-entities/#http-header). These are the HTTP headers in the client's request. Use this parameter for authentication schemes that are based on HTTP headers. -* [HttpRequest](/refguide/http-request-and-response-entities/#http-request). Use this parameter for authentication schemes that are based on more than just the HTTP headers (for example, when the client supplies credentials in the request body). You cannot use this parameter together with a list of HttpHeader. Instead, use a [retrieve activity](/refguide/retrieve/) to retrieve the associated request headers. -* [HttpResponse](/refguide/http-request-and-response-entities/#http-response). When the microflow sets the status code of this response to something other then **200**, this value is returned and the operation will not be executed. Any headers set on the response are returned (except when the microflow returns an empty user). +* A list of [HttpHeader](/refguide10/http-request-and-response-entities/#http-header). These are the HTTP headers in the client's request. Use this parameter for authentication schemes that are based on HTTP headers. +* [HttpRequest](/refguide10/http-request-and-response-entities/#http-request). Use this parameter for authentication schemes that are based on more than just the HTTP headers (for example, when the client supplies credentials in the request body). You cannot use this parameter together with a list of HttpHeader. Instead, use a [retrieve activity](/refguide10/retrieve/) to retrieve the associated request headers. +* [HttpResponse](/refguide10/http-request-and-response-entities/#http-response). When the microflow sets the status code of this response to something other then **200**, this value is returned and the operation will not be executed. Any headers set on the response are returned (except when the microflow returns an empty user). The authentication microflow should return a User. @@ -226,7 +226,7 @@ To set up authentication with Mendix SSO, do the following: #### Allowed Roles -The allowed roles define which [module role](/refguide/module-security/#module-role) a user must have to be able to access the service. This option is only available when **Requires authentication** is set to **Yes**. +The allowed roles define which [module role](/refguide10/module-security/#module-role) a user must have to be able to access the service. This option is only available when **Requires authentication** is set to **Yes**. {{% alert color="warning" %}} Web service users cannot access OData/GraphQL services. @@ -268,9 +268,9 @@ Once your app is published, a list of the published OData services will be avail While the API documentation for published OData services is enabled by default, access to it may be restricted by the administrator for apps running in production. {{% /alert %}} -For details on how to filter the OData response, refer to [Supported OData Operations](/refguide/supported-odata-operations/#filtering). +For details on how to filter the OData response, refer to [Supported OData Operations](/refguide10/supported-odata-operations/#filtering). -For details on how Mendix attributes are represented in OData, refer to [OData Representation](/refguide/odata-representation/). +For details on how Mendix attributes are represented in OData, refer to [OData Representation](/refguide10/odata-representation/). When publishing entities through OData, the entities are retrieved from the Mendix database in a streaming fashion to avoid out-of-memory errors in the Mendix Runtime. @@ -292,28 +292,28 @@ Responses to GraphQL requests return `200` when the server understands the reque ## Publishing CRUD -To publish an entity with full CRUD (Create, Read, Update, or Delete functionality; or in Studio Pro, **Insertable**, **Readable**, **Updateable**, and **Deletable**), select the relevant checkboxes in the [Capabilities](/refguide/published-odata-entity/#capabilities) section in [Published OData Entity](/refguide/published-odata-entity/). You can then [Send](/refguide/send-external-object/) and [Delete](/refguide/delete-external-object/) objects using [External Object activities](/refguide/external-object-activities/). +To publish an entity with full CRUD (Create, Read, Update, or Delete functionality; or in Studio Pro, **Insertable**, **Readable**, **Updateable**, and **Deletable**), select the relevant checkboxes in the [Capabilities](/refguide10/published-odata-entity/#capabilities) section in [Published OData Entity](/refguide10/published-odata-entity/). You can then [Send](/refguide10/send-external-object/) and [Delete](/refguide10/delete-external-object/) objects using [External Object activities](/refguide10/external-object-activities/). ## Limitations ### OData Limitations -Studio Pro currently does not support publishing media entities with OData services. To learn about consuming media entities with OData, see the [Binary Attributes](/refguide/consumed-odata-service-requirements/#binary-attributes) section of *Consumed OData Service Requirements*. You can also [Publish and Retrieve Images and Files with REST](/refguide/send-receive-files-rest/). +Studio Pro currently does not support publishing media entities with OData services. To learn about consuming media entities with OData, see the [Binary Attributes](/refguide10/consumed-odata-service-requirements/#binary-attributes) section of *Consumed OData Service Requirements*. You can also [Publish and Retrieve Images and Files with REST](/refguide10/send-receive-files-rest/). ### GraphQL Limitations {#graphql-limitations} -A service that [supports GraphQL](#supports-graphql) does not support all of the modeling features available for OData services. See [Supported GraphQL Operations](/refguide/supported-graphql-operations/) for an overview of what clients can retrieve when you publish an entity. +A service that [supports GraphQL](#supports-graphql) does not support all of the modeling features available for OData services. See [Supported GraphQL Operations](/refguide10/supported-graphql-operations/) for an overview of what clients can retrieve when you publish an entity. The following modeling options are limited in the GraphQL service: * Published microflows are ignored. -* The insertable, updatable, and deletable [capabilities](/refguide/published-odata-entity/#capabilities) values have no effect, because GraphQL services are read-only. -* Entities that are not [readable](/refguide/published-odata-entity/#readable) are not part of the GraphQL service. -* Entities without a [key](/refguide/published-odata-entity/#key) are not part of the GraphQL service. -* The [Use paging](/refguide/published-odata-entity/#paging) setting has no effect. +* The insertable, updatable, and deletable [capabilities](/refguide10/published-odata-entity/#capabilities) values have no effect, because GraphQL services are read-only. +* Entities that are not [readable](/refguide10/published-odata-entity/#readable) are not part of the GraphQL service. +* Entities without a [key](/refguide10/published-odata-entity/#key) are not part of the GraphQL service. +* The [Use paging](/refguide10/published-odata-entity/#paging) setting has no effect. * Published `ID` attributes are ignored. * Published `owner` and `changedBy` system associations are ignored. -* Enumerations [exposed as](/refguide/published-odata-attribute/#exposed-as) a string are ignored. +* Enumerations [exposed as](/refguide10/published-odata-attribute/#exposed-as) a string are ignored. * Binary attributes are ignored. * A published OData service that publishes associations as an associated object ID cannot support GraphQL. * The GraphQL endpoint is not part of the OpenAPI document. diff --git a/content/en/docs/refguide10/modeling/integration/odata-services/published-odata-services/graphql-feedback.md b/content/en/docs/refguide10/modeling/integration/odata-services/published-odata-services/graphql-feedback.md index 021906a6bde..b6b04adb041 100644 --- a/content/en/docs/refguide10/modeling/integration/odata-services/published-odata-services/graphql-feedback.md +++ b/content/en/docs/refguide10/modeling/integration/odata-services/published-odata-services/graphql-feedback.md @@ -1,6 +1,6 @@ --- title: GraphQL Representation -url: /refguide/graphql-feedback/ +url: /refguide10/graphql-feedback/ toc_hide: true hide_summary: true # This doc is hidden as part of the GraphQL survey request. diff --git a/content/en/docs/refguide10/modeling/integration/odata-services/published-odata-services/graphql-representation.md b/content/en/docs/refguide10/modeling/integration/odata-services/published-odata-services/graphql-representation.md index d2e3e3c4a1b..f48add93ba1 100644 --- a/content/en/docs/refguide10/modeling/integration/odata-services/published-odata-services/graphql-representation.md +++ b/content/en/docs/refguide10/modeling/integration/odata-services/published-odata-services/graphql-representation.md @@ -1,6 +1,6 @@ --- title: GraphQL Representation -url: /refguide/graphql-representation/ +url: /refguide10/graphql-representation/ weight: 70 --- diff --git a/content/en/docs/refguide10/modeling/integration/odata-services/published-odata-services/odata-representation.md b/content/en/docs/refguide10/modeling/integration/odata-services/published-odata-services/odata-representation.md index 6df015a1719..d0b6a646a4d 100644 --- a/content/en/docs/refguide10/modeling/integration/odata-services/published-odata-services/odata-representation.md +++ b/content/en/docs/refguide10/modeling/integration/odata-services/published-odata-services/odata-representation.md @@ -1,6 +1,6 @@ --- title: "OData Representation" -url: /refguide/odata-representation/ +url: /refguide10/odata-representation/ weight: 60 --- @@ -45,7 +45,7 @@ In the settings of the OData service, you can choose how associations are repres ### As a Link -When you represent associations as links, the data of associated objects can be included in the response by using the `$expand` query parameter. For more information, see the [Retrieving Associated Objects](/refguide/supported-odata-operations/#retrieving-associated-objects) section of *Supported OData Operations*. +When you represent associations as links, the data of associated objects can be included in the response by using the `$expand` query parameter. For more information, see the [Retrieving Associated Objects](/refguide10/supported-odata-operations/#retrieving-associated-objects) section of *Supported OData Operations*. This means you can only publish an association when the entity on the other side is published in this service as well. This also means that you cannot publish the same entity more than once in the same service (because in that case, it would not be clear where the link should point to). diff --git a/content/en/docs/refguide10/modeling/integration/odata-services/published-odata-services/published-odata-attribute.md b/content/en/docs/refguide10/modeling/integration/odata-services/published-odata-services/published-odata-attribute.md index 43267d930d0..40c7c2982e3 100644 --- a/content/en/docs/refguide10/modeling/integration/odata-services/published-odata-services/published-odata-attribute.md +++ b/content/en/docs/refguide10/modeling/integration/odata-services/published-odata-services/published-odata-attribute.md @@ -1,6 +1,6 @@ --- title: "Published OData Attribute" -url: /refguide/published-odata-attribute/ +url: /refguide10/published-odata-attribute/ weight: 30 #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. --- @@ -19,7 +19,7 @@ The exposed name is the name of the attribute as it appears to clients of the se ### Can Be Empty -Select this box if there is a possibility for this attribute the have an empty value. One way to make sure no empty values are created in the database is to add a required [validation rule](/refguide/validation-rules/). +Select this box if there is a possibility for this attribute the have an empty value. One way to make sure no empty values are created in the database is to add a required [validation rule](/refguide10/validation-rules/). For attributes that are part of the key of the entity, this box must be unselected. diff --git a/content/en/docs/refguide10/modeling/integration/odata-services/published-odata-services/published-odata-entity.md b/content/en/docs/refguide10/modeling/integration/odata-services/published-odata-services/published-odata-entity.md index 07697392e83..bbb1176473c 100644 --- a/content/en/docs/refguide10/modeling/integration/odata-services/published-odata-services/published-odata-entity.md +++ b/content/en/docs/refguide10/modeling/integration/odata-services/published-odata-services/published-odata-entity.md @@ -1,9 +1,9 @@ --- title: "Published OData Entity" -url: /refguide/published-odata-entity/ +url: /refguide10/published-odata-entity/ weight: 10 alias: - - /refguide/published-odata-services/ + - /refguide10/published-odata-services/ #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. --- @@ -11,7 +11,7 @@ alias: This document describes the properties of an entity published in an OData service. -For an overview of OData/GraphQL services, see [Published OData/GraphQL Services](/refguide/published-odata-services/). +For an overview of OData/GraphQL services, see [Published OData/GraphQL Services](/refguide10/published-odata-services/). ## Adding or Editing an Entity @@ -61,7 +61,7 @@ Use **Exposed entity name** in the **Edit published entity** window to customize {{% alert color="info" %}} -Location URIs must be unique. Publishing two different entities at the same location will result in a [consistency error](/refguide/consistency-errors/). +Location URIs must be unique. Publishing two different entities at the same location will result in a [consistency error](/refguide10/consistency-errors/). {{% /alert %}} @@ -87,9 +87,9 @@ Select a combination of attributes with the following constraints: * Required – If one of the key attribute values is empty, you cannot find an object with it anymore. * Stable over time – The attribute values used for the key should not change so you can find it again later. -Having an [index](/refguide/indexes/) for the key attribute (or attributes) makes retrieving objects by key perform better. +Having an [index](/refguide10/indexes/) for the key attribute (or attributes) makes retrieving objects by key perform better. -You can set unique and required constraints using [validation rules](/refguide/validation-rules/). +You can set unique and required constraints using [validation rules](/refguide10/validation-rules/). Selecting a key is required when the **Readable** capability is enabled. @@ -97,7 +97,7 @@ Selecting a key is required when the **Readable** capability is enabled. Selecting more than one attribute as the key is only available for published OData services that use OData v4. {{% /alert %}} -Mendix recommends that you do not use the entity [ID](/refguide/odata-representation/#id-representation) as a key as it has no meaning outside the Mendix app. +Mendix recommends that you do not use the entity [ID](/refguide10/odata-representation/#id-representation) as a key as it has no meaning outside the Mendix app. ## Capabilities {#capabilities} @@ -116,9 +116,9 @@ When the app receives a request to insert a new object, it does the following: This is the behavior when you choose the action **Write to database**. -You can also choose the **Call a microflow** action to use your own logic. Specify a microflow that takes the entity as a parameter, and optionally a [System.HttpRequest](/refguide/http-request-and-response-entities/) and/or a [System.HttpResponse](/refguide/http-request-and-response-entities/) parameter. In the microflow, you can use the [Commit](/refguide/committing-objects/) activity to commit the changes to the database. See [Customizing the Outgoing HTTP Response](#custom-http-response) below for more information. +You can also choose the **Call a microflow** action to use your own logic. Specify a microflow that takes the entity as a parameter, and optionally a [System.HttpRequest](/refguide10/http-request-and-response-entities/) and/or a [System.HttpResponse](/refguide10/http-request-and-response-entities/) parameter. In the microflow, you can use the [Commit](/refguide10/committing-objects/) activity to commit the changes to the database. See [Customizing the Outgoing HTTP Response](#custom-http-response) below for more information. -In the publishing app, you can use a validation message action to report a validation error. The client app can include a custom error handler on the [Send External Object](/refguide/send-external-object/) activity to handle the error. If the microflow reports [validation feedback](/refguide/validation-feedback/), the runtime informs the client that the request has failed. For more information, see [Supported OData Operations](/refguide/supported-odata-operations/#updating-objects). +In the publishing app, you can use a validation message action to report a validation error. The client app can include a custom error handler on the [Send External Object](/refguide10/send-external-object/) activity to handle the error. If the microflow reports [validation feedback](/refguide10/validation-feedback/), the runtime informs the client that the request has failed. For more information, see [Supported OData Operations](/refguide10/supported-odata-operations/#updating-objects). ### Readable {#readable} @@ -161,17 +161,17 @@ When the app receives a request to change values, it does the following: This is the behavior when you choose the action **Write to database**. -You can also choose the **Call a microflow** action to use your own logic. Specify a microflow that takes the entity as a parameter, and optionally a [System.HttpRequest](/refguide/http-request-and-response-entities/) and/or a [System.HttpResponse](/refguide/http-request-and-response-entities/) parameter. In the microflow, you can use the [Commit](/refguide/committing-objects/) activity to commit the changes to the database. See [Customizing the Outgoing HTTP Response](#custom-http-response) below for more information. +You can also choose the **Call a microflow** action to use your own logic. Specify a microflow that takes the entity as a parameter, and optionally a [System.HttpRequest](/refguide10/http-request-and-response-entities/) and/or a [System.HttpResponse](/refguide10/http-request-and-response-entities/) parameter. In the microflow, you can use the [Commit](/refguide10/committing-objects/) activity to commit the changes to the database. See [Customizing the Outgoing HTTP Response](#custom-http-response) below for more information. -In the publishing app, you can use a validation message action to report a validation error. The client app can include a custom error handler on the [Send External Object](/refguide/send-external-object/) activity to handle the error. If the microflow reports [validation feedback](/refguide/validation-feedback/), the runtime informs the client that the request has failed. For more information, see [Supported OData Operations](/refguide/supported-odata-operations/#updating-objects). +In the publishing app, you can use a validation message action to report a validation error. The client app can include a custom error handler on the [Send External Object](/refguide10/send-external-object/) activity to handle the error. If the microflow reports [validation feedback](/refguide10/validation-feedback/), the runtime informs the client that the request has failed. For more information, see [Supported OData Operations](/refguide10/supported-odata-operations/#updating-objects). ### Deletable {#deletable} Select the checkbox for **Deletable** to indicate that clients can delete the values of attributes and associations. -Choose whether the object should be deleted from the database directly, or whether to call a microflow. Specify a microflow that takes the entity as a parameter, and optionally a [System.HttpRequest](/refguide/http-request-and-response-entities/) and/or a [System.HttpResponse](/refguide/http-request-and-response-entities/) parameter. In the microflow, you can use the [Delete](/refguide/deleting-objects/) activity to delete the object from the database. See [Customizing the Outgoing HTTP Response](#custom-http-response) below for more information. +Choose whether the object should be deleted from the database directly, or whether to call a microflow. Specify a microflow that takes the entity as a parameter, and optionally a [System.HttpRequest](/refguide10/http-request-and-response-entities/) and/or a [System.HttpResponse](/refguide10/http-request-and-response-entities/) parameter. In the microflow, you can use the [Delete](/refguide10/deleting-objects/) activity to delete the object from the database. See [Customizing the Outgoing HTTP Response](#custom-http-response) below for more information. -You can use a validation message to report a validation error if you are performing, for example, a soft delete. If the microflow reports [validation feedback](/refguide/validation-feedback/), the runtime informs the client that the request has failed. +You can use a validation message to report a validation error if you are performing, for example, a soft delete. If the microflow reports [validation feedback](/refguide10/validation-feedback/), the runtime informs the client that the request has failed. ## Exposed Data {#exposed-data} @@ -205,7 +205,7 @@ Default: **10000** ## 8 Customizing the Outgoing HTTP Response {#custom-http-response} -When using **Call a microflow** for any of these capabilities, the selected microflow can take a [System.HttpResponse](/refguide/http-request-and-response-entities/) parameter. +When using **Call a microflow** for any of these capabilities, the selected microflow can take a [System.HttpResponse](/refguide10/http-request-and-response-entities/) parameter. You can use this parameter to affect the HTTP response: diff --git a/content/en/docs/refguide10/modeling/integration/odata-services/published-odata-services/published-odata-microflow.md b/content/en/docs/refguide10/modeling/integration/odata-services/published-odata-services/published-odata-microflow.md index 5afede6d28e..8c5cc53bda0 100644 --- a/content/en/docs/refguide10/modeling/integration/odata-services/published-odata-services/published-odata-microflow.md +++ b/content/en/docs/refguide10/modeling/integration/odata-services/published-odata-services/published-odata-microflow.md @@ -1,21 +1,21 @@ --- title: "Published OData Microflow" -url: /refguide/published-odata-microflow/ +url: /refguide10/published-odata-microflow/ weight: 20 aliases: - - /refguide/published-odata-microflow-parameter/ + - /refguide10/published-odata-microflow-parameter/ #If moving or renaming this doc file, implement a temporary redirect and let the respective team know they should update the URL in the product. See Mapping to Products for more details. --- ## Introduction -As of Mendix 10.2.0, Studio Pro allows you to publish microflows as part of an OData service. A published microflow becomes an [external action](/refguide/call-external-action/) which can be called by an application consuming this service. This allows you to model and publish operations that are more complex than straightforward create, read, update, and delete operations on a single entity. +As of Mendix 10.2.0, Studio Pro allows you to publish microflows as part of an OData service. A published microflow becomes an [external action](/refguide10/call-external-action/) which can be called by an application consuming this service. This allows you to model and publish operations that are more complex than straightforward create, read, update, and delete operations on a single entity. ## Adding or Editing a Published Microflow ### Add a Microflow -Open your [published OData service](/refguide/published-odata-services/) or create a new one. +Open your [published OData service](/refguide10/published-odata-services/) or create a new one. {{< figure src="/attachments/refguide10/modeling/integration/published-odata-services/published-odata-microflow/microflows-grid.png" alt="Published microflows" width="600" class="no-border" >}} @@ -31,7 +31,7 @@ Another way of publishing a microflow is from the microflow itself. You can do o When you publish a microflow that has object, list, enumeration parameters, or return types, these entities and enumerations must also be published. To enable consumers of your service to send or retrieve associated objects, you must publish these associations and the associated entities as well. {{% alert color="warning" %}} -If an entity is used as the return type and this entity has exposed associations, the associated objects that are present in the microflow context [can also be retrieved](/refguide/supported-odata-operations/#retrieving-associated-objects) by the client. +If an entity is used as the return type and this entity has exposed associations, the associated objects that are present in the microflow context [can also be retrieved](/refguide10/supported-odata-operations/#retrieving-associated-objects) by the client. {{% /alert %}} ### Edit a Published Microflow{#edit-microflow} @@ -76,7 +76,7 @@ Boolean and list parameters can never be empty. ## 4 Customizing the Outgoing HTTP Response -It is possible to manipulate the response, which is produced as a result of an OData Action call. To do this, the published microflow must have a parameter with a [System.HttpResponse](/refguide/http-request-and-response-entities/) type. +It is possible to manipulate the response, which is produced as a result of an OData Action call. To do this, the published microflow must have a parameter with a [System.HttpResponse](/refguide10/http-request-and-response-entities/) type. * If no changes were made to HttpResponse object, the actual response will not change. * If only headers of the HttpResponse were changed (for instance, a new header was added to the response), those headers are merged with default headers, which replaces values of the same name. diff --git a/content/en/docs/refguide10/modeling/integration/odata-services/published-odata-services/supported-graphql-operations.md b/content/en/docs/refguide10/modeling/integration/odata-services/published-odata-services/supported-graphql-operations.md index baa42eddae0..553467baede 100644 --- a/content/en/docs/refguide10/modeling/integration/odata-services/published-odata-services/supported-graphql-operations.md +++ b/content/en/docs/refguide10/modeling/integration/odata-services/published-odata-services/supported-graphql-operations.md @@ -1,6 +1,6 @@ --- title: "Supported GraphQL Operations" -url: /refguide/supported-graphql-operations/ +url: /refguide10/supported-graphql-operations/ description: "Lists the supported operations for published GraphQL services." weight: 50 --- @@ -13,7 +13,7 @@ This is a list of supported operations for GraphQL services. Mendix currently only supports the operations described in this document. {{% /alert %}} -A client can request an operation of a GraphQL service by sending a `POST` request to the [location](/refguide/published-odata-services/#location) of the service. The service supports request content types `application/graphql` and `application/json`. In this document, `application/graphql` are the examples used. +A client can request an operation of a GraphQL service by sending a `POST` request to the [location](/refguide10/published-odata-services/#location) of the service. The service supports request content types `application/graphql` and `application/json`. In this document, `application/graphql` are the examples used. For each published entity, Studio Pro publishes two queries: one to retrieve all objects, and the other to retrieve a single object by key. Note that GraphQL exposed names are the same as the OData exposed names, but use a lowercase first character. @@ -32,7 +32,7 @@ This retrieves the names and dates of birth of all employees: } ``` -Here, `employees` is the entity's [exposed set name](/refguide/published-odata-entity/#exposed-data) and `name` is the [exposed attribute name](/refguide/published-odata-attribute/#exposed-name), both with a lowercase first character. +Here, `employees` is the entity's [exposed set name](/refguide10/published-odata-entity/#exposed-data) and `name` is the [exposed attribute name](/refguide10/published-odata-attribute/#exposed-name), both with a lowercase first character. ### Ordering @@ -88,7 +88,7 @@ This retrieves the name of the employee whose **userName** is **jdoe**: } ``` -Here, `employee` is the entity's [exposed name](/refguide/published-odata-entity/#exposed-data), `name` is the [exposed attribute name](/refguide/published-odata-attribute/#exposed-name), and `userName` is the entity's string [key](/refguide/published-odata-entity/#key), all with a lowercase first character. +Here, `employee` is the entity's [exposed name](/refguide10/published-odata-entity/#exposed-data), `name` is the [exposed attribute name](/refguide10/published-odata-attribute/#exposed-name), and `userName` is the entity's string [key](/refguide10/published-odata-entity/#key), all with a lowercase first character. ## Retrieving Associated Objects diff --git a/content/en/docs/refguide10/modeling/integration/odata-services/published-odata-services/supported-odata-operations.md b/content/en/docs/refguide10/modeling/integration/odata-services/published-odata-services/supported-odata-operations.md index 2c7aa979bb7..c5e7182c8f5 100644 --- a/content/en/docs/refguide10/modeling/integration/odata-services/published-odata-services/supported-odata-operations.md +++ b/content/en/docs/refguide10/modeling/integration/odata-services/published-odata-services/supported-odata-operations.md @@ -1,10 +1,10 @@ --- title: "Supported OData Operations" -url: /refguide/supported-odata-operations/ +url: /refguide10/supported-odata-operations/ description: "Lists the supported operations for published OData services." weight: 40 aliases: - - /refguide/odata-query-options/ + - /refguide10/odata-query-options/ --- ## Introduction @@ -15,9 +15,9 @@ This is a list of supported operations for OData services. Mendix currently supports only the operations described here. {{% /alert %}} -A published OData service is automatically documented. Studio Pro allows you to [export the OpenAPI specification](/refguide/published-odata-services/#openapi), which is a machine-readable file that is supported by most API tools, like Swagger UI and Postman. +A published OData service is automatically documented. Studio Pro allows you to [export the OpenAPI specification](/refguide10/published-odata-services/#openapi), which is a machine-readable file that is supported by most API tools, like Swagger UI and Postman. -When running your app, you can [use Swagger UI](/refguide/build-odata-apis/#contract-and-test) to read this documentation and test your service. +When running your app, you can [use Swagger UI](/refguide10/build-odata-apis/#contract-and-test) to read this documentation and test your service. Below is a more descriptive explanation of the operations that a published OData service supports. @@ -120,7 +120,7 @@ You can filter on the attributes of an associated entity. The syntax depends on | Filter on an associated object | `People?$filter=BirthPlace/CityName eq 'Rotterdam'` | | Filter on an associated list | `City?$filter=BornIn/any(person:person/Year le 1919)` | -Filtering on an associated object or list in this way is possible only when you [expose associations as a link](/refguide/odata-representation/#associations). It is not possible when you expose associations as an associated object ID. +Filtering on an associated object or list in this way is possible only when you [expose associations as a link](/refguide10/odata-representation/#associations). It is not possible when you expose associations as an associated object ID. ##### Arithmetic Operators @@ -174,7 +174,7 @@ The request body must adhere to URL encoding principles; that means that everyth ### Updating Attributes -When a published entity has the [Updatable](/refguide/published-odata-entity/#updatable) capability, you can update attributes and associations by sending a `PATCH` request to the URL of the object. Here is an example: `PATCH /odata/myservice/v1/Employees(8444249301330581)`. +When a published entity has the [Updatable](/refguide10/published-odata-entity/#updatable) capability, you can update attributes and associations by sending a `PATCH` request to the URL of the object. Here is an example: `PATCH /odata/myservice/v1/Employees(8444249301330581)`. Specify new values for attributes in the body of the request. Here is an example: @@ -232,12 +232,12 @@ When the association refers to multiple objects, use the `@delta` syntax to add ``` {{% alert color="info" %}} -You can update an association only from the entity that is the [owner](/refguide/associations/#ownership). +You can update an association only from the entity that is the [owner](/refguide10/associations/#ownership). {{% /alert %}} ## Inserting Objects {#inserting-objects} -When a published entity has the [Insertable](/refguide/published-odata-entity/#capabilities) capability, you can create new objects by sending a `POST` request to the URL of the entity set. Here is an example: `POST /odata/myservice/v1/Employees`. +When a published entity has the [Insertable](/refguide10/published-odata-entity/#capabilities) capability, you can create new objects by sending a `POST` request to the URL of the entity set. Here is an example: `POST /odata/myservice/v1/Employees`. The body of the request may specify attribute and association values, just as with updates. However, unlike with updates, the `@delta` syntax is not used to specify objects, even when the association refers to multiple objects. Here is an example: @@ -250,11 +250,11 @@ The body of the request may specify attribute and association values, just as wi } ``` -You can set values for an association only from the entity that is the [owner](/refguide/associations/#ownership). +You can set values for an association only from the entity that is the [owner](/refguide10/associations/#ownership). ## Deleting Objects {#deleting-objects} -When a published entity has the [Deletable](/refguide/published-odata-entity/#deletable) capability, you can delete an object by sending a `DELETE` request to the URL of the object (for example, `PATCH /odata/myservice/v1/Employees(8444249301330581)`). +When a published entity has the [Deletable](/refguide10/published-odata-entity/#deletable) capability, you can delete an object by sending a `DELETE` request to the URL of the object (for example, `PATCH /odata/myservice/v1/Employees(8444249301330581)`). ## Calling Microflows {#actions} @@ -262,7 +262,7 @@ When a published entity has the [Deletable](/refguide/published-odata-entity/#de To call microflows that are published in your OData service, send a `POST` request to the action's endpoint URL (for example, `POST /odata/myservice/v1/OnboardNewEmployee`). -The endpoint URL is defined by the base URL of the OData service and the exposed name of the microflow. To find an example URL, you can open the [Edit published microflow](/refguide/published-odata-microflow/#edit-microflow) dialog box and look at the **Example of location** property. +The endpoint URL is defined by the base URL of the OData service and the exposed name of the microflow. To find an example URL, you can open the [Edit published microflow](/refguide10/published-odata-microflow/#edit-microflow) dialog box and look at the **Example of location** property. ### Passing Arguments in the Request Body @@ -341,7 +341,7 @@ If the return value is an entity or a list of entities, it is possible to retrie For example, imagine your microflow **FindEmployee** returning an entity **Employee**, that has an association to **Address**. You could retrieve the associated Address object by passing `/odata/myservice/v1/FindEmployee?$expand=Address`. {{% alert type="info" %}} -The functionality for [publishing microflows in your OData service](/refguide/published-odata-microflow/) was introduced in Studio Pro [10.2.0](/releasenotes/studio-pro/10.2/). +The functionality for [publishing microflows in your OData service](/refguide10/published-odata-microflow/) was introduced in Studio Pro [10.2.0](/releasenotes/studio-pro/10.2/). Support for publishing entities without the **Readable** capability was introduced in Studio Pro [10.8.0](/releasenotes/studio-pro/10.8/). Retrieving associated objects using the `$expand` query parameter is supported in Studio Pro [10.12.0](/releasenotes/studio-pro/10.12/) and later. {{% /alert %}} diff --git a/content/en/docs/refguide10/modeling/integration/odata-services/security-authentication.md b/content/en/docs/refguide10/modeling/integration/odata-services/security-authentication.md index fb20715e7f4..c6aab3292f1 100644 --- a/content/en/docs/refguide10/modeling/integration/odata-services/security-authentication.md +++ b/content/en/docs/refguide10/modeling/integration/odata-services/security-authentication.md @@ -1,17 +1,17 @@ --- title: "Security and Shared Datasets" -url: /refguide/security-shared-datasets/ +url: /refguide10/security-shared-datasets/ weight: 75 --- ## Introduction -For Mendix apps that publish or consume [external entities](/refguide/external-entities/) and/or actions (abstracted OData services), the following security is applied: +For Mendix apps that publish or consume [external entities](/refguide10/external-entities/) and/or actions (abstracted OData services), the following security is applied: * The security for the OData service is defined in the publishing app at the app, module, and entity or microflow level * The security that is defined at the module level will apply to the OData services that are published from the module and enforced when the entities or microflows from the service are used in a consuming app when end-users try to access them - {{% alert color="info" %}}The security for an OData service can only be set if the [app security](/refguide/app-security/) is enabled.{{% /alert %}} + {{% alert color="info" %}}The security for an OData service can only be set if the [app security](/refguide10/app-security/) is enabled.{{% /alert %}} * Classification of the data associated with the entities is defined in the service metadata and shown in the [Service Metadata](/catalog/manage/search/#metadata) panel of the **Search Details** screen of the [Catalog](/catalog/). @@ -19,7 +19,7 @@ For Mendix apps that publish or consume [external entities](/refguide/external-e * On the Mendix Platform, this is [Mendix SSO](/developerportal/deploy/mendix-sso/), but it can also be the organization's identification protocol -* Access in the app publishing the external entities and actions can be [defined in Studio Pro](/refguide/published-odata-services/#security) as follows: +* Access in the app publishing the external entities and actions can be [defined in Studio Pro](/refguide10/published-odata-services/#security) as follows: * None * Basic authentication on the user name and password @@ -27,7 +27,7 @@ For Mendix apps that publish or consume [external entities](/refguide/external-e * When app security has been enabled, entity access rules are enforced when executing published microflows and for entities that are not published in the OData service. -For further details, see the [Entity Access](/refguide/module-security/#entity-access) section of *Module Security*. +For further details, see the [Entity Access](/refguide10/module-security/#entity-access) section of *Module Security*. ## Using Custom HTTP Header Validation for Published Entities {#http-header-validation} diff --git a/content/en/docs/refguide10/modeling/integration/rest-services/_index.md b/content/en/docs/refguide10/modeling/integration/rest-services/_index.md index b1a78187623..4a7e4a53019 100644 --- a/content/en/docs/refguide10/modeling/integration/rest-services/_index.md +++ b/content/en/docs/refguide10/modeling/integration/rest-services/_index.md @@ -1,6 +1,6 @@ --- title: "REST Services" -url: /refguide/integration/rest-services/ +url: /refguide10/integration/rest-services/ weight: 30 description: "Introduces REST services." --- @@ -15,12 +15,12 @@ Representational state transfer (REST) is an approach to consuming or exposing r Lack of contracts and schemas give you an easy start to using REST. However, many REST endpoints return complex data. -The [JSON Structure](/refguide/json-structures/) document helps to give structure to JSON data. From an example JSON snippet, a lightweight schema is extracted that is used in [Mapping Documents](/refguide/mapping-documents/). -The [Import Mapping](/refguide/import-mappings/) document converts JSON (or XML) to Mendix objects, and the [Export Mapping](/refguide/export-mappings/) document serializes Mendix objects to JSON (or XML). +The [JSON Structure](/refguide10/json-structures/) document helps to give structure to JSON data. From an example JSON snippet, a lightweight schema is extracted that is used in [Mapping Documents](/refguide10/mapping-documents/). +The [Import Mapping](/refguide10/import-mappings/) document converts JSON (or XML) to Mendix objects, and the [Export Mapping](/refguide10/export-mappings/) document serializes Mendix objects to JSON (or XML). ## Content Types {#content-types} -Content types are included in [custom HTTP headers](/refguide/call-rest-action/#custom-http-headers) to specify the output of the call, including media type or data format. For more information on content types, see [Content Negotiation in REST](https://restfulapi.net/content-negotiation/). +Content types are included in [custom HTTP headers](/refguide10/call-rest-action/#custom-http-headers) to specify the output of the call, including media type or data format. For more information on content types, see [Content Negotiation in REST](https://restfulapi.net/content-negotiation/). ## JSON @@ -46,13 +46,13 @@ REST calls that output JSON need to declare the [content type](#content-types) a To publish REST services, see: -* [Published REST Services](/refguide/published-rest-services/), an overview in the Studio Pro guide +* [Published REST Services](/refguide10/published-rest-services/), an overview in the Studio Pro guide * [Publish a REST Service](/howto/integration/publish-rest-service/) for step-by-step instructions -* [HttpRequest and HttpResponse System Entities](/refguide/http-request-and-response-entities/), an overview of these system entities in your domain model +* [HttpRequest and HttpResponse System Entities](/refguide10/http-request-and-response-entities/), an overview of these system entities in your domain model To consume REST services, see: -* [Consumed REST Service](/refguide/consumed-rest-service/), an overview on how to Consume a REST Service -* [Call REST Service](/refguide/call-rest-action/), a description of the microflow action -* [Use Call REST Service Action in a Microflow](/refguide/integration/use-call-rest-action-in-microflow/), instructions on how to use the Call REST Service action in a microflow -* [HttpRequest and HttpResponse System Entities](/refguide/http-request-and-response-entities/), an overview of these system entities in your domain model +* [Consumed REST Service](/refguide10/consumed-rest-service/), an overview on how to Consume a REST Service +* [Call REST Service](/refguide10/call-rest-action/), a description of the microflow action +* [Use Call REST Service Action in a Microflow](/refguide10/integration/use-call-rest-action-in-microflow/), instructions on how to use the Call REST Service action in a microflow +* [HttpRequest and HttpResponse System Entities](/refguide10/http-request-and-response-entities/), an overview of these system entities in your domain model diff --git a/content/en/docs/refguide10/modeling/integration/rest-services/consumed-rest-services/_index.md b/content/en/docs/refguide10/modeling/integration/rest-services/consumed-rest-services/_index.md index 8e3a9fd17cf..4450f24da45 100644 --- a/content/en/docs/refguide10/modeling/integration/rest-services/consumed-rest-services/_index.md +++ b/content/en/docs/refguide10/modeling/integration/rest-services/consumed-rest-services/_index.md @@ -1,6 +1,6 @@ --- title: "Consumed REST Service" -url: /refguide/consumed-rest-services/ +url: /refguide10/consumed-rest-services/ description: "Presents an overview of consumed REST services and JSON in Mendix." weight: 15 #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. @@ -12,8 +12,8 @@ Mendix offers different features which allow you to interact with any REST API. ## Documents in This Category -* [Consumed REST Services](/refguide/consumed-rest-service/), an overview on how to Consume a REST Service document -* [Import an OpenAPI/Swagger contract](/refguide/consumed-rest-service/#installation), instructions on how to create a Consumed REST Service from an OpenAPI/Swagger contract -* [Call REST Service](/refguide/call-rest-action/), a description of the microflow action -* [Use Call REST Service Action in a Microflow](/refguide/integration/use-call-rest-action-in-microflow/), instructions on how to use the Call REST Service action in a microflow -* [HttpRequest and HttpResponse System Entities](/refguide/http-request-and-response-entities/), an overview of these system entities in your domain model +* [Consumed REST Services](/refguide10/consumed-rest-service/), an overview on how to Consume a REST Service document +* [Import an OpenAPI/Swagger contract](/refguide10/consumed-rest-service/#installation), instructions on how to create a Consumed REST Service from an OpenAPI/Swagger contract +* [Call REST Service](/refguide10/call-rest-action/), a description of the microflow action +* [Use Call REST Service Action in a Microflow](/refguide10/integration/use-call-rest-action-in-microflow/), instructions on how to use the Call REST Service action in a microflow +* [HttpRequest and HttpResponse System Entities](/refguide10/http-request-and-response-entities/), an overview of these system entities in your domain model diff --git a/content/en/docs/refguide10/modeling/integration/rest-services/consumed-rest-services/consumed-rest-service.md b/content/en/docs/refguide10/modeling/integration/rest-services/consumed-rest-services/consumed-rest-service.md index 5ed846ca660..e5600bec175 100644 --- a/content/en/docs/refguide10/modeling/integration/rest-services/consumed-rest-services/consumed-rest-service.md +++ b/content/en/docs/refguide10/modeling/integration/rest-services/consumed-rest-services/consumed-rest-service.md @@ -1,10 +1,10 @@ --- title: "Consumed REST Service" -url: /refguide/consumed-rest-service/ +url: /refguide10/consumed-rest-service/ description: "Describes the configuration and usage of the new Consumed REST service document." weight: 5 aliases: - - /refguide/consumed-rest-services-beta + - /refguide10/consumed-rest-services-beta #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. --- @@ -153,7 +153,7 @@ You can add a Base URL as a parameter. To do this, follow these steps: {{< figure src="/attachments/refguide10/modeling/integration/consumed-rest-service/dynamic-base-url.png" class="no-border" width="600" >}} -Your base URL is now considered as a parameter. You can change its value in the [Send REST Request](/refguide/send-rest-request/) microflow activity. +Your base URL is now considered as a parameter. You can change its value in the [Send REST Request](/refguide10/send-rest-request/) microflow activity. ### Adding Headers {#add-headers} @@ -234,7 +234,7 @@ You can choose to flatten and simplify the structure of your response. Enable th When the response is not in JSON format, it cannot be converted automatically into entities. Instead, you can extract the data in a microflow. -When the [Send REST request](/refguide/send-rest-request/) action is executed in a microflow, it places the result into the variable `latestHttpResponse`. In `latestHttpResponse`, you can find the `StatusCode` and `Content` of the request that was made. From here, you can use microflow logic to extract the information. For example, if the response has XML formatting, you can use [Import Mapping](/refguide/import-mappings/) to read the data. +When the [Send REST request](/refguide10/send-rest-request/) action is executed in a microflow, it places the result into the variable `latestHttpResponse`. In `latestHttpResponse`, you can find the `StatusCode` and `Content` of the request that was made. From here, you can use microflow logic to extract the information. For example, if the response has XML formatting, you can use [Import Mapping](/refguide10/import-mappings/) to read the data. ### Simplifying and Flattening Response Data {#simplify-and-flatten} @@ -248,7 +248,7 @@ By default, simplification and flattening is enabled. To change this, uncheck th To select a request in the microflow, complete the following steps: -1. Create a new microflow and drag the [Send REST request](/refguide/send-rest-request/) activity into it. +1. Create a new microflow and drag the [Send REST request](/refguide10/send-rest-request/) activity into it. 2. Double-click the activity and click **Select** to choose the request you want to add, then click **Select** > **OK**. {{< figure src="/attachments/refguide10/modeling/integration/consumed-rest-service/send-request-activity.png" class="no-border" width="500" >}} diff --git a/content/en/docs/refguide10/modeling/integration/rest-services/consumed-rest-services/server-side-paging.md b/content/en/docs/refguide10/modeling/integration/rest-services/consumed-rest-services/server-side-paging.md index 91d20f385aa..bc4d9680adf 100644 --- a/content/en/docs/refguide10/modeling/integration/rest-services/consumed-rest-services/server-side-paging.md +++ b/content/en/docs/refguide10/modeling/integration/rest-services/consumed-rest-services/server-side-paging.md @@ -1,7 +1,7 @@ --- title: "Server-Side Paging and Sorting for a Microflow Data Source" linktitle: "Server-Side Paging and Sorting" -url: /refguide/server-side-paging/ +url: /refguide10/server-side-paging/ weight: 30 description: "Describes how to create a data grid with a microflow data source which retrieves data from a REST service, and then add server-side paging and sorting to it." aliases: @@ -218,7 +218,7 @@ Deploy your app again and navigate to the page with your data grid. Enter a valu ## Read More -* [REST Services](/refguide/integration/rest-services/) -* [JSON Structures Guide](/refguide/json-structures/) -* [Consumed REST Service](/refguide/consumed-rest-service/) -* [Use Call REST Service Action in a Microflow](/refguide/integration/use-call-rest-action-in-microflow/) +* [REST Services](/refguide10/integration/rest-services/) +* [JSON Structures Guide](/refguide10/json-structures/) +* [Consumed REST Service](/refguide10/consumed-rest-service/) +* [Use Call REST Service Action in a Microflow](/refguide10/integration/use-call-rest-action-in-microflow/) diff --git a/content/en/docs/refguide10/modeling/integration/rest-services/consumed-rest-services/use-call-rest-action-in-microflow.md b/content/en/docs/refguide10/modeling/integration/rest-services/consumed-rest-services/use-call-rest-action-in-microflow.md index 73cffa3691f..8fa36cd6a60 100644 --- a/content/en/docs/refguide10/modeling/integration/rest-services/consumed-rest-services/use-call-rest-action-in-microflow.md +++ b/content/en/docs/refguide10/modeling/integration/rest-services/consumed-rest-services/use-call-rest-action-in-microflow.md @@ -1,6 +1,6 @@ --- title: "Use Call REST Service Action in a Microflow" -url: /refguide/integration/use-call-rest-action-in-microflow/ +url: /refguide10/integration/use-call-rest-action-in-microflow/ weight: 15 description: "Describes how to integrate an existing system or a legacy system into a Mendix app by calling a REST service in a microflow." description: "Describes how to get information from a REST service." @@ -25,7 +25,7 @@ The steps below use Studio Pro as an example of what the REST service returns: 1. Open your browser and go to [https://en.wikipedia.org/api/rest_v1/page/summary/Tahiti](https://en.wikipedia.org/api/rest_v1/page/summary/Tahiti). This calls the REST service with a `GET` request. The result is the summary of the [Tahiti page on Wikipedia](https://en.wikipedia.org/wiki/Tahiti) in JSON format. 2. Copy the whole JSON snippet. 3. Create a module and name it *RESTconsume*. -4. Add the new [JSON structure](/refguide/json-structures/) to your module by right-clicking the module in the **App Explorer** and selecting **Add other** > **JSON structure**. +4. Add the new [JSON structure](/refguide10/json-structures/) to your module by right-clicking the module in the **App Explorer** and selecting **Add other** > **JSON structure**. 5. Enter *JSON_structure* in the **Name** field and click **OK**. 6. In the **JSON Structure** dialog box, paste the JSON snippet in the **General** tab and click **Refresh** in the **Structure** section. This analyzes the structure of the JSON snippet and provides a representation of it. @@ -35,7 +35,7 @@ The steps below use Studio Pro as an example of what the REST service returns: ## Creating an Import Mapping {#create-import-mapping} -An [import mapping](/refguide/import-mappings/) specifies how the JSON relates to [entities](/refguide/entities/). You can map the JSON to any entity you like. The following steps describe how to generate the entities and create an import mapping: +An [import mapping](/refguide10/import-mappings/) specifies how the JSON relates to [entities](/refguide10/entities/). You can map the JSON to any entity you like. The following steps describe how to generate the entities and create an import mapping: 1. Right-click the module in the **App Explorer** and select **Add other** > **Import Mapping**. 2. Enter *Import_mapping* in the **Name** field and click **OK**. @@ -78,7 +78,7 @@ To add an input entity to the domain model, follow these steps: ## Calling the REST Service in a Microflow {#call-microflow} -You will now call the REST service in a [microflow](/refguide/microflows/) to build the integration with Wikipedia. The input parameter for the microflow is **Input**, which is associated with **Summary**. +You will now call the REST service in a [microflow](/refguide10/microflows/) to build the integration with Wikipedia. The input parameter for the microflow is **Input**, which is associated with **Summary**. To call the REST service in a microflow, follow these steps: @@ -164,4 +164,4 @@ You can now start your app and get summaries from Wikipedia. * [Import Excel Documents](/howto/integration/importing-excel-documents/) * [Expose a Web Service](/howto/integration/expose-a-web-service/) * [Expose Data to BI Tools Using OData](/howto/integration/exposing-data-to-bi-tools-using-odata/) -* [Security Considerations](/refguide/call-rest-action/#security) +* [Security Considerations](/refguide10/call-rest-action/#security) diff --git a/content/en/docs/refguide10/modeling/integration/rest-services/http-request-and-response-entities.md b/content/en/docs/refguide10/modeling/integration/rest-services/http-request-and-response-entities.md index ad333896a07..ec0ac57e687 100644 --- a/content/en/docs/refguide10/modeling/integration/rest-services/http-request-and-response-entities.md +++ b/content/en/docs/refguide10/modeling/integration/rest-services/http-request-and-response-entities.md @@ -1,12 +1,12 @@ --- title: "HttpRequest and HttpResponse System Entities" -url: /refguide/http-request-and-response-entities/ +url: /refguide10/http-request-and-response-entities/ weight: 45 --- ## Introduction -`HttpRequest` is a system entity that represents a request to a server. `HttpResponse` represents the response from the server. Use these entities when [publishing](/refguide/published-rest-services/) or [consuming](/refguide/consumed-rest-services/) REST services. +`HttpRequest` is a system entity that represents a request to a server. `HttpResponse` represents the response from the server. Use these entities when [publishing](/refguide10/published-rest-services/) or [consuming](/refguide10/consumed-rest-services/) REST services. {{< figure src="/attachments/refguide10/modeling/integration/http-request-and-response-entities/http-request-and-response-domain-model.png" class="no-border" >}} diff --git a/content/en/docs/refguide10/modeling/integration/rest-services/integrating-a-legacy-system-into-a-mendix-app.md b/content/en/docs/refguide10/modeling/integration/rest-services/integrating-a-legacy-system-into-a-mendix-app.md index 12372e9a8ee..85b2e19f245 100644 --- a/content/en/docs/refguide10/modeling/integration/rest-services/integrating-a-legacy-system-into-a-mendix-app.md +++ b/content/en/docs/refguide10/modeling/integration/rest-services/integrating-a-legacy-system-into-a-mendix-app.md @@ -1,7 +1,7 @@ --- title: "Integrate a Legacy System into a Mendix App" linktitle: "Integrate Legacy System" -url: /refguide/integrate-a-legacy-system/ +url: /refguide10/integrate-a-legacy-system/ weight: 50 description: "Describes how to assess potential options for integrating an existing system with a Mendix app and how to integrate with a legacy system using REST." aliases: @@ -21,9 +21,9 @@ This how-to teaches you how to do the following: Before starting this how-to, make sure you have completed the following prerequisites: -* Know how to create domain models (for details, see [Configuring a Domain Model](/refguide/configuring-a-domain-model/)) +* Know how to create domain models (for details, see [Configuring a Domain Model](/refguide10/configuring-a-domain-model/)) * Know how to create overview and detail pages (for details, see [How to Create Your First Two Overview and Detail Pages](/howto/front-end/create-your-first-two-overview-and-detail-pages/)) -* Know how to create microflows (for details, see [How to Build Your First Microflow: Hello world!](/refguide/triggering-microflow-from-menu-item/)) +* Know how to create microflows (for details, see [How to Build Your First Microflow: Hello world!](/refguide10/triggering-microflow-from-menu-item/)) * Understand the concepts behind REST and web services (for more information, see [How to Consume a Complex Web Service](/howto/integration/consume-a-complex-web-service/)) * Creating an exposed REST service on top of your legacy system is beyond the scope of this tutorial; for instructions on how to accomplish this, refer to the configuration of your non-Mendix Platform @@ -42,7 +42,7 @@ For this how-to, we will use the publicly available Google Books API (for detail 1. Construct the appropriate data model for this JSON. - {{% alert color="warning" %}}Every REST service will have a different specific JSON structure. For details on how to build JSON data structures in Mendix, see [JSON Structures](/refguide/json-structures/).{{% /alert %}} + {{% alert color="warning" %}}Every REST service will have a different specific JSON structure. For details on how to build JSON data structures in Mendix, see [JSON Structures](/refguide10/json-structures/).{{% /alert %}} 2. Create a non-persistable search entity called **BookSearch** that allows the user to enter an author and title. This should be linked to a second object: diff --git a/content/en/docs/refguide10/modeling/integration/rest-services/published-rest-services/_index.md b/content/en/docs/refguide10/modeling/integration/rest-services/published-rest-services/_index.md index a494cff52d0..554399543f2 100644 --- a/content/en/docs/refguide10/modeling/integration/rest-services/published-rest-services/_index.md +++ b/content/en/docs/refguide10/modeling/integration/rest-services/published-rest-services/_index.md @@ -1,6 +1,6 @@ --- title: "Published REST Services" -url: /refguide/published-rest-services/ +url: /refguide10/published-rest-services/ weight: 20 description: "An overview of published REST services from Mendix apps" # 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. @@ -9,37 +9,37 @@ description: "An overview of published REST services from Mendix apps" ## Introduction -Add a [published REST service](/refguide/published-rest-service/) to expose your entities and microflows to other apps using the REST standard. +Add a [published REST service](/refguide10/published-rest-service/) to expose your entities and microflows to other apps using the REST standard. ## Published REST Service -Expose an entity via REST by right-clicking the entity in the [domain model](/refguide/domain-model/) and selecting [Expose as REST resource](/refguide/generate-rest-resource/). +Expose an entity via REST by right-clicking the entity in the [domain model](/refguide10/domain-model/) and selecting [Expose as REST resource](/refguide10/generate-rest-resource/). -To publish a microflow as a REST operation, right-click anywhere in the editor and select [Publish as REST service operation](/refguide/publish-microflow-as-rest-operation/). +To publish a microflow as a REST operation, right-click anywhere in the editor and select [Publish as REST service operation](/refguide10/publish-microflow-as-rest-operation/). -For an overview of the available options when you add a published service, see [Published REST Service](/refguide/published-rest-service/). +For an overview of the available options when you add a published service, see [Published REST Service](/refguide10/published-rest-service/). ## Authentication {#authorization} -Published REST services can be secured with basic authentication, active session authentication, and custom authentication. Basic and active session authentication are the default and are automatically applied when you set the [security level](/refguide/app-security/) of your app to **Prototype / demo** or **Production**. +Published REST services can be secured with basic authentication, active session authentication, and custom authentication. Basic and active session authentication are the default and are automatically applied when you set the [security level](/refguide10/app-security/) of your app to **Prototype / demo** or **Production**. If you do not want basic authentication, there are three options: -* You can use [no authentication](/refguide/published-rest-service/#authentication) for specific published REST services. -* When you [allow anonymous users](/refguide/app-security/#anonymous-users) to your app, published REST services become available without authentication. This only applies if the anonymous user has been selected for the allowed roles for the published service, and **Username and password** has been selected as the authentication method. -* You can implement [custom authentication using a microflow](/refguide/published-rest-service/#authentication-microflow). +* You can use [no authentication](/refguide10/published-rest-service/#authentication) for specific published REST services. +* When you [allow anonymous users](/refguide10/app-security/#anonymous-users) to your app, published REST services become available without authentication. This only applies if the anonymous user has been selected for the allowed roles for the published service, and **Username and password** has been selected as the authentication method. +* You can implement [custom authentication using a microflow](/refguide10/published-rest-service/#authentication-microflow). {{% alert color="warning" %}} Web service users cannot access REST services. {{% /alert %}} -For more details, see [Published REST Routing](/refguide/published-rest-routing/) and the [Requires Authentication](/refguide/published-rest-service/#authentication) section in *Published REST Service*. +For more details, see [Published REST Routing](/refguide10/published-rest-routing/) and the [Requires Authentication](/refguide10/published-rest-service/#authentication) section in *Published REST Service*. ## Documentation {#interactive-documentation} -Every [published REST service](/refguide/published-rest-service/) is automatically documented. This documentation is available in the app under `http://yourapp.com/rest-doc/`. Each service has an interactive documentation page using [Swagger UI](https://swagger.io/swagger-ui/). You can interact with the service to see how it behaves. +Every [published REST service](/refguide10/published-rest-service/) is automatically documented. This documentation is available in the app under `http://yourapp.com/rest-doc/`. Each service has an interactive documentation page using [Swagger UI](https://swagger.io/swagger-ui/). You can interact with the service to see how it behaves. -The documentation of the services is available in the [OpenAPI 3.0](/refguide/open-api/) and [OpenAPI 2.0](/refguide/open-api-2/) formats, which is readable by many systems and tools. It contains [JSON Schemas](/refguide/published-rest-service-json-schema/) for the messages definitions. +The documentation of the services is available in the [OpenAPI 3.0](/refguide10/open-api/) and [OpenAPI 2.0](/refguide10/open-api-2/) formats, which is readable by many systems and tools. It contains [JSON Schemas](/refguide10/published-rest-service-json-schema/) for the messages definitions. {{% alert color="info" %}} Exporting OpenAPI documentation in version 3.0 of the specification was introduced in Studio Pro [10.1.0](/releasenotes/studio-pro/10.1/). @@ -47,4 +47,4 @@ Exporting OpenAPI documentation in version 3.0 of the specification was introduc ## Logging -To log detailed information about interaction with your published REST service, [set the log level](/refguide/logging/) of the **REST Publish** log node to **Trace**. +To log detailed information about interaction with your published REST service, [set the log level](/refguide10/logging/) of the **REST Publish** log node to **Trace**. diff --git a/content/en/docs/refguide10/modeling/integration/rest-services/published-rest-services/generate-rest-resource.md b/content/en/docs/refguide10/modeling/integration/rest-services/published-rest-services/generate-rest-resource.md index 813bf052dcb..daacb8ef851 100644 --- a/content/en/docs/refguide10/modeling/integration/rest-services/published-rest-services/generate-rest-resource.md +++ b/content/en/docs/refguide10/modeling/integration/rest-services/published-rest-services/generate-rest-resource.md @@ -1,6 +1,6 @@ --- title: "Generating a Published REST Resource" -url: /refguide/generate-rest-resource/ +url: /refguide10/generate-rest-resource/ weight: 20 description: "Generate a published REST resource from an entity" # 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. @@ -9,7 +9,7 @@ description: "Generate a published REST resource from an entity" ## Introduction -You can publish a REST resource with basic operations based on an entity by right-clicking an entity in the domain model and selecting **Expose as REST resource**. Alternatively, you can drag an entity or [message definition](/refguide/message-definitions/) onto the list of resources of a published REST service. This page describes the options you have once you perform one of these actions. +You can publish a REST resource with basic operations based on an entity by right-clicking an entity in the domain model and selecting **Expose as REST resource**. Alternatively, you can drag an entity or [message definition](/refguide10/message-definitions/) onto the list of resources of a published REST service. This page describes the options you have once you perform one of these actions. ## REST Service @@ -41,7 +41,7 @@ When you click **OK**, the following items are created: * All the operations you selected * A microflow for each operation * A message definition -* An [import mapping](/refguide/import-mappings/) (for the `POST` and `PATCH` operations) -* An [export mapping](/refguide/export-mappings/) (for the **Get all** and **Get by key** operations) +* An [import mapping](/refguide10/import-mappings/) (for the `POST` and `PATCH` operations) +* An [export mapping](/refguide10/export-mappings/) (for the **Get all** and **Get by key** operations) If you have already created a message definition for the entity, that message definition will be reused. Existing import and export mappings based on that message definition will also be reused. diff --git a/content/en/docs/refguide10/modeling/integration/rest-services/published-rest-services/publish-microflow-as-rest-operation.md b/content/en/docs/refguide10/modeling/integration/rest-services/published-rest-services/publish-microflow-as-rest-operation.md index e163839556f..31cd19b23c0 100644 --- a/content/en/docs/refguide10/modeling/integration/rest-services/published-rest-services/publish-microflow-as-rest-operation.md +++ b/content/en/docs/refguide10/modeling/integration/rest-services/published-rest-services/publish-microflow-as-rest-operation.md @@ -1,7 +1,7 @@ --- title: "Publishing a Microflow as a REST Operation" linktitle: "Publish Microflow as REST Operation" -url: /refguide/publish-microflow-as-rest-operation/ +url: /refguide10/publish-microflow-as-rest-operation/ weight: 30 description: "How to publish a Microflow as a REST Operation" # 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. diff --git a/content/en/docs/refguide10/modeling/integration/rest-services/published-rest-services/published-rest-service/_index.md b/content/en/docs/refguide10/modeling/integration/rest-services/published-rest-services/published-rest-service/_index.md index 5e216973191..8efb9f8c387 100644 --- a/content/en/docs/refguide10/modeling/integration/rest-services/published-rest-services/published-rest-service/_index.md +++ b/content/en/docs/refguide10/modeling/integration/rest-services/published-rest-services/published-rest-service/_index.md @@ -1,6 +1,6 @@ --- title: "Published REST Service" -url: /refguide/published-rest-service/ +url: /refguide10/published-rest-service/ weight: 10 description: "Configuration options for a published REST service" --- @@ -15,13 +15,13 @@ This document describes the published REST service configuration options shown w ### Service Name {#service-name} -The service name uniquely identifies the service in the app. It is also displayed in [OpenAPI (Swagger) documentation page](/refguide/open-api/). +The service name uniquely identifies the service in the app. It is also displayed in [OpenAPI (Swagger) documentation page](/refguide10/open-api/). When a service is initially created, service name is used in the creation of the default location for the service. If the service name contains any spaces or special characters, they will be replaced with the `_` character in the service location. ### Version -Version is used to display version information in [OpenAPI (Swagger) documentation page](/refguide/open-api/). You can set any string in the version field, but it is recommended to follow [semantic versioning](https://semver.org/) scheme. +Version is used to display version information in [OpenAPI (Swagger) documentation page](/refguide10/open-api/). You can set any string in the version field, but it is recommended to follow [semantic versioning](https://semver.org/) scheme. By default, version is set to "1.0.0". @@ -39,15 +39,15 @@ http://localhost:8080/rest/my_service_name/v1 The URL prefixes `api-doc/`, `xas/`, `p/`, and `reload/` are reserved and cannot be used at the start of the location. Otherwise, you can change the location to any valid URL. -When your application is running, you can click the location to open the [interactive documentation page](/refguide/published-rest-services/#interactive-documentation). +When your application is running, you can click the location to open the [interactive documentation page](/refguide10/published-rest-services/#interactive-documentation). ### Public Documentation {#public-documentation} -The public documentation is used in the service's [OpenAPI (Swagger) Documentation](/refguide/open-api/). You can use [GitHub-flavored markdown](/refguide/gfm-syntax/) for rich text. +The public documentation is used in the service's [OpenAPI (Swagger) Documentation](/refguide10/open-api/). You can use [GitHub-flavored markdown](/refguide10/gfm-syntax/) for rich text. ### Export OpenAPI Documentation {#export-openapi-documentation} -To save a service's [OpenAPI (Swagger) documentation](/refguide/open-api/) on your machine, right-click the service in the **App Explorer** and select **Export openapi.json** for the [OpenAPI 3.0 definition](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.1.md) of the REST service, or select **Export swagger.json** (or just click the **Export swagger.json** button, depending on your Studio Pro version) for the [OpenAPI 2.0 version](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/2.0.md). These are machine-readable files according to the OpenAPI Specification format. Most API tools support this format. +To save a service's [OpenAPI (Swagger) documentation](/refguide10/open-api/) on your machine, right-click the service in the **App Explorer** and select **Export openapi.json** for the [OpenAPI 3.0 definition](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.1.md) of the REST service, or select **Export swagger.json** (or just click the **Export swagger.json** button, depending on your Studio Pro version) for the [OpenAPI 2.0 version](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/2.0.md). These are machine-readable files according to the OpenAPI Specification format. Most API tools support this format. When the app is running, these files are available under */rest-doc/{location}/openapi.json* and */rest-doc/{location}/swagger.json*, where *{location}* is the location of the REST service (for instance, *rest/myservice/v1*). @@ -68,7 +68,7 @@ If authentication is required, you can select which authentication methods to su * Select **Username and password** to allow clients to authenticate themselves using a username and a password in the **Authorization** header (called "basic authentication") * Select **Active session** to allow access from JavaScript inside your current application * Once a user has logged into the browser, the JavaScript in your app can access the REST service using the current user's session -* [Offline-first](/refguide/offline-first/) apps cannot use active session authentication, because they do not have sessions that stay active while the app is running +* [Offline-first](/refguide10/offline-first/) apps cannot use active session authentication, because they do not have sessions that stay active while the app is running * To prevent cross-site request forgery, the `X-Csrf-Token` header needs to be set on each request, for example: ```javascript @@ -80,17 +80,17 @@ If authentication is required, you can select which authentication methods to su * Select **Custom** to authenticate using a microflow. This microflow is called every time a user wants to access a resource. -Check more than one authentication method to have the service try each of them. It will first try **Custom** authentication, then **Username and password**, and then **Active session**. For more details, see [Published REST Routing](/refguide/published-rest-routing/). +Check more than one authentication method to have the service try each of them. It will first try **Custom** authentication, then **Username and password**, and then **Active session**. For more details, see [Published REST Routing](/refguide10/published-rest-routing/). ### Microflow {#authentication-microflow} Specify which microflow to use for custom authentication. -Select **Parameters** to see the [list of parameters passed to the authentication microflow](/refguide/published-rest-authentication-parameter/). In that window, you can indicate whether the authentication microflow's parameters come from request headers or the query string. +Select **Parameters** to see the [list of parameters passed to the authentication microflow](/refguide10/published-rest-authentication-parameter/). In that window, you can indicate whether the authentication microflow's parameters come from request headers or the query string. -The microflow may take an [HttpRequest](/refguide/http-request-and-response-entities/#http-request) as a parameter, so it can inspect the incoming request. +The microflow may take an [HttpRequest](/refguide10/http-request-and-response-entities/#http-request) as a parameter, so it can inspect the incoming request. -The microflow may also take an [HttpResponse](/refguide/http-request-and-response-entities/#http-response) as a parameter. When the microflow sets the status code of this response to something other then **200**, this value is returned and the operation will not be executed. In that case, any headers set on the response are returned as well. +The microflow may also take an [HttpResponse](/refguide10/http-request-and-response-entities/#http-response) as a parameter. When the microflow sets the status code of this response to something other then **200**, this value is returned and the operation will not be executed. In that case, any headers set on the response are returned as well. The authentication microflow should return a User. @@ -102,7 +102,7 @@ There are three possible outcomes of the authentication microflow: ### Allowed Roles{#allowed-roles} -The allowed roles define which [module role](/refguide/module-security/#module-role) a user must have to be able to access the service. This option is only available when **Requires authentication** is set to **Yes**. +The allowed roles define which [module role](/refguide10/module-security/#module-role) a user must have to be able to access the service. This option is only available when **Requires authentication** is set to **Yes**. {{% alert color="warning" %}} Web service users cannot access REST services. @@ -112,11 +112,11 @@ Web service users cannot access REST services. Check this box when your service needs to be available on websites other than your own. -Click [Settings](/refguide/cors-settings/) to specify this access in more detail (for example, which websites are allowed to access the service). +Click [Settings](/refguide10/cors-settings/) to specify this access in more detail (for example, which websites are allowed to access the service). ## Resources -A REST service exposes a number of [resources](/refguide/published-rest-resource/). On a resource, you can define the following operations: +A REST service exposes a number of [resources](/refguide10/published-rest-resource/). On a resource, you can define the following operations: * `GET` * `PUT` @@ -126,11 +126,11 @@ A REST service exposes a number of [resources](/refguide/published-rest-resource * `HEAD` * `OPTIONS` -You can drag an entity or a message definition onto this list to [generate a complete resource](/refguide/generate-rest-resource/). +You can drag an entity or a message definition onto this list to [generate a complete resource](/refguide10/generate-rest-resource/). ## Operations -When you select a resource, you see the [operations](/refguide/published-rest-operation/) that are defined for that resource. +When you select a resource, you see the [operations](/refguide10/published-rest-operation/) that are defined for that resource. Resources and operations are appended to [Location](#location) to form a URL on which they can be accessed. @@ -138,4 +138,4 @@ Resources and operations are appended to [Location](#location) to form a URL on ## Read More -For more information on which operation is executed for a given request URL, see [Published REST Routing](/refguide/published-rest-routing/). +For more information on which operation is executed for a given request URL, see [Published REST Routing](/refguide10/published-rest-routing/). diff --git a/content/en/docs/refguide10/modeling/integration/rest-services/published-rest-services/published-rest-service/cors-settings.md b/content/en/docs/refguide10/modeling/integration/rest-services/published-rest-services/published-rest-service/cors-settings.md index 497f9920e6f..9ee81846470 100644 --- a/content/en/docs/refguide10/modeling/integration/rest-services/published-rest-services/published-rest-service/cors-settings.md +++ b/content/en/docs/refguide10/modeling/integration/rest-services/published-rest-services/published-rest-service/cors-settings.md @@ -1,6 +1,6 @@ --- title: "CORS Settings for Published REST Services" -url: /refguide/cors-settings/ +url: /refguide10/cors-settings/ weight: 60 description: "Additional options for controlling access to a published REST service" # 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. @@ -11,7 +11,7 @@ description: "Additional options for controlling access to a published REST serv Cross-Origin Resource Sharing (CORS) uses additional HTTP headers to tell a browser to give access to selected resources from a server in a different origin (domain). -When you enable CORS in a [published REST service](/refguide/published-rest-service/), you can specify which servers are allowed to access your service. +When you enable CORS in a [published REST service](/refguide10/published-rest-service/), you can specify which servers are allowed to access your service. ## Allowed Origins diff --git a/content/en/docs/refguide10/modeling/integration/rest-services/published-rest-services/published-rest-service/gfm-syntax.md b/content/en/docs/refguide10/modeling/integration/rest-services/published-rest-services/published-rest-service/gfm-syntax.md index d06ebfd9660..3daed837f9c 100644 --- a/content/en/docs/refguide10/modeling/integration/rest-services/published-rest-services/published-rest-service/gfm-syntax.md +++ b/content/en/docs/refguide10/modeling/integration/rest-services/published-rest-services/published-rest-service/gfm-syntax.md @@ -1,6 +1,6 @@ --- title: "GitHub-Flavored Markdown" -url: /refguide/gfm-syntax/ +url: /refguide10/gfm-syntax/ weight: 70 description: "Link to GitHub Guide to Mastering Markdown" # 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. diff --git a/content/en/docs/refguide10/modeling/integration/rest-services/published-rest-services/published-rest-service/publish-rest-service.md b/content/en/docs/refguide10/modeling/integration/rest-services/published-rest-services/published-rest-service/publish-rest-service.md index 85c4fd245eb..1df2a2f015d 100644 --- a/content/en/docs/refguide10/modeling/integration/rest-services/published-rest-services/published-rest-service/publish-rest-service.md +++ b/content/en/docs/refguide10/modeling/integration/rest-services/published-rest-services/published-rest-service/publish-rest-service.md @@ -1,6 +1,6 @@ --- title: "Publish a REST Service" -url: /refguide/publish-a-rest-service/ +url: /refguide10/publish-a-rest-service/ weight: 10 description: "Describes how to create a published REST service and return the results in JSON or XML." aliases: @@ -22,7 +22,7 @@ To set up the example app you will use in the next sections, follow these steps: {{< figure src="/attachments/refguide10/modeling/integration/publish-rest-service/domainmodel.png" alt="Many-to-one association from OrderItem to Order" class="no-border" >}} 4. [Generate overview and detail pages](/howto/front-end/create-your-first-two-overview-and-detail-pages/#create-automatically) for the **Order** and **OrderItem** entities. -5. [Add a data grid](/refguide/data-grid/) to the **Order_NewEdit** page. Set it to display the **OrderItem** objects from the database over an association: +5. [Add a data grid](/refguide10/data-grid/) to the **Order_NewEdit** page. Set it to display the **OrderItem** objects from the database over an association: {{< figure src="/attachments/refguide10/modeling/integration/publish-rest-service/DataGridSettings.png" alt="Data grid settings for the Order_NewEdit page" class="no-border" >}} @@ -86,7 +86,7 @@ To create the mapping, follow these steps: #### Building an Export Mapping (optional){#export-mapping} -The next steps explain how to ensure that outputs are generated in JSON. You can do this using [Export Mappings](/refguide/export-mappings/) or in a microflow. Creating an export mapping is not required because published REST services in Studio Pro support [content negotiation](https://nordicapis.com/content-negotiation/), which means the REST services let you select which media type you want to be returned to the server. +The next steps explain how to ensure that outputs are generated in JSON. You can do this using [Export Mappings](/refguide10/export-mappings/) or in a microflow. Creating an export mapping is not required because published REST services in Studio Pro support [content negotiation](https://nordicapis.com/content-negotiation/), which means the REST services let you select which media type you want to be returned to the server. {{% alert color="info" %}}You can follow the next steps in this document to learn how to set up export mapping, but note that you can also return the list of objects from the microflow. Studio Pro will export it in the desired format, as indicated by the `Accept` header. You can then specify if you want to receive XML or JSON. If you are using a microflow instead of export mappings, skip ahead to [Viewing the App](#viewing).{{% /alert %}} @@ -198,4 +198,4 @@ Now that you have covered the **OrderID** parameter error handling, it is time t ## Read More -* [Published REST Services](/refguide/published-rest-services/) – Information on creating published REST services (including `GET`, `POST`, and `DELETE` operations) +* [Published REST Services](/refguide10/published-rest-services/) – Information on creating published REST services (including `GET`, `POST`, and `DELETE` operations) diff --git a/content/en/docs/refguide10/modeling/integration/rest-services/published-rest-services/published-rest-service/published-rest-operation-parameter.md b/content/en/docs/refguide10/modeling/integration/rest-services/published-rest-services/published-rest-service/published-rest-operation-parameter.md index 73f1659cf85..0bad7eb50b6 100644 --- a/content/en/docs/refguide10/modeling/integration/rest-services/published-rest-services/published-rest-service/published-rest-operation-parameter.md +++ b/content/en/docs/refguide10/modeling/integration/rest-services/published-rest-services/published-rest-service/published-rest-operation-parameter.md @@ -1,6 +1,6 @@ --- title: "Operation Parameters for Published REST" -url: /refguide/published-rest-operation-parameter/ +url: /refguide10/published-rest-operation-parameter/ weight: 20 description: "Configure a published REST Operation by adding parameters to an operation " # 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. @@ -18,9 +18,9 @@ When you add or edit a parameter in a published REST operation, you can specify Specify where the parameter comes from. Possible values are the following: -* **Query** – When the request contains a query string such as `?name=John&age=42`, you can pass these to the microflow by adding query parameters. For more information, see [Published REST Query Parameters](/refguide/published-rest-query-parameters/). -* **Path** – The operation path can contain parameters as well. If you add a path parameter, make sure you also add it to the operation. For more information, see [Published REST Path Parameters](/refguide/published-rest-path-parameters/). -* **Body** – The microflow can have 0 or 1 body parameters. A body parameter is taken from the body of the request. If the body is a file document or an image, the contents will be filled with the body of the request. If the body parameter is another type of object or a list, an [import mapping](/refguide/import-mappings/) is needed to convert the body content of the request into an object or a list. `GET`, `HEAD`, and `OPTIONS` operations should not have body parameters. +* **Query** – When the request contains a query string such as `?name=John&age=42`, you can pass these to the microflow by adding query parameters. For more information, see [Published REST Query Parameters](/refguide10/published-rest-query-parameters/). +* **Path** – The operation path can contain parameters as well. If you add a path parameter, make sure you also add it to the operation. For more information, see [Published REST Path Parameters](/refguide10/published-rest-path-parameters/). +* **Body** – The microflow can have 0 or 1 body parameters. A body parameter is taken from the body of the request. If the body is a file document or an image, the contents will be filled with the body of the request. If the body parameter is another type of object or a list, an [import mapping](/refguide10/import-mappings/) is needed to convert the body content of the request into an object or a list. `GET`, `HEAD`, and `OPTIONS` operations should not have body parameters. * **Header** – The value of a header parameter is taken from the (first) request header with that name. * **Form** – The value of a form parameter is taken from the body part with that name (these are available for `multipart/form-data` requests). @@ -50,7 +50,7 @@ You can use an import mapping that takes a primitive parameter (string, integer, This sets the behavior of the operation when a find operation does not find an existing object. -If the top-level of an [import mapping](/refguide/import-mappings/) has **Decide this at the place where the mapping gets used** unchecked, the behavior is set in the import mapping. +If the top-level of an [import mapping](/refguide10/import-mappings/) has **Decide this at the place where the mapping gets used** unchecked, the behavior is set in the import mapping. If the import mapping has **Decide this at the place where the mapping gets used** checked, you can define the **If no object was found** action in the REST operation itself. This means you can use the same import mapping in multiple operations, but have a different behavior for each of them. The options are: @@ -68,6 +68,6 @@ You can indicate whether the import mapping should commit the objects that it cr ## Public Documentation -Provide a **Description** of the parameter. You can use [GitHub-flavored Markdown](/refguide/gfm-syntax/) for rich text. +Provide a **Description** of the parameter. You can use [GitHub-flavored Markdown](/refguide10/gfm-syntax/) for rich text. -This is used in the service's [OpenAPI (Swagger) documentation page](/refguide/published-rest-services/#interactive-documentation). +This is used in the service's [OpenAPI (Swagger) documentation page](/refguide10/published-rest-services/#interactive-documentation). diff --git a/content/en/docs/refguide10/modeling/integration/rest-services/published-rest-services/published-rest-service/published-rest-operation.md b/content/en/docs/refguide10/modeling/integration/rest-services/published-rest-services/published-rest-service/published-rest-operation.md index 49cd6b7762b..501369153fd 100644 --- a/content/en/docs/refguide10/modeling/integration/rest-services/published-rest-services/published-rest-service/published-rest-operation.md +++ b/content/en/docs/refguide10/modeling/integration/rest-services/published-rest-services/published-rest-service/published-rest-operation.md @@ -1,6 +1,6 @@ --- title: "Published REST Operation" -url: /refguide/published-rest-operation/ +url: /refguide10/published-rest-operation/ weight: 10 description: "Options to configure a published REST operation." # 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. @@ -9,7 +9,7 @@ description: "Options to configure a published REST operation." ## Introduction -A published REST operation is part of a [published REST resource](/refguide/published-rest-resource/) and defines an endpoint that a client can call to `GET`, `PUT`, `POST`, `PATCH`, or `DELETE` items from the resource. +A published REST operation is part of a [published REST resource](/refguide10/published-rest-resource/) and defines an endpoint that a client can call to `GET`, `PUT`, `POST`, `PATCH`, or `DELETE` items from the resource. In the **Published REST Service** document, you can add items to be included in the service as **Resources**: @@ -41,9 +41,9 @@ The method specifies the type of operation that is performed by the microflow. F The location where the operation can be reached starts with the URL of the resource, and the **Operation path** specifies the remainder of the path for the operation. You can leave it empty to use the location of the resource. -You can use [path parameters](/refguide/published-rest-path-parameters/) to capture part of the location as a microflow parameter or as a parameter to the import mapping. Specify path parameters in the operation path between `{` and `}`. The value that is in the URL for the path parameter will be passed to the microflow or the import mapping. +You can use [path parameters](/refguide10/published-rest-path-parameters/) to capture part of the location as a microflow parameter or as a parameter to the import mapping. Specify path parameters in the operation path between `{` and `}`. The value that is in the URL for the path parameter will be passed to the microflow or the import mapping. -The **Method** and **Operation path** define the operation that is executed for a given request URL as described in [Published Rest Routing](/refguide/published-rest-routing/). +The **Method** and **Operation path** define the operation that is executed for a given request URL as described in [Published Rest Routing](/refguide10/published-rest-routing/). #### Example Location{#example-location} @@ -53,11 +53,11 @@ The **Example Location** gives an example of a URL on which the operation can be An operation can have the following parameters: -* [Query parameters](/refguide/published-rest-query-parameters/), which are at the end of the URL in the form of `?name1=value1&name2=value2` +* [Query parameters](/refguide10/published-rest-query-parameters/), which are at the end of the URL in the form of `?name1=value1&name2=value2` {{% alert color="info" %}}When a microflow parameter is not in the path and is not an object, it is considered to be a query parameter.{{% /alert %}} -* [Path parameters](/refguide/published-rest-path-parameters/), which form part of the path of the URL +* [Path parameters](/refguide10/published-rest-path-parameters/), which form part of the path of the URL * A body parameter (optional), which is in the body of the request to the operation {{% alert color="info" %}}The `GET`, `HEAD`, and `DELETE` operations do not have a body parameter.{{% /alert %}} @@ -69,9 +69,9 @@ A microflow for an operation takes these operation parameters as input. A microflow parameter that has the List or Object type indicates a body parameter. You can specify an import mapping to convert the incoming JSON or XML. A parameter of the FileDocument type (or that inherits from a FileDocument) is special; it can also be used for form parameters, and an import mapping is not needed. -An operation microflow may also take an [HttpRequest](/refguide/http-request-and-response-entities/#http-request) parameter. You can add this parameter if you want to inspect the requested URL and headers. +An operation microflow may also take an [HttpRequest](/refguide10/http-request-and-response-entities/#http-request) parameter. You can add this parameter if you want to inspect the requested URL and headers. -To set the status code and headers, add an [HttpResponse](/refguide/http-request-and-response-entities/#http-response) object parameter and set the attributes of that object, or return an `HttpResponse`. Setting a custom reason phrase on the `HttpResponse` object [has no effect](/refguide/http-request-and-response-entities/#reason-phrase). +To set the status code and headers, add an [HttpResponse](/refguide10/http-request-and-response-entities/#http-response) object parameter and set the attributes of that object, or return an `HttpResponse`. Setting a custom reason phrase on the `HttpResponse` object [has no effect](/refguide10/http-request-and-response-entities/#reason-phrase). The result of the microflow is the result of the operation and can include the following: @@ -79,14 +79,14 @@ The result of the microflow is the result of the operation and can include the f a. Use the [Content-Type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Type) header to specify the file's MIME type. b. Use the [Content-Disposition](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Disposition) header to specify the file name and to indicate whether the file should be downloaded as an attachment. c. Use additional HTTP response headers to communicate other information about the file. - See the [Setting Up the MIME Type](/refguide/send-receive-files-rest/#set-mime-type) section of *Publish and Consume Images and Files with REST* for more information. + See the [Setting Up the MIME Type](/refguide10/send-receive-files-rest/#set-mime-type) section of *Publish and Consume Images and Files with REST* for more information. 2. **Return a list of an object** – specify an export mapping to convert it to XML or JSON. 3. **Return a primitive** – when the microflow returns a value (for example, a string, integer, or Boolean), the response to the operation will be that value. {{% alert color="info" %}}If the microflow returns a non-empty value, the Content attribute of the `HttpResponse` object is ignored. If the microflow returns an empty value, the Content of the `HttpResponse` is taken as the result. {{% /alert %}} -4. **Return an** [HttpResponse](/refguide/http-request-and-response-entities/#http-response) – in the `HttpResponse`, you can set the status code and content (as a string). You can fill the content with, for example, the result of a mapping or a string from another source. You can also add headers to the response. +4. **Return an** [HttpResponse](/refguide10/http-request-and-response-entities/#http-response) – in the `HttpResponse`, you can set the status code and content (as a string). You can fill the content with, for example, the result of a mapping or a string from another source. You can also add headers to the response. {{% alert color="info" %}}One important header to set is **Content-Type**. Do not return an empty `HttpResponse` because that will always result in an error.{{% /alert %}} If the microflow throws an unhandled exception, the response is **500: Internal server error**. @@ -95,19 +95,19 @@ When security is enabled, the microflow needs to have at least one role configur #### Deprecated -Check this box to mark the operation as deprecated in the service's OpenApi (Swagger) documentation page as described in the [Documentation](/refguide/published-rest-services/#interactive-documentation) section of [Published REST services](/refguide/published-rest-services/). This informs clients not to use it anymore. +Check this box to mark the operation as deprecated in the service's OpenApi (Swagger) documentation page as described in the [Documentation](/refguide10/published-rest-services/#interactive-documentation) section of [Published REST services](/refguide10/published-rest-services/). This informs clients not to use it anymore. #### Parameters -You can **Add**, **Update**, or **Delete** the parameters of the operation, which is described in [Operation Parameters for Published REST](/refguide/published-rest-operation-parameter/). +You can **Add**, **Update**, or **Delete** the parameters of the operation, which is described in [Operation Parameters for Published REST](/refguide10/published-rest-operation-parameter/). ##### Import Mapping {#import-mapping} -For a body parameter, you can select an [import mapping](/refguide/import-mappings/) that converts the body of the request into an object. All object and list parameters except file documents must have an import mapping selected. +For a body parameter, you can select an [import mapping](/refguide10/import-mappings/) that converts the body of the request into an object. All object and list parameters except file documents must have an import mapping selected. To select an import mapping, double-click the parameter or click **Edit** in the grid after you select the parameter. When selecting the import mapping, you can also choose the commit behavior of the mapping: you can choose to either commit, commit without events, or not commit imported objects. -You can select an import mapping that takes no parameter, or an import mapping that takes a primitive parameter (for example, string, or integer). If you select an import mapping with a primitive parameter, you need to have exactly one [path parameter](/refguide/published-rest-path-parameters/) with the same type. That path parameter will be passed to the import mapping. +You can select an import mapping that takes no parameter, or an import mapping that takes a primitive parameter (for example, string, or integer). If you select an import mapping with a primitive parameter, you need to have exactly one [path parameter](/refguide10/published-rest-path-parameters/) with the same type. That path parameter will be passed to the import mapping. You can indicate what should happen **If no object was found** when the import mapping has checked the box **Decide this at the place where the mapping gets used**. @@ -115,7 +115,7 @@ If you select an import mapping that supports both XML and JSON (for example, a Valid requests must contain a Content-Type header. See [Recognized media types](#table1) for a list of media types that are understood by the import mapping. If an unsupported content type is used, the operation will result in a **400 Bad Request** response. -The import mapping is also used to generate object schemas for operation responses in [OpenAPI (Swagger) documentation page](/refguide/published-rest-services/#interactive-documentation) based on [JSON Schema](/refguide/published-rest-service-json-schema/). +The import mapping is also used to generate object schemas for operation responses in [OpenAPI (Swagger) documentation page](/refguide10/published-rest-services/#interactive-documentation) based on [JSON Schema](/refguide10/published-rest-service-json-schema/). #### Response @@ -149,11 +149,11 @@ If you select an export mapping that supports both XML and JSON (for example, a * When there is no Accept header or the Accept header does not contain a recognizable media type, the operation returns JSON and the Content-Type is *application/json*. -The export mapping is also used to generate object schemas for operation responses in the [OpenAPI (Swagger) documentation page](/refguide/published-rest-services/#interactive-documentation) based on the [JSON schema](/refguide/published-rest-service-json-schema/). +The export mapping is also used to generate object schemas for operation responses in the [OpenAPI (Swagger) documentation page](/refguide10/published-rest-services/#interactive-documentation) based on the [JSON schema](/refguide10/published-rest-service-json-schema/). ### Public Documentation -In the **Public Documentation** tab, you can specify the documentation that will be used in the service's [OpenAPI (Swagger) documentation page](/refguide/published-rest-services/#interactive-documentation). +In the **Public Documentation** tab, you can specify the documentation that will be used in the service's [OpenAPI (Swagger) documentation page](/refguide10/published-rest-services/#interactive-documentation). #### Summary {#summary} @@ -161,4 +161,4 @@ Provide a short description of what the operation does. #### Description {#description} -Enter a complete overview of what the operation does. You can use [GitHub-flavored markdown](/refguide/gfm-syntax/) syntax to style the text. +Enter a complete overview of what the operation does. You can use [GitHub-flavored markdown](/refguide10/gfm-syntax/) syntax to style the text. diff --git a/content/en/docs/refguide10/modeling/integration/rest-services/published-rest-services/published-rest-service/published-rest-path-parameters.md b/content/en/docs/refguide10/modeling/integration/rest-services/published-rest-services/published-rest-service/published-rest-path-parameters.md index ce8fd4465a7..7e283dfe675 100644 --- a/content/en/docs/refguide10/modeling/integration/rest-services/published-rest-services/published-rest-service/published-rest-path-parameters.md +++ b/content/en/docs/refguide10/modeling/integration/rest-services/published-rest-services/published-rest-service/published-rest-path-parameters.md @@ -1,13 +1,13 @@ --- title: "Published REST Path Parameters" -url: /refguide/published-rest-path-parameters/ +url: /refguide10/published-rest-path-parameters/ weight: 30 # combine this with published rest service --- ## Introduction -The operation path in the [published REST operation](/refguide/published-rest-operation/) specifies the last part of the location (URL) of the operation. +The operation path in the [published REST operation](/refguide10/published-rest-operation/) specifies the last part of the location (URL) of the operation. You can use one or more path parameters to capture part of the location as a microflow parameter. Specify path parameters in the operation path between `{` and `}`. @@ -20,6 +20,6 @@ These are the requirements for path parameters: * Path parameters can only have primitive types (Boolean, date and time, decimal, enumeration, integer/long, or string). * Path parameters can only appear between slashes (`/`) in the path. -When generating a new microflow from the [published REST operation](/refguide/published-rest-operation/) editor window, the resulting microflow will have string parameters for each of the path parameters specified in the operation path. If you want the path parameters to be of a different type, you can change the type in the microflow. +When generating a new microflow from the [published REST operation](/refguide10/published-rest-operation/) editor window, the resulting microflow will have string parameters for each of the path parameters specified in the operation path. If you want the path parameters to be of a different type, you can change the type in the microflow. Date and time parameters should be entered in the [ISO-8601](https://www.w3schools.com/xml/schema_dtypes_date.asp) format (for example, `2018-12-31T09:00:00`). diff --git a/content/en/docs/refguide10/modeling/integration/rest-services/published-rest-services/published-rest-service/published-rest-query-parameters.md b/content/en/docs/refguide10/modeling/integration/rest-services/published-rest-services/published-rest-service/published-rest-query-parameters.md index 9df911e2daf..255e82ba7ad 100644 --- a/content/en/docs/refguide10/modeling/integration/rest-services/published-rest-services/published-rest-service/published-rest-query-parameters.md +++ b/content/en/docs/refguide10/modeling/integration/rest-services/published-rest-services/published-rest-service/published-rest-query-parameters.md @@ -1,6 +1,6 @@ --- title: "Published REST Query Parameters" -url: /refguide/published-rest-query-parameters/ +url: /refguide10/published-rest-query-parameters/ weight: 40 description: "Parameters for a published REST query" # Merge into published rest service document @@ -8,11 +8,11 @@ description: "Parameters for a published REST query" ## Introduction -The specification of a [published REST operation](/refguide/published-rest-operation/) includes a microflow that implements the operation. This microflow may take parameters that come from the query string of the request. +The specification of a [published REST operation](/refguide10/published-rest-operation/) includes a microflow that implements the operation. This microflow may take parameters that come from the query string of the request. A query parameter can only have a primitive type (Boolean, date and time, decimal, enumeration, integer/long, or string). -Query parameters are added to the end of the path following a question mark in the format `?name=John&age=42`. This is shown in the [example location of the operation](/refguide/published-rest-operation/#example-location). +Query parameters are added to the end of the path following a question mark in the format `?name=John&age=42`. This is shown in the [example location of the operation](/refguide10/published-rest-operation/#example-location). These are some additional notes about query parameters: diff --git a/content/en/docs/refguide10/modeling/integration/rest-services/published-rest-services/published-rest-service/published-rest-resource.md b/content/en/docs/refguide10/modeling/integration/rest-services/published-rest-services/published-rest-service/published-rest-resource.md index 0b5eeb76cbd..daaaae8f552 100644 --- a/content/en/docs/refguide10/modeling/integration/rest-services/published-rest-services/published-rest-service/published-rest-resource.md +++ b/content/en/docs/refguide10/modeling/integration/rest-services/published-rest-services/published-rest-service/published-rest-resource.md @@ -1,6 +1,6 @@ --- title: "Published REST Resource" -url: /refguide/published-rest-resource/ +url: /refguide10/published-rest-resource/ weight: 50 description: "The configurable options for a published REST resource" # 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. @@ -9,16 +9,16 @@ description: "The configurable options for a published REST resource" ## Introduction -A published REST resource is part of a [published REST service](/refguide/published-rest-service/) and represents a collection of items on which one or more [operations](/refguide/published-rest-operation/) can be defined. +A published REST resource is part of a [published REST service](/refguide10/published-rest-service/) and represents a collection of items on which one or more [operations](/refguide10/published-rest-operation/) can be defined. -You can generate a published REST resource from an entity in your domain model. For more information, see [Generate a Published REST resource](/refguide/generate-rest-resource/). +You can generate a published REST resource from an entity in your domain model. For more information, see [Generate a Published REST resource](/refguide10/generate-rest-resource/). ## General ### Resource Name{#name} -The resource name uniquely identifies the resource in the [service](/refguide/published-rest-service/). It is part of the location of the operations, so it cannot contain spaces or special characters. +The resource name uniquely identifies the resource in the [service](/refguide10/published-rest-service/). It is part of the location of the operations, so it cannot contain spaces or special characters. ### Public Documentation {#public-documentation} -The public documentation is used in the service's [OpenAPI (Swagger) documentation page](/refguide/published-rest-services/#interactive-documentation). You can use [GitHub-flavored markdown](/refguide/gfm-syntax/) for rich text. +The public documentation is used in the service's [OpenAPI (Swagger) documentation page](/refguide10/published-rest-services/#interactive-documentation). You can use [GitHub-flavored markdown](/refguide10/gfm-syntax/) for rich text. diff --git a/content/en/docs/refguide10/modeling/integration/rest-services/published-rest-services/published-rest-service/version-rest-service.md b/content/en/docs/refguide10/modeling/integration/rest-services/published-rest-services/published-rest-service/version-rest-service.md index 8edc80f8045..c324cde9910 100644 --- a/content/en/docs/refguide10/modeling/integration/rest-services/published-rest-services/published-rest-service/version-rest-service.md +++ b/content/en/docs/refguide10/modeling/integration/rest-services/published-rest-services/published-rest-service/version-rest-service.md @@ -1,6 +1,6 @@ --- title: "Version a REST Service" -url: /refguide/version-rest-service/ +url: /refguide10/version-rest-service/ weight: 10 description: "Describes the best practices for versioning REST services in Mendix." aliases: diff --git a/content/en/docs/refguide10/modeling/integration/rest-services/published-rest-services/published-rest-technical-details/_index.md b/content/en/docs/refguide10/modeling/integration/rest-services/published-rest-services/published-rest-technical-details/_index.md index 1d318089c5c..4d3f9b3a252 100644 --- a/content/en/docs/refguide10/modeling/integration/rest-services/published-rest-services/published-rest-technical-details/_index.md +++ b/content/en/docs/refguide10/modeling/integration/rest-services/published-rest-services/published-rest-technical-details/_index.md @@ -1,6 +1,6 @@ --- title: "Technical Details of Published REST" -url: /refguide/published-rest-technical-details/ +url: /refguide10/published-rest-technical-details/ weight: 40 description: "Landing page for technical details about aspects of Published REST" --- @@ -13,24 +13,24 @@ These documents allow you to further customize and troubleshoot published REST s ## Technical Documentation for Published REST -* [Published REST Routing](/refguide/published-rest-routing/) +* [Published REST Routing](/refguide10/published-rest-routing/) This page shows how an incoming HTTP request is processed and which operation will be executed for a given request. It can be used both for troubleshooting and to aid in designing your published REST service. -* [JSON Schema](/refguide/published-rest-service-json-schema/) +* [JSON Schema](/refguide10/published-rest-service-json-schema/) Technical details of the JSON Schema, which is created to support import and export mappings for an OpenAPI (Swagger) documentation page. -* [OpenAPI 3.0 Documentation](/refguide/open-api/) +* [OpenAPI 3.0 Documentation](/refguide10/open-api/) Technical details of the *openapi.json* file, which is created to describe the published REST service on an OpenAPI documentation page. -* [OpenAPI 2.0 Documentation](/refguide/open-api-2/) +* [OpenAPI 2.0 Documentation](/refguide10/open-api-2/) Technical details of the *swagger.json* file, which is created to describe the published REST service on an OpenAPI (Swagger) documentation page. -* [Parameters for the Custom Authentication Microflow](/refguide/published-rest-authentication-parameter/) +* [Parameters for the Custom Authentication Microflow](/refguide10/published-rest-authentication-parameter/) Describes the parameters which are passed to a microflow, which is performing custom authentication for a published REST service. diff --git a/content/en/docs/refguide10/modeling/integration/rest-services/published-rest-services/published-rest-technical-details/open-api-2.md b/content/en/docs/refguide10/modeling/integration/rest-services/published-rest-services/published-rest-technical-details/open-api-2.md index b243e7c1a24..a5d0603af64 100644 --- a/content/en/docs/refguide10/modeling/integration/rest-services/published-rest-services/published-rest-technical-details/open-api-2.md +++ b/content/en/docs/refguide10/modeling/integration/rest-services/published-rest-services/published-rest-technical-details/open-api-2.md @@ -1,13 +1,13 @@ --- title: "OpenAPI 2.0 Documentation" -url: /refguide/open-api-2/ +url: /refguide10/open-api-2/ weight: 30 description: "A description of the swagger.json file which is generated by a published REST service " --- ## Introduction -Every [published REST service](/refguide/published-rest-service/) is automatically documented. The system generates a *swagger.json* file that conforms to the [OpenAPI 2.0 specification](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/2.0.md) (formerly known as the "swagger specification"). This file can be [saved from Studio Pro](/refguide/published-rest-service/#export-openapi-documentation) or downloaded from */rest-doc/{location}/swagger.json*, where *{location}* is the location of the REST service (for example, *rest/myservice/v1*). +Every [published REST service](/refguide10/published-rest-service/) is automatically documented. The system generates a *swagger.json* file that conforms to the [OpenAPI 2.0 specification](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/2.0.md) (formerly known as the "swagger specification"). This file can be [saved from Studio Pro](/refguide10/published-rest-service/#export-openapi-documentation) or downloaded from */rest-doc/{location}/swagger.json*, where *{location}* is the location of the REST service (for example, *rest/myservice/v1*). If you need to communicate with the service from another app, you can use the *swagger.json* file to generate an API in many different systems, including Microsoft Visual Studio, React, Angular, and Java. This makes it easy to communicate between your different apps. @@ -22,8 +22,8 @@ The main schema object documents the service. | Property | Generated Value | | --- | --- | | `swagger` | 2.0 | -| `info.title` | The [name of the service](/refguide/published-rest-service/#service-name). | -| `info.description` | The [public documentation of the service](/refguide/published-rest-service/#public-documentation). | +| `info.title` | The [name of the service](/refguide10/published-rest-service/#service-name). | +| `info.description` | The [public documentation of the service](/refguide10/published-rest-service/#public-documentation). | | `info.version` | 1.0.0 | | `host` | The host on which the app is running. | | `basePath` | */rest/servicename* | @@ -31,12 +31,12 @@ The main schema object documents the service. | `responses` | Contains the unauthorized response when security is enabled. | | `securityDefinitions` | Contains the basic authentication when security is enabled. | | `security` | Contains the basic authentication when security is enabled. | -| `tags` | Each resource generates a tag with the [name](/refguide/published-rest-resource/#name) and description ([public documentation](/refguide/published-rest-resource/#public-documentation)) of the resource. | +| `tags` | Each resource generates a tag with the [name](/refguide10/published-rest-resource/#name) and description ([public documentation](/refguide10/published-rest-resource/#public-documentation)) of the resource. | | `paths` | Each group of operations generates a path object. See below for more information. | ## Paths -The service's operations are grouped by [operation path](/refguide/published-rest-operation/#operation-path). Each of these groups generates a `PathItem` with the operation path as the name. The `PathItem` has an `Operation` property for each operation in the group. +The service's operations are grouped by [operation path](/refguide10/published-rest-operation/#operation-path). Each of these groups generates a `PathItem` with the operation path as the name. The `PathItem` has an `Operation` property for each operation in the group. ## Operations @@ -44,9 +44,9 @@ Each operation generates an `Operation` object: | Property | Generated value | | --- | --- | -| `tags` | The [name](/refguide/published-rest-resource/#name) of the resource. | -| `summary` | The [public documentation summary](/refguide/published-rest-operation/#summary) of the operation. | -| `description` | The [public documentation description](/refguide/published-rest-operation/#description) of the operation. | +| `tags` | The [name](/refguide10/published-rest-resource/#name) of the resource. | +| `summary` | The [public documentation summary](/refguide10/published-rest-operation/#summary) of the operation. | +| `description` | The [public documentation description](/refguide10/published-rest-operation/#description) of the operation. | | `parameters` | The path and query parameters. For the `POST`, `PUT`, `PATCH`, and `OPTIONS` methods, there is also a body parameter. | | `responses` | The OK response. If security is enabled, this is also the unauthorized response. | | `deprecated` | Set to true when the operation is marked as deprecated. | diff --git a/content/en/docs/refguide10/modeling/integration/rest-services/published-rest-services/published-rest-technical-details/open-api.md b/content/en/docs/refguide10/modeling/integration/rest-services/published-rest-services/published-rest-technical-details/open-api.md index ee32b461e2d..16cac7577ad 100644 --- a/content/en/docs/refguide10/modeling/integration/rest-services/published-rest-services/published-rest-technical-details/open-api.md +++ b/content/en/docs/refguide10/modeling/integration/rest-services/published-rest-services/published-rest-technical-details/open-api.md @@ -1,13 +1,13 @@ --- title: "OpenAPI 3.0 Documentation" -url: /refguide/open-api/ +url: /refguide10/open-api/ weight: 31 description: "A description of the swagger.json file which is generated by a published REST service " --- ## Introduction -Every [published REST service](/refguide/published-rest-service/) is automatically documented. The system generates a *openapi.json* file that conforms to the [OpenAPI 3.0 specification](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.1.md). This file can be [saved from Studio Pro](/refguide/published-rest-service/#export-openapi-documentation) or downloaded from */rest-doc/{location}/openapi.json*, where *{location}* is the location of the REST service, for instance *rest/myservice/v1*. +Every [published REST service](/refguide10/published-rest-service/) is automatically documented. The system generates a *openapi.json* file that conforms to the [OpenAPI 3.0 specification](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.1.md). This file can be [saved from Studio Pro](/refguide10/published-rest-service/#export-openapi-documentation) or downloaded from */rest-doc/{location}/openapi.json*, where *{location}* is the location of the REST service, for instance *rest/myservice/v1*. If you need to communicate with the service from another app, you can use the *openapi.json* file to generate an API in many different systems, including Microsoft Visual Studio, React, Angular, and Java. This makes it easy to communicate between your different apps. @@ -26,8 +26,8 @@ The main schema object documents the service. | Property | Generated Value | | --- | --- | | `openapi` | 3.0 | -| `info.title` | The [name of the service](/refguide/published-rest-service/#service-name). | -| `info.description` | The [public documentation of the service](/refguide/published-rest-service/#public-documentation). | +| `info.title` | The [name of the service](/refguide10/published-rest-service/#service-name). | +| `info.description` | The [public documentation of the service](/refguide10/published-rest-service/#public-documentation). | | `info.version` | 1.0.0 | | `servers` | Contains the baseURL on which the app is running. | | `paths` | Each group of operations generates a path object. See below for more information. | @@ -35,11 +35,11 @@ The main schema object documents the service. | `components.responses` | Contains the unauthorized response when security is enabled. | | `components.securitySchemes` | Contains the basic authentication when security is enabled. | | `security` | Contains the basic authentication when security is enabled. | -| `tags` | Each resource generates a tag with the [name](/refguide/published-rest-resource/#name) and description ([public documentation](/refguide/published-rest-resource/#public-documentation)) of the resource. | +| `tags` | Each resource generates a tag with the [name](/refguide10/published-rest-resource/#name) and description ([public documentation](/refguide10/published-rest-resource/#public-documentation)) of the resource. | ## Paths -The service's operations are grouped by [operation path](/refguide/published-rest-operation/#operation-path). Each of these groups generates a `PathItem` with the operation path as the name. The `PathItem` has an `Operation` property for each operation in the group. +The service's operations are grouped by [operation path](/refguide10/published-rest-operation/#operation-path). Each of these groups generates a `PathItem` with the operation path as the name. The `PathItem` has an `Operation` property for each operation in the group. ## Operations @@ -47,9 +47,9 @@ Each operation generates an `Operation` object: | Property | Generated value | | --- | --- | -| `tags` | The [name](/refguide/published-rest-resource/#name) of the resource. | -| `summary` | The [public documentation summary](/refguide/published-rest-operation/#summary) of the operation. | -| `description` | The [public documentation description](/refguide/published-rest-operation/#description) of the operation. | +| `tags` | The [name](/refguide10/published-rest-resource/#name) of the resource. | +| `summary` | The [public documentation summary](/refguide10/published-rest-operation/#summary) of the operation. | +| `description` | The [public documentation description](/refguide10/published-rest-operation/#description) of the operation. | | `requestBody` | Contains the type and schema information for form and body parameters for `POST`, `PUT`, and `PATCH` methods. | | `parameters` | The path, query, and header parameters and their location and type information. | | `responses` | The OK response. If security is enabled, this is also the unauthorized response. | diff --git a/content/en/docs/refguide10/modeling/integration/rest-services/published-rest-services/published-rest-technical-details/published-rest-authentication-parameter.md b/content/en/docs/refguide10/modeling/integration/rest-services/published-rest-services/published-rest-technical-details/published-rest-authentication-parameter.md index 0fe5a839726..e9184690f9f 100644 --- a/content/en/docs/refguide10/modeling/integration/rest-services/published-rest-services/published-rest-technical-details/published-rest-authentication-parameter.md +++ b/content/en/docs/refguide10/modeling/integration/rest-services/published-rest-services/published-rest-technical-details/published-rest-authentication-parameter.md @@ -1,6 +1,6 @@ --- title: "Custom Authentication Microflow Parameters" -url: /refguide/published-rest-authentication-parameter/ +url: /refguide10/published-rest-authentication-parameter/ weight: 40 description: "The parameters which are passed to the custom authentication microflow for a published REST service" --- @@ -21,7 +21,7 @@ Make sure that you add all microflow parameters here. Specify where the parameter comes from. Possible values are: -* **Query** – when the request contains a query string such as `?name=John&age=42`, you can pass these to the microflow by adding query parameters. For more information, see [Published REST Query Parameters](/refguide/published-rest-query-parameters/). +* **Query** – when the request contains a query string such as `?name=John&age=42`, you can pass these to the microflow by adding query parameters. For more information, see [Published REST Query Parameters](/refguide10/published-rest-query-parameters/). * **Header** – the value of a header parameter is taken from the (first) request header with that name. diff --git a/content/en/docs/refguide10/modeling/integration/rest-services/published-rest-services/published-rest-technical-details/published-rest-routing.md b/content/en/docs/refguide10/modeling/integration/rest-services/published-rest-services/published-rest-technical-details/published-rest-routing.md index a156111143d..f2fc7f30b40 100644 --- a/content/en/docs/refguide10/modeling/integration/rest-services/published-rest-services/published-rest-technical-details/published-rest-routing.md +++ b/content/en/docs/refguide10/modeling/integration/rest-services/published-rest-services/published-rest-technical-details/published-rest-routing.md @@ -1,13 +1,13 @@ --- title: "Published REST Request Routing" -url: /refguide/published-rest-routing/ +url: /refguide10/published-rest-routing/ weight: 10 description: "A flow chart which shows how an example request is processed, what security is applied, and what is returned by the service." --- ## Introduction -When a REST HTTP request arrives at the server, the server needs to determine which [operation](/refguide/published-rest-operation/) to run and what security to apply. +When a REST HTTP request arrives at the server, the server needs to determine which [operation](/refguide10/published-rest-operation/) to run and what security to apply. This flow chart shows an example request, how it is processed, and what will be returned by the service under different circumstances. diff --git a/content/en/docs/refguide10/modeling/integration/rest-services/published-rest-services/published-rest-technical-details/published-rest-service-json-schema.md b/content/en/docs/refguide10/modeling/integration/rest-services/published-rest-services/published-rest-technical-details/published-rest-service-json-schema.md index ef4a99cd2e9..8e358612ec9 100644 --- a/content/en/docs/refguide10/modeling/integration/rest-services/published-rest-services/published-rest-technical-details/published-rest-service-json-schema.md +++ b/content/en/docs/refguide10/modeling/integration/rest-services/published-rest-services/published-rest-technical-details/published-rest-service-json-schema.md @@ -1,15 +1,15 @@ --- title: "JSON Schema for Published REST Operation" -url: /refguide/published-rest-service-json-schema/ +url: /refguide10/published-rest-service-json-schema/ weight: 20 description: "Describes the JSON schemas for operation request bodies and operation results" --- ## Introduction -When you [publish a rest service](/refguide/published-rest-services/), an [OpenAPI (Swagger) documentation page](/refguide/published-rest-services/#interactive-documentation) is generated for it. This page includes a description of the structure of the messages that the service can receive and return. This structure is described using JSON Schema. +When you [publish a rest service](/refguide10/published-rest-services/), an [OpenAPI (Swagger) documentation page](/refguide10/published-rest-services/#interactive-documentation) is generated for it. This page includes a description of the structure of the messages that the service can receive and return. This structure is described using JSON Schema. -Operations that have an import or export mapping defined on it will generate such a schema, but only for mappings that are based on [message definitions](/refguide/message-definitions/). +Operations that have an import or export mapping defined on it will generate such a schema, but only for mappings that are based on [message definitions](/refguide10/message-definitions/). The JSON schema is generated based on the rules documented here. diff --git a/content/en/docs/refguide10/modeling/integration/rest-services/rest-binary.md b/content/en/docs/refguide10/modeling/integration/rest-services/rest-binary.md index 54fbbf088d1..4eb3e630294 100644 --- a/content/en/docs/refguide10/modeling/integration/rest-services/rest-binary.md +++ b/content/en/docs/refguide10/modeling/integration/rest-services/rest-binary.md @@ -1,6 +1,6 @@ --- title: "Publish and Retrieve Images and Files with REST" -url: /refguide/send-receive-files-rest/ +url: /refguide10/send-receive-files-rest/ linktitle: "Images and Files with REST" weight: 79 --- @@ -23,7 +23,7 @@ If you are only interested in consuming files, you can skip down to the [Retriev It is recommended to read the following for some more background information: * [Publishing](/howto/integration/publish-rest-service/) and [consuming](/howto/integration/consume-a-rest-service/) REST services -* Working with [Images, Videos, and Files](/refguide/image-and-file-widgets/) in Studio Pro +* Working with [Images, Videos, and Files](/refguide10/image-and-file-widgets/) in Studio Pro ## Send Files with REST {#create-service} @@ -31,13 +31,13 @@ Imagine your app is functioning as a content management system (CMS) and you wan ### Publishing the Service {#publish-service} -To publish the **System.Image** or **System.Filedocument** entities as a [REST service](/refguide/published-rest-service/), do the following: +To publish the **System.Image** or **System.Filedocument** entities as a [REST service](/refguide10/published-rest-service/), do the following: 1. Add a new module (or use **MyFirstModule**) and name it **CMS**. 2. Go to the domain model and create a new entity called *MyFile*. -3. Add a **System.Image** or **System.FileDocument** [generalization](/refguide/entities/#generalization) to the *MyFile* entity +3. Add a **System.Image** or **System.FileDocument** [generalization](/refguide10/entities/#generalization) to the *MyFile* entity {{< figure src="/attachments/refguide10/modeling/integration/rest-binary/starting-entity.png" class="no-border" >}} @@ -55,7 +55,7 @@ To publish the **System.Image** or **System.Filedocument** entities as a [REST s * **Post (Create)** * **Delete** - See the [Operations](/refguide/generate-rest-resource/#operations) section of *Generating a Published REST Resource* for a description of each operation. + See the [Operations](/refguide10/generate-rest-resource/#operations) section of *Generating a Published REST Resource* for a description of each operation. 7. Click **OK**. @@ -75,7 +75,7 @@ Click **Show** next to the **Microflow** field to view the **MyFirstModule.MyFil A `GET` request to the REST endpoint you created (in this example, `http://localhost:8080/rest/cmsapi/v1/myfile/1`) will return the binary for the first uploaded file. We need to specify the expected media type so it returns the file in the expected way (for example, displaying an image). -In the **GET_ByKey** microflow, specify the media type (or MIME type) in the content headers. To learn more about content headers in microflows, see the **Return a file document** entry in the [Microflow](/refguide/published-rest-operation/#microflow) section of *Published REST Operation*. +In the **GET_ByKey** microflow, specify the media type (or MIME type) in the content headers. To learn more about content headers in microflows, see the **Return a file document** entry in the [Microflow](/refguide10/published-rest-operation/#microflow) section of *Published REST Operation*. See [Common MIME types](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types) for a generic, external list of common content header types. @@ -138,7 +138,7 @@ To do so, do the following: 1. Complete the steps in the [Retrieve Files with REST](#retrieve-files) section. 2. Download the [Image](/appstore/widgets/image/) widget from the Marketplace and import it into your app. -3. In the [Toolbox](/refguide/view-menu/#toolbox), click **Widgets** and search for "Image". +3. In the [Toolbox](/refguide10/view-menu/#toolbox), click **Widgets** and search for "Image". 4. Drag the **Image** widget onto a page. 5. Double-click the widget you dragged onto your page to open the **Properties**. 6. In the **Data source** field, select the **Image URL** for **Image type**. @@ -152,7 +152,7 @@ To do so, do the following: 1. Complete the steps in the [Retrieve Files with REST](#retrieve-files) section. 2. Download the [HTML/JavaScript Snippet](/appstore/widgets/html-javascript-snippet/) widget from the Marketplace and import it into your app. -3. In the [Toolbox](/refguide/view-menu/#toolbox), click **Widgets** and search for "HTMLSnippet". +3. In the [Toolbox](/refguide10/view-menu/#toolbox), click **Widgets** and search for "HTMLSnippet". 4. Drag the **HTMLSnippet** widget onto a page. 5. Double-click the widget to open the **Properties**. 6. In the **Content Type** field, ensure **HTML** is selected. @@ -166,7 +166,7 @@ To do so, do the following: You can call a REST service in a microflow, then store the binary response in an entity. -Retrieving files in a microflow uses the [Call REST service](/refguide/call-rest-action/) action. For step-by-step instructions for calling a REST service in a microflow, see [Consume a REST Service](/howto/integration/consume-a-rest-service/). +Retrieving files in a microflow uses the [Call REST service](/refguide10/call-rest-action/) action. For step-by-step instructions for calling a REST service in a microflow, see [Consume a REST Service](/howto/integration/consume-a-rest-service/). To retrieve files using a microflow, do the following: diff --git a/content/en/docs/refguide10/modeling/integration/share-data-sources/_index.md b/content/en/docs/refguide10/modeling/integration/share-data-sources/_index.md index ca9afca1fd4..e2b14238a3a 100644 --- a/content/en/docs/refguide10/modeling/integration/share-data-sources/_index.md +++ b/content/en/docs/refguide10/modeling/integration/share-data-sources/_index.md @@ -1,6 +1,6 @@ --- title: Share Data Sources -url: /refguide/share-data-sources/ +url: /refguide10/share-data-sources/ aliases: - /howto/integration/share-data-sources/ #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. @@ -12,10 +12,10 @@ Build, update, and share data from different sources using the [Catalog](https:/ Documents available for this topic: -* [Share Data Between Apps](/refguide/share-data/) +* [Share Data Between Apps](/refguide10/share-data/) Describes how to publish and register a simple data asset to the Catalog from Studio Pro and create a new app that consumes this asset. -* [Write Data to Another App](/refguide/write-data/) +* [Write Data to Another App](/refguide10/write-data/) Describes how to add annotations to an OData service in Mendix Studio Pro, see external entities with these features in the Catalog, and use them to build your app. diff --git a/content/en/docs/refguide10/modeling/integration/share-data-sources/share-data-between-apps.md b/content/en/docs/refguide10/modeling/integration/share-data-sources/share-data-between-apps.md index 6a79a992436..cb1943116ae 100644 --- a/content/en/docs/refguide10/modeling/integration/share-data-sources/share-data-between-apps.md +++ b/content/en/docs/refguide10/modeling/integration/share-data-sources/share-data-between-apps.md @@ -1,6 +1,6 @@ --- title: "Share Data Between Apps" -url: /refguide/share-data/ +url: /refguide10/share-data/ description: "Describes how to publish and register a simple data asset to the Catalog from Studio Pro and create a new app that consumes this asset." weight: 10 aliases: @@ -65,7 +65,7 @@ Customize the home page further by changing the banner text. ## Publishing to the Catalog {#publishing} -You need to register the **Customer** entity in the Catalog to use this entity in other apps. To do this, expose the **Customer** entity in a [Published OData service](/refguide/published-odata-services/) in Studio Pro. OData v3 and OData v4 are REST-based protocols and standard formats for registering services in the Catalog. +You need to register the **Customer** entity in the Catalog to use this entity in other apps. To do this, expose the **Customer** entity in a [Published OData service](/refguide10/published-odata-services/) in Studio Pro. OData v3 and OData v4 are REST-based protocols and standard formats for registering services in the Catalog. Do the following: @@ -137,7 +137,7 @@ 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 > [Integration pane](/refguide/integration-pane/) (if you do not see the Integration pane, click **View** > **Integration** to display it). +2. Go to the domain model > [Integration pane](/refguide10/integration-pane/) (if you do not see the Integration pane, click **View** > **Integration** to display it). 3. In the Integration pane, enter the search string *{yourname}*. 4. By default, search in the 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**. @@ -146,7 +146,7 @@ To do this, follow the steps below: 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 check marks in the 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 to see further information about the service, and follow the link to **View in Catalog**. +6. This entity is different from the blue entity container from the first app. This purple colored entity is called an [external entity](/refguide10/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 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 **Close**. Overview pages for the new entity are added in the **OverviewPages** folder of **MyFirstModule**. 9. From the **App Explorer**, open **Home_Web** and drag **Customer_Overview** into the empty Auto-fill container. diff --git a/content/en/docs/refguide10/modeling/integration/share-data-sources/write-data-to-another-app.md b/content/en/docs/refguide10/modeling/integration/share-data-sources/write-data-to-another-app.md index 5a2b2bda58b..efa95a1f314 100644 --- a/content/en/docs/refguide10/modeling/integration/share-data-sources/write-data-to-another-app.md +++ b/content/en/docs/refguide10/modeling/integration/share-data-sources/write-data-to-another-app.md @@ -1,6 +1,6 @@ --- title: "Write Data to Another App" -url: /refguide/write-data/ +url: /refguide10/write-data/ description: "Describes how to add annotations to an OData service in Mendix Studio Pro, see external entities with these features in the Catalog, and use them to build your app." weight: 20 aliases: @@ -52,14 +52,14 @@ The updatable OData capability relates to the data in your app. The Catalog prov To see the capabilities of a particular OData entity, do the following: -1. Go to the [Catalog](https://catalog.mendix.com/) and search for the name of an exposed OData service endpoint, entity, attribute, or association. For more information, see the [Using the Catalog and Curating Your Own Service](/refguide/share-data/#use-and-curate) section in *Share Data Between Apps*. +1. Go to the [Catalog](https://catalog.mendix.com/) and search for the name of an exposed OData service endpoint, entity, attribute, or association. For more information, see the [Using the Catalog and Curating Your Own Service](/refguide10/share-data/#use-and-curate) section in *Share Data Between Apps*. 2. Select your entity from the left-side search results pane. If you do not see many results, try removing the **Production** filter on your search. Notice the highlighted **CRUD** letters next to the entity name in the search panel and in the detailed information in the center. The purple letters indicate which operations are supported, and the gray letters indicate which are not. Hover over the letters to see which operations are supported. You will also see any OData restrictions here. ## 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 [Integration pane](/refguide/integration-pane/) of Studio Pro. +Just like in the Catalog, you can see the **CRUD** capabilities of entities, attributes, and associations inside the [Integration pane](/refguide10/integration-pane/) of Studio Pro. {{< figure src="/attachments/refguide10/modeling/integration/write-data/crud-capabilities.png" alt="crud capabilities" class="no-border" >}} @@ -69,13 +69,13 @@ To consume an OData entity, do the following: 2. Select your entity from the **Integration** pane. By default, the pane only shows results published to the production environment. If you also want to see results from other environments, click the filter icon and select the **Show development environments** checkbox. 3. Drag the entity into the domain model. -Now you have an external entity in your domain model. Depending on the capabilities, you can use external entities to model your app as you normally would, although there are some limitations. For more information on limitations, see the [External Entities Limitations](/refguide/external-entities/#limitations) section in *External Entities*. +Now you have an external entity in your domain model. Depending on the capabilities, you can use external entities to model your app as you normally would, although there are some limitations. For more information on limitations, see the [External Entities Limitations](/refguide10/external-entities/#limitations) section in *External Entities*. ## Validating Data and Error Handling {#data-validation} -You can [set up data validation](/refguide/setting-up-data-validation/) to check on inserted or updated data between your apps. An insert validation microflow in the domain model of the client application can check on the data that is inserted or updated. +You can [set up data validation](/refguide10/setting-up-data-validation/) to check on inserted or updated data between your apps. An insert validation microflow in the domain model of the client application can check on the data that is inserted or updated. -How does the published service know that an insert fails? In the publishing app, you can use a validation message action to report the error. The client app can include a custom error handler on the [Send External Object](/refguide/send-external-object/) activity to handle the error. +How does the published service know that an insert fails? In the publishing app, you can use a validation message action to report the error. The client app can include a custom error handler on the [Send External Object](/refguide10/send-external-object/) activity to handle the error. The domain model for the publishing app's validation message looks like this: diff --git a/content/en/docs/refguide10/modeling/integration/use-excel-documents/_index.md b/content/en/docs/refguide10/modeling/integration/use-excel-documents/_index.md index ee088085d7a..2f387c71b99 100644 --- a/content/en/docs/refguide10/modeling/integration/use-excel-documents/_index.md +++ b/content/en/docs/refguide10/modeling/integration/use-excel-documents/_index.md @@ -1,6 +1,6 @@ --- title: Use Excel Documents -url: /refguide/use-excel-documents/ +url: /refguide10/use-excel-documents/ aliases: /howto/integration/use-excel-documents/ #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. --- @@ -11,14 +11,14 @@ Use Excel to import and export large amounts of data to your Mendix application. Documents available for this topic: -* [Import Excel Documents](/refguide/importing-excel-documents/) +* [Import Excel Documents](/refguide10/importing-excel-documents/) Describes how to set up import templates and import data into your app using the Excel Importer module. -* [Import a Large Excel File](/refguide/import-a-large-excel-file/) +* [Import a Large Excel File](/refguide10/import-a-large-excel-file/) Describes how to use XML-to-domain mapping to create a new import entity from an Excel sheet. -* [Export to Excel](/refguide/using-the-excel-exporter/) +* [Export to Excel](/refguide10/using-the-excel-exporter/) Describes how to create custom Excel documents from your app based on configurable templates. diff --git a/content/en/docs/refguide10/modeling/integration/use-excel-documents/export-to-excel.md b/content/en/docs/refguide10/modeling/integration/use-excel-documents/export-to-excel.md index b99c68b7756..b7149e13187 100644 --- a/content/en/docs/refguide10/modeling/integration/use-excel-documents/export-to-excel.md +++ b/content/en/docs/refguide10/modeling/integration/use-excel-documents/export-to-excel.md @@ -1,6 +1,6 @@ --- title: "Export to Excel" -url: /refguide/using-the-excel-exporter/ +url: /refguide10/using-the-excel-exporter/ weight: 20 description: "Describes how to create custom Excel documents from your app based on configurable templates." aliases: /howto/integration/using-the-excel-exporter/ @@ -44,7 +44,7 @@ Depending on the layout selected when the app was created, errors in Studio Pro In this section, you will learn how to add the required pages in the app's **Navigation** that are needed to configure both the Mx Model Reflection and the Excel Export templates that will be used within the app. -1. In the [App Explorer](/refguide/app-explorer/), go to **Navigation**. +1. In the [App Explorer](/refguide10/app-explorer/), go to **Navigation**. 2. Add a **New item** to the navigation to open the page **MxModelReflection.MxObjects_Overview**: {{< figure src="/attachments/refguide10/modeling/integration/using-the-excel-exporter/new-menu-item-mxreflection.png" alt="new-menu-item-mxreflection" class="no-border" >}} diff --git a/content/en/docs/refguide10/modeling/integration/use-excel-documents/import-a-large-excel-file.md b/content/en/docs/refguide10/modeling/integration/use-excel-documents/import-a-large-excel-file.md index e08e9086866..c38c3ece393 100644 --- a/content/en/docs/refguide10/modeling/integration/use-excel-documents/import-a-large-excel-file.md +++ b/content/en/docs/refguide10/modeling/integration/use-excel-documents/import-a-large-excel-file.md @@ -1,6 +1,6 @@ --- title: "Import a Large Excel File" -url: /refguide/import-a-large-excel-file/ +url: /refguide10/import-a-large-excel-file/ weight: 10 aliases: /howto/integration/import-a-large-excel-file/ #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. diff --git a/content/en/docs/refguide10/modeling/integration/use-excel-documents/import-excel-documents.md b/content/en/docs/refguide10/modeling/integration/use-excel-documents/import-excel-documents.md index f0b40ee5425..4f5ee8a3bb2 100644 --- a/content/en/docs/refguide10/modeling/integration/use-excel-documents/import-excel-documents.md +++ b/content/en/docs/refguide10/modeling/integration/use-excel-documents/import-excel-documents.md @@ -1,6 +1,6 @@ --- title: "Import Excel Documents" -url: /refguide/importing-excel-documents/ +url: /refguide10/importing-excel-documents/ weight: 1 description: "Describes how to set up import templates and import data into your app using the Excel Importer module." aliases: /howto/integration/importing-excel-documents/ @@ -15,10 +15,10 @@ Adding large amounts of data to your application (for example, reference data or Before starting this how-to, make sure you know how to do the following: -* Create domain models (see [Configuring a Domain Model](/refguide/configuring-a-domain-model/)) +* Create domain models (see [Configuring a Domain Model](/refguide10/configuring-a-domain-model/)) * Create overview and detail pages (see [How to Create Your First Two Overview and Detail Pages](/howto/front-end/create-your-first-two-overview-and-detail-pages/)) -* Create menu items (see [Setting Up Navigation](/refguide/setting-up-the-navigation-structure/)) -* Create microflows (see [Triggering a Microflow From a Menu Item](/refguide/triggering-microflow-from-menu-item/) +* Create menu items (see [Setting Up Navigation](/refguide10/setting-up-the-navigation-structure/)) +* Create microflows (see [Triggering a Microflow From a Menu Item](/refguide10/triggering-microflow-from-menu-item/) * Add Marketplace content to your app (see [How to Use Marketplace Content](/appstore/use-content/)) * Secure your applications (see [How to Create a Secure App](/howto/security/create-a-secure-app/)) diff --git a/content/en/docs/refguide10/modeling/integration/use-extensions/_index.md b/content/en/docs/refguide10/modeling/integration/use-extensions/_index.md index cc9902a2e18..284a79c65a6 100644 --- a/content/en/docs/refguide10/modeling/integration/use-extensions/_index.md +++ b/content/en/docs/refguide10/modeling/integration/use-extensions/_index.md @@ -1,6 +1,6 @@ --- title: Use Extensions -url: /refguide/use-extensions/ +url: /refguide10/use-extensions/ aliases: - /howto/integration/use-extensions/ #If moving or renaming this doc file, implement a temporary redirect and let the respective team (buildpack) know they should update the URL in the product. See Mapping to Products for more details. @@ -12,21 +12,21 @@ Connect to and receive information from external sources with extensions in Mend Documents available for this topic: -* [Business Event Services](/refguide/business-event-services/) +* [Business Event Services](/refguide10/business-event-services/) -* [Use the Data Importer](/refguide/use-the-data-importer/) +* [Use the Data Importer](/refguide10/use-the-data-importer/) Overview of how to use the Data Importer to import data from a representative file (Excel and CSV) and create a non-persistable entity in your domain model. -* [External Database Connection](/refguide/external-database-connection/) +* [External Database Connection](/refguide10/external-database-connection/) Overview of the External Database Connector, used to connect your Mendix app to an external database and create and validate SQL queries. -* [Use the External Database Connector](/refguide/use-the-external-database-connector/) +* [Use the External Database Connector](/refguide10/use-the-external-database-connector/) Instructions on how to use the External Database Connector. -* [Execute an SQL Statement on an External Database](/refguide/execute-an-sql-statement-on-an-external-database/) +* [Execute an SQL Statement on an External Database](/refguide10/execute-an-sql-statement-on-an-external-database/) Describes how to execute an SQL statement on relational external databases using the Database Connector. @@ -34,6 +34,6 @@ Documents available for this topic: * [Mendix Business Events](/appstore/services/business-events/) * [Mendix Event Broker](/appstore/services/event-broker/) -* [Import Data from File](/refguide/import-data-from-file/) +* [Import Data from File](/refguide10/import-data-from-file/) * [External Database Connector](/appstore/modules/external-database-connector/) -* [Query External Database](/refguide/query-external-database/) +* [Query External Database](/refguide10/query-external-database/) diff --git a/content/en/docs/refguide10/modeling/integration/use-extensions/business-event-services.md b/content/en/docs/refguide10/modeling/integration/use-extensions/business-event-services.md index a686be1f4e2..2083a86d9a9 100644 --- a/content/en/docs/refguide10/modeling/integration/use-extensions/business-event-services.md +++ b/content/en/docs/refguide10/modeling/integration/use-extensions/business-event-services.md @@ -1,6 +1,6 @@ --- title: "Business Event Services" -url: /refguide/business-event-services/ +url: /refguide10/business-event-services/ weight: 10 description: "Overview of the [Business Event services module](https://marketplace.mendix.com/link/component/202649) in Studio Pro, downloaded from the Mendix Marketplace." --- diff --git a/content/en/docs/refguide10/modeling/integration/use-extensions/execute-an-sql-statement-on-an-external-database.md b/content/en/docs/refguide10/modeling/integration/use-extensions/execute-an-sql-statement-on-an-external-database.md index 984793b0860..c54ec1a83aa 100644 --- a/content/en/docs/refguide10/modeling/integration/use-extensions/execute-an-sql-statement-on-an-external-database.md +++ b/content/en/docs/refguide10/modeling/integration/use-extensions/execute-an-sql-statement-on-an-external-database.md @@ -1,7 +1,7 @@ --- title: "Execute an SQL Statement on an External Database" linktitle: "Execute SQL on External Database" -url: /refguide/execute-an-sql-statement-on-an-external-database/ +url: /refguide10/execute-an-sql-statement-on-an-external-database/ weight: 50 description: "Describes how to execute an SQL statement on relational external databases using Database Connector." aliases: diff --git a/content/en/docs/refguide10/modeling/integration/use-extensions/external-database-connection.md b/content/en/docs/refguide10/modeling/integration/use-extensions/external-database-connection.md index a9039334528..88ecc3b26e0 100644 --- a/content/en/docs/refguide10/modeling/integration/use-extensions/external-database-connection.md +++ b/content/en/docs/refguide10/modeling/integration/use-extensions/external-database-connection.md @@ -1,6 +1,6 @@ --- title: "External Database Connection" -url: /refguide/external-database-connection/ +url: /refguide10/external-database-connection/ weight: 30 description: "Overview of the [External Database Connection document](https://marketplace.mendix.com/link/component/219862) in Studio Pro, downloaded from the Mendix Marketplace." --- @@ -9,7 +9,7 @@ description: "Overview of the [External Database Connection document](https://ma The [External Database Connector](/appstore/modules/external-database-connector/) integrates with Studio Pro with an **External database connection** service document. Use this document to connect to external databases in Studio Pro. -This page references the External Database Connection document in Studio Pro. For information on how to configure the connector, see [External Database Connector](/appstore/modules/external-database-connector/). For information on how to create and validate SQL queries, see [Use the External Database Connector](/refguide/use-the-external-database-connector/). +This page references the External Database Connection document in Studio Pro. For information on how to configure the connector, see [External Database Connector](/appstore/modules/external-database-connector/). For information on how to create and validate SQL queries, see [Use the External Database Connector](/refguide10/use-the-external-database-connector/). {{% alert color="info" %}} You must have the [External Database Connector](https://marketplace.mendix.com/link/component/219862) installed for external database connections to work properly while running your app. For instructions on adding modules or connectors to your app, see [Use Marketplace Content in Studio Pro](/appstore/use-content/). @@ -18,7 +18,7 @@ You must have the [External Database Connector](https://marketplace.mendix.com/l {{% alert color="info" %}} For Studio Pro 10.18, the External Database Connector uses a different approach to connect to databases during design time. This functionality enhances consistency between design time and runtime environments. To enable this beta feature, use the flag: `--enable-live-preview` -For information on how to connect using the External Database Connection document with a feature flag, see [External Database Connection](/refguide/use-the-external-database-connector/#enable-live-preview). +For information on how to connect using the External Database Connection document with a feature flag, see [External Database Connection](/refguide10/use-the-external-database-connector/#enable-live-preview). {{% /alert %}} ## Connect to Database Wizard {#wizard} @@ -102,4 +102,4 @@ The **Response Structure** tab displays a preview of an entity that can be creat ## Read More -To learn about how to use the data in a microflow, see the [Query External Database](/refguide/query-external-database/) activity. +To learn about how to use the data in a microflow, see the [Query External Database](/refguide10/query-external-database/) activity. diff --git a/content/en/docs/refguide10/modeling/integration/use-extensions/use-the-data-importer.md b/content/en/docs/refguide10/modeling/integration/use-extensions/use-the-data-importer.md index ea54c2e2279..eba47991636 100644 --- a/content/en/docs/refguide10/modeling/integration/use-extensions/use-the-data-importer.md +++ b/content/en/docs/refguide10/modeling/integration/use-extensions/use-the-data-importer.md @@ -1,6 +1,6 @@ --- title: "Use the Data Importer" -url: /refguide/use-the-data-importer/ +url: /refguide10/use-the-data-importer/ weight: 21 description: "Overview of the Data Importer in Studio Pro" aliases: @@ -23,13 +23,13 @@ This how-to teaches you to do the following: Download the [Data Importer extension](https://marketplace.mendix.com/link/component/219833) from the Marketplace and [add it into your app](/appstore/use-content/#install). This module also requires: * Studio Pro [10.4](/releasenotes/studio-pro/10.4/) or above -* A file document (for more information, see [File Manager](/refguide/file-manager/)) +* A file document (for more information, see [File Manager](/refguide10/file-manager/)) ## Data Importer Document The Data Importer extension allows you to import data from Excel and CSV files directly into your app. Create a Data Importer document to define which columns to import and a non-persistable entity (NPE) to hold the imported data, along with source-to-target mapping. During the Data Importer document creation, you can preview the data and choose which columns you want to import and edit the name of resulting entity. -The Data Importer document can be used along with the [Import data from file](/refguide/import-data-from-file/) custom activity. Use this activity in a microflow to import data from an Excel or CSV file. +The Data Importer document can be used along with the [Import data from file](/refguide10/import-data-from-file/) custom activity. Use this activity in a microflow to import data from an Excel or CSV file. ### Creating a Data Importer Document diff --git a/content/en/docs/refguide10/modeling/integration/use-extensions/use-the-external-database-connector.md b/content/en/docs/refguide10/modeling/integration/use-extensions/use-the-external-database-connector.md index 4d3a48bef55..ce66ebb48be 100644 --- a/content/en/docs/refguide10/modeling/integration/use-extensions/use-the-external-database-connector.md +++ b/content/en/docs/refguide10/modeling/integration/use-extensions/use-the-external-database-connector.md @@ -1,6 +1,6 @@ --- title: "Use the External Database Connector" -url: /refguide/use-the-external-database-connector/ +url: /refguide10/use-the-external-database-connector/ weight: 40 description: "Overview of the External Database Connector in Studio Pro" aliases: @@ -30,7 +30,7 @@ This document teaches you how to do the following: * Create and validate SQL queries * Use created queries in the **Query External Database** activity -For information on how to configure the connector, see [External Database Connector](/appstore/modules/external-database-connector/). For information on the database wizard and how to connect using the External Database Connection document, see [External Database Connection](/refguide/external-database-connection/). +For information on how to configure the connector, see [External Database Connector](/appstore/modules/external-database-connector/). For information on the database wizard and how to connect using the External Database Connection document, see [External Database Connection](/refguide10/external-database-connection/). ## Prerequisites @@ -74,7 +74,7 @@ For example: `*Database*_DBsource.` {{% alert color="info" %}} Values for these constants are stored in the active configuration of the user. The password is stored as a private value. -Constants are an environment variable whose values can differ per environment, When you deploy an app on Mendix Cloud, values for constants are not added. For more information, see [Constants](https://docs.mendix.com/refguide/configuration/#constants){{% /alert %}} +Constants are an environment variable whose values can differ per environment, When you deploy an app on Mendix Cloud, values for constants are not added. For more information, see [Constants](https://docs.mendix.com/refguide10/configuration/#constants){{% /alert %}} {{% alert color="info" %}} For free apps, make sure to add the default values to the constant in Studio Pro. For more information, see the [Deploying a Free App](https://docs.mendix.com/developerportal/deploy/mendix-cloud-deploy/deploying-an-app/#deploy-free-app) section below. {{% /alert %}} diff --git a/content/en/docs/refguide10/modeling/integration/web-services/_index.md b/content/en/docs/refguide10/modeling/integration/web-services/_index.md index 06575794b1b..620b5675592 100644 --- a/content/en/docs/refguide10/modeling/integration/web-services/_index.md +++ b/content/en/docs/refguide10/modeling/integration/web-services/_index.md @@ -1,6 +1,6 @@ --- title: "Web Services" -url: /refguide/integration/web-services/ +url: /refguide10/integration/web-services/ weight: 50 description: "Introduces web services (SOAP)." --- @@ -11,12 +11,12 @@ You can publish your own web services in a Mendix application. Published web ser To publish web services, see: -* [Published Web Services](/refguide/published-web-services/), an overview in the Studio Pro guide +* [Published Web Services](/refguide10/published-web-services/), an overview in the Studio Pro guide * [Expose a Web Service](/howto/integration/expose-a-web-service/) for step-by-step instructions To consume web services, see: -* [Consumed Web Services](/refguide/consumed-web-services/), an overview in the Studio Pro guide -* [Call Web Service](/refguide/call-web-service-action/), a description of the microflow action +* [Consumed Web Services](/refguide10/consumed-web-services/), an overview in the Studio Pro guide +* [Call Web Service](/refguide10/call-web-service-action/), a description of the microflow action * [Consume a Simple Web Service](/howto/integration/consume-a-simple-web-service/) for step-by-step instructions * [Consume a Complex Web Service](/howto/integration/consume-a-complex-web-service/) for step-by-step instructions diff --git a/content/en/docs/refguide10/modeling/integration/web-services/consumed-web-services/_index.md b/content/en/docs/refguide10/modeling/integration/web-services/consumed-web-services/_index.md index 82c2ea049a2..5facf5d2a67 100644 --- a/content/en/docs/refguide10/modeling/integration/web-services/consumed-web-services/_index.md +++ b/content/en/docs/refguide10/modeling/integration/web-services/consumed-web-services/_index.md @@ -1,13 +1,13 @@ --- title: "Consumed Web Services" -url: /refguide/consumed-web-services/ +url: /refguide10/consumed-web-services/ weight: 25 #If moving or renaming this doc file, implement a temporary redirect and let the respective team know they should update the URL in the product. See Mapping to Products for more details. --- ## Introduction -This document describes imported web services. For further information on the consumed web services screen, see [Consumed Web Service](/refguide/consumed-web-service/). +This document describes imported web services. For further information on the consumed web services screen, see [Consumed Web Service](/refguide10/consumed-web-service/). ## Web Services @@ -21,7 +21,7 @@ To use third-party web services in Studio Pro, there is a microflow activity ava ### Published web Services -To expose functionality in a Mendix Server (thus enabling other systems to make use of certain functions), a microflow can easily be published as a web service. For more information, see [Published Web Services](/refguide/published-web-services/). +To expose functionality in a Mendix Server (thus enabling other systems to make use of certain functions), a microflow can easily be published as a web service. For more information, see [Published Web Services](/refguide10/published-web-services/). ## XML @@ -42,8 +42,8 @@ In this case, the object 'person' is described with the corresponding values for XML can be used in Studio Pro for serialization and de-serialization in order to export and import data. -* See [XML Schemas](/refguide/xml-schemas/) for further information on importing XSDs into your application. -* See [Import Mappings](/refguide/import-mappings/) for further information on mapping XML documents to domain model entities and [Export Mappings](/refguide/export-mappings/) for further information on exporting domain entities as XML. +* See [XML Schemas](/refguide10/xml-schemas/) for further information on importing XSDs into your application. +* See [Import Mappings](/refguide10/import-mappings/) for further information on mapping XML documents to domain model entities and [Export Mappings](/refguide10/export-mappings/) for further information on exporting domain entities as XML. ## SOAP {#soap} @@ -55,7 +55,7 @@ An XSD (XML Schema Definition) document is a document that describes how the XML When importing an XSD file into your app, Studio Pro only accepts absolute paths, and the accepted schemes are limited to files or links starting with `https` or `http`. -When importing or exporting an [XML schema](/refguide/xml-schemas/), the XSD file needs to be in your app. If the XML refers to an XSD file that is not in your app, a runtime error will be thrown. Add the XSD file manually to resolve this error. +When importing or exporting an [XML schema](/refguide10/xml-schemas/), the XSD file needs to be in your app. If the XML refers to an XSD file that is not in your app, a runtime error will be thrown. Add the XSD file manually to resolve this error. ## WSDL {#wdsl} @@ -66,11 +66,11 @@ WDSLs have associated [XSD](#xsd) documents that are used to validate the data. Using imported web services, you can import a web service from an external application to use in your own application. You can import web services from third parties (such as the [w3schools example service](https://www.w3schools.com/xml/tempconvert.asmx?WSDL)) or from other Mendix apps. -To use these imported web services in a microflow, see [Call Web Service](/refguide/call-web-service-action/). +To use these imported web services in a microflow, see [Call Web Service](/refguide10/call-web-service-action/). ## Proxies -If you are behind a firewall, you may have to use a proxy to call a web service. Specific information on how to configure the JVM to use a proxy can be found in [Using a Proxy to Call a Web Service](/refguide/using-a-proxy-to-call-a-webservice/). +If you are behind a firewall, you may have to use a proxy to call a web service. Specific information on how to configure the JVM to use a proxy can be found in [Using a Proxy to Call a Web Service](/refguide10/using-a-proxy-to-call-a-webservice/). ## Protocols @@ -86,4 +86,4 @@ Mendix supports consuming web service data according to the following protocols: * WS-ReliableMessaging 1.1 * WS-Addressing 1.0 (from Mendix 8.16) -To connect to a Microsoft .NET web service, you have to configure your web service to use basicHttpBinding (SOAP 1.1) or wsHttpBinding (SOAP 1.2). For a secure connection, you have to configure SSL and to set the security mode to `Transport` with clientCredentialType `Basic` in the *web.config* file. The user credentials can be configured in Studio Pro as a **Call Web Service** activity as described in [Use HTTP authentication](/refguide/call-web-service-action/#http-headers). +To connect to a Microsoft .NET web service, you have to configure your web service to use basicHttpBinding (SOAP 1.1) or wsHttpBinding (SOAP 1.2). For a secure connection, you have to configure SSL and to set the security mode to `Transport` with clientCredentialType `Basic` in the *web.config* file. The user credentials can be configured in Studio Pro as a **Call Web Service** activity as described in [Use HTTP authentication](/refguide10/call-web-service-action/#http-headers). diff --git a/content/en/docs/refguide10/modeling/integration/web-services/consumed-web-services/consume-a-complex-web-service.md b/content/en/docs/refguide10/modeling/integration/web-services/consumed-web-services/consume-a-complex-web-service.md index 4b4baad1603..66c41c80a96 100644 --- a/content/en/docs/refguide10/modeling/integration/web-services/consumed-web-services/consume-a-complex-web-service.md +++ b/content/en/docs/refguide10/modeling/integration/web-services/consumed-web-services/consume-a-complex-web-service.md @@ -1,6 +1,6 @@ --- title: "Consume a Complex Web Service" -url: /refguide/integration/consume-a-complex-web-service/ +url: /refguide10/integration/consume-a-complex-web-service/ weight: 8 description: "Describes how to import a web service both directly and using the wizard as well as how to configure a web service call." aliases: @@ -18,7 +18,7 @@ This how-to teaches you how to do the following: ## Importing a Web Service -You can import a web service document into your app. For more information, see [Consumed Web Services](/refguide/consumed-web-services/). +You can import a web service document into your app. For more information, see [Consumed Web Services](/refguide10/consumed-web-services/). To import a web service directly, follow these steps: @@ -44,7 +44,7 @@ To configure the web service call, follow these steps: {{% alert color="info" %}}Make sure the microflow either creates the variables required as arguments for the web service call or has them passed to it.{{% /alert %}} -2. If you are creating your own microflow, add the [Call web service](/refguide/call-web-service-action/) activity to the microflow. For details on how to add activities to a microflow, see [Activities](/refguide/activities/). +2. If you are creating your own microflow, add the [Call web service](/refguide10/call-web-service-action/) activity to the microflow. For details on how to add activities to a microflow, see [Activities](/refguide10/activities/). 3. Double-click the activity to open the **Call Web Service** properties editor and in the **Operation** field, click **Select**. 4. In the **Select Web Service Operation** dialog box, you can select the operation for this web service call: diff --git a/content/en/docs/refguide10/modeling/integration/web-services/consumed-web-services/consume-a-simple-web-service.md b/content/en/docs/refguide10/modeling/integration/web-services/consumed-web-services/consume-a-simple-web-service.md index 7c5dc792fc8..9d062fba75d 100644 --- a/content/en/docs/refguide10/modeling/integration/web-services/consumed-web-services/consume-a-simple-web-service.md +++ b/content/en/docs/refguide10/modeling/integration/web-services/consumed-web-services/consume-a-simple-web-service.md @@ -1,6 +1,6 @@ --- title: "Consume a Simple Web Service" -url: /refguide/integration/consume-a-simple-web-service/ +url: /refguide10/integration/consume-a-simple-web-service/ weight: 7 description: "Describes how to import a WSDL and create logic to call the web service." aliases: @@ -92,7 +92,7 @@ To create logic to call the web service, follow these steps: {{< figure src="/attachments/refguide10/modeling/integration/consume-a-simple-web-service/completed-microflow.png" class="no-border" >}} -20. Create a menu item that triggers this microflow. For details on how to create a menu item, see [Setting Up Navigation](/refguide/setting-up-the-navigation-structure/). +20. Create a menu item that triggers this microflow. For details on how to create a menu item, see [Setting Up Navigation](/refguide10/setting-up-the-navigation-structure/). 21. Deploy the application and trigger the microflow to call the web service operation. You should see a message with the converted temperature. diff --git a/content/en/docs/refguide10/modeling/integration/web-services/consumed-web-services/consumed-web-service.md b/content/en/docs/refguide10/modeling/integration/web-services/consumed-web-services/consumed-web-service.md index c68791da120..ba2a2656bde 100644 --- a/content/en/docs/refguide10/modeling/integration/web-services/consumed-web-services/consumed-web-service.md +++ b/content/en/docs/refguide10/modeling/integration/web-services/consumed-web-services/consumed-web-service.md @@ -1,12 +1,12 @@ --- title: "Consumed Web Service" -url: /refguide/consumed-web-service/ +url: /refguide10/consumed-web-service/ #If moving or renaming this doc file, implement a temporary redirect and let the respective team know they should update the URL in the product. See Mapping to Products for more details. --- ## Introduction -This document describes the properties of an imported web service. For a general overview of imported web services, see the [Consumed Web Services](/refguide/consumed-web-services/) overview documentation. +This document describes the properties of an imported web service. For a general overview of imported web services, see the [Consumed Web Services](/refguide10/consumed-web-services/) overview documentation. ## WSDL Source @@ -25,7 +25,7 @@ This part specifies the services to be found in the WSDL. * **Name** – the name of the service * **Port** – the selected port * **Location** – where the service is located -* **Location constant** – can be used to add additional locations for a service in the case of, for example, when the URL of the SOAP service changes when moving from a development to a production environment; see also [Constants](/refguide/constants/) +* **Location constant** – can be used to add additional locations for a service in the case of, for example, when the URL of the SOAP service changes when moving from a development to a production environment; see also [Constants](/refguide10/constants/) If there is a multiple-port service defined in the WSDL, a pop-up dialog box will enable you to select which of the ports to use. @@ -43,4 +43,4 @@ Message optimization will only be applied when you use one or more export mappin ## Calling Consumed Web Services -For details on how to call a consumed web service, see [Call Web Service](/refguide/call-web-service-action/). +For details on how to call a consumed web service, see [Call Web Service](/refguide10/call-web-service-action/). diff --git a/content/en/docs/refguide10/modeling/integration/web-services/consumed-web-services/numeric-formatting.md b/content/en/docs/refguide10/modeling/integration/web-services/consumed-web-services/numeric-formatting.md index c8052c5af3a..9767c5b3a81 100644 --- a/content/en/docs/refguide10/modeling/integration/web-services/consumed-web-services/numeric-formatting.md +++ b/content/en/docs/refguide10/modeling/integration/web-services/consumed-web-services/numeric-formatting.md @@ -1,11 +1,11 @@ --- title: "Numeric Formatting" -url: /refguide/numeric-formatting/ +url: /refguide10/numeric-formatting/ --- ## Behavior in Your Mendix Application -A number will be translated into XML untouched, except that any trailing zeroes will be stripped and the representation will always be in non-scientific notation. The rounding mode used is configured in the [App Settings](/refguide/app-settings/). +A number will be translated into XML untouched, except that any trailing zeroes will be stripped and the representation will always be in non-scientific notation. The rounding mode used is configured in the [App Settings](/refguide10/app-settings/). ## XML Schema Facets diff --git a/content/en/docs/refguide10/modeling/integration/web-services/published-web-services/_index.md b/content/en/docs/refguide10/modeling/integration/web-services/published-web-services/_index.md index 1fd63cb82fc..fefddd2e013 100644 --- a/content/en/docs/refguide10/modeling/integration/web-services/published-web-services/_index.md +++ b/content/en/docs/refguide10/modeling/integration/web-services/published-web-services/_index.md @@ -1,13 +1,13 @@ --- title: "Published Web Services" -url: /refguide/published-web-services/ +url: /refguide10/published-web-services/ weight: 30 #If moving or renaming this doc file, implement a temporary redirect and let the respective team know they should update the URL in the product. See Mapping to Products for more details. --- ## Introduction -This document describes published web services. If you're looking for specific information on the published web services screen, see the [Published web service](/refguide/published-web-service/) documentation. +This document describes published web services. If you're looking for specific information on the published web services screen, see the [Published web service](/refguide10/published-web-service/) documentation. You can publish your own web services in a Mendix application. Published web services are based on [SOAP 1.1](https://www.w3.org/TR/2000/NOTE-SOAP-20000508/). These web services are made up of operations. Other applications can then call operations of this web service and returns a result. This result is based on a microflow that is executed when the web service is called. diff --git a/content/en/docs/refguide10/modeling/integration/web-services/published-web-services/expose-a-web-service.md b/content/en/docs/refguide10/modeling/integration/web-services/published-web-services/expose-a-web-service.md index b924696a6b0..35ef0a83039 100644 --- a/content/en/docs/refguide10/modeling/integration/web-services/published-web-services/expose-a-web-service.md +++ b/content/en/docs/refguide10/modeling/integration/web-services/published-web-services/expose-a-web-service.md @@ -1,6 +1,6 @@ --- title: "Expose a Web Service" -url: /refguide/integration/expose-a-web-service/ +url: /refguide10/integration/expose-a-web-service/ weight: 12 description: "Describes how Mendix supports exposing the functionality and data of your app using web services." aliases: @@ -28,12 +28,12 @@ This how-to was written based on Studio Pro 9.24. All the images, names, and ste ## Data Structure and GUI -1. Create the following **Customer** entity in your domain model (for details on how to create an entity, see [Configuring a Domain Model](/refguide/configuring-a-domain-model/)): +1. Create the following **Customer** entity in your domain model (for details on how to create an entity, see [Configuring a Domain Model](/refguide10/configuring-a-domain-model/)): {{< figure src="/attachments/refguide10/modeling/integration/expose-a-web-service/8945665.png" class="no-border" >}} 2. Create overview and detail pages to manage objects of the **Customer** type (for details on how to create overview and detail pages, see [How to Create Your First Two Overview and Detail Pages](/howto/front-end/create-your-first-two-overview-and-detail-pages/)). -3. Create a menu item to access the customer overview page (for details on how to create menu items, see [Setting Up Navigation](/refguide/setting-up-the-navigation-structure/)). +3. Create a menu item to access the customer overview page (for details on how to create menu items, see [Setting Up Navigation](/refguide10/setting-up-the-navigation-structure/)). 4. Run the application and add some data to expose in the web service. ## Creating a Published Web Service{#create-published-web-service} @@ -51,7 +51,7 @@ To create a published web service, follow these steps: {{< figure src="/attachments/refguide10/modeling/integration/expose-a-web-service/18581713.png" class="no-border" >}} - * On the **Settings** tab, you can configure the other settings. Do change them before publishing your web service, especially the **Target namespace** (for details on these settings, see [Published Web Service](/refguide/published-web-service/)): + * On the **Settings** tab, you can configure the other settings. Do change them before publishing your web service, especially the **Target namespace** (for details on these settings, see [Published Web Service](/refguide10/published-web-service/)): {{< figure src="/attachments/refguide10/modeling/integration/expose-a-web-service/18581712.png" class="no-border" >}} @@ -61,7 +61,7 @@ To create a published web service, follow these steps: To create the functionality to expose, follow these steps: -1. Create a microflow that retrieves and returns a list of customers from the database (for details on how to create a microflow, see [Triggering a Microflow From a Menu Item](/refguide/triggering-microflow-from-menu-item/)). +1. Create a microflow that retrieves and returns a list of customers from the database (for details on how to create a microflow, see [Triggering a Microflow From a Menu Item](/refguide10/triggering-microflow-from-menu-item/)). 2. Add two input parameters to dynamically set the range settings of the retrieve action. Configure the range options of the retrieve action like this: {{< figure src="/attachments/refguide10/modeling/integration/expose-a-web-service/18581709.png" class="no-border" >}} @@ -87,7 +87,7 @@ To publish a microflow, follow these steps: 3. You should now see the **Operation Operation** properties editor. Take note of the following tab details: * On the **General** tab, you can change the **Name** and **Documentation**. - * On the **Parameters** tab, you can mark the input parameters as **Optional** and **Nillable** (needed when adding [parameters](/refguide/parameter/) during the [creating the functionality to expose](#expose) step) + * On the **Parameters** tab, you can mark the input parameters as **Optional** and **Nillable** (needed when adding [parameters](/refguide10/parameter/) during the [creating the functionality to expose](#expose) step) * On the **Return type** tab, you can configure the return type. 4. Click **Select...** to select which attributes and associations of the return object **Customer** you want to expose: diff --git a/content/en/docs/refguide10/modeling/integration/web-services/published-web-services/operations.md b/content/en/docs/refguide10/modeling/integration/web-services/published-web-services/operations.md index 589ea77ac28..0c143d13515 100644 --- a/content/en/docs/refguide10/modeling/integration/web-services/published-web-services/operations.md +++ b/content/en/docs/refguide10/modeling/integration/web-services/published-web-services/operations.md @@ -1,6 +1,6 @@ --- title: "Operations" -url: /refguide/operations/ +url: /refguide10/operations/ --- ## Introduction diff --git a/content/en/docs/refguide10/modeling/integration/web-services/published-web-services/published-web-service.md b/content/en/docs/refguide10/modeling/integration/web-services/published-web-services/published-web-service.md index 7ffba9cbd6b..5b1df4dab06 100644 --- a/content/en/docs/refguide10/modeling/integration/web-services/published-web-services/published-web-service.md +++ b/content/en/docs/refguide10/modeling/integration/web-services/published-web-services/published-web-service.md @@ -1,17 +1,17 @@ --- title: "Published Web Service" -url: /refguide/published-web-service/ +url: /refguide10/published-web-service/ --- ## Introduction -This document describes the properties of a published web service. If you want a general overview of how Mendix publishes microflows as web services, see [Published Web Services](/refguide/published-web-services/). +This document describes the properties of a published web service. If you want a general overview of how Mendix publishes microflows as web services, see [Published Web Services](/refguide10/published-web-services/). ## Operations {{< figure src="/attachments/refguide10/modeling/integration/published-web-services/published-web-service/16843888.png" class="no-border" >}} -Provide the actual [operations](/refguide/operations/) of which the web service is composed. Each of these operations is a microflow. +Provide the actual [operations](/refguide10/operations/) of which the web service is composed. Each of these operations is a microflow. ## Settings diff --git a/content/en/docs/refguide10/modeling/integration/web-services/testing-web-services-using-soapui.md b/content/en/docs/refguide10/modeling/integration/web-services/testing-web-services-using-soapui.md index 86951a13fb3..ae0a3eddcd7 100644 --- a/content/en/docs/refguide10/modeling/integration/web-services/testing-web-services-using-soapui.md +++ b/content/en/docs/refguide10/modeling/integration/web-services/testing-web-services-using-soapui.md @@ -1,6 +1,6 @@ --- title: "Test Web Services Using SoapUI" -url: /refguide/integration/testing-web-services-using-soapui/ +url: /refguide10/integration/testing-web-services-using-soapui/ weight: 30 description: "Describes how to create a SOAP project with SoapUI, create assertions in SoapUI, and build an automated test using SoapUI." aliases: @@ -224,8 +224,8 @@ Congratulations! You have created your first automated test with SoapUI. * [Debugging Java actions remotely](/howto/monitoring-troubleshooting/debug-java-actions-remotely/) * [Log Levels](/howto/monitoring-troubleshooting/log-levels/) * [Debugging Java Actions](/howto/monitoring-troubleshooting/debug-java-actions/) -* [Debugging Microflows and Nanoflows](/refguide/debug-microflows-and-nanoflows/) -* [Debugging Microflows Remotely](/refguide/debug-microflows-remotely/) +* [Debugging Microflows and Nanoflows](/refguide10/debug-microflows-and-nanoflows/) +* [Debugging Microflows Remotely](/refguide10/debug-microflows-remotely/) Learn more about this topic using the following helpful links: diff --git a/content/en/docs/refguide10/modeling/mendix-ai-assistance/_index.md b/content/en/docs/refguide10/modeling/mendix-ai-assistance/_index.md index 12c9386c47e..953869a5951 100644 --- a/content/en/docs/refguide10/modeling/mendix-ai-assistance/_index.md +++ b/content/en/docs/refguide10/modeling/mendix-ai-assistance/_index.md @@ -1,10 +1,10 @@ --- title: "Mendix AI Assistance (Maia)" -url: /refguide/mendix-ai-assistance/ +url: /refguide10/mendix-ai-assistance/ weight: 45 description: "Describes Mendix AI Assistance (Maia) in Studio Pro." aliases: - - /refguide/mx-assist-studio-pro/ + - /refguide10/mx-assist-studio-pro/ --- ## Introduction @@ -23,22 +23,22 @@ Maia in Mendix Studio Pro has the following capabilities: Guidance: -* **Maia Chat** (generally available in Studio Pro 10.12.0) – a built-in chat interface powered by Generative AI in Studio Pro. It answers questions about app development in Mendix, including how to apply concepts, best practices, and development patterns. For more information, see [Maia Chat](/refguide/maia-chat/). -* **Maia Learn** (available in Studio Pro 10.18 and above) - helps you to quickly learn Mendix core concepts and get started with Studio Pro. For more information, see [Maia Learn](/refguide/maia-learn/). -* **Maia Explain** (currently an [experimental feature](/releasenotes/beta-features/) introduced in Studio Pro 10.21.0) – an AI-powered tool that helps you easily understand a microflow or a nanoflow. It explains the general purpose of the logic and highlights specific technical details to help you understand the logic further. For more information, see [Maia Explain](/refguide/maia-explain/). +* **Maia Chat** (generally available in Studio Pro 10.12.0) – a built-in chat interface powered by Generative AI in Studio Pro. It answers questions about app development in Mendix, including how to apply concepts, best practices, and development patterns. For more information, see [Maia Chat](/refguide10/maia-chat/). +* **Maia Learn** (available in Studio Pro 10.18 and above) - helps you to quickly learn Mendix core concepts and get started with Studio Pro. For more information, see [Maia Learn](/refguide10/maia-learn/). +* **Maia Explain** (currently an [experimental feature](/releasenotes/beta-features/) introduced in Studio Pro 10.21.0) – an AI-powered tool that helps you easily understand a microflow or a nanoflow. It explains the general purpose of the logic and highlights specific technical details to help you understand the logic further. For more information, see [Maia Explain](/refguide10/maia-explain/). Recommenders: -* **Best Practice Recommender** – helps you inspect your app against Mendix development best practice detecting and pinpointing development anti-patterns and, in some cases, automatically fixing them. For more information, see [Best Practice Recommender](/refguide/best-practice-recommender/). -* **Logic Recommender** – helps you model and configure microflows, nanoflows, and rules in Mendix Studio Pro. It gives you contextualized recommendations on the next best activity based on the activities and parameters that are already configured in your application. For more information, see [Logic Recommender](/refguide/logic-recommender/). -* **UI Recommender** (available in Studio Pro 10.18 and above) – helps you easily add new widgets to a page in Mendix Studio Pro without losing the context of what you are currently working on. For more information, see [UI Recommender](/refguide/ui-recommender/). -* **Workflow Recommender** (available in Studio Pro 10.12 and above) – helps you model and configure workflows in Mendix Studio Pro. It gives you contextualized recommendations on the next best activity in your workflow based on context-related information. For more information, see [Workflow Recommender](/refguide/workflow-recommender/). +* **Best Practice Recommender** – helps you inspect your app against Mendix development best practice detecting and pinpointing development anti-patterns and, in some cases, automatically fixing them. For more information, see [Best Practice Recommender](/refguide10/best-practice-recommender/). +* **Logic Recommender** – helps you model and configure microflows, nanoflows, and rules in Mendix Studio Pro. It gives you contextualized recommendations on the next best activity based on the activities and parameters that are already configured in your application. For more information, see [Logic Recommender](/refguide10/logic-recommender/). +* **UI Recommender** (available in Studio Pro 10.18 and above) – helps you easily add new widgets to a page in Mendix Studio Pro without losing the context of what you are currently working on. For more information, see [UI Recommender](/refguide10/ui-recommender/). +* **Workflow Recommender** (available in Studio Pro 10.12 and above) – helps you model and configure workflows in Mendix Studio Pro. It gives you contextualized recommendations on the next best activity in your workflow based on context-related information. For more information, see [Workflow Recommender](/refguide10/workflow-recommender/). Generators: -* **Domain Model Generator** (currently an [experimental feature](/releasenotes/beta-features/) introduced in Studio Pro 10.13.0) - an AI-powered tool that you can use for generating a [domain model](/refguide/domain-model/). It helps you to generate entities and associations based on text input. It currently only works for empty domain models. For more information, see [Domain Model Generator](/refguide/domain-model-generator/). -* **Page Generator** (currently an [experimental feature](/releasenotes/beta-features/) introduced in Studio Pro 10.21.0) - an AI-powered tool that lets you generate a [page](/refguide/page/). It helps you add and configure widgets based on a text input and an optional image. For more information, see [Page Generator](/refguide/page-generator/). -* **Translation Generator** (currently an [experimental feature](/releasenotes/beta-features/) introduced in Studio Pro 10.12.0) - an AI-powered translation tool available in Mendix Studio Pro. Currently, it can be used for [batch translate](/refguide/translation-generator/#batch-translate) and [translating system texts](/refguide/translation-generator/#translate-system-text) in the new web-based system texts editor (in Studio Pro 10.14.0 and above). For more information, see [Translation Generator](/refguide/translation-generator/). +* **Domain Model Generator** (currently an [experimental feature](/releasenotes/beta-features/) introduced in Studio Pro 10.13.0) - an AI-powered tool that you can use for generating a [domain model](/refguide10/domain-model/). It helps you to generate entities and associations based on text input. It currently only works for empty domain models. For more information, see [Domain Model Generator](/refguide10/domain-model-generator/). +* **Page Generator** (currently an [experimental feature](/releasenotes/beta-features/) introduced in Studio Pro 10.21.0) - an AI-powered tool that lets you generate a [page](/refguide10/page/). It helps you add and configure widgets based on a text input and an optional image. For more information, see [Page Generator](/refguide10/page-generator/). +* **Translation Generator** (currently an [experimental feature](/releasenotes/beta-features/) introduced in Studio Pro 10.12.0) - an AI-powered translation tool available in Mendix Studio Pro. Currently, it can be used for [batch translate](/refguide10/translation-generator/#batch-translate) and [translating system texts](/refguide10/translation-generator/#translate-system-text) in the new web-based system texts editor (in Studio Pro 10.14.0 and above). For more information, see [Translation Generator](/refguide10/translation-generator/). ## Maia in Mendix Portal diff --git a/content/en/docs/refguide10/modeling/mendix-ai-assistance/best-practice-recommender/_index.md b/content/en/docs/refguide10/modeling/mendix-ai-assistance/best-practice-recommender/_index.md index 46581a14548..ef6c3980b21 100644 --- a/content/en/docs/refguide10/modeling/mendix-ai-assistance/best-practice-recommender/_index.md +++ b/content/en/docs/refguide10/modeling/mendix-ai-assistance/best-practice-recommender/_index.md @@ -1,10 +1,10 @@ --- title: "Best Practice Recommender" -url: /refguide/best-practice-recommender/ +url: /refguide10/best-practice-recommender/ weight: 10 description: "Describes Best Practice Recommender in Mendix Studio Pro." aliases: - - /refguide/mx-assist-performance-bot/ + - /refguide10/mx-assist-performance-bot/ #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. --- @@ -30,7 +30,7 @@ It consists of a three-level assistance: ## Best Practice Recommender Pane -To access settings of Best Practice Recommender, open **Edit** > **Preferences** > the **Maia** tab > **Best Practice Recommender** section. For more information, see [Preferences](/refguide/preferences-dialog/). +To access settings of Best Practice Recommender, open **Edit** > **Preferences** > the **Maia** tab > **Best Practice Recommender** section. For more information, see [Preferences](/refguide10/preferences-dialog/). Best Practice Recommender is enabled by default and is designed as a pane. To access the **Best Practice Recommender** pane, click **View** > **Best Practice Recommender**. @@ -102,7 +102,7 @@ The recommender will detect anti-patterns and list them in the pane under the as To view the element or the document where the anti-pattern is located, double-click the message line or right-click the message line and choose **Go to Cause** or **Go to Usage** in the drop-down menu. {{% alert color="info" %}} -Best Practice Recommender only detects a subset of the [documented best practices](/refguide/performance-best-practices/). This is to avoid any false positives and to maximize the quality rather than the quantity of the recommendations. +Best Practice Recommender only detects a subset of the [documented best practices](/refguide10/performance-best-practices/). This is to avoid any false positives and to maximize the quality rather than the quantity of the recommendations. {{% /alert %}} ### Recommending a Fix {#recommending} @@ -137,10 +137,10 @@ After the issue is auto-fixed, a pop-up window listing the changes appears. You ## Best Practice Recommender from the Command Line -Best Practice Recommender may also be executed from the command line, via the [mx Command-Line Tool](/refguide/mx-command-line-tool/app/#check). +Best Practice Recommender may also be executed from the command line, via the [mx Command-Line Tool](/refguide10/mx-command-line-tool/app/#check). ## Read More -* [Mendix AI Assistance (Maia)](/refguide/mendix-ai-assistance/) -* [Logic Recommender](/refguide/logic-recommender//) -* [Mendix Best Practices for Development](/refguide/dev-best-practices/) +* [Mendix AI Assistance (Maia)](/refguide10/mendix-ai-assistance/) +* [Logic Recommender](/refguide10/logic-recommender//) +* [Mendix Best Practices for Development](/refguide10/dev-best-practices/) diff --git a/content/en/docs/refguide10/modeling/mendix-ai-assistance/best-practice-recommender/performance-best-practices.md b/content/en/docs/refguide10/modeling/mendix-ai-assistance/best-practice-recommender/performance-best-practices.md index add5a7c226d..97808c35f64 100644 --- a/content/en/docs/refguide10/modeling/mendix-ai-assistance/best-practice-recommender/performance-best-practices.md +++ b/content/en/docs/refguide10/modeling/mendix-ai-assistance/best-practice-recommender/performance-best-practices.md @@ -1,6 +1,6 @@ --- title: "Recommendations from Best Practice Recommender" -url: /refguide/performance-best-practices/ +url: /refguide10/performance-best-practices/ description: "Describes Mendix best practices from Best Practice Recommender." #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. #The anchors below are all mapped, so they should not be removed or changed. @@ -8,7 +8,7 @@ description: "Describes Mendix best practices from Best Practice Recommender." ## Introduction -This document outlines all the best practices provided by [Best Practice Recommender](/refguide/best-practice-recommender/) in Studio Pro. +This document outlines all the best practices provided by [Best Practice Recommender](/refguide10/best-practice-recommender/) in Studio Pro. ## Performance Best Practices {#performance-best-practices} @@ -16,7 +16,7 @@ This section outlines performance issues and Mendix best practices for optimizin ### Calculated Attributes Best Practices [MXP001][MXP002] {#mxp001} -When an object has calculated attributes, each time this object is changed or retrieved from the storage, its calculated attributes are computed by calling a microflow. If the logic behind calculated attributes retrieves other objects or executes Integration activities, it will result in an extra load (and delay) while the outcome of the logic is not used. Creating calculated attributes always affects performance, so you should evaluate whether it is necessary to use them. For more information on attributes, see [Attributes](/refguide/attributes/). +When an object has calculated attributes, each time this object is changed or retrieved from the storage, its calculated attributes are computed by calling a microflow. If the logic behind calculated attributes retrieves other objects or executes Integration activities, it will result in an extra load (and delay) while the outcome of the logic is not used. Creating calculated attributes always affects performance, so you should evaluate whether it is necessary to use them. For more information on attributes, see [Attributes](/refguide10/attributes/). In most cases, the logic behind a calculated attribute is always executed when the object is used. It is executed whenever there is no retrieval schema for a Retrieve activity (which is the case with data grids). The logic behind calculated attributes is executed in the following elements: @@ -58,13 +58,13 @@ To fix the issue, delete the unused calculated attribute. ### Add an Index to Attributes in Sort Order [MXP003] {#mxp003} -[Sort order](/refguide/sort-order/) is used to sort items in data containers. Sort order can be used in three different types of data containers: +[Sort order](/refguide10/sort-order/) is used to sort items in data containers. Sort order can be used in three different types of data containers: * Data grid * Template grid * Reference set selector -Each sort item in the sort order is sequentially utilized to order the data in the widget. Adding an [index](/refguide/indexes/) on the attributes used in sort items can make the sorting process faster, subsequently improve the performance of the page. +Each sort item in the sort order is sequentially utilized to order the data in the widget. Adding an [index](/refguide10/indexes/) on the attributes used in sort items can make the sorting process faster, subsequently improve the performance of the page. There can be four operations performed on an entity: create, update, delete, and select. Entities, for which the number of create, update, and delete operations is much greater than the number of select operations can be called *write-intensive* because most operations mutate data in a database rather than select from it. @@ -78,7 +78,7 @@ To fix the issue, add an index on attributes which are used as sort items in sor ### Avoid Committing Objects Inside a Loop with Create Object, Change Object, or Commit Activities [MXP004][MXP005] {#mxp004} -In a microflow, Mendix objects can be persisted to the database with three activities: the **Create object** activity, **Change object** activity, and **Commit** activity. For objects that are created or changed in a loop, it is not the best practice to commit them immediately in the loop, as this comes with an unnecessary performance overhead. Instead, it is recommended to perform a batch commit of several created/changed objects with the **Commit** activity outside of the loop to reduce database, application, and network overhead. For more information on **Create object**, **Change object**, and **Commit** activities, see [Create Object](/refguide/create-object/), [Change Object](/refguide/change-object/), and [Commit Object(s)](/refguide/committing-objects/). +In a microflow, Mendix objects can be persisted to the database with three activities: the **Create object** activity, **Change object** activity, and **Commit** activity. For objects that are created or changed in a loop, it is not the best practice to commit them immediately in the loop, as this comes with an unnecessary performance overhead. Instead, it is recommended to perform a batch commit of several created/changed objects with the **Commit** activity outside of the loop to reduce database, application, and network overhead. For more information on **Create object**, **Change object**, and **Commit** activities, see [Create Object](/refguide10/create-object/), [Change Object](/refguide10/change-object/), and [Commit Object(s)](/refguide10/committing-objects/). Committing lists of objects has the following benefits compared to individual commits: @@ -103,7 +103,7 @@ To fix the issue for the **Commit** activity, commit the list after the loop whe ### Convert Eligible Microflows to Nanoflows [MXP006] {#mxp006} -Nanoflows are executed directly on an end-user's device or browser. This makes them ideal for offline usage. In contrast, microflows run in the Runtime server, thus involve usage of network traffic. Converting an eligible microflow to a nanoflow helps avoiding communication over networks and significantly boosts app performance. For more information on when to use on nanoflows and when to use them, see [Nanoflows](/refguide/nanoflows/). +Nanoflows are executed directly on an end-user's device or browser. This makes them ideal for offline usage. In contrast, microflows run in the Runtime server, thus involve usage of network traffic. Converting an eligible microflow to a nanoflow helps avoiding communication over networks and significantly boosts app performance. For more information on when to use on nanoflows and when to use them, see [Nanoflows](/refguide10/nanoflows/). You can identify convertible microflows using the following criteria: @@ -111,7 +111,7 @@ You can identify convertible microflows using the following criteria: * Microflow has logic meant for offline applications. * Microflow has logic for online applications but does not involve any database related actions like a committing **Create object**, **Commit**, **Retrieve**, and **Rollback** activities. * Microflow has at-most one database related action. (Not the best practice) -* Microflows that contain nanoflow-compatible activities. For information on activities supported by nanoflows, see [Activities](/refguide/activities/). +* Microflows that contain nanoflow-compatible activities. For information on activities supported by nanoflows, see [Activities](/refguide10/activities/). * Microflow expressions do not contain the following variables: `$latestSoapFault`, `$latestHttpResponse`, `$currentSession`, `$currentUser`, `$currentDeviceType`. These variables are not supported by nanoflows. * As nanoflows are executed in the context of the current user, ensure that the microflow has only operations for which the current user is authorized. Otherwise the converted nanoflow will fail. @@ -130,7 +130,7 @@ To fix the issue, do the following: ### Add Index to Attributes that Are Used in XPath Expressions [MXP007] {#mxp007} -[XPath expressions](/refguide/xpath/) can take a long time to run depending on how many records the underlying entities contain. For read-intensive entities, it makes sense to add an index on the attributes used in XPath expressions. This can significantly boost performance of object retrieval from the database. XPath expressions can also be optimized by ordering them in such a way that the first class excludes as many items as possible. This can be achieved by using indexed attributes earlier in the expression. This will make the rest of the data set to join/filter as small as possible and reduce the load on the database. +[XPath expressions](/refguide10/xpath/) can take a long time to run depending on how many records the underlying entities contain. For read-intensive entities, it makes sense to add an index on the attributes used in XPath expressions. This can significantly boost performance of object retrieval from the database. XPath expressions can also be optimized by ordering them in such a way that the first class excludes as many items as possible. This can be achieved by using indexed attributes earlier in the expression. This will make the rest of the data set to join/filter as small as possible and reduce the load on the database. Note that XPath expressions can be used in three different places: @@ -151,7 +151,7 @@ This optimization may not be very beneficial for data types like Boolean and enu ### Avoid Caching Non-Persistable Entities [MXP008] {#mxp008} -A non-persistable object is an object that is considered temporary and only exists in the memory. It is an instance of a non-persistable entity. For more information on persistable and non-persistable entities, see [Persistablity](/refguide/persistability/). As these objects exist only in memory, caching them is not useful. On the one hand, it is redundant to create associations of non-persistable entities with System.Session or System.User persistable entities. On the other hand, it is important to cache objects which do not change very often but are used frequently in logic. This will help avoid the overhead of database communication. Persistable entities can be connected to the System.Session of the user and be used as a cache of outcomes. For more information on objects and caching, see [Objects and Caching](/refguide/objects-and-caching/). +A non-persistable object is an object that is considered temporary and only exists in the memory. It is an instance of a non-persistable entity. For more information on persistable and non-persistable entities, see [Persistablity](/refguide10/persistability/). As these objects exist only in memory, caching them is not useful. On the one hand, it is redundant to create associations of non-persistable entities with System.Session or System.User persistable entities. On the other hand, it is important to cache objects which do not change very often but are used frequently in logic. This will help avoid the overhead of database communication. Persistable entities can be connected to the System.Session of the user and be used as a cache of outcomes. For more information on objects and caching, see [Objects and Caching](/refguide10/objects-and-caching/). You can use the following guidelines to decide whether caching is needed: @@ -169,7 +169,7 @@ To fix the issue, do the following: ### Avoid Using Too Many Levels of Inheritance [MXP009] {#mxp009} -Using multiple levels of inheritance and too many specializations on entities may affect performance on large datasets, especially when you are using XPaths for [entity access rules](/refguide/access-rules/). This generates complex queries, adds XPaths for every specialization access rule, and leads to slow queries. +Using multiple levels of inheritance and too many specializations on entities may affect performance on large datasets, especially when you are using XPaths for [entity access rules](/refguide10/access-rules/). This generates complex queries, adds XPaths for every specialization access rule, and leads to slow queries. #### Steps to Fix @@ -177,13 +177,13 @@ Do not use more than two levels of inheritance or overuse specializations on ent Consider the following alternatives: -* Combine attributes in one entity and add an enumeration instead of setting the [generalization](/refguide/generalization-and-association/) +* Combine attributes in one entity and add an enumeration instead of setting the [generalization](/refguide10/generalization-and-association/) * Create entities with a one-to-one association instead of setting the generalization * Create a non-persistable entity that inherits from an outcome of your business logic ### Duplicated Access Rules [MXP010] {#mxp010} -Using duplicated access rules on entities can affect performance, especially when you are using XPaths for [entity access rules](/refguide/access-rules/). This generates complex queries, adds XPaths for every specialization access rule, and leads to slow queries on a large dataset. +Using duplicated access rules on entities can affect performance, especially when you are using XPaths for [entity access rules](/refguide10/access-rules/). This generates complex queries, adds XPaths for every specialization access rule, and leads to slow queries on a large dataset. #### Steps to Fix diff --git a/content/en/docs/refguide10/modeling/mendix-ai-assistance/domain-model-generator.md b/content/en/docs/refguide10/modeling/mendix-ai-assistance/domain-model-generator.md index 55fb9ca3b3e..65d97d9366a 100644 --- a/content/en/docs/refguide10/modeling/mendix-ai-assistance/domain-model-generator.md +++ b/content/en/docs/refguide10/modeling/mendix-ai-assistance/domain-model-generator.md @@ -1,6 +1,6 @@ --- title: "Domain Model Generator" -url: /refguide/domain-model-generator/ +url: /refguide10/domain-model-generator/ weight: 50 description: "Describes the features in Domain Model Generator." --- @@ -15,7 +15,7 @@ Domain Model Generator is currently an experimental feature introduced in Studio To use Domain Model Generator, internet connection and signing in to Studio Pro are required. {{% /alert %}} -Maia Domain Model Generator is an AI-powered tool that you can use for generating a [domain model](/refguide/domain-model/). It helps you to generate entities and associations based on text input. In Studio Pro 10.18 and above, you can also use Domain Model Generator in existing domain models. As an experimental feature, Domain Model Generator still have several limitations. For more information, see the [Limitations](#limitation) section below. +Maia Domain Model Generator is an AI-powered tool that you can use for generating a [domain model](/refguide10/domain-model/). It helps you to generate entities and associations based on text input. In Studio Pro 10.18 and above, you can also use Domain Model Generator in existing domain models. As an experimental feature, Domain Model Generator still have several limitations. For more information, see the [Limitations](#limitation) section below. ## Using Domain Model Generator @@ -34,7 +34,7 @@ After clicking **Generate Domain Model**, a dedicated chat interface will appear Describe your application or its main goals in the chatbox. Maia will use this information to generate a relevant domain model for you! After a domain model is generated and if the dedicated chat is still active, you can still ask Maia to add more entities and associations to the generated domain model. In Studio Pro 10.17 and above, it also supports adding more attributes to an existing entity in the generated domain model. Give it a try! {{% alert color="info" %}} -In this dedicated chat, only requests related to domain model generation will be properly handled. If you have other questions, close this chat and go back to the general [Maia Chat](/refguide/maia-chat/) interface. +In this dedicated chat, only requests related to domain model generation will be properly handled. If you have other questions, close this chat and go back to the general [Maia Chat](/refguide10/maia-chat/) interface. {{% /alert %}} {{% alert color="info" %}} @@ -60,14 +60,14 @@ As an experimental feature, Domain Model Generator has some limitations. ### Enumeration Generation -In Studio Pro 10.17 and below, it is not possible to generate [enumerations](/refguide/enumerations/). In Studio Pro 10.18, it can generate an attribute of type Enumeration if there is an existing enumeration in the module to refer to. +In Studio Pro 10.17 and below, it is not possible to generate [enumerations](/refguide10/enumerations/). In Studio Pro 10.18, it can generate an attribute of type Enumeration if there is an existing enumeration in the module to refer to. ### Generalization Not Supported -Currently, it cannot set [generalization](/refguide/generalization-and-association/) for an entity. +Currently, it cannot set [generalization](/refguide10/generalization-and-association/) for an entity. ## Read More -* [Data in the Domain Model](/refguide/domain-model/) -* [Mendix AI Assistance (Maia)](/refguide/mendix-ai-assistance/) -* [Maia Chat](/refguide/maia-chat/) +* [Data in the Domain Model](/refguide10/domain-model/) +* [Mendix AI Assistance (Maia)](/refguide10/mendix-ai-assistance/) +* [Maia Chat](/refguide10/maia-chat/) diff --git a/content/en/docs/refguide10/modeling/mendix-ai-assistance/logic-recommender.md b/content/en/docs/refguide10/modeling/mendix-ai-assistance/logic-recommender.md index 93db02f3098..9307c3fccee 100644 --- a/content/en/docs/refguide10/modeling/mendix-ai-assistance/logic-recommender.md +++ b/content/en/docs/refguide10/modeling/mendix-ai-assistance/logic-recommender.md @@ -1,16 +1,16 @@ --- title: "Logic Recommender" -url: /refguide/logic-recommender/ +url: /refguide10/logic-recommender/ weight: 20 description: "Describes Logic Recommender in Mendix Studio Pro." aliases: - - /refguide/mx-assist-logic-bot/ + - /refguide10/mx-assist-logic-bot/ --- ## Introduction {{% alert color="info" %}} -Logic Bot was rebranded to Logic Recommender in Studio Pro 10.12.0. It is also available for [rules](/refguide/rules/) in Studio Pro 10.6 and above. +Logic Bot was rebranded to Logic Recommender in Studio Pro 10.12.0. It is also available for [rules](/refguide10/rules/) in Studio Pro 10.6 and above. {{% /alert %}} {{% alert color="info" %}} @@ -86,4 +86,4 @@ If you do not see the desired activity or element in the top-five recommendation ## Read More -* [Microflows and Nanoflows](/refguide/microflows-and-nanoflows/) +* [Microflows and Nanoflows](/refguide10/microflows-and-nanoflows/) diff --git a/content/en/docs/refguide10/modeling/mendix-ai-assistance/maia-chat.md b/content/en/docs/refguide10/modeling/mendix-ai-assistance/maia-chat.md index 80edc35cac1..b8b2da023a4 100644 --- a/content/en/docs/refguide10/modeling/mendix-ai-assistance/maia-chat.md +++ b/content/en/docs/refguide10/modeling/mendix-ai-assistance/maia-chat.md @@ -1,11 +1,11 @@ --- title: "Maia Chat" linktitle: "Chat" -url: /refguide/maia-chat/ +url: /refguide10/maia-chat/ weight: 5 description: "Describes the features in Maia Chat." aliases: - - /refguide/mendix-chat/ + - /refguide10/mendix-chat/ #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. --- @@ -45,7 +45,7 @@ The chat interface appears at the right side of Studio Pro under the **Maia** pa {{< figure src="/attachments/refguide10/modeling/mendix-ai-assistance/maia-chat/maia-chat-interface.png" width="250px">}} -You can start using Maia Chat by clicking one of the demo questions. Alternatively, you can ask your own question, and press Enter or click **Ask** to send the question. For information on the supported shortcut keys in Maia Chat, see the [Maia Chat Shortcut Keys](/refguide/keyboard-shortcuts/#maia-chat-shortcuts) section in *Keyboard Shortcuts*. +You can start using Maia Chat by clicking one of the demo questions. Alternatively, you can ask your own question, and press Enter or click **Ask** to send the question. For information on the supported shortcut keys in Maia Chat, see the [Maia Chat Shortcut Keys](/refguide10/keyboard-shortcuts/#maia-chat-shortcuts) section in *Keyboard Shortcuts*. For more information on Maia Chat features in Studio Pro, see the sub-sections below. @@ -90,4 +90,4 @@ In Studio Pro 10.7.0 and above, there is a **New chat** option at the top left o ## Read More -Under the **Maia** pane, there is also a tab called **Learn**. For more information, see [Maia Learn](/refguide/maia-learn/). +Under the **Maia** pane, there is also a tab called **Learn**. For more information, see [Maia Learn](/refguide10/maia-learn/). diff --git a/content/en/docs/refguide10/modeling/mendix-ai-assistance/maia-explain.md b/content/en/docs/refguide10/modeling/mendix-ai-assistance/maia-explain.md index b93da89b3b2..ed373f36a2c 100644 --- a/content/en/docs/refguide10/modeling/mendix-ai-assistance/maia-explain.md +++ b/content/en/docs/refguide10/modeling/mendix-ai-assistance/maia-explain.md @@ -1,7 +1,7 @@ --- title: "Maia Explain" linktitle: "Explain" -url: /refguide/maia-explain/ +url: /refguide10/maia-explain/ weight: 10 description: "Describes the features in Maia Explain." --- @@ -43,9 +43,9 @@ Maia Explain supports follow-up questions. You can modify the tone of the answer * *What are your suggestions to improve this microflow?"* {{% alert color="info" %}} -In this dedicated chat, only requests related to Maia Explain will be properly handled. If you have other questions, close this chat and go back to the general [Maia Chat](/refguide/maia-chat/) interface. +In this dedicated chat, only requests related to Maia Explain will be properly handled. If you have other questions, close this chat and go back to the general [Maia Chat](/refguide10/maia-chat/) interface. {{% /alert %}} ## Read More -* [Maia Chat](/refguide/maia-chat/) +* [Maia Chat](/refguide10/maia-chat/) diff --git a/content/en/docs/refguide10/modeling/mendix-ai-assistance/maia-learn.md b/content/en/docs/refguide10/modeling/mendix-ai-assistance/maia-learn.md index f5e9d0f6940..11d315a4f79 100644 --- a/content/en/docs/refguide10/modeling/mendix-ai-assistance/maia-learn.md +++ b/content/en/docs/refguide10/modeling/mendix-ai-assistance/maia-learn.md @@ -1,7 +1,7 @@ --- title: "Maia Learn" linktitle: "Learn" -url: /refguide/maia-learn/ +url: /refguide10/maia-learn/ weight: 5 description: "Describes the features in Maia Learn." --- @@ -33,8 +33,8 @@ Click **Mendix Core Concepts**, you can start your learning journey with Maia Le You can also access additional materials on the topic, such as related documentation or a learning path. -If you have any questions during the learning journey, you can always click **Ask Maia** and ask your questions in [Maia Chat](/refguide/maia-chat/) for further assistance. +If you have any questions during the learning journey, you can always click **Ask Maia** and ask your questions in [Maia Chat](/refguide10/maia-chat/) for further assistance. ## Read More -* [Maia Chat](/refguide/maia-chat/) +* [Maia Chat](/refguide10/maia-chat/) diff --git a/content/en/docs/refguide10/modeling/mendix-ai-assistance/page-generator.md b/content/en/docs/refguide10/modeling/mendix-ai-assistance/page-generator.md index 924a7d4145a..d4281cc1fe4 100644 --- a/content/en/docs/refguide10/modeling/mendix-ai-assistance/page-generator.md +++ b/content/en/docs/refguide10/modeling/mendix-ai-assistance/page-generator.md @@ -1,6 +1,6 @@ --- title: "Page Generator" -url: /refguide/page-generator/ +url: /refguide10/page-generator/ weight: 60 description: "Describes the features in Page Generator." --- @@ -15,7 +15,7 @@ Page Generator is currently an experimental feature introduced in Studio Pro 10. To use Page Generator, an internet connection and signing in to Studio Pro are required. {{% /alert %}} -Maia Page Generator is an AI-powered tool that you can use for generating a [page](/refguide/page/). It helps you add and configure widgets based on a text input and an optional image. As an experimental feature, Page Generator has certain limitations. For example, it is currently intended only for use with empty pages, and any existing widgets on a page will be removed. For more details, see the [Limitations](#limitation) section below. +Maia Page Generator is an AI-powered tool that you can use for generating a [page](/refguide10/page/). It helps you add and configure widgets based on a text input and an optional image. As an experimental feature, Page Generator has certain limitations. For example, it is currently intended only for use with empty pages, and any existing widgets on a page will be removed. For more details, see the [Limitations](#limitation) section below. ## Using Page Generator @@ -33,12 +33,12 @@ After clicking **Generate page**, a dedicated chat interface appears at the righ {{< figure src="/attachments/refguide10/modeling/mendix-ai-assistance/page-generator/chat-interface.png" max-width=42% >}} -Describe your page or its main goals in the chat. Maia uses this information to add relevant widgets to the page and configure them for you. When generating a page, Maia knows about the domain model of the module you are currently working on. For example, it might include a [Data View](/refguide/data-view/) with some [Text Box](/refguide/text-box/) widgets for an attribute of an entity. +Describe your page or its main goals in the chat. Maia uses this information to add relevant widgets to the page and configure them for you. When generating a page, Maia knows about the domain model of the module you are currently working on. For example, it might include a [Data View](/refguide10/data-view/) with some [Text Box](/refguide10/text-box/) widgets for an attribute of an entity. You can also supplement text input with an image. Maia uses the image to interpret your request better. For example, it can recognize the layout of a page from the image and replicate it. The image can be a screenshot, photo, wireframe, or drawing. With text input, you can also specify differences between the provided image and how you would like the generated page to appear. For example, you might write: *Generate a page based on this image, but change the header to Welcome.* {{% alert color="info" %}} -In this dedicated chat, only requests related to Page Generation will be properly handled. If you have other questions, close this chat and go back to the general [Maia Chat](/refguide/maia-chat/) interface. +In this dedicated chat, only requests related to Page Generation will be properly handled. If you have other questions, close this chat and go back to the general [Maia Chat](/refguide10/maia-chat/) interface. {{% /alert %}} ### Best Practices for Text Input @@ -70,19 +70,19 @@ Page Generator is currently intended only for use with empty pages. Any existing Not all widgets are supported. Currently the following widgets are supported: -* [Container](/refguide/container/) -* [Layout Grid](/refguide/layout-grid/) -* [Data View](/refguide/data-view/) -* [Text](/refguide/text/) -* [Button](/refguide/button-widgets/) -* [Text Box](/refguide/text-box/) -* [Text Area](/refguide/text-area/) -* [Checkbox](/refguide/check-box/) -* [Radio Buttons](/refguide/radio-buttons/) -* [Date Picker](/refguide/date-picker/) +* [Container](/refguide10/container/) +* [Layout Grid](/refguide10/layout-grid/) +* [Data View](/refguide10/data-view/) +* [Text](/refguide10/text/) +* [Button](/refguide10/button-widgets/) +* [Text Box](/refguide10/text-box/) +* [Text Area](/refguide10/text-area/) +* [Checkbox](/refguide10/check-box/) +* [Radio Buttons](/refguide10/radio-buttons/) +* [Date Picker](/refguide10/date-picker/) ## Read More -* [Pages](/refguide/page/) -* [Mendix AI Assistance (Maia)](/refguide/mendix-ai-assistance/) -* [Maia Chat](/refguide/maia-chat/) +* [Pages](/refguide10/page/) +* [Mendix AI Assistance (Maia)](/refguide10/mendix-ai-assistance/) +* [Maia Chat](/refguide10/maia-chat/) diff --git a/content/en/docs/refguide10/modeling/mendix-ai-assistance/translation-generator.md b/content/en/docs/refguide10/modeling/mendix-ai-assistance/translation-generator.md index ffe09d94802..27a5a3d9c4c 100644 --- a/content/en/docs/refguide10/modeling/mendix-ai-assistance/translation-generator.md +++ b/content/en/docs/refguide10/modeling/mendix-ai-assistance/translation-generator.md @@ -1,6 +1,6 @@ --- title: "Translation Generator" -url: /refguide/translation-generator/ +url: /refguide10/translation-generator/ weight: 80 description: "Describes the features in Translation Generator." --- @@ -15,7 +15,7 @@ Translation Generator, an AI translation tool, is currently an experimental feat To use Translation Generator, internet connection and signing in to Studio Pro are required. {{% /alert %}} -Maia Translation Generator is a translation tool powered by AI in Mendix Studio Pro. You can use this AI tool in Studio Pro to [batch translate](/refguide/batch-translate/) your Mendix app into a different language. In Studio Pro 10.14.0 and above, you can also use it to translate [system texts](/refguide/system-texts/). +Maia Translation Generator is a translation tool powered by AI in Mendix Studio Pro. You can use this AI tool in Studio Pro to [batch translate](/refguide10/batch-translate/) your Mendix app into a different language. In Studio Pro 10.14.0 and above, you can also use it to translate [system texts](/refguide10/system-texts/). For more information on how to enable and use this AI translation tool in Studio Pro, see the sections below. @@ -49,7 +49,7 @@ Currently, if you encounter an error after clicking **Generate Translations...** ### Generating Translation for System Texts {#translate-system-text} -In Studio Pro 10.14.0 and above, you can also use Translation Generator in the web version of the [system texts](/refguide/system-texts/) editor. +In Studio Pro 10.14.0 and above, you can also use Translation Generator in the web version of the [system texts](/refguide10/system-texts/) editor. The web-based system texts editor was released in Studio Pro 10.14.0 as an experimental feature. You can enable it via **Preferences** > the **New Features** tab > the **System Texts Editor** section. @@ -57,10 +57,10 @@ After enabling the new editor and Translation Generator, make sure to restart St {{< figure src="/attachments/refguide10/modeling/mendix-ai-assistance/translation-generator/translate-system-text.png" max-width=80% >}} -It generates translation for the system texts based on what the [current language](/refguide/translatable-texts/#current-language) is for app end-users. +It generates translation for the system texts based on what the [current language](/refguide10/translatable-texts/#current-language) is for app end-users. ## Read More -* [Batch Translate](/refguide/batch-translate/) -* [System Texts](/refguide/system-texts/) -* [Mendix AI Assistance (Maia)](/refguide/mendix-ai-assistance/) +* [Batch Translate](/refguide10/batch-translate/) +* [System Texts](/refguide10/system-texts/) +* [Mendix AI Assistance (Maia)](/refguide10/mendix-ai-assistance/) diff --git a/content/en/docs/refguide10/modeling/mendix-ai-assistance/ui-recommender.md b/content/en/docs/refguide10/modeling/mendix-ai-assistance/ui-recommender.md index 2417585fcca..7d9262c67b2 100644 --- a/content/en/docs/refguide10/modeling/mendix-ai-assistance/ui-recommender.md +++ b/content/en/docs/refguide10/modeling/mendix-ai-assistance/ui-recommender.md @@ -1,6 +1,6 @@ --- title: "UI Recommender" -url: /refguide/ui-recommender/ +url: /refguide10/ui-recommender/ weight: 20 description: "Describes UI Recommender in Mendix Studio Pro." --- @@ -55,5 +55,5 @@ UI Recommender is displayed as a small blue plus sign in the page editor. It is ## Read More -* [Adding Elements on a Page](/refguide/page/#add-elements) -* [Mendix AI Assistance (Maia)](/refguide/mendix-ai-assistance/) +* [Adding Elements on a Page](/refguide10/page/#add-elements) +* [Mendix AI Assistance (Maia)](/refguide10/mendix-ai-assistance/) diff --git a/content/en/docs/refguide10/modeling/mendix-ai-assistance/workflow-recommender.md b/content/en/docs/refguide10/modeling/mendix-ai-assistance/workflow-recommender.md index 832714a083f..ef5687bc0cb 100644 --- a/content/en/docs/refguide10/modeling/mendix-ai-assistance/workflow-recommender.md +++ b/content/en/docs/refguide10/modeling/mendix-ai-assistance/workflow-recommender.md @@ -1,6 +1,6 @@ --- title: "Workflow Recommender" -url: /refguide/workflow-recommender/ +url: /refguide10/workflow-recommender/ weight: 30 description: "Describes Workflow Recommender in Mendix Studio Pro." --- @@ -45,6 +45,6 @@ To open the properties dialog box after adding a suggested element, accept the s ## Read More -* [Workflows](/refguide/workflows/) -* [Logic Recommender](/refguide/logic-recommender/) -* [Mendix AI Assistance (Maia)](/refguide/mendix-ai-assistance/) +* [Workflows](/refguide10/workflows/) +* [Logic Recommender](/refguide10/logic-recommender/) +* [Mendix AI Assistance (Maia)](/refguide10/mendix-ai-assistance/) diff --git a/content/en/docs/refguide10/modeling/menus/_index.md b/content/en/docs/refguide10/modeling/menus/_index.md index 04447669e17..341682ea2a3 100644 --- a/content/en/docs/refguide10/modeling/menus/_index.md +++ b/content/en/docs/refguide10/modeling/menus/_index.md @@ -1,6 +1,6 @@ --- title: "Menus" -url: /refguide/menus/ +url: /refguide10/menus/ description: "Describes Studio Pro menus." weight: 20 --- @@ -27,36 +27,36 @@ The **Global Navigation Menu** menu is located at the upper left of Studio Pro a ## File Menu {#file} -Via the **File** menu you can manage documents and apps. For more information on the **File** menu, see [File Menu](/refguide/file-menu/). +Via the **File** menu you can manage documents and apps. For more information on the **File** menu, see [File Menu](/refguide10/file-menu/). ## Edit Menu {#edit} -The **Edit** menu allows you to perform editing functions, such as cut/copy/paste. You can also set [preferences](/refguide/preferences-dialog/) via this menu. For more information on the **Edit** menu, see [Edit Menu](/refguide/edit-menu/). +The **Edit** menu allows you to perform editing functions, such as cut/copy/paste. You can also set [preferences](/refguide10/preferences-dialog/) via this menu. For more information on the **Edit** menu, see [Edit Menu](/refguide10/edit-menu/). ## View Menu {#view} -The **View** menu allows you to view dockable panes, to enable the full screen mode, and reset the project layout. For more information on the **View** menu and its items, see [View Menu](/refguide/view-menu/). +The **View** menu allows you to view dockable panes, to enable the full screen mode, and reset the project layout. For more information on the **View** menu and its items, see [View Menu](/refguide10/view-menu/). ## App Menu {#app} -In the **App** menu, you can view and/or manipulate settings that are connected to your app and deployment. For more information on the **App** menu, see [App Menu](/refguide/app-menu/). +In the **App** menu, you can view and/or manipulate settings that are connected to your app and deployment. For more information on the **App** menu, see [App Menu](/refguide10/app-menu/). ## Run Menu {#run} -The **Run** menu contains actions for deploying and monitoring your app, such as **Publish**, **Run Locally**, or **Debugger**. For more information on the **Run** menu, see [Run Menu](/refguide/run-menu/). +The **Run** menu contains actions for deploying and monitoring your app, such as **Publish**, **Run Locally**, or **Debugger**. For more information on the **Run** menu, see [Run Menu](/refguide10/run-menu/). ## Version Control Menu {#version-control} -In the **Version Control** menu, you can view and/or manipulate settings on the version control. For more information on the **Version Control** menu, see [Version Control Menu](/refguide/version-control-menu/). +In the **Version Control** menu, you can view and/or manipulate settings on the version control. For more information on the **Version Control** menu, see [Version Control Menu](/refguide10/version-control-menu/). ## Language Menu {#language} -In the **Language** menu, you can add alternative languages to your app so that end-users can see the app in their preferred language. You can also make batch changes to identical texts, even if you are only working in one language. For more information on the **Language** menu, see [Language Menu](/refguide/translatable-texts/). +In the **Language** menu, you can add alternative languages to your app so that end-users can see the app in their preferred language. You can also make batch changes to identical texts, even if you are only working in one language. For more information on the **Language** menu, see [Language Menu](/refguide10/translatable-texts/). ## Help Menu {#help} -In the **Help** menu, you can ask questions and find answers to common problems you may experience while using Studio Pro. For more information on the **Help** menu, see [Help Menu](/refguide/help-menu/). +In the **Help** menu, you can ask questions and find answers to common problems you may experience while using Studio Pro. For more information on the **Help** menu, see [Help Menu](/refguide10/help-menu/). ## Read More -* [Studio Pro Overview](/refguide/studio-pro-overview/) +* [Studio Pro Overview](/refguide10/studio-pro-overview/) diff --git a/content/en/docs/refguide10/modeling/menus/app-menu/_index.md b/content/en/docs/refguide10/modeling/menus/app-menu/_index.md index 04b60cb5028..1c03e0ebb08 100644 --- a/content/en/docs/refguide10/modeling/menus/app-menu/_index.md +++ b/content/en/docs/refguide10/modeling/menus/app-menu/_index.md @@ -1,6 +1,6 @@ --- title: "App Menu" -url: /refguide/app-menu/ +url: /refguide10/app-menu/ description: "Describes the App Menu in Studio Pro." weight: 30 --- @@ -33,11 +33,11 @@ The **Update Widgets** option presents the current versions of the widgets you a ### Convert Classes to Design Properties -The **Convert classes to design properties** option allows you to convert classes in widgets into design properties to assist in changing the widget styling. See [Native Styling](/refguide/mobile/designing-mobile-user-interfaces/native-styling/) for more information. +The **Convert classes to design properties** option allows you to convert classes in widgets into design properties to assist in changing the widget styling. See [Native Styling](/refguide10/mobile/designing-mobile-user-interfaces/native-styling/) for more information. ### Generate Bill of Materials {#generate-bill-of-materials} -The **Generate Bill of Materials** option allows you to generate a bill of materials for the current project. See [SBOM Generation](/refguide/sbom-generation/) for more information. +The **Generate Bill of Materials** option allows you to generate a bill of materials for the current project. See [SBOM Generation](/refguide10/sbom-generation/) for more information. ## Synchronize App Directory {#synchronize} @@ -61,7 +61,7 @@ The **Deploy for Eclipse** option deploys the app to the deployment directory. T Shortcut key: F6 -For more information on how write Java actions from Eclipse, see [Using Eclipse](/refguide/using-eclipse/). +For more information on how write Java actions from Eclipse, see [Using Eclipse](/refguide10/using-eclipse/). ## Create Deployment Package{#create-package} @@ -69,7 +69,7 @@ The **Create Deployment Package** option creates a Mendix Deployment Archive pac Shortcut key: F7 -For more information on settings displayed on the Create Deployment Package dialog box, see [Create Deployment Package](/refguide/create-deployment-package-dialog/). +For more information on settings displayed on the Create Deployment Package dialog box, see [Create Deployment Package](/refguide10/create-deployment-package-dialog/). ## Clean Deployment Directory {#clean-deployment-directory} @@ -85,14 +85,14 @@ Shortcut key: Ctrl + F5 The [Mendix Studios Target](/developerportal/deploy/studio-deployment-settings/#target) needs to be set and the deploying user needs to have transport rights to the set target. {{% /alert %}} -For more information on using this option, see [Deploy to the Cloud](/refguide/deploy-to-the-cloud-dialog/). +For more information on using this option, see [Deploy to the Cloud](/refguide10/deploy-to-the-cloud-dialog/). ## Build Native Mobile App -If you have an app with a [native profile](/refguide/navigation/#native-phone), this option launches the [Mendix Native Mobile Builder](/releasenotes/mobile/mendix-native-mobile-builder/). This wizard will guide you through the required steps for configuring and publishing your app. +If you have an app with a [native profile](/refguide10/navigation/#native-phone), this option launches the [Mendix Native Mobile Builder](/releasenotes/mobile/mendix-native-mobile-builder/). This wizard will guide you through the required steps for configuring and publishing your app. For the first step in your native mobile journey, see [Build a Mendix Native App Locally -](/refguide/mobile/distributing-mobile-apps/building-native-apps/native-build-locally/). +](/refguide10/mobile/distributing-mobile-apps/building-native-apps/native-build-locally/). ## Synchronize Dependencies @@ -100,13 +100,13 @@ Dependency synchronization is automatically triggered to run in the background w You can trigger manual synchronization by opening the **App** menu and selecting **Synchronize Dependencies**. -For more information, see the [Dependency Sychronization](/refguide/managed-dependencies/#dependency-synchronization) section of *Managed Dependencies*. +For more information, see the [Dependency Sychronization](/refguide10/managed-dependencies/#dependency-synchronization) section of *Managed Dependencies*. ## Show Security Overview (Beta) -The **Show Security Overview (Beta)** option opens the [Security Overview](/refguide/security-overview/), where you can view a unified overview of your app's security. +The **Show Security Overview (Beta)** option opens the [Security Overview](/refguide10/security-overview/), where you can view a unified overview of your app's security. ## Read More -* [Studio Pro Overview](/refguide/studio-pro-overview/) +* [Studio Pro Overview](/refguide10/studio-pro-overview/) * [Deploying Apps](/deployment/) diff --git a/content/en/docs/refguide10/modeling/menus/app-menu/create-deployment-package-dialog.md b/content/en/docs/refguide10/modeling/menus/app-menu/create-deployment-package-dialog.md index 1146266c33f..93b287fede7 100644 --- a/content/en/docs/refguide10/modeling/menus/app-menu/create-deployment-package-dialog.md +++ b/content/en/docs/refguide10/modeling/menus/app-menu/create-deployment-package-dialog.md @@ -1,6 +1,6 @@ --- title: "Create Deployment Package" -url: /refguide/create-deployment-package-dialog/ +url: /refguide10/create-deployment-package-dialog/ --- ## Introduction @@ -33,7 +33,7 @@ A non-versioned deployment package is based on your local app on disk and cannot ## Options for Versioned Deployment Packages -If you are creating a versioned deployment package, enter the information outlined below. For more information on versioning, see [Version Control](/refguide/version-control/). +If you are creating a versioned deployment package, enter the information outlined below. For more information on versioning, see [Version Control](/refguide10/version-control/). ### Development Line @@ -63,4 +63,4 @@ All packages are placed in a **releases** directory inside your app directory. T ## Troubleshooting -If you have difficulty creating a deployment package, it could be an issue with version control. For more information, see [Cannot Create Package from a Revision](/refguide/troubleshoot-version-control-issues/#cannot-create-package) in *Troubleshooting Version Control*. +If you have difficulty creating a deployment package, it could be an issue with version control. For more information, see [Cannot Create Package from a Revision](/refguide10/troubleshoot-version-control-issues/#cannot-create-package) in *Troubleshooting Version Control*. diff --git a/content/en/docs/refguide10/modeling/menus/app-menu/deploy-to-the-cloud-dialog.md b/content/en/docs/refguide10/modeling/menus/app-menu/deploy-to-the-cloud-dialog.md index aa40d2b4af0..01e09eb7dc7 100644 --- a/content/en/docs/refguide10/modeling/menus/app-menu/deploy-to-the-cloud-dialog.md +++ b/content/en/docs/refguide10/modeling/menus/app-menu/deploy-to-the-cloud-dialog.md @@ -1,6 +1,6 @@ --- title: "Deploy to the Cloud" -url: /refguide/deploy-to-the-cloud-dialog/ +url: /refguide10/deploy-to-the-cloud-dialog/ --- ## Introduction diff --git a/content/en/docs/refguide10/modeling/menus/edit-menu/_index.md b/content/en/docs/refguide10/modeling/menus/edit-menu/_index.md index 48b67f14f5a..db1a1c0f492 100644 --- a/content/en/docs/refguide10/modeling/menus/edit-menu/_index.md +++ b/content/en/docs/refguide10/modeling/menus/edit-menu/_index.md @@ -1,13 +1,13 @@ --- title: "Edit Menu" -url: /refguide/edit-menu/ +url: /refguide10/edit-menu/ description: "Describes the Edit Menu in Studio Pro." weight: 10 --- ## Introduction -Via the **Edit** menu you can perform various actions, such cut/copy/paste or search where a particular document is used. You can also open the [Preferences](/refguide/preferences-dialog/) dialog that contains user-specific settings. +Via the **Edit** menu you can perform various actions, such cut/copy/paste or search where a particular document is used. You can also open the [Preferences](/refguide10/preferences-dialog/) dialog that contains user-specific settings. {{< figure src="/attachments/refguide10/modeling/menus/edit-menu/edit-menu.png" alt="Edit Menu" class="no-border" width="300" >}} @@ -33,11 +33,11 @@ The **Edit** menu items are described in the table below: | **Forward** (Ctrl + Shift + -) | Move forward through your editing history to show the documents you have recently worked on. | | **Next Error** (F8) | Highlights the next error in the **Error List** pane and open it in an editor. | | **Previous Error** (Shift + F8) | Highlights the previous error result in the **Error List** pane and open it in an editor. | -| **Preferences** | Opens the **Preferences** dialog box, where you can set your general, model, and advanced editing preferences. For more information on the **Preferences** dialog box, see [Preferences](/refguide/preferences-dialog/). | +| **Preferences** | Opens the **Preferences** dialog box, where you can set your general, model, and advanced editing preferences. For more information on the **Preferences** dialog box, see [Preferences](/refguide10/preferences-dialog/). | ## Read More -* [Changes Pane](/refguide/changes-pane/) -* [Errors Pane](/refguide/errors-pane/) -* [App Explorer](/refguide/app-explorer/) -* [Studio Pro Overview](/refguide/studio-pro-overview/) +* [Changes Pane](/refguide10/changes-pane/) +* [Errors Pane](/refguide10/errors-pane/) +* [App Explorer](/refguide10/app-explorer/) +* [Studio Pro Overview](/refguide10/studio-pro-overview/) diff --git a/content/en/docs/refguide10/modeling/menus/edit-menu/find-and-find-advanced.md b/content/en/docs/refguide10/modeling/menus/edit-menu/find-and-find-advanced.md index 2391c172d85..71a78d44e84 100644 --- a/content/en/docs/refguide10/modeling/menus/edit-menu/find-and-find-advanced.md +++ b/content/en/docs/refguide10/modeling/menus/edit-menu/find-and-find-advanced.md @@ -1,6 +1,6 @@ --- title: "Find, Find Advanced, and Find Usages" -url: /refguide/find-and-find-advanced/ +url: /refguide10/find-and-find-advanced/ description: "Describes Find, Find Advanced, and Find Usages in Mendix Studio Pro." weight: 10 --- @@ -97,4 +97,4 @@ Click **Lock results** in the **Find Results** pane. Now if you click **Find Usa ## Read More -* [Go to Option](/refguide/go-to-option/) +* [Go to Option](/refguide10/go-to-option/) diff --git a/content/en/docs/refguide10/modeling/menus/edit-menu/go-to-option.md b/content/en/docs/refguide10/modeling/menus/edit-menu/go-to-option.md index 8d8ec8e2ed2..fe0e9afbbca 100644 --- a/content/en/docs/refguide10/modeling/menus/edit-menu/go-to-option.md +++ b/content/en/docs/refguide10/modeling/menus/edit-menu/go-to-option.md @@ -1,6 +1,6 @@ --- title: "Go to Option" -url: /refguide/go-to-option/ +url: /refguide10/go-to-option/ description: "Describes the Go to option in Mendix Studio Pro." weight: 40 --- @@ -35,8 +35,8 @@ This dialog also supports a filter option. The filter selection is saved upon bo ## Read More -* [Find, Find Advanced, and Find Usages](/refguide/find-and-find-advanced/) -* [Navigation](/refguide/navigation/) -* [Pages](/refguide/pages/) -* [Microflows](/refguide/microflows/) -* [Data in the Domain Model](/refguide/domain-model/) +* [Find, Find Advanced, and Find Usages](/refguide10/find-and-find-advanced/) +* [Navigation](/refguide10/navigation/) +* [Pages](/refguide10/pages/) +* [Microflows](/refguide10/microflows/) +* [Data in the Domain Model](/refguide10/domain-model/) diff --git a/content/en/docs/refguide10/modeling/menus/edit-menu/preferences-dialog.md b/content/en/docs/refguide10/modeling/menus/edit-menu/preferences-dialog.md index 514e99fb783..08154a96649 100644 --- a/content/en/docs/refguide10/modeling/menus/edit-menu/preferences-dialog.md +++ b/content/en/docs/refguide10/modeling/menus/edit-menu/preferences-dialog.md @@ -1,6 +1,6 @@ --- title: "Preferences" -url: /refguide/preferences-dialog/ +url: /refguide10/preferences-dialog/ weight: 50 --- @@ -50,7 +50,7 @@ When **Highlight shown errors and warnings in the editor** is checked, the error #### Default App Directory {#default-directory} -This is the directory where new apps are stored. It is used in the [App Settings](/refguide/new-app/#app-settings) dialog box when you create a new app. If a different directory is selected in the **App Settings** dialog box, that directory is stored as the new default app directory. +This is the directory where new apps are stored. It is used in the [App Settings](/refguide10/new-app/#app-settings) dialog box when you create a new app. If a different directory is selected in the **App Settings** dialog box, that directory is stored as the new default app directory. ## Deployment Tab {#deployment} @@ -88,7 +88,7 @@ Enabling this option includes debug information about local variables in the Jav This feature was introduced in Mendix versions 10.16.0, 10.12.7, and 10.6.17. {{% /alert %}} -This option controls the synchronization of managed dependencies. For more information, see the [Offline Usage](/refguide/managed-dependencies/#disabling-synchronization) section in *Managed Dependencies*. +This option controls the synchronization of managed dependencies. For more information, see the [Offline Usage](/refguide10/managed-dependencies/#disabling-synchronization) section in *Managed Dependencies*. #### Gradle Directory @@ -96,7 +96,7 @@ A directory where Gradle is located on the computer that you use to deploy the a #### Use Custom Repositories -Enabling this option allows you to specify which repositories should be used by Gradle. For more information, see the [Custom Repositories](/refguide/managed-dependencies/#custom-repos) section in *Managed Dependencies*. +Enabling this option allows you to specify which repositories should be used by Gradle. For more information, see the [Custom Repositories](/refguide10/managed-dependencies/#custom-repos) section in *Managed Dependencies*. #### Repositories @@ -110,17 +110,17 @@ You can specify which repositories to use for Gradle. The content of this field The **In-Editor Recommender** section contains the following settings: -* **Enable for microflow, nanoflow, and rule editors** – this allows you to enable and disable [Logic Recommender](/refguide/logic-recommender/) in the microflow, nanoflow, and rule editors. -* **Enable for workflow editor** – this allows you to enable and disable [Workflow Recommender](/refguide/workflow-recommender/) in the workflow editor. -* **Enable for page editor** - this allows you to enable and disable the [UI Recommendor](/refguide/ui-recommender/). This feature is enabled by default. +* **Enable for microflow, nanoflow, and rule editors** – this allows you to enable and disable [Logic Recommender](/refguide10/logic-recommender/) in the microflow, nanoflow, and rule editors. +* **Enable for workflow editor** – this allows you to enable and disable [Workflow Recommender](/refguide10/workflow-recommender/) in the workflow editor. +* **Enable for page editor** - this allows you to enable and disable the [UI Recommendor](/refguide10/ui-recommender/). This feature is enabled by default. ### Best Practice Recommender The **Best Practice Recommender** section contains the following settings: -* **Show recommendation in editors** – when enabled, [Best Practice Recommender](/refguide/best-practice-recommender/) highlights elements that contain anti-patterns in visual editors. +* **Show recommendation in editors** – when enabled, [Best Practice Recommender](/refguide10/best-practice-recommender/) highlights elements that contain anti-patterns in visual editors. -* **Automatically run an inspection after opening an app** – when enabled, [Best Practice Recommender](/refguide/best-practice-recommender/) automatically runs an inspection when an app is opened. If the app contains errors, the inspection will not run. +* **Automatically run an inspection after opening an app** – when enabled, [Best Practice Recommender](/refguide10/best-practice-recommender/) automatically runs an inspection when an app is opened. If the app contains errors, the inspection will not run. ## Model Tab @@ -134,7 +134,7 @@ This setting defines the default response to the question whether to automatical #### Executable -This is the path and name of the program that is used to view the details of file changes in the [commit dialog box](/refguide/commit-dialog/). +This is the path and name of the program that is used to view the details of file changes in the [commit dialog box](/refguide10/commit-dialog/). For example, you can see how to set up file comparison for Visual Studio Code below: @@ -195,7 +195,7 @@ When this option is selected, the application automatically uses credentials of Different clone types are available in Studio Pro version 10.12.0 and above. {{% /alert %}} -Select a [Clone type](/refguide/clone-type/) to use for future clone operations, such as downloading an app or checking out another branch of an app you already downloaded. Changing this setting does not affect apps that you have already downloaded. +Select a [Clone type](/refguide10/clone-type/) to use for future clone operations, such as downloading an app or checking out another branch of an app you already downloaded. Changing this setting does not affect apps that you have already downloaded. #### Combine Local and Remote Changes @@ -203,7 +203,7 @@ Select a [Clone type](/refguide/clone-type/) to use for future clone operations, This setting was introduced in Mendix version 10.5. {{% /alert %}} -When [combining changes](/refguide/merge-algorithm/), for example when doing a Git pull, the user can choose between **Rebase** and **Merge** as the default action. This preference can be overridden for each merge which contains conflicts. +When [combining changes](/refguide10/merge-algorithm/), for example when doing a Git pull, the user can choose between **Rebase** and **Merge** as the default action. This preference can be overridden for each merge which contains conflicts. #### Git Version Warning @@ -213,7 +213,7 @@ Select **Do not show warning about Git version** to suppress a warning shown whe #### Enable Automatic Fetching from a Remote Repository {#enable-auto-fetch} -Select **Enable automatic fetching from a remote repository** to enable the [Automatic fetch mechanism](/refguide/auto-fetch/). +Select **Enable automatic fetching from a remote repository** to enable the [Automatic fetch mechanism](/refguide10/auto-fetch/). #### Fetch Interval, Minutes @@ -225,7 +225,7 @@ Select **Enable automatic repository optimization** to run Git repository optimi #### Number of Commits -This option is available when the [Enable automatic repository optimization](#optimization) setting is on. Studio Pro keeps track of the number of commits made in the local repository. You can manually specify the minimum number of commits needed to start the background optimization. For more information, see [Git Storage Optimization](/refguide/git-storage-optimization-dialog/). +This option is available when the [Enable automatic repository optimization](#optimization) setting is on. Studio Pro keeps track of the number of commits made in the local repository. You can manually specify the minimum number of commits needed to start the background optimization. For more information, see [Git Storage Optimization](/refguide10/git-storage-optimization-dialog/). ## Work Environment Tab @@ -235,7 +235,7 @@ This option allows user to choose between Studio Pro themes: **Auto (System them ### Default Page Editor {#default-page-editor} -This option sets the default page editor mode that your page opens in: **Structure mode** (the default) or **Design mode**. For more information on page editor modes, see the [Page Editor Modes](/refguide/page/#page-editor-modes) section in *Page*. +This option sets the default page editor mode that your page opens in: **Structure mode** (the default) or **Design mode**. For more information on page editor modes, see the [Page Editor Modes](/refguide10/page/#page-editor-modes) section in *Page*. ### Rendering {#rendering} @@ -277,7 +277,7 @@ For Mendix versions 10.5.0 through 10.9.0, this option is on the **New Features* ### Feedback Survey -When the **Show feedback survey periodically** setting is enabled, Studio Pro will periodically display a feedback survey to gather input on your experience. This helps Mendix improve the product based on user feedback. For more information, see [Feedback Survey](/refguide/feedback-survey/). +When the **Show feedback survey periodically** setting is enabled, Studio Pro will periodically display a feedback survey to gather input on your experience. This helps Mendix improve the product based on user feedback. For more information, see [Feedback Survey](/refguide10/feedback-survey/). ## New Features Tab {#new-features} @@ -287,7 +287,7 @@ In Studio Pro version 10.21, the modernized access rule editor was made generall This option allows you to enable and disable the new editor in the *Access rules* tab of the entity properties dialog. -For more information, see [Defining Access Rules Using the New Editor](/refguide/access-rules/#new-editor) section of *Access Rules*. +For more information, see [Defining Access Rules Using the New Editor](/refguide10/access-rules/#new-editor) section of *Access Rules*. ### App Explorer @@ -303,17 +303,17 @@ The expression editor is modernized since Studio Pro 10.6. This setting is enabl ### GraphQL {#graphql} -Publishing data as a GraphQL service is available as of Studio Pro 10.14. When you enable this feature, you can indicate that a published OData service [also supports GraphQL](/refguide/published-odata-services/#supports-graphql). +Publishing data as a GraphQL service is available as of Studio Pro 10.14. When you enable this feature, you can indicate that a published OData service [also supports GraphQL](/refguide10/published-odata-services/#supports-graphql). ### Maia #### Enable Domain Model Generator (Experimental) -In Studio Pro 10.13.0, Domain Model Generator was introduced as an experimental feature. Enable this option to help you generate entities and associations for empty domain models. For more information on how to use this feature, see [Domain Model Generator](/refguide/domain-model-generator/). +In Studio Pro 10.13.0, Domain Model Generator was introduced as an experimental feature. Enable this option to help you generate entities and associations for empty domain models. For more information on how to use this feature, see [Domain Model Generator](/refguide10/domain-model-generator/). #### Enable Translation Generator (Experimental) -In Studio Pro 10.12.0, Translation Generator was introduced as an experimental feature. Enable this option to help you translate your model to different languages through **Batch translate** under the **Language** menu. For more information, see [Translation Generator](/refguide/translation-generator/). +In Studio Pro 10.12.0, Translation Generator was introduced as an experimental feature. Enable this option to help you translate your model to different languages through **Batch translate** under the **Language** menu. For more information, see [Translation Generator](/refguide10/translation-generator/). ### Mapping Editor @@ -325,13 +325,13 @@ This setting allows you to move forward and backward through your editing histor ### Online Synchronization Mode -This setting, introduced in 10.19 and currently in beta, allows entities to be used in offline navigation profiles without requiring data synchronization. This enables app developers to use entity data on pages without synchronizing the data of those entities to the offline database. This mode requires an available connection to the server. For more details, see [Online Synchronization Mode](/refguide/mobile/building-efficient-mobile-apps/offlinefirst-data/online-sync-mode/). +This setting, introduced in 10.19 and currently in beta, allows entities to be used in offline navigation profiles without requiring data synchronization. This enables app developers to use entity data on pages without synchronizing the data of those entities to the offline database. This mode requires an available connection to the server. For more details, see [Online Synchronization Mode](/refguide10/mobile/building-efficient-mobile-apps/offlinefirst-data/online-sync-mode/). ### System Texts Editor In Studio Pro 10.14.0, the web version of the system texts editor was released as an experimental feature. Enable this option to use the web version of the editor. -If Translation Generator is also enabled, you can use it in this editor as well. For more information, see the [Generating Translation for System Texts](/refguide/translation-generator/#translate-system-text) section in *Translation Generator*. +If Translation Generator is also enabled, you can use it in this editor as well. For more information, see the [Generating Translation for System Texts](/refguide10/translation-generator/#translate-system-text) section in *Translation Generator*. ### Toolbox @@ -339,4 +339,4 @@ Enable this setting to use the modernized toolbox. This requires restart of Stud ## Read More -* [Upload to Version Control Server](/refguide/upload-to-version-control-dialog/) +* [Upload to Version Control Server](/refguide10/upload-to-version-control-dialog/) diff --git a/content/en/docs/refguide10/modeling/menus/file-menu/_index.md b/content/en/docs/refguide10/modeling/menus/file-menu/_index.md index c5f83b75879..3cdfc223e43 100644 --- a/content/en/docs/refguide10/modeling/menus/file-menu/_index.md +++ b/content/en/docs/refguide10/modeling/menus/file-menu/_index.md @@ -1,6 +1,6 @@ --- title: "File Menu" -url: /refguide/file-menu/ +url: /refguide10/file-menu/ description: "Describes the File Menu in Studio Pro." weight: 5 --- @@ -17,9 +17,9 @@ The **File** menu items are described in the table below: | Menu Item | Description | Shortcut Key | | -------------------------- | ------------------------------------------------------------ | ------------------------------------------------- | -| **New Document** | Creates a new document within the app currently open. You can choose the name, location, and type of document. For more information on types of documents, see [Modules](/refguide/modules/). | Ctrl + N | -| **New App** | Creates a new single-developer app. A single-developer app is simply a file (with the extension *.mpr*) that is stored in the local file system. For more information, see [New App](/refguide/new-app/). | Ctrl + Shift + N | -| **Open App** | Opens an existing single-developer app (*.mpr*) or app package (*.mpk*). See **New App** above for information on single-developer apps. For more information, see [Open App](/refguide/open-app-dialog/). | Ctrl + Shift + O | +| **New Document** | Creates a new document within the app currently open. You can choose the name, location, and type of document. For more information on types of documents, see [Modules](/refguide10/modules/). | Ctrl + N | +| **New App** | Creates a new single-developer app. A single-developer app is simply a file (with the extension *.mpr*) that is stored in the local file system. For more information, see [New App](/refguide10/new-app/). | Ctrl + Shift + N | +| **Open App** | Opens an existing single-developer app (*.mpr*) or app package (*.mpk*). See **New App** above for information on single-developer apps. For more information, see [Open App](/refguide10/open-app-dialog/). | Ctrl + Shift + O | | **Recent Apps** | Shows a list of recently opened apps for quick opening. | | | **Save** | Saves the changes in the currently active document tab. | Ctrl + S | | **Save All** | Saves the changes in all documents that are open. | Ctrl + Shift + S | @@ -27,11 +27,11 @@ The **File** menu items are described in the table below: | **Close All** | Closes all document tabs. You will be asked to save or discard changes when needed. | Ctrl + Shift + W | | **Close App** | Closes the currently open App and returns to the home page. | | | **Export as Image** | Exports the current document as an image in the *.png* format. The following document types can be exported as images: domain models, workflows, microflows, nanoflows, rules, and document templates. | | -| **Upgrade app to split MPR format (v2)** | Converts the file storage format of the current branch. The [MPRv2 storage format](/refguide/troubleshoot-repository-size/#mpr-format) results in reduced repository growth to ensure good performance over time. | | -| **Export App Package** | Exports the current app to a package (*.mpk*) file. This is useful for example when you want to give someone the entire app, or when you need to provide a test app when submitting a ticket. For more information, see [Export App Package](/refguide/export-app-package-dialog/). | | -| **Import App Package** | Imports a package that was created with the **Export App Package** menu item. For more information, see [Import App Package](/refguide/import-app-package-dialog/). | | +| **Upgrade app to split MPR format (v2)** | Converts the file storage format of the current branch. The [MPRv2 storage format](/refguide10/troubleshoot-repository-size/#mpr-format) results in reduced repository growth to ensure good performance over time. | | +| **Export App Package** | Exports the current app to a package (*.mpk*) file. This is useful for example when you want to give someone the entire app, or when you need to provide a test app when submitting a ticket. For more information, see [Export App Package](/refguide10/export-app-package-dialog/). | | +| **Import App Package** | Imports a package that was created with the **Export App Package** menu item. For more information, see [Import App Package](/refguide10/import-app-package-dialog/). | | | **Exit** | Closes Studio Pro | | ## Read More -* [Studio Pro Overview](/refguide/studio-pro-overview/) +* [Studio Pro Overview](/refguide10/studio-pro-overview/) diff --git a/content/en/docs/refguide10/modeling/menus/file-menu/export-app-package-dialog.md b/content/en/docs/refguide10/modeling/menus/file-menu/export-app-package-dialog.md index 2140aa69f70..6104c9a3fbf 100644 --- a/content/en/docs/refguide10/modeling/menus/file-menu/export-app-package-dialog.md +++ b/content/en/docs/refguide10/modeling/menus/file-menu/export-app-package-dialog.md @@ -1,9 +1,9 @@ --- title: "Export App Package" -url: /refguide/export-app-package-dialog/ +url: /refguide10/export-app-package-dialog/ weight: 30 aliases: - - /refguide/export-project-package-dialog/ + - /refguide10/export-project-package-dialog/ #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. --- @@ -11,7 +11,7 @@ aliases: You can export an app package (*.mpk*) from Mendix Studio Pro for backup purposes or to share it with other Mendix developers. This is useful if you want to give someone the entire app, or if you need to provide a test app when submitting a ticket. -App packages can be imported again into a new app using the [Import App Package](/refguide/import-app-package-dialog/). +App packages can be imported again into a new app using the [Import App Package](/refguide10/import-app-package-dialog/). To export the package, open the **File** menu > **Export App Package** and select the relevant options in the **Export App Package** dialog box: @@ -21,7 +21,7 @@ For more information on what options you can select, see the sections below. ## Package Type -Alternatively, you can export your app as an [Adaptable Solution](/appstore/creating-content/sol-adapt/). To be able to do it when exporting, open the **App settings** > **Solution** tab and set **Enable solution adaptation** to **Yes**. For more information on this setting, see the [Solution Tab](/refguide/app-settings/#solution) section in *App Settings*. +Alternatively, you can export your app as an [Adaptable Solution](/appstore/creating-content/sol-adapt/). To be able to do it when exporting, open the **App settings** > **Solution** tab and set **Enable solution adaptation** to **Yes**. For more information on this setting, see the [Solution Tab](/refguide10/app-settings/#solution) section in *App Settings*. You can now choose to export your app as the **Solution** or **Source Package**. @@ -33,7 +33,7 @@ You can now choose to export your app as the **Solution** or **Source Package**. You can only see the **Solution** and **Source Package** settings when you have access to publishing add-on modules and solutions. The access can be gained through the [Mendix Partner Program](/appstore/partner-program/). {{% /alert %}} -Choose this type of package if you develop your app as a solution and it has certain documents/elements hidden from consumers. Your app will be exported as a *.mxsolution* file; add-on and solution modules will be converted to the *.mxmodule* format during export. For more information on add-on and solution modules, see [Configuring Add-on and Solution Modules for Publishing](/refguide/configure-add-on-and-solution-modules/). +Choose this type of package if you develop your app as a solution and it has certain documents/elements hidden from consumers. Your app will be exported as a *.mxsolution* file; add-on and solution modules will be converted to the *.mxmodule* format during export. For more information on add-on and solution modules, see [Configuring Add-on and Solution Modules for Publishing](/refguide10/configure-add-on-and-solution-modules/). ### Source Package @@ -62,5 +62,5 @@ Mendix app packages can be exported to a Mendix package file (*.mpk*). You can ## Read More -* [Import App Package](/refguide/import-app-package-dialog/) -* [Version Control Menu](/refguide/version-control-menu/) +* [Import App Package](/refguide10/import-app-package-dialog/) +* [Version Control Menu](/refguide10/version-control-menu/) diff --git a/content/en/docs/refguide10/modeling/menus/file-menu/import-app-package-dialog.md b/content/en/docs/refguide10/modeling/menus/file-menu/import-app-package-dialog.md index 016d6e2de02..b376de29b30 100644 --- a/content/en/docs/refguide10/modeling/menus/file-menu/import-app-package-dialog.md +++ b/content/en/docs/refguide10/modeling/menus/file-menu/import-app-package-dialog.md @@ -1,10 +1,10 @@ --- title: "Import App Package" -url: /refguide/import-app-package-dialog/ +url: /refguide10/import-app-package-dialog/ weight: 40 description: "Describes the Import App Package process and Import App Package dialog box." aliases: - - /refguide/import-project-package-dialog/ + - /refguide10/import-project-package-dialog/ --- ## Introduction @@ -18,7 +18,7 @@ To import an app package, do the following: {{< figure src="/attachments/refguide10/modeling/menus/file-menu/import-app-package-dialog/import-app-package.png" alt="Import App Package Dialog Window" class="no-border" width="600" >}} -App packages can be created using [Export App Package](/refguide/export-app-package-dialog/). +App packages can be created using [Export App Package](/refguide10/export-app-package-dialog/). ## Where Should We Store Your App? @@ -57,4 +57,4 @@ Use this field to choose the directory where the app files of the app will be st ## Read More * [Team Server](/developerportal/general/team-server/) -* [Export App Package](/refguide/export-project-package-dialog/) +* [Export App Package](/refguide10/export-project-package-dialog/) diff --git a/content/en/docs/refguide10/modeling/menus/file-menu/new-app.md b/content/en/docs/refguide10/modeling/menus/file-menu/new-app.md index 7458483b348..043e9b81621 100644 --- a/content/en/docs/refguide10/modeling/menus/file-menu/new-app.md +++ b/content/en/docs/refguide10/modeling/menus/file-menu/new-app.md @@ -1,12 +1,12 @@ --- title: "New App" -url: /refguide/new-app/ +url: /refguide10/new-app/ weight: 10 description: "This document describes the New App flow and the App Settings dialog box." aliases: - - /refguide/app-settings-dialog.html - - /refguide/app-settings-dialog - - /refguide/new-project/ + - /refguide10/app-settings-dialog.html + - /refguide10/app-settings-dialog + - /refguide10/new-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. --- @@ -38,7 +38,7 @@ The name of your new app. This name is used as the name of the app directory and ### Enable Online Services -The Mendix Platform offers online services such as [version control](/refguide/version-control/) and [cloud deployment](/deployment/). When enabled, this will create an app in [Apps](https://sprintr.home.mendix.com/) in the Mendix Portal and a corresponding version control repository. +The Mendix Platform offers online services such as [version control](/refguide10/version-control/) and [cloud deployment](/deployment/). When enabled, this will create an app in [Apps](https://sprintr.home.mendix.com/) in the Mendix Portal and a corresponding version control repository. If you choose *No*, you will create an app that is only stored on your local disk. At a later point you can still decide to upload this local app to a version control server and enjoy the benefits of version control. @@ -50,11 +50,11 @@ The default language is the language of the user interface of your app. Choose t Specify the directory in which the files for your app are stored. -If you enable the online services for the new app, you will see that the suffix *-main* has been added to the directory name automatically. It is used to indicate that the directory contains the main branch line of your app. While working on your app, you can create new branches and download them to other directories. For more information on the branch line management, see [Branch Line Manager](/refguide/branch-line-manager-dialog/). +If you enable the online services for the new app, you will see that the suffix *-main* has been added to the directory name automatically. It is used to indicate that the directory contains the main branch line of your app. While working on your app, you can create new branches and download them to other directories. For more information on the branch line management, see [Branch Line Manager](/refguide10/branch-line-manager-dialog/). -The default directory in which new apps are stored can be changed in the [Preferences](/refguide/preferences-dialog/#default-directory) dialog box. +The default directory in which new apps are stored can be changed in the [Preferences](/refguide10/preferences-dialog/#default-directory) dialog box. ## Read More -* [Version Control](/refguide/version-control/) -* [Open App](/refguide/open-app-dialog/) +* [Version Control](/refguide10/version-control/) +* [Open App](/refguide10/open-app-dialog/) diff --git a/content/en/docs/refguide10/modeling/menus/file-menu/open-app-dialog.md b/content/en/docs/refguide10/modeling/menus/file-menu/open-app-dialog.md index 0972d4a3bfa..1fc382b1a92 100644 --- a/content/en/docs/refguide10/modeling/menus/file-menu/open-app-dialog.md +++ b/content/en/docs/refguide10/modeling/menus/file-menu/open-app-dialog.md @@ -1,11 +1,11 @@ --- title: "Open App" -url: /refguide/open-app-dialog/ +url: /refguide10/open-app-dialog/ weight: 20 description: "Describes the Open App flow and the Open App dialog box" aliases: - - /refguide/open-project-dialog.html - - /refguide/open-project-dialog + - /refguide10/open-project-dialog.html + - /refguide10/open-project-dialog #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. --- @@ -26,7 +26,7 @@ Apps can be located on the Team Server, on another Git server, or on the local d ### Selecting an App {#select-app} -You can select an app from the list of your apps. Once you have selected an app, you can either choose a [branch line](/refguide/version-control/#branches) that you would like to open or click **Open in Studio Pro** and the branch that is indicated in the **Current Branch** column will open: +You can select an app from the list of your apps. Once you have selected an app, you can either choose a [branch line](/refguide10/version-control/#branches) that you would like to open or click **Open in Studio Pro** and the branch that is indicated in the **Current Branch** column will open: {{< figure src="/attachments/refguide10/modeling/menus/file-menu/open-app-dialog/select-app.png" class="no-border" width="700" >}} @@ -36,21 +36,21 @@ For opening an app you already have on disk, click **Open App Locally** in the l ### Opening a Private App {#open-private} -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. +For opening an app you already have in a [Git On-Premises Version Control Server](/refguide10/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. ### 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/). +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](/refguide10/import-app-package-dialog/). ### 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: +Clicking **Preferences** opens a dialog box with a subset of the preferences you can set in [Preferences](/refguide10/preferences-dialog/). The preferences you can change are as follows: * Studio Pro Theme * Default Page Editor * Rendering -* [Clone type](/refguide/preferences-dialog/#clone) +* [Clone type](/refguide10/preferences-dialog/#clone) ## Read More -* [Import App Package](/refguide/import-app-package-dialog/) +* [Import App Package](/refguide10/import-app-package-dialog/) diff --git a/content/en/docs/refguide10/modeling/menus/file-menu/solving-load-and-import-errors.md b/content/en/docs/refguide10/modeling/menus/file-menu/solving-load-and-import-errors.md index c16750eb06e..b39d3dd7ad6 100644 --- a/content/en/docs/refguide10/modeling/menus/file-menu/solving-load-and-import-errors.md +++ b/content/en/docs/refguide10/modeling/menus/file-menu/solving-load-and-import-errors.md @@ -1,6 +1,6 @@ --- title: "Solve Load and Import Errors" -url: /refguide/solving-load-and-import-errors/ +url: /refguide10/solving-load-and-import-errors/ weight: 11 description: "Describes how to solve problems that may occur when opening an app." aliases: @@ -38,7 +38,7 @@ Before trying to solve the problems, it is useful to discover the origin of the ### Is This a Team Server App? -If your app is a [Team Server](/developerportal/general/team-server/) app, and you just did a [download or update](/refguide/using-version-control-in-studio-pro/) from the server, the problem may have been added in a revision that was recently committed to the Team Server. You can check who made the most recent commit on the [Team Server](/developerportal/general/team-server/) page of your app in [Apps](https://sprintr.home.mendix.com). +If your app is a [Team Server](/developerportal/general/team-server/) app, and you just did a [download or update](/refguide10/using-version-control-in-studio-pro/) from the server, the problem may have been added in a revision that was recently committed to the Team Server. You can check who made the most recent commit on the [Team Server](/developerportal/general/team-server/) page of your app in [Apps](https://sprintr.home.mendix.com). If the latest change on your branch line was committed by someone other than yourself, please inform the person about the problem. @@ -61,8 +61,8 @@ The most likely cause for these kinds of errors is a faulty script that was run * [Clearing Warning Messages in Mendix](/howto/monitoring-troubleshooting/clear-warning-messages/) * [Debugging Java Actions](/howto/monitoring-troubleshooting/debug-java-actions/) * [Debugging Java actions remotely](/howto/monitoring-troubleshooting/debug-java-actions-remotely/) -* [Debugging Microflows and Nanoflows](/refguide/debug-microflows-and-nanoflows/) -* [Debugging Microflows Remotely](/refguide/debug-microflows-remotely/) +* [Debugging Microflows and Nanoflows](/refguide10/debug-microflows-and-nanoflows/) +* [Debugging Microflows Remotely](/refguide10/debug-microflows-remotely/) * [Finding the Root Cause of Runtime Errors](/howto/monitoring-troubleshooting/finding-the-root-cause-of-runtime-errors/) * [Log Levels](/howto/monitoring-troubleshooting/log-levels/) * [Monitoring Mendix using JMX](/howto/monitoring-troubleshooting/monitoring-mendix-using-jmx/) diff --git a/content/en/docs/refguide10/modeling/menus/help-menu/_index.md b/content/en/docs/refguide10/modeling/menus/help-menu/_index.md index 868857e2d38..73a3876a235 100644 --- a/content/en/docs/refguide10/modeling/menus/help-menu/_index.md +++ b/content/en/docs/refguide10/modeling/menus/help-menu/_index.md @@ -1,6 +1,6 @@ --- title: "Help Menu" -url: /refguide/help-menu/ +url: /refguide10/help-menu/ description: "Describes the Help Menu in Studio-Pro." --- @@ -17,8 +17,8 @@ The **Help** menu items are described in the table below: | **Help** (F1) | Opens the documentation page about the currently selected element. If an entity is selected, for example, the documentation for entities will be shown. | | **Help Contents** | Opens the home page of the documentation in the default web browser. | | **Ask a Question** | Opens the Mendix Community in the default web browser. | -| **Submit Feedback...** | Opens the [Help us improve](/refguide/feedback-survey/) dialog to gather input on your experience using Mendix Studio Pro. | -| **Support Tools** | Provides tools that can be used to share with Mendix Support, especially when you encounter issues with performance or high memory consumption. Support tools include the following:
                                  • **Log Level** (*introduced in Studio Pro version 10.12.10*) – allows changing the minimum level (severity) of logging entries that Studio Pro will add to the log file. The following levels are available:
                                    • Trace
                                    • Debug
                                    • Info
                                    • Warning
                                    • Error
                                    • Critical
                                  • [Performance Logging](/refguide/performance-logging/) – logs performance measurements to key functionalities (such as opening and closing microflow editors and moving items around in the App Explorer) that can help identify performance degradations.
                                  • [Profiling](/refguide/profiling/) – runs a performance profiler session from within Studio Pro without installing the actual profiler on your machine or captures a memory snapshot. For more information, see [Profiling](/refguide/profiling/).
                                  • **Enable Responsiveness Monitor** - detects when the application becomes unresponsive and writes diagnostic information to the log file.
                                  • **Background** *(introduced in Studio Pro version 10.15.0)* – shows a pane containing information about current and previous background tasks.
                                  • **Project Context** *(introduced in Studio Pro version 10.15.0)* – shows a pane containing information about part of the background memory of Studio Pro.
                                  • **Enable Simple Progress Dialog** – enables the simplified version of the dialog that appears while Studio Pro is executing an operation (for example, saving a document).
                                  • **Optimize MPR** *(introduced in Studio Pro version 10.6.0)* – starts an action that will remove allocated memory resources clean from a project file (.mpr) if they are from no longer required.
                                  • **Convert to Full Clone** *(introduced in Studio Pro version 10.12.0)* – starts an action that will turn a [partially cloned](/refguide/clone-type/) application into full one.
                                  • **Fetch Repository** *(introduced in Studio Pro version 10.19.0)* – starts an action that will fix a corrupted repository. This option is available for a partially-cloned repository only.
                                  • **Collect Version Control Data** *(introduced in Studio Pro version 10.15.0)* – helps you to collect basic version control data kept in the logs of Studio Pro.
                                  • **Collect Support Information** *(introduced in Studio Pro version 10.16.0)* – helps collect information that assists the Support team in finding the root causes of issues.
                                  | +| **Submit Feedback...** | Opens the [Help us improve](/refguide10/feedback-survey/) dialog to gather input on your experience using Mendix Studio Pro. | +| **Support Tools** | Provides tools that can be used to share with Mendix Support, especially when you encounter issues with performance or high memory consumption. Support tools include the following:
                                  • **Log Level** (*introduced in Studio Pro version 10.12.10*) – allows changing the minimum level (severity) of logging entries that Studio Pro will add to the log file. The following levels are available:
                                    • Trace
                                    • Debug
                                    • Info
                                    • Warning
                                    • Error
                                    • Critical
                                  • [Performance Logging](/refguide10/performance-logging/) – logs performance measurements to key functionalities (such as opening and closing microflow editors and moving items around in the App Explorer) that can help identify performance degradations.
                                  • [Profiling](/refguide10/profiling/) – runs a performance profiler session from within Studio Pro without installing the actual profiler on your machine or captures a memory snapshot. For more information, see [Profiling](/refguide10/profiling/).
                                  • **Enable Responsiveness Monitor** - detects when the application becomes unresponsive and writes diagnostic information to the log file.
                                  • **Background** *(introduced in Studio Pro version 10.15.0)* – shows a pane containing information about current and previous background tasks.
                                  • **Project Context** *(introduced in Studio Pro version 10.15.0)* – shows a pane containing information about part of the background memory of Studio Pro.
                                  • **Enable Simple Progress Dialog** – enables the simplified version of the dialog that appears while Studio Pro is executing an operation (for example, saving a document).
                                  • **Optimize MPR** *(introduced in Studio Pro version 10.6.0)* – starts an action that will remove allocated memory resources clean from a project file (.mpr) if they are from no longer required.
                                  • **Convert to Full Clone** *(introduced in Studio Pro version 10.12.0)* – starts an action that will turn a [partially cloned](/refguide10/clone-type/) application into full one.
                                  • **Fetch Repository** *(introduced in Studio Pro version 10.19.0)* – starts an action that will fix a corrupted repository. This option is available for a partially-cloned repository only.
                                  • **Collect Version Control Data** *(introduced in Studio Pro version 10.15.0)* – helps you to collect basic version control data kept in the logs of Studio Pro.
                                  • **Collect Support Information** *(introduced in Studio Pro version 10.16.0)* – helps collect information that assists the Support team in finding the root causes of issues.
                                  | | **Open Log File Directory** | Opens the log files written by Studio Pro that can be used to see what might be the reason something went wrong in Studio Pro. Studio Pro retains these logs for the last 30 days, with files organized from the most recent to the oldest. Log files can also be used to share with Mendix Support when you submit a ticket. | | **Welcome** | Opens the **Welcome** page, which shows information about the version of Studio Pro being used, and links to release notes, Mendix platform blogs, and Maia Learn and Maia Chat. | | **About Mendix Studio Pro** | Shows information about the current version of Mendix Studio Pro. | diff --git a/content/en/docs/refguide10/modeling/menus/help-menu/feedback-survey.md b/content/en/docs/refguide10/modeling/menus/help-menu/feedback-survey.md index c56fe13c53b..fc4f1807e9d 100644 --- a/content/en/docs/refguide10/modeling/menus/help-menu/feedback-survey.md +++ b/content/en/docs/refguide10/modeling/menus/help-menu/feedback-survey.md @@ -1,6 +1,6 @@ --- title: "Feedback Survey" -url: /refguide/feedback-survey/ +url: /refguide10/feedback-survey/ description: "Describes how to provide feedback on your experience using Studio Pro." --- diff --git a/content/en/docs/refguide10/modeling/menus/help-menu/performance-logging.md b/content/en/docs/refguide10/modeling/menus/help-menu/performance-logging.md index c307bcb3c3d..054b49f65c1 100644 --- a/content/en/docs/refguide10/modeling/menus/help-menu/performance-logging.md +++ b/content/en/docs/refguide10/modeling/menus/help-menu/performance-logging.md @@ -1,6 +1,6 @@ --- title: "Performance Logging" -url: /refguide/performance-logging/ +url: /refguide10/performance-logging/ description: "Describes how to enable, view and compare performance metrics to key functionalities in Studio Pro." --- diff --git a/content/en/docs/refguide10/modeling/menus/help-menu/profiling.md b/content/en/docs/refguide10/modeling/menus/help-menu/profiling.md index f412977fce6..60e1761008c 100644 --- a/content/en/docs/refguide10/modeling/menus/help-menu/profiling.md +++ b/content/en/docs/refguide10/modeling/menus/help-menu/profiling.md @@ -1,6 +1,6 @@ --- title: "Profiling" -url: /refguide/profiling/ +url: /refguide10/profiling/ description: "Describes how to run a performance profiler session on the local machine from within Studio-Pro." --- diff --git a/content/en/docs/refguide10/modeling/menus/run-menu/_index.md b/content/en/docs/refguide10/modeling/menus/run-menu/_index.md index a71623a05db..9ecbb512544 100644 --- a/content/en/docs/refguide10/modeling/menus/run-menu/_index.md +++ b/content/en/docs/refguide10/modeling/menus/run-menu/_index.md @@ -1,6 +1,6 @@ --- title: "Run Menu" -url: /refguide/run-menu/ +url: /refguide10/run-menu/ description: "Describes the Run menu in Mendix Studio Pro." weight: 35 --- @@ -23,8 +23,8 @@ The **Run** menu items are described in the table below: | **Default Log Level** | Allows setting the default log level before running the app locally. The options are **Trace**, **Debug**, **Info** (default), **Warning**, **Error**, **Critical**. | | | **Publish** | Deploys the app to cloud. The **Console** pane is activated and this shows the output of the server that runs the app. | | |**Run on Cloud Foundry (⚠ deprecated)** | Opens the **Edit Cloud Foundry Settings** dialog box so you can run your app on Cloud Foundry. | | -| **Edit Cloud Foundry Settings (⚠ deprecated)** | Opens the **Edit Cloud Foundry Settings** dialog box so you can edit your Cloud Foundry settings. For more information on this dialog box, see [Edit Cloud Foundry Settings](/refguide/edit-cloud-foundry-settings-dialog/). | | -| **Debug** | Allows you to connect the [Debugger](/refguide/view-menu/#debugger). | | +| **Edit Cloud Foundry Settings (⚠ deprecated)** | Opens the **Edit Cloud Foundry Settings** dialog box so you can edit your Cloud Foundry settings. For more information on this dialog box, see [Edit Cloud Foundry Settings](/refguide10/edit-cloud-foundry-settings-dialog/). | | +| **Debug** | Allows you to connect the [Debugger](/refguide10/view-menu/#debugger). | | | **Responsive Web** | Shows the web client for the currently running app in the browser. | F9 | | **Tablet Web** | Shows the tablet mobile client for the currently running app in the browser. | Ctrl + Shift + F9 | | **Phone Web** | Shows the mobile client for the currently running app in the browser. | Ctrl + F9 | @@ -32,4 +32,4 @@ The **Run** menu items are described in the table below: ## Read More -* [Studio Pro Overview](/refguide/studio-pro-overview/) +* [Studio Pro Overview](/refguide10/studio-pro-overview/) diff --git a/content/en/docs/refguide10/modeling/menus/run-menu/edit-cloud-foundry-settings-dialog.md b/content/en/docs/refguide10/modeling/menus/run-menu/edit-cloud-foundry-settings-dialog.md index c0167c14eea..b0485e02059 100644 --- a/content/en/docs/refguide10/modeling/menus/run-menu/edit-cloud-foundry-settings-dialog.md +++ b/content/en/docs/refguide10/modeling/menus/run-menu/edit-cloud-foundry-settings-dialog.md @@ -1,6 +1,6 @@ --- title: "Edit Cloud Foundry Settings" -url: /refguide/edit-cloud-foundry-settings-dialog/ +url: /refguide10/edit-cloud-foundry-settings-dialog/ #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. --- diff --git a/content/en/docs/refguide10/modeling/menus/translatable-texts/_index.md b/content/en/docs/refguide10/modeling/menus/translatable-texts/_index.md index 2de5e2c707a..864881ebcde 100644 --- a/content/en/docs/refguide10/modeling/menus/translatable-texts/_index.md +++ b/content/en/docs/refguide10/modeling/menus/translatable-texts/_index.md @@ -1,6 +1,6 @@ --- title: "Language Menu" -url: /refguide/translatable-texts/ +url: /refguide10/translatable-texts/ weight: 50 #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. --- @@ -11,12 +11,12 @@ Mendix is designed so that it is easy to present the same information to users w These *translatable texts* include the following: -* [button](/refguide/button-widgets/) captions -* [data grid](/refguide/data-grid/) columns -* [labels](/refguide/label/) -* [menu items](/refguide/menu/#menu-item) -* [messages](/refguide/show-message/) that are sent from a [microflow](/refguide/microflows/) -* [text](/refguide/text/) +* [button](/refguide10/button-widgets/) captions +* [data grid](/refguide10/data-grid/) columns +* [labels](/refguide10/label/) +* [menu items](/refguide10/menu/#menu-item) +* [messages](/refguide10/show-message/) that are sent from a [microflow](/refguide10/microflows/) +* [text](/refguide10/text/) ## Working in the Currently Selected Language{#selected-language} @@ -36,9 +36,9 @@ If you edit your app to add new widgets while not in the default language, any n All untranslated texts will be displayed in the default language when you run the application. -English (US) and Dutch translations are added by default even if you do not use these languages in your app. When you add a new element (for example, a button), it will get an English and Dutch translation in the system, but you will not see it until you add those languages. You may want to delete all English and Dutch translations if you do not plan to have your app in these languages. Before deleting English (US), make sure you have another default language set up. For more information on how to delete translations, see the [Delete](/refguide/language-operations/#delete) section in *Language Operations*. +English (US) and Dutch translations are added by default even if you do not use these languages in your app. When you add a new element (for example, a button), it will get an English and Dutch translation in the system, but you will not see it until you add those languages. You may want to delete all English and Dutch translations if you do not plan to have your app in these languages. Before deleting English (US), make sure you have another default language set up. For more information on how to delete translations, see the [Delete](/refguide10/language-operations/#delete) section in *Language Operations*. -If you plan to export your module/app as an add-on/solution, the best practice is to remove default Dutch translations to avoid confusion for your customers in case they plan to translate their app to Dutch. For more information, see the [Exporting Add-on Modules and Solutions](/refguide/configure-add-on-and-solution-modules/#export) section in *Configuring Add-on and Solution Modules for Publishing*. +If you plan to export your module/app as an add-on/solution, the best practice is to remove default Dutch translations to avoid confusion for your customers in case they plan to translate their app to Dutch. For more information, see the [Exporting Add-on Modules and Solutions](/refguide10/configure-add-on-and-solution-modules/#export) section in *Configuring Add-on and Solution Modules for Publishing*. {{% alert color="info" %}} If there is no text in the default language, the end-user will see `[no translation]`. If you want the text to be blank, set the default language text to be a space rather than empty. @@ -59,10 +59,10 @@ The **Language** menu items are described in the table below: | **Current Language** | Choose the current language from one of the languages set up in **Language Settings…**. | *None* | | **Select Previous Language** | Choose the previous language in the list of languages chosen in **Language Settings…**. | Ctrl + Shift + L | | **Select Next Language** | Choose the next language in the list of languages chosen in **Language Settings…**. | Ctrl + L | -| [Language Settings…](/refguide/language-settings/) | Choose which languages are supported by the app and configure date and time settings. | *None* | -| [Batch Replace…](/refguide/batch-replace/) | Change all occurrences of chosen translatable texts in the current language where they are identical. | *None* | -| [Batch Translate…](/refguide/batch-translate/) | Add and edit translations from a selected source language to a selected target language | *None* | -| [Language Operations…](/refguide/language-operations/) | Manipulate (for example, copy) translations between languages. | *None* | +| [Language Settings…](/refguide10/language-settings/) | Choose which languages are supported by the app and configure date and time settings. | *None* | +| [Batch Replace…](/refguide10/batch-replace/) | Change all occurrences of chosen translatable texts in the current language where they are identical. | *None* | +| [Batch Translate…](/refguide10/batch-translate/) | Add and edit translations from a selected source language to a selected target language | *None* | +| [Language Operations…](/refguide10/language-operations/) | Manipulate (for example, copy) translations between languages. | *None* | ## Setting the End-User's Language @@ -101,7 +101,7 @@ The above only applies to pages *within* your Mendix application (meaning, pages ## Read More -* [Translating Your App Content](/refguide/translate-your-app-content/) – a worked example of adding a translation -* [Using Translatable Validation Messages](/refguide/translatable-validation-messages/) +* [Translating Your App Content](/refguide10/translate-your-app-content/) – a worked example of adding a translation +* [Using Translatable Validation Messages](/refguide10/translatable-validation-messages/) * [Change language by clicking a link](https://community.mendix.com/link/questions/91821) – explanations and ideas in the Mendix Community for refreshing the page when the language is changed * [Anonymous User Journey](https://community.mendix.com/link/questions/91676) – a discussion in the Mendix Community about switching languages for anonymous end-users diff --git a/content/en/docs/refguide10/modeling/menus/translatable-texts/batch-replace.md b/content/en/docs/refguide10/modeling/menus/translatable-texts/batch-replace.md index e719bf3344c..9b263d15ba2 100644 --- a/content/en/docs/refguide10/modeling/menus/translatable-texts/batch-replace.md +++ b/content/en/docs/refguide10/modeling/menus/translatable-texts/batch-replace.md @@ -1,6 +1,6 @@ --- title: "Batch Replace" -url: /refguide/batch-replace/ +url: /refguide10/batch-replace/ weight: 20 --- @@ -18,7 +18,7 @@ There are a number of reasons that you may wish to do this: ## Using Batch Replace -Batch replace works on the currently selected language, so first you should select the language you want to work on. For more information, see the [Working in the Currently Selected Language](/refguide/translatable-texts/#selected-language) section in *Language Menu*. +Batch replace works on the currently selected language, so first you should select the language you want to work on. For more information, see the [Working in the Currently Selected Language](/refguide10/translatable-texts/#selected-language) section in *Language Menu*. ### Documents/modules diff --git a/content/en/docs/refguide10/modeling/menus/translatable-texts/batch-translate.md b/content/en/docs/refguide10/modeling/menus/translatable-texts/batch-translate.md index 00c06b5fd28..9af10ef4c6b 100644 --- a/content/en/docs/refguide10/modeling/menus/translatable-texts/batch-translate.md +++ b/content/en/docs/refguide10/modeling/menus/translatable-texts/batch-translate.md @@ -1,6 +1,6 @@ --- title: "Batch Translate" -url: /refguide/batch-translate/ +url: /refguide10/batch-translate/ weight: 30 --- @@ -48,14 +48,14 @@ Tip: move the dialog box to one side to get a better look at the document. ### Translation {{% alert color="info" %}} -Alternatively, you can use the AI-powered translation tool [Translation Generator](/refguide/translation-generator/) to generate translations for you. It is currently an experimental feature introduced in Studio Pro 10.12. You can enable it via **Preferences** > the **New Features** tab > the **Maia** section. +Alternatively, you can use the AI-powered translation tool [Translation Generator](/refguide10/translation-generator/) to generate translations for you. It is currently an experimental feature introduced in Studio Pro 10.12. You can enable it via **Preferences** > the **New Features** tab > the **Maia** section. {{% /alert %}} In **Translation**, type new text that you want to use instead of the existing text. Click **Translate** to confirm the replacement. {{< figure src="/attachments/refguide10/modeling/menus/translatable-texts/batch-translate/batch-translate-translate.png" width="600" >}} -If you have two texts which are identical in the source language but different in the translation language, you will have to review and change these individually. This is not very common but imagine, for example, you have used `Order Lines` to both *describe the lines on an order* and to *label a button which sorts some lines*. See [Working in the Currently Selected Language](/refguide/translatable-texts/#selected-language) in *Language Menu* to find how to change individual texts. +If you have two texts which are identical in the source language but different in the translation language, you will have to review and change these individually. This is not very common but imagine, for example, you have used `Order Lines` to both *describe the lines on an order* and to *label a button which sorts some lines*. See [Working in the Currently Selected Language](/refguide10/translatable-texts/#selected-language) in *Language Menu* to find how to change individual texts. ## Exporting and Importing Text {#export-import} @@ -98,5 +98,5 @@ The formats of the Excel files for batch translate and batch replace are similar ## Read More -* [Translation Generator](/refguide/translation-generator/) -* [Mendix AI Assistance (Maia)](/refguide/mendix-ai-assistance/) +* [Translation Generator](/refguide10/translation-generator/) +* [Mendix AI Assistance (Maia)](/refguide10/mendix-ai-assistance/) diff --git a/content/en/docs/refguide10/modeling/menus/translatable-texts/language-operations.md b/content/en/docs/refguide10/modeling/menus/translatable-texts/language-operations.md index 1be8ec653d1..a342029cc24 100644 --- a/content/en/docs/refguide10/modeling/menus/translatable-texts/language-operations.md +++ b/content/en/docs/refguide10/modeling/menus/translatable-texts/language-operations.md @@ -1,6 +1,6 @@ --- title: "Language Operations" -url: /refguide/language-operations/ +url: /refguide10/language-operations/ weight: 40 --- diff --git a/content/en/docs/refguide10/modeling/menus/translatable-texts/language-settings.md b/content/en/docs/refguide10/modeling/menus/translatable-texts/language-settings.md index 338bc5cdc32..830098016ed 100644 --- a/content/en/docs/refguide10/modeling/menus/translatable-texts/language-settings.md +++ b/content/en/docs/refguide10/modeling/menus/translatable-texts/language-settings.md @@ -1,6 +1,6 @@ --- title: "Language Settings" -url: /refguide/language-settings/ +url: /refguide10/language-settings/ weight: 50 --- @@ -13,7 +13,7 @@ Mendix is designed to be used by users in multiple languages. The **Languages** You can reach this tab in two ways: 1. Select the menu option **Language > Language Settings…**. -2. Open the **App{Name} > Settings** dialog box from the [App Explorer](/refguide/app-explorer/) and select the **Language** tab. +2. Open the **App{Name} > Settings** dialog box from the [App Explorer](/refguide10/app-explorer/) and select the **Language** tab. ## Setting Default Language @@ -42,7 +42,7 @@ You can set each language in your app to have additional settings. ### Check Completeness -If you check the **Check completeness** box, you will get a warning (or error) message in the [Errors pane](/refguide/errors-pane/) for every text which has no entry in this language's dictionary. +If you check the **Check completeness** box, you will get a warning (or error) message in the [Errors pane](/refguide10/errors-pane/) for every text which has no entry in this language's dictionary. If this is the default language, the **Check completeness** box will be checked and you will not be able to uncheck it. diff --git a/content/en/docs/refguide10/modeling/menus/translatable-texts/translatable-validation-messages.md b/content/en/docs/refguide10/modeling/menus/translatable-texts/translatable-validation-messages.md index 00b3fb3d88b..e7f87c57736 100644 --- a/content/en/docs/refguide10/modeling/menus/translatable-texts/translatable-validation-messages.md +++ b/content/en/docs/refguide10/modeling/menus/translatable-texts/translatable-validation-messages.md @@ -1,6 +1,6 @@ --- title: "Using Translatable Validation Messages" -url: /refguide/translatable-validation-messages/ +url: /refguide10/translatable-validation-messages/ weight: 140 description: "Describes how to use translatable validation messages." aliases: @@ -9,7 +9,7 @@ aliases: ## Introduction -Setting up validation rules should be relatively straightforward. For each object or process, you want to have a single microflow that is in charge of the validation. That microflow has the required input parameters and validates all values. If a value is invalid, the microflow will execute the [Validation feedback activity](/refguide/validation-feedback/). When completing the microflow, it will return a Boolean value (true/false) depending on whether the object has been successfully validated. +Setting up validation rules should be relatively straightforward. For each object or process, you want to have a single microflow that is in charge of the validation. That microflow has the required input parameters and validates all values. If a value is invalid, the microflow will execute the [Validation feedback activity](/refguide10/validation-feedback/). When completing the microflow, it will return a Boolean value (true/false) depending on whether the object has been successfully validated. These types of validation actions should be used throughout your app. diff --git a/content/en/docs/refguide10/modeling/menus/translatable-texts/translate-your-app-content.md b/content/en/docs/refguide10/modeling/menus/translatable-texts/translate-your-app-content.md index dbf860e58f2..943ddf954ae 100644 --- a/content/en/docs/refguide10/modeling/menus/translatable-texts/translate-your-app-content.md +++ b/content/en/docs/refguide10/modeling/menus/translatable-texts/translate-your-app-content.md @@ -1,6 +1,6 @@ --- title: "Translating Your App Content" -url: /refguide/translate-your-app-content/ +url: /refguide10/translate-your-app-content/ weight: 50 aliases: - /howto/collaboration-requirements-management/translate-your-app-content/ @@ -228,7 +228,7 @@ To set up the completeness check, do the following: 4. Click **OK** to close the **Edit Language** dialog box. 5. In the **App Settings** dialog box, click **OK** to save the changes and close the dialog box. You then receive warnings about all text which has not been translated into that language. There is always a completeness check for the default language. -For more information, see [Advanced Language Settings](/refguide/language-settings/#advanced) in the *Language Settings* reference guide. +For more information, see [Advanced Language Settings](/refguide10/language-settings/#advanced) in the *Language Settings* reference guide. ### Sharing Translations With Other Apps @@ -238,8 +238,8 @@ What if you have several apps and want to add Chinese to all of them? Maybe you Mendix allows you to export a translation to an Excel file, either for the whole app or selected modules. You can then import this translation to another app and have your translation available to you. -For more information, see [Exporting and Importing Text](/refguide/batch-translate/#export-import) in the *Batch Translate* reference guide. +For more information, see [Exporting and Importing Text](/refguide10/batch-translate/#export-import) in the *Batch Translate* reference guide. ## Read More -* [Language Menu](/refguide/translatable-texts/) +* [Language Menu](/refguide10/translatable-texts/) diff --git a/content/en/docs/refguide10/modeling/menus/version-control-menu/_index.md b/content/en/docs/refguide10/modeling/menus/version-control-menu/_index.md index b81ba6b2879..4a89d09d468 100644 --- a/content/en/docs/refguide10/modeling/menus/version-control-menu/_index.md +++ b/content/en/docs/refguide10/modeling/menus/version-control-menu/_index.md @@ -1,6 +1,6 @@ --- title: "Version Control Menu" -url: /refguide/version-control-menu/ +url: /refguide10/version-control-menu/ description: "Describes the Version Control menu in Studio Pro." weight: 40 --- @@ -17,11 +17,11 @@ The **Pull** option updates the local app to the latest revision that was commit ## Commit -The **Commit** option commits all local changes made to the app since the previous commit to the version control server. For more information, see [Commit](/refguide/commit-dialog/). +The **Commit** option commits all local changes made to the app since the previous commit to the version control server. For more information, see [Commit](/refguide10/commit-dialog/). ## Push{#push} -The **Push** option sends your local changes to the version control server. For more information, see the [Commit/Push](/refguide/version-control/#commit) section in *Version Control*. +The **Push** option sends your local changes to the version control server. For more information, see the [Commit/Push](/refguide10/version-control/#commit) section in *Version Control*. ## Show Changes on Disk {#show-changes} @@ -29,19 +29,19 @@ The **Push** option sends your local changes to the version control server. For ## History -The **History** option shows the history of committed revisions of the app. For more information on what is displayed in **History**, see [History](/refguide/history-dialog/). +The **History** option shows the history of committed revisions of the app. For more information on what is displayed in **History**, see [History](/refguide10/history-dialog/). ## Download from Version Control Server -The **Download from Version Control Server** option downloads an app from the Team Server or another private server. This creates a local working copy of the app for development. For more information on what settings are displayed in the **Download from Version Control Server** dialog box, see [Download from Version Control Server](/refguide/download-from-version-control-dialog/). +The **Download from Version Control Server** option downloads an app from the Team Server or another private server. This creates a local working copy of the app for development. For more information on what settings are displayed in the **Download from Version Control Server** dialog box, see [Download from Version Control Server](/refguide10/download-from-version-control-dialog/). ## Upload to Version Control Server -The **Upload to Version Control Server** option uploads a local app to a new or existing Team Server repository, or to another private server. This is only possible if the app is not yet version controlled. For more information on what settings are displayed in the **Upload to Version Control Server** dialog box, see [Upload to Version Control Server](/refguide/upload-to-version-control-dialog/). +The **Upload to Version Control Server** option uploads a local app to a new or existing Team Server repository, or to another private server. This is only possible if the app is not yet version controlled. For more information on what settings are displayed in the **Upload to Version Control Server** dialog box, see [Upload to Version Control Server](/refguide10/upload-to-version-control-dialog/). ## Manage Branch Lines -The **Manage Branch Lines** option allows you to manage branch lines on the version control server that can be used to develop functionality separately from the main line. For more information on the Branch Line Manager and creating a new branch line, see [Branch Line Manager](/refguide/branch-line-manager-dialog/) and [Create Branch Line](/refguide/create-branch-line-dialog/). +The **Manage Branch Lines** option allows you to manage branch lines on the version control server that can be used to develop functionality separately from the main line. For more information on the Branch Line Manager and creating a new branch line, see [Branch Line Manager](/refguide10/branch-line-manager-dialog/) and [Create Branch Line](/refguide10/create-branch-line-dialog/). ## Merge Changes Here {#merge-changes-here} @@ -49,11 +49,11 @@ The **Merge Changes Here** option allows you to merge changes that were committe ## Revert a Commit -The **Reverse Merge Changes** option allows you to locally [roll back changes](/refguide/using-version-control-in-studio-pro/#revert-changes) that were committed to the version control repository. These local changes can then be committed as a new revision. +The **Reverse Merge Changes** option allows you to locally [roll back changes](/refguide10/using-version-control-in-studio-pro/#revert-changes) that were committed to the version control repository. These local changes can then be committed as a new revision. ## Revert All Changes {#revert-all-changes} -The **Revert All Changes** option allows you to [roll back all local changes](/refguide/using-version-control-in-studio-pro/#revert-changes), both in the project and in files on disk, that have been introduced since the last commit. +The **Revert All Changes** option allows you to [roll back all local changes](/refguide10/using-version-control-in-studio-pro/#revert-changes), both in the project and in files on disk, that have been introduced since the last commit. ## Optimize Storage Repository {#optimize-storage} @@ -64,7 +64,7 @@ The **Optimize Repository Storage…** option is only available in Git. {{% /alert %}} The **Optimize Repository Storage…** option allows you to perform a number of housekeeping tasks in the current Git repository. Git repositories can accumulate various types of garbage over the time, which may lead to possible performance bottlenecks when using version control features. -When you optimize the repository storage, the file revisions are compressed to reduce disk space and increase performance and unreachable Git storage objects are removed. For more information on storage optimization, see [Git Storage Optimization](/refguide/git-storage-optimization-dialog/). +When you optimize the repository storage, the file revisions are compressed to reduce disk space and increase performance and unreachable Git storage objects are removed. For more information on storage optimization, see [Git Storage Optimization](/refguide10/git-storage-optimization-dialog/). {{% alert color="info" %}} @@ -78,5 +78,5 @@ The **Add Snapshot of Data** option creates a snapshot of the built-in database ## Read More -* [Studio Pro Overview](/refguide/studio-pro-overview/) -* [Version Control](/refguide/version-control/) +* [Studio Pro Overview](/refguide10/studio-pro-overview/) +* [Version Control](/refguide10/version-control/) diff --git a/content/en/docs/refguide10/modeling/menus/version-control-menu/branch-line-manager-dialog/_index.md b/content/en/docs/refguide10/modeling/menus/version-control-menu/branch-line-manager-dialog/_index.md index 9254840c3ac..d55a8d41596 100644 --- a/content/en/docs/refguide10/modeling/menus/version-control-menu/branch-line-manager-dialog/_index.md +++ b/content/en/docs/refguide10/modeling/menus/version-control-menu/branch-line-manager-dialog/_index.md @@ -1,12 +1,12 @@ --- title: "Branch Line Manager" -url: /refguide/branch-line-manager-dialog/ +url: /refguide10/branch-line-manager-dialog/ weight: 80 --- ## Introduction -The **Branch Line Manager** is used to manage the [branch lines](/refguide/version-control/#branches) of an app that are stored on a version control server. You can create or delete branch lines for your app, and you can change the branch line that you are working on. +The **Branch Line Manager** is used to manage the [branch lines](/refguide10/version-control/#branches) of an app that are stored on a version control server. You can create or delete branch lines for your app, and you can change the branch line that you are working on. To view the **Branch Line Manager** dialog box, open **Version Control** > **Manage Branch Lines**. @@ -22,7 +22,7 @@ To switch to a branch line you have created, either double-click the branch you ## Location {{% alert color="warning" %}} -This option is only available when support for private Git servers is enabled in [Preferences](/refguide/preferences-dialog/). +This option is only available when support for private Git servers is enabled in [Preferences](/refguide10/preferences-dialog/). {{% /alert %}} Use this setting to select the location where your app is stored. This can be either the [Team Server](#team-server-app) or a [private Git repository](#byo-server-app). @@ -39,4 +39,4 @@ In the **App repository address** field, enter the address of the app you want t ## Read More -* [Version Control](/refguide/version-control/) +* [Version Control](/refguide10/version-control/) diff --git a/content/en/docs/refguide10/modeling/menus/version-control-menu/branch-line-manager-dialog/create-branch-line-dialog.md b/content/en/docs/refguide10/modeling/menus/version-control-menu/branch-line-manager-dialog/create-branch-line-dialog.md index 42fff20ef2a..4b403f6df89 100644 --- a/content/en/docs/refguide10/modeling/menus/version-control-menu/branch-line-manager-dialog/create-branch-line-dialog.md +++ b/content/en/docs/refguide10/modeling/menus/version-control-menu/branch-line-manager-dialog/create-branch-line-dialog.md @@ -1,12 +1,12 @@ --- title: "Create Branch Line" -url: /refguide/create-branch-line-dialog/ +url: /refguide10/create-branch-line-dialog/ weight: 10 --- ## Introduction -Use the **Create Branch Line** dialog box to create a new [branch line](/refguide/version-control/#branches) via the **Branch Line Manager**: +Use the **Create Branch Line** dialog box to create a new [branch line](/refguide10/version-control/#branches) via the **Branch Line Manager**: {{< figure src="/attachments/refguide10/modeling/menus/version-control-menu/branch-line-manager-dialog/create-branch-line-dialog/create-branch-line.png" class="no-border" width="550" >}} @@ -20,7 +20,7 @@ To view the **Create Branch Line** dialog box, do the following: The **Create Branch Line** dialog box is displayed. -For more information on how to manage branch lines, see [Branch Line Manager](/refguide/branch-line-manager-dialog/). For information on the version control, see [Version Control](/refguide/version-control/). +For more information on how to manage branch lines, see [Branch Line Manager](/refguide10/branch-line-manager-dialog/). For information on the version control, see [Version Control](/refguide10/version-control/). ## Create Branch From @@ -60,4 +60,4 @@ Since branch line names must be unique, this option shows the existing branch li ## Read More -* [Version Control](/refguide/version-control/) +* [Version Control](/refguide10/version-control/) diff --git a/content/en/docs/refguide10/modeling/menus/version-control-menu/commit-dialog.md b/content/en/docs/refguide10/modeling/menus/version-control-menu/commit-dialog.md index d95ac110b77..e658d67771e 100644 --- a/content/en/docs/refguide10/modeling/menus/version-control-menu/commit-dialog.md +++ b/content/en/docs/refguide10/modeling/menus/version-control-menu/commit-dialog.md @@ -1,6 +1,6 @@ --- title: "Commit" -url: /refguide/commit-dialog/ +url: /refguide10/commit-dialog/ weight: 20 --- @@ -29,7 +29,7 @@ Tick the boxes next to the stories that are related to your commit. Mendix recom ### Changes in Model -If there are changes in the model this tab shows a summary of those changes. For more information on how changes are reported in Studio Pro, see [Changes Pane](/refguide/changes-pane/). +If there are changes in the model this tab shows a summary of those changes. For more information on how changes are reported in Studio Pro, see [Changes Pane](/refguide10/changes-pane/). There are several scenarios and options that you can choose when committing. Two of these options are represented in the image below: @@ -51,7 +51,7 @@ Changes are committed to your local working copy and are not pushed to the sever #### Commit and Combine {#combine} -If someone else committed a change since the last time you pulled your branch, you will have to pull and merge their changes before you can push to the server. This process is called **Commit and Combine** in the [Commit](/refguide/commit-dialog/) dialog box. **Commit and Combine** will first create a local commit and then automatically do a pull. After resolving any conflicts, you can push the combined version to the server. +If someone else committed a change since the last time you pulled your branch, you will have to pull and merge their changes before you can push to the server. This process is called **Commit and Combine** in the [Commit](/refguide10/commit-dialog/) dialog box. **Commit and Combine** will first create a local commit and then automatically do a pull. After resolving any conflicts, you can push the combined version to the server. {{< figure src="/attachments/refguide10/modeling/menus/version-control-menu/commit-dialog/commit-and-combine.jpg" alt="Commit and combine changes" >}} diff --git a/content/en/docs/refguide10/modeling/menus/version-control-menu/download-from-version-control-dialog.md b/content/en/docs/refguide10/modeling/menus/version-control-menu/download-from-version-control-dialog.md index 995acf7ef82..bab3b43e48b 100644 --- a/content/en/docs/refguide10/modeling/menus/version-control-menu/download-from-version-control-dialog.md +++ b/content/en/docs/refguide10/modeling/menus/version-control-menu/download-from-version-control-dialog.md @@ -1,10 +1,10 @@ --- title: "Download from Version Control Server" -url: /refguide/download-from-version-control-dialog/ +url: /refguide10/download-from-version-control-dialog/ weight: 60 aliases: - - /refguide/download-from-team-server-dialog.html - - /refguide/download-from-team-server-dialog + - /refguide10/download-from-team-server-dialog.html + - /refguide10/download-from-team-server-dialog #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. --- @@ -17,16 +17,16 @@ Use the **Download from Version Control Server** menu item to download an app fr {{% alert color="info" %}} If the downloaded app was created with a different version of Mendix, you will be asked if it can be converted to the current version. -You can also use the [Open App Dialog](/refguide/open-app-dialog/) to download and open an app from Team Server. However, you will need to use this option if you want to download a second copy of an app (and development line) you already have on disk. +You can also use the [Open App Dialog](/refguide10/open-app-dialog/) to download and open an app from Team Server. However, you will need to use this option if you want to download a second copy of an app (and development line) you already have on disk. {{% /alert %}} {{% alert color="info" %}} -From Mendix version 10.12.0, either a full or partial clone will be downloaded, depending on the [Clone type](/refguide/clone-type/) set for your app. +From Mendix version 10.12.0, either a full or partial clone will be downloaded, depending on the [Clone type](/refguide10/clone-type/) set for your app. {{% /alert %}} ## Where Is Your App Stored? -If **Enable private version control with Git** is set in the app [Preferences](/refguide/preferences-dialog/#enable-with-Git), you can choose between the **Mendix Team Server** or a **Private server**. If it is not enabled, you will only be able to choose an app from the Mendix Team Server. +If **Enable private version control with Git** is set in the app [Preferences](/refguide10/preferences-dialog/#enable-with-Git), you can choose between the **Mendix Team Server** or a **Private server**. If it is not enabled, you will only be able to choose an app from the Mendix Team Server. ### Mendix Team Server @@ -44,7 +44,7 @@ Enter the URL of your private Git server in **App repository address** and click Choose the **Development line** you want to download. -For more information about development lines, see [Version Control](/refguide/version-control/). +For more information about development lines, see [Version Control](/refguide10/version-control/). ## App Directory diff --git a/content/en/docs/refguide10/modeling/menus/version-control-menu/history-dialog.md b/content/en/docs/refguide10/modeling/menus/version-control-menu/history-dialog.md index 13dc1006280..dfe918ce8c2 100644 --- a/content/en/docs/refguide10/modeling/menus/version-control-menu/history-dialog.md +++ b/content/en/docs/refguide10/modeling/menus/version-control-menu/history-dialog.md @@ -1,6 +1,6 @@ --- title: "History" -url: /refguide/history-dialog/ +url: /refguide10/history-dialog/ weight: 50 --- ## Introduction @@ -36,7 +36,7 @@ A visual summary of the changes in the selected revision, each icon represents d | {{< figure src="/attachments/refguide10/modeling/menus/version-control-menu/history-dialog/RevChangesModel.png" width=32 alt="Model changes icon" class="no-border" >}} | Model changes | Indicates that there were some changes made to the app model.
                                  For example, changes to the domain model, microflows, or pages. | | {{< figure src="/attachments/refguide10/modeling/menus/version-control-menu/history-dialog/RevChangesDisk.png" width=32 alt="Changes on disk icon" class="no-border" >}} | Changes on disk | Indicates that there were changes on disk.
                                  For example, a file was added or removed. | | {{< figure src="/attachments/refguide10/modeling/menus/version-control-menu/history-dialog/RevChangesVersion.png" width=32 alt="Studio Pro changes icon" class="no-border" >}} | Studio Pro changes | Indicates that there was a change to the Studio Pro version used to work with the app.
                                  For example, when upgrading the app from a previous version to the latest one. | -| {{< figure src="/attachments/refguide10/modeling/menus/version-control-menu/history-dialog/Solution.png" width=32 alt="Solution version changes icon" class="no-border" >}} | Solution version changes | Indicates that a [solution module](/refguide/configure-add-on-and-solution-modules/) used in the app was updated. | +| {{< figure src="/attachments/refguide10/modeling/menus/version-control-menu/history-dialog/Solution.png" width=32 alt="Solution version changes icon" class="no-border" >}} | Solution version changes | Indicates that a [solution module](/refguide10/configure-add-on-and-solution-modules/) used in the app was updated. | Hover over this column in Studio Pro to get a textual summary of the changes. @@ -84,5 +84,5 @@ This tab shows a list of the files that were changed on disk. You can see whethe ## Read More -* [Version Control](/refguide/version-control/) -* [Stories Pane](/refguide/stories-pane/) +* [Version Control](/refguide10/version-control/) +* [Stories Pane](/refguide10/stories-pane/) diff --git a/content/en/docs/refguide10/modeling/menus/version-control-menu/merge-dialog.md b/content/en/docs/refguide10/modeling/menus/version-control-menu/merge-dialog.md index e28d175a4fb..ea68af4216e 100644 --- a/content/en/docs/refguide10/modeling/menus/version-control-menu/merge-dialog.md +++ b/content/en/docs/refguide10/modeling/menus/version-control-menu/merge-dialog.md @@ -1,18 +1,18 @@ --- title: "Merge Dialog Box" -url: /refguide/merge-dialog/ +url: /refguide10/merge-dialog/ #If moving or renaming this doc file, implement a temporary redirect and let the respective team know they should update the URL in the product. See Mapping to Products for more details. --- ## Introduction -With the **Merge** dialog you can [merge](/refguide/version-control/#merge) changes from a branch line to the main line. For example, a fix that you applied in a maintenance branch line can be merged back to the main line so that you do not have to apply the fix by hand again. Also if you completed developing a large feature in a separate branch line you can use merge to incorporate that feature into the main line. +With the **Merge** dialog you can [merge](/refguide10/version-control/#merge) changes from a branch line to the main line. For example, a fix that you applied in a maintenance branch line can be merged back to the main line so that you do not have to apply the fix by hand again. Also if you completed developing a large feature in a separate branch line you can use merge to incorporate that feature into the main line. {{% alert color="warning" %}} Before continuing with the merge action, make sure you are currently working in the development line to which you want to merge. {{% /alert %}} -To access the **Merge** dialog box, open [Version Control](/refguide/version-control-menu/) > **Merge Changes Here**: +To access the **Merge** dialog box, open [Version Control](/refguide10/version-control-menu/) > **Merge Changes Here**: {{< figure src="/attachments/refguide10/modeling/menus/version-control-menu/merge-dialog/merge-dialog.png" alt="Merge Dialog" class="no-border" >}} diff --git a/content/en/docs/refguide10/modeling/menus/version-control-menu/upload-to-version-control-dialog.md b/content/en/docs/refguide10/modeling/menus/version-control-menu/upload-to-version-control-dialog.md index 2ed1c997c0f..6305fdaee93 100644 --- a/content/en/docs/refguide10/modeling/menus/version-control-menu/upload-to-version-control-dialog.md +++ b/content/en/docs/refguide10/modeling/menus/version-control-menu/upload-to-version-control-dialog.md @@ -1,10 +1,10 @@ --- title: "Upload to Version Control Server" -url: /refguide/upload-to-version-control-dialog/ +url: /refguide10/upload-to-version-control-dialog/ weight: 70 aliases: - - /refguide/upload-to-team-server-dialog.html - - /refguide/upload-to-team-server-dialog + - /refguide10/upload-to-team-server-dialog.html + - /refguide10/upload-to-team-server-dialog #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. --- @@ -40,7 +40,7 @@ You can only upload to an existing repository if the repository is currently emp ### Private Server -This option is only available when support for other servers is enabled in **Edit** > **Preferences** > **Advanced** > [Enable private version control](/refguide/preferences-dialog/#enable-with-Git)). +This option is only available when support for other servers is enabled in **Edit** > **Preferences** > **Advanced** > [Enable private version control](/refguide10/preferences-dialog/#enable-with-Git)). {{< figure src="/attachments/refguide10/modeling/menus/version-control-menu/upload-to-version-control-dialog/enable-private-version-control.png" alt="Enable private version control in advanced preferences" class="no-border" width="600" >}} @@ -50,4 +50,4 @@ If you select **Private server**, enter the address of the repository to which y ## Read More -* [How to Work with an On-Premises Git Version Control Server](/refguide/on-premises-git/) +* [How to Work with an On-Premises Git Version Control Server](/refguide10/on-premises-git/) diff --git a/content/en/docs/refguide10/modeling/menus/view-menu/_index.md b/content/en/docs/refguide10/modeling/menus/view-menu/_index.md index 04cddb750db..6e427f149f0 100644 --- a/content/en/docs/refguide10/modeling/menus/view-menu/_index.md +++ b/content/en/docs/refguide10/modeling/menus/view-menu/_index.md @@ -1,6 +1,6 @@ --- title: "View Menu" -url: /refguide/view-menu/ +url: /refguide10/view-menu/ description: "Describes the View Menu in Studio Pro." weight: 20 --- @@ -18,7 +18,7 @@ Via this menu you can also enable or disable the [full screen mode](#full-screen You can change the default layout of panes and arrange them in the layout you like. {{% alert color="info" %}} -Note that this section describes the behavior of panes, not the behavior of documents in the working area. For more information on the behavior of documents open in the working area, see the [Document Tabs](/refguide/studio-pro-overview/#documents) section in *Studio Pro Overview*. +Note that this section describes the behavior of panes, not the behavior of documents in the working area. For more information on the behavior of documents open in the working area, see the [Document Tabs](/refguide10/studio-pro-overview/#documents) section in *Studio Pro Overview*. {{% /alert %}} When you drag a pane, you can see arrows that indicate where you can position this pane. You can position the pane either inside the current pane (arrows grouped together) or make it full-window height or width (individual arrows on the borders). Each position is labelled and explained below: @@ -50,15 +50,15 @@ Menu items of the **View** menu are described in sections below. ### App Explorer -The [App Explorer](/refguide/app-explorer/) pane displays the complete structure of your app, including all the documents inside the modules. By default, the active document is always selected, so you can quickly see where the document you are editing is in the tree. You can change this behavior in **Edit** > [Preferences](/refguide/preferences-dialog/). +The [App Explorer](/refguide10/app-explorer/) pane displays the complete structure of your app, including all the documents inside the modules. By default, the active document is always selected, so you can quickly see where the document you are editing is in the tree. You can change this behavior in **Edit** > [Preferences](/refguide10/preferences-dialog/). ### Best Practice Recommender {#best-practice-recommender} -For details on this virtual AI assistant, see [Best Practice Recommender](/refguide/best-practice-recommender/). +For details on this virtual AI assistant, see [Best Practice Recommender](/refguide10/best-practice-recommender/). ### Changes -For version control-enabled apps (meaning, those with [Team Server](/developerportal/general/team-server/) or other Git servers), the [Changes pane](/refguide/changes-pane/) shows the local changes to the app since the last commit. You can commit changes, update to the latest revision, and view the history from here. +For version control-enabled apps (meaning, those with [Team Server](/developerportal/general/team-server/) or other Git servers), the [Changes pane](/refguide10/changes-pane/) shows the local changes to the app since the last commit. You can commit changes, update to the latest revision, and view the history from here. This pane has two levels, so when you zoom into a changed document, you can review all the changes within that document without going back and forth between levels. The zoomed-in level of the pane is split into two grids, with elements on the left and properties on the right. Selecting an element on the left presents the changed properties on the right: @@ -70,7 +70,7 @@ The **Connector** pane displays elements that can be connected to the currently ### Console {#console} -The **Console** pane displays the output of the [Mendix Runtime](/refguide/runtime/) while running an application. +The **Console** pane displays the output of the [Mendix Runtime](/refguide10/runtime/) while running an application. ### Documentation @@ -78,7 +78,7 @@ The **Documentation** pane displays the documentation for the currently selected ### Error List -The [Errors pane](/refguide/errors-pane/) displays the [errors](/refguide/consistency-errors/), warnings, and deprecations that exist in your app. +The [Errors pane](/refguide10/errors-pane/) displays the [errors](/refguide10/consistency-errors/), warnings, and deprecations that exist in your app. ### Find Results @@ -88,15 +88,15 @@ There are two **Find Results** panes. If you lock the results of the first pane, ### Integration {#data-hub} -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/) and [external actions](/refguide/call-external-action/) to your app via this pane and see entities and data sources already consumed in your app. +The [Integration pane](/refguide10/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](/refguide10/external-entities/) and [external actions](/refguide10/call-external-action/) to your app via this pane and see entities and data sources already consumed in your app. ### OpenAPI Documentation -The **OpenAPI Documentation** pane displays the auto-generated OpenAPI documentation for the currently opened [Published OData service](/refguide/published-odata-services/). This allows you to preview the REST operations that will be available once your app is published. +The **OpenAPI Documentation** pane displays the auto-generated OpenAPI documentation for the currently opened [Published OData service](/refguide10/published-odata-services/). This allows you to preview the REST operations that will be available once your app is published. ### Maia -The **Maia** pane displays the Maia Chat interface where you can ask questions about app development in Mendix, including how to apply concepts, best practices, and development patterns. For more information, see [Maia Chat](/refguide/maia-chat/). +The **Maia** pane displays the Maia Chat interface where you can ask questions about app development in Mendix, including how to apply concepts, best practices, and development patterns. For more information, see [Maia Chat](/refguide10/maia-chat/). ### Marketplace @@ -104,7 +104,7 @@ For details on using Mendix Marketplace components in your app modeling, see [Ho ### Page Explorer -[Page Explorer](/refguide/page-explorer/) gives a quick overview of the page layout and allows you to view and edit nested containers in the [Design mode](/refguide/page/#design-mode). +[Page Explorer](/refguide10/page-explorer/) gives a quick overview of the page layout and allows you to view and edit nested containers in the [Design mode](/refguide10/page/#design-mode). ### Properties {#properties} @@ -112,11 +112,11 @@ The **Properties** pane displays the properties of the currently selected elemen ### Stories -For [Team Server](/developerportal/general/team-server/) app, the **Stories** pane shows the [stories](/developerportal/project-management/epics/planning/) of the current [Sprint](/developerportal/project-management/epics/planning/). For more information on the **Stories** pane and how to interact with it, see [Stories Pane](/refguide/stories-pane/). +For [Team Server](/developerportal/general/team-server/) app, the **Stories** pane shows the [stories](/developerportal/project-management/epics/planning/) of the current [Sprint](/developerportal/project-management/epics/planning/). For more information on the **Stories** pane and how to interact with it, see [Stories Pane](/refguide10/stories-pane/). ### Toolbox {#toolbox} -The **Toolbox** pane displays the tools that can be used in the current editor. For example, in a page you can insert all kinds of widgets (for example, [data containers](/refguide/data-widgets/)) by dragging them from the **Toolbox** onto your page. +The **Toolbox** pane displays the tools that can be used in the current editor. For example, in a page you can insert all kinds of widgets (for example, [data containers](/refguide10/data-widgets/)) by dragging them from the **Toolbox** onto your page. The **Toolbox** has a tile view showing larger icons and a list view showing a list of elements. You can switch between the tile and list view modes at the lower-right corner of the **Toolbox**. @@ -126,7 +126,7 @@ This console helps you debug the configuration code of your widget that is respo ### Debug Windows -For more information on debugging, see [Debugging Microflows and Nanoflows](/refguide/debug-microflows-and-nanoflows/). +For more information on debugging, see [Debugging Microflows and Nanoflows](/refguide10/debug-microflows-and-nanoflows/). #### Breakpoints @@ -158,7 +158,7 @@ Resets the layout of dockable window panes to factory defaults. ## Read More -* [Changes Pane](/refguide/changes-pane/) -* [Errors Pane](/refguide/errors-pane/) -* [App Explorer](/refguide/app-explorer/) -* [Studio Pro Overview](/refguide/studio-pro-overview/) +* [Changes Pane](/refguide10/changes-pane/) +* [Errors Pane](/refguide10/errors-pane/) +* [App Explorer](/refguide10/app-explorer/) +* [Studio Pro Overview](/refguide10/studio-pro-overview/) diff --git a/content/en/docs/refguide10/modeling/menus/view-menu/changes-pane.md b/content/en/docs/refguide10/modeling/menus/view-menu/changes-pane.md index 82813a5dcef..adb57508a06 100644 --- a/content/en/docs/refguide10/modeling/menus/view-menu/changes-pane.md +++ b/content/en/docs/refguide10/modeling/menus/view-menu/changes-pane.md @@ -1,6 +1,6 @@ --- title: "Changes Pane" -url: /refguide/changes-pane/ +url: /refguide10/changes-pane/ weight: 20 description: "Describes the Changes pane in Mendix Studio Pro." --- @@ -26,9 +26,9 @@ Buttons allow you to perform the following actions: * **Back** – goes back up one level; at the top level, this button is disabled * **Go to** – opens a zoomed-in level and opens up the selected document * **Tasks** – allows you to perform specific actions such as reverting the change to the latest commit, or solving conflicts -* **Pull** – retrieves latest changes from the repository (for more information on the pull concept, see the [Pull](/refguide/version-control/#pull) section in *Version Control*) -* **Commit** – commits your changes to the repository and starts a new revision (for more information on the commit concept, see the [Commit](/refguide/version-control/#commit) section in *Version Control*) -* **History** – opens the **History** dialog box that shows the changes made on the current development line of the app (for more information on history, see [History](/refguide/history-dialog/)) +* **Pull** – retrieves latest changes from the repository (for more information on the pull concept, see the [Pull](/refguide10/version-control/#pull) section in *Version Control*) +* **Commit** – commits your changes to the repository and starts a new revision (for more information on the commit concept, see the [Commit](/refguide10/version-control/#commit) section in *Version Control*) +* **History** – opens the **History** dialog box that shows the changes made on the current development line of the app (for more information on history, see [History](/refguide10/history-dialog/)) The **Back** and **Go to** buttons are common throughout all the levels, while other buttons will only apply to a specific one. @@ -97,7 +97,7 @@ The toolbar at this level contains the following buttons: * **Back** – takes you back to the top level * **Go to** – takes you directly to the selected element -* **Interactive Merge** – combines changes where possible for all conflicting documents that you can revise in the [Merge Mode](#merge-mode); for more information on how to solve conflicts, see [Merge Algorithm with Fine-Grained Conflict Resolution](/refguide/merge-algorithm/) +* **Interactive Merge** – combines changes where possible for all conflicting documents that you can revise in the [Merge Mode](#merge-mode); for more information on how to solve conflicts, see [Merge Algorithm with Fine-Grained Conflict Resolution](/refguide10/merge-algorithm/) * **Resolve conflict using my whole document** – your version is applied to all conflicted documents * **Resolve conflict using their whole document** – other branch's version is applied to all conflicted documents * **Show purely visual changes** – shows visual changes, such as dragging an entity to a new location in the domain model @@ -140,5 +140,5 @@ The left and right panes will contain the same information as in [Zoomed-In Leve ## Read More -* [Studio Pro Overview](/refguide/studio-pro-overview/) -* [Version Control](/refguide/version-control/) +* [Studio Pro Overview](/refguide10/studio-pro-overview/) +* [Version Control](/refguide10/version-control/) diff --git a/content/en/docs/refguide10/modeling/menus/view-menu/errors-pane/_index.md b/content/en/docs/refguide10/modeling/menus/view-menu/errors-pane/_index.md index 166e0a3b6b1..e9283819912 100644 --- a/content/en/docs/refguide10/modeling/menus/view-menu/errors-pane/_index.md +++ b/content/en/docs/refguide10/modeling/menus/view-menu/errors-pane/_index.md @@ -1,6 +1,6 @@ --- title: "Errors Pane" -url: /refguide/errors-pane/ +url: /refguide10/errors-pane/ weight: 40 description: "Describes the Errors pane in Mendix Studio Pro." --- @@ -76,5 +76,5 @@ The following actions are available in the drop-down menu: ## Read More -* [Consistency Errors](/refguide/consistency-errors/) -* [Studio Pro Overview](/refguide/studio-pro-overview/) +* [Consistency Errors](/refguide10/consistency-errors/) +* [Studio Pro Overview](/refguide10/studio-pro-overview/) diff --git a/content/en/docs/refguide10/modeling/menus/view-menu/errors-pane/clear-warning-messages.md b/content/en/docs/refguide10/modeling/menus/view-menu/errors-pane/clear-warning-messages.md index dd9b3fc8d8d..7e6479e5208 100644 --- a/content/en/docs/refguide10/modeling/menus/view-menu/errors-pane/clear-warning-messages.md +++ b/content/en/docs/refguide10/modeling/menus/view-menu/errors-pane/clear-warning-messages.md @@ -1,6 +1,6 @@ --- title: "Clear Warning Messages" -url: /refguide/clear-warning-messages/ +url: /refguide10/clear-warning-messages/ weight: 1 description: "Describes how to eliminate design-time warnings by viewing and clearing warning messages." aliases: @@ -172,8 +172,8 @@ Variable ‘Variable’ is never used. * [Monitor Mendix Using JMX](/howto/monitoring-troubleshooting/monitoring-mendix-using-jmx/) * [Debug Java Actions Remotely](/howto/monitoring-troubleshooting/debug-java-actions-remotely/) * [Configure Log Levels](/howto/monitoring-troubleshooting/log-levels/) -* [Debugging Microflows and Nanoflows](/refguide/debug-microflows-and-nanoflows/) +* [Debugging Microflows and Nanoflows](/refguide10/debug-microflows-and-nanoflows/) * [Debug Java Actions](/howto/monitoring-troubleshooting/debug-java-actions/) -* [Debugging Microflows Remotely](/refguide/debug-microflows-remotely/) +* [Debugging Microflows Remotely](/refguide10/debug-microflows-remotely/) -Several warnings relate to improper security. For more information on this, see [App Security](/refguide/app-security/) in the *Studio Pro Guide*. +Several warnings relate to improper security. For more information on this, see [App Security](/refguide10/app-security/) in the *Studio Pro Guide*. diff --git a/content/en/docs/refguide10/modeling/menus/view-menu/errors-pane/suppression-rules.md b/content/en/docs/refguide10/modeling/menus/view-menu/errors-pane/suppression-rules.md index 84f3e20b456..7f542f506bf 100644 --- a/content/en/docs/refguide10/modeling/menus/view-menu/errors-pane/suppression-rules.md +++ b/content/en/docs/refguide10/modeling/menus/view-menu/errors-pane/suppression-rules.md @@ -1,6 +1,6 @@ --- title: "Suppression Rules" -url: /refguide/suppression-rules/ +url: /refguide10/suppression-rules/ weight: 10 description: "Describes suppression rules for warnings in Studio Pro." --- @@ -169,5 +169,5 @@ The table below describes the available settings: ## Read More {#read-more} -* [Errors Pane](/refguide/errors-pane/) -* [Consistency Errors](/refguide/consistency-errors/) +* [Errors Pane](/refguide10/errors-pane/) +* [Consistency Errors](/refguide10/consistency-errors/) diff --git a/content/en/docs/refguide10/modeling/menus/view-menu/integration-pane.md b/content/en/docs/refguide10/modeling/menus/view-menu/integration-pane.md index 7e69cfb96ae..699acc310e7 100644 --- a/content/en/docs/refguide10/modeling/menus/view-menu/integration-pane.md +++ b/content/en/docs/refguide10/modeling/menus/view-menu/integration-pane.md @@ -1,17 +1,17 @@ --- title: "Integration Pane" -url: /refguide/integration-pane/ +url: /refguide10/integration-pane/ weight: 30 description: "Describes the Integration Pane in Mendix Studio Pro." aliases: - - /refguide/data-hub-pane/ + - /refguide10/data-hub-pane/ --- ## Introduction 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. -You can search in the Catalog through the Integration pane to discover data sources that you can use in your app. Via this pane you can add the entities that are published in the registered OData services 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 to discover data sources that you can use in your app. Via this pane you can add the entities that are published in the registered OData services into your app's domain model. These entities are called [external entities](/refguide10/external-entities/) and are different because they enable the connection to the data associated with the entities in the originating app. Besides external entities, OData services can expose actions that can be called from within microflows, and can define non-persistable entities that can be used as parameters or return types of these actions. From this pane you can drag these actions onto a microflow, where they will appear as a **Call external action** activity. In this activity you can configure the parameters and result variable. If a parameter or result has an external or non-persistable entity as its type, it will add those to the domain model for you when you add the action to your microflow. @@ -38,13 +38,13 @@ When you do not enter search text in the Integration pane, then the **Used in yo {{< figure src="/attachments/refguide10/modeling/menus/view-menu/data-hub-pane/used-in-your-app.png" alt="User in Your App Section" class="no-border" >}} -For more information on how to add entities and actions to your app, see [Adding an External Entity to an App](/refguide/external-entities/#adding-external-entities) section in *External Entities* or [Call external action](/refguide/call-external-action/). +For more information on how to add entities and actions to your app, see [Adding an External Entity to an App](/refguide10/external-entities/#adding-external-entities) section in *External Entities* or [Call external action](/refguide10/call-external-action/). ## 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 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/). +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](/refguide10/external-entities/). {{% alert color="info" %}}Services that are set to **not-Discoverable** in the Catalog are not be included in the search results for *any* user including owners of the service. To consume entities from these services owners must ensure that they are [Discoverable](/catalog/manage/curate/#discoverability).{{% /alert %}} @@ -68,7 +68,7 @@ When the **Show development environments** is checked, all subsequent searches r ## Integration Pane Information {#viewing} -The information that is displayed in the [Integration pane](/refguide//) 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](/refguide10//) either when you enter a search term or when you open the **Used in your App** section is described in the sections below. ### Services @@ -84,7 +84,7 @@ The search results and **User in your App** section show the following informati * **Green check-mark** if the service or entity is consumed in the app. If you right-click a consumed service, you can do the following: * **View in Catalog** – click this to go to the [data source details](/catalog/manage/search/#service-details) page in the Catalog - * **Go to connection settings** – click this to open the [consumed OData service](/refguide/consumed-odata-service/) document + * **Go to connection settings** – click this to open the [consumed OData service](/refguide10/consumed-odata-service/) document {{< figure src="/attachments/refguide10/modeling/menus/view-menu/data-hub-pane/integration-pane-menu.png" alt="info on a Service" class="no-border" >}} @@ -148,11 +148,11 @@ By clicking the expand button next to the action, the parameters and return type {{< figure src="/attachments/refguide10/modeling/menus/view-menu/data-hub-pane/actions.png" alt="integration pane actions" width="400" class="no-border" >}} -{{% alert color="info" %}}Actions that [are not supported](/refguide/consumed-odata-service-requirements/#actions) in your Mendix app are shown as non-selectable (gray) and cannot be dragged into a microflow.{{% /alert %}} +{{% alert color="info" %}}Actions that [are not supported](/refguide10/consumed-odata-service-requirements/#actions) in your Mendix app are shown as non-selectable (gray) and cannot be dragged into a microflow.{{% /alert %}} ## Read More * [Catalog](/catalog/) -* [External Entities](/refguide/external-entities/) -* [Consumed OData Service](/refguide/consumed-odata-service/) +* [External Entities](/refguide10/external-entities/) +* [Consumed OData Service](/refguide10/consumed-odata-service/) * [How to Consume Registered Assets](/catalog/consume/) diff --git a/content/en/docs/refguide10/modeling/menus/view-menu/page-explorer.md b/content/en/docs/refguide10/modeling/menus/view-menu/page-explorer.md index b75e467f06e..43fa65401db 100644 --- a/content/en/docs/refguide10/modeling/menus/view-menu/page-explorer.md +++ b/content/en/docs/refguide10/modeling/menus/view-menu/page-explorer.md @@ -1,6 +1,6 @@ --- title: "Page Explorer" -url: /refguide/page-explorer/ +url: /refguide10/page-explorer/ weight: 50 description: "Describes the Page Explorer pane in Mendix Studio Pro." --- @@ -11,7 +11,7 @@ The **Page Explorer** shows the structure of your page in a tree view: {{< figure src="/attachments/refguide10/modeling/menus/view-menu/page-explorer.png" class="no-border" >}} -The **Page Explorer** is a simplified page view that makes the page building easier. In combination with [Design mode](/refguide/page/#design-mode) it allows you to view and edit nested containers which are hard to see and select in the WYSIWYG editor. However, it can be used in combination with [Structure mode](/refguide/page/#structure-mode) as well, for example, to get a quick overview of the page. +The **Page Explorer** is a simplified page view that makes the page building easier. In combination with [Design mode](/refguide10/page/#design-mode) it allows you to view and edit nested containers which are hard to see and select in the WYSIWYG editor. However, it can be used in combination with [Structure mode](/refguide10/page/#structure-mode) as well, for example, to get a quick overview of the page. ## Performing Basic Functions @@ -25,5 +25,5 @@ In the **Page Explorer**, you can do the following: ## Read More -* [Page](/refguide/page/) -* [Pages](/refguide/pages/) +* [Page](/refguide10/page/) +* [Pages](/refguide10/pages/) diff --git a/content/en/docs/refguide10/modeling/menus/view-menu/stories-pane.md b/content/en/docs/refguide10/modeling/menus/view-menu/stories-pane.md index 2e90b16baf0..a12fb7105e3 100644 --- a/content/en/docs/refguide10/modeling/menus/view-menu/stories-pane.md +++ b/content/en/docs/refguide10/modeling/menus/view-menu/stories-pane.md @@ -1,6 +1,6 @@ --- title: "Stories Pane" -url: /refguide/stories-pane/ +url: /refguide10/stories-pane/ weight: 60 description: "Describes the Stories pane in Mendix Studio Pro." --- @@ -70,4 +70,4 @@ To change the status of a task, select or clear the checkbox in the **Status** c * [Epics](/developerportal/project-management/epics/) * [Jira Connector](/developerportal/project-management/jira-connector/) -* [View Menu](/refguide/view-menu/) +* [View Menu](/refguide10/view-menu/) diff --git a/content/en/docs/refguide10/modeling/pages/_index.md b/content/en/docs/refguide10/modeling/pages/_index.md index 23b86b063a2..8db9effca82 100644 --- a/content/en/docs/refguide10/modeling/pages/_index.md +++ b/content/en/docs/refguide10/modeling/pages/_index.md @@ -1,6 +1,6 @@ --- title: "Pages" -url: /refguide/pages/ +url: /refguide10/pages/ weight: 30 description: "Presents an overview of the features of pages and relevant page resources in Studio Pro." #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. @@ -15,29 +15,29 @@ Mendix is a [Single Page Application (SPA)](https://en.wikipedia.org/wiki/Single Pages are created, edited, and manipulated in the page editor. -Every page is based on a page [layout](/refguide/layout/) and a page template. A layout is a frame you put your page in. A page template is a basis with predefined elements (widgets). +Every page is based on a page [layout](/refguide10/layout/) and a page template. A layout is a frame you put your page in. A page template is a basis with predefined elements (widgets). {{< figure src="/attachments/refguide10/modeling/pages/page-structure.png" class="no-border" >}} -Pages can be linked, so that one page can open another page. If this second page contains a [data widget](/refguide/data-widgets/) with a page parameter data source, then an object or objects can be passed from the current page to the new page. For information on opening pages, and triggering other sorts of event, see [On Click Event and Events Section](/refguide/on-click-event/). +Pages can be linked, so that one page can open another page. If this second page contains a [data widget](/refguide10/data-widgets/) with a page parameter data source, then an object or objects can be passed from the current page to the new page. For information on opening pages, and triggering other sorts of event, see [On Click Event and Events Section](/refguide10/on-click-event/). -Pages are opened either in the current pane of the browser or in a pop-up, child, window. Where the page is opened depends on its [layout type](/refguide/layout/#layout-type). Mendix performs navigation as efficiently as possible. If a new page uses the same layout as the old one, only the data on the page will refresh rather than the whole page being built from scratch. +Pages are opened either in the current pane of the browser or in a pop-up, child, window. Where the page is opened depends on its [layout type](/refguide10/layout/#layout-type). Mendix performs navigation as efficiently as possible. If a new page uses the same layout as the old one, only the data on the page will refresh rather than the whole page being built from scratch. -For more information on page properties, see [Page](/refguide/page/). +For more information on page properties, see [Page](/refguide10/page/). ## Page and Page Resources -In addition to a page, you can add page resources in the page editor. They help structure your page, style it, and fill it with data. For more on how to add page resources, see [Page Resources](/refguide/page-resources/). +In addition to a page, you can add page resources in the page editor. They help structure your page, style it, and fill it with data. For more on how to add page resources, see [Page Resources](/refguide10/page-resources/). Type | Description --- | --- -[{{< figure src="/attachments/refguide10/modeling/pages/layout-icon.png" class="no-border" >}}Layout](/refguide/layout/) | A [layout](/refguide/layout/) is a frame that your page is placed in. If you change the layout, all pages based on it will inherit this change.
                                  Layout contain predefined elements that ensure unified and consistent look and feel of your application across one platform: the position of the header, size of the logo, position of the menu, etc. For example, in responsive layouts the header can be wide and with a big logo, while in mobile layouts the header will be narrower and the logo will be smaller due to the limited space. -[{{< figure src="/attachments/refguide10/modeling/pages/page-template-icon.png" class="no-border" >}}Page template](/refguide/page-templates/) | A [page template](/refguide/page-templates/) is a basis for your page that predefines its structure. For example, you can create a page template for a customer list that will contain list views with images in it. Thus, every time you need to create a page with similar list on it, you will base it on this template. By mapping out common design patterns, a lot of the initial work involved in creating a new page can be simplified by setting up a proper set of page templates. -[{{< figure src="/attachments/refguide10/modeling/pages/snippet-icon.png" class="no-border" >}}Snippet](/refguide/snippet/) | A [snippet](/refguide/snippet/) defines reusable interface parts. They can be used on pages and layouts. By using snippets, you will make changes in fewer places if you want to modify the interface. For example, you can have a snippet that is used both in the contents area of a template grid and in a data view. If you add a row to a table in the snippet, that change will show up in both places. -[{{< figure src="/attachments/refguide10/modeling/pages/building-block-icon.png" class="no-border" >}}Building block](/refguide/building-block/) | A [building block](/refguide/building-block/) is pre-styled set of widgets. Building blocks will automatically appear in the page editor toolbox, allowing for easy reuse. By designing a comprehensive library of building blocks, a great deal of the fussy work involved in page design can be averted. -[{{< figure src="/attachments/refguide10/modeling/pages/page-icon.png" class="no-border" >}}Page](/refguide/page/) | A [page](/refguide/page/) is the end-user interface of a Mendix application. Pages are the things that are actually shown to the end-user. -[{{< figure src="/attachments/refguide10/modeling/pages/menu-icon.png" class="no-border" >}}Menu](/refguide/menu/) | A [menu](/refguide/menu/) defines a menu structure that can be used by a menu widget. -[{{< figure src="/attachments/refguide10/modeling/pages/image-collection-icon.png" class="no-border" >}}Image collection](/refguide/image-collection/) | An [image collection](/refguide/image-collection/) is a page resource where you place custom images to use them in your application. For more information, see [Images](/refguide/images/). +[{{< figure src="/attachments/refguide10/modeling/pages/layout-icon.png" class="no-border" >}}Layout](/refguide10/layout/) | A [layout](/refguide10/layout/) is a frame that your page is placed in. If you change the layout, all pages based on it will inherit this change.
                                  Layout contain predefined elements that ensure unified and consistent look and feel of your application across one platform: the position of the header, size of the logo, position of the menu, etc. For example, in responsive layouts the header can be wide and with a big logo, while in mobile layouts the header will be narrower and the logo will be smaller due to the limited space. +[{{< figure src="/attachments/refguide10/modeling/pages/page-template-icon.png" class="no-border" >}}Page template](/refguide10/page-templates/) | A [page template](/refguide10/page-templates/) is a basis for your page that predefines its structure. For example, you can create a page template for a customer list that will contain list views with images in it. Thus, every time you need to create a page with similar list on it, you will base it on this template. By mapping out common design patterns, a lot of the initial work involved in creating a new page can be simplified by setting up a proper set of page templates. +[{{< figure src="/attachments/refguide10/modeling/pages/snippet-icon.png" class="no-border" >}}Snippet](/refguide10/snippet/) | A [snippet](/refguide10/snippet/) defines reusable interface parts. They can be used on pages and layouts. By using snippets, you will make changes in fewer places if you want to modify the interface. For example, you can have a snippet that is used both in the contents area of a template grid and in a data view. If you add a row to a table in the snippet, that change will show up in both places. +[{{< figure src="/attachments/refguide10/modeling/pages/building-block-icon.png" class="no-border" >}}Building block](/refguide10/building-block/) | A [building block](/refguide10/building-block/) is pre-styled set of widgets. Building blocks will automatically appear in the page editor toolbox, allowing for easy reuse. By designing a comprehensive library of building blocks, a great deal of the fussy work involved in page design can be averted. +[{{< figure src="/attachments/refguide10/modeling/pages/page-icon.png" class="no-border" >}}Page](/refguide10/page/) | A [page](/refguide10/page/) is the end-user interface of a Mendix application. Pages are the things that are actually shown to the end-user. +[{{< figure src="/attachments/refguide10/modeling/pages/menu-icon.png" class="no-border" >}}Menu](/refguide10/menu/) | A [menu](/refguide10/menu/) defines a menu structure that can be used by a menu widget. +[{{< figure src="/attachments/refguide10/modeling/pages/image-collection-icon.png" class="no-border" >}}Image collection](/refguide10/image-collection/) | An [image collection](/refguide10/image-collection/) is a page resource where you place custom images to use them in your application. For more information, see [Images](/refguide10/images/). ## Widgets and Their Categories {#widgets-categories} @@ -45,18 +45,18 @@ All the documents described above are built using widgets. There are many kinds Widgets are grouped into the following categories: -* [Data containers](/refguide/data-widgets/) are central to building forms in Mendix; with these widgets, you can view and edit the data in the application -* [Text widgets](/refguide/text-widgets/) are used to display textual information to the end-user -* [Structure widgets](/refguide/structure-widgets/) can contain other widgets -* [Input elements](/refguide/input-widgets/) make it possible to show and edit the values of attributes and associations -* [Images, Videos, and Files](/refguide/image-and-file-widgets/) allow you to work with files, images, and videos -* [Buttons](/refguide/button-widgets/) are buttons that trigger actions -* [Menus and navigation](/refguide/menu-widgets/) allow the user to navigate through the application -* [Authentication](/refguide/authentication-widgets/) allow you to add the user verification process such as password and login id text boxes. +* [Data containers](/refguide10/data-widgets/) are central to building forms in Mendix; with these widgets, you can view and edit the data in the application +* [Text widgets](/refguide10/text-widgets/) are used to display textual information to the end-user +* [Structure widgets](/refguide10/structure-widgets/) can contain other widgets +* [Input elements](/refguide10/input-widgets/) make it possible to show and edit the values of attributes and associations +* [Images, Videos, and Files](/refguide10/image-and-file-widgets/) allow you to work with files, images, and videos +* [Buttons](/refguide10/button-widgets/) are buttons that trigger actions +* [Menus and navigation](/refguide10/menu-widgets/) allow the user to navigate through the application +* [Authentication](/refguide10/authentication-widgets/) allow you to add the user verification process such as password and login id text boxes. * Add-ons can be downloaded from the [Mendix Marketplace](https://marketplace.mendix.com/) or created by yourself using JavaScript - * [Charts](/refguide/chart-widgets/) are add-on widgets that graphically represent data using various chart types + * [Charts](/refguide10/chart-widgets/) are add-on widgets that graphically represent data using various chart types ## Read More -* [Page Resources](/refguide/page-resources/) -* [Page](/refguide/page/) +* [Page Resources](/refguide10/page-resources/) +* [Page](/refguide10/page/) diff --git a/content/en/docs/refguide10/modeling/pages/authentication-widgets/_index.md b/content/en/docs/refguide10/modeling/pages/authentication-widgets/_index.md index 47af5d3b4bb..f64e5f5e84a 100644 --- a/content/en/docs/refguide10/modeling/pages/authentication-widgets/_index.md +++ b/content/en/docs/refguide10/modeling/pages/authentication-widgets/_index.md @@ -1,6 +1,6 @@ --- title: "Authentication" -url: /refguide/authentication-widgets/ +url: /refguide10/authentication-widgets/ weight: 55 --- @@ -8,32 +8,32 @@ weight: 55 Authentication widgets are used to sign users in and log them out. -Use a [navigation profile setting](/refguide/navigation/#authentication) to direct users to the correct authentication page. +Use a [navigation profile setting](/refguide10/navigation/#authentication) to direct users to the correct authentication page. The **Authentication** category contains the following widgets: -* [Login ID text box](/refguide/login-id-text-box/) – allows users to provide a login id for authentication +* [Login ID text box](/refguide10/login-id-text-box/) – allows users to provide a login id for authentication {{< figure src="/attachments/refguide10/modeling/pages/authentication-widgets/logid-id-example.png" alt="Login ID Text Box Example" class="no-border" >}} -* [Password text box](/refguide/password-text-box/) – allows users to provide a password for authentication +* [Password text box](/refguide10/password-text-box/) – allows users to provide a password for authentication {{< figure src="/attachments/refguide10/modeling/pages/authentication-widgets/password-text-box-example.png" alt="Password Text Box Example" class="no-border" >}} -* [Sign-in button](/refguide/sign-in-button/) – sends a user’s login id and password to the server for authentication +* [Sign-in button](/refguide10/sign-in-button/) – sends a user’s login id and password to the server for authentication {{< figure src="/attachments/refguide10/modeling/pages/authentication-widgets/sign-in-button-example.png" alt="Sign-In Button Example" class="no-border" >}} -* **Sign-out button** – signs the currently signed-in user out. The sign-out button is a button with an on-click event set to **Sign out**. For more information on on-click events, see the [On Click Event and Events Section](/refguide/on-click-event/). For details on button properties, see [Button Properties](/refguide/button-properties/). +* **Sign-out button** – signs the currently signed-in user out. The sign-out button is a button with an on-click event set to **Sign out**. For more information on on-click events, see the [On Click Event and Events Section](/refguide10/on-click-event/). For details on button properties, see [Button Properties](/refguide10/button-properties/). -* [Validation message](/refguide/validation-message/) – informs a user about authentication failures if any +* [Validation message](/refguide10/validation-message/) – informs a user about authentication failures if any {{< figure src="/attachments/refguide10/modeling/pages/authentication-widgets/validation-message-example.png" alt="Validation Message Example" class="no-border" >}} ## Performing Basic Functions -{{% snippet file="/static/_includes/refguide/performing-basic-functions-widgets.md" %}} +{{% snippet file="/static/_includes/refguide10/performing-basic-functions-widgets.md" %}} ## Read More -* [Page](/refguide/page/) -* [Pages](/refguide/pages/) +* [Page](/refguide10/page/) +* [Pages](/refguide10/pages/) diff --git a/content/en/docs/refguide10/modeling/pages/authentication-widgets/login-id-text-box.md b/content/en/docs/refguide10/modeling/pages/authentication-widgets/login-id-text-box.md index 6b1c5d05b94..c5eecfee175 100644 --- a/content/en/docs/refguide10/modeling/pages/authentication-widgets/login-id-text-box.md +++ b/content/en/docs/refguide10/modeling/pages/authentication-widgets/login-id-text-box.md @@ -1,6 +1,6 @@ --- title: "Login ID Text Box" -url: /refguide/login-id-text-box/ +url: /refguide10/login-id-text-box/ #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. --- @@ -12,7 +12,7 @@ The **Login ID text box** is a widget that can be used to provide a login id for {{< figure src="/attachments/refguide10/modeling/pages/authentication-widgets/login-id-text-box/login-id.png" alt="Login ID Text Box" class="no-border" >}} -The **Login ID text box** should be placed on a page together with a [Password text box](/refguide/password-text-box/) and a [Sign-in button](/refguide/sign-in-button/). +The **Login ID text box** should be placed on a page together with a [Password text box](/refguide10/password-text-box/) and a [Sign-in button](/refguide10/sign-in-button/). ## Properties @@ -29,11 +29,11 @@ Login ID text box properties consist of the following sections: ### Common Section {#common} -{{% snippet file="/static/_includes/refguide/common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/common-section-link.md" %}} ### Design Properties Section {#design-properties} -{{% snippet file="/static/_includes/refguide/design-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/design-section-link.md" %}} ### General Section {#general} @@ -43,10 +43,10 @@ A **Placeholder** shows a text when an end-user has not entered any text yet. It ### Label Section {#label} -{{% snippet file="/static/_includes/refguide/label-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/label-section-link.md" %}} ## Read More -* [Page](/refguide/page/) -* [Password Text Box](/refguide/password-text-box/) -* [Sign-In Button](/refguide/sign-in-button/) +* [Page](/refguide10/page/) +* [Password Text Box](/refguide10/password-text-box/) +* [Sign-In Button](/refguide10/sign-in-button/) diff --git a/content/en/docs/refguide10/modeling/pages/authentication-widgets/password-text-box.md b/content/en/docs/refguide10/modeling/pages/authentication-widgets/password-text-box.md index d071280ccf9..47866e6306c 100644 --- a/content/en/docs/refguide10/modeling/pages/authentication-widgets/password-text-box.md +++ b/content/en/docs/refguide10/modeling/pages/authentication-widgets/password-text-box.md @@ -1,6 +1,6 @@ --- title: "Password Text Box" -url: /refguide/password-text-box/ +url: /refguide10/password-text-box/ #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. --- @@ -12,7 +12,7 @@ The **Password text box** is a widget that provides a password for authenticatio {{< figure src="/attachments/refguide10/modeling/pages/authentication-widgets/password-text-box/password-text-box.png" alt="Password Text Box" class="no-border" >}} -The **Password text box** should be placed on a page together with a [Login ID text box](/refguide/login-id-text-box/) and a [Sign-in button](/refguide/sign-in-button/). +The **Password text box** should be placed on a page together with a [Login ID text box](/refguide10/login-id-text-box/) and a [Sign-in button](/refguide10/sign-in-button/). ## Properties @@ -29,11 +29,11 @@ Password text box properties consist of the following sections: ### Common Section {#common} -{{% snippet file="/static/_includes/refguide/common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/common-section-link.md" %}} ### Design Properties Section {#design-properties} -{{% snippet file="/static/_includes/refguide/design-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/design-section-link.md" %}} ### General Section {#general} @@ -43,10 +43,10 @@ A **Placeholder** shows a text when an end-user has not entered any text yet. It ### Label Section {#label} -{{% snippet file="/static/_includes/refguide/label-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/label-section-link.md" %}} ## Read More -* [Page](/refguide/page/) -* [Login ID Text Box](/refguide/login-id-text-box/) -* [Sign-In Button](/refguide/sign-in-button/) +* [Page](/refguide10/page/) +* [Login ID Text Box](/refguide10/login-id-text-box/) +* [Sign-In Button](/refguide10/sign-in-button/) diff --git a/content/en/docs/refguide10/modeling/pages/authentication-widgets/sign-in-button.md b/content/en/docs/refguide10/modeling/pages/authentication-widgets/sign-in-button.md index 9a42f0593b1..7afe30dd719 100644 --- a/content/en/docs/refguide10/modeling/pages/authentication-widgets/sign-in-button.md +++ b/content/en/docs/refguide10/modeling/pages/authentication-widgets/sign-in-button.md @@ -1,6 +1,6 @@ --- title: "Sign-In Button" -url: /refguide/sign-in-button/ +url: /refguide10/sign-in-button/ #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. --- @@ -14,7 +14,7 @@ The **Sign-in button** sends a user's login ID and password to the server for au Any errors are displayed in a [validation message widget](#validation-message-widget) or in a pop-up window. -The **Sign-in button** should be placed on a page together with a [Login ID text box](/refguide/login-id-text-box/) and a [Password text box](/refguide/password-text-box/). +The **Sign-in button** should be placed on a page together with a [Login ID text box](/refguide10/login-id-text-box/) and a [Password text box](/refguide10/password-text-box/). ## Properties @@ -31,30 +31,30 @@ Sign-in button properties consist of the following sections: ### Common Section {#common} -{{% snippet file="/static/_includes/refguide/common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/common-section-link.md" %}} ### Design Properties Section {#design-properties} -{{% snippet file="/static/_includes/refguide/design-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/design-section-link.md" %}} ### General Section {#general} -Most properties of a sign-in button are the same as properties of buttons. For more information on button properties in the **General** section, see the [General Section](/refguide/button-properties/#general) in *Button Properties*. +Most properties of a sign-in button are the same as properties of buttons. For more information on button properties in the **General** section, see the [General Section](/refguide10/button-properties/#general) in *Button Properties*. #### Validation Message Widget {#validation-message-widget} -**Validation message widget** is a specific property of a sign-in button. It defines the [Validation message widget](/refguide/validation-message/) that displays authentication failure messages on a page. If no widget is selected in this property, authentication failure messages will be displayed in a pop-up window: +**Validation message widget** is a specific property of a sign-in button. It defines the [Validation message widget](/refguide10/validation-message/) that displays authentication failure messages on a page. If no widget is selected in this property, authentication failure messages will be displayed in a pop-up window: {{< figure src="/attachments/refguide10/modeling/pages/authentication-widgets/sign-in-button/validation-failure.png" alt="Validation Failure" class="no-border" >}} Default: *None* ### Visibility Section {#visibility} -{{% snippet file="/static/_includes/refguide/visibility-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/visibility-section-link.md" %}} ## Read More -* [Page](/refguide/page/) -* [Login ID Text Box](/refguide/login-id-text-box/) -* [Password Text Box](/refguide/password-text-box/) -* [Validation Message](/refguide/validation-message/) +* [Page](/refguide10/page/) +* [Login ID Text Box](/refguide10/login-id-text-box/) +* [Password Text Box](/refguide10/password-text-box/) +* [Validation Message](/refguide10/validation-message/) diff --git a/content/en/docs/refguide10/modeling/pages/authentication-widgets/validation-message.md b/content/en/docs/refguide10/modeling/pages/authentication-widgets/validation-message.md index 54ffe49e106..8b5c599bfe6 100644 --- a/content/en/docs/refguide10/modeling/pages/authentication-widgets/validation-message.md +++ b/content/en/docs/refguide10/modeling/pages/authentication-widgets/validation-message.md @@ -1,6 +1,6 @@ --- title: "Validation Message" -url: /refguide/validation-message/ +url: /refguide10/validation-message/ #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. --- @@ -14,7 +14,7 @@ The **Validation message** widget displays an authentication failure message on It is only displayed to an end-user when both of the following conditions are met: -1. The validation message selected in the **Validation message widget** property of a sign-in button. For more information on this property, see the [Validation Message Widget](/refguide/sign-in-button/#validation-message-widget) section in *Sign-In Button*. +1. The validation message selected in the **Validation message widget** property of a sign-in button. For more information on this property, see the [Validation Message Widget](/refguide10/sign-in-button/#validation-message-widget) section in *Sign-In Button*. 2. An authentication fails, that is the end-user entered invalid credentials. ## Properties @@ -30,15 +30,15 @@ Validation message properties consist of the following sections: ### Common Section {#common} -{{% snippet file="/static/_includes/refguide/common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/common-section-link.md" %}} ### Design Properties Section {#design-properties} -{{% snippet file="/static/_includes/refguide/design-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/design-section-link.md" %}} ## Read More -* [Page](/refguide/page/) -* [Login ID Text Box](/refguide/login-id-text-box/) -* [Password Text Box](/refguide/password-text-box/) -* [Sign-In Button](/refguide/sign-in-button/) +* [Page](/refguide10/page/) +* [Login ID Text Box](/refguide10/login-id-text-box/) +* [Password Text Box](/refguide10/password-text-box/) +* [Sign-In Button](/refguide10/sign-in-button/) diff --git a/content/en/docs/refguide10/modeling/pages/button-widgets/_index.md b/content/en/docs/refguide10/modeling/pages/button-widgets/_index.md index eb25a8a891a..32a03813f97 100644 --- a/content/en/docs/refguide10/modeling/pages/button-widgets/_index.md +++ b/content/en/docs/refguide10/modeling/pages/button-widgets/_index.md @@ -1,16 +1,16 @@ --- title: "Buttons" -url: /refguide/button-widgets/ +url: /refguide10/button-widgets/ weight: 40 aliases: - - /refguide/action-button.html - - /refguide/drop-down-button.html - - /refguide/link-button.html - - /refguide/sign-out-button.html - - /refguide/action-button - - /refguide/drop-down-button - - /refguide/link-button - - /refguide/sign-out-button + - /refguide10/action-button.html + - /refguide10/drop-down-button.html + - /refguide10/link-button.html + - /refguide10/sign-out-button.html + - /refguide10/action-button + - /refguide10/drop-down-button + - /refguide10/link-button + - /refguide10/sign-out-button #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. --- @@ -38,13 +38,13 @@ Buttons perform an action when clicked. They can be rendered as a button or as a {{< figure src="/attachments/refguide10/modeling/pages/button-widgets/drop-down-example.png" alt="Drop-Down Button Example" class="no-border" >}} -Different items can perform different actions. For more information on items and actions that can be assigned to them, see the [Item Section](/refguide/button-properties/#items) in *Button Properties*. +Different items can perform different actions. For more information on items and actions that can be assigned to them, see the [Item Section](/refguide10/button-properties/#items) in *Button Properties*. ## Performing Basic Functions -{{% snippet file="/static/_includes/refguide/performing-basic-functions-widgets.md" %}} +{{% snippet file="/static/_includes/refguide10/performing-basic-functions-widgets.md" %}} ## Read More -* [Page](/refguide/page/) -* [Pages](/refguide/pages/) +* [Page](/refguide10/page/) +* [Pages](/refguide10/pages/) diff --git a/content/en/docs/refguide10/modeling/pages/button-widgets/button-properties.md b/content/en/docs/refguide10/modeling/pages/button-widgets/button-properties.md index 3994c168045..26df15be094 100644 --- a/content/en/docs/refguide10/modeling/pages/button-widgets/button-properties.md +++ b/content/en/docs/refguide10/modeling/pages/button-widgets/button-properties.md @@ -1,6 +1,6 @@ --- title: "Button Properties" -url: /refguide/button-properties/ +url: /refguide10/button-properties/ #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. --- @@ -47,15 +47,15 @@ The **Role type** property determines the `aria-role` attribute value that will ### Common Section {#common} -{{% snippet file="/static/_includes/refguide/common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/common-section-link.md" %}} ### Design Properties Section {#design} -{{% snippet file="/static/_includes/refguide/design-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/design-section-link.md" %}} ### Events Section {#events} -{{% snippet file="/static/_includes/refguide/events-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/events-section-link.md" %}} ### General Section {#general} @@ -86,7 +86,7 @@ Parameters have the following settings: To add parameters, do the following: -1. Place the **Button** widget in the context of an entity, as in, inside a [data container](/refguide/data-widgets/). +1. Place the **Button** widget in the context of an entity, as in, inside a [data container](/refguide10/data-widgets/). 2. Double-click the **Caption** setting in the button widget properties. 3. In the **Edit Caption** dialog box > **Parameters** section click **New**: @@ -110,7 +110,7 @@ In addition to adding new parameters, you can perform the following actions on p #### Tooltip -The **Tooltip** property determines a text end-users will see in the tooltip that appears when they hover over the button. The tooltip text is translatable. For more information on translatable texts, see [Language Menu](/refguide/translatable-texts/). If the tooltip is not specified, no tooltip will be shown when hovering over the button. +The **Tooltip** property determines a text end-users will see in the tooltip that appears when they hover over the button. The tooltip text is translatable. For more information on translatable texts, see [Language Menu](/refguide10/translatable-texts/). If the tooltip is not specified, no tooltip will be shown when hovering over the button. #### Icon {#icon} @@ -145,7 +145,7 @@ The **Button style** property applies a predefined styling to the button. Possib #### Disabled During Action -This property is only shown when **Call a microflow** or **Call a nanoflow** is selected as the [on-click event](/refguide/on-click-event/). Selecting **Disabled during action** disables the button until the action is completed or failed. +This property is only shown when **Call a microflow** or **Call a nanoflow** is selected as the [on-click event](/refguide10/on-click-event/). Selecting **Disabled during action** disables the button until the action is completed or failed. Default: *true* @@ -155,18 +155,18 @@ Default: *true* The **Items** section is only shown for drop-down buttons. {{% /alert %}} -When an end-user clicks a drop-down button, a pop-up window with a list of items opens. Each item performs an event when an end-user clicks this item. Different items can perform different events. For more information on events that can be assigned, see [On Click Event and Events Section](/refguide/on-click-event/). +When an end-user clicks a drop-down button, a pop-up window with a list of items opens. Each item performs an event when an end-user clicks this item. Different items can perform different events. For more information on events that can be assigned, see [On Click Event and Events Section](/refguide10/on-click-event/). {{% alert color="info" %}} -* Items with the **Create object** event are only shown when you have sufficient permissions on. For more information, see [Security](/refguide/security/). -* Items with the **Sign out** event are not shown for anonymous users. For more information on different security levels and anonymous users, see [App Security](/refguide/app-security/) and [Anonymous Users](/refguide/anonymous-users/). +* Items with the **Create object** event are only shown when you have sufficient permissions on. For more information, see [Security](/refguide10/security/). +* Items with the **Sign out** event are not shown for anonymous users. For more information on different security levels and anonymous users, see [App Security](/refguide10/app-security/) and [Anonymous Users](/refguide10/anonymous-users/). {{% /alert %}} Each item has the following properties: * **Caption** – defines a caption of the item -* **Action** – defines an on-click event performed when the item is clicked (for more information on-click events, see [On Click Event and Events Section](/refguide/on-click-event/)) +* **Action** – defines an on-click event performed when the item is clicked (for more information on-click events, see [On Click Event and Events Section](/refguide10/on-click-event/)) {{< figure src="/attachments/refguide10/modeling/pages/button-widgets/button-properties/items-properties.png" alt="Properties of Items" class="no-border" >}} @@ -188,11 +188,11 @@ To add items to a drop-down buttons, do the following: ### Visibility Section {#visibility} -{{% snippet file="/static/_includes/refguide/visibility-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/visibility-section-link.md" %}} ## Read More -* [Page](/refguide/page/) -* [Buttons](/refguide/button-widgets/) -* [Properties Common in the Page Editor](/refguide/common-widget-properties/) -* [On Click Event and Events Section](/refguide/on-click-event/) +* [Page](/refguide10/page/) +* [Buttons](/refguide10/button-widgets/) +* [Properties Common in the Page Editor](/refguide10/common-widget-properties/) +* [On Click Event and Events Section](/refguide10/on-click-event/) diff --git a/content/en/docs/refguide10/modeling/pages/button-widgets/create-a-custom-save-button.md b/content/en/docs/refguide10/modeling/pages/button-widgets/create-a-custom-save-button.md index 053fe19802b..326d9351b55 100644 --- a/content/en/docs/refguide10/modeling/pages/button-widgets/create-a-custom-save-button.md +++ b/content/en/docs/refguide10/modeling/pages/button-widgets/create-a-custom-save-button.md @@ -1,7 +1,7 @@ --- title: "Creating a Custom Save Button with a Microflow" linktitle: "Creating a Custom Save Button" -url: /refguide/creating-a-custom-save-button/ +url: /refguide10/creating-a-custom-save-button/ description: "Describes how to create a custom save button by utilizing microflows." aliases: - /howto/logic-business-rules/create-a-custom-save-button/ @@ -9,13 +9,13 @@ aliases: ## Introduction -Mendix uses visual models called microflows to define the logic of your application. A [microflow](/refguide/microflows/) is a visual way of expressing what traditionally would be written in code. +Mendix uses visual models called microflows to define the logic of your application. A [microflow](/refguide10/microflows/) is a visual way of expressing what traditionally would be written in code. This document explains how you can create a custom **Save** button on a detail page using a microflow. You need to replace the default **Save** button with a **Save** button that shows a custom message to end-users after they click it. Before you continue, make sure you have completed the following: -1. Create a **Customer** entity with the attribute **Name** in your domain model (for more information, see [Configuring a Domain Model](/refguide/configuring-a-domain-model/)). +1. Create a **Customer** entity with the attribute **Name** in your domain model (for more information, see [Configuring a Domain Model](/refguide10/configuring-a-domain-model/)). {{< figure src="/attachments/refguide10/modeling/pages/button-widgets/create-a-custom-save-button/entity-customer.png" width="200px" class="no-border" >}} @@ -84,6 +84,6 @@ Congratulations! You have customized the **Save** button using a microflow: ## Read More -* [Microflows](/refguide/microflows/) -* [Advanced Validation with a Custom Save Button](/refguide/setting-up-data-validation/#custom-validation-save-button) -* [Using Validation Assist to Build Data Validations](/refguide/validation-assist/#data-validations) +* [Microflows](/refguide10/microflows/) +* [Advanced Validation with a Custom Save Button](/refguide10/setting-up-data-validation/#custom-validation-save-button) +* [Using Validation Assist to Build Data Validations](/refguide10/validation-assist/#data-validations) diff --git a/content/en/docs/refguide10/modeling/pages/chart-widgets/_index.md b/content/en/docs/refguide10/modeling/pages/chart-widgets/_index.md index f9d9c5e3595..585f77895c4 100644 --- a/content/en/docs/refguide10/modeling/pages/chart-widgets/_index.md +++ b/content/en/docs/refguide10/modeling/pages/chart-widgets/_index.md @@ -1,6 +1,6 @@ --- title: "Charts" -url: /refguide/chart-widgets/ +url: /refguide10/chart-widgets/ weight: 70 no_list: false description_list: true @@ -27,9 +27,9 @@ With Mendix Charts you can quickly create beautiful charts. The following charts * **Pie** chart – a pie or a doughnut chart {{< figure src="/attachments/refguide10/modeling/pages/chart-widgets/sample-pie-chart.png" alt="Sample Pie Chart" width="200" class="no-border" >}} * **Time series** – show data ordered by time {{< figure src="/attachments/refguide10/modeling/pages/chart-widgets/sample-time-series.png" alt="Sample Time Series" width="200" class="no-border" >}} -The widgets contain several settings which can be changed in Studio Pro to customize the look and feel and also offer support for on click events and custom tooltips. See [Chart Configuration](/refguide/charts-configuration/) to learn how to configure Mendix charts. +The widgets contain several settings which can be changed in Studio Pro to customize the look and feel and also offer support for on click events and custom tooltips. See [Chart Configuration](/refguide10/charts-configuration/) to learn how to configure Mendix charts. -If the standard chart settings are not sufficient for your purposes, see [Chart Advanced Cheat Sheet](/refguide/charts-advanced-cheat-sheet/) for information on advanced configuration of your basic charts. +If the standard chart settings are not sufficient for your purposes, see [Chart Advanced Cheat Sheet](/refguide10/charts-advanced-cheat-sheet/) for information on advanced configuration of your basic charts. Note that only features up to version 1.47.4 of plotly.js can be used when configuring charts. @@ -45,14 +45,14 @@ With *Any Chart* you can build all the chart types that are possible with Plotly The plotly charts require a configuration based on JSON, therefore *Any Chart* has JSON as input parameters. You can create this JSON dynamically in your microflow via a JSON Structure document and use this in the *Any Chart* configuration. It is also possible to define static JSON configuration which is combined with the dynamic JSON. -This module also contains several [building blocks](/refguide/charts-any-building-blocks/) for inspiration and as starting point. If you want to create a new chart, Mendix suggests checking out the plotly.js website. +This module also contains several [building blocks](/refguide10/charts-any-building-blocks/) for inspiration and as starting point. If you want to create a new chart, Mendix suggests checking out the plotly.js website. -See [Any Chart Widgets](/refguide/charts-any-configuration/) to learn how to configure *Any charts* widgets. +See [Any Chart Widgets](/refguide10/charts-any-configuration/) to learn how to configure *Any charts* widgets. -The [Any Chart Cheat Sheet](/refguide/charts-any-cheat-sheet/) lists the most common chart types and the JSON required to create them in Any Chart. +The [Any Chart Cheat Sheet](/refguide10/charts-any-cheat-sheet/) lists the most common chart types and the JSON required to create them in Any Chart. ## Performing Basic Functions -{{% snippet file="/static/_includes/refguide/performing-basic-functions-widgets.md" %}} +{{% snippet file="/static/_includes/refguide10/performing-basic-functions-widgets.md" %}} ## Documents in This Section diff --git a/content/en/docs/refguide10/modeling/pages/chart-widgets/charts-advanced-cheat-sheet.md b/content/en/docs/refguide10/modeling/pages/chart-widgets/charts-advanced-cheat-sheet.md index 3fb4562ebe4..adb7d2d4261 100644 --- a/content/en/docs/refguide10/modeling/pages/chart-widgets/charts-advanced-cheat-sheet.md +++ b/content/en/docs/refguide10/modeling/pages/chart-widgets/charts-advanced-cheat-sheet.md @@ -1,6 +1,6 @@ --- title: "Chart Advanced Cheat Sheet" -url: /refguide/charts-advanced-cheat-sheet/ +url: /refguide10/charts-advanced-cheat-sheet/ weight: 20 --- diff --git a/content/en/docs/refguide10/modeling/pages/chart-widgets/charts-any-building-blocks.md b/content/en/docs/refguide10/modeling/pages/chart-widgets/charts-any-building-blocks.md index 21c431c52bf..25e45945bcd 100644 --- a/content/en/docs/refguide10/modeling/pages/chart-widgets/charts-any-building-blocks.md +++ b/content/en/docs/refguide10/modeling/pages/chart-widgets/charts-any-building-blocks.md @@ -1,6 +1,6 @@ --- title: "Any Chart Building Blocks" -url: /refguide/charts-any-building-blocks/ +url: /refguide10/charts-any-building-blocks/ description: "A reference for the Any Chart building blocks which are provided as part of the Any Chart widget" weight: 40 --- @@ -54,5 +54,5 @@ The attribute layout will merge and overwrite static layout options. Layout options for preview. It will be merged with the 'Static' in Studio or at runtime when no 'Source attribute' is selected. {{% alert color="info" %}} -For more a detailed description of Any Chart configuration, see [Any Chart Widgets](/refguide/charts-any-configuration/) +For more a detailed description of Any Chart configuration, see [Any Chart Widgets](/refguide10/charts-any-configuration/) {{% /alert %}} diff --git a/content/en/docs/refguide10/modeling/pages/chart-widgets/charts-any-cheat-sheet.md b/content/en/docs/refguide10/modeling/pages/chart-widgets/charts-any-cheat-sheet.md index 1e18690ba83..695977d3e7b 100644 --- a/content/en/docs/refguide10/modeling/pages/chart-widgets/charts-any-cheat-sheet.md +++ b/content/en/docs/refguide10/modeling/pages/chart-widgets/charts-any-cheat-sheet.md @@ -1,6 +1,6 @@ --- title: "Any Chart Cheat Sheet" -url: /refguide/charts-any-cheat-sheet/ +url: /refguide10/charts-any-cheat-sheet/ description: "Shows, with examples, how the most common types of chart can be configured using the Any Chart Widget" weight: 50 --- @@ -370,5 +370,5 @@ This *cheat sheet* lists the most common chart types, together with a visual sam ## Read More * Full chart documentation is here: [https://plot.ly/javascript/](https://plot.ly/javascript/) -* [Any Chart Widget](/refguide/charts-any-configuration/) +* [Any Chart Widget](/refguide10/charts-any-configuration/) * [How to Use Any Chart](/appstore/widgets/charts-any-usage/) diff --git a/content/en/docs/refguide10/modeling/pages/chart-widgets/charts-any-configuration.md b/content/en/docs/refguide10/modeling/pages/chart-widgets/charts-any-configuration.md index 0c58a502382..c9fbff78991 100644 --- a/content/en/docs/refguide10/modeling/pages/chart-widgets/charts-any-configuration.md +++ b/content/en/docs/refguide10/modeling/pages/chart-widgets/charts-any-configuration.md @@ -1,6 +1,6 @@ --- title: "Any Chart Widgets" -url: /refguide/charts-any-configuration/ +url: /refguide10/charts-any-configuration/ description: "A reference for the configuration of the Any Chart widget to pass the correct values to plotly. This enables you to draw a wide variety of charts" weight: 30 --- @@ -9,7 +9,7 @@ weight: 30 With **Any Chart**, you can build any chart type that is supported by Plotly.js up to the version mentioned in the widget description in the Marketplace. So if you want to build a chart which is not available as a standard chart widget, such as a 3D chart, Any Chart is your friend. -The configuration of this chart type is complex. For help, you can look at the **building blocks** that are delivered in the [Any Chart](/appstore/modules/any-chart/) module from the Mendix Marketplace. Alternatively, use [How to Use Any Chart](/appstore/widgets/charts-any-usage/) or the [Any Chart cheat sheet](/refguide/charts-any-cheat-sheet/) for a quick start. +The configuration of this chart type is complex. For help, you can look at the **building blocks** that are delivered in the [Any Chart](/appstore/modules/any-chart/) module from the Mendix Marketplace. Alternatively, use [How to Use Any Chart](/appstore/widgets/charts-any-usage/) or the [Any Chart cheat sheet](/refguide10/charts-any-cheat-sheet/) for a quick start. Any Charts are configured with a JSON **Data** array and **Layout** object. The configuration can be set statically, via the **Source attribute** and **Sample data** properties. diff --git a/content/en/docs/refguide10/modeling/pages/chart-widgets/charts-configuration.md b/content/en/docs/refguide10/modeling/pages/chart-widgets/charts-configuration.md index 3c90050b898..1b635113f73 100644 --- a/content/en/docs/refguide10/modeling/pages/chart-widgets/charts-configuration.md +++ b/content/en/docs/refguide10/modeling/pages/chart-widgets/charts-configuration.md @@ -1,6 +1,6 @@ --- title: "Chart Configuration" -url: /refguide/charts-configuration/ +url: /refguide10/charts-configuration/ weight: 10 --- @@ -20,7 +20,7 @@ This guide covers the following widgets: * Time series * Note that some apps may have two *Time series* widgets. This document refers to the one with this icon: {{< figure src="/attachments/refguide10/modeling/pages/chart-widgets/charts-configuration/time-series-icon.png" alt="Image of correct Time series widget" class="no-border" >}} -The configuration of *Any chart* widgets is in another document, here: [Any Chart Widgets](/refguide/charts-any-configuration/). +The configuration of *Any chart* widgets is in another document, here: [Any Chart Widgets](/refguide10/charts-any-configuration/). ## Common configuration @@ -176,17 +176,17 @@ See the following link for more information about plotly.js and the options: htt {{< figure src="/attachments/refguide10/modeling/pages/chart-widgets/charts-configuration/toggle-editor.png" class="no-border" >}} * **Layout options**: The JSON containing the Plotly layout options - * [Samples](/refguide/charts-advanced-cheat-sheet/#layout-all) + * [Samples](/refguide10/charts-advanced-cheat-sheet/#layout-all) * [Full reference](https://plot.ly/javascript/reference/#layout) * **Configuration options**: The JSON containing the Plotly configuration options - * [Samples](/refguide/charts-advanced-cheat-sheet/#config-options) + * [Samples](/refguide10/charts-advanced-cheat-sheet/#config-options) * [Documentation](https://plot.ly/javascript/configuration-options/) * [Full reference](https://github.com/plotly/plotly.js/blob/master/src/plot_api/plot_config.js) #### Common -These are properties which are common to many widgets. For information see [Properties Common in the Page Editor](/refguide/common-widget-properties/#common-properties). +These are properties which are common to many widgets. For information see [Properties Common in the Page Editor](/refguide10/common-widget-properties/#common-properties). ## Configuration by Chart Type {#configuration-by-chart-type} diff --git a/content/en/docs/refguide10/modeling/pages/common-widget-properties.md b/content/en/docs/refguide10/modeling/pages/common-widget-properties.md index c306f88d880..ae0d2da55f2 100644 --- a/content/en/docs/refguide10/modeling/pages/common-widget-properties.md +++ b/content/en/docs/refguide10/modeling/pages/common-widget-properties.md @@ -1,9 +1,9 @@ --- title: "Properties Common in the Page Editor" -url: /refguide/common-widget-properties/ +url: /refguide10/common-widget-properties/ weight: 120 aliases: - - /refguide/Conditions + - /refguide10/Conditions #Common Section and Visibility section anchors are used in links of common-section-link and visibility-section-link snippets. If moving or renaming them, do not forget to update snippets. --- @@ -23,15 +23,15 @@ The Screen reader caption property allows information to be read by screen reade The **Screen reader caption** property can be set on the following widgets: -* [Text Box](/refguide/text-box/) -* [Text Area](/refguide/text-area/) -* [Drop-down](/refguide/drop-down/) -* [Checkbox](/refguide/check-box/) -* [Radio Buttons](/refguide/radio-buttons/) -* [Date Picker](/refguide/date-picker/) -* [File Manager](/refguide/file-manager/) -* [Reference Selector](/refguide/reference-selector/) -* [Input Reference Set Selector](/refguide/input-reference-set-selector/) +* [Text Box](/refguide10/text-box/) +* [Text Area](/refguide10/text-area/) +* [Drop-down](/refguide10/drop-down/) +* [Checkbox](/refguide10/check-box/) +* [Radio Buttons](/refguide10/radio-buttons/) +* [Date Picker](/refguide10/date-picker/) +* [File Manager](/refguide10/file-manager/) +* [Reference Selector](/refguide10/reference-selector/) +* [Input Reference Set Selector](/refguide10/input-reference-set-selector/) ## Common Section{#common-properties} @@ -71,7 +71,7 @@ The style property allows you to specify additional CSS styling. If a class is a ### Dynamic Classes{#dynamicclasses} -The dynamic classes property allows you to specify one or more cascading stylesheet (CSS) class like the class property, but based on an [expression](/refguide/expressions/). This allows you to dynamically construct classes based on data from an enclosing data container or a variable on the page or snippet. The dynamic classes constructed in the expression are appended to the classes defined in the [`Class`](#class) property. +The dynamic classes property allows you to specify one or more cascading stylesheet (CSS) class like the class property, but based on an [expression](/refguide10/expressions/). This allows you to dynamically construct classes based on data from an enclosing data container or a variable on the page or snippet. The dynamic classes constructed in the expression are appended to the classes defined in the [`Class`](#class) property. {{< figure src="/attachments/refguide10/modeling/pages/common-widget-properties/dynamic-classes.png" class="no-border" >}} @@ -105,12 +105,12 @@ This property identifies the value which is used in an input widget. In the following widgets, this property specifies the value which is being changed (or displayed) by the widget: -* [Text Box](/refguide/text-box/) -* [Text Area](/refguide/text-area/) -* [Drop-down](/refguide/drop-down/) -* [Checkbox](/refguide/check-box/) -* [Radio Buttons](/refguide/radio-buttons/) -* [Date Picker](/refguide/date-picker/) +* [Text Box](/refguide10/text-box/) +* [Text Area](/refguide10/text-area/) +* [Drop-down](/refguide10/drop-down/) +* [Checkbox](/refguide10/check-box/) +* [Radio Buttons](/refguide10/radio-buttons/) +* [Date Picker](/refguide10/date-picker/) The value can be one of the following: @@ -127,9 +127,9 @@ You can edit attributes of any enclosing data container (including grandparent d For widgets which manipulate associations, the value specifies an attribute that is reachable from an enclosing data container using one or more associations. This applies to the following input elements: -* [Reference Selector](/refguide/reference-selector/) -* [Reference Set Selector](/refguide/reference-set-selector/) -* [Input Reference Set Selector](/refguide/input-reference-set-selector/) +* [Reference Selector](/refguide10/reference-selector/) +* [Reference Set Selector](/refguide10/reference-set-selector/) +* [Input Reference Set Selector](/refguide10/input-reference-set-selector/) For these widgets, only an **Attribute path** can be selected. In other words, the selected attribute must be from an entity associated with the data container entity by following an association, of the type which matches the widget, through the domain model. @@ -139,7 +139,7 @@ For these widgets you are selecting an association to another object. The attrib Since the attribute needs to be on an entity reached over an association, variables cannot be used by association input elements. {{% /alert %}} -The attribute can be of one of the following [data types](/refguide/data-types/): +The attribute can be of one of the following [data types](/refguide10/data-types/): * Autonumber * Date and Time @@ -179,16 +179,16 @@ Only Boolean and enumeration attributes can be used for this purpose. #### Based on Expression -When selected, this enables the widget while a provided [expression](/refguide/expressions/) evaluates to true. The expression may use the variables listed in the expression editor, including: +When selected, this enables the widget while a provided [expression](/refguide10/expressions/) evaluates to true. The expression may use the variables listed in the expression editor, including: * `$currentObject`, representing the object of the closest enclosing data container. * The objects of any enclosing data container, available under the name of the widget that exposes them (for example `$dataView1`). -* [Parameters](/refguide/page-properties/#parameters) and [variables](/refguide/page-properties/#variables) defined on the page or snippet. +* [Parameters](/refguide10/page-properties/#parameters) and [variables](/refguide10/page-properties/#variables) defined on the page or snippet. The expression provided is evaluated in the browser but does not support all the functions that are available in microflows. The autocomplete function will only list those functions which are supported. {{% alert color="info" %}} -As the expression is evaluated in the browser, we advise against using secret values (like access keys) in it. In particular, we disallow usages of [constants](/refguide/constants/). +As the expression is evaluated in the browser, we advise against using secret values (like access keys) in it. In particular, we disallow usages of [constants](/refguide10/constants/). {{% /alert %}} ### Read-Only Style @@ -237,11 +237,11 @@ When selected, the chosen value is used as the value of the parameter. The sourc ##### Expression Parameter Type -When selected, the result of the given [expression](/refguide/expressions/) is used as the value of the parameter. The expression may use the variables listed in the expression editor, including: +When selected, the result of the given [expression](/refguide10/expressions/) is used as the value of the parameter. The expression may use the variables listed in the expression editor, including: * `$currentObject`, representing the object of the closest enclosing data container. * The objects of any enclosing data container, available under the name of the widget that exposes them (for example `$dataView1`). -* [Parameters](/refguide/page-properties/#parameters) and [variables](/refguide/page-properties/#variables) defined on the page or snippet. +* [Parameters](/refguide10/page-properties/#parameters) and [variables](/refguide10/page-properties/#variables) defined on the page or snippet. The expression provided is evaluated in the browser and, currently, does not support all the functions that are available in microflows. The autocomplete function will only list those functions which are supported. @@ -269,7 +269,7 @@ There are three options, described below: This mode only applies to values of type Decimal. {{% /alert %}} -If set to **Fixed**, the decimal part always will be displayed with the number of places specified in the [Decimal precision](#decimal-precision) property. The value will be rounded using the method defined in the [Rounding](/refguide/app-settings/#rounding) section of **App Settings**. +If set to **Fixed**, the decimal part always will be displayed with the number of places specified in the [Decimal precision](#decimal-precision) property. The value will be rounded using the method defined in the [Rounding](/refguide10/app-settings/#rounding) section of **App Settings**. If set to **Auto**, the whole decimal part of the value will be displayed. No decimal part will be displayed if the value is an integer. @@ -295,7 +295,7 @@ This only applies to values of type Decimal and is available only when the [Deci The precision of a value describes the number of decimal places that are used to express that value. This property indicates the number of decimal places (the number of digits following the point). -The way that the number is rounded when displayed is defined in the [Rounding](/refguide/app-settings/#rounding) section of **App Settings**. +The way that the number is rounded when displayed is defined in the [Rounding](/refguide10/app-settings/#rounding) section of **App Settings**. Default: *2* @@ -328,7 +328,7 @@ There are two settings in the validation section which are described below: This property indicates whether this widget value should be validated and, if so, how. These are the possible options: -* No validation – the data has to be the correct [data type](/refguide/data-types/) for the widget, but otherwise there is no further validation +* No validation – the data has to be the correct [data type](/refguide10/data-types/) for the widget, but otherwise there is no further validation * A [predefined validation](#predefined-validation) – see description below * A [custom validation](#custom-validation) – see description below @@ -344,7 +344,7 @@ The possible values of a predefined validation are the following: #### Custom Validation{#custom-validation} -Custom validation is an expression that follows the [Microflow expression](/refguide/expressions/) syntax. +Custom validation is an expression that follows the [Microflow expression](/refguide10/expressions/) syntax. There are a number of variables you can use in your expression: @@ -361,7 +361,7 @@ Default: *(none)* ### Message -This property determines the message that is shown to the user if widget validation is enabled and has failed. This is a translatable text (for more information, see [Language Menu](/refguide/translatable-texts/)). +This property determines the message that is shown to the user if widget validation is enabled and has failed. This is a translatable text (for more information, see [Language Menu](/refguide10/translatable-texts/)). For example, if an address field is required, the validation message for the text box of the address could be something like, `The address is required.` @@ -412,17 +412,17 @@ The visibility of the billing address depends whether the customer checks that t ##### Based on Expression{#visibility-based-on-expression} -When selected, this shows the widget while a provided [expression](/refguide/expressions/) evaluates to true. The expression may use the variables listed in the expression editor, including: +When selected, this shows the widget while a provided [expression](/refguide10/expressions/) evaluates to true. The expression may use the variables listed in the expression editor, including: - `$currentObject`, representing the object of the closest enclosing data container. - The objects of any enclosing data container, available under the name of the widget that exposes them (for example `$dataView1`). -- [Parameters](/refguide/page-properties/#parameters) and [variables](/refguide/page-properties/#variables) defined on the page or snippet. +- [Parameters](/refguide10/page-properties/#parameters) and [variables](/refguide10/page-properties/#variables) defined on the page or snippet. For example, you might want a button to only be visible if a condition is met. Assume the object has an attribute called `myAttribute`, and you want the button to be visible only if `myAttribute` actually has a value stored. To achieve this goal put this expression into the field: `$currentObject/myAttribute != empty`. {{< figure src="/attachments/refguide10/modeling/pages/common-widget-properties/visibility-example.png" alt="Visibility Example" class="no-border" >}} -Note that the expression is evaluated in the browser, and hence, we advise against using "secret" values (like access keys) in it. In particular, we disallow usages of [constants](/refguide/constants/). Also, client-side expressions currently do not support all the functions that are available in the microflows. Please refer to an autocomplete list to know what functions are supported in your version. +Note that the expression is evaluated in the browser, and hence, we advise against using "secret" values (like access keys) in it. In particular, we disallow usages of [constants](/refguide10/constants/). Also, client-side expressions currently do not support all the functions that are available in the microflows. Please refer to an autocomplete list to know what functions are supported in your version. {{% alert color="info" %}} In Studio Pro 10.15 and above, dynamic classes do not require a data container. diff --git a/content/en/docs/refguide10/modeling/pages/data-widgets/_index.md b/content/en/docs/refguide10/modeling/pages/data-widgets/_index.md index a824f4a52b3..0096605dd7b 100644 --- a/content/en/docs/refguide10/modeling/pages/data-widgets/_index.md +++ b/content/en/docs/refguide10/modeling/pages/data-widgets/_index.md @@ -1,6 +1,6 @@ --- title: "Data Containers" -url: /refguide/data-widgets/ +url: /refguide10/data-widgets/ weight: 15 --- @@ -10,30 +10,30 @@ Data containers display contents of one object or a list of objects. The Data containers category contains the following widgets: -* [Data view](/refguide/data-view/) – This widget shows the contents of exactly one object. If, for example, you want to show details of a single program item, you would use a data view for this: +* [Data view](/refguide10/data-view/) – This widget shows the contents of exactly one object. If, for example, you want to show details of a single program item, you would use a data view for this: {{< figure src="/attachments/refguide10/modeling/pages/data-widgets/data-view-example.png" width="500" class="no-border" >}} -* [Data grid](/refguide/data-grid/) – This widget shows a list of objects in a table format. For example, a data grid can show all the orders a customer has placed. Using controls provided by the data grid you can browse, search, and edit those objects. +* [Data grid](/refguide10/data-grid/) – This widget shows a list of objects in a table format. For example, a data grid can show all the orders a customer has placed. Using controls provided by the data grid you can browse, search, and edit those objects. {{< figure src="/attachments/refguide10/modeling/pages/data-widgets/data-grid-example.png" width="450" class="no-border" >}} -* [Template grid](/refguide/template-grid/) – This widget shows a list of objects in a tile view. For example, a template grid can show a list of employees with their profile pictures. Using controls provided by the template grid you can browse, search, and manipulate those objects. +* [Template grid](/refguide10/template-grid/) – This widget shows a list of objects in a tile view. For example, a template grid can show a list of employees with their profile pictures. Using controls provided by the template grid you can browse, search, and manipulate those objects. {{< figure src="/attachments/refguide10/modeling/pages/data-widgets/template-grid-example.png" width="450" class="no-border" >}} -* [List view](/refguide/list-view/) – This widget shows a list of objects. For example, you can display list of all profiles using a list view. +* [List view](/refguide10/list-view/) – This widget shows a list of objects. For example, you can display list of all profiles using a list view. {{< figure src="/attachments/refguide10/modeling/pages/data-widgets/list-view-example.png" width="450" class="no-border" >}} -A [snippet](/refguide/snippet/) can also function as a data container when it has at least one snippet parameter. Unlike other data containers, a snippet never exposes a `$currentObject` variable because it can represent multiple independent objects. +A [snippet](/refguide10/snippet/) can also function as a data container when it has at least one snippet parameter. Unlike other data containers, a snippet never exposes a `$currentObject` variable because it can represent multiple independent objects. ## Performing Basic Functions -{{% snippet file="/static/_includes/refguide/performing-basic-functions-widgets.md" %}} +{{% snippet file="/static/_includes/refguide10/performing-basic-functions-widgets.md" %}} ## Read More -* [Page](/refguide/page/) -* [Pages](/refguide/pages/) -* [Snippet](/refguide/snippet/) +* [Page](/refguide10/page/) +* [Pages](/refguide10/pages/) +* [Snippet](/refguide10/snippet/) diff --git a/content/en/docs/refguide10/modeling/pages/data-widgets/configure-form.md b/content/en/docs/refguide10/modeling/pages/data-widgets/configure-form.md index 880381dfab2..d3f77819c85 100644 --- a/content/en/docs/refguide10/modeling/pages/data-widgets/configure-form.md +++ b/content/en/docs/refguide10/modeling/pages/data-widgets/configure-form.md @@ -1,14 +1,14 @@ --- title: "Configuring a Form and Show Items Related to It" linktitle: "Configure Form and Show Form Items" -url: /refguide/configure-form/ +url: /refguide10/configure-form/ description: "Describes how to configure a form in Mendix Studio Pro." weight: 50 --- ## Introduction -This how-to explains how you can configure a page with a form and how to show items related to this form on the same page. For example, to show a page with a report and a checklist associated with this report and use the page for a [workflow user task](/refguide/user-task/) afterwards. +This how-to explains how you can configure a page with a form and how to show items related to this form on the same page. For example, to show a page with a report and a checklist associated with this report and use the page for a [workflow user task](/refguide10/user-task/) afterwards. This how-to teaches you how to do the following: @@ -42,8 +42,8 @@ You would like the **Details** button in this list to open a page showing the de Before starting this how-to, make sure you have completed the following prerequisites: -* Familiarize yourself with page terms and how to perform basic functions on pages. For more information, see [Page](/refguide/page/). -* Familiarize yourself with the domain model terms and learn how to perform basic functions. For more information, see [Data in the Domain Model](/refguide/domain-model/). +* Familiarize yourself with page terms and how to perform basic functions on pages. For more information, see [Page](/refguide10/page/). +* Familiarize yourself with the domain model terms and learn how to perform basic functions. For more information, see [Data in the Domain Model](/refguide10/domain-model/). * Make sure your domain model is configured the following way: {{< figure src="/attachments/refguide10/modeling/pages/data-widgets/configure-form/domain-model.jpg" alt="Domain Model" class="no-border" >}} @@ -140,6 +140,6 @@ Congratulations! You have the page that displays details of the selected report {{< figure src="/attachments/refguide10/modeling/pages/data-widgets/configure-form/configured-page.jpg" alt="Configured Page" width="80%" class="no-border" >}} -There are many ways you can use this page in your app. For example, you can use it as a page for a user task in a [workflow](/refguide/workflows/). +There are many ways you can use this page in your app. For example, you can use it as a page for a user task in a [workflow](/refguide10/workflows/). You can now preview your app and test your page. diff --git a/content/en/docs/refguide10/modeling/pages/data-widgets/configure-list-and-details-on-one-page.md b/content/en/docs/refguide10/modeling/pages/data-widgets/configure-list-and-details-on-one-page.md index 9185b23e272..5ff013a6bae 100644 --- a/content/en/docs/refguide10/modeling/pages/data-widgets/configure-list-and-details-on-one-page.md +++ b/content/en/docs/refguide10/modeling/pages/data-widgets/configure-list-and-details-on-one-page.md @@ -1,7 +1,7 @@ --- title: "Configuring a List and Viewing List Item Details on One Page" linktitle: "Configure List and View Details on 1 Page" -url: /refguide/configure-list-and-details-on-one-page/ +url: /refguide10/configure-list-and-details-on-one-page/ description: "Describes how to configure a list and view list item details on one page in Mendix Studio Pro." weight: 60 --- @@ -26,7 +26,7 @@ Sales Representatives in your company want to view a list of opportunity contact Before starting this how-to, make sure you have completed the following prerequisites: -* Familiarize yourself with the domain model terms and learn how to perform basic functions. For more information, see [Data in the Domain Model](/refguide/domain-model/). +* Familiarize yourself with the domain model terms and learn how to perform basic functions. For more information, see [Data in the Domain Model](/refguide10/domain-model/). * Make sure your domain model is configured in the following way: {{< figure src="/attachments/refguide10/modeling/pages/data-widgets/configure-list-and-details-on-one-page/domain-model.png" width="200px" class="no-border" >}} @@ -101,6 +101,6 @@ You can now preview your app and test your page. ## Read More -* [Page](/refguide/page/) +* [Page](/refguide10/page/) * [Create Your First Two Overview and Detail Pages](/howto/front-end/create-your-first-two-overview-and-detail-pages/) -* [Configuring a Domain Model](/refguide/configuring-a-domain-model/) +* [Configuring a Domain Model](/refguide10/configuring-a-domain-model/) diff --git a/content/en/docs/refguide10/modeling/pages/data-widgets/data-sources/_index.md b/content/en/docs/refguide10/modeling/pages/data-widgets/data-sources/_index.md index 66b8dbaf14f..00c3c32a36f 100644 --- a/content/en/docs/refguide10/modeling/pages/data-widgets/data-sources/_index.md +++ b/content/en/docs/refguide10/modeling/pages/data-widgets/data-sources/_index.md @@ -1,13 +1,13 @@ --- title: "Data Sources" -url: /refguide/data-sources/ +url: /refguide10/data-sources/ weight: 40 #If moving or renaming this doc file, implement a temporary redirect and let the respective team know they should update the URL in the product. See Mapping to Products for more details. --- ## Introduction -Widgets that display information stored in entities require you to assign a method by which to retrieve the relevant data. Such methods are collectively known as data sources. Widgets that require a data source include all [data containers](/refguide/data-widgets/) and [input elements](/refguide/input-widgets/). [Pluggable widgets](/apidocs-mxsdk/apidocs/pluggable-widgets/) can also use data sources. +Widgets that display information stored in entities require you to assign a method by which to retrieve the relevant data. Such methods are collectively known as data sources. Widgets that require a data source include all [data containers](/refguide10/data-widgets/) and [input elements](/refguide10/input-widgets/). [Pluggable widgets](/apidocs-mxsdk/apidocs/pluggable-widgets/) can also use data sources. This document describes data sources of data containers. @@ -15,10 +15,10 @@ This document describes data sources of data containers. A data view supports the following data sources: -* [Context](/refguide/context-source/) – the data view gets its object from the context: either from a page parameter or a surrounding data container. -* [Microflow](/refguide/microflow-source/) – the data view object is determined by the result of calling the selected microflow. The microflow can take primitives or objects in the context as parameter and needs to return a single object. -* [Nanoflow](/refguide/nanoflow-source/) – objects retrieved are determined by the result of calling the selected nanoflow. The nanoflow can take primitives or objects in the context as a parameter and needs to return a single object. -* [Listen to widget](/refguide/listen-to-grid-source/) – the data view object depends on the selection in a list widget (a data grid, template grid, or list view). +* [Context](/refguide10/context-source/) – the data view gets its object from the context: either from a page parameter or a surrounding data container. +* [Microflow](/refguide10/microflow-source/) – the data view object is determined by the result of calling the selected microflow. The microflow can take primitives or objects in the context as parameter and needs to return a single object. +* [Nanoflow](/refguide10/nanoflow-source/) – objects retrieved are determined by the result of calling the selected nanoflow. The nanoflow can take primitives or objects in the context as a parameter and needs to return a single object. +* [Listen to widget](/refguide10/listen-to-grid-source/) – the data view object depends on the selection in a list widget (a data grid, template grid, or list view). {{% alert color="info" %}} The **Microflow** source is not supported in offline applications because it implies a call to the server. @@ -30,19 +30,19 @@ The **Microflow** source is not supported in offline applications because it imp Data grids, template grids, and list views are list widgets. Also, some [pluggable widgets](/apidocs-mxsdk/apidocs/pluggable-widgets/) may behave as list widgets and use data sources. Supported data sources are listed below: -* [Database](/refguide/database-source/) – objects are retrieved from the database; database constraints can be used to limit which objects are shown. -* [XPath](/refguide/xpath-source/) – objects are retrieved from the database; an XPath constraint can be used to constrain which objects are shown. +* [Database](/refguide10/database-source/) – objects are retrieved from the database; database constraints can be used to limit which objects are shown. +* [XPath](/refguide10/xpath-source/) – objects are retrieved from the database; an XPath constraint can be used to constrain which objects are shown. {{% alert color="info" %}} From Mendix version 10.5, most widgets do not have a separate XPath source, you can apply XPath constraints to the **Database** source. {{% /alert %}} -* [Microflow](/refguide/microflow-source/) – objects retrieved are determined by the result of calling the selected microflow. The microflow can take primitives or objects in the context as parameter and needs to return a list of objects. -* [Nanoflow](/refguide/nanoflow-source/) – objects retrieved are determined by the result of calling the selected nanoflow. The nanoflow can take primitives or objects in the context as a parameter and needs to return a list of objects. Nanoflow data source is only available for data views and list views. -* [Association](/refguide/association-source/) – the objects are retrieved from memory by following an association from the object in the context. Thus, this data source is only available when a widget is nested in another data container. +* [Microflow](/refguide10/microflow-source/) – objects retrieved are determined by the result of calling the selected microflow. The microflow can take primitives or objects in the context as parameter and needs to return a list of objects. +* [Nanoflow](/refguide10/nanoflow-source/) – objects retrieved are determined by the result of calling the selected nanoflow. The nanoflow can take primitives or objects in the context as a parameter and needs to return a list of objects. Nanoflow data source is only available for data views and list views. +* [Association](/refguide10/association-source/) – the objects are retrieved from memory by following an association from the object in the context. Thus, this data source is only available when a widget is nested in another data container. -The data source also determines which features of the widget are enabled. For example, only widgets with a database or XPath data source can contain a [search bar](/refguide/search-bar/). +The data source also determines which features of the widget are enabled. For example, only widgets with a database or XPath data source can contain a [search bar](/refguide10/search-bar/). {{% alert color="info" %}} -Database and nanoflow data sources are the only data sources supported offline. If a list widget has a database data source in an offline application, the data will come from the database that is situated on the device. This database can be synced with a [button](/refguide/button-properties/) widget for creating a new object. +Database and nanoflow data sources are the only data sources supported offline. If a list widget has a database data source in an offline application, the data will come from the database that is situated on the device. This database can be synced with a [button](/refguide10/button-properties/) widget for creating a new object. {{% /alert %}} ### Network Optimization Mode {#optimization-mode} @@ -57,7 +57,7 @@ You can see which of the modes is used in the **Advanced** tab of the data sourc If **Network load** is the default, you can change this to **Network round trips**. If **Optimize for** defaults to **Network round trips** then this is required by the client and cannot be changed. -The optimization mode cannot be changed for [data grid](/refguide/data-grid/), [template grid](/refguide/template-grid/), and [list view](/refguide/list-view/) widgets. +The optimization mode cannot be changed for [data grid](/refguide10/data-grid/), [template grid](/refguide10/template-grid/), and [list view](/refguide10/list-view/) widgets. {{< figure src="/attachments/refguide10/modeling/pages/data-widgets/data-sources/data-source-advanced.png" alt="data source advanced tabpage" class="no-border" >}} @@ -65,15 +65,15 @@ The optimization mode cannot be changed for [data grid](/refguide/data-grid/), [ In this mode, all the attributes of the data source entity are returned to the Mendix Client, even if not all these attributes are shown by the widget. -The advantage of this mode is that when a [client action](/refguide/on-click-event/#actions) is triggered, an additional request to the Runtime Server can be prevented. +The advantage of this mode is that when a [client action](/refguide10/on-click-event/#actions) is triggered, an additional request to the Runtime Server can be prevented. #### Optimize for Network Load {#optimize-for-network-load} In this mode, only the attributes shown by the list widget are returned to the Mendix Client. This reduces the amount of data transferred over the network. -This means that when a [client action](/refguide/on-click-event/#actions) is triggered, an additional request to the Mendix Runtime might be necessary. +This means that when a [client action](/refguide10/on-click-event/#actions) is triggered, an additional request to the Mendix Runtime might be necessary. ## Read More -* [Data Containers](/refguide/data-widgets/) -* [Data Sources Retrieval](/refguide/datasource-runtime/) +* [Data Containers](/refguide10/data-widgets/) +* [Data Sources Retrieval](/refguide10/datasource-runtime/) diff --git a/content/en/docs/refguide10/modeling/pages/data-widgets/data-sources/association-source.md b/content/en/docs/refguide10/modeling/pages/data-widgets/data-sources/association-source.md index 141d9de764c..73fe384f0e8 100644 --- a/content/en/docs/refguide10/modeling/pages/data-widgets/data-sources/association-source.md +++ b/content/en/docs/refguide10/modeling/pages/data-widgets/data-sources/association-source.md @@ -1,12 +1,12 @@ --- title: "Association Source" -url: /refguide/association-source/ +url: /refguide10/association-source/ weight: 60 --- ## Introduction -The **Association** source is a data source available to nested [data grids](/refguide/data-grid/), [template grids](/refguide/template-grid/), and [list views](/refguide/list-view/). +The **Association** source is a data source available to nested [data grids](/refguide10/data-grid/), [template grids](/refguide10/template-grid/), and [list views](/refguide10/list-view/). {{% alert color="warning" %}} The **Association** source retrieves objects from memory, not from the database. @@ -14,7 +14,7 @@ The **Association** source retrieves objects from memory, not from the database. An **Association** data source fills the widget with objects linked to another object by an association. To provide the context, the data container needs to be nested within another data container. -Data containers that can have other data containers inside them are the [template grid](/refguide/template-grid/), [list view](/refguide/list-view/), and [data view](/refguide/data-view/). +Data containers that can have other data containers inside them are the [template grid](/refguide10/template-grid/), [list view](/refguide10/list-view/), and [data view](/refguide10/data-view/). {{% alert color="warning" %}} Sorting columns and searching is not possible in data containers with an association data source. This is because these features require a database call to function, which an association data source does not necessarily initiate. @@ -28,5 +28,5 @@ The **Entity (path)** property specifies the association by which the widget is ## Read More -* [Associations](/refguide/associations/) -* [Data Containers](/refguide/data-widgets/) +* [Associations](/refguide10/associations/) +* [Data Containers](/refguide10/data-widgets/) diff --git a/content/en/docs/refguide10/modeling/pages/data-widgets/data-sources/context-source.md b/content/en/docs/refguide10/modeling/pages/data-widgets/data-sources/context-source.md index 9a450ab7a22..a2f6caab0c9 100644 --- a/content/en/docs/refguide10/modeling/pages/data-widgets/data-sources/context-source.md +++ b/content/en/docs/refguide10/modeling/pages/data-widgets/data-sources/context-source.md @@ -1,6 +1,6 @@ --- title: "Context Source" -url: /refguide/context-source/ +url: /refguide10/context-source/ weight: 30 --- @@ -23,11 +23,11 @@ If you have a nested data view, you can select one of the following: * An entity of a page parameter. * An entity that has an association with the entity of a page parameter, which should be a parent of this association. -For more information on associations, see [Associations](/refguide/associations/). +For more information on associations, see [Associations](/refguide10/associations/). {{< figure src="/attachments/refguide10/modeling/pages/data-widgets/data-sources/context-source/context-source-example.png" alt="Context Source" width="400" class="no-border" >}} ## Read More -* [Data Containers](/refguide/data-widgets/) -* [Associations](/refguide/associations/) +* [Data Containers](/refguide10/data-widgets/) +* [Associations](/refguide10/associations/) diff --git a/content/en/docs/refguide10/modeling/pages/data-widgets/data-sources/database-source.md b/content/en/docs/refguide10/modeling/pages/data-widgets/data-sources/database-source.md index 344c84eb827..0e6f8710e26 100644 --- a/content/en/docs/refguide10/modeling/pages/data-widgets/data-sources/database-source.md +++ b/content/en/docs/refguide10/modeling/pages/data-widgets/data-sources/database-source.md @@ -1,14 +1,14 @@ --- title: "Database Source" -url: /refguide/database-source/ +url: /refguide10/database-source/ weight: 10 --- ## Introduction -If **Database** is selected as the data source for a widget then an object or objects shown are retrieved directly from the database with a query. This data source is also supported in [offline](/refguide/offline-first/) applications in which case the data will come from the database on the mobile device. +If **Database** is selected as the data source for a widget then an object or objects shown are retrieved directly from the database with a query. This data source is also supported in [offline](/refguide10/offline-first/) applications in which case the data will come from the database on the mobile device. -You can filter data shown with the help of database [constraints](#constraints). However, if you want to restrict data not for a single widget, but for several, you may want to apply [access rules](/refguide/access-rules/) for entities instead of database constraints. This way you know that the objects will always be constrained by these rules. Access rules will also be applied when executing microflows which saves you from repeating constraints. +You can filter data shown with the help of database [constraints](#constraints). However, if you want to restrict data not for a single widget, but for several, you may want to apply [access rules](/refguide10/access-rules/) for entities instead of database constraints. This way you know that the objects will always be constrained by these rules. Access rules will also be applied when executing microflows which saves you from repeating constraints. ## Properties @@ -19,7 +19,7 @@ The **Entity (path)** property specifies the target of the database query. If yo {{< figure src="/attachments/refguide10/modeling/pages/data-widgets/data-sources/database-source/data-source-example.png" alt="Data Source Example" width="400" class="no-border" >}} {{% alert color="info" %}} -This differs from the [association data source](/refguide/association-source/) when objects are retrieved from the memory, not database. +This differs from the [association data source](/refguide10/association-source/) when objects are retrieved from the memory, not database. {{% /alert %}} ### Constraints{#constraints} @@ -27,27 +27,27 @@ This differs from the [association data source](/refguide/association-source/) w Constraints allow for custom, hard-coded limitations on the data displayed. This constraint will be applied on top of security constraints. For example, if your entity has an access rule that makes it read-only for the user and/or has an XPath constraint, the XPath constraint will be applied first. {{% alert color="warning" %}} -Constraints are applied equally to all users and only apply to the data displayed in a single data widget. If the goal is to restrict access to a particular subset of the data for users then [access rules](/refguide/access-rules/) for entities should be used as they can be applied to an individual user role and they apply system-wide. +Constraints are applied equally to all users and only apply to the data displayed in a single data widget. If the goal is to restrict access to a particular subset of the data for users then [access rules](/refguide10/access-rules/) for entities should be used as they can be applied to an individual user role and they apply system-wide. {{% /alert %}} {{% alert color="info" %}} -In Mendix version 10.5 and above, you can add a full XPath constraint to a Database source; click **Edit…** next to the **XPath constraint** field. There is no separate **XPath** source. See [XPath Constraints](/refguide/xpath-constraints/) for more information. +In Mendix version 10.5 and above, you can add a full XPath constraint to a Database source; click **Edit…** next to the **XPath constraint** field. There is no separate **XPath** source. See [XPath Constraints](/refguide10/xpath-constraints/) for more information. {{% /alert %}} For Mendix versions below 10.5, each constraint consists of an **Attribute**, an **Operator**, and a **Value**: {{< figure src="/attachments/refguide10/modeling/pages/data-widgets/data-sources/database-source/constraint-example.png" alt="Constraint Example" class="no-border" >}} -Multiple constraints will limit the data even more (the logical operator **AND**). There is no way to use the logical operator **OR** in database constraints in versions of Mendix below 10.5, but you can switch to an [XPath data source](/refguide/xpath-source/) and create an XPath constraint. +Multiple constraints will limit the data even more (the logical operator **AND**). There is no way to use the logical operator **OR** in database constraints in versions of Mendix below 10.5, but you can switch to an [XPath data source](/refguide10/xpath-source/) and create an XPath constraint. ### Show Search Bar {#show-search-bar} -**Show search bar** is only available for data grids. You can select if and when the **[Search bar](/refguide/search-bar/)** of the data grid is shown. +**Show search bar** is only available for data grids. You can select if and when the **[Search bar](/refguide10/search-bar/)** of the data grid is shown. | Value | Description | | --- | --- | | Never | No search bar or search button are ever shown. Effectively disables search. | -| With button (initially open) | An end-user can open and close the search bar using the [**Search** button](/refguide/control-bar/#search-button); the search bar is initially open. | +| With button (initially open) | An end-user can open and close the search bar using the [**Search** button](/refguide10/control-bar/#search-button); the search bar is initially open. | | With button (initially closed) *(default)* | The user can open and close the search bar using the search button; the search bar is initially closed. | | Always | The search bar is always visible and cannot be close, nor is there a search button. | @@ -61,5 +61,5 @@ Default: *false* ## Read More -* [Data Containers](/refguide/data-widgets/) -* [Data Grid](/refguide/data-grid/) +* [Data Containers](/refguide10/data-widgets/) +* [Data Grid](/refguide10/data-grid/) diff --git a/content/en/docs/refguide10/modeling/pages/data-widgets/data-sources/listen-to-grid-source.md b/content/en/docs/refguide10/modeling/pages/data-widgets/data-sources/listen-to-grid-source.md index 4632fa11297..855e76546ac 100644 --- a/content/en/docs/refguide10/modeling/pages/data-widgets/data-sources/listen-to-grid-source.md +++ b/content/en/docs/refguide10/modeling/pages/data-widgets/data-sources/listen-to-grid-source.md @@ -1,6 +1,6 @@ --- title: "Listen to Widget Source" -url: /refguide/listen-to-grid-source/ +url: /refguide10/listen-to-grid-source/ weight: 70 --- diff --git a/content/en/docs/refguide10/modeling/pages/data-widgets/data-sources/microflow-source.md b/content/en/docs/refguide10/modeling/pages/data-widgets/data-sources/microflow-source.md index d49107c092e..70f3daf7ca5 100644 --- a/content/en/docs/refguide10/modeling/pages/data-widgets/data-sources/microflow-source.md +++ b/content/en/docs/refguide10/modeling/pages/data-widgets/data-sources/microflow-source.md @@ -1,12 +1,12 @@ --- title: "Microflow Source" -url: /refguide/microflow-source/ +url: /refguide10/microflow-source/ weight: 40 --- ## Introduction -In most cases, you use the **Database**, **XPath**, or **Association** data sources to fill a [data widget](/refguide/data-widgets/). For example, if the properties of a data grid require an object of an entity selected in the data grid, the data grid gets its objects from a database query. Another example is that a nested template grid can retrieve its objects over an association. However, sometimes the target objects need to adhere to very specific criteria, or different objects are shown under different circumstances that cannot be handled by an [XPath](/refguide/xpath-constraints/). In these situations a **Microflow** data source may be required. +In most cases, you use the **Database**, **XPath**, or **Association** data sources to fill a [data widget](/refguide10/data-widgets/). For example, if the properties of a data grid require an object of an entity selected in the data grid, the data grid gets its objects from a database query. Another example is that a nested template grid can retrieve its objects over an association. However, sometimes the target objects need to adhere to very specific criteria, or different objects are shown under different circumstances that cannot be handled by an [XPath](/refguide10/xpath-constraints/). In these situations a **Microflow** data source may be required. When a data widget with a microflow data source is displayed in the browser or refreshed, it runs the designated microflow and displays the return value. The manner in which the objects are acquired in the microflow is entirely up to you, which allows for unlimited control over what objects to return. @@ -58,4 +58,4 @@ This duplicates the [Microflow](#microflow) specified above. ## Read More -* [Data Containers](/refguide/data-widgets/) +* [Data Containers](/refguide10/data-widgets/) diff --git a/content/en/docs/refguide10/modeling/pages/data-widgets/data-sources/nanoflow-source.md b/content/en/docs/refguide10/modeling/pages/data-widgets/data-sources/nanoflow-source.md index 946cc9913b0..8d34468b5f6 100644 --- a/content/en/docs/refguide10/modeling/pages/data-widgets/data-sources/nanoflow-source.md +++ b/content/en/docs/refguide10/modeling/pages/data-widgets/data-sources/nanoflow-source.md @@ -1,14 +1,14 @@ --- title: "Nanoflow Source" -url: /refguide/nanoflow-source/ +url: /refguide10/nanoflow-source/ weight: 50 --- ## Introduction -The **Nanoflow** data source is available for [data views](/refguide/data-view/) and [list views](/refguide/list-view/). +The **Nanoflow** data source is available for [data views](/refguide10/data-view/) and [list views](/refguide10/list-view/). -In most cases, you use the *database*, *association* or *XPath* data sources to fill a [data widget](/refguide/data-widgets/). However, sometimes the target objects need to adhere to very specific criteria, or different objects are shown under different circumstances that cannot be handled by an [XPath](/refguide/xpath-constraints/). In these situations a *nanoflow data source* may be required. For more information on nanoflows and their advantages, see [Nanoflows](/refguide/nanoflows/). +In most cases, you use the *database*, *association* or *XPath* data sources to fill a [data widget](/refguide10/data-widgets/). However, sometimes the target objects need to adhere to very specific criteria, or different objects are shown under different circumstances that cannot be handled by an [XPath](/refguide10/xpath-constraints/). In these situations a *nanoflow data source* may be required. For more information on nanoflows and their advantages, see [Nanoflows](/refguide10/nanoflows/). When a data widget with a nanoflow data source is displayed in the browser or refreshed, it runs the designated nanoflow and displays the return value. The manner in which the objects are acquired in the nanoflow is entirely up to you, which allows for unlimited control over what objects to return. @@ -45,5 +45,5 @@ Defines the nanoflow used to populate the widget. This nanoflow will be run when ## Read More -* [Nanoflows](/refguide/nanoflows/) -* [Data Containers](/refguide/data-widgets/) +* [Nanoflows](/refguide10/nanoflows/) +* [Data Containers](/refguide10/data-widgets/) diff --git a/content/en/docs/refguide10/modeling/pages/data-widgets/data-sources/xpath-source.md b/content/en/docs/refguide10/modeling/pages/data-widgets/data-sources/xpath-source.md index a5e739e2e22..22fb5a715a1 100644 --- a/content/en/docs/refguide10/modeling/pages/data-widgets/data-sources/xpath-source.md +++ b/content/en/docs/refguide10/modeling/pages/data-widgets/data-sources/xpath-source.md @@ -1,6 +1,6 @@ --- title: "XPath Source" -url: /refguide/xpath-source/ +url: /refguide10/xpath-source/ weight: 20 --- @@ -12,14 +12,14 @@ In Mendix version 10.5 and above there is no separate XPath source. If you want If **XPath** is selected as the data source for a widget then the object or objects shown are retrieved directly from the database with a query. You can filter data with an [XPath constraint](#xpath-constraints). -The **XPath** data source is very similar to the [Database data source](/refguide/database-source/), except that XPath constraints are more flexible than the database ones. +The **XPath** data source is very similar to the [Database data source](/refguide10/database-source/), except that XPath constraints are more flexible than the database ones. The data retrieved can also be limited by the following factors: 1. The access rules defined in the **Security** section of the app. 2. An association, if the widget is nested in another data widget and the data path described runs over an association. -If you want to restrict data not for a single widget, but for several, you may want to apply [access rules](/refguide/access-rules/) for entities instead of XPath constraints. This way you know that the objects will always be constrained by these rules. Access rules will also be applied when executing microflows which saves you from repeating constraints. +If you want to restrict data not for a single widget, but for several, you may want to apply [access rules](/refguide10/access-rules/) for entities instead of XPath constraints. This way you know that the objects will always be constrained by these rules. Access rules will also be applied when executing microflows which saves you from repeating constraints. ## Properties @@ -30,17 +30,17 @@ The **Entity (path)** property specifies the target of the database query. If yo {{< figure src="/attachments/refguide10/modeling/pages/data-widgets/data-sources/database-source/data-source-example.png" alt="Data Source Example" width="400" class="no-border" >}} {{% alert color="info" %}} -This differs from the [association data source](/refguide/association-source/) when objects are retrieved from the memory, not database. +This differs from the [association data source](/refguide10/association-source/) when objects are retrieved from the memory, not database. {{% /alert %}} ### Show Search Bar {#show-search-bar} -**Show search bar** is only available for data grids. You can select if and when the [Search bar](/refguide/search-bar/) of the data grid is shown. +**Show search bar** is only available for data grids. You can select if and when the [Search bar](/refguide10/search-bar/) of the data grid is shown. | Value | Description | | ------------------------------ | ------------------------------------------------------------ | | Never | No search bar or search button are ever shown. Effectively disables search. | -| With button (initially open) | An end-user can open and close the search bar using the [Search button](/refguide/control-bar/#search-button); the search bar is initially open. | +| With button (initially open) | An end-user can open and close the search bar using the [Search button](/refguide10/control-bar/#search-button); the search bar is initially open. | | With button (initially closed) *(default)* | The user can open and close the search bar using the search button; the search bar is initially closed. | | Always | The search bar is always visible and cannot be close, nor is there a search button. | @@ -54,10 +54,10 @@ Default: *false* ### XPath Constraint {#xpath-constraints} -The [XPath constraint](/refguide/xpath-constraints/) allows for custom, hard-coded limitations on the data displayed. This constraint will be appended to the constraints (if any) already applied through security and context. +The [XPath constraint](/refguide10/xpath-constraints/) allows for custom, hard-coded limitations on the data displayed. This constraint will be appended to the constraints (if any) already applied through security and context. {{% alert color="warning" %}} -XPath constraints are applied equally to all users and only apply to the data displayed in a single data widget. If the goal is to restrict access to a particular subset of the data for users then [access rules](/refguide/access-rules/) for entities should be used as they can be applied to an individual user role and they apply system-wide. +XPath constraints are applied equally to all users and only apply to the data displayed in a single data widget. If the goal is to restrict access to a particular subset of the data for users then [access rules](/refguide10/access-rules/) for entities should be used as they can be applied to an individual user role and they apply system-wide. {{% /alert %}} XPath constraints for data sources have access to objects and attributes from all surrounding data containers. To refer to the immediately surrounding data widget, use `$currentObject`. You can refer to other surrounding data containers by adding a `$` to their name: @@ -73,14 +73,14 @@ The feature to use objects and attributes from surrounding data containers was i {{% /alert %}} {{% alert color="warning" %}} -The feature to use objects and attributes can be used for [List view](/refguide/list-view/) widgets, [Data Grid 2](/appstore/modules/data-grid-2/) modules, and many other widgets. However, it cannot be used for [Data Grid](/refguide/data-grid/) and [Template Grid](/refguide/template-grid/) containers. +The feature to use objects and attributes can be used for [List view](/refguide10/list-view/) widgets, [Data Grid 2](/appstore/modules/data-grid-2/) modules, and many other widgets. However, it cannot be used for [Data Grid](/refguide10/data-grid/) and [Template Grid](/refguide10/template-grid/) containers. {{% /alert %}} #### Known Errors -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. +Currently, Studio Pro does not support database retrievals using XPath constraints that walk through both regular databases and [external entities](/refguide10/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. ## Read More -* [Data Containers](/refguide/data-widgets/) -* [Data Grid](/refguide/data-grid/) +* [Data Containers](/refguide10/data-widgets/) +* [Data Grid](/refguide10/data-grid/) diff --git a/content/en/docs/refguide10/modeling/pages/data-widgets/data-view.md b/content/en/docs/refguide10/modeling/pages/data-widgets/data-view.md index 1af63bdea96..6eb83855b73 100644 --- a/content/en/docs/refguide10/modeling/pages/data-widgets/data-view.md +++ b/content/en/docs/refguide10/modeling/pages/data-widgets/data-view.md @@ -1,6 +1,6 @@ --- title: "Data View" -url: /refguide/data-view/ +url: /refguide10/data-view/ weight: 10 #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. --- @@ -11,7 +11,7 @@ The data view is a starting point for showing the contents of exactly one object {{< figure src="/attachments/refguide10/modeling/pages/data-widgets/data-view/data-view-example-structure-mode.png" width="350" class="no-border" >}} -In a more complex example, a data view can contain customer information and [tab containers](/refguide/tab-container/) per specific topic (for example, addresses and payment information) with nested data grids for related objects: +In a more complex example, a data view can contain customer information and [tab containers](/refguide10/tab-container/) per specific topic (for example, addresses and payment information) with nested data grids for related objects: {{< figure src="/attachments/refguide10/modeling/pages/data-widgets/data-view/data-view-complex-example.png" width="350" class="no-border" >}} @@ -50,7 +50,7 @@ Default: *Horizontal* #### Label Width (Weight) -If the form orientation is set to horizontal, this property can be used to specify the width of the input widget labels inside the data view. The width is specified using column weights from the [Bootstrap grid system](https://getbootstrap.com/css/#grid). For more details, see [Layout Grid](/refguide/layout-grid/). +If the form orientation is set to horizontal, this property can be used to specify the width of the input widget labels inside the data view. The width is specified using column weights from the [Bootstrap grid system](https://getbootstrap.com/css/#grid). For more details, see [Layout Grid](/refguide10/layout-grid/). Default: *3* @@ -62,7 +62,7 @@ Default: *True* #### Empty Entity Message -If this message is specified, a data view that receives no source data will show this message instead of its content. Otherwise, the data view will show its static content and disabled input elements. This property is a translatable text. For more details, see [Language Menu](/refguide/translatable-texts/). +If this message is specified, a data view that receives no source data will show this message instead of its content. Otherwise, the data view will show its static content and disabled input elements. This property is a translatable text. For more details, see [Language Menu](/refguide10/translatable-texts/). There are a number of ways a data view can end up without source data. For instance, a data view with a **Listen to widget** data source will remain empty until an object is selected in the target grid. In this scenario, **Empty entity message** can be used to guide the user to select an item from the grid. @@ -70,16 +70,16 @@ Default: *empty* ### Data Source Section {#data-source} -The data source determines which object will be shown in the data view. For more information on data sources, see [Data Sources](/refguide/data-sources/). +The data source determines which object will be shown in the data view. For more information on data sources, see [Data Sources](/refguide10/data-sources/). The data view supports the following types of data source: context, microflow, nanoflow, and listen to widget. | Data Source Type | Description | |------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Context | A data source that uses a context object which is already available, such as a page parameter, snippet parameter or the object of a surrounding data container. Page parameters are passed to the page from another document, such as an [Show Page action](/refguide/on-click-event/#show-page) in another page or a [Show Page activity](/refguide/show-page/) in a microflow or nanoflow. In the case of a snippet parameter the data will come from a [Snippet Call](/refguide/snippet-call/) in a [page](/refguide/page/), [layout](/refguide/layout/), or another [snippet](/refguide/snippet/). If the context object comes from a data container, you must specify an entity path that starts in the context object and follows one or more associations. For more information on the context source, see [Context Source](/refguide/context-source/). | -| Microflow | A data source that runs a selected microflow and displays a return value. For more information on the microflow source, see [Microflow Source](/refguide/microflow-source/). | -| Nanoflow | A data source that runs a selected nanoflow and displays a return value. For more information on the nanoflow source, see [Nanoflow Source](/refguide/nanoflow-source/). | -| Listen to widget | A data source that allows a data view to display detailed information on an object in the list widget on the same page. For more information on listen to widget source, see [Listen To Widget Source](/refguide/listen-to-grid-source/). | +| Context | A data source that uses a context object which is already available, such as a page parameter, snippet parameter or the object of a surrounding data container. Page parameters are passed to the page from another document, such as an [Show Page action](/refguide10/on-click-event/#show-page) in another page or a [Show Page activity](/refguide10/show-page/) in a microflow or nanoflow. In the case of a snippet parameter the data will come from a [Snippet Call](/refguide10/snippet-call/) in a [page](/refguide10/page/), [layout](/refguide10/layout/), or another [snippet](/refguide10/snippet/). If the context object comes from a data container, you must specify an entity path that starts in the context object and follows one or more associations. For more information on the context source, see [Context Source](/refguide10/context-source/). | +| Microflow | A data source that runs a selected microflow and displays a return value. For more information on the microflow source, see [Microflow Source](/refguide10/microflow-source/). | +| Nanoflow | A data source that runs a selected nanoflow and displays a return value. For more information on the nanoflow source, see [Nanoflow Source](/refguide10/nanoflow-source/). | +| Listen to widget | A data source that allows a data view to display detailed information on an object in the list widget on the same page. For more information on listen to widget source, see [Listen To Widget Source](/refguide10/listen-to-grid-source/). | ### Editability Section {#editability} @@ -108,7 +108,7 @@ When selected, this enables the widgets in the data view when a particular attri #### Based on Expression -When selected, this enables the widget when a provided [expression](/refguide/expressions/) evaluates to true. The object of the data view is available inside an expression as the `$currentObject` variable as well as any variables and parameters inside a page or snippet. +When selected, this enables the widget when a provided [expression](/refguide10/expressions/) evaluates to true. The object of the data view is available inside an expression as the `$currentObject` variable as well as any variables and parameters inside a page or snippet. The expression provided is evaluated in the browser. Currently it does not support all the functions that are available in microflows. The autocomplete function will only list those functions which are supported. @@ -125,21 +125,21 @@ This property determines how input elements are rendered if they are read-only. ### Visibility Section {#visibility} -{{% snippet file="/static/_includes/refguide/visibility-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/visibility-section-link.md" %}} ### Common Section {#common} -{{% snippet file="/static/_includes/refguide/common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/common-section-link.md" %}} ## Styling ### Design Properties Section {#design-properties} -{{% snippet file="/static/_includes/refguide/design-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/design-section-link.md" %}} ### Common Section {#common-styling} -{{% snippet file="/static/_includes/refguide/common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/common-section-link.md" %}} ## Performing Specific Actions @@ -151,8 +151,8 @@ To perform actions on a data view, select it on a page and right-click it. The l ## Read More -* [Page](/refguide/page/) -* [Snippet](/refguide/snippet/) -* [Data Containers](/refguide/data-widgets/) -* [Data Sources](/refguide/data-sources/) -* [Properties Common in the Page Editor](/refguide/common-widget-properties/) +* [Page](/refguide10/page/) +* [Snippet](/refguide10/snippet/) +* [Data Containers](/refguide10/data-widgets/) +* [Data Sources](/refguide10/data-sources/) +* [Properties Common in the Page Editor](/refguide10/common-widget-properties/) diff --git a/content/en/docs/refguide10/modeling/pages/data-widgets/grids/_index.md b/content/en/docs/refguide10/modeling/pages/data-widgets/grids/_index.md index 3b50a0035bb..2f6d8728224 100644 --- a/content/en/docs/refguide10/modeling/pages/data-widgets/grids/_index.md +++ b/content/en/docs/refguide10/modeling/pages/data-widgets/grids/_index.md @@ -1,20 +1,20 @@ --- title: "Grids" -url: /refguide/grids/ +url: /refguide10/grids/ weight: 20 --- ## Introduction -Grids show a list of objects and include a [data grid](/refguide/data-grid/) and a [template grid](/refguide/template-grid/). The main difference between these grids is the way the list of objects is displayed: a data grid shows it in columns, while a template grid shows it in tiles. +Grids show a list of objects and include a [data grid](/refguide10/data-grid/) and a [template grid](/refguide10/template-grid/). The main difference between these grids is the way the list of objects is displayed: a data grid shows it in columns, while a template grid shows it in tiles. [Data grid 2](/appstore/modules/data-grid-2/) is a special type of grid, available as part of the [Data Widgets](https://marketplace.mendix.com/link/component/116540) Marketplace module. Grids have the following components in common: -* [Search bar](/refguide/search-bar/) – allows end-users to search for objects in the grid -* [Sort bar](/refguide/sort-order/#sort-bar) – allows end-users to sort items in the grid -* [Control bar](/refguide/control-bar/) – allows end-users to control the objects displayed in the grid by means of buttons +* [Search bar](/refguide10/search-bar/) – allows end-users to search for objects in the grid +* [Sort bar](/refguide10/sort-order/#sort-bar) – allows end-users to sort items in the grid +* [Control bar](/refguide10/control-bar/) – allows end-users to control the objects displayed in the grid by means of buttons ## Choosing a Grid @@ -22,7 +22,7 @@ If your app needs to display data on a page, different widgets suit different us ### Data Grid -The [data grid](/refguide/data-grid/) widget is well suited for these cases: +The [data grid](/refguide10/data-grid/) widget is well suited for these cases: * Displaying data as a table * Employing several rows and columns @@ -30,7 +30,7 @@ The [data grid](/refguide/data-grid/) widget is well suited for these cases: ### Template Grid -The [template grid](/refguide/template-grid/) widget is well suited for these cases: +The [template grid](/refguide10/template-grid/) widget is well suited for these cases: * Displaying tiles with each list item * Showing an image @@ -48,8 +48,8 @@ The [data grid 2](/appstore/modules/data-grid-2/) widget is an expanded version ## Read More -* [Data Grid](/refguide/data-grid/) -* [Template Grid](/refguide/template-grid/) +* [Data Grid](/refguide10/data-grid/) +* [Template Grid](/refguide10/template-grid/) * [Data Grid 2](/appstore/modules/data-grid-2/) -* [Data Containers](/refguide/data-widgets/) -* [Properties Common in the Page Editor](/refguide/common-widget-properties/) +* [Data Containers](/refguide10/data-widgets/) +* [Properties Common in the Page Editor](/refguide10/common-widget-properties/) diff --git a/content/en/docs/refguide10/modeling/pages/data-widgets/grids/control-bar.md b/content/en/docs/refguide10/modeling/pages/data-widgets/grids/control-bar.md index 7a0c49e53dc..e359a5517d3 100644 --- a/content/en/docs/refguide10/modeling/pages/data-widgets/grids/control-bar.md +++ b/content/en/docs/refguide10/modeling/pages/data-widgets/grids/control-bar.md @@ -1,34 +1,34 @@ --- title: "Control Bar" -url: /refguide/control-bar/ +url: /refguide10/control-bar/ weight: 30 aliases: - - /refguide/add-button.html - - /refguide/deselect-all-button.html - - /refguide/export-to-csv-button.html - - /refguide/export-to-excel-button.html - - /refguide/grid-action-button.html - - /refguide/grid-new-button.html - - /refguide/remove-button.html - - /refguide/search-button.html - - /refguide/select-all-button.html - - /refguide/select-button.html - - /refguide/add-button - - /refguide/deselect-all-button - - /refguide/export-to-csv-button - - /refguide/export-to-excel-button - - /refguide/grid-action-button - - /refguide/grid-new-button - - /refguide/remove-button - - /refguide/search-button - - /refguide/select-all-button - - /refguide/select-button + - /refguide10/add-button.html + - /refguide10/deselect-all-button.html + - /refguide10/export-to-csv-button.html + - /refguide10/export-to-excel-button.html + - /refguide10/grid-action-button.html + - /refguide10/grid-new-button.html + - /refguide10/remove-button.html + - /refguide10/search-button.html + - /refguide10/select-all-button.html + - /refguide10/select-button.html + - /refguide10/add-button + - /refguide10/deselect-all-button + - /refguide10/export-to-csv-button + - /refguide10/export-to-excel-button + - /refguide10/grid-action-button + - /refguide10/grid-new-button + - /refguide10/remove-button + - /refguide10/search-button + - /refguide10/select-all-button + - /refguide10/select-button #If moving or renaming this doc file, implement a temporary redirect and let the respective team know they should update the URL in the product. See Mapping to Products for more details. --- ## Introduction -A control bar of a [template grid](/refguide/template-grid/), [data grid](/refguide/data-grid/), and [reference set selector](/refguide/reference-set-selector/) allows you to manipulate the objects displayed by means of buttons. By default, both grids will be created with [Search](#search-button), [New](#create-button), [Edit](#grid-action-button), and [Delete](#grid-action-button) buttons in the control bar: +A control bar of a [template grid](/refguide10/template-grid/), [data grid](/refguide10/data-grid/), and [reference set selector](/refguide10/reference-set-selector/) allows you to manipulate the objects displayed by means of buttons. By default, both grids will be created with [Search](#search-button), [New](#create-button), [Edit](#grid-action-button), and [Delete](#grid-action-button) buttons in the control bar: {{< figure src="/attachments/refguide10/modeling/pages/data-widgets/grids/control-bar/control-bar-example.png" alt="Data Grid Control Bar" class="no-border" >}} @@ -36,7 +36,7 @@ The control bar can also include a number of selection options and spreadsheet e ## Control Bar Buttons -Most properties of control bar buttons are the same as properties of buttons. For more information on button properties, see [Buttons](/refguide/button-properties/). +Most properties of control bar buttons are the same as properties of buttons. For more information on button properties, see [Buttons](/refguide10/button-properties/). To add additional buttons to the control bar, do the following: @@ -57,15 +57,15 @@ Sections below describe the purpose of each control bar button and their specifi ### Search Button {#search-button} -The **Search bar toggle** button (with default caption **Search**) opens or hides the [search bar](/refguide/search-bar/). It is only present if the **Show search bar** property of the grid is set to either *With button (initially open)* or *With button (initially closed)*. +The **Search bar toggle** button (with default caption **Search**) opens or hides the [search bar](/refguide10/search-bar/). It is only present if the **Show search bar** property of the grid is set to either *With button (initially open)* or *With button (initially closed)*. {{% alert color="info" %}} -In a [reference set selector](/refguide/reference-set-selector/) there will be no search fields set by default. See [Search Bar](/refguide/search-bar/) to learn more about search fields. +In a [reference set selector](/refguide10/reference-set-selector/) there will be no search fields set by default. See [Search Bar](/refguide10/search-bar/) to learn more about search fields. {{% /alert %}} ### Add Button {#add-button} -The **Add** button can only be used in the [reference set selector](/refguide/reference-set-selector/). With this button, the user can select objects that have to be added to the reference set selector. +The **Add** button can only be used in the [reference set selector](/refguide10/reference-set-selector/). With this button, the user can select objects that have to be added to the reference set selector. #### Page @@ -78,7 +78,7 @@ You can use an existing page or you can generate the appropriate page by either: Both these options allow you to create a page which has the correct format for use by the add button. You can, of course, edit the page to meet your own requirements once it has been generated. -See the [Show a Page](/refguide/on-click-event/#show-page) section of *On Click Event and Events Section*. Note that select pages must have a [pop-up layout](/refguide/layout/#layout-type). +See the [Show a Page](/refguide10/on-click-event/#show-page) section of *On Click Event and Events Section*. Note that select pages must have a [pop-up layout](/refguide10/layout/#layout-type). ### Create Button {#create-button} @@ -92,11 +92,11 @@ For example, you have an entity *Vehicle* and two specializations: *Bicycle* and ### Action Button {#grid-action-button} -An action button is a button that can perform various actions, such as calling a microflow or opening a page. The **Edit** and **Delete** buttons are action buttons created by default in a data grid and template grid control bar. For more information on action buttons, see [Buttons](/refguide/button-widgets/). +An action button is a button that can perform various actions, such as calling a microflow or opening a page. The **Edit** and **Delete** buttons are action buttons created by default in a data grid and template grid control bar. For more information on action buttons, see [Buttons](/refguide10/button-widgets/). ### Remove Button {#remove-button} -The **Remove** button is a button specific for the reference set selector. With this button the end-user can remove objects that have been added to the reference set selector. For more information on a reference set selector, see [Reference Set Selector](/refguide/reference-set-selector/). +The **Remove** button is a button specific for the reference set selector. With this button the end-user can remove objects that have been added to the reference set selector. For more information on a reference set selector, see [Reference Set Selector](/refguide10/reference-set-selector/). ### Select Button {#select-button} @@ -130,7 +130,7 @@ The **Deselect all** button lets the user deselect all rows in the grid or a ref The **Export to Excel** button allows end-users to export the contents of the grid or the reference set selector to an Excel file. {{% alert color="info" %}} -The Excel export function is only available in list widgets that have the [XPath data source](/refguide/xpath-source/). +The Excel export function is only available in list widgets that have the [XPath data source](/refguide10/xpath-source/). Constraints you are using for search fields and sorting will also be exported. {{% /alert %}} @@ -155,7 +155,7 @@ When selecting **Date value**, dates will be shown only in the time zone of your The **Export to CSV** button allows end-users to export the contents of the grid or the reference set selector to a CSV file. {{% alert color="info" %}} -The export to CSV function is only available in list widgets that have the [XPath data source](/refguide/xpath-source/). +The export to CSV function is only available in list widgets that have the [XPath data source](/refguide10/xpath-source/). Constraints you are using for search fields and sorting will also be exported. {{% /alert %}} @@ -192,7 +192,7 @@ When **Use grid date format property** is enabled, the date format of the column ## Read More -* [Button Properties](/refguide/button-properties/) -* [Data Grid](/refguide/data-grid/) -* [Template Grid](/refguide/template-grid/) -* [Reference Set Selector](/refguide/reference-set-selector/) +* [Button Properties](/refguide10/button-properties/) +* [Data Grid](/refguide10/data-grid/) +* [Template Grid](/refguide10/template-grid/) +* [Reference Set Selector](/refguide10/reference-set-selector/) diff --git a/content/en/docs/refguide10/modeling/pages/data-widgets/grids/data-grid/_index.md b/content/en/docs/refguide10/modeling/pages/data-widgets/grids/data-grid/_index.md index 312e1746fe1..feb264f36c7 100644 --- a/content/en/docs/refguide10/modeling/pages/data-widgets/grids/data-grid/_index.md +++ b/content/en/docs/refguide10/modeling/pages/data-widgets/grids/data-grid/_index.md @@ -1,13 +1,13 @@ --- title: "Data Grid" -url: /refguide/data-grid/ +url: /refguide10/data-grid/ weight: 10 #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" %}}The data grid widget is not supported on native mobile pages.{{% /alert %}} -{{% alert color="warning" %}}The data grid widget is not supported when using the [React client](/refguide/mendix-client/react/). Please use the [data grid 2 widget](/appstore/modules/data-grid-2/) instead. It is possible to convert existing data grid widgets to data grid 2 as explained in the [React Migration Guide](/refguide/mendix-client/react/#data-grid){{% /alert %}} +{{% alert color="warning" %}}The data grid widget is not supported when using the [React client](/refguide10/mendix-client/react/). Please use the [data grid 2 widget](/appstore/modules/data-grid-2/) instead. It is possible to convert existing data grid widgets to data grid 2 as explained in the [React Migration Guide](/refguide10/mendix-client/react/#data-grid){{% /alert %}} ## Introduction @@ -16,15 +16,15 @@ A data grid shows a list of objects in a table format. For example, a data grid {{< figure src="/attachments/refguide10/modeling/pages/data-widgets/grids/data-grid/data-grid.png" class="no-border" >}} Using controls provided by the data grid you can browse, search, and edit those objects. -Any changes made to an object are visible in all widgets. This is because changes are stored globally in the client. See [Object Activities](/refguide/object-activities/) for more information. +Any changes made to an object are visible in all widgets. This is because changes are stored globally in the client. See [Object Activities](/refguide10/object-activities/) for more information. ## Components A data grid contains the following components: -1. [Search bar](/refguide/search-bar/) – allows end-users to search for objects in the data grid -2. [Control bar](/refguide/control-bar/) – allows you to control the objects displayed in the data grid by means of buttons -3. [Grid Columns](/refguide/columns/) – allows end-users to set properties for a data grid column +1. [Search bar](/refguide10/search-bar/) – allows end-users to search for objects in the data grid +2. [Control bar](/refguide10/control-bar/) – allows you to control the objects displayed in the data grid by means of buttons +3. [Grid Columns](/refguide10/columns/) – allows end-users to set properties for a data grid column {{< figure src="/attachments/refguide10/modeling/pages/data-widgets/grids/data-grid/data-grid-components.png" class="no-border" >}} ## Properties @@ -43,29 +43,29 @@ Data grid properties consist of the following sections: ### Common Section {#common} -The rows of the data grid can be sorted using the `Sort order` property. It is only available for **Database** [data sources](#data-source). For more information on sorting, see [Sort Order](/refguide/sort-order/). +The rows of the data grid can be sorted using the `Sort order` property. It is only available for **Database** [data sources](#data-source). For more information on sorting, see [Sort Order](/refguide10/sort-order/). -{{% snippet file="/static/_includes/refguide/common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/common-section-link.md" %}} ### Data Source Section {#data-source} -The data source determines which objects will be shown in a data grid. For general information on data sources, see [Data Sources](/refguide/data-sources/). +The data source determines which objects will be shown in a data grid. For general information on data sources, see [Data Sources](/refguide10/data-sources/). #### Type The data grid supports the following types of data sources: -* [Database source](/refguide/database-source/) – objects are retrieved directly from the database. The database source can be used in [offline](/refguide/offline-first/) applications. -* [XPath source](/refguide/xpath-source/) – objects are retrieved directly from the database +* [Database source](/refguide10/database-source/) – objects are retrieved directly from the database. The database source can be used in [offline](/refguide10/offline-first/) applications. +* [XPath source](/refguide10/xpath-source/) – objects are retrieved directly from the database {{% alert color="info" %}}From Mendix version 10.5, the data grid widget does not have a separate XPath source, you can apply XPath constraints to the **Database** source.{{% /alert %}} -* [Microflow source](/refguide/microflow-source/) – calculates the list of objects by executing a microflow -* [Association source](/refguide/association-source/) – follows an association to get to objects +* [Microflow source](/refguide10/microflow-source/) – calculates the list of objects by executing a microflow +* [Association source](/refguide10/association-source/) – follows an association to get to objects The database and, below version 10.5, XPath sources retrieve objects from the database and supports searching and sorting. ### Design Properties Section {#design-properties} -{{% snippet file="/static/_includes/refguide/design-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/design-section-link.md" %}} ### General Section {#general} @@ -74,7 +74,7 @@ The database and, below version 10.5, XPath sources retrieve objects from the da This property indicates whether the control bar buttons will be visible in the end-user interface. {{% alert color="warning" %}} -Even if the control bar buttons are invisible, there can still be a default button that is triggered by (double) clicking a row. For more information, see the property [Default Button Trigger](#default-button-trigger) and [Control Bar](/refguide/control-bar/). +Even if the control bar buttons are invisible, there can still be a default button that is triggered by (double) clicking a row. For more information, see the property [Default Button Trigger](#default-button-trigger) and [Control Bar](/refguide10/control-bar/). {{% /alert %}} Default: *True* @@ -142,11 +142,11 @@ Default: *0* #### Tooltip Page {#tooltip-page} -A tooltip page is a page that appears when you hover your mouse over a row. The tooltip page should consist of a data view on the same entity as the data grid. Besides creating and connecting a tooltip page you also have to specify on which columns the tooltip will appear. See the property 'Show tooltip' of [data grid columns](/refguide/columns/). +A tooltip page is a page that appears when you hover your mouse over a row. The tooltip page should consist of a data view on the same entity as the data grid. Besides creating and connecting a tooltip page you also have to specify on which columns the tooltip will appear. See the property 'Show tooltip' of [data grid columns](/refguide10/columns/). ### Visibility Section {#visibility} -{{% snippet file="/static/_includes/refguide/visibility-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/visibility-section-link.md" %}} ## Performing Specific Actions @@ -158,8 +158,8 @@ To perform actions on a data grid, select it on a page and right-click it. The l ## Read More -* [Page](/refguide/page/) -* [Data Containers](/refguide/data-widgets/) -* [Data Sources](/refguide/data-sources/) -* [Properties Common in the Page Editor](/refguide/common-widget-properties/) -* [Grid Columns](/refguide/columns/) +* [Page](/refguide10/page/) +* [Data Containers](/refguide10/data-widgets/) +* [Data Sources](/refguide10/data-sources/) +* [Properties Common in the Page Editor](/refguide10/common-widget-properties/) +* [Grid Columns](/refguide10/columns/) diff --git a/content/en/docs/refguide10/modeling/pages/data-widgets/grids/data-grid/columns.md b/content/en/docs/refguide10/modeling/pages/data-widgets/grids/data-grid/columns.md index dcafee98ded..73cbf1ccda0 100644 --- a/content/en/docs/refguide10/modeling/pages/data-widgets/grids/data-grid/columns.md +++ b/content/en/docs/refguide10/modeling/pages/data-widgets/grids/data-grid/columns.md @@ -1,11 +1,11 @@ --- title: "Grid Columns" -url: /refguide/columns/ +url: /refguide10/columns/ #If moving or renaming this doc file, implement a temporary redirect and let the respective team know they should update the URL in the product. See Mapping to Products for more details. --- ## Introduction -Grid columns allow you to set properties for a [data grid](/refguide/data-grid/) or [reference set selector](/refguide/reference-set-selector/) column. +Grid columns allow you to set properties for a [data grid](/refguide10/data-grid/) or [reference set selector](/refguide10/reference-set-selector/) column. ## Properties @@ -22,7 +22,7 @@ Grid column properties consist of the following sections: ### Common Section {#common} -{{% snippet file="/static/_includes/refguide/common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/common-section-link.md" %}} {{% alert color="info" %}} Dynamic classes specified on grid columns will only be applied on the table columns (`col` elements), not on individual table cells (`td` elements). @@ -70,13 +70,13 @@ These are the possible values: If you choose **Custom** as the date format (see above), this property determines how the attribute value is formatted. The custom date format is a string that allows for any combination of symbols found in the table below. Any punctuation will be rendered literally. -{{% snippet file="/static/_includes/refguide/custom-date-format-tokens.md" %}} +{{% snippet file="/static/_includes/refguide10/custom-date-format-tokens.md" %}} ### General Section {#general} #### Caption -The caption of a column is the text that appears as a header above the rows. This is a translatable text. See [Language Menu](/refguide/translatable-texts/). +The caption of a column is the text that appears as a header above the rows. This is a translatable text. See [Language Menu](/refguide10/translatable-texts/). #### Editable @@ -101,7 +101,7 @@ Note that all objects will be taken into account, and not just the ones on the c #### Aggregate Caption -The aggregate caption is the text that appears in front of the computed value. This is a translatable text. See [Language Menu](/refguide/translatable-texts/). +The aggregate caption is the text that appears in front of the computed value. This is a translatable text. See [Language Menu](/refguide10/translatable-texts/). {{% alert color="info" %}} 'Total' could be an aggregate caption for a column that shows the sum of the values. @@ -109,11 +109,11 @@ The aggregate caption is the text that appears in front of the computed value. T #### Show Tooltip -This property determines whether the tooltip page is shown as the mouse is hovered over this column. The tooltip page can be configured on the [Data grid](/refguide/data-grid/). +This property determines whether the tooltip page is shown as the mouse is hovered over this column. The tooltip page can be configured on the [Data grid](/refguide10/data-grid/). Default: *False* ## Read More -* [Data Grid](/refguide/data-grid/) -* [Template Grid](/refguide/template-grid/) +* [Data Grid](/refguide10/data-grid/) +* [Template Grid](/refguide10/template-grid/) diff --git a/content/en/docs/refguide10/modeling/pages/data-widgets/grids/search-bar.md b/content/en/docs/refguide10/modeling/pages/data-widgets/grids/search-bar.md index a1e62beb5d1..818ec9bef49 100644 --- a/content/en/docs/refguide10/modeling/pages/data-widgets/grids/search-bar.md +++ b/content/en/docs/refguide10/modeling/pages/data-widgets/grids/search-bar.md @@ -1,20 +1,20 @@ --- title: "Search Bar" -url: /refguide/search-bar/ +url: /refguide10/search-bar/ weight: 40 aliases: - - /refguide/comparison-search-field.html - - /refguide/drop-down-search-field.html - - /refguide/range-search-field.html - - /refguide/comparison-search-field - - /refguide/drop-down-search-field - - /refguide/range-search-field + - /refguide10/comparison-search-field.html + - /refguide10/drop-down-search-field.html + - /refguide10/range-search-field.html + - /refguide10/comparison-search-field + - /refguide10/drop-down-search-field + - /refguide10/range-search-field #If moving or renaming this doc file, implement a temporary redirect and let the respective team know they should update the URL in the product. See Mapping to Products for more details. --- ## Introduction -The search bar contains search fields that allow the end-user to quickly find the information they need in a [data grid](/refguide/data-grid/) or [template grid](/refguide/template-grid/). +The search bar contains search fields that allow the end-user to quickly find the information they need in a [data grid](/refguide10/data-grid/) or [template grid](/refguide10/template-grid/). To add a search field to the search bar, right-click within the search bar in your data grid and choose **Add search field** > [Type of the search field](#search-field-type). @@ -51,7 +51,7 @@ Search field properties consist of the following sections: ### Common Section {#common} -Properties as **Name**, **Caption**, and **Type** are common for most of the widgets. {{% snippet file="/static/_includes/refguide/common-section-link.md" %}} +Properties as **Name**, **Caption**, and **Type** are common for most of the widgets. {{% snippet file="/static/_includes/refguide10/common-section-link.md" %}} However, there are additional properties that are described in the sections below. @@ -63,7 +63,7 @@ However, there are additional properties that are described in the sections belo Search input formatting must be an exact day. Custom date formatting is not limited. {{% /alert %}} -{{% snippet file="/static/_includes/refguide/custom-date-format-tokens.md" %}} +{{% snippet file="/static/_includes/refguide10/custom-date-format-tokens.md" %}} #### Placeholder Text @@ -192,5 +192,5 @@ Default: *Smaller* ## Read More -* [Data Grid](/refguide/data-grid/) -* [Template Grid](/refguide/template-grid/) +* [Data Grid](/refguide10/data-grid/) +* [Template Grid](/refguide10/template-grid/) diff --git a/content/en/docs/refguide10/modeling/pages/data-widgets/grids/sort-bar.md b/content/en/docs/refguide10/modeling/pages/data-widgets/grids/sort-bar.md index 0983c17f3ca..80b13d0029a 100644 --- a/content/en/docs/refguide10/modeling/pages/data-widgets/grids/sort-bar.md +++ b/content/en/docs/refguide10/modeling/pages/data-widgets/grids/sort-bar.md @@ -1,25 +1,25 @@ --- title: "Sort Order" -url: /refguide/sort-order/ +url: /refguide10/sort-order/ weight: 50 aliases: - - /refguide/Sort+Bar.html - - /refguide/Sort+Bar - - /refguide/Sort+Order.html - - /refguide/Sort+Order + - /refguide10/Sort+Bar.html + - /refguide10/Sort+Bar + - /refguide10/Sort+Order.html + - /refguide10/Sort+Order #If moving or renaming this doc file, implement a temporary redirect and let the respective team know they should update the URL in the product. See Mapping to Products for more details. --- ## Introduction -A sort order allows you to sort items in a [data grid](/refguide/data-grid/), [template grid](/refguide/template-grid/), [list view](/refguide/list-view/) or a [reference set selector](/refguide/reference-set-selector/). +A sort order allows you to sort items in a [data grid](/refguide10/data-grid/), [template grid](/refguide10/template-grid/), [list view](/refguide10/list-view/) or a [reference set selector](/refguide10/reference-set-selector/). You can specify what attribute to sort on and in what direction (ascending or descending). First, the contents of the grid are sorted on the first item. If two rows are the same with respect to this sort item, the second item will be used, and so on. For example, if you have sort items for name and age and two people have the same name they will be sorted on their age. If you do not specify any sort items, the objects will appear in the order in which they were created. {{% alert color="info" %}} -There are special cases for ordering behavior. For more details, refer to [Order By Behavior](/refguide/ordering-behavior/). +There are special cases for ordering behavior. For more details, refer to [Order By Behavior](/refguide10/ordering-behavior/). {{% /alert %}} ## Sort Bar{#sort-bar} @@ -28,6 +28,6 @@ The sort order can be configured from the properties dialog box or properties pa ## Read More -* [Data Grid](/refguide/data-grid/) -* [Template Grid](/refguide/template-grid/) -* [Reference Set Selector](/refguide/reference-set-selector/) +* [Data Grid](/refguide10/data-grid/) +* [Template Grid](/refguide10/template-grid/) +* [Reference Set Selector](/refguide10/reference-set-selector/) diff --git a/content/en/docs/refguide10/modeling/pages/data-widgets/grids/template-grid.md b/content/en/docs/refguide10/modeling/pages/data-widgets/grids/template-grid.md index 194d831c7e6..629401f0a43 100644 --- a/content/en/docs/refguide10/modeling/pages/data-widgets/grids/template-grid.md +++ b/content/en/docs/refguide10/modeling/pages/data-widgets/grids/template-grid.md @@ -1,6 +1,6 @@ --- title: "Template Grid" -url: /refguide/template-grid/ +url: /refguide10/template-grid/ weight: 20 #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. --- @@ -13,17 +13,17 @@ A template grid shows a list of objects in a tile view. For example, a template {{< figure src="/attachments/refguide10/modeling/pages/data-widgets/grids/template-grid/template-grid.png" class="no-border" >}} -The template grid has a lot in common with a [data grid](/refguide/data-grid/). The main difference is that the objects are shown in templates instead of rows. +The template grid has a lot in common with a [data grid](/refguide10/data-grid/). The main difference is that the objects are shown in templates instead of rows. ## Components ### Control Bar -For more information, see [Control Bar](/refguide/control-bar/). +For more information, see [Control Bar](/refguide10/control-bar/). ### Search Bar -**Search Bar** is only available for **Database** and, below version 10.5, **XPath** [data sources](#data-source). For more information on a search bar and its settings, see [Search Bar](/refguide/search-bar/). +**Search Bar** is only available for **Database** and, below version 10.5, **XPath** [data sources](#data-source). For more information on a search bar and its settings, see [Search Bar](/refguide10/search-bar/). ## Properties @@ -41,29 +41,29 @@ Template grid properties consist of the following sections: ### Common Section {#common} -The rows of the template grid can be sorted using the `Sort order` property. It is only available for **Database** [data sources](#data-source). For more information on sorting, see [Sort Order](/refguide/sort-order/). +The rows of the template grid can be sorted using the `Sort order` property. It is only available for **Database** [data sources](#data-source). For more information on sorting, see [Sort Order](/refguide10/sort-order/). -{{% snippet file="/static/_includes/refguide/common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/common-section-link.md" %}} ### Data Source Properties {#data-source} -The data source determines which objects will be shown in the template grid. For general information about data sources, see [Data Sources](/refguide/data-sources/). +The data source determines which objects will be shown in the template grid. For general information about data sources, see [Data Sources](/refguide10/data-sources/). #### Type The template grid supports the following types of data sources: -* [Database source](/refguide/database-source/) – objects are retrieved directly form the database -* [XPath source](/refguide/xpath-source/) – objects are retrieved directly form the database +* [Database source](/refguide10/database-source/) – objects are retrieved directly form the database +* [XPath source](/refguide10/xpath-source/) – objects are retrieved directly form the database {{% alert color="info" %}}From Mendix version 10.5, the template grid widget does not have a separate XPath source, you can apply XPath constraints to the **Database** source.{{% /alert %}} -* [Microflow source](/refguide/microflow-source/) – calculates the list of objects by executing a microflow -* [Association source](/refguide/association-source/) – follows an association to get to objects +* [Microflow source](/refguide10/microflow-source/) – calculates the list of objects by executing a microflow +* [Association source](/refguide10/association-source/) – follows an association to get to objects The database and, below version 10.5, XPath sources retrieve objects from the database and supports searching and sorting. ### Design Properties Section {#design-properties} -{{% snippet file="/static/_includes/refguide/design-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/design-section-link.md" %}} ### General Section {#general} @@ -72,7 +72,7 @@ The database and, below version 10.5, XPath sources retrieve objects from the da This property indicates whether the control bar will be visible in the end-user interface. The control bar also includes the paging buttons. {{% alert color="warning" %}} -Even if the control bar is invisible there can still be a default button that is triggered by (double) clicking a row. See the property 'Default button trigger' and [grid buttons](/refguide/control-bar/) for more information. +Even if the control bar is invisible there can still be a default button that is triggered by (double) clicking a row. See the property 'Default button trigger' and [grid buttons](/refguide10/control-bar/) for more information. {{% /alert %}} Default: *True* @@ -144,7 +144,7 @@ Default: *0* ### Visibility Section {#visibility} -{{% snippet file="/static/_includes/refguide/visibility-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/visibility-section-link.md" %}} ## Performing Specific Actions @@ -155,7 +155,7 @@ To perform actions on a template grid, select it on a page and right-click it. T ## Read More -* [Page](/refguide/page/) -* [Data Containers](/refguide/data-widgets/) -* [Data Sources](/refguide/data-sources/) -* [Properties Common in the Page Editor](/refguide/common-widget-properties/) +* [Page](/refguide10/page/) +* [Data Containers](/refguide10/data-widgets/) +* [Data Sources](/refguide10/data-sources/) +* [Properties Common in the Page Editor](/refguide10/common-widget-properties/) diff --git a/content/en/docs/refguide10/modeling/pages/data-widgets/list-view.md b/content/en/docs/refguide10/modeling/pages/data-widgets/list-view.md index baad527a9f2..a9eb4be3b84 100644 --- a/content/en/docs/refguide10/modeling/pages/data-widgets/list-view.md +++ b/content/en/docs/refguide10/modeling/pages/data-widgets/list-view.md @@ -1,6 +1,6 @@ --- title: "List View" -url: /refguide/list-view/ +url: /refguide10/list-view/ weight: 30 #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. --- @@ -36,28 +36,28 @@ List view properties consist of the following sections: ### Common Section {#common} -The rows of the list view can be sorted using the `Sort order` property. It is only available for **Database** [data sources](#data-source). For more information on sorting, see [Sort Order](/refguide/sort-order/). +The rows of the list view can be sorted using the `Sort order` property. It is only available for **Database** [data sources](#data-source). For more information on sorting, see [Sort Order](/refguide10/sort-order/). To specify which attributes to use when searching, configure the search attributes property. It is only available for **Database** [data sources](#data-source). -{{% snippet file="/static/_includes/refguide/common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/common-section-link.md" %}} ### Data Source Section {#data-source} -The data source determines which objects will be shown in a list view. For general information on data sources, see [Data Sources](/refguide/data-sources/). +The data source determines which objects will be shown in a list view. For general information on data sources, see [Data Sources](/refguide10/data-sources/). #### Type The list view supports the following types of data sources: -* [Database source](/refguide/database-source/) – objects are retrieved directly form the database. The database source can be used in [offline](/refguide/offline-first/) applications. -* [XPath source](/refguide/xpath-source/) – objects are retrieved directly form the database +* [Database source](/refguide10/database-source/) – objects are retrieved directly form the database. The database source can be used in [offline](/refguide10/offline-first/) applications. +* [XPath source](/refguide10/xpath-source/) – objects are retrieved directly form the database {{% alert color="info" %}} From Mendix version 10.5, the list view does not have a separate XPath source, you can apply XPath constraints to the **Database** source. {{% /alert %}} -* [Microflow source](/refguide/microflow-source/) – calculates the list of objects by executing a microflow -* [Nanoflow source](/refguide/nanoflow-source/) – calculates the list of objects by executing a nanoflow -* [Association source](/refguide/association-source/) – follows an association to get to objects +* [Microflow source](/refguide10/microflow-source/) – calculates the list of objects by executing a microflow +* [Nanoflow source](/refguide10/nanoflow-source/) – calculates the list of objects by executing a nanoflow +* [Association source](/refguide10/association-source/) – follows an association to get to objects The database and, below version 10.5, XPath sources retrieve objects from the database and supports searching and sorting. @@ -65,7 +65,7 @@ The database and, below version 10.5, XPath sources retrieve objects from the da ### Design Properties Section{#design-properties} -{{% snippet file="/static/_includes/refguide/design-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/design-section-link.md" %}} ### General Section {#general} @@ -75,7 +75,7 @@ If this property is set to *Yes*, items in the list view can be edited. The chan #### On Click {#on-click} -An on-click event defines what action is performed when a user clicks a list view row. For more information on on-click events, see [On Click Event](/refguide/on-click-event/). +An on-click event defines what action is performed when a user clicks a list view row. For more information on on-click events, see [On Click Event](/refguide10/on-click-event/). #### Page Size {#page-size} @@ -117,7 +117,7 @@ Now if there is a row of type Bicycle the template specific for bicycles will be ### Visibility Section {#visibility} -{{% snippet file="/static/_includes/refguide/visibility-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/visibility-section-link.md" %}} ## Performing Specific Actions @@ -129,7 +129,7 @@ To perform actions on a list view, select it on a page and right-click it. The l ## Read More -* [Page](/refguide/page/) -* [Data Containers](/refguide/data-widgets/) -* [Data Sources](/refguide/data-sources/) -* [Properties Common in the Page Editor](/refguide/common-widget-properties/) +* [Page](/refguide10/page/) +* [Data Containers](/refguide10/data-widgets/) +* [Data Sources](/refguide10/data-sources/) +* [Properties Common in the Page Editor](/refguide10/common-widget-properties/) diff --git a/content/en/docs/refguide10/modeling/pages/image-and-file-widgets/_index.md b/content/en/docs/refguide10/modeling/pages/image-and-file-widgets/_index.md index a924a61359b..cffc9b66138 100644 --- a/content/en/docs/refguide10/modeling/pages/image-and-file-widgets/_index.md +++ b/content/en/docs/refguide10/modeling/pages/image-and-file-widgets/_index.md @@ -1,6 +1,6 @@ --- title: "Images, Videos, and Files" -url: /refguide/image-and-file-widgets/ +url: /refguide10/image-and-file-widgets/ weight: 35 --- @@ -8,27 +8,27 @@ weight: 35 Images, videos, and files allow end-users to upload, download, and display files, images, and videos. -* [Static Image](/refguide/image/) – displays static image: +* [Static Image](/refguide10/image/) – displays static image: {{< figure src="/attachments/refguide10/modeling/pages/image-and-file-widgets/image-design-mode-example.png" class="no-border" >}} -* [Dynamic Image](/refguide/image-viewer/) – displays an image or its thumbnail: +* [Dynamic Image](/refguide10/image-viewer/) – displays an image or its thumbnail: {{< figure src="/attachments/refguide10/modeling/pages/image-and-file-widgets/image-viewer-example.png" alt="Dynamic Image Example" class="no-border" >}} -* [File manager](/refguide/file-manager/) – allows end-users to upload and/or download files: +* [File manager](/refguide10/file-manager/) – allows end-users to upload and/or download files: {{< figure src="/attachments/refguide10/modeling/pages/image-and-file-widgets/file-manager-example.png" alt="File Manager Example" class="no-border" >}} -* [Image uploader](/refguide/image-uploader/) – allows end-users to upload images to the server: +* [Image uploader](/refguide10/image-uploader/) – allows end-users to upload images to the server: {{< figure src="/attachments/refguide10/modeling/pages/image-and-file-widgets/image-uploader-example.png" alt="Image Uploader Example" class="no-border" >}} ## Performing Basic Functions -{{% snippet file="/static/_includes/refguide/performing-basic-functions-widgets.md" %}} +{{% snippet file="/static/_includes/refguide10/performing-basic-functions-widgets.md" %}} ## Read More -* [Page](/refguide/page/) -* [Pages](/refguide/pages/) +* [Page](/refguide10/page/) +* [Pages](/refguide10/pages/) diff --git a/content/en/docs/refguide10/modeling/pages/image-and-file-widgets/attach-images.md b/content/en/docs/refguide10/modeling/pages/image-and-file-widgets/attach-images.md index b4991dd8bbf..710240cecfc 100644 --- a/content/en/docs/refguide10/modeling/pages/image-and-file-widgets/attach-images.md +++ b/content/en/docs/refguide10/modeling/pages/image-and-file-widgets/attach-images.md @@ -1,6 +1,6 @@ --- title: "Enabling End-Users to Attach Images" -url: /refguide/attach-images/ +url: /refguide10/attach-images/ linktitle: "Enable End-Users to Attach Images" description: "Describes how to configure image uploader in Mendix Studio Pro." weight: 60 @@ -28,7 +28,7 @@ You also would like to display attached images in a list below the report and to Before starting this how-to, make sure you have completed the following prerequisites: -* Familiarize yourself with page terms and how to perform basic functions on pages. For more information, see [Page](/refguide/page/). +* Familiarize yourself with page terms and how to perform basic functions on pages. For more information, see [Page](/refguide10/page/). * Familiarize yourself with the domain model terms and learn how to perform basic functions. For more information, see [Domain Model]. @@ -42,7 +42,7 @@ Before starting this how-to, make sure you have completed the following prerequi ## Creating a Specialization of System.Image -First of all, to be able to attach and upload images you need to add an entity that is a specialization of the System.Image entity. For more information, see the [Generalization](/refguide/entities/#generalization) section in *Entities*. +First of all, to be able to attach and upload images you need to add an entity that is a specialization of the System.Image entity. For more information, see the [Generalization](/refguide10/entities/#generalization) section in *Entities*. Do the following: diff --git a/content/en/docs/refguide10/modeling/pages/image-and-file-widgets/configure-files.md b/content/en/docs/refguide10/modeling/pages/image-and-file-widgets/configure-files.md index d61e008c9b4..65eba729766 100644 --- a/content/en/docs/refguide10/modeling/pages/image-and-file-widgets/configure-files.md +++ b/content/en/docs/refguide10/modeling/pages/image-and-file-widgets/configure-files.md @@ -1,6 +1,6 @@ --- title: "Configuring File Upload and Download" -url: /refguide/configure-files/ +url: /refguide10/configure-files/ linktitle: "Configure File Upload and Download" weight: 70 description: "Describes how to configure file manager in Mendix Studio Pro." @@ -8,7 +8,7 @@ description: "Describes how to configure file manager in Mendix Studio Pro." ## Introduction -This how-to explains how you can enable your end-users to attach and download files, such as PDF files or Microsoft Word documents, by configuring a [file manager](/refguide/file-manager/) widget. Your users will be able to attach files from different devices: phone, tablet, or desktop; as well as download attached files from a list. +This how-to explains how you can enable your end-users to attach and download files, such as PDF files or Microsoft Word documents, by configuring a [file manager](/refguide10/file-manager/) widget. Your users will be able to attach files from different devices: phone, tablet, or desktop; as well as download attached files from a list. This how-to teaches you how to do the following: @@ -29,9 +29,9 @@ You also would like to enable IT administrators to download the attached file fr Before starting this how-to, make sure you have completed the following prerequisites: -* Familiarize yourself with page terms and how to perform basic functions on pages. For more information, see [Page](/refguide/page/). +* Familiarize yourself with page terms and how to perform basic functions on pages. For more information, see [Page](/refguide10/page/). -* Familiarize yourself with the domain model terms and learn how to perform basic functions. For more information, see [Data in the Domain Model](/refguide/domain-model/). +* Familiarize yourself with the domain model terms and learn how to perform basic functions. For more information, see [Data in the Domain Model](/refguide10/domain-model/). * Make sure your domain model is configured the following way: @@ -43,7 +43,7 @@ Before starting this how-to, make sure you have completed the following prerequi ## Creating a Specialization of System.File -First of all, to be able to attach and/or download files you need to add an entity that is a specialization of the System.File entity. For more information, see the [Generalization](/refguide/entities/#generalization) section in *Entities*. +First of all, to be able to attach and/or download files you need to add an entity that is a specialization of the System.File entity. For more information, see the [Generalization](/refguide10/entities/#generalization) section in *Entities*. Do the following: diff --git a/content/en/docs/refguide10/modeling/pages/image-and-file-widgets/file-manager.md b/content/en/docs/refguide10/modeling/pages/image-and-file-widgets/file-manager.md index 844218b0f46..e5f6da8d7b5 100644 --- a/content/en/docs/refguide10/modeling/pages/image-and-file-widgets/file-manager.md +++ b/content/en/docs/refguide10/modeling/pages/image-and-file-widgets/file-manager.md @@ -1,6 +1,6 @@ --- title: "File Manager" -url: /refguide/file-manager/ +url: /refguide10/file-manager/ weight: 40 #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. --- @@ -13,7 +13,7 @@ A file manager is used to upload and/or download files. {{< figure src="/attachments/refguide10/modeling/pages/image-and-file-widgets/file-manager/file-manager.png" alt="File Manager" class="no-border" >}} -A file manager must be placed inside a data view connected to the entity that is either a **System.FileDocument** (or a specialization) or an [external entity](/refguide/external-entities/) with a `Contents` binary attribute. +A file manager must be placed inside a data view connected to the entity that is either a **System.FileDocument** (or a specialization) or an [external entity](/refguide10/external-entities/) with a `Contents` binary attribute. {{% alert color="info" %}} For an external entity to be used as a file source, it must be defined as a media element in the corresponding OData service. Such an element can be recognized by setting the `HasStream` attribute to `true` in its metadata. @@ -47,15 +47,15 @@ File manager properties consist of the following sections: ### Common Section {#common} -{{% snippet file="/static/_includes/refguide/common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/common-section-link.md" %}} ### Design Properties Section {#design-properties} -{{% snippet file="/static/_includes/refguide/design-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/design-section-link.md" %}} ### Editability Section {#editability} -{{% snippet file="/static/_includes/refguide/editability-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/editability-section-link.md" %}} ### General Section {#general} @@ -83,7 +83,7 @@ This value cannot be set arbitrarily high as the platform to which the app is de You can specify file extensions that users are allowed to upload. If no extension is specified, all file extensions are allowed. Separate multiple extensions by a semi-colon, for example, `txt;doc` -If a file with an extension that is not allowed is selected, a [system text](/refguide/system-texts/) for **File manager/dynamic image** > **Error: incorrect file extension** will be shown below the file manager. +If a file with an extension that is not allowed is selected, a [system text](/refguide10/system-texts/) for **File manager/dynamic image** > **Error: incorrect file extension** will be shown below the file manager. {{% alert color="warning" %}} The feature to allow extensions is not meant as a security feature, as the file manager widget does not check the contents of a file to see if they match the provided extension. For more information, see the [Scanning Uploaded Files for Malicious Content](/howto/security/best-practices-security/#scanning-for-malicious-content) section of *How to Implement Best Practices for App Security*. @@ -97,11 +97,11 @@ Default: *False* ### Label Section {#label} -{{% snippet file="/static/_includes/refguide/label-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/label-section-link.md" %}} ### Visibility Section {#visibility} -{{% snippet file="/static/_includes/refguide/visibility-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/visibility-section-link.md" %}} ## Example of File Manager Usage @@ -133,7 +133,7 @@ Do the following: ## Read More -* [Page](/refguide/page/) -* [Images, Videos, and Files](/refguide/image-and-file-widgets/) -* [Properties Common in the Page Editor](/refguide/common-widget-properties/) -* [System Texts](/refguide/system-texts/) +* [Page](/refguide10/page/) +* [Images, Videos, and Files](/refguide10/image-and-file-widgets/) +* [Properties Common in the Page Editor](/refguide10/common-widget-properties/) +* [System Texts](/refguide10/system-texts/) diff --git a/content/en/docs/refguide10/modeling/pages/image-and-file-widgets/image-uploader.md b/content/en/docs/refguide10/modeling/pages/image-and-file-widgets/image-uploader.md index 81aa6d64b90..458261002cb 100644 --- a/content/en/docs/refguide10/modeling/pages/image-and-file-widgets/image-uploader.md +++ b/content/en/docs/refguide10/modeling/pages/image-and-file-widgets/image-uploader.md @@ -1,6 +1,6 @@ --- title: "Image Uploader" -url: /refguide/image-uploader/ +url: /refguide10/image-uploader/ weight: 50 weight: 50 #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. @@ -33,15 +33,15 @@ Image uploader properties consist of the following sections: ### Common Section {#common} -{{% snippet file="/static/_includes/refguide/common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/common-section-link.md" %}} ### Design Properties Section {#design-properties} -{{% snippet file="/static/_includes/refguide/design-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/design-section-link.md" %}} ### Editability Section {#editability} -{{% snippet file="/static/_includes/refguide/editability-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/editability-section-link.md" %}} ### General Section {#general} @@ -55,7 +55,7 @@ Default: *5* You can specify file extensions that users are allowed to upload. If no extension is specified, all file extensions are allowed. Separate multiple extensions by a semi-colon (for example, `jpeg;png`). -If a file with an extension that is not allowed is selected, a [system text](/refguide/system-texts/) for **File manager/dynamic image** > **Error: incorrect file extension** will be shown below the file manager. +If a file with an extension that is not allowed is selected, a [system text](/refguide10/system-texts/) for **File manager/dynamic image** > **Error: incorrect file extension** will be shown below the file manager. Uploaded images are read by the runtime. Mendix use the [TwelveMonkeys ImageIO](https://haraldk.github.io/TwelveMonkeys/) library which supports a wide variety of image formats. @@ -71,11 +71,11 @@ For SVG files, TwelveMonkeys ImageIO itself delegates to the Batik library—whi ### Label Section {#label} -{{% snippet file="/static/_includes/refguide/label-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/label-section-link.md" %}} ### Visibility Section {#visibility} -{{% snippet file="/static/_includes/refguide/visibility-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/visibility-section-link.md" %}} ## Example of Image Uploader Usage @@ -111,6 +111,6 @@ Do the following: ## Read More -* [Page](/refguide/page/) -* [Images, Videos, and Files](/refguide/image-and-file-widgets/) -* [Properties Common in the Page Editor](/refguide/common-widget-properties/) +* [Page](/refguide10/page/) +* [Images, Videos, and Files](/refguide10/image-and-file-widgets/) +* [Properties Common in the Page Editor](/refguide10/common-widget-properties/) diff --git a/content/en/docs/refguide10/modeling/pages/image-and-file-widgets/image-viewer.md b/content/en/docs/refguide10/modeling/pages/image-and-file-widgets/image-viewer.md index f66eda710e6..c6806de8218 100644 --- a/content/en/docs/refguide10/modeling/pages/image-and-file-widgets/image-viewer.md +++ b/content/en/docs/refguide10/modeling/pages/image-and-file-widgets/image-viewer.md @@ -1,13 +1,13 @@ --- title: "Dynamic Image" -url: /refguide/image-viewer/ +url: /refguide10/image-viewer/ weight: 30 #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" %}}The Dynamic Image widget, which is not supported by the React client added to Mendix in [10.7](/releasenotes/studio-pro/10.7/#react-client), can be converted to an [Image widget](/appstore/widgets/image/) through the context menu of the widget when the React client is enabled. -For more information, see the Mendix React Client's [Migration Guide](/refguide/mendix-client/react/#migration-guide).{{% /alert %}} +For more information, see the Mendix React Client's [Migration Guide](/refguide10/mendix-client/react/#migration-guide).{{% /alert %}} ## Introduction @@ -62,11 +62,11 @@ Dynamic image properties consist of the following sections: ### Common Section{#common} -{{% snippet file="/static/_includes/refguide/common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/common-section-link.md" %}} ### Design Properties Section {#design-properties} -{{% snippet file="/static/_includes/refguide/design-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/design-section-link.md" %}} ### Data Source Section {#data-source} @@ -76,7 +76,7 @@ The **Entity (path)** property specifies which object will be shown in the dynam ### Events Section {#events} -{{% snippet file="/static/_includes/refguide/events-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/events-section-link.md" %}} ### General Section{#general} @@ -136,10 +136,10 @@ Default: *Thumbnail* ### Visibility Properties{#visibility} -{{% snippet file="/static/_includes/refguide/visibility-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/visibility-section-link.md" %}} ## Read More -* [Page](/refguide/page/) -* [Images, Videos, and Files](/refguide/image-and-file-widgets/) -* [Properties Common in the Page Editor](/refguide/common-widget-properties/) +* [Page](/refguide10/page/) +* [Images, Videos, and Files](/refguide10/image-and-file-widgets/) +* [Properties Common in the Page Editor](/refguide10/common-widget-properties/) diff --git a/content/en/docs/refguide10/modeling/pages/image-and-file-widgets/image.md b/content/en/docs/refguide10/modeling/pages/image-and-file-widgets/image.md index 3f11e850e08..097f5d044cf 100644 --- a/content/en/docs/refguide10/modeling/pages/image-and-file-widgets/image.md +++ b/content/en/docs/refguide10/modeling/pages/image-and-file-widgets/image.md @@ -1,16 +1,16 @@ --- title: "Static Image" -url: /refguide/image/ +url: /refguide10/image/ weight: 20 aliases: - - /refguide/image-property.html - - /refguide/image-property + - /refguide10/image-property.html + - /refguide10/image-property #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" %}}The Static Image widget, which is not supported by the React client added to Mendix in [10.7](/releasenotes/studio-pro/10.7/#react-client), can be converted to an [Image widget](/appstore/widgets/image/) through the context menu of the widget when the React client is enabled. -For more information, see the Mendix React Client's [Migration Guide](/refguide/mendix-client/react/#migration-guide). +For more information, see the Mendix React Client's [Migration Guide](/refguide10/mendix-client/react/#migration-guide). {{% /alert %}} ## Introduction @@ -22,7 +22,7 @@ For example, you can configure an image clicking which a page with customer deta {{< figure src="/attachments/refguide10/modeling/pages/image-and-file-widgets/image/image-example.png" alt="Image Example" class="no-border" >}} {{% alert color="info" %}} -If you want to dynamically show different images based on data, you need to add [dynamic image](/refguide/image-viewer/) on your page. +If you want to dynamically show different images based on data, you need to add [dynamic image](/refguide10/image-viewer/) on your page. {{% /alert %}} ## Properties @@ -35,27 +35,27 @@ Static image properties consist of the following sections: * [Common](#common) * [Design Properties](#design-properties) -* [Events](/refguide/events/) +* [Events](/refguide10/events/) * [General](#general) * [Visibility](#visibility) ### Common Section {#common} -{{% snippet file="/static/_includes/refguide/common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/common-section-link.md" %}} ### Design Properties Section {#design-properties} -{{% snippet file="/static/_includes/refguide/design-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/design-section-link.md" %}} ### Events Section {#events} -For information on the Events section and its properties, see [On Click Event and Events Section](/refguide/on-click-event/). +For information on the Events section and its properties, see [On Click Event and Events Section](/refguide10/on-click-event/). ### General Section {#general} #### Image -The file name that this widget shows. For more information on when to use images and supported formats, see [Images](/refguide/images/). +The file name that this widget shows. For more information on when to use images and supported formats, see [Images](/refguide10/images/). #### Width Unit @@ -103,11 +103,11 @@ Default: *Yes* ### Visibility Section {#visibility} -{{% snippet file="/static/_includes/refguide/visibility-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/visibility-section-link.md" %}} ## Converting to a Dynamic Image -You can convert a static image to a dynamic image that allows you to display dynamic data. For more information on dynamic image and its properties, see [Dynamic Image](/refguide/image-viewer/). +You can convert a static image to a dynamic image that allows you to display dynamic data. For more information on dynamic image and its properties, see [Dynamic Image](/refguide10/image-viewer/). To convert an image widget into a dynamic image, do the following: @@ -118,6 +118,6 @@ The **Static image** widget is converted to the dynamic image and you can config ## Read More -* [Page](/refguide/page/) -* [Images, Videos, and Files](/refguide/image-and-file-widgets/) -* [Properties Common in the Page Editor](/refguide/common-widget-properties/) +* [Page](/refguide10/page/) +* [Images, Videos, and Files](/refguide10/image-and-file-widgets/) +* [Properties Common in the Page Editor](/refguide10/common-widget-properties/) diff --git a/content/en/docs/refguide10/modeling/pages/input-widgets/_index.md b/content/en/docs/refguide10/modeling/pages/input-widgets/_index.md index 11908821106..d7ba6141d21 100644 --- a/content/en/docs/refguide10/modeling/pages/input-widgets/_index.md +++ b/content/en/docs/refguide10/modeling/pages/input-widgets/_index.md @@ -1,6 +1,6 @@ --- title: "Input Elements" -url: /refguide/input-widgets/ +url: /refguide10/input-widgets/ weight: 30 description: "Widgets which can be added to pages to view and edit attributes of objects." --- @@ -10,69 +10,69 @@ description: "Widgets which can be added to pages to view and edit attributes of Input elements show data to the end-user and, optionally, allow them to edit the data. In order to function, input elements need to be linked to a value, either a variable inside a page or snippet or an attribute of an entity. As such, they must be placed within a data context: -* A [data container](/refguide/data-widgets/) widget containing an object -* A snippet containing one or more [parameters](/refguide/page-properties/#parameters) -* A page or a snippet containing one or more [variables](/refguide/page-properties/#variables) +* A [data container](/refguide10/data-widgets/) widget containing an object +* A snippet containing one or more [parameters](/refguide10/page-properties/#parameters) +* A page or a snippet containing one or more [variables](/refguide10/page-properties/#variables) -For example, the input elements can be placed inside a [data view](/refguide/data-view/): +For example, the input elements can be placed inside a [data view](/refguide10/data-view/): {{< figure src="/attachments/refguide10/modeling/pages/input-widgets/data-view.png" alt="Data view containing widgets" class="no-border" >}} -There are several different input elements, these are used for different [data types](/refguide/data-types/) and for different types of [association](/refguide/associations/). The input elements category contains the following widgets: +There are several different input elements, these are used for different [data types](/refguide10/data-types/) and for different types of [association](/refguide10/associations/). The input elements category contains the following widgets: -* [Text Box](/refguide/text-box/) – displays and, optionally, allows the end-user to add or edit text data from a *numeric* or *string-like* value: +* [Text Box](/refguide10/text-box/) – displays and, optionally, allows the end-user to add or edit text data from a *numeric* or *string-like* value: {{< figure src="/attachments/refguide10/modeling/pages/input-widgets/text-box.png" alt="Text box containing Name attribute" class="no-border" >}} -* [Text Area](/refguide/text-area/) – displays and, optionally, allows the end-user to add or edit long text data from a *string* value: +* [Text Area](/refguide10/text-area/) – displays and, optionally, allows the end-user to add or edit long text data from a *string* value: {{< figure src="/attachments/refguide10/modeling/pages/input-widgets/text-area.png" alt="Text area containing notes attribute" class="no-border" >}} -* [Drop-Down](/refguide/drop-down/) – shows the current value of and, optionally, allows end-users to pick an option from a list of options in an *enumeration* value: +* [Drop-Down](/refguide10/drop-down/) – shows the current value of and, optionally, allows end-users to pick an option from a list of options in an *enumeration* value: {{< figure src="/attachments/refguide10/modeling/pages/input-widgets/drop-down.png" alt="Drop down containing region attribute" class="no-border" >}} -* [Checkbox](/refguide/check-box/) – shows the current value of and, optionally, allows end-users to set a *Boolean* value to `true` or `false`: +* [Checkbox](/refguide10/check-box/) – shows the current value of and, optionally, allows end-users to set a *Boolean* value to `true` or `false`: {{< figure src="/attachments/refguide10/modeling/pages/input-widgets/check-box.png" alt="Checkbox showing personal attribute" class="no-border" >}} -* [Radio Buttons](/refguide/radio-buttons/) – shows the current value of and, optionally, allows end-users to pick an option from a list of options in an *enumeration* or *Boolean* value: +* [Radio Buttons](/refguide10/radio-buttons/) – shows the current value of and, optionally, allows end-users to pick an option from a list of options in an *enumeration* or *Boolean* value: {{< figure src="/attachments/refguide10/modeling/pages/input-widgets/radio-buttons.png" alt="Radio buttons showing the preferred contact time and personal attributes" class="no-border" >}} -* [Date Picker](/refguide/date-picker/) – shows and, optionally, allows end-users to pick a *Date and time* value from a calendar: +* [Date Picker](/refguide10/date-picker/) – shows and, optionally, allows end-users to pick a *Date and time* value from a calendar: {{< figure src="/attachments/refguide10/modeling/pages/input-widgets/date-picker.png" alt="Date picker showing the last contacted attribute" class="no-border" >}} -* [Reference Selector](/refguide/reference-selector/) – shows and, optionally, allows end-users to select a *one-to-one* or *one-to-many* association using the value of a *string*, *numeric*, *enumeration*, or *Date and time* attribute on the associated object: +* [Reference Selector](/refguide10/reference-selector/) – shows and, optionally, allows end-users to select a *one-to-one* or *one-to-many* association using the value of a *string*, *numeric*, *enumeration*, or *Date and time* attribute on the associated object: {{< figure src="/attachments/refguide10/modeling/pages/input-widgets/reference-selector.png" alt="Reference selector showing company name attribute of associated company" class="no-border" >}} -* [Reference Set Selector](/refguide/reference-set-selector/) – lists with one or more attributes and, optionally, allows the end-user to add and remove associated objects linked via a *many-to-many* association: +* [Reference Set Selector](/refguide10/reference-set-selector/) – lists with one or more attributes and, optionally, allows the end-user to add and remove associated objects linked via a *many-to-many* association: {{< figure src="/attachments/refguide10/modeling/pages/input-widgets/reference-set-selector.png" alt="Reference set selector showing details of associated products" class="no-border" >}} -* [Input Reference Set Selector](/refguide/input-reference-set-selector/) – shows an attribute from and, optionally, allows the user to add and remove associated objects linked via a *many-to-many* association: +* [Input Reference Set Selector](/refguide10/input-reference-set-selector/) – shows an attribute from and, optionally, allows the user to add and remove associated objects linked via a *many-to-many* association: {{< figure src="/attachments/refguide10/modeling/pages/input-widgets/input-reference-set-selector.png" alt="Input reference set selector showing the name attribute of associated products" class="no-border" >}} {{% alert color="info" %}} -For more information on data types, see [Data Types](/refguide/data-types/). +For more information on data types, see [Data Types](/refguide10/data-types/). -For more information on associations and their properties, see [Associations](/refguide/associations/). +For more information on associations and their properties, see [Associations](/refguide10/associations/). Input widgets that work with associations, namely Reference Selector, Reference Set Selector and Input Reference Set Selector, can't be configured with variables. {{% /alert %}} ## Performing Basic Functions -{{% snippet file="/static/_includes/refguide/performing-basic-functions-widgets.md" %}} +{{% snippet file="/static/_includes/refguide10/performing-basic-functions-widgets.md" %}} ## Read More -* [Page](/refguide/page/) -* [Pages](/refguide/pages/) -* [Data Types](/refguide/data-types/) -* [Associations](/refguide/associations/) -* [Variables](/refguide/page-properties/#variables) +* [Page](/refguide10/page/) +* [Pages](/refguide10/pages/) +* [Data Types](/refguide10/data-types/) +* [Associations](/refguide10/associations/) +* [Variables](/refguide10/page-properties/#variables) \ No newline at end of file diff --git a/content/en/docs/refguide10/modeling/pages/input-widgets/check-box.md b/content/en/docs/refguide10/modeling/pages/input-widgets/check-box.md index 09b5be9d9c1..2e9a271e40c 100644 --- a/content/en/docs/refguide10/modeling/pages/input-widgets/check-box.md +++ b/content/en/docs/refguide10/modeling/pages/input-widgets/check-box.md @@ -1,20 +1,20 @@ --- title: "Check Box" -url: /refguide/check-box/ +url: /refguide10/check-box/ weight: 40 #If moving or renaming this doc file, implement a temporary redirect and let the respective team know they should update the URL in the product. See Mapping to Products for more details. --- ## Introduction -A **Check box** widget is used to display and, optionally, allow the end-user to edit the value of an attribute or variable of [data type](/refguide/data-types/) *Boolean*. It displays a tick if the value is true and remain empty if it is false. +A **Check box** widget is used to display and, optionally, allow the end-user to edit the value of an attribute or variable of [data type](/refguide10/data-types/) *Boolean*. It displays a tick if the value is true and remain empty if it is false. {{% alert color="info" %}}In native mobile applications, the checkbox widget can be rendered as either a switch (default) or a checkbox. If checkbox, it displays a tick if the value is true and remains empty if it is false. If switch, it displays a track with right-positioned thumb button if the value is true and a left-positioned thumb button if it is false.{{% /alert %}} A checkbox must be placed within a data context to display or edit the intended value: -* A [data container](/refguide/data-widgets/) widget containing an object -* A snippet containing one or more [parameters](/refguide/page-properties/#parameters) -* A page or a snippet containing one or more [variables](/refguide/page-properties/#variables) +* A [data container](/refguide10/data-widgets/) widget containing an object +* A snippet containing one or more [parameters](/refguide10/page-properties/#parameters) +* A page or a snippet containing one or more [variables](/refguide10/page-properties/#variables) The name of the configured value is shown inside the checkbox widget, between square brackets, and colored blue. @@ -48,23 +48,23 @@ Miscellaneous: ### Data Source Section{#data-source} -{{% snippet file="/static/_includes/refguide/data-source-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/data-source-section-link.md" %}} ### Label Section{#label} -{{% snippet file="/static/_includes/refguide/label-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/label-section-link.md" %}} ### Editability Section{#editability} -{{% snippet file="/static/_includes/refguide/editability-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/editability-section-link.md" %}} ### Visibility Section{#visibility} -{{% snippet file="/static/_includes/refguide/visibility-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/visibility-section-link.md" %}} ### Common Section{#common} -{{% snippet file="/static/_includes/refguide/common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/common-section-link.md" %}} ### Events Section{#events} @@ -72,13 +72,13 @@ Miscellaneous: The on-change property specifies an action that will be executed when leaving the widget, either by using the Tab key or by clicking another widget, after the value has been changed. -{{% snippet file="/static/_includes/refguide/events-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/events-section-link.md" %}} #### On Enter The on-enter property specifies an action that will be executed when the widget is entered, either by using the Tab key or by clicking it with the mouse. -{{% snippet file="/static/_includes/refguide/events-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/events-section-link.md" %}} #### On Leave @@ -86,17 +86,17 @@ The on-leave property specifies an action that will be executed when leaving the This differs from the [On change](#on-change) property in that the event will always be triggered, even if the value has not been changed. -{{% snippet file="/static/_includes/refguide/events-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/events-section-link.md" %}} ## Styling ### Design Properties Section{#design-properties} -{{% snippet file="/static/_includes/refguide/design-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/design-section-link.md" %}} ### Common Section{#common-styling} -{{% snippet file="/static/_includes/refguide/common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/common-section-link.md" %}} ## Miscellaneous @@ -106,6 +106,6 @@ The render mode property determines whether the widget renders as a switch or a ## Read More -* [Data View](/refguide/data-view/) -* [Attributes](/refguide/attributes/) -* [Variables](/refguide/page-properties/#variables) +* [Data View](/refguide10/data-view/) +* [Attributes](/refguide10/attributes/) +* [Variables](/refguide10/page-properties/#variables) diff --git a/content/en/docs/refguide10/modeling/pages/input-widgets/date-picker.md b/content/en/docs/refguide10/modeling/pages/input-widgets/date-picker.md index e5f4cc54eda..224b9004a81 100644 --- a/content/en/docs/refguide10/modeling/pages/input-widgets/date-picker.md +++ b/content/en/docs/refguide10/modeling/pages/input-widgets/date-picker.md @@ -1,18 +1,18 @@ --- title: "Date Picker" -url: /refguide/date-picker/ +url: /refguide10/date-picker/ weight: 60 #If moving or renaming this doc file, implement a temporary redirect and let the respective team know they should update the URL in the product. See Mapping to Products for more details. --- ## Introduction -A **date picker** is used to display and, optionally, allow the end-user to edit the value of an attribute or a variable of [data type](/refguide/data-types/) *Date and Time*. It uses the values set in the **Languages** tab of **App Settings** to display a correctly localized value to the end-user, using the **Language** object associated with the end-user. +A **date picker** is used to display and, optionally, allow the end-user to edit the value of an attribute or a variable of [data type](/refguide10/data-types/) *Date and Time*. It uses the values set in the **Languages** tab of **App Settings** to display a correctly localized value to the end-user, using the **Language** object associated with the end-user. A date picker must be placed within a data context to display or edit the intended value: -* A [data container](/refguide/data-widgets/) widget containing an object -* A snippet containing one or more [parameters](/refguide/page-properties/#parameters) -* A page or a snippet containing one or more [variables](/refguide/page-properties/#variables) +* A [data container](/refguide10/data-widgets/) widget containing an object +* A snippet containing one or more [parameters](/refguide10/page-properties/#parameters) +* A page or a snippet containing one or more [variables](/refguide10/page-properties/#variables) The name of the configured value is shown inside the date picker widget, between square brackets, and colored blue. @@ -69,7 +69,7 @@ When using `yyyy` custom format and typing `yy` in the date picker widget, the c * `75` {{< icon name="arrow-narrow-right" >}} `1975` {{% /alert %}} -{{% snippet file="/static/_includes/refguide/custom-date-format-tokens.md" %}} +{{% snippet file="/static/_includes/refguide10/custom-date-format-tokens.md" %}} {{% alert color="info" %}} Even though a date picker with a custom date format is editable, the calendar drop-down button will only be shown if the custom format represents a full date (that is, the year [`y`-`yyyy`], month [`M`-`MMMM`], and day of month [`d`-`dd`] tokens are all present in the custom format). @@ -85,23 +85,23 @@ Placeholder text will not be displayed if a native date picker is available (tha ### Data Source Section{#data-source} -{{% snippet file="/static/_includes/refguide/data-source-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/data-source-section-link.md" %}} ### Label Section{#label} -{{% snippet file="/static/_includes/refguide/label-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/label-section-link.md" %}} ### Editability Section{#editability} -{{% snippet file="/static/_includes/refguide/editability-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/editability-section-link.md" %}} ### Visibility Section{#visibility} -{{% snippet file="/static/_includes/refguide/visibility-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/visibility-section-link.md" %}} ### Validation Section{#validation} -{{% snippet file="/static/_includes/refguide/widget-validation-link.md" %}} +{{% snippet file="/static/_includes/refguide10/widget-validation-link.md" %}} ### Accessibility Section{#accessibility} @@ -111,7 +111,7 @@ In a text area widget, when **Aria required** is set to **Yes** then assistive t ### Common Section{#common} -{{% snippet file="/static/_includes/refguide/common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/common-section-link.md" %}} ### Events Section{#events} @@ -119,13 +119,13 @@ In a text area widget, when **Aria required** is set to **Yes** then assistive t The on-change property specifies an action that will be executed when leaving the widget, either by using the Tab key or by clicking another widget, after the value has been changed. -{{% snippet file="/static/_includes/refguide/events-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/events-section-link.md" %}} #### On Enter The on-enter property specifies an action that will be executed when the widget is entered, either by using the Tab key or by clicking it with the mouse. -{{% snippet file="/static/_includes/refguide/events-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/events-section-link.md" %}} #### On Leave @@ -133,20 +133,20 @@ The on-leave property specifies an action that will be executed when leaving the This differs from the [On change](#on-change) property in that the event will always be triggered, even if the value has not been changed. -{{% snippet file="/static/_includes/refguide/events-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/events-section-link.md" %}} ## Styling ### Design Properties Section{#design-properties} -{{% snippet file="/static/_includes/refguide/design-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/design-section-link.md" %}} ### Common Section{#common-styling} -{{% snippet file="/static/_includes/refguide/common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/common-section-link.md" %}} ## Read More -* [Data View](/refguide/data-view/) -* [Attributes](/refguide/attributes/) -* [Variables](/refguide/page-properties/#variables) \ No newline at end of file +* [Data View](/refguide10/data-view/) +* [Attributes](/refguide10/attributes/) +* [Variables](/refguide10/page-properties/#variables) \ No newline at end of file diff --git a/content/en/docs/refguide10/modeling/pages/input-widgets/drop-down.md b/content/en/docs/refguide10/modeling/pages/input-widgets/drop-down.md index 743c6d4b7c2..67cec2d9fe9 100644 --- a/content/en/docs/refguide10/modeling/pages/input-widgets/drop-down.md +++ b/content/en/docs/refguide10/modeling/pages/input-widgets/drop-down.md @@ -1,32 +1,32 @@ --- title: "Drop-Down" -url: /refguide/drop-down/ +url: /refguide10/drop-down/ weight: 30 aliases: - - /refguide/drop-down-widget.html - - /refguide/drop-down-widget + - /refguide10/drop-down-widget.html + - /refguide10/drop-down-widget #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" %}} The drop-down widget is not compatible with the modern version of the Mendix React Client. Depending on your app version, you may wish to convert the widget to a combo box widget using the context menu in Studio Pro. -For more information on converting a drop-down widget into its more modern combo box counterpart, see the Mendix React Client's [Migration Guide](/refguide/mendix-client/react/#migration-guide). +For more information on converting a drop-down widget into its more modern combo box counterpart, see the Mendix React Client's [Migration Guide](/refguide10/mendix-client/react/#migration-guide). {{% /alert %}} ## Introduction -A **drop-down** is used to display and, optionally, allow the end-user to edit the value of an attribute or variable of [data type](/refguide/data-types/) *enumeration*. +A **drop-down** is used to display and, optionally, allow the end-user to edit the value of an attribute or variable of [data type](/refguide10/data-types/) *enumeration*. A drop-down must be placed within a data context to display or edit the intended value: -* A [data container](/refguide/data-widgets/) widget containing an object -* A snippet containing one or more [parameters](/refguide/page-properties/#parameters) -* A page or a snippet containing one or more [variables](/refguide/page-properties/#variables) +* A [data container](/refguide10/data-widgets/) widget containing an object +* A snippet containing one or more [parameters](/refguide10/page-properties/#parameters) +* A page or a snippet containing one or more [variables](/refguide10/page-properties/#variables) The name of the configured value is shown inside the drop-down widget, between square brackets, and colored blue. {{% alert color="info" %}} -A drop-down should not be confused with a [reference selector](/refguide/reference-selector/), which is used to select an [association](/refguide/associations/) to another object. +A drop-down should not be confused with a [reference selector](/refguide10/reference-selector/), which is used to select an [association](/refguide10/associations/) to another object. {{% /alert %}} For example, the following drop-down allows the end-user to see, and set, the **Region** to which a customer is allocated. The possible values for **Region** are held in an enumeration. @@ -60,7 +60,7 @@ Styling: #### Empty Option Caption -Empty option caption is the text that is shown for the empty option in the drop-down shown to the end-user. This is a translatable text. For more details, see [Language Menu](/refguide/translatable-texts/). +Empty option caption is the text that is shown for the empty option in the drop-down shown to the end-user. This is a translatable text. For more details, see [Language Menu](/refguide10/translatable-texts/). Adding a caption for the empty option improves the user experience of your application. It also helps end-users using a screen-reader to operate the application easily. @@ -70,23 +70,23 @@ For example, the drop-down that allows the end-user to select the region allocat ### Data Source Section{#data-source} -{{% snippet file="/static/_includes/refguide/data-source-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/data-source-section-link.md" %}} ### Label Section{#label} -{{% snippet file="/static/_includes/refguide/label-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/label-section-link.md" %}} ### Editability Section{#editability} -{{% snippet file="/static/_includes/refguide/editability-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/editability-section-link.md" %}} ### Visibility Section{#visibility} -{{% snippet file="/static/_includes/refguide/visibility-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/visibility-section-link.md" %}} ### Validation Section{#validation} -{{% snippet file="/static/_includes/refguide/widget-validation-link.md" %}} +{{% snippet file="/static/_includes/refguide10/widget-validation-link.md" %}} ### Accessibility Section{#accessibility} @@ -96,7 +96,7 @@ In a text area widget, when **Aria required** is set to **Yes** then assistive t ### Common Section{#common} -{{% snippet file="/static/_includes/refguide/common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/common-section-link.md" %}} ### Events Section{#events} @@ -104,13 +104,13 @@ In a text area widget, when **Aria required** is set to **Yes** then assistive t The on-change property specifies an action that will be executed when leaving the widget, either by using the Tab key or by clicking another widget, after the value has been changed. -{{% snippet file="/static/_includes/refguide/events-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/events-section-link.md" %}} #### On Enter The on-enter property specifies an action that will be executed when the widget is entered, either by using the Tab key or by clicking it with the mouse. -{{% snippet file="/static/_includes/refguide/events-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/events-section-link.md" %}} #### On Leave @@ -118,20 +118,20 @@ The on-leave property specifies an action that will be executed when leaving the This differs from the [On change](#on-change) property in that the event will always be triggered, even if the value has not been changed. -{{% snippet file="/static/_includes/refguide/events-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/events-section-link.md" %}} ## Styling ### Design Properties Section{#design-properties} -{{% snippet file="/static/_includes/refguide/design-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/design-section-link.md" %}} ### Common Section{#common-styling} -{{% snippet file="/static/_includes/refguide/common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/common-section-link.md" %}} ## Read More -* [Data View](/refguide/data-view/) -* [Attributes](/refguide/attributes/) -* [Variables](/refguide/page-properties/#variables) +* [Data View](/refguide10/data-view/) +* [Attributes](/refguide10/attributes/) +* [Variables](/refguide10/page-properties/#variables) diff --git a/content/en/docs/refguide10/modeling/pages/input-widgets/input-reference-set-selector.md b/content/en/docs/refguide10/modeling/pages/input-widgets/input-reference-set-selector.md index 58c1c380bd3..a4d8d6ecf60 100644 --- a/content/en/docs/refguide10/modeling/pages/input-widgets/input-reference-set-selector.md +++ b/content/en/docs/refguide10/modeling/pages/input-widgets/input-reference-set-selector.md @@ -1,19 +1,19 @@ --- title: "Input Reference Set Selector" -url: /refguide/input-reference-set-selector/ +url: /refguide10/input-reference-set-selector/ weight: 90 #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" %}}The **input reference set selector** widget is not supported on native mobile pages. -To upgrade it to a React-compliant widget which works on a native page, see the Mendix React Client's [Migration Guide](/refguide/mendix-client/react/#migration-guide).{{% /alert %}} +To upgrade it to a React-compliant widget which works on a native page, see the Mendix React Client's [Migration Guide](/refguide10/mendix-client/react/#migration-guide).{{% /alert %}} ## Introduction -An **input reference set selector** is used to allow the end-user to display or select the value (or values) of a many-to-many (reference set) [association](/refguide/associations/) by selecting the associated object (or objects). +An **input reference set selector** is used to allow the end-user to display or select the value (or values) of a many-to-many (reference set) [association](/refguide10/associations/) by selecting the associated object (or objects). -An input reference set selector must be placed in a [data container](/refguide/data-widgets/). +An input reference set selector must be placed in a [data container](/refguide10/data-widgets/). For example, you could group customers into groups, and each customer could belong to several groups. Each Group can have many customers. The entities **Customer** and **Group** have a many-to-many (reference set) relationship. An input reference set selector can be used to select the groups the customer belongs to. @@ -53,27 +53,27 @@ Reference set selector properties consist of the following sections: ### Common Section {#common} -{{% snippet file="/static/_includes/refguide/common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/common-section-link.md" %}} ### Data Source Section {#data-source} -{{% snippet file="/static/_includes/refguide/data-source-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/data-source-section-link.md" %}} The attribute path specifies which attribute (or attributes) of an associated entity is shown in the reference set selector. The path must follow one association, of type reference set, starting in the entity of the data view. ### Design Properties Section {#design-properties} -{{% snippet file="/static/_includes/refguide/design-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/design-section-link.md" %}} ### Editability Section {#editability} -{{% snippet file="/static/_includes/refguide/editability-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/editability-section-link.md" %}} ### Events Section {#events} The on-change property specifies an action that will be executed when leaving the widget, either by using the Tab key or by clicking another widget, after the value has been changed. -{{% snippet file="/static/_includes/refguide/events-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/events-section-link.md" %}} ### General Properties {#general} @@ -83,7 +83,7 @@ The select page property determines which page is displayed when the input refer If an input reference set selector is never editable, a select page is not required. -See the [Show a Page](/refguide/on-click-event/#show-page) section of *On Click Event and Events Section*. Note that select pages must have a [pop-up layout](/refguide/layout/#layout-type). +See the [Show a Page](/refguide10/on-click-event/#show-page) section of *On Click Event and Events Section*. Note that select pages must have a [pop-up layout](/refguide10/layout/#layout-type). {{% alert color="info" %}} You can generate a new page to show by right-clicking the widget and selecting **Generate select page…**. @@ -91,13 +91,13 @@ You can generate a new page to show by right-clicking the widget and selecting * ### Label Section {#label} -{{% snippet file="/static/_includes/refguide/label-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/label-section-link.md" %}} ### Selectable Objects Section {#selectable-objects} The properties in the Selectable objects section determine the objects from which the end user can make a selection. As source, you can use **Database** or **XPath**. When using **XPath**, you can add an **XPath constraint**, or use a **Constrained by** path. -For more information, see the [Selectable Objects](/refguide/reference-selector/#selectable-objects) section of *Reference Selector*. +For more information, see the [Selectable Objects](/refguide10/reference-selector/#selectable-objects) section of *Reference Selector*. {{% alert color="info" %}} You cannot use a microflow to define selectable objects in an input reference set selector. @@ -105,4 +105,4 @@ You cannot use a microflow to define selectable objects in an input reference se ### Visibility Section {#visibility} -{{% snippet file="/static/_includes/refguide/visibility-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/visibility-section-link.md" %}} diff --git a/content/en/docs/refguide10/modeling/pages/input-widgets/radio-buttons.md b/content/en/docs/refguide10/modeling/pages/input-widgets/radio-buttons.md index 9eb138c7628..1e975952882 100644 --- a/content/en/docs/refguide10/modeling/pages/input-widgets/radio-buttons.md +++ b/content/en/docs/refguide10/modeling/pages/input-widgets/radio-buttons.md @@ -1,6 +1,6 @@ --- title: "Radio Buttons" -url: /refguide/radio-buttons/ +url: /refguide10/radio-buttons/ weight: 50 #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. --- @@ -9,16 +9,16 @@ weight: 50 {{% alert color="warning" %}}The radio buttons widget is not supported on native mobile pages.{{% /alert %}} -**Radio Buttons** are used to display and, optionally, allow the end-user to edit the value of an attribute or a variable of [data type](/refguide/data-types/) *Boolean* or *Enumeration*. +**Radio Buttons** are used to display and, optionally, allow the end-user to edit the value of an attribute or a variable of [data type](/refguide10/data-types/) *Boolean* or *Enumeration*. When the page is displayed to the end-user, all the possible values are listed, with a filled-in circle next to the selected value and an empty circle next to the unselected value (or values). Only one value can be chosen – choosing another value deselects the current value. For example: {{< figure src="/attachments/refguide10/modeling/pages/input-widgets/radio-buttons/radio-buttons-displayed.png" class="no-border" >}} A radio button must be placed within a data context to display or edit the intended value: -* A [data container](/refguide/data-widgets/) widget containing an object -* A snippet containing one or more [parameters](/refguide/page-properties/#parameters) -* A page or a snippet containing one or more [variables](/refguide/page-properties/#variables) +* A [data container](/refguide10/data-widgets/) widget containing an object +* A snippet containing one or more [parameters](/refguide10/page-properties/#parameters) +* A page or a snippet containing one or more [variables](/refguide10/page-properties/#variables) The name of the configured value is shown inside the radio button widget, between square brackets, and colored blue. @@ -57,23 +57,23 @@ Default: *Horizontal* ### Data Source Section{#data-source} -{{% snippet file="/static/_includes/refguide/data-source-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/data-source-section-link.md" %}} ### Label Section{#label} -{{% snippet file="/static/_includes/refguide/label-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/label-section-link.md" %}} ### Editability Section{#editability} -{{% snippet file="/static/_includes/refguide/editability-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/editability-section-link.md" %}} ### Visibility Section{#visibility} -{{% snippet file="/static/_includes/refguide/visibility-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/visibility-section-link.md" %}} ### Common Section{#common} -{{% snippet file="/static/_includes/refguide/common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/common-section-link.md" %}} ### Events Section{#events} @@ -81,13 +81,13 @@ Default: *Horizontal* The on-change property specifies an action that will be executed when leaving the widget, either by using the Tab key or by clicking another widget, after the value has been changed. -{{% snippet file="/static/_includes/refguide/events-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/events-section-link.md" %}} #### On Enter The on-enter property specifies an action that will be executed when the widget is entered, either by using the Tab key or by clicking it with the mouse. -{{% snippet file="/static/_includes/refguide/events-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/events-section-link.md" %}} #### On Leave @@ -95,20 +95,20 @@ The on-leave property specifies an action that will be executed when leaving the This differs from the [On change](#on-change) property in that the event will always be triggered, even if the value has not been changed. -{{% snippet file="/static/_includes/refguide/events-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/events-section-link.md" %}} ## Styling ### Design Properties Section{#design-properties} -{{% snippet file="/static/_includes/refguide/design-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/design-section-link.md" %}} ### Common Section{#common-styling} -{{% snippet file="/static/_includes/refguide/common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/common-section-link.md" %}} ## Read More -* [Data View](/refguide/data-view/) -* [Attributes](/refguide/attributes/) -* [Variables](/refguide/page-properties/#variables) +* [Data View](/refguide10/data-view/) +* [Attributes](/refguide10/attributes/) +* [Variables](/refguide10/page-properties/#variables) diff --git a/content/en/docs/refguide10/modeling/pages/input-widgets/reference-selector.md b/content/en/docs/refguide10/modeling/pages/input-widgets/reference-selector.md index e0ee54a88f4..4c405d15cdf 100644 --- a/content/en/docs/refguide10/modeling/pages/input-widgets/reference-selector.md +++ b/content/en/docs/refguide10/modeling/pages/input-widgets/reference-selector.md @@ -1,17 +1,17 @@ --- title: "Reference Selector" -url: /refguide/reference-selector/ +url: /refguide10/reference-selector/ weight: 70 #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" %}}The **reference selector** widget is not supported by React. To upgrade it to a React-compliant widget, see the Mendix React Client's [Migration Guide](/refguide/mendix-client/react/#migration-guide).{{% /alert %}} +{{% alert color="warning" %}}The **reference selector** widget is not supported by React. To upgrade it to a React-compliant widget, see the Mendix React Client's [Migration Guide](/refguide10/mendix-client/react/#migration-guide).{{% /alert %}} ## Introduction -A **reference selector** is used to display and, optionally, allow the end-user to select the value of a one-to-one or one-to-many [association](/refguide/associations/) by selecting the associated object. +A **reference selector** is used to display and, optionally, allow the end-user to select the value of a one-to-one or one-to-many [association](/refguide10/associations/) by selecting the associated object. -A reference selector must be placed in a [data container](/refguide/data-widgets/). The object (or objects) retrieved by this container must be at the *many* end of a one-to-many association, or at either end of a one-to-one association. +A reference selector must be placed in a [data container](/refguide10/data-widgets/). The object (or objects) retrieved by this container must be at the *many* end of a one-to-many association, or at either end of a one-to-one association. For example, if you have an employee they will work for one company. A company can have many employees. The entities **Employee** and **Company** have a one-to-many association, **Employee_Company**, which you can select by choosing a Company from the Employee through the reference selector. @@ -24,7 +24,7 @@ For example, the following reference allows the end-user to see, and set, the as {{< figure src="/attachments/refguide10/modeling/pages/input-widgets/reference-selector/reference-selector.png" class="no-border" >}} {{% alert color="info" %}} -If you only want to *display* information, you can also use a [text box](/refguide/text-box/). This has the added advantage that you can choose an attribute from an object which is linked via several association steps. +If you only want to *display* information, you can also use a [text box](/refguide10/text-box/). This has the added advantage that you can choose an attribute from an object which is linked via several association steps. {{% /alert %}} ## Properties Pane @@ -73,7 +73,7 @@ There is a small difference in functionality between a **Drop-down** reference s #### Drop-Down {#drop-down} -The drop-down reference selector is similar to a [drop-down](/refguide/drop-down/) for an enumeration, except that it allows users to choose from a list of objects which can be associated with the current object, rather than a list of values from an enumeration. +The drop-down reference selector is similar to a [drop-down](/refguide10/drop-down/) for an enumeration, except that it allows users to choose from a list of objects which can be associated with the current object, rather than a list of values from an enumeration. The reference selector displays an attribute from the objects which can be linked to the current entity via an association. The chosen attribute should be unique for each object which can be associated, otherwise the end-user will have difficulty choosing the correct one. For example, you should display a company *name* (which will hopefully be unique) rather than the company *region* (which will probably not be unique to a company). @@ -87,7 +87,7 @@ Select using a page, links a button to the right of the widget with a pop-up pag This is only displayed if [Select using](#select-using) is set to **Drop-down**. {{% /alert %}} -This property specifies the caption for the empty option in the drop-down reference selector shown to the end-user. This is a [translatable text](/refguide/translatable-texts/). +This property specifies the caption for the empty option in the drop-down reference selector shown to the end-user. This is a [translatable text](/refguide10/translatable-texts/). Filling out the caption for an empty option improves the user experience of your application. It also helps end-users using screen-reader to operate the application easily. @@ -105,7 +105,7 @@ It is recommended that you generate a new page to show by right-clicking the wid {{< figure src="/attachments/refguide10/modeling/pages/input-widgets/reference-selector/generate-select-page.png" alt="Generate a select page by right-clicking the widget" class="no-border" >}} -See the [Show a Page](/refguide/on-click-event/#show-page) section of *On Click Event and Events Section*. Note that select pages must have a [pop-up layout](/refguide/layout/#layout-type). +See the [Show a Page](/refguide10/on-click-event/#show-page) section of *On Click Event and Events Section*. Note that select pages must have a [pop-up layout](/refguide10/layout/#layout-type). **Page title** @@ -139,39 +139,39 @@ This is activated by checking the **Override page title** checkbox. ### Data Source Section{#data-source} -{{% snippet file="/static/_includes/refguide/data-source-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/data-source-section-link.md" %}} The attribute path specifies which attribute of an associated entity is shown in the reference selector. The path must follow one association of type reference starting in the entity of the data view. ### Label Section{#label} -{{% snippet file="/static/_includes/refguide/label-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/label-section-link.md" %}} ### Editability Section{#editability} -{{% snippet file="/static/_includes/refguide/editability-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/editability-section-link.md" %}} ### Visibility Section{#visibility} -{{% snippet file="/static/_includes/refguide/visibility-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/visibility-section-link.md" %}} ### Validation Section{#validation} -{{% snippet file="/static/_includes/refguide/widget-validation-link.md" %}} +{{% snippet file="/static/_includes/refguide10/widget-validation-link.md" %}} ### Events Section{#events} The on-change property specifies an action that will be executed when leaving the widget, either by using the Tab key or by clicking another widget, after the value has been changed. -{{% snippet file="/static/_includes/refguide/events-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/events-section-link.md" %}} ### Accessibility{#accessibility} -The native version of this widget has multiple accessibility properties. For more information on the **Accessible**, **Screen Reader Caption**, and **Screen Reader Hint** properties, see [Mobile Accessibility](/refguide/mobile/using-mobile-capabilities/mobile-accessibility/). That document also contains more details on how Mendix widgets can work with screen readers, as well as details on special use cases. +The native version of this widget has multiple accessibility properties. For more information on the **Accessible**, **Screen Reader Caption**, and **Screen Reader Hint** properties, see [Mobile Accessibility](/refguide10/mobile/using-mobile-capabilities/mobile-accessibility/). That document also contains more details on how Mendix widgets can work with screen readers, as well as details on special use cases. ### Common Section{#common} -{{% snippet file="/static/_includes/refguide/common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/common-section-link.md" %}} ### Selectable Objects Section{#selectable-objects} @@ -190,13 +190,13 @@ The **Source** property sets which of the three ways to define the selectable ob ##### XPath Constraint -The XPath constraint limits the list of objects that can be selected. See the [constraints](/refguide/database-source/#constraints) section of *Database Source* for more information. +The XPath constraint limits the list of objects that can be selected. See the [constraints](/refguide10/database-source/#constraints) section of *Database Source* for more information. -From Mendix version 10.5, click **Edit** to edit the [XPath constraint](/refguide/xpath-constraints/). In Mendix versions below this, there is a separate **XPath** source. +From Mendix version 10.5, click **Edit** to edit the [XPath constraint](/refguide10/xpath-constraints/). In Mendix versions below this, there is a separate **XPath** source. For example, the XPath constraint `[InStock = true()]` on a reference selector for products will ensure that only products that are in stock are selectable. -See [XPath Constraints](/refguide/xpath-constraints/) for more information on XPath constraints. +See [XPath Constraints](/refguide10/xpath-constraints/) for more information on XPath constraints. ##### Constrained By @@ -259,7 +259,7 @@ In microflow settings you can specify what parameters are passed to the microflo #### XPath{#xpath-constraints} -In Mendix versions below 10.5, there is a separate **XPath** source. Use this if you need to enter an XPath. See [XPath Constraints](/refguide/xpath-constraints/) for more information. +In Mendix versions below 10.5, there is a separate **XPath** source. Use this if you need to enter an XPath. See [XPath Constraints](/refguide10/xpath-constraints/) for more information. If the source is XPath, the list of objects is taken from the database, but the objects which are displayed are chosen by an XPath Constraint. @@ -267,14 +267,14 @@ If the source is XPath, the list of objects is taken from the database, but the ### Design Properties Section{#design-properties} -{{% snippet file="/static/_includes/refguide/design-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/design-section-link.md" %}} ### Common Section{#common-styling} -{{% snippet file="/static/_includes/refguide/common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/common-section-link.md" %}} ## Read More -* [Data view](/refguide/data-view/) -* [Entities](/refguide/entities/) -* [Associations](/refguide/associations/) +* [Data view](/refguide10/data-view/) +* [Entities](/refguide10/entities/) +* [Associations](/refguide10/associations/) diff --git a/content/en/docs/refguide10/modeling/pages/input-widgets/reference-set-selector.md b/content/en/docs/refguide10/modeling/pages/input-widgets/reference-set-selector.md index f14de3f54fd..deff0e8ba6b 100644 --- a/content/en/docs/refguide10/modeling/pages/input-widgets/reference-set-selector.md +++ b/content/en/docs/refguide10/modeling/pages/input-widgets/reference-set-selector.md @@ -1,19 +1,19 @@ --- title: "Reference Set Selector" -url: /refguide/reference-set-selector/ +url: /refguide10/reference-set-selector/ weight: 80 #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" %}}The **reference set selector** widget is not supported on native mobile pages. -To upgrade it to a React-compliant widget which works on a native page, see the Mendix React Client's [Migration Guide](/refguide/mendix-client/react/#migration-guide).{{% /alert %}} +To upgrade it to a React-compliant widget which works on a native page, see the Mendix React Client's [Migration Guide](/refguide10/mendix-client/react/#migration-guide).{{% /alert %}} ## Introduction -A **reference set selector** is used to allow the end-user to display or select the value (or values) of a many-to-many (reference set) [association](/refguide/associations/) by selecting the associated object (or objects). +A **reference set selector** is used to allow the end-user to display or select the value (or values) of a many-to-many (reference set) [association](/refguide10/associations/) by selecting the associated object (or objects). -A reference set selector must be placed in a [data container](/refguide/data-widgets/). +A reference set selector must be placed in a [data container](/refguide10/data-widgets/). For example, you could group customers into groups, and each customer could belong to several groups. Each Group can have many customers. The entities **Customer** and **Group** have a many-to-many (reference set) relationship. A reference set selector can be used to select the groups the customer belongs to. @@ -27,15 +27,15 @@ To allow you to both add a Group to a Customer, and add a Customer to a Group, y {{< figure src="/attachments/refguide10/modeling/pages/input-widgets/reference-set-selector/domain-model-owner-both.png" alt="The domain model for a reference set selector between Customer (parent) and Group where the owner is 'both' (as in, the Customer and Group refer to each other)" class="no-border" >}} -In the reference set selector, the related entity and association used to connect it to the entity in the data view are displayed at the top of the reference set selector, and the names of the attributes of the associated objects which will be displayed are shown inside the reference set selector. Each attribute is displayed in a [grid column](/refguide/columns/). The association and related entity and attributes are displayed between square brackets, and colored blue. +In the reference set selector, the related entity and association used to connect it to the entity in the data view are displayed at the top of the reference set selector, and the names of the attributes of the associated objects which will be displayed are shown inside the reference set selector. Each attribute is displayed in a [grid column](/refguide10/columns/). The association and related entity and attributes are displayed between square brackets, and colored blue. For example, using the domain model above, the following reference set selector allows the end-user to associate a Customer with one or more Groups by setting the association **Customer_Group**. This is done by selecting the **Name** of the **Group** associated with the current **Customer**. {{< figure src="/attachments/refguide10/modeling/pages/input-widgets/reference-set-selector/reference-set-selector.png" class="no-border" >}} -The reference set selector looks a lot like a [data grid](/refguide/data-grid/) and consequently shares many properties with it. The main differences are that the reference set selector lacks a search bar and that it has **Add** and **Remove** buttons instead of **New** and **Delete**. This is because they perform slightly different functions: +The reference set selector looks a lot like a [data grid](/refguide10/data-grid/) and consequently shares many properties with it. The main differences are that the reference set selector lacks a search bar and that it has **Add** and **Remove** buttons instead of **New** and **Delete**. This is because they perform slightly different functions: -* The **Add** button adds an association to an existing object. You will need to specify the page which opens when you want to add a new association. For more information, see [Add Button](/refguide/control-bar/#add-button). +* The **Add** button adds an association to an existing object. You will need to specify the page which opens when you want to add a new association. For more information, see [Add Button](/refguide10/control-bar/#add-button). * The **Remove** button removes the association to an object, but does not change or delete the object itself {{% alert color="info" %}} @@ -62,9 +62,9 @@ Styling: There are additional sets of properties which do not appear in the properties of the reference set selector widget. -1. The control bar contains the buttons needed to search, add, and remove associations. For more information see [Control Bar](/refguide/control-bar/). +1. The control bar contains the buttons needed to search, add, and remove associations. For more information see [Control Bar](/refguide10/control-bar/). -2. Each attribute is displayed in a column. You can find out more about the properties of these columns in [Grid Columns](/refguide/columns/) +2. Each attribute is displayed in a column. You can find out more about the properties of these columns in [Grid Columns](/refguide10/columns/) ## Properties @@ -99,14 +99,14 @@ Default: *False* A tooltip page is a page that appears when you hover your mouse over a row. The tooltip page must contain a data view on the same entity as the data grid. -The tooltip will only be shown for the columns you specify. The default for each column is that the tooltip will *not* appear. See [Grid Columns](/refguide/columns/) for more information. +The tooltip will only be shown for the columns you specify. The default for each column is that the tooltip will *not* appear. See [Grid Columns](/refguide10/columns/) for more information. #### Show Control Bar {#show-control-bar} -This property indicates whether the control bar will be visible in the end-user interface. The control bar also includes the paging buttons. See [Control Bar](/refguide/control-bar/) for more information. +This property indicates whether the control bar will be visible in the end-user interface. The control bar also includes the paging buttons. See [Control Bar](/refguide10/control-bar/) for more information. {{% alert color="warning" %}} -Even if the control bar is invisible there can still be a default button that is triggered by (double) clicking on a row. See the property 'Default button trigger' and [control bar](/refguide/control-bar/) for more information. +Even if the control bar is invisible there can still be a default button that is triggered by (double) clicking on a row. See the property 'Default button trigger' and [control bar](/refguide10/control-bar/) for more information. {{% /alert %}} Default: *True* @@ -159,7 +159,7 @@ The default button can be triggered by single- or double-clicking a row. ### Data Source Section {#data-source} -{{% snippet file="/static/_includes/refguide/data-source-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/data-source-section-link.md" %}} The attribute path specifies which attribute (or attributes) of an associated entity is shown in the reference set selector. The path must follow one association of type reference set starting in the entity of the data view. @@ -169,19 +169,19 @@ You cannot currently use non-persistable entities in a reference set selector. ### Visibility Section {#visibility} -{{% snippet file="/static/_includes/refguide/visibility-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/visibility-section-link.md" %}} ### Events Section {#events} The on-change property specifies an action that will be executed when leaving the widget, either by using the Tab key or by clicking another widget, after the value has been changed. -{{% snippet file="/static/_includes/refguide/events-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/events-section-link.md" %}} ### Common Section{#common} -The rows of the reference set selector can be sorted using the `Sort order` property. It is only available for **Database** [data sources](#data-source). For more information on sorting, see [Sort Order](/refguide/sort-order/). +The rows of the reference set selector can be sorted using the `Sort order` property. It is only available for **Database** [data sources](#data-source). For more information on sorting, see [Sort Order](/refguide10/sort-order/). -{{% snippet file="/static/_includes/refguide/common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/common-section-link.md" %}} ### Selectable Objects Section {#selectable-objects} @@ -192,7 +192,7 @@ The **Source** property sets the way to define the selectable objects: * Database *(default)* * XPath -For more information, see the [Selectable Objects Section](/refguide/reference-selector/#selectable-objects) section of *Reference Selector*. +For more information, see the [Selectable Objects Section](/refguide10/reference-selector/#selectable-objects) section of *Reference Selector*. {{% alert color="info" %}} You cannot use a microflow to define selectable objects in a reference set selector. @@ -202,15 +202,15 @@ You cannot use a microflow to define selectable objects in a reference set selec ### Design Properties Section {#design-properties} -{{% snippet file="/static/_includes/refguide/design-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/design-section-link.md" %}} ### Common Section{#common-styling} -{{% snippet file="/static/_includes/refguide/common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/common-section-link.md" %}} ## Read More -* [Data view](/refguide/data-view/) -* [Entities](/refguide/entities/) -* [Associations](/refguide/associations/) -* [Control Bar](/refguide/control-bar/) +* [Data view](/refguide10/data-view/) +* [Entities](/refguide10/entities/) +* [Associations](/refguide10/associations/) +* [Control Bar](/refguide10/control-bar/) diff --git a/content/en/docs/refguide10/modeling/pages/input-widgets/text-area.md b/content/en/docs/refguide10/modeling/pages/input-widgets/text-area.md index 1ce1dce273c..d792b0e5466 100644 --- a/content/en/docs/refguide10/modeling/pages/input-widgets/text-area.md +++ b/content/en/docs/refguide10/modeling/pages/input-widgets/text-area.md @@ -1,18 +1,18 @@ --- title: "Text Area" -url: /refguide/text-area/ +url: /refguide10/text-area/ weight: 20 #If moving or renaming this doc file, implement a temporary redirect and let the respective team know they should update the URL in the product. See Mapping to Products for more details. --- ## Introduction -A **text area** is used to display and, optionally, allow the end-user to edit the value of an attribute or variable of [data type](/refguide/data-types/) *String*. It differs from a [text box](/refguide/text-box/) In that the value can be displayed over several lines. +A **text area** is used to display and, optionally, allow the end-user to edit the value of an attribute or variable of [data type](/refguide10/data-types/) *String*. It differs from a [text box](/refguide10/text-box/) In that the value can be displayed over several lines. A text area must be placed within a data context to display or edit the intended value: -* A [data container](/refguide/data-widgets/) widget containing an object -* A snippet containing one or more [parameters](/refguide/page-properties/#parameters) -* A page or a snippet containing one or more [variables](/refguide/page-properties/#variables) +* A [data container](/refguide10/data-widgets/) widget containing an object +* A snippet containing one or more [parameters](/refguide10/page-properties/#parameters) +* A page or a snippet containing one or more [variables](/refguide10/page-properties/#variables) The name of the configured value is shown inside the text area widget, between square brackets, and colored blue. @@ -65,7 +65,7 @@ Default: *5* {{% alert color="info" %}}Counter message is not supported on native mobile pages.{{% /alert %}} -This is the text displayed when typing in the text area. This text has two [parameters](/refguide/text/#parameters). The first parameter contains the number of characters already typed and the second parameter contains the maximum number of characters. +This is the text displayed when typing in the text area. This text has two [parameters](/refguide10/text/#parameters). The first parameter contains the number of characters already typed and the second parameter contains the maximum number of characters. For example, if you use the counter message `You've used {1} characters of the {2} characters that are allowed.` for your text area, the end-user will see this message displayed below the text area widget: @@ -116,23 +116,23 @@ This option is only available in native pages. ### Data Source Section{#data-source} -{{% snippet file="/static/_includes/refguide/data-source-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/data-source-section-link.md" %}} ### Label Section{#label} -{{% snippet file="/static/_includes/refguide/label-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/label-section-link.md" %}} ### Editability Section{#editability} -{{% snippet file="/static/_includes/refguide/editability-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/editability-section-link.md" %}} ### Visibility Section{#visibility} -{{% snippet file="/static/_includes/refguide/visibility-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/visibility-section-link.md" %}} ### Validation Section{#validation} -{{% snippet file="/static/_includes/refguide/widget-validation-link.md" %}} +{{% snippet file="/static/_includes/refguide10/widget-validation-link.md" %}} ### Accessibility Section{#accessibility} @@ -142,7 +142,7 @@ In a text area widget, when **Aria required** is set to **Yes** then assistive t ### Common Section{#common} -{{% snippet file="/static/_includes/refguide/common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/common-section-link.md" %}} ### Events Section{#events} @@ -150,13 +150,13 @@ In a text area widget, when **Aria required** is set to **Yes** then assistive t The on change property specifies an action that will be executed when leaving the widget, either by using the Tab key or by clicking another widget after the value has been changed. -{{% snippet file="/static/_includes/refguide/events-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/events-section-link.md" %}} #### On Enter The on enter property specifies an action that will be executed when the widget is entered, either by using the Tab key or by clicking it. -{{% snippet file="/static/_includes/refguide/events-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/events-section-link.md" %}} #### On Leave @@ -164,7 +164,7 @@ The on leave property specifies an action that will be executed when leaving the This differs from the [on change](#on-change) property in that the event will always be triggered, even if the value has not been changed. -{{% snippet file="/static/_includes/refguide/events-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/events-section-link.md" %}} ### On Change Behavior {#on-change-behavior} @@ -188,20 +188,20 @@ This option allows makes it so users trigger an on change event while they are t With **While user is entering data**, users now can adjust one more property called **Apply after (ms)** (described above). This will reduce the amount of the calls made for an on change event, thus improving app performance. -{{% snippet file="/static/_includes/refguide/events-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/events-section-link.md" %}} ## Styling ### Design Properties Section{#design-properties} -{{% snippet file="/static/_includes/refguide/design-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/design-section-link.md" %}} ### Common Section{#common-styling} -{{% snippet file="/static/_includes/refguide/common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/common-section-link.md" %}} ## Read More -* [Data view](/refguide/data-view/) -* [Attributes](/refguide/attributes/) -* [Variables](/refguide/page-properties/#variables) \ No newline at end of file +* [Data view](/refguide10/data-view/) +* [Attributes](/refguide10/attributes/) +* [Variables](/refguide10/page-properties/#variables) \ No newline at end of file diff --git a/content/en/docs/refguide10/modeling/pages/input-widgets/text-box.md b/content/en/docs/refguide10/modeling/pages/input-widgets/text-box.md index b2384de84d5..913bc7ffafd 100644 --- a/content/en/docs/refguide10/modeling/pages/input-widgets/text-box.md +++ b/content/en/docs/refguide10/modeling/pages/input-widgets/text-box.md @@ -1,6 +1,6 @@ --- title: "Text Box" -url: /refguide/text-box/ +url: /refguide10/text-box/ description: "A text box is used to display and, optionally, allow the end-user to edit the value of an attribute from an object in a textual form." weight: 10 #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. @@ -8,7 +8,7 @@ weight: 10 ## Introduction -A text box is used to display and, optionally, allow the end-user to edit the value of a variable or an attribute from an object in a textual form. It can be used to display variables or attributes of the following [data types](/refguide/data-types/): +A text box is used to display and, optionally, allow the end-user to edit the value of a variable or an attribute from an object in a textual form. It can be used to display variables or attributes of the following [data types](/refguide10/data-types/): * Autonumber * Decimal @@ -18,9 +18,9 @@ A text box is used to display and, optionally, allow the end-user to edit the va * String A text box must be placed within a data context to display or edit the intended value: -* A [data container](/refguide/data-widgets/) widget containing an object -* A snippet containing one or more [parameters](/refguide/page-properties/#parameters) -* A page or a snippet containing one or more [variables](/refguide/page-properties/#variables) +* A [data container](/refguide10/data-widgets/) widget containing an object +* A snippet containing one or more [parameters](/refguide10/page-properties/#parameters) +* A page or a snippet containing one or more [variables](/refguide10/page-properties/#variables) The name of the configured value is shown inside the text box widget, between square brackets, and colored blue in the structure mode and black in design mode. @@ -119,23 +119,23 @@ This option is only available in native pages. ### Data Source Section{#data-source} -{{% snippet file="/static/_includes/refguide/data-source-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/data-source-section-link.md" %}} ### Label Section{#label} -{{% snippet file="/static/_includes/refguide/label-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/label-section-link.md" %}} ### Editability Section{#editability} -{{% snippet file="/static/_includes/refguide/editability-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/editability-section-link.md" %}} ### Visibility Section{#visibility} -{{% snippet file="/static/_includes/refguide/visibility-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/visibility-section-link.md" %}} ### Validation Section{#validation} -{{% snippet file="/static/_includes/refguide/widget-validation-link.md" %}} +{{% snippet file="/static/_includes/refguide10/widget-validation-link.md" %}} ### Accessibility Section{#accessibility} @@ -149,7 +149,7 @@ The autocomplete property specifies if a text box should have autocomplete enabl ### Common Section{#common} -{{% snippet file="/static/_includes/refguide/common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/common-section-link.md" %}} ### Events Section{#events} @@ -157,13 +157,13 @@ The autocomplete property specifies if a text box should have autocomplete enabl The on change event property specifies an action that will be executed when the value has been changed and gets submitted. A value will be submitted when pressing the Enter key or leaving the widget, either by using the Tab key or by clicking another widget. -{{% snippet file="/static/_includes/refguide/events-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/events-section-link.md" %}} #### On Enter Event The on enter event property specifies an action that will be executed when the widget is entered, either by using the Tab key or by clicking it with the mouse. -{{% snippet file="/static/_includes/refguide/events-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/events-section-link.md" %}} #### On Leave Event @@ -171,13 +171,13 @@ The on leave event property specifies an action that will be executed when leavi This differs from the [On change](#on-change) property in that the event will always be triggered, even if the value has not been changed. -{{% snippet file="/static/_includes/refguide/events-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/events-section-link.md" %}} #### On Enter Key Press Event The on enter key press event property specifies an action that will be executed when the focus is inside the widget and the Enter key is pressed. In a web application the widget will keep focus after the action gets executed. -{{% snippet file="/static/_includes/refguide/events-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/events-section-link.md" %}} ### On Change Behavior {#on-change-behavior} @@ -201,17 +201,17 @@ This option allows makes it so users trigger an on change event while they are t With **While user is entering data**, users now can adjust one more property called **Apply after (ms)** (described above). This will reduce the amount of the calls made for an on change event, thus improving app performance. -{{% snippet file="/static/_includes/refguide/events-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/events-section-link.md" %}} ## Styling ### Design Properties Section{#design-properties} -{{% snippet file="/static/_includes/refguide/design-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/design-section-link.md" %}} ### Common Section{#common-styling} -{{% snippet file="/static/_includes/refguide/common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/common-section-link.md" %}} ## Miscellaneous @@ -223,11 +223,11 @@ The formatting section applies only to the way that numeric attributes or variab * Integer * Long -{{% snippet file="/static/_includes/refguide/numeric-formatting-link.md" %}} +{{% snippet file="/static/_includes/refguide10/numeric-formatting-link.md" %}} ## Read More -* [Data Types](/refguide/data-types/) -* [Data View](/refguide/data-view/) -* [Attributes](/refguide/attributes/) -* [Variables](/refguide/page-properties/#variables) \ No newline at end of file +* [Data Types](/refguide10/data-types/) +* [Data View](/refguide10/data-view/) +* [Attributes](/refguide10/attributes/) +* [Variables](/refguide10/page-properties/#variables) \ No newline at end of file diff --git a/content/en/docs/refguide10/modeling/pages/menu-widgets/_index.md b/content/en/docs/refguide10/modeling/pages/menu-widgets/_index.md index 70910003260..47e76f614a3 100644 --- a/content/en/docs/refguide10/modeling/pages/menu-widgets/_index.md +++ b/content/en/docs/refguide10/modeling/pages/menu-widgets/_index.md @@ -1,31 +1,31 @@ --- title: "Menus and Navigation" -url: /refguide/menu-widgets/ +url: /refguide10/menu-widgets/ weight: 45 #If moving or renaming this doc file, implement a temporary redirect and let the respective team know they should update the URL in the product. See Mapping to Products for more details. --- ## Introduction -Menus and navigation widgets display menu items configured in the [Navigation](/refguide/navigation/) or in a [Menu](/refguide/menu/). +Menus and navigation widgets display menu items configured in the [Navigation](/refguide10/navigation/) or in a [Menu](/refguide10/menu/). -* [Menu Bar](/refguide/menu-bar/) – displays menu items of a [navigation profile](/refguide/navigation/#profiles) or a [menu](/refguide/menu/) document in a form of a horizontal bar +* [Menu Bar](/refguide10/menu-bar/) – displays menu items of a [navigation profile](/refguide10/navigation/#profiles) or a [menu](/refguide10/menu/) document in a form of a horizontal bar {{< figure src="/attachments/refguide10/modeling/pages/menu-widgets/menu-bar-example.png" alt="Menu Bar Example" class="no-border" >}} -* [Navigation Tree](/refguide/navigation-tree/) – displays menu items of a [navigation profile](/refguide/navigation/#profiles) or a [menu](/refguide/menu/) document in a form of a tree +* [Navigation Tree](/refguide10/navigation-tree/) – displays menu items of a [navigation profile](/refguide10/navigation/#profiles) or a [menu](/refguide10/menu/) document in a form of a tree {{< figure src="/attachments/refguide10/modeling/pages/menu-widgets/navigation-tree-example.png" alt="Navigation Tree Example" class="no-border" >}} -* [Simple Menu Bar](/refguide/simple-menu-bar/) – displays menu items of a [navigation profile](/refguide/navigation/#profiles) or a [menu](/refguide/menu/) document in a form a horizontal or vertical bar +* [Simple Menu Bar](/refguide10/simple-menu-bar/) – displays menu items of a [navigation profile](/refguide10/navigation/#profiles) or a [menu](/refguide10/menu/) document in a form a horizontal or vertical bar {{< figure src="/attachments/refguide10/modeling/pages/menu-widgets/simple-menu-bar-example.png" alt="Simple Menu Bar Example" class="no-border" >}} ## Performing Basic Functions -{{% snippet file="/static/_includes/refguide/performing-basic-functions-widgets.md" %}} +{{% snippet file="/static/_includes/refguide10/performing-basic-functions-widgets.md" %}} ## Read More -* [Page](/refguide/page/) -* [Pages](/refguide/pages/) +* [Page](/refguide10/page/) +* [Pages](/refguide10/pages/) diff --git a/content/en/docs/refguide10/modeling/pages/menu-widgets/menu-bar.md b/content/en/docs/refguide10/modeling/pages/menu-widgets/menu-bar.md index a70f268b073..2a10597a3ea 100644 --- a/content/en/docs/refguide10/modeling/pages/menu-widgets/menu-bar.md +++ b/content/en/docs/refguide10/modeling/pages/menu-widgets/menu-bar.md @@ -1,6 +1,6 @@ --- title: "Menu Bar" -url: /refguide/menu-bar/ +url: /refguide10/menu-bar/ weight: 1 #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. --- @@ -9,9 +9,9 @@ weight: 1 ## Introduction -A menu bar shows menu items of a [navigation profile](/refguide/navigation/#profiles) or in a [menu](/refguide/menu/) document in the form of a horizontal bar with items. These items are determined by the [Menu source](#menu-source) and are either configured in the [Navigation](/refguide/navigation/) or a [Menu](/refguide/menu/). +A menu bar shows menu items of a [navigation profile](/refguide10/navigation/#profiles) or in a [menu](/refguide10/menu/) document in the form of a horizontal bar with items. These items are determined by the [Menu source](#menu-source) and are either configured in the [Navigation](/refguide10/navigation/) or a [Menu](/refguide10/menu/). -Menu bars can go two levels deep, that means menu items can have sub-items. For more information on menu items and their properties, see [Menu](/refguide/menu/). +Menu bars can go two levels deep, that means menu items can have sub-items. For more information on menu items and their properties, see [Menu](/refguide10/menu/). {{< figure src="/attachments/refguide10/modeling/pages/menu-widgets/menu-bar/menu-bar.png" alt="Menu Bar" class="no-border" >}} @@ -29,11 +29,11 @@ Menu bar properties consist of the following sections: ### Common Section {#common} -{{% snippet file="/static/_includes/refguide/common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/common-section-link.md" %}} ### Design Properties Section {#design} -{{% snippet file="/static/_includes/refguide/design-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/design-section-link.md" %}} ### General Section {#general} @@ -43,21 +43,21 @@ The items that are shown in the menu widget are determined by the **Menu source* | Value | Description | | ------------------ | ------------------------------------------------------------ | -| Project navigation *(default)* | The menu items are taken from one of profiles defined in the [Navigation](/refguide/navigation/#profiles). | -| Menu document | The menu items are taken from a [menu](/refguide/menu/) document. | +| Project navigation *(default)* | The menu items are taken from one of profiles defined in the [Navigation](/refguide10/navigation/#profiles). | +| Menu document | The menu items are taken from a [menu](/refguide10/menu/) document. | #### Profile -Only available when the [menu source](#menu-source) is set to **Project navigation**. The **Profile** property specifies what [navigation profile](/refguide/navigation/#profiles) is used for the widget. +Only available when the [menu source](#menu-source) is set to **Project navigation**. The **Profile** property specifies what [navigation profile](/refguide10/navigation/#profiles) is used for the widget. Default: *Responsive* #### Menu -Only available when the [menu source](#menu-source) is set to **Menu document**. The **Menu** property specifies what [menu](/refguide/menu/) document is used for the widget. +Only available when the [menu source](#menu-source) is set to **Menu document**. The **Menu** property specifies what [menu](/refguide10/menu/) document is used for the widget. ## Read More -* [Page](/refguide/page/) -* [Menus and Navigation](/refguide/menu-widgets/) -* [Properties Common in the Page Editor](/refguide/common-widget-properties/) +* [Page](/refguide10/page/) +* [Menus and Navigation](/refguide10/menu-widgets/) +* [Properties Common in the Page Editor](/refguide10/common-widget-properties/) diff --git a/content/en/docs/refguide10/modeling/pages/menu-widgets/navigation-tree.md b/content/en/docs/refguide10/modeling/pages/menu-widgets/navigation-tree.md index 2be508279e8..fd394554c2d 100644 --- a/content/en/docs/refguide10/modeling/pages/menu-widgets/navigation-tree.md +++ b/content/en/docs/refguide10/modeling/pages/menu-widgets/navigation-tree.md @@ -1,6 +1,6 @@ --- title: "Navigation Tree" -url: /refguide/navigation-tree/ +url: /refguide10/navigation-tree/ weight: 3 #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. --- @@ -9,9 +9,9 @@ weight: 3 ## Introduction -A navigation tree displays menu items of a [navigation profile](/refguide/navigation/#profiles) or [menu](/refguide/menu/) document in the form of a tree. These items are determined by the [Menu source](#menu-source) and are either configured in the [Navigation](/refguide/navigation/) or a [Menu](/refguide/menu/). +A navigation tree displays menu items of a [navigation profile](/refguide10/navigation/#profiles) or [menu](/refguide10/menu/) document in the form of a tree. These items are determined by the [Menu source](#menu-source) and are either configured in the [Navigation](/refguide10/navigation/) or a [Menu](/refguide10/menu/). -The menu structure of a navigation tree can have three levels, that means that menu items can have sub-items. For more information on menu items and their properties, see [Menu](/refguide/menu/). +The menu structure of a navigation tree can have three levels, that means that menu items can have sub-items. For more information on menu items and their properties, see [Menu](/refguide10/menu/). {{< figure src="/attachments/refguide10/modeling/pages/menu-widgets/navigation-tree/navigation-tree.png" alt="Navigation Tree" class="no-border" >}} @@ -29,11 +29,11 @@ Navigation tree properties consist of the following sections: ### Common Section {#common} -{{% snippet file="/static/_includes/refguide/common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/common-section-link.md" %}} ### Design Properties Section {#design} -{{% snippet file="/static/_includes/refguide/design-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/design-section-link.md" %}} ### General Section {#general} @@ -43,21 +43,21 @@ The items that are shown in the menu widget are determined by the **Menu source* | Value | Description | | ------------------ | ------------------------------------------------------------ | -| Project navigation *(default)* | The menu items are taken from one of profiles defined in the [Navigation](/refguide/navigation/). | -| Menu document | The menu items are taken from a [menu](/refguide/menu/) document. | +| Project navigation *(default)* | The menu items are taken from one of profiles defined in the [Navigation](/refguide10/navigation/). | +| Menu document | The menu items are taken from a [menu](/refguide10/menu/) document. | #### Profile -Only available when the [menu source](#menu-source) is set to **Project navigation**. The **Profile** property specifies what [navigation profile](/refguide/navigation/#profiles) is used for the widget. +Only available when the [menu source](#menu-source) is set to **Project navigation**. The **Profile** property specifies what [navigation profile](/refguide10/navigation/#profiles) is used for the widget. Default: *Responsive* #### Menu -Only available when the [menu source](#menu-source) is set to **Menu document**. The **Menu** property specifies what [Menu](/refguide/menu/) document is used for the widget. +Only available when the [menu source](#menu-source) is set to **Menu document**. The **Menu** property specifies what [Menu](/refguide10/menu/) document is used for the widget. ## Read More -* [Page](/refguide/page/) -* [Menus and Navigation](/refguide/menu-widgets/) -* [Properties Common in the Page Editor](/refguide/common-widget-properties/) +* [Page](/refguide10/page/) +* [Menus and Navigation](/refguide10/menu-widgets/) +* [Properties Common in the Page Editor](/refguide10/common-widget-properties/) diff --git a/content/en/docs/refguide10/modeling/pages/menu-widgets/simple-menu-bar.md b/content/en/docs/refguide10/modeling/pages/menu-widgets/simple-menu-bar.md index 2170fc49b7a..8cc2264f043 100644 --- a/content/en/docs/refguide10/modeling/pages/menu-widgets/simple-menu-bar.md +++ b/content/en/docs/refguide10/modeling/pages/menu-widgets/simple-menu-bar.md @@ -1,6 +1,6 @@ --- title: "Simple Menu Bar" -url: /refguide/simple-menu-bar/ +url: /refguide10/simple-menu-bar/ weight: 2 #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. --- @@ -9,9 +9,9 @@ weight: 2 ## Introduction -A simple menu bar shows menu items of a [navigation profile](/refguide/navigation/#profiles) or in a [menu](/refguide/menu/) document in the form of a horizontal or vertical bar. These items are determined by the [Menu source](#menu-source) and are either configured in the [Navigation](/refguide/navigation/) or a [Menu](/refguide/menu/). +A simple menu bar shows menu items of a [navigation profile](/refguide10/navigation/#profiles) or in a [menu](/refguide10/menu/) document in the form of a horizontal or vertical bar. These items are determined by the [Menu source](#menu-source) and are either configured in the [Navigation](/refguide10/navigation/) or a [Menu](/refguide10/menu/). -Sub-items of menu items are not displayed by this widgets, that means the menu structure can only have one level. For more information on menu items and their properties, see [Menu](/refguide/menu/). +Sub-items of menu items are not displayed by this widgets, that means the menu structure can only have one level. For more information on menu items and their properties, see [Menu](/refguide10/menu/). {{< figure src="/attachments/refguide10/modeling/pages/menu-widgets/simple-menu-bar/simple-menu-bar.png" alt="Simple Menu Bar" class="no-border" >}} @@ -29,11 +29,11 @@ Menu bar properties consist of the following sections: ### Common Section {#common} -{{% snippet file="/static/_includes/refguide/common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/common-section-link.md" %}} ### Design Properties Section {#design} -{{% snippet file="/static/_includes/refguide/design-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/design-section-link.md" %}} ### General Section {#general} @@ -43,18 +43,18 @@ The items that are shown in the menu widget are determined by the **Menu source* | Value | Description | | ------------------ | ------------------------------------------------------------ | -| Project navigation *(default)* | The menu items are taken from one of the profiles defined in the [Navigation](/refguide/navigation/). | -| Menu document | The menu items are taken from a [menu](/refguide/menu/) document. | +| Project navigation *(default)* | The menu items are taken from one of the profiles defined in the [Navigation](/refguide10/navigation/). | +| Menu document | The menu items are taken from a [menu](/refguide10/menu/) document. | #### Profile -Only available when the [Menu source](#menu-source) is set to **Project navigation**. The **Profile** property specifies what [Navigation profile](/refguide/navigation/#profiles) is used for the widget. +Only available when the [Menu source](#menu-source) is set to **Project navigation**. The **Profile** property specifies what [Navigation profile](/refguide10/navigation/#profiles) is used for the widget. Default: *Responsive* #### Menu -Only available when the [Menu source](#menu-source) is set to **Menu document**. The **Menu** property specifies what [Menu](/refguide/menu/) document is used for the widget. +Only available when the [Menu source](#menu-source) is set to **Menu document**. The **Menu** property specifies what [Menu](/refguide10/menu/) document is used for the widget. #### Orientation @@ -67,6 +67,6 @@ This property determines how the simple menu bar is laid out. ## Read More -* [Page](/refguide/page/) -* [Menus and Navigation](/refguide/menu-widgets/) -* [Properties Common in the Page Editor](/refguide/common-widget-properties/) +* [Page](/refguide10/page/) +* [Menus and Navigation](/refguide10/menu-widgets/) +* [Properties Common in the Page Editor](/refguide10/common-widget-properties/) diff --git a/content/en/docs/refguide10/modeling/pages/on-click-event.md b/content/en/docs/refguide10/modeling/pages/on-click-event.md index 4bfbc017637..5c9dad6d4fa 100644 --- a/content/en/docs/refguide10/modeling/pages/on-click-event.md +++ b/content/en/docs/refguide10/modeling/pages/on-click-event.md @@ -1,12 +1,12 @@ --- title: "On Click Event and Events Section" -url: /refguide/on-click-event/ +url: /refguide10/on-click-event/ weight: 130 aliases: - - /refguide/opening-pages.html - - /refguide/starting-microflows.html - - /refguide/opening-pages - - /refguide/starting-microflows + - /refguide10/opening-pages.html + - /refguide10/starting-microflows.html + - /refguide10/opening-pages + - /refguide10/starting-microflows #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. --- @@ -78,7 +78,7 @@ No action is taken. This option is useful for setting up a page without defining The **Show a page** event opens the specified page. Select the page which opens using the options below: -* **Page** – a [page](/refguide/page/) that should open. +* **Page** – a [page](/refguide10/page/) that should open. * **Page settings** – opens a dialog box enabling you to configure the page in more detail (including the page title). @@ -88,7 +88,7 @@ The **Show a page** event opens the specified page. Select the page which opens **Page settings** opens a dialog box enabling you to configure the page in more detail: -* **Page** – a [page](/refguide/page/) that should open. +* **Page** – a [page](/refguide10/page/) that should open. * **Page title** – the page you open can be given a unique title, depending on where you open it from. This allows you to re-use the same page for different purposes. For example, by setting the title to **New Customer** from one button and **Edit Customer** from another, you can use the same page for editing new and existing customers. @@ -113,7 +113,7 @@ The following settings are specific for this event: #### Microflow {#microflow} -The [microflow](/refguide/microflow/) that should be executed. +The [microflow](/refguide10/microflow/) that should be executed. You can either select an existing microflow or create a new microflow by clicking the **New** button from the **Select Microflow** dialog box. @@ -220,7 +220,7 @@ The **Call a nanoflow** event executes the specified nanoflow. #### Nanoflow -Set the **Nanoflow** property to specify a [nanoflow](/refguide/nanoflow/) that should be executed. +Set the **Nanoflow** property to specify a [nanoflow](/refguide10/nanoflow/) that should be executed. You can either select an existing nanoflow or create a new nanoflow by clicking the **New** button from the **Select Nanoflow** dialog box. @@ -257,19 +257,19 @@ When you Specify **Email**, **Call**, or **Text** options, the corresponding de The **Create object** event creates a new object. The following properties are specific for this event: * **Entity (path)** – specifies which entity to create. It is also possible to choose an association (if available) from the context object. If an entity is configured, a new instance of the entity will be created. If an entity through association from the context object is configured, a new instance of the entity will be created and an object associated with the context will be created. -* **On {event} page** – specifies which [page](/refguide/page/) should be shown to allow the end-user to enter values for the new created object. This page must accept a context parameter object (for example, a data view) with the same entity or a sub-type of the created entity. **{event}** specifies which event is being used to trigger this action (**click**, for example). +* **On {event} page** – specifies which [page](/refguide10/page/) should be shown to allow the end-user to enter values for the new created object. This page must accept a context parameter object (for example, a data view) with the same entity or a sub-type of the created entity. **{event}** specifies which event is being used to trigger this action (**click**, for example). * **Page settings** - opens a dialog box enabling you to configure the page in more detail. See the [Page Settings](#page-settings) section in **Show a page** for more information. ### Save Changes {#save-changes} -The **Save changes** event commits all changes made to the objects in *Editable* widgets on the page. If a non-editable widget displays an object and it is modified by, for example, a microflow, the object is not committed. For information on editability, see the [Editability](/refguide/common-widget-properties/#editability) section in *Properties Common in the Page Editor*. +The **Save changes** event commits all changes made to the objects in *Editable* widgets on the page. If a non-editable widget displays an object and it is modified by, for example, a microflow, the object is not committed. For information on editability, see the [Editability](/refguide10/common-widget-properties/#editability) section in *Properties Common in the Page Editor*. The following properties are specific for this event: * **Close page** – specifies whether the current page should be closed. -* **Auto-synchronize** – specifies whether synchronization should happen when the save button is clicked for a Mendix application running in an offline profile. When an object is saved in a Mendix application running in an offline profile it is stored in a local database until it can be synchronized with the server (for more information on the capabilities of offline apps, see [Offline First](/refguide/offline-first/). In practice, this means that uploading a new object to the server requires two distinct actions: saving the object and [synchronizing it](/refguide/mobile/building-efficient-mobile-apps/offlinefirst-data/synchronization/). +* **Auto-synchronize** – specifies whether synchronization should happen when the save button is clicked for a Mendix application running in an offline profile. When an object is saved in a Mendix application running in an offline profile it is stored in a local database until it can be synchronized with the server (for more information on the capabilities of offline apps, see [Offline First](/refguide10/offline-first/). In practice, this means that uploading a new object to the server requires two distinct actions: saving the object and [synchronizing it](/refguide10/mobile/building-efficient-mobile-apps/offlinefirst-data/synchronization/). -This event cannot be used on pages that change [external entities](/refguide/external-entities/). Use the [Send External Object](/refguide/send-external-object/) activity to save changes to external entities. +This event cannot be used on pages that change [external entities](/refguide10/external-entities/). Use the [Send External Object](/refguide10/send-external-object/) activity to save changes to external entities. ### Cancel Changes {#cancel-changes} @@ -283,21 +283,21 @@ The **Close page** event closes a pop-up window (for pop-up pages) or navigates ### Delete object(s) {#delete-objects} -When placed in the control bar of a [data grid](/refguide/data-grid/), [template grid](/refguide/template-grid/), or [reference set selector](/refguide/reference-set-selector/) the **Delete object(s)** event will delete the selected objects. +When placed in the control bar of a [data grid](/refguide10/data-grid/), [template grid](/refguide10/template-grid/), or [reference set selector](/refguide10/reference-set-selector/) the **Delete object(s)** event will delete the selected objects. -In other situations, the user can select which objects to delete. The object can be from any surrounding data container, [snippet parameter](/refguide/snippet/), [page parameter](/refguide/page-properties/#parameters) or selections of [pluggable widgets](/refguide/mendix-client/#pluggable-widgets) (for example a [Data Grid 2](/appstore/modules/data-grid-2/) or [Gallery](/appstore/modules/gallery/) widget). +In other situations, the user can select which objects to delete. The object can be from any surrounding data container, [snippet parameter](/refguide10/snippet/), [page parameter](/refguide10/page-properties/#parameters) or selections of [pluggable widgets](/refguide10/mendix-client/#pluggable-widgets) (for example a [Data Grid 2](/appstore/modules/data-grid-2/) or [Gallery](/appstore/modules/gallery/) widget). {{% alert color="info" %}} The option to configure which objects to delete was introduced in Studio Pro 10.4.0. {{% /alert %}} -This event cannot be used to delete [external objects](/refguide/external-entities/). Use a microflow with a [Delete External Object](/refguide/delete-external-object/) activity to delete external objects. +This event cannot be used to delete [external objects](/refguide10/external-entities/). Use a microflow with a [Delete External Object](/refguide10/delete-external-object/) activity to delete external objects. Set the **Close page** property to indicate whether the current page should be closed. ### Synchronize {#synchronize} -The **Synchronize** event [synchronizes](/refguide/mobile/building-efficient-mobile-apps/offlinefirst-data/synchronization/) the data stored locally on your device with the server database. +The **Synchronize** event [synchronizes](/refguide10/mobile/building-efficient-mobile-apps/offlinefirst-data/synchronization/) the data stored locally on your device with the server database. ### Sign Out {#sign-out} @@ -307,11 +307,11 @@ The **Sign out** event signs the currently signed-in user out. When no user is s The **Call workflow** event triggers the specified workflow. -An element calling this event should be placed in a data container connected to the [WorkflowContext entity](/refguide/workflow-parameters/#entity). +An element calling this event should be placed in a data container connected to the [WorkflowContext entity](/refguide10/workflow-parameters/#entity). The following properties are specific for this event: -* **Workflow** – A [workflow](/refguide/workflows/) that should be executed. +* **Workflow** – A [workflow](/refguide10/workflows/) that should be executed. * **Close page** – Specifies whether the current page should be closed. * **Commit** – Specifies whether the data container object should be committed when running a workflow. @@ -319,38 +319,38 @@ The following properties are specific for this event: **Show workflow admin page** opens a workflow overview page. This page is typically used by a workflow administrator role to inspect status of a workflow instance and to manage the instance, for example, abort a workflow if required. -An element calling this event should be placed in a data container connected to the [System.Workflow](/refguide/workflow-engine/#system-workflow) entity. For more information, see the [Instance-Related Entities](/refguide/workflow-engine/#instance) section in *Workflow Engine*. +An element calling this event should be placed in a data container connected to the [System.Workflow](/refguide10/workflow-engine/#system-workflow) entity. For more information, see the [Instance-Related Entities](/refguide10/workflow-engine/#instance) section in *Workflow Engine*. ### Show User Task Page {#show-user-task-page} -**Show user task page** opens an overview page set for the [user task](/refguide/user-task/) in properties. An element calling this event should be placed in a data container connected to the **System.WorkflowUserTask** entity. +**Show user task page** opens an overview page set for the [user task](/refguide10/user-task/) in properties. An element calling this event should be placed in a data container connected to the **System.WorkflowUserTask** entity. The following properties are specific for this event: -* **Auto-assign** – Assigns the [user task](/refguide/user-task/) automatically to the user who has opened the task page if the [user task](/refguide/user-task/) has not been assigned to anyone yet. This option is enabled by default. +* **Auto-assign** – Assigns the [user task](/refguide10/user-task/) automatically to the user who has opened the task page if the [user task](/refguide10/user-task/) has not been assigned to anyone yet. This option is enabled by default. {{% alert color="info" %}}Only the user who is assigned to the task can complete it (otherwise, it results in a Runtime error). If you choose to not automatically assign the user to the task when the page is opened, make sure that the user is assigned before the task is completed. For example, you can add the **Assign to me** button to the page. {{% /alert %}} * **Who can open** – Specifies who is able to open the user task page when a user has already been assigned to it. * **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](/refguide/user-task/) can open the user task page. 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. + * **Users with access** – All users who have access to the [user task](/refguide10/user-task/) can open the user task page. 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. -For more information, see the [Instance-Related Entities](/refguide/workflow-engine/#instance) section in *Workflow Engine*. +For more information, see the [Instance-Related Entities](/refguide10/workflow-engine/#instance) section in *Workflow Engine*. ### Complete User Task {#complete-task} The **Complete user task** event marks the specified user task in the workflow as completed. -An element calling this event should be placed in a data container connected to the [System.WorkflowUserTask](/refguide/workflow-engine/#system-workflow-user-task) entity. +An element calling this event should be placed in a data container connected to the [System.WorkflowUserTask](/refguide10/workflow-engine/#system-workflow-user-task) entity. The following properties are specific for this event: -* **User task** – The [user task](/refguide/user-task/) that should be marked as completed. -* **Outcome** – Lists the outcomes of the selected [user task](/refguide/user-task/) and follows the selected outcome. If the user task has only one outcome, the **Default** is set as an outcome and the property cannot be edited. +* **User task** – The [user task](/refguide10/user-task/) that should be marked as completed. +* **Outcome** – Lists the outcomes of the selected [user task](/refguide10/user-task/) and follows the selected outcome. If the user task has only one outcome, the **Default** is set as an outcome and the property cannot be edited. * **Close page** – Specifies whether the current page should be closed. * **Commit** – Specifies whether the data container object should be committed when marking the task as completed. ## Read More -* [Pages](/refguide/pages/) -* [Page](/refguide/page/) +* [Pages](/refguide10/pages/) +* [Page](/refguide10/page/) diff --git a/content/en/docs/refguide10/modeling/pages/page-resources/_index.md b/content/en/docs/refguide10/modeling/pages/page-resources/_index.md index eec9f7d4395..8bab94db358 100644 --- a/content/en/docs/refguide10/modeling/pages/page-resources/_index.md +++ b/content/en/docs/refguide10/modeling/pages/page-resources/_index.md @@ -1,6 +1,6 @@ --- title: "Page Resources" -url: /refguide/page-resources/ +url: /refguide10/page-resources/ weight: 12 --- @@ -10,19 +10,19 @@ The main difference between a page and page resources is that page is an indepen You can add the following page resources: -* [Image collection](/refguide/image-collection/) -* [Layout](/refguide/layout/) -* [Menu](/refguide/menu/) -* [Snippet](/refguide/snippet/) -* [Building block](/refguide/building-block/) -* [Page template](/refguide/page-templates/) -* [Icon collection](/refguide/icon-collection/) +* [Image collection](/refguide10/image-collection/) +* [Layout](/refguide10/layout/) +* [Menu](/refguide10/menu/) +* [Snippet](/refguide10/snippet/) +* [Building block](/refguide10/building-block/) +* [Page template](/refguide10/page-templates/) +* [Icon collection](/refguide10/icon-collection/) ## Adding Page Resources To add a resource document, do the following: -1. In the [App Explorer](/refguide/app-explorer/), right-click the module or a folder you want to add a resource to and select **Add other**: +1. In the [App Explorer](/refguide10/app-explorer/), right-click the module or a folder you want to add a resource to and select **Add other**: {{< figure src="/attachments/refguide10/modeling/pages/page-resources/app-explorer-page-resources.png" class="no-border" >}} @@ -30,4 +30,4 @@ To add a resource document, do the following: ## Read More -* [Pages](/refguide/pages/) +* [Pages](/refguide10/pages/) diff --git a/content/en/docs/refguide10/modeling/pages/page-resources/building-block.md b/content/en/docs/refguide10/modeling/pages/page-resources/building-block.md index 005886f3f68..e1b197ce0c5 100644 --- a/content/en/docs/refguide10/modeling/pages/page-resources/building-block.md +++ b/content/en/docs/refguide10/modeling/pages/page-resources/building-block.md @@ -1,6 +1,6 @@ --- title: "Building Block" -url: /refguide/building-block/ +url: /refguide10/building-block/ weight: 5 #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. --- @@ -9,7 +9,7 @@ weight: 5 Building blocks are components that can be re-used to streamline the page creation process. By pre-configuring and styling building blocks, users can easily click together interfaces without having to worry about the details of styling guidelines or user experience. -Building blocks are stored in the app's [UI resources package](/refguide/ui-resources-package/). This keeps them in sync with the app theme, and provides a handy place to consolidate all design-related data. +Building blocks are stored in the app's [UI resources package](/refguide10/ui-resources-package/). This keeps them in sync with the app theme, and provides a handy place to consolidate all design-related data. To create a building block, simply right-click a widget anywhere in your app in Studio Pro and select **Create building block**. The widget along with its contents will be added as a new building block. The building block will now automatically appear in the **Building blocks** tab of the **Toolbox**. @@ -47,8 +47,8 @@ The documentation URL can be used to link to a documentation page for the buildi ## Common Properties -{{% snippet file="/static/_includes/refguide/common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/common-section-link.md" %}} ## Designer Properties -{{% snippet file="/static/_includes/refguide/designer-properties.md" %}} +{{% snippet file="/static/_includes/refguide10/designer-properties.md" %}} diff --git a/content/en/docs/refguide10/modeling/pages/page-resources/icon-collection.md b/content/en/docs/refguide10/modeling/pages/page-resources/icon-collection.md index db354747ca2..77d1cd56bdb 100644 --- a/content/en/docs/refguide10/modeling/pages/page-resources/icon-collection.md +++ b/content/en/docs/refguide10/modeling/pages/page-resources/icon-collection.md @@ -1,6 +1,6 @@ --- title: "Icon Collection" -url: /refguide/icon-collection/ +url: /refguide10/icon-collection/ weight: 7 description: "This guide shows you why and how to create an icon collection." --- @@ -9,7 +9,7 @@ description: "This guide shows you why and how to create an icon collection." You can create an icon collection to manage the icons you can use in your app. This is useful if you have a collection of your own brand's icons, as well as if your app uses third-party icons. Icon collections are created from a font. -If you want to use the same set of icons across several apps, you can export and import complete icon collections. For more information, see [Importing and Exporting Apps, Modules, Widgets, and Documents](/refguide/import-and-export/). +If you want to use the same set of icons across several apps, you can export and import complete icon collections. For more information, see [Importing and Exporting Apps, Modules, Widgets, and Documents](/refguide10/import-and-export/). ## Adding an Icon Collection diff --git a/content/en/docs/refguide10/modeling/pages/page-resources/image-collection.md b/content/en/docs/refguide10/modeling/pages/page-resources/image-collection.md index 7339f1a155a..a9d047e3b24 100644 --- a/content/en/docs/refguide10/modeling/pages/page-resources/image-collection.md +++ b/content/en/docs/refguide10/modeling/pages/page-resources/image-collection.md @@ -1,6 +1,6 @@ --- title: "Image Collection" -url: /refguide/image-collection/ +url: /refguide10/image-collection/ weight: 1 description: "Why and how to create an image collection" --- @@ -9,12 +9,12 @@ description: "Why and how to create an image collection" If you want to use your own static images within an application, for example for branding or to give your buttons a unique feel, you will need to store them in your app. To do this, you create an **image collection** where you can store your images. -For information on how to use images in your app, see [Images](/refguide/images/). +For information on how to use images in your app, see [Images](/refguide10/images/). -Remember that, if you want to use the same set of custom images in several apps, you can export and import complete image collections, with their images. For more information, see [Importing and Exporting Apps, Modules, Widgets, and Documents](/refguide/import-and-export/). +Remember that, if you want to use the same set of custom images in several apps, you can export and import complete image collections, with their images. For more information, see [Importing and Exporting Apps, Modules, Widgets, and Documents](/refguide10/import-and-export/). {{% alert color="warning" %}} -Too many large static images in your app can lead to performance issues. If you need a lot of large images, you can store them in your database (see [Dynamic Image](/refguide/image-viewer/) for more information). +Too many large static images in your app can lead to performance issues. If you need a lot of large images, you can store them in your database (see [Dynamic Image](/refguide10/image-viewer/) for more information). {{% /alert %}} ## Adding an Image Collection diff --git a/content/en/docs/refguide10/modeling/pages/page-resources/layout/_index.md b/content/en/docs/refguide10/modeling/pages/page-resources/layout/_index.md index e1434cc8f37..1a84ae2e5ce 100644 --- a/content/en/docs/refguide10/modeling/pages/page-resources/layout/_index.md +++ b/content/en/docs/refguide10/modeling/pages/page-resources/layout/_index.md @@ -1,17 +1,17 @@ --- title: "Layout" -url: /refguide/layout/ +url: /refguide10/layout/ weight: 2 #If moving or renaming this doc file, implement a temporary redirect and let the respective team know they should update the URL in the product. See Mapping to Products for more details. --- ## Introduction -Layouts specify what comes where. Each [page](/refguide/page/) is based on a layout. The layout contains widgets and structures that return on every page based on that layout. For example, it is common to put a menu bar widget in a layout so that the menu is visible on all pages. +Layouts specify what comes where. Each [page](/refguide10/page/) is based on a layout. The layout contains widgets and structures that return on every page based on that layout. For example, it is common to put a menu bar widget in a layout so that the menu is visible on all pages. {{< figure src="/attachments/refguide10/modeling/pages/page-resources/layout/layout-example.png" width="400" class="no-border" >}} -A layout consists of content and [placeholders](/refguide/placeholder/). The content is everything that should be present in every page that uses the layout, from navigation bars to sign-out buttons. Placeholders are empty areas that later form the canvas for any pages that make use of the layout. The layout content remains the same in every page, but the placeholders cover what is unique to every individual page. +A layout consists of content and [placeholders](/refguide10/placeholder/). The content is everything that should be present in every page that uses the layout, from navigation bars to sign-out buttons. Placeholders are empty areas that later form the canvas for any pages that make use of the layout. The layout content remains the same in every page, but the placeholders cover what is unique to every individual page. Layouts can be based on other layouts, in which case the generic layout is referred to as the primary layout. If a layout has a primary layout, it can use the placeholders defined in the primary layout to create a more specialized configuration. If a page is based on this specialized layout, it makes use of the placeholders defined in the new layout, ignoring those of the primary layout. This chain can be as long as is necessary, with a generic layout used throughout the app as a primary layout for a more specific data input layout which is, in turn, used as a primary layout for a specialized edit user layout. @@ -54,7 +54,7 @@ For existing layouts, the value is read-only. #### Master Layout {#master-layout} -**Master layout** specifies a layout on which this layout is based. If no primary layout is specified, the layout contains a single widget (for example, a [scroll container](/refguide/scroll-container/)) that defines the structure of pages based on this layout. If a primary layout is specified, this layout fills the gaps defined by the primary layout. You can introduce new gaps in this layout by using [placeholders](/refguide/placeholder/). +**Master layout** specifies a layout on which this layout is based. If no primary layout is specified, the layout contains a single widget (for example, a [scroll container](/refguide10/scroll-container/)) that defines the structure of pages based on this layout. If a primary layout is specified, this layout fills the gaps defined by the primary layout. You can introduce new gaps in this layout by using [placeholders](/refguide10/placeholder/). #### Layout Type {#layout-type} @@ -79,7 +79,7 @@ The **layout type**, determines the purpose of the layout and how a page using t ### Common Section {#common} -{{% snippet file="/static/_includes/refguide/common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/common-section-link.md" %}} ### Designer Section {#designer} @@ -99,16 +99,16 @@ Default value: *600* ### Common Section {#common-styling} -{{% snippet file="/static/_includes/refguide/common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/common-section-link.md" %}} ## Layout Widgets Layouts can contain the following widgets: -* [Layout grid](/refguide/layout-grid/) -* [Scroll container](/refguide/scroll-container/) -* [Placeholder](/refguide/placeholder/) -* [Header](/refguide/header/) -* [Sidebar toggle](/refguide/sidebar-toggle-button/) +* [Layout grid](/refguide10/layout-grid/) +* [Scroll container](/refguide10/scroll-container/) +* [Placeholder](/refguide10/placeholder/) +* [Header](/refguide10/header/) +* [Sidebar toggle](/refguide10/sidebar-toggle-button/) Placeholder, header, and sidebar toggle are unique to layouts, whilst Layout grids and scroll containers can also be used on pages. diff --git a/content/en/docs/refguide10/modeling/pages/page-resources/layout/header.md b/content/en/docs/refguide10/modeling/pages/page-resources/layout/header.md index 2ddbb601c43..fdf6c59d1a3 100644 --- a/content/en/docs/refguide10/modeling/pages/page-resources/layout/header.md +++ b/content/en/docs/refguide10/modeling/pages/page-resources/layout/header.md @@ -1,21 +1,21 @@ --- title: "Header" -url: /refguide/header/ +url: /refguide10/header/ weight: 20 #If moving or renaming this doc file, implement a temporary redirect and let the respective team know they should update the URL in the product. See Mapping to Products for more details. --- ## Introduction -A **header** combines the functionality of a page title and a control bar for your page. Due to its compact design and versatility it is often used in mobile pages. A header can only be used in a [layout](/refguide/layout/). +A **header** combines the functionality of a page title and a control bar for your page. Due to its compact design and versatility it is often used in mobile pages. A header can only be used in a [layout](/refguide10/layout/). -Headers consist of three distinct elements: a page title and a left and right [drop-zone](/refguide/page/#add-elements). The page title is indicated by the text `[Page title]`. The drop-zones cannot be seen by default, but they can be selected and also become visible when they have elements dropped into them. +Headers consist of three distinct elements: a page title and a left and right [drop-zone](/refguide10/page/#add-elements). The page title is indicated by the text `[Page title]`. The drop-zones cannot be seen by default, but they can be selected and also become visible when they have elements dropped into them. For example, the following header has the right drop-zone selected and the user is dropping a button into the left drop-zone. {{< figure src="/attachments/refguide10/modeling/pages/page-resources/layout/header/header-layout.png" class="no-border" >}} -The drop-zones are intended for confirmation buttons, such as an [action button](/refguide/button-widgets/) for creating a new object, but can easily be appropriated for any number of alternate implementations. +The drop-zones are intended for confirmation buttons, such as an [action button](/refguide10/button-widgets/) for creating a new object, but can easily be appropriated for any number of alternate implementations. The page title placeholder is replaced by the page title setting of the page being displayed. @@ -40,14 +40,14 @@ Styling: ### Common Section {#common} -{{% snippet file="/static/_includes/refguide/common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/common-section-link.md" %}} ## Styling ### Design Properties Section {#design-properties} -{{% snippet file="/static/_includes/refguide/design-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/design-section-link.md" %}} ### Common Section {#common-styling} -{{% snippet file="/static/_includes/refguide/common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/common-section-link.md" %}} diff --git a/content/en/docs/refguide10/modeling/pages/page-resources/layout/placeholder.md b/content/en/docs/refguide10/modeling/pages/page-resources/layout/placeholder.md index 728c410e418..91ddef556b4 100644 --- a/content/en/docs/refguide10/modeling/pages/page-resources/layout/placeholder.md +++ b/content/en/docs/refguide10/modeling/pages/page-resources/layout/placeholder.md @@ -1,6 +1,6 @@ --- title: "Placeholder" -url: /refguide/placeholder/ +url: /refguide10/placeholder/ weight: 10 #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. --- @@ -9,7 +9,7 @@ weight: 10 A **placeholder** can be used in two ways: -* In a [layout](/refguide/layout/) to define a "gap" that can be filled in a [page](/refguide/page/) based on that layout +* In a [layout](/refguide10/layout/) to define a "gap" that can be filled in a [page](/refguide10/page/) based on that layout * In a layout that defines the layout as a primary layout Each placeholder is colored blue with its name displayed in the middle of it. The placeholder named **Main** is always shown in a darker shade of blue. @@ -32,4 +32,4 @@ When a user switches a page from one layout to another, the placeholder names wi Because of this, user experience can be improved significantly if all of an app's layouts adhere to the same or a similar naming scheme. This will ensure layouts can be alternated freely without having to consider the effect on the content of each individual placeholder. -The placeholder naming scheme also has an impact on [page templates](/refguide/page-templates/). When creating a new page, the template will map its content based on the names of the placeholders in its preview layout. Consequently, a template might describe the content for a placeholder that is not available in the selected layout. To prevent this, a compatible layout is automatically pre-selected when clicking a page template in the create new page dialog. If an incompatible layout is then selected manually, all the content for the missing placeholders will be discarded. +The placeholder naming scheme also has an impact on [page templates](/refguide10/page-templates/). When creating a new page, the template will map its content based on the names of the placeholders in its preview layout. Consequently, a template might describe the content for a placeholder that is not available in the selected layout. To prevent this, a compatible layout is automatically pre-selected when clicking a page template in the create new page dialog. If an incompatible layout is then selected manually, all the content for the missing placeholders will be discarded. diff --git a/content/en/docs/refguide10/modeling/pages/page-resources/layout/sidebar-toggle-button.md b/content/en/docs/refguide10/modeling/pages/page-resources/layout/sidebar-toggle-button.md index 87cee30a381..f917414dc76 100644 --- a/content/en/docs/refguide10/modeling/pages/page-resources/layout/sidebar-toggle-button.md +++ b/content/en/docs/refguide10/modeling/pages/page-resources/layout/sidebar-toggle-button.md @@ -1,6 +1,6 @@ --- title: "Sidebar Toggle" -url: /refguide/sidebar-toggle-button/ +url: /refguide10/sidebar-toggle-button/ weight: 30 #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. --- @@ -9,10 +9,10 @@ weight: 30 {{% alert color="info" %}}Sidebar toggles are not supported on native mobile pages, as scroll container regions are not supported.{{% /alert %}} -A **sidebar toggle** is a button that when pressed will make either a left or a right region of a [scroll container](/refguide/scroll-container/) appear or disappear. This makes it possible to create a sidebar that is hidden by default and can be shown by clicking the button. +A **sidebar toggle** is a button that when pressed will make either a left or a right region of a [scroll container](/refguide10/scroll-container/) appear or disappear. This makes it possible to create a sidebar that is hidden by default and can be shown by clicking the button. {{% alert color="info" %}} -You can only have one sidebar toggle in a scroll container, and the behavior of the sidebar toggle is configured in the [scroll container region](/refguide/scroll-container/#region) properties. +You can only have one sidebar toggle in a scroll container, and the behavior of the sidebar toggle is configured in the [scroll container region](/refguide10/scroll-container/#region) properties. {{% /alert %}} For example, the image below shows for an example layout that uses the sidebar toggle to hide and make visible the **Left** region of the **Scroll Container**. @@ -44,7 +44,7 @@ The **Caption** property defines a text that will be shown on the sidebar toggle #### Tooltip -The **Tooltip** property determines a text end-users will see in the tooltip that appears when they hover over the sidebar toggle. The tooltip text is translatable. For more information on translatable texts, see [Language Menu](/refguide/translatable-texts/). If the tooltip is not specified, no tooltip will be shown when hovering over the sidebar toggle. +The **Tooltip** property determines a text end-users will see in the tooltip that appears when they hover over the sidebar toggle. The tooltip text is translatable. For more information on translatable texts, see [Language Menu](/refguide10/translatable-texts/). If the tooltip is not specified, no tooltip will be shown when hovering over the sidebar toggle. #### Icon {#icon} @@ -79,18 +79,18 @@ The **Button style** property applies a predefined styling to the sidebar toggle ### Visibility Section {#visibility} -{{% snippet file="/static/_includes/refguide/visibility-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/visibility-section-link.md" %}} ### Common Section {#common} -{{% snippet file="/static/_includes/refguide/common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/common-section-link.md" %}} ## Styling ### Design Properties Section {#design-properties} -{{% snippet file="/static/_includes/refguide/design-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/design-section-link.md" %}} ### Common Section {#common-styling} -{{% snippet file="/static/_includes/refguide/common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/common-section-link.md" %}} diff --git a/content/en/docs/refguide10/modeling/pages/page-resources/menu.md b/content/en/docs/refguide10/modeling/pages/page-resources/menu.md index 9d9c3480c0a..0e775d91db7 100644 --- a/content/en/docs/refguide10/modeling/pages/page-resources/menu.md +++ b/content/en/docs/refguide10/modeling/pages/page-resources/menu.md @@ -1,22 +1,22 @@ --- title: "Menu" -url: /refguide/menu/ +url: /refguide10/menu/ weight: 3 aliases: - - /refguide/menu-item.html - - /refguide/menu-item + - /refguide10/menu-item.html + - /refguide10/menu-item #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. #The anchor below is mapped, so it should not be removed or changed. --- ## Introduction -A menu document defines a navigation menu that can be used by a [menu widget](/refguide/menu-widgets/). Typically the main menus for your application are defined in device types, while you use menu documents for auxiliary menus, for example, a side bar. +A menu document defines a navigation menu that can be used by a [menu widget](/refguide10/menu-widgets/). Typically the main menus for your application are defined in device types, while you use menu documents for auxiliary menus, for example, a side bar. A menu consists of a list of menu items, which optionally contain sub-items. Depending on the widget a number of levels are allowed. {{% alert color="info" %}} -If [security](/refguide/app-security/) is enabled, the menu will only show items that the user has access to. +If [security](/refguide10/app-security/) is enabled, the menu will only show items that the user has access to. {{% /alert %}} ## Menu Item {#menu-item} @@ -27,8 +27,8 @@ Menus are composed of menu items. Menu items can contain a number of sub-items. A menu item or a sub-item has the following general properties: -* Caption – The caption is the text that will appear in the [menu widget](/refguide/menu-widgets/). Caption is a translatable text. (For more information, see [Language Menu](/refguide/translatable-texts/).) -* Icon – You can select a glyphicon (a character in a special font that stays sharp while scaling) or an image that will appear next to or above the caption in the [menu widget](/refguide/menu-widgets/). +* Caption – The caption is the text that will appear in the [menu widget](/refguide10/menu-widgets/). Caption is a translatable text. (For more information, see [Language Menu](/refguide10/translatable-texts/).) +* Icon – You can select a glyphicon (a character in a special font that stays sharp while scaling) or an image that will appear next to or above the caption in the [menu widget](/refguide10/menu-widgets/). * Alternative text - You can specify alternative text if a caption is not provided. This will allow screen readers to announce a description for an icon. * On click – Action to be performed when the item is clicked. A menu item that has sub-items cannot have an on click event. @@ -36,6 +36,6 @@ A menu item or a sub-item has the following general properties: ## Read More -* [Pages](/refguide/pages/) -* [Menus and Navigation](/refguide/menu-widgets/) -* [Triggering a Microflow from a Menu Item](/refguide/triggering-microflow-from-menu-item/) +* [Pages](/refguide10/pages/) +* [Menus and Navigation](/refguide10/menu-widgets/) +* [Triggering a Microflow from a Menu Item](/refguide10/triggering-microflow-from-menu-item/) diff --git a/content/en/docs/refguide10/modeling/pages/page-resources/page-templates.md b/content/en/docs/refguide10/modeling/pages/page-resources/page-templates.md index b68a1ca92a2..6d7e3dbbb6c 100644 --- a/content/en/docs/refguide10/modeling/pages/page-resources/page-templates.md +++ b/content/en/docs/refguide10/modeling/pages/page-resources/page-templates.md @@ -1,10 +1,10 @@ --- title: "Page Template" -url: /refguide/page-templates/ +url: /refguide10/page-templates/ weight: 6 aliases: - - /refguide/page-template.html - - /refguide/page-template + - /refguide10/page-template.html + - /refguide10/page-template #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. --- @@ -18,7 +18,7 @@ When creating a new page, the user is presented with an overview of all the comp By mapping out the common design patterns of an app, a great deal of the initial work involved in creating new pages can be mitigated. -Generally, page templates are stored in the app's [UI resources package](/refguide/ui-resources-package/). This keeps them in sync with the app theme, as well as providing a handy place to consolidate all design-related data. +Generally, page templates are stored in the app's [UI resources package](/refguide10/ui-resources-package/). This keeps them in sync with the app theme, as well as providing a handy place to consolidate all design-related data. To create a page template, right-click a page in either the **App Explorer** or an empty section of the working area and select **Create page template**. The page will be added as a new page template, which will automatically make it available in the **Create Page** wizard. @@ -28,11 +28,11 @@ Page template properties are described in the sections below. ## Common Properties -{{% snippet file="/static/_includes/refguide/common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/common-section-link.md" %}} ## Designer Properties -{{% snippet file="/static/_includes/refguide/designer-properties.md" %}} +{{% snippet file="/static/_includes/refguide10/designer-properties.md" %}} ## General Properties @@ -66,10 +66,10 @@ This setting may also place extra restrictions on the template. Page templates i ### Layout Type -[Layouts](/refguide/layout/) are all assigned a type in their properties. This type determines in which profiles the layout can be used. To ensure that a user can always map a page template to a compatible layout during page creation, a page template must be assigned one of these same layout types. In practice, this setting will affect in which profile tab of the **Create Page** wizard the page template is displayed. Additionally, it will automatically restrict the default layout setting to layouts of the same type. +[Layouts](/refguide10/layout/) are all assigned a type in their properties. This type determines in which profiles the layout can be used. To ensure that a user can always map a page template to a compatible layout during page creation, a page template must be assigned one of these same layout types. In practice, this setting will affect in which profile tab of the **Create Page** wizard the page template is displayed. Additionally, it will automatically restrict the default layout setting to layouts of the same type. ### Preview Layout -Although page templates and layouts can be mixed and matched, this setting will determine which layout will be used to display the template in the editor. It also has a minor effect on the page creation process: if the template describes contents for layout [placeholders](/refguide/placeholder/) that are not present in the previously selected layout, the first compatible layout will be pre-selected in the **Create Page** wizard. For a full description of the interaction between a page template and its preview layout, see [Layout](/refguide/layout/). +Although page templates and layouts can be mixed and matched, this setting will determine which layout will be used to display the template in the editor. It also has a minor effect on the page creation process: if the template describes contents for layout [placeholders](/refguide10/placeholder/) that are not present in the previously selected layout, the first compatible layout will be pre-selected in the **Create Page** wizard. For a full description of the interaction between a page template and its preview layout, see [Layout](/refguide10/layout/). The options available for this setting are regulated by the layout type setting. If you are having trouble finding the layout you are looking for, check if the layout type of the template and the desired layout match. diff --git a/content/en/docs/refguide10/modeling/pages/page-resources/snippet.md b/content/en/docs/refguide10/modeling/pages/page-resources/snippet.md index 1e3fd16f1d2..263620a3beb 100644 --- a/content/en/docs/refguide10/modeling/pages/page-resources/snippet.md +++ b/content/en/docs/refguide10/modeling/pages/page-resources/snippet.md @@ -1,17 +1,17 @@ --- title: "Snippet" -url: /refguide/snippet/ +url: /refguide10/snippet/ weight: 4 #If moving or renaming this doc file, implement a temporary redirect and let the respective team know they should update the URL in the product. See Mapping to Products for more details. --- ## Introduction -Snippets define reusable interface parts. They can be used on [pages](/refguide/page/), [layouts](/refguide/layout/) and even other snippets. By using snippets, you can make changes in fewer places when you modify the interface. For example, you can have a snippet that is used both in the contents area of a template grid and in a data view. If you change something in the snippet, that change will show up in both places. +Snippets define reusable interface parts. They can be used on [pages](/refguide10/page/), [layouts](/refguide10/layout/) and even other snippets. By using snippets, you can make changes in fewer places when you modify the interface. For example, you can have a snippet that is used both in the contents area of a template grid and in a data view. If you change something in the snippet, that change will show up in both places. There are two ways to create a snippet: -* You can add a new empty snippet (see [Page Resources](/refguide/page-resources/)). +* You can add a new empty snippet (see [Page Resources](/refguide10/page-resources/)). * You can extract a snippet from a widget on an existing document (see [Extract Snippet](#extract-snippet)). A snippet expects zero or more parameters. To change the parameters of the snippet, click the **Parameters** button in the top bar. This opens a dialog box which allows you to add, modify, and remove parameters. The **Parameters** button shows the current number of parameters in its caption, while its tooltip shows the name and type of each parameter. For more information about snippet parameters, see the [Parameters](#parameters) section in snippet properties. @@ -40,24 +40,24 @@ The values for the platform property are: ### Common Section {#common} -{{% snippet file="/static/_includes/refguide/common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/common-section-link.md" %}} ### Data Section {#data} #### Parameters {#parameters} -**Snippet Parameters** works the same way as [Page Parameter](/refguide/page-properties/#parameters) with the difference that a snippet's parameter can be accessed at the top level, for example when creating expressions or selecting attributes. +**Snippet Parameters** works the same way as [Page Parameter](/refguide10/page-properties/#parameters) with the difference that a snippet's parameter can be accessed at the top level, for example when creating expressions or selecting attributes. #### Variables {#variables} -The list of **Variables** defined on the snippet. Variables are non-persistent, primitive values that can be used as attributes by widgets in the snippet. They behave the same as [variables on pages](/refguide/page-properties/#variables), with the exception that default values cannot reference snippet parameters. +The list of **Variables** defined on the snippet. Variables are non-persistent, primitive values that can be used as attributes by widgets in the snippet. They behave the same as [variables on pages](/refguide10/page-properties/#variables), with the exception that default values cannot reference snippet parameters. {{% alert color="info" %}} [Snippet extraction](#extract-snippet) does not automatically recreate variables in the resulting snippet. Missing variables must be added manually. {{% /alert %}} {{% alert color="info" %}} -[Inlining a snippet](/refguide/snippet-call/#inline-snippet) does not automatically create variables on a page. Missing variables must be added manually. If the snippet and the page have identically named variables, then references will automatically carry over. +[Inlining a snippet](/refguide10/snippet-call/#inline-snippet) does not automatically create variables on a page. Missing variables must be added manually. If the snippet and the page have identically named variables, then references will automatically carry over. {{% /alert %}} ### Designer Section {#designer} @@ -117,4 +117,4 @@ Widgets that are configured with variables cannot be successfully extracted. ## Read More -* [Snippet Call](/refguide/snippet-call/) +* [Snippet Call](/refguide10/snippet-call/) diff --git a/content/en/docs/refguide10/modeling/pages/page/_index.md b/content/en/docs/refguide10/modeling/pages/page/_index.md index 46b58e8c22e..3f2073c174d 100644 --- a/content/en/docs/refguide10/modeling/pages/page/_index.md +++ b/content/en/docs/refguide10/modeling/pages/page/_index.md @@ -1,6 +1,6 @@ --- title: "Page" -url: /refguide/page/ +url: /refguide10/page/ weight: 10 #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. --- @@ -8,10 +8,10 @@ weight: 10 ## Introduction {{% alert color="info" %}} -This document describes basic functions you can perform in the page editor and its modes. For details on what pages are for and what kind of widgets can be placed on them, see [Pages](/refguide/pages/). +This document describes basic functions you can perform in the page editor and its modes. For details on what pages are for and what kind of widgets can be placed on them, see [Pages](/refguide10/pages/). {{% /alert %}} -Pages define the end-user interface of a Mendix application. Every page is based on a [layout](/refguide/layout/). A page fills the "gaps" defined by a layout with widgets such as the [data view](/refguide/data-view/) and [data grid](/refguide/data-grid/). +Pages define the end-user interface of a Mendix application. Every page is based on a [layout](/refguide10/layout/). A page fills the "gaps" defined by a layout with widgets such as the [data view](/refguide10/data-view/) and [data grid](/refguide10/data-grid/). ## Performing Basic Functions @@ -29,7 +29,7 @@ You can perform the following basic functions when working in the page editor: To open a page in Studio Pro, do the following: -1. In the [App Explorer](/refguide/app-explorer/), open a module where this page is located. +1. In the [App Explorer](/refguide10/app-explorer/), open a module where this page is located. 2. Navigate to the page's location inside the module. A page can be listed as an individual element or be included in the **Pages** folder: {{< figure src="/attachments/refguide10/modeling/pages/page/app-explorer-pages.png" class="no-border" >}} @@ -41,12 +41,12 @@ The selected page is opened. ### Creating a Page {{% alert color="info" %}} -In Studio Pro 10.21 and above, you can use Maia Page Generator, an AI-powered tool, to create pages by providing a description of your requirements and optional images. For more information, see [Page Generator](/refguide/page-generator/). +In Studio Pro 10.21 and above, you can use Maia Page Generator, an AI-powered tool, to create pages by providing a description of your requirements and optional images. For more information, see [Page Generator](/refguide10/page-generator/). {{% /alert %}} To create a new page, do the following: -1. In the [App Explorer](/refguide/app-explorer/), right-click the module or a folder you want to create a page in and select **Add page**: +1. In the [App Explorer](/refguide10/app-explorer/), right-click the module or a folder you want to create a page in and select **Add page**: {{< figure src="/attachments/refguide10/modeling/pages/page/add-page.png" class="no-border" >}} @@ -62,7 +62,7 @@ A new page is created. To delete a page, do the following: -1. In the [App Explorer](/refguide/app-explorer/), select a page you would like to delete and right-click it. +1. In the [App Explorer](/refguide10/app-explorer/), select a page you would like to delete and right-click it. 2. In the displayed list, select **Delete** and confirm your choice by clicking **Delete** in the pop-up dialog. The selected page is deleted. @@ -70,7 +70,7 @@ The selected page is deleted. ### Adding Elements on a Page {#add-elements} {{% alert color="info" %}} -In Studio Pro 10.18 and above, you can also add elements through Maia UI Recommender in **Design mode**. It allows you to easily add new widgets to a page without losing the context of what you are currently working on. For more information, see [UI Recommender](/refguide/ui-recommender/). +In Studio Pro 10.18 and above, you can also add elements through Maia UI Recommender in **Design mode**. It allows you to easily add new widgets to a page without losing the context of what you are currently working on. For more information, see [UI Recommender](/refguide10/ui-recommender/). {{% /alert %}} The way you can add an element on a page depends on a mode you are editing your page in. For more information on modes, see the [Page Editor Modes](#page-editor-modes) section. @@ -133,7 +133,7 @@ To delete an element from a page, select this element and press Delete}} -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*. +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](/refguide10/preferences-dialog/#default-page-editor) section in *Preferences*. Both modes allow you to edit your page by doing the following: @@ -155,7 +155,7 @@ Both modes allow you to edit your page by doing the following: * Viewing and editing properties of each widget in the **Properties** pane * Opening a **Properties** dialog box from the menu you get when you right-click the widget -Additionally, the [Page Explorer](/refguide/page-explorer/) can be used in combination with **Structure mode** or **Design mode**, which shows a tree view of your page structure and contains the same editing capabilities. +Additionally, the [Page Explorer](/refguide10/page-explorer/) can be used in combination with **Structure mode** or **Design mode**, which shows a tree view of your page structure and contains the same editing capabilities. ### Structure Mode {#structure-mode} @@ -181,7 +181,7 @@ In **Structure mode**, the page widgets are laid out so that it is easy to see t In **Design mode**, the page is laid out as it will appear when published so that it is easy to see the spatial relationship between the elements. {{% alert color="info" %}} -It is recommended to use it in combination with the [Page Explorer](/refguide/page-explorer/), which allows to see and select structural elements that are hidden in **Design mode** due to styling. +It is recommended to use it in combination with the [Page Explorer](/refguide10/page-explorer/), which allows to see and select structural elements that are hidden in **Design mode** due to styling. {{% /alert %}} For example, the example page shown in [Structure mode](#structure-mode), above, will look like this in **Design mode** for a desktop: @@ -225,7 +225,7 @@ Here is the same page with **X-ray mode** enabled: ## Read More -* [Pages](/refguide/pages/) -* [Page Properties](/refguide/page-properties/) -* [Page Explorer](/refguide/page-explorer/) -* [UI Recommender](/refguide/ui-recommender/) +* [Pages](/refguide10/pages/) +* [Page Properties](/refguide10/page-properties/) +* [Page Explorer](/refguide10/page-explorer/) +* [UI Recommender](/refguide10/ui-recommender/) diff --git a/content/en/docs/refguide10/modeling/pages/page/page-properties.md b/content/en/docs/refguide10/modeling/pages/page/page-properties.md index b3e61e747c0..42a881058ae 100644 --- a/content/en/docs/refguide10/modeling/pages/page/page-properties.md +++ b/content/en/docs/refguide10/modeling/pages/page/page-properties.md @@ -1,12 +1,12 @@ --- title: "Page Properties" -url: /refguide/page-properties/ +url: /refguide10/page-properties/ weight: 10 --- ## Introduction -This document describes page properties. For details on what pages are for and what kind of widgets can be placed on them, see [Pages](/refguide/pages/). +This document describes page properties. For details on what pages are for and what kind of widgets can be placed on them, see [Pages](/refguide10/pages/). ## Properties Pane {#properties-pane} @@ -51,13 +51,13 @@ The **Layout type**, determines the purpose of the page and how it is opened. #### Layout -The [layout](/refguide/layout/) on which this page is based. +The [layout](/refguide10/layout/) on which this page is based. #### Title {#title} -The title of the page that is shown using the [page title widget](/refguide/page-title/). If the page is shown in a pop-up window, the title appears in the title bar of the pop-up. +The title of the page that is shown using the [page title widget](/refguide10/page-title/). If the page is shown in a pop-up window, the title appears in the title bar of the pop-up. -The title can be overridden. For example, the [Create button](/refguide/control-bar/) and the [Edit button](/refguide/control-bar/) of a data grid can refer to the same page, but they override the titles to **New** and **Edit**, respectively. +The title can be overridden. For example, the [Create button](/refguide10/control-bar/) and the [Edit button](/refguide10/control-bar/) of a data grid can refer to the same page, but they override the titles to **New** and **Edit**, respectively. #### URL {#url} @@ -85,13 +85,13 @@ In simple e-commerce applications, the URLs can be configured as follows: ### Common Section {#common} -{{% snippet file="/static/_includes/refguide/common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/common-section-link.md" %}} ### Data Section {#data} #### Parameters {#parameters} -The list of parameters that this page expects. These parameters can be used by [data views](/refguide/data-view/) with a page parameter data source. +The list of parameters that this page expects. These parameters can be used by [data views](/refguide10/data-view/) with a page parameter data source. A page parameter is an input that needs to be passed from the calling page, microflow, or nanoflow to the current page. Page parameters determine information that can be reused on the page. For example, if you want to build an **Employee_Details_Edit** page, the page will have a parameter **Employee**. Thus when this page is called an Employee object needs to be passed to it to show the corresponding Employee data. @@ -99,7 +99,7 @@ You can also use multiple page parameters. Multiple page parameters allow you to #### Variables {#variables} -The list of variables defined on this page. The variables can be used by widgets directly without the need for a [data view](/refguide/data-view/). +The list of variables defined on this page. The variables can be used by widgets directly without the need for a [data view](/refguide10/data-view/). Variables represent non-persistent, primitive values that are available to widgets on a page. Widgets can read and write to them as they were attributes, supporting features like formatting and validation. Variables are also available in expressions, so you can use them for page logic, such as conditional visibility, editability, text template parameters, and as arguments to microflows and nanoflows. @@ -112,7 +112,7 @@ Variables for pages were introduced in Mendix Studio Pro 10.21. {{% /alert %}} {{% alert color="info" %}} -For apps with [React Client](/refguide/mendix-client/react/) set to **Yes** or **Migration mode**, all widgets can use variables. When set to **No**, widgets built with Dojo cannot use variables. If present, unsupported widgets will be listed on the variables dialog. +For apps with [React Client](/refguide10/mendix-client/react/) set to **Yes** or **Migration mode**, all widgets can use variables. When set to **No**, widgets built with Dojo cannot use variables. If present, unsupported widgets will be listed on the variables dialog. Note that Dojo widgets may affect neighboring widgets as well. For example, they may lose their ability to use variables in conditional visibility expressions. To counteract this, the affected widget can be wrapped in a container. {{% /alert %}} @@ -129,15 +129,15 @@ By setting the property **Mark as used** to *Yes*, you specify that the document ### Designer Section {#designer} -{{% snippet file="/static/_includes/refguide/designer-properties.md" %}} +{{% snippet file="/static/_includes/refguide10/designer-properties.md" %}} ### Navigation Section {#navigation} #### Visible For -This property defines for what module roles the page is visible. This has an effect on [menus and navigation widgets](/refguide/menu-widgets/) and on buttons that are visible only if allowed (for example, an [action button](/refguide/button-widgets/) for editing). +This property defines for what module roles the page is visible. This has an effect on [menus and navigation widgets](/refguide10/menu-widgets/) and on buttons that are visible only if allowed (for example, an [action button](/refguide10/button-widgets/) for editing). -For more information, see [Module Security](/refguide/module-security/). +For more information, see [Module Security](/refguide10/module-security/). ### Pop-Up Section {#pop-up} @@ -173,4 +173,4 @@ Default: *Default (cancel)* ### Common Section {#common-styling} -{{% snippet file="/static/_includes/refguide/common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/common-section-link.md" %}} diff --git a/content/en/docs/refguide10/modeling/pages/structure-widgets/_index.md b/content/en/docs/refguide10/modeling/pages/structure-widgets/_index.md index 062129341fa..31fdf24fece 100644 --- a/content/en/docs/refguide10/modeling/pages/structure-widgets/_index.md +++ b/content/en/docs/refguide10/modeling/pages/structure-widgets/_index.md @@ -1,6 +1,6 @@ --- title: "Structure" -url: /refguide/structure-widgets/ +url: /refguide10/structure-widgets/ weight: 25 --- @@ -8,43 +8,43 @@ weight: 25 Structure widgets provide structure to your page's content. -* [Layout grid](/refguide/layout-grid/) – gives structure to your pages, has a built-in behavior to show how a page will look like on different devices: +* [Layout grid](/refguide10/layout-grid/) – gives structure to your pages, has a built-in behavior to show how a page will look like on different devices: {{< figure src="/attachments/refguide10/modeling/pages/structure-widgets/layout-grid-example.png" alt="Layout Grid Example" class="no-border" >}} -* [Container](/refguide/container/) – a layout element where you can place a widget or a group of widgets and simultaneously style, drag or delete them: +* [Container](/refguide10/container/) – a layout element where you can place a widget or a group of widgets and simultaneously style, drag or delete them: {{< figure src="/attachments/refguide10/modeling/pages/structure-widgets/container-example.png" alt="Container Example" class="no-border" >}} -* [Group box](/refguide/group-box/) – groups widgets together, can be configured to collapse or expand with all elements inside it: +* [Group box](/refguide10/group-box/) – groups widgets together, can be configured to collapse or expand with all elements inside it: {{< figure src="/attachments/refguide10/modeling/pages/structure-widgets/group-box-example.png" alt="Group Box Example" class="no-border" >}} -* [Tab container](/refguide/tab-container/) – shows information categorized into tabs: +* [Tab container](/refguide10/tab-container/) – shows information categorized into tabs: {{< figure src="/attachments/refguide10/modeling/pages/structure-widgets/tab-container-example.png" alt="Tab Container Example" class="no-border" >}} -* [Scroll Container](/refguide/scroll-container/) – divides layout into regions, such as a header, sidebar, or footer. In the example below a scroll container is used to structure a pop-up page layout with a header and a footer: +* [Scroll Container](/refguide10/scroll-container/) – divides layout into regions, such as a header, sidebar, or footer. In the example below a scroll container is used to structure a pop-up page layout with a header and a footer: {{< figure src="/attachments/refguide10/modeling/pages/structure-widgets/scroll-container-example.png" alt="Scroll Container Example" class="no-border" >}} -* [Table](/refguide/table/) – consists of a number of rows and columns; each table cell can contain widgets. In the example below, some table cells contain widgets and some are still empty: +* [Table](/refguide10/table/) – consists of a number of rows and columns; each table cell can contain widgets. In the example below, some table cells contain widgets and some are still empty: {{< figure src="/attachments/refguide10/modeling/pages/structure-widgets/table-example.png" alt="Table Example" class="no-border" >}} -* [Navigation list](/refguide/navigation-list/) – allows you to select a separate on-click action for each row of this widget: +* [Navigation list](/refguide10/navigation-list/) – allows you to select a separate on-click action for each row of this widget: {{< figure src="/attachments/refguide10/modeling/pages/structure-widgets/navigation-list-example.png" alt="Navigation List Example" class="no-border" >}} -* [Snippet Call](/refguide/snippet-call/) – allows you to use a snippet on another snippet, a page, or a layout +* [Snippet Call](/refguide10/snippet-call/) – allows you to use a snippet on another snippet, a page, or a layout {{< figure src="/attachments/refguide10/modeling/pages/structure-widgets/snippet-call-design-mode-example.png" class="no-border" >}} ## Performing Basic Functions -{{% snippet file="/static/_includes/refguide/performing-basic-functions-widgets.md" %}} +{{% snippet file="/static/_includes/refguide10/performing-basic-functions-widgets.md" %}} ## Read More -* [Page](/refguide/page/) -* [Pages](/refguide/pages/) +* [Page](/refguide10/page/) +* [Pages](/refguide10/pages/) diff --git a/content/en/docs/refguide10/modeling/pages/structure-widgets/container.md b/content/en/docs/refguide10/modeling/pages/structure-widgets/container.md index 52b19c88724..bcd107d6105 100644 --- a/content/en/docs/refguide10/modeling/pages/structure-widgets/container.md +++ b/content/en/docs/refguide10/modeling/pages/structure-widgets/container.md @@ -1,6 +1,6 @@ --- title: "Container" -url: /refguide/container/ +url: /refguide10/container/ weight: 20 #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. --- @@ -55,7 +55,7 @@ The **Render mode** determines which HTML5 tag will be used to show the containe ### Visibility Section {#visibility} -{{% snippet file="/static/_includes/refguide/visibility-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/visibility-section-link.md" %}} ### Events Section {#events} @@ -63,11 +63,11 @@ The **Render mode** determines which HTML5 tag will be used to show the containe The **On-click** property specifies the action that will be executed when the user clicks the container (either with their mouse pointer or by pressing the Enter or Space keys when the container is in focus). -{{% snippet file="/static/_includes/refguide/events-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/events-section-link.md" %}} ### Common Section {#common} -{{% snippet file="/static/_includes/refguide/common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/common-section-link.md" %}} ### Accessibility Section {#accessibility} @@ -82,14 +82,14 @@ This property specifies whether to hide the container from screen readers or not ### Design Properties Section{#design-properties} -{{% snippet file="/static/_includes/refguide/design-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/design-section-link.md" %}} ### Common Section {#common-styling} -{{% snippet file="/static/_includes/refguide/common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/common-section-link.md" %}} ## Read More -* [Page](/refguide/page/) -* [Structure](/refguide/structure-widgets/) -* [Properties Common in the Page Editor](/refguide/common-widget-properties/) +* [Page](/refguide10/page/) +* [Structure](/refguide10/structure-widgets/) +* [Properties Common in the Page Editor](/refguide10/common-widget-properties/) diff --git a/content/en/docs/refguide10/modeling/pages/structure-widgets/group-box.md b/content/en/docs/refguide10/modeling/pages/structure-widgets/group-box.md index b939180d7a7..c7fbcfd8085 100644 --- a/content/en/docs/refguide10/modeling/pages/structure-widgets/group-box.md +++ b/content/en/docs/refguide10/modeling/pages/structure-widgets/group-box.md @@ -1,6 +1,6 @@ --- title: "Group Box" -url: /refguide/group-box/ +url: /refguide10/group-box/ weight: 30 #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. --- @@ -56,24 +56,24 @@ Possible values of this property are the following: ### Visibility Section {#visibility} -{{% snippet file="/static/_includes/refguide/visibility-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/visibility-section-link.md" %}} ### Common Section {#common} -{{% snippet file="/static/_includes/refguide/common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/common-section-link.md" %}} ## Styling ### Design Properties Section {#design-properties} -{{% snippet file="/static/_includes/refguide/design-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/design-section-link.md" %}} ### Common Section {#common-styling} -{{% snippet file="/static/_includes/refguide/common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/common-section-link.md" %}} ## Read More -* [Page](/refguide/page/) -* [Structure](/refguide/structure-widgets/) -* [Properties Common in the Page Editor](/refguide/common-widget-properties/) +* [Page](/refguide10/page/) +* [Structure](/refguide10/structure-widgets/) +* [Properties Common in the Page Editor](/refguide10/common-widget-properties/) diff --git a/content/en/docs/refguide10/modeling/pages/structure-widgets/layout-grid.md b/content/en/docs/refguide10/modeling/pages/structure-widgets/layout-grid.md index 5d665bb8c71..3064e494c10 100644 --- a/content/en/docs/refguide10/modeling/pages/structure-widgets/layout-grid.md +++ b/content/en/docs/refguide10/modeling/pages/structure-widgets/layout-grid.md @@ -1,6 +1,6 @@ --- title: "Layout Grid" -url: /refguide/layout-grid/ +url: /refguide10/layout-grid/ weight: 10 #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. --- @@ -53,7 +53,7 @@ As the layout grid responds to the viewport width, and not to the width of its c ### Common Section {#common-styling} -{{% snippet file="/static/_includes/refguide/common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/common-section-link.md" %}} ## Rows and Their Properties {#rows} @@ -71,7 +71,7 @@ Row properties consist of the following sections: ### Common Section {#row-common} -{{% snippet file="/static/_includes/refguide/common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/common-section-link.md" %}} ### General Section {#row-general} @@ -92,7 +92,7 @@ The **General** section of a row contains the following properties: ### Visibility Section {#row-visibility} -{{% snippet file="/static/_includes/refguide/visibility-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/visibility-section-link.md" %}} ## Columns and Their Properties {#columns} @@ -109,7 +109,7 @@ Layout grid column properties consist of the following sections: ### Common Section {#column-common} -{{% snippet file="/static/_includes/refguide/common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/common-section-link.md" %}} ### General Section {#column-general} @@ -196,6 +196,6 @@ In adding to inserting a new column, you can perform the following actions when ## Read More -* [Page](/refguide/page/) -* [Structure](/refguide/structure-widgets/) -* [Properties Common for Widgets](/refguide/common-widget-properties/) +* [Page](/refguide10/page/) +* [Structure](/refguide10/structure-widgets/) +* [Properties Common for Widgets](/refguide10/common-widget-properties/) diff --git a/content/en/docs/refguide10/modeling/pages/structure-widgets/navigation-list.md b/content/en/docs/refguide10/modeling/pages/structure-widgets/navigation-list.md index 5e520b88f06..d654bd6bd6c 100644 --- a/content/en/docs/refguide10/modeling/pages/structure-widgets/navigation-list.md +++ b/content/en/docs/refguide10/modeling/pages/structure-widgets/navigation-list.md @@ -1,6 +1,6 @@ --- title: "Navigation List" -url: /refguide/navigation-list/ +url: /refguide10/navigation-list/ weight: 70 #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. --- @@ -39,21 +39,21 @@ Miscellaneous: ### Visibility Section {#visibility} -{{% snippet file="/static/_includes/refguide/visibility-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/visibility-section-link.md" %}} ### Common Section {#common} -{{% snippet file="/static/_includes/refguide/common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/common-section-link.md" %}} ## Styling ### Design Properties Section {#design-properties} -{{% snippet file="/static/_includes/refguide/design-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/design-section-link.md" %}} ### Common Section {#common-styling} -{{% snippet file="/static/_includes/refguide/common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/common-section-link.md" %}} ## Miscellaneous @@ -63,18 +63,18 @@ A row in a navigation list is a navigation list item. You can set a separate **O #### Common Section -{{% snippet file="/static/_includes/refguide/common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/common-section-link.md" %}} #### General Section -In the **General** section, you can set a specific on click event for each navigation list item. An on click event defines what action is performed when a user clicks a row. For more information on on click events, see [On Click Event and Events Section](/refguide/on-click-event/). +In the **General** section, you can set a specific on click event for each navigation list item. An on click event defines what action is performed when a user clicks a row. For more information on on click events, see [On Click Event and Events Section](/refguide10/on-click-event/). {{% alert color="info" %}} -Microflows set as an on click event for a navigation list item have no **Execution**, **Confirmation**, or **Advanced** microflow settings. For more information on calling a microflow, see [On Click Event and Events Section](/refguide/on-click-event/#call-microflow). +Microflows set as an on click event for a navigation list item have no **Execution**, **Confirmation**, or **Advanced** microflow settings. For more information on calling a microflow, see [On Click Event and Events Section](/refguide10/on-click-event/#call-microflow). {{% /alert %}} ## Read More -* [Page](/refguide/page/) -* [Structure](/refguide/structure-widgets/) -* [Properties Common in the Page Editor](/refguide/common-widget-properties/) +* [Page](/refguide10/page/) +* [Structure](/refguide10/structure-widgets/) +* [Properties Common in the Page Editor](/refguide10/common-widget-properties/) diff --git a/content/en/docs/refguide10/modeling/pages/structure-widgets/scroll-container.md b/content/en/docs/refguide10/modeling/pages/structure-widgets/scroll-container.md index 956321993a2..d374baf50d4 100644 --- a/content/en/docs/refguide10/modeling/pages/structure-widgets/scroll-container.md +++ b/content/en/docs/refguide10/modeling/pages/structure-widgets/scroll-container.md @@ -1,12 +1,12 @@ --- title: "Scroll Container" -url: /refguide/scroll-container/ +url: /refguide10/scroll-container/ weight: 50 aliases: - - /refguide/horizontal-split-pane.html - - /refguide/vertical-split-pane.html - - /refguide/horizontal-split-pane - - /refguide/vertical-split-pane + - /refguide10/horizontal-split-pane.html + - /refguide10/vertical-split-pane.html + - /refguide10/horizontal-split-pane + - /refguide10/vertical-split-pane #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. --- @@ -87,7 +87,7 @@ Default: *Center* ### Common Section {#common} -{{% snippet file="/static/_includes/refguide/common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/common-section-link.md" %}} ### Regions Section {#region} @@ -96,7 +96,7 @@ Default: *Center* Regions define the content area of a scroll container. For more information see the [Scroll Container Region](#scroll-container-region) section. {{% alert color="info" %}} -If you add regions in a [layout](/refguide/layout/), they will automatically be filled with [placeholders](/refguide/placeholder/). +If you add regions in a [layout](/refguide10/layout/), they will automatically be filled with [placeholders](/refguide10/placeholder/). {{% /alert %}} #### Enable Top @@ -119,11 +119,11 @@ Determines whether the scroll container should contain a right region. ### Design Properties Section {#design-properties} -{{% snippet file="/static/_includes/refguide/design-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/design-section-link.md" %}} ### Common Section {#common-styling} -{{% snippet file="/static/_includes/refguide/common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/common-section-link.md" %}} ## Miscellaneous @@ -141,6 +141,6 @@ You can add and remove all the regions listed above except the center one. ## Read More -* [Page](/refguide/page/) -* [Structure](/refguide/structure-widgets/) -* [Properties Common in the Page Editor](/refguide/common-widget-properties/) +* [Page](/refguide10/page/) +* [Structure](/refguide10/structure-widgets/) +* [Properties Common in the Page Editor](/refguide10/common-widget-properties/) diff --git a/content/en/docs/refguide10/modeling/pages/structure-widgets/snippet-call.md b/content/en/docs/refguide10/modeling/pages/structure-widgets/snippet-call.md index 98660036482..155c080f8e7 100644 --- a/content/en/docs/refguide10/modeling/pages/structure-widgets/snippet-call.md +++ b/content/en/docs/refguide10/modeling/pages/structure-widgets/snippet-call.md @@ -1,13 +1,13 @@ --- title: "Snippet Call" -url: /refguide/snippet-call/ +url: /refguide10/snippet-call/ weight: 40 #If moving or renaming this doc file, implement a temporary redirect and let the respective team know they should update the URL in the product. See Mapping to Products for more details. --- ## Introduction -The **Snippet call** widget allows you to use a [snippet](/refguide/snippet/) on a [page](/refguide/page/), a [layout](/refguide/layout/), or another snippet: +The **Snippet call** widget allows you to use a [snippet](/refguide10/snippet/) on a [page](/refguide10/page/), a [layout](/refguide10/layout/), or another snippet: {{< figure src="/attachments/refguide10/modeling/pages/structure-widgets/snippet-call/snippet-call-example.png" alt="Snippet Call Example" class="no-border" >}} @@ -39,17 +39,17 @@ The **Snippet settings** property opens a dialog box that shows a list of parame ### Common Section {#common} -{{% snippet file="/static/_includes/refguide/common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/common-section-link.md" %}} ## Styling ### Design Properties Section {#design-properties} -{{% snippet file="/static/_includes/refguide/design-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/design-section-link.md" %}} ### Common Section {#common} -{{% snippet file="/static/_includes/refguide/common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/common-section-link.md" %}} ## Performing Specific Actions @@ -65,7 +65,7 @@ When you select **Inline snippet**, Studio Pro will analyze the snippet call to * The snippet call will be replaced by the contents of the snippet * All references to the snippet parameters will be rewritten to refer to the objects to which they are mapped in the **Snippet settings** of the snippet call -This is basically the inverse operation of [Extract Snippet](/refguide/snippet/#extract-snippet). +This is basically the inverse operation of [Extract Snippet](/refguide10/snippet/#extract-snippet). {{% alert color="info" %}} After clicking **Inline snippet**, note that the snippet is not automatically deleted — even if the inlined snippet call was the last remaining usage of the snippet. @@ -87,7 +87,7 @@ In such cases, the inlined content needs to be fixed manually by adding or remov ## Read More -* [Snippet](/refguide/snippet/) -* [Page](/refguide/page/) -* [Structure Widgets](/refguide/structure-widgets/) -* [Properties Common in the Page Editor](/refguide/common-widget-properties/) +* [Snippet](/refguide10/snippet/) +* [Page](/refguide10/page/) +* [Structure Widgets](/refguide10/structure-widgets/) +* [Properties Common in the Page Editor](/refguide10/common-widget-properties/) diff --git a/content/en/docs/refguide10/modeling/pages/structure-widgets/tab-container.md b/content/en/docs/refguide10/modeling/pages/structure-widgets/tab-container.md index 8857ec74b3a..9ce18422b52 100644 --- a/content/en/docs/refguide10/modeling/pages/structure-widgets/tab-container.md +++ b/content/en/docs/refguide10/modeling/pages/structure-widgets/tab-container.md @@ -1,10 +1,10 @@ --- title: "Tab Container" -url: /refguide/tab-container/ +url: /refguide10/tab-container/ weight: 40 aliases: - - /refguide/tab-page.html - - /refguide/tab-page + - /refguide10/tab-page.html + - /refguide10/tab-page #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. #The anchor below is mapped, so it should not be removed or changed. --- @@ -49,21 +49,21 @@ The **On change** action can be used to run an action when the user selects a ta ### Visibility Section {#visibility} -{{% snippet file="/static/_includes/refguide/visibility-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/visibility-section-link.md" %}} ### Common Section {#common} -{{% snippet file="/static/_includes/refguide/common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/common-section-link.md" %}} ## Styling ### Design Properties Section {#design-properties} -{{% snippet file="/static/_includes/refguide/design-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/design-section-link.md" %}} ### Common Section {#common-styling} -{{% snippet file="/static/_includes/refguide/common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/common-section-link.md" %}} ## Tab Page {#tab-page} @@ -101,6 +101,6 @@ To enable scrollable behavior within a specific tab, place the **Tab Content** i ## Read More -* [Page](/refguide/page/) -* [Structure](/refguide/structure-widgets/) -* [Properties Common in the Page Editor](/refguide/common-widget-properties/) +* [Page](/refguide10/page/) +* [Structure](/refguide10/structure-widgets/) +* [Properties Common in the Page Editor](/refguide10/common-widget-properties/) diff --git a/content/en/docs/refguide10/modeling/pages/structure-widgets/table.md b/content/en/docs/refguide10/modeling/pages/structure-widgets/table.md index 4145faaa781..a0eec853327 100644 --- a/content/en/docs/refguide10/modeling/pages/structure-widgets/table.md +++ b/content/en/docs/refguide10/modeling/pages/structure-widgets/table.md @@ -1,6 +1,6 @@ --- title: "Table" -url: /refguide/table/ +url: /refguide10/table/ weight: 60 #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,7 +10,7 @@ weight: 60 ## Introduction -Tables can be used to give structure to a page. They contain [rows](/refguide/table/#rows), columns, and [cells](/refguide/table/#cells). Each cell can contain widgets. +Tables can be used to give structure to a page. They contain [rows](/refguide10/table/#rows), columns, and [cells](/refguide10/table/#cells). Each cell can contain widgets. For example, you can create a table with text widgets, a logo, and a data view information as a customer report: @@ -30,7 +30,7 @@ A row has the following properties: * **Style** – allows you to specify additional CSS styling * **Visible** – allows you to hide an element from a page -For more information on properties listed above, see [Properties Common in the Page Editor](/refguide/common-widget-properties/). +For more information on properties listed above, see [Properties Common in the Page Editor](/refguide10/common-widget-properties/). ### Cells and Their Properties {#cells} @@ -38,9 +38,9 @@ Each section of a table row or column is called a cell. Cells can contain widget A cell has the following properties: -* **Class** – allows you to specify one or more cascading style sheet (CSS) classes (for more information on this property, see [Properties Common in the Page Editor](/refguide/common-widget-properties/)) +* **Class** – allows you to specify one or more cascading style sheet (CSS) classes (for more information on this property, see [Properties Common in the Page Editor](/refguide10/common-widget-properties/)) -* **Style** – allows you to specify additional CSS styling (for more information on this property, see [Properties Common in the Page Editor](/refguide/common-widget-properties/)) +* **Style** – allows you to specify additional CSS styling (for more information on this property, see [Properties Common in the Page Editor](/refguide10/common-widget-properties/)) * **Cell type** – indicates the type of the cell, the following options are possible: @@ -136,24 +136,24 @@ For example, you can you can have three columns of which the first is 200 pixels ### Visibility Section {#visibility} -{{% snippet file="/static/_includes/refguide/visibility-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/visibility-section-link.md" %}} ### Common Section {#common} -{{% snippet file="/static/_includes/refguide/common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/common-section-link.md" %}} ## Styling ### Design Properties Section {#design-properties} -{{% snippet file="/static/_includes/refguide/design-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/design-section-link.md" %}} ### Common Section {#common-styling} -{{% snippet file="/static/_includes/refguide/common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/common-section-link.md" %}} ## Read More -* [Page](/refguide/page/) -* [Structure](/refguide/structure-widgets/) -* [Properties Common in the Page Editor](/refguide/common-widget-properties/) +* [Page](/refguide10/page/) +* [Structure](/refguide10/structure-widgets/) +* [Properties Common in the Page Editor](/refguide10/common-widget-properties/) diff --git a/content/en/docs/refguide10/modeling/pages/text-widgets/_index.md b/content/en/docs/refguide10/modeling/pages/text-widgets/_index.md index 9550c7721de..eb0d95e0f22 100644 --- a/content/en/docs/refguide10/modeling/pages/text-widgets/_index.md +++ b/content/en/docs/refguide10/modeling/pages/text-widgets/_index.md @@ -1,6 +1,6 @@ --- title: "Text" -url: /refguide/text-widgets/ +url: /refguide10/text-widgets/ weight: 20 --- @@ -8,20 +8,20 @@ weight: 20 Text widgets category are used to display textual information to the end-user. This category contains the following widgets: -* [Text](/refguide/text/) – displays a text that can contain parameters: +* [Text](/refguide10/text/) – displays a text that can contain parameters: {{< figure src="/attachments/refguide10/modeling/pages/text-widgets/text-widget-example.png" class="no-border" >}} -* [Label](/refguide/label/) – displays static text (the functionality of this widget is outdated, Mendix recommends using the label property of [input elements](/refguide/input-widgets/) or a text widget instead) -* [Page Title](/refguide/page-title/) – displays page title set in [page properties](/refguide/page-properties/#title) +* [Label](/refguide10/label/) – displays static text (the functionality of this widget is outdated, Mendix recommends using the label property of [input elements](/refguide10/input-widgets/) or a text widget instead) +* [Page Title](/refguide10/page-title/) – displays page title set in [page properties](/refguide10/page-properties/#title) {{< figure src="/attachments/refguide10/modeling/pages/text-widgets/page-title-design-properties-example.png" class="no-border" >}} ## Performing Basic Functions -{{% snippet file="/static/_includes/refguide/performing-basic-functions-widgets.md" %}} +{{% snippet file="/static/_includes/refguide10/performing-basic-functions-widgets.md" %}} ## Read More -* [Page](/refguide/page/) -* [Pages](/refguide/pages/) +* [Page](/refguide10/page/) +* [Pages](/refguide10/pages/) diff --git a/content/en/docs/refguide10/modeling/pages/text-widgets/label.md b/content/en/docs/refguide10/modeling/pages/text-widgets/label.md index 200a011e247..37938133125 100644 --- a/content/en/docs/refguide10/modeling/pages/text-widgets/label.md +++ b/content/en/docs/refguide10/modeling/pages/text-widgets/label.md @@ -1,6 +1,6 @@ --- title: "Label" -url: /refguide/label/ +url: /refguide10/label/ weight: 30 #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,9 +10,9 @@ weight: 30 {{% alert color="warning" %}}The label widget is not supported on native mobile pages.{{% /alert %}} {{% alert color="warning" %}} -For input elements, it is recommended to use the [label property](/refguide/text-box/) to describe the purpose of widgets to end-users. +For input elements, it is recommended to use the [label property](/refguide10/text-box/) to describe the purpose of widgets to end-users. -You can also use the [text widget](/refguide/text/) as it provides more features, for example, you can add parameters, and it generates semantically correct HTML. +You can also use the [text widget](/refguide10/text/) as it provides more features, for example, you can add parameters, and it generates semantically correct HTML. {{% /alert %}} A label shows static text, which describes the purpose of a specific widget to a user. @@ -40,24 +40,24 @@ The **General** section contains the **Caption** property. **Caption** defines t ### Visibility Section {#visibility} -{{% snippet file="/static/_includes/refguide/visibility-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/visibility-section-link.md" %}} ### Common Section {#common} -{{% snippet file="/static/_includes/refguide/common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/common-section-link.md" %}} ## Styling ### Design Properties Section {#design-properties} -{{% snippet file="/static/_includes/refguide/design-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/design-section-link.md" %}} ### Common Section {#common-styling} -{{% snippet file="/static/_includes/refguide/common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/common-section-link.md" %}} ## Read More -* [Page](/refguide/page/) -* [Text Widgets](/refguide/text-widgets/) -* [Properties Common in the Page Editor](/refguide/common-widget-properties/) +* [Page](/refguide10/page/) +* [Text Widgets](/refguide10/text-widgets/) +* [Properties Common in the Page Editor](/refguide10/common-widget-properties/) diff --git a/content/en/docs/refguide10/modeling/pages/text-widgets/page-title.md b/content/en/docs/refguide10/modeling/pages/text-widgets/page-title.md index 8b8fb453414..e9e67c31977 100644 --- a/content/en/docs/refguide10/modeling/pages/text-widgets/page-title.md +++ b/content/en/docs/refguide10/modeling/pages/text-widgets/page-title.md @@ -1,18 +1,18 @@ --- title: "Page Title" -url: /refguide/page-title/ +url: /refguide10/page-title/ weight: 50 #If moving or renaming this doc file, implement a temporary redirect and let the respective team know they should update the URL in the product. See Mapping to Products for more details. --- ## Introduction -This widget displays a page title of the current page that is set in [page properties](/refguide/page-properties/#title). +This widget displays a page title of the current page that is set in [page properties](/refguide10/page-properties/#title). {{< figure src="/attachments/refguide10/modeling/pages/text-widgets/page-title/page-title-example.png" alt="Page Title Example" class="no-border" >}} {{% alert color="info" %}} -The page title widget makes it possible to embed the page title in a [layout](/refguide/layout/), as it will show the title of the page that uses the layout. +The page title widget makes it possible to embed the page title in a [layout](/refguide10/layout/), as it will show the title of the page that uses the layout. {{% /alert %}} ## Properties Pane @@ -33,24 +33,24 @@ Styling ### Visibility Section {#visibility} -{{% snippet file="/static/_includes/refguide/visibility-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/visibility-section-link.md" %}} ### Common Section {#common} -{{% snippet file="/static/_includes/refguide/common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/common-section-link.md" %}} ## Styling ### Design Properties Section {#design-properties} -{{% snippet file="/static/_includes/refguide/design-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/design-section-link.md" %}} ### Common Section {#common-styling} -{{% snippet file="/static/_includes/refguide/common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/common-section-link.md" %}} ## Read More -* [Page](/refguide/page/) -* [Text Widgets](/refguide/text-widgets/) -* [Properties Common in the Page Editor](/refguide/common-widget-properties/) +* [Page](/refguide10/page/) +* [Text Widgets](/refguide10/text-widgets/) +* [Properties Common in the Page Editor](/refguide10/common-widget-properties/) diff --git a/content/en/docs/refguide10/modeling/pages/text-widgets/text.md b/content/en/docs/refguide10/modeling/pages/text-widgets/text.md index f35931d5037..d55b73dacce 100644 --- a/content/en/docs/refguide10/modeling/pages/text-widgets/text.md +++ b/content/en/docs/refguide10/modeling/pages/text-widgets/text.md @@ -1,15 +1,15 @@ --- title: "Text" -url: /refguide/text/ +url: /refguide10/text/ weight: 10 #If moving or renaming this doc file, implement a temporary redirect and let the respective team know they should update the URL in the product. See Mapping to Products for more details. --- ## Introduction -The text widget displays a text which can optionally contain parameters. A parameter can be an attribute of a context object or an [expression](/refguide/expressions/) which also has access to the surrounding context objects and their attributes. When used with parameters, every parameter placeholder in the text (which may appear as {0}, {1}, or {2} for example) is replaced with the value of its corresponding attribute or expression. +The text widget displays a text which can optionally contain parameters. A parameter can be an attribute of a context object or an [expression](/refguide10/expressions/) which also has access to the surrounding context objects and their attributes. When used with parameters, every parameter placeholder in the text (which may appear as {0}, {1}, or {2} for example) is replaced with the value of its corresponding attribute or expression. -For example, if you want to build a page that shows some detailed information about books, you can configure a [data grid](/refguide/data-grid/) to retrieve the whole list of **Book** objects from the database. Then, you can place a text widget inside a [data view](/refguide/data-view/) that is configured to listen to this data grid (for more information, see [Listen to Widget Source](/refguide/listen-to-grid-source/)). Finally, you can add parameters for your text widget to display information about the selected book from the data grid. +For example, if you want to build a page that shows some detailed information about books, you can configure a [data grid](/refguide10/data-grid/) to retrieve the whole list of **Book** objects from the database. Then, you can place a text widget inside a [data view](/refguide10/data-view/) that is configured to listen to this data grid (for more information, see [Listen to Widget Source](/refguide10/listen-to-grid-source/)). Finally, you can add parameters for your text widget to display information about the selected book from the data grid. {{< figure src="/attachments/refguide10/modeling/pages/text-widgets/text/text.png" alt="Text Widget" class="no-border" >}} @@ -60,14 +60,14 @@ Parameters have the following settings: {{< figure src="/attachments/refguide10/modeling/pages/text-widgets/text/parameter-settings.png" alt="Parameter Settings" width="450" class="no-border" >}} {{% alert color="info" %}} -You can use the formatter functions in the expression editor when using expressions. For more information, see [this list](/refguide/expressions/#expressions-formatter-functions). +You can use the formatter functions in the expression editor when using expressions. For more information, see [this list](/refguide10/expressions/#expressions-formatter-functions). {{% /alert %}} ##### Adding New Parameters To use parameters, do the following: -1. Place the **Text** widget in a context of an entity, as in, inside a [data container](/refguide/data-widgets/). +1. Place the **Text** widget in a context of an entity, as in, inside a [data container](/refguide10/data-widgets/). 2. Double-click the **Caption** setting in the text widget properties. 3. In the **Edit Caption** dialog box > **Parameters** section click **New**: @@ -105,24 +105,24 @@ The render mode determines how the text will be displayed. ### Visibility Section {#visibility} -{{% snippet file="/static/_includes/refguide/visibility-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/visibility-section-link.md" %}} ### Common Section {#common} -{{% snippet file="/static/_includes/refguide/common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/common-section-link.md" %}} ## Styling ### Design Properties Section {#design-properties} -{{% snippet file="/static/_includes/refguide/design-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/design-section-link.md" %}} ### Common Section {#common-styling} -{{% snippet file="/static/_includes/refguide/common-section-link.md" %}} +{{% snippet file="/static/_includes/refguide10/common-section-link.md" %}} ## Read More -* [Page](/refguide/page/) -* [Text Widgets](/refguide/text-widgets/) -* [Properties Common in the Page Editor](/refguide/common-widget-properties/) +* [Page](/refguide10/page/) +* [Text Widgets](/refguide10/text-widgets/) +* [Properties Common in the Page Editor](/refguide10/common-widget-properties/) diff --git a/content/en/docs/refguide10/modeling/resources/_index.md b/content/en/docs/refguide10/modeling/resources/_index.md index f5244e439fd..3a691857def 100644 --- a/content/en/docs/refguide10/modeling/resources/_index.md +++ b/content/en/docs/refguide10/modeling/resources/_index.md @@ -1,6 +1,6 @@ --- title: "Resources" -url: /refguide/resources/ +url: /refguide10/resources/ weight: 50 description: "Introduces the helping documents (resources) that can be used in Studio Pro." #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. @@ -16,7 +16,7 @@ Resources can be reused in different modules of your app. To add a resource document, do the following: -1. In the [App Explorer](/refguide/app-explorer/), right-click the module or a folder you want to add a resource to and select **Add other**: +1. In the [App Explorer](/refguide10/app-explorer/), right-click the module or a folder you want to add a resource to and select **Add other**: {{< figure src="/attachments/refguide10/modeling/resources/app-explorer-resources.png" class="no-border" >}} @@ -28,18 +28,18 @@ The **Resources** category contain various document types that can be used in di | Element | Is used in | Description | | ------------------ | -------------------------------------- | ------------------------------------------------------------ | -| [Java action](/refguide/java-actions/) | Microflows | Java actions can extend the functionality of your application. They can be called from microflows. | -| [JavaScript action](/refguide/javascript-actions/) | Nanoflow | JavaScript actions can extend the functionality of your application. They can be called from nanoflows. | -| [Rule](/refguide/rules/) | Microflows | Rules contain the application logic that should result in an enumeration or a Boolean. They are used in decisions in microflows. | -| [Enumeration](/refguide/enumerations/) | Domain model | Enumerations are used to define attributes of an enumeration type. | -| [Dataset](/refguide/data-sets/) | Pages | Datasets define the data shown in reports widgets. | -| [Constant](/refguide/constants/) | Microflow expressions and Consumed web services | Constants are used to define configuration values. | -| [Regular expression](/refguide/regular-expressions/) | Domain model | Regular expressions are used in validation rules to define criteria that a string should match to pass the validation. They cannot be used in other places which require regular expressions (for example, the *isMatch()* function). | -| [Scheduled event](/refguide/scheduled-events/) | Microflows | Scheduled events let the runtime execute a microflow at a specific moment in time. | -| [Document template](/refguide/document-templates/) | Microflows | Document template is used to format the document in a client and to download or print it. | +| [Java action](/refguide10/java-actions/) | Microflows | Java actions can extend the functionality of your application. They can be called from microflows. | +| [JavaScript action](/refguide10/javascript-actions/) | Nanoflow | JavaScript actions can extend the functionality of your application. They can be called from nanoflows. | +| [Rule](/refguide10/rules/) | Microflows | Rules contain the application logic that should result in an enumeration or a Boolean. They are used in decisions in microflows. | +| [Enumeration](/refguide10/enumerations/) | Domain model | Enumerations are used to define attributes of an enumeration type. | +| [Dataset](/refguide10/data-sets/) | Pages | Datasets define the data shown in reports widgets. | +| [Constant](/refguide10/constants/) | Microflow expressions and Consumed web services | Constants are used to define configuration values. | +| [Regular expression](/refguide10/regular-expressions/) | Domain model | Regular expressions are used in validation rules to define criteria that a string should match to pass the validation. They cannot be used in other places which require regular expressions (for example, the *isMatch()* function). | +| [Scheduled event](/refguide10/scheduled-events/) | Microflows | Scheduled events let the runtime execute a microflow at a specific moment in time. | +| [Document template](/refguide10/document-templates/) | Microflows | Document template is used to format the document in a client and to download or print it. | ## Read More -* [Microflows](/refguide/microflows/) +* [Microflows](/refguide10/microflows/) * [Domain Model] -* [Pages](/refguide/pages/) +* [Pages](/refguide10/pages/) diff --git a/content/en/docs/refguide10/modeling/resources/constants.md b/content/en/docs/refguide10/modeling/resources/constants.md index 1ed08e0fd7f..b31b9d7cbbb 100644 --- a/content/en/docs/refguide10/modeling/resources/constants.md +++ b/content/en/docs/refguide10/modeling/resources/constants.md @@ -1,6 +1,6 @@ --- title: "Constants" -url: /refguide/constants/ +url: /refguide10/constants/ weight: 60 #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. --- @@ -16,13 +16,13 @@ For other cloud environments – for example, Siemens [Insights Hub](/partners/s When running the application locally or in a Free App environment, the values defined in Studio Pro are used. {{% alert color="info" %}} -The value for a constant can also be overridden in a [configuration](/refguide/configuration/). This allows you to run locally using different values for one or more constants, without having to change the default value for the constant every time. +The value for a constant can also be overridden in a [configuration](/refguide10/configuration/). This allows you to run locally using different values for one or more constants, without having to change the default value for the constant every time. {{% /alert %}} Constants can be used in the following: -* [Expressions](/refguide/expressions/) – by prefixing the full name of the constant with `@` -* [Consumed web services](/refguide/consumed-web-services/) – in this case, the constant is a URL that specifies where the web service is located; this can vary based on the environment in which the application is running, so that you can, for example use different web services for development and production +* [Expressions](/refguide10/expressions/) – by prefixing the full name of the constant with `@` +* [Consumed web services](/refguide10/consumed-web-services/) – in this case, the constant is a URL that specifies where the web service is located; this can vary based on the environment in which the application is running, so that you can, for example use different web services for development and production ## Common Properties @@ -34,7 +34,7 @@ The name of the constant. This name is used to refer to it. {{% alert color="info" %}} -This property is only available for add-on and solution modules. For more information on types of modules, see the [Module Types](/refguide/modules/#module-types) section in *Modules*. +This property is only available for add-on and solution modules. For more information on types of modules, see the [Module Types](/refguide10/modules/#module-types) section in *Modules*. {{% /alert %}} @@ -53,22 +53,22 @@ This field is for documentation purposes only: end-users will never see it, and ### Type -The [data type](/refguide/data-types/) of the constant. This determines what kind of values a constant can hold. Supported data types are string, Boolean, date and time, decimal, and integer/long. +The [data type](/refguide10/data-types/) of the constant. This determines what kind of values a constant can hold. Supported data types are string, Boolean, date and time, decimal, and integer/long. ## Value Properties ### Default Value {#default-value} -This property is the default value of the constant. This value is used when running locally or in a Free App environment. When running locally, the value can be overridden in the currently selected [configuration](/refguide/configuration/). +This property is the default value of the constant. This value is used when running locally or in a Free App environment. When running locally, the value can be overridden in the currently selected [configuration](/refguide10/configuration/). ### Exposed to Client -This property defines whether the constant is accessible from client-side expressions (expressions in [nanoflows](/refguide/nanoflows/) and [pages](/refguide/pages/)). +This property defines whether the constant is accessible from client-side expressions (expressions in [nanoflows](/refguide10/nanoflows/) and [pages](/refguide10/pages/)). | Option | Description | | --- | --- | | Yes | The constant will be sent to the client and will be accessible from client-side expressions | -| No *(default)* | The constant will not be sent to the client and will be only accessible from [microflow](/refguide/microflows/) expressions | +| No *(default)* | The constant will not be sent to the client and will be only accessible from [microflow](/refguide10/microflows/) expressions | {{% alert color="warning" %}} When a constant is exposed to the client, Mendix Runtime sends its value to the client so that in addition to microflow expressions, it will also be accessible from nanoflows and page expressions. This means that you should not use sensitive data or secrets such as passwords when a constant is exposed to the client. diff --git a/content/en/docs/refguide10/modeling/resources/document-templates/_index.md b/content/en/docs/refguide10/modeling/resources/document-templates/_index.md index d1542820181..a2834e3de45 100644 --- a/content/en/docs/refguide10/modeling/resources/document-templates/_index.md +++ b/content/en/docs/refguide10/modeling/resources/document-templates/_index.md @@ -1,19 +1,19 @@ --- title: "Document Templates" -url: /refguide/document-templates/ +url: /refguide10/document-templates/ weight: 90 aliases: - - /refguide/Document+Templates.html - - /refguide/Document+Templates + - /refguide10/Document+Templates.html + - /refguide10/Document+Templates #If moving or renaming this doc file, implement a temporary redirect and let the respective team know they should update the URL in the product. See Mapping to Products for more details. --- ## Introduction -Document Templates are used to model a template required as input for a document export action which can generate all kinds of documents based on application data. They are composed much in the same way as [Pages](/refguide/pages/). +Document Templates are used to model a template required as input for a document export action which can generate all kinds of documents based on application data. They are composed much in the same way as [Pages](/refguide10/pages/). {{% alert color="warning" %}} -This page describes what document templates are for and what kind of widgets can be placed on them. If you want to see the properties of the document template you can check the documentation for a [document template](/refguide/document-template/) itself. +This page describes what document templates are for and what kind of widgets can be placed on them. If you want to see the properties of the document template you can check the documentation for a [document template](/refguide10/document-template/) itself. {{% /alert %}} The document templates also contain components, also know as *widgets*. Below is a categorized overview of all widgets. The following categories are used: @@ -23,7 +23,7 @@ The document templates also contain components, also know as *widgets*. Below is * [Dynamic data widgets](#dynamic) make it possible to show values of attributes and associations * [Static data widgets](#static) allow you to work with static data such as a predefined image -Additionally, in most widgets as well as on the document template itself, a style can be defined. For more information, see [Style](/refguide/style/). +Additionally, in most widgets as well as on the document template itself, a style can be defined. For more information, see [Style](/refguide10/style/). If you would like to display text in a language with uncommon characters such as Arabic or Thai, make sure you select a font in the style editor that supports these characters. "Tahoma" is such a font. @@ -35,7 +35,7 @@ The core widgets are central to building document templates in Mendix. They can The data grid shows a list of objects in a grid. For example, a data grid can show all the orders a customer has placed. -For more information, see [Data Grid (Document Template)](/refguide/data-grid-document-template/). +For more information, see [Data Grid (Document Template)](/refguide10/data-grid-document-template/). {{% alert color="info" %}} @@ -49,7 +49,7 @@ A data grid showing a list of orders with a description and the referenced custo The data view is used for showing the contents of exactly one object. If, for example, you want to show details of a single customer you would use a data view to do this. The data view typically contains a table with static labels and dynamic data widgets like a dynamic label. In more complex templates, a data view can contain data grids and other data views for related objects. -For more information, see [Data View (Document Template)](/refguide/data-view-document-template/). +For more information, see [Data View (Document Template)](/refguide10/data-view-document-template/). {{% alert color="info" %}} @@ -63,7 +63,7 @@ A data view showing order line information. The template grid shows a list of objects in a tile view. For example, a template grid can show a list of products. The template grid has a lot in common with the data grid. The main difference is that the objects are shown in templates (somewhat like a small data view) instead of rows. -For more information, see [Template Grid (Document Template)](/refguide/template-grid-document-template/). +For more information, see [Template Grid (Document Template)](/refguide10/template-grid-document-template/). {{% alert color="info" %}} @@ -82,7 +82,7 @@ Layout widgets give structure to a page. They do not show data but provide a lay Tables can be used to change the layout of the page. They contain a number of rows and columns and the intersection of the two is called a cell. Each cell can contain widgets. Cells can be merged horizontally and vertically before they are filled to allow for asymmetric layouts. Tables can be used both inside and outside data view or templategrid widgets. -For more information, see [Table (Document Template)](/refguide/table-document-template/). +For more information, see [Table (Document Template)](/refguide10/table-document-template/). {{% alert color="info" %}} @@ -96,7 +96,7 @@ A table with four rows and three columns. Last row containing a data view with a When inserting a page break, the current page will be cut off after the break and widgets below the break will be displayed in a new page. -For more information, see [Page Break (Document Template)](/refguide/page-break-document-template/). +For more information, see [Page Break (Document Template)](/refguide10/page-break-document-template/). {{% alert color="info" %}} @@ -110,7 +110,7 @@ A page break When inserting a line break, a new line will be inserted at that position. -For more information, see [Line Break (Document Template)](/refguide/line-break-document-template/). +For more information, see [Line Break (Document Template)](/refguide10/line-break-document-template/). ## Dynamic Data Widgets {#dynamic} @@ -120,7 +120,7 @@ Dynamic data widgets are used for showing (dynamic) data. They must be placed in A dynamic label is used for the same attribute types as a text box in the page editor. It can be used to display a text value. -For more information, see [Dynamic Label (Document Template)](/refguide/dynamic-label-document-template/). +For more information, see [Dynamic Label (Document Template)](/refguide10/dynamic-label-document-template/). {{% alert color="info" %}} @@ -134,7 +134,7 @@ A dynamic label linking to a customer name. A dynamic image can be used to show a System.Image. If the image is not available (for example: the image was never saved) it will show the preset default image. It can be deployed inside a data view or templategrid. -For more information, see [Dynamic Image (Document Template)](/refguide/dynamic-image-document-template/). +For more information, see [Dynamic Image (Document Template)](/refguide10/dynamic-image-document-template/). {{% alert color="info" %}} @@ -152,7 +152,7 @@ These widgets contain static (fixed) data to help create the look of the generat A static label shows a line of static text. You can use it to place custom text inside a dataview or template grid or table. -For more information, see [Static Label (Document Template)](/refguide/static-label-document-template/). +For more information, see [Static Label (Document Template)](/refguide10/static-label-document-template/). {{% alert color="info" %}} @@ -166,13 +166,13 @@ A label with text 'Customer name'. A title works much like a static label but can be placed outside a data view, template grid or table. -For more information, see [Title (Document Template)](/refguide/title-document-template/). +For more information, see [Title (Document Template)](/refguide10/title-document-template/). ### Static Image A static image shows a predefined image. It can be put either in- or outside a data view or templategrid. -For more information, see [Static Image (Document Template)](/refguide/static-image-document-template/). +For more information, see [Static Image (Document Template)](/refguide10/static-image-document-template/). {{% alert color="info" %}} diff --git a/content/en/docs/refguide10/modeling/resources/document-templates/creating-your-own-documents.md b/content/en/docs/refguide10/modeling/resources/document-templates/creating-your-own-documents.md index 652931046f4..09328186a3c 100644 --- a/content/en/docs/refguide10/modeling/resources/document-templates/creating-your-own-documents.md +++ b/content/en/docs/refguide10/modeling/resources/document-templates/creating-your-own-documents.md @@ -1,6 +1,6 @@ --- title: "Creating Your Own Documents" -url: /refguide/creating-your-own-documents/ +url: /refguide10/creating-your-own-documents/ description: "This documentation will give you insight into creating documents with Mendix." --- @@ -12,8 +12,8 @@ With Mendix, you can generate documents in different ways. Here, you will learn Before we start, Mendix recommends first reading these pages: -* [Document Templates](/refguide/document-templates/) -* [Generate Documents](/refguide/generate-document/) +* [Document Templates](/refguide10/document-templates/) +* [Generate Documents](/refguide10/generate-document/) ## Knowing Your Document diff --git a/content/en/docs/refguide10/modeling/resources/document-templates/data-grid-document-template/_index.md b/content/en/docs/refguide10/modeling/resources/document-templates/data-grid-document-template/_index.md index 3a0082ccd3c..b12ec5109b9 100644 --- a/content/en/docs/refguide10/modeling/resources/document-templates/data-grid-document-template/_index.md +++ b/content/en/docs/refguide10/modeling/resources/document-templates/data-grid-document-template/_index.md @@ -1,11 +1,11 @@ --- title: "Data Grid (Document Template)" -url: /refguide/data-grid-document-template/ +url: /refguide10/data-grid-document-template/ aliases: - - /refguide/Data+Grid+(document+template).html - - /refguide/data-grid-(document-template).html - - /refguide/Data+Grid+(document+template) - - /refguide/data-grid-(document-template) + - /refguide10/Data+Grid+(document+template).html + - /refguide10/data-grid-(document-template).html + - /refguide10/Data+Grid+(document+template) + - /refguide10/data-grid-(document-template) #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. --- @@ -25,7 +25,7 @@ A data grid showing a list of orders with a description and the referenced custo ### Columns -See [Columns (document template)](/refguide/columns-document-template/). +See [Columns (document template)](/refguide10/columns-document-template/). ## Appearance Properties @@ -51,7 +51,7 @@ With striping enabled you can set the properties of even and uneven data grid ro ### Style -See [Style](/refguide/style/) +See [Style](/refguide10/style/) ## Common Properties diff --git a/content/en/docs/refguide10/modeling/resources/document-templates/data-grid-document-template/columns-document-template.md b/content/en/docs/refguide10/modeling/resources/document-templates/data-grid-document-template/columns-document-template.md index 1d2e7144a00..2886f53f6a5 100644 --- a/content/en/docs/refguide10/modeling/resources/document-templates/data-grid-document-template/columns-document-template.md +++ b/content/en/docs/refguide10/modeling/resources/document-templates/data-grid-document-template/columns-document-template.md @@ -1,11 +1,11 @@ --- title: "Columns (Document Template)" -url: /refguide/columns-document-template/ +url: /refguide10/columns-document-template/ aliases: - - /refguide/columns-(document-template).html - - /refguide/Columns+(document+template).html - - /refguide/columns-(document-template) - - /refguide/Columns+(document+template) + - /refguide10/columns-(document-template).html + - /refguide10/Columns+(document+template).html + - /refguide10/columns-(document-template) + - /refguide10/Columns+(document+template) #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. --- @@ -13,7 +13,7 @@ aliases: ### Caption -The caption of a column is the text that appears as a header above the rows. This is a translatable text. See [Internationalization](/refguide/translatable-texts/). +The caption of a column is the text that appears as a header above the rows. This is a translatable text. See [Internationalization](/refguide10/translatable-texts/). ### Enumeration Format (Only for Attributes of the Enumeration Type) @@ -51,7 +51,7 @@ These are the possible values: If you choose **Custom** as the date format (see above), this property determines how the attribute value is formatted. The custom date format is a string that allows for any combination of symbols found in the table below. Any punctuation will be rendered literally. -{{% snippet file="/static/_includes/refguide/custom-date-format-tokens.md" %}} +{{% snippet file="/static/_includes/refguide10/custom-date-format-tokens.md" %}} ## Data Source Properties diff --git a/content/en/docs/refguide10/modeling/resources/document-templates/data-view-document-template.md b/content/en/docs/refguide10/modeling/resources/document-templates/data-view-document-template.md index d1fd4e9f4d8..e810ae38875 100644 --- a/content/en/docs/refguide10/modeling/resources/document-templates/data-view-document-template.md +++ b/content/en/docs/refguide10/modeling/resources/document-templates/data-view-document-template.md @@ -1,11 +1,11 @@ --- title: "Data View (Document Template)" -url: /refguide/data-view-document-template/ +url: /refguide10/data-view-document-template/ aliases: - - /refguide/Data+View+(document+template).html - - /refguide/data-view-(document-template).html - - /refguide/Data+View+(document+template) - - /refguide/data-view-(document-template) + - /refguide10/Data+View+(document+template).html + - /refguide10/data-view-(document-template).html + - /refguide10/Data+View+(document+template) + - /refguide10/data-view-(document-template) #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. --- @@ -23,7 +23,7 @@ A data view showing orderline information. ## Common Properties -{{% snippet file="/static/_includes/refguide/name-property.md" %}} +{{% snippet file="/static/_includes/refguide10/name-property.md" %}} ## Data Source Properties diff --git a/content/en/docs/refguide10/modeling/resources/document-templates/document-template.md b/content/en/docs/refguide10/modeling/resources/document-templates/document-template.md index dc713596408..a9cff5d7222 100644 --- a/content/en/docs/refguide10/modeling/resources/document-templates/document-template.md +++ b/content/en/docs/refguide10/modeling/resources/document-templates/document-template.md @@ -1,11 +1,11 @@ --- title: "Document Template" -url: /refguide/document-template/ +url: /refguide10/document-template/ --- ## Introduction -This document describes the properties of a document template. If you want to see what document templates are for and what kind of widgets can be placed on them, you can check the [Document Templates](/refguide/document-templates/) overview documentation. +This document describes the properties of a document template. If you want to see what document templates are for and what kind of widgets can be placed on them, you can check the [Document Templates](/refguide10/document-templates/) overview documentation. ## Appearance Properties {#appearance-properties} @@ -49,7 +49,7 @@ Indicates whether the page has a footer that is displayed on each page (except o ## Style -For details, see [Style](/refguide/style/). +For details, see [Style](/refguide10/style/). ## Common Properties diff --git a/content/en/docs/refguide10/modeling/resources/document-templates/dynamic-image-document-template.md b/content/en/docs/refguide10/modeling/resources/document-templates/dynamic-image-document-template.md index f5379d826cd..1c2be121ed4 100644 --- a/content/en/docs/refguide10/modeling/resources/document-templates/dynamic-image-document-template.md +++ b/content/en/docs/refguide10/modeling/resources/document-templates/dynamic-image-document-template.md @@ -1,11 +1,11 @@ --- title: "Dynamic Image (Document Template)" -url: /refguide/dynamic-image-document-template/ +url: /refguide10/dynamic-image-document-template/ aliases: - - /refguide/Dynamic+Image+(document+template).html - - /refguide/dynamic-image-(document-template).html - - /refguide/Dynamic+Image+(document+template) - - /refguide/dynamic-image-(document-template) + - /refguide10/Dynamic+Image+(document+template).html + - /refguide10/dynamic-image-(document-template).html + - /refguide10/Dynamic+Image+(document+template) + - /refguide10/dynamic-image-(document-template) #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. --- @@ -40,4 +40,4 @@ The height defines the height of the image in the document. This is set in pixel ## Common Properties -{{% snippet file="/static/_includes/refguide/name-property.md" %}} +{{% snippet file="/static/_includes/refguide10/name-property.md" %}} diff --git a/content/en/docs/refguide10/modeling/resources/document-templates/dynamic-label-document-template.md b/content/en/docs/refguide10/modeling/resources/document-templates/dynamic-label-document-template.md index 95a80d31508..db62f52c484 100644 --- a/content/en/docs/refguide10/modeling/resources/document-templates/dynamic-label-document-template.md +++ b/content/en/docs/refguide10/modeling/resources/document-templates/dynamic-label-document-template.md @@ -1,11 +1,11 @@ --- title: "Dynamic Label (Document Template)" -url: /refguide/dynamic-label-document-template/ +url: /refguide10/dynamic-label-document-template/ aliases: - - /refguide/Dynamic+label+(document+template).html - - /refguide/dynamic-label-(document-template).html - - /refguide/Dynamic+label+(document+template) - - /refguide/dynamic-label-(document-template) + - /refguide10/Dynamic+label+(document+template).html + - /refguide10/dynamic-label-(document-template).html + - /refguide10/Dynamic+label+(document+template) + - /refguide10/dynamic-label-(document-template) #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. --- @@ -25,7 +25,7 @@ A dynamic label linking to a customer name. ### Style -For details, see [Style](/refguide/style/). +For details, see [Style](/refguide10/style/). ### Render XHTML @@ -62,11 +62,11 @@ These are the possible values: If you choose **Custom** as the date format (see above), this property determines how the attribute value is formatted. The custom date format is a string that allows for any combination of symbols found in the table below. Any punctuation will be rendered literally. -{{% snippet file="/static/_includes/refguide/custom-date-format-tokens.md" %}} +{{% snippet file="/static/_includes/refguide10/custom-date-format-tokens.md" %}} ## Common Properties -{{% snippet file="/static/_includes/refguide/name-property.md" %}} +{{% snippet file="/static/_includes/refguide10/name-property.md" %}} ## Data Source Properties diff --git a/content/en/docs/refguide10/modeling/resources/document-templates/footer-document-template.md b/content/en/docs/refguide10/modeling/resources/document-templates/footer-document-template.md index 69d3fbea866..88a73d26667 100644 --- a/content/en/docs/refguide10/modeling/resources/document-templates/footer-document-template.md +++ b/content/en/docs/refguide10/modeling/resources/document-templates/footer-document-template.md @@ -1,11 +1,11 @@ --- title: "Footer (Document Template)" -url: /refguide/footer-document-template/ +url: /refguide10/footer-document-template/ aliases: - - /refguide/footer-(document-template).html - - /refguide/Footer+(document+template).html - - /refguide/footer-(document-template) - - /refguide/Footer+(document+template) + - /refguide10/footer-(document-template).html + - /refguide10/Footer+(document+template).html + - /refguide10/footer-(document-template) + - /refguide10/Footer+(document+template) #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. --- @@ -13,7 +13,7 @@ aliases: When enabled, the footer will be inserted at the bottom of every page. Other widgets can be put in the footer. -For inserting page numbers, see [Static Label](/refguide/static-label-document-template/). +For inserting page numbers, see [Static Label](/refguide10/static-label-document-template/). {{% alert color="info" %}} diff --git a/content/en/docs/refguide10/modeling/resources/document-templates/header-document-template.md b/content/en/docs/refguide10/modeling/resources/document-templates/header-document-template.md index ee32c3d9a86..afcc7cf516a 100644 --- a/content/en/docs/refguide10/modeling/resources/document-templates/header-document-template.md +++ b/content/en/docs/refguide10/modeling/resources/document-templates/header-document-template.md @@ -1,11 +1,11 @@ --- title: "Header (Document Template)" -url: /refguide/header-document-template/ +url: /refguide10/header-document-template/ aliases: - - /refguide/header-(document-template).html - - /refguide/Header+(document+template).html - - /refguide/header-(document-template) - - /refguide/Header+(document+template) + - /refguide10/header-(document-template).html + - /refguide10/Header+(document+template).html + - /refguide10/header-(document-template) + - /refguide10/Header+(document+template) #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. --- @@ -21,9 +21,9 @@ A header. {{% /alert %}} -For details on enabling the header from the properties of the document template itself, see the [Appearance Properties](/refguide/document-template/#appearance-properties) section of *Document Template*. +For details on enabling the header from the properties of the document template itself, see the [Appearance Properties](/refguide10/document-template/#appearance-properties) section of *Document Template*. -For details on inserting page numbers, see [Static Label](/refguide/static-label-document-template/). +For details on inserting page numbers, see [Static Label](/refguide10/static-label-document-template/). ## Appearance diff --git a/content/en/docs/refguide10/modeling/resources/document-templates/line-break-document-template.md b/content/en/docs/refguide10/modeling/resources/document-templates/line-break-document-template.md index 4240c6d9994..d2653262deb 100644 --- a/content/en/docs/refguide10/modeling/resources/document-templates/line-break-document-template.md +++ b/content/en/docs/refguide10/modeling/resources/document-templates/line-break-document-template.md @@ -1,11 +1,11 @@ --- title: "Line Break (Document Template)" -url: /refguide/line-break-document-template/ +url: /refguide10/line-break-document-template/ aliases: - - /refguide/Line+Break+(document+template).html - - /refguide/line-break-(document-template).html - - /refguide/Line+Break+(document+template) - - /refguide/line-break-(document-template) + - /refguide10/Line+Break+(document+template).html + - /refguide10/line-break-(document-template).html + - /refguide10/Line+Break+(document+template) + - /refguide10/line-break-(document-template) #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. --- @@ -15,4 +15,4 @@ A new line will be started at the insertion of a line break. ## Common Properties -{{% snippet file="/static/_includes/refguide/name-property.md" %}} +{{% snippet file="/static/_includes/refguide10/name-property.md" %}} diff --git a/content/en/docs/refguide10/modeling/resources/document-templates/page-break-document-template.md b/content/en/docs/refguide10/modeling/resources/document-templates/page-break-document-template.md index cd9ddb3b1ae..90e0be58acd 100644 --- a/content/en/docs/refguide10/modeling/resources/document-templates/page-break-document-template.md +++ b/content/en/docs/refguide10/modeling/resources/document-templates/page-break-document-template.md @@ -1,11 +1,11 @@ --- title: "Page Break (Document Template)" -url: /refguide/page-break-document-template/ +url: /refguide10/page-break-document-template/ aliases: - - /refguide/Page+Break+(document+template).html - - /refguide/page-break-(document-template).html - - /refguide/Page+Break+(document+template) - - /refguide/page-break-(document-template) + - /refguide10/Page+Break+(document+template).html + - /refguide10/page-break-(document-template).html + - /refguide10/Page+Break+(document+template) + - /refguide10/page-break-(document-template) #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. --- @@ -23,4 +23,4 @@ A page break. ## Common Properties -{{% snippet file="/static/_includes/refguide/name-property.md" %}} +{{% snippet file="/static/_includes/refguide10/name-property.md" %}} diff --git a/content/en/docs/refguide10/modeling/resources/document-templates/static-image-document-template.md b/content/en/docs/refguide10/modeling/resources/document-templates/static-image-document-template.md index 5cee9ebf28c..90636dc0123 100644 --- a/content/en/docs/refguide10/modeling/resources/document-templates/static-image-document-template.md +++ b/content/en/docs/refguide10/modeling/resources/document-templates/static-image-document-template.md @@ -1,11 +1,11 @@ --- title: "Static Image (Document Template)" -url: /refguide/static-image-document-template/ +url: /refguide10/static-image-document-template/ aliases: - - /refguide/Static+Image+(document+template).html - - /refguide/static-image-(document-template).html - - /refguide/Static+Image+(document+template) - - /refguide/static-image-(document-template) + - /refguide10/Static+Image+(document+template).html + - /refguide10/static-image-(document-template).html + - /refguide10/Static+Image+(document+template) + - /refguide10/static-image-(document-template) #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. --- @@ -37,4 +37,4 @@ The height defines the height of the image in the document. This is set in pixel ## Common Properties -{{% snippet file="/static/_includes/refguide/name-property.md" %}} +{{% snippet file="/static/_includes/refguide10/name-property.md" %}} diff --git a/content/en/docs/refguide10/modeling/resources/document-templates/static-label-document-template.md b/content/en/docs/refguide10/modeling/resources/document-templates/static-label-document-template.md index 6f082ab2ae4..c279cf6922e 100644 --- a/content/en/docs/refguide10/modeling/resources/document-templates/static-label-document-template.md +++ b/content/en/docs/refguide10/modeling/resources/document-templates/static-label-document-template.md @@ -1,11 +1,11 @@ --- title: "Static Label (Document Template)" -url: /refguide/static-label-document-template/ +url: /refguide10/static-label-document-template/ aliases: - - /refguide/Static+label+(document+template).html - - /refguide/static-label-(document-template).html - - /refguide/Static+label+(document+template) - - /refguide/static-label-(document-template) + - /refguide10/Static+label+(document+template).html + - /refguide10/static-label-(document-template).html + - /refguide10/Static+label+(document+template) + - /refguide10/static-label-(document-template) #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. --- @@ -23,7 +23,7 @@ For example, static label content `Page [%pageNumber%] of [%totalPageCount%]` wi ## Common Properties -{{% snippet file="/static/_includes/refguide/name-property.md" %}} +{{% snippet file="/static/_includes/refguide10/name-property.md" %}} ## Appearance Properties @@ -33,4 +33,4 @@ This is the value that will be displayed in the document. ### Style -For details, see [Style](/refguide/style/). +For details, see [Style](/refguide10/style/). diff --git a/content/en/docs/refguide10/modeling/resources/document-templates/style.md b/content/en/docs/refguide10/modeling/resources/document-templates/style.md index 6f70ba223cb..ab7e78437f4 100644 --- a/content/en/docs/refguide10/modeling/resources/document-templates/style.md +++ b/content/en/docs/refguide10/modeling/resources/document-templates/style.md @@ -1,6 +1,6 @@ --- title: "Style" -url: /refguide/style/ +url: /refguide10/style/ --- ## Introduction diff --git a/content/en/docs/refguide10/modeling/resources/document-templates/table-document-template/_index.md b/content/en/docs/refguide10/modeling/resources/document-templates/table-document-template/_index.md index 7e54925b307..35dad31f189 100644 --- a/content/en/docs/refguide10/modeling/resources/document-templates/table-document-template/_index.md +++ b/content/en/docs/refguide10/modeling/resources/document-templates/table-document-template/_index.md @@ -1,11 +1,11 @@ --- title: "Table (Document Template)" -url: /refguide/table-document-template/ +url: /refguide10/table-document-template/ aliases: - - /refguide/table-(document-template).html - - /refguide/Table+(document+template.html - - /refguide/table-(document-template) - - /refguide/Table+(document+template + - /refguide10/table-(document-template).html + - /refguide10/Table+(document+template.html + - /refguide10/table-(document-template) + - /refguide10/Table+(document+template #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. --- @@ -31,7 +31,7 @@ A column in a table. ### Row -A row in a table. See [Row (document template)](/refguide/row-document-template/). +A row in a table. See [Row (document template)](/refguide10/row-document-template/). ## Appearance Properties @@ -55,8 +55,8 @@ Cell padding specifies the space between the content of the cell and the cell wa ### Style -For details, see [Style](/refguide/style/). +For details, see [Style](/refguide10/style/). ## Common Properties -{{% snippet file="/static/_includes/refguide/name-property.md" %}} +{{% snippet file="/static/_includes/refguide10/name-property.md" %}} diff --git a/content/en/docs/refguide10/modeling/resources/document-templates/table-document-template/row-document-template/_index.md b/content/en/docs/refguide10/modeling/resources/document-templates/table-document-template/row-document-template/_index.md index 70c352785f8..d61a79997dc 100644 --- a/content/en/docs/refguide10/modeling/resources/document-templates/table-document-template/row-document-template/_index.md +++ b/content/en/docs/refguide10/modeling/resources/document-templates/table-document-template/row-document-template/_index.md @@ -1,11 +1,11 @@ --- title: "Row (Document Template)" -url: /refguide/row-document-template/ +url: /refguide10/row-document-template/ aliases: - - /refguide/row-(document-template).html - - /refguide/Row+(document+template).html - - /refguide/row-(document-template) - - /refguide/Row+(document+template) + - /refguide10/row-(document-template).html + - /refguide10/Row+(document+template).html + - /refguide10/row-(document-template) + - /refguide10/Row+(document+template) #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. --- @@ -17,7 +17,7 @@ Rows are part of a table. They contain cells which in turn can contain other wid ### Cell -A cell of a row. For more information, see [Cell (Document Template)](/refguide/cell-document-template/). +A cell of a row. For more information, see [Cell (Document Template)](/refguide10/cell-document-template/). ## Appearance Properties diff --git a/content/en/docs/refguide10/modeling/resources/document-templates/table-document-template/row-document-template/cell-document-template.md b/content/en/docs/refguide10/modeling/resources/document-templates/table-document-template/row-document-template/cell-document-template.md index 749b8ce6fa9..50998500cd5 100644 --- a/content/en/docs/refguide10/modeling/resources/document-templates/table-document-template/row-document-template/cell-document-template.md +++ b/content/en/docs/refguide10/modeling/resources/document-templates/table-document-template/row-document-template/cell-document-template.md @@ -1,11 +1,11 @@ --- title: "Cell (Document Template)" -url: /refguide/cell-document-template/ +url: /refguide10/cell-document-template/ aliases: - - /refguide/cell-(document-template).html - - /refguide/Cell+(document+template).html - - /refguide/cell-(document-template) - - /refguide/Cell+(document+template) + - /refguide10/cell-(document-template).html + - /refguide10/Cell+(document+template).html + - /refguide10/cell-(document-template) + - /refguide10/Cell+(document+template) #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. --- @@ -17,4 +17,4 @@ Cells are part of a table. They can contain other widgets. ### Style -For details, see [Style](/refguide/style/). +For details, see [Style](/refguide10/style/). diff --git a/content/en/docs/refguide10/modeling/resources/document-templates/template-grid-document-template.md b/content/en/docs/refguide10/modeling/resources/document-templates/template-grid-document-template.md index 736762fe48d..9ffc9c32291 100644 --- a/content/en/docs/refguide10/modeling/resources/document-templates/template-grid-document-template.md +++ b/content/en/docs/refguide10/modeling/resources/document-templates/template-grid-document-template.md @@ -1,11 +1,11 @@ --- title: "Template Grid (Document Template)" -url: /refguide/template-grid-document-template/ +url: /refguide10/template-grid-document-template/ aliases: - - /refguide/Template+Grid+(document+template).html - - /refguide/template-grid-(document-template).html - - /refguide/Template+Grid+(document+template) - - /refguide/template-grid-(document-template) + - /refguide10/Template+Grid+(document+template).html + - /refguide10/template-grid-(document-template).html + - /refguide10/Template+Grid+(document+template) + - /refguide10/template-grid-(document-template) #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. --- @@ -33,7 +33,7 @@ This defines the amount of columns the template grid will contain. ## Common Properties -{{% snippet file="/static/_includes/refguide/name-property.md" %}} +{{% snippet file="/static/_includes/refguide10/name-property.md" %}} ## Data Source Properties diff --git a/content/en/docs/refguide10/modeling/resources/document-templates/title-document-template.md b/content/en/docs/refguide10/modeling/resources/document-templates/title-document-template.md index e87f2494932..971c75bd8c6 100644 --- a/content/en/docs/refguide10/modeling/resources/document-templates/title-document-template.md +++ b/content/en/docs/refguide10/modeling/resources/document-templates/title-document-template.md @@ -1,11 +1,11 @@ --- title: "Title (Document Template)" -url: /refguide/title-document-template/ +url: /refguide10/title-document-template/ aliases: - - /refguide/title-(document-template).html - - /refguide/Title+(document+template).html - - /refguide/title-(document-template) - - /refguide/Title+(document+template) + - /refguide10/title-(document-template).html + - /refguide10/Title+(document+template).html + - /refguide10/title-(document-template) + - /refguide10/Title+(document+template) #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. --- @@ -21,8 +21,8 @@ This is the value you wish to display in the document. ### Style -For details, see [Style](/refguide/style/). +For details, see [Style](/refguide10/style/). ## Common Properties -{{% snippet file="/static/_includes/refguide/name-property.md" %}} +{{% snippet file="/static/_includes/refguide10/name-property.md" %}} diff --git a/content/en/docs/refguide10/modeling/resources/enumerations.md b/content/en/docs/refguide10/modeling/resources/enumerations.md index a85cc8ceda8..7370557d032 100644 --- a/content/en/docs/refguide10/modeling/resources/enumerations.md +++ b/content/en/docs/refguide10/modeling/resources/enumerations.md @@ -1,10 +1,10 @@ --- title: "Enumerations" -url: /refguide/enumerations/ +url: /refguide10/enumerations/ weight: 40 aliases: - - /refguide/enumeration-values.html - - /refguide/enumeration-values + - /refguide10/enumeration-values.html + - /refguide10/enumeration-values #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. #The anchor below is mapped, so it should not be removed or changed. --- @@ -13,7 +13,7 @@ aliases: An enumeration defines a list of predefined values. Enumerations are used for the enumeration attribute type. For example, the status of an order can be *Open*, *Closed*, or *In Progress*. So, the enumeration for the order status will consist of three values: *Open*, *Closed*, and *In_Progress*. -An enumeration consists of one or more [enumeration values](/refguide/enumerations/#enum-properties). Each value represents one option. An attribute of the enumeration type can also represent an uninitialized state: for example, if you do not assign any status to an order, the order status will be *empty*. +An enumeration consists of one or more [enumeration values](/refguide10/enumerations/#enum-properties). Each value represents one option. An attribute of the enumeration type can also represent an uninitialized state: for example, if you do not assign any status to an order, the order status will be *empty*. ## Enumeration Properties {#enum-properties} @@ -23,7 +23,7 @@ An enumeration has the following properties: * **Documentation** - This can be used to explain to other developers about the enumeration. End-users cannot see this documentation. * **Export level** – Allows you to define access level to this document on the consumer (customer) side when developing an add-on module or a solution. - {{% alert color="info" %}}This property is only available for add-on and solution modules. For more information on types of modules, see the [Module Types](/refguide/modules/#module-types) section in *Modules*.{{% /alert %}} + {{% alert color="info" %}}This property is only available for add-on and solution modules. For more information on types of modules, see the [Module Types](/refguide10/modules/#module-types) section in *Modules*.{{% /alert %}} **Export level** has the following values: @@ -32,7 +32,7 @@ An enumeration has the following properties: * **Enumeration values** – An enumeration has one or more enumeration values. Each value represents one of the options. For more information on enumeration values and their properties, see the [Enumeration Value Properties](#enum-value-properties) section. -The following properties are only available when the enumeration is an external enumeration that is part of a [consumed Odata service](/refguide/consumed-odata-service/): +The following properties are only available when the enumeration is an external enumeration that is part of a [consumed Odata service](/refguide10/consumed-odata-service/): * **From service** - This property shows the source of the enumeration and allows you to **Detach** the enumeration from the source if the source has been deleted. * **Original name** - The original name of the enumeration from the source. @@ -47,7 +47,7 @@ This is the caption of an enumeration value is the text that the end-user sees f The caption can be changed and can contain any character. For example, *In Progress* is a valid caption even though it contains a space. -This is a translatable text. For more information, see [Language Menu](/refguide/translatable-texts/). +This is a translatable text. For more information, see [Language Menu](/refguide10/translatable-texts/). #### Name {#name} @@ -136,13 +136,13 @@ The name of an enumeration value is also used for storing the enumeration value This is an image selected for an enumeration value to be displayed in a data grid column. -To use the image in a data grid, set the enumeration format of the column to *Image*. For more information on data grid columns, see [Grid Columns](/refguide/columns/). +To use the image in a data grid, set the enumeration format of the column to *Image*. For more information on data grid columns, see [Grid Columns](/refguide10/columns/). ## Creating an Enumeration To create a new enumeration, do the following: -1. In the [App Explorer](/refguide/app-explorer/), right-click the module or a folder you want to add enumeration to and in the list of actions, select **Add other** > **Enumeration**. +1. In the [App Explorer](/refguide10/app-explorer/), right-click the module or a folder you want to add enumeration to and in the list of actions, select **Add other** > **Enumeration**. 2. In the **Add Enumeration** dialog box, fill out the name of the enumeration. 3. In the **Enumeration** dialog box, click **New** to create enumeration values: @@ -159,5 +159,5 @@ You have added a new enumeration to your app. You can use the same enumeration f ## Read More -* [Attributes](/refguide/attributes/) -* [Entities](/refguide/entities/) +* [Attributes](/refguide10/attributes/) +* [Entities](/refguide10/entities/) diff --git a/content/en/docs/refguide10/modeling/resources/java-actions.md b/content/en/docs/refguide10/modeling/resources/java-actions.md index 09f244a6a20..27a6e8b0ece 100644 --- a/content/en/docs/refguide10/modeling/resources/java-actions.md +++ b/content/en/docs/refguide10/modeling/resources/java-actions.md @@ -1,6 +1,6 @@ --- title: "Java Actions" -url: /refguide/java-actions/ +url: /refguide10/java-actions/ weight: 10 description: "Describes using Java Actions to extend the functionality of your Mendix app." #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. @@ -8,12 +8,12 @@ description: "Describes using Java Actions to extend the functionality of your M ## Introduction -With Java actions you can extend the functionality of your application in situations where it would be hard to implement this functionality in microflows. You can call a Java action from a microflow using the [Java action call](/refguide/java-action-call/). +With Java actions you can extend the functionality of your application in situations where it would be hard to implement this functionality in microflows. You can call a Java action from a microflow using the [Java action call](/refguide10/java-action-call/). {{% alert color="info" %}} Each Java action defined in Studio Pro corresponds to a file *{name of Java action}.java* in the subdirectory *javasource/{module name}/actions* of the app directory. -The skeletons of these *.java* files are generated automatically when you deploy for Eclipse (in the **App** menu). For more information about creating the Java code in these files, see [Java Programming](/refguide/java-programming/). +The skeletons of these *.java* files are generated automatically when you deploy for Eclipse (in the **App** menu). For more information about creating the Java code in these files, see [Java Programming](/refguide10/java-programming/). {{% /alert %}} ## General @@ -28,9 +28,9 @@ A Java action has zero or more parameters. Parameters are the means by which you Each parameter has a name, type, category, and description. -Use categories to keep the parameters apart in the [Java action call](/refguide/java-action-call/). If you do not specify a category, the parameter will appear in the **Input** group. +Use categories to keep the parameters apart in the [Java action call](/refguide10/java-action-call/). If you do not specify a category, the parameter will appear in the **Input** group. -See [Data Types](/refguide/data-types/) for the possible standard parameter types. When the type is an Object or List, you must also select its Entity type, which can be either a specific entity or a type parameter. The type parameter postpones the selection of the actual entity type until the Java action is used in a microflow. This allows your Java action to accept a (list of) Mendix object (or objects) of an arbitrary entity type. +See [Data Types](/refguide10/data-types/) for the possible standard parameter types. When the type is an Object or List, you must also select its Entity type, which can be either a specific entity or a type parameter. The type parameter postpones the selection of the actual entity type until the Java action is used in a microflow. This allows your Java action to accept a (list of) Mendix object (or objects) of an arbitrary entity type. The other types supported by Java actions are described below. @@ -71,7 +71,7 @@ Your Java action can return different data types to your app. #### Return Type -The return type determines the type of the data that the Java action returns. It corresponds with the return type of the `executeAction()` method in the *.java* file of the Java action. You can use the result of a Java action in the microflow in which you call it. See [Data Types](/refguide/data-types/) for the possible return types. +The return type determines the type of the data that the Java action returns. It corresponds with the return type of the `executeAction()` method in the *.java* file of the Java action. You can use the result of a Java action in the microflow in which you call it. See [Data Types](/refguide10/data-types/) for the possible return types. As with parameters, the return type can also be an object or a list of some type parameter. The type parameter you choose for the return type must also be used by at least one of the Java action parameters. diff --git a/content/en/docs/refguide10/modeling/resources/javascript-actions.md b/content/en/docs/refguide10/modeling/resources/javascript-actions.md index fcc78204872..9c8f40a0a19 100644 --- a/content/en/docs/refguide10/modeling/resources/javascript-actions.md +++ b/content/en/docs/refguide10/modeling/resources/javascript-actions.md @@ -1,6 +1,6 @@ --- title: "JavaScript Actions" -url: /refguide/javascript-actions/ +url: /refguide10/javascript-actions/ weight: 20 description: "This reference guide details the ways JavaScript Actions can extend the functionality of your Mendix app." #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. @@ -12,7 +12,7 @@ This activity can only be used in **Nanoflows**. ## Introduction -With JavaScript actions, you can extend your application's functionality in ways nanoflows alone cannot. To use a JavaScript action, call it from a nanoflow using the [JavaScript Action Call](/refguide/javascript-action-call/). +With JavaScript actions, you can extend your application's functionality in ways nanoflows alone cannot. To use a JavaScript action, call it from a nanoflow using the [JavaScript Action Call](/refguide10/javascript-action-call/). {{% alert color="info" %}} @@ -64,7 +64,7 @@ This setting handles the parameter's name. A name is required. Names must start | List | The list parameter type allows you to pass a list of Mendix objects to a JavaScript action. You must also select its entity type, which can be either a specific entity or a type parameter. In the generated JavaScript action template code, this type is represented as an array of MxObjects. | | Entity | The entity parameter type is a placeholder. It stands in for an entity that will be replaced with a new entity's name when it is called in a nanoflow. Additionally, the entity type can be used to fill in a type parameter. In the generated JavaScript action template code, this type is represented as a string. | | Nanoflow | The nanoflow parameter type allows you to pass a nanoflow that you can call from your JavaScript action. The value of the parameter is an async function, where calling triggers the configured nanoflow. You can specify parameters as a JavaScript object, and capture the return value of the nanoflow once execution finishes. For example, you can call a nanoflow that has a string `Name` parameter and returns a `User` object with this given name: `const user = await nanoflowParameter({ Name: "John Doe" });`. | -| Microflow (introduced in Studio Pro 10.21.0 ) | The microflow parameter type allows you to pass a microflow that you can call from your JavaScript action. The value of the parameter is an async function, where calling triggers the configured microflow. You can specify parameters as a JavaScript object, and capture the return value of the microflow once execution finishes. For example, you can call a microflow that has a string `Name` parameter and returns a `User` object with this given name: `const user = await microflowParameter({ Name: "John Doe" });`. Calling a microflow from a JavaScript action with a microflow parameter uses a [runtime operation](/refguide/communication-patterns/#RO) and is [strict mode](/refguide/strict-mode/) compliant. | +| Microflow (introduced in Studio Pro 10.21.0 ) | The microflow parameter type allows you to pass a microflow that you can call from your JavaScript action. The value of the parameter is an async function, where calling triggers the configured microflow. You can specify parameters as a JavaScript object, and capture the return value of the microflow once execution finishes. For example, you can call a microflow that has a string `Name` parameter and returns a `User` object with this given name: `const user = await microflowParameter({ Name: "John Doe" });`. Calling a microflow from a JavaScript action with a microflow parameter uses a [runtime operation](/refguide10/communication-patterns/#RO) and is [strict mode](/refguide10/strict-mode/) compliant. | | Boolean | The Boolean parameter type allows you to pass a Boolean value to a JavaScript action. | | Date and Time | The date and time parameter type allows you to pass a date and time value to a JavaScript action. In the generated JavaScript action code, this type will be represented as a JavaScript `Date`. | | Decimal | The decimal parameter type allows you to pass a decimal value to a JavaScript action. In the generated JavaScript action code, this type will be represented as a [Big](https://www.npmjs.com/package/big-js) object. | @@ -74,7 +74,7 @@ This setting handles the parameter's name. A name is required. Names must start #### Category -Use categories to keep parameters apart in a [JavaScript Action Call](/refguide/javascript-action-call/). Categories are useful for making logical groups of parameters when your app has several parameters. If you do not specify a category, the parameter will appear in the **Input** group. +Use categories to keep parameters apart in a [JavaScript Action Call](/refguide10/javascript-action-call/). Categories are useful for making logical groups of parameters when your app has several parameters. If you do not specify a category, the parameter will appear in the **Input** group. #### Description @@ -122,7 +122,7 @@ In the **Expose as nanoflow action** tab, it is possible to expose a JavaScript {{< figure src="/attachments/refguide10/modeling/resources/javascript-actions/expose-jsaction.png" alt="expose action" class="no-border" >}} -When the **Expose as nanoflow action** option is selected, the JavaScript will appear in the **Toolbox** of a [nanoflow editor](/refguide/nanoflows/) in the category of your choice. When this action is used in a nanoflow, it will show the caption and icon you provided. The category and caption are apparent here, and the default icon and image are being displayed as no custom icon and image were assigned: +When the **Expose as nanoflow action** option is selected, the JavaScript will appear in the **Toolbox** of a [nanoflow editor](/refguide10/nanoflows/) in the category of your choice. When this action is used in a nanoflow, it will show the caption and icon you provided. The category and caption are apparent here, and the default icon and image are being displayed as no custom icon and image were assigned: {{< figure src="/attachments/refguide10/modeling/resources/javascript-actions/workshop-exposed.png" alt="workshop exposed" class="no-border" >}} @@ -136,21 +136,21 @@ A category is required when exposing a JavaScript action. Use categories to orga ### Icon -The **Icon** property is optional when exposing a JavaScript action. The image in the **Icon** property is used for the list view of the **Toolbox**. For more information, see the [Toolbox](/refguide/view-menu/#toolbox) section in the *View Menu*. +The **Icon** property is optional when exposing a JavaScript action. The image in the **Icon** property is used for the list view of the **Toolbox**. For more information, see the [Toolbox](/refguide10/view-menu/#toolbox) section in the *View Menu*. 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/#studio-pro-theme) of Studio Pro to fit its color scheme. +A separate icon can be provided for the [dark mode](/refguide10/preferences-dialog/#studio-pro-theme) of Studio Pro to fit its color scheme. ### Image -The **Image** property is optional when exposing a JavaScript action. The image in the **Image** property is used for the toolbox tile view. For more information, see the [Toolbox](/refguide/view-menu/#toolbox) section in the *View Menu*. +The **Image** property is optional when exposing a JavaScript action. The image in the **Image** property is used for the toolbox tile view. For more information, see the [Toolbox](/refguide10/view-menu/#toolbox) section in the *View Menu*. When no image and no icon is selected, the default JavaScript action image is used. Otherwise the provided *icon* image is used. 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/#studio-pro-theme) of Studio Pro to fit its color scheme. +A separate image can be provided for the [dark mode](/refguide10/preferences-dialog/#studio-pro-theme) of Studio Pro to fit its color scheme. ## Documentation @@ -201,8 +201,8 @@ export async function Hello(message) { ## Read More -* [JavaScript Action Call](/refguide/javascript-action-call/) -* [Nanoflows](/refguide/nanoflows/) +* [JavaScript Action Call](/refguide10/javascript-action-call/) +* [Nanoflows](/refguide10/nanoflows/) * [Build JavaScript Actions](/howto/extensibility/build-javascript-actions/) -* [Java Action Call](/refguide/java-action-call/) -* [Microflow Call](/refguide/microflow-call/) +* [Java Action Call](/refguide10/java-action-call/) +* [Microflow Call](/refguide10/microflow-call/) diff --git a/content/en/docs/refguide10/modeling/resources/regular-expressions.md b/content/en/docs/refguide10/modeling/resources/regular-expressions.md index 1cce627ed04..17b4489a197 100644 --- a/content/en/docs/refguide10/modeling/resources/regular-expressions.md +++ b/content/en/docs/refguide10/modeling/resources/regular-expressions.md @@ -1,13 +1,13 @@ --- title: "Regular Expressions" -url: /refguide/regular-expressions/ +url: /refguide10/regular-expressions/ weight: 70 #If moving or renaming this doc file, implement a temporary redirect and let the respective team know they should update the URL in the product. See Mapping to Products for more details. --- ## Introduction -A regular expression resource document is used in the [validation rules](/refguide/validation-rules/) of an entity to describe a set of criteria that a string must match. +A regular expression resource document is used in the [validation rules](/refguide10/validation-rules/) of an entity to describe a set of criteria that a string must match. A regular expression has the properties described below. @@ -15,7 +15,7 @@ A regular expression has the properties described below. ### Name -The name can be used to refer to the regular expression from a [validation rule](/refguide/validation-rules/) of an entity. +The name can be used to refer to the regular expression from a [validation rule](/refguide10/validation-rules/) of an entity. ### Documentation diff --git a/content/en/docs/refguide10/modeling/resources/rules.md b/content/en/docs/refguide10/modeling/resources/rules.md index 16bfb76dcc1..70fded8a209 100644 --- a/content/en/docs/refguide10/modeling/resources/rules.md +++ b/content/en/docs/refguide10/modeling/resources/rules.md @@ -1,17 +1,17 @@ --- title: "Rules" -url: /refguide/rules/ +url: /refguide10/rules/ weight: 30 #If moving or renaming this doc file, implement a temporary redirect and let the respective team know they should update the URL in the product. See Mapping to Products for more details. --- ## Introduction -A rule is a special kind of microflow. Its result should be an enumeration or a Boolean and it can be used in a [decision](/refguide/decision/) to make a decision based on that result. The idea is that complicated decisions can be consolidated in rules and reused in various places. +A rule is a special kind of microflow. Its result should be an enumeration or a Boolean and it can be used in a [decision](/refguide10/decision/) to make a decision based on that result. The idea is that complicated decisions can be consolidated in rules and reused in various places. ## Differences from Microflows -Rules are very similar to microflows; see the documentation on [Microflows](/refguide/microflows/) for more information on how to build a rule. There are only a few differences between rules and microflows: +Rules are very similar to microflows; see the documentation on [Microflows](/refguide10/microflows/) for more information on how to build a rule. There are only a few differences between rules and microflows: * A rule can only be used in a decision * The return type has to be Boolean or enumeration @@ -23,9 +23,9 @@ These differences mean that rules perform better than microflows if you don't ne ## Keyboard Support -For an overview of the shortcut keys that are supported in the rule editor, see the [Microflow, Nanoflow, and Rule Editor Shortcut Keys](/refguide/keyboard-shortcuts/#logic-editor-keyboard-support) section in *Keyboard Shortcuts*. +For an overview of the shortcut keys that are supported in the rule editor, see the [Microflow, Nanoflow, and Rule Editor Shortcut Keys](/refguide10/keyboard-shortcuts/#logic-editor-keyboard-support) section in *Keyboard Shortcuts*. ## Read More -* [Microflows](/refguide/microflows/) -* [Decision](/refguide/decision/) +* [Microflows](/refguide10/microflows/) +* [Decision](/refguide10/decision/) diff --git a/content/en/docs/refguide10/modeling/resources/scheduled-events.md b/content/en/docs/refguide10/modeling/resources/scheduled-events.md index 2c66829ea4e..eee950ed482 100644 --- a/content/en/docs/refguide10/modeling/resources/scheduled-events.md +++ b/content/en/docs/refguide10/modeling/resources/scheduled-events.md @@ -1,6 +1,6 @@ --- title: "Scheduled Events" -url: /refguide/scheduled-events/ +url: /refguide10/scheduled-events/ weight: 80 description: "Options for configuring scheduled events" #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. @@ -8,7 +8,7 @@ description: "Options for configuring scheduled events" ## Introduction -With scheduled events you can make the runtime execute a microflow repeatedly at specific intervals. The microflow is run using the [task queue](/refguide/task-queue/) mechanism. +With scheduled events you can make the runtime execute a microflow repeatedly at specific intervals. The microflow is run using the [task queue](/refguide10/task-queue/) mechanism. A scheduled event is added to your module as a document (right-click your module and you will find it listed under *Add other*). @@ -20,14 +20,14 @@ Scheduled events can be tested locally, but they will not be run if your app is | Property | Description | | --- | --- | -| Name | The name of the scheduled event. This name is recorded in the `System.ProcessedQueueTask` objects at runtime, so that you can identify when this scheduled event has been processed. See [Task Queues](/refguide/task-queue/) for additional information about this object. ⚠ For compatibility with legacy scheduled events, it is also stored in the `ScheduledEventInformation` objects but this is deprecated and will be removed in Mendix 11. | +| Name | The name of the scheduled event. This name is recorded in the `System.ProcessedQueueTask` objects at runtime, so that you can identify when this scheduled event has been processed. See [Task Queues](/refguide10/task-queue/) for additional information about this object. ⚠ For compatibility with legacy scheduled events, it is also stored in the `ScheduledEventInformation` objects but this is deprecated and will be removed in Mendix 11. | | Documentation | This field is for documentation purposes in the app model only. Its value is not visible to end-users and doesn't influence the behavior of your application. | ## Execution Properties | Property | Description | | --- | --- | -| Microflow | The microflow that is executed when the scheduled event is executed. It should have no parameters and is run with all rights (see [Microflow](/refguide/microflow/)). | +| Microflow | The microflow that is executed when the scheduled event is executed. It should have no parameters and is run with all rights (see [Microflow](/refguide10/microflow/)). | | Enabled | The microflow is only executed if the scheduled event is enabled. This setting only applies when running from Studio Pro or from Eclipse. On production environments, scheduled events are enabled/disabled via the platform tools (for example the Mendix Portal or Windows Service Console). | ## Timing Properties @@ -194,7 +194,7 @@ Hour- and minute-based intervals can only be integer divisors of 24 or 60, respe ### Cleaning Up Completed Runs of Scheduled Events -Every time a scheduled event is run it produces an entry in the `System.ProcessedQueueTask` table in the database. Over time these accumulate and the table can grow large. Refer to the documentation on [Cleaning Up Old Processed Tasks](/refguide/task-queue/#cleanup) in *Task Queue* to learn how to remove processed entries. +Every time a scheduled event is run it produces an entry in the `System.ProcessedQueueTask` table in the database. Over time these accumulate and the table can grow large. Refer to the documentation on [Cleaning Up Old Processed Tasks](/refguide10/task-queue/#cleanup) in *Task Queue* to learn how to remove processed entries. ### One Session for All Scheduled Events diff --git a/content/en/docs/refguide10/modeling/resources/task-queue.md b/content/en/docs/refguide10/modeling/resources/task-queue.md index 7434666ca75..326848d391c 100644 --- a/content/en/docs/refguide10/modeling/resources/task-queue.md +++ b/content/en/docs/refguide10/modeling/resources/task-queue.md @@ -1,6 +1,6 @@ --- title: "Task Queue" -url: /refguide/task-queue/ +url: /refguide10/task-queue/ weight: 85 description: "Concepts and usage of the task queue" --- @@ -67,7 +67,7 @@ When choosing the number of threads for a task queue, use the following guidelin #### In Studio Pro {#sp} -In Studio Pro, a [Call Microflow](/refguide/microflow-call/) activity can start a microflow in a Task Queue. +In Studio Pro, a [Call Microflow](/refguide10/microflow-call/) activity can start a microflow in a Task Queue. 1. Edit the **Call Microflow** activity. 2. Check the box **Execute this Microflow in a Task Queue**. @@ -93,7 +93,7 @@ The method `executeInBackground` takes two parameters: a context and a queue nam #### In Studio Pro -In Studio Pro, a [Call Java action](/refguide/microflow-call/) activity can start a Java action in a Task Queue. +In Studio Pro, a [Call Java action](/refguide10/microflow-call/) activity can start a Java action in a Task Queue. 1. Edit the **Call Java Action** activity. 2. Check the box **Execute this Java action in a Task Queue**. @@ -153,7 +153,7 @@ Retries can also be combined with [scheduling](#scheduling) using the API. ### Configuration Options {#configuration} -The period for a graceful shutdown of queues can be configured as a [custom runtime](/refguide/custom-settings/) setting in Studio Pro. +The period for a graceful shutdown of queues can be configured as a [custom runtime](/refguide10/custom-settings/) setting in Studio Pro. | Configuration option | Example value | Explanation | |--------------------------------------------|---------------|-----------------------------------------------------------------------------------------| @@ -225,7 +225,7 @@ Interrupting task threads may cause them to fail. These tasks will be marked as The execution of a task produces a `System.ProcessedQueueTask` object in the database. Over time these accumulate and the table can grow large. -The `System.ProcessedQueueTask` can be cleaned up automatically by specifying the [`com.mendix.core.ProcessedTasksCleanupAge`](/refguide/custom-settings/#commendixcoreProcessedTasksCleanupAge) runtime setting. This setting specifies (in milliseconds) how old objects in the table have to be before they are automatically cleaned up. Only objects with the "Completed" status are cleaned up. The cleanup action will be run every [`ClusterManagerActionInterval`](/refguide/custom-settings/#general), and does not produce any log messages. The cleanup action will remove 10000 objects each time it runs. In Mendix 10.9.0 and later, this can be configured with the [`com.mendix.core.ProcessedTasksCleanupBatchSize`](/refguide/custom-settings/#commendixcoreProcessedTasksCleanupBatchSize) runtime setting. +The `System.ProcessedQueueTask` can be cleaned up automatically by specifying the [`com.mendix.core.ProcessedTasksCleanupAge`](/refguide10/custom-settings/#commendixcoreProcessedTasksCleanupAge) runtime setting. This setting specifies (in milliseconds) how old objects in the table have to be before they are automatically cleaned up. Only objects with the "Completed" status are cleaned up. The cleanup action will be run every [`ClusterManagerActionInterval`](/refguide10/custom-settings/#general), and does not produce any log messages. The cleanup action will remove 10000 objects each time it runs. In Mendix 10.9.0 and later, this can be configured with the [`com.mendix.core.ProcessedTasksCleanupBatchSize`](/refguide10/custom-settings/#commendixcoreProcessedTasksCleanupBatchSize) runtime setting. {{% alert color="info" %}} When turning on the automatic cleanup after having used tasks for a long time, there might be many objects to clean up, which will be initiated when the runtime starts. This may cause additional load on the database, but will not block the startup. It is recommended not to do this during a busy period. @@ -235,7 +235,7 @@ When turning on the automatic cleanup after having used tasks for a long time, t ### Logging -A [Log Node](/refguide/logging/#mendix-nodes) named `Queue` exists specifically for all actions related to Task Queues. +A [Log Node](/refguide10/logging/#mendix-nodes) named `Queue` exists specifically for all actions related to Task Queues. ## Other @@ -274,7 +274,7 @@ The tasks are then consumed by executors that perform a `SELECT FOR UPDATE SKIP After the task has been executed, it is moved to be an object of the `System.ProcessedQueueTask` entity with `Status` `Completed` or `Failed`. If the task failed with an exception, this is included in the `ErrorMessage` attribute. -Arguments are stored in the `Arguments` attribute as JSON values. Arguments can be any primitive type ([variable](/refguide/variable-activities/)) or a committed persistable object, which is included in the `Arguments` field by its Mendix identifier. Upon execution of the task, the corresponding object is retrieved from the database using the Mendix identifier. For this reason the persistable object must be committed before the task executes, because otherwise a runtime exception will occur. +Arguments are stored in the `Arguments` attribute as JSON values. Arguments can be any primitive type ([variable](/refguide10/variable-activities/)) or a committed persistable object, which is included in the `Arguments` field by its Mendix identifier. Upon execution of the task, the corresponding object is retrieved from the database using the Mendix identifier. For this reason the persistable object must be committed before the task executes, because otherwise a runtime exception will occur. When a node crashes, this is eventually detected by another cluster node, because it no longer updates its heartbeat timestamp. At this point the other node will reset all tasks that were running on the crashed node. The reset performs the following actions: diff --git a/content/en/docs/refguide10/modeling/security/_index.md b/content/en/docs/refguide10/modeling/security/_index.md index 9909af4eac5..5f75a104d0f 100644 --- a/content/en/docs/refguide10/modeling/security/_index.md +++ b/content/en/docs/refguide10/modeling/security/_index.md @@ -1,6 +1,6 @@ --- title: "Security" -url: /refguide/security/ +url: /refguide10/security/ weight: 49 --- @@ -24,19 +24,19 @@ Security in Mendix apps does not include scanning files that end-users upload or If you want your app to be fully secure, you need to explicitly give access to forms, entities, microflows, and workflows before end-users can access them. When you turn production security on, the default is that no one can access anything. To make it easier to create prototypes and demos there are security levels that require less security than are needed for a production system. -For a description of the security levels, see [App Security](/refguide/app-security/). +For a description of the security levels, see [App Security](/refguide10/app-security/). ### App vs. Module Security -At the level of an app some global settings can be specified: the security level, the administrator account, and whether or not to allow anonymous access. For more information, see [App Security](/refguide/app-security/). +At the level of an app some global settings can be specified: the security level, the administrator account, and whether or not to allow anonymous access. For more information, see [App Security](/refguide10/app-security/). -Most of the security settings take place at the module level. This has the advantage that a module can specify its own security and can be distributed and reused in other apps. Access to forms, entities, microflows, workflows, and datasets can be configured. For more information, see [Module Security](/refguide/module-security/). +Most of the security settings take place at the module level. This has the advantage that a module can specify its own security and can be distributed and reused in other apps. Access to forms, entities, microflows, workflows, and datasets can be configured. For more information, see [Module Security](/refguide10/module-security/). ### User Roles vs. Module Roles {#user-role} -An end-user in a Mendix application has one or more user roles. These roles can be assigned from within the client when creating or editing an end-user. User roles are at the level of an app and can be edited in [App Security](/refguide/app-security/). For more information, see [User Roles](/refguide/user-roles/). +An end-user in a Mendix application has one or more user roles. These roles can be assigned from within the client when creating or editing an end-user. User roles are at the level of an app and can be edited in [App Security](/refguide10/app-security/). For more information, see [User Roles](/refguide10/user-roles/). -Next to this, each module defines its own set of module roles and you only have to specify security within a module in terms of those module roles. An email module maybe has two module roles, one for normal user and one for an administrator; other modules may have just one or more than two module roles depending on the requirements for those modules. For more information, see [Module Role](/refguide/module-security/#module-role). +Next to this, each module defines its own set of module roles and you only have to specify security within a module in terms of those module roles. An email module maybe has two module roles, one for normal user and one for an administrator; other modules may have just one or more than two module roles depending on the requirements for those modules. For more information, see [Module Role](/refguide10/module-security/#module-role). A user role is a combination of module roles. An end-user that signs into the system gets the access rights of all of their user roles and indirectly to the module roles that are configured for those user roles. @@ -51,7 +51,7 @@ Say, for example, you have an app with two modules: ProjectManagement and System ### Entity Access vs. Document Access {#entity-vs-page-access} -You can specify for each entity who can read or write which members (attributes and associations) under what circumstances. Using XPath constraints you can express powerful security behavior (for example, "an employee can only see orders created by the department they are a part of"). Furthermore, you can express more advanced security through [entity access](/refguide/module-security/#entity-access). +You can specify for each entity who can read or write which members (attributes and associations) under what circumstances. Using XPath constraints you can express powerful security behavior (for example, "an employee can only see orders created by the department they are a part of"). Furthermore, you can express more advanced security through [entity access](/refguide10/module-security/#entity-access). You can also configure additional access rules per document (such as a page, microflow, OData), for example, you can specify who can access it. @@ -85,7 +85,7 @@ If you want to invite your colleagues to build your app, you can manage the **Te ## The Security Overview (Beta) -The [Security Overview (Beta)](/refguide/security-overview/) provides you with an overview of your app's security. To access the overview, open the **App** menu, and then click **Show Security Overview (Beta)**. +The [Security Overview (Beta)](/refguide10/security-overview/) provides you with an overview of your app's security. To access the overview, open the **App** menu, and then click **Show Security Overview (Beta)**. {{% alert color="info" %}} This feature is currently in beta. For more information, see [Beta and Experimental Releases](/releasenotes/beta-features/). diff --git a/content/en/docs/refguide10/modeling/security/app-security/_index.md b/content/en/docs/refguide10/modeling/security/app-security/_index.md index c9c40f953b5..c9706587755 100644 --- a/content/en/docs/refguide10/modeling/security/app-security/_index.md +++ b/content/en/docs/refguide10/modeling/security/app-security/_index.md @@ -1,23 +1,23 @@ --- title: "App Security" -url: /refguide/app-security/ +url: /refguide10/app-security/ weight: 10 aliases: - - /refguide/project-security/ + - /refguide10/project-security/ #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. #The anchor password-policy below is mapped, so it should not be removed or changed --- ## Introduction -In **App Security**, you can switch security on or off for the whole app. You can also configure security settings related to the app, such as user roles, administrator credentials, demo users, anonymous users, and password policy. To be able to configure, for example, [security per module](/refguide/module-security/) or [access rule for entities](/refguide/access-rules/), you need to switch the app security on first. +In **App Security**, you can switch security on or off for the whole app. You can also configure security settings related to the app, such as user roles, administrator credentials, demo users, anonymous users, and password policy. To be able to configure, for example, [security per module](/refguide10/module-security/) or [access rule for entities](/refguide10/access-rules/), you need to switch the app security on first. To configure the app security, open **App Explorer** > **App** > **Security**, and the dialog box will open: {{< figure src="/attachments/refguide10/modeling/security/app-security/app-security-dialog.png" class="no-border" >}} {{% alert color="info" %}} -For more general information on security, see [Security](/refguide/security/). +For more general information on security, see [Security](/refguide10/security/). {{% /alert %}} ## Security Level {#security-level} @@ -67,7 +67,7 @@ Enabling **Strict page URL checking** works for pages with custom URLs, but it c ### Strict Mode {#strict-mode} -In the React client, **strict mode** will make your app more secure when the access rules are not set up correctly. For more information, see [Strict Mode](/refguide/strict-mode/). +In the React client, **strict mode** will make your app more secure when the access rules are not set up correctly. For more information, see [Strict Mode](/refguide10/strict-mode/). ### App Status {#app-status} @@ -88,25 +88,25 @@ Additionally, at the **Production** security level, the status of entity access ## User Roles {#user-roles} -A user role aggregates a number of access rights on data, pages, and microflows. An end-user of the application is assigned one or more user roles by an administrator, and gets all access rights that these user roles represent. For more information, see [User Roles](/refguide/user-roles/). +A user role aggregates a number of access rights on data, pages, and microflows. An end-user of the application is assigned one or more user roles by an administrator, and gets all access rights that these user roles represent. For more information, see [User Roles](/refguide10/user-roles/). ## Administrator {#administrator} -In the **Administrator** tab of **App Security**, you can change the default credentials and a user role for the Administrator user. For more information, see [Administrator](/refguide/administrator/). +In the **Administrator** tab of **App Security**, you can change the default credentials and a user role for the Administrator user. For more information, see [Administrator](/refguide10/administrator/). ## Demo Users {#demo-users} -Demo users are a demonstration of each [user role](/refguide/user-roles/) existing in your app. You can use demo users to test what your app looks like for each user role or to demonstrate your app to other people. For more information, see [Demo Users](/refguide/demo-users/). +Demo users are a demonstration of each [user role](/refguide10/user-roles/) existing in your app. You can use demo users to test what your app looks like for each user role or to demonstrate your app to other people. For more information, see [Demo Users](/refguide10/demo-users/). ## Anonymous Users {#anonymous-users} -Anonymous users allow end-users access your application without having to sign in. You can restrict the data that anonymous users can access by assigning a specific user role to them. For more information, see [Anonymous Users](/refguide/anonymous-users/). +Anonymous users allow end-users access your application without having to sign in. You can restrict the data that anonymous users can access by assigning a specific user role to them. For more information, see [Anonymous Users](/refguide10/anonymous-users/). ## Password Policy {#password-policy} -Specify the password requirements when users create their accounts and set passwords for them. For example, you can set the minimum length of the password, if it must contain digits or an upper case characters. For more information, see [Password Policy](/refguide/password-policy/). +Specify the password requirements when users create their accounts and set passwords for them. For example, you can set the minimum length of the password, if it must contain digits or an upper case characters. For more information, see [Password Policy](/refguide10/password-policy/). ## Read More -* [Security](/refguide/security/) -* [Module Security](/refguide/module-security/) +* [Security](/refguide10/security/) +* [Module Security](/refguide10/module-security/) diff --git a/content/en/docs/refguide10/modeling/security/app-security/administrator.md b/content/en/docs/refguide10/modeling/security/app-security/administrator.md index c51ba0dc528..e24fcc2171b 100644 --- a/content/en/docs/refguide10/modeling/security/app-security/administrator.md +++ b/content/en/docs/refguide10/modeling/security/app-security/administrator.md @@ -1,6 +1,6 @@ --- title: "Administrator" -url: /refguide/administrator/ +url: /refguide10/administrator/ weight: 20 --- @@ -67,7 +67,7 @@ Alternatively you can log in as an administrator to a Free App deployed to the c ### User Role {#user-role} -The user role assigned to the Administrator. For more information, see [User Roles](/refguide/user-roles/). +The user role assigned to the Administrator. For more information, see [User Roles](/refguide10/user-roles/). Default: *Administrator* @@ -85,8 +85,8 @@ When your app is not deployed locally, for example to Mendix Cloud, changes to t ## Read More -* [App Security](/refguide/app-security/) -* [User Roles](/refguide/user-roles/) -* [Demo Users](/refguide/demo-users/) -* [Anonymous Users](/refguide/anonymous-users/) -* [Password Policy](/refguide/password-policy/) +* [App Security](/refguide10/app-security/) +* [User Roles](/refguide10/user-roles/) +* [Demo Users](/refguide10/demo-users/) +* [Anonymous Users](/refguide10/anonymous-users/) +* [Password Policy](/refguide10/password-policy/) diff --git a/content/en/docs/refguide10/modeling/security/app-security/anonymous-users.md b/content/en/docs/refguide10/modeling/security/app-security/anonymous-users.md index 9c9450dd169..26c70be49a7 100644 --- a/content/en/docs/refguide10/modeling/security/app-security/anonymous-users.md +++ b/content/en/docs/refguide10/modeling/security/app-security/anonymous-users.md @@ -1,6 +1,6 @@ --- title: "Anonymous Users" -url: /refguide/anonymous-users/ +url: /refguide10/anonymous-users/ weight: 40 --- @@ -23,8 +23,8 @@ The properties of anonymous users are described in the table below: ## Read More -* [App Security](/refguide/app-security/) -* [User Roles](/refguide/user-roles/) -* [Administrator](/refguide/administrator/) -* [Demo Users](/refguide/demo-users/) -* [Password Policy](/refguide/password-policy/) +* [App Security](/refguide10/app-security/) +* [User Roles](/refguide10/user-roles/) +* [Administrator](/refguide10/administrator/) +* [Demo Users](/refguide10/demo-users/) +* [Password Policy](/refguide10/password-policy/) diff --git a/content/en/docs/refguide10/modeling/security/app-security/demo-users.md b/content/en/docs/refguide10/modeling/security/app-security/demo-users.md index 5d2fc7195e3..2090a6626c2 100644 --- a/content/en/docs/refguide10/modeling/security/app-security/demo-users.md +++ b/content/en/docs/refguide10/modeling/security/app-security/demo-users.md @@ -1,12 +1,12 @@ --- title: "Demo Users" -url: /refguide/demo-users/ +url: /refguide10/demo-users/ weight: 30 --- ## Introduction -Demo users are a demonstration of each [user role](/refguide/user-roles/) existing in your app. You can use demo users to test what your app looks like for each user role or to demonstrate your app to other people (for more information, see the [Testing Your App via Demo Users](#test-your-app) section). +Demo users are a demonstration of each [user role](/refguide10/user-roles/) existing in your app. You can use demo users to test what your app looks like for each user role or to demonstrate your app to other people (for more information, see the [Testing Your App via Demo Users](#test-your-app) section). When the application is started for the first time, the specified demo users are created automatically. @@ -37,7 +37,7 @@ Demo user properties are described in the table below: | Property | Description | | ---------- | ------------------------------------------------------------ | -| User name | The name of the demo user. This name must be unique, and cannot be the same as the name of the [administrator user](/refguide/administrator/). | +| User name | The name of the demo user. This name must be unique, and cannot be the same as the name of the [administrator user](/refguide10/administrator/). | | Password | The password of the demo user is created automatically when the demo user is created. It cannot be changed, but you can click **Copy password to clipboard**, for example, to share the credentials of a demo user with someone else. | | Entity | The entity of the demo user. This entity must be the System.User entity or a specialization of it. | | User roles | A user role of the demo user. Each demo user must have one or more roles. | @@ -47,7 +47,7 @@ Demo user properties are described in the table below: You can use demo user to test what your application looks like to different user roles. Do the following: 1. View you app. -2. Sign in it as the [Administrator](/refguide/administrator/). +2. Sign in it as the [Administrator](/refguide10/administrator/). 3. Click a user icon in the right side of the screen. The menu bar **Select user** will be displayed: {{< figure src="/attachments/refguide10/modeling/security/app-security/demo-users/demo-users-example.png" class="no-border" >}} @@ -56,8 +56,8 @@ You can use demo user to test what your application looks like to different user ## Read More -* [App Security](/refguide/app-security/) -* [User Roles](/refguide/user-roles/) -* [Administrator](/refguide/administrator/) -* [Anonymous Users](/refguide/anonymous-users/) -* [Password Policy](/refguide/password-policy/) +* [App Security](/refguide10/app-security/) +* [User Roles](/refguide10/user-roles/) +* [Administrator](/refguide10/administrator/) +* [Anonymous Users](/refguide10/anonymous-users/) +* [Password Policy](/refguide10/password-policy/) diff --git a/content/en/docs/refguide10/modeling/security/app-security/password-policy.md b/content/en/docs/refguide10/modeling/security/app-security/password-policy.md index 425fc0ac710..757cf80baa3 100644 --- a/content/en/docs/refguide10/modeling/security/app-security/password-policy.md +++ b/content/en/docs/refguide10/modeling/security/app-security/password-policy.md @@ -1,6 +1,6 @@ --- title: "Password Policy" -url: /refguide/password-policy/ +url: /refguide10/password-policy/ weight: 50 --- @@ -25,8 +25,8 @@ Password policy properties are described in the table below: ## Read More -* [App Security](/refguide/app-security/) -* [User Roles](/refguide/user-roles/) -* [Administrator](/refguide/administrator/) -* [Demo Users](/refguide/demo-users/) -* [Anonymous Users](/refguide/anonymous-users/) +* [App Security](/refguide10/app-security/) +* [User Roles](/refguide10/user-roles/) +* [Administrator](/refguide10/administrator/) +* [Demo Users](/refguide10/demo-users/) +* [Anonymous Users](/refguide10/anonymous-users/) diff --git a/content/en/docs/refguide10/modeling/security/app-security/strict-mode.md b/content/en/docs/refguide10/modeling/security/app-security/strict-mode.md index 96e90fe5fd9..9c0563f1ca3 100644 --- a/content/en/docs/refguide10/modeling/security/app-security/strict-mode.md +++ b/content/en/docs/refguide10/modeling/security/app-security/strict-mode.md @@ -1,12 +1,12 @@ --- title: "Strict Mode" -url: /refguide/strict-mode/ +url: /refguide10/strict-mode/ weight: 50 --- ## Introduction -Configuring [access rules](/refguide/access-rules/) is essential for the security of your app. However, accurately setting up these rules can be challenging. In case you make any mistakes setting up access rules, you want a safety net when you roll your app out to users. To make your app more secure in cases where access rules are not configured correctly, you can enable strict mode. +Configuring [access rules](/refguide10/access-rules/) is essential for the security of your app. However, accurately setting up these rules can be challenging. In case you make any mistakes setting up access rules, you want a safety net when you roll your app out to users. To make your app more secure in cases where access rules are not configured correctly, you can enable strict mode. Strict mode will help ensure that entities are accessible only in the ways defined within your model – through microflows, nanoflows, widgets, or pages – by restricting certain client APIs. @@ -18,7 +18,7 @@ Please note, strict mode is exclusively available for the React client. ### Enabling Strict Mode -Strict mode can be enabled in [App Security](/refguide/app-security/#strict-mode) when the React client is enabled and the security level is set to **Production**. +Strict mode can be enabled in [App Security](/refguide10/app-security/#strict-mode) when the React client is enabled and the security level is set to **Production**. ## Restricted Client APIs @@ -43,6 +43,6 @@ Additionally, since **Save Changes Actions** and **Cancel Changes Actions** are ## Read More -* [App Security](/refguide/app-security/) +* [App Security](/refguide10/app-security/) * [Client APIs](/apidocs-mxsdk/apidocs/client-api/) -* [Access Rules](/refguide/access-rules/) +* [Access Rules](/refguide10/access-rules/) diff --git a/content/en/docs/refguide10/modeling/security/app-security/user-roles.md b/content/en/docs/refguide10/modeling/security/app-security/user-roles.md index 6cb0c065f4b..17d303dad1f 100644 --- a/content/en/docs/refguide10/modeling/security/app-security/user-roles.md +++ b/content/en/docs/refguide10/modeling/security/app-security/user-roles.md @@ -1,10 +1,10 @@ --- title: "User Roles" -url: /refguide/user-roles/ +url: /refguide10/user-roles/ weight: 10 aliases: - - /refguide/user-role.html - - /refguide/user-role + - /refguide10/user-role.html + - /refguide10/user-role #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. --- @@ -12,7 +12,7 @@ aliases: A user role aggregates a number of access rights on data, forms, and microflows. An end-user of the application is assigned one or more user roles by an administrator, and gets all access rights that these user roles represent. -Every user role has one or more [module roles](/refguide/module-security/#module-role), which means that users with that user role have all the access rights that are defined for those module roles. A typical user role has the **System.User** module role and at least one other module role. +Every user role has one or more [module roles](/refguide10/module-security/#module-role), which means that users with that user role have all the access rights that are defined for those module roles. A typical user role has the **System.User** module role and at least one other module role. The purpose of the distinction between user roles and module roles is to make a module self-contained (independent from the app in which it is defined or used), so that it can be reused in different apps and/or published to the Marketplace. @@ -23,7 +23,7 @@ To access user roles, open **App Security** > **User roles** tab: {{< figure src="/attachments/refguide10/modeling/security/app-security/user-roles/user-roles-example.png" class="no-border" >}} {{% alert color="warning" %}} -The effects of changes to user roles are not immediate. This means that your app might show outdated pages or incorrect data. For more information, please refer documentation about [persistent sessions](/refguide/clustered-mendix-runtime/#sessions-are-always-persistent). +The effects of changes to user roles are not immediate. This means that your app might show outdated pages or incorrect data. For more information, please refer documentation about [persistent sessions](/refguide10/clustered-mendix-runtime/#sessions-are-always-persistent). Mendix recommends that you do NOT use this feature to create a dynamic UI as these changes will not take effect immediately. {{% /alert %}} @@ -48,7 +48,7 @@ General properties of user roles are described in the table below: | Name | The name property defines the name of the user role. This name is shown to end-users who can create or edit user accounts in the application. | | Documentation | In this property you can document additional information about the user role. This information is shown to end-users who can create or edit user accounts in the application. | | Module roles | A list of module roles of which the access rights are accumulated in the user role. An end-user that is assigned a user role gets all access rights of the module roles of that user role. | -| Check security | This specifies whether the consistency of security settings is checked for this user role. You can choose to not check security for a user role. For example, user roles that are used only for web service users do not need to be checked because they never sign in to the client. For more information on the security check, see [App Security](/refguide/app-security/). | +| Check security | This specifies whether the consistency of security settings is checked for this user role. You can choose to not check security for a user role. For example, user roles that are used only for web service users do not need to be checked because they never sign in to the client. For more information on the security check, see [App Security](/refguide10/app-security/). | ### User Management Properties {#user-management} @@ -63,8 +63,8 @@ Internally, user management properties are translated into entity access rules f ## Read More -* [App Security](/refguide/app-security/) -* [Administrator](/refguide/administrator/) -* [Demo Users](/refguide/demo-users/) -* [Anonymous Users](/refguide/anonymous-users/) -* [Password Policy](/refguide/password-policy/) +* [App Security](/refguide10/app-security/) +* [Administrator](/refguide10/administrator/) +* [Demo Users](/refguide10/demo-users/) +* [Anonymous Users](/refguide10/anonymous-users/) +* [Password Policy](/refguide10/password-policy/) diff --git a/content/en/docs/refguide10/modeling/security/module-security.md b/content/en/docs/refguide10/modeling/security/module-security.md index ac7a6ee144d..4e469f5d056 100644 --- a/content/en/docs/refguide10/modeling/security/module-security.md +++ b/content/en/docs/refguide10/modeling/security/module-security.md @@ -1,24 +1,24 @@ --- title: "Module Security" -url: /refguide/module-security/ +url: /refguide10/module-security/ weight: 20 aliases: - - /refguide/module-role.html - - /refguide/module-role + - /refguide10/module-role.html + - /refguide10/module-role #If moving or renaming this doc file, implement a temporary redirect and let the respective team know they should update the URL in the product. See Mapping to Products for more details. --- ## Introduction {{% alert color="info" %}} -For more general information on security, see [Security](/refguide/security/). +For more general information on security, see [Security](/refguide10/security/). {{% /alert %}} Within a module you can define module roles and specify security settings for pages, microflows, entities, and datasets. ## Module Role {#module-role} -A module role is a specific role you create within the module to define a set of access permissions. The permissions are contained within the module. You can assign multiple module roles to a user role under the **App Security** > **User roles** tab. For more information on module roles, [user roles](/refguide/user-roles/), and their relation, see [Security](/refguide/security/). +A module role is a specific role you create within the module to define a set of access permissions. The permissions are contained within the module. You can assign multiple module roles to a user role under the **App Security** > **User roles** tab. For more information on module roles, [user roles](/refguide10/user-roles/), and their relation, see [Security](/refguide10/security/). A module role has the following properties: @@ -37,7 +37,7 @@ For each combination you can indicate whether or not the page is visible for the A page that is not visible for a specific role will not show up in navigation structures, and **Open Page** buttons leading to that page will not be rendered by default. -Page access settings do not restrict users from navigating to a page through other means, for example through a deeplink or through a button that is forced to be visible (for more information, see [Common Widget Properties](/refguide/common-widget-properties/)). If you want to ensure that specific roles cannot access parts of your data or logic, than this must be expressed through **entity access** and **microflow access** constraints. +Page access settings do not restrict users from navigating to a page through other means, for example through a deeplink or through a button that is forced to be visible (for more information, see [Common Widget Properties](/refguide10/common-widget-properties/)). If you want to ensure that specific roles cannot access parts of your data or logic, than this must be expressed through **entity access** and **microflow access** constraints. ## Microflow Access @@ -47,7 +47,7 @@ The **Microflow access** tab is displayed as a matrix showing microflows and mod {{< figure src="/attachments/refguide10/modeling/security/module-security/microflow-access-tab.png" width="600">}} -For each combination you can indicate whether or not the module role has access to the microflow. You can also edit this information in a [microflow](/refguide/microflow/) using the **Allowed roles** property. +For each combination you can indicate whether or not the module role has access to the microflow. You can also edit this information in a [microflow](/refguide10/microflow/) using the **Allowed roles** property. {{% alert color="info" %}} Note that these roles are only checked when the microflow is executed from the client. A microflow is always allowed to call another microflow and these roles are not checked then. @@ -61,7 +61,7 @@ The **Nanoflow access** tab is displayed as a matrix showing nanoflows and modul {{< figure src="/attachments/refguide10/modeling/security/module-security/nanoflow-access-tab.png" width="600" >}} -For each combination you can indicate whether or not the module role has access to the nanoflow. You can also edit this information in the [nanoflow](/refguide/nanoflow/) using the **Allowed roles** property. +For each combination you can indicate whether or not the module role has access to the nanoflow. You can also edit this information in the [nanoflow](/refguide10/nanoflow/) using the **Allowed roles** property. ## Entity Access {#entity-access} @@ -69,7 +69,7 @@ For each combination you can indicate whether or not the module role has access {{% alert color="info" %}} -From Mendix 10.21 and above editing access rules uses the [new access rule editor](/refguide/access-rules/#new-editor). +From Mendix 10.21 and above editing access rules uses the [new access rule editor](/refguide10/access-rules/#new-editor). {{% /alert %}} @@ -77,7 +77,7 @@ The **Entity Access** tab is displayed as a matrix showing access rules that app {{< figure src="/attachments/refguide10/modeling/security/module-security/entity-access-tab.png" width="600" >}} -Each access rule in turn applies to a set of module roles. For more information, see [Access Rules](/refguide/access-rules/). +Each access rule in turn applies to a set of module roles. For more information, see [Access Rules](/refguide10/access-rules/). ## OData/GraphQL Access @@ -87,7 +87,7 @@ The **OData/GraphQL Access** tab is displayed as a matrix showing published ODat {{< figure src="/attachments/refguide10/modeling/security/module-security/odata-access-tab.png" width="600" >}} -For each combination, you can indicate whether the module role has access to the published OData/GraphQL service. You can also edit this information in [published OData/GraphQL services](/refguide/published-odata-services/) using the **Allowed roles** property in the **Settings** tab. +For each combination, you can indicate whether the module role has access to the published OData/GraphQL service. You can also edit this information in [published OData/GraphQL services](/refguide10/published-odata-services/) using the **Allowed roles** property in the **Settings** tab. ## REST Access @@ -99,11 +99,11 @@ The **REST Access** tab is displayed as a matrix showing published REST services For each REST service, you can indicate whether or not the module role has access to the published REST service. -The **REST Access** tab is visible only when the service has the security set to require authentication. For more information, see [published REST services](/refguide/published-rest-services/). +The **REST Access** tab is visible only when the service has the security set to require authentication. For more information, see [published REST services](/refguide10/published-rest-services/). ## Data Set Access -**Data Set Access** shows the access which the module role has to each [dataset](/refguide/data-sets/). +**Data Set Access** shows the access which the module role has to each [dataset](/refguide10/data-sets/). | Value | Description | | --- | --- | @@ -118,5 +118,5 @@ The ranges are defined in the parameters of the data set. Whether values in thes ## Read More -* [Security](/refguide/security/) -* [User roles](/refguide/user-roles/) +* [Security](/refguide10/security/) +* [User roles](/refguide10/user-roles/) diff --git a/content/en/docs/refguide10/modeling/security/security-overview.md b/content/en/docs/refguide10/modeling/security/security-overview.md index 74b268914cb..deb8a7e1d5a 100644 --- a/content/en/docs/refguide10/modeling/security/security-overview.md +++ b/content/en/docs/refguide10/modeling/security/security-overview.md @@ -1,6 +1,6 @@ --- title: "Security Overview" -url: /refguide/security-overview/ +url: /refguide10/security-overview/ weight: 20 beta: true --- @@ -101,5 +101,5 @@ To export the **Security Overview**, click the **Export to Excel** button. This ## Read More -* [User Roles](/refguide/user-roles/) -* [Access Rules](/refguide/access-rules/) +* [User Roles](/refguide10/user-roles/) +* [Access Rules](/refguide10/access-rules/) diff --git a/content/en/docs/refguide10/modeling/xpath/_index.md b/content/en/docs/refguide10/modeling/xpath/_index.md index f4304799e11..96c88ae113b 100644 --- a/content/en/docs/refguide10/modeling/xpath/_index.md +++ b/content/en/docs/refguide10/modeling/xpath/_index.md @@ -1,6 +1,6 @@ --- title: "XPath" -url: /refguide/xpath/ +url: /refguide10/xpath/ weight: 90 description: "Describes how the XPath query language is used in Mendix by presenting functions and examples." --- @@ -9,7 +9,7 @@ description: "Describes how the XPath query language is used in Mendix by presen Mendix XPath is one of the Mendix query languages designed to retrieve data. XPath uses path expressions to select data of Mendix objects and their attributes or associations. -XPath queries can be written in Studio Pro, for example when you want to specify a constraint on the data retrieved in a Retrieve microflow activity. For examples on how XPath queries are used in Studio Pro, see [XPath Constraints](/refguide/xpath-constraints/). +XPath queries can be written in Studio Pro, for example when you want to specify a constraint on the data retrieved in a Retrieve microflow activity. For examples on how XPath queries are used in Studio Pro, see [XPath Constraints](/refguide10/xpath-constraints/). XPath queries can also be used directly in code in the *.java* files of your Java actions. Examples of complete XPath queries in Java code are: @@ -25,7 +25,7 @@ The syntax of XPath queries differs between Studio Pro and Java environments. In {{% /alert %}} {{% alert color="warning" %}} -Not all [XPath operators](/refguide/xpath-operators/) are supported by Studio Pro. +Not all [XPath operators](/refguide10/xpath-operators/) are supported by Studio Pro. {{% /alert %}} ## XPath Elements @@ -40,7 +40,7 @@ A common XPath query consists of several elements. Element B describes the core of each query and consists of a description of the object being retrieved. This segment always starts with two forward slashes `//` and includes the name of the entity you wish to access preceded by the module containing the entity separated by a period. For example, `//Sales.Order` would return all objects of entity `Order` in the module `Sales`. {{% alert color="info" %}} -In Studio Pro, you do not write element B in your XPath query because it is implicitly determined by context. For more information, see [XPath Constraints](/refguide/xpath-constraints/). +In Studio Pro, you do not write element B in your XPath query because it is implicitly determined by context. For more information, see [XPath Constraints](/refguide10/xpath-constraints/). {{% /alert %}} Element C of a query is optional and contains one or more constraints to restrict the data being retrieved. Consider the following complete XPath query: @@ -49,11 +49,11 @@ Element C of a query is optional and contains one or more constraints to restric //Sales.Customer[Name='Jansen'] ``` -The constraint is clearly visible between brackets and restricts the objects retrieved to those for which the attribute `Name` equals `Jansen`. Objects with any other name than Jansen are excluded from the list. The number of possible constraints on a single query is unlimited. For more information on how to add and manipulate these constraints, see [XPath Constraints](/refguide/xpath-constraints/). +The constraint is clearly visible between brackets and restricts the objects retrieved to those for which the attribute `Name` equals `Jansen`. Objects with any other name than Jansen are excluded from the list. The number of possible constraints on a single query is unlimited. For more information on how to add and manipulate these constraints, see [XPath Constraints](/refguide10/xpath-constraints/). Element D of a query is optional and specifies an attribute of the retrieved entity. This option is rarely used in Studio Pro itself as all data is stored in objects, making it cumbersome and needlessly complicated to deal with a list of single attribute. However, various Java actions have use of such lists. Also, this functionality can be used in conjunction with element A to create aggregates of certain attributes easily. -Element A of a query is optional and specifies an aggregation. Element A can be one of the following functions: [avg](/refguide/xpath-aggregate-functions/#avg), [count](/refguide/xpath-aggregate-functions/#count), [max](/refguide/xpath-aggregate-functions/#max), [min](/refguide/xpath-aggregate-functions/#min) and [sum](/refguide/xpath-aggregate-functions/#sum). With the exception of [count](/refguide/xpath-aggregate-functions/#count), each of these functions requires that a particular attribute is specified in element D. +Element A of a query is optional and specifies an aggregation. Element A can be one of the following functions: [avg](/refguide10/xpath-aggregate-functions/#avg), [count](/refguide10/xpath-aggregate-functions/#count), [max](/refguide10/xpath-aggregate-functions/#max), [min](/refguide10/xpath-aggregate-functions/#min) and [sum](/refguide10/xpath-aggregate-functions/#sum). With the exception of [count](/refguide10/xpath-aggregate-functions/#count), each of these functions requires that a particular attribute is specified in element D. {{% alert color="info" %}} Element A is for use in Java code only. @@ -61,17 +61,17 @@ Element A is for use in Java code only. ## Tokens -For details, see [XPath Tokens](/refguide/xpath-tokens/). +For details, see [XPath Tokens](/refguide10/xpath-tokens/). ## Operators -For details, see [XPath Operators](/refguide/xpath-operators/). +For details, see [XPath Operators](/refguide10/xpath-operators/). ## Functions There are two function types. XPath aggregate functions are for use in Java code only and must contain full queries as their arguments. XPath constraint functions can be used both in Java code and in Studio Pro. In Studio Pro, you do not write complete queries, only the constraints. -For details, see [XPath aggregate functions](/refguide/xpath-aggregate-functions/) and [XPath constraint functions](/refguide/xpath-constraint-functions/). +For details, see [XPath aggregate functions](/refguide10/xpath-aggregate-functions/) and [XPath constraint functions](/refguide10/xpath-constraint-functions/). ## Example @@ -85,5 +85,5 @@ This video was done with [Studio Pro 8](/refguide8/), but the concepts remain ap ## Read More -* [Filtering Data on an Overview Page Using XPath](/refguide/filtering-data-on-an-overview-page/) -* [Defining Access Rules Using XPath](/refguide/define-access-rules-using-xpath/) +* [Filtering Data on an Overview Page Using XPath](/refguide10/filtering-data-on-an-overview-page/) +* [Defining Access Rules Using XPath](/refguide10/define-access-rules-using-xpath/) diff --git a/content/en/docs/refguide10/modeling/xpath/define-access-rules-using-xpath.md b/content/en/docs/refguide10/modeling/xpath/define-access-rules-using-xpath.md index 992032dba37..c1e7094926c 100644 --- a/content/en/docs/refguide10/modeling/xpath/define-access-rules-using-xpath.md +++ b/content/en/docs/refguide10/modeling/xpath/define-access-rules-using-xpath.md @@ -1,7 +1,7 @@ --- title: "Defining Access Rules Using XPath" linktitle: "Define Access Rules Using XPath" -url: /refguide/define-access-rules-using-xpath/ +url: /refguide10/define-access-rules-using-xpath/ weight: 4 description: "Describes how to define access rules for an entity using an XPath constraint." aliases: @@ -9,12 +9,12 @@ aliases: --- {{% alert color="info" %}} -This example is using a version of Mendix below 10.5. In Mendix version 10.5 and above, the [XPath Constraints](/refguide/xpath-constraints/) dialog has a different UX which makes it easier to build XPath constraints. However, the concepts and XPath examples can still be used in Mendix version 10.5 and above. +This example is using a version of Mendix below 10.5. In Mendix version 10.5 and above, the [XPath Constraints](/refguide10/xpath-constraints/) dialog has a different UX which makes it easier to build XPath constraints. However, the concepts and XPath examples can still be used in Mendix version 10.5 and above. {{% /alert %}} ## Introduction -The access rules of an entity define what a user is allowed to do with the objects of the entity. Users can be allowed to create and/or delete objects and to view and/or edit member values. A member is an attribute or an association of an entity. Furthermore, the set of objects available for viewing, editing, and removing can be limited by means of an XPath constraint (for details, see [XPath Constraints](/refguide/xpath-constraints/) in the *Studio Pro Guide*). For more information on access rules, see [Access Rules](/refguide/access-rules/) in the *Studio Pro Guide*. +The access rules of an entity define what a user is allowed to do with the objects of the entity. Users can be allowed to create and/or delete objects and to view and/or edit member values. A member is an attribute or an association of an entity. Furthermore, the set of objects available for viewing, editing, and removing can be limited by means of an XPath constraint (for details, see [XPath Constraints](/refguide10/xpath-constraints/) in the *Studio Pro Guide*). For more information on access rules, see [Access Rules](/refguide10/access-rules/) in the *Studio Pro Guide*. In this how-to, you will prepare a data structure (including security), a GUI, and some example data for customers, orders, and a financial administrator account. After this preparation, you will define the access rules for the **Order** entity using XPath on the payment status. The XPath will constrain the order so that it can only be seen by a financial administrator when the payment status of the order is set to **paid**. @@ -32,9 +32,9 @@ To prepare the data structure, GUI, and example data, follow these steps: {{< figure src="/attachments/refguide10/modeling/xpath/define-access-rules-using-xpath/18581378.png" class="no-border" >}} - For more information on creating a domain model, see [Configuring a Domain Model](/refguide/configuring-a-domain-model/). + For more information on creating a domain model, see [Configuring a Domain Model](/refguide10/configuring-a-domain-model/). 2. Create overview and detail pages to manage the **Customer** and **Order** objects (for more information on creating these pages, see [How to Create Your First Two Overview and Detail Pages](/howto/front-end/create-your-first-two-overview-and-detail-pages/)). -3. Create menu items to access the **Order** and **Customer** overview pages (for more information on creating menu items, see [Setting Up Navigation](/refguide/setting-up-the-navigation-structure/)). +3. Create menu items to access the **Order** and **Customer** overview pages (for more information on creating menu items, see [Setting Up Navigation](/refguide10/setting-up-the-navigation-structure/)). 4. Set the **Security level** of you application to **Production** (for more information, see [How to Create a Secure App](/howto/security/create-a-secure-app/)). {{< figure src="/attachments/refguide10/modeling/xpath/define-access-rules-using-xpath/18581008.png" class="no-border" >}} @@ -86,4 +86,4 @@ To define the access rules on the **Order** entity using XPath, follow these ste ## Read More -* [Filtering Data on an Overview Page Using XPath](/refguide/filtering-data-on-an-overview-page/) +* [Filtering Data on an Overview Page Using XPath](/refguide10/filtering-data-on-an-overview-page/) diff --git a/content/en/docs/refguide10/modeling/xpath/filtering-data-on-an-overview-page.md b/content/en/docs/refguide10/modeling/xpath/filtering-data-on-an-overview-page.md index 2bb075395b4..baa39eee998 100644 --- a/content/en/docs/refguide10/modeling/xpath/filtering-data-on-an-overview-page.md +++ b/content/en/docs/refguide10/modeling/xpath/filtering-data-on-an-overview-page.md @@ -1,7 +1,7 @@ --- title: "Filtering Data on an Overview Page Using XPath" linktitle: "Filter Data Using XPath" -url: /refguide/filtering-data-on-an-overview-page/ +url: /refguide10/filtering-data-on-an-overview-page/ weight: 5 description: "Describes how to filter data using different XPath constraints." aliases: @@ -9,7 +9,7 @@ aliases: --- {{% alert color="info" %}} -This example is using a version of Mendix below 10.5. In Mendix version 10.5 and above, the [XPath Constraints](/refguide/xpath-constraints/) dialog has a different UX which makes it easier to build XPath constraints. However, the concepts and XPath examples can still be used in Mendix version 10.5 and above. +This example is using a version of Mendix below 10.5. In Mendix version 10.5 and above, the [XPath Constraints](/refguide10/xpath-constraints/) dialog has a different UX which makes it easier to build XPath constraints. However, the concepts and XPath examples can still be used in Mendix version 10.5 and above. {{% /alert %}} ## Introduction @@ -32,12 +32,12 @@ This how-to teaches you how to do the following: For this how-to, it is necessary that you set up a test app with test data. To do so, follow these steps: -1. Follow the guide [Configuring a Domain Model](/refguide/configuring-a-domain-model/) and create the following domain model: +1. Follow the guide [Configuring a Domain Model](/refguide10/configuring-a-domain-model/) and create the following domain model: {{< figure src="/attachments/refguide10/modeling/xpath/define-access-rules-using-xpath/18581378.png" class="no-border" >}} 2. [Create overview and detail pages](/howto/front-end/create-your-first-two-overview-and-detail-pages/) to manage the **Customer** and the **Order** entities and their objects. -3. [Create menu items](/refguide/setting-up-the-navigation-structure/#menu-items) to access the **Customer** and the **Order** overview pages. +3. [Create menu items](/refguide10/setting-up-the-navigation-structure/#menu-items) to access the **Customer** and the **Order** overview pages. 4. Add the following customer data to your app: {{< figure src="/attachments/refguide10/modeling/xpath/filtering-data-on-an-overview-page/example-customers-data.png" width="500px" class="no-border" >}} @@ -80,7 +80,7 @@ In the previous section, you set up a basic data structure and created some samp ## Filtering the Orders List by Order Status Using XPath -In the previous section, you used the search bar to filter data on the **Orders** overview page. In this section, you add an XPath constraint on the **Orders** data grid. With an XPath constraint on a data grid you can filter (in a hard-coded way) the objects shown in the list. Mendix XPath is one of the Mendix query languages designed to retrieve data. XPath uses path expressions to select data of Mendix objects and their attributes or associations. To learn more about XPath, see [XPath Constraints](/refguide/xpath-constraints/). In the following example, you constrain the data grid using XPath so that the data grid only displays orders with the status **Open**. +In the previous section, you used the search bar to filter data on the **Orders** overview page. In this section, you add an XPath constraint on the **Orders** data grid. With an XPath constraint on a data grid you can filter (in a hard-coded way) the objects shown in the list. Mendix XPath is one of the Mendix query languages designed to retrieve data. XPath uses path expressions to select data of Mendix objects and their attributes or associations. To learn more about XPath, see [XPath Constraints](/refguide10/xpath-constraints/). In the following example, you constrain the data grid using XPath so that the data grid only displays orders with the status **Open**. 1. Select the **Orders** data grid and go to its **Properties** pane. 2. Choose **XPath** for **Data source** > **Type** and then click in the **XPath Constraint** field: @@ -142,4 +142,4 @@ In the previous section, you constrained the data grid on attributes of the same ## Read More -* [Defining Access Rules Using XPath](/refguide/define-access-rules-using-xpath/) +* [Defining Access Rules Using XPath](/refguide10/define-access-rules-using-xpath/) diff --git a/content/en/docs/refguide10/modeling/xpath/xpath-aggregate-functions.md b/content/en/docs/refguide10/modeling/xpath/xpath-aggregate-functions.md index 1864aa1f777..51233d0fa89 100644 --- a/content/en/docs/refguide10/modeling/xpath/xpath-aggregate-functions.md +++ b/content/en/docs/refguide10/modeling/xpath/xpath-aggregate-functions.md @@ -1,6 +1,6 @@ --- title: "XPath Aggregate Functions" -url: /refguide/xpath-aggregate-functions/ +url: /refguide10/xpath-aggregate-functions/ weight: 1 --- diff --git a/content/en/docs/refguide10/modeling/xpath/xpath-constraints/_index.md b/content/en/docs/refguide10/modeling/xpath/xpath-constraints/_index.md index b06dafb5e8a..9b0e3b0fa41 100644 --- a/content/en/docs/refguide10/modeling/xpath/xpath-constraints/_index.md +++ b/content/en/docs/refguide10/modeling/xpath/xpath-constraints/_index.md @@ -1,12 +1,12 @@ --- title: "XPath Constraints" -url: /refguide/xpath-constraints/ +url: /refguide10/xpath-constraints/ weight: 2 --- ## Introduction -A constraint can be added to any XPath query to filter the data retrieved. It should always take the form of a valid [expression](/refguide/xpath-expressions/). This should consist of one or more entities, attributes, or associations combined with [operators](/refguide/xpath-operators/), [functions](/refguide/xpath-constraint-functions/), and [keywords or system variables](/refguide/xpath-keywords-and-system-variables/). +A constraint can be added to any XPath query to filter the data retrieved. It should always take the form of a valid [expression](/refguide10/xpath-expressions/). This should consist of one or more entities, attributes, or associations combined with [operators](/refguide10/xpath-operators/), [functions](/refguide10/xpath-constraint-functions/), and [keywords or system variables](/refguide10/xpath-keywords-and-system-variables/). The syntax of XPath queries differs between Studio Pro and Java environments. In Studio Pro, you do not write complete queries, only the constraints. The entity is implicitly determined by the context. So, instead of `//Sales.Customer[Name='Jansen']`, you only need to write `[Name='Jansen']` in the context of a customer. In Java, you do need to write whole queries, including the double slashes (`//`) and the entity name. @@ -24,9 +24,9 @@ In Studio Pro version 10.5, a new, visual, way of constructing XPath constraints Visual Builder for XPath constraints has a number of limitations which are listed in [Builder Limitations](#limitations). {{% /alert %}} -You can use the Builder in all places where you can retrieve data from the database, for example a [Retrieve](/refguide/retrieve/) activity in a microflow or the [Data Source](/refguide/xpath-source/) of a widget. Select **(From) Database** and click **Edit…** next to **XPath constraint** to open a dialog box where you can build your constraint. +You can use the Builder in all places where you can retrieve data from the database, for example a [Retrieve](/refguide10/retrieve/) activity in a microflow or the [Data Source](/refguide10/xpath-source/) of a widget. Select **(From) Database** and click **Edit…** next to **XPath constraint** to open a dialog box where you can build your constraint. -Ensure the **Builder** option is selected to use the Builder—this is the default from Mendix version 10.10. You can switch between the Builder and the XPath expression editor to view them in different ways. You can also set the Builder as the default in your [preferences](/refguide/preferences-dialog/#visual-builder). +Ensure the **Builder** option is selected to use the Builder—this is the default from Mendix version 10.10. You can switch between the Builder and the XPath expression editor to view them in different ways. You can also set the Builder as the default in your [preferences](/refguide10/preferences-dialog/#visual-builder). #### Constructing an XPath Constraint @@ -38,7 +38,7 @@ You then see a clause beginning **Where** where you can enter one or more condit Click the down arrow (▼) and select from the list of options. You will only be shown options that fit the current context and are supported by visual Builder for XPath constraints. -2. Relational [operator](/refguide/xpath-operators/) or function. +2. Relational [operator](/refguide10/xpath-operators/) or function. Click the down arrow (▼) and select from the list of supported options. @@ -87,7 +87,7 @@ Depending on the version, you may have to use a different option to add your XPa #### Mendix Version 10.5 and Above -For all places where you can retrieve data from the database, for example a [Retrieve](/refguide/retrieve/) activity in a microflow or the [Data Source](/refguide/xpath-source/) of a widget, you select **(From) Database** and you will always have the option to add an **XPath constraint** by clicking **Edit…** to open a dialog box where you can enter your constraint. +For all places where you can retrieve data from the database, for example a [Retrieve](/refguide10/retrieve/) activity in a microflow or the [Data Source](/refguide10/xpath-source/) of a widget, you select **(From) Database** and you will always have the option to add an **XPath constraint** by clicking **Edit…** to open a dialog box where you can enter your constraint. {{< figure src="/attachments/refguide10/modeling/xpath/xpath-constraints/from-database-xpath-10-5.png" class="no-border" >}} @@ -101,13 +101,13 @@ For a **Retrieve** activity in a microflow, you choose **Source: From database** {{< figure src="/attachments/refguide10/modeling/xpath/xpath-constraints/from-database-xpath-10-4.png" class="no-border" >}} -For a **Data Source** of a page widget such as a [Data Grid](/refguide/data-grid/), you choose **Type: XPath**. You will then see an **XPath** field and click **Edit…** to open a dialog box where you can enter your constraint. +For a **Data Source** of a page widget such as a [Data Grid](/refguide10/data-grid/), you choose **Type: XPath**. You will then see an **XPath** field and click **Edit…** to open a dialog box where you can enter your constraint. {{< figure src="/attachments/refguide10/modeling/xpath/xpath-constraints/data-source-xpath-10-4.png" class="no-border" >}} ## Constraints in Java -To apply XPath constraints in Java, you should use a complete XPath expression as described in [XPath](/refguide/xpath/). This includes the entity context plus your constraint expression and (optionally) an aggregate function and attribute to retrieve. +To apply XPath constraints in Java, you should use a complete XPath expression as described in [XPath](/refguide10/xpath/). This includes the entity context plus your constraint expression and (optionally) an aggregate function and attribute to retrieve. The XPath should be used in a [core.createXPathQuery](https://apidocs.rnd.mendix.com/10/runtime/com/mendix/core/Core.html#createXPathQuery(java.lang.String)) call. You can then call [XPathQueryBase.execute](https://apidocs.rnd.mendix.com/10/runtime/com/mendix/datastorage/XPathQueryBase.html#execute(com.mendix.systemwideinterfaces.core.IContext)) which will return the list of objects filtered using the XPath you provided. @@ -149,7 +149,7 @@ This query retrieves all customers whose name is equal to Jansen and who live in {{% /tab %}} {{< /tabpane >}} -It is also possible to combine constraints with an `and` [operator](/refguide/xpath-operators/). This query retrieves all customers whose names equal to Jansen *and* who live in Rotterdam: +It is also possible to combine constraints with an `and` [operator](/refguide10/xpath-operators/). This query retrieves all customers whose names equal to Jansen *and* who live in Rotterdam: {{< tabpane >}} {{% tab header="Environments:" disabled=true /%}} diff --git a/content/en/docs/refguide10/modeling/xpath/xpath-constraints/xpath-constraint-functions/_index.md b/content/en/docs/refguide10/modeling/xpath/xpath-constraints/xpath-constraint-functions/_index.md index bd2e7bea09e..ed3bfb21224 100644 --- a/content/en/docs/refguide10/modeling/xpath/xpath-constraints/xpath-constraint-functions/_index.md +++ b/content/en/docs/refguide10/modeling/xpath/xpath-constraints/xpath-constraint-functions/_index.md @@ -1,25 +1,25 @@ --- title: "XPath Constraint Functions" -url: /refguide/xpath-constraint-functions/ +url: /refguide10/xpath-constraint-functions/ --- The following pages describe the functions that can be executed within constraints: -* [true](/refguide/xpath-true/) -* [false](/refguide/xpath-false/) -* [not](/refguide/xpath-not/) -* [length](/refguide/xpath-length/) -* [string-length](/refguide/xpath-string-length/) -* [year-from-dateTime](/refguide/xpath-year-from-datetime/) -* [month-from-dateTime](/refguide/xpath-month-from-datetime/) -* [day-from-dateTime](/refguide/xpath-day-from-datetime/) -* [hours-from-dateTime](/refguide/xpath-hours-from-datetime/) -* [minutes-from-dateTime](/refguide/xpath-minutes-from-datetime/) -* [seconds-from-dateTime](/refguide/xpath-seconds-from-datetime/) -* [quarter-from-dateTime](/refguide/xpath-quarter-from-datetime/) -* [day-of-year-from-dateTime](/refguide/xpath-day-of-year-from-datetime/) -* [week-from-dateTime](/refguide/xpath-week-from-datetime/) -* [weekday-from-dateTime](/refguide/xpath-weekday-from-datetime/) -* [contains](/refguide/xpath-contains/) -* [starts-with](/refguide/xpath-starts-with/) -* [ends-with](/refguide/xpath-ends-with/) +* [true](/refguide10/xpath-true/) +* [false](/refguide10/xpath-false/) +* [not](/refguide10/xpath-not/) +* [length](/refguide10/xpath-length/) +* [string-length](/refguide10/xpath-string-length/) +* [year-from-dateTime](/refguide10/xpath-year-from-datetime/) +* [month-from-dateTime](/refguide10/xpath-month-from-datetime/) +* [day-from-dateTime](/refguide10/xpath-day-from-datetime/) +* [hours-from-dateTime](/refguide10/xpath-hours-from-datetime/) +* [minutes-from-dateTime](/refguide10/xpath-minutes-from-datetime/) +* [seconds-from-dateTime](/refguide10/xpath-seconds-from-datetime/) +* [quarter-from-dateTime](/refguide10/xpath-quarter-from-datetime/) +* [day-of-year-from-dateTime](/refguide10/xpath-day-of-year-from-datetime/) +* [week-from-dateTime](/refguide10/xpath-week-from-datetime/) +* [weekday-from-dateTime](/refguide10/xpath-weekday-from-datetime/) +* [contains](/refguide10/xpath-contains/) +* [starts-with](/refguide10/xpath-starts-with/) +* [ends-with](/refguide10/xpath-ends-with/) diff --git a/content/en/docs/refguide10/modeling/xpath/xpath-constraints/xpath-constraint-functions/xpath-contains.md b/content/en/docs/refguide10/modeling/xpath/xpath-constraints/xpath-constraint-functions/xpath-contains.md index 2468aa08bb8..57d354996b9 100644 --- a/content/en/docs/refguide10/modeling/xpath/xpath-constraints/xpath-constraint-functions/xpath-contains.md +++ b/content/en/docs/refguide10/modeling/xpath/xpath-constraints/xpath-constraint-functions/xpath-contains.md @@ -1,6 +1,6 @@ --- title: "XPath contains" -url: /refguide/xpath-contains/ +url: /refguide10/xpath-contains/ weight: 16 --- diff --git a/content/en/docs/refguide10/modeling/xpath/xpath-constraints/xpath-constraint-functions/xpath-day-from-datetime.md b/content/en/docs/refguide10/modeling/xpath/xpath-constraints/xpath-constraint-functions/xpath-day-from-datetime.md index 8800649eab8..f40ba50eb2f 100644 --- a/content/en/docs/refguide10/modeling/xpath/xpath-constraints/xpath-constraint-functions/xpath-day-from-datetime.md +++ b/content/en/docs/refguide10/modeling/xpath/xpath-constraints/xpath-constraint-functions/xpath-day-from-datetime.md @@ -1,6 +1,6 @@ --- title: "XPath day-from-dateTime" -url: /refguide/xpath-day-from-datetime/ +url: /refguide10/xpath-day-from-datetime/ weight: 8 --- diff --git a/content/en/docs/refguide10/modeling/xpath/xpath-constraints/xpath-constraint-functions/xpath-day-of-year-from-datetime.md b/content/en/docs/refguide10/modeling/xpath/xpath-constraints/xpath-constraint-functions/xpath-day-of-year-from-datetime.md index 07b8b5764c6..f6f4f9e0f7c 100644 --- a/content/en/docs/refguide10/modeling/xpath/xpath-constraints/xpath-constraint-functions/xpath-day-of-year-from-datetime.md +++ b/content/en/docs/refguide10/modeling/xpath/xpath-constraints/xpath-constraint-functions/xpath-day-of-year-from-datetime.md @@ -1,6 +1,6 @@ --- title: "XPath day-of-year-from-dateTime" -url: /refguide/xpath-day-of-year-from-datetime/ +url: /refguide10/xpath-day-of-year-from-datetime/ weight: 13 --- diff --git a/content/en/docs/refguide10/modeling/xpath/xpath-constraints/xpath-constraint-functions/xpath-ends-with.md b/content/en/docs/refguide10/modeling/xpath/xpath-constraints/xpath-constraint-functions/xpath-ends-with.md index 41e774a300e..76fb2865b24 100644 --- a/content/en/docs/refguide10/modeling/xpath/xpath-constraints/xpath-constraint-functions/xpath-ends-with.md +++ b/content/en/docs/refguide10/modeling/xpath/xpath-constraints/xpath-constraint-functions/xpath-ends-with.md @@ -1,6 +1,6 @@ --- title: "XPath ends-with" -url: /refguide/xpath-ends-with/ +url: /refguide10/xpath-ends-with/ weight: 18 --- diff --git a/content/en/docs/refguide10/modeling/xpath/xpath-constraints/xpath-constraint-functions/xpath-false.md b/content/en/docs/refguide10/modeling/xpath/xpath-constraints/xpath-constraint-functions/xpath-false.md index 905f59d0441..59d45a86e1a 100644 --- a/content/en/docs/refguide10/modeling/xpath/xpath-constraints/xpath-constraint-functions/xpath-false.md +++ b/content/en/docs/refguide10/modeling/xpath/xpath-constraints/xpath-constraint-functions/xpath-false.md @@ -1,6 +1,6 @@ --- title: "XPath false" -url: /refguide/xpath-false/ +url: /refguide10/xpath-false/ weight: 2 --- diff --git a/content/en/docs/refguide10/modeling/xpath/xpath-constraints/xpath-constraint-functions/xpath-hours-from-datetime.md b/content/en/docs/refguide10/modeling/xpath/xpath-constraints/xpath-constraint-functions/xpath-hours-from-datetime.md index e08073100c3..592d9cc2311 100644 --- a/content/en/docs/refguide10/modeling/xpath/xpath-constraints/xpath-constraint-functions/xpath-hours-from-datetime.md +++ b/content/en/docs/refguide10/modeling/xpath/xpath-constraints/xpath-constraint-functions/xpath-hours-from-datetime.md @@ -1,6 +1,6 @@ --- title: "XPath hours-from-dateTime" -url: /refguide/xpath-hours-from-datetime/ +url: /refguide10/xpath-hours-from-datetime/ weight: 9 --- diff --git a/content/en/docs/refguide10/modeling/xpath/xpath-constraints/xpath-constraint-functions/xpath-length.md b/content/en/docs/refguide10/modeling/xpath/xpath-constraints/xpath-constraint-functions/xpath-length.md index 86a50ebc7d0..4f1173ac554 100644 --- a/content/en/docs/refguide10/modeling/xpath/xpath-constraints/xpath-constraint-functions/xpath-length.md +++ b/content/en/docs/refguide10/modeling/xpath/xpath-constraints/xpath-constraint-functions/xpath-length.md @@ -1,6 +1,6 @@ --- title: "XPath length" -url: /refguide/xpath-length/ +url: /refguide10/xpath-length/ weight: 4 --- diff --git a/content/en/docs/refguide10/modeling/xpath/xpath-constraints/xpath-constraint-functions/xpath-minutes-from-datetime.md b/content/en/docs/refguide10/modeling/xpath/xpath-constraints/xpath-constraint-functions/xpath-minutes-from-datetime.md index 8e26a9ac133..c9b5cb0e578 100644 --- a/content/en/docs/refguide10/modeling/xpath/xpath-constraints/xpath-constraint-functions/xpath-minutes-from-datetime.md +++ b/content/en/docs/refguide10/modeling/xpath/xpath-constraints/xpath-constraint-functions/xpath-minutes-from-datetime.md @@ -1,6 +1,6 @@ --- title: "XPath minutes-from-dateTime" -url: /refguide/xpath-minutes-from-datetime/ +url: /refguide10/xpath-minutes-from-datetime/ weight: 10 --- diff --git a/content/en/docs/refguide10/modeling/xpath/xpath-constraints/xpath-constraint-functions/xpath-month-from-datetime.md b/content/en/docs/refguide10/modeling/xpath/xpath-constraints/xpath-constraint-functions/xpath-month-from-datetime.md index da3c9867bc6..e50ec00fa1f 100644 --- a/content/en/docs/refguide10/modeling/xpath/xpath-constraints/xpath-constraint-functions/xpath-month-from-datetime.md +++ b/content/en/docs/refguide10/modeling/xpath/xpath-constraints/xpath-constraint-functions/xpath-month-from-datetime.md @@ -1,6 +1,6 @@ --- title: "XPath month-from-dateTime" -url: /refguide/xpath-month-from-datetime/ +url: /refguide10/xpath-month-from-datetime/ weight: 7 --- diff --git a/content/en/docs/refguide10/modeling/xpath/xpath-constraints/xpath-constraint-functions/xpath-not.md b/content/en/docs/refguide10/modeling/xpath/xpath-constraints/xpath-constraint-functions/xpath-not.md index b53654ba4da..b8a3d180e8e 100644 --- a/content/en/docs/refguide10/modeling/xpath/xpath-constraints/xpath-constraint-functions/xpath-not.md +++ b/content/en/docs/refguide10/modeling/xpath/xpath-constraints/xpath-constraint-functions/xpath-not.md @@ -1,6 +1,6 @@ --- title: "XPath not" -url: /refguide/xpath-not/ +url: /refguide10/xpath-not/ weight: 3 --- diff --git a/content/en/docs/refguide10/modeling/xpath/xpath-constraints/xpath-constraint-functions/xpath-quarter-from-datetime.md b/content/en/docs/refguide10/modeling/xpath/xpath-constraints/xpath-constraint-functions/xpath-quarter-from-datetime.md index 1a1e004f812..bab7ea07c6a 100644 --- a/content/en/docs/refguide10/modeling/xpath/xpath-constraints/xpath-constraint-functions/xpath-quarter-from-datetime.md +++ b/content/en/docs/refguide10/modeling/xpath/xpath-constraints/xpath-constraint-functions/xpath-quarter-from-datetime.md @@ -1,6 +1,6 @@ --- title: "XPath quarter-from-dateTime" -url: /refguide/xpath-quarter-from-datetime/ +url: /refguide10/xpath-quarter-from-datetime/ weight: 12 --- diff --git a/content/en/docs/refguide10/modeling/xpath/xpath-constraints/xpath-constraint-functions/xpath-seconds-from-datetime.md b/content/en/docs/refguide10/modeling/xpath/xpath-constraints/xpath-constraint-functions/xpath-seconds-from-datetime.md index 024559f4bae..b4a10bb1dcd 100644 --- a/content/en/docs/refguide10/modeling/xpath/xpath-constraints/xpath-constraint-functions/xpath-seconds-from-datetime.md +++ b/content/en/docs/refguide10/modeling/xpath/xpath-constraints/xpath-constraint-functions/xpath-seconds-from-datetime.md @@ -1,6 +1,6 @@ --- title: "XPath seconds-from-dateTime" -url: /refguide/xpath-seconds-from-datetime/ +url: /refguide10/xpath-seconds-from-datetime/ weight: 11 --- diff --git a/content/en/docs/refguide10/modeling/xpath/xpath-constraints/xpath-constraint-functions/xpath-starts-with.md b/content/en/docs/refguide10/modeling/xpath/xpath-constraints/xpath-constraint-functions/xpath-starts-with.md index 224830c43d9..89f7ab54657 100644 --- a/content/en/docs/refguide10/modeling/xpath/xpath-constraints/xpath-constraint-functions/xpath-starts-with.md +++ b/content/en/docs/refguide10/modeling/xpath/xpath-constraints/xpath-constraint-functions/xpath-starts-with.md @@ -1,6 +1,6 @@ --- title: "XPath starts-with" -url: /refguide/xpath-starts-with/ +url: /refguide10/xpath-starts-with/ weight: 17 --- diff --git a/content/en/docs/refguide10/modeling/xpath/xpath-constraints/xpath-constraint-functions/xpath-string-length.md b/content/en/docs/refguide10/modeling/xpath/xpath-constraints/xpath-constraint-functions/xpath-string-length.md index 754bba90913..4e952d3a0e8 100644 --- a/content/en/docs/refguide10/modeling/xpath/xpath-constraints/xpath-constraint-functions/xpath-string-length.md +++ b/content/en/docs/refguide10/modeling/xpath/xpath-constraints/xpath-constraint-functions/xpath-string-length.md @@ -1,7 +1,7 @@ --- title: "XPath string-length" -url: /refguide/xpath-string-length/ +url: /refguide10/xpath-string-length/ weight: 5 --- -For information on this constraint function, see [XPath length](/refguide/xpath-length/). +For information on this constraint function, see [XPath length](/refguide10/xpath-length/). diff --git a/content/en/docs/refguide10/modeling/xpath/xpath-constraints/xpath-constraint-functions/xpath-true.md b/content/en/docs/refguide10/modeling/xpath/xpath-constraints/xpath-constraint-functions/xpath-true.md index 776dd23c1ea..16e77136600 100644 --- a/content/en/docs/refguide10/modeling/xpath/xpath-constraints/xpath-constraint-functions/xpath-true.md +++ b/content/en/docs/refguide10/modeling/xpath/xpath-constraints/xpath-constraint-functions/xpath-true.md @@ -1,6 +1,6 @@ --- title: "XPath true" -url: /refguide/xpath-true/ +url: /refguide10/xpath-true/ weight: 1 --- diff --git a/content/en/docs/refguide10/modeling/xpath/xpath-constraints/xpath-constraint-functions/xpath-week-from-datetime.md b/content/en/docs/refguide10/modeling/xpath/xpath-constraints/xpath-constraint-functions/xpath-week-from-datetime.md index 86be8712c62..88f2a56930c 100644 --- a/content/en/docs/refguide10/modeling/xpath/xpath-constraints/xpath-constraint-functions/xpath-week-from-datetime.md +++ b/content/en/docs/refguide10/modeling/xpath/xpath-constraints/xpath-constraint-functions/xpath-week-from-datetime.md @@ -1,6 +1,6 @@ --- title: "XPath week-from-dateTime" -url: /refguide/xpath-week-from-datetime/ +url: /refguide10/xpath-week-from-datetime/ weight: 14 --- diff --git a/content/en/docs/refguide10/modeling/xpath/xpath-constraints/xpath-constraint-functions/xpath-weekday-from-datetime.md b/content/en/docs/refguide10/modeling/xpath/xpath-constraints/xpath-constraint-functions/xpath-weekday-from-datetime.md index d424640abba..3e3807a28a1 100644 --- a/content/en/docs/refguide10/modeling/xpath/xpath-constraints/xpath-constraint-functions/xpath-weekday-from-datetime.md +++ b/content/en/docs/refguide10/modeling/xpath/xpath-constraints/xpath-constraint-functions/xpath-weekday-from-datetime.md @@ -1,6 +1,6 @@ --- title: "XPath weekday-from-dateTime" -url: /refguide/xpath-weekday-from-datetime/ +url: /refguide10/xpath-weekday-from-datetime/ weight: 15 --- diff --git a/content/en/docs/refguide10/modeling/xpath/xpath-constraints/xpath-constraint-functions/xpath-year-from-datetime.md b/content/en/docs/refguide10/modeling/xpath/xpath-constraints/xpath-constraint-functions/xpath-year-from-datetime.md index ac09bf91bfa..ee71e91fc7f 100644 --- a/content/en/docs/refguide10/modeling/xpath/xpath-constraints/xpath-constraint-functions/xpath-year-from-datetime.md +++ b/content/en/docs/refguide10/modeling/xpath/xpath-constraints/xpath-constraint-functions/xpath-year-from-datetime.md @@ -1,6 +1,6 @@ --- title: "XPath year-from-dateTime" -url: /refguide/xpath-year-from-datetime/ +url: /refguide10/xpath-year-from-datetime/ weight: 6 --- diff --git a/content/en/docs/refguide10/modeling/xpath/xpath-constraints/xpath-expressions.md b/content/en/docs/refguide10/modeling/xpath/xpath-constraints/xpath-expressions.md index eda722282dd..4be17368c47 100644 --- a/content/en/docs/refguide10/modeling/xpath/xpath-constraints/xpath-expressions.md +++ b/content/en/docs/refguide10/modeling/xpath/xpath-constraints/xpath-expressions.md @@ -1,6 +1,6 @@ --- title: "XPath Expressions" -url: /refguide/xpath-expressions/ +url: /refguide10/xpath-expressions/ --- ## Overview @@ -15,7 +15,7 @@ There are three types of expressions usable for constraints: ## Comparisons -A comparison expression consists of two attributes or values separated by a comparison [operator](/refguide/xpath-operators/) like `=`, `<=`, or `>`. +A comparison expression consists of two attributes or values separated by a comparison [operator](/refguide10/xpath-operators/) like `=`, `<=`, or `>`. ### Examples @@ -134,7 +134,7 @@ The following query retrieves the same customer as the previous query: If two sides of a comparison (`=`, `!=`, `<`, `<=`, `>`, `>=`) have different types, one of the sides may be converted implicitly to the type of the other side. -If one of the sides is a plain value (a literal, a microflow variable or a [system variable](/refguide/xpath-keywords-and-system-variables/#system-variables)) and the other side is an attribute to be queried, the value is converted to the type of the attribute. For example, the line below will convert the string `'42'` to the number `42` before executing the query: +If one of the sides is a plain value (a literal, a microflow variable or a [system variable](/refguide10/xpath-keywords-and-system-variables/#system-variables)) and the other side is an attribute to be queried, the value is converted to the type of the attribute. For example, the line below will convert the string `'42'` to the number `42` before executing the query: {{< tabpane >}} {{% tab header="Environments:" disabled=true /%}} @@ -200,7 +200,7 @@ For the purpose of evaluating an XPath expression, a microflow variable is also ## Functions -For information on the available functions, see [XPath Constraint Functions](/refguide/xpath-constraint-functions/). +For information on the available functions, see [XPath Constraint Functions](/refguide10/xpath-constraint-functions/). ## Exist-Expressions {#exist} diff --git a/content/en/docs/refguide10/modeling/xpath/xpath-constraints/xpath-keywords-and-system-variables.md b/content/en/docs/refguide10/modeling/xpath/xpath-constraints/xpath-keywords-and-system-variables.md index cfdf210786c..1de3e49ca4e 100644 --- a/content/en/docs/refguide10/modeling/xpath/xpath-constraints/xpath-keywords-and-system-variables.md +++ b/content/en/docs/refguide10/modeling/xpath/xpath-constraints/xpath-keywords-and-system-variables.md @@ -1,6 +1,6 @@ --- title: "XPath Keywords and System Variables" -url: /refguide/xpath-keywords-and-system-variables/ +url: /refguide10/xpath-keywords-and-system-variables/ --- ## Overview @@ -28,8 +28,8 @@ This query returns all the customers whose name is not known to the system: {{% /tab %}} {{< /tabpane >}} -These keywords can only be used in conjunction with attributes. The existence of associations cannot be confirmed in this manner. For more information on how to constrain on associations, see [XPath Constraint Functions](/refguide/xpath-constraint-functions/). -See also [Empty values](/refguide/xpath-expressions/#empty-values) for the behavior of expressions when empty values are involved. +These keywords can only be used in conjunction with attributes. The existence of associations cannot be confirmed in this manner. For more information on how to constrain on associations, see [XPath Constraint Functions](/refguide10/xpath-constraint-functions/). +See also [Empty values](/refguide10/xpath-expressions/#empty-values) for the behavior of expressions when empty values are involved. ## System Variables {#system-variables} diff --git a/content/en/docs/refguide10/modeling/xpath/xpath-constraints/xpath-operators.md b/content/en/docs/refguide10/modeling/xpath/xpath-constraints/xpath-operators.md index 860596a1e39..308d814383f 100644 --- a/content/en/docs/refguide10/modeling/xpath/xpath-constraints/xpath-operators.md +++ b/content/en/docs/refguide10/modeling/xpath/xpath-constraints/xpath-operators.md @@ -1,6 +1,6 @@ --- title: "XPath Operators" -url: /refguide/xpath-operators/ +url: /refguide10/xpath-operators/ --- ## For XPath Query Constraints diff --git a/content/en/docs/refguide10/modeling/xpath/xpath-tokens.md b/content/en/docs/refguide10/modeling/xpath/xpath-tokens.md index 6750249197f..5143e239ab0 100644 --- a/content/en/docs/refguide10/modeling/xpath/xpath-tokens.md +++ b/content/en/docs/refguide10/modeling/xpath/xpath-tokens.md @@ -1,6 +1,6 @@ --- title: "XPath Tokens" -url: /refguide/xpath-tokens/ +url: /refguide10/xpath-tokens/ weight: 3 --- @@ -9,13 +9,13 @@ The following tokens are used in XPath queries: | Token | Definition | | --- | --- | -| `//` | A full XPath query always starts with the tokens `//`. These slashes are followed by the designation of the [object](/refguide/entities/) that is being queried. For example, if you wish to retrieve all customers, the query would resemble the following: `//Customers`. | -| `.` | The dot is used to separate [module](/refguide/modules/) names from [entity](/refguide/entities/) names. For example, if you wish to retrieve all the customers (objects) in the sales module, you would start the query with `//Sales.Customer`. | -| `/` | A slash is used whenever you want to refer to a new entity or association. For example, `//Sales.Customer/Sales.Customer_Order/Sales.Order`. This query follows the path from the [entity](/refguide/entities/) `Customer` to the entity `Order` over the [association](/refguide/associations/) `Customer_Order`. A query can be expanded by slashes and entities or associations for as long as there are potential associations available in the domain model. | -| `[ ]` | A constraint is always written between brackets. For example, `//Sales.Customer[TotalAmount > 1000]`. The [attribute](/refguide/attributes/) being constrained is `TotalAmount`, and the constraint is `> 1000`. Therefore, only customers who have spent more than € 1000 will be retrieved. | -| `( )` | Constraints can be grouped by parentheses. For more information, see [XPath Constraints](/refguide/xpath-constraints/). | +| `//` | A full XPath query always starts with the tokens `//`. These slashes are followed by the designation of the [object](/refguide10/entities/) that is being queried. For example, if you wish to retrieve all customers, the query would resemble the following: `//Customers`. | +| `.` | The dot is used to separate [module](/refguide10/modules/) names from [entity](/refguide10/entities/) names. For example, if you wish to retrieve all the customers (objects) in the sales module, you would start the query with `//Sales.Customer`. | +| `/` | A slash is used whenever you want to refer to a new entity or association. For example, `//Sales.Customer/Sales.Customer_Order/Sales.Order`. This query follows the path from the [entity](/refguide10/entities/) `Customer` to the entity `Order` over the [association](/refguide10/associations/) `Customer_Order`. A query can be expanded by slashes and entities or associations for as long as there are potential associations available in the domain model. | +| `[ ]` | A constraint is always written between brackets. For example, `//Sales.Customer[TotalAmount > 1000]`. The [attribute](/refguide10/attributes/) being constrained is `TotalAmount`, and the constraint is `> 1000`. Therefore, only customers who have spent more than € 1000 will be retrieved. | +| `( )` | Constraints can be grouped by parentheses. For more information, see [XPath Constraints](/refguide10/xpath-constraints/). | -System variables are tokens whose values can be used in XPath expressions. For a complete overview of these tokens, see [XPath Keywords and System Variables](/refguide/xpath-keywords-and-system-variables/). +System variables are tokens whose values can be used in XPath expressions. For a complete overview of these tokens, see [XPath Keywords and System Variables](/refguide10/xpath-keywords-and-system-variables/). {{% alert color="info" %}} It is not possible to add mathematical expressions in an XPath outside of tokens. Mathematical expressions should be calculated outside of the XPath expression. diff --git a/content/en/docs/refguide10/runtime/_index.md b/content/en/docs/refguide10/runtime/_index.md index eb4f213028f..b0cd654775f 100644 --- a/content/en/docs/refguide10/runtime/_index.md +++ b/content/en/docs/refguide10/runtime/_index.md @@ -1,6 +1,6 @@ --- title: "Mendix Runtime" -url: /refguide/runtime/ +url: /refguide10/runtime/ weight: 40 description: "Gives an overview of the Mendix Runtime." no_list: false @@ -15,7 +15,7 @@ Each [patch version](/releasenotes/studio-pro/lts-mts/) of Mendix comes with its ## Runtime Overview -The Mendix Runtime consists of two parts: the [Runtime Server](/refguide/runtime-server/) and the [Mendix Client](/refguide/mendix-client/). The relationship between the two is shown in the diagram below. +The Mendix Runtime consists of two parts: the [Runtime Server](/refguide10/runtime-server/) and the [Mendix Client](/refguide10/mendix-client/). The relationship between the two is shown in the diagram below. {{< figure src="/attachments/refguide10/runtime/runtime-overview.png" alt="An overview of the Mendix Runtime" class="no-border" >}} @@ -23,11 +23,11 @@ Each of the components of Mendix Runtime is described below. ### Runtime Server and Mendix Client -The *Runtime Server* is launched on a cloud platform. It executes microflows, and connects to files, the relational database, and any other required services. It waits to be contacted by the Mendix Client. The Runtime Server is described in more detail in [Runtime Server](/refguide/runtime-server/). +The *Runtime Server* is launched on a cloud platform. It executes microflows, and connects to files, the relational database, and any other required services. It waits to be contacted by the Mendix Client. The Runtime Server is described in more detail in [Runtime Server](/refguide10/runtime-server/). -The *Mendix Client* is started by the user, either within a web browser, or on another supported device. If it is in online mode, it starts a session with the Runtime Server which may or may not require authentication. The Runtime Server records the session details in the database, so that the Mendix Client can make requests. The Mendix Client is described in more detail in [Mendix Client](/refguide/mendix-client/). +The *Mendix Client* is started by the user, either within a web browser, or on another supported device. If it is in online mode, it starts a session with the Runtime Server which may or may not require authentication. The Runtime Server records the session details in the database, so that the Mendix Client can make requests. The Mendix Client is described in more detail in [Mendix Client](/refguide10/mendix-client/). -The user interacts with the Mendix Client, which then makes requests, via the [request handlers](/refguide/request-handlers/), to the Runtime Server to process data or perform server-side functions (for example, to run microflows). At the end of the request, all state (including uncommitted data) is passed back to the Mendix Client. You can find more details of how this communication takes place in [Communication Patterns in the Mendix Runtime](/refguide/communication-patterns/). +The user interacts with the Mendix Client, which then makes requests, via the [request handlers](/refguide10/request-handlers/), to the Runtime Server to process data or perform server-side functions (for example, to run microflows). At the end of the request, all state (including uncommitted data) is passed back to the Mendix Client. You can find more details of how this communication takes place in [Communication Patterns in the Mendix Runtime](/refguide10/communication-patterns/). Passing state from the Runtime Server to the Mendix Client enables the Runtime Server to be stateless, which means that any Runtime Server instance can respond to a request from the Mendix Client. A load balancer decides which Runtime Server instance will respond to a request. When a user session ends, the Runtime Server removes references to that session. @@ -40,7 +40,7 @@ If there is more than one instance of an app, one of the instances is the *Clust * Executing scheduled events * Clearing persistent sessions after a new deploy -More information on multiple instances is in [Clustered Mendix Runtime](/refguide/clustered-mendix-runtime/). +More information on multiple instances is in [Clustered Mendix Runtime](/refguide10/clustered-mendix-runtime/). ### External Services @@ -85,7 +85,7 @@ You need a license to run an application in production mode. Without a license, You can extend the functionality of the Runtime Server by writing Java actions. For more information, see the [Mendix Runtime API](/apidocs-mxsdk/apidocs/runtime-api/). {{% alert color="info" %}} -If the app contains published services, links to available API documentation such as [OpenAPI documentation](/refguide/open-api/) for [published REST services](/refguide/published-rest-services/), links to [published OData/GraphQL services](/refguide/published-odata-services/), and WSDLs for [published web services](/refguide/published-web-services/), are available on the URL path `/api-doc` (for example: `https://myapp.mendixcloud.com/api-doc/`). +If the app contains published services, links to available API documentation such as [OpenAPI documentation](/refguide10/open-api/) for [published REST services](/refguide10/published-rest-services/), links to [published OData/GraphQL services](/refguide10/published-odata-services/), and WSDLs for [published web services](/refguide10/published-web-services/), are available on the URL path `/api-doc` (for example: `https://myapp.mendixcloud.com/api-doc/`). {{% /alert %}} ## Documents in This Category diff --git a/content/en/docs/refguide10/runtime/clustered-mendix-runtime.md b/content/en/docs/refguide10/runtime/clustered-mendix-runtime.md index f9e27f6e761..6a89ca94dff 100644 --- a/content/en/docs/refguide10/runtime/clustered-mendix-runtime.md +++ b/content/en/docs/refguide10/runtime/clustered-mendix-runtime.md @@ -1,6 +1,6 @@ --- title: "Clustered Mendix Runtime" -url: /refguide/clustered-mendix-runtime/ +url: /refguide10/clustered-mendix-runtime/ weight: 40 description: "Describes the cluster functionality of the Mendix Runtime, which allows you to set up your Mendix application to run behind a load balancer to enable a failover and/or high availability architecture." --- @@ -53,7 +53,7 @@ If no database synchronization is required, all the cluster nodes will become fu Uploaded files should be stored in a shared file storage facility, as every Mendix Runtime node should access the same files. Either the local storage facility is shared or the files are stored in a central storage facility such as an Amazon S3 file storage, Microsoft Azure Blob storage, or IBM Bluemix Object Storage. -For more information about configuring the Mendix Runtime to store files on these storage facilities, see [Runtime Customization](/refguide/custom-settings/). +For more information about configuring the Mendix Runtime to store files on these storage facilities, see [Runtime Customization](/refguide10/custom-settings/). ## After-Startup and Before-Shutdown Microflows {#startup-shutdown-microflows} @@ -93,7 +93,7 @@ Whenever the Mendix Client is restarted, all the state is discarded, as it is on The more objects that are part of the dirty state, the more data has to be transferred in the requests and responses between the Mendix Runtime and the Mendix Client. As such, this has an impact on performance. In clustered environments, it is advised to minimize the amount of dirty state to minimize the impact of the synchronization on performance. -The Mendix Client attempts to optimize the amount of state sent to the Mendix Runtime by only sending data that can potentially be read while processing the request. For example, if you call a microflow that gets `Booking` as a parameter and retrieves `Flight` over association, then the client will pass only `Booking` and the associated `Flight`s from the dirty state along with the request, but not the `Hotel`s. Note that this behavior is the best effort; if the microflow is too complex to analyze (for example, when a Java action is called with a state object as a parameter), the entire dirty state will be sent along. This optimization can be disabled via the [Optimize network calls](/refguide/app-settings/#optimize-network-calls) app setting. +The Mendix Client attempts to optimize the amount of state sent to the Mendix Runtime by only sending data that can potentially be read while processing the request. For example, if you call a microflow that gets `Booking` as a parameter and retrieves `Flight` over association, then the client will pass only `Booking` and the associated `Flight`s from the dirty state along with the request, but not the `Hotel`s. Note that this behavior is the best effort; if the microflow is too complex to analyze (for example, when a Java action is called with a state object as a parameter), the entire dirty state will be sent along. This optimization can be disabled via the [Optimize network calls](/refguide10/app-settings/#optimize-network-calls) app setting. {{% alert color="warning" %}} It is important to realize that when calling external web services in Mendix to fetch external data, the responses of those actions are converted into Mendix entities. As long as they are not persisted in the Mendix database, they will be part of the dirty state and have a negative impact on the performance of the application. To reduce this impact, this behavior is likely to change in the future. diff --git a/content/en/docs/refguide10/runtime/communication-patterns.md b/content/en/docs/refguide10/runtime/communication-patterns.md index 3798564e6df..c74d0517992 100644 --- a/content/en/docs/refguide10/runtime/communication-patterns.md +++ b/content/en/docs/refguide10/runtime/communication-patterns.md @@ -1,7 +1,7 @@ --- title: "Communication Patterns in the Mendix Runtime" linktitle: "Communication Patterns" -url: /refguide/communication-patterns/ +url: /refguide10/communication-patterns/ weight: 50 description: "Outlines the communication patterns used by the Mendix Runtime environment for some typical application use cases." --- @@ -24,14 +24,14 @@ The Mendix Platform consists of the following components: * Marketplace – a portal with hundreds of publicly-available building blocks to speed up app development * Mendix Studio Pro – the modeling studio of the Mendix platform * Team Server – a central repository for managing application model versions -* Mendix Runtime – runs applications using a server part (the [Runtime Server](/refguide/runtime-server/)) and a client part ([Mendix Client](/refguide/mendix-client/)) +* Mendix Runtime – runs applications using a server part (the [Runtime Server](/refguide10/runtime-server/)) and a client part ([Mendix Client](/refguide10/mendix-client/)) * Build – a process which creates deployment packages from artifacts such as models, style sheets, and custom Java classes * MxID – a user management and provisioning service that applies the OpenID standard The focus of this document is on the Mendix Runtime, more specifically the collaboration between the following parts: -* [Mendix Client](/refguide/mendix-client/) – a React, React Native, or JavaScript client running on the device of a user -* [Runtime Server](/refguide/runtime-server/) – a Java/Scala runtime running on a server, responsible for executing microflow logic, business rules, and persisting objects +* [Mendix Client](/refguide10/mendix-client/) – a React, React Native, or JavaScript client running on the device of a user +* [Runtime Server](/refguide10/runtime-server/) – a Java/Scala runtime running on a server, responsible for executing microflow logic, business rules, and persisting objects * database – where the data is persisted Communication between these components operates as follows: @@ -44,7 +44,7 @@ Communication between these components operates as follows: ## Runtime Operations {#RO} -Data-related communication between the Mendix Client and the Runtime Server is controlled by Runtime Operations over a REST-like protocol. This uses the `/xas` [request handler](/refguide/request-handlers/) of the app's runtime server. +Data-related communication between the Mendix Client and the Runtime Server is controlled by Runtime Operations over a REST-like protocol. This uses the `/xas` [request handler](/refguide10/request-handlers/) of the app's runtime server. For every data-related Client action, there is a corresponding Runtime Operation type: diff --git a/content/en/docs/refguide10/runtime/custom-settings/_index.md b/content/en/docs/refguide10/runtime/custom-settings/_index.md index e6b85b2c00a..a922e2fa77d 100644 --- a/content/en/docs/refguide10/runtime/custom-settings/_index.md +++ b/content/en/docs/refguide10/runtime/custom-settings/_index.md @@ -1,6 +1,6 @@ --- title: "Runtime Customization" -url: /refguide/custom-settings/ +url: /refguide10/custom-settings/ description: "Describes custom settings for server, log file, database, Amazon S3 storage service, IBM Cloud Object Storage, Microsoft Azure, IBM Bluemix object storage, web client, and proxy server in Mendix." #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. #The anchor #amazon-s3-storage-service-settings below is mapped, so it should not be removed or changed. @@ -21,7 +21,7 @@ If you are running your app on Mendix Cloud or SAP Business Technology Platform, * the [Runtime Tab](/developerportal/deploy/environments-details/#runtime-tab) section of *Environment Details* for information about Mendix Cloud * the [Runtime tab](/developerportal/deploy/sap-cloud-platform/#runtime-tab) section of *SAP Business Technology Platform* for information about the SAP BTP -When you are running your app locally, you can set these values in a [Configuration](/refguide/configuration/#custom). +When you are running your app locally, you can set these values in a [Configuration](/refguide10/configuration/#custom). There is more information on how this is done in the Cloud Foundry buildpack in [Custom Runtime Settings](https://github.com/mendix/cf-mendix-buildpack#custom-runtime-settings) in the GitHub repo. @@ -45,7 +45,7 @@ The following custom settings can be configured: | ClientCertificateUsages | Only use this when you have multiple client certificates and you want to configure specific certificates for specific servers.
                                  This setting defines which service must use which client certificate. See **NoClientCertificateUsages** if you want to make sure that no client certificate is used for a certain host or web service. The value of **ClientCertificateUsages** must be a comma-separated list of key/value items. A key/value item must be specified as `"identifier": "path to certificate"`.
                                  For web services, use the imported web service name as the identifier.
                                  For REST services, use the host name of the remote server as the identifier.
                                  Please note that any backslash in the path must be doubled. The whole value must be enclosed by braces (`{ }`). For example: {{< figure src="/attachments/refguide10/runtime/custom-settings/code_snippet.png" class="no-border" >}} | | | NoClientCertificateUsages | Comma-separated list of host names or imported web service names that should never be contacted using a client certificate. | | | ClusterManagerActionInterval | The interval (in milliseconds) used for performing all cluster manager actions. These actions include, unblocking users, and removing invalid sessions. If nothing is specified the interval is half the `SessionTimeout`. | 300000 (5 minutes) | -| com.mendix.core.isClusterSlave | Set to `true` in a high-availability scenario when this is *not* the [Cluster Leader](/refguide/clustered-mendix-runtime/#cluster-leader-follower). The buildpack will usually enforce this setting, but it may need to be set for some on-premises deployments. | `false` | +| com.mendix.core.isClusterSlave | Set to `true` in a high-availability scenario when this is *not* the [Cluster Leader](/refguide10/clustered-mendix-runtime/#cluster-leader-follower). The buildpack will usually enforce this setting, but it may need to be set for some on-premises deployments. | `false` | | com.mendix.core.LenientDateTimeParsing | When set to `true`, the `parseDateTime` function will use more lenient parsing, as it did in Mendix 9. For example `parseDateTime("yyyyMMdd", "2021-11-10")` will return `2020-11-01` as a date if this is set to true, which is probably not the intended result.. If set to `false`, which is the default, this example will throw an error as it is expecting `20211110`. It is recommended to not enable this setting to avoid unexpected results. | `false` | | com.mendix.core.SameSiteCookies | The [SameSite](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite) property can be included in all cookies that are returned by the embedded HTTP server. The possible values are `Strict`, `Lax`, and `None`. The default is `Strict`. Setting it to `None` is typically needed only when an application is embedded in an iframe of another application with a different domain. Newer browsers may require the connection to be secure (HTTPS) when set to `None`. If the connection is plain HTTP, then this setting must be changed to `Strict` (recommended) or `Lax`. | | | com.mendix.core.ScheduledEventsCleanupAge | This setting specifies (in milliseconds) how old objects in the System.ScheduledEventInformation table have to be before they are removed from the database. See [Scheduled Events - Legacy](/refguide9/scheduled-events-legacy/#cleanup) for more details. | 365 days for projects migrated from Mendix 9 and 7 days for new projects or projects with an empty database. | @@ -54,19 +54,19 @@ The following custom settings can be configured: | com.mendix.core.StorageService | Defines which storage service module will be used. The storage service module takes care of storing the actual files associated with `System.FileDocument` objects, such as uploaded files. Possible values are `com.mendix.storage. localfilesystem`, `com.mendix.storage.s3`, and `com.mendix.storage.azure`. | com.mendix.storage.localfilesystem | | com.mendix.core.UseMimeDecoderForBase64 | The setting defines whether to use the Basic decoder ([RFC 4648](https://datatracker.ietf.org/doc/html/rfc4648)) or MIME decoder ([RFC 2045](https://datatracker.ietf.org/doc/html/rfc2045)) when decoding base64 binary data. The Basic decoder is recommended due to its strictness in not accepting any character outside the Base64 specification, see [Security Considerations](https://datatracker.ietf.org/doc/html/rfc4648#section-12). This setting exists for reasons of backward compatibility.
                                  {{% alert color="warning" %}}Using the MIME decoder is deprecated and the option will be removed in future versions.{{% /alert %}} | false | | com.mendix.storage.PerformDeleteFromStorage | Defines whether a delete of a Mendix file document should result in an actual delete in the storage service. A reason to not perform an actual delete in the storage service can be when it is also used as a backup service. The options are:
                                  • `AllFiles` – Deletes files from file storage
                                  • `TemporaryFiles` – Deletes files which were created during a transaction but not referenced by any file document from file storage
                                  • `NoFiles` – No files are deleted from file storage.
                                  Additionally, we have legacy options `true` (same as `AllFiles`) and `false` (same as `TemporaryFiles`) which will be deprecated in the future. | true | -| com.mendix.core.ProcessedTasksCleanupAge | This setting specifies (in milliseconds) how old objects in the System.ProcessedQueueTask have to be before they are removed from the database. See [Task Queue](/refguide/task-queue/#cleanup) for more details. | 365 days for projects migrated from Mendix 9 and 7 days for new projects or projects with an empty database. | -| com.mendix.core.ProcessedTasksCleanupBatchSize | This setting specifies how many System.ProcessedQueueTask objects will be removed from the database each time the ProcessedTask cleanup action runs. See [Task Queue](/refguide/task-queue/#cleanup) for more details.
                                  *This setting was introduced in Mendix version 10.9.0* | 10000 | -| com.mendix.services.publish.AllowWebServiceUserBasicAuthenticationInODataAndREST | Set to `true` to allow web service users to access published [OData](/refguide/published-odata-services/) and [REST](/refguide/published-rest-services/) services when using basic authentication.
                                  This setting was introduced in Mendix version 10.20.0. Mendix versions 10.2.0–10.19.0 had an issue that they behaved as though the value was `true`. | false | +| com.mendix.core.ProcessedTasksCleanupAge | This setting specifies (in milliseconds) how old objects in the System.ProcessedQueueTask have to be before they are removed from the database. See [Task Queue](/refguide10/task-queue/#cleanup) for more details. | 365 days for projects migrated from Mendix 9 and 7 days for new projects or projects with an empty database. | +| com.mendix.core.ProcessedTasksCleanupBatchSize | This setting specifies how many System.ProcessedQueueTask objects will be removed from the database each time the ProcessedTask cleanup action runs. See [Task Queue](/refguide10/task-queue/#cleanup) for more details.
                                  *This setting was introduced in Mendix version 10.9.0* | 10000 | +| com.mendix.services.publish.AllowWebServiceUserBasicAuthenticationInODataAndREST | Set to `true` to allow web service users to access published [OData](/refguide10/published-odata-services/) and [REST](/refguide10/published-rest-services/) services when using basic authentication.
                                  This setting was introduced in Mendix version 10.20.0. Mendix versions 10.2.0–10.19.0 had an issue that they behaved as though the value was `true`. | false | | EnableApacheCommonsLogging | Some libraries used by the Mendix runtime use [Apache Commons](https://commons.apache.org/) for logging. By default these log messages are suppressed. Set this value to `true` to receive the log messages from these libraries in the Mendix logs. | false | -| HashAlgorithm | Specifies the hash algorithm used to generate hash values for attributes of the HashString type, such as the password of a user. This setting overrides the setting in Studio Pro, see [Hash Algorithm](/refguide/app-settings/#hash-algorithm). Possible values are `BCRYPT`, `SSHA256`, `SHA256` (not recommended) and `MD5` (not recommended). To override the default BCrypt cost, you can specify `BCRYPT:cost`, where 'cost' is a number between 10 and 30. An example value is `BCRYPT:12`. | BCRYPT | -| http.client.CleanupAfterSeconds | For the call REST service and call web service activities, the first request to a new host will create an HTTP client that will handle subsequent requests. When there are no new requests to the host for the specified time, the HTTP client will be cleaned up. A value of `0` means no cleanup.
                                  {{% alert color="warning" %}}If the infrastructure provider closes this connection before this cleanup time, you can receive a `java.net. SocketException: Connection reset` error. You can reduce this value to prevent this, or handle the error in your [REST call](/refguide/call-rest-action/#troubleshooting).{{% /alert %}} | 355 (355 seconds) | +| HashAlgorithm | Specifies the hash algorithm used to generate hash values for attributes of the HashString type, such as the password of a user. This setting overrides the setting in Studio Pro, see [Hash Algorithm](/refguide10/app-settings/#hash-algorithm). Possible values are `BCRYPT`, `SSHA256`, `SHA256` (not recommended) and `MD5` (not recommended). To override the default BCrypt cost, you can specify `BCRYPT:cost`, where 'cost' is a number between 10 and 30. An example value is `BCRYPT:12`. | BCRYPT | +| http.client.CleanupAfterSeconds | For the call REST service and call web service activities, the first request to a new host will create an HTTP client that will handle subsequent requests. When there are no new requests to the host for the specified time, the HTTP client will be cleaned up. A value of `0` means no cleanup.
                                  {{% alert color="warning" %}}If the infrastructure provider closes this connection before this cleanup time, you can receive a `java.net. SocketException: Connection reset` error. You can reduce this value to prevent this, or handle the error in your [REST call](/refguide10/call-rest-action/#troubleshooting).{{% /alert %}} | 355 (355 seconds) | | http.client.MaxConnectionsPerRoute | The [maximum number of connections for a route](https://hc.apache.org/httpcomponents-client-4.5.x/current/httpclient/apidocs/org/apache/http/impl/client/HttpClientBuilder.html#setMaxConnPerRoute(int)) for call REST service and call web service activities.
                                  {{% alert color="warning" %}}If your app uses these calls, it is strongly recommended that this value is increased. The default could prevent multiple end-users accessing the API simultaneously. A good value is around the number of concurrent users you expect, with a maximum of 250. The value of `http.client. MaxConnectionsTotal` may also need to increase.{{% /alert %}} | 2 | | http.client.MaxConnectionsTotal | The [maximum number of connections allowed across all routes](https://hc.apache.org/httpcomponents-client-4.5.x/current/httpclient/apidocs/org/apache/http/impl/client/HttpClientBuilder.html#setMaxConnTotal(int)) for the call REST service and call web service activities.
                                  {{% alert color="warning" %}}If you change the value of `http.client. MaxConnectionsPerRoute`, you will need to increase this value in line with that, up to a maximum of 250.{{% /alert %}} | 20 | | JavaKeyStorePassword | Password for the default Java keystore. | changeit | | LongLivedSessionTimeout | This setting is the same as `SessionTimeout`, but specific to offline-first progressive web apps. | 604800000 (7 days) | | Microflows.RemoveVariableOnDeleteObjectsActivity | Defines if the pre-Mendix 10.17 behavior should be enabled where list references were removed after execution of a **Delete object(s)** microflow activity in a loop.

                                  Before Mendix 10.17 list references were silently unusable after a **Delete object(s)** microflow activity in a loop. Newly added items were not propagated to activities using these variables. That is fixed in Mendix 10.17. If this setting is 'true' it temporarily brings back the old behavior. | `false` | | MyScheduledEvents | A comma-separated string with the names of the events. Please don't forget the name of the module (a name can be, for example, `CRM.UpdateCustomerStatistics`). | | -| ScheduledEventExecution | Specify which scheduled events should be executed. Choices are `ALL`, `NONE`, or `SPECIFIED`. In the case of `SPECIFIED`, enumerate the scheduled events using the `MyScheduledEvents` configuration option described below. {{% alert color="warning" %}}This setting cannot be configured when running locally. To enable and disable scheduled events when running locally, please use the 'Enabled' setting on the [Scheduled Events execution properties](/refguide/scheduled-events/) in Studio Pro.{{% /alert %}} | NONE | +| ScheduledEventExecution | Specify which scheduled events should be executed. Choices are `ALL`, `NONE`, or `SPECIFIED`. In the case of `SPECIFIED`, enumerate the scheduled events using the `MyScheduledEvents` configuration option described below. {{% alert color="warning" %}}This setting cannot be configured when running locally. To enable and disable scheduled events when running locally, please use the 'Enabled' setting on the [Scheduled Events execution properties](/refguide10/scheduled-events/) in Studio Pro.{{% /alert %}} | NONE | | SessionKeepAliveUpdatesInterval | Defines how often a runtime writes session LastActive dates in its memory back to the database. | one sixth of the value configured for the `SessionTimeout` setting; if the `SessionTimeout` is not set, this value defaults to 100000 (100 seconds) | | SessionTimeout | Defines after how much time a session becomes invalid (in milliseconds). After that timeout, a session becomes eligible for removal. The session will not be destroyed until the next time a scheduled task runs to clean up the active sessions. | 600000 (10 minutes) | | TaskQueue.ShutdownGracePeriod | Time in ms to wait for task in a task queue to finish when shutting down. | 10000 (10 seconds) | @@ -75,7 +75,7 @@ The following custom settings can be configured: | UploadedFilesPath | The location of the uploaded files. A valid path can be: `\\FileServer\CustomerPortalFiles`. | [deployment folder]\data\files | | EnableFileDocumentCaching | Defines whether file documents should be cached. Only enable this if you are sure that the file documents will not contain sensitive information. Images are always cached. | false | | ObjectManagement.StrictChangeBehavior | Defines the behavior when changing values of Enums and Calculated attributes.
                                  When set to true, setting an invalid value for an Enum attribute and/or setting a value for a Calculated attribute will result in an InvalidEnumerationValueException and/or ReadOnlyAttributeException respectively.
                                  When set to false, changes to the values of Enums and/or Calculated attributes will be allowed.
                                  We plan to remove this setting in Mendix 11, after which, an exception will always be raised when setting an invalid value. | true | -| mapping.import.MaxJsonReadingLength | The maximum length of the JSON string received from the remote which can be processed with import mapping. Use this setting when you expect a string which is longer than the default. See [Import Mappings](/refguide/import-mappings/#troubleshooting) for more information.
                                  *This setting was introduced in Mendix version 10.9.0 and Mendix MTS version 10.6, patch version 10.6.5.* | 20000000 *(dependent on library version)* | +| mapping.import.MaxJsonReadingLength | The maximum length of the JSON string received from the remote which can be processed with import mapping. Use this setting when you expect a string which is longer than the default. See [Import Mappings](/refguide10/import-mappings/#troubleshooting) for more information.
                                  *This setting was introduced in Mendix version 10.9.0 and Mendix MTS version 10.6, patch version 10.6.5.* | 20000000 *(dependent on library version)* | ### ApplicationRootUrl {#applicationrooturl-section} @@ -275,7 +275,7 @@ The settings below influence the behavior of the Mendix web client. | com.mendix.webui.FeedbackSizeWarningThreshold | A warning is logged when the feedback size exceeds the threshold. Feedback is sent from server to client to instruct (for example, to refresh objects or to open a page). They are serialized as "instructions" in the server response. If there are too many instructions, this can have performance implications, as they all have to be serialized to the client. For this reason, a warning is logged when the threshold is exceeded. | 5000 | | com.mendix.webui.StateSizeWarningThreshold | A warning is logged when the state size exceeds the threshold. The state consists of changes in objects and of objects not committed to the database (yet). If there is too much state, this will have performance implications, as the whole state has to be serialized to the client. For this reason, a warning is logged when the threshold is exceeded. | 100 | | com.mendix.webui.CommittedObjectsThreshold | The threshold controls how much data is sent back to the client after executing a microflow. By default, we send back full objects when they are changed or committed. When this threshold is reached, only object GUIDs are sent back instead so that the client knows about the changes while the amount of data sent over the network is reduced. The client will then retrieve the objects later on, if needed. | 100 | -| MaxRetrieveSize | The maximum number of objects the client is allowed to retrieve in a single [XAS request](/refguide/communication-patterns/#RO). This limit exists to prevent malicious actors from being able to overload the runtime by requesting a large number of objects in a single request. | 1000 | +| MaxRetrieveSize | The maximum number of objects the client is allowed to retrieve in a single [XAS request](/refguide10/communication-patterns/#RO). This limit exists to prevent malicious actors from being able to overload the runtime by requesting a large number of objects in a single request. | 1000 | ### Max Retrieve Size{#MaxRetrieveSize} @@ -287,7 +287,7 @@ When requesting more objects than allowed with a `retrieve`, `retrieve_by_path`, ## Metrics Settings{#metrics-settings} -The settings below configure metrics through [micrometer](https://micrometer.io/docs). See [Metrics](/refguide/metrics/) for more information and the specification of the settings format. +The settings below configure metrics through [micrometer](https://micrometer.io/docs). See [Metrics](/refguide10/metrics/) for more information and the specification of the settings format. | Name | Description | Default Value | | --- | --- | --- | diff --git a/content/en/docs/refguide10/runtime/custom-settings/tricky-custom-runtime-settings.md b/content/en/docs/refguide10/runtime/custom-settings/tricky-custom-runtime-settings.md index 81e0c333a64..629e3c2fc5e 100644 --- a/content/en/docs/refguide10/runtime/custom-settings/tricky-custom-runtime-settings.md +++ b/content/en/docs/refguide10/runtime/custom-settings/tricky-custom-runtime-settings.md @@ -1,13 +1,13 @@ --- title: "Advanced Custom Settings in Mendix Runtime" linktitle: "Advanced Custom Settings" -url: /refguide/tricky-custom-runtime-settings/ +url: /refguide10/tricky-custom-runtime-settings/ description: "Describes advanced custom settings in Mendix Runtime and how to configure them." --- ## Introduction -There are many custom settings in Mendix, most of which are described in [Runtime Customization](/refguide/custom-settings/). +There are many custom settings in Mendix, most of which are described in [Runtime Customization](/refguide10/custom-settings/). However, a few of the more commonly used custom settings can be complicated and have far-reaching implications. That is why we would like to give these settings a bit of special attention and more thoroughly explain the consequences of changing them. @@ -133,4 +133,4 @@ These options may have a small performance impact, which is the reason they are ## Read More -* [Runtime Customization](/refguide/custom-settings/) +* [Runtime Customization](/refguide10/custom-settings/) diff --git a/content/en/docs/refguide10/runtime/data-storage/_index.md b/content/en/docs/refguide10/runtime/data-storage/_index.md index bfb446da3f8..c712fd4fe6d 100644 --- a/content/en/docs/refguide10/runtime/data-storage/_index.md +++ b/content/en/docs/refguide10/runtime/data-storage/_index.md @@ -1,6 +1,6 @@ --- title: "Data Storage" -url: /refguide/data-storage/ +url: /refguide10/data-storage/ description: "Introduces data storage, which is the data foundation of the Mendix Runtime." --- @@ -14,7 +14,7 @@ Data storage is the data foundation of the Mendix Runtime. Data storage does the * Handles security transparently and effectively {{% alert color="warning" %}} -Each app has its own database which cannot be shared directly with other apps. If you want to share data with another app, you must publish an API using the [Catalog](/data-hub/share-data/) or the [REST and OData](/refguide/integration/) capabilities of Mendix. +Each app has its own database which cannot be shared directly with other apps. If you want to share data with another app, you must publish an API using the [Catalog](/data-hub/share-data/) or the [REST and OData](/refguide10/integration/) capabilities of Mendix. See [Databases and Apps](#databases), below, for an overview of this. {{% /alert %}} @@ -24,7 +24,7 @@ See [Databases and Apps](#databases), below, for an overview of this. For apps deployed to Mendix Cloud, Mendix uses a PostgreSQL database for storing the data defined in the app domain model (or models). If you are deploying to a different infrastructure, you will need to provide your own database. -See [System Requirements](/refguide/system-requirements/#databases) for the list of supported databases. +See [System Requirements](/refguide10/system-requirements/#databases) for the list of supported databases. ## Databases and Apps{#databases} @@ -50,7 +50,7 @@ You now try to deploy `Order Viewer` to use the same database as `Order Processi ### How to Share Data -If you want to share data between apps, you should set up a *microservices* architecture. In short, identify one app which you want to use to store the data. This app will now do all the creating, reading, updating, and deleting of the data. It will publish an API to allow other apps to access the data using, for example, [OData](/refguide/published-odata-services/) or the [Catalog](/data-hub/share-data/). Other apps can then consume this API to use the data. This ensures that there is only one source for the data and that it is kept consistent. +If you want to share data between apps, you should set up a *microservices* architecture. In short, identify one app which you want to use to store the data. This app will now do all the creating, reading, updating, and deleting of the data. It will publish an API to allow other apps to access the data using, for example, [OData](/refguide10/published-odata-services/) or the [Catalog](/data-hub/share-data/). Other apps can then consume this API to use the data. This ensures that there is only one source for the data and that it is kept consistent. An alternative is to copy the data to another app, for example using the [Database Replication](/appstore/modules/database-replication/) module. This however, will be a snapshot of your data at the time you replicate it and changes to the data made in the original app will not be reflected in your new app. @@ -60,7 +60,7 @@ An alternative is to copy the data to another app, for example using the [Databa Mendix does not use read locks on the database. Therefore, object reads can always be performed. A database write lock is put in place for the first object commit. If there are overlapping update transactions on the same object, the first update transaction puts a write lock on the database object. The next update transaction waits until the first one finishes before executing. However, if the first update process takes an inordinate amount of time, it may cause a timeout. -When users or microflows make changes to database records, all changes will execute in a transaction. Write locks are placed on individual records the moment they are committed. Until this point no locks will be placed on the data. For more information on the differences between transaction commits and object commits, see the [How Commits Work](/refguide/committing-objects/#how-commits-work) section in *Commit Object(s)*. +When users or microflows make changes to database records, all changes will execute in a transaction. Write locks are placed on individual records the moment they are committed. Until this point no locks will be placed on the data. For more information on the differences between transaction commits and object commits, see the [How Commits Work](/refguide10/committing-objects/#how-commits-work) section in *Commit Object(s)*. When the record gets locked, as long as the transaction is executing, no other users or processes are able to change the data. The uncommitted information is not visible for others. The changed data becomes available for other users to read only after the transaction completes. While the transaction is running, other users are able to read and change the previously persisted version of the data. Any changes from other processes will be applied when the transaction completes and the initial write lock is lifted, overwriting the previous changes. @@ -95,7 +95,7 @@ With this feature, if the app is going to create a dangling reference, a runtime Foreign Key Constraints are enabled for new projects in version 10.6.0 and above. This applies to: * Projects created from scratch using a starter app -* Projects created using [Import app package](/refguide/import-app-package-dialog/) +* Projects created using [Import app package](/refguide10/import-app-package-dialog/) Apps created before 10.6 are not affected. This means that if your app is created in a version of Studio Pro below 10.6.0 and then upgraded to version 10.6.0 or above, FKCs do not get enabled for it. @@ -103,7 +103,7 @@ When a new app is created from a Starter App or an app package, it may already c ### Setting Foreign Key Constraints On and Off -In Mendix version 10.10.0 and above, it is possible to set Foreign Key Constraints for existing projects on or off regardless of which version the project was originally created in by toggling the option in the app's [runtime settings](/refguide/app-settings/#database-fkc). +In Mendix version 10.10.0 and above, it is possible to set Foreign Key Constraints for existing projects on or off regardless of which version the project was originally created in by toggling the option in the app's [runtime settings](/refguide10/app-settings/#database-fkc). {{% alert color="info" %}} Deploying an existing application after enabling or disabling FKC will cause a synchronization step to be executed. diff --git a/content/en/docs/refguide10/runtime/data-storage/attributes-type-migration.md b/content/en/docs/refguide10/runtime/data-storage/attributes-type-migration.md index cc525f050bd..51ce867ec3d 100644 --- a/content/en/docs/refguide10/runtime/data-storage/attributes-type-migration.md +++ b/content/en/docs/refguide10/runtime/data-storage/attributes-type-migration.md @@ -1,6 +1,6 @@ --- title: "Attribute Type Migration" -url: /refguide/attributes-type-migration/ +url: /refguide10/attributes-type-migration/ weight: 10 --- diff --git a/content/en/docs/refguide10/runtime/data-storage/case-sensitive-database-behavior.md b/content/en/docs/refguide10/runtime/data-storage/case-sensitive-database-behavior.md index 4764032f5df..05cbd0cf464 100644 --- a/content/en/docs/refguide10/runtime/data-storage/case-sensitive-database-behavior.md +++ b/content/en/docs/refguide10/runtime/data-storage/case-sensitive-database-behavior.md @@ -1,6 +1,6 @@ --- title: "Case-Sensitive Database Behavior" -url: /refguide/case-sensitive-database-behavior/ +url: /refguide10/case-sensitive-database-behavior/ weight: 20 --- @@ -17,7 +17,7 @@ For the purposes of this document we can divide case sensitive operations into t * Sorting: Indicates the order in which you want objects to be retrieved (alphabetically ascending or descending). * Comparing: These are operations that involve equality or other comparisons directly in queries (for instance, in the query `\\Entity[Attribute = 'a']`) -* String functions: These are the [contains](/refguide/xpath-contains/), [starts-with](/refguide/xpath-starts-with/), and [ends-with](/refguide/xpath-ends-with/) functions of an XPath. +* String functions: These are the [contains](/refguide10/xpath-contains/), [starts-with](/refguide10/xpath-starts-with/), and [ends-with](/refguide10/xpath-ends-with/) functions of an XPath. Unless otherwise indicated below, sorting and comparing strings is case sensitive whereas string functions are case insensitive. This is affected by the database, table, or column collation, and sometimes by other database specific options. diff --git a/content/en/docs/refguide10/runtime/data-storage/mysql.md b/content/en/docs/refguide10/runtime/data-storage/mysql.md index 4d51d8e7f07..c0d4f5dc200 100644 --- a/content/en/docs/refguide10/runtime/data-storage/mysql.md +++ b/content/en/docs/refguide10/runtime/data-storage/mysql.md @@ -1,6 +1,6 @@ --- title: "MySQL/MariaDB" -url: /refguide/mysql/ +url: /refguide10/mysql/ weight: 50 --- @@ -24,7 +24,7 @@ If you receive a `SAVEPOINT unnamed does not exist` exception, a deadlock has oc ## Time Zone Support -Mendix supports functionality to extract a part of a date and time in a query. In XPath, you can use functions like [`hours-from-dateTime`](/refguide/xpath-hours-from-datetime/) and [`week-from-dateTime`](/refguide/xpath-week-from-datetime/). In OQL, you can use functions like [`DATEPART(..)`](/refguide/oql-datepart/) and [`DATEDIFF(..)`](/refguide/oql-datediff/). +Mendix supports functionality to extract a part of a date and time in a query. In XPath, you can use functions like [`hours-from-dateTime`](/refguide10/xpath-hours-from-datetime/) and [`week-from-dateTime`](/refguide10/xpath-week-from-datetime/). In OQL, you can use functions like [`DATEPART(..)`](/refguide10/oql-datepart/) and [`DATEDIFF(..)`](/refguide10/oql-datediff/). In Mendix, DateTimes are stored in the UTC time zone. For these functions to work correctly, it is important that the database supports converting dates and times from UTC to another time zone. If this is not possible, the functions will operate on the date and time in the UTC time zone. That can lead to incorrect results if the user expects the date to work in their time zone. diff --git a/content/en/docs/refguide10/runtime/data-storage/oracle.md b/content/en/docs/refguide10/runtime/data-storage/oracle.md index 1b149d43215..d6d2412419f 100644 --- a/content/en/docs/refguide10/runtime/data-storage/oracle.md +++ b/content/en/docs/refguide10/runtime/data-storage/oracle.md @@ -1,6 +1,6 @@ --- title: "Oracle" -url: /refguide/oracle/ +url: /refguide10/oracle/ weight: 60 --- @@ -47,13 +47,13 @@ You cannot sort, group, or use aggregate functions such as `count()` on strings ### Selecting DISTINCT Attribute -Using [SELECT DISTINCT](/refguide/oql-select-clause/) in OQL queries is not supported for strings longer than 2000 characters. +Using [SELECT DISTINCT](/refguide10/oql-select-clause/) in OQL queries is not supported for strings longer than 2000 characters. If you run into this limitation, a message like `Error Msg = ORA-06502: PL/SQL: numeric or value error: character string buffer too small` will be logged. ### Uniqueness Constraint -You cannot set a [uniqueness constraint](/refguide/validation-rules/#uniqueness) on string attributes longer than 2000 characters. +You cannot set a [uniqueness constraint](/refguide10/validation-rules/#uniqueness) on string attributes longer than 2000 characters. If you run into this limitation, an exception like `Error Msg = ORA-02329: PL/SQL: column of datatype LOB cannot be unique or a primary key` will be logged. diff --git a/content/en/docs/refguide10/runtime/data-storage/ordering-behavior.md b/content/en/docs/refguide10/runtime/data-storage/ordering-behavior.md index c9d2033a947..ebd8a34dd53 100644 --- a/content/en/docs/refguide10/runtime/data-storage/ordering-behavior.md +++ b/content/en/docs/refguide10/runtime/data-storage/ordering-behavior.md @@ -1,6 +1,6 @@ --- title: "Order By Behavior" -url: /refguide/ordering-behavior/ +url: /refguide10/ordering-behavior/ weight: 20 --- diff --git a/content/en/docs/refguide10/runtime/data-storage/saphana.md b/content/en/docs/refguide10/runtime/data-storage/saphana.md index ab8689f3619..feab12bbe64 100644 --- a/content/en/docs/refguide10/runtime/data-storage/saphana.md +++ b/content/en/docs/refguide10/runtime/data-storage/saphana.md @@ -1,6 +1,6 @@ --- title: "SAP HANA" -url: /refguide/saphana/ +url: /refguide10/saphana/ weight: 70 --- @@ -14,7 +14,7 @@ The behavior of Mendix using an SAP HANA database has some minor differences whe SAP HANA does not support unlimited strings or strings with a specified length greater than 5000 characters when using the equal (`=`) or not equal (`!=`) operators in XPath constraints. However, it does support functions including `contains()`, `starts-with()`, and `ends-with()`. -See also [Case-Sensitive Database Behavior](/refguide/case-sensitive-database-behavior/). +See also [Case-Sensitive Database Behavior](/refguide10/case-sensitive-database-behavior/). ### Sorting, Grouping, and Aggregating diff --git a/content/en/docs/refguide10/runtime/data-storage/sqlserver.md b/content/en/docs/refguide10/runtime/data-storage/sqlserver.md index c9690700666..e77a62d0812 100644 --- a/content/en/docs/refguide10/runtime/data-storage/sqlserver.md +++ b/content/en/docs/refguide10/runtime/data-storage/sqlserver.md @@ -1,6 +1,6 @@ --- title: "SQL Server" -url: /refguide/sqlserver/ +url: /refguide10/sqlserver/ weight: 80 --- @@ -12,7 +12,7 @@ See also [Microsoft SQL Server](/developerportal/deploy/mendix-on-windows-micros ## Behavior of Uniqueness Constraint with Nulls -When an attribute has a [validation rule of **Type** *Unique*](/refguide/validation-rules/#uniqueness), the Mendix runtime creates a uniqueness constraint in the database for the corresponding database column. +When an attribute has a [validation rule of **Type** *Unique*](/refguide10/validation-rules/#uniqueness), the Mendix runtime creates a uniqueness constraint in the database for the corresponding database column. If two different objects have a value of `null` for that attribute, SQL Server will treat them as equal and raise a unique constraint violation, causing an error. diff --git a/content/en/docs/refguide10/runtime/data-storage/unlimited-string-behavior.md b/content/en/docs/refguide10/runtime/data-storage/unlimited-string-behavior.md index 2cbf5260dc1..40f9ba3e538 100644 --- a/content/en/docs/refguide10/runtime/data-storage/unlimited-string-behavior.md +++ b/content/en/docs/refguide10/runtime/data-storage/unlimited-string-behavior.md @@ -1,6 +1,6 @@ --- title: "Unlimited String Behavior" -url: /refguide/unlimited-string-behavior/ +url: /refguide10/unlimited-string-behavior/ weight: 20 --- diff --git a/content/en/docs/refguide10/runtime/datasource-runtime-behavior.md b/content/en/docs/refguide10/runtime/datasource-runtime-behavior.md index acc47abb83e..626a0375b47 100644 --- a/content/en/docs/refguide10/runtime/datasource-runtime-behavior.md +++ b/content/en/docs/refguide10/runtime/datasource-runtime-behavior.md @@ -1,12 +1,12 @@ --- title: "Data Sources Retrieval" -url: /refguide/datasource-runtime/ +url: /refguide10/datasource-runtime/ weight: 60 --- ## Introduction -When configuring a [list widget](/refguide/data-sources/#list-widgets), all data sources provide the same features. For example, widgets contained in a list widget can use attributes of the entity that is provided by the data source or if the list widget supports sorting and filtering it supports it for all data sources. +When configuring a [list widget](/refguide10/data-sources/#list-widgets), all data sources provide the same features. For example, widgets contained in a list widget can use attributes of the entity that is provided by the data source or if the list widget supports sorting and filtering it supports it for all data sources. Likewise, when implementing a [pluggable widget](/apidocs-mxsdk/apidocs/pluggable-widgets/), you do not have to worry about the data source as all data sources work with the same [API](/apidocs-mxsdk/apidocs/pluggable-widgets-client-apis-list-values/). @@ -18,7 +18,7 @@ All data sources support paging, sorting, and filtering but the way they are han ### Database Source -For a [Database source](/refguide/database-source/), these operations are applied by the Runtime Server. This means the Mendix Client sends a request with all the paging, sorting and filtering information and the Runtime Server applies this information so that the requested list of objects (with paging, filter and sort order applied) is returned to the Mendix Client. +For a [Database source](/refguide10/database-source/), these operations are applied by the Runtime Server. This means the Mendix Client sends a request with all the paging, sorting and filtering information and the Runtime Server applies this information so that the requested list of objects (with paging, filter and sort order applied) is returned to the Mendix Client. As these operations are applied by the Runtime Server, and only the requested objects are returned to the Mendix Client, this improves performance as the amount of data transferred over the network is minimal. When the user interacts with the widget and moves to a different page or changes the filter, Mendix Client issues a new request to the Runtime Server. @@ -26,13 +26,13 @@ As these operations are applied by the Runtime Server, and only the requested ob ### Microflow or Nanoflow Source -For a [Microflow](/refguide/microflow-source/) or [Nanoflow](/refguide/nanoflow-source/) source, these operations are applied by the Mendix Client, not the Runtime Server. This means the Microflow or Nanoflow data source returns all the objects, according to the modeled logic, after which paging, sorting, and filtering is applied by the Mendix Client. +For a [Microflow](/refguide10/microflow-source/) or [Nanoflow](/refguide10/nanoflow-source/) source, these operations are applied by the Mendix Client, not the Runtime Server. This means the Microflow or Nanoflow data source returns all the objects, according to the modeled logic, after which paging, sorting, and filtering is applied by the Mendix Client. This means that, even if a limited set of objects is requested by paging or a filter, the complete set of all objects returned by the Microflow or Nanoflow is transferred to the Mendix Client over the network. As all the data is then available on the Mendix Client, changes in paging, sorting or filtering acts on this list of objects without triggering the Microflow or Nanoflow to retrieve the data. ### Association Source -An [Association source](/refguide/association-source/) works in the same way as a Microflow or Nanoflow source, but now the list of objects contains those which are linked by the specified association. +An [Association source](/refguide10/association-source/) works in the same way as a Microflow or Nanoflow source, but now the list of objects contains those which are linked by the specified association. {{< figure src="/attachments/refguide10/runtime/mendix-client/data-source-client-paged.png" class="no-border" >}} @@ -40,7 +40,7 @@ An [Association source](/refguide/association-source/) works in the same way as As described in previous section, the type of data source impacts when a network request is triggered. The size of the response of this request depends on the number of objects returned but also on the optimization mode. -There are two [optimization modes](/refguide/data-sources/#optimization-mode) and, in Mendix version 10.8.0 and above, the one that applies to the data source can be seen in the data source advanced properties. +There are two [optimization modes](/refguide10/data-sources/#optimization-mode) and, in Mendix version 10.8.0 and above, the one that applies to the data source can be seen in the data source advanced properties. To show how these modes impact the performance and behavior of the widget, consider a [Data Grid 2](/appstore/modules/data-grid-2/) widget. The data grid is configured with a database data source of entity `OrderLine`. The data grid shows two columns containing the `Description` and the `Price` attribute, respectively. @@ -48,7 +48,7 @@ To show how these modes impact the performance and behavior of the widget, consi In the **Network Round Trips** optimization mode, the Runtime Server returns all the attributes of the requested objects of the `OrderLine` entity. If the entity has additional attributes, such as a `Quantity` attribute, this would be included in the network response, although it is not displayed in the data grid. This increases the network load as more information is returned over the network. The higher the number of attributes, the more data is transferred over the network. -In this mode the objects received from the Runtime Server are registered in the [Mendix object cache](/refguide/mendix-client/#object-cache). If the Mendix Client needs an object, for example when running a client action, the object is retrieved from the cache and the Mendix Client does not issue a request to the Runtime Server. +In this mode the objects received from the Runtime Server are registered in the [Mendix object cache](/refguide10/mendix-client/#object-cache). If the Mendix Client needs an object, for example when running a client action, the object is retrieved from the cache and the Mendix Client does not issue a request to the Runtime Server. Because the object is cached, data shown in widgets on the page will be updated immediately, without the need to reload that page. @@ -58,6 +58,6 @@ In some scenarios the Mendix Client must have all the attributes of the object a In the **Optimize for Network Load** optimization mode, the Runtime Server returns only the attributes used by the grid for the requested objects of the `OrderLine` entity. This limits the amount of data transferred over the network. -Objects which do not contain all the attributes will not be registered in the [Mendix object cache](/refguide/mendix-client/#object-cache). This means when the object is needed by the Mendix Client (in a client action, for example) an additional request will be issued to the Runtime Server to get the object with all its attributes. +Objects which do not contain all the attributes will not be registered in the [Mendix object cache](/refguide10/mendix-client/#object-cache). This means when the object is needed by the Mendix Client (in a client action, for example) an additional request will be issued to the Runtime Server to get the object with all its attributes. Data shown in widgets on the page will not be updated until the data source is reloaded. diff --git a/content/en/docs/refguide10/runtime/date-and-time-handling/_index.md b/content/en/docs/refguide10/runtime/date-and-time-handling/_index.md index 354ab6d0854..d92d146db67 100644 --- a/content/en/docs/refguide10/runtime/date-and-time-handling/_index.md +++ b/content/en/docs/refguide10/runtime/date-and-time-handling/_index.md @@ -1,6 +1,6 @@ --- title: "Date and Time Handling" -url: /refguide/date-and-time-handling/ +url: /refguide10/date-and-time-handling/ description: "Describes date and time handling for a Mendix application." --- @@ -63,7 +63,7 @@ If your application is accessible without signing in, those anonymous users will Per attribute of type **Date and time** you can specify whether you want the date and time to be localized when displaying (or picking) their value. This is not a new feature but worth mentioning on this page. Both localized and non-localized attributes are stored in UTC but only localized attributes are converted to the time zone of the user when displaying their value (for example, in the client or in generated documents). Use non-localized attributes if you are not interested in the time component of a date and you want the date to be exactly the same all over the world (for example, a birthday). -For more information, see the [Localize](/refguide/attributes/#localize) section in *Attributes*. +For more information, see the [Localize](/refguide10/attributes/#localize) section in *Attributes*. ## Tokens diff --git a/content/en/docs/refguide10/runtime/date-and-time-handling/datetime-handling-faq.md b/content/en/docs/refguide10/runtime/date-and-time-handling/datetime-handling-faq.md index d312a1c20b3..b738dec0fe2 100644 --- a/content/en/docs/refguide10/runtime/date-and-time-handling/datetime-handling-faq.md +++ b/content/en/docs/refguide10/runtime/date-and-time-handling/datetime-handling-faq.md @@ -1,6 +1,6 @@ --- title: "DateTime Handling FAQ" -url: /refguide/datetime-handling-faq/ +url: /refguide10/datetime-handling-faq/ --- ## Introduction diff --git a/content/en/docs/refguide10/runtime/finding-the-root-cause-of-runtime-errors.md b/content/en/docs/refguide10/runtime/finding-the-root-cause-of-runtime-errors.md index cf3c1188a28..2b33e6f537b 100644 --- a/content/en/docs/refguide10/runtime/finding-the-root-cause-of-runtime-errors.md +++ b/content/en/docs/refguide10/runtime/finding-the-root-cause-of-runtime-errors.md @@ -1,6 +1,6 @@ --- title: "Find the Root Cause of Runtime Errors" -url: /refguide/find-the-root-cause-of-runtime-errors/ +url: /refguide10/find-the-root-cause-of-runtime-errors/ description: "Describes how to find the root cause of runtime errors via Studio Pro and via the application logs." aliases: - /howto/monitoring-troubleshooting/finding-the-root-cause-of-runtime-errors/ @@ -57,7 +57,7 @@ With these three pieces of information, you should be able to find the cause of * [Monitor Mendix Using JMX](/howto/monitoring-troubleshooting/monitoring-mendix-using-jmx/) * [Debug Java Actions Remotely](/howto/monitoring-troubleshooting/debug-java-actions-remotely/) * [Log Levels](/howto/monitoring-troubleshooting/log-levels/) -* [Debugging Microflows and Nanoflows](/refguide/debug-microflows-and-nanoflows/) -* [Debugging Microflows Remotely](/refguide/debug-microflows-remotely/) +* [Debugging Microflows and Nanoflows](/refguide10/debug-microflows-and-nanoflows/) +* [Debugging Microflows Remotely](/refguide10/debug-microflows-remotely/) * [Debug Java Actions](/howto/monitoring-troubleshooting/debug-java-actions/) * [The Root Cause of Runtime Errors and Resolving the 2 Most Common Issues](https://www.mendix.com/blog/the-root-cause-of-runtime-errors-and-resolving-the-2-most-common-issues/) diff --git a/content/en/docs/refguide10/runtime/log-levels.md b/content/en/docs/refguide10/runtime/log-levels.md index fbbefd6a3a7..46d98dd78c4 100644 --- a/content/en/docs/refguide10/runtime/log-levels.md +++ b/content/en/docs/refguide10/runtime/log-levels.md @@ -1,6 +1,6 @@ --- title: "Set Log Levels" -url: /refguide/log-levels/ +url: /refguide10/log-levels/ description: "Describes how to configure the log levels for the various occurrence of logging within your app." aliases: - /howto/monitoring-troubleshooting/log-levels/ @@ -121,5 +121,5 @@ To set the level of custom log messages that you have created via a microflow, f * [Find the Root Cause of Runtime Errors](/howto/monitoring-troubleshooting/finding-the-root-cause-of-runtime-errors/) * [Clear Warning Messages in Mendix](/howto/monitoring-troubleshooting/clear-warning-messages/) * [Monitor Mendix Using JMX](/howto/monitoring-troubleshooting/monitoring-mendix-using-jmx/) -* [Debugging Microflows and Nanoflows](/refguide/debug-microflows-and-nanoflows/) +* [Debugging Microflows and Nanoflows](/refguide10/debug-microflows-and-nanoflows/) * [Debug Java Actions](/howto/monitoring-troubleshooting/debug-java-actions/) diff --git a/content/en/docs/refguide10/runtime/logging/_index.md b/content/en/docs/refguide10/runtime/logging/_index.md index d1b76905be5..323d589f59f 100644 --- a/content/en/docs/refguide10/runtime/logging/_index.md +++ b/content/en/docs/refguide10/runtime/logging/_index.md @@ -1,6 +1,6 @@ --- title: "Logging" -url: /refguide/logging/ +url: /refguide10/logging/ description: "Describes what the various log levels of the runtime will show as output." --- @@ -9,7 +9,7 @@ description: "Describes what the various log levels of the runtime will show as Below we describe what the various log levels of the runtime will show as output. During development, these log levels can be set in the console (advanced -> set log levels), when deployed on a server, please refer to the [Deployment](/developerportal/deploy/mendix-cloud-deploy/) pages. -You can also set log levels to provide more or less information when testing locally using the console in Studio Pro. See [Configuring Log Levels Within Studio Pro](/refguide/log-levels/#configure-log-levels-from-studio-pro) in *How To Set Log Levels* for more information. +You can also set log levels to provide more or less information when testing locally using the console in Studio Pro. See [Configuring Log Levels Within Studio Pro](/refguide10/log-levels/#configure-log-levels-from-studio-pro) in *How To Set Log Levels* for more information. ## Log Levels {#log-levels} @@ -39,7 +39,7 @@ This is the most verbose logging level, and can be used if you want even more fi ## Log Nodes -This section provides some details on specific log nodes used by Mendix. It is recommended that if you write your own [log messages](/refguide/log-message/) you use your own log node names to avoid confusion with the Mendix log messages. +This section provides some details on specific log nodes used by Mendix. It is recommended that if you write your own [log messages](/refguide10/log-message/) you use your own log node names to avoid confusion with the Mendix log messages. ### Default Mendix Log Nodes {#mendix-nodes} @@ -92,14 +92,14 @@ This list is currently incomplete and is being updated. | TaskQueue | All actions related to Task Queues | | REST Consume | Logs messages related to the Call REST service activity. | | REST Publish | Logs messages related to published REST services. | -| RequestStatistics | Logs if thresholds related to state defined in [Client Runtime Settings](/refguide/custom-settings/#web-client-settings) have exceeded the defined threshold. | +| RequestStatistics | Logs if thresholds related to state defined in [Client Runtime Settings](/refguide10/custom-settings/#web-client-settings) have exceeded the defined threshold. | | SchemeManager | Logs messages related to model loading that is performed during startup. | -| Services | Logs messages related to [Web Services](/refguide/integration/web-services/) | +| Services | Logs messages related to [Web Services](/refguide10/integration/web-services/) | | StorageAzure | Logs messages related to file handling if you are using Azure system as your file store. | | StorageLocal | Logs messages related to file handling if you are using the local file system as your file store. | | StorageS3 | Logs messages related to file handling if you are using Amazon S3 system as your file store. | | WebServices | Traces SOAP call request and response contents. | -| WebUI | Logs if thresholds related to feedback size defined in [Client Runtime Settings](/refguide/custom-settings/#web-client-settings) have exceeded the defined threshold, or creating a valid session has failed. | +| WebUI | Logs if thresholds related to feedback size defined in [Client Runtime Settings](/refguide10/custom-settings/#web-client-settings) have exceeded the defined threshold, or creating a valid session has failed. | | Workflow Engine | Logs messages related to workflow executions, for example, lifecycle events, such as a start or an end of a workflow, execution of workflow actions, and errors that occur during the execution. | | XML Export | Logs messages related to export mappings to XML. | | XML Import | Logs messages related to import mappings from XML. | diff --git a/content/en/docs/refguide10/runtime/logging/log-levels.md b/content/en/docs/refguide10/runtime/logging/log-levels.md index 0ef9b40a58b..89da4d9ca91 100644 --- a/content/en/docs/refguide10/runtime/logging/log-levels.md +++ b/content/en/docs/refguide10/runtime/logging/log-levels.md @@ -1,6 +1,6 @@ --- title: "Set Log Levels" -url: /refguide/log-levels/ +url: /refguide10/log-levels/ description: "Describes how to configure the log levels for the various occurrence of logging within your app." aliases: - /howto/monitoring-troubleshooting/log-levels/ @@ -121,5 +121,5 @@ To set the level of custom log messages that you have created via a microflow, f * [Find the Root Cause of Runtime Errors](/howto/monitoring-troubleshooting/finding-the-root-cause-of-runtime-errors/) * [Clear Warning Messages in Mendix](/howto/monitoring-troubleshooting/clear-warning-messages/) * [Monitor Mendix Using JMX](/howto/monitoring-troubleshooting/monitoring-mendix-using-jmx/) -* [Debugging Microflows and Nanoflows](/refguide/debug-microflows-and-nanoflows/) +* [Debugging Microflows and Nanoflows](/refguide10/debug-microflows-and-nanoflows/) * [Debug Java Actions](/howto/monitoring-troubleshooting/debug-java-actions/) diff --git a/content/en/docs/refguide10/runtime/login-behavior.md b/content/en/docs/refguide10/runtime/login-behavior.md index cada652741d..9a24d5a54f6 100644 --- a/content/en/docs/refguide10/runtime/login-behavior.md +++ b/content/en/docs/refguide10/runtime/login-behavior.md @@ -1,6 +1,6 @@ --- title: "Login Behavior" -url: /refguide/login-behavior/ +url: /refguide10/login-behavior/ description: "Describes default and customized login behavior in the Mendix Runtime." --- @@ -8,7 +8,7 @@ description: "Describes default and customized login behavior in the Mendix Runt A user is blocked after three consecutive bad login attempts, regardless of the time between the login attempts. The failed login count is reset after a successful login attempt or when a blocked user is unblocked. Blocking users only occurs when the app security level is set to **Production**. -Users that have been blocked for at least five minutes are unblocked each time the cluster manager runs and, at that point, the failed login count is reset to 0. By default, the cluster manager runs every five minutes. This interval can be changed using [Runtime customization](/refguide/custom-settings/) to change the `ClusterManagerActionInterval` setting. +Users that have been blocked for at least five minutes are unblocked each time the cluster manager runs and, at that point, the failed login count is reset to 0. By default, the cluster manager runs every five minutes. This interval can be changed using [Runtime customization](/refguide10/custom-settings/) to change the `ClusterManagerActionInterval` setting. {{% alert color="warning" %}} The cluster manager does more than just unblocking users. For example, it also removes expired sessions. So changing this interval has a broader impact. @@ -60,4 +60,4 @@ Login behavior can be customized by implementing a custom Java action and regist } ``` -1. Update the [After Startup](/refguide/app-settings/#after-startup) microflow to invoke the Java action which replaces the `LoginAction`. +1. Update the [After Startup](/refguide10/app-settings/#after-startup) microflow to invoke the Java action which replaces the `LoginAction`. diff --git a/content/en/docs/refguide10/runtime/mendix-client/_index.md b/content/en/docs/refguide10/runtime/mendix-client/_index.md index b2b058cfb3a..bcef2c65cea 100644 --- a/content/en/docs/refguide10/runtime/mendix-client/_index.md +++ b/content/en/docs/refguide10/runtime/mendix-client/_index.md @@ -1,6 +1,6 @@ --- title: "Mendix Client" -url: /refguide/mendix-client/ +url: /refguide10/mendix-client/ description: "Describes the Mendix Client part of the Mendix Runtime and how it functions." weight: 20 --- @@ -12,11 +12,11 @@ The Mendix Client runs on the end-user's device and serves as the interface betw The above description of the Mendix Client is based on using the Runtime Server of an app running in the cloud. You can also run Mendix locally for testing, which works in a conceptually similar way. {{% alert color="info" %}} -In Studio Pro versions 10.7.0 and above, there is an alternative version of the Mendix Client written in React. This is currently a [beta](/releasenotes/beta-features/). You can enable this React client in [App Settings](/refguide/app-settings/#react-client). +In Studio Pro versions 10.7.0 and above, there is an alternative version of the Mendix Client written in React. This is currently a [beta](/releasenotes/beta-features/). You can enable this React client in [App Settings](/refguide10/app-settings/#react-client). The React client replaces [Dojo](https://dojotoolkit.org/) with [React](https://react.dev/) for the view layer. This means that widgets based on Dojo will no longer work. You will get consistency errors if your app contains Dojo widgets, or you can choose **Migration mode** which will allow you to build your app but will replace incompatible widgets with a placeholder. -Other components of the Mendix Client are the same in both the React and Dojo client. See [Mendix React Client](/refguide/mendix-client/react/) for more information. +Other components of the Mendix Client are the same in both the React and Dojo client. See [Mendix React Client](/refguide10/mendix-client/react/) for more information. {{% /alert %}} ## Description {#description} @@ -33,11 +33,11 @@ For **mobile applications**, the Mendix Client acts as a React Native applicatio The three supported types of wrappers for mobile applications are as follows: -* [Make It Native app](/refguide/getting-the-make-it-native-app/) -* [Custom developer apps](/refguide/mobile/distributing-mobile-apps/building-native-apps/how-to-devapps/) -* [Native apps](/refguide/mobile/introduction-to-mobile-technologies/native-mobile/) +* [Make It Native app](/refguide10/getting-the-make-it-native-app/) +* [Custom developer apps](/refguide10/mobile/distributing-mobile-apps/building-native-apps/how-to-devapps/) +* [Native apps](/refguide10/mobile/introduction-to-mobile-technologies/native-mobile/) -The first two of these load a bundle dynamically, while the last one includes a pre-packaged bundle that can be [updated](/refguide/mobile/distributing-mobile-apps/overtheair-updates/) later. +The first two of these load a bundle dynamically, while the last one includes a pre-packaged bundle that can be [updated](/refguide10/mobile/distributing-mobile-apps/overtheair-updates/) later. Here is a chart showing the components of the Mendix Client (for more information on the components, see the sections written beneath the chart): @@ -101,9 +101,9 @@ Offline Storage is permanent storage (usually on a mobile device) where data can State, Synchronization, and Session handling manages requests to the Runtime Server. Note that some actions in the Mendix Client will not require access to the Runtime Server. For example, if the Object Cache already has access to the required data in the temporary object storage, or if the app is offline-first. -For more information on offline-first app types, see [Introduction to Mobile Technologies](/refguide/mobile/introduction-to-mobile-technologies/). +For more information on offline-first app types, see [Introduction to Mobile Technologies](/refguide10/mobile/introduction-to-mobile-technologies/). -For more information about the communication between the Mendix Client and the Runtime Server, see [Communication Patterns in the Mendix Runtime](/refguide/communication-patterns/). +For more information about the communication between the Mendix Client and the Runtime Server, see [Communication Patterns in the Mendix Runtime](/refguide10/communication-patterns/). The three functions (state, sync, and session) are described separately, below. @@ -129,23 +129,23 @@ State handling is also responsible for garbage collection. If you want to know m #### Synchronization -If an app is offline-first, data created and changed in the app is stored locally until it is synchronized with the Runtime Server. This job is carried out by the synchronization process. This synchronizes the offline storage and object cache with the Runtime Server. For more information on offline-first apps and synchronization, see [Offline-First](/refguide/offline-first/). +If an app is offline-first, data created and changed in the app is stored locally until it is synchronized with the Runtime Server. This job is carried out by the synchronization process. This synchronizes the offline storage and object cache with the Runtime Server. For more information on offline-first apps and synchronization, see [Offline-First](/refguide10/offline-first/). #### Session Session management ensures that any session with the runtime is kept alive and restored if necessary. It also acts as the authentication for all communications with the runtime which require it. -For a description of the session and authentication tokens, see [Session Management](/refguide/session-management/). +For a description of the session and authentication tokens, see [Session Management](/refguide10/session-management/). ### Runtime Server -The Runtime Server waits for requests from the Mendix Client, processes the request, and returns the requested data (plus any additional state information where appropriate). This is done using a number of [request handlers](/refguide/request-handlers/) called over a private API. One of these, for example, is called xas. +The Runtime Server waits for requests from the Mendix Client, processes the request, and returns the requested data (plus any additional state information where appropriate). This is done using a number of [request handlers](/refguide10/request-handlers/) called over a private API. One of these, for example, is called xas. It will also notify the Mendix Client when changes are made to the app, and allows developers to connect a debugger to the client to debug nanoflows. Because all information is sent to the Mendix Client to build pages, everything in the Mendix Client is visible to the end-user. Security is carried out in the Runtime Server, which will only send information to the Mendix Client which the user is allowed to see. -For a description of the Runtime Server, see [Runtime Server](/refguide/runtime-server/). +For a description of the Runtime Server, see [Runtime Server](/refguide10/runtime-server/). ## Widgets{#widgets} @@ -266,25 +266,25 @@ When the Mendix client is running, it sets a number of technical cookies to reco | **authtoken** | Runtime | Used to hold the authentication token—*introduced for apps created in Mendix version 10.9.0 and above* | `/` | until the authentication token expires | `true` | | **clear_cache** | Runtime | Instructs the client to clear the cached session data whenever a new end-user signs in to an offline application. If the client is not directly used for the sign-in functionality, you can use the newly added Java API, [addSessionCookies](https://apidocs.rnd.mendix.com/10/runtime/com/mendix/m2ee/api/IMxRuntimeResponse.html#addSessionCookies), which sets all necessary cookies related to the session.—*introduced for apps created in Mendix version 10.13.0 and above* | `/` | until client starts or end-user closes their browser | `false`³ | -¹*Offline sessions* are sessions created for users using an offline or native mobile [navigation profile](/refguide/navigation/#profiles). +¹*Offline sessions* are sessions created for users using an offline or native mobile [navigation profile](/refguide10/navigation/#profiles). -²The name of the **XASSESSIONID** can be changed by changing the value of the **com.mendix.core.SessionIdCookieName** [custom setting](/refguide/custom-settings/). +²The name of the **XASSESSIONID** can be changed by changing the value of the **com.mendix.core.SessionIdCookieName** [custom setting](/refguide10/custom-settings/). ³The **clear_cache** cookie does not contain any sensitive information and always has value of 1. Therefore, there is no need for this cookie to be marked as **Secure** or **HttpOnly**. ### Launching Native Mendix Client -The flow when launching a native mobile app is different from launching in a browser. More information is stored locally as part of the app, and a native mobile app can even be designed to run [offline-first](/refguide/offline-first/), which means that it can still be run without any connection to the Runtime Server. +The flow when launching a native mobile app is different from launching in a browser. More information is stored locally as part of the app, and a native mobile app can even be designed to run [offline-first](/refguide10/offline-first/), which means that it can still be run without any connection to the Runtime Server. The flow described below applies to production apps. During development, the flow is not the same. This enables you to do faster deployments and online debugging. When launching a native mobile app in production, the following occurs: 1. The end-user opens the app on their device. This is a project specific shell app, which runs natively on iOS or Android. It is released to the app store appropriate for the device. If a new version of the app is downloaded to the device, the app will behave as if the end-user has opened it for the first time, even if it was already open on their device. -1. The app displays the splash screen defined in the [build process](/refguide/mobile/distributing-mobile-apps/building-native-apps/). +1. The app displays the splash screen defined in the [build process](/refguide10/mobile/distributing-mobile-apps/building-native-apps/). 1. The shell app loads a native bundle. This is the equivalent of the Mendix Client resources used by the Mendix Client running in a browser. It contains, for example, the Mendix Client code and page definitions. However, it is held locally on the device rather than centrally with the Runtime Server. 1. If there is not a valid authentication token on the device, the Mendix Client contacts the Runtime Server and authenticates the end-user and gets any additional configuration required from the Runtime Server. 1. If this is the first time the app has been started, or the first time after an update to the app, the Mendix Client performs a synchronization with the Runtime Server. -1. If enabled, the Mendix Client checks if an updated bundle is available on the runtime. If it is, the updated bundle is downloaded and stored, and the app is restarted. This enables the app to keep up-to-date without needing to download new versions of the app from the app store. Please consider the limitations listed in the [When to Use OTA Updates](/refguide/mobile/distributing-mobile-apps/overtheair-updates/#when-to-use-ota) section of *Updating Native Apps* when updating native apps this way. +1. If enabled, the Mendix Client checks if an updated bundle is available on the runtime. If it is, the updated bundle is downloaded and stored, and the app is restarted. This enables the app to keep up-to-date without needing to download new versions of the app from the app store. Please consider the limitations listed in the [When to Use OTA Updates](/refguide10/mobile/distributing-mobile-apps/overtheair-updates/#when-to-use-ota) section of *Updating Native Apps* when updating native apps this way. *The Mendix Client is now ready to display the home screen and respond to user input.* diff --git a/content/en/docs/refguide10/runtime/mendix-client/content-readiness.md b/content/en/docs/refguide10/runtime/mendix-client/content-readiness.md index 9939a8997b6..12bf9dab82c 100644 --- a/content/en/docs/refguide10/runtime/mendix-client/content-readiness.md +++ b/content/en/docs/refguide10/runtime/mendix-client/content-readiness.md @@ -1,13 +1,13 @@ --- title: "Marketplace Component React Status" -url: /refguide/mendix-client/marketplace-react-status/ +url: /refguide10/mendix-client/marketplace-react-status/ description: "Describes Mendix's React client." weight: 20 --- ## Introduction -The Mendix Marketplace has several reusable widgets and modules created by Mendix, as well other made by our partners and community. Not all content found in the Mendix Marketplace is ready for the [React version of the Mendix Client](/releasenotes/studio-pro/10.7/#react-client) yet, including platform-supported content provided by Mendix. This guide will help you understand which of the popular widgets and modules are ready for the [React client](/refguide/mendix-client/react/) and which are not. +The Mendix Marketplace has several reusable widgets and modules created by Mendix, as well other made by our partners and community. Not all content found in the Mendix Marketplace is ready for the [React version of the Mendix Client](/releasenotes/studio-pro/10.7/#react-client) yet, including platform-supported content provided by Mendix. This guide will help you understand which of the popular widgets and modules are ready for the [React client](/refguide10/mendix-client/react/) and which are not. If the Marketplace component you are interested in is not included on this list, add it to your application with the React client enabled, see if consistency errors arise, and troubleshoot them. diff --git a/content/en/docs/refguide10/runtime/mendix-client/react.md b/content/en/docs/refguide10/runtime/mendix-client/react.md index 2703cdf8c65..410a81abfd1 100644 --- a/content/en/docs/refguide10/runtime/mendix-client/react.md +++ b/content/en/docs/refguide10/runtime/mendix-client/react.md @@ -1,13 +1,13 @@ --- title: "Mendix React Client" -url: /refguide/mendix-client/react +url: /refguide10/mendix-client/react description: "Describes the React version of the Mendix Client." weight: 10 --- ## Introduction -In Studio Pro versions 10.7.0 and above, there is an alternative version of the Mendix Client written in React. You can enable this React client in [App Settings](/refguide/app-settings/#react-client). +In Studio Pro versions 10.7.0 and above, there is an alternative version of the Mendix Client written in React. You can enable this React client in [App Settings](/refguide10/app-settings/#react-client). The React client replaces [Dojo](https://dojotoolkit.org/) with [React](https://react.dev/) for the view layer. This change allows for improved performance, enables incremental loading, and future-proofs your application. For more information on these three aspects, see the sections below: @@ -69,13 +69,13 @@ JavaScript actions must not use any of the following client APIs: * The setting `mx.modulePath` * The function `mx.ui.openForm` -These APIs are related to Dojo and are no longer needed. For opening pages, please use the nanoflow [Show Page](/refguide/show-page/) action instead. +These APIs are related to Dojo and are no longer needed. For opening pages, please use the nanoflow [Show Page](/refguide10/show-page/) action instead. Fore more information on React and APIs in Mendix, see our [Mendix 10 React Client API](https://apidocs.rnd.mendix.com/10/client-react/index.html) documentation. ### Enable React Client{#enable-react} -To enable the React client for your Mendix project, make sure it fulfills the prerequisites above. Then, enable the React client in [App Settings](/refguide/app-settings/#react-client). +To enable the React client for your Mendix project, make sure it fulfills the prerequisites above. Then, enable the React client in [App Settings](/refguide10/app-settings/#react-client). The migration mode will show deprecation warnings instead of errors for all incompatible widgets found in your project. This can help you explore and test the React client without being blocked by errors. When deploying an app leveraging the React client, we recommend setting **React Client** to **Yes** and resolving all errors before deploying. @@ -95,23 +95,23 @@ It is also possible to keep custom `index.html` files for both clients. To do th ### Marketplace Components{#marketplace} -Not all Mendix Marketplace components are ready for the React client. Refer to [Marketplace Component React Status](/refguide/mendix-client/marketplace-react-status/) to see which of the most popular marketplace components are React ready. If a module or widget you are using is not on the list, test it for yourself then reach out to the authors to update it if not. +Not all Mendix Marketplace components are ready for the React client. Refer to [Marketplace Component React Status](/refguide10/mendix-client/marketplace-react-status/) to see which of the most popular marketplace components are React ready. If a module or widget you are using is not on the list, test it for yourself then reach out to the authors to update it if not. Mendix recommends refreshing all Marketplace components in your app before enabling the React client. ### Widgets{#widgets} -Not all widgets are supported by the React client. Mendix recommends migrating widgets in apps below [10.18](/releasenotes/studio-pro/10.18/) using the automatic conversion capabilities in Studio Pro (right-click a widget and select **Convert in-place**). For a list of configuration options unsupported by automatic conversions, see [Widget Conversion Limitations](/refguide/mendix-client/widget-conversion-limitations/). +Not all widgets are supported by the React client. Mendix recommends migrating widgets in apps below [10.18](/releasenotes/studio-pro/10.18/) using the automatic conversion capabilities in Studio Pro (right-click a widget and select **Convert in-place**). For a list of configuration options unsupported by automatic conversions, see [Widget Conversion Limitations](/refguide10/mendix-client/widget-conversion-limitations/). #### Dynamic & Static Image{#dynamic-static} -The [Dynamic Image](/refguide/image-viewer/) and [Static Image](/refguide/image/) widgets are not supported in the React client. To use a React version of these widgets, replace them with the universal Image widget; it is documented [here](/appstore/widgets/image/), and downloadable [here](https://marketplace.mendix.com/link/component/118579). +The [Dynamic Image](/refguide10/image-viewer/) and [Static Image](/refguide10/image/) widgets are not supported in the React client. To use a React version of these widgets, replace them with the universal Image widget; it is documented [here](/appstore/widgets/image/), and downloadable [here](https://marketplace.mendix.com/link/component/118579). To automatically convert a dynamic image or a static image, right-click the widget (or the error message) and select **Convert to Image**. #### Reference Selectors & Drop-down{#reference-selectors-drop-down} -The reference selector widgets ([Reference Selector](/refguide/reference-selector/), [Reference Set Selector](/refguide/reference-set-selector/), and [Input Reference Set Selector](/refguide/input-reference-set-selector/)) and the [Drop-down](/refguide/drop-down/) widget are not supported in the React client. To leverage React, replace unsupported widgets with the combo box widget; it is documented [here](/appstore/widgets/combobox/), and downloadable [here](https://marketplace.mendix.com/link/component/219304). +The reference selector widgets ([Reference Selector](/refguide10/reference-selector/), [Reference Set Selector](/refguide10/reference-set-selector/), and [Input Reference Set Selector](/refguide10/input-reference-set-selector/)) and the [Drop-down](/refguide10/drop-down/) widget are not supported in the React client. To leverage React, replace unsupported widgets with the combo box widget; it is documented [here](/appstore/widgets/combobox/), and downloadable [here](https://marketplace.mendix.com/link/component/219304). To automatically convert a reference selector widget or a drop-down to a combo box, right-click on the widget (or consistency error message) and select **Convert to combo box**. diff --git a/content/en/docs/refguide10/runtime/mendix-client/widget-conversion-limitations.md b/content/en/docs/refguide10/runtime/mendix-client/widget-conversion-limitations.md index 761d4435778..9264fa1bc28 100644 --- a/content/en/docs/refguide10/runtime/mendix-client/widget-conversion-limitations.md +++ b/content/en/docs/refguide10/runtime/mendix-client/widget-conversion-limitations.md @@ -1,6 +1,6 @@ --- title: "Widget Conversion Limitations" -url: /refguide/mendix-client/widget-conversion-limitations/ +url: /refguide10/mendix-client/widget-conversion-limitations/ description: "Describes the limitations of the automatic widget conversions." weight: 20 --- diff --git a/content/en/docs/refguide10/runtime/metrics.md b/content/en/docs/refguide10/runtime/metrics.md index 759d306a09e..81d54f722c0 100644 --- a/content/en/docs/refguide10/runtime/metrics.md +++ b/content/en/docs/refguide10/runtime/metrics.md @@ -1,6 +1,6 @@ --- title: "Metrics" -url: /refguide/metrics/ +url: /refguide10/metrics/ description: "Describes how to configure and report metrics in Mendix." --- @@ -18,7 +18,7 @@ The Metrics can be configured in the following ways: ## Metrics Registries Configuration {#registries-configuration} -Micrometer can send metrics to multiple registries. To configure micrometer for a specific registry, use the following syntax in `runtime settings` with the custom runtime setting name `Metrics.Registries`. See [Runtime Customization](/refguide/custom-settings/#metrics-settings) for more information. The setting is in JSON format. +Micrometer can send metrics to multiple registries. To configure micrometer for a specific registry, use the following syntax in `runtime settings` with the custom runtime setting name `Metrics.Registries`. See [Runtime Customization](/refguide10/custom-settings/#metrics-settings) for more information. The setting is in JSON format. * Custom Runtime Setting – **Name**: `Metrics.Registries` @@ -372,7 +372,7 @@ Common tags which should be reported by every metric can be specified using the ## Microflow Activities {#microflow-activities} -You can use activities to provide custom metrics from your app. See [Metrics Activities](/refguide/metrics-activities/) for information about these activities . +You can use activities to provide custom metrics from your app. See [Metrics Activities](/refguide10/metrics-activities/) for information about these activities . ## Java API {#java-api} @@ -444,14 +444,14 @@ The Runtime Server produces the following metrics out-of-the-box: | **mx.runtime.stats.connectionbus.inserts** | counter | `XASId` | The total number of `INSERT` statements that were executed on the database by a node (`XASId`) since it was started. | | **mx.runtime.stats.connectionbus.updates** | counter | `XASId` | The total number of `UPDATE` statements that were executed on the database by a node (`XASId`) since it was started. | | **mx.runtime.stats.connectionbus.deletes** | counter | `XASId` | The total number of `DELETE` statements that were executed on the database by a node (`XASId`) since it was started. | -| **mx.odata.consume.created** | counter | `entity` | The total number of objects of a certain entity type (`entity`) that were created using the [Send External Object activity](/refguide/send-external-object/). | -| **mx.odata.consume.updated** | counter | `entity` | The total number of objects of a certain entity type (`entity`) that were updated using the [Send External Object activity](/refguide/send-external-object/). | -| **mx.odata.consume.deleted** | counter | `entity` | The total number of objects of a certain entity type (`entity`) that were created using the [Delete External Object activity](/refguide/delete-external-object/). | -| **mx.odata.publish.objects** | counter | `entity` | The total number of objects that were served for a particular type of object (`entity`) by a [published OData/GraphQL service](/refguide/published-odata-services/). | -| **mx.odata.publish.created** | counter | `entity` | The total number of objects of a certain entity type (`entity`) that were created due to client requests to a [published OData service](/refguide/published-odata-services/). | -| **mx.odata.publish.updated** | counter | `entity` | The total number of objects of a certain entity type (`entity`) that were updated due to client requests to a [published OData service](/refguide/published-odata-services/). | -| **mx.odata.publish.deleted** | counter | `entity` | The total number of objects of a certain entity type (`entity`) that were deleted due to client requests to a [published OData service](/refguide/published-odata-services/). | -| **mx.odata.retrieve** | counter | `entity` | The total number of objects of a certain entity type (`entity`) that were retrieved from an [OData service](/refguide/consumed-odata-service/). | +| **mx.odata.consume.created** | counter | `entity` | The total number of objects of a certain entity type (`entity`) that were created using the [Send External Object activity](/refguide10/send-external-object/). | +| **mx.odata.consume.updated** | counter | `entity` | The total number of objects of a certain entity type (`entity`) that were updated using the [Send External Object activity](/refguide10/send-external-object/). | +| **mx.odata.consume.deleted** | counter | `entity` | The total number of objects of a certain entity type (`entity`) that were created using the [Delete External Object activity](/refguide10/delete-external-object/). | +| **mx.odata.publish.objects** | counter | `entity` | The total number of objects that were served for a particular type of object (`entity`) by a [published OData/GraphQL service](/refguide10/published-odata-services/). | +| **mx.odata.publish.created** | counter | `entity` | The total number of objects of a certain entity type (`entity`) that were created due to client requests to a [published OData service](/refguide10/published-odata-services/). | +| **mx.odata.publish.updated** | counter | `entity` | The total number of objects of a certain entity type (`entity`) that were updated due to client requests to a [published OData service](/refguide10/published-odata-services/). | +| **mx.odata.publish.deleted** | counter | `entity` | The total number of objects of a certain entity type (`entity`) that were deleted due to client requests to a [published OData service](/refguide10/published-odata-services/). | +| **mx.odata.retrieve** | counter | `entity` | The total number of objects of a certain entity type (`entity`) that were retrieved from an [OData service](/refguide10/consumed-odata-service/). | {{% alert color="info" %}} Note that the actual name may vary slightly depending on the back end (for example, Prometheus replaces dots by underscores). diff --git a/content/en/docs/refguide10/runtime/minimize-number.md b/content/en/docs/refguide10/runtime/minimize-number.md index 66106dfe4be..8c1d41e1096 100644 --- a/content/en/docs/refguide10/runtime/minimize-number.md +++ b/content/en/docs/refguide10/runtime/minimize-number.md @@ -1,7 +1,7 @@ --- title: "Minimizing the Number of In-Use Objects in Your Session" linktitle: "Minimizing Objects in Session" -url: /refguide/minimize-number/ +url: /refguide10/minimize-number/ weight: 60 description: "Describes various ways to reduce the number of in-use objects." --- @@ -10,7 +10,7 @@ description: "Describes various ways to reduce the number of in-use objects." Mendix has a completely stateless architecture. All the application state that was kept in the Mendix Runtime in earlier versions is now kept by the Mendix Client. -The Mendix Client is a part of a Mendix application that runs on the end-user's device (a browser for a web app, and a mobile device for a native app). It handles the interface between the end-user and the app. In most cases, it interacts with the Runtime Server to get or update shared data, or perform additional application logic. You can also run Mendix locally for testing. For more information on what the Mendix Client means for your apps, see the [Description](/refguide/mendix-client/#description) section of the *Mendix Client Reference Guide*. +The Mendix Client is a part of a Mendix application that runs on the end-user's device (a browser for a web app, and a mobile device for a native app). It handles the interface between the end-user and the app. In most cases, it interacts with the Runtime Server to get or update shared data, or perform additional application logic. You can also run Mendix locally for testing. For more information on what the Mendix Client means for your apps, see the [Description](/refguide10/mendix-client/#description) section of the *Mendix Client Reference Guide*. By *state* we mean non-persistable entities (NPEs) and persistable entities that have not yet been committed to the database. diff --git a/content/en/docs/refguide10/runtime/monitoring-client-state.md b/content/en/docs/refguide10/runtime/monitoring-client-state.md index d4e31f6ec27..61d0e720802 100644 --- a/content/en/docs/refguide10/runtime/monitoring-client-state.md +++ b/content/en/docs/refguide10/runtime/monitoring-client-state.md @@ -1,6 +1,6 @@ --- title: "Monitoring Client State" -url: /refguide/monitoring-client-state/ +url: /refguide10/monitoring-client-state/ description: "Describes the supported client state monitoring actions." --- @@ -11,7 +11,7 @@ The state is in the client (web browser). This allows the server to be scaled to To do this, use the Ctrl + Alt + G key combination to dump the state into the browser console. The state is displayed in a JSON object and is grouped by entity type. If the entity is not-persistable, this is indicated with the suffix `[NPE]`. {{% alert color="info" %}} -The Ctrl + Alt + G key combination works in all browsers except Mozilla Firefox in [Parallels](/refguide/using-mendix-studio-pro-on-a-mac/). +The Ctrl + Alt + G key combination works in all browsers except Mozilla Firefox in [Parallels](/refguide10/using-mendix-studio-pro-on-a-mac/). {{% /alert %}} ## Details diff --git a/content/en/docs/refguide10/runtime/monitoring-mendix-runtime.md b/content/en/docs/refguide10/runtime/monitoring-mendix-runtime.md index 01c3f6be0ad..ad0e59a0462 100644 --- a/content/en/docs/refguide10/runtime/monitoring-mendix-runtime.md +++ b/content/en/docs/refguide10/runtime/monitoring-mendix-runtime.md @@ -1,6 +1,6 @@ --- title: "Monitoring Mendix Runtime" -url: /refguide/monitoring-mendix-runtime/ +url: /refguide10/monitoring-mendix-runtime/ description: "Describes the supported Mendix Runtime monitoring actions." #The anchor request-handlers below is mapped, so it should not be removed or changed. --- @@ -496,7 +496,7 @@ This information can be used to track what state the Mendix Runtime is in when t ### Return Values -In Mendix Studio Pro, a [health check microflow](/refguide/app-settings/) can be configured. This microflow can report on the functional status of the application; does the general functionality of the application work, and are the necessary remote services available? +In Mendix Studio Pro, a [health check microflow](/refguide10/app-settings/) can be configured. This microflow can report on the functional status of the application; does the general functionality of the application work, and are the necessary remote services available? If a health check microflow has been configured, this request will report on the current health status. The "health" value can be one of "healthy", "sick", or "unknown" (when no health microflow was configured). For the value "sick," the "diagnosis" value will give the reason the application is not healthy. This reason is the return value of the health check microflow. diff --git a/content/en/docs/refguide10/runtime/objects-and-caching.md b/content/en/docs/refguide10/runtime/objects-and-caching.md index 147f522a018..56b7b80a1ee 100644 --- a/content/en/docs/refguide10/runtime/objects-and-caching.md +++ b/content/en/docs/refguide10/runtime/objects-and-caching.md @@ -1,6 +1,6 @@ --- title: "Objects and Caching" -url: /refguide/objects-and-caching/ +url: /refguide10/objects-and-caching/ description: "Describes how objects interact with each other within a runtime request." --- diff --git a/content/en/docs/refguide10/runtime/request-handlers.md b/content/en/docs/refguide10/runtime/request-handlers.md index 488761c1898..63a8a57c223 100644 --- a/content/en/docs/refguide10/runtime/request-handlers.md +++ b/content/en/docs/refguide10/runtime/request-handlers.md @@ -1,6 +1,6 @@ --- title: "Request Handlers" -url: /refguide/request-handlers/ +url: /refguide10/request-handlers/ description: "Describes the various request handlers that are available in the runtime." weight: 45 --- @@ -16,10 +16,10 @@ The following standard request handlers are used: | Name | Endpoint | Description | | ---- | -------- | ----------- | | Resources | `/` | Serves static files, such as the `index.html`. | -| XAS | `/xas` | Handles the client/runtime communication. See [Communication Patterns in the Mendix Runtime](/refguide/communication-patterns/) for more information. | +| XAS | `/xas` | Handles the client/runtime communication. See [Communication Patterns in the Mendix Runtime](/refguide10/communication-patterns/) for more information. | | File | `/file` | Handles file uploads and downloads from the Mendix client. | -| Page/Microflow URLs | `/p` (default) | Handles opening pages and executing microflows that have a URL configured. The endpoint can be configured in the [app settings](/refguide/app-settings/#url-prefix). | -| PWA Manifest | `/manifest.webmanifest` | Serves the manifest file that is required for [PWA applications](/refguide/mobile/introduction-to-mobile-technologies/progressive-web-app/). | +| Page/Microflow URLs | `/p` (default) | Handles opening pages and executing microflows that have a URL configured. The endpoint can be configured in the [app settings](/refguide10/app-settings/#url-prefix). | +| PWA Manifest | `/manifest.webmanifest` | Serves the manifest file that is required for [PWA applications](/refguide10/mobile/introduction-to-mobile-technologies/progressive-web-app/). | | Mx Dev Tools | `/mxdevtools` | Websocket endpoint that handles client logs and nanoflow debugging. Only enabled during development. | ## Custom Request Handlers diff --git a/content/en/docs/refguide10/runtime/runtime-deployment.md b/content/en/docs/refguide10/runtime/runtime-deployment.md index 21e4be0c583..7d738aa6624 100644 --- a/content/en/docs/refguide10/runtime/runtime-deployment.md +++ b/content/en/docs/refguide10/runtime/runtime-deployment.md @@ -1,6 +1,6 @@ --- title: "Runtime Deployment" -url: /refguide/runtime-deployment/ +url: /refguide10/runtime-deployment/ description: "Describes how the Mendix Runtime is deployed." weight: 30 --- @@ -67,4 +67,4 @@ It starts the Runtime Server by starting a Java RE and pointing it at the releva ### Runtime Server -This is the interpreter which runs the app. For more information see [Runtime Server](/refguide/runtime-server/). +This is the interpreter which runs the app. For more information see [Runtime Server](/refguide10/runtime-server/). diff --git a/content/en/docs/refguide10/runtime/runtime-java/_index.md b/content/en/docs/refguide10/runtime/runtime-java/_index.md index 45ac862e954..917d6695a8f 100644 --- a/content/en/docs/refguide10/runtime/runtime-java/_index.md +++ b/content/en/docs/refguide10/runtime/runtime-java/_index.md @@ -1,6 +1,6 @@ --- title: "Mendix Runtime and Java" -url: /refguide/runtime-java/ +url: /refguide10/runtime-java/ description: "Explains some of the basic concepts of Java in Mendix." --- @@ -66,6 +66,6 @@ The green part (apps) is basically the JVM in which the Mendix application is ru ## Read More -* [Non-Persistable Objects and Garbage Collecting](/refguide/transient-objects-garbage-collecting/) -* [Java Memory Usage](/refguide/java-memory-usage/) -* [Common Runtime and Java Errors](/refguide/runtime-java-errors/) +* [Non-Persistable Objects and Garbage Collecting](/refguide10/transient-objects-garbage-collecting/) +* [Java Memory Usage](/refguide10/java-memory-usage/) +* [Common Runtime and Java Errors](/refguide10/runtime-java-errors/) diff --git a/content/en/docs/refguide10/runtime/runtime-java/java-memory-usage.md b/content/en/docs/refguide10/runtime/runtime-java/java-memory-usage.md index f213629fc42..4980715ddac 100644 --- a/content/en/docs/refguide10/runtime/runtime-java/java-memory-usage.md +++ b/content/en/docs/refguide10/runtime/runtime-java/java-memory-usage.md @@ -1,6 +1,6 @@ --- title: "Java Memory Usage" -url: /refguide/java-memory-usage/ +url: /refguide10/java-memory-usage/ weight: 2 --- diff --git a/content/en/docs/refguide10/runtime/runtime-java/runtime-java-errors.md b/content/en/docs/refguide10/runtime/runtime-java/runtime-java-errors.md index 77806ecaba2..62b153fb401 100644 --- a/content/en/docs/refguide10/runtime/runtime-java/runtime-java-errors.md +++ b/content/en/docs/refguide10/runtime/runtime-java/runtime-java-errors.md @@ -1,6 +1,6 @@ --- title: "Common Runtime and Java Errors" -url: /refguide/runtime-java-errors/ +url: /refguide10/runtime-java-errors/ weight: 3 --- diff --git a/content/en/docs/refguide10/runtime/runtime-java/transient-objects-garbage-collecting.md b/content/en/docs/refguide10/runtime/runtime-java/transient-objects-garbage-collecting.md index ed3da9a4e14..99f811bd399 100644 --- a/content/en/docs/refguide10/runtime/runtime-java/transient-objects-garbage-collecting.md +++ b/content/en/docs/refguide10/runtime/runtime-java/transient-objects-garbage-collecting.md @@ -1,6 +1,6 @@ --- title: "Non-Persistable Objects and Garbage Collecting" -url: /refguide/transient-objects-garbage-collecting/ +url: /refguide10/transient-objects-garbage-collecting/ weight: 1 description: "This page will explain the lifecycle of both persistable and non-persistable objects, and how they flow through the platform memory." --- @@ -15,7 +15,7 @@ This page explains the lifecycle of both persistable and non-persistable objects ## Behavior -Non-persistable objects in Mendix are not kept in the [Runtime Server](/refguide/runtime-server/), but maintained in the [Mendix Client](/refguide/mendix-client/). This means there is no server-side garbage collection. This simplifies the handling of objects on the server side because an object will not be garbage collected while it exists on the server. +Non-persistable objects in Mendix are not kept in the [Runtime Server](/refguide10/runtime-server/), but maintained in the [Mendix Client](/refguide10/mendix-client/). This means there is no server-side garbage collection. This simplifies the handling of objects on the server side because an object will not be garbage collected while it exists on the server. Objects will be returned to the client together with the response to a request. Objects created outside the context of a request (like Scheduled Event execution) will automatically be discarded when the scheduled event has finished. @@ -73,7 +73,7 @@ WARNING: Request state size of 551 objects exceeds the threshold of 500 objects. * AnotherModule.SomeEntity: 130 objects ``` -This threshold can be configured with the custom setting `com.mendix.webui.StateSizeWarningThreshold`. See [com.mendix.webui.StateSizeWarningThreshold](/refguide/custom-settings/#commendixwebuiStateSizeWarningThreshold) in *Runtime Customization* for more information. +This threshold can be configured with the custom setting `com.mendix.webui.StateSizeWarningThreshold`. See [com.mendix.webui.StateSizeWarningThreshold](/refguide10/custom-settings/#commendixwebuiStateSizeWarningThreshold) in *Runtime Customization* for more information. #### Choosing a Correct Threshold Level @@ -96,4 +96,4 @@ For every request to the Mendix Runtime — be it from the client or via web ser ## Read More * Mendix blog [The art of state, Part 1: Introduction to the client state](https://www.mendix.com/blog/the-art-of-state-part-1-introduction-to-the-client-state/) -* [Java Memory Usage](/refguide/java-memory-usage/) +* [Java Memory Usage](/refguide10/java-memory-usage/) diff --git a/content/en/docs/refguide10/runtime/runtime-server.md b/content/en/docs/refguide10/runtime/runtime-server.md index 5f3b42016b6..15674b26eb7 100644 --- a/content/en/docs/refguide10/runtime/runtime-server.md +++ b/content/en/docs/refguide10/runtime/runtime-server.md @@ -1,6 +1,6 @@ --- title: "Runtime Server" -url: /refguide/runtime-server/ +url: /refguide10/runtime-server/ description: "Describes the Runtime Server and how it functions." weight: 10 --- @@ -13,7 +13,7 @@ This description of the Runtime Server is based on an app running in the cloud. ## Description -The Runtime Server is [deployed](/refguide/runtime-deployment/) and waits for requests from the Mendix Client or a call from another app or service. It processes the request and returns the requested data, plus any additional state information where appropriate; for more information, see [Communication Patterns in the Mendix Runtime](/refguide/communication-patterns/). The Runtime Server itself is stateless, which allows it to be efficiently scaled to multiple instances. +The Runtime Server is [deployed](/refguide10/runtime-deployment/) and waits for requests from the Mendix Client or a call from another app or service. It processes the request and returns the requested data, plus any additional state information where appropriate; for more information, see [Communication Patterns in the Mendix Runtime](/refguide10/communication-patterns/). The Runtime Server itself is stateless, which allows it to be efficiently scaled to multiple instances. Below is a chart showing the components of the Runtime Server. Each of the components is described below the chart. @@ -110,6 +110,6 @@ This decodes HTTPS requests from Mendix Clients or other services, and passes th This is the web browser (for example, Google Chrome) or mobile device (for example, an iPhone) which allows the user to interact with the app. It typically has a screen, pointer device, and input device to allow users to use the app. -The Runtime Server communicates with the Mendix Client using a number of [request handlers](/refguide/request-handlers/) called over a private API. One of these, for example, is called xas. +The Runtime Server communicates with the Mendix Client using a number of [request handlers](/refguide10/request-handlers/) called over a private API. One of these, for example, is called xas. -For a description of the Mendix Client, see [Mendix Client](/refguide/mendix-client/). +For a description of the Mendix Client, see [Mendix Client](/refguide10/mendix-client/). diff --git a/content/en/docs/refguide10/runtime/session-management.md b/content/en/docs/refguide10/runtime/session-management.md index 5dc6227ee72..9f74c25f5d7 100644 --- a/content/en/docs/refguide10/runtime/session-management.md +++ b/content/en/docs/refguide10/runtime/session-management.md @@ -1,13 +1,13 @@ --- title: "Session Management" -url: /refguide/session-management/ +url: /refguide10/session-management/ description: "Describes how sessions are established and managed." weight: 35 --- ## Introduction -When an end-user signs in to an application, the Mendix Runtime establishes a session that persists as long as the end-user remains active within the application. The session expires after a certain amount of inactivity, determined by the time elapsed since the last runtime request and the [session timeout](/refguide/custom-settings/#SessionTimeout). +When an end-user signs in to an application, the Mendix Runtime establishes a session that persists as long as the end-user remains active within the application. The session expires after a certain amount of inactivity, determined by the time elapsed since the last runtime request and the [session timeout](/refguide10/custom-settings/#SessionTimeout). Mendix versions 10.9.0 and above can use authentication tokens to keep a session active while users are not actively working in the app. For offline-first apps, this replaces earlier approaches for long-lived sessions, improving security. @@ -15,16 +15,16 @@ This approach provides a more unified solution for session management, allowing If you create a new app in Mendix version 10.9.0 or above, session management will work as described below. -If you are using an app created in a version below 10.9.0, then long-lived sessions will be used for offline-first apps. See the [Sessions](/refguide/mobile/introduction-to-mobile-technologies/progressive-web-app/#sessions) section of *Progressive Web App* for more information. +If you are using an app created in a version below 10.9.0, then long-lived sessions will be used for offline-first apps. See the [Sessions](/refguide10/mobile/introduction-to-mobile-technologies/progressive-web-app/#sessions) section of *Progressive Web App* for more information. -Online apps in Mendix versions below 10.9.0 have a different approach, using the [EnableKeepAlive](/refguide/tricky-custom-runtime-settings/#session-duration) setting to send keep alive requests from the client. +Online apps in Mendix versions below 10.9.0 have a different approach, using the [EnableKeepAlive](/refguide10/tricky-custom-runtime-settings/#session-duration) setting to send keep alive requests from the client. ## Authentication Token Authentication tokens allow users to stay logged in for long periods of time. They store the credentials of the user on the user's device and use that to automatically create a new session when the previous session is expired. They are enabled by default for offline-first applications. {{% alert color="warning" %}} -Authentication tokens cannot be used with a login processing relying on `login.html`. To make use of authentication tokens, [create a modeled sign-in page](/refguide/mobile/using-mobile-capabilities/auth-users/#model-the-sign-in-page) that uses the Sign in Nanoflow action or the `login2` client API. +Authentication tokens cannot be used with a login processing relying on `login.html`. To make use of authentication tokens, [create a modeled sign-in page](/refguide10/mobile/using-mobile-capabilities/auth-users/#model-the-sign-in-page) that uses the Sign in Nanoflow action or the `login2` client API. {{% /alert %}} ### Authentication Token Generation @@ -50,7 +50,7 @@ Follow the links below to find the `login2` API specifications for the following ### Authentication Token Expiry -There is a custom runtime setting, [`com.mendix.webui.HybridAppLoginTimeOut`](/refguide/custom-settings/#commendixwebuiHybridAppLoginTimeOut) that determines how long the authentication token is valid for. If no value is set, the token remains valid for one year. +There is a custom runtime setting, [`com.mendix.webui.HybridAppLoginTimeOut`](/refguide10/custom-settings/#commendixwebuiHybridAppLoginTimeOut) that determines how long the authentication token is valid for. If no value is set, the token remains valid for one year. ## Application Behavior @@ -74,7 +74,7 @@ Below Mendix version 10.9.0, there is no support for authentication tokens. By default, authentication tokens will not be used in online Mendix apps version 10.9.0 and above. However, you can use them to remember the end-user by writing your own flow using the new API, `login2`, and setting the `useAuthToken` parameter to `true`. -Online apps still utilize the [EnableKeepAlive](/refguide/tricky-custom-runtime-settings/#session-duration) setting to maintain uncommitted data which changes during the session. If that setting is disabled, in Mendix apps version 10.9.0 and above where `useAuthToken` is set to `true`, uncommitted changes will be lost if an action is performed after the session expires, which occurs after the [SessionTimeout](https://github.com/refguide/custom-settings/#SessionTimeout). In this case, the authentication token is used to reinitialize the session to keep user signed in, after which the application is reloaded. +Online apps still utilize the [EnableKeepAlive](/refguide10/tricky-custom-runtime-settings/#session-duration) setting to maintain uncommitted data which changes during the session. If that setting is disabled, in Mendix apps version 10.9.0 and above where `useAuthToken` is set to `true`, uncommitted changes will be lost if an action is performed after the session expires, which occurs after the [SessionTimeout](https://github.com/refguide10/custom-settings/#SessionTimeout). In this case, the authentication token is used to reinitialize the session to keep user signed in, after which the application is reloaded. ### Client-Runtime Session Management Flow @@ -93,8 +93,8 @@ Sessions are deleted under two circumstances: * When there is a database upgrade on application startup ‒ for example if there is a model change or if the database is new. * During periodic cleanup of expired sessions. - You can configure how often expired sessions are cleaned up using the [ClusterManagerActionInterval](/refguide/custom-settings/#ClusterManagerActionInterval) runtime setting. + You can configure how often expired sessions are cleaned up using the [ClusterManagerActionInterval](/refguide10/custom-settings/#ClusterManagerActionInterval) runtime setting. - You can configure when a session is considered expired using the [SessionTimeout](/refguide/custom-settings/#SessionTimeout) runtime setting. + You can configure when a session is considered expired using the [SessionTimeout](/refguide10/custom-settings/#SessionTimeout) runtime setting. When an anonymous session is deleted the associated anonymous user is deleted as well. diff --git a/content/en/docs/refguide10/runtime/tracing-in-runtime.md b/content/en/docs/refguide10/runtime/tracing-in-runtime.md index e537796977c..4dc131eaa0e 100644 --- a/content/en/docs/refguide10/runtime/tracing-in-runtime.md +++ b/content/en/docs/refguide10/runtime/tracing-in-runtime.md @@ -1,6 +1,6 @@ --- title: "Tracing" -url: /refguide/tracing-in-runtime/ +url: /refguide10/tracing-in-runtime/ beta: true description: "Describes how to setup and use tracing in the Mendix Runtime." --- @@ -34,7 +34,7 @@ Since Mendix 10.19.0, In Mendix 10.19 and above, tracing configuration is handled through the [OpenTelemetry Java Agent](https://opentelemetry.io/docs/zero-code/java/agent/). Use the following steps to set up a minimal tracing configuration: 1. Download [opentelemetry-javaagent.jar](https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases/latest/download/opentelemetry-javaagent.jar) from the [OpenTelemetry Java Instrumentation release page](https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases). -1. In the [Server settings](/refguide/configuration/#server) of Studio Pro, locate the field **Extra JVM parameters** and add the following: +1. In the [Server settings](/refguide10/configuration/#server) of Studio Pro, locate the field **Extra JVM parameters** and add the following: ``` -javaagent:{/path/to/opentelemetry-javaagent.jar} -Dotel.instrumentation.common.default-enabled=false -Dotel.instrumentation.opentelemetry-api.enabled=true -Dotel.service.name="{My App}" @@ -49,7 +49,7 @@ This will enable Mendix related tracing, while silencing the tracing of internal In Mendix 10.18, the minimal configuration to enable tracing is: -* Set the `OpenTelemetry.Enabled` [runtime setting](/refguide/custom-settings/) to `true` +* Set the `OpenTelemetry.Enabled` [runtime setting](/refguide10/custom-settings/) to `true` * Set the `otel.service.name` runtime setting to a service name This will enable tracing. The traces will be sent to http://localhost:4317 using the `grpc` protocol by default. diff --git a/content/en/docs/refguide10/runtime/websockets-in-runtime.md b/content/en/docs/refguide10/runtime/websockets-in-runtime.md index 45b6b06d4cb..be1a970d92c 100644 --- a/content/en/docs/refguide10/runtime/websockets-in-runtime.md +++ b/content/en/docs/refguide10/runtime/websockets-in-runtime.md @@ -1,6 +1,6 @@ --- title: "WebSockets" -url: /refguide/websockets-in-runtime/ +url: /refguide10/websockets-in-runtime/ description: "Describes how to use WebSockets in the Mendix Runtime." --- diff --git a/content/en/docs/refguide10/version-control/_index.md b/content/en/docs/refguide10/version-control/_index.md index 6368348ef23..ff58e41f4bf 100644 --- a/content/en/docs/refguide10/version-control/_index.md +++ b/content/en/docs/refguide10/version-control/_index.md @@ -1,6 +1,6 @@ --- title: "Version Control" -url: /refguide/version-control/ +url: /refguide10/version-control/ description: "Gives definitions and explains the version control process." weight: 30 no_list: false @@ -26,7 +26,7 @@ Version control in Mendix is built on top [Git](https://git-scm.com). The concep To commit to the Team Server you will need to have a role in the app which allows you to edit the app. For more information, see the [Team Roles](/developerportal/general/app-roles/#team-roles) section *App Roles*. -For more information on the Team Server and technologies involved, see [Version Control FAQ](/refguide/version-control-faq/). +For more information on the Team Server and technologies involved, see [Version Control FAQ](/refguide10/version-control-faq/). ### Repository {#repository} @@ -96,10 +96,10 @@ The Repository Service manages communication between Studio Pro and other suppor ### Mendix MPR Storage {#mpr-format} -An app modeled in Mendix is stored in an *.mpr* file, a database that contains data on all documents, such as microflows, workflows, pages. Studio Pro or the [mx Command-Line Tool](/refguide/mx-command-line-tool/) is required to inspect changes in the *.mpr*. +An app modeled in Mendix is stored in an *.mpr* file, a database that contains data on all documents, such as microflows, workflows, pages. Studio Pro or the [mx Command-Line Tool](/refguide10/mx-command-line-tool/) is required to inspect changes in the *.mpr*. {{% alert color="info" %}} -Studio Pro 10.18 introduced a public beta to convert *.mpr* to a new [MPRv2 storage format](/refguide/troubleshoot-repository-size/#mpr-format) to slow down the repository growth and to prevent degrading performance. +Studio Pro 10.18 introduced a public beta to convert *.mpr* to a new [MPRv2 storage format](/refguide10/troubleshoot-repository-size/#mpr-format) to slow down the repository growth and to prevent degrading performance. {{% /alert %}} {{% alert color="warning" %}} @@ -110,7 +110,7 @@ Manually modifying files belonging to the *.mpr* storage format such as the *.mp With more complex apps, you may want to manage your code in a more sophisticated way. For example, you may want to develop new features separately from the currently deployed version of your app so that you can fix any bugs without having to release all the new features. This is done using [Branch Lines](#branch-line). -If you are already familiar with using branches, you can check the [Branching Best-Practices](/refguide/using-version-control-in-studio-pro/#branching-best-practices) section of *Using Version Control in Studio Pro* for advice on how to use branches when developing your Mendix app. +If you are already familiar with using branches, you can check the [Branching Best-Practices](/refguide10/using-version-control-in-studio-pro/#branching-best-practices) section of *Using Version Control in Studio Pro* for advice on how to use branches when developing your Mendix app. ### Main Line diff --git a/content/en/docs/refguide10/version-control/on-premises-git.md b/content/en/docs/refguide10/version-control/on-premises-git.md index ca61700ac52..21cd71e97f0 100644 --- a/content/en/docs/refguide10/version-control/on-premises-git.md +++ b/content/en/docs/refguide10/version-control/on-premises-git.md @@ -1,7 +1,7 @@ --- title: "Working with Git On-Premises Version Control Server" linktitle: "Git On-Premises Version Control Server" -url: /refguide/on-premises-git/ +url: /refguide10/on-premises-git/ weight: 60 description: "Introduces how to work with Git on-premises version control server." aliases: @@ -10,9 +10,9 @@ aliases: ## Introduction {#intro} -When developing Mendix applications, changes to these applications are stored in a version control system. This system is called [Team Server](/developerportal/general/team-server/) and is part of the Mendix Platform. This means that the application's files are stored in the Mendix online environment. For more information, see the [Version Control Reference Guide](/refguide/version-control/). +When developing Mendix applications, changes to these applications are stored in a version control system. This system is called [Team Server](/developerportal/general/team-server/) and is part of the Mendix Platform. This means that the application's files are stored in the Mendix online environment. For more information, see the [Version Control Reference Guide](/refguide10/version-control/). -While using Team Server is the recommended for most Mendix developers, you may prefer to store your application's files in a system controlled by your own organization. For version control, Mendix uses [Git](/refguide/on-premises-git/). This document describes how to work with Git version control system. +While using Team Server is the recommended for most Mendix developers, you may prefer to store your application's files in a system controlled by your own organization. For version control, Mendix uses [Git](/refguide10/on-premises-git/). This document describes how to work with Git version control system. {{% alert color="info" %}} This document does not describe how to set up a Git server from scratch; typically, this will be taken care of by the IT department of your organization. @@ -53,7 +53,7 @@ Currently Mendix keeps PAT using operating system supported solutions: Studio Pro can use Windows Authentication for Git service providers that support it. When you use Windows Authentication, you do not need to provide a password. -You can enable Windows Authentication in [Git Preferences settings](/refguide/preferences-dialog/#enable-windows-authentication). +You can enable Windows Authentication in [Git Preferences settings](/refguide10/preferences-dialog/#enable-windows-authentication). ## Setting Up the Environment @@ -62,7 +62,7 @@ This section describes how to configure a Git versioned app in Studio Pro. You n ### Preparing Your Repository {#preparing-your-repo} -Mendix supports multiple Git service providers that are listed below. For more information on a specific provider and requirements for it, see [System Requirements](/refguide/system-requirements/). +Mendix supports multiple Git service providers that are listed below. For more information on a specific provider and requirements for it, see [System Requirements](/refguide10/system-requirements/). Studio Pro is able to use the following Git server providers: @@ -226,6 +226,6 @@ Note that your previous app still exists, **Studio Pro** will simply make an unv ## Read More -* [Version Control Reference Guide](/refguide/version-control/) +* [Version Control Reference Guide](/refguide10/version-control/) * [Team Server](/developerportal/general/team-server/) -* [Upload to Version Control Server Reference Guide](/refguide/upload-to-version-control-dialog/) +* [Upload to Version Control Server Reference Guide](/refguide10/upload-to-version-control-dialog/) diff --git a/content/en/docs/refguide10/version-control/using-version-control-in-studio-pro/_index.md b/content/en/docs/refguide10/version-control/using-version-control-in-studio-pro/_index.md index 1a24155c1ea..9ac89eb044d 100644 --- a/content/en/docs/refguide10/version-control/using-version-control-in-studio-pro/_index.md +++ b/content/en/docs/refguide10/version-control/using-version-control-in-studio-pro/_index.md @@ -1,6 +1,6 @@ --- title: "Using Version Control in Studio Pro" -url: /refguide/using-version-control-in-studio-pro/ +url: /refguide10/using-version-control-in-studio-pro/ linktitle: "Using Version Control" weight: 10 description: "Describes how to work with version control and how to resolve some issues which may arise." @@ -11,7 +11,7 @@ description: "Describes how to work with version control and how to resolve some This document describes how to use version control in Mendix Studio Pro. -For more information on related concepts and the theory behind how version control works in Mendix, see [Version Control](/refguide/version-control/). +For more information on related concepts and the theory behind how version control works in Mendix, see [Version Control](/refguide10/version-control/). ## Starting an App with Version Control @@ -71,7 +71,7 @@ In the **App Explorer**, there is only room for one icon for each item. If an it For example, the microflow **ChangePassword** has been modified. Also a new folder called **Flows** was added and all microflows, including the modified microflow, were moved into this folder. The new folder gets a green icon, and the module containing those changes is depicted with a yellow icon. The microflows which were moved but had not been modified get a blue icon. The modified microflow **ChangePassword** gets a yellow icon. This helps you to quickly see where in the app the changes are. -In the **Changes** pane, you can find more detailed information. There is an entry for each change to an item. If a document is both modified and moved, there are two lines for that document. The pane also shows items that were deleted, something the app explorer cannot do. For more information, see [Changes Pane](/refguide/changes-pane/). +In the **Changes** pane, you can find more detailed information. There is an entry for each change to an item. If a document is both modified and moved, there are two lines for that document. The pane also shows items that were deleted, something the app explorer cannot do. For more information, see [Changes Pane](/refguide10/changes-pane/). {{< figure src="/attachments/refguide10/version-control/using-version-control-in-studio-pro/changes-pane.png" max-width=80% >}} @@ -118,7 +118,7 @@ In general, it is a good idea to commit after implementing one feature or fixing Committing results in a new revision in the repository. You can add the following information in Studio Pro when you perform a commit, and this will be attached to the newly created revision: * A textual message – this should be a summary of the changes you made. -* A list of stories that relate to the commit; for more information, see [Stories Pane](/refguide/stories-pane/). +* A list of stories that relate to the commit; for more information, see [Stories Pane](/refguide10/stories-pane/). {{< figure src="/attachments/refguide10/version-control/using-version-control-in-studio-pro/commit-dialog.png" >}} @@ -143,7 +143,7 @@ A tool you can consider using is TortoiseGitMerge, shipped as part of [TortoiseG Comparing files on disk with the original is currently not supported on macOS. {{% /alert %}} -Committing is only allowed if your working copy is up to date with the repository. If someone else committed a change since the last time you pulled, you will have to pull first (this process is called **Commit and Combine** in the [Commit](/refguide/commit-dialog/#combine) dialog box). This is because the revision you create with the commit should incorporate both your changes and the changes by the other person. Updating will combine the latest changes in the repository with your changes. After reviewing the result and fixing any conflicts, you can commit again. +Committing is only allowed if your working copy is up to date with the repository. If someone else committed a change since the last time you pulled, you will have to pull first (this process is called **Commit and Combine** in the [Commit](/refguide10/commit-dialog/#combine) dialog box). This is because the revision you create with the commit should incorporate both your changes and the changes by the other person. Updating will combine the latest changes in the repository with your changes. After reviewing the result and fixing any conflicts, you can commit again. ### Pushing {#pushing} @@ -157,7 +157,7 @@ To push changes, select **Version Control** > **Push** or simply use the **Commi While you were working on your branch, somebody may have pushed their changes to the same branch on the server already. In this case, pushing is not possible and you will need to take further action first. -In Studio Pro, [automatic fetching](/refguide/auto-fetch/) can be used to discover changes on the server. If at the moment when you click **Commit** Studio Pro knows that there are remote changes, the commit dialog will contain a note about this, and the **Commit and Push** button will be replaced by **Commit and combine**. +In Studio Pro, [automatic fetching](/refguide10/auto-fetch/) can be used to discover changes on the server. If at the moment when you click **Commit** Studio Pro knows that there are remote changes, the commit dialog will contain a note about this, and the **Commit and Push** button will be replaced by **Commit and combine**. {{< figure src="/attachments/refguide10/version-control/using-version-control-in-studio-pro/commit-dialog-incoming.png" >}} @@ -169,7 +169,7 @@ Git prevents you from pushing your changes if it sees your changes and the remot {{< figure src="/attachments/refguide10/version-control/using-version-control-in-studio-pro/server-your-work.png" alt="The local changes consist of commits 1, 3, while the remote server has commits 1, 2, and 4 on the same branch." class="no-border" >}} -There are two ways for Studio Pro to combine the commits: **Rebase** (default) and **Merge**. For more information, see [Combining Changes and Conflict Resolution](/refguide/merge-algorithm/#combine-changes). +There are two ways for Studio Pro to combine the commits: **Rebase** (default) and **Merge**. For more information, see [Combining Changes and Conflict Resolution](/refguide10/merge-algorithm/#combine-changes). ### Pulling @@ -183,7 +183,7 @@ Changes you receive from the remote repository when pulling are combined with th For example, if the last time you pulled you received all changes up to and including revision N, this means that the original for your working copy is revision N. Since you started making changes to your working copy, other people on your team have made another three commits (X, Y, and Z). If you now pull, you will receive those changes and Z will be the new *original* to which your changes are compared. -Usually, combining your changes with the latest revision from the repository is done automatically. For example, one person may add a page while you are changing a microflow. If the changes are too close, however, a conflict can arise. For example, if one of your team has changed the properties of the same data view that you have also changed, you will have to resolve such conflicts before you can commit. For information on how to do this, see [Combining Changes and Conflict Resolution](/refguide/merge-algorithm/). +Usually, combining your changes with the latest revision from the repository is done automatically. For example, one person may add a page while you are changing a microflow. If the changes are too close, however, a conflict can arise. For example, if one of your team has changed the properties of the same data view that you have also changed, you will have to resolve such conflicts before you can commit. For information on how to do this, see [Combining Changes and Conflict Resolution](/refguide10/merge-algorithm/). If your team is committing often, you then should pull often. Frequent pulling has the benefit that you receive fewer changes with each pull so that integrating those changes with your work is easier. @@ -197,7 +197,7 @@ For Git-based applications, revisions are sorted according to the commit history {{% alert color="warning" %}} -The [Name and Email settings](/refguide/preferences-dialog/#name) can be adjusted by the user and are not used for authenticating with the version control server. If you notice a suspicious value in the commit history, it is likely a private email address set through another tool in the global Git configuration, but the user has been authenticated as usual. +The [Name and Email settings](/refguide10/preferences-dialog/#name) can be adjusted by the user and are not used for authenticating with the version control server. If you notice a suspicious value in the commit history, it is likely a private email address set through another tool in the global Git configuration, but the user has been authenticated as usual. {{% /alert %}} @@ -232,8 +232,8 @@ Select the **Version Control** menu > **Revert a Commit...** to revert a commit. {{% alert color="warning" %}} Reverting a commit creates a new commit that undoes the changes introduced by the original commit. This may lead to unexpected results depending on the context of the original commit. -* **Port fix and reverting** – If you used [Port Fix](/refguide/merge-dialog/#port-fix) to apply a commit from another branch to the current branch, and then you revert that commit, the changes from the cherry-pick will not be reapplied when merging the full branch. This happens because the revert commit explicitly negates the cherry-picked changes, and Git recognizes them as already addressed. -* **Merging and reverting** – If you [merged another branch](/refguide/version-control/#merging-branches) into the current branch and then reverted the merge commit, merging the same branch again will not reapply its changes. Git identifies that the merge was undone and prevents those changes from being reapplied. +* **Port fix and reverting** – If you used [Port Fix](/refguide10/merge-dialog/#port-fix) to apply a commit from another branch to the current branch, and then you revert that commit, the changes from the cherry-pick will not be reapplied when merging the full branch. This happens because the revert commit explicitly negates the cherry-picked changes, and Git recognizes them as already addressed. +* **Merging and reverting** – If you [merged another branch](/refguide10/version-control/#merging-branches) into the current branch and then reverted the merge commit, merging the same branch again will not reapply its changes. Git identifies that the merge was undone and prevents those changes from being reapplied. {{% /alert %}} Reverting changes is done with one commit at a time. If you want to revert multiple commits, you can do that by reverting the latest commit, then the previous one, etc, one by one. @@ -250,7 +250,7 @@ Just like with a normal merge, conflicts can occur when reverting a merge. For e If you update/pull your app and the changes cannot be merged automatically, you will receive a message telling you that there are conflicts. A conflict arises when two changes cannot be combined. -For more information, see [Combining Changes and Conflict Resolution](/refguide/merge-algorithm/). +For more information, see [Combining Changes and Conflict Resolution](/refguide10/merge-algorithm/). ## Using Branches @@ -258,7 +258,7 @@ A repository (remote or local) can contain a number of development lines. Each d {{< figure src="/attachments/refguide10/version-control/using-version-control-in-studio-pro/main-branch-line.png" class="no-border" >}} -It is often convenient to have more than one development line. For example, one development line is for fixing bugs in the currently deployed version of your app and another line is where you develop new functionality. If you then find a bug in the deployed version, you can fix it in the corresponding development line irrespective of the state of the development line where new functionality is developed. For more information about branches, see the [Branches](/refguide/version-control/#branches) section in *Version Control*. +It is often convenient to have more than one development line. For example, one development line is for fixing bugs in the currently deployed version of your app and another line is where you develop new functionality. If you then find a bug in the deployed version, you can fix it in the corresponding development line irrespective of the state of the development line where new functionality is developed. For more information about branches, see the [Branches](/refguide10/version-control/#branches) section in *Version Control*. ### Working with Branches in Studio Pro @@ -311,7 +311,7 @@ If you have multiple development lines, you sometimes want to merge changes from Merging is always done while you have a working copy open. The merge will result in extra local changes in that working copy. It is advisable to commit local changes first before merging extra changes into a working copy. Otherwise, the uncommitted local changes and the changes caused by the merge will be combined and it is very hard to untangle them if you are unhappy with the merge. Studio Pro will warn you if you have uncommitted changes. -Select **Version Control** > **Merge Changes Here**, after that you can select **Port fix** or **Merge feature branch** options. For more information on merge settings, see [Merge Dialog](/refguide/merge-dialog/). +Select **Version Control** > **Merge Changes Here**, after that you can select **Port fix** or **Merge feature branch** options. For more information on merge settings, see [Merge Dialog](/refguide10/merge-dialog/). #### Replacing the Main Line with a Branch Line @@ -497,7 +497,7 @@ Studio Pro adds metadata on the Mendix version of your app to each revision when {{% /alert %}} {{% alert color="warning" %}} -Manually modifying files belonging to the [*.mpr* storage format](/refguide/version-control/#mpr-format) such as the *.mpr* file or the *mprcontents* directory (for example, when resolving file conflicts through third-party tooling), will lead to a corrupted state. To recover from a corrupted state a previous commit will need to be restored. +Manually modifying files belonging to the [*.mpr* storage format](/refguide10/version-control/#mpr-format) such as the *.mpr* file or the *mprcontents* directory (for example, when resolving file conflicts through third-party tooling), will lead to a corrupted state. To recover from a corrupted state a previous commit will need to be restored. {{% /alert %}} {{% alert color="warning" %}} diff --git a/content/en/docs/refguide10/version-control/using-version-control-in-studio-pro/auto-fetch.md b/content/en/docs/refguide10/version-control/using-version-control-in-studio-pro/auto-fetch.md index d44a637032e..367b866ab5a 100644 --- a/content/en/docs/refguide10/version-control/using-version-control-in-studio-pro/auto-fetch.md +++ b/content/en/docs/refguide10/version-control/using-version-control-in-studio-pro/auto-fetch.md @@ -1,6 +1,6 @@ --- title: "Automatic Fetching" -url: /refguide/auto-fetch/ +url: /refguide10/auto-fetch/ weight: 20 #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. --- @@ -29,4 +29,4 @@ This indicator shows the following: ## Configuration -You can enable or disable automatic fetching, and configure the fetch interval, on the [Version Control Tab of the Preferences dialog](/refguide/preferences-dialog/#enable-auto-fetch). +You can enable or disable automatic fetching, and configure the fetch interval, on the [Version Control Tab of the Preferences dialog](/refguide10/preferences-dialog/#enable-auto-fetch). diff --git a/content/en/docs/refguide10/version-control/using-version-control-in-studio-pro/clone-type.md b/content/en/docs/refguide10/version-control/using-version-control-in-studio-pro/clone-type.md index f166deb48c9..64bc14a9f5c 100644 --- a/content/en/docs/refguide10/version-control/using-version-control-in-studio-pro/clone-type.md +++ b/content/en/docs/refguide10/version-control/using-version-control-in-studio-pro/clone-type.md @@ -1,6 +1,6 @@ --- title: "Clone Type" -url: /refguide/clone-type/ +url: /refguide10/clone-type/ weight: 40 description: Describes full and partial clone types for Git. --- @@ -19,7 +19,7 @@ Currently, Studio Pro supports two different clones types. The clone type only a By default Mendix advises customers to use a full clone. This trades a slightly longer initial download for a more seamless experience while working. -If you have have accumulated a [large repository](/refguide/troubleshoot-repository-size/) over time, you can use a partial clone to shorten the initial download and therefore speed up development. +If you have have accumulated a [large repository](/refguide10/troubleshoot-repository-size/) over time, you can use a partial clone to shorten the initial download and therefore speed up development. ### Full Clone @@ -28,7 +28,7 @@ A full clone is the default clone type for Git, it downloads a full copy of the There are several advantages to this clone type: * A full copy allows you to do some operations on the command line without contacting the server. However, Git operations like a `detached head` are not supported in Studio Pro, so the benefits are limited. -* Operations like [combining changes](/refguide/new-merge-algorithm/) can be significantly faster when working with a full clone. Even though the latest changes have to be downloaded from the server, your local repository already contains part of it, which saves time. +* Operations like [combining changes](/refguide10/new-merge-algorithm/) can be significantly faster when working with a full clone. Even though the latest changes have to be downloaded from the server, your local repository already contains part of it, which saves time. The disadvantage of this clone type is that downloading a full clone can take significantly longer. A 2GB repository needs to be completely downloaded and unpacked, even though you make limited use of the locally-held full history. @@ -45,11 +45,11 @@ There are several advantages to this clone type: * Cloning goes faster. Only relevant data is downloaded so you can get started very quickly. * Limited disk space usage. Your local repository will be much smaller compared to a full clone. -The disadvantage of this clone type is that you may need an additional download. For example, when [combining changes](/refguide/new-merge-algorithm/) from an older branch, more data will have to be downloaded compared to the full clone. This means it can take slightly longer. The same applies when interacting with the history. +The disadvantage of this clone type is that you may need an additional download. For example, when [combining changes](/refguide10/new-merge-algorithm/) from an older branch, more data will have to be downloaded compared to the full clone. This means it can take slightly longer. The same applies when interacting with the history. ## Preferences -You can change the [clone type](/refguide/preferences-dialog/#clone) for future clone operations, such as downloading an app or checking out another branch of an app you already downloaded. Changing this setting will not affect apps that you have already downloaded. +You can change the [clone type](/refguide10/preferences-dialog/#clone) for future clone operations, such as downloading an app or checking out another branch of an app you already downloaded. Changing this setting will not affect apps that you have already downloaded. ## Converting a Partial Clone to a Full Clone diff --git a/content/en/docs/refguide10/version-control/using-version-control-in-studio-pro/git-storage-optimization-dialog.md b/content/en/docs/refguide10/version-control/using-version-control-in-studio-pro/git-storage-optimization-dialog.md index f847ed604d9..f32e77a3566 100644 --- a/content/en/docs/refguide10/version-control/using-version-control-in-studio-pro/git-storage-optimization-dialog.md +++ b/content/en/docs/refguide10/version-control/using-version-control-in-studio-pro/git-storage-optimization-dialog.md @@ -1,6 +1,6 @@ --- title: "Git Storage Optimization" -url: /refguide/git-storage-optimization-dialog/ +url: /refguide10/git-storage-optimization-dialog/ weight: 30 #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. --- @@ -23,7 +23,7 @@ Make sure that you are not performing any commands through Git command line on t To optimize Git repository storage manually, do the following: -1. Open the **Version Control** menu > **Optimize Repository Storage...**. (For more information on the menu option, see the [Optimize Storage Repository](/refguide/version-control-menu/#optimize-storage) section in Version Control Menu). +1. Open the **Version Control** menu > **Optimize Repository Storage...**. (For more information on the menu option, see the [Optimize Storage Repository](/refguide10/version-control-menu/#optimize-storage) section in Version Control Menu). 2. In the **Optimize Repository Storage** pop-up window, press the **Optimize** button. The optimization process starts. The status of the running process is displayed in the progress bar of the pop-up window and the at the bottom right of Studio Pro. The operation might take some time. You can close the pop-up window and continue working on the app as usual, however, while optimization is in progress, most of version control commands, such as committing and updating, are disabled. @@ -40,7 +40,7 @@ To optimize Git repository storage automatically and regularly, do the following 1. Open the **Edit** menu > **Preferences** > **Version Control** tab. 2. In the **Git** section, toggle the **Enable automatic repository optimization** option. -3. In the **Number of commits**, specify the minimum number of commits that should be reached to start an optimization process in background (for more information, see [Preferences](/refguide/preferences-dialog/).) +3. In the **Number of commits**, specify the minimum number of commits that should be reached to start an optimization process in background (for more information, see [Preferences](/refguide10/preferences-dialog/).) 4. Click **OK**. 5. Studio Pro keeps track of user's activities now, however, reaching or overcoming the limit does not mean the process starts immediately. To trigger the process, either push (**Version Control** > **Push**) or commit (**Version Control** > **Commit** with **Also push changes to the remote server** option on). diff --git a/content/en/docs/refguide10/version-control/using-version-control-in-studio-pro/merge-algorithm.md b/content/en/docs/refguide10/version-control/using-version-control-in-studio-pro/merge-algorithm.md index 74f9220802d..2ae21dc986a 100644 --- a/content/en/docs/refguide10/version-control/using-version-control-in-studio-pro/merge-algorithm.md +++ b/content/en/docs/refguide10/version-control/using-version-control-in-studio-pro/merge-algorithm.md @@ -1,19 +1,19 @@ --- title: "Combining Changes and Conflict Resolution" linktitle: "Combining Changes and Conflict Resolution" -url: /refguide/merge-algorithm/ +url: /refguide10/merge-algorithm/ weight: 10 description: "Describes combining changes with conflict resolution flow." #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. aliases: - - /refguide/new-merge-algorithm - - /refguide/rebase-conflict - - /refguide/rebase + - /refguide10/new-merge-algorithm + - /refguide10/rebase-conflict + - /refguide10/rebase --- ## Introduction -While working on your changes you may find that your local copy of the app model does not have all the changes that other team members have [committed](/refguide/commit-dialog/) to the server (the [Mendix Team Server](/developerportal/general/team-server/), or an [on-premises server](/refguide/on-premises-git/)). In Git terminology this is called being behind. +While working on your changes you may find that your local copy of the app model does not have all the changes that other team members have [committed](/refguide10/commit-dialog/) to the server (the [Mendix Team Server](/developerportal/general/team-server/), or an [on-premises server](/refguide10/on-premises-git/)). In Git terminology this is called being behind. When this happens, Mendix Studio Pro offers two ways to combine your changes with changes from the server: [Rebase](#rebase) and [Merge commit](#merge). @@ -85,7 +85,7 @@ The current situation could be represented as shown below. This section outlines two possible approaches to the [example scenario](#scenario): [Rebase](#rebase) and [Merge commit](#merge). -Every time changes can be combined, for example when pulling changes from the server, you can choose the approach. You can change the default approach for your user account by adjusting the [Preferences](/refguide/preferences-dialog/#git). +Every time changes can be combined, for example when pulling changes from the server, you can choose the approach. You can change the default approach for your user account by adjusting the [Preferences](/refguide10/preferences-dialog/#git). ### Rebase {#rebase} @@ -305,7 +305,7 @@ The **Show file conflicts** button is shown when there are conflicts in files wh When clicked, it opens up a pop-up window with a list of all the files that are affected by the update process, with conflicted ones at the top of the list. -You can also use the [Show Changes on Disk](/refguide/version-control-menu/#show-changes) menu item instead. +You can also use the [Show Changes on Disk](/refguide10/version-control-menu/#show-changes) menu item instead. ### Rebase-Specific Controls @@ -317,7 +317,7 @@ The **Continue** button is visible when there are no more conflicts to resolve b #### Push -The **Push** button is visible after the rebase has finished successfully and your changes are ready to be pushed to the server. Click it to trigger a [push](/refguide/version-control-menu/#push) operation. +The **Push** button is visible after the rebase has finished successfully and your changes are ready to be pushed to the server. Click it to trigger a [push](/refguide10/version-control-menu/#push) operation. #### Examples @@ -347,7 +347,7 @@ Rebase notification bar when whole rebase concluded. The **Commit** button is visible when there are no more conflicts to resolve, and the merge process is finished. -Click it to opens up the [commit dialog](/refguide/commit-dialog/) with a predefined message indicating that this is a merge commit. +Click it to opens up the [commit dialog](/refguide10/commit-dialog/) with a predefined message indicating that this is a merge commit. #### Examples diff --git a/content/en/docs/refguide10/version-control/version-control-faq.md b/content/en/docs/refguide10/version-control/version-control-faq.md index 0028e47931b..009dee09915 100644 --- a/content/en/docs/refguide10/version-control/version-control-faq.md +++ b/content/en/docs/refguide10/version-control/version-control-faq.md @@ -1,6 +1,6 @@ --- title: "Version Control FAQ" -url: /refguide/version-control-faq/ +url: /refguide10/version-control-faq/ weight: 30 description: "Presents and explains several frequently asked questions about version control." --- @@ -23,13 +23,13 @@ Mendix adheres to strict security standards and considers you the sole owner of ## Retrieve and Commit + Push Actions Are Getting Slower -This may be caused by the way the storage format of Git interacts with the way the Mendix model stores changes, which can accumulate substantial disk space over time. Studio Pro periodically optimizes your repository if [automatic repository optimization](/refguide/preferences-dialog/#optimization) is enabled. +This may be caused by the way the storage format of Git interacts with the way the Mendix model stores changes, which can accumulate substantial disk space over time. Studio Pro periodically optimizes your repository if [automatic repository optimization](/refguide10/preferences-dialog/#optimization) is enabled. You can run `git gc` in the command line to manually optimize the repository. `git gc` runs a number of housekeeping tasks, but primarily pack files are created. Pack files store just the changes to the files, which reduces the amount of data which needs to be stored. ## Cloning my Project Takes a Long Time -Cloning or downloading your app consists of several steps. First the required data is downloaded from the server and then a local unpacking process is executed. The duration of the clone process depends on your repository size, internet connection and computer performance. In case cloning is taking a very long time, consider changing the [Clone type](/refguide/clone-type/) or [troubleshoot repository size](/refguide/troubleshoot-repository-size/). +Cloning or downloading your app consists of several steps. First the required data is downloaded from the server and then a local unpacking process is executed. The duration of the clone process depends on your repository size, internet connection and computer performance. In case cloning is taking a very long time, consider changing the [Clone type](/refguide10/clone-type/) or [troubleshoot repository size](/refguide10/troubleshoot-repository-size/). ## Can I Use the Subversion Version of the Team Server? @@ -37,17 +37,17 @@ No, in Mendix 10, we are supporting only Git-versioned apps. You need to migrate ## Can I Use Third-Party Tools to Connect to the Team Server? {#third-party-tools} -Yes, as the Team Server is based on a full implementation of Git. You can directly use third-party tools like GitHub Desktop. For more information on how to set this up, see the [External Tools](/refguide/using-version-control-in-studio-pro/#external-tools) section in *Using Version Control in Studio Pro*. +Yes, as the Team Server is based on a full implementation of Git. You can directly use third-party tools like GitHub Desktop. For more information on how to set this up, see the [External Tools](/refguide10/using-version-control-in-studio-pro/#external-tools) section in *Using Version Control in Studio Pro*. ## Is It Possible to Connect to a Third-Party or On-Premises Version Control Server? Yes, it is possible to connect to a third-party Git version control repository, which is often called BYO-GIT (Bring Your Own Git). -For more information about limitations and the supported Git repositories, see the [Introduction](/refguide/on-premises-git/#intro) and [Preparing Your Repository](/refguide/on-premises-git/#preparing-your-repo) sections in *Working with Git On-Premises Version Control Server*. +For more information about limitations and the supported Git repositories, see the [Introduction](/refguide10/on-premises-git/#intro) and [Preparing Your Repository](/refguide10/on-premises-git/#preparing-your-repo) sections in *Working with Git On-Premises Version Control Server*. ## Does Mendix 10 Support Pull Requests and Peer Reviews? -Studio Pro supports peer review and merging through the version control functionalities available in Studio Pro. For more information on how to set this process up, see [Using Version Control in Studio Pro](/refguide/using-version-control-in-studio-pro/). +Studio Pro supports peer review and merging through the version control functionalities available in Studio Pro. For more information on how to set this process up, see [Using Version Control in Studio Pro](/refguide10/using-version-control-in-studio-pro/). Currently, Mendix does not support pull or merge requests through the Team Server for Mendix. When using third-party tools it is possible to review the following code extensions: * code for Java and JavaScript actions diff --git a/content/en/docs/refguide10/version-control/version-control-troubleshooting/_index.md b/content/en/docs/refguide10/version-control/version-control-troubleshooting/_index.md index 38d5c69ab23..8856fb439ea 100644 --- a/content/en/docs/refguide10/version-control/version-control-troubleshooting/_index.md +++ b/content/en/docs/refguide10/version-control/version-control-troubleshooting/_index.md @@ -1,6 +1,6 @@ --- title: "Troubleshooting Version Control" -url: /refguide/troubleshoot-version-control-issues/ +url: /refguide10/troubleshoot-version-control-issues/ linktitle: "Troubleshoot Version Control" weight: 20 description: "Presents a list of problems and fixes for version control issues." @@ -16,8 +16,8 @@ Mendix Studio Pro contains a version control system that supports collaborating For more information and general help on version control, see the following documents: -* [Version Control](/refguide/version-control/) -* [Using Version Control in Studio Pro](/refguide/using-version-control-in-studio-pro/) +* [Version Control](/refguide10/version-control/) +* [Using Version Control in Studio Pro](/refguide10/using-version-control-in-studio-pro/) ## Troubleshooting {#troubleshooting} @@ -148,7 +148,7 @@ This will recreate the metadata and you should now be able to create a deploymen ### Installed Git Version Does Not Meet Studio Pro's Requirement -Studio Pro requires a specific minimum version of Git (for more information, see [System Requirements](/refguide/system-requirements/)). If this version is not installed on your device, Studio Pro will show a message during a start-up indicating that certain features will not be available. +Studio Pro requires a specific minimum version of Git (for more information, see [System Requirements](/refguide10/system-requirements/)). If this version is not installed on your device, Studio Pro will show a message during a start-up indicating that certain features will not be available. You can download and install a recent version of Git from [here](https://git-scm.com/downloads). diff --git a/content/en/docs/refguide10/version-control/version-control-troubleshooting/repository-size.md b/content/en/docs/refguide10/version-control/version-control-troubleshooting/repository-size.md index 4f932d57005..cf781f6a7f8 100644 --- a/content/en/docs/refguide10/version-control/version-control-troubleshooting/repository-size.md +++ b/content/en/docs/refguide10/version-control/version-control-troubleshooting/repository-size.md @@ -1,6 +1,6 @@ --- title: "Troubleshooting Repository Size" -url: /refguide/troubleshoot-repository-size/ +url: /refguide10/troubleshoot-repository-size/ linktitle: "Repository Size" weight: 20 description: "Explains consequences and root cause of a large repository size and how to mitigate this." @@ -60,7 +60,7 @@ Merging MPRv2 apps using the command line with `git merge` or using third-party #### Converting MPR Storage Format {#convert} -In Studio Pro 10.18 and above upgrading to the new format is optional and can be done per branch via the [File menu](/refguide/file-menu/). To upgrade to MPRv2, open your app and select **File > Upgrade app to split MPR format (v2)**. After a confirmation the app will be converted and you will be prompted to commit. +In Studio Pro 10.18 and above upgrading to the new format is optional and can be done per branch via the [File menu](/refguide10/file-menu/). To upgrade to MPRv2, open your app and select **File > Upgrade app to split MPR format (v2)**. After a confirmation the app will be converted and you will be prompted to commit. You can also downgrade branches that are already on MPRv2 to MPRv1 by selecting **File > Downgrade app to combined MPR format (v1)**. @@ -79,15 +79,15 @@ When a file exceeds the Git compression threshold, 512 MB by default, Git will s As the Mendix model is stored in a single file, this threshold can be exceeded by the *.mpr* file. To decrease the MPR file size, consider doing the following: * [Convert to MPRv2](#convert) – By splitting the single binary file into multiple files, your file size will drop below the compression threshold. -* Remove [excluded and unused documents](/refguide/dev-best-practices/#excluded-and-unused-documents) – If you have a large number of unnecessary documents in your app model, this can significantly increase the size of the MPR file. +* Remove [excluded and unused documents](/refguide10/dev-best-practices/#excluded-and-unused-documents) – If you have a large number of unnecessary documents in your app model, this can significantly increase the size of the MPR file. * Decrease duplication in pages – If you have a number of pages featuring the same content, such as an advanced datagrid, consider extracting this piece of logic to a widget. Reusing a widget on multiple pages prevents the data from being saved several times and can have a large impact on the size of the MPR file. -* You can use [analyze-mpr](/refguide/mx-command-line-tool/analyze-mpr/) of the [mx Command-Line Tool](/refguide/mx-command-line-tool/) to analyze how your MPR file builds up. The output shows how many documents of a certain type (for example, the number of pages) exist and how much disk space they represent within the MPR file. Mendix recommends starting with a quick scan to see whether there is an unexpected number of occurrences (for example, 1500 pages) or a large number of bytes (over 50 000 000 bytes) for a unit type. +* You can use [analyze-mpr](/refguide10/mx-command-line-tool/analyze-mpr/) of the [mx Command-Line Tool](/refguide10/mx-command-line-tool/) to analyze how your MPR file builds up. The output shows how many documents of a certain type (for example, the number of pages) exist and how much disk space they represent within the MPR file. Mendix recommends starting with a quick scan to see whether there is an unexpected number of occurrences (for example, 1500 pages) or a large number of bytes (over 50 000 000 bytes) for a unit type. ### Working with a Large Repository Size When cloning an app, the default behavior of Git is to download the full history. As Mendix uses different folders on disk for different branches, downloading full history is done for each branch. To mitigate that, Mendix uses local cloning for subsequent branch downloads. When cloning a new branch, data from a local branch you already have is used to reduce data that needs to be downloaded. -Starting from Studio Pro 10.12 it is possible to prevent downloading the full history, by changing the [Clone type](/refguide/clone-type/) to use partial clones. A partial clone downloads all data for a specific revision without downloading the contents of all historical commits. +Starting from Studio Pro 10.12 it is possible to prevent downloading the full history, by changing the [Clone type](/refguide10/clone-type/) to use partial clones. A partial clone downloads all data for a specific revision without downloading the contents of all historical commits. ### Mitigating Large Repository Size @@ -178,7 +178,7 @@ Force pushing your results to the server is a separate step, in a separate scrip If you are using Mendix Team Server as your Git version control server, you can follow the steps below: -* Ensure you have configured a Personal Access Token to use it as described in the [Authenticating to Team Server](/refguide/using-version-control-in-studio-pro/#authenticating) section in *Using Version Control in Studio Pro*. +* Ensure you have configured a Personal Access Token to use it as described in the [Authenticating to Team Server](/refguide10/using-version-control-in-studio-pro/#authenticating) section in *Using Version Control in Studio Pro*. * Run the second script. * When prompted, enable force pushing. * Conduct the force push. @@ -236,4 +236,4 @@ In case you are still deciding whether to migrate from SVN to Git, or you are al {{< figure src="/attachments/refguide10/version-control/troubleshoot-version-control-issues/migration-advice-combined.png" class="no-border" >}} In Studio Pro 10.18 and above, you can manually convert branches to MPRv2. In future versions, branch conversion will happen automatically. For more information on the format, see the [MPRv2 Format](#mprv2) section. -For more information on partial clone, see [Clone Type](/refguide/clone-type/). +For more information on partial clone, see [Clone Type](/refguide10/clone-type/). diff --git a/content/en/docs/refguide10/version-control/version-control-troubleshooting/troubleshoot-team-server-issues.md b/content/en/docs/refguide10/version-control/version-control-troubleshooting/troubleshoot-team-server-issues.md index da9b350eac9..33494045123 100644 --- a/content/en/docs/refguide10/version-control/version-control-troubleshooting/troubleshoot-team-server-issues.md +++ b/content/en/docs/refguide10/version-control/version-control-troubleshooting/troubleshoot-team-server-issues.md @@ -1,6 +1,6 @@ --- title: "Troubleshooting Team Server Issues" -url: /refguide/troubleshoot-team-server-issues/ +url: /refguide10/troubleshoot-team-server-issues/ linktitle: "Team Server Issues" weight: 30 description: "Presents a list of problems and fixes for Team Server issues." @@ -35,4 +35,4 @@ Contact your network administrator and give them this information to allow them ## Read More -* [Version Control FAQ](/refguide/version-control-faq/) +* [Version Control FAQ](/refguide10/version-control-faq/) From 948e7575c93cb094733847f629e650cf17715790 Mon Sep 17 00:00:00 2001 From: Yiyun Liao Date: Fri, 11 Apr 2025 10:29:22 +0200 Subject: [PATCH 2/5] Change recently merged /refguide/ links --- .../consumed-odata-services/consumed-odata-service.md | 4 ++-- .../refguide10/modeling/menus/view-menu/integration-pane.md | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/content/en/docs/refguide10/modeling/integration/odata-services/consumed-odata-services/consumed-odata-service.md b/content/en/docs/refguide10/modeling/integration/odata-services/consumed-odata-services/consumed-odata-service.md index abc65a8a16f..5bbec83f8e6 100644 --- a/content/en/docs/refguide10/modeling/integration/odata-services/consumed-odata-services/consumed-odata-service.md +++ b/content/en/docs/refguide10/modeling/integration/odata-services/consumed-odata-services/consumed-odata-service.md @@ -218,7 +218,7 @@ See the [Limitations](/refguide10/consumed-odata-services/#consumed-odata-servic In the [Integration pane](/refguide10/integration-pane/), search results, and in the **Used in this app** section, an update arrow indicates if there is a different contract at the Catalog endpoint. -{{< figure src="/attachments/refguide/modeling/menus/view-menu/integration-pane/update-available.png" alt="Integration pane update" class="no-border" width="300" >}} +{{< figure src="/attachments/refguide10/modeling/menus/view-menu/integration-pane/update-available.png" alt="Integration pane update" class="no-border" width="300" >}} * The service version that is currently consumed is shown (in this example **1.2.0**). * Blue **Update** - click to open the **Update Service** box and update the contract. Studio Pro will retrieve the new contract at the Catalog endpoint, which will be loaded in the app. @@ -250,7 +250,7 @@ To consume the service deployed to the **Acceptance environment**, follow these 1. Click **Update** > **Switch** on the **Consumed OData Service** document: - {{< figure src="/attachments/refguide/modeling/integration/consumed-odata-services/consumed-odata-service/salesorders-header.png" alt="major change environment" class="no-border" >}} + {{< figure src="/attachments/refguide10/modeling/integration/consumed-odata-services/consumed-odata-service/salesorders-header.png" alt="major change environment" class="no-border" >}} 2. On the **Switch** dialog box, from the drop-down list, select the service you want to consume from and click **Switch**: diff --git a/content/en/docs/refguide10/modeling/menus/view-menu/integration-pane.md b/content/en/docs/refguide10/modeling/menus/view-menu/integration-pane.md index 5a4daf96dbb..4eed7c73c2c 100644 --- a/content/en/docs/refguide10/modeling/menus/view-menu/integration-pane.md +++ b/content/en/docs/refguide10/modeling/menus/view-menu/integration-pane.md @@ -12,7 +12,7 @@ aliases: Use the Integration pane in Studio Pro to use available assets from the different applications in an organization into your Mendix apps. New apps can be created using shared entities, actions and events that are registered in the [Catalog](/catalog/). In Studio Pro, this is possible using the integrated functionality of Catalog through the **Integration** pane. -You can search in the Catalog through the Integration pane to discover assets that you can use in your app. You can connect to services in your landscape by dragging elements from this pane into your app. For example, you can add the entities that are published in the registered OData services to your app's domain model. These entities are called [external entities](/refguide10/external-entities/) and are different because they enable the connection to the data associated with the entities in the originating app. Besides external entities, OData services can expose actions that can be called from within microflows, and can define non-persistable entities that can be used as parameters or return types of these actions. You can also connect with [business event services](/refguide/business-event-services/) by dragging an event unto your app's domain model. +You can search in the Catalog through the Integration pane to discover assets that you can use in your app. You can connect to services in your landscape by dragging elements from this pane into your app. For example, you can add the entities that are published in the registered OData services to your app's domain model. These entities are called [external entities](/refguide10/external-entities/) and are different because they enable the connection to the data associated with the entities in the originating app. Besides external entities, OData services can expose actions that can be called from within microflows, and can define non-persistable entities that can be used as parameters or return types of these actions. You can also connect with [business event services](/refguide10/business-event-services/) by dragging an event unto your app's domain model. To display the Integration pane, click **View** > **Integration**. {{% alert color="info" %}} From 9aa2871775bddd5e29c65e26d0eefdc2f18174e3 Mon Sep 17 00:00:00 2001 From: Yiyun Liao Date: Fri, 11 Apr 2025 10:51:02 +0200 Subject: [PATCH 3/5] Change all links to /howto/ to /howto1010/ in the Mx10 folders --- content/en/docs/howto10/_index.md | 2 +- content/en/docs/howto10/data-models/_index.md | 2 +- ...denormalize-data-to-improve-performance.md | 4 +- .../migrating-your-mendix-database.md | 2 +- .../sharing-the-development-database.md | 4 +- .../en/docs/howto10/extensibility/_index.md | 2 +- .../best-practices-javascript-actions.md | 6 +- .../build-javascript-actions/_index.md | 8 +-- .../create-native-javascript-action.md | 4 +- .../write-javascript-actions.md | 6 +- .../write-javascript-github.md | 6 +- .../extensibility/build-native-widget.md | 4 +- .../extensibility/howto-connector-kit.md | 2 +- .../extensibility/howto-datastorage-api.md | 2 +- .../extensibility/pluggable-widgets/_index.md | 6 +- .../create-a-pluggable-widget-one.md | 4 +- .../create-a-pluggable-widget-two.md | 8 +-- .../update-pluggable-widgets-tools.md | 6 +- content/en/docs/howto10/front-end/_index.md | 2 +- .../docs/howto10/front-end/atlas-ui/_index.md | 14 ++-- .../create-a-company-design-system.md | 8 +-- .../atlas-ui/customize-styling-new.md | 12 ++-- .../atlas-ui/extend-design-properties.md | 4 +- .../front-end/atlas-ui/figma-ui-kit.md | 8 +-- .../front-end/atlas-ui/get-started/_index.md | 6 +- .../atlas-ui/module-level-theme-settings.md | 10 +-- .../front-end/configuring-your-theme.md | 2 +- .../front-end/conversation-best-practices.md | 2 +- ...our-first-two-overview-and-detail-pages.md | 10 +-- .../howto10/front-end/custom-error-page.md | 6 +- .../howto10/front-end/layouts-and-snippets.md | 10 +-- .../howto10/front-end/selenium-support.md | 18 +++--- content/en/docs/howto10/front-end/styles.md | 2 +- .../front-end/use-navigation-layouts.md | 4 +- .../howto10/front-end/ux-best-practices.md | 2 +- content/en/docs/howto10/security/_index.md | 2 +- .../security/best-practices-security.md | 4 +- .../howto10/security/create-a-secure-app.md | 6 +- content/en/docs/howto10/security/csp.md | 6 +- .../set-up-anonymous-user-security.md | 4 +- content/en/docs/howto10/testing/_index.md | 2 +- ...-mendix-applications-using-selenium-ide.md | 10 +-- content/en/docs/refguide10/_index.md | 4 +- .../refguide10/general/developer-tools.md | 2 +- .../docs/refguide10/installation/install.md | 2 +- .../installation/system-requirements.md | 2 +- .../using-mendix-studio-pro-on-a-mac.md | 2 +- .../access-a-samba-share-from-the-mxcloud.md | 2 +- .../debug-java-actions/_index.md | 14 ++-- .../debug-java-actions-remotely.md | 12 ++-- content/en/docs/refguide10/mobile/_index.md | 2 +- .../offlinefirst-data/local-data-security.md | 2 +- .../design-principles.md | 6 +- .../images-icons-and-fonts.md | 38 +++++------ .../native-styling.md | 22 +++---- .../mobile/distributing-mobile-apps/_index.md | 2 +- .../building-native-apps/_index.md | 2 +- .../deploying-native-app.md | 46 ++++++------- .../building-native-apps/how-to-devapps.md | 22 +++---- .../native-build-locally-manually.md | 20 +++--- .../native-build-locally.md | 28 ++++---- .../distributing-mobile-apps/native-debug.md | 10 +-- .../overtheair-updates.md | 8 +-- .../testing-mobile-apps.md | 2 +- .../use-min-older-sp.md | 2 +- .../getting-started-with-mobile/_index.md | 16 ++--- .../prerequisites.md | 8 +-- .../native-mobile.md | 2 +- .../progressive-web-app.md | 2 +- .../using-mobile-capabilities/_index.md | 2 +- .../augmented-reality/_index.md | 2 +- .../how-to-ar-business-card.md | 30 ++++----- .../how-to-ar-simple-cube.md | 62 +++++++++--------- .../augmented-reality/how-to-web-xr.md | 6 +- .../using-mobile-capabilities/deep-links.md | 20 +++--- .../local-notifications/_index.md | 12 ++-- .../local-notifications/local-notif-action.md | 14 ++-- .../local-notifications/local-notif-badges.md | 26 ++++---- .../local-notifications/local-notif-data.md | 64 +++++++++---------- .../local-notif-schedule-cancel.md | 28 ++++---- .../native-local-notifications.md | 62 +++++++++--------- .../location-and-maps.md | 10 +-- .../mobile-accessibility.md | 2 +- .../push-notifications/_index.md | 2 +- .../notif-add-module-depends.md | 2 +- .../push-notifications/notif-config-push.md | 4 +- .../notif-implement-module.md | 2 +- .../notif-implement-native.md | 4 +- .../push-notifications/notif-implement-pwa.md | 4 +- .../push-notifications/notif-mult-devices.md | 12 ++-- .../push-notifications/notif-send-test.md | 4 +- ...-google-firebase-cloud-messaging-server.md | 26 ++++---- .../setting-up-the-navigation-structure.md | 8 +-- .../modeling/app-performance/_index.md | 2 +- .../detect-and-resolve-performance-issues.md | 4 +- .../manage-app-performance-with-new-relic.md | 10 +-- .../javascript-action-call.md | 2 +- .../working-with-lists-in-a-microflow.md | 2 +- .../debug-microflows-and-nanoflows/_index.md | 2 +- .../debug-microflows-remotely.md | 2 +- .../error-handling-in-microflows.md | 2 +- .../extract-and-use-sub-microflows.md | 2 +- .../application-logic/string-concatenation.md | 2 +- .../add-action-to-workflow-toolbox.md | 2 +- .../workflows/workflow-how-to-configure.md | 4 +- .../refguide10/modeling/dev-best-practices.md | 6 +- .../domain-model/create-a-basic-data-layer.md | 4 +- .../domain-model/entities/data-sets.md | 2 +- .../domain-model/entities/event-handlers.md | 2 +- .../setting-up-data-validation.md | 8 +-- .../advanced-inference-patterns.md | 2 +- .../using-ml-kit/_index.md | 2 +- .../mapping-documents/xml-documents/_index.md | 2 +- .../xml-documents/export-xml-documents.md | 20 +++--- .../xml-documents/importing-xml-documents.md | 18 +++--- .../integration/odata-services/_index.md | 4 +- .../consumed-odata-service.md | 2 +- .../exposing-data-to-bi-tools-using-odata.md | 12 ++-- .../integration/rest-services/_index.md | 2 +- .../server-side-paging.md | 6 +- .../use-call-rest-action-in-microflow.md | 16 ++--- ...ating-a-legacy-system-into-a-mendix-app.md | 14 ++-- .../publish-rest-service.md | 4 +- .../version-rest-service.md | 2 +- .../integration/rest-services/rest-binary.md | 4 +- .../integration/share-data-sources/_index.md | 2 +- .../share-data-between-apps.md | 2 +- .../write-data-to-another-app.md | 6 +- .../integration/use-excel-documents/_index.md | 2 +- .../use-excel-documents/export-to-excel.md | 4 +- .../import-a-large-excel-file.md | 2 +- .../import-excel-documents.md | 60 ++++++++--------- .../integration/use-extensions/_index.md | 2 +- ...n-sql-statement-on-an-external-database.md | 2 +- .../use-extensions/use-the-data-importer.md | 2 +- .../use-the-external-database-connector.md | 2 +- .../integration/web-services/_index.md | 6 +- .../consume-a-complex-web-service.md | 18 +++--- .../consume-a-simple-web-service.md | 16 ++--- .../expose-a-web-service.md | 20 +++--- .../testing-web-services-using-soapui.md | 24 +++---- .../menus/edit-menu/preferences-dialog.md | 2 +- .../solving-load-and-import-errors.md | 18 +++--- .../translatable-validation-messages.md | 2 +- .../translate-your-app-content.md | 2 +- .../errors-pane/clear-warning-messages.md | 14 ++-- .../create-a-custom-save-button.md | 4 +- .../chart-widgets/charts-any-configuration.md | 4 +- .../chart-widgets/charts-configuration.md | 4 +- .../pages/common-widget-properties.md | 2 +- .../configure-list-and-details-on-one-page.md | 2 +- .../image-and-file-widgets/file-manager.md | 2 +- .../data-grid-document-template/_index.md | 2 +- .../modeling/resources/javascript-actions.md | 4 +- .../refguide10/modeling/security/_index.md | 2 +- .../xpath/define-access-rules-using-xpath.md | 10 +-- .../filtering-data-on-an-overview-page.md | 4 +- ...inding-the-root-cause-of-runtime-errors.md | 14 ++-- .../en/docs/refguide10/runtime/log-levels.md | 10 +-- .../refguide10/runtime/logging/log-levels.md | 10 +-- .../refguide10/runtime/mendix-client/react.md | 2 +- .../version-control/on-premises-git.md | 2 +- .../version-control-troubleshooting/_index.md | 2 +- 163 files changed, 688 insertions(+), 688 deletions(-) diff --git a/content/en/docs/howto10/_index.md b/content/en/docs/howto10/_index.md index e5a56b9b603..160b59ec564 100644 --- a/content/en/docs/howto10/_index.md +++ b/content/en/docs/howto10/_index.md @@ -1,6 +1,6 @@ --- title: "Studio Pro 10 How-tos" -url: /howto/ +url: /howto10/ description: "Step-by-step guides on various Mendix topics that teach you how to build and customize apps." weight: 15 no_list: false diff --git a/content/en/docs/howto10/data-models/_index.md b/content/en/docs/howto10/data-models/_index.md index bc9100df8eb..4281500e9a7 100644 --- a/content/en/docs/howto10/data-models/_index.md +++ b/content/en/docs/howto10/data-models/_index.md @@ -1,6 +1,6 @@ --- title: "Data Models" -url: /howto/data-models/ +url: /howto10/data-models/ weight: 50 description: "Presents a list of how-tos on creating data layers and setting up data validation." no_list: false diff --git a/content/en/docs/howto10/data-models/denormalize-data-to-improve-performance.md b/content/en/docs/howto10/data-models/denormalize-data-to-improve-performance.md index 1c5e5a16313..0abfa0e6368 100644 --- a/content/en/docs/howto10/data-models/denormalize-data-to-improve-performance.md +++ b/content/en/docs/howto10/data-models/denormalize-data-to-improve-performance.md @@ -1,6 +1,6 @@ --- title: "Denormalize Data to Improve Performance" -url: /howto/data-models/denormalize-data-to-improve-performance/ +url: /howto10/data-models/denormalize-data-to-improve-performance/ weight: 6 description: "Describes how to denormalize data and keep denormalized data in sync in Studio Pro." --- @@ -145,7 +145,7 @@ Now the application is ready to store redundant data, but you still need to keep * [Configuring a Domain Model](/refguide10/configuring-a-domain-model/) * [Setting Up Data Validation](/refguide10/setting-up-data-validation/) -* [Find the Root Cause of Runtime Errors](/howto/monitoring-troubleshooting/finding-the-root-cause-of-runtime-errors/) +* [Find the Root Cause of Runtime Errors](/howto10/monitoring-troubleshooting/finding-the-root-cause-of-runtime-errors/) * [Epics](/developerportal/project-management/epics/) * [Defining Access Rules Using XPath](/refguide10/define-access-rules-using-xpath/) * [Attributes](/refguide10/attributes/) diff --git a/content/en/docs/howto10/data-models/migrating-your-mendix-database.md b/content/en/docs/howto10/data-models/migrating-your-mendix-database.md index 09ee36601fb..9917bdb36f8 100644 --- a/content/en/docs/howto10/data-models/migrating-your-mendix-database.md +++ b/content/en/docs/howto10/data-models/migrating-your-mendix-database.md @@ -1,6 +1,6 @@ --- title: "Migrate Your Mendix Database" -url: /howto/data-models/migrating-your-mendix-database/ +url: /howto10/data-models/migrating-your-mendix-database/ weight: 10 description: "Describes how to migrate a non-PostgreSQL database to a PostgreSQL database, export a PostgreSQL database, and perform other actions for database migration." --- diff --git a/content/en/docs/howto10/data-models/sharing-the-development-database.md b/content/en/docs/howto10/data-models/sharing-the-development-database.md index 9fd30346992..f878bc0e5fd 100644 --- a/content/en/docs/howto10/data-models/sharing-the-development-database.md +++ b/content/en/docs/howto10/data-models/sharing-the-development-database.md @@ -1,10 +1,10 @@ --- title: "Share the Development Database" -url: /howto/data-models/sharing-the-development-database/ +url: /howto10/data-models/sharing-the-development-database/ weight: 9 description: "Describes how to open and manage the data stored inside the built-in database that is supplied with Studio Pro." aliases: - - /howto/collaboration-requirements-management/sharing-the-development-database/ + - /howto10/collaboration-requirements-management/sharing-the-development-database/ --- ## Introduction diff --git a/content/en/docs/howto10/extensibility/_index.md b/content/en/docs/howto10/extensibility/_index.md index f5306ac160b..ad55edb6dc3 100644 --- a/content/en/docs/howto10/extensibility/_index.md +++ b/content/en/docs/howto10/extensibility/_index.md @@ -1,6 +1,6 @@ --- title: "Extensibility" -url: /howto/extensibility/ +url: /howto10/extensibility/ description: "Presents a selection of how-tos that explain how to use connectors and adapters from the Marketplace." weight: 80 no_list: false diff --git a/content/en/docs/howto10/extensibility/best-practices-javascript-actions.md b/content/en/docs/howto10/extensibility/best-practices-javascript-actions.md index 32c09c9ac39..4e75b149325 100644 --- a/content/en/docs/howto10/extensibility/best-practices-javascript-actions.md +++ b/content/en/docs/howto10/extensibility/best-practices-javascript-actions.md @@ -1,7 +1,7 @@ --- title: "Implement Best Practices for JavaScript Actions" linktitle: "JavaScript Actions Best Practices" -url: /howto/extensibility/best-practices-javascript-actions/ +url: /howto10/extensibility/best-practices-javascript-actions/ weight: 60 description: "Describes how to create high-quality JavaScript actions, use common implementation patterns, design better APIs, and use JavaScript actions in nanoflows." --- @@ -348,7 +348,7 @@ Explaining the Fetch API code: * As this is an async function, error handling at all three steps: fetch, parse JSON, and accessing the data can be done inside a single `try...catch` block (for a more detailed explanation, see the [MDN documentation for error handling with async/await](https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Asynchronous/Async_await#adding_error_handling)). -* For more information on building a JavaScript action rest consume function, see [Build JavaScript Actions: Part 2 (Advanced)](/howto/extensibility/write-javascript-github/). +* For more information on building a JavaScript action rest consume function, see [Build JavaScript Actions: Part 2 (Advanced)](/howto10/extensibility/write-javascript-github/). #### Understanding Common Promise Functions @@ -474,7 +474,7 @@ Not all capabilities are recommended for use. Consider the side effects that an ## Read More -* [Build JavaScript Actions](/howto/extensibility/build-javascript-actions/) +* [Build JavaScript Actions](/howto10/extensibility/build-javascript-actions/) * [JavaScript Actions](/refguide10/javascript-actions/) * [Mendix Client API](/apidocs-mxsdk/apidocs/client-api/) * JavaScript basics: diff --git a/content/en/docs/howto10/extensibility/build-javascript-actions/_index.md b/content/en/docs/howto10/extensibility/build-javascript-actions/_index.md index 5f04f144229..714e6c98ed0 100644 --- a/content/en/docs/howto10/extensibility/build-javascript-actions/_index.md +++ b/content/en/docs/howto10/extensibility/build-javascript-actions/_index.md @@ -1,12 +1,12 @@ --- title: "Build JavaScript Actions" -url: /howto/extensibility/build-javascript-actions/ +url: /howto10/extensibility/build-javascript-actions/ weight: 40 description: "Presents a series of how-tos to build JavaScript actions step by step." --- Nanoflows are even more powerful with pluggable nanoflow actions — called JavaScript actions. With JavaScript actions, the standard set of actions can be extended with new functionality. This how-to series teaches you to harness the power of JavaScript actions step by step: -* [Build JavaScript Actions: Part 1 (Basic)](/howto/extensibility/write-javascript-actions/) -* [Build JavaScript Actions: Part 2 (Advanced)](/howto/extensibility/write-javascript-github/) -* [Build JavaScript Actions for Native Mobile](/howto/extensibility/create-native-javascript-action/) +* [Build JavaScript Actions: Part 1 (Basic)](/howto10/extensibility/write-javascript-actions/) +* [Build JavaScript Actions: Part 2 (Advanced)](/howto10/extensibility/write-javascript-github/) +* [Build JavaScript Actions for Native Mobile](/howto10/extensibility/create-native-javascript-action/) diff --git a/content/en/docs/howto10/extensibility/build-javascript-actions/create-native-javascript-action.md b/content/en/docs/howto10/extensibility/build-javascript-actions/create-native-javascript-action.md index 52361d2bc7b..dc4f4dde99a 100644 --- a/content/en/docs/howto10/extensibility/build-javascript-actions/create-native-javascript-action.md +++ b/content/en/docs/howto10/extensibility/build-javascript-actions/create-native-javascript-action.md @@ -1,6 +1,6 @@ --- title: "Build JavaScript Actions for Native Mobile" -url: /howto/extensibility/create-native-javascript-action/ +url: /howto10/extensibility/create-native-javascript-action/ weight: 30 description: "This how-to teaches you how to build a JavaScript action for native mobile apps." --- @@ -321,6 +321,6 @@ For the full explanation on how to build, sign, and distribute your app to an ap * [How to Build a Mendix Native App in the Cloud](/refguide10/mobile/distributing-mobile-apps/building-native-apps/deploying-native-app/) * [JavaScript Actions Reference Guide](/refguide10/javascript-actions/) -* [How To Build JavaScript actions](/howto/extensibility/build-javascript-actions/) +* [How To Build JavaScript actions](/howto10/extensibility/build-javascript-actions/) * [Declaring Native Dependencies](/apidocs-mxsdk/apidocs/pluggable-widgets-native-dependencies/) * GitHub's [NFC React Native Library](https://github.com/whitedogg13/react-native-nfc-manager) diff --git a/content/en/docs/howto10/extensibility/build-javascript-actions/write-javascript-actions.md b/content/en/docs/howto10/extensibility/build-javascript-actions/write-javascript-actions.md index fd323b8182b..b4e39db7330 100644 --- a/content/en/docs/howto10/extensibility/build-javascript-actions/write-javascript-actions.md +++ b/content/en/docs/howto10/extensibility/build-javascript-actions/write-javascript-actions.md @@ -1,7 +1,7 @@ --- title: "Build JavaScript Actions: Part 1 (Basic)" linktitle: "1. Build JavaScript Actions" -url: /howto/extensibility/write-javascript-actions/ +url: /howto10/extensibility/write-javascript-actions/ weight: 10 description: "This how-to teaches you how to create a JavaScript action." --- @@ -140,8 +140,8 @@ To create a JavaScript action that can synthesize text to speech, follow these s ## Read More{#read-more} -* [Build JavaScript Actions: Part 2 (Advanced)](/howto/extensibility/write-javascript-github/) -* [Implement Best Practices for JavaScript Actions](/howto/extensibility/best-practices-javascript-actions/) +* [Build JavaScript Actions: Part 2 (Advanced)](/howto10/extensibility/write-javascript-github/) +* [Implement Best Practices for JavaScript Actions](/howto10/extensibility/best-practices-javascript-actions/) * [JavaScript Actions](/refguide10/javascript-actions/) * [Mendix Client API](/apidocs-mxsdk/apidocs/client-api/) * JavaScript Resources: diff --git a/content/en/docs/howto10/extensibility/build-javascript-actions/write-javascript-github.md b/content/en/docs/howto10/extensibility/build-javascript-actions/write-javascript-github.md index 44bffd7d7a7..6147a27d32f 100644 --- a/content/en/docs/howto10/extensibility/build-javascript-actions/write-javascript-github.md +++ b/content/en/docs/howto10/extensibility/build-javascript-actions/write-javascript-github.md @@ -1,14 +1,14 @@ --- title: "Build JavaScript Actions: Part 2 (Advanced)" linktitle: "2. Build JavaScript Actions" -url: /howto/extensibility/write-javascript-github/ +url: /howto10/extensibility/write-javascript-github/ weight: 20 description: "This advanced how-to teaches you to make a JavaScript action which can search for GitHub users." --- ## Introduction -Nanoflows are even more powerful with pluggable nanoflow actions — called JavaScript actions. [How to Build JavaScript Actions: Part 1 (Basic)](/howto/extensibility/write-javascript-actions/) shows you how to create a JavaScript TextToSpeech action, expose it as a nanoflow action, and then use it in a demo. In this advanced how-to you will learn to call a REST service, use a generic return type, and make an API to enhance the power of your JavaScript actions. +Nanoflows are even more powerful with pluggable nanoflow actions — called JavaScript actions. [How to Build JavaScript Actions: Part 1 (Basic)](/howto10/extensibility/write-javascript-actions/) shows you how to create a JavaScript TextToSpeech action, expose it as a nanoflow action, and then use it in a demo. In this advanced how-to you will learn to call a REST service, use a generic return type, and make an API to enhance the power of your JavaScript actions. This how-to teaches you how to do the following: @@ -301,7 +301,7 @@ Congratulations! Using the power of JavaScript actions, your app can search for ## Read More -* [Build JavaScript Actions: Part 1 (Basic)](/howto/extensibility/write-javascript-actions/) +* [Build JavaScript Actions: Part 1 (Basic)](/howto10/extensibility/write-javascript-actions/) * [Mendix Client API](https://apidocs.rnd.mendix.com/10/client/index.html) * [JavaScript Actions](/refguide10/javascript-actions/) * JavaScript Resources diff --git a/content/en/docs/howto10/extensibility/build-native-widget.md b/content/en/docs/howto10/extensibility/build-native-widget.md index 7f4830db422..2cfcb71e2d2 100644 --- a/content/en/docs/howto10/extensibility/build-native-widget.md +++ b/content/en/docs/howto10/extensibility/build-native-widget.md @@ -1,6 +1,6 @@ --- title: "Build a Pluggable Native Widget" -url: /howto/extensibility/build-native-widget/ +url: /howto10/extensibility/build-native-widget/ description: "Describes how to build a native widget, configure it, and style it in a Mendix app." weight: 10 #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. @@ -1379,4 +1379,4 @@ The developer needs to have the class names memorized to apply a certain group b * [Pluggable Widgets API Documentation](/apidocs-mxsdk/apidocs/pluggable-widgets/) * [Designing Mobile User Interfaces](/refguide10/mobile/designing-mobile-user-interfaces/) * [Native Mobile Styling Reference Guide](/refguide10/native-styling-refguide/) -* [How to Build Pluggable Widgets](/howto/extensibility/pluggable-widgets/) +* [How to Build Pluggable Widgets](/howto10/extensibility/pluggable-widgets/) diff --git a/content/en/docs/howto10/extensibility/howto-connector-kit.md b/content/en/docs/howto10/extensibility/howto-connector-kit.md index 5b1cb5b3133..7ff2669a36a 100644 --- a/content/en/docs/howto10/extensibility/howto-connector-kit.md +++ b/content/en/docs/howto10/extensibility/howto-connector-kit.md @@ -1,6 +1,6 @@ --- title: "Build Microflow Actions with Java" -url: /howto/extensibility/howto-connector-kit/ +url: /howto10/extensibility/howto-connector-kit/ description: "Describes how to create custom microflow actions using Java." weight: 80 #To update screenshots of these microflows in Studio Pro, use the SlackRekognition-main-master app, which is saved locally in Other Resources > Documentation Backups (No Update). diff --git a/content/en/docs/howto10/extensibility/howto-datastorage-api.md b/content/en/docs/howto10/extensibility/howto-datastorage-api.md index 0212a7d1592..0002831503b 100644 --- a/content/en/docs/howto10/extensibility/howto-datastorage-api.md +++ b/content/en/docs/howto10/extensibility/howto-datastorage-api.md @@ -1,7 +1,7 @@ --- title: "Use Mendix Data Storage APIs to Build Reusable Microflow Actions" linktitle: "Data Storage APIs for Reusable Microflows" -url: /howto/extensibility/howto-datastorage-api/ +url: /howto10/extensibility/howto-datastorage-api/ weight: 90 description: "Describes how to create custom microflow actions using Data Storage APIs." --- diff --git a/content/en/docs/howto10/extensibility/pluggable-widgets/_index.md b/content/en/docs/howto10/extensibility/pluggable-widgets/_index.md index e72146f8f79..3c0eecc3ba7 100644 --- a/content/en/docs/howto10/extensibility/pluggable-widgets/_index.md +++ b/content/en/docs/howto10/extensibility/pluggable-widgets/_index.md @@ -1,6 +1,6 @@ --- title: "Build Pluggable Web Widgets" -url: /howto/extensibility/pluggable-widgets/ +url: /howto10/extensibility/pluggable-widgets/ weight: 20 description: "Describes how to use the new generation of custom-built Mendix widgets based on React." #If moving or renaming this doc file, implement a temporary redirect and let the respective team know they should update the URL in the Evaluation Guide. See Mapping to Products for more details. @@ -9,5 +9,5 @@ description: "Describes how to use the new generation of custom-built Mendix wid Pluggable web widgets are Mendix's custom-built widgets based on React. This UI library allows you to tailor-make widgets easily and with fewer errors. For more information on pluggable web widgets, see [Pluggable Widgets API](/apidocs-mxsdk/apidocs/pluggable-widgets/), [Client APIs Available to Pluggable Widgets](/apidocs-mxsdk/apidocs/pluggable-widgets-client-apis/), and [Pluggable Widget Property Types](/apidocs-mxsdk/apidocs/pluggable-widgets-property-types/). This how-to series teaches you how to harness the power of pluggable web widgets step by step: -* [Build a Pluggable Web Widget: Part 1](/howto/extensibility/create-a-pluggable-widget-one/) -* [Build a Pluggable Web Widget: Part 2 (Advanced)](/howto/extensibility/create-a-pluggable-widget-two/) +* [Build a Pluggable Web Widget: Part 1](/howto10/extensibility/create-a-pluggable-widget-one/) +* [Build a Pluggable Web Widget: Part 2 (Advanced)](/howto10/extensibility/create-a-pluggable-widget-two/) diff --git a/content/en/docs/howto10/extensibility/pluggable-widgets/create-a-pluggable-widget-one.md b/content/en/docs/howto10/extensibility/pluggable-widgets/create-a-pluggable-widget-one.md index c70d09457fd..9af4bcbd743 100644 --- a/content/en/docs/howto10/extensibility/pluggable-widgets/create-a-pluggable-widget-one.md +++ b/content/en/docs/howto10/extensibility/pluggable-widgets/create-a-pluggable-widget-one.md @@ -1,7 +1,7 @@ --- title: "Build a Pluggable Web Widget: Part 1" linktitle: "1. Build Pluggable Web Widget" -url: /howto/extensibility/create-a-pluggable-widget-one/ +url: /howto10/extensibility/create-a-pluggable-widget-one/ weight: 10 description: "This how-to teaches you how to create a pluggable web widget." --- @@ -357,7 +357,7 @@ Continue with the next tutorial to learn how to add validation feedback, custom ## Read More -* [Build a Pluggable Web Widget: Part 2 (Advanced)](/howto/extensibility/create-a-pluggable-widget-two/) +* [Build a Pluggable Web Widget: Part 2 (Advanced)](/howto10/extensibility/create-a-pluggable-widget-two/) * [Pluggable Widgets API](/apidocs-mxsdk/apidocs/pluggable-widgets/) * [Client APIs Available to Pluggable Widgets](/apidocs-mxsdk/apidocs/pluggable-widgets-client-apis/) * [Pluggable Widget Property Types](/apidocs-mxsdk/apidocs/pluggable-widgets-property-types/) diff --git a/content/en/docs/howto10/extensibility/pluggable-widgets/create-a-pluggable-widget-two.md b/content/en/docs/howto10/extensibility/pluggable-widgets/create-a-pluggable-widget-two.md index 90c9685cbaa..eb01079c648 100644 --- a/content/en/docs/howto10/extensibility/pluggable-widgets/create-a-pluggable-widget-two.md +++ b/content/en/docs/howto10/extensibility/pluggable-widgets/create-a-pluggable-widget-two.md @@ -1,14 +1,14 @@ --- title: "Build a Pluggable Web Widget: Part 2 (Advanced)" linktitle: "2. Build Pluggable Web Widget" -url: /howto/extensibility/create-a-pluggable-widget-two/ +url: /howto10/extensibility/create-a-pluggable-widget-two/ weight: 20 description: "This how-to teaches you how to add advanced features to your TextBox input widget." --- ## Introduction -The new pluggable widget API makes building feature-complete widgets much easier. This how-to will go beyond [How to Build a Pluggable Web Widget: Part 1](/howto/extensibility/create-a-pluggable-widget-one/) and teach you how to add advanced features to your TextBox input widget. +The new pluggable widget API makes building feature-complete widgets much easier. This how-to will go beyond [How to Build a Pluggable Web Widget: Part 1](/howto10/extensibility/create-a-pluggable-widget-one/) and teach you how to add advanced features to your TextBox input widget. This how-to teaches you how to do the following: @@ -23,7 +23,7 @@ This how-to teaches you how to do the following: Before starting this how-to, make sure you have completed the following prerequisites: -* Complete [Build a Pluggable Web Widget: Part 1](/howto/extensibility/create-a-pluggable-widget-one/) +* Complete [Build a Pluggable Web Widget: Part 1](/howto10/extensibility/create-a-pluggable-widget-one/) ## Adding Advanced Features to Your TextBox Input Widget @@ -622,7 +622,7 @@ Your code alterations will produce the following result: ## Read More -* [Build a Pluggable Web Widget: Part 1](/howto/extensibility/create-a-pluggable-widget-one/) +* [Build a Pluggable Web Widget: Part 1](/howto10/extensibility/create-a-pluggable-widget-one/) * [Pluggable Widgets API](/apidocs-mxsdk/apidocs/pluggable-widgets/) * [Client APIs Available to Pluggable Widgets](/apidocs-mxsdk/apidocs/pluggable-widgets-client-apis/) * [Pluggable Widget Property Types](/apidocs-mxsdk/apidocs/pluggable-widgets-property-types/) diff --git a/content/en/docs/howto10/extensibility/update-pluggable-widgets-tools.md b/content/en/docs/howto10/extensibility/update-pluggable-widgets-tools.md index 5cdfdbb6b23..cab6e7d968c 100644 --- a/content/en/docs/howto10/extensibility/update-pluggable-widgets-tools.md +++ b/content/en/docs/howto10/extensibility/update-pluggable-widgets-tools.md @@ -1,6 +1,6 @@ --- title: "Update Pluggable Widgets Tools" -url: /howto/extensibility/update-pluggable-widgets-tools/ +url: /howto10/extensibility/update-pluggable-widgets-tools/ description: "Follow this guide to update the Pluggable Widgets Tools package used by your pluggable widget to a newer version. " weight: 10 @@ -31,5 +31,5 @@ If you see type or package errors with TypeScript, you might need to close and r ## Read More -* [Build a Pluggable Native Widget](/howto/extensibility/build-native-widget/) -* [Build Pluggable Web Widgets](/howto/extensibility/pluggable-widgets/) +* [Build a Pluggable Native Widget](/howto10/extensibility/build-native-widget/) +* [Build Pluggable Web Widgets](/howto10/extensibility/pluggable-widgets/) diff --git a/content/en/docs/howto10/front-end/_index.md b/content/en/docs/howto10/front-end/_index.md index 192d7bc7e03..bb5a76b939b 100644 --- a/content/en/docs/howto10/front-end/_index.md +++ b/content/en/docs/howto10/front-end/_index.md @@ -1,6 +1,6 @@ --- title: "Front End" -url: /howto/front-end/ +url: /howto10/front-end/ weight: 30 description: "Presents a list of how-tos to create great user experiences and a user-friendly graphical user interface (GUI) for your app." no_list: false diff --git a/content/en/docs/howto10/front-end/atlas-ui/_index.md b/content/en/docs/howto10/front-end/atlas-ui/_index.md index e7a97d7e294..e63b566d81d 100644 --- a/content/en/docs/howto10/front-end/atlas-ui/_index.md +++ b/content/en/docs/howto10/front-end/atlas-ui/_index.md @@ -1,6 +1,6 @@ --- title: "UI Design" -url: /howto/front-end/atlas-ui/ +url: /howto10/front-end/atlas-ui/ weight: 5 description: "Presents a list of how-tos to guide you to create customized applications using Atlas UI." --- @@ -13,9 +13,9 @@ Atlas comes with a default design system which can be fully tailored and extende The following how-tos are available here: -* [Get Started](/howto/front-end/get-started/) — Learn more about Atlas UI and get started on your first customizations. -* [Customize Styling](/howto/front-end/customize-styling-new/) — Customize your styling in deeper ways. Specifically, you will see how our progressive and web apps use SASS (SCSS) and our native mobile apps use JavaScript to create your app's styling. -* [Configure Module-Level Theme Settings](/howto/front-end/module-level-theme-settings/) — Use module-level theme settings to control theme system behavior. This allows you to control which elements your developers can and cannot use. -* [Create a Company Design System](/howto/front-end/create-a-company-design-system/) — Create a company design system: a "UI kit" which contains all the elements that a team needs to design, realize, and develop a product. -* [Extend Design Properties](/howto/front-end/extend-design-properties/) — Learn the basics of design properties and how to make your own. -* [Atlas UI Kit for Figma](/howto/front-end/figma-ui-kit/) — Learn how to set up and use the Atlas UI Kit for Figma. +* [Get Started](/howto10/front-end/get-started/) — Learn more about Atlas UI and get started on your first customizations. +* [Customize Styling](/howto10/front-end/customize-styling-new/) — Customize your styling in deeper ways. Specifically, you will see how our progressive and web apps use SASS (SCSS) and our native mobile apps use JavaScript to create your app's styling. +* [Configure Module-Level Theme Settings](/howto10/front-end/module-level-theme-settings/) — Use module-level theme settings to control theme system behavior. This allows you to control which elements your developers can and cannot use. +* [Create a Company Design System](/howto10/front-end/create-a-company-design-system/) — Create a company design system: a "UI kit" which contains all the elements that a team needs to design, realize, and develop a product. +* [Extend Design Properties](/howto10/front-end/extend-design-properties/) — Learn the basics of design properties and how to make your own. +* [Atlas UI Kit for Figma](/howto10/front-end/figma-ui-kit/) — Learn how to set up and use the Atlas UI Kit for Figma. diff --git a/content/en/docs/howto10/front-end/atlas-ui/create-a-company-design-system.md b/content/en/docs/howto10/front-end/atlas-ui/create-a-company-design-system.md index e853abc1151..9f4aa7f9883 100644 --- a/content/en/docs/howto10/front-end/atlas-ui/create-a-company-design-system.md +++ b/content/en/docs/howto10/front-end/atlas-ui/create-a-company-design-system.md @@ -1,6 +1,6 @@ --- title: "Create a Company Design System" -url: /howto/front-end/create-a-company-design-system/ +url: /howto10/front-end/create-a-company-design-system/ weight: 45 --- @@ -24,14 +24,14 @@ For advice on how to design an app, consult the [Atlas Design System](https://at ## Adding a Company Theme Module -Add a new company theme module as described in the [Create a Theme Module](/howto/front-end/customize-styling-new/#create-theme-mod) section of *How to Customize Styling*. You can give this a name to your liking, for example MyCompany Theme. This is the module that can be used in the other apps, and/or be part of your company starter apps. +Add a new company theme module as described in the [Create a Theme Module](/howto10/front-end/customize-styling-new/#create-theme-mod) section of *How to Customize Styling*. You can give this a name to your liking, for example MyCompany Theme. This is the module that can be used in the other apps, and/or be part of your company starter apps. ## Customizing the Company Theme Module There are several things you can do to customize your company theme module: -* Customize the styling as described in the [Create a Theme Module](/howto/front-end/customize-styling-new/#create-theme-mod) section of *How to Customize Styling* -* Based on new styling, you can [add design properties](/howto/front-end/extend-design-properties/) +* Customize the styling as described in the [Create a Theme Module](/howto10/front-end/customize-styling-new/#create-theme-mod) section of *How to Customize Styling* +* Based on new styling, you can [add design properties](/howto10/front-end/extend-design-properties/) * Add your own layouts, page templates, building blocks — or change the existing ones ## Extending and Previewing diff --git a/content/en/docs/howto10/front-end/atlas-ui/customize-styling-new.md b/content/en/docs/howto10/front-end/atlas-ui/customize-styling-new.md index bc6ce465d23..edcbc7fa9e4 100644 --- a/content/en/docs/howto10/front-end/atlas-ui/customize-styling-new.md +++ b/content/en/docs/howto10/front-end/atlas-ui/customize-styling-new.md @@ -1,6 +1,6 @@ --- title: "Customize Styling" -url: /howto/front-end/customize-styling-new/ +url: /howto10/front-end/customize-styling-new/ weight: 20 description: "This describes how developers can change apps styling and create re-usable styling." --- @@ -107,17 +107,17 @@ See the following fragment as an example of how additional CSS can be added to y ## Creating Re-Usable Styling -The previous section describes how developers can customize the styling of an app. Next to that it is possible to place styling inside modules, which then can be re-used in other apps. This can be used to [create a theme module](#create-theme-mod) or a [company design system](/howto/front-end/create-a-company-design-system/). +The previous section describes how developers can customize the styling of an app. Next to that it is possible to place styling inside modules, which then can be re-used in other apps. This can be used to [create a theme module](#create-theme-mod) or a [company design system](/howto10/front-end/create-a-company-design-system/). Adding styling to a module is similar to adding styling to an app, except that styling resources are placed in the **themesource** folder as explained in the [File and Folder Structure](#file-and-folder) section below. -For classes that are generic or that should be easily discovered, a developer can consider creating design properties for this. For more information, see [How to Extend Design Properties](/howto/front-end/extend-design-properties/). +For classes that are generic or that should be easily discovered, a developer can consider creating design properties for this. For more information, see [How to Extend Design Properties](/howto10/front-end/extend-design-properties/). ## Creating a Theme Module {#create-theme-mod} A theme module is useful for styling which can be easily re-used through modules across apps. By default, the theme settings like color, font, spacing, and more are in the **theme** folder, which is specific per app. However, often these settings should be re-used to create a consistent look and feel across apps. -This can be done by creating a theme module and making the *custom-variables* file in the **theme** folder point to the custom variables file in your theme module. For creating a full design system see [How to Create a Company Design System](/howto/front-end/create-a-company-design-system/). +This can be done by creating a theme module and making the *custom-variables* file in the **theme** folder point to the custom variables file in your theme module. For creating a full design system see [How to Create a Company Design System](/howto10/front-end/create-a-company-design-system/). See the examples below for more information on creating a re-usable theme module. @@ -185,7 +185,7 @@ $brand-danger: #e33f4e; You can now export the **mytheme** module from Studio Pro to re-use in your apps. Note that you need to add the `@import …` line to *theme/web/custom-variables.scss* for every app that imports the module. Therefore, Mendix recommends creating a company starter app containing this change. -To test the theme for all the widgets, page templates, and building blocks it can be helpful to use the Atlas Design System app as discussed in [Create a Company Design System](/howto/front-end/create-a-company-design-system/). +To test the theme for all the widgets, page templates, and building blocks it can be helpful to use the Atlas Design System app as discussed in [Create a Company Design System](/howto10/front-end/create-a-company-design-system/). #### Native Mobile @@ -592,7 +592,7 @@ When an end-user opens a Mendix app in an unsupported browser, a page is shown t By default, Atlas uses the font Open Sans, and the font files are loaded from the Google Fonts Content Delivery Network (CDN). While the Google Fonts CDN is convenient, you might need to change your font file service location. -For example, you may need to change your font file service location in order to comply with stricter [CSP](/howto/security/csp/) policies, or if you cannot use Google Fonts CDN due to business requirements. Fortunately, you can serve fonts from your own local server instead of using the Google Fonts CDN using the sections below. +For example, you may need to change your font file service location in order to comply with stricter [CSP](/howto10/security/csp/) policies, or if you cannot use Google Fonts CDN due to business requirements. Fortunately, you can serve fonts from your own local server instead of using the Google Fonts CDN using the sections below. ### Downloading Font Files diff --git a/content/en/docs/howto10/front-end/atlas-ui/extend-design-properties.md b/content/en/docs/howto10/front-end/atlas-ui/extend-design-properties.md index 429dac6f9eb..27d1eb3d226 100644 --- a/content/en/docs/howto10/front-end/atlas-ui/extend-design-properties.md +++ b/content/en/docs/howto10/front-end/atlas-ui/extend-design-properties.md @@ -1,6 +1,6 @@ --- title: "Extend Design Properties" -url: /howto/front-end/extend-design-properties/ +url: /howto10/front-end/extend-design-properties/ weight: 60 --- @@ -16,4 +16,4 @@ Design properties are visible as part of the widget properties: For more information on learning how to add design properties, see the [Design Properties API Documentation](/apidocs-mxsdk/apidocs/design-properties/). -Developers can also add additional design properties as part of a module. For more information, see the [File and Folder Structure](/howto/front-end/customize-styling-new/#file-and-folder) section of *How to Customize Styling*. +Developers can also add additional design properties as part of a module. For more information, see the [File and Folder Structure](/howto10/front-end/customize-styling-new/#file-and-folder) section of *How to Customize Styling*. diff --git a/content/en/docs/howto10/front-end/atlas-ui/figma-ui-kit.md b/content/en/docs/howto10/front-end/atlas-ui/figma-ui-kit.md index 89afd6acba4..e0f6a3822d4 100644 --- a/content/en/docs/howto10/front-end/atlas-ui/figma-ui-kit.md +++ b/content/en/docs/howto10/front-end/atlas-ui/figma-ui-kit.md @@ -1,6 +1,6 @@ --- title: "Atlas UI Kit for Figma" -url: /howto/front-end/figma-ui-kit/ +url: /howto10/front-end/figma-ui-kit/ weight: 70 description: "Learn how to set up and use the Atlas UI Kit for Figma." --- @@ -41,6 +41,6 @@ The following practices are *not* recommended: ## Read More -* [Customize Styling](/howto/front-end/customize-styling-new/) -* [Implement Best Practices for UX Design](/howto/front-end/ux-best-practices/) -* [Configure Your Theme](/howto/front-end/configuring-your-theme/) +* [Customize Styling](/howto10/front-end/customize-styling-new/) +* [Implement Best Practices for UX Design](/howto10/front-end/ux-best-practices/) +* [Configure Your Theme](/howto10/front-end/configuring-your-theme/) diff --git a/content/en/docs/howto10/front-end/atlas-ui/get-started/_index.md b/content/en/docs/howto10/front-end/atlas-ui/get-started/_index.md index 475d5ee7e22..56a7d4098ff 100644 --- a/content/en/docs/howto10/front-end/atlas-ui/get-started/_index.md +++ b/content/en/docs/howto10/front-end/atlas-ui/get-started/_index.md @@ -1,6 +1,6 @@ --- title: "Get Started" -url: /howto/front-end/get-started/ +url: /howto10/front-end/get-started/ weight: 10 --- @@ -48,8 +48,8 @@ When Mendix releases a new version of these modules, these can be updated as reg ## Customizing Default Look and Feel -Mendix apps come out of the box with the default Atlas look and feel, which can be customized by [changing the theme settings](/howto/front-end/customize-styling-new/) and by [adding custom styling](/howto/front-end/customize-styling-new/). Next to that, it is possible to implement your own Design System or UI Kit as described in [Create a Company Design System](/howto/front-end/create-a-company-design-system/). +Mendix apps come out of the box with the default Atlas look and feel, which can be customized by [changing the theme settings](/howto10/front-end/customize-styling-new/) and by [adding custom styling](/howto10/front-end/customize-styling-new/). Next to that, it is possible to implement your own Design System or UI Kit as described in [Create a Company Design System](/howto10/front-end/create-a-company-design-system/). ## Re-Using Designs Across Apps -To enable re-use and consistency it is possible to create UI modules that contain styling, design properties, page templates, building blocks and layouts. This can be used to implement the company brand as a re-usable module as described in [Create a Company Design System](/howto/front-end/create-a-company-design-system/) or to group certain UI functionality together. +To enable re-use and consistency it is possible to create UI modules that contain styling, design properties, page templates, building blocks and layouts. This can be used to implement the company brand as a re-usable module as described in [Create a Company Design System](/howto10/front-end/create-a-company-design-system/) or to group certain UI functionality together. diff --git a/content/en/docs/howto10/front-end/atlas-ui/module-level-theme-settings.md b/content/en/docs/howto10/front-end/atlas-ui/module-level-theme-settings.md index 3989129d82c..17a4be182c3 100644 --- a/content/en/docs/howto10/front-end/atlas-ui/module-level-theme-settings.md +++ b/content/en/docs/howto10/front-end/atlas-ui/module-level-theme-settings.md @@ -1,17 +1,17 @@ --- title: "Configure Module-Level Theme Settings" -url: /howto/front-end/module-level-theme-settings/ +url: /howto10/front-end/module-level-theme-settings/ weight: 25 description: "Understand the advanced options of module-level theme settings." --- ## Introduction -Atlas UI gives you a powerful tool to build a modern user experience. However, the flexibility of Mendix does not stop you from making your design system from scratch. This document will introduce you to the advanced options that module-level theme settings provide. For more information on making a theme module, see the [Create a Theme Module](/howto/front-end/customize-styling-new/#create-theme-mod) section of *Customize Styling*. +Atlas UI gives you a powerful tool to build a modern user experience. However, the flexibility of Mendix does not stop you from making your design system from scratch. This document will introduce you to the advanced options that module-level theme settings provide. For more information on making a theme module, see the [Create a Theme Module](/howto10/front-end/customize-styling-new/#create-theme-mod) section of *Customize Styling*. The module-level theme settings enable you to control the theme system behavior in Studio Pro. As the name implies, you have a separate settings file for each module which you can find under **themesource/{your-module}/settings.json**. -If you wish for further guidance on front-end best practices, see [Implement Best Practices for UX Design](/howto/front-end/ux-best-practices/). +If you wish for further guidance on front-end best practices, see [Implement Best Practices for UX Design](/howto10/front-end/ux-best-practices/). ## Excluding UI Elements and Styling @@ -67,7 +67,7 @@ Similar to layouts and page templates, excluding the [building blocks](/refguide ### Filtering Design Properties and Styling -Filtering styling elements like [design properties](/apidocs-mxsdk/apidocs/design-properties/) or [CSS classes](/howto/front-end/customize-styling-new/) is useful when you do not want your developers to apply them. Here is a small example: +Filtering styling elements like [design properties](/apidocs-mxsdk/apidocs/design-properties/) or [CSS classes](/howto10/front-end/customize-styling-new/) is useful when you do not want your developers to apply them. Here is a small example: ```json { @@ -106,5 +106,5 @@ Atlas Core provides the base functionalities required by your design system. The ## Read More -* [Create a Company Design System](/howto/front-end/create-a-company-design-system/) +* [Create a Company Design System](/howto10/front-end/create-a-company-design-system/) * [Atlas 3 Site](https://atlas.mendix.com) diff --git a/content/en/docs/howto10/front-end/configuring-your-theme.md b/content/en/docs/howto10/front-end/configuring-your-theme.md index 4c09c174384..63cbb758e90 100644 --- a/content/en/docs/howto10/front-end/configuring-your-theme.md +++ b/content/en/docs/howto10/front-end/configuring-your-theme.md @@ -1,6 +1,6 @@ --- title: "Configure Your Theme" -url: /howto/front-end/configuring-your-theme/ +url: /howto10/front-end/configuring-your-theme/ weight: 15 description: "Describes how to configure the styling of your page in Studio Pro." #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. diff --git a/content/en/docs/howto10/front-end/conversation-best-practices.md b/content/en/docs/howto10/front-end/conversation-best-practices.md index 4e5a2aab826..896e8e6e7b2 100644 --- a/content/en/docs/howto10/front-end/conversation-best-practices.md +++ b/content/en/docs/howto10/front-end/conversation-best-practices.md @@ -1,6 +1,6 @@ --- title: "Conversational AI Design Checklist" -url: /howto/front-end/conversation-checklist/ +url: /howto10/front-end/conversation-checklist/ linktitle: "Conversational Design Checklist" weight: 70 description: "Describes best practices for designing Conversational AI Bots." diff --git a/content/en/docs/howto10/front-end/create-your-first-two-overview-and-detail-pages.md b/content/en/docs/howto10/front-end/create-your-first-two-overview-and-detail-pages.md index ada0e8b8520..f60772d27cb 100644 --- a/content/en/docs/howto10/front-end/create-your-first-two-overview-and-detail-pages.md +++ b/content/en/docs/howto10/front-end/create-your-first-two-overview-and-detail-pages.md @@ -1,7 +1,7 @@ --- title: "Create Your First Two Overview and Detail Pages" linktitle: "Create Overview and Detail Pages" -url: /howto/front-end/create-your-first-two-overview-and-detail-pages/ +url: /howto10/front-end/create-your-first-two-overview-and-detail-pages/ weight: 25 description: "Describes how to create overview and detail pages, and how to configure navigation and security." --- @@ -96,12 +96,12 @@ To create a new detail page manually, follow these steps: Now create a navigation item for your overview page to start using it. For details on Setting Up Navigation, see [Setting Up Navigation](/refguide10/setting-up-the-navigation-structure/). -If you switched on security for this application, you also need to configure page access on both the overview and detail pages. For more information, see [How to Create a Secure App](/howto/security/create-a-secure-app/). +If you switched on security for this application, you also need to configure page access on both the overview and detail pages. For more information, see [How to Create a Secure App](/howto10/security/create-a-secure-app/). ## Read More -* [UI Design](/howto/front-end/atlas-ui/) -* [Use Layouts and Snippets](/howto/front-end/layouts-and-snippets/) +* [UI Design](/howto10/front-end/atlas-ui/) +* [Use Layouts and Snippets](/howto10/front-end/layouts-and-snippets/) * [Setting Up Navigation](/refguide10/setting-up-the-navigation-structure/) -* [Find the Root Cause of Runtime Errors](/howto/monitoring-troubleshooting/finding-the-root-cause-of-runtime-errors/) +* [Find the Root Cause of Runtime Errors](/howto10/monitoring-troubleshooting/finding-the-root-cause-of-runtime-errors/) * [Page](/refguide10/page/) diff --git a/content/en/docs/howto10/front-end/custom-error-page.md b/content/en/docs/howto10/front-end/custom-error-page.md index 82be9bd08e6..d2301fa22e5 100644 --- a/content/en/docs/howto10/front-end/custom-error-page.md +++ b/content/en/docs/howto10/front-end/custom-error-page.md @@ -1,6 +1,6 @@ --- title: "Create Custom Error Pages" -url: /howto/front-end/custom-error-page/ +url: /howto10/front-end/custom-error-page/ weight: 55 description: "Describes how to create a custom error page for a more tailored user experience." --- @@ -91,7 +91,7 @@ This example refers to *style.css* and *script.js*, which you should also create ## Creating a Re-Usable Custom Error Page {#create-reusable-error} -It is also possible to create custom error pages inside [re-usable theme modules](/howto/front-end/customize-styling-new/#create-theme-mod). +It is also possible to create custom error pages inside [re-usable theme modules](/howto10/front-end/customize-styling-new/#create-theme-mod). To create a custom error page inside your theme module, do the following: @@ -118,7 +118,7 @@ To create a custom error page inside your theme module, do the following: Now you have a custom error page inside a re-usable theme module! When this module is imported into other apps, its custom error pages will automatically become available. -This can also be used in a [company design system](/howto/front-end/create-a-company-design-system/). +This can also be used in a [company design system](/howto10/front-end/create-a-company-design-system/). {{% alert color="info" %}} Error pages created inside your app's **theme/web** folder will override error pages that are included in a theme module. diff --git a/content/en/docs/howto10/front-end/layouts-and-snippets.md b/content/en/docs/howto10/front-end/layouts-and-snippets.md index e30891bf1e3..f787354eb97 100644 --- a/content/en/docs/howto10/front-end/layouts-and-snippets.md +++ b/content/en/docs/howto10/front-end/layouts-and-snippets.md @@ -1,6 +1,6 @@ --- title: "Use Layouts and Snippets" -url: /howto/front-end/layouts-and-snippets/ +url: /howto10/front-end/layouts-and-snippets/ weight: 30 description: "Describes how to create pages using layouts and snippets." --- @@ -203,8 +203,8 @@ In addition, a snippet can define an entity that serves as a context for the wid ## Read More -* [Atlas UI](/howto/front-end/atlas-ui/) -* [Use Layouts and Snippets](/howto/front-end/layouts-and-snippets/) +* [Atlas UI](/howto10/front-end/atlas-ui/) +* [Use Layouts and Snippets](/howto10/front-end/layouts-and-snippets/) * [Setting Up Navigation](/refguide10/setting-up-the-navigation-structure/) -* [Create Your First Two Overview and Detail Pages](/howto/front-end/create-your-first-two-overview-and-detail-pages/) -* [Find the Root Cause of Runtime Errors](/howto/monitoring-troubleshooting/finding-the-root-cause-of-runtime-errors/) +* [Create Your First Two Overview and Detail Pages](/howto10/front-end/create-your-first-two-overview-and-detail-pages/) +* [Find the Root Cause of Runtime Errors](/howto10/monitoring-troubleshooting/finding-the-root-cause-of-runtime-errors/) diff --git a/content/en/docs/howto10/front-end/selenium-support.md b/content/en/docs/howto10/front-end/selenium-support.md index 2a66474034d..c58bacb8997 100644 --- a/content/en/docs/howto10/front-end/selenium-support.md +++ b/content/en/docs/howto10/front-end/selenium-support.md @@ -1,10 +1,10 @@ --- title: "Configure Selenium Support" -url: /howto/front-end/selenium-support/ +url: /howto10/front-end/selenium-support/ weight: 16 description: "Describes Selenium best practices, including advice on naming conventions." aliases: - - /howto/integration/selenium-support/ + - /howto10/integration/selenium-support/ --- ## Introduction @@ -58,10 +58,10 @@ Note that the fourth row in a grid has an index of `3`. ## Read More -* [Test Mendix Applications Using Selenium IDE](/howto/testing/testing-mendix-applications-using-selenium-ide/) -* [Consume a Complex Web Service](/howto/integration/consume-a-complex-web-service/) -* [Consume a Simple Web Service](/howto/integration/consume-a-simple-web-service/) -* [Import Excel Documents](/howto/integration/importing-excel-documents/) -* [Export XML Documents](/howto/integration/export-xml-documents/) -* [Expose a Web Service](/howto/integration/expose-a-web-service/) -* [Import XML Documents](/howto/integration/importing-xml-documents/) +* [Test Mendix Applications Using Selenium IDE](/howto10/testing/testing-mendix-applications-using-selenium-ide/) +* [Consume a Complex Web Service](/howto10/integration/consume-a-complex-web-service/) +* [Consume a Simple Web Service](/howto10/integration/consume-a-simple-web-service/) +* [Import Excel Documents](/howto10/integration/importing-excel-documents/) +* [Export XML Documents](/howto10/integration/export-xml-documents/) +* [Expose a Web Service](/howto10/integration/expose-a-web-service/) +* [Import XML Documents](/howto10/integration/importing-xml-documents/) diff --git a/content/en/docs/howto10/front-end/styles.md b/content/en/docs/howto10/front-end/styles.md index 919a8d57d28..f3bc94d9988 100644 --- a/content/en/docs/howto10/front-end/styles.md +++ b/content/en/docs/howto10/front-end/styles.md @@ -1,6 +1,6 @@ --- title: "Implement Classes" -url: /howto/front-end/styles/ +url: /howto10/front-end/styles/ description: "Describes details on using class names for text colors, buttons, and other style elements." weight: 45 --- diff --git a/content/en/docs/howto10/front-end/use-navigation-layouts.md b/content/en/docs/howto10/front-end/use-navigation-layouts.md index d8f848ec4ea..58df0e954ea 100644 --- a/content/en/docs/howto10/front-end/use-navigation-layouts.md +++ b/content/en/docs/howto10/front-end/use-navigation-layouts.md @@ -1,6 +1,6 @@ --- title: "Use Navigation Layouts" -url: /howto/front-end/use-navigation-layouts/ +url: /howto10/front-end/use-navigation-layouts/ weight: 12 description: "Describes how to choose, design, and configure your navigation layouts." --- @@ -255,4 +255,4 @@ To toggle the sidebar for **Slide over content**, follow these steps: ## Read More * Check the [Atlas UI](https://www.mendix.com/atlas/) page for more information on the Atlas UI framework -* See the [Layout Examples](/howto/front-end/layouts-and-snippets/#layout-examples) section of *How to Use Layouts and Snippets* for more information on creating your own navigation layouts +* See the [Layout Examples](/howto10/front-end/layouts-and-snippets/#layout-examples) section of *How to Use Layouts and Snippets* for more information on creating your own navigation layouts diff --git a/content/en/docs/howto10/front-end/ux-best-practices.md b/content/en/docs/howto10/front-end/ux-best-practices.md index 08875ac3e57..20f58e4292e 100644 --- a/content/en/docs/howto10/front-end/ux-best-practices.md +++ b/content/en/docs/howto10/front-end/ux-best-practices.md @@ -1,7 +1,7 @@ --- title: "Implement Best Practices for UX Design" linktitle: "UX Design Best Practices" -url: /howto/front-end/ux-best-practices/ +url: /howto10/front-end/ux-best-practices/ weight: 10 description: "Describes best practices written by a UX Designer for contributing to the app development process." aliases: diff --git a/content/en/docs/howto10/security/_index.md b/content/en/docs/howto10/security/_index.md index 8f122dd535b..719c3fe65c5 100644 --- a/content/en/docs/howto10/security/_index.md +++ b/content/en/docs/howto10/security/_index.md @@ -1,7 +1,7 @@ --- title: "Securing Your Data" linktitle: "Security" -url: /howto/security/ +url: /howto10/security/ weight: 90 description: "Presents a series of how-tos to secure your data and ensure that the right user is seeing the right data." no_list: false diff --git a/content/en/docs/howto10/security/best-practices-security.md b/content/en/docs/howto10/security/best-practices-security.md index 2836ef83e30..d571863a071 100644 --- a/content/en/docs/howto10/security/best-practices-security.md +++ b/content/en/docs/howto10/security/best-practices-security.md @@ -1,7 +1,7 @@ --- title: "Implement Best Practices for App Security" linktitle: "Best Practices for App Security" -url: /howto/security/best-practices-security/ +url: /howto10/security/best-practices-security/ weight: 20 description: "Describes the common aspects you should consider when delivering an application within Mendix Cloud." aliases: @@ -22,7 +22,7 @@ The Mendix architecture includes the Mendix Client, which can compose its own qu {{< figure src="/attachments/howto10/security/best-practices-security/mendix-runtime-architecture.png" alt="Mendix Runtime Architecture" width="500" class="no-border" >}} -When designing an application, you can specify access rules on an entity (for more information, see [How to Create A Secure App](/howto/security/create-a-secure-app/)). These access rules are applied whenever a query (received from a client) should be executed, thus they constrain the data returned to the client. For example, users with the "Customer" role can only view orders that are associated to the customer of which this user is part. +When designing an application, you can specify access rules on an entity (for more information, see [How to Create A Secure App](/howto10/security/create-a-secure-app/)). These access rules are applied whenever a query (received from a client) should be executed, thus they constrain the data returned to the client. For example, users with the "Customer" role can only view orders that are associated to the customer of which this user is part. While the data that should be viewable and editable in which role is application-specific, the following best practices are key: diff --git a/content/en/docs/howto10/security/create-a-secure-app.md b/content/en/docs/howto10/security/create-a-secure-app.md index 882a3a768c1..8e6cf75653b 100644 --- a/content/en/docs/howto10/security/create-a-secure-app.md +++ b/content/en/docs/howto10/security/create-a-secure-app.md @@ -1,6 +1,6 @@ --- title: "Create a Secure App" -url: /howto/security/create-a-secure-app/ +url: /howto10/security/create-a-secure-app/ weight: 10 description: "Describes how to turn your application security on and how to configure it to secure the data." --- @@ -21,7 +21,7 @@ This how-to teaches you how to do the following: Before starting with this how-to, make sure you have completed the following prerequisites: * Know how to create a domain model (for details, see [Creating a Basic Data Layer](/refguide10/configuring-a-domain-model/)) -* Know how to create overview and detail pages (for details, see [How to Create Your First Two Overview and Details Pages](/howto/front-end/create-your-first-two-overview-and-detail-pages/)) +* Know how to create overview and detail pages (for details, see [How to Create Your First Two Overview and Details Pages](/howto10/front-end/create-your-first-two-overview-and-detail-pages/)) * Know how to create menu items (for details, see [Setting Up Navigation](/refguide10/setting-up-the-navigation-structure/)) * Know how to add action buttons (for details, see [Buttons](/refguide10/button-widgets/)) @@ -283,4 +283,4 @@ An XPath constraint can be used to constrain the set of objects to which the acc ## Read More -* [Set Up Anonymous User Security](/howto/security/set-up-anonymous-user-security/) +* [Set Up Anonymous User Security](/howto10/security/set-up-anonymous-user-security/) diff --git a/content/en/docs/howto10/security/csp.md b/content/en/docs/howto10/security/csp.md index 143a8e803ea..37a5bab3f15 100644 --- a/content/en/docs/howto10/security/csp.md +++ b/content/en/docs/howto10/security/csp.md @@ -1,10 +1,10 @@ --- title: "Content Security Policy" -url: /howto/security/csp/ +url: /howto10/security/csp/ weight: 80 description: By employing a content security policy (CSP) in your app, you can protect it from malicious content which might try to take advantage of the app's trusted web page context. aliases: - - /howto/security/using-mobile-capabilities/csp/ + - /howto10/security/using-mobile-capabilities/csp/ --- ## Introduction @@ -67,7 +67,7 @@ if (typeof Symbol !== "function") { } ``` -Finally, the *theme/web/index.html* file needs to be changed to use these files directly. If you lack this file, please follow the [Customizing index.html (Web)](/howto/front-end/customize-styling-new/#custom-web) section of *Customize Styling*. +Finally, the *theme/web/index.html* file needs to be changed to use these files directly. If you lack this file, please follow the [Customizing index.html (Web)](/howto10/front-end/customize-styling-new/#custom-web) section of *Customize Styling*. In *theme/web/index.html* do the following: diff --git a/content/en/docs/howto10/security/set-up-anonymous-user-security.md b/content/en/docs/howto10/security/set-up-anonymous-user-security.md index 8240a16752a..50d9265725f 100644 --- a/content/en/docs/howto10/security/set-up-anonymous-user-security.md +++ b/content/en/docs/howto10/security/set-up-anonymous-user-security.md @@ -1,6 +1,6 @@ --- title: "Set Up Anonymous User Security" -url: /howto/security/set-up-anonymous-user-security/ +url: /howto10/security/set-up-anonymous-user-security/ weight: 30 description: "Describes how to set access to a non-persistable object and give anonymous users read and write access." --- @@ -52,4 +52,4 @@ Limiting the navigation or page display is not the same thing as security. All d ## Read More -* [Creating a Secure App](/howto/security/create-a-secure-app/) +* [Creating a Secure App](/howto10/security/create-a-secure-app/) diff --git a/content/en/docs/howto10/testing/_index.md b/content/en/docs/howto10/testing/_index.md index 306068bc6b0..d6d0369b09a 100644 --- a/content/en/docs/howto10/testing/_index.md +++ b/content/en/docs/howto10/testing/_index.md @@ -1,6 +1,6 @@ --- title: "Testing" -url: /howto/testing/ +url: /howto10/testing/ weight: 100 description: "Presents test-related how-tos and blogs written by Mendix professionals." no_list: false diff --git a/content/en/docs/howto10/testing/testing-mendix-applications-using-selenium-ide.md b/content/en/docs/howto10/testing/testing-mendix-applications-using-selenium-ide.md index eba91b9fd3a..977c6f82c05 100644 --- a/content/en/docs/howto10/testing/testing-mendix-applications-using-selenium-ide.md +++ b/content/en/docs/howto10/testing/testing-mendix-applications-using-selenium-ide.md @@ -1,6 +1,6 @@ --- title: "Test Mendix Apps Using Selenium IDE" -url: /howto/testing/testing-mendix-applications-using-selenium-ide/ +url: /howto10/testing/testing-mendix-applications-using-selenium-ide/ weight: 40 description: "Describes how to download and install Selenium IDE as a Mozilla Firefox plugin." --- @@ -127,10 +127,10 @@ In this example scenario, you need to do the following: ## Read More -* [Find the Root Cause of Runtime Errors](/howto/monitoring-troubleshooting/finding-the-root-cause-of-runtime-errors/) -* [Clear Warning Messages in Mendix](/howto/monitoring-troubleshooting/clear-warning-messages/) -* [Test Web Services Using SoapUI](/howto/testing/testing-web-services-using-soapui/) -* [Monitor Mendix Using JMX](/howto/monitoring-troubleshooting/monitoring-mendix-using-jmx/) +* [Find the Root Cause of Runtime Errors](/howto10/monitoring-troubleshooting/finding-the-root-cause-of-runtime-errors/) +* [Clear Warning Messages in Mendix](/howto10/monitoring-troubleshooting/clear-warning-messages/) +* [Test Web Services Using SoapUI](/howto10/testing/testing-web-services-using-soapui/) +* [Monitor Mendix Using JMX](/howto10/monitoring-troubleshooting/monitoring-mendix-using-jmx/) Learn more about this topic using the following helpful link: diff --git a/content/en/docs/refguide10/_index.md b/content/en/docs/refguide10/_index.md index 7422954e3ff..9c4a5f6dcc9 100644 --- a/content/en/docs/refguide10/_index.md +++ b/content/en/docs/refguide10/_index.md @@ -22,7 +22,7 @@ If you have been using Studio Pro version 9, Mendix recommends reading [Upgradin If you are looking to build your first app, check out the [Quick Starts](/quickstarts/). -If you are looking for step-by-step guides on performing various Mendix actions, browse the [Studio Pro 10 How-tos](/howto/). +If you are looking for step-by-step guides on performing various Mendix actions, browse the [Studio Pro 10 How-tos](/howto10/). ## Studio Pro Functionality @@ -34,7 +34,7 @@ Modeling an app is the process of creating an app and involves creating pages, a ### Testing -When it comes to testing your application, you first need to decide what you are going to test: integration with external services, app logic (microflows), etc. For more information on how to test your application, see [Testing](/howto/testing/). +When it comes to testing your application, you first need to decide what you are going to test: integration with external services, app logic (microflows), etc. For more information on how to test your application, see [Testing](/howto10/testing/). ### Deploying diff --git a/content/en/docs/refguide10/general/developer-tools.md b/content/en/docs/refguide10/general/developer-tools.md index 8c4bf1405e4..111b6738b75 100644 --- a/content/en/docs/refguide10/general/developer-tools.md +++ b/content/en/docs/refguide10/general/developer-tools.md @@ -11,5 +11,5 @@ To make development a little easier, here is a list of helpful third-party tools * [Firefox DevTools](https://www.mozilla.org/en-US/firefox/developer/?utm_source=firebug&utm_medium=lp&utm_campaign=switch&utm_content=landingpage) – these developer tools replace [Firebug](https://getfirebug.com/), which is no longer being supported * [Selenium](https://www.seleniumhq.org/) – tools for automating web browsers * [Eclipse](https://www.eclipse.org/downloads/) – tools for writing and debugging Java actions (for more information, see [Using Eclipse](/refguide10/using-eclipse/)) -* [SOAP UI](https://www.soapui.org/) – REST and SOAP testing tools (for more information, see [How to Test Web Services Using SoapUI](/howto/testing/testing-web-services-using-soapui/)) +* [SOAP UI](https://www.soapui.org/) – REST and SOAP testing tools (for more information, see [How to Test Web Services Using SoapUI](/howto10/testing/testing-web-services-using-soapui/)) * [Visual Studio Code](https://code.visualstudio.com/) – a powerful code editor (especially useful for maintaining your theme) diff --git a/content/en/docs/refguide10/installation/install.md b/content/en/docs/refguide10/installation/install.md index ee5b5d22b81..270526d1d89 100644 --- a/content/en/docs/refguide10/installation/install.md +++ b/content/en/docs/refguide10/installation/install.md @@ -5,7 +5,7 @@ linktitle: "Installing Studio Pro" weight: 10 description: "Describes how to install Mendix Studio Pro." aliases: - - /howto/general/install/ + - /howto10/general/install/ --- {{% button color="info" href="https://marketplace.mendix.com/link/studiopro/" text="Go to Marketplace" title="Download Studio Pro from the Marketplace" %}} diff --git a/content/en/docs/refguide10/installation/system-requirements.md b/content/en/docs/refguide10/installation/system-requirements.md index 89b74f09325..2e55eaeca12 100644 --- a/content/en/docs/refguide10/installation/system-requirements.md +++ b/content/en/docs/refguide10/installation/system-requirements.md @@ -67,7 +67,7 @@ You can choose which JDK is used for building and running locally via the **Edit {{% /alert %}} {{% alert color="warning" %}} -Please note the limitation that the database viewer built into Studio Pro (as described in [How to Share the Development Database](/howto/data-models/sharing-the-development-database/)) does not work with JDK 11.06 or 11.07. +Please note the limitation that the database viewer built into Studio Pro (as described in [How to Share the Development Database](/howto10/data-models/sharing-the-development-database/)) does not work with JDK 11.06 or 11.07. {{% /alert %}} #### Known Limitations for Mac {#mac-limitations} diff --git a/content/en/docs/refguide10/installation/using-mendix-studio-pro-on-a-mac.md b/content/en/docs/refguide10/installation/using-mendix-studio-pro-on-a-mac.md index ff178f56e45..2c594602a44 100644 --- a/content/en/docs/refguide10/installation/using-mendix-studio-pro-on-a-mac.md +++ b/content/en/docs/refguide10/installation/using-mendix-studio-pro-on-a-mac.md @@ -5,7 +5,7 @@ linktitle: "Configuring Parallels" weight: 40 description: "Describes how to start making Mendix apps on your Mac device." aliases: - - /howto/general/using-mendix-studio-pro-on-a-mac/ + - /howto10/general/using-mendix-studio-pro-on-a-mac/ --- ## Introduction diff --git a/content/en/docs/refguide10/java-programming/access-a-samba-share-from-the-mxcloud.md b/content/en/docs/refguide10/java-programming/access-a-samba-share-from-the-mxcloud.md index a8f5af45a8b..cf8245e18e2 100644 --- a/content/en/docs/refguide10/java-programming/access-a-samba-share-from-the-mxcloud.md +++ b/content/en/docs/refguide10/java-programming/access-a-samba-share-from-the-mxcloud.md @@ -4,7 +4,7 @@ url: /refguide10/access-a-samba-share/ weight: 43 description: "Describes how to access a Samba share from the MxCloud and use a server name." aliases: - - /howto/integration/access-a-samba-share-from-the-mxcloud/ + - /howto10/integration/access-a-samba-share-from-the-mxcloud/ --- ## Introduction diff --git a/content/en/docs/refguide10/java-programming/debug-java-actions/_index.md b/content/en/docs/refguide10/java-programming/debug-java-actions/_index.md index 49cc5a72fc1..eb39ffff260 100644 --- a/content/en/docs/refguide10/java-programming/debug-java-actions/_index.md +++ b/content/en/docs/refguide10/java-programming/debug-java-actions/_index.md @@ -4,7 +4,7 @@ url: /refguide10/debug-java-actions/ weight: 4 description: "Describes how to set breakpoints and debug Java actions in Eclipse." aliases: - - /howto/monitoring-troubleshooting/debug-java-actions/ + - /howto10/monitoring-troubleshooting/debug-java-actions/ #If moving or renaming this doc file, implement a temporary redirect and let the respective team know they should update the URL in the Evaluation Guide. See Mapping to Products for more details. # Linked from https://www.mendix.com/evaluation-guide/enterprise-capabilities/extensibility/ --- @@ -68,12 +68,12 @@ There is the following limitation: ## Read More -* [Find the Root Cause of Runtime Errors](/howto/monitoring-troubleshooting/finding-the-root-cause-of-runtime-errors/) -* [Clear Warning Messages in Mendix](/howto/monitoring-troubleshooting/clear-warning-messages/) -* [Test Web Services Using SoapUI](/howto/testing/testing-web-services-using-soapui/) -* [Monitor Mendix Using JMX](/howto/monitoring-troubleshooting/monitoring-mendix-using-jmx/) -* [Debug Java Actions Remotely](/howto/monitoring-troubleshooting/debug-java-actions-remotely/) -* [Log Levels](/howto/monitoring-troubleshooting/log-levels/) +* [Find the Root Cause of Runtime Errors](/howto10/monitoring-troubleshooting/finding-the-root-cause-of-runtime-errors/) +* [Clear Warning Messages in Mendix](/howto10/monitoring-troubleshooting/clear-warning-messages/) +* [Test Web Services Using SoapUI](/howto10/testing/testing-web-services-using-soapui/) +* [Monitor Mendix Using JMX](/howto10/monitoring-troubleshooting/monitoring-mendix-using-jmx/) +* [Debug Java Actions Remotely](/howto10/monitoring-troubleshooting/debug-java-actions-remotely/) +* [Log Levels](/howto10/monitoring-troubleshooting/log-levels/) * [Debugging Microflows and Nanoflows](/refguide10/debug-microflows-and-nanoflows/) * [Debugging Microflows Remotely](/refguide10/debug-microflows-remotely/) * [Java Actions](/refguide10/java-actions/) diff --git a/content/en/docs/refguide10/java-programming/debug-java-actions/debug-java-actions-remotely.md b/content/en/docs/refguide10/java-programming/debug-java-actions/debug-java-actions-remotely.md index 65d7b56ee29..750e5d57090 100644 --- a/content/en/docs/refguide10/java-programming/debug-java-actions/debug-java-actions-remotely.md +++ b/content/en/docs/refguide10/java-programming/debug-java-actions/debug-java-actions-remotely.md @@ -2,7 +2,7 @@ title: "Debug Java Actions Remotely" url: /refguide10/debug-java-actions-remotely/ aliases: - - /howto/monitoring-troubleshooting/debug-java-actions-remotely/ + - /howto10/monitoring-troubleshooting/debug-java-actions-remotely/ --- ## Introduction @@ -50,8 +50,8 @@ To configure Eclipse, follow these steps: ## Read More -* [Find the Root Cause of Runtime Errors](/howto/monitoring-troubleshooting/finding-the-root-cause-of-runtime-errors/) -* [Clear Warning Messages in Mendix](/howto/monitoring-troubleshooting/clear-warning-messages/) -* [Test Web Services Using SoapUI](/howto/testing/testing-web-services-using-soapui/) -* [Monitor Mendix Using JMX](/howto/monitoring-troubleshooting/monitoring-mendix-using-jmx/) -* [Debug Java Actions](/howto/monitoring-troubleshooting/debug-java-actions/) +* [Find the Root Cause of Runtime Errors](/howto10/monitoring-troubleshooting/finding-the-root-cause-of-runtime-errors/) +* [Clear Warning Messages in Mendix](/howto10/monitoring-troubleshooting/clear-warning-messages/) +* [Test Web Services Using SoapUI](/howto10/testing/testing-web-services-using-soapui/) +* [Monitor Mendix Using JMX](/howto10/monitoring-troubleshooting/monitoring-mendix-using-jmx/) +* [Debug Java Actions](/howto10/monitoring-troubleshooting/debug-java-actions/) diff --git a/content/en/docs/refguide10/mobile/_index.md b/content/en/docs/refguide10/mobile/_index.md index 26e2656e60a..b27227afc15 100644 --- a/content/en/docs/refguide10/mobile/_index.md +++ b/content/en/docs/refguide10/mobile/_index.md @@ -6,7 +6,7 @@ description: "Gives an overview of mobile app development with Mendix." no_list: true #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. aliases: - - /howto/mobile/ + - /howto10/mobile/ --- ## Introduction diff --git a/content/en/docs/refguide10/mobile/building-efficient-mobile-apps/offlinefirst-data/local-data-security.md b/content/en/docs/refguide10/mobile/building-efficient-mobile-apps/offlinefirst-data/local-data-security.md index 9a0783bfaf6..0f64b3d7618 100644 --- a/content/en/docs/refguide10/mobile/building-efficient-mobile-apps/offlinefirst-data/local-data-security.md +++ b/content/en/docs/refguide10/mobile/building-efficient-mobile-apps/offlinefirst-data/local-data-security.md @@ -4,7 +4,7 @@ url: /refguide10/mobile/building-efficient-mobile-apps/offlinefirst-data/local-d weight: 85 description: "This documentation describes best practices to keep your offline data secure." aliases: - - /howto/mobile/encryption-database/ + - /howto10/mobile/encryption-database/ --- ## Introduction diff --git a/content/en/docs/refguide10/mobile/designing-mobile-user-interfaces/design-principles.md b/content/en/docs/refguide10/mobile/designing-mobile-user-interfaces/design-principles.md index 75451a5b1f3..594971ce2ea 100644 --- a/content/en/docs/refguide10/mobile/designing-mobile-user-interfaces/design-principles.md +++ b/content/en/docs/refguide10/mobile/designing-mobile-user-interfaces/design-principles.md @@ -4,7 +4,7 @@ url: /refguide10/mobile/designing-mobile-user-interfaces/design-principles/ weight: 10 description: "This document teaches you how to build a native mobile app's UI." aliases: - - /howto/mobile/ui-best-practices/ + - /howto10/mobile/ui-best-practices/ --- ## Introduction @@ -71,7 +71,7 @@ The design properties are located in *theme/settings-native.json*, and more info #### Creating the App Layouts -The default Atlas theme comes pre-bundled with a set of layouts. If these do not fit your app’s design, you can create or customize the layouts and name them accordingly. Do not change the supplied layouts. Either create a separate module with the custom layouts, page templates, and building blocks or [create your own](/howto/front-end/create-a-company-design-system/). +The default Atlas theme comes pre-bundled with a set of layouts. If these do not fit your app’s design, you can create or customize the layouts and name them accordingly. Do not change the supplied layouts. Either create a separate module with the custom layouts, page templates, and building blocks or [create your own](/howto10/front-end/create-a-company-design-system/). #### Creating Building Blocks for Common UI Structures @@ -109,7 +109,7 @@ Try to avoid very specific class names. Very specific class names are often only By changing styling in the **core** folder you risk incurring errors the next time you update Atlas. Updating Atlas might also be more difficult. -A large part of your app's overall styling can be changed in *theme/native/custom-variables.js*. However, if more changes are needed you could extend a widget’s default styling or define the default styling yourself. For more information, see [How to Extend Design Properties](/howto/front-end/extend-design-properties/). +A large part of your app's overall styling can be changed in *theme/native/custom-variables.js*. However, if more changes are needed you could extend a widget’s default styling or define the default styling yourself. For more information, see [How to Extend Design Properties](/howto10/front-end/extend-design-properties/). ### Favoring Design Properties Over Including Properties diff --git a/content/en/docs/refguide10/mobile/designing-mobile-user-interfaces/images-icons-and-fonts.md b/content/en/docs/refguide10/mobile/designing-mobile-user-interfaces/images-icons-and-fonts.md index 5ceb39a7313..010be94154b 100644 --- a/content/en/docs/refguide10/mobile/designing-mobile-user-interfaces/images-icons-and-fonts.md +++ b/content/en/docs/refguide10/mobile/designing-mobile-user-interfaces/images-icons-and-fonts.md @@ -5,7 +5,7 @@ weight: 30 description: "This tutorial teaches you how to enrich the design of your native mobile app with images and custom fonts." aliases: - /refguide10/native-svg/ - - /howto/mobile/native-custom-fonts/ + - /howto10/mobile/native-custom-fonts/ --- ## Introduction @@ -196,7 +196,7 @@ Before adding fonts [using the Mendix Native Mobile Builder](#fonts-nbui): Before [adding fonts manually](#manual): -* Understand the native mobile [local build process](/howto/mobile/native-build-locally/) +* Understand the native mobile [local build process](/howto10/mobile/native-build-locally/) * Locally check out your repository * Understand Git and have a Git tool installed * Have Xcode installed for the iOS sections below @@ -207,23 +207,23 @@ The Mendix Native Mobile Builder simplifies adding custom fonts to your app. It 1. Start the Mendix Native Mobile Builder: - {{< figure src="/attachments/howto/mobile/native-mobile/distribution/build-native-apps/deploying-native-app/start-nbui.png" alt="Start Native Builder" width="400" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/distribution/build-native-apps/deploying-native-app/start-nbui.png" alt="Start Native Builder" width="400" class="no-border" >}} 1. Navigate to **Custom Fonts**: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/native-custom-fonts/advanced-fonts.png" alt="Custom fonts screen" width="400" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/native-custom-fonts/advanced-fonts.png" alt="Custom fonts screen" width="400" class="no-border" >}} 1. Drag and drop the font files you would like to apply. For example, Times New Roman is being used here. When the process is complete you should see the font family uploaded in the list: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/native-custom-fonts/advanced-fonts2.png" alt="Custom fonts screen filled" width="400" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/native-custom-fonts/advanced-fonts2.png" alt="Custom fonts screen filled" width="400" class="no-border" >}} 1. Extend the list using the arrow to the right. Verify the expected fonts are available. You can continue by adding as many fonts as you prefer: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/native-custom-fonts/advanced-fonts2.png" alt="Custom fonts screen filled and extended" width="400" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/native-custom-fonts/advanced-fonts2.png" alt="Custom fonts screen filled and extended" width="400" class="no-border" >}} 1. Click the snippet button to get the code snippet which you can copy to your styles: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/native-custom-fonts/advanced-fonts4.png" alt="Custom fonts screen code snippet" width="400" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/native-custom-fonts/advanced-fonts4.png" alt="Custom fonts screen code snippet" width="400" class="no-border" >}} 1. Build your app to get a new binary with fonts included. @@ -233,15 +233,15 @@ To use the new fonts to style your content, follow these instructions: 1. Copy the snippet from the Native Mobile Builder: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/native-custom-fonts/advanced-fonts4.png" alt="Custom fonts screen code snippet" width="400" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/native-custom-fonts/advanced-fonts4.png" alt="Custom fonts screen code snippet" width="400" class="no-border" >}} 1. Open your styles *js* file and paste the snippet there. For this example, the *custom-variables.js* file is being used. For more information on styling your app, see [Native Styling](/refguide10/mobile/designing-mobile-user-interfaces/native-styling/): - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/native-custom-fonts/custom-variables.png" alt="Custom variables file" width="400" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/native-custom-fonts/custom-variables.png" alt="Custom variables file" width="400" class="no-border" >}} 1. The constant can now be imported and used to define the font family of any test style. Elements styled using these classes will now be styled using the font: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/native-custom-fonts/custom-style.png" alt="Custom style" width="400" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/native-custom-fonts/custom-style.png" alt="Custom style" width="400" class="no-border" >}} ### Adding Custom Fonts Manually {#manual} @@ -254,7 +254,7 @@ To manually add custom fonts to your Android app, follow these instructions: 1. Collect all the fonts you would like to use. 1. Use a tool like [Open Type Inspector](https://opentype.js.org/font-inspector.html) and derive the PostScript names for each font: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/native-custom-fonts/postscript-name.png" alt="Open Type Inspector name metadata" width="400" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/native-custom-fonts/postscript-name.png" alt="Open Type Inspector name metadata" width="400" class="no-border" >}} 1. Rename the fonts to match the Postscript name. The Times New Roman font used in our example has these options: * TimesNewRomanPSMT, for regular @@ -263,7 +263,7 @@ To manually add custom fonts to your Android app, follow these instructions: 1. Copy the renamed fonts to the `android\app\src\main\assets\fonts` folder. 1. If you plan on using the tool to build your app, commit your changes: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/native-custom-fonts/custom-fonts-android-repo.png" alt="GitHub repo after uploading custom fonts" width="400" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/native-custom-fonts/custom-fonts-android-repo.png" alt="GitHub repo after uploading custom fonts" width="400" class="no-border" >}} 1. Build your Android app using your preferred method. @@ -276,7 +276,7 @@ Use Xcode to manually add fonts to an iOS app: 1. Collect all the fonts you would like to use. 1. Use a tool like [Open Type Inspector](https://opentype.js.org/font-inspector.html) and derive the PostScript names for each font: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/native-custom-fonts/postscript-name.png" alt="Open Type Inspector name metadata" width="400" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/native-custom-fonts/postscript-name.png" alt="Open Type Inspector name metadata" width="400" class="no-border" >}} 1. Rename the fonts to match the Postscript name. The Times New Roman font used in our example has these options: * TimesNewRomanPSMT, for regular @@ -286,28 +286,28 @@ Use Xcode to manually add fonts to an iOS app: 1. Drag the renamed fonts into the **Resources/Fonts** folder in App Explorer. 1. Select both targets from the dialog box that shows up: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/native-custom-fonts/custom-fonts-xcode-dialog.png" alt="Xcode option dialog for adding files" width="400" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/native-custom-fonts/custom-fonts-xcode-dialog.png" alt="Xcode option dialog for adding files" width="400" class="no-border" >}} 1. Your folder structure should look like this: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/native-custom-fonts/custom-fonts-project-explorer-filled.png" alt="App Explorer with fonts" width="400" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/native-custom-fonts/custom-fonts-project-explorer-filled.png" alt="App Explorer with fonts" width="400" class="no-border" >}} 1. Open the *Info.plist* file by pressing Command + Shift + 0 and searching for the file. Press Enter to open it: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/native-custom-fonts/xcode-open-infoplist.png" alt="Xcode Open file dialog" width="400" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/native-custom-fonts/xcode-open-infoplist.png" alt="Xcode Open file dialog" width="400" class="no-border" >}} 1. Find the key `Fonts provided by the application`. Expand it if needed: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/native-custom-fonts/xcode-plist-fonts.png" alt="Plist fonts key" width="400" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/native-custom-fonts/xcode-plist-fonts.png" alt="Plist fonts key" width="400" class="no-border" >}} 1. Press the **+** button next to the key to create a new, empty item in the list. 1. Type the font file name you wish to add as the value. In this case, we are adding the regular Times New Roman font, therefore the filename value is `TimesNewRomanPSMT.ttf`: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/native-custom-fonts/xcode-plist-fonts-filled.png" alt="Plist fonts key filled" width="400" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/native-custom-fonts/xcode-plist-fonts-filled.png" alt="Plist fonts key filled" width="400" class="no-border" >}} 1. If you plan on using the tool to build your app, commit your changes: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/native-custom-fonts/custom-fonts-ios-repo.png" alt="GitHub repo after uploading custom fonts" width="400" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/native-custom-fonts/custom-fonts-ios-repo.png" alt="GitHub repo after uploading custom fonts" width="400" class="no-border" >}} 1. Build your iOS app with your preferred method. diff --git a/content/en/docs/refguide10/mobile/designing-mobile-user-interfaces/native-styling.md b/content/en/docs/refguide10/mobile/designing-mobile-user-interfaces/native-styling.md index 6e2fe8a9830..42e581d99cc 100644 --- a/content/en/docs/refguide10/mobile/designing-mobile-user-interfaces/native-styling.md +++ b/content/en/docs/refguide10/mobile/designing-mobile-user-interfaces/native-styling.md @@ -4,8 +4,8 @@ url: /refguide10/mobile/designing-mobile-user-interfaces/native-styling/ weight: 40 description: "General information for native styling in Mendix." aliases: - - /howto/mobile/native-styling/ - - /howto/mobile/how-to-use-native-styling/ + - /howto10/mobile/native-styling/ + - /howto10/mobile/how-to-use-native-styling/ --- ## Introduction @@ -74,7 +74,7 @@ These resources let you style your app with a wide variety of interface parts. H 1. On your **Home_Native** home page, delete the **Intro screen** content. 1. Place a button widget on your app's home page: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/native-styling/how-to-use-native-styling/button-one.png" alt="button" width="400" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/native-styling/how-to-use-native-styling/button-one.png" alt="button" width="400" class="no-border" >}} 1. Click **Run Locally** ({{% icon name="controls-play" %}}), and then click **View App** to see your app. The button will be blue with white text, which is its default styling. 1. Open *theme/native/custom-variables.js* using your IDE of choice. @@ -93,7 +93,7 @@ These resources let you style your app with a wide variety of interface parts. H 1. Save your file. 1. Click **Run Locally** ({{% icon name="controls-play" %}}) to apply your changes: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/native-styling/how-to-use-native-styling/brand-primary-rosybrown.png" alt="rosybrown button" width="400" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/native-styling/how-to-use-native-styling/brand-primary-rosybrown.png" alt="rosybrown button" width="400" class="no-border" >}} You have successfully altered a default button to look rosy brown These screenshots employ the Make It Native app's [Dark Mode](/releasenotes/mobile/make-it-native-app/#new-features-5). @@ -106,11 +106,11 @@ Classes are groups of styling properties which define how certain elements of yo 3. Select the button widget, and then click the **Properties** panel. Under **Common** you will see the button's **Class** field. 4. Type *btnSuccess* into the **Class** field: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/native-styling/how-to-use-native-styling/btn-success.png" alt="class field" width="400" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/native-styling/how-to-use-native-styling/btn-success.png" alt="class field" width="400" class="no-border" >}} 5. Click **Run Locally** ({{% icon name="controls-play" %}}) to save and refresh your app. Notice the button turned green: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/native-styling/how-to-use-native-styling/green-button.png" alt="green button" width="400" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/native-styling/how-to-use-native-styling/green-button.png" alt="green button" width="400" class="no-border" >}} You have successfully applied an Atlas-provided class to a button widget. @@ -122,11 +122,11 @@ Design properties are easy-to-use classes in Mendix Studio Pro which you do not 2. Select the button, and find its **Design Properties** in the **Properties** panel. 3. Click the **Button style** drop-down arrow and select **Warning**. - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/native-styling/how-to-use-native-styling/btn-warning.png" alt="warning button" width="400" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/native-styling/how-to-use-native-styling/btn-warning.png" alt="warning button" width="400" class="no-border" >}} 4. Run your app again to see the *design* button's new color: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/native-styling/how-to-use-native-styling/orange-button.png" alt="orange button" width="400" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/native-styling/how-to-use-native-styling/orange-button.png" alt="orange button" width="400" class="no-border" >}} Using design properties, you have changed the blue default button widget to orange. For any other warning buttons, you could easily apply the same design property. @@ -183,7 +183,7 @@ When you have specific design requirements, you will need to build custom classe 9. In Mendix Studio Pro, select your fourth button. In the **Properties** panel, type *btnBordered* into the **Class** field. 10. Click **Run Locally** ({{% icon name="controls-play" %}}) to see that your button's background color is transparent: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/native-styling/how-to-use-native-styling/bordered-button.png" alt="bordered button" width="400" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/native-styling/how-to-use-native-styling/bordered-button.png" alt="bordered button" width="400" class="no-border" >}} You have successfully customized a simple button widget. Using these basic principles, you can go on to customize widgets with distinct looks. @@ -208,13 +208,13 @@ In this section you will learn to turn the class you made into a design property 5. In Mendix Studio Pro, press F4 to synchronize your app directory. 6. Select the fifth button. In **Properties** > **Design Properties**, your **Bordered** design property should now be visible: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/native-styling/how-to-use-native-styling/bordered-design-property.png" alt="bordered design property" width="400" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/native-styling/how-to-use-native-styling/bordered-design-property.png" alt="bordered design property" width="400" class="no-border" >}} 7. Enable the **Bordered** design property by clicking its drop-down menu and selecting **Yes**. 8. Click **Run Locally** ({{% icon name="controls-play" %}}) again and view your app: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/native-styling/how-to-use-native-styling/design-property-border-button.png" alt="design properties border" width="400" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/native-styling/how-to-use-native-styling/design-property-border-button.png" alt="design properties border" width="400" class="no-border" >}} You have implemented your own custom design property. Other users can quickly harness your design property without having to consult a class name list. diff --git a/content/en/docs/refguide10/mobile/distributing-mobile-apps/_index.md b/content/en/docs/refguide10/mobile/distributing-mobile-apps/_index.md index 92af1423b7c..ff1fd2002fa 100644 --- a/content/en/docs/refguide10/mobile/distributing-mobile-apps/_index.md +++ b/content/en/docs/refguide10/mobile/distributing-mobile-apps/_index.md @@ -5,7 +5,7 @@ url: /refguide10/mobile/distributing-mobile-apps/ weight: 50 description: "Distribute native mobile apps." aliases: - - /howto/mobile/distribution/ + - /howto10/mobile/distribution/ --- ## Introduction diff --git a/content/en/docs/refguide10/mobile/distributing-mobile-apps/building-native-apps/_index.md b/content/en/docs/refguide10/mobile/distributing-mobile-apps/building-native-apps/_index.md index b59945dcd8e..24fb0f3158d 100644 --- a/content/en/docs/refguide10/mobile/distributing-mobile-apps/building-native-apps/_index.md +++ b/content/en/docs/refguide10/mobile/distributing-mobile-apps/building-native-apps/_index.md @@ -4,7 +4,7 @@ url: /refguide10/mobile/distributing-mobile-apps/building-native-apps/ weight: 20 description: Learn the different ways of building native apps in Mendix. aliases: - - /howto/mobile/build-native-apps/ + - /howto10/mobile/build-native-apps/ --- These step-by-step guides teach you how to build native mobile applications and more. diff --git a/content/en/docs/refguide10/mobile/distributing-mobile-apps/building-native-apps/deploying-native-app.md b/content/en/docs/refguide10/mobile/distributing-mobile-apps/building-native-apps/deploying-native-app.md index b70da53e76a..919d168375f 100644 --- a/content/en/docs/refguide10/mobile/distributing-mobile-apps/building-native-apps/deploying-native-app.md +++ b/content/en/docs/refguide10/mobile/distributing-mobile-apps/building-native-apps/deploying-native-app.md @@ -5,7 +5,7 @@ url: /refguide10/mobile/distributing-mobile-apps/building-native-apps/deploying- weight: 30 description: Describes how to Build a Mendix native app in the cloud with the Mendix Native Mobile Builder. aliases: - - /howto/mobile/deploying-native-app/ + - /howto10/mobile/deploying-native-app/ --- ## Introduction @@ -78,42 +78,42 @@ From Studio Pro: 1. Click **App** > **Build Native Mobile App**: - {{< figure src="/attachments/howto/mobile/native-mobile/distribution/build-native-apps/deploying-native-app/start-nbui.png" alt="Start Mendix Native Mobile Builder" width="350" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/distribution/build-native-apps/deploying-native-app/start-nbui.png" alt="Start Mendix Native Mobile Builder" width="350" class="no-border" >}} 1. When Mendix Native Mobile Builder launches you will see the home screen: - {{< figure src="/attachments/howto/mobile/native-mobile/distribution/build-native-apps/deploying-native-app/home-screen.png" alt="Mendix Native Mobile Builder Home Screen" width="350" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/distribution/build-native-apps/deploying-native-app/home-screen.png" alt="Mendix Native Mobile Builder Home Screen" width="350" class="no-border" >}} 1. Select **Build app for distribution**. 1. Fill in your app's name and the app identifier. The wizard provides defaults, but you might want to align the app identifier to use your company's reversed URL, or change the app name in some other way: - {{< figure src="/attachments/howto/mobile/native-mobile/distribution/build-native-apps/deploying-native-app/wizard-app-details.png" alt="Wizard App Details" width="350" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/distribution/build-native-apps/deploying-native-app/wizard-app-details.png" alt="Wizard App Details" width="350" class="no-border" >}} 1. Click **Next Step** when ready. 1. In the **Build Type** screen fill in your GitHub and App Center API tokens. The tool will verify the tokens grant sufficient access to valid accounts and will notify you if they do not: - {{< figure src="/attachments/howto/mobile/native-mobile/distribution/build-native-apps/deploying-native-app/wizard-buildtype-cloud.png" alt="Wizard Tokens" width="350" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/distribution/build-native-apps/deploying-native-app/wizard-buildtype-cloud.png" alt="Wizard Tokens" width="350" class="no-border" >}} 1. Click **Next Step** when ready. 1. Select **Choose your icon** if you already have an image you would like to use as an icon. If you continue without adding a custom image, your app will use the default images displayed below. You can change app icon later if you wish: - {{< figure src="/attachments/howto/mobile/native-mobile/distribution/build-native-apps/deploying-native-app/wizard-icons.png" alt="Wizard Icons" width="350" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/distribution/build-native-apps/deploying-native-app/wizard-icons.png" alt="Wizard Icons" width="350" class="no-border" >}} 1. Click **Next Step** when ready. 1. Select **Choose your splash screen** if you already have an image you would like to use as a splash screen, or just continue if you are satisfied using the default image. You can change the splash screen later if you wish: - {{< figure src="/attachments/howto/mobile/native-mobile/distribution/build-native-apps/deploying-native-app/wizard-splashscreens.png" alt="Wizard Splash screen" width="350" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/distribution/build-native-apps/deploying-native-app/wizard-splashscreens.png" alt="Wizard Splash screen" width="350" class="no-border" >}} 1. Click **Next Step** when ready. 1. Drag your custom fonts into the field if you already have a selection of fonts you would like to use, or continue if you do not need to add custom fonts. You can add custom fonts later if you wish: - {{< figure src="/attachments/howto/mobile/native-mobile/distribution/build-native-apps/deploying-native-app/wizard-fonts.png" alt="Wizard Fonts" width="350" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/distribution/build-native-apps/deploying-native-app/wizard-fonts.png" alt="Wizard Fonts" width="350" class="no-border" >}} 1. Click **Next Step** when ready. You have completed the mandatory basic app configuration required to build your app. Now you see the **Build app for distribution** screen: -{{< figure src="/attachments/howto/mobile/native-mobile/distribution/build-native-apps/deploying-native-app/build-release-app.png" alt="Build release app" width="350" class="no-border" >}} +{{< figure src="/attachments/howto10/mobile/native-mobile/distribution/build-native-apps/deploying-native-app/build-release-app.png" alt="Build release app" width="350" class="no-border" >}} Next, do the following: @@ -127,12 +127,12 @@ Next, do the following: 1. Click the **Build** button to start the build. 1. The tool will set up your GitHub repository, commit your changes, configure App Center with two new apps (one for iOS and one for Android), and continue building your apps: - {{< figure src="/attachments/howto/mobile/native-mobile/distribution/build-native-apps/deploying-native-app/build-release-app-build-step1.png" alt="Setting up build prerequisites" width="350" class="no-border" >}}{{< figure src="/attachments/howto/mobile/native-mobile/distribution/build-native-apps/deploying-native-app/build-release-app-build-step1.png" alt="Setting up build prerequisites" width="350" class="no-border" >}} - {{< figure src="/attachments/howto/mobile/native-mobile/distribution/build-native-apps/deploying-native-app/build-release-app-build-step2.png" alt="Building release app" width="350" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/distribution/build-native-apps/deploying-native-app/build-release-app-build-step1.png" alt="Setting up build prerequisites" width="350" class="no-border" >}}{{< figure src="/attachments/howto10/mobile/native-mobile/distribution/build-native-apps/deploying-native-app/build-release-app-build-step1.png" alt="Setting up build prerequisites" width="350" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/distribution/build-native-apps/deploying-native-app/build-release-app-build-step2.png" alt="Building release app" width="350" class="no-border" >}} 1. After the build completes you can scan the QR code provided to install the app on your device. Currently the QR code service is only supported for Android devices: - {{< figure src="/attachments/howto/mobile/native-mobile/distribution/build-native-apps/deploying-native-app/build-release-app-build-done-both.png" alt="Build completed" width="350" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/distribution/build-native-apps/deploying-native-app/build-release-app-build-done-both.png" alt="Build completed" width="350" class="no-border" >}} ## Signing Your Apps {#signing-a-build} @@ -144,7 +144,7 @@ iOS supports two types of signing configurations: **Development** and **Release* 1. From within Mendix Native Mobile Builder, select **iOS** under **Certificates**: - {{< figure src="/attachments/howto/mobile/native-mobile/distribution/build-native-apps/deploying-native-app/build-release-app.png" alt="Build release app" width="350" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/distribution/build-native-apps/deploying-native-app/build-release-app.png" alt="Build release app" width="350" class="no-border" >}} 1. Upload your provisioning file and P12 certificate, and then type in your password. The tool will verify that: @@ -154,7 +154,7 @@ iOS supports two types of signing configurations: **Development** and **Release* If the tool errors, please correct the issue and try again: - {{< figure src="/attachments/howto/mobile/native-mobile/distribution/build-native-apps/deploying-native-app/signing-ios.png" alt="Signing iOS" width="350" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/distribution/build-native-apps/deploying-native-app/signing-ios.png" alt="Signing iOS" width="350" class="no-border" >}} 1. Click **Save**. @@ -164,7 +164,7 @@ With that you have completed setting up signing for iOS. Your next build will us 1. From within Mendix Native Mobile Builder, choose **Android** under **Certificates**: - {{< figure src="/attachments/howto/mobile/native-mobile/distribution/build-native-apps/deploying-native-app/build-release-app.png" alt="Build release app" width="350" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/distribution/build-native-apps/deploying-native-app/build-release-app.png" alt="Build release app" width="350" class="no-border" >}} 1. Upload your keystore file and provide the keystore password, the key alias and the key password as defined when setting up the keystore. The tool will verify that: @@ -173,7 +173,7 @@ With that you have completed setting up signing for iOS. Your next build will us If it errors, please correct the issue and try again: - {{< figure src="/attachments/howto/mobile/native-mobile/distribution/build-native-apps/deploying-native-app/signing-android.png" alt="Signing iOS" width="350" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/distribution/build-native-apps/deploying-native-app/signing-android.png" alt="Signing iOS" width="350" class="no-border" >}} 1. Click **Save**. @@ -216,31 +216,31 @@ In order to deploy the *nativeTemplate.xcarchive* on a device or on the Apple Ap 1. Using Xcode, double-click the *nativeTemplate.xcarchive* file. It should open with the built-in **Application Loader** software. 1. Click the *Distribute App* button to start the local signing flow: - {{< figure src="/attachments/howto/mobile/native-mobile/distribution/build-native-apps/deploying-native-app/xcode-app-loader-1.png" alt="Xcode Application loader" width="350" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/distribution/build-native-apps/deploying-native-app/xcode-app-loader-1.png" alt="Xcode Application loader" width="350" class="no-border" >}} 1. Select **Development**: - {{< figure src="/attachments/howto/mobile/native-mobile/distribution/build-native-apps/deploying-native-app/xcode-app-loader-2.png" alt="Xcode Application loader" width="350" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/distribution/build-native-apps/deploying-native-app/xcode-app-loader-2.png" alt="Xcode Application loader" width="350" class="no-border" >}} 1. Choose a **Development Team**: - {{< figure src="/attachments/howto/mobile/native-mobile/distribution/build-native-apps/deploying-native-app/xcode-app-loader-3.png" alt="Xcode Application loader" width="350" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/distribution/build-native-apps/deploying-native-app/xcode-app-loader-3.png" alt="Xcode Application loader" width="350" class="no-border" >}} 1. Configure your **Development distribution options**: - {{< figure src="/attachments/howto/mobile/native-mobile/distribution/build-native-apps/deploying-native-app/xcode-app-loader-4.png" alt="Xcode Application loader" width="350" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/distribution/build-native-apps/deploying-native-app/xcode-app-loader-4.png" alt="Xcode Application loader" width="350" class="no-border" >}} 1. Select a re-signing option: - {{< figure src="/attachments/howto/mobile/native-mobile/distribution/build-native-apps/deploying-native-app/xcode-app-loader-5.png" alt="Xcode Application loader" width="350" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/distribution/build-native-apps/deploying-native-app/xcode-app-loader-5.png" alt="Xcode Application loader" width="350" class="no-border" >}} 1. Review your *.ipa* content and click **Export**: - {{< figure src="/attachments/howto/mobile/native-mobile/distribution/build-native-apps/deploying-native-app/xcode-app-loader-6.png" alt="Xcode Application loader" width="350" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/distribution/build-native-apps/deploying-native-app/xcode-app-loader-6.png" alt="Xcode Application loader" width="350" class="no-border" >}} Congratulations. You now have a signed *.ipa* file: -{{< figure src="/attachments/howto/mobile/native-mobile/distribution/build-native-apps/deploying-native-app/xcode-app-loader-7.png" alt="Xcode Application loader" width="350" class="no-border" >}} +{{< figure src="/attachments/howto10/mobile/native-mobile/distribution/build-native-apps/deploying-native-app/xcode-app-loader-7.png" alt="Xcode Application loader" width="350" class="no-border" >}} ### Distributing the Android app to Google Play {#android-distributing} diff --git a/content/en/docs/refguide10/mobile/distributing-mobile-apps/building-native-apps/how-to-devapps.md b/content/en/docs/refguide10/mobile/distributing-mobile-apps/building-native-apps/how-to-devapps.md index 259d0a755b5..5dcc410da40 100644 --- a/content/en/docs/refguide10/mobile/distributing-mobile-apps/building-native-apps/how-to-devapps.md +++ b/content/en/docs/refguide10/mobile/distributing-mobile-apps/building-native-apps/how-to-devapps.md @@ -4,7 +4,7 @@ url: /refguide10/mobile/distributing-mobile-apps/building-native-apps/how-to-dev weight: 40 description: A tutorial for creating custom developer apps. aliases: - - /howto/mobile/how-to-devapps/ + - /howto10/mobile/how-to-devapps/ --- ## Introduction @@ -22,28 +22,28 @@ A custom developer app helps you by serving as a replacement for the Make It Nat 1. Run Mendix Native Mobile Builder from your app: - {{< figure src="/attachments/howto/mobile/native-mobile/distribution/build-native-apps/deploying-native-app/start-nbui.png" alt="Start Mendix Native Mobiler Builder" width="350" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/distribution/build-native-apps/deploying-native-app/start-nbui.png" alt="Start Mendix Native Mobiler Builder" width="350" class="no-border" >}} 1. When Mendix Native Mobile launches you are greeted with the home screen: - {{< figure src="/attachments/howto/mobile/native-mobile/distribution/build-native-apps/deploying-native-app/home-screen.png" alt="Mendix Natve Mobile Builder Home Screen" width="350" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/distribution/build-native-apps/deploying-native-app/home-screen.png" alt="Mendix Natve Mobile Builder Home Screen" width="350" class="no-border" >}} 1. Choose *Build app for local development* 1. Given you already went through the initial wizard at least once, you should be greeted with the configuration screen for *Building an app for local development*: - {{< figure src="/attachments/howto/mobile/native-mobile/distribution/build-native-apps/how-to-devapps/build-custom-dev-app.png" alt="Mendix Natve Mobile Builder Home Screen" width="350" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/distribution/build-native-apps/how-to-devapps/build-custom-dev-app.png" alt="Mendix Natve Mobile Builder Home Screen" width="350" class="no-border" >}} 1. Click the *Build developer app* button 1. The tool will set up your GitHub repository commit your changes, configure App Center if needed with two new apps, one for iOS and one for Android and continue with building the apps. - {{< figure src="/attachments/howto/mobile/native-mobile/distribution/build-native-apps/deploying-native-app/build-release-app-build-step1.png" alt="Building" width="350" class="no-border" >}}{{< figure src="/attachments/howto/mobile/native-mobile/distribution/build-native-apps/deploying-native-app/build-release-app-build-step1.png" alt="Building" width="350" class="no-border" >}} - {{< figure src="/attachments/howto/mobile/native-mobile/distribution/build-native-apps/deploying-native-app/build-release-app-build-step2.png" alt="Build release app" width="350" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/distribution/build-native-apps/deploying-native-app/build-release-app-build-step1.png" alt="Building" width="350" class="no-border" >}}{{< figure src="/attachments/howto10/mobile/native-mobile/distribution/build-native-apps/deploying-native-app/build-release-app-build-step1.png" alt="Building" width="350" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/distribution/build-native-apps/deploying-native-app/build-release-app-build-step2.png" alt="Build release app" width="350" class="no-border" >}} 1. When the build completes, you can scan the QR code provided to install the app to your device. Currently the QR code service is only supported for Android devices. - {{< figure src="/attachments/howto/mobile/native-mobile/distribution/build-native-apps/deploying-native-app/build-release-app-build-done-both.png" alt="Build release app" width="350" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/distribution/build-native-apps/deploying-native-app/build-release-app-build-done-both.png" alt="Build release app" width="350" class="no-border" >}} ## Installing Your Custom Developer App manually @@ -96,11 +96,11 @@ Builds with the Mendix Native Mobile Builder are stripped of simulator artifacts 1. Navigate to your GitHub repo. 2. Switch to your **developer** branch: - {{< figure src="/attachments/howto/mobile/native-mobile/distribution/build-native-apps/how-to-devapps/github-branch-switching.png" alt="Switch branch on GitHub" width="350" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/distribution/build-native-apps/how-to-devapps/github-branch-switching.png" alt="Switch branch on GitHub" width="350" class="no-border" >}} 3. Click **Clone or Download** and then click **Download ZIP**: - {{< figure src="/attachments/howto/mobile/native-mobile/distribution/build-native-apps/how-to-devapps/github-download-branch.png" alt="Download repository" width="350" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/distribution/build-native-apps/how-to-devapps/github-download-branch.png" alt="Download repository" width="350" class="no-border" >}} 4. Unzip the downloaded archive. 5. Open a terminal and change directory into the folder. @@ -113,11 +113,11 @@ Builds with the Mendix Native Mobile Builder are stripped of simulator artifacts This will install the node module dependencies and the iOS Dependencies 7. In the **ios** folder, open the **NativeTemplate.xcworkspace** file: - {{< figure src="/attachments/howto/mobile/native-mobile/distribution/build-native-apps/how-to-devapps/ios-folder.png" alt="iOS folder structure" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/distribution/build-native-apps/how-to-devapps/ios-folder.png" alt="iOS folder structure" class="no-border" >}} 8. In Xcode select the **Dev** target and the emulator you want to build your developer app for: - {{< figure src="/attachments/howto/mobile/native-mobile/distribution/build-native-apps/how-to-devapps/xcode-target-selection.png" alt="Dev target selection" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/distribution/build-native-apps/how-to-devapps/xcode-target-selection.png" alt="Dev target selection" class="no-border" >}} 9. Click **Play**. diff --git a/content/en/docs/refguide10/mobile/distributing-mobile-apps/building-native-apps/native-build-locally-manually.md b/content/en/docs/refguide10/mobile/distributing-mobile-apps/building-native-apps/native-build-locally-manually.md index 3847ac0a819..7840b9cf536 100644 --- a/content/en/docs/refguide10/mobile/distributing-mobile-apps/building-native-apps/native-build-locally-manually.md +++ b/content/en/docs/refguide10/mobile/distributing-mobile-apps/building-native-apps/native-build-locally-manually.md @@ -5,7 +5,7 @@ url: /refguide10/mobile/distributing-mobile-apps/building-native-apps/native-bui weight: 20 description: Describes how to build your first Mendix native mobile app locally, without using the Mendix Native Mobile Builder. aliases: - - /howto/mobile/native-build-locally-manually/ + - /howto10/mobile/native-build-locally-manually/ --- ## Introduction @@ -57,7 +57,7 @@ To determine which version of the Native Template you should use, do the followi The keys of the dictionary represent the Mendix Studio Pro version. The `min` and `max` values are the minimum and maximum Native Template versions supported: -{{< figure src="/attachments/howto/mobile/native-mobile/distribution/build-native-apps/native-build-locally-manually/mendix-version.png" alt="iOS output" width="200" class="no-border" >}} +{{< figure src="/attachments/howto10/mobile/native-mobile/distribution/build-native-apps/native-build-locally-manually/mendix-version.png" alt="iOS output" width="200" class="no-border" >}} So like in the example picture shown above, in the case of Mendix Studio Pro 8.9.x, you could choose any Native Template version from 4.0.0 to the latest. Ideally you should choose the most recent supported version. @@ -92,7 +92,7 @@ This method is useful if you do not have Git installed. To get the Native Templa 1. Scroll to the version you want to download. 1. Select the source code binary to download a copy of the code: - {{< figure src="/attachments/howto/mobile/native-mobile/distribution/build-native-apps/native-build-locally-manually/github-assets.png" alt="iOS output" width="250" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/distribution/build-native-apps/native-build-locally-manually/github-assets.png" alt="iOS output" width="250" class="no-border" >}} 1. Unzip the file. 1. Run `npm i && cd ios && pod install` to install the required dependencies. @@ -120,7 +120,7 @@ When completed there should be a folder under the app's deployment folder **app- 1. Move the **iOS** folder's content to *your-native-template-root/ios/Bundle*. 1. The **android** folder structure should be the following: - {{< figure src="/attachments/howto/mobile/native-mobile/distribution/build-native-apps/native-build-locally-manually/android-output.png" alt="iOS output" width="250" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/distribution/build-native-apps/native-build-locally-manually/android-output.png" alt="iOS output" width="250" class="no-border" >}} 1. Move the **android** folder's content to *your-native-template-root/android/app/src/main*. Choose to overwrite if requested to do so. 1. Open *your-native-template-root/android/app/src/main/res/raw/runtime_url* using a text editor. @@ -152,17 +152,17 @@ To build an Android app with Android Studio, do the following: 1. Select the `/android` as the entry point for the app. 1. After synchronizing the app your Android Studio should look something like this (remember to not accept any suggestions to update to latest Gradle or Kotlin version): - {{< figure src="/attachments/howto/mobile/native-mobile/distribution/build-native-apps/native-build-locally-manually/as-home.png" alt="Android Studio" width="350" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/distribution/build-native-apps/native-build-locally-manually/as-home.png" alt="Android Studio" width="350" class="no-border" >}} Mendix native mobile apps make use of **Build Variants** to build a release app or a custom developer app. The idea of **Build Variants** is a Gradle build system concept for sharing the same codebase but delivering different experiences. 1. Choose the **appstoreDebug** variant to be able to build and test your app on an emulator or connected device: - {{< figure src="/attachments/howto/mobile/native-mobile/distribution/build-native-apps/native-build-locally-manually/as-build-variants.png" alt="Android Build Variants" width="350" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/distribution/build-native-apps/native-build-locally-manually/as-build-variants.png" alt="Android Build Variants" width="350" class="no-border" >}} 1. After a short time, the app should be synchronized, and **Run Locally** ({{% icon name="controls-play" %}}) should be selectable. Select a device or create a device from the drop-down menu and click **Run Locally** to build and install your app on the device: - {{< figure src="/attachments/howto/mobile/native-mobile/distribution/build-native-apps/native-build-locally-manually/as-start-build.png" alt="Android Build Toolbar" width="250" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/distribution/build-native-apps/native-build-locally-manually/as-start-build.png" alt="Android Build Toolbar" width="250" class="no-border" >}} ### Building an iOS App with Xcode @@ -178,13 +178,13 @@ When the built iOS app is opened with Xcode for the first time, Xcode will show 1. Open *.xcodeworkspace* using Xcode. 1. Navigate to **Signing and Capabilities** and choose your **Team** from the drop-down menu: - {{< figure src="/attachments/howto/mobile/native-mobile/distribution/build-native-apps/native-build-locally-manually/xc-setup-team.png" alt="Xcode Build Toolbar" width="350" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/distribution/build-native-apps/native-build-locally-manually/xc-setup-team.png" alt="Xcode Build Toolbar" width="350" class="no-border" >}} As with the Android **Build Variants** the iOS app makes use of **Build Targets** to switch between building a custom developer app or a release app. 1. From the drop-down menu, choose **nativeTemplate** and the device you would like to run the app on. Then click **Run Locally** ({{% icon name="controls-play" %}}) to start a build for your app: - {{< figure src="/attachments/howto/mobile/native-mobile/distribution/build-native-apps/native-build-locally-manually/xc-start-build.png" alt="Xcode Build Toolbar" width="250" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/distribution/build-native-apps/native-build-locally-manually/xc-start-build.png" alt="Xcode Build Toolbar" width="250" class="no-border" >}} After the build succeeds the app should be running on the selected device and connected to the runtime using the runtime URL you provided. @@ -224,4 +224,4 @@ To remove dependencies which do not support auto-linking, revert the steps you a ## Read More -* [How to Create a Custom Developer App](/howto/mobile/how-to-devapps/) +* [How to Create a Custom Developer App](/howto10/mobile/how-to-devapps/) diff --git a/content/en/docs/refguide10/mobile/distributing-mobile-apps/building-native-apps/native-build-locally.md b/content/en/docs/refguide10/mobile/distributing-mobile-apps/building-native-apps/native-build-locally.md index af6da0cf957..ce1748ef76c 100644 --- a/content/en/docs/refguide10/mobile/distributing-mobile-apps/building-native-apps/native-build-locally.md +++ b/content/en/docs/refguide10/mobile/distributing-mobile-apps/building-native-apps/native-build-locally.md @@ -4,7 +4,7 @@ url: /refguide10/mobile/distributing-mobile-apps/building-native-apps/native-bui weight: 10 description: Describes how to build your first Mendix native mobile app locally using Mendix Native Mobile Builder. aliases: - - /howto/mobile/native-build-locally/ + - /howto10/mobile/native-build-locally/ --- ## Introduction @@ -35,30 +35,30 @@ To set up your local app, do the following: 1. Run the Mendix Native Mobile Builder from your app: - {{< figure src="/attachments/howto/mobile/native-mobile/distribution/build-native-apps/deploying-native-app/start-nbui.png" alt="Start Mendix Native Mobiler Builder" width="350" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/distribution/build-native-apps/deploying-native-app/start-nbui.png" alt="Start Mendix Native Mobiler Builder" width="350" class="no-border" >}} 1. When Mendix Native Mobile Builder launches you will see the home screen: - {{< figure src="/attachments/howto/mobile/native-mobile/distribution/build-native-apps/deploying-native-app/home-screen.png" alt="Mendix Native Mobile Builder Home Screen" width="350" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/distribution/build-native-apps/deploying-native-app/home-screen.png" alt="Mendix Native Mobile Builder Home Screen" width="350" class="no-border" >}} 1. Select **Build app for distribution**. 1. Fill in your app's name and the app identifier. The wizard provides defaults, but you might want to align the app identifier to use your company's reversed URL, or change the app name in some other way: - {{< figure src="/attachments/howto/mobile/native-mobile/distribution/build-native-apps/deploying-native-app/wizard-app-details.png" alt="Wizard App Details" width="350" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/distribution/build-native-apps/deploying-native-app/wizard-app-details.png" alt="Wizard App Details" width="350" class="no-border" >}} 1. Click **Next Step** when ready. 1. In the **Build type** make sure the **Local** option is selected. - {{< figure src="/attachments/howto/mobile/native-mobile/distribution/build-native-apps/native-build-locally/wizard-buildtype-local.png" alt="Build type" width="350" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/distribution/build-native-apps/native-build-locally/wizard-buildtype-local.png" alt="Build type" width="350" class="no-border" >}} 1. Select the folder for your app's Native Template. Valid choices are an empty directory or a directory with an existing Native Template. 1. Disable any service you do not wish to use. App Center requires GitHub as a service to work. 1. Click **Next Step** until you reach the end of the wizard. Feel free to configure any step as needed. 1. Select **Build type** from the side bar. - {{< figure src="/attachments/howto/mobile/native-mobile/distribution/build-native-apps/native-build-locally/advanced-buildtype-local.png" alt="Build type" width="350" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/distribution/build-native-apps/native-build-locally/advanced-buildtype-local.png" alt="Build type" width="350" class="no-border" >}} As you already selected to use the Local build flow with this app it is not possible to switch back to just using Cloud services. But you can enable or disable any service as needed. If for instance GitHub is enabled, Native Mobile Builder will synchronize any local changes with your repository the next time you configure your app and commit your changes. But keep in mind that the Mendix Native Builder is not a replacement of a Git client, and pushing local changes to a repository can add to the configuration time. 1. Select **Configure app locally** and fill in the information as needed for your app. -{{< figure src="/attachments/howto/mobile/native-mobile/distribution/build-native-apps/native-build-locally/advanced-configure-app-locally.png" alt="Build type" width="350" class="no-border" >}} +{{< figure src="/attachments/howto10/mobile/native-mobile/distribution/build-native-apps/native-build-locally/advanced-configure-app-locally.png" alt="Build type" width="350" class="no-border" >}} 1. Click **Configure locally** The process will start and it will: @@ -95,21 +95,21 @@ To build an Android app with Android Studio, do the following: 1. Select the `/android` as the entry point for the app. 1. After synchronizing the app your Android Studio should look something like this (remember to not accept any suggestions to update to latest Gradle or Kotlin version): - {{< figure src="/attachments/howto/mobile/native-mobile/distribution/build-native-apps/native-build-locally-manually/as-home.png" alt="Android Studio" width="350" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/distribution/build-native-apps/native-build-locally-manually/as-home.png" alt="Android Studio" width="350" class="no-border" >}} Mendix native mobile apps make use of **Build Variants** to build a release app or a custom developer app. The idea of **Build Variants** is a Gradle build system concept for sharing the same codebase but delivering different experiences. If the **Build Variants** are not visible, click **View** > **Tool Windows** > **Build Variants** to display them. 1. Choose the **appstoreDebug** variant to be able to build and test your app on an emulator or connected device: - {{< figure src="/attachments/howto/mobile/native-mobile/distribution/build-native-apps/native-build-locally-manually/as-build-variants.png" alt="Android Build Variants" width="350" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/distribution/build-native-apps/native-build-locally-manually/as-build-variants.png" alt="Android Build Variants" width="350" class="no-border" >}} 1. After a short time the app should be synchronized, and **Run Locally** ({{% icon name="controls-play" %}}) should be selectable. Select a device or create a device from the drop-down menu and click **Run Locally** to build and install your app on the device: - {{< figure src="/attachments/howto/mobile/native-mobile/distribution/build-native-apps/native-build-locally-manually/as-start-build.png" alt="Android Build Toolbar" width="250" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/distribution/build-native-apps/native-build-locally-manually/as-start-build.png" alt="Android Build Toolbar" width="250" class="no-border" >}} If no device is available use **AVD Manager** to add a device: - {{< figure src="/attachments/howto/mobile/native-mobile/distribution/build-native-apps/native-build-locally/avd-manager.png" alt="AVD Manager" width="250" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/distribution/build-native-apps/native-build-locally/avd-manager.png" alt="AVD Manager" width="250" class="no-border" >}} ### Building an iOS App with Xcode @@ -129,13 +129,13 @@ If you encounter the following error while executing CocoaPods on an M1, reinsta 1. Open *.xcodeworkspace* using Xcode. 1. Navigate to **Signing and Capabilities** and choose your **Team** from the drop-down menu: - {{< figure src="/attachments/howto/mobile/native-mobile/distribution/build-native-apps/native-build-locally-manually/xc-setup-team.png" alt="Xcode Build Toolbar" width="350" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/distribution/build-native-apps/native-build-locally-manually/xc-setup-team.png" alt="Xcode Build Toolbar" width="350" class="no-border" >}} As with the Android **Build Variants** the iOS app makes use of **Build Targets** to switch between building a custom developer app or a release app. 1. From the drop-down menu choose **nativeTemplate** and the device you would like to run the app on, then click **Run Locally** ({{% icon name="controls-play" %}}) to start a build for your app: - {{< figure src="/attachments/howto/mobile/native-mobile/distribution/build-native-apps/native-build-locally-manually/xc-start-build.png" alt="Xcode Build Toolbar" width="250" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/distribution/build-native-apps/native-build-locally-manually/xc-start-build.png" alt="Xcode Build Toolbar" width="250" class="no-border" >}} After the build succeeds the app should be running on the selected device and connected to the runtime using the runtime URL you provided. @@ -175,4 +175,4 @@ To remove dependencies which do not support auto-linking, revert the steps you a ## Read More -* [How to Create a Custom Developer App](/howto/mobile/how-to-devapps/) +* [How to Create a Custom Developer App](/howto10/mobile/how-to-devapps/) diff --git a/content/en/docs/refguide10/mobile/distributing-mobile-apps/native-debug.md b/content/en/docs/refguide10/mobile/distributing-mobile-apps/native-debug.md index a7732dd432e..ab1539d6d56 100644 --- a/content/en/docs/refguide10/mobile/distributing-mobile-apps/native-debug.md +++ b/content/en/docs/refguide10/mobile/distributing-mobile-apps/native-debug.md @@ -4,7 +4,7 @@ url: /refguide10/mobile/distributing-mobile-apps/native-debug/ weight: 40 description: "A guide for debugging native mobile apps using the Make It Native app." aliases: - - /howto/mobile/native-debug/ + - /howto10/mobile/native-debug/ --- ## Introduction @@ -32,11 +32,11 @@ If Chrome launches but does not load your app, check that your app is running in You should see this page: -{{< figure src="/attachments/howto/mobile/native-mobile/distribution/build-native-apps/native-debug/debug-waiting.png" alt="debug waiting" class="no-border" >}} +{{< figure src="/attachments/howto10/mobile/native-mobile/distribution/build-native-apps/native-debug/debug-waiting.png" alt="debug waiting" class="no-border" >}} If the status remains at **Waiting**, use the reload command (pictured above) to refresh your app. The **Waiting** status should change and indicate an **active** session: -{{< figure src="/attachments/howto/mobile/native-mobile/distribution/build-native-apps/native-debug/debug-active.png" alt="debug active" class="no-border" >}} +{{< figure src="/attachments/howto10/mobile/native-mobile/distribution/build-native-apps/native-debug/debug-active.png" alt="debug active" class="no-border" >}} Your browser's debugging tools should be pointing to your app. Now, you can debug your app like you would any other web app. @@ -60,7 +60,7 @@ Open your native app in iOS Simulator or Android emulator and then do the follow 2. Run `npx react-devtools`. 3. React Developer Tools will launch and connect to Simulator. You can now inspect and modify the React Native elements the same way you could modify HTML elements in Chrome: - {{< figure src="/attachments/howto/mobile/native-mobile/distribution/build-native-apps/native-debug/simulator-rn-dev.png" alt="debug simulator" width="350" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/distribution/build-native-apps/native-debug/simulator-rn-dev.png" alt="debug simulator" width="350" class="no-border" >}} 4. In the Make It Native App, use a three-finger tap to **Toggle Element Inspector** and enable enhanced inspection capabilities. @@ -75,7 +75,7 @@ To use the Make It Native app with React Developer Tools, do the following: 5. Run `npx react-devtools@^3`. 6. React Developer Tools will launch and connect to your device. You can now inspect and modify the React Native elements the same way you could modify HTML elements in Chrome: - {{< figure src="/attachments/howto/mobile/native-mobile/distribution/build-native-apps/native-debug/min-app-rn-devtools.png" alt="debug min app" width="350" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/distribution/build-native-apps/native-debug/min-app-rn-devtools.png" alt="debug min app" width="350" class="no-border" >}} ## Debugging Your Styling diff --git a/content/en/docs/refguide10/mobile/distributing-mobile-apps/overtheair-updates.md b/content/en/docs/refguide10/mobile/distributing-mobile-apps/overtheair-updates.md index ab6af2326ca..e62bd1d7d04 100644 --- a/content/en/docs/refguide10/mobile/distributing-mobile-apps/overtheair-updates.md +++ b/content/en/docs/refguide10/mobile/distributing-mobile-apps/overtheair-updates.md @@ -4,8 +4,8 @@ url: /refguide10/mobile/distributing-mobile-apps/overtheair-updates/ weight: 30 description: "Describes enabling over the air updates using built-in functionality." aliases: - - /howto/mobile/how-to-ota/ - - /howto/mobile/how-to-ota-appcenter/ + - /howto10/mobile/how-to-ota/ + - /howto10/mobile/how-to-ota-appcenter/ --- ## Introduction @@ -90,7 +90,7 @@ By default OTA updates are disabled for your Native Mobile Profile. To enable th 1. Navigate to the Native Mobile Profile. 1. Select **Enable over-the-air updates**: - {{< figure src="/attachments/howto/mobile/native-mobile/distribution/how-to-ota/ota-profile-screen.png" alt="Startup option ota checkbox" width="400" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/distribution/how-to-ota/ota-profile-screen.png" alt="Startup option ota checkbox" width="400" class="no-border" >}} 1. Deploy your app to the cloud. @@ -105,7 +105,7 @@ To make the OTA update functionality available to your users, release the new bi OTA updates let you correct mistakes in your published apps without issuing a new release. For example, imagine you issued a new release and later found a spelling mistake on your welcome screen: -{{< figure src="/attachments/howto/mobile/native-mobile/distribution/how-to-ota-appcenter/phone-error-text.png" alt="Typo in welcome screen" width="300" class="no-border" >}} +{{< figure src="/attachments/howto10/mobile/native-mobile/distribution/how-to-ota-appcenter/phone-error-text.png" alt="Typo in welcome screen" width="300" class="no-border" >}} Before OTA updates, you would have to make a new release and configure it in the app stores. But OTA updates make fixing such a mistake easy. diff --git a/content/en/docs/refguide10/mobile/distributing-mobile-apps/testing-mobile-apps.md b/content/en/docs/refguide10/mobile/distributing-mobile-apps/testing-mobile-apps.md index b7c06ddb8af..1cfbbcb41a2 100644 --- a/content/en/docs/refguide10/mobile/distributing-mobile-apps/testing-mobile-apps.md +++ b/content/en/docs/refguide10/mobile/distributing-mobile-apps/testing-mobile-apps.md @@ -4,7 +4,7 @@ url: /refguide10/mobile/distributing-mobile-apps/testing-mobile-apps/ weight: 50 description: This guide teaches you how to write end-to-end tests once and run them on both platforms using Appium. aliases: - - /howto/mobile/testing-mendix-native-apps-using-appium/ + - /howto10/mobile/testing-mendix-native-apps-using-appium/ --- ## Introduction diff --git a/content/en/docs/refguide10/mobile/distributing-mobile-apps/use-min-older-sp.md b/content/en/docs/refguide10/mobile/distributing-mobile-apps/use-min-older-sp.md index 3ee7bf8479c..775e59486df 100644 --- a/content/en/docs/refguide10/mobile/distributing-mobile-apps/use-min-older-sp.md +++ b/content/en/docs/refguide10/mobile/distributing-mobile-apps/use-min-older-sp.md @@ -9,7 +9,7 @@ description: "This guide will help you build a MIN app compatible with a non-LTS The Make It Native (MIN) app allows you to test native apps in development with ease. We have also made it open source, allowing you to change it depending on your needs. You can continue to use the [Make It Native App](/releasenotes/mobile/make-it-native-parent/) we provide via the iOS App Store and Google Play Store, or you can build your own Make It Native app. -A common reason to build your own Make It Native app is to support one or more development teams that work on a specific version of Mendix and require additional native dependencies. Building your own Make It Native app is an alternative to [Creating a Custom Developer App](/howto/mobile/how-to-devapps/) which adds more convenience for your developers and gives you more control over the native app. +A common reason to build your own Make It Native app is to support one or more development teams that work on a specific version of Mendix and require additional native dependencies. Building your own Make It Native app is an alternative to [Creating a Custom Developer App](/howto10/mobile/how-to-devapps/) which adds more convenience for your developers and gives you more control over the native app. This guide explains how to build your own Make It Native app. diff --git a/content/en/docs/refguide10/mobile/getting-started-with-mobile/_index.md b/content/en/docs/refguide10/mobile/getting-started-with-mobile/_index.md index dcbd88a3a14..3c18e2584c2 100644 --- a/content/en/docs/refguide10/mobile/getting-started-with-mobile/_index.md +++ b/content/en/docs/refguide10/mobile/getting-started-with-mobile/_index.md @@ -4,8 +4,8 @@ url: /refguide10/mobile/getting-started-with-mobile/ weight: 10 description: Create a native mobile Mendix app and view it on a mobile device using the Make It Native test app. aliases: - - /howto/mobile/get-started/ - - /howto/mobile/getting-started-with-native-mobile/ + - /howto10/mobile/get-started/ + - /howto10/mobile/getting-started-with-native-mobile/ --- ## Introduction @@ -62,7 +62,7 @@ Viewing your app on a mobile device will allow you to test native features and o 2. Start the Make It Native app by tapping its icon on your device. 3. Tap the **Scan a QR Code** button: - {{< figure src="/attachments/howto/mobile/native-mobile/get-started/getting-started-with-native-mobile/scan-qr.png" alt="Scan QR Code" width="500" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/get-started/getting-started-with-native-mobile/scan-qr.png" alt="Scan QR Code" width="500" class="no-border" >}} 4. If prompted, grant the app permission to access your device's camera. 5. Point your mobile device's camera at the QR code. It will automatically launch your test app on your mobile device. @@ -75,7 +75,7 @@ Now you can see your app on your device. While this is just a template app, when You may notice an **Enable dev mode** toggle on the Make It Native app home page. Turning this toggle on will give you more detailed warning messages during error screens, as well as additional functionality on the developer app menu: -{{< figure src="/attachments/howto/mobile/native-mobile/get-started/getting-started-with-native-mobile/enable-dev-mode.png" alt="enable dev mode" width="500" class="no-border" >}} +{{< figure src="/attachments/howto10/mobile/native-mobile/get-started/getting-started-with-native-mobile/enable-dev-mode.png" alt="enable dev mode" width="500" class="no-border" >}} ### Viewing Changes to Your App on Your Testing Device {#viewingchanges} @@ -83,7 +83,7 @@ To see how changes made in Mendix Studio Pro are displayed live on your testing 1. Put a text widget on your app's home page. Then, write some text into it. In this example, "Native rules!" has been added: - {{< figure src="/attachments/howto/mobile/native-mobile/get-started/getting-started-with-native-mobile/new-text-studiopro.png" alt="new studio pro text" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/get-started/getting-started-with-native-mobile/new-text-studiopro.png" alt="new studio pro text" class="no-border" >}} 2. Click **Run Locally** ({{% icon name="controls-play" %}}) to automatically update the running app on your device, and see your new text. When you click **Run Locally**, your app will automatically reload while keeping state. @@ -92,11 +92,11 @@ If you get an error screen while testing your app, there are easy ways to restar * Tap your test app with three fingers to restart your app * With the **Enable dev mode** toggle turned on, hold a three-fingered tap to bring up the developer app menu—here you can access **ADVANCED SETTINGS** and **ENABLE REMOTE JS DEBUGGING** -For more detailed instructions on debugging a native mobile app, see [Debug Native Mobile Apps (Advanced)](/howto/mobile/native-debug/). +For more detailed instructions on debugging a native mobile app, see [Debug Native Mobile Apps (Advanced)](/howto10/mobile/native-debug/). ## Read More * [Native App Prerequisites and Troubleshooting](/refguide10/mobile/getting-started-with-mobile/prerequisites/) -* [How to Build Pluggable Widgets](/howto/extensibility/pluggable-widgets/) +* [How to Build Pluggable Widgets](/howto10/extensibility/pluggable-widgets/) * [Native Mobile Styling Guide](/refguide10/native-styling-refguide/) -* [How to Debug Native Mobile Apps (Advanced)](/howto/mobile/native-debug/) +* [How to Debug Native Mobile Apps (Advanced)](/howto10/mobile/native-debug/) diff --git a/content/en/docs/refguide10/mobile/getting-started-with-mobile/prerequisites.md b/content/en/docs/refguide10/mobile/getting-started-with-mobile/prerequisites.md index ea5a71b2d8d..b43a6329562 100644 --- a/content/en/docs/refguide10/mobile/getting-started-with-mobile/prerequisites.md +++ b/content/en/docs/refguide10/mobile/getting-started-with-mobile/prerequisites.md @@ -7,7 +7,7 @@ description: Troubleshoot common issues associated with building and running nat aliases: - /refguide10/mobile/distributing-mobile-apps/building-native-apps/how-to-min-versions/ - /refguide10/getting-the-make-it-native-app/ - - /howto/mobile/common-issues/ + - /howto10/mobile/common-issues/ --- ## Introduction @@ -130,11 +130,11 @@ Depending on your device settings and network characteristics, the Make it Nativ * **Unable to load script**: - {{< figure src="/attachments/howto/mobile/native-mobile/get-started/common-issues/unabletoloadscript.png" alt="unable to load script" width="250" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/get-started/common-issues/unabletoloadscript.png" alt="unable to load script" width="250" class="no-border" >}} * **Cannot detect your runtime**: - {{< figure src="/attachments/howto/mobile/native-mobile/get-started/common-issues/min-error-firewall.png" alt="cannot detect runtime" width="250" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/get-started/common-issues/min-error-firewall.png" alt="cannot detect runtime" width="250" class="no-border" >}} These failures are often caused by a firewall blocking your device from accessing your laptop. In such cases, attempts to open the runtime URL from a mobile browser will also fail. To mitigate these issues, please make sure your firewall allows incoming traffic to your laptop on the runtime and native packing ports (8080 and 8083 by default). Instructions on how to do this differ per firewall. Mendix recommends you consult your firewall administrator. @@ -148,7 +148,7 @@ For the Windows Defender firewall, the most common firewall, do the following: 1. For each Node.js entry, note their values in the **Program** column. They should all have a green check mark in front of them.
                                  1. If the **Program** column shows a Mendix installation directory, then there should be a green icon in front of the entry. If this is not the case, double-click the entry and select **Allow the connection**: - {{< figure src="/attachments/howto/mobile/native-mobile/get-started/common-issues/inboundrules.png" alt="inbound rules" width="350" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/get-started/common-issues/inboundrules.png" alt="inbound rules" width="350" class="no-border" >}} 1. Windows distinguishes between two types of networks: private and public. Windows Defender Firewall applies stricter regulations for public networks. If, and only if, you are connected to a trusted network, configure the network as **Private** on your computer. diff --git a/content/en/docs/refguide10/mobile/introduction-to-mobile-technologies/native-mobile.md b/content/en/docs/refguide10/mobile/introduction-to-mobile-technologies/native-mobile.md index c38ff4bd524..a8cc525872d 100644 --- a/content/en/docs/refguide10/mobile/introduction-to-mobile-technologies/native-mobile.md +++ b/content/en/docs/refguide10/mobile/introduction-to-mobile-technologies/native-mobile.md @@ -4,7 +4,7 @@ url: /refguide10/mobile/introduction-to-mobile-technologies/native-mobile/ weight: 10 aliases: - /refguide10/native-mobile/ - - /howto/mobile/native-mobile/ + - /howto10/mobile/native-mobile/ --- ## Introduction diff --git a/content/en/docs/refguide10/mobile/introduction-to-mobile-technologies/progressive-web-app.md b/content/en/docs/refguide10/mobile/introduction-to-mobile-technologies/progressive-web-app.md index 2289135d826..d8289390cf4 100644 --- a/content/en/docs/refguide10/mobile/introduction-to-mobile-technologies/progressive-web-app.md +++ b/content/en/docs/refguide10/mobile/introduction-to-mobile-technologies/progressive-web-app.md @@ -150,7 +150,7 @@ For more information on sessions and how to customize the timeout, see the [Sess ## Accessing Device Features -Browsers offer access to device features through APIs that can be leveraged in PWAs. These device features can be used by available widgets and nanoflow actions. It is also possible to leverage additional device features by extending the platform using [JavaScript Actions](/refguide10/javascript-actions/) or [Pluggable Widgets](/howto/extensibility/pluggable-widgets/). +Browsers offer access to device features through APIs that can be leveraged in PWAs. These device features can be used by available widgets and nanoflow actions. It is also possible to leverage additional device features by extending the platform using [JavaScript Actions](/refguide10/javascript-actions/) or [Pluggable Widgets](/howto10/extensibility/pluggable-widgets/). This table lists the most used device features and APIs, and also documents their compatibility with common browsers: diff --git a/content/en/docs/refguide10/mobile/using-mobile-capabilities/_index.md b/content/en/docs/refguide10/mobile/using-mobile-capabilities/_index.md index 371dee7a03e..f79eab8b6b4 100644 --- a/content/en/docs/refguide10/mobile/using-mobile-capabilities/_index.md +++ b/content/en/docs/refguide10/mobile/using-mobile-capabilities/_index.md @@ -4,7 +4,7 @@ url: /refguide10/mobile/using-mobile-capabilities/ weight: 40 description: Implement native mobile features in Mendix Studio Pro. aliases: - - /howto/mobile/implementation/ + - /howto10/mobile/implementation/ --- ## Introduction diff --git a/content/en/docs/refguide10/mobile/using-mobile-capabilities/augmented-reality/_index.md b/content/en/docs/refguide10/mobile/using-mobile-capabilities/augmented-reality/_index.md index 4d5ab1f161b..1b4621feb36 100644 --- a/content/en/docs/refguide10/mobile/using-mobile-capabilities/augmented-reality/_index.md +++ b/content/en/docs/refguide10/mobile/using-mobile-capabilities/augmented-reality/_index.md @@ -4,7 +4,7 @@ url: /refguide10/mobile/using-mobile-capabilities/augmented-reality/ weight: 60 description: Tutorials for setting up and using AR in Mendix Studio Pro. aliases: - - /howto/mobile/ar-parent/ + - /howto10/mobile/ar-parent/ --- These step-by-step guides teach you how to set up and use augmented reality (AR) using Mendix Studio Pro and your native mobile device. diff --git a/content/en/docs/refguide10/mobile/using-mobile-capabilities/augmented-reality/how-to-ar-business-card.md b/content/en/docs/refguide10/mobile/using-mobile-capabilities/augmented-reality/how-to-ar-business-card.md index cf1e92300ba..6748a755f48 100644 --- a/content/en/docs/refguide10/mobile/using-mobile-capabilities/augmented-reality/how-to-ar-business-card.md +++ b/content/en/docs/refguide10/mobile/using-mobile-capabilities/augmented-reality/how-to-ar-business-card.md @@ -4,7 +4,7 @@ url: /refguide10/mobile/using-mobile-capabilities/augmented-reality/how-to-ar-bu weight: 20 description: In this guide you will make an augmented reality business card app. aliases: - - /howto/mobile/how-to-ar-business-card/ + - /howto10/mobile/how-to-ar-business-card/ --- ## Introduction @@ -31,7 +31,7 @@ Download these widgets: When you have completed the prerequisites, your work should look like this: -{{< figure src="/attachments/howto/mobile/native-mobile/ar-parent/how-to-ar-business-card/BusinessCardRender.png" alt="Result" width="400" class="no-border" >}} +{{< figure src="/attachments/howto10/mobile/native-mobile/ar-parent/how-to-ar-business-card/BusinessCardRender.png" alt="Result" width="400" class="no-border" >}} ## Creating an AR Business Card Demo @@ -39,23 +39,23 @@ For this app you will need to start a new app based on the Blank Native Mobile A Ideally you should have several recognizable features on your image, specifically an image with a lot of edges and contrast. The business card you are using in this document possesses these traits: -{{< figure src="/attachments/howto/mobile/native-mobile/ar-parent/how-to-ar-business-card/BusinessCard.png" alt="Business card" width="400" class="no-border" >}} +{{< figure src="/attachments/howto10/mobile/native-mobile/ar-parent/how-to-ar-business-card/BusinessCard.png" alt="Business card" width="400" class="no-border" >}} After you have added your business card as an image, remember to adjust the physical size in **Image Tracker (AR)** to the exact size of your business card. Choose the width (the longest side) of your business card for this. This will probably be around 8.5 centimeters: -{{< figure src="/attachments/howto/mobile/native-mobile/ar-parent/how-to-ar-business-card/imagetracker-dialogue.png" alt="Image tracker" width="400" class="no-border" >}} +{{< figure src="/attachments/howto10/mobile/native-mobile/ar-parent/how-to-ar-business-card/imagetracker-dialogue.png" alt="Image tracker" width="400" class="no-border" >}} Next you will add a virtual image of your business card to overlap the physical business card. To do this, add a **Square (AR)** widget to your app’s home page. Note we already added a **Container (AR)** and an **ImageTracker(AR)** beforehand: -{{< figure src="/attachments/howto/mobile/native-mobile/ar-parent/how-to-ar-business-card/square-added.png" alt="Square added" width="400" class="no-border" >}} +{{< figure src="/attachments/howto10/mobile/native-mobile/ar-parent/how-to-ar-business-card/square-added.png" alt="Square added" width="400" class="no-border" >}} 1. Double-click the **Square (AR)** widget. 1. Select the **Material** tab. 1. Select **Material type** > **Texture**. 1. Select the image of your business card for the **Texture**. This should be the same image as you selected for your **Image Tracker (AR)**. When finished your dialog box will look like this: - {{< figure src="/attachments/howto/mobile/native-mobile/ar-parent/how-to-ar-business-card/square-material-dialogue.png" alt="Square dialog" width="400" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/ar-parent/how-to-ar-business-card/square-material-dialogue.png" alt="Square dialog" width="400" class="no-border" >}} 1. Go back to the **General** tab and fill out the size of your business card. The important sizes are X for the width of your business card and Y for the height. 1. Set **Rotation > X** to *-90* to ensure the virtual image is rotated correctly. @@ -63,37 +63,37 @@ Next you will add a virtual image of your business card to overlap the physical Once this is all set up, run the app and check if it works in the Make It Native app. Here you should see the virtual business card overlaying your physical card: -{{< figure src="/attachments/howto/mobile/native-mobile/ar-parent/how-to-ar-business-card/render-only-businesscard.png" alt="Business card" width="400" class="no-border" >}} +{{< figure src="/attachments/howto10/mobile/native-mobile/ar-parent/how-to-ar-business-card/render-only-businesscard.png" alt="Business card" width="400" class="no-border" >}} Next, add a picture of yourself to your virtual business card. Drag another **Square (AR)** widget into **ImageTracker (AR)** and add a picture of yourself to this. In our case we have used a square image with transparent edges to make it appear round: -{{< figure src="/attachments/howto/mobile/native-mobile/ar-parent/how-to-ar-business-card/Face.png" alt="Face" width="400" class="no-border" >}} +{{< figure src="/attachments/howto10/mobile/native-mobile/ar-parent/how-to-ar-business-card/Face.png" alt="Face" width="400" class="no-border" >}} Go to the **General** tab and place it about 8 cm (*0.08,0,0*) to the right of the first image and match the size with the size of our business card image. You should now have this image right next to your business card image. -{{< figure src="/attachments/howto/mobile/native-mobile/ar-parent/how-to-ar-business-card/render-businesscard-face.png" alt="render business card" width="400" class="no-border" >}} +{{< figure src="/attachments/howto10/mobile/native-mobile/ar-parent/how-to-ar-business-card/render-businesscard-face.png" alt="render business card" width="400" class="no-border" >}} To finish this business card demo you need something people can click to find out more about your work. For this you will add two social media logos: a Twitter one and a LinkedIn one. You can use any 3D object. The following settings correctly place them underneath our business card (since scale can differ between 3D objects, this is not guaranteed to work with all 3D objects): -{{< figure src="/attachments/howto/mobile/native-mobile/ar-parent/how-to-ar-business-card/twitter-3d-object.png" alt="twitter 3d object" width="400" class="no-border" >}}{{< figure src="/attachments/howto/mobile/native-mobile/ar-parent/how-to-ar-business-card/twitter-3d-object.png" alt="twitter 3d object" width="400" class="no-border" >}} +{{< figure src="/attachments/howto10/mobile/native-mobile/ar-parent/how-to-ar-business-card/twitter-3d-object.png" alt="twitter 3d object" width="400" class="no-border" >}}{{< figure src="/attachments/howto10/mobile/native-mobile/ar-parent/how-to-ar-business-card/twitter-3d-object.png" alt="twitter 3d object" width="400" class="no-border" >}} -{{< figure src="/attachments/howto/mobile/native-mobile/ar-parent/how-to-ar-business-card/linkedin-3d-object.png" alt="linkedin 3d object" width="400" class="no-border" >}} +{{< figure src="/attachments/howto10/mobile/native-mobile/ar-parent/how-to-ar-business-card/linkedin-3d-object.png" alt="linkedin 3d object" width="400" class="no-border" >}} You can alter the color or texture of the 3D objects within Mendix. Currently, Twitter has a color of #1DA1F2 and LinkedIn has #0A66C2: -{{< figure src="/attachments/howto/mobile/native-mobile/ar-parent/how-to-ar-business-card/twitter-material-dialogue.png" alt="twitter material" width="400" class="no-border" >}} +{{< figure src="/attachments/howto10/mobile/native-mobile/ar-parent/how-to-ar-business-card/twitter-material-dialogue.png" alt="twitter material" width="400" class="no-border" >}} -{{< figure src="/attachments/howto/mobile/native-mobile/ar-parent/how-to-ar-business-card/BusinessCardRender.png" alt="Completed" width="400" class="no-border" >}} +{{< figure src="/attachments/howto10/mobile/native-mobile/ar-parent/how-to-ar-business-card/BusinessCardRender.png" alt="Completed" width="400" class="no-border" >}} Now all that is left is to add a nanoflow that opens a URL to the **Events** > **On click functionality**. Create a new nanoflow with the **Open URL** action. Add your Twitter profile URL here: -{{< figure src="/attachments/howto/mobile/native-mobile/ar-parent/how-to-ar-business-card/open-url-nanoflow.png" alt="open url nanoflow" width="400" class="no-border" >}} +{{< figure src="/attachments/howto10/mobile/native-mobile/ar-parent/how-to-ar-business-card/open-url-nanoflow.png" alt="open url nanoflow" width="400" class="no-border" >}} -{{< figure src="/attachments/howto/mobile/native-mobile/ar-parent/how-to-ar-business-card/call-url-event-dialogue.png" alt="call url event" width="400" class="no-border" >}} +{{< figure src="/attachments/howto10/mobile/native-mobile/ar-parent/how-to-ar-business-card/call-url-event-dialogue.png" alt="call url event" width="400" class="no-border" >}} Congratulations, you now have a functioning AR business card demo with custom 3D objects! diff --git a/content/en/docs/refguide10/mobile/using-mobile-capabilities/augmented-reality/how-to-ar-simple-cube.md b/content/en/docs/refguide10/mobile/using-mobile-capabilities/augmented-reality/how-to-ar-simple-cube.md index 3e900d41867..d16d87be779 100644 --- a/content/en/docs/refguide10/mobile/using-mobile-capabilities/augmented-reality/how-to-ar-simple-cube.md +++ b/content/en/docs/refguide10/mobile/using-mobile-capabilities/augmented-reality/how-to-ar-simple-cube.md @@ -4,7 +4,7 @@ url: /refguide10/mobile/using-mobile-capabilities/augmented-reality/how-to-ar-si weight: 10 description: Tutorials for setting up and using AR in Mendix Studio Pro. aliases: - - /howto/mobile/how-to-ar-simple-cube/ + - /howto10/mobile/how-to-ar-simple-cube/ --- ## Introduction @@ -50,7 +50,7 @@ Embed the widgets in this order: 1. Drag **ImageTracker (AR)** into **Container (AR)**. 1. Drag **Cube (AR)** into **ImageTracker (AR)**: - {{< figure src="/attachments/howto/mobile/native-mobile/ar-parent/how-to-ar-simple-cube/nested-widgets.png" alt="Nested widgets" width="400" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/ar-parent/how-to-ar-simple-cube/nested-widgets.png" alt="Nested widgets" width="400" class="no-border" >}} Very little configuration is necessary to make your AR function. All you need is an image tracker. A tracker is an image your AR can track and put AR effects on top of. Most images can serve as a tracker, provided they have enough contrast. Complex images make for the best tracker, because they are easier for your device’s camera to track. Start by adding an image to ImageTracker (AR): @@ -58,14 +58,14 @@ Very little configuration is necessary to make your AR function. All you need is 1. Click **Image** > **Edit**. 1. Select a tracker from an image collection. This image will be the foundation of your AR application and is what your camera will track: - {{< figure src="/attachments/howto/mobile/native-mobile/ar-parent/how-to-ar-simple-cube/sample-tracker-image.png" alt="Select tracker" width="400" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/ar-parent/how-to-ar-simple-cube/sample-tracker-image.png" alt="Select tracker" width="400" class="no-border" >}} 1. Set the physical size of this image tracker, this size is in meters. For example, if you printed the tracker to be 10 cm set **Physical marker size** to 0.1. 1. Double-click your **Cube (AR)** widgets. 1. Set **X**, **Y** and **Z** of Scale to 0.1. This way the **Cube (AR)** will be the same size as your physical tracker. 1. Click **Run** in Mendix Studio Pro to automatically refresh your Make It Native app. Now your **Hello World AR** app is up and running. You should now see a simple white cube rendered on top of a tracker: - {{< figure src="/attachments/howto/mobile/native-mobile/ar-parent/how-to-ar-simple-cube/white-cube.png" alt="White cube" width="400" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/ar-parent/how-to-ar-simple-cube/white-cube.png" alt="White cube" width="400" class="no-border" >}} Now that you have a simple scene running, you will a closer look at the widgets you used to understand what they do. @@ -73,19 +73,19 @@ Now that you have a simple scene running, you will a closer look at the widgets This widget starts an AR scene: the video feed you see on AR apps. It is named Container (AR) because this widget will hold all your other AR widgets. It is the foundation of every Mendix AR mobile application: -{{< figure src="/attachments/howto/mobile/native-mobile/ar-parent/how-to-ar-simple-cube/ar-container.png" alt="Container (AR)" width="400" class="no-border" >}} +{{< figure src="/attachments/howto10/mobile/native-mobile/ar-parent/how-to-ar-simple-cube/ar-container.png" alt="Container (AR)" width="400" class="no-border" >}} ### ImageTracker (AR) {#ar-tracker} The **ImageTracker (AR)** widget allows you to track an image. Like Container (AR), this widget can contain other AR widgets. All widgets you put into ImageTracker (AR) will stick to the image. That means that every object (Cube (AR), Sphere (AR), and others) will follow or track the image. -{{< figure src="/attachments/howto/mobile/native-mobile/ar-parent/how-to-ar-simple-cube/ar-image-tracker.png" alt="ImageTracker (AR)" width="400" class="no-border" >}} +{{< figure src="/attachments/howto10/mobile/native-mobile/ar-parent/how-to-ar-simple-cube/ar-image-tracker.png" alt="ImageTracker (AR)" width="400" class="no-border" >}} The **ImageTracker (AR)** properties are as follows: * **Image** – In the **General** tab, you can provide your own image to this widget by clicking **Image** > **Edit**. While it is possible to add any image, some images work better for AR tracking than others. Images can best be tracked when they have high contrast and several edges: - {{< figure src="/attachments/howto/mobile/native-mobile/ar-parent/how-to-ar-simple-cube/sample-tracker-image.png" alt="Sample Tracker Image" width="400" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/ar-parent/how-to-ar-simple-cube/sample-tracker-image.png" alt="Sample Tracker Image" width="400" class="no-border" >}} It is possible to use a more conventional image, like a company logo, as long as it has enough contrast and edges. If your image does not posses these qualities, you will notice AR elements floating in incorrect places and motion tracking failures as you move your camera. It is also possible that your image will not be recognized at all. @@ -93,15 +93,15 @@ The **ImageTracker (AR)** properties are as follows: Your standard cube will not look different when turned around. To show orientation, this tutorial has temporarily added the following texture (see the [Material](#material) section below to learn how to add your own texture to an object): -{{< figure src="/attachments/howto/mobile/native-mobile/ar-parent/how-to-ar-simple-cube/up-arrow.png" alt="UP Image" width="400" class="no-border" >}} +{{< figure src="/attachments/howto10/mobile/native-mobile/ar-parent/how-to-ar-simple-cube/up-arrow.png" alt="UP Image" width="400" class="no-border" >}} Here is a cube with the **Up** orientation: -{{< figure src="/attachments/howto/mobile/native-mobile/ar-parent/how-to-ar-simple-cube/up-cube.png" alt="Cube on tracker with Up orientation" width="400" class="no-border" >}} +{{< figure src="/attachments/howto10/mobile/native-mobile/ar-parent/how-to-ar-simple-cube/up-cube.png" alt="Cube on tracker with Up orientation" width="400" class="no-border" >}} Here is a cube with the **Left** orientation: -{{< figure src="/attachments/howto/mobile/native-mobile/ar-parent/how-to-ar-simple-cube/left-cube.png" alt="Cube on tracker with Left orientation" width="400" class="no-border" >}} +{{< figure src="/attachments/howto10/mobile/native-mobile/ar-parent/how-to-ar-simple-cube/left-cube.png" alt="Cube on tracker with Left orientation" width="400" class="no-border" >}} **Physical marker size** - this is where you put the physical size of your tracker, and how AR determines how far away the marker is. Since most phones will use only one camera, this value is used to calculate depth. Putting a wrong value here won't break AR, but will change the depth at which your objects are rendered. Which in turn may also lead to more jittering or 'vibrating' of your 3D models. @@ -115,7 +115,7 @@ Having the **Cube (AR)** widget in the **ImageTracker (AR)** widget will render The **General** tab contains basic properties for configuring position: -{{< figure src="/attachments/howto/mobile/native-mobile/ar-parent/how-to-ar-simple-cube/general-tab.png" alt="General tab" width="400" class="no-border" >}} +{{< figure src="/attachments/howto10/mobile/native-mobile/ar-parent/how-to-ar-simple-cube/general-tab.png" alt="General tab" width="400" class="no-border" >}} In the **General** tab you can configure **Position**, **Rotation**, and **Scale** (**X** stands for left/right, **Y** for up/down, and **Z** for depth): @@ -123,35 +123,35 @@ In the **General** tab you can configure **Position**, **Rotation**, and **Scale Here is a cube in **Position** (0.1,0,0): - {{< figure src="/attachments/howto/mobile/native-mobile/ar-parent/how-to-ar-simple-cube/first-position.png" alt="Cube on Position (0.1,0,0)" width="400" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/ar-parent/how-to-ar-simple-cube/first-position.png" alt="Cube on Position (0.1,0,0)" width="400" class="no-border" >}} Here is a cube in **Position** (0,0.1,0): - {{< figure src="/attachments/howto/mobile/native-mobile/ar-parent/how-to-ar-simple-cube/second-position.png" alt="Cube on Position (0,0.1,0)" width="400" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/ar-parent/how-to-ar-simple-cube/second-position.png" alt="Cube on Position (0,0.1,0)" width="400" class="no-border" >}} Here is a cube in **Position** (0,0,0.1): - {{< figure src="/attachments/howto/mobile/native-mobile/ar-parent/how-to-ar-simple-cube/third-position.png" alt="Cube on Position (0,0,0.1)" width="400" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/ar-parent/how-to-ar-simple-cube/third-position.png" alt="Cube on Position (0,0,0.1)" width="400" class="no-border" >}} * **Rotation** – the rotation of the cube in 360 degrees. Set **Rotation** **X** to *45* to see your cube rotated 45 degrees on its X axis: Here is a cube with **Rotation** (0,0,0): - {{< figure src="/attachments/howto/mobile/native-mobile/ar-parent/how-to-ar-simple-cube/white-cube.png" alt="Cube with Rotation (0,0,0)" width="400" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/ar-parent/how-to-ar-simple-cube/white-cube.png" alt="Cube with Rotation (0,0,0)" width="400" class="no-border" >}} Here is a cube with **Rotation** (45,0,0): - {{< figure src="/attachments/howto/mobile/native-mobile/ar-parent/how-to-ar-simple-cube/rotation-forty-five.png" alt="Cube with Rotation (45,0,0)" width="400" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/ar-parent/how-to-ar-simple-cube/rotation-forty-five.png" alt="Cube with Rotation (45,0,0)" width="400" class="no-border" >}} * **Scale** – the size of the object, also relative to the tracker it is embedded in. When the **Scale** is set to *(0,0,0)* the object will be invisible. Because **0.1** is exactly the size of the tracker, set **Scale X**, **Y** and **Z** to *0.05* to see your cube shrink in the tracker: Here is a cube with **Scale** (0.1,0.1,0.1): - {{< figure src="/attachments/howto/mobile/native-mobile/ar-parent/how-to-ar-simple-cube/white-cube.png" alt="Cube with Scale (0.1,0.1,0.1)" width="400" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/ar-parent/how-to-ar-simple-cube/white-cube.png" alt="Cube with Scale (0.1,0.1,0.1)" width="400" class="no-border" >}} Here is a cube with **Scale** (0.05,0.05,0.05): - {{< figure src="/attachments/howto/mobile/native-mobile/ar-parent/how-to-ar-simple-cube/scale-half.png" alt="Cube with Scale (0.05,0.05,0.05)" width="400" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/ar-parent/how-to-ar-simple-cube/scale-half.png" alt="Cube with Scale (0.05,0.05,0.05)" width="400" class="no-border" >}} For **Position**, **Rotation** and **Scale** an **Attribute** can also be used to set the **Position**, **Rotation** and **Scale** **X** **Y** and **Z** values. To use the **Attribute** option simply select this instead of **Expression** at **Position type**, **Rotation type** or **Scale type**. The last option is to use **Static**, where you can also put a value but cannot change this value in the app itself. @@ -159,21 +159,21 @@ For **Position**, **Rotation** and **Scale** an **Attribute** can also be used t The **Material** tab contains properties for configuring appearance: -{{< figure src="/attachments/howto/mobile/native-mobile/ar-parent/how-to-ar-simple-cube/material-tab.png" alt="Material" width="400" class="no-border" >}} +{{< figure src="/attachments/howto10/mobile/native-mobile/ar-parent/how-to-ar-simple-cube/material-tab.png" alt="Material" width="400" class="no-border" >}} * **Material type** - can be either **Texture** or **Color**. **Material type** determines what will be put onto the cube, an image or a solid color. * **Texture** – an image you can place on the cube by clicking **Edit**. The image will appear on each face of the cube. Put the example tracker here as a texture to end up with this colorful cube (note that the cube now ignores any **Color** value – if you want to make your cube one solid color, make sure the Texture is set to **none**): - {{< figure src="/attachments/howto/mobile/native-mobile/ar-parent/how-to-ar-simple-cube/sample-texture.png" alt="Texture" width="400" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/ar-parent/how-to-ar-simple-cube/sample-texture.png" alt="Texture" width="400" class="no-border" >}} * **Color** – the color of the cube. You can have either a **Texture** or **Color**, but not both. The color must be supplied in the *#rrggbb* format. *#0CABF9* (a light blue) is the standard color. Change the value to *#00FF00* to make your cube appear this way: - {{< figure src="/attachments/howto/mobile/native-mobile/ar-parent/how-to-ar-simple-cube/green.png" alt="Color" width="400" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/ar-parent/how-to-ar-simple-cube/green.png" alt="Color" width="400" class="no-border" >}} * **Opacity** – the clarity or opacity of the cube. *1* is fully opaque, while *0* is fully transparent. Change the color of your cube back to *white* and change the opacity value to *0.5* to see your cube become partly transparent: - {{< figure src="/attachments/howto/mobile/native-mobile/ar-parent/how-to-ar-simple-cube/opacity.png" alt="Opacity" width="400" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/ar-parent/how-to-ar-simple-cube/opacity.png" alt="Opacity" width="400" class="no-border" >}} * **Lighting type** – the way light from the scene will fall on your object. * **Simple** is the standard **Lighting Type**, this is not very realistic but will make the object visible and is the easiest to work with. @@ -181,17 +181,17 @@ The **Material** tab contains properties for configuring appearance: Here is a cube with **Lighting type** > **Simple**: - {{< figure src="/attachments/howto/mobile/native-mobile/ar-parent/how-to-ar-simple-cube/white-cube.png" alt="Cube with lighting type Phong" width="400" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/ar-parent/how-to-ar-simple-cube/white-cube.png" alt="Cube with lighting type Phong" width="400" class="no-border" >}} Here is a cube with **Lighting type** > **Realistic**: - {{< figure src="/attachments/howto/mobile/native-mobile/ar-parent/how-to-ar-simple-cube/realistic.png" alt="Cube with lighting type Constant" width="400" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/ar-parent/how-to-ar-simple-cube/realistic.png" alt="Cube with lighting type Constant" width="400" class="no-border" >}} ### Interaction **Interaction** is where Mendix AR gets more advanced. These properties dictate every way you can interact with your object. Enabling any of these will also allow you to catch the events they generate in the **Events** tab: -{{< figure src="/attachments/howto/mobile/native-mobile/ar-parent/how-to-ar-simple-cube/interaction-tab.png" alt="Interaction tab" width="400" class="no-border" >}} +{{< figure src="/attachments/howto10/mobile/native-mobile/ar-parent/how-to-ar-simple-cube/interaction-tab.png" alt="Interaction tab" width="400" class="no-border" >}} * **Dragging** – allows a user to move an object by moving their phone (the object will follow on the floor, desk, or other surface in the middle of the screen). * **Enable dragging** - dictates if the dragging behavior is enabled. For example, you could enable and disable this when the user clicks on the object using the **On click** event in the **Events** tab. @@ -200,17 +200,17 @@ The **Material** tab contains properties for configuring appearance: * **Fixed to world**: makes the object stick to the world, for example objects like floors, desks, and walls * **On drag** – an event that is triggered when the object is has started or stopped moving through dragging: - {{< figure src="/attachments/howto/mobile/native-mobile/ar-parent/how-to-ar-simple-cube/dragging.gif" alt="Dragging gif" width="400" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/ar-parent/how-to-ar-simple-cube/dragging.gif" alt="Dragging gif" width="400" class="no-border" >}} * **Pinching** – can be used to scale the object, similar to zooming in and out on a maps widget. Select **Pinching** > **Yes**, **Enable pinching** > **true**, select **Enable Pinch to Scale** > **Yes**, then pinch out on your object to examine it in detail: - {{< figure src="/attachments/howto/mobile/native-mobile/ar-parent/how-to-ar-simple-cube/pinching.gif" alt="Pinching gif" width="400" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/ar-parent/how-to-ar-simple-cube/pinching.gif" alt="Pinching gif" width="400" class="no-border" >}} ### Events The **Events** tab appears this way: -{{< figure src="/attachments/howto/mobile/native-mobile/ar-parent/how-to-ar-simple-cube/events-tab.png" alt="Events tab" width="400" class="no-border" >}} +{{< figure src="/attachments/howto10/mobile/native-mobile/ar-parent/how-to-ar-simple-cube/events-tab.png" alt="Events tab" width="400" class="no-border" >}} Events on 3D objects work like any other event on a widget. **On click** is called when the object is clicked, and **On hover enter** is called when the object enters 'in focus' in the middle of the screen, **On hover exit** is called when the object exits that 'focus' in the middle of the screen. @@ -218,20 +218,20 @@ Events on 3D objects work like any other event on a widget. **On click** is call The **Common** tab appears this way: -{{< figure src="/attachments/howto/mobile/native-mobile/ar-parent/how-to-ar-simple-cube/common-tab.png" alt="Common tab" width="400" class="no-border" >}} +{{< figure src="/attachments/howto10/mobile/native-mobile/ar-parent/how-to-ar-simple-cube/common-tab.png" alt="Common tab" width="400" class="no-border" >}} The **Common** tab has two important properties: * **Name** – is used internally in all AR Widgets and must be unique. It can be changed, but Mendix recommends keeping its generated name. * **Visible** – is used to dictate the visibility of the AR component. This can be conditional just like most other widgets: - {{< figure src="/attachments/howto/mobile/native-mobile/ar-parent/how-to-ar-simple-cube/visibility.png" alt="Visibility" width="400" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/ar-parent/how-to-ar-simple-cube/visibility.png" alt="Visibility" width="400" class="no-border" >}} ### Appearance The **Appearance** tab appears this way: -{{< figure src="/attachments/howto/mobile/native-mobile/ar-parent/how-to-ar-simple-cube/appearance-tab.png" alt="Appearance tab" width="400" class="no-border" >}} +{{< figure src="/attachments/howto10/mobile/native-mobile/ar-parent/how-to-ar-simple-cube/appearance-tab.png" alt="Appearance tab" width="400" class="no-border" >}} Currently the properties in the **Appearance** tab have no influence on AR widgets. This tab can be ignored. diff --git a/content/en/docs/refguide10/mobile/using-mobile-capabilities/augmented-reality/how-to-web-xr.md b/content/en/docs/refguide10/mobile/using-mobile-capabilities/augmented-reality/how-to-web-xr.md index 5b217b93624..b0b7f33fac1 100644 --- a/content/en/docs/refguide10/mobile/using-mobile-capabilities/augmented-reality/how-to-web-xr.md +++ b/content/en/docs/refguide10/mobile/using-mobile-capabilities/augmented-reality/how-to-web-xr.md @@ -34,7 +34,7 @@ These widgets require a certain configuration to work; all the widgets need to b A very simple configuration could look like this: -{{< figure src="/attachments/howto/mobile/native-mobile/ar-parent/how-to-webxr/container-with-cube.jpg" alt="Container (AR) with Cube (AR)" width="400" >}} +{{< figure src="/attachments/howto10/mobile/native-mobile/ar-parent/how-to-webxr/container-with-cube.jpg" alt="Container (AR) with Cube (AR)" width="400" >}} ### HTTPS Prerequisite @@ -42,11 +42,11 @@ For WebXR to work, you will have to run the project through HTTPS protocol. The Here is a simple scene without the button to start WebXR: -{{< figure src="/attachments/howto/mobile/native-mobile/ar-parent/how-to-webxr/cube-no-webxr-button.jpg" alt="How the page appears without WebXR support" width="400" >}} +{{< figure src="/attachments/howto10/mobile/native-mobile/ar-parent/how-to-webxr/cube-no-webxr-button.jpg" alt="How the page appears without WebXR support" width="400" >}} Here is that same scene with the button: -{{< figure src="/attachments/howto/mobile/native-mobile/ar-parent/how-to-webxr/cube-webxr-button.jpg" alt="How the page appears with WebXR support" width="400" >}} +{{< figure src="/attachments/howto10/mobile/native-mobile/ar-parent/how-to-webxr/cube-webxr-button.jpg" alt="How the page appears with WebXR support" width="400" >}} It is not possible to start the experience without the user clicking the button. This is due to the user needing to give permission to have their space taken over by this experience, and not being surprised by this happening. diff --git a/content/en/docs/refguide10/mobile/using-mobile-capabilities/deep-links.md b/content/en/docs/refguide10/mobile/using-mobile-capabilities/deep-links.md index 3f78c63ecfc..d99d82b26ef 100644 --- a/content/en/docs/refguide10/mobile/using-mobile-capabilities/deep-links.md +++ b/content/en/docs/refguide10/mobile/using-mobile-capabilities/deep-links.md @@ -4,7 +4,7 @@ url: /refguide10/mobile/using-mobile-capabilities/deep-links/ weight: 20 description: Connect URLs to your native mobile app by adding a deep link. aliases: - - /howto/mobile/native-deep-link/ + - /howto10/mobile/native-deep-link/ --- ## Introduction @@ -15,7 +15,7 @@ Deep links are always called or triggered within the schema that they define. Fo A URL is constructed of these parts (everything after **path** is defined as a detail): -{{< figure src="/attachments/howto/mobile/native-mobile/implementation/native-deep-link/url-parts.png" alt="url details" class="no-border" >}} +{{< figure src="/attachments/howto10/mobile/native-mobile/implementation/native-deep-link/url-parts.png" alt="url details" class="no-border" >}} You can also register the handling of a normal weblink beginning with `http://` or `https://`. However this requires some more work for iOS, and is not covered in this tutorial. For iOS see [Universal Links: Make the Connection](https://www.raywenderlich.com/6080-universal-links-make-the-connection) by Owen L. Brown. Android does allow for both types of weblink handling out of the box. @@ -48,15 +48,15 @@ Set up a native template with the **Native Mobile App Builder** by following the 1. Launch the Native Mobile App Builder from the **App** menu. Walk through the wizard and configure the app's details and tokens (for more information, see [Build a Mendix Native App Locally](/refguide10/mobile/distributing-mobile-apps/building-native-apps/native-build-locally/)): - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/native-deep-link/launch-native-mobile-app-builder.png" alt="launch native mobile builder" width="400" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/native-deep-link/launch-native-mobile-app-builder.png" alt="launch native mobile builder" width="400" class="no-border" >}} 2. Once done with the wizard you will enable deep linking capabilities. First, select the **Capabilities** menu item: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/native-deep-link/capability-menu-option.png" alt="capability menu option" width="400" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/native-deep-link/capability-menu-option.png" alt="capability menu option" width="400" class="no-border" >}} 3. Enter the `schema` name without the appending `://`: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/native-deep-link/deep-link-input-field.png" alt="deep link input field" width="400" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/native-deep-link/deep-link-input-field.png" alt="deep link input field" width="400" >}} 4. Click the **Save** button. 5. Navigate to the build page and click **Build**. @@ -113,13 +113,13 @@ Now that the **Native Deep Link** nanoflow actions are available in Studio Pro, 1. In your app add the **App events** widget, which is also part of the Native Mobile Resource module, on your home page. 1. Double-click the **App events** widget. In **App events** tab, select **Page load** > **On load** > **Call a nanoflow**, and create a new nanoflow named *OL_RegisterDeepLink*: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/native-deep-link/app-events-register-deep-link.png" alt="app event register deeplink" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/native-deep-link/app-events-register-deep-link.png" alt="app event register deeplink" class="no-border" >}} This nanoflow will be called only once when the app is started. 1. In the **OL_RegisterDeepLink** nanoflow, add the action **Register Deep Link**, and in that action's **Url handler** create an nanoflow named *DL_ShowUrlDetails*: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/native-deep-link/nanoflow-register-deep-link.png" alt="nanoflow register deeplink" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/native-deep-link/nanoflow-register-deep-link.png" alt="nanoflow register deeplink" class="no-border" >}} This nanoflow will be called every time the app is opened using a URL. @@ -127,7 +127,7 @@ Now that the **Native Deep Link** nanoflow actions are available in Studio Pro, If you use query strings or more, you can copy the **DeepLinkParameter** entity to your own module. The image below shows you an example. The attributes are all optional and you should only add the attributes your implementation requires. Besides the standard list of possible URL parts, you can also add the query string's keys (for example `?name=Jhon&title=sir`). The attributes are not case sensitive. You can add attributes for path segments of the URL which will be split into `Path0` , `Path1`, and more: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/native-deep-link/entity-parameter.png" alt="parameter entity" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/native-deep-link/entity-parameter.png" alt="parameter entity" class="no-border" >}} Next you will implement the deep link handler nanoflow **DL_ShowUrlDetails** so that it can pass URL data: @@ -135,7 +135,7 @@ Next you will implement the deep link handler nanoflow **DL_ShowUrlDetails** so 1. Double-click the parameter, give it the name *URL* (which is case sensitive) and the type **String**. 1. Add a **Parse URL to Object** activity to your nanoflow. Double-click it and configure it like this: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/native-deep-link/parse-url.png" alt="parse url" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/native-deep-link/parse-url.png" alt="parse url" class="no-border" >}} 1. Add a **Show message** activity to the right of your **Parse URL to Object** activity. 1. Double-click the **Show message** activity. @@ -146,7 +146,7 @@ Next you will implement the deep link handler nanoflow **DL_ShowUrlDetails** so 1. Drop an **End event** below your **Parse URL to Object** activity. Drag a line from **Parse URL to Object** down to the end event, right click it, and click **Set as error handler**. 1. Add a **Show message** activity to this line. Set it as type **Error**, and into template type *Failed to parse deep link data.*. Your finished nanoflow will look like this: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/native-deep-link/deep-link-nano-full.png" alt="full nanoflow" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/native-deep-link/deep-link-nano-full.png" alt="full nanoflow" class="no-border" >}} ### Testing Deep Linking diff --git a/content/en/docs/refguide10/mobile/using-mobile-capabilities/local-notifications/_index.md b/content/en/docs/refguide10/mobile/using-mobile-capabilities/local-notifications/_index.md index ee45a1c3bd2..a17a23e3bfb 100644 --- a/content/en/docs/refguide10/mobile/using-mobile-capabilities/local-notifications/_index.md +++ b/content/en/docs/refguide10/mobile/using-mobile-capabilities/local-notifications/_index.md @@ -4,12 +4,12 @@ url: /refguide10/mobile/using-mobile-capabilities/local-notifications/ weight: 50 description: Tutorials for setting up local push notifications which do not use an internet connection. aliases: - - /howto/mobile/local-notif-parent/ - - /howto/mobile/native-local-notifications/ - - /howto/mobile/local-notif-badges/ - - /howto/mobile/local-notif-action/ - - /howto/mobile/local-notif-data/ - - /howto/mobile/local-notif-schedule-cancel/ + - /howto10/mobile/local-notif-parent/ + - /howto10/mobile/native-local-notifications/ + - /howto10/mobile/local-notif-badges/ + - /howto10/mobile/local-notif-action/ + - /howto10/mobile/local-notif-data/ + - /howto10/mobile/local-notif-schedule-cancel/ --- These step-by-step guides teach you how to build local notifications for native mobile applications. Local notifications will only allow you to schedule and send notifications confined to one mobile device. These notifications do not use an internet connection. One use of a local notification might be an alarm app which sends a notification after an amount of time has elapsed. diff --git a/content/en/docs/refguide10/mobile/using-mobile-capabilities/local-notifications/local-notif-action.md b/content/en/docs/refguide10/mobile/using-mobile-capabilities/local-notifications/local-notif-action.md index b615006ce37..0ac7ed5b4a4 100644 --- a/content/en/docs/refguide10/mobile/using-mobile-capabilities/local-notifications/local-notif-action.md +++ b/content/en/docs/refguide10/mobile/using-mobile-capabilities/local-notifications/local-notif-action.md @@ -27,7 +27,7 @@ In this section you will learn to show a page when a user taps a notification. 1. Drag a **Notifications** widget onto your native home page. - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-action/notif-widget.png" alt="notifications widget" width="400" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-action/notif-widget.png" alt="notifications widget" width="400" class="no-border" >}} 2. Double-click the widget. 3. Click **Actions** > **New**. @@ -40,11 +40,11 @@ In this section you will learn to show a page when a user taps a notification. 10. Drag an **Open page button** widget onto **NotifPage**. 11. When prompted, click your **Home_Native** page: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-action/home-native-select.png" alt="click home page" width="400" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-action/home-native-select.png" alt="click home page" width="400" class="no-border" >}} 12. Click **Select**. Now you have a button which will bring you back to your home screen when you are testing: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-action/nav-button.png" alt="click home page" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-action/nav-button.png" alt="click home page" class="no-border" >}} 13. Navigate back to your **ACT_CreateAndSendNotification** nanoflow. @@ -52,15 +52,15 @@ In **ACT_CreateAndSendNotification** you will set up the logic for tapping a not 1. Double-click your **Display Notification** activity: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-action/set-action-name-display.png" alt="click display notification" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-action/set-action-name-display.png" alt="click display notification" class="no-border" >}} 2. Click **Action Name** > **Edit** - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-action/add-action-name.png" alt="edit action name" width="500" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-action/add-action-name.png" alt="edit action name" width="500" class="no-border" >}} 3. Type `'show_page'` into the expression field: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-action/show-page-exp.png" alt="show page expression" width="400" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-action/show-page-exp.png" alt="show page expression" width="400" class="no-border" >}} 4. Click the **OK** buttons until you are back at your nanoflow. @@ -76,4 +76,4 @@ Now you can show pages after notifications are tapped. Next, in [Use Local Notif ## Read More -* [Build JavaScript Actions](/howto/extensibility/build-javascript-actions/) +* [Build JavaScript Actions](/howto10/extensibility/build-javascript-actions/) diff --git a/content/en/docs/refguide10/mobile/using-mobile-capabilities/local-notifications/local-notif-badges.md b/content/en/docs/refguide10/mobile/using-mobile-capabilities/local-notifications/local-notif-badges.md index 6c7eb8c9507..920c67cdd04 100644 --- a/content/en/docs/refguide10/mobile/using-mobile-capabilities/local-notifications/local-notif-badges.md +++ b/content/en/docs/refguide10/mobile/using-mobile-capabilities/local-notifications/local-notif-badges.md @@ -29,29 +29,29 @@ Since you know how to send a simple local notification, you can now set the badg 1. Open **ACT_CreateAndSendNotification**. 2. Drag a **Create variable** activity to the right of the three string variables you made: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-badges/new-variable-badge.png" alt="new create variable" width="500" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-badges/new-variable-badge.png" alt="new create variable" width="500" class="no-border" >}} 3. Double-click the variable activity and select **Data type** > **Integer/Long**. 4. Type *1* into the expression value field. 5. Type *badge_number* into the **variable name** field: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-badges/badge-1.png" alt="badge number" width="400" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-badges/badge-1.png" alt="badge number" width="400" class="no-border" >}} 6. Click **OK**. 7. Drag a **Set badge number** JavaScript action to the right of your merge activity: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-badges/set-badge-act.png" alt="drag set badge number" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-badges/set-badge-act.png" alt="drag set badge number" class="no-border" >}} 8. Double-click the badge number activity. 9. Set the value of **Badge number** to **$badge_number** - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-badges/badge-input.png" alt="value badge number" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-badges/badge-input.png" alt="value badge number" class="no-border" >}} 10. Click **OK**. Start and load the app on your mobile device and tap the button which calls your nanoflow. You will see a notification. Go to your device's start screen to see the notification badge on your app: -{{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-badges/badge-mobile.png" alt="badge number on mobile" width="300" class="no-border" >}} +{{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-badges/badge-mobile.png" alt="badge number on mobile" width="300" class="no-border" >}} ## Reducing a Badge Number @@ -59,7 +59,7 @@ To make your badge disappear after your user opens your app, follow the instruct 1. Drop an **App events** widget onto **Home_Native** (you have this widget because it is included in the [Blank Native Mobile App](https://marketplace.mendix.com/link/component/109511/)): - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-badges/app-events.png" alt="app event widget" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-badges/app-events.png" alt="app event widget" class="no-border" >}} 2. Double-click your **App events** widget. 3. Select **On load** > **Call a nanoflow**. @@ -67,25 +67,25 @@ To make your badge disappear after your user opens your app, follow the instruct 5. Go to **ACT_ClearBadge**. 6. Drag a **Set badge number** activity into your nanoflow: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-badges/clear-set-badge.png" alt="set badge activity" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-badges/clear-set-badge.png" alt="set badge activity" class="no-border" >}} 7. Double-click your **Set badge number** activity. 8. Click **Badge number** > **Edit**. 9. Type *0* and click **OK**. 10. Set **Use Return Value** to **No**: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-badges/clear-badge-settings.png" alt="return value" width="400" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-badges/clear-badge-settings.png" alt="return value" width="400" class="no-border" >}} 11. Drag a **Log message** activity into your microflow. 12. Double-click your **Log message** activity, write *Your notification has been cleared* into **Template**, and click **OK**: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-badges/clear-text-log.png" alt="clear text" width="500" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-badges/clear-text-log.png" alt="clear text" width="500" class="no-border" >}} 13. Go back to your **Home_Native** page and double-click your **App events** activity. 14. Make sure **Page load** > **On load** is set to **Call a nanoflow**, and specify that nanoflow as **ACT_ClearBadge**. This will make sure your badge clears on page load. 15. Set **App resume** > **On resume** is set to **Call a nanoflow**, and specify that nanoflow as **ACT_ClearBadge**. This will make sure your badge clears when your app is resumed: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-badges/app-event-final-settings.png" alt="app event final settings" width="300" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-badges/app-event-final-settings.png" alt="app event final settings" width="300" class="no-border" >}} 16. Click **OK** and save your changes. @@ -94,12 +94,12 @@ You can now test your badge clearing. 1. Start and load the app on your mobile device and tap the button which calls your nanoflow. You will see a notification. 2. Go to your device's start screen to see the notification badge on your app: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-badges/badge-mobile.png" alt="badge number on mobile" width="300" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-badges/badge-mobile.png" alt="badge number on mobile" width="300" class="no-border" >}} 3. Tap your app again to open it. 4. Navigate to your device's home screen and see that your Make It Native app has no more badge: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-badges/cleared-badge-icon.png" alt="cleared-badge-icon.png" width="300" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-badges/cleared-badge-icon.png" alt="cleared-badge-icon.png" width="300" class="no-border" >}} 5. Check your Studio Pro **Console** to read the **Your notification has been cleared** text you set up. @@ -107,4 +107,4 @@ Congratulations! You successfully implemented basic badge clearing. Next, in [Ho ## Read More -* [Build JavaScript Actions](/howto/extensibility/build-javascript-actions/) +* [Build JavaScript Actions](/howto10/extensibility/build-javascript-actions/) diff --git a/content/en/docs/refguide10/mobile/using-mobile-capabilities/local-notifications/local-notif-data.md b/content/en/docs/refguide10/mobile/using-mobile-capabilities/local-notifications/local-notif-data.md index d3618b5d1e6..1627face279 100644 --- a/content/en/docs/refguide10/mobile/using-mobile-capabilities/local-notifications/local-notif-data.md +++ b/content/en/docs/refguide10/mobile/using-mobile-capabilities/local-notifications/local-notif-data.md @@ -35,20 +35,20 @@ To make your two entities, do the following: 1. Navigate to your domain model. 2. Drag a new entity into your domain model: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-data/new-entity.png" alt="new entity" width="500" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-data/new-entity.png" alt="new entity" width="500" class="no-border" >}} 3. Double-click it and name it *TestEntity*: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-data/test-entity.png" alt="test entity" width="500" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-data/test-entity.png" alt="test entity" width="500" class="no-border" >}} 4. Click **Attributes** > **New**, name it *StringAttribute_1*, and click **OK**: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-data/first-string-attribute.png" alt="string attribute" width="400" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-data/first-string-attribute.png" alt="string attribute" width="400" class="no-border" >}} 5. Click **OK** again until you are back at the domain model. 6. Create an entity named *Notification* on your domain model with a string attribute *GUIDString*: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-data/guid-notification.png" alt="GUID string" width="500" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-data/guid-notification.png" alt="GUID string" width="500" class="no-border" >}} To set up a notification nanoflow, do the following: @@ -60,7 +60,7 @@ To set up a notification nanoflow, do the following: 6. Click **OK**. 7. Right-click your create object activity and select **Set $NewNotification as return value**:
                                  - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-data/create-notif-nano.png" alt="create notification nanoflow" width="500" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-data/create-notif-nano.png" alt="create notification nanoflow" width="500" class="no-border" >}} To set up your microflow, do the following: @@ -74,25 +74,25 @@ To set up your microflow, do the following: 8. Click **OK**. 9. Double-click your end event, make sure its **Type** is **Boolean**, type *true* into the value field, and click **OK**: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-data/end-event-true.png" alt="end event true" width="500" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-data/end-event-true.png" alt="end event true" width="500" class="no-border" >}} To make this microflow run after startup, do the following: 1. Double-click **Settings** in your App Explorer: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-data/pe-settings.png" alt="app explorer" width="400" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-data/pe-settings.png" alt="app explorer" width="400" class="no-border" >}} 2. Click the **Runtime** tab: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-data/runtime-tab.png" alt="click runtime" width="400" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-data/runtime-tab.png" alt="click runtime" width="400" class="no-border" >}} 3. Click **After startup** > **Select**: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-data/after-startup.png" alt="select after start up" width="500" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-data/after-startup.png" alt="select after start up" width="500" class="no-border" >}} 4. Click **DS_TestEntity** then click the **Select** button to achieve this result: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-data/select-ds-entity.png" alt="select test entity" width="500" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-data/select-ds-entity.png" alt="select test entity" width="500" class="no-border" >}} 5. Click **OK** @@ -105,20 +105,20 @@ To make your page, do the following: 5. Click **TestEntity**. 6. Click **Select** to see the following: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-data/data-view-source.png" alt="entity test entity" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-data/data-view-source.png" alt="entity test entity" class="no-border" >}} 7. Click **OK**. 8. When asked **"Do you want to automatically fill the contents of the data view?"** click **Yes**. 9. This will be the page your user sees when they tap the notification: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-data/page-with-data-view.png" alt="page with data view" width="300" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-data/page-with-data-view.png" alt="page with data view" width="300" class="no-border" >}} Next you will learn how to pass data to pages after you have tapped a notification. First, make a nanoflow: 1. Create a nanoflow named *ACT_PassGUIDToNotification*. 2. Add a retrieve action to your nanoflow, set **Source** to **From Database**, and set **Range** to **First**. Click **Entity** > **Select** and select the **TestEntity**. In **Object name** type *FirstTestEntityObject*. Then click **OK**. This will be the object that gets the GUID: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-data/retrieve-object.png" alt="retrieve object" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-data/retrieve-object.png" alt="retrieve object" class="no-border" >}} 3. Add a JavaScript Action Call activity to your nanoflow. 4. Double-click the action call activity. @@ -129,17 +129,17 @@ Next you will learn how to pass data to pages after you have tapped a notificati 9. Click **OK**. 10. Drag four create variable activities into your nanoflow: *Title*, *Subtitle*, *Body*, and *ActionName*. Give them the values *'title1'*, *'subtitle1'*, *'body1'*, and *'OpenPageWithParams'* respectively: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-data/title1-activity.png" alt="title1" width="400" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-data/title1-activity.png" alt="title1" width="400" class="no-border" >}} - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-data/subtitle1-activity.png" alt="subtitle1" width="400" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-data/subtitle1-activity.png" alt="subtitle1" width="400" class="no-border" >}} - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-data/body1-activity.png" alt="body1" width="400" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-data/body1-activity.png" alt="body1" width="400" class="no-border" >}} - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-data/actionname-activity.png" alt="actionname" width="400" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-data/actionname-activity.png" alt="actionname" width="400" class="no-border" >}} This is how all of your activities will look: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-data/guid-nano-with-four-strings.png" alt="actionname" width="500" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-data/guid-nano-with-four-strings.png" alt="actionname" width="500" class="no-border" >}} 11. Drag a JavaScript action call activity into your nanoflow. 12. Double-click the action call. @@ -147,12 +147,12 @@ Next you will learn how to pass data to pages after you have tapped a notificati 14. Type *DisplayNotification* into the search field, click the corresponding JavaScript action, and click **Select**. 15. Set the **Body**, **Title**, **Subtitle**, **Action name**, and **Action guid** to the corresponding variables you created previously, and set **Play Sound** to **True**: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-data/first-guid-action.png" alt="first guid action" width="500" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-data/first-guid-action.png" alt="first guid action" width="500" class="no-border" >}} 16. Click **OK**. 17. Drag this nanoflow onto your app's **Home_Native** page to create a button which calls it, and name the button *Pass GUID to Notification*: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-data/pass-guid-button.png" alt="guid button" width="500" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-data/pass-guid-button.png" alt="guid button" width="500" class="no-border" >}} Good job! When a user taps a notification from the **Pass GUID to Notification** button, they will now be brought to the **DetailTestEntity** page. Next you will create a nanoflow which receives **notificationEntity** as a parameter, retrieves an object via this parameter, and passes the object to a page. @@ -162,7 +162,7 @@ Good job! When a user taps a notification from the **Pass GUID to Notification** 4. Fill **Name** in as *notificationEntity*. 5. Click **OK**: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-data/notif-entity.png" alt="guid button" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-data/notif-entity.png" alt="guid button" class="no-border" >}} 6. Drag a JavaScript action call into your nanoflow. 7. Double-click the JavaScript action call, then click **Select**. @@ -173,37 +173,37 @@ Good job! When a user taps a notification from the **Pass GUID to Notification** 12. Select **Use Return Value** > **Yes**. 13. In **Object name** write *ReturnedObjectByGUID*: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-data/get-object-by-guid-settings.png" alt="guid settings" width="500" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-data/get-object-by-guid-settings.png" alt="guid settings" width="500" class="no-border" >}} 14. Click **OK** to save and close your JavaScript Action settings: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-data/guid-activity.png" alt="guid activity" width="500" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-data/guid-activity.png" alt="guid activity" width="500" class="no-border" >}} 15. Drop a **Change object** activity into your nanoflow: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-data/new-change-object.png" alt="change object" width="500" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-data/new-change-object.png" alt="change object" width="500" class="no-border" >}} 16. Double-click the change object activity. 17. Select **Object** > **ReturnedObjectByGUID (NativeMobile.TestEntity)** from the drop-down menu. 18. Click **Action** > **New**, make sure **Member** is set to the string attribute, and into **Value** type *'Your notification has forwarded you here!'*: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-data/change-object-action.png" alt="change object action" width="400" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-data/change-object-action.png" alt="change object action" width="400" class="no-border" >}} 19. Click **OK**. Check that your dialog box looks like this, then click **OK** again to close it: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-data/change-object-final.png" alt="change object final" width="400" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-data/change-object-final.png" alt="change object final" width="400" class="no-border" >}} Next you are going to create a show page action for **ON_tapNotification**. 1. Drag a **Show Page** activity into your nanoflow: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-data/add-show-page.png" alt="new show page" width="500" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-data/add-show-page.png" alt="new show page" width="500" class="no-border" >}} 2. Double-click the **Show Page** activity. 3. From the **Object to pass** drop-down menu select **ReturnedObjectByGuid**. 4. Click **Page** > **Select**, click **DetailTestEntity**, then click **OK**: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-data/show-page-settings.png" alt="guid button" width="400" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-data/show-page-settings.png" alt="guid button" width="400" class="no-border" >}} 5. Click **OK** to close the **Show Page** activity settings, then navigate to your **Home_Native** page. @@ -217,18 +217,18 @@ Now you will set up a data view on your home page. 6. Move the **Notifications** widget inside this data view. 7. Confirm that the text box in your data flow is using **GUIDString** as its data source: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-data/GUID-data-source.png" alt="first guid action" width="500" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-data/GUID-data-source.png" alt="first guid action" width="500" class="no-border" >}} 8. Double-click your notifications widget. 9. Click **GUID** > **Select**. 10. Click **GUIDString (String (200))**, then click **Select**. Your results will look like this: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-data/set-guid-string.png" alt="guid string" width="500" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-data/set-guid-string.png" alt="guid string" width="500" class="no-border" >}} 11. Click **Actions** > **New**. 12. Create a **New Action** named *OpenPageWithParams*, set **On open** to **Call a nanoflow**, and select **ON_tapNotification**. - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-data/notif-action-2.png" alt="notification action" width="500" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-data/notif-action-2.png" alt="notification action" width="500" class="no-border" >}} Great job! Now test your data notification functionality: @@ -240,4 +240,4 @@ Congratulations! You have harnessed the power of data to enhance your push notif ## Read More -* [Build JavaScript Actions](/howto/extensibility/build-javascript-actions/) +* [Build JavaScript Actions](/howto10/extensibility/build-javascript-actions/) diff --git a/content/en/docs/refguide10/mobile/using-mobile-capabilities/local-notifications/local-notif-schedule-cancel.md b/content/en/docs/refguide10/mobile/using-mobile-capabilities/local-notifications/local-notif-schedule-cancel.md index bf60011a6a5..057aa645f10 100644 --- a/content/en/docs/refguide10/mobile/using-mobile-capabilities/local-notifications/local-notif-schedule-cancel.md +++ b/content/en/docs/refguide10/mobile/using-mobile-capabilities/local-notifications/local-notif-schedule-cancel.md @@ -25,7 +25,7 @@ To schedule a notification for a specific time, do the following: 1. Navigate to your **ACT_CreateAndSendNotification** nanoflow. 2. Replace your **Display notification** JavaScript action with a new **Schedule notification** action: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-schedule-cancel/new-schedule-action.png" alt="schedule action replace" width="500" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-schedule-cancel/new-schedule-action.png" alt="schedule action replace" width="500" class="no-border" >}} 3. Double-click your new **Schedule notification activity**. 4. Set the **Date** to **EndOfCurrentMinute**. @@ -49,7 +49,7 @@ If your app is open, it will not show the notification due to iOS and Android us 6. Click **Actions** > **New**. 7. Create a **New Action** named *TriggerOnReceive*, set **On receive** to **Call a nanoflow**, and select **ON_ReceiveNotification**: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-schedule-cancel/on-receive-action.png" alt="on receive settings" width="500" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-schedule-cancel/on-receive-action.png" alt="on receive settings" width="500" class="no-border" >}} 8. Click **OK** then **OK** again. 9. In **ACT_CreateAndSendNotification**, double-click your schedule notification activity. @@ -70,21 +70,21 @@ This means that for scheduling notifications on such devices, the end-user must Using **Check generic permission** you can first check if a **SCHEDULE_EXACT_ALARM** is granted to an end-user's device. To achieve that, you must select **SCHEDULE_EXACT_ALARM_ANDROID** from **Permissions Enum**: -{{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-request-schedule/permissionsenumeration.png" alt="Permission enum" width="400" height="340" >}} +{{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-request-schedule/permissionsenumeration.png" alt="Permission enum" width="400" height="340" >}} -{{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-request-schedule/checkgenericpermission.png" alt="Check generic permission" width="320" height="300" >}} +{{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-request-schedule/checkgenericpermission.png" alt="Check generic permission" width="320" height="300" >}} -{{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-request-schedule/checkgenericpermissionaction.png" alt="Check generic permission action" width="320" height="300" >}} +{{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-request-schedule/checkgenericpermissionaction.png" alt="Check generic permission action" width="320" height="300" >}} As an output, you will receive either the ***granted*** or ***blocked*** status. With that information, you can proceed with further actions. Consider the default case for Android 14 devices; the **SCHEDULE_EXACT_ALARM** permission is not given by default. In that case, you need to use **Request generic permission** with selected permission to request it. Requesting of **SCHEDULE_EXACT_ALARM** permission assumes that user will be navigated into the app's **Alarm & Reminders** settings: -{{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-request-schedule/requestgenericpermission.png" alt="Request generic permission" width="320" height="350" >}} +{{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-request-schedule/requestgenericpermission.png" alt="Request generic permission" width="320" height="350" >}} -{{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-request-schedule/requestgenericpermissionaction.png" alt="Request generic permission action" width="320" height="350" >}} +{{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-request-schedule/requestgenericpermissionaction.png" alt="Request generic permission action" width="320" height="350" >}} -{{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-request-schedule/alarmandreminders.png" alt="Alarm and reminders" width="220" height="500" >}} +{{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-request-schedule/alarmandreminders.png" alt="Alarm and reminders" width="220" height="500" >}} After that step, you are ready to schedule notifications on an end-user's device! @@ -105,14 +105,14 @@ To cancel all scheduled notifications, do the following: 1. Create a nanoflow named *ACT_CancelAllScheduledNotifications*. 2. Drag a JavaScript action named **Cancel all scheduled notifications** into your nanoflow: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-schedule-cancel/cancel-all-action.png" alt="cancel scheduled action" width="500" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-schedule-cancel/cancel-all-action.png" alt="cancel scheduled action" width="500" class="no-border" >}} 3. Double-click your new cancel notification action. 4. Select **Use return value** > **No**. 5. Click **OK**. 6. Drag this nanoflow onto your home screen and name its button *Cancel all*. - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-schedule-cancel/cancel-button.png" alt="cancel button" width="300" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-schedule-cancel/cancel-button.png" alt="cancel button" width="300" class="no-border" >}} To test your new cancel button, do the following: @@ -132,13 +132,13 @@ To cancel a specific scheduled notification, you will need to supply a notificat 3. Click **Notification id** > **Edit**. 4. Type *'testID'* into the argument field and click **OK**: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-schedule-cancel/test-id-arg.png" alt="test id argument" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-schedule-cancel/test-id-arg.png" alt="test id argument" class="no-border" >}} 5. Click **OK** once more to close the dialog box. 6. Create a nanoflow named *ACT_CancelScheduledNotifications*. 7. Drag a JavaScript Action named **Cancel scheduled notification** into your nanoflow: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-schedule-cancel/cancel-scheduled-notif.png" alt="cancel one notification" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-schedule-cancel/cancel-scheduled-notif.png" alt="cancel one notification" class="no-border" >}} 8. Double-click your new cancel notification action. 9. Click **Notification id** > **Edit**. @@ -146,7 +146,7 @@ To cancel a specific scheduled notification, you will need to supply a notificat 11. Click **OK** again to close the dialog box. 12. Drag this nanoflow onto your home screen and name its button *Cancel a specific notification*: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-schedule-cancel/cancel-specific-button.png" alt="cancel one button" width="300" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/local-notif-parent/local-notif-schedule-cancel/cancel-specific-button.png" alt="cancel one button" width="300" class="no-border" >}} To test your new cancel button, do the following: @@ -159,4 +159,4 @@ You will not see a notification at the end of the minute, proving your cancel ac ## Read More -* [Build JavaScript Actions](/howto/extensibility/build-javascript-actions/) +* [Build JavaScript Actions](/howto10/extensibility/build-javascript-actions/) diff --git a/content/en/docs/refguide10/mobile/using-mobile-capabilities/local-notifications/native-local-notifications.md b/content/en/docs/refguide10/mobile/using-mobile-capabilities/local-notifications/native-local-notifications.md index 304ddc82614..a1f0d0d11a7 100644 --- a/content/en/docs/refguide10/mobile/using-mobile-capabilities/local-notifications/native-local-notifications.md +++ b/content/en/docs/refguide10/mobile/using-mobile-capabilities/local-notifications/native-local-notifications.md @@ -22,7 +22,7 @@ Before starting this guide, make sure you have completed the following prerequis * Install the [Make It Native](/refguide10/getting-the-make-it-native-app/) app on your mobile device {{% alert color="info" %}} -To use push notifications with apps created with the Native Builder, make sure you have completed [How To Build a Mendix Native App in the Cloud](/howto/mobile/deploying-native-app/) and the guides described in [Push Notifications](/refguide10/mobile/using-mobile-capabilities/push-notifications/) +To use push notifications with apps created with the Native Builder, make sure you have completed [How To Build a Mendix Native App in the Cloud](/howto10/mobile/deploying-native-app/) and the guides described in [Push Notifications](/refguide10/mobile/using-mobile-capabilities/push-notifications/) {{% /alert %}} ## Creating an App and Configuring Notifications @@ -33,28 +33,28 @@ Follow the instructions below to set up your first local notification: 2. Select **File** > **New App**. 3. Select the **Blank Native Mobile App** (also available online [here](https://marketplace.mendix.com/link/component/109511/)): - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/local-notif-parent/native-local-notifications/quickstart.png" alt="Blank Native Mobile App" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/local-notif-parent/native-local-notifications/quickstart.png" alt="Blank Native Mobile App" class="no-border" >}} 4. Click **Use this starting point**. 5. Click **Create App** to close the dialog box: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/local-notif-parent/native-local-notifications/app-settings.png" alt="app settings" width="500" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/local-notif-parent/native-local-notifications/app-settings.png" alt="app settings" width="500" class="no-border" >}} 6. Make sure you have a **Native phone** profile enabled: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/local-notif-parent/native-local-notifications/native-profile.png" alt="app settings" width="500" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/local-notif-parent/native-local-notifications/native-profile.png" alt="app settings" width="500" class="no-border" >}} 7. Drag a **Call nanoflow button** onto your app's home page, then click **New** to make a new nanoflow (note: you may wish to rename this button *Send Notification*): - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/local-notif-parent/native-local-notifications/call-button.png" alt="app settings" width="400" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/local-notif-parent/native-local-notifications/call-button.png" alt="app settings" width="400" class="no-border" >}} 8. Name the nanoflow *ACT_CreateAndSendNotification* and click **OK**: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/local-notif-parent/native-local-notifications/name-nano.png" alt="app settings" width="400" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/local-notif-parent/native-local-notifications/name-nano.png" alt="app settings" width="400" class="no-border" >}} 9. In **ACT_CreateAndSendNotification**, drag three **Create variable** activities into your nanoflow and set them as string variables titled *Title*, *Subtitle*, and *Body*: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/local-notif-parent/native-local-notifications/create-string-variables.png" alt="app settings" width="500" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/local-notif-parent/native-local-notifications/create-string-variables.png" alt="app settings" width="500" class="no-border" >}} 10. Double-click your **Title** activity and then configure it:
                                  1. Make sure **Data type** is set to **String**.
                                  @@ -63,7 +63,7 @@ Follow the instructions below to set up your first local notification: 1. Type *Title* into **Output** > **Variable**.
                                  1. Click **OK**: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/local-notif-parent/native-local-notifications/title-activity.png" alt="app settings" width="400" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/local-notif-parent/native-local-notifications/title-activity.png" alt="app settings" width="400" class="no-border" >}} 11. Double-click your **Subtitle** activity and configure similarly to your **Title** activity. 12. Double-click your **Body** activity and configure similarly to your **Title** activity. @@ -72,50 +72,50 @@ Now you will set up the final logic necessary for your app to display a notifica 1. Drag a **Has notification permission** activity into your nanoflow: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/local-notif-parent/native-local-notifications/has-notif.png" alt="app settings" width="500" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/local-notif-parent/native-local-notifications/has-notif.png" alt="app settings" width="500" class="no-border" >}} 2. Double-click your **Has notification permission** activity, type *NotificationPermission* into **Variable**, then click **OK**: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/local-notif-parent/native-local-notifications/set-haspermission-variable.png" alt="app settings" width="500" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/local-notif-parent/native-local-notifications/set-haspermission-variable.png" alt="app settings" width="500" class="no-border" >}} 3. Drag a decision after your **Has notification permission** activity into your nanoflow: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/local-notif-parent/native-local-notifications/new-decision.png" alt="app settings" width="500" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/local-notif-parent/native-local-notifications/new-decision.png" alt="app settings" width="500" class="no-border" >}} 4. Double-click that decision and give it the **Caption** *Permission*: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/local-notif-parent/native-local-notifications/decision-caption.png" alt="app settings" width="500" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/local-notif-parent/native-local-notifications/decision-caption.png" alt="app settings" width="500" class="no-border" >}} 5. Click **Expression wizard**, select **Variable** > **NotificationPermission (Boolean)**, and then click **OK** until you are back at your nanoflow: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/local-notif-parent/native-local-notifications/expression-variable.png" alt="app settings" width="500" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/local-notif-parent/native-local-notifications/expression-variable.png" alt="app settings" width="500" class="no-border" >}} 6. Drag a **Request notification permission** activity into your nanoflow: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/local-notif-parent/native-local-notifications/request-notif.png" alt="app settings" width="500" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/local-notif-parent/native-local-notifications/request-notif.png" alt="app settings" width="500" class="no-border" >}} 7. Double-click your **Request notification permission** activity and set **Output** > **Variable** to *PermissionGranted*: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/local-notif-parent/native-local-notifications/permission-granted.png" alt="app settings" width="500" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/local-notif-parent/native-local-notifications/permission-granted.png" alt="app settings" width="500" class="no-border" >}} 8. Drag a decision next to your **Request notification permission** activity. - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/local-notif-parent/native-local-notifications/decision-1.png" alt="app settings" width="400" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/local-notif-parent/native-local-notifications/decision-1.png" alt="app settings" width="400" class="no-border" >}} 9. Connect your activities and decisions, and set those connections' values like so: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/local-notif-parent/native-local-notifications/connections-1.png" alt="app settings" width="400" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/local-notif-parent/native-local-notifications/connections-1.png" alt="app settings" width="400" class="no-border" >}} 10. Double-click the decision, then set the **Caption** as *Permission?*. 11. Click **Expression wizard** 12. Select **Value** > **Variable** > **Permission (Boolean)** from the drop-down menu. When finished, your **Decision** should look like this: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/local-notif-parent/native-local-notifications/decision-1-config-new.png" alt="app settings" width="400" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/local-notif-parent/native-local-notifications/decision-1-config-new.png" alt="app settings" width="400" class="no-border" >}} 13. Navigate back to your nanoflow. 14. Drag a **Show message** activity into your nanoflow and connect it like this: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/local-notif-parent/native-local-notifications/show-message.png" alt="app settings" width="400" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/local-notif-parent/native-local-notifications/show-message.png" alt="app settings" width="400" class="no-border" >}} 15. Double-click your **Show message** activity, then do the following:
                                  1. Select **Type** > **Error** from the drop-down menu.
                                  @@ -124,53 +124,53 @@ Now you will set up the final logic necessary for your app to display a notifica 16. Drag an **End event** under your **Show message** and connect them like this: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/local-notif-parent/native-local-notifications/error-end-event.png" alt="app settings" width="400" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/local-notif-parent/native-local-notifications/error-end-event.png" alt="app settings" width="400" class="no-border" >}} Now you will set up the final piece of your nanoflow's logic. 1. Delete the end event in the upper-right corner of your nanoflow, drag and drop a **Merge** in its place, and rebuild your connections: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/local-notif-parent/native-local-notifications/merge.png" alt="app settings" width="400" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/local-notif-parent/native-local-notifications/merge.png" alt="app settings" width="400" class="no-border" >}} 1. Drag and drop a **Display Notification** activity and connect it to your merge like this: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/local-notif-parent/native-local-notifications/display-notif-merge.png" alt="app settings" width="400" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/local-notif-parent/native-local-notifications/display-notif-merge.png" alt="app settings" width="400" class="no-border" >}} 1. Set its **Body**, **Title**, and **Subtitle** to the variables that you created in the same nanoflow: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/local-notif-parent/native-local-notifications/tsb-variables.png" alt="app settings" width="500" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/local-notif-parent/native-local-notifications/tsb-variables.png" alt="app settings" width="500" class="no-border" >}} 1. Set **Play sound** to **true**. - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/local-notif-parent/native-local-notifications/sound.png" alt="app settings" width="500" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/local-notif-parent/native-local-notifications/sound.png" alt="app settings" width="500" class="no-border" >}} 1. Set **Action name** and **Action guid** to **empty**: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/local-notif-parent/native-local-notifications/notif-action-actionguid.png" alt="app settings" width="500" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/local-notif-parent/native-local-notifications/notif-action-actionguid.png" alt="app settings" width="500" class="no-border" >}} 1. Select **Use return value** > **no**: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/local-notif-parent/native-local-notifications/return-no.png" alt="app settings" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/local-notif-parent/native-local-notifications/return-no.png" alt="app settings" class="no-border" >}} 1. Click **OK**, then navigate back to your nanoflow. 1. Add a final **End event** next to your **Display notification** activity and connect it like this: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/local-notif-parent/native-local-notifications/final-end-event.png" alt="app settings" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/local-notif-parent/native-local-notifications/final-end-event.png" alt="app settings" class="no-border" >}} 1. When you are all finished, your nanoflow will look like this: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/local-notif-parent/native-local-notifications/finished-flow.png" alt="app settings" width="500" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/local-notif-parent/native-local-notifications/finished-flow.png" alt="app settings" width="500" class="no-border" >}} Now you can run your app and see if your notification works. 1. Start and load your app in your mobile device, then tap **Send Notification**: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/local-notif-parent/native-local-notifications/app-1.png" alt="app settings" width="400" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/local-notif-parent/native-local-notifications/app-1.png" alt="app settings" width="400" class="no-border" >}} 2. When prompted to **Allow notifications**, tap **OK**. 3. After you allow notifications, you will receive a notification: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/local-notif-parent/native-local-notifications/basic-notif.png" alt="app settings" width="400" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/local-notif-parent/native-local-notifications/basic-notif.png" alt="app settings" width="400" class="no-border" >}} If you did not see a notification, try clicking **Run Locally** to reload your app. Then, tap the **Send Notification** button again. @@ -178,4 +178,4 @@ Congratulations! You can now see local notifications on your device. Next, in [H ## Read More -* [Build JavaScript Actions](/howto/extensibility/build-javascript-actions/) +* [Build JavaScript Actions](/howto10/extensibility/build-javascript-actions/) diff --git a/content/en/docs/refguide10/mobile/using-mobile-capabilities/location-and-maps.md b/content/en/docs/refguide10/mobile/using-mobile-capabilities/location-and-maps.md index 2a9296f01b6..d6f71ed8038 100644 --- a/content/en/docs/refguide10/mobile/using-mobile-capabilities/location-and-maps.md +++ b/content/en/docs/refguide10/mobile/using-mobile-capabilities/location-and-maps.md @@ -4,7 +4,7 @@ url: /refguide10/mobile/using-mobile-capabilities/location-and-maps/ weight: 30 description: This guide teaches you how to set up native mobile maps capabilities for Android and Apple devices. aliases: - - /howto/mobile/how-to-maps/ + - /howto10/mobile/how-to-maps/ --- ## Introduction @@ -33,21 +33,21 @@ Next you will configure the **Maps** widget provider. You will have two choices: 1. Double-click your Maps widget and Selecting the **Map** tab. 1. Select either the **Default** or **Google Maps** provider: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/how-to-maps/maps-provider-configuration.png" alt="maps provider configuration" width="400" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/how-to-maps/maps-provider-configuration.png" alt="maps provider configuration" width="400" class="no-border" >}} ### Configuring Maps Capability 1. Set up a native template with the **Native Mobile App Builder**. This can be launched from the **App** menu as shown in [Build a Mendix Native App Locally](/refguide10/mobile/distributing-mobile-apps/building-native-apps/native-build-locally/). Complete the wizard and configure the app's details and tokens: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/how-to-maps/launch-native-mobile-app-builder.png" alt="launch native mobile builder" width="400" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/how-to-maps/launch-native-mobile-app-builder.png" alt="launch native mobile builder" width="400" class="no-border" >}} 1. Once done with the wizard, select the **Capabilities** menu item: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/how-to-maps/capability-menu-option.png" alt="capability menu option" width="400" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/how-to-maps/capability-menu-option.png" alt="capability menu option" width="400" class="no-border" >}} 1. Enable the maps capability. This exposes a set of configurations: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/how-to-maps/maps-input-fields.png" alt="maps input fields" width="400" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/how-to-maps/maps-input-fields.png" alt="maps input fields" width="400" class="no-border" >}} * As described in the Prerequisites section, the API key gives the maps widget access to Google Cloud services * The **Purpose for maps** string is a specialized text that tells Apple why you need to use maps in your app (Apple requests explanation as maps use device location data) diff --git a/content/en/docs/refguide10/mobile/using-mobile-capabilities/mobile-accessibility.md b/content/en/docs/refguide10/mobile/using-mobile-capabilities/mobile-accessibility.md index ba6e0258245..0577823cd3f 100644 --- a/content/en/docs/refguide10/mobile/using-mobile-capabilities/mobile-accessibility.md +++ b/content/en/docs/refguide10/mobile/using-mobile-capabilities/mobile-accessibility.md @@ -45,7 +45,7 @@ For iOS, users can enable or disable hints through the device's VoiceOver settin The native button widget is accessible by default and the screen reader caption will match the button's caption by default. You can override that through the button's properties: -{{< figure src="/attachments/howto/mobile/native-mobile/implementation/mobile-accessibility/buttonAccessibility.png" alt="accessible button" width="350" class="no-border" >}} +{{< figure src="/attachments/howto10/mobile/native-mobile/implementation/mobile-accessibility/buttonAccessibility.png" alt="accessible button" width="350" class="no-border" >}} ### Testing Screen Reader Accessibility diff --git a/content/en/docs/refguide10/mobile/using-mobile-capabilities/push-notifications/_index.md b/content/en/docs/refguide10/mobile/using-mobile-capabilities/push-notifications/_index.md index 3bf192b9c85..ba29928babc 100644 --- a/content/en/docs/refguide10/mobile/using-mobile-capabilities/push-notifications/_index.md +++ b/content/en/docs/refguide10/mobile/using-mobile-capabilities/push-notifications/_index.md @@ -4,7 +4,7 @@ url: /refguide10/mobile/using-mobile-capabilities/push-notifications/ weight: 40 description: Tutorials for configuring push and local notifications. aliases: - - /howto/mobile/notifications/ + - /howto10/mobile/notifications/ --- ## Introduction {#intro} diff --git a/content/en/docs/refguide10/mobile/using-mobile-capabilities/push-notifications/notif-add-module-depends.md b/content/en/docs/refguide10/mobile/using-mobile-capabilities/push-notifications/notif-add-module-depends.md index 71e7696a8e3..0e68ba5f9fc 100644 --- a/content/en/docs/refguide10/mobile/using-mobile-capabilities/push-notifications/notif-add-module-depends.md +++ b/content/en/docs/refguide10/mobile/using-mobile-capabilities/push-notifications/notif-add-module-depends.md @@ -5,7 +5,7 @@ url: /refguide10/mobile/using-mobile-capabilities/push-notifications/notif-add-m weight: 20 description: Tutorial for adding push notification module dependencies. aliases: - - /howto/mobile/notif-add-module-depends/ + - /howto10/mobile/notif-add-module-depends/ --- ## Introduction diff --git a/content/en/docs/refguide10/mobile/using-mobile-capabilities/push-notifications/notif-config-push.md b/content/en/docs/refguide10/mobile/using-mobile-capabilities/push-notifications/notif-config-push.md index 45c20876d9b..559391ee8ca 100644 --- a/content/en/docs/refguide10/mobile/using-mobile-capabilities/push-notifications/notif-config-push.md +++ b/content/en/docs/refguide10/mobile/using-mobile-capabilities/push-notifications/notif-config-push.md @@ -5,7 +5,7 @@ url: /refguide10/mobile/using-mobile-capabilities/push-notifications/notif-confi weight: 50 description: Tutorial for configuring push notifications. aliases: - - /howto/mobile/notif-config-push/ + - /howto10/mobile/notif-config-push/ --- ## Introduction @@ -22,7 +22,7 @@ If you have completed [Add Module Dependencies](/refguide10/mobile/using-mobile- The first time you open this page it will present you with a wizard to set up the Firebase configuration. If you have not set up Firebase yet, see [Set Up the Google Firebase Cloud Messaging Server](/refguide10/mobile/using-mobile-capabilities/push-notifications/setting-up-google-firebase-cloud-messaging-server/). -{{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/notif-config-push/push-setup-wizard.png" alt="test entity" width="400" class="no-border" >}} +{{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/notif-config-push/push-setup-wizard.png" alt="test entity" width="400" class="no-border" >}} When selecting a platform to support, the wizard will ask for the Google Firebase project ID and service account private key. Upload the private key file here. diff --git a/content/en/docs/refguide10/mobile/using-mobile-capabilities/push-notifications/notif-implement-module.md b/content/en/docs/refguide10/mobile/using-mobile-capabilities/push-notifications/notif-implement-module.md index 193a878b9e0..03d8bbb6ed7 100644 --- a/content/en/docs/refguide10/mobile/using-mobile-capabilities/push-notifications/notif-implement-module.md +++ b/content/en/docs/refguide10/mobile/using-mobile-capabilities/push-notifications/notif-implement-module.md @@ -5,7 +5,7 @@ url: /refguide10/mobile/using-mobile-capabilities/push-notifications/notif-imple weight: 30 description: Tutorial for implementing the push notification module. aliases: - - /howto/mobile/notif-implement-module/ + - /howto10/mobile/notif-implement-module/ --- ## Introduction diff --git a/content/en/docs/refguide10/mobile/using-mobile-capabilities/push-notifications/notif-implement-native.md b/content/en/docs/refguide10/mobile/using-mobile-capabilities/push-notifications/notif-implement-native.md index f9fcad74303..a0b88f81ebf 100644 --- a/content/en/docs/refguide10/mobile/using-mobile-capabilities/push-notifications/notif-implement-native.md +++ b/content/en/docs/refguide10/mobile/using-mobile-capabilities/push-notifications/notif-implement-native.md @@ -5,8 +5,8 @@ url: /refguide10/mobile/using-mobile-capabilities/push-notifications/notif-imple weight: 60 description: Tutorial for implementing push notifications in a native app. aliases: - - /howto/mobile/notif-implement-native/ - - /howto/mobile/notif-build-native/ + - /howto10/mobile/notif-implement-native/ + - /howto10/mobile/notif-build-native/ - /refguide10/mobile/using-mobile-capabilities/push-notifications/notif-build-native/ --- diff --git a/content/en/docs/refguide10/mobile/using-mobile-capabilities/push-notifications/notif-implement-pwa.md b/content/en/docs/refguide10/mobile/using-mobile-capabilities/push-notifications/notif-implement-pwa.md index c0909ed73a7..008937b72a0 100644 --- a/content/en/docs/refguide10/mobile/using-mobile-capabilities/push-notifications/notif-implement-pwa.md +++ b/content/en/docs/refguide10/mobile/using-mobile-capabilities/push-notifications/notif-implement-pwa.md @@ -14,7 +14,7 @@ This guide will help you set up your progressive web app to handle push notifica Push notifications in progressive web apps require Firebase to be set up as early as possible. To do so, you need to create a custom index.html and initialize Firebase there: -1. Create a custom `index.html` in your `theme\web` folder by following [this guide](/howto/front-end/customize-styling-new/#custom-web). +1. Create a custom `index.html` in your `theme\web` folder by following [this guide](/howto10/front-end/customize-styling-new/#custom-web). 1. Edit the created `index.html` file in your favorite text editor. 1. Add below text before the line `` (replace `firebaseConfig` with your configuration from [part 3](/refguide10/mobile/using-mobile-capabilities/push-notifications/setting-up-google-firebase-cloud-messaging-server/#copy-pwa-config)): @@ -53,7 +53,7 @@ Push notifications in progressive web apps require Firebase to be set up as earl 1. Back in Studio Pro, set the constant `WebPushVapidKey` found in `_USE ME/Web/` in the Push Notifications module to the public key of the Web Push certificate you created in [part 3](/refguide10/mobile/using-mobile-capabilities/push-notifications/setting-up-google-firebase-cloud-messaging-server/#set-web-push). - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/notif-implement-pwa/vapid-idwizard.png" alt="VAPID Constant" width="400" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/notif-implement-pwa/vapid-idwizard.png" alt="VAPID Constant" width="400" class="no-border" >}} 1. Add the snippet `WebRegistration_Snippet` found in `_USE ME/Web` in the Push Notifications module to your home page. It contains a button that your users must click to register for push notifications. 1. Stop the Mendix Runtime in Studio Pro if it is running and start it afterwards. Do not use **Rerun**, as that will not pick up the changes in your theme folder. diff --git a/content/en/docs/refguide10/mobile/using-mobile-capabilities/push-notifications/notif-mult-devices.md b/content/en/docs/refguide10/mobile/using-mobile-capabilities/push-notifications/notif-mult-devices.md index 9600967d100..388f6a591fd 100644 --- a/content/en/docs/refguide10/mobile/using-mobile-capabilities/push-notifications/notif-mult-devices.md +++ b/content/en/docs/refguide10/mobile/using-mobile-capabilities/push-notifications/notif-mult-devices.md @@ -5,7 +5,7 @@ url: /refguide10/mobile/using-mobile-capabilities/push-notifications/notif-mult- weight: 90 description: Learn to send notifications to multiple devices with the Native Mobile Builder. aliases: - - /howto/mobile/notif-mult-devices/ + - /howto10/mobile/notif-mult-devices/ --- ## Introduction @@ -34,12 +34,12 @@ What if you want to send messages to all your users' devices with a single butto Create a microflow *ACT_SendProductToAllDevices* with the following elements: -{{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/notif-mult-devices/SendProductToAll.png" alt="SendProductToAll" width="400" class="no-border" >}} +{{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/notif-mult-devices/SendProductToAll.png" alt="SendProductToAll" width="400" class="no-border" >}} 1. Add a *Product* data parameter to your microflow. 2. Retrieve the *PushNotifications.Device* entity list from a database: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/notif-mult-devices/retrieveDevices.png" alt="retrieveDevices" width="400" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/notif-mult-devices/retrieveDevices.png" alt="retrieveDevices" width="400" class="no-border" >}} 3. Drag the **PrepareMessageData** microflow from *PushNotifications/_USE ME/API* onto **ACT_SendProductToAllDevices** and configure the following:
                                  1. Title: *myTitle*.
                                  @@ -49,7 +49,7 @@ Create a microflow *ACT_SendProductToAllDevices* with the following elements: 1. ActionName: *sendProduct*.
                                  1. ContextObjectGuid: *empty*: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/notif-mult-devices/prepareMessageData.png" alt="prepareMessageData" width="400" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/notif-mult-devices/prepareMessageData.png" alt="prepareMessageData" width="400" class="no-border" >}} **ContextObjectGuid** is set to empty since you will pass the object itself to the **SendMessageToDevices** Java action where it will be retrieved automatically. @@ -58,11 +58,11 @@ Create a microflow *ACT_SendProductToAllDevices* with the following elements: 1. **Device param**: **$Devices**.
                                  1. **Context object**: **$Product**: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/notif-mult-devices/sendMessagesJava.png" alt="sendMessagesJava" width="400" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/notif-mult-devices/sendMessagesJava.png" alt="sendMessagesJava" width="400" class="no-border" >}} 5. Go to **Product_NewEdit** and drag **ACT_SendProductToAllDevices** inside of that page's data view: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/notif-mult-devices/sendProductToAllButton.png" alt="sendProductToAllButton" width="400" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/notif-mult-devices/sendProductToAllButton.png" alt="sendProductToAllButton" width="400" class="no-border" >}} ### Testing the Implementation diff --git a/content/en/docs/refguide10/mobile/using-mobile-capabilities/push-notifications/notif-send-test.md b/content/en/docs/refguide10/mobile/using-mobile-capabilities/push-notifications/notif-send-test.md index 358ebc2443f..fbd45a0c094 100644 --- a/content/en/docs/refguide10/mobile/using-mobile-capabilities/push-notifications/notif-send-test.md +++ b/content/en/docs/refguide10/mobile/using-mobile-capabilities/push-notifications/notif-send-test.md @@ -5,7 +5,7 @@ url: /refguide10/mobile/using-mobile-capabilities/push-notifications/notif-send- weight: 80 description: Tutorial for testing your push notifications. aliases: - - /howto/mobile/notif-send-test/ + - /howto10/mobile/notif-send-test/ --- ## Introduction @@ -26,7 +26,7 @@ To send your first test notification, do the following: 1. Leave the remaining fields to the defaults. 1. Click **Send**: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/notif-send-test/push-send-message.png" alt="test entity" width="350" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/notif-send-test/push-send-message.png" alt="test entity" width="350" class="no-border" >}} You should now receive the notification on your device. If the application is already opened, the action will log a message (on log node **ExampleNotification**) and show a dialog box in the app. diff --git a/content/en/docs/refguide10/mobile/using-mobile-capabilities/push-notifications/setting-up-google-firebase-cloud-messaging-server.md b/content/en/docs/refguide10/mobile/using-mobile-capabilities/push-notifications/setting-up-google-firebase-cloud-messaging-server.md index a7da49a8896..4df46dccc19 100644 --- a/content/en/docs/refguide10/mobile/using-mobile-capabilities/push-notifications/setting-up-google-firebase-cloud-messaging-server.md +++ b/content/en/docs/refguide10/mobile/using-mobile-capabilities/push-notifications/setting-up-google-firebase-cloud-messaging-server.md @@ -5,7 +5,7 @@ url: /refguide10/mobile/using-mobile-capabilities/push-notifications/setting-up- weight: 40 description: Tutorial for configuring push notifications. aliases: - - /howto/mobile/setting-up-google-firebase-cloud-messaging-server/ + - /howto10/mobile/setting-up-google-firebase-cloud-messaging-server/ --- ## Introduction @@ -37,7 +37,7 @@ To import your project, do the following: 1. In the Firebase console, select **Import Google Project**. 1. Select your GCM project from the list of existing projects, select a region, and click **Add Firebase**: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/setting-up-google-firebase-cloud-messaging-server/Add_Firebase_to_a_Google_Project.png" width="350" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/setting-up-google-firebase-cloud-messaging-server/Add_Firebase_to_a_Google_Project.png" width="350" class="no-border" >}} With that done, continue with [Configuring APNs Credentials](#configuring) below. @@ -55,7 +55,7 @@ To create a project, do the following: 1. Fill in your application's project name and region. 1. Click **Create**" - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/setting-up-google-firebase-cloud-messaging-server/Create_Firebase_Project.png" width="350" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/setting-up-google-firebase-cloud-messaging-server/Create_Firebase_Project.png" width="350" class="no-border" >}} ## Adding an App {#native-apps} @@ -72,21 +72,21 @@ If you also want to support a [custom developer app](/refguide10/mobile/distribu Click **Deploy**, then **Mobile App**. Your ID is listed as **App Identifier**: -{{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/setting-up-google-firebase-cloud-messaging-server/hybrid_app_identifier.png" width="350" class="no-border" >}} +{{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/setting-up-google-firebase-cloud-messaging-server/hybrid_app_identifier.png" width="350" class="no-border" >}} Do the following to add your app to FCM: 1. Click the **Project Overview** cogwheel and select **Project settings**: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/setting-up-google-firebase-cloud-messaging-server/project_settings.png" width="350" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/setting-up-google-firebase-cloud-messaging-server/project_settings.png" width="350" class="no-border" >}} 1. Go to the **General** tab and click on your target platform (iOS, Android, or Web) in the section **Your apps**: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/setting-up-google-firebase-cloud-messaging-server/add_app.png" width="350" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/setting-up-google-firebase-cloud-messaging-server/add_app.png" width="350" class="no-border" >}} 1. Fill in the bundle_id (only for iOS and Android), an app nickname of your choice, and skip the rest of the steps: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/setting-up-google-firebase-cloud-messaging-server/android_setup.png" width="350" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/setting-up-google-firebase-cloud-messaging-server/android_setup.png" width="350" class="no-border" >}} Bundle ID must be matching with your package ID. Make sure to repeat this step for iOS as well. @@ -97,7 +97,7 @@ If you wish to send push notifications to iOS devices through FCM (for native mo 1. Click in the upper-left corner of the screen and select **Project settings**. 1. Navigate to the **Cloud messaging** tab: - {{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/setting-up-google-firebase-cloud-messaging-server/push_notifications_cloud_messaging.png" width="350" class="no-border" >}} + {{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/setting-up-google-firebase-cloud-messaging-server/push_notifications_cloud_messaging.png" width="350" class="no-border" >}} 1. On this tab, upload either your APNs key or your APNs certificate (or certificates) as configured in your [Apple Developer account](https://developer.apple.com). @@ -105,7 +105,7 @@ If you wish to send push notifications to iOS devices through FCM (for native mo In the upper-left corner of the screen, click the cogwheel and select **Project settings**. Then navigate to the **Service accounts** tab. -{{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/setting-up-google-firebase-cloud-messaging-server/push_notifications_service_accounts.png" width="350" class="no-border" >}} +{{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/setting-up-google-firebase-cloud-messaging-server/push_notifications_service_accounts.png" width="350" class="no-border" >}} On this page, press **Generate new private key**. Store the resulting file in a secure location. You will use this file when configuring FCM in the back-end of your Mendix application. @@ -115,7 +115,7 @@ The file you just created gives API access to all available Firebase services fo In addition to the back-end configuration set up in the previous steps, you will need additional files that will be bundled as part of your native mobile application. For progressive web apps, you can skip this step. To obtain these, again click the cogwheel on the upper-left side of the screen and select **Project settings**. Then navigate to the **General** tab: -{{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/setting-up-google-firebase-cloud-messaging-server/push_notifications_platforms.png" width="350" class="no-border" >}} +{{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/setting-up-google-firebase-cloud-messaging-server/push_notifications_platforms.png" width="350" class="no-border" >}} The list at the bottom shows the Android and iOS applications that you have configured for your Firebase project. Select the Android application and click *google-services.json*. Then click the iOS application and click *GoogleService-Info.plist*. Store both files in a secure location. You will need these when building your mobile application. @@ -127,7 +127,7 @@ Only create an iOS application in your Firebase project when you plan on using F For progressive web apps, a configuration object is required to set up notifications in the web client. You can skip this step for native mobile apps. To obtain the configuration, again click the cogwheel on the upper-left side of the screen and select **Project settings**. Then navigate to the **General** tab and click on **Config**: -{{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/setting-up-google-firebase-cloud-messaging-server/push_notifications_web_config.png" width="350" class="no-border" >}} +{{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/setting-up-google-firebase-cloud-messaging-server/push_notifications_web_config.png" width="350" class="no-border" >}} Copy the text that is highlighted in the screenshot above and store it somewhere safe. You will need this text in a later step. @@ -135,8 +135,8 @@ Copy the text that is highlighted in the screenshot above and store it somewhere For progressive web apps, an additional certificate is needed. You can skip this step for native mobile apps. To generate the certificate and obtain its public key, again click the cogwheel on the upper-left side of the screen and select **Project settings**. Then navigate to the **Cloud Messaging** tab and click on **Generate Key Pair**: -{{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/setting-up-google-firebase-cloud-messaging-server/push_notifications_web_certificate.png" width="350" class="no-border" >}} +{{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/setting-up-google-firebase-cloud-messaging-server/push_notifications_web_certificate.png" width="350" class="no-border" >}} After generating the certificate, copy the certificate that is highlighted in the screenshot below and store it in a safe place. You will need this certificate in a later step. -{{< figure src="/attachments/howto/mobile/native-mobile/implementation/notifications/setting-up-google-firebase-cloud-messaging-server/push_notifications_web_certificate2.png" width="350" class="no-border" >}} +{{< figure src="/attachments/howto10/mobile/native-mobile/implementation/notifications/setting-up-google-firebase-cloud-messaging-server/push_notifications_web_certificate2.png" width="350" class="no-border" >}} diff --git a/content/en/docs/refguide10/modeling/app-explorer/app/navigation/setting-up-the-navigation-structure.md b/content/en/docs/refguide10/modeling/app-explorer/app/navigation/setting-up-the-navigation-structure.md index aece03a4a09..f7484897273 100644 --- a/content/en/docs/refguide10/modeling/app-explorer/app/navigation/setting-up-the-navigation-structure.md +++ b/content/en/docs/refguide10/modeling/app-explorer/app/navigation/setting-up-the-navigation-structure.md @@ -4,7 +4,7 @@ linktitle: "Set Up Navigation" url: /refguide10/setting-up-the-navigation-structure/ description: "Describes how to configure the navigation structure in Studio Pro." aliases: - - /howto/general/setting-up-the-navigation-structure/ + - /howto10/general/setting-up-the-navigation-structure/ --- ## Introduction @@ -130,9 +130,9 @@ Now that you have created a menu structure, it is time to start using it on page The menu widget is now showing the navigation items created in the navigation editor. -To avoid adding the menu widget on every page in your app, you can use a layout. With layouts you can define a structure for pages in your app. You can define where the menu should be rendered and you can simply reuse that layout for all or several pages. For more information on how to use layouts, see [How to Use Layouts and Snippets](/howto/front-end/layouts-and-snippets/). +To avoid adding the menu widget on every page in your app, you can use a layout. With layouts you can define a structure for pages in your app. You can define where the menu should be rendered and you can simply reuse that layout for all or several pages. For more information on how to use layouts, see [How to Use Layouts and Snippets](/howto10/front-end/layouts-and-snippets/). ## Read More -* [Atlas UI](/howto/front-end/atlas-ui/) -* [Create Your First Two Overview and Detail Pages](/howto/front-end/create-your-first-two-overview-and-detail-pages/) +* [Atlas UI](/howto10/front-end/atlas-ui/) +* [Create Your First Two Overview and Detail Pages](/howto10/front-end/create-your-first-two-overview-and-detail-pages/) diff --git a/content/en/docs/refguide10/modeling/app-performance/_index.md b/content/en/docs/refguide10/modeling/app-performance/_index.md index 2d190114f26..4ea4e8c8525 100644 --- a/content/en/docs/refguide10/modeling/app-performance/_index.md +++ b/content/en/docs/refguide10/modeling/app-performance/_index.md @@ -7,7 +7,7 @@ description: "Describes some best practices to apply during development to get a aliases: - /howtogeneral/bestpractices/best-practices-for-app-performance-in-mendix-7.html - /howtogeneral/bestpractices/best-practices-for-app-performance-in-mendix-7 - - /howto/general/community-best-practices-for-app-performance/ + - /howto10/general/community-best-practices-for-app-performance/ --- ## Introduction diff --git a/content/en/docs/refguide10/modeling/app-performance/detect-and-resolve-performance-issues.md b/content/en/docs/refguide10/modeling/app-performance/detect-and-resolve-performance-issues.md index f7dbc42766b..69895d02fa5 100644 --- a/content/en/docs/refguide10/modeling/app-performance/detect-and-resolve-performance-issues.md +++ b/content/en/docs/refguide10/modeling/app-performance/detect-and-resolve-performance-issues.md @@ -3,7 +3,7 @@ title: "Detect and Resolve Performance Issues" url: /refguide10/detect-and-resolve-performance-issues/ description: "Describes possible performance issues with root causes and resolutions." aliases: - - /howto/monitoring-troubleshooting/detect-and-resolve-performance-issues/ + - /howto10/monitoring-troubleshooting/detect-and-resolve-performance-issues/ --- ## Introduction @@ -123,7 +123,7 @@ Slow retrieves can occur for a number of different reasons, such as: * Complex calculated attributes * Large number of objects retrieved (see the [Batches](#batches) section below) -Additionally, for details on how denormalization can improve your app performance in some cases, review [How to Denormalize Data to Improve Performance](/howto/data-models/denormalize-data-to-improve-performance/). +Additionally, for details on how denormalization can improve your app performance in some cases, review [How to Denormalize Data to Improve Performance](/howto10/data-models/denormalize-data-to-improve-performance/). {{% alert color="info" %}} You can set the [LogMinDurationQuery](/refguide10/custom-settings/#LogMinDurationQuery) custom setting to debug slow database queries (OQL and XPath). For example, for debugging purposes, you could set the value to `500` milliseconds to see all the retrieves or commits that take longer than `500` milliseconds. diff --git a/content/en/docs/refguide10/modeling/app-performance/manage-app-performance-with-new-relic.md b/content/en/docs/refguide10/modeling/app-performance/manage-app-performance-with-new-relic.md index 60acb4258ff..cca2ac5761e 100644 --- a/content/en/docs/refguide10/modeling/app-performance/manage-app-performance-with-new-relic.md +++ b/content/en/docs/refguide10/modeling/app-performance/manage-app-performance-with-new-relic.md @@ -3,7 +3,7 @@ title: "Manage App Performance with New Relic" url: /refguide10/manage-app-performance-with-new-relic/ weight: 2 aliases: - - /howto/monitoring-troubleshooting/manage-app-performance-with-new-relic/ + - /howto10/monitoring-troubleshooting/manage-app-performance-with-new-relic/ --- ## Introduction @@ -96,8 +96,8 @@ For more information on New Relic, see the [New Relic documentation](https://doc ## Read More -* [Find the Root Cause of Runtime Errors](/howto/monitoring-troubleshooting/finding-the-root-cause-of-runtime-errors/) -* [Clear Warning Messages in Mendix](/howto/monitoring-troubleshooting/clear-warning-messages/) -* [Monitor Mendix Using JMX](/howto/monitoring-troubleshooting/monitoring-mendix-using-jmx/) -* [Debug Java Actions Remotely](/howto/monitoring-troubleshooting/debug-java-actions-remotely/) +* [Find the Root Cause of Runtime Errors](/howto10/monitoring-troubleshooting/finding-the-root-cause-of-runtime-errors/) +* [Clear Warning Messages in Mendix](/howto10/monitoring-troubleshooting/clear-warning-messages/) +* [Monitor Mendix Using JMX](/howto10/monitoring-troubleshooting/monitoring-mendix-using-jmx/) +* [Debug Java Actions Remotely](/howto10/monitoring-troubleshooting/debug-java-actions-remotely/) * [Telemetry Configuration](https://github.com/mendix/cf-mendix-buildpack#telemetry-configuration) in the *cf-mendix-buildpack* repo on GitHub diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/action-call-activities/javascript-action-call.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/action-call-activities/javascript-action-call.md index 5bb111f789e..4b5f9013a4e 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/action-call-activities/javascript-action-call.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/action-call-activities/javascript-action-call.md @@ -70,6 +70,6 @@ The name of the variable, list, or object returned by the activity. If it is an ## Read More * [JavaScript Actions](/refguide10/javascript-actions/) -* [Build JavaScript Actions](/howto/extensibility/build-javascript-actions/) +* [Build JavaScript Actions](/howto10/extensibility/build-javascript-actions/) * [Nanoflows](/refguide10/nanoflows/) * [Java Action Call](/refguide10/java-action-call/) diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/list-activities/working-with-lists-in-a-microflow.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/list-activities/working-with-lists-in-a-microflow.md index fe8d0e7853e..a9ab012bad5 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/list-activities/working-with-lists-in-a-microflow.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/activities/list-activities/working-with-lists-in-a-microflow.md @@ -43,7 +43,7 @@ Before you continue, you should first set up a test app, and populate it with te {{< figure src="/attachments/refguide10/modeling/xpath/define-access-rules-using-xpath/18581378.png" alt="Customer and Order entities with one-to-many association" class="no-border" >}} -2. Create [overview and detail pages](/howto/front-end/create-your-first-two-overview-and-detail-pages/) to manage the **Customer** and **Order** objects. +2. Create [overview and detail pages](/howto10/front-end/create-your-first-two-overview-and-detail-pages/) to manage the **Customer** and **Order** objects. 3. Create [menu items](/refguide10/setting-up-the-navigation-structure/#menu-items) to access the **Customer** and **Order** overview pages. 4. Add the following **Customer** data to your app: diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/debug-microflows-and-nanoflows/_index.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/debug-microflows-and-nanoflows/_index.md index 6affb4d4a37..085358dc463 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/debug-microflows-and-nanoflows/_index.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/debug-microflows-and-nanoflows/_index.md @@ -18,7 +18,7 @@ This how-to teaches you how to do the following: Before starting this how-to, make sure you have completed the following prerequisites: * Read [Configuring a Domain Model](/refguide10/configuring-a-domain-model/) -* Read [How to Create Your First Two Overview and Detail Pages](/howto/front-end/create-your-first-two-overview-and-detail-pages/) +* Read [How to Create Your First Two Overview and Detail Pages](/howto10/front-end/create-your-first-two-overview-and-detail-pages/) ## Debugging Overview diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/debug-microflows-and-nanoflows/debug-microflows-remotely.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/debug-microflows-and-nanoflows/debug-microflows-remotely.md index 097e283791a..2b21381a3b6 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/debug-microflows-and-nanoflows/debug-microflows-remotely.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/debug-microflows-and-nanoflows/debug-microflows-remotely.md @@ -2,7 +2,7 @@ title: "Debugging Microflows Remotely" url: /refguide10/debug-microflows-remotely/ aliases: - - /howto/monitoring-troubleshooting/debug-microflows-remotely + - /howto10/monitoring-troubleshooting/debug-microflows-remotely #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. #The anchor below is mapped, so it should not be removed or changed. --- diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/microflows/error-handling-in-microflows.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/microflows/error-handling-in-microflows.md index 5d1620704d1..1b7191f545e 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/microflows/error-handling-in-microflows.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/microflows/error-handling-in-microflows.md @@ -3,7 +3,7 @@ title: "Error Handling in Microflows" url: /refguide10/error-handling-in-microflows/ weight: 4 aliases: - - /howto/logic-business-rules/set-up-error-handling + - /howto10/logic-business-rules/set-up-error-handling #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. --- diff --git a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/microflows/extract-and-use-sub-microflows.md b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/microflows/extract-and-use-sub-microflows.md index a4da033e463..157acf9e050 100644 --- a/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/microflows/extract-and-use-sub-microflows.md +++ b/content/en/docs/refguide10/modeling/application-logic/microflows-and-nanoflows/microflows/extract-and-use-sub-microflows.md @@ -4,7 +4,7 @@ url: /refguide10/extracting-and-using-sub-microflows/ weight: 5 description: "Describes how to break down a large microflow into more manageable parts." aliases: - - /howto/logic-business-rules/extract-and-use-sub-microflows/ + - /howto10/logic-business-rules/extract-and-use-sub-microflows/ --- ## Introduction diff --git a/content/en/docs/refguide10/modeling/application-logic/string-concatenation.md b/content/en/docs/refguide10/modeling/application-logic/string-concatenation.md index 5bf6e81d056..de67c0a0fdd 100644 --- a/content/en/docs/refguide10/modeling/application-logic/string-concatenation.md +++ b/content/en/docs/refguide10/modeling/application-logic/string-concatenation.md @@ -5,7 +5,7 @@ url: /refguide10/string-concatenation/ weight: 110 description: "Describes three examples as well as best practices on configuring string concatenation." aliases: - - /howto/logic-business-rules/string-concatenation/ + - /howto10/logic-business-rules/string-concatenation/ --- ## Introduction diff --git a/content/en/docs/refguide10/modeling/application-logic/workflows/add-action-to-workflow-toolbox.md b/content/en/docs/refguide10/modeling/application-logic/workflows/add-action-to-workflow-toolbox.md index 5b9e50f457b..22c471b46c9 100644 --- a/content/en/docs/refguide10/modeling/application-logic/workflows/add-action-to-workflow-toolbox.md +++ b/content/en/docs/refguide10/modeling/application-logic/workflows/add-action-to-workflow-toolbox.md @@ -5,7 +5,7 @@ url: /refguide10/add-action-to-workflow-toolbox/ description: "Describes how to expose a microflow as a workflow action in Mendix Studio Pro." weight: 100 aliases: - - /howto/logic-business-rules/add-action-to-workflow-toolbox/ + - /howto10/logic-business-rules/add-action-to-workflow-toolbox/ --- ## Introduction diff --git a/content/en/docs/refguide10/modeling/application-logic/workflows/workflow-how-to-configure.md b/content/en/docs/refguide10/modeling/application-logic/workflows/workflow-how-to-configure.md index 051721ec90d..ff7ce25933a 100644 --- a/content/en/docs/refguide10/modeling/application-logic/workflows/workflow-how-to-configure.md +++ b/content/en/docs/refguide10/modeling/application-logic/workflows/workflow-how-to-configure.md @@ -5,7 +5,7 @@ url: /refguide10/workflow-how-to-configure/ description: "Describes how to configure a workflow in Mendix Studio Pro." weight: 80 aliases: - - /howto/logic-business-rules/workflow-how-to-configure/ + - /howto10/logic-business-rules/workflow-how-to-configure/ --- ## Introduction @@ -59,7 +59,7 @@ Before starting this how-to, make sure you have completed the following prerequi {{< figure src="/attachments/refguide10/modeling/application-logic/workflows/workflow-how-to-configure/enumeration-laptop-model.png" width="500" >}} -* Make sure you have an **EmployeesOnboarding_NewEdit** pop-up page that can be used to add a new **EmployeeOnboarding** object. For more information on how to create an entity detail page, see [Create Overview and Detail pages](/howto/front-end/create-your-first-two-overview-and-detail-pages/) +* Make sure you have an **EmployeesOnboarding_NewEdit** pop-up page that can be used to add a new **EmployeeOnboarding** object. For more information on how to create an entity detail page, see [Create Overview and Detail pages](/howto10/front-end/create-your-first-two-overview-and-detail-pages/) * Make sure you have an **EmployeesToOnboard** page that looks like the following: diff --git a/content/en/docs/refguide10/modeling/dev-best-practices.md b/content/en/docs/refguide10/modeling/dev-best-practices.md index 67c50c8efb5..a089d4b5e64 100644 --- a/content/en/docs/refguide10/modeling/dev-best-practices.md +++ b/content/en/docs/refguide10/modeling/dev-best-practices.md @@ -5,7 +5,7 @@ url: /refguide10/dev-best-practices/ weight: 12 description: "Describes Mendix best practices for developing Mendix applications." aliases: - - /howto/general/dev-best-practices/ + - /howto10/general/dev-best-practices/ #Academy are SMEs for verification, they use/link to this doc in training; microflow prefix naming convention from ES and Academy --- @@ -276,7 +276,7 @@ Guidelines below can help you choose a short yet meaningful name for your workfl Pages use a **suffix** to indicate their use. -Pages that show an [overview](/howto/front-end/create-your-first-two-overview-and-detail-pages/) of a single entity should have a suffix of **_Overview**. +Pages that show an [overview](/howto10/front-end/create-your-first-two-overview-and-detail-pages/) of a single entity should have a suffix of **_Overview**. Pages that are to create, edit, or view entity data, and that are not part of a process, should have the suffix **_New**, **_Edit**, **_NewEdit**, or **_View**. @@ -458,7 +458,7 @@ Unused and excluded documents should be removed from the model when they are no ### Security -The [security](/howto/security/) overview in Studio Pro must not show any incomplete (yellow) parts. All entity, microflow, and page access must be configured completely. +The [security](/howto10/security/) overview in Studio Pro must not show any incomplete (yellow) parts. All entity, microflow, and page access must be configured completely. Assigning default rights to new members when defining entity access is NOT recommended. This will ensure that access is only granted after a conscious decision. diff --git a/content/en/docs/refguide10/modeling/domain-model/create-a-basic-data-layer.md b/content/en/docs/refguide10/modeling/domain-model/create-a-basic-data-layer.md index 2543a7a3660..120ddfd7885 100644 --- a/content/en/docs/refguide10/modeling/domain-model/create-a-basic-data-layer.md +++ b/content/en/docs/refguide10/modeling/domain-model/create-a-basic-data-layer.md @@ -4,7 +4,7 @@ url: /refguide10/configuring-a-domain-model/ weight: 60 description: "Describes how to create entities and attributes, add enumerations, create associations, and configure the delete behavior for associations with Studio Pro." aliases: - - /howto/data-models/create-a-basic-data-layer/ + - /howto10/data-models/create-a-basic-data-layer/ - /refguide10/create-a-basic-data-layer/ --- @@ -203,5 +203,5 @@ The following explains how each entity is associated for the online shopping app ## Read More -* [Denormalize Data to Improve Performance](/howto/data-models/denormalize-data-to-improve-performance/) +* [Denormalize Data to Improve Performance](/howto10/data-models/denormalize-data-to-improve-performance/) * [Setting Up Data Validation](/refguide10/setting-up-data-validation/) diff --git a/content/en/docs/refguide10/modeling/domain-model/entities/data-sets.md b/content/en/docs/refguide10/modeling/domain-model/entities/data-sets.md index 771fbdc1bdf..938927b49c9 100644 --- a/content/en/docs/refguide10/modeling/domain-model/entities/data-sets.md +++ b/content/en/docs/refguide10/modeling/domain-model/entities/data-sets.md @@ -9,7 +9,7 @@ weight: 80 A dataset is defined using either an [OQL query](/refguide10/oql/) or a custom [Java action](/refguide10/java-actions/). To constrain a dataset, parameters can be defined which can be used in the OQL query or Java action. -For one use of a dataset, see [Retrieving Objects Using OQL Specified in a Dataset](/howto/extensibility/howto-datastorage-api/#retrieving-objects-using-oql-specified-in-a-dataset) in *How to Use Mendix Data Storage APIs to Build Reusable Microflow Actions*. +For one use of a dataset, see [Retrieving Objects Using OQL Specified in a Dataset](/howto10/extensibility/howto-datastorage-api/#retrieving-objects-using-oql-specified-in-a-dataset) in *How to Use Mendix Data Storage APIs to Build Reusable Microflow Actions*. ## General diff --git a/content/en/docs/refguide10/modeling/domain-model/entities/event-handlers.md b/content/en/docs/refguide10/modeling/domain-model/entities/event-handlers.md index 14387c35b8b..bbe68ba8354 100644 --- a/content/en/docs/refguide10/modeling/domain-model/entities/event-handlers.md +++ b/content/en/docs/refguide10/modeling/domain-model/entities/event-handlers.md @@ -97,5 +97,5 @@ Default: *Yes* ## Read More -* [How to Denormalize Data to Improve Performance](/howto/data-models/denormalize-data-to-improve-performance/) +* [How to Denormalize Data to Improve Performance](/howto10/data-models/denormalize-data-to-improve-performance/) * [Setting Up Data Validation](/refguide10/setting-up-data-validation/) diff --git a/content/en/docs/refguide10/modeling/domain-model/setting-up-data-validation.md b/content/en/docs/refguide10/modeling/domain-model/setting-up-data-validation.md index 89842b154c5..50b5e753c9b 100644 --- a/content/en/docs/refguide10/modeling/domain-model/setting-up-data-validation.md +++ b/content/en/docs/refguide10/modeling/domain-model/setting-up-data-validation.md @@ -4,7 +4,7 @@ url: /refguide10/setting-up-data-validation/ weight: 70 description: "Describes how to set up both required and advanced data validation with Studio Pro." aliases: - - /howto/data-models/setting-up-data-validation/ + - /howto10/data-models/setting-up-data-validation/ --- ## Introduction @@ -47,7 +47,7 @@ For more information on adding validation rules on entity level, see [Validation ## Required Validation on Inputs, Reference Selectors, and Drop-downs -The page editor of Studio Pro allows you to configure mandatory inputs and add error messages shown to end-users if the inputs are empty. To do so, you first need to have a detail page. For more information on how to create a detail page, see [How to Create Your First Two Overview and Detail Pages](/howto/front-end/create-your-first-two-overview-and-detail-pages/). +The page editor of Studio Pro allows you to configure mandatory inputs and add error messages shown to end-users if the inputs are empty. To do so, you first need to have a detail page. For more information on how to create a detail page, see [How to Create Your First Two Overview and Detail Pages](/howto10/front-end/create-your-first-two-overview-and-detail-pages/). To set required validation on input elements through the page editor, follow the steps below: @@ -93,7 +93,7 @@ For more information on working with microflows, see [Microflows](/refguide10/mi ## Advanced Validation with a Custom Save Button {#custom-validation-save-button} -Validating user input can also be achieved by overriding the default **Save** button on a detail page. For more information on how to create a detail page, see [How to Create Your First Two Overview and Detail Pages](/howto/front-end/create-your-first-two-overview-and-detail-pages/). +Validating user input can also be achieved by overriding the default **Save** button on a detail page. For more information on how to create a detail page, see [How to Create Your First Two Overview and Detail Pages](/howto10/front-end/create-your-first-two-overview-and-detail-pages/). There are two ways to configure a custom **Save** button for data validation. @@ -151,4 +151,4 @@ If you want to validate multiple attributes, it is best to do this in a sub-micr ## Read More -* [Denormalize Data to Improve Performance](/howto/data-models/denormalize-data-to-improve-performance/) +* [Denormalize Data to Improve Performance](/howto10/data-models/denormalize-data-to-improve-performance/) diff --git a/content/en/docs/refguide10/modeling/integration/machine-learning-kit/design-patterns/advanced-inference-patterns.md b/content/en/docs/refguide10/modeling/integration/machine-learning-kit/design-patterns/advanced-inference-patterns.md index 9f2ed3f5cef..9da4951ebd4 100644 --- a/content/en/docs/refguide10/modeling/integration/machine-learning-kit/design-patterns/advanced-inference-patterns.md +++ b/content/en/docs/refguide10/modeling/integration/machine-learning-kit/design-patterns/advanced-inference-patterns.md @@ -48,7 +48,7 @@ A model pre-processor makes some data available for the first model, and the out ### Machine Learning MaaS (Model as a Service) {#maas} -A common pattern in machine learning deployment is using a microservice or a service. While Studio Pro supports monolith applications with its security and speed advantages, creating a microservice is possible by servers [publishing a REST service](/howto/integration/publish-rest-service/) and clients [calling the service](/refguide10/call-rest-action/). +A common pattern in machine learning deployment is using a microservice or a service. While Studio Pro supports monolith applications with its security and speed advantages, creating a microservice is possible by servers [publishing a REST service](/howto10/integration/publish-rest-service/) and clients [calling the service](/refguide10/call-rest-action/). In this way, the AI-powered smart app can be split into two Mendix apps: one to host the ML model, and one to process and use the predictions. This is a good approach for use cases where the ML model is complex and requires heavy computing power, or when the ML model is owned and maintained by another team. Another advantage is that you can update the ML model without the need for deploying the Mendix client app. diff --git a/content/en/docs/refguide10/modeling/integration/machine-learning-kit/using-ml-kit/_index.md b/content/en/docs/refguide10/modeling/integration/machine-learning-kit/using-ml-kit/_index.md index 34796bf3140..c4e06753168 100644 --- a/content/en/docs/refguide10/modeling/integration/machine-learning-kit/using-ml-kit/_index.md +++ b/content/en/docs/refguide10/modeling/integration/machine-learning-kit/using-ml-kit/_index.md @@ -302,7 +302,7 @@ A similar log message can also be placed after pre-processing actions to observe In general, the transformation of the multidimensional arrays is subject to Java Actions. Exploiting debugging tools or using logging mechanisms inside the Java Actions will help you debug the state of the variables. -For more information, see [Debug Java Actions](/howto/monitoring-troubleshooting/debug-java-actions/). +For more information, see [Debug Java Actions](/howto10/monitoring-troubleshooting/debug-java-actions/). ## Known Issues {#known-issues} diff --git a/content/en/docs/refguide10/modeling/integration/mapping-documents/xml-documents/_index.md b/content/en/docs/refguide10/modeling/integration/mapping-documents/xml-documents/_index.md index 841401dca97..b67f27f17f5 100644 --- a/content/en/docs/refguide10/modeling/integration/mapping-documents/xml-documents/_index.md +++ b/content/en/docs/refguide10/modeling/integration/mapping-documents/xml-documents/_index.md @@ -2,7 +2,7 @@ title: Use XML url: /refguide10/use-xml/ aliases: - /howto/integration/use-xml-documents/ + /howto10/integration/use-xml-documents/ /refguide10/xml-schema-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. --- diff --git a/content/en/docs/refguide10/modeling/integration/mapping-documents/xml-documents/export-xml-documents.md b/content/en/docs/refguide10/modeling/integration/mapping-documents/xml-documents/export-xml-documents.md index 6798f30a86b..d08ee861c4d 100644 --- a/content/en/docs/refguide10/modeling/integration/mapping-documents/xml-documents/export-xml-documents.md +++ b/content/en/docs/refguide10/modeling/integration/mapping-documents/xml-documents/export-xml-documents.md @@ -3,7 +3,7 @@ title: "Export XML Documents" url: /refguide10/export-xml-documents/ weight: 4 description: "Describes how to add an XML schema, create domain-to-XML mapping, and export logic." -aliases: /howto/integration/export-xml-documents/ +aliases: /howto10/integration/export-xml-documents/ #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. --- @@ -22,7 +22,7 @@ Before you can start exporting XML documents, you need data in your application * Create a domain model (for more information, see [Configuring a Domain Model](/refguide10/configuring-a-domain-model/)) * Create a custom file document (for more information, see [File Manager](/refguide10/file-manager/)) -* Create overview and detail pages (for more information, see [How to Create Your First Two Overview and Detail Pages](/howto/front-end/create-your-first-two-overview-and-detail-pages/)) +* Create overview and detail pages (for more information, see [How to Create Your First Two Overview and Detail Pages](/howto10/front-end/create-your-first-two-overview-and-detail-pages/)) * Create menu items, (for more information, see [Setting Up Navigation](/refguide10/setting-up-the-navigation-structure/)) Before starting this how-to, make sure you have completed the following prerequisites: @@ -183,11 +183,11 @@ To create the export logic, follow these steps: ## Read More -* [Consume a Complex Web Service](/howto/integration/consume-a-complex-web-service/) -* [Consume a Simple Web Service](/howto/integration/consume-a-simple-web-service/) -* [Import Excel Documents](/howto/integration/importing-excel-documents/) -* [Expose a Web Service](/howto/integration/expose-a-web-service/) -* [Enable Selenium Support](/howto/integration/selenium-support/) -* [Import XML Documents](/howto/integration/importing-xml-documents/) -* [Consume a REST Service](/howto/integration/consume-a-rest-service/) -* [Expose Data to BI Tools Using OData](/howto/integration/exposing-data-to-bi-tools-using-odata/) +* [Consume a Complex Web Service](/howto10/integration/consume-a-complex-web-service/) +* [Consume a Simple Web Service](/howto10/integration/consume-a-simple-web-service/) +* [Import Excel Documents](/howto10/integration/importing-excel-documents/) +* [Expose a Web Service](/howto10/integration/expose-a-web-service/) +* [Enable Selenium Support](/howto10/integration/selenium-support/) +* [Import XML Documents](/howto10/integration/importing-xml-documents/) +* [Consume a REST Service](/howto10/integration/consume-a-rest-service/) +* [Expose Data to BI Tools Using OData](/howto10/integration/exposing-data-to-bi-tools-using-odata/) diff --git a/content/en/docs/refguide10/modeling/integration/mapping-documents/xml-documents/importing-xml-documents.md b/content/en/docs/refguide10/modeling/integration/mapping-documents/xml-documents/importing-xml-documents.md index 7d9f7b63067..86ce23da316 100644 --- a/content/en/docs/refguide10/modeling/integration/mapping-documents/xml-documents/importing-xml-documents.md +++ b/content/en/docs/refguide10/modeling/integration/mapping-documents/xml-documents/importing-xml-documents.md @@ -3,7 +3,7 @@ title: "Import XML Documents" url: /refguide10/importing-xml-documents/ weight: 3 description: "Describes how to prepare the data structure and GUI, add an XML schema, and create XML-to-domain mapping." -aliases: /howto/integration/importing-xml-documents/ +aliases: /howto10/integration/importing-xml-documents/ #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. --- @@ -23,7 +23,7 @@ Before you continue, make sure that you know how to create: * Domain models (see [Configuring a Domain Model](/refguide10/configuring-a-domain-model/)) * A custom file document (see [File Manager](/refguide10/file-manager/)) -* Overview and detail pages (see [How to Create Your First Two Overview and Detail Pages](/howto/front-end/create-your-first-two-overview-and-detail-pages/)) +* Overview and detail pages (see [How to Create Your First Two Overview and Detail Pages](/howto10/front-end/create-your-first-two-overview-and-detail-pages/)) * Menu items (see [Setting Up Navigation](/refguide10/setting-up-the-navigation-structure/)) ## Preparing the Data Structure and GUI @@ -147,10 +147,10 @@ To import the XML file, follow these steps: ## Read More -* [How to Consume a Complex Web Service](/howto/integration/consume-a-complex-web-service/) -* [How to Consume a Simple Web Service](/howto/integration/consume-a-simple-web-service/) -* [How to Export XML Documents](/howto/integration/export-xml-documents/) -* [How to Expose a Web Service](/howto/integration/expose-a-web-service/) -* [How to Handle Selenium Support](/howto/integration/selenium-support/) -* [How to Consume a REST Service](/howto/integration/consume-a-rest-service/) -* [How to Expose Data to BI Tools Using OData](/howto/integration/exposing-data-to-bi-tools-using-odata/) +* [How to Consume a Complex Web Service](/howto10/integration/consume-a-complex-web-service/) +* [How to Consume a Simple Web Service](/howto10/integration/consume-a-simple-web-service/) +* [How to Export XML Documents](/howto10/integration/export-xml-documents/) +* [How to Expose a Web Service](/howto10/integration/expose-a-web-service/) +* [How to Handle Selenium Support](/howto10/integration/selenium-support/) +* [How to Consume a REST Service](/howto10/integration/consume-a-rest-service/) +* [How to Expose Data to BI Tools Using OData](/howto10/integration/exposing-data-to-bi-tools-using-odata/) diff --git a/content/en/docs/refguide10/modeling/integration/odata-services/_index.md b/content/en/docs/refguide10/modeling/integration/odata-services/_index.md index 43d76c79701..528a91be9c3 100644 --- a/content/en/docs/refguide10/modeling/integration/odata-services/_index.md +++ b/content/en/docs/refguide10/modeling/integration/odata-services/_index.md @@ -7,14 +7,14 @@ description: "Introduces OData services." ## Introduction -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 entities, as well as how you should provide nested data structures. Using OData best practices ensures 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 ensures that API clients can optimize payload size and minimize roundtrips for the best possible usage performance. +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 entities, as well as how you should provide nested data structures. Using OData best practices ensures your APIs are compatible with tools like Excel and PowerBI out of the box (see [Expose Data to BI Tools Using OData](/howto10/integration/exposing-data-to-bi-tools-using-odata/)), and 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 usable in other Mendix apps. Discovering and using them in [external entities](/refguide10/external-entities/) is made easy for users deploying to the [Mendix Cloud](/developerportal/deploy/mendix-cloud-deploy/), as [published OData Services](/refguide10/published-odata-services/) are registered automatically in the [Catalog](/catalog/) and made available in the Studio Pro [Integration pane](/refguide10/integration-pane/). To publish OData services, see: * [Published OData Services](/refguide10/published-odata-services/), an overview in the Studio Pro guide -* [Expose Data to BI Tools Using OData](/howto/integration/exposing-data-to-bi-tools-using-odata/), step-by-step instructions for a specific use case +* [Expose Data to BI Tools Using OData](/howto10/integration/exposing-data-to-bi-tools-using-odata/), step-by-step instructions for a specific use case To consume OData services, see: diff --git a/content/en/docs/refguide10/modeling/integration/odata-services/consumed-odata-services/consumed-odata-service.md b/content/en/docs/refguide10/modeling/integration/odata-services/consumed-odata-services/consumed-odata-service.md index 5bbec83f8e6..b12a6523289 100644 --- a/content/en/docs/refguide10/modeling/integration/odata-services/consumed-odata-services/consumed-odata-service.md +++ b/content/en/docs/refguide10/modeling/integration/odata-services/consumed-odata-services/consumed-odata-service.md @@ -3,7 +3,7 @@ title: "Consumed OData Service" url: /refguide10/consumed-odata-service/ weight: 10 aliases: - - /refguide10/consumed-odata-service-properties + - /refguide10/consumed-odata-service-properties/ # SB: The images on this page are created using the Lato-LandscapeDemoApp (https://sprintr.home.mendix.com/link/project/1b515494-d818-4358-8c91-6c3d54e9cae5) --- diff --git a/content/en/docs/refguide10/modeling/integration/odata-services/exposing-data-to-bi-tools-using-odata.md b/content/en/docs/refguide10/modeling/integration/odata-services/exposing-data-to-bi-tools-using-odata.md index adedfb3567c..1a950f3bd6c 100644 --- a/content/en/docs/refguide10/modeling/integration/odata-services/exposing-data-to-bi-tools-using-odata.md +++ b/content/en/docs/refguide10/modeling/integration/odata-services/exposing-data-to-bi-tools-using-odata.md @@ -4,7 +4,7 @@ url: /refguide10/exposing-data-to-bi-tools-using-odata/ weight: 13 description: "Describes how to create a published OData service with resources, add the OData server to Tableau and Excel, combine resources in Tableau, and create custom queries." aliases: - - /howto/integration/exposing-data-to-bi-tools-using-odata/ + - /howto10/integration/exposing-data-to-bi-tools-using-odata/ #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. --- @@ -148,8 +148,8 @@ These are some other query examples: ## Read More -* [Consume a Complex Web Service](/howto/integration/consume-a-complex-web-service/) -* [Consume a Simple Web Service](/howto/integration/consume-a-simple-web-service/) -* [Export XML Documents](/howto/integration/export-xml-documents/) -* [Import Excel Documents](/howto/integration/importing-excel-documents/) -* [Expose a Web Service](/howto/integration/expose-a-web-service/) +* [Consume a Complex Web Service](/howto10/integration/consume-a-complex-web-service/) +* [Consume a Simple Web Service](/howto10/integration/consume-a-simple-web-service/) +* [Export XML Documents](/howto10/integration/export-xml-documents/) +* [Import Excel Documents](/howto10/integration/importing-excel-documents/) +* [Expose a Web Service](/howto10/integration/expose-a-web-service/) diff --git a/content/en/docs/refguide10/modeling/integration/rest-services/_index.md b/content/en/docs/refguide10/modeling/integration/rest-services/_index.md index 4a7e4a53019..8fe9d1d6de5 100644 --- a/content/en/docs/refguide10/modeling/integration/rest-services/_index.md +++ b/content/en/docs/refguide10/modeling/integration/rest-services/_index.md @@ -47,7 +47,7 @@ REST calls that output JSON need to declare the [content type](#content-types) a To publish REST services, see: * [Published REST Services](/refguide10/published-rest-services/), an overview in the Studio Pro guide -* [Publish a REST Service](/howto/integration/publish-rest-service/) for step-by-step instructions +* [Publish a REST Service](/howto10/integration/publish-rest-service/) for step-by-step instructions * [HttpRequest and HttpResponse System Entities](/refguide10/http-request-and-response-entities/), an overview of these system entities in your domain model To consume REST services, see: diff --git a/content/en/docs/refguide10/modeling/integration/rest-services/consumed-rest-services/server-side-paging.md b/content/en/docs/refguide10/modeling/integration/rest-services/consumed-rest-services/server-side-paging.md index bc4d9680adf..67a31752656 100644 --- a/content/en/docs/refguide10/modeling/integration/rest-services/consumed-rest-services/server-side-paging.md +++ b/content/en/docs/refguide10/modeling/integration/rest-services/consumed-rest-services/server-side-paging.md @@ -5,7 +5,7 @@ url: /refguide10/server-side-paging/ weight: 30 description: "Describes how to create a data grid with a microflow data source which retrieves data from a REST service, and then add server-side paging and sorting to it." aliases: - - /howto/logic-business-rules/server-side-paging/ + - /howto10/logic-business-rules/server-side-paging/ --- ## Introduction @@ -22,11 +22,11 @@ This how-to teaches you how to do the following: Before starting this how-to, make sure you have completed the following prerequisites: * Install Studio Pro [8.2.0 or above](https://marketplace.mendix.com/link/studiopro/) -* If you are not familiar with using data from REST services, read [Consume a REST Service](/howto/integration/consume-a-rest-service/) +* If you are not familiar with using data from REST services, read [Consume a REST Service](/howto10/integration/consume-a-rest-service/) ## Creating a Microflow Data Source -In this section, you will create a JSON structure and import mapping for a REST service. To do this, complete the first four sections of [Consume a REST Service](/howto/integration/consume-a-rest-service/) — (until **Adding an Input Entity to the Domain Model** is done). +In this section, you will create a JSON structure and import mapping for a REST service. To do this, complete the first four sections of [Consume a REST Service](/howto10/integration/consume-a-rest-service/) — (until **Adding an Input Entity to the Domain Model** is done). Complete these steps with one crucial change: you must use this REST service URL for your JSON snippet: `https://my-json-server.typicode.com/mendix/howto-api-data/airports`. diff --git a/content/en/docs/refguide10/modeling/integration/rest-services/consumed-rest-services/use-call-rest-action-in-microflow.md b/content/en/docs/refguide10/modeling/integration/rest-services/consumed-rest-services/use-call-rest-action-in-microflow.md index 8fa36cd6a60..1e4981f0f32 100644 --- a/content/en/docs/refguide10/modeling/integration/rest-services/consumed-rest-services/use-call-rest-action-in-microflow.md +++ b/content/en/docs/refguide10/modeling/integration/rest-services/consumed-rest-services/use-call-rest-action-in-microflow.md @@ -5,7 +5,7 @@ weight: 15 description: "Describes how to integrate an existing system or a legacy system into a Mendix app by calling a REST service in a microflow." description: "Describes how to get information from a REST service." aliases: - - /howto/integration/consume-a-rest-service/ + - /howto10/integration/consume-a-rest-service/ --- ## Introduction @@ -157,11 +157,11 @@ You can now start your app and get summaries from Wikipedia. ## Read More -* [Consume a Complex Web Service](/howto/integration/consume-a-complex-web-service/) -* [Consume a Simple Web Service](/howto/integration/consume-a-simple-web-service/) -* [Export XML Documents](/howto/integration/export-xml-documents/) -* [Import XML Documents](/howto/integration/importing-xml-documents/) -* [Import Excel Documents](/howto/integration/importing-excel-documents/) -* [Expose a Web Service](/howto/integration/expose-a-web-service/) -* [Expose Data to BI Tools Using OData](/howto/integration/exposing-data-to-bi-tools-using-odata/) +* [Consume a Complex Web Service](/howto10/integration/consume-a-complex-web-service/) +* [Consume a Simple Web Service](/howto10/integration/consume-a-simple-web-service/) +* [Export XML Documents](/howto10/integration/export-xml-documents/) +* [Import XML Documents](/howto10/integration/importing-xml-documents/) +* [Import Excel Documents](/howto10/integration/importing-excel-documents/) +* [Expose a Web Service](/howto10/integration/expose-a-web-service/) +* [Expose Data to BI Tools Using OData](/howto10/integration/exposing-data-to-bi-tools-using-odata/) * [Security Considerations](/refguide10/call-rest-action/#security) diff --git a/content/en/docs/refguide10/modeling/integration/rest-services/integrating-a-legacy-system-into-a-mendix-app.md b/content/en/docs/refguide10/modeling/integration/rest-services/integrating-a-legacy-system-into-a-mendix-app.md index 85b2e19f245..a93a46892c2 100644 --- a/content/en/docs/refguide10/modeling/integration/rest-services/integrating-a-legacy-system-into-a-mendix-app.md +++ b/content/en/docs/refguide10/modeling/integration/rest-services/integrating-a-legacy-system-into-a-mendix-app.md @@ -5,7 +5,7 @@ url: /refguide10/integrate-a-legacy-system/ weight: 50 description: "Describes how to assess potential options for integrating an existing system with a Mendix app and how to integrate with a legacy system using REST." aliases: - - /howto/integration/integrating-a-legacy-system-into-a-mendix-app/ + - /howto10/integration/integrating-a-legacy-system-into-a-mendix-app/ --- ## Introduction @@ -22,9 +22,9 @@ This how-to teaches you how to do the following: Before starting this how-to, make sure you have completed the following prerequisites: * Know how to create domain models (for details, see [Configuring a Domain Model](/refguide10/configuring-a-domain-model/)) -* Know how to create overview and detail pages (for details, see [How to Create Your First Two Overview and Detail Pages](/howto/front-end/create-your-first-two-overview-and-detail-pages/)) +* Know how to create overview and detail pages (for details, see [How to Create Your First Two Overview and Detail Pages](/howto10/front-end/create-your-first-two-overview-and-detail-pages/)) * Know how to create microflows (for details, see [How to Build Your First Microflow: Hello world!](/refguide10/triggering-microflow-from-menu-item/)) -* Understand the concepts behind REST and web services (for more information, see [How to Consume a Complex Web Service](/howto/integration/consume-a-complex-web-service/)) +* Understand the concepts behind REST and web services (for more information, see [How to Consume a Complex Web Service](/howto10/integration/consume-a-complex-web-service/)) * Creating an exposed REST service on top of your legacy system is beyond the scope of this tutorial; for instructions on how to accomplish this, refer to the configuration of your non-Mendix Platform ## Interacting with a Legacy System Using REST @@ -88,7 +88,7 @@ For further documentation and to see the GitHub project for REST services, see t ## Read More -* [Consume a REST Service](/howto/integration/consume-a-rest-service/) -* [Consume a Complex Web Service](/howto/integration/consume-a-complex-web-service/) -* [Consume a Simple Web Service](/howto/integration/consume-a-simple-web-service/) -* [Expose a Web Service](/howto/integration/expose-a-web-service/) +* [Consume a REST Service](/howto10/integration/consume-a-rest-service/) +* [Consume a Complex Web Service](/howto10/integration/consume-a-complex-web-service/) +* [Consume a Simple Web Service](/howto10/integration/consume-a-simple-web-service/) +* [Expose a Web Service](/howto10/integration/expose-a-web-service/) diff --git a/content/en/docs/refguide10/modeling/integration/rest-services/published-rest-services/published-rest-service/publish-rest-service.md b/content/en/docs/refguide10/modeling/integration/rest-services/published-rest-services/published-rest-service/publish-rest-service.md index 1df2a2f015d..f93cd2dbea3 100644 --- a/content/en/docs/refguide10/modeling/integration/rest-services/published-rest-services/published-rest-service/publish-rest-service.md +++ b/content/en/docs/refguide10/modeling/integration/rest-services/published-rest-services/published-rest-service/publish-rest-service.md @@ -4,7 +4,7 @@ url: /refguide10/publish-a-rest-service/ weight: 10 description: "Describes how to create a published REST service and return the results in JSON or XML." aliases: - - /howto/integration/publish-rest-service/ + - /howto10/integration/publish-rest-service/ --- ## Introduction @@ -21,7 +21,7 @@ To set up the example app you will use in the next sections, follow these steps: {{< figure src="/attachments/refguide10/modeling/integration/publish-rest-service/domainmodel.png" alt="Many-to-one association from OrderItem to Order" class="no-border" >}} -4. [Generate overview and detail pages](/howto/front-end/create-your-first-two-overview-and-detail-pages/#create-automatically) for the **Order** and **OrderItem** entities. +4. [Generate overview and detail pages](/howto10/front-end/create-your-first-two-overview-and-detail-pages/#create-automatically) for the **Order** and **OrderItem** entities. 5. [Add a data grid](/refguide10/data-grid/) to the **Order_NewEdit** page. Set it to display the **OrderItem** objects from the database over an association: {{< figure src="/attachments/refguide10/modeling/integration/publish-rest-service/DataGridSettings.png" alt="Data grid settings for the Order_NewEdit page" class="no-border" >}} diff --git a/content/en/docs/refguide10/modeling/integration/rest-services/published-rest-services/published-rest-service/version-rest-service.md b/content/en/docs/refguide10/modeling/integration/rest-services/published-rest-services/published-rest-service/version-rest-service.md index c324cde9910..1f729bc60a4 100644 --- a/content/en/docs/refguide10/modeling/integration/rest-services/published-rest-services/published-rest-service/version-rest-service.md +++ b/content/en/docs/refguide10/modeling/integration/rest-services/published-rest-services/published-rest-service/version-rest-service.md @@ -4,7 +4,7 @@ url: /refguide10/version-rest-service/ weight: 10 description: "Describes the best practices for versioning REST services in Mendix." aliases: - - /howto/integration/version-rest-service/ + - /howto10/integration/version-rest-service/ --- ## Introduction diff --git a/content/en/docs/refguide10/modeling/integration/rest-services/rest-binary.md b/content/en/docs/refguide10/modeling/integration/rest-services/rest-binary.md index 4eb3e630294..6b4d7c26f41 100644 --- a/content/en/docs/refguide10/modeling/integration/rest-services/rest-binary.md +++ b/content/en/docs/refguide10/modeling/integration/rest-services/rest-binary.md @@ -22,7 +22,7 @@ If you are only interested in consuming files, you can skip down to the [Retriev It is recommended to read the following for some more background information: -* [Publishing](/howto/integration/publish-rest-service/) and [consuming](/howto/integration/consume-a-rest-service/) REST services +* [Publishing](/howto10/integration/publish-rest-service/) and [consuming](/howto10/integration/consume-a-rest-service/) REST services * Working with [Images, Videos, and Files](/refguide10/image-and-file-widgets/) in Studio Pro ## Send Files with REST {#create-service} @@ -166,7 +166,7 @@ To do so, do the following: You can call a REST service in a microflow, then store the binary response in an entity. -Retrieving files in a microflow uses the [Call REST service](/refguide10/call-rest-action/) action. For step-by-step instructions for calling a REST service in a microflow, see [Consume a REST Service](/howto/integration/consume-a-rest-service/). +Retrieving files in a microflow uses the [Call REST service](/refguide10/call-rest-action/) action. For step-by-step instructions for calling a REST service in a microflow, see [Consume a REST Service](/howto10/integration/consume-a-rest-service/). To retrieve files using a microflow, do the following: diff --git a/content/en/docs/refguide10/modeling/integration/share-data-sources/_index.md b/content/en/docs/refguide10/modeling/integration/share-data-sources/_index.md index e2b14238a3a..e3771c5c958 100644 --- a/content/en/docs/refguide10/modeling/integration/share-data-sources/_index.md +++ b/content/en/docs/refguide10/modeling/integration/share-data-sources/_index.md @@ -2,7 +2,7 @@ title: Share Data Sources url: /refguide10/share-data-sources/ aliases: - - /howto/integration/share-data-sources/ + - /howto10/integration/share-data-sources/ #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. --- diff --git a/content/en/docs/refguide10/modeling/integration/share-data-sources/share-data-between-apps.md b/content/en/docs/refguide10/modeling/integration/share-data-sources/share-data-between-apps.md index cb1943116ae..13ccbfa394f 100644 --- a/content/en/docs/refguide10/modeling/integration/share-data-sources/share-data-between-apps.md +++ b/content/en/docs/refguide10/modeling/integration/share-data-sources/share-data-between-apps.md @@ -11,7 +11,7 @@ aliases: - /catalog/#share-data - /data-hub/data-hub-catalog/share-data/ - /catalog/share-data/ - - /howto/integration/share-data/ + - /howto10/integration/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. --- diff --git a/content/en/docs/refguide10/modeling/integration/share-data-sources/write-data-to-another-app.md b/content/en/docs/refguide10/modeling/integration/share-data-sources/write-data-to-another-app.md index b06339025f9..217f9a60b14 100644 --- a/content/en/docs/refguide10/modeling/integration/share-data-sources/write-data-to-another-app.md +++ b/content/en/docs/refguide10/modeling/integration/share-data-sources/write-data-to-another-app.md @@ -6,14 +6,14 @@ weight: 20 aliases: - /data-hub/write-data/ - /catalog/write-data/ - - /howto/integration/write-data/ + - /howto10/integration/write-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. # SB: The images on this page are created using the Lato-LandscapeDemoApp (https://sprintr.home.mendix.com/link/project/1b515494-d818-4358-8c91-6c3d54e9cae5) --- ## Introduction -This how-to builds on the information provided in [Share Data Between Apps](/howto/integration/share-data/) and shows how OData annotations give you the power to create, update, and delete data. +This how-to builds on the information provided in [Share Data Between Apps](/howto10/integration/share-data/) and shows how OData annotations give you the power to create, update, and delete data. This how-to teaches you how to do the following: @@ -37,7 +37,7 @@ Note the following terminology differences described in the table below: Before starting this how-to, make sure you have completed the following prerequisites: * Install the most recent version of [Studio Pro](https://marketplace.mendix.com/link/studiopro/) -* Understand how read-only external entities behave by reading [Share Data Between Apps](/howto/integration/share-data/) +* Understand how read-only external entities behave by reading [Share Data Between Apps](/howto10/integration/share-data/) ## Exposing OData Contracts in Mendix Studio Pro diff --git a/content/en/docs/refguide10/modeling/integration/use-excel-documents/_index.md b/content/en/docs/refguide10/modeling/integration/use-excel-documents/_index.md index 2f387c71b99..1b36aa7ec63 100644 --- a/content/en/docs/refguide10/modeling/integration/use-excel-documents/_index.md +++ b/content/en/docs/refguide10/modeling/integration/use-excel-documents/_index.md @@ -1,7 +1,7 @@ --- title: Use Excel Documents url: /refguide10/use-excel-documents/ -aliases: /howto/integration/use-excel-documents/ +aliases: /howto10/integration/use-excel-documents/ #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. --- diff --git a/content/en/docs/refguide10/modeling/integration/use-excel-documents/export-to-excel.md b/content/en/docs/refguide10/modeling/integration/use-excel-documents/export-to-excel.md index b7149e13187..0e02400ad8f 100644 --- a/content/en/docs/refguide10/modeling/integration/use-excel-documents/export-to-excel.md +++ b/content/en/docs/refguide10/modeling/integration/use-excel-documents/export-to-excel.md @@ -3,7 +3,7 @@ title: "Export to Excel" url: /refguide10/using-the-excel-exporter/ weight: 20 description: "Describes how to create custom Excel documents from your app based on configurable templates." -aliases: /howto/integration/using-the-excel-exporter/ +aliases: /howto10/integration/using-the-excel-exporter/ #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. --- @@ -284,4 +284,4 @@ If the microflow that calls the Java action *XLSReport.GenerateExcelDoc* has **A ## Read More -* [Import Excel Documents](/howto/integration/importing-excel-documents/) +* [Import Excel Documents](/howto10/integration/importing-excel-documents/) diff --git a/content/en/docs/refguide10/modeling/integration/use-excel-documents/import-a-large-excel-file.md b/content/en/docs/refguide10/modeling/integration/use-excel-documents/import-a-large-excel-file.md index c38c3ece393..2edf0cada66 100644 --- a/content/en/docs/refguide10/modeling/integration/use-excel-documents/import-a-large-excel-file.md +++ b/content/en/docs/refguide10/modeling/integration/use-excel-documents/import-a-large-excel-file.md @@ -2,7 +2,7 @@ title: "Import a Large Excel File" url: /refguide10/import-a-large-excel-file/ weight: 10 -aliases: /howto/integration/import-a-large-excel-file/ +aliases: /howto10/integration/import-a-large-excel-file/ #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. --- diff --git a/content/en/docs/refguide10/modeling/integration/use-excel-documents/import-excel-documents.md b/content/en/docs/refguide10/modeling/integration/use-excel-documents/import-excel-documents.md index 4f5ee8a3bb2..bd64562e644 100644 --- a/content/en/docs/refguide10/modeling/integration/use-excel-documents/import-excel-documents.md +++ b/content/en/docs/refguide10/modeling/integration/use-excel-documents/import-excel-documents.md @@ -3,7 +3,7 @@ title: "Import Excel Documents" url: /refguide10/importing-excel-documents/ weight: 1 description: "Describes how to set up import templates and import data into your app using the Excel Importer module." -aliases: /howto/integration/importing-excel-documents/ +aliases: /howto10/integration/importing-excel-documents/ #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. --- @@ -16,11 +16,11 @@ Adding large amounts of data to your application (for example, reference data or Before starting this how-to, make sure you know how to do the following: * Create domain models (see [Configuring a Domain Model](/refguide10/configuring-a-domain-model/)) -* Create overview and detail pages (see [How to Create Your First Two Overview and Detail Pages](/howto/front-end/create-your-first-two-overview-and-detail-pages/)) +* Create overview and detail pages (see [How to Create Your First Two Overview and Detail Pages](/howto10/front-end/create-your-first-two-overview-and-detail-pages/)) * Create menu items (see [Setting Up Navigation](/refguide10/setting-up-the-navigation-structure/)) * Create microflows (see [Triggering a Microflow From a Menu Item](/refguide10/triggering-microflow-from-menu-item/) * Add Marketplace content to your app (see [How to Use Marketplace Content](/appstore/use-content/)) -* Secure your applications (see [How to Create a Secure App](/howto/security/create-a-secure-app/)) +* Secure your applications (see [How to Create a Secure App](/howto10/security/create-a-secure-app/)) ## Preparing the Data Structure, GUI and Modules @@ -28,7 +28,7 @@ Before you can start importing data into your application, set up the data struc 1. Create the following domain model: - {{< figure src="/attachments/howto/integration/importing-excel-documents/18581969.png" class="no-border" >}} + {{< figure src="/attachments/howto10/integration/importing-excel-documents/18581969.png" class="no-border" >}} Create an enumeration for the **OrderStatus** attribute with the values **Open**, **Processing**, and **Complete**. @@ -45,7 +45,7 @@ Because an enumeration is used for the **OrderStatus** attribute, you need to cr 1. Create the following microflow and name it **IVK_ParseStatus**. - {{< figure src="/attachments/howto/integration/importing-excel-documents/18581968.png" class="no-border" >}} + {{< figure src="/attachments/howto10/integration/importing-excel-documents/18581968.png" class="no-border" >}} 2. Set the **Return value** as follows: @@ -68,7 +68,7 @@ In order to set up import templates for importing data, your application model m 4. Click the menu item for the **MxObjects_Overview** in your navigation. 5. Select the module that contains the objects you want to use in your client by checking the box to the left of it. In this example, the module is **MyFirstModule**: - {{< figure src="/attachments/howto/integration/importing-excel-documents/18581937.png" class="no-border" >}} + {{< figure src="/attachments/howto10/integration/importing-excel-documents/18581937.png" class="no-border" >}} 6. Click the button next to **Synchronize all entities and microflows of checked modules on the left**. Now, the two objects and the parse microflow from the **MyFirstModule** module can be seen and used in the client. @@ -78,26 +78,26 @@ Before you can import data from an Excel File, you have to set up an import temp In this section, you will import data from a simple Excel file example, which can be downloaded here: -{{% button color="info" href="/attachments/howto/integration/importing-excel-documents/18581949.xlsx" text="Download Example" title="Download sample Excel template" %}} +{{% button color="info" href="/attachments/howto10/integration/importing-excel-documents/18581949.xlsx" text="Download Example" title="Download sample Excel template" %}} Based on the structure of the file you want to import, you need to manually set up your template by following these steps: 1. Click the menu item for **ExcelImportOverview** in the navigation of your app's home page. 2. Click **New Template**: - {{< figure src="/attachments/howto/integration/importing-excel-documents/18581971.png" class="no-border" >}} + {{< figure src="/attachments/howto10/integration/importing-excel-documents/18581971.png" class="no-border" >}} 3. Name the template. 4. Click the arrow next to the **Mendix object** box. 5. Double-click the **Customer** object: - {{< figure src="/attachments/howto/integration/importing-excel-documents/18581966.png" class="no-border" >}} + {{< figure src="/attachments/howto10/integration/importing-excel-documents/18581966.png" class="no-border" >}} 6. Click the arrow next to the **Reference to import objects** box. 7. Select the **MyFirstModule.Customer_XLSFile** association. By setting the association to the XLS file, the XLS file is saved on disk and the imported data is linked to the source file. 8. Make sure **Import Action** is set to **Synchronize objects**: - {{< figure src="/attachments/howto/integration/importing-excel-documents/18581965.png" class="no-border" >}} + {{< figure src="/attachments/howto10/integration/importing-excel-documents/18581965.png" class="no-border" >}} {{% alert color="info" %}}For this example, you use a simple Excel file that has only one sheet and column headers on the first row. If a more comprehensive Excel file is used, you can change these values in the **Sheet nr**, **Header row nr**, and **Import from row nr** fields.{{% /alert %}} @@ -110,17 +110,17 @@ Based on the structure of the file you want to import, you need to manually set 12. Select **Attribute** for the **Type**. 13. Click the arrow next to the **Attribute** box: - {{< figure src="/attachments/howto/integration/importing-excel-documents/18581963.png" class="no-border" >}} + {{< figure src="/attachments/howto10/integration/importing-excel-documents/18581963.png" class="no-border" >}} 14. Double-click the **Attribute** to which you want to map the Excel value: - {{< figure src="/attachments/howto/integration/importing-excel-documents/18581962.png" class="no-border" >}} + {{< figure src="/attachments/howto10/integration/importing-excel-documents/18581962.png" class="no-border" >}} 15. Repeat steps 9 to 14 above for each attribute of the **Customer** object. * For the mapping of attribute **Name**, set the **Key** value to **Yes** to prevent a customer from being duplicated. - {{< figure src="/attachments/howto/integration/importing-excel-documents/18581961.png" class="no-border" >}} + {{< figure src="/attachments/howto10/integration/importing-excel-documents/18581961.png" class="no-border" >}} {{% alert color="info" %}}If the mapping is set up correctly, a green check appears in front of the row.{{% /alert %}} @@ -133,11 +133,11 @@ Based on the structure of the file you want to import, you need to manually set 6. For the mapping of attribute **Number**, set the **Key** value to **Yes, only for the associated object** in order to prevent orders from being duplicated. 7. Click **Save**. - {{< figure src="/attachments/howto/integration/importing-excel-documents/18581956.png" class="no-border" >}} + {{< figure src="/attachments/howto10/integration/importing-excel-documents/18581956.png" class="no-border" >}} 17. For the mapping of the **OrderStatus** attribute, the Excel file value needs to be parsed to an enumeration value. To achieve this, use the **IVK_ParseStatus** microflow (created in the [Preparing the Logic for Data Import](#preparing) section above). Click the arrow next to the **Parse with** box and select the **IVK_ParseStatus** microflow: - {{< figure src="/attachments/howto/integration/importing-excel-documents/18581953.png" class="no-border" >}} + {{< figure src="/attachments/howto10/integration/importing-excel-documents/18581953.png" class="no-border" >}} 18. Save the import template. @@ -150,17 +150,17 @@ Follow these steps to import the Excel file: 1. Click the menu item for **ExcelImportOverview** in the navigation of your app's home page. 2. Go to the **Import files** tab and click **New**: - {{< figure src="/attachments/howto/integration/importing-excel-documents/18581952.png" class="no-border" >}} + {{< figure src="/attachments/howto10/integration/importing-excel-documents/18581952.png" class="no-border" >}} 3. Select the template you just created. 4. Click **Browse**: - {{< figure src="/attachments/howto/integration/importing-excel-documents/18581951.png" class="no-border" >}} + {{< figure src="/attachments/howto10/integration/importing-excel-documents/18581951.png" class="no-border" >}} 5. Select the example Excel file you downloaded and click **Save**. 6. Click the Excel file under **Filename** to select it, then click **Import file**: - {{< figure src="/attachments/howto/integration/importing-excel-documents/18581950.png" class="no-border" >}} + {{< figure src="/attachments/howto10/integration/importing-excel-documents/18581950.png" class="no-border" >}} 7. Click **OK** when the import has finished. @@ -168,31 +168,31 @@ Follow these steps to import the Excel file: In this section, you will create the same Excel template in an automated way, which you can do using the specific **New template by excelfile** button. You can use this same Excel file example: -{{< figure src="/attachments/howto/integration/importing-excel-documents/18581938.png" link="/attachments/howto/integration/importing-excel-documents/18581949.xlsx" class="no-border" >}} +{{< figure src="/attachments/howto10/integration/importing-excel-documents/18581938.png" link="/attachments/howto10/integration/importing-excel-documents/18581949.xlsx" class="no-border" >}} Follow these steps to create the import template via the Excel file: 1. Click the menu item for **ExcelImportOverview** in the navigation of your app's home page. 2. Click **New template by excelfile**: - {{< figure src="/attachments/howto/integration/importing-excel-documents/18581948.png" class="no-border" >}} + {{< figure src="/attachments/howto10/integration/importing-excel-documents/18581948.png" class="no-border" >}} 3. Select the example Excel file you downloaded. 4. Define the **Sheet nr**, **Header row nr**, and **Import from row nr**: - {{< figure src="/attachments/howto/integration/importing-excel-documents/18581947.png" class="no-border" >}} + {{< figure src="/attachments/howto10/integration/importing-excel-documents/18581947.png" class="no-border" >}} 5. Click **Save & next**. This will automatically create a row for every header of the Excel file: - {{< figure src="/attachments/howto/integration/importing-excel-documents/18581936.png" class="no-border" >}} + {{< figure src="/attachments/howto10/integration/importing-excel-documents/18581936.png" class="no-border" >}} 6. In the top section of the page, click the arrow next to **Mendix object** and select the **Customer** object type: - {{< figure src="/attachments/howto/integration/importing-excel-documents/18581935.png" class="no-border" >}} + {{< figure src="/attachments/howto10/integration/importing-excel-documents/18581935.png" class="no-border" >}} 7. Under **Connect columns to attributes**, click **Connect matching attributes**: - {{< figure src="/attachments/howto/integration/importing-excel-documents/18581934.png" class="no-border" >}} + {{< figure src="/attachments/howto10/integration/importing-excel-documents/18581934.png" class="no-border" >}} This will automatically match attributes of the selected Mendix object that have the same name as the **Caption**. @@ -209,11 +209,11 @@ Follow these steps to export and import your template: 1. Click the menu item for **ExcelImportOverview** in the navigation of your app's home page. 2. Click the Excel template you created in the [Creating the Import Template](#creating) section above to select it, then click **Export template** and save the file on your computer: - {{< figure src="/attachments/howto/integration/importing-excel-documents/18581933.png" class="no-border" >}} + {{< figure src="/attachments/howto10/integration/importing-excel-documents/18581933.png" class="no-border" >}} 3. Import the file you just downloaded by clicking **Import template**, selecting the file, and clicking **Import**: - {{< figure src="/attachments/howto/integration/importing-excel-documents/18581932.png" class="no-border" >}} + {{< figure src="/attachments/howto10/integration/importing-excel-documents/18581932.png" class="no-border" >}} You have now imported a complete import template. @@ -221,7 +221,7 @@ You have now imported a complete import template. ## Read More -* [Import a Large Excel File](/howto/integration/import-a-large-excel-file/) -* [Export XML Documents](/howto/integration/export-xml-documents/) -* [Import XML Documents](/howto/integration/importing-xml-documents/) -* [Expose a Web Service](/howto/integration/expose-a-web-service/) +* [Import a Large Excel File](/howto10/integration/import-a-large-excel-file/) +* [Export XML Documents](/howto10/integration/export-xml-documents/) +* [Import XML Documents](/howto10/integration/importing-xml-documents/) +* [Expose a Web Service](/howto10/integration/expose-a-web-service/) diff --git a/content/en/docs/refguide10/modeling/integration/use-extensions/_index.md b/content/en/docs/refguide10/modeling/integration/use-extensions/_index.md index 284a79c65a6..a5213e42629 100644 --- a/content/en/docs/refguide10/modeling/integration/use-extensions/_index.md +++ b/content/en/docs/refguide10/modeling/integration/use-extensions/_index.md @@ -2,7 +2,7 @@ title: Use Extensions url: /refguide10/use-extensions/ aliases: - - /howto/integration/use-extensions/ + - /howto10/integration/use-extensions/ #If moving or renaming this doc file, implement a temporary redirect and let the respective team (buildpack) know they should update the URL in the product. See Mapping to Products for more details. --- diff --git a/content/en/docs/refguide10/modeling/integration/use-extensions/execute-an-sql-statement-on-an-external-database.md b/content/en/docs/refguide10/modeling/integration/use-extensions/execute-an-sql-statement-on-an-external-database.md index c54ec1a83aa..af300c2958c 100644 --- a/content/en/docs/refguide10/modeling/integration/use-extensions/execute-an-sql-statement-on-an-external-database.md +++ b/content/en/docs/refguide10/modeling/integration/use-extensions/execute-an-sql-statement-on-an-external-database.md @@ -5,7 +5,7 @@ url: /refguide10/execute-an-sql-statement-on-an-external-database/ weight: 50 description: "Describes how to execute an SQL statement on relational external databases using Database Connector." aliases: - - /howto/integration/execute-an-sql-statement-on-an-external-database/ + - /howto10/integration/execute-an-sql-statement-on-an-external-database/ #If moving or renaming this doc file, implement a temporary redirect and let the respective team (buildpack) know they should update the URL in the product. See Mapping to Products for more details. --- diff --git a/content/en/docs/refguide10/modeling/integration/use-extensions/use-the-data-importer.md b/content/en/docs/refguide10/modeling/integration/use-extensions/use-the-data-importer.md index eba47991636..4aeee891d26 100644 --- a/content/en/docs/refguide10/modeling/integration/use-extensions/use-the-data-importer.md +++ b/content/en/docs/refguide10/modeling/integration/use-extensions/use-the-data-importer.md @@ -4,7 +4,7 @@ url: /refguide10/use-the-data-importer/ weight: 21 description: "Overview of the Data Importer in Studio Pro" aliases: - - /howto/integration/use-the-data-importer/ + - /howto10/integration/use-the-data-importer/ #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. --- diff --git a/content/en/docs/refguide10/modeling/integration/use-extensions/use-the-external-database-connector.md b/content/en/docs/refguide10/modeling/integration/use-extensions/use-the-external-database-connector.md index 4e4fc5d6305..9c202b9f829 100644 --- a/content/en/docs/refguide10/modeling/integration/use-extensions/use-the-external-database-connector.md +++ b/content/en/docs/refguide10/modeling/integration/use-extensions/use-the-external-database-connector.md @@ -4,7 +4,7 @@ url: /refguide10/use-the-external-database-connector/ weight: 40 description: "Overview of the External Database Connector in Studio Pro" aliases: - - /howto/integration/use-the-external-database-connector/ + - /howto10/integration/use-the-external-database-connector/ #If moving or renaming this doc file, implement a temporary redirect and let the respective team (buildpack) know they should update the URL in the product. See Mapping to Products for more details. --- diff --git a/content/en/docs/refguide10/modeling/integration/web-services/_index.md b/content/en/docs/refguide10/modeling/integration/web-services/_index.md index 620b5675592..62b9da936a3 100644 --- a/content/en/docs/refguide10/modeling/integration/web-services/_index.md +++ b/content/en/docs/refguide10/modeling/integration/web-services/_index.md @@ -12,11 +12,11 @@ You can publish your own web services in a Mendix application. Published web ser To publish web services, see: * [Published Web Services](/refguide10/published-web-services/), an overview in the Studio Pro guide -* [Expose a Web Service](/howto/integration/expose-a-web-service/) for step-by-step instructions +* [Expose a Web Service](/howto10/integration/expose-a-web-service/) for step-by-step instructions To consume web services, see: * [Consumed Web Services](/refguide10/consumed-web-services/), an overview in the Studio Pro guide * [Call Web Service](/refguide10/call-web-service-action/), a description of the microflow action -* [Consume a Simple Web Service](/howto/integration/consume-a-simple-web-service/) for step-by-step instructions -* [Consume a Complex Web Service](/howto/integration/consume-a-complex-web-service/) for step-by-step instructions +* [Consume a Simple Web Service](/howto10/integration/consume-a-simple-web-service/) for step-by-step instructions +* [Consume a Complex Web Service](/howto10/integration/consume-a-complex-web-service/) for step-by-step instructions diff --git a/content/en/docs/refguide10/modeling/integration/web-services/consumed-web-services/consume-a-complex-web-service.md b/content/en/docs/refguide10/modeling/integration/web-services/consumed-web-services/consume-a-complex-web-service.md index 66c41c80a96..cfc14a90832 100644 --- a/content/en/docs/refguide10/modeling/integration/web-services/consumed-web-services/consume-a-complex-web-service.md +++ b/content/en/docs/refguide10/modeling/integration/web-services/consumed-web-services/consume-a-complex-web-service.md @@ -4,7 +4,7 @@ url: /refguide10/integration/consume-a-complex-web-service/ weight: 8 description: "Describes how to import a web service both directly and using the wizard as well as how to configure a web service call." aliases: - - /howto/integration/consume-a-complex-web-service/ + - /howto10/integration/consume-a-complex-web-service/ --- ## Introduction @@ -79,11 +79,11 @@ Your imported web service is now ready to be used in your application. ## Read More -* [Consume a Simple Web Service](/howto/integration/consume-a-simple-web-service/) -* [Export XML Documents](/howto/integration/export-xml-documents/) -* [Import Excel Documents](/howto/integration/importing-excel-documents/) -* [Expose a Web Service](/howto/integration/expose-a-web-service/) -* [Use Selenium Support](/howto/integration/selenium-support/) -* [Import XML Documents](/howto/integration/importing-xml-documents/) -* [Consume a REST Service](/howto/integration/consume-a-rest-service/) -* [Expose Data to BI tools Using OData](/howto/integration/exposing-data-to-bi-tools-using-odata/) +* [Consume a Simple Web Service](/howto10/integration/consume-a-simple-web-service/) +* [Export XML Documents](/howto10/integration/export-xml-documents/) +* [Import Excel Documents](/howto10/integration/importing-excel-documents/) +* [Expose a Web Service](/howto10/integration/expose-a-web-service/) +* [Use Selenium Support](/howto10/integration/selenium-support/) +* [Import XML Documents](/howto10/integration/importing-xml-documents/) +* [Consume a REST Service](/howto10/integration/consume-a-rest-service/) +* [Expose Data to BI tools Using OData](/howto10/integration/exposing-data-to-bi-tools-using-odata/) diff --git a/content/en/docs/refguide10/modeling/integration/web-services/consumed-web-services/consume-a-simple-web-service.md b/content/en/docs/refguide10/modeling/integration/web-services/consumed-web-services/consume-a-simple-web-service.md index 9d062fba75d..642d05289be 100644 --- a/content/en/docs/refguide10/modeling/integration/web-services/consumed-web-services/consume-a-simple-web-service.md +++ b/content/en/docs/refguide10/modeling/integration/web-services/consumed-web-services/consume-a-simple-web-service.md @@ -4,14 +4,14 @@ url: /refguide10/integration/consume-a-simple-web-service/ weight: 7 description: "Describes how to import a WSDL and create logic to call the web service." aliases: - - /howto/integration/consume-a-simple-web-service/ + - /howto10/integration/consume-a-simple-web-service/ --- ## Introduction Mendix is the app platform for the enterprise, and in enterprise software, it is not likely that you work in a [greenfield project](https://en.wikipedia.org/wiki/Greenfield_project). In almost every situation, you will need to integrate with existing systems. This how-to focuses on how you can consume web services with Studio Pro. -In this how-to, you will use an example web service from [W3Schools](https://www.w3schools.com/). This is a very simple web service that converts temperatures from Celsius to Fahrenheit and vice versa. The converted temperature will be returned as a string value that can be stored in a variable directly. If you want to invoke a web service that returns a complex XML message, you can use the XML-to-domain mappings described in [How to Import XML Documents](/howto/integration/importing-xml-documents/). +In this how-to, you will use an example web service from [W3Schools](https://www.w3schools.com/). This is a very simple web service that converts temperatures from Celsius to Fahrenheit and vice versa. The converted temperature will be returned as a string value that can be stored in a variable directly. If you want to invoke a web service that returns a complex XML message, you can use the XML-to-domain mappings described in [How to Import XML Documents](/howto10/integration/importing-xml-documents/). This how-to teaches you how to do the following: @@ -98,9 +98,9 @@ To create logic to call the web service, follow these steps: ## Read More -* [Create a Secure App](/howto/security/create-a-secure-app/) -* [Consume a Complex Web Service](/howto/integration/consume-a-complex-web-service/) -* [Export XML Documents](/howto/integration/export-xml-documents/) -* [Import Excel Documents](/howto/integration/importing-excel-documents/) -* [Expose a Web Service](/howto/integration/expose-a-web-service/) -* [Use Selenium Support](/howto/integration/selenium-support/) +* [Create a Secure App](/howto10/security/create-a-secure-app/) +* [Consume a Complex Web Service](/howto10/integration/consume-a-complex-web-service/) +* [Export XML Documents](/howto10/integration/export-xml-documents/) +* [Import Excel Documents](/howto10/integration/importing-excel-documents/) +* [Expose a Web Service](/howto10/integration/expose-a-web-service/) +* [Use Selenium Support](/howto10/integration/selenium-support/) diff --git a/content/en/docs/refguide10/modeling/integration/web-services/published-web-services/expose-a-web-service.md b/content/en/docs/refguide10/modeling/integration/web-services/published-web-services/expose-a-web-service.md index 35ef0a83039..ab8962009ff 100644 --- a/content/en/docs/refguide10/modeling/integration/web-services/published-web-services/expose-a-web-service.md +++ b/content/en/docs/refguide10/modeling/integration/web-services/published-web-services/expose-a-web-service.md @@ -4,7 +4,7 @@ url: /refguide10/integration/expose-a-web-service/ weight: 12 description: "Describes how Mendix supports exposing the functionality and data of your app using web services." aliases: - - /howto/integration/expose-a-web-service/ + - /howto10/integration/expose-a-web-service/ --- ## Introduction @@ -32,7 +32,7 @@ This how-to was written based on Studio Pro 9.24. All the images, names, and ste {{< figure src="/attachments/refguide10/modeling/integration/expose-a-web-service/8945665.png" class="no-border" >}} -2. Create overview and detail pages to manage objects of the **Customer** type (for details on how to create overview and detail pages, see [How to Create Your First Two Overview and Detail Pages](/howto/front-end/create-your-first-two-overview-and-detail-pages/)). +2. Create overview and detail pages to manage objects of the **Customer** type (for details on how to create overview and detail pages, see [How to Create Your First Two Overview and Detail Pages](/howto10/front-end/create-your-first-two-overview-and-detail-pages/)). 3. Create a menu item to access the customer overview page (for details on how to create menu items, see [Setting Up Navigation](/refguide10/setting-up-the-navigation-structure/)). 4. Run the application and add some data to expose in the web service. @@ -139,11 +139,11 @@ When exposing a web service, consider the following things: ## Read More -* [Consume a Complex Web Service](/howto/integration/consume-a-complex-web-service/) -* [Consume a Simple Web Service](/howto/integration/consume-a-simple-web-service/) -* [Export XML Documents](/howto/integration/export-xml-documents/) -* [Import Excel Documents](/howto/integration/importing-excel-documents/) -* [Enable Selenium Support](/howto/integration/selenium-support/) -* [Import XML Documents](/howto/integration/importing-xml-documents/) -* [Consume a REST Service](/howto/integration/consume-a-rest-service/) -* [Expose Data to BI Tools Using OData](/howto/integration/exposing-data-to-bi-tools-using-odata/) +* [Consume a Complex Web Service](/howto10/integration/consume-a-complex-web-service/) +* [Consume a Simple Web Service](/howto10/integration/consume-a-simple-web-service/) +* [Export XML Documents](/howto10/integration/export-xml-documents/) +* [Import Excel Documents](/howto10/integration/importing-excel-documents/) +* [Enable Selenium Support](/howto10/integration/selenium-support/) +* [Import XML Documents](/howto10/integration/importing-xml-documents/) +* [Consume a REST Service](/howto10/integration/consume-a-rest-service/) +* [Expose Data to BI Tools Using OData](/howto10/integration/exposing-data-to-bi-tools-using-odata/) diff --git a/content/en/docs/refguide10/modeling/integration/web-services/testing-web-services-using-soapui.md b/content/en/docs/refguide10/modeling/integration/web-services/testing-web-services-using-soapui.md index ae0a3eddcd7..6e39ec3b150 100644 --- a/content/en/docs/refguide10/modeling/integration/web-services/testing-web-services-using-soapui.md +++ b/content/en/docs/refguide10/modeling/integration/web-services/testing-web-services-using-soapui.md @@ -4,7 +4,7 @@ url: /refguide10/integration/testing-web-services-using-soapui/ weight: 30 description: "Describes how to create a SOAP project with SoapUI, create assertions in SoapUI, and build an automated test using SoapUI." aliases: - - /howto/testing/testing-web-services-using-soapui/ + - /howto10/testing/testing-web-services-using-soapui/ --- ## Introduction @@ -22,7 +22,7 @@ This how-to teaches you how to do the following: Before you start this how-to, make sure you have completed the following prerequisites. * Download and install [SoapUI](https://www.soapui.org/downloads/soapui.html) -* Complete the how-to [Expose a web service](/howto/integration/expose-a-web-service/) +* Complete the how-to [Expose a web service](/howto10/integration/expose-a-web-service/) | Software | Version used in this how-to | | --- | --- | @@ -34,9 +34,9 @@ All images, names, and steps in this how-to are based on Studio Pro 9.24. When u ## Publishing More Microflows as Web Service Operation -In [Expose a Web Service](/howto/integration/expose-a-web-service/), you published the microflow *GetCustomers* as web service operation. In this document, you will create two more microflows and publish them as web service operations. +In [Expose a Web Service](/howto10/integration/expose-a-web-service/), you published the microflow *GetCustomers* as web service operation. In this document, you will create two more microflows and publish them as web service operations. -1. Open the app you created in [How to Expose a Web Service](/howto/integration/expose-a-web-service/). +1. Open the app you created in [How to Expose a Web Service](/howto10/integration/expose-a-web-service/). 2. Create a microflow that creates a customer and returns a Boolean: {{< figure src="/attachments/refguide10/modeling/integration/testing-web-services-using-soapui/model1.jpg" class="no-border" >}} @@ -45,7 +45,7 @@ In [Expose a Web Service](/howto/integration/expose-a-web-service/), you publish {{< figure src="/attachments/refguide10/modeling/integration/testing-web-services-using-soapui/model2.jpg" class="no-border" >}} -4. Publish both microflows as web service operations of the **CustomerWebService** as described in [How to Expose a Web Service](/howto/integration/expose-a-web-service/). +4. Publish both microflows as web service operations of the **CustomerWebService** as described in [How to Expose a Web Service](/howto10/integration/expose-a-web-service/). ## Creating a New SOAP Project @@ -217,13 +217,13 @@ Congratulations! You have created your first automated test with SoapUI. ## Read More -* [Finding the Root Cause of Runtime Errors](/howto/monitoring-troubleshooting/finding-the-root-cause-of-runtime-errors/) -* [Clearing Warning Messages in Mendix](/howto/monitoring-troubleshooting/clear-warning-messages/) -* [Testing web services using SoapUI](/howto/testing/testing-web-services-using-soapui/) -* [Monitoring Mendix using JMX](/howto/monitoring-troubleshooting/monitoring-mendix-using-jmx/) -* [Debugging Java actions remotely](/howto/monitoring-troubleshooting/debug-java-actions-remotely/) -* [Log Levels](/howto/monitoring-troubleshooting/log-levels/) -* [Debugging Java Actions](/howto/monitoring-troubleshooting/debug-java-actions/) +* [Finding the Root Cause of Runtime Errors](/howto10/monitoring-troubleshooting/finding-the-root-cause-of-runtime-errors/) +* [Clearing Warning Messages in Mendix](/howto10/monitoring-troubleshooting/clear-warning-messages/) +* [Testing web services using SoapUI](/howto10/testing/testing-web-services-using-soapui/) +* [Monitoring Mendix using JMX](/howto10/monitoring-troubleshooting/monitoring-mendix-using-jmx/) +* [Debugging Java actions remotely](/howto10/monitoring-troubleshooting/debug-java-actions-remotely/) +* [Log Levels](/howto10/monitoring-troubleshooting/log-levels/) +* [Debugging Java Actions](/howto10/monitoring-troubleshooting/debug-java-actions/) * [Debugging Microflows and Nanoflows](/refguide10/debug-microflows-and-nanoflows/) * [Debugging Microflows Remotely](/refguide10/debug-microflows-remotely/) diff --git a/content/en/docs/refguide10/modeling/menus/edit-menu/preferences-dialog.md b/content/en/docs/refguide10/modeling/menus/edit-menu/preferences-dialog.md index 08154a96649..11e3163bfe8 100644 --- a/content/en/docs/refguide10/modeling/menus/edit-menu/preferences-dialog.md +++ b/content/en/docs/refguide10/modeling/menus/edit-menu/preferences-dialog.md @@ -34,7 +34,7 @@ You can select one of the following options: * **App and UI resources modules** (*Default*) – This option targets developers who would like to create or edit UI resources modules, for example, to build or extend your design system/theme. This option also adds a **Styling** folder to modules that are marked as UI resources, containing the files from the corresponding **themesource** folder. * **App and all modules** – Additionally to the option above, this one adds a **Styling** folder to all modules, regardless of whether they are marked as UI resources or not. -For more information about the styling editor, see the [Using the Styling Editor](/howto/front-end/customize-styling-new/#styling-editor) section in *How to Customize Styling*. +For more information about the styling editor, see the [Using the Styling Editor](/howto10/front-end/customize-styling-new/#styling-editor) section in *How to Customize Styling*. ### Error List diff --git a/content/en/docs/refguide10/modeling/menus/file-menu/solving-load-and-import-errors.md b/content/en/docs/refguide10/modeling/menus/file-menu/solving-load-and-import-errors.md index b39d3dd7ad6..ce77e1af78c 100644 --- a/content/en/docs/refguide10/modeling/menus/file-menu/solving-load-and-import-errors.md +++ b/content/en/docs/refguide10/modeling/menus/file-menu/solving-load-and-import-errors.md @@ -4,9 +4,9 @@ url: /refguide10/solving-load-and-import-errors/ weight: 11 description: "Describes how to solve problems that may occur when opening an app." aliases: - - /howto/solving-load-and-import-errors.html/ - - /howto/solving-load-and-import-errors/ - - /howto/monitoring-troubleshooting/solving-load-and-import-errors/ + - /howto10/solving-load-and-import-errors.html/ + - /howto10/solving-load-and-import-errors/ + - /howto10/monitoring-troubleshooting/solving-load-and-import-errors/ #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. --- @@ -58,11 +58,11 @@ The most likely cause for these kinds of errors is a faulty script that was run ## Read More -* [Clearing Warning Messages in Mendix](/howto/monitoring-troubleshooting/clear-warning-messages/) -* [Debugging Java Actions](/howto/monitoring-troubleshooting/debug-java-actions/) -* [Debugging Java actions remotely](/howto/monitoring-troubleshooting/debug-java-actions-remotely/) +* [Clearing Warning Messages in Mendix](/howto10/monitoring-troubleshooting/clear-warning-messages/) +* [Debugging Java Actions](/howto10/monitoring-troubleshooting/debug-java-actions/) +* [Debugging Java actions remotely](/howto10/monitoring-troubleshooting/debug-java-actions-remotely/) * [Debugging Microflows and Nanoflows](/refguide10/debug-microflows-and-nanoflows/) * [Debugging Microflows Remotely](/refguide10/debug-microflows-remotely/) -* [Finding the Root Cause of Runtime Errors](/howto/monitoring-troubleshooting/finding-the-root-cause-of-runtime-errors/) -* [Log Levels](/howto/monitoring-troubleshooting/log-levels/) -* [Monitoring Mendix using JMX](/howto/monitoring-troubleshooting/monitoring-mendix-using-jmx/) +* [Finding the Root Cause of Runtime Errors](/howto10/monitoring-troubleshooting/finding-the-root-cause-of-runtime-errors/) +* [Log Levels](/howto10/monitoring-troubleshooting/log-levels/) +* [Monitoring Mendix using JMX](/howto10/monitoring-troubleshooting/monitoring-mendix-using-jmx/) diff --git a/content/en/docs/refguide10/modeling/menus/translatable-texts/translatable-validation-messages.md b/content/en/docs/refguide10/modeling/menus/translatable-texts/translatable-validation-messages.md index e7f87c57736..670d6299909 100644 --- a/content/en/docs/refguide10/modeling/menus/translatable-texts/translatable-validation-messages.md +++ b/content/en/docs/refguide10/modeling/menus/translatable-texts/translatable-validation-messages.md @@ -4,7 +4,7 @@ url: /refguide10/translatable-validation-messages/ weight: 140 description: "Describes how to use translatable validation messages." aliases: - - /howto/logic-business-rules/translatable-validation-messages/ + - /howto10/logic-business-rules/translatable-validation-messages/ --- ## Introduction diff --git a/content/en/docs/refguide10/modeling/menus/translatable-texts/translate-your-app-content.md b/content/en/docs/refguide10/modeling/menus/translatable-texts/translate-your-app-content.md index 943ddf954ae..a1c5cc98f3c 100644 --- a/content/en/docs/refguide10/modeling/menus/translatable-texts/translate-your-app-content.md +++ b/content/en/docs/refguide10/modeling/menus/translatable-texts/translate-your-app-content.md @@ -3,7 +3,7 @@ title: "Translating Your App Content" url: /refguide10/translate-your-app-content/ weight: 50 aliases: - - /howto/collaboration-requirements-management/translate-your-app-content/ + - /howto10/collaboration-requirements-management/translate-your-app-content/ --- ## Introduction diff --git a/content/en/docs/refguide10/modeling/menus/view-menu/errors-pane/clear-warning-messages.md b/content/en/docs/refguide10/modeling/menus/view-menu/errors-pane/clear-warning-messages.md index 7e6479e5208..7de88067b82 100644 --- a/content/en/docs/refguide10/modeling/menus/view-menu/errors-pane/clear-warning-messages.md +++ b/content/en/docs/refguide10/modeling/menus/view-menu/errors-pane/clear-warning-messages.md @@ -4,7 +4,7 @@ url: /refguide10/clear-warning-messages/ weight: 1 description: "Describes how to eliminate design-time warnings by viewing and clearing warning messages." aliases: - - /howto/monitoring-troubleshooting/clear-warning-messages/ + - /howto10/monitoring-troubleshooting/clear-warning-messages/ --- ## Introduction @@ -167,13 +167,13 @@ Variable ‘Variable’ is never used. ## Read More -* [Find the Root Cause of Runtime Errors](/howto/monitoring-troubleshooting/finding-the-root-cause-of-runtime-errors/) -* [Test Web Services Using SoapUI](/howto/testing/testing-web-services-using-soapui/) -* [Monitor Mendix Using JMX](/howto/monitoring-troubleshooting/monitoring-mendix-using-jmx/) -* [Debug Java Actions Remotely](/howto/monitoring-troubleshooting/debug-java-actions-remotely/) -* [Configure Log Levels](/howto/monitoring-troubleshooting/log-levels/) +* [Find the Root Cause of Runtime Errors](/howto10/monitoring-troubleshooting/finding-the-root-cause-of-runtime-errors/) +* [Test Web Services Using SoapUI](/howto10/testing/testing-web-services-using-soapui/) +* [Monitor Mendix Using JMX](/howto10/monitoring-troubleshooting/monitoring-mendix-using-jmx/) +* [Debug Java Actions Remotely](/howto10/monitoring-troubleshooting/debug-java-actions-remotely/) +* [Configure Log Levels](/howto10/monitoring-troubleshooting/log-levels/) * [Debugging Microflows and Nanoflows](/refguide10/debug-microflows-and-nanoflows/) -* [Debug Java Actions](/howto/monitoring-troubleshooting/debug-java-actions/) +* [Debug Java Actions](/howto10/monitoring-troubleshooting/debug-java-actions/) * [Debugging Microflows Remotely](/refguide10/debug-microflows-remotely/) Several warnings relate to improper security. For more information on this, see [App Security](/refguide10/app-security/) in the *Studio Pro Guide*. diff --git a/content/en/docs/refguide10/modeling/pages/button-widgets/create-a-custom-save-button.md b/content/en/docs/refguide10/modeling/pages/button-widgets/create-a-custom-save-button.md index 326d9351b55..6b3bfa8902f 100644 --- a/content/en/docs/refguide10/modeling/pages/button-widgets/create-a-custom-save-button.md +++ b/content/en/docs/refguide10/modeling/pages/button-widgets/create-a-custom-save-button.md @@ -4,7 +4,7 @@ linktitle: "Creating a Custom Save Button" url: /refguide10/creating-a-custom-save-button/ description: "Describes how to create a custom save button by utilizing microflows." aliases: - - /howto/logic-business-rules/create-a-custom-save-button/ + - /howto10/logic-business-rules/create-a-custom-save-button/ --- ## Introduction @@ -19,7 +19,7 @@ Before you continue, make sure you have completed the following: {{< figure src="/attachments/refguide10/modeling/pages/button-widgets/create-a-custom-save-button/entity-customer.png" width="200px" class="no-border" >}} -2. Create a **Customer_Detail** page for the **Customer** entity (for more information, see [Create overview and detail pages](/howto/front-end/create-your-first-two-overview-and-detail-pages/)). +2. Create a **Customer_Detail** page for the **Customer** entity (for more information, see [Create overview and detail pages](/howto10/front-end/create-your-first-two-overview-and-detail-pages/)). {{< figure src="/attachments/refguide10/modeling/pages/button-widgets/create-a-custom-save-button/detail-page-customer.png" width="400px" class="no-border" >}} diff --git a/content/en/docs/refguide10/modeling/pages/chart-widgets/charts-any-configuration.md b/content/en/docs/refguide10/modeling/pages/chart-widgets/charts-any-configuration.md index c9fbff78991..35b4662a123 100644 --- a/content/en/docs/refguide10/modeling/pages/chart-widgets/charts-any-configuration.md +++ b/content/en/docs/refguide10/modeling/pages/chart-widgets/charts-any-configuration.md @@ -19,7 +19,7 @@ The Sample data is for demo purposes. It is shown at run time when there is no S ## Location of Any Chart Widget -The Any Chart Widget must be placed in the context of a **data view**. The data view contains an entity object which has a **Source attribute** (unlimited length string) which contains the JSON representation of the data which you want to plot. Unlike the basic chart widgets, the Any Chart widget does not work directly on the data in your domain model. You have to convert the data you want to plot into the JSON format which Any Chart expects. See [How to Use Any Chart](/howto/front-end/charts-any-usage/) for a step-by-step explanation of how to do this. +The Any Chart Widget must be placed in the context of a **data view**. The data view contains an entity object which has a **Source attribute** (unlimited length string) which contains the JSON representation of the data which you want to plot. Unlike the basic chart widgets, the Any Chart widget does not work directly on the data in your domain model. You have to convert the data you want to plot into the JSON format which Any Chart expects. See [How to Use Any Chart](/howto10/front-end/charts-any-usage/) for a step-by-step explanation of how to do this. ## Data @@ -193,7 +193,7 @@ To the theme folder, add a *.json* file named *com.mendix.charts*. The JSON shou } ``` -For guidance on how to set up chart theming see: [How to Use the Charts Theme](/howto/front-end/charts-theme/). +For guidance on how to set up chart theming see: [How to Use the Charts Theme](/howto10/front-end/charts-theme/). {{% alert color="info" %}} diff --git a/content/en/docs/refguide10/modeling/pages/chart-widgets/charts-configuration.md b/content/en/docs/refguide10/modeling/pages/chart-widgets/charts-configuration.md index 1b635113f73..c218f36ccaa 100644 --- a/content/en/docs/refguide10/modeling/pages/chart-widgets/charts-configuration.md +++ b/content/en/docs/refguide10/modeling/pages/chart-widgets/charts-configuration.md @@ -57,7 +57,7 @@ Add series and configure their properties, each series represents a dataset. For * **Static/Dynamic**: Choose whether there is a fixed number of data series (lines, for example), or whether the number of data series is variable and will be decided by the app. * **Entity**: The entity from which the data values will be retrieved * **Data source**: the data source type for the series: *Database*, *Microflow* or *REST endpoint* - * **REST URL**: Relative or full URL to REST endpoint. For more information on setting up a REST endpoint see [REST Charts](/howto/front-end/charts-basic-rest/) + * **REST URL**: Relative or full URL to REST endpoint. For more information on setting up a REST endpoint see [REST Charts](/howto10/front-end/charts-basic-rest/) * **XPath constraint**: The constraint on the data from the entity (used when the data source is Database) * **Microflow**: A microflow that returns a list object with data values @@ -96,7 +96,7 @@ Add series and configure their properties, each series represents a dataset. For * **Series entity**: the entity which defines a series – the list of objects of this entity type will be used to construct the series; one series for each object. - Each entity is associated with the values which will be plotted, see [How to Create a Dynamic Series Chart](/howto/front-end/charts-dynamic-series/) for more information. + Each entity is associated with the values which will be plotted, see [How to Create a Dynamic Series Chart](/howto10/front-end/charts-dynamic-series/) for more information. * **Series name attribute**: the attribute in the series entity which will be displayed as the series name if a legend is displayed * **Color attribute**: the attribute in the series entity which defines the HTML color used when displayed this series – *there may be more than one color attribute if the chart allows different values (for example an area chart has separate line and fill colors) diff --git a/content/en/docs/refguide10/modeling/pages/common-widget-properties.md b/content/en/docs/refguide10/modeling/pages/common-widget-properties.md index ae0d2da55f2..9cedea1c27f 100644 --- a/content/en/docs/refguide10/modeling/pages/common-widget-properties.md +++ b/content/en/docs/refguide10/modeling/pages/common-widget-properties.md @@ -39,7 +39,7 @@ The **Screen reader caption** property can be set on the following widgets: ### Name{#name} -The internal name of the widget. You can use this to give sensible names to widgets. The name property also appears in the generated HTML: the widget DOM element automatically includes the class `mx-name-{NAME}`, which can be useful for [Selenium testing](/howto/integration/selenium-support/). +The internal name of the widget. You can use this to give sensible names to widgets. The name property also appears in the generated HTML: the widget DOM element automatically includes the class `mx-name-{NAME}`, which can be useful for [Selenium testing](/howto10/integration/selenium-support/). ### Tab Index{#tab-index} diff --git a/content/en/docs/refguide10/modeling/pages/data-widgets/configure-list-and-details-on-one-page.md b/content/en/docs/refguide10/modeling/pages/data-widgets/configure-list-and-details-on-one-page.md index 5ff013a6bae..5b1450ab525 100644 --- a/content/en/docs/refguide10/modeling/pages/data-widgets/configure-list-and-details-on-one-page.md +++ b/content/en/docs/refguide10/modeling/pages/data-widgets/configure-list-and-details-on-one-page.md @@ -102,5 +102,5 @@ You can now preview your app and test your page. ## Read More * [Page](/refguide10/page/) -* [Create Your First Two Overview and Detail Pages](/howto/front-end/create-your-first-two-overview-and-detail-pages/) +* [Create Your First Two Overview and Detail Pages](/howto10/front-end/create-your-first-two-overview-and-detail-pages/) * [Configuring a Domain Model](/refguide10/configuring-a-domain-model/) diff --git a/content/en/docs/refguide10/modeling/pages/image-and-file-widgets/file-manager.md b/content/en/docs/refguide10/modeling/pages/image-and-file-widgets/file-manager.md index e5f6da8d7b5..7774f11c4de 100644 --- a/content/en/docs/refguide10/modeling/pages/image-and-file-widgets/file-manager.md +++ b/content/en/docs/refguide10/modeling/pages/image-and-file-widgets/file-manager.md @@ -86,7 +86,7 @@ You can specify file extensions that users are allowed to upload. If no extensio If a file with an extension that is not allowed is selected, a [system text](/refguide10/system-texts/) for **File manager/dynamic image** > **Error: incorrect file extension** will be shown below the file manager. {{% alert color="warning" %}} -The feature to allow extensions is not meant as a security feature, as the file manager widget does not check the contents of a file to see if they match the provided extension. For more information, see the [Scanning Uploaded Files for Malicious Content](/howto/security/best-practices-security/#scanning-for-malicious-content) section of *How to Implement Best Practices for App Security*. +The feature to allow extensions is not meant as a security feature, as the file manager widget does not check the contents of a file to see if they match the provided extension. For more information, see the [Scanning Uploaded Files for Malicious Content](/howto10/security/best-practices-security/#scanning-for-malicious-content) section of *How to Implement Best Practices for App Security*. {{% /alert %}} #### Show File in Browser diff --git a/content/en/docs/refguide10/modeling/resources/document-templates/data-grid-document-template/_index.md b/content/en/docs/refguide10/modeling/resources/document-templates/data-grid-document-template/_index.md index b12ec5109b9..b7aed811245 100644 --- a/content/en/docs/refguide10/modeling/resources/document-templates/data-grid-document-template/_index.md +++ b/content/en/docs/refguide10/modeling/resources/document-templates/data-grid-document-template/_index.md @@ -57,7 +57,7 @@ See [Style](/refguide10/style/) ### Name -The internal name of the widget. You can use this to give sensible names to widgets. The name property also appears in the generated HTML: the widget DOM element automatically includes the class '`mx-name-{NAME}`', which can be useful for [Selenium testing](/howto/integration/selenium-support/). +The internal name of the widget. You can use this to give sensible names to widgets. The name property also appears in the generated HTML: the widget DOM element automatically includes the class '`mx-name-{NAME}`', which can be useful for [Selenium testing](/howto10/integration/selenium-support/). ## Data Source Properties diff --git a/content/en/docs/refguide10/modeling/resources/javascript-actions.md b/content/en/docs/refguide10/modeling/resources/javascript-actions.md index 9c8f40a0a19..d9e9a67e0e6 100644 --- a/content/en/docs/refguide10/modeling/resources/javascript-actions.md +++ b/content/en/docs/refguide10/modeling/resources/javascript-actions.md @@ -22,7 +22,7 @@ The skeletons of these *.js* files are generated automatically when you save an {{% /alert %}} -To learn how to create, configure, and use a JavaScript action, see these [Build JavaScript Actions](/howto/extensibility/build-javascript-actions/) how-tos. +To learn how to create, configure, and use a JavaScript action, see these [Build JavaScript Actions](/howto10/extensibility/build-javascript-actions/) how-tos. ## General Settings @@ -203,6 +203,6 @@ export async function Hello(message) { * [JavaScript Action Call](/refguide10/javascript-action-call/) * [Nanoflows](/refguide10/nanoflows/) -* [Build JavaScript Actions](/howto/extensibility/build-javascript-actions/) +* [Build JavaScript Actions](/howto10/extensibility/build-javascript-actions/) * [Java Action Call](/refguide10/java-action-call/) * [Microflow Call](/refguide10/microflow-call/) diff --git a/content/en/docs/refguide10/modeling/security/_index.md b/content/en/docs/refguide10/modeling/security/_index.md index 5f75a104d0f..1dea1c77c02 100644 --- a/content/en/docs/refguide10/modeling/security/_index.md +++ b/content/en/docs/refguide10/modeling/security/_index.md @@ -15,7 +15,7 @@ Secondly, you will want to control who can access your app once it is running. Y There are different ways in which you can set up app authentication, including local authentication and using a federated IdP to provide single sign-on (SSO). For more information, see the [App Authentication](#authentication) section below. {{% alert color="info" %}} -Security in Mendix apps does not include scanning files that end-users upload or download from your application for viruses and malware. For more information, see the [Scanning Uploaded Files for Malicious Content](/howto/security/best-practices-security/#scanning-for-malicious-content) section in *How to Implement Best Practices for App Security*. +Security in Mendix apps does not include scanning files that end-users upload or download from your application for viruses and malware. For more information, see the [Scanning Uploaded Files for Malicious Content](/howto10/security/best-practices-security/#scanning-for-malicious-content) section in *How to Implement Best Practices for App Security*. {{% /alert %}} ## App Security Set Up in Studio Pro {#security-in-studio-pro} diff --git a/content/en/docs/refguide10/modeling/xpath/define-access-rules-using-xpath.md b/content/en/docs/refguide10/modeling/xpath/define-access-rules-using-xpath.md index c1e7094926c..d14b46a9026 100644 --- a/content/en/docs/refguide10/modeling/xpath/define-access-rules-using-xpath.md +++ b/content/en/docs/refguide10/modeling/xpath/define-access-rules-using-xpath.md @@ -5,7 +5,7 @@ url: /refguide10/define-access-rules-using-xpath/ weight: 4 description: "Describes how to define access rules for an entity using an XPath constraint." aliases: - - /howto/logic-business-rules/define-access-rules-using-xpath/ + - /howto10/logic-business-rules/define-access-rules-using-xpath/ --- {{% alert color="info" %}} @@ -33,17 +33,17 @@ To prepare the data structure, GUI, and example data, follow these steps: {{< figure src="/attachments/refguide10/modeling/xpath/define-access-rules-using-xpath/18581378.png" class="no-border" >}} For more information on creating a domain model, see [Configuring a Domain Model](/refguide10/configuring-a-domain-model/). -2. Create overview and detail pages to manage the **Customer** and **Order** objects (for more information on creating these pages, see [How to Create Your First Two Overview and Detail Pages](/howto/front-end/create-your-first-two-overview-and-detail-pages/)). +2. Create overview and detail pages to manage the **Customer** and **Order** objects (for more information on creating these pages, see [How to Create Your First Two Overview and Detail Pages](/howto10/front-end/create-your-first-two-overview-and-detail-pages/)). 3. Create menu items to access the **Order** and **Customer** overview pages (for more information on creating menu items, see [Setting Up Navigation](/refguide10/setting-up-the-navigation-structure/)). -4. Set the **Security level** of you application to **Production** (for more information, see [How to Create a Secure App](/howto/security/create-a-secure-app/)). +4. Set the **Security level** of you application to **Production** (for more information, see [How to Create a Secure App](/howto10/security/create-a-secure-app/)). {{< figure src="/attachments/refguide10/modeling/xpath/define-access-rules-using-xpath/18581008.png" class="no-border" >}} -5. Enter *FinancialAdministrator* for the **Name** of the new user role on the **User roles** tab (for more information on adding roles, see [How to Create a Secure App](/howto/security/create-a-secure-app/): +5. Enter *FinancialAdministrator* for the **Name** of the new user role on the **User roles** tab (for more information on adding roles, see [How to Create a Secure App](/howto10/security/create-a-secure-app/): {{< figure src="/attachments/refguide10/modeling/xpath/define-access-rules-using-xpath/18581005.png" class="no-border" >}} -6. Give both module roles access to all your created pages, and create separate read and write access rights to all your created entities (for more information on how to set the entity access, see [How to Create a Secure App](/howto/security/create-a-secure-app/)): +6. Give both module roles access to all your created pages, and create separate read and write access rights to all your created entities (for more information on how to set the entity access, see [How to Create a Secure App](/howto10/security/create-a-secure-app/)): {{< figure src="/attachments/refguide10/modeling/xpath/define-access-rules-using-xpath/18580997.png" class="no-border" >}} diff --git a/content/en/docs/refguide10/modeling/xpath/filtering-data-on-an-overview-page.md b/content/en/docs/refguide10/modeling/xpath/filtering-data-on-an-overview-page.md index baa39eee998..b6c7049cfe8 100644 --- a/content/en/docs/refguide10/modeling/xpath/filtering-data-on-an-overview-page.md +++ b/content/en/docs/refguide10/modeling/xpath/filtering-data-on-an-overview-page.md @@ -5,7 +5,7 @@ url: /refguide10/filtering-data-on-an-overview-page/ weight: 5 description: "Describes how to filter data using different XPath constraints." aliases: - - /howto/logic-business-rules/filtering-data-on-an-overview-page/ + - /howto10/logic-business-rules/filtering-data-on-an-overview-page/ --- {{% alert color="info" %}} @@ -36,7 +36,7 @@ For this how-to, it is necessary that you set up a test app with test data. To d {{< figure src="/attachments/refguide10/modeling/xpath/define-access-rules-using-xpath/18581378.png" class="no-border" >}} -2. [Create overview and detail pages](/howto/front-end/create-your-first-two-overview-and-detail-pages/) to manage the **Customer** and the **Order** entities and their objects. +2. [Create overview and detail pages](/howto10/front-end/create-your-first-two-overview-and-detail-pages/) to manage the **Customer** and the **Order** entities and their objects. 3. [Create menu items](/refguide10/setting-up-the-navigation-structure/#menu-items) to access the **Customer** and the **Order** overview pages. 4. Add the following customer data to your app: diff --git a/content/en/docs/refguide10/runtime/finding-the-root-cause-of-runtime-errors.md b/content/en/docs/refguide10/runtime/finding-the-root-cause-of-runtime-errors.md index 2b33e6f537b..b8ba5a7ee32 100644 --- a/content/en/docs/refguide10/runtime/finding-the-root-cause-of-runtime-errors.md +++ b/content/en/docs/refguide10/runtime/finding-the-root-cause-of-runtime-errors.md @@ -3,7 +3,7 @@ title: "Find the Root Cause of Runtime Errors" url: /refguide10/find-the-root-cause-of-runtime-errors/ description: "Describes how to find the root cause of runtime errors via Studio Pro and via the application logs." aliases: - - /howto/monitoring-troubleshooting/finding-the-root-cause-of-runtime-errors/ + - /howto10/monitoring-troubleshooting/finding-the-root-cause-of-runtime-errors/ --- ## Introduction @@ -52,12 +52,12 @@ With these three pieces of information, you should be able to find the cause of ## Read More -* [Clear Warning Messages](/howto/monitoring-troubleshooting/clear-warning-messages/) -* [Test Web Services Using SoapUI](/howto/testing/testing-web-services-using-soapui/) -* [Monitor Mendix Using JMX](/howto/monitoring-troubleshooting/monitoring-mendix-using-jmx/) -* [Debug Java Actions Remotely](/howto/monitoring-troubleshooting/debug-java-actions-remotely/) -* [Log Levels](/howto/monitoring-troubleshooting/log-levels/) +* [Clear Warning Messages](/howto10/monitoring-troubleshooting/clear-warning-messages/) +* [Test Web Services Using SoapUI](/howto10/testing/testing-web-services-using-soapui/) +* [Monitor Mendix Using JMX](/howto10/monitoring-troubleshooting/monitoring-mendix-using-jmx/) +* [Debug Java Actions Remotely](/howto10/monitoring-troubleshooting/debug-java-actions-remotely/) +* [Log Levels](/howto10/monitoring-troubleshooting/log-levels/) * [Debugging Microflows and Nanoflows](/refguide10/debug-microflows-and-nanoflows/) * [Debugging Microflows Remotely](/refguide10/debug-microflows-remotely/) -* [Debug Java Actions](/howto/monitoring-troubleshooting/debug-java-actions/) +* [Debug Java Actions](/howto10/monitoring-troubleshooting/debug-java-actions/) * [The Root Cause of Runtime Errors and Resolving the 2 Most Common Issues](https://www.mendix.com/blog/the-root-cause-of-runtime-errors-and-resolving-the-2-most-common-issues/) diff --git a/content/en/docs/refguide10/runtime/log-levels.md b/content/en/docs/refguide10/runtime/log-levels.md index 46d98dd78c4..6e2396b3d24 100644 --- a/content/en/docs/refguide10/runtime/log-levels.md +++ b/content/en/docs/refguide10/runtime/log-levels.md @@ -3,7 +3,7 @@ title: "Set Log Levels" url: /refguide10/log-levels/ description: "Describes how to configure the log levels for the various occurrence of logging within your app." aliases: - - /howto/monitoring-troubleshooting/log-levels/ + - /howto10/monitoring-troubleshooting/log-levels/ --- ## Introduction @@ -118,8 +118,8 @@ To set the level of custom log messages that you have created via a microflow, f ## Read More -* [Find the Root Cause of Runtime Errors](/howto/monitoring-troubleshooting/finding-the-root-cause-of-runtime-errors/) -* [Clear Warning Messages in Mendix](/howto/monitoring-troubleshooting/clear-warning-messages/) -* [Monitor Mendix Using JMX](/howto/monitoring-troubleshooting/monitoring-mendix-using-jmx/) +* [Find the Root Cause of Runtime Errors](/howto10/monitoring-troubleshooting/finding-the-root-cause-of-runtime-errors/) +* [Clear Warning Messages in Mendix](/howto10/monitoring-troubleshooting/clear-warning-messages/) +* [Monitor Mendix Using JMX](/howto10/monitoring-troubleshooting/monitoring-mendix-using-jmx/) * [Debugging Microflows and Nanoflows](/refguide10/debug-microflows-and-nanoflows/) -* [Debug Java Actions](/howto/monitoring-troubleshooting/debug-java-actions/) +* [Debug Java Actions](/howto10/monitoring-troubleshooting/debug-java-actions/) diff --git a/content/en/docs/refguide10/runtime/logging/log-levels.md b/content/en/docs/refguide10/runtime/logging/log-levels.md index 89da4d9ca91..74a46a1d231 100644 --- a/content/en/docs/refguide10/runtime/logging/log-levels.md +++ b/content/en/docs/refguide10/runtime/logging/log-levels.md @@ -3,7 +3,7 @@ title: "Set Log Levels" url: /refguide10/log-levels/ description: "Describes how to configure the log levels for the various occurrence of logging within your app." aliases: - - /howto/monitoring-troubleshooting/log-levels/ + - /howto10/monitoring-troubleshooting/log-levels/ --- ## Introduction @@ -118,8 +118,8 @@ To set the level of custom log messages that you have created via a microflow, f ## Read More -* [Find the Root Cause of Runtime Errors](/howto/monitoring-troubleshooting/finding-the-root-cause-of-runtime-errors/) -* [Clear Warning Messages in Mendix](/howto/monitoring-troubleshooting/clear-warning-messages/) -* [Monitor Mendix Using JMX](/howto/monitoring-troubleshooting/monitoring-mendix-using-jmx/) +* [Find the Root Cause of Runtime Errors](/howto10/monitoring-troubleshooting/finding-the-root-cause-of-runtime-errors/) +* [Clear Warning Messages in Mendix](/howto10/monitoring-troubleshooting/clear-warning-messages/) +* [Monitor Mendix Using JMX](/howto10/monitoring-troubleshooting/monitoring-mendix-using-jmx/) * [Debugging Microflows and Nanoflows](/refguide10/debug-microflows-and-nanoflows/) -* [Debug Java Actions](/howto/monitoring-troubleshooting/debug-java-actions/) +* [Debug Java Actions](/howto10/monitoring-troubleshooting/debug-java-actions/) diff --git a/content/en/docs/refguide10/runtime/mendix-client/react.md b/content/en/docs/refguide10/runtime/mendix-client/react.md index 410a81abfd1..e5aeeca5502 100644 --- a/content/en/docs/refguide10/runtime/mendix-client/react.md +++ b/content/en/docs/refguide10/runtime/mendix-client/react.md @@ -141,7 +141,7 @@ To replace a template grid widget, follow these steps: Dojo widgets are no longer supported in the React client. They should be replaced with a pluggable widget based on React. -Converting a Dojo widget to a React widget requires JavaScript programming. Follow [Build a Pluggable Web Widget: Part 1](/howto/extensibility/create-a-pluggable-widget-one/). +Converting a Dojo widget to a React widget requires JavaScript programming. Follow [Build a Pluggable Web Widget: Part 1](/howto10/extensibility/create-a-pluggable-widget-one/). Pluggable widgets must be built with `pluggable-widget-tools` version 9.4.1 or higher. Follow these steps to update `pluggable-widget-tools` and rebuild your widget: diff --git a/content/en/docs/refguide10/version-control/on-premises-git.md b/content/en/docs/refguide10/version-control/on-premises-git.md index 21cd71e97f0..f07f5791a1e 100644 --- a/content/en/docs/refguide10/version-control/on-premises-git.md +++ b/content/en/docs/refguide10/version-control/on-premises-git.md @@ -5,7 +5,7 @@ url: /refguide10/on-premises-git/ weight: 60 description: "Introduces how to work with Git on-premises version control server." aliases: - - /howto/collaboration-requirements-management/on-premises-git-howto/ + - /howto10/collaboration-requirements-management/on-premises-git-howto/ --- ## Introduction {#intro} diff --git a/content/en/docs/refguide10/version-control/version-control-troubleshooting/_index.md b/content/en/docs/refguide10/version-control/version-control-troubleshooting/_index.md index 8856fb439ea..a4bd0d9cee0 100644 --- a/content/en/docs/refguide10/version-control/version-control-troubleshooting/_index.md +++ b/content/en/docs/refguide10/version-control/version-control-troubleshooting/_index.md @@ -5,7 +5,7 @@ linktitle: "Troubleshoot Version Control" weight: 20 description: "Presents a list of problems and fixes for version control issues." aliases: - - /howto/collaboration-requirements-management/troubleshoot-version-control-issues/ + - /howto10/collaboration-requirements-management/troubleshoot-version-control-issues/ #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. #The anchor #cannot-create-package below is mapped from Studio Pro, so it should not be removed or changed. --- From bc5645e63fd6e6144c733f0803e0fa18c2e7b5b2 Mon Sep 17 00:00:00 2001 From: Yiyun Liao Date: Fri, 11 Apr 2025 11:10:06 +0200 Subject: [PATCH 4/5] Change all doc links to /refguide/ and /howto/ in the SP10 release notes to point to /refguide10/ and /howto10/ --- .../docs/releasenotes/studio-pro/10/10.0.md | 62 +++++----- .../docs/releasenotes/studio-pro/10/10.1.md | 20 ++-- .../docs/releasenotes/studio-pro/10/10.10.md | 16 +-- .../docs/releasenotes/studio-pro/10/10.11.md | 6 +- .../docs/releasenotes/studio-pro/10/10.12.md | 66 +++++------ .../docs/releasenotes/studio-pro/10/10.13.md | 20 ++-- .../docs/releasenotes/studio-pro/10/10.14.md | 20 ++-- .../docs/releasenotes/studio-pro/10/10.15.md | 14 +-- .../docs/releasenotes/studio-pro/10/10.16.md | 12 +- .../docs/releasenotes/studio-pro/10/10.17.md | 26 ++--- .../docs/releasenotes/studio-pro/10/10.18.md | 28 ++--- .../docs/releasenotes/studio-pro/10/10.19.md | 22 ++-- .../docs/releasenotes/studio-pro/10/10.2.md | 20 ++-- .../docs/releasenotes/studio-pro/10/10.20.md | 10 +- .../docs/releasenotes/studio-pro/10/10.21.md | 30 ++--- .../docs/releasenotes/studio-pro/10/10.3.md | 44 ++++---- .../docs/releasenotes/studio-pro/10/10.4.md | 26 ++--- .../docs/releasenotes/studio-pro/10/10.5.md | 38 +++---- .../docs/releasenotes/studio-pro/10/10.6.md | 106 +++++++++--------- .../docs/releasenotes/studio-pro/10/10.7.md | 28 ++--- .../docs/releasenotes/studio-pro/10/10.8.md | 12 +- .../docs/releasenotes/studio-pro/10/10.9.md | 12 +- 22 files changed, 319 insertions(+), 319 deletions(-) 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 e0903a8916d..47ef1a0a7fc 100644 --- a/content/en/docs/releasenotes/studio-pro/10/10.0.md +++ b/content/en/docs/releasenotes/studio-pro/10/10.0.md @@ -7,7 +7,7 @@ weight: 100 --- {{% alert color="info" %}} -For details on upgrading to Studio Pro 10, see [Upgrading from Mendix Studio Pro 9 to 10](/refguide/upgrading-from-9-to-10/). +For details on upgrading to Studio Pro 10, see [Upgrading from Mendix Studio Pro 9 to 10](/refguide10/upgrading-from-9-to-10/). {{% /alert %}} ## 10.0.0 General Availability {#1000} @@ -20,15 +20,15 @@ For details on upgrading to Studio Pro 10, see [Upgrading from Mendix Studio Pro ### 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. +* Mendix Solutions Kit is now released for general availability (GA). This release provides capabilities for protected add-on and solution [modules](/refguide10/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](/refguide10/machine-learning-kit/) is now released for GA. * A [Mendix Event Broker license](/appstore/services/event-broker/) 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 (or segments) 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 you can use to check if an expression is true for all or any of the items in a list, respectively. In addition, we added 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 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. +* [Page URLs](/refguide10/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 (or segments) at any location in the URL. +* We added new options to the [Aggregate list](/refguide10/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 added 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](/refguide10/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](/refguide10/wait-for-notification/) workflow activity to suspend a workflow's execution, and you can use the [Notify workflow](/refguide10/notify-workflow/) microflow activity to send a notification to resume the workflow that has been suspended. +* We added support for workflow [multi-user tasks](/refguide10/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 @@ -45,33 +45,33 @@ For details on upgrading to Studio Pro 10, see [Upgrading from Mendix Studio Pro * 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 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](/refguide10/using-mendix-studio-pro-on-a-mac/#configuring) section of *Configuring Parallels*. +* We added a column to the [Open App](/refguide10/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**. +* We updated the [Revert All Changes](/refguide10/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](/refguide10/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. -* 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**. +* We made **Design mode** the [default editor](/refguide10/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 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 renamed the **Data Hub** pane to the [Integration](/refguide10/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](/refguide10/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 now set the variable name of an [Aggregate list](/refguide10/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. +* We enhanced the [Lock workflow](/refguide10/lock-workflow/) and [Unlock workflow](/refguide10/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 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](/refguide10/microflows/#convert-to-nanoflow) section of *Microflows* and the [Converting a Nanoflow to a Microflow](/refguide10/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/services/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 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 extended the MxAssist Best Practice Bot recommendation [MXP003](/refguide10/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](/refguide10/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](/refguide10/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 MxAssist 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. @@ -82,7 +82,7 @@ For details on upgrading to Studio Pro 10, see [Upgrading from Mendix Studio Pro * 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. * 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 added an option to the `mx check` command in the [mx command-line tool](/refguide10/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. @@ -124,7 +124,7 @@ For details on upgrading to Studio Pro 10, see [Upgrading from Mendix Studio Pro #### 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. +* 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](/refguide10/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. @@ -135,11 +135,11 @@ For details on upgrading to Studio Pro 10, see [Upgrading from Mendix Studio Pro * 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. See [XPath Query Engine Updates](/refguide/upgrading-from-9-to-10/#query-engine) in *Upgrading from Mendix Studio Pro 9 to 10* for more information. +* In OQL, using a path with an association in the `ON` clause of an `OUTER JOIN` is no longer allowed. See [XPath Query Engine Updates](/refguide10/upgrading-from-9-to-10/#query-engine) in *Upgrading from Mendix Studio Pro 9 to 10* for more information. * 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](/refguide/http-request-and-response-entities/#reason-phrase). This has the following effects: +* Mendix no longer supports [responding with custom reason phrases](/refguide10/http-request-and-response-entities/#reason-phrase). 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. @@ -175,8 +175,8 @@ For details on upgrading to Studio Pro 10, see [Upgrading from Mendix Studio Pro * Fixed in [10.1.0](/releasenotes/studio-pro/10.1/#pane-ki-fix). * When merging a branch into a second branch which already contained all the commits from the first branch, additional commits are automatically created unnecessarily. * Fixed in [10.4.0](/releasenotes/studio-pro/10.4/#ac-ki-fix). -* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide/version-control-menu/#show-changes) dialog box. - * Workaround: For details, see [this section](/refguide/troubleshoot-version-control-issues/#css-error) in *Troubleshooting Version Control*. +* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide10/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide10/version-control-menu/#show-changes) dialog box. + * Workaround: For details, see [this section](/refguide10/troubleshoot-version-control-issues/#css-error) in *Troubleshooting Version Control*. ## 10.0.0 Betas @@ -194,13 +194,13 @@ The beta program for Studio Pro 10 has ended, which means that the Studio Pro 10 * 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) -* 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 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](/refguide10/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 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) -* The results of [Find Usages](/refguide/find-and-find-advanced/#find-usages) now include enumeration values used for conditional visibility. (Ticket 180727) +* The results of [Find Usages](/refguide10/find-and-find-advanced/#find-usages) now include enumeration values used for conditional visibility. (Ticket 180727) * We fixed an issue where the `originURI` cookie could not be read when using the default `index.html`. (Ticket 181106). * We fixed an issue where an inherited association could not be published in a published OData service that used links as object IDs. (Ticket 181474) * We fixed an issue in XPath constraint suggestions that gave incorrect suggestions when there were whitespace characters after comparison operators (`=`,`<`,`>`,`<=`,`=>`,`!=`). (Tickets 181673, 181908) @@ -224,7 +224,7 @@ The beta program for Studio Pro 10 has ended, which means that the Studio Pro 10 * 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 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 [Create object](/refguide10/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. @@ -243,7 +243,7 @@ The beta program for Studio Pro 10 has ended, which means that the Studio Pro 10 * 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 warning pop-up window for the [inline snippet](/refguide10/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 checkbox controls. * We fixed an issue with text controls where the text was sometimes undesirably reverted. diff --git a/content/en/docs/releasenotes/studio-pro/10/10.1.md b/content/en/docs/releasenotes/studio-pro/10/10.1.md index 2e7f4059a09..e4be2c2a0b4 100644 --- a/content/en/docs/releasenotes/studio-pro/10/10.1.md +++ b/content/en/docs/releasenotes/studio-pro/10/10.1.md @@ -20,7 +20,7 @@ weight: 99 * When merging a branch into a second branch which already contained all the commits from the first branch, additional commits are automatically created unnecessarily. * Fixed in [10.4.0](/releasenotes/studio-pro/10.4/#ac-ki-fix). -* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide/version-control-menu/#show-changes) dialog box. +* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide10/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide10/version-control-menu/#show-changes) dialog box. * Fixed in [10.18.0](/releasenotes/studio-pro/10.18/#fix-line-endings). ## 10.1.0 {#1010} @@ -34,17 +34,17 @@ weight: 99 ### Improvements * We made it possible to set **Localize** to **No** for date and time attributes of external entities. (Ticket 188260) -* We added support for the following [language](/refguide/language-settings/): Basque (Euskara). +* We added support for the following [language](/refguide10/language-settings/): Basque (Euskara). * We added the ability to search in tree controls for results that contain recursiveness in their data (for example, in the **Selector** dialog box that allows you to select an entity or attribute over associations). * We added read-only description fields in the **Add** and **Edit** dialog boxes for [business event subscriptions](/appstore/services/business-events/). * We improved the configuration of parameter mappings for actions and snippet calls. This prevents them from changing automatically when you add a page parameter or snippet parameter to the surrounding form, or when you change a data grid's selection mode. * The target document of an action or snippet call no longer requires the parameter mappings to be closed and reopened to be refreshed if they have become invalid. * We added an ability to preview images in the **Properties** pane for entity and building block images. -* We now publish the [OpenAPI 3.0 specification](/refguide/open-api/) for published REST services alongside the existing OAS or Swagger 2.0 specification. +* We now publish the [OpenAPI 3.0 specification](/refguide10/open-api/) for published REST services alongside the existing OAS or Swagger 2.0 specification. * The Swagger UI of published REST services now shows a **Choose File** button when you are using a REST operation that takes a FileDocument (or derived entity) as a parameter. * We made the workflows behavior for user tasks more consistent. If the number of targeted users is fewer than the required number of users, then the user task will always fail. * We updated the spacing between the toolbar control elements. -* We updated the [mx check](/refguide/mx-command-line-tool/app/#check) command of the mx tool so that it refers to the rebranded **MxAssist Best Practice Bot** (formerly MxAssist Performance Bot). +* We updated the [mx check](/refguide10/mx-command-line-tool/app/#check) command of the mx tool so that it refers to the rebranded **MxAssist Best Practice Bot** (formerly MxAssist Performance Bot). * We enabled more translations of error messages generated by the Mendix Runtime. Previously, there was a fixed message displayed when object creation failed due to security reasons. Now, you can provide a translation of that error message. ### Fixes @@ -55,26 +55,26 @@ weight: 99 * We fixed an issue in offline-first profiles where a failed synchronization due to committing some invalid changes did not provide sufficient information about the error in the logs or stack trace. (Tickets 183328, 186301) * We fixed an issue where no consistency error was shown on an invalid expression in a microflow when using an association that could not be traversed. (Ticket 185701) * We fixed the behavior of the [Pluggable Widget Filtering API](/apidocs-mxsdk/apidocs/pluggable-widgets-client-apis-list-values/#listvalue-filtering) for attributes over association. Now, a filter such as `equals(attributeId, empty())` will also match if any of the associations leading up to the attribute are empty. (Ticket 186042) -* We fixed an issue where [Validation Assist](/refguide/validation-assist/) generated an incorrect validation microflow. (Ticket 186222) +* We fixed an issue where [Validation Assist](/refguide10/validation-assist/) generated an incorrect validation microflow. (Ticket 186222) * We fixed an issue that allowed for adding custom icons to native pages, as native pages do not support custom icons. (Ticket 186783) * We fixed an error that occurred when calling `Core.http().executeHttpRequests()` from a Java action when the **Services** log level was set to **TRACE**. (Tickets 187228, 187764) * We fixed an issue in offline applications where an association was lost if an uncommitted non-persistable entity (NPE) was used in a microflow. (Ticket 187904) * We fixed an issue that occurred when retrieving an NPE over an association where the entity had a generalization with a calculated attribute. (Ticket 188255) * We fixed an issue where the fallback to the default language when viewing non-default languages was not used for a [text template property](/apidocs-mxsdk/apidocs/pluggable-widgets-property-types/#texttemplate) when it was linked to a data source. This resulted in empty text in the client (for example, for the dynamic text property of a data grid 2 column). (Ticket 188724, 188403) -* We fixed an issue where Studio Pro crashed if you accidentally dropped a [container widget](/refguide/container/) onto itself. (Ticket 189191) +* We fixed an issue where Studio Pro crashed if you accidentally dropped a [container widget](/refguide10/container/) onto itself. (Ticket 189191) * We fixed an issue that caused an error when deploying an app if a snippet contained a checkbox with an on-change action that used a snippet parameter. (Ticket 191010) * We fixed an issue that caused a rejection of encoded URLs in a request body of POST/PATCH requests for published OData services (Ticket 207617). * We fixed an issue where the Mendix Runtime for published REST services threw an error when an operation microflow set a non-standard HTTP status code for the HTTP response. -* We fixed an issue with the request body URL encoding for [POST and PATCH requests](/refguide/published-rest-operation/) for external objects. These URLs will now be encoded in the outgoing request's body. +* We fixed an issue with the request body URL encoding for [POST and PATCH requests](/refguide10/published-rest-operation/) for external objects. These URLs will now be encoded in the outgoing request's body. * We fixed accessibility issues affecting data grid filters and the search bar in the list view widget. -* We fixed an issue related to input label accessibility in [authentication widgets](/refguide/authentication-widgets/). +* We fixed an issue related to input label accessibility in [authentication widgets](/refguide10/authentication-widgets/). * We fixed an issue where the change event handler of a completed user task was not called when an incompatible workflow was continued. * We fixed an error that caused an exception in workflow change event handling when the context object did not exist. * We fixed an issue where an **Oops** pop-up window was produced via the **Select Schema Elements** dialog box inside **Import Mapping** when an XML schema with more than two levels of children was selected. * We fixed an issue in MxAssist Best Practice Bot where apps reported 0 recommendations for an MXP008 cached non-persistable entity. * We fixed the error message that is returned from a published OData service when trying to perform arithmetic operations in a filter query clause. It now explicitly names the OData operands it does not support. * We restored the ability to type from editors to the default property in the **Properties** pane. -* We fixed an issue affecting [text boxes](/refguide/text-box/) where the Enter key-press event was called from pop-up windows, which caused unexpected behavior. +* We fixed an issue affecting [text boxes](/refguide10/text-box/) where the Enter key-press event was called from pop-up windows, which caused unexpected behavior. * We fixed an issue where a tabbed editor (for example, a navigation editor) that contained a tree or grid control had its width changed when UI updates (for example, toggling a checkbox) were performed after the appearance of a scrollbar in that same tree or grid control. * We fixed an issue affecting the background colors of combo box and toggle control UI elements. * We fixed an issue where some data grid control cells containing hyperlinks had incorrect visual styling. @@ -85,5 +85,5 @@ weight: 99 * When merging a branch into a second branch which already contained all the commits from the first branch, additional commits are automatically created unnecessarily. * Fixed in [10.4.0](/releasenotes/studio-pro/10.4/#ac-ki-fix). -* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide/version-control-menu/#show-changes) dialog box. +* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide10/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide10/version-control-menu/#show-changes) dialog box. * Fixed in [10.18.0](/releasenotes/studio-pro/10.18/#fix-line-endings). diff --git a/content/en/docs/releasenotes/studio-pro/10/10.10.md b/content/en/docs/releasenotes/studio-pro/10/10.10.md index bb4e3081cc0..c71a5e1faa5 100644 --- a/content/en/docs/releasenotes/studio-pro/10/10.10.md +++ b/content/en/docs/releasenotes/studio-pro/10/10.10.md @@ -17,18 +17,18 @@ weight: 90 ### New Features -* We now allow changing the app's foreign key constraint setting in Runtime Settings. For more information, see the [Foreign Key Constraints](/refguide/data-storage/#fkc) section of *Data Storage*. +* We now allow changing the app's foreign key constraint setting in Runtime Settings. For more information, see the [Foreign Key Constraints](/refguide10/data-storage/#fkc) section of *Data Storage*. * We now allow configuring credentials for Azure blob storage, using credentials present in the running environment, without hard coding access key or shared access signature in Runtime Settings. This is enabled by setting the `com.mendix.storage.azure.UseDefaultAzureCredential` runtime setting to `true`. -* We now allow configuring credentials for Azure database, using credentials present in the running environment, without hard coding database username and password in Runtime Settings. For more information, see the [Microsoft Azure SQL](/refguide/custom-settings/#azure-sql) section in *Runtime Customization*. -* We introduced a new setting in **Preferences** to enable and disable bundle optimizations. This option specifically impacts the React client. By default, this setting is enabled, which optimizes the size of the generated app bundle. Disabling it will generate source maps that can be used for debugging your code during development. For more information, see the [Optimize Bundle](/refguide/preferences-dialog/#bundle) section in *Preferences*. +* We now allow configuring credentials for Azure database, using credentials present in the running environment, without hard coding database username and password in Runtime Settings. For more information, see the [Microsoft Azure SQL](/refguide10/custom-settings/#azure-sql) section in *Runtime Customization*. +* We introduced a new setting in **Preferences** to enable and disable bundle optimizations. This option specifically impacts the React client. By default, this setting is enabled, which optimizes the size of the generated app bundle. Disabling it will generate source maps that can be used for debugging your code during development. For more information, see the [Optimize Bundle](/refguide10/preferences-dialog/#bundle) section in *Preferences*. * We added the search functionality in the App Explorer for Studio Pro on Mac. -* We added support for the following [languages](/refguide/language-settings/): Azerbaijani (Azerbaijan), Marathi (India). +* We added support for the following [languages](/refguide10/language-settings/): Azerbaijani (Azerbaijan), Marathi (India). ### Improvements * We improved the performance of the offline database. (Tickets 212470, 213732). -* You can now convert the [reference selector](/refguide/reference-selector/) and the [input reference set selector](/refguide/input-reference-set-selector/) widgets to the combo box widget using the **Convert to combo box** context menu option. -* We made Visual Builder the default editor for XPath unless you have set a [preference](/refguide/preferences-dialog/#visual-builder) for the XPath expression editor. +* You can now convert the [reference selector](/refguide10/reference-selector/) and the [input reference set selector](/refguide10/input-reference-set-selector/) widgets to the combo box widget using the **Convert to combo box** context menu option. +* We made Visual Builder the default editor for XPath unless you have set a [preference](/refguide10/preferences-dialog/#visual-builder) for the XPath expression editor. * We implemented Markdown rendering for MendixChat answers to improve readability. * We removed the **Not sure** option when giving feedback for MendixChat answers and made it possible to unselect options instead. * We implemented several styling changes to improve the user experience for MendixChat. @@ -83,7 +83,7 @@ weight: 90 * We fixed an issue in the microflow and nanoflow editors where an error was thrown when merging branches in version control. * We now show which microflow causes a StackOverflowError or InterruptedException in the logging of the stack trace. * We fixed a potential concurrency issue in the React client bundler when writing to the log file. -* We resolved an issue where [jump-to options generation](/refguide/generate-jump-to-options/) failed for a workflow which became incompatible by removing consecutive activities (including the currently suspended activity) within a parallel split. +* We resolved an issue where [jump-to options generation](/refguide10/generate-jump-to-options/) failed for a workflow which became incompatible by removing consecutive activities (including the currently suspended activity) within a parallel split. * We fixed an issue with custom icons for macOS that was causing navigation and pages to fail. * We fixed an issue where `SELECT` queries were considered DML queries in the External Database Connector. @@ -103,5 +103,5 @@ weight: 90 * Fixed in [10.17.0](/releasenotes/studio-pro/10.17/#fix-finished-parallel-split). * There is a positioning error in the logic editors when you are dragging a large element, such as a loop, into a sequence flow, it overlaps with the existing elements. * Fixed in [10.12.12](/releasenotes/studio-pro/10.12/#fix-positioning-error) and in [10.14.0](/releasenotes/studio-pro/10.14/#fix-positioning-error). -* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide/version-control-menu/#show-changes) dialog box. +* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide10/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide10/version-control-menu/#show-changes) dialog box. * Fixed in [10.18.0](/releasenotes/studio-pro/10.18/#fix-line-endings). diff --git a/content/en/docs/releasenotes/studio-pro/10/10.11.md b/content/en/docs/releasenotes/studio-pro/10/10.11.md index 4dd1cef8b6e..532aa7da18c 100644 --- a/content/en/docs/releasenotes/studio-pro/10/10.11.md +++ b/content/en/docs/releasenotes/studio-pro/10/10.11.md @@ -38,12 +38,12 @@ We recommend that you upgrade apps and Marketplace modules to Java 21. * We now pass a render mode to the pluggable widgets API to indicate which mode the page editor is in. * We added a `CanApplyJumpTo` attribute to the `System.Workflow` entity to indicate whether you can apply a jump-to option to the workflow in its current state. * We made some performance improvements when finding usages in protected modules. -* We added a **Support Tools** submenu to the [Help menu](/refguide/help-menu/), this submenu contains the following tools: [Performance logging](/refguide/performance-logging/), [Profiling](/refguide/profiling/), and Optimize MPR. +* We added a **Support Tools** submenu to the [Help menu](/refguide10/help-menu/), this submenu contains the following tools: [Performance logging](/refguide10/performance-logging/), [Profiling](/refguide10/profiling/), and Optimize MPR. * We improved parameter validation while trying REST requests in consumed REST service editor (Beta). Requests having parameter values with spaces in URL will now raise errors as they do when used in microflow action. * We upgraded react-navigation to version 6.x.x and extended navigation transitions options for Studio Pro. * We added support for Hermes engine. * The Studio Pro version selector was visually overhauled and now supports dark and light modes. -* Studio Pro is now based on a .NET 8 instead of .NET 6. Therefore, .NET 8 is a new prerequisite for the application. For more information, see [System Requirements](/refguide/system-requirements/). +* Studio Pro is now based on a .NET 8 instead of .NET 6. Therefore, .NET 8 is a new prerequisite for the application. For more information, see [System Requirements](/refguide10/system-requirements/). * With the new .NET 8 update, extension developers need to upgrade their respective extensions to target the new version of the framework. * When using the React Client we no longer log incorrect warnings about missing imports of widgets in `app_bundle_log.txt` when bundling the client. * We improved the readability of XPath queries in the property field by trimming the spaces. @@ -114,5 +114,5 @@ We recommend that you upgrade apps and Marketplace modules to Java 21. * Fixed in [10.17.0](/releasenotes/studio-pro/10.17/#fix-finished-parallel-split). * There is a positioning error in the logic editors when you are dragging a large element, such as a loop, into a sequence flow, it overlaps with the existing elements. * Fixed in [10.12.12](/releasenotes/studio-pro/10.12/#fix-positioning-error) and in [10.14.0](/releasenotes/studio-pro/10.14/#fix-positioning-error). -* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide/version-control-menu/#show-changes) dialog box. +* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide10/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide10/version-control-menu/#show-changes) dialog box. * Fixed in [10.18.0](/releasenotes/studio-pro/10.18/#fix-line-endings). diff --git a/content/en/docs/releasenotes/studio-pro/10/10.12.md b/content/en/docs/releasenotes/studio-pro/10/10.12.md index d6c7051ee30..af9a0dc17f7 100644 --- a/content/en/docs/releasenotes/studio-pro/10/10.12.md +++ b/content/en/docs/releasenotes/studio-pro/10/10.12.md @@ -141,7 +141,7 @@ This is the [MTS](/releasenotes/studio-pro/lts-mts/#mts) version 10 release for * We fixed an issue where items were incorrectly rendered as disabled in the native client in some cases. (Ticket 232033) * We improved the memory usage of the Dojo client when running an app for an extended period of time by fixing several memory leaks that occurred when opening thousands of pages. (Ticket 232228) * We fixed an issue where apps could not be opened after a merge conflict was resolved. (Ticket 233793) -* We fixed an issue with conversion where variables on a page were presented in a different order. This issue caused certain [widget event actions](/refguide/on-click-event/#actions) to change when upgrading to Studio Pro10.4 or above. Specifically the arguments of [Call Microflow](/refguide/on-click-event/#microflow-arguments) and [Call Nanoflow](/refguide/on-click-event/#nanoflow) referring to a selection were changed if the widget was nested in another widget exposing the same entity. Note that this change does not correct previously converted apps which may now have an unintended argument configuration for Event Actions. (Ticket 233988) +* We fixed an issue with conversion where variables on a page were presented in a different order. This issue caused certain [widget event actions](/refguide10/on-click-event/#actions) to change when upgrading to Studio Pro10.4 or above. Specifically the arguments of [Call Microflow](/refguide10/on-click-event/#microflow-arguments) and [Call Nanoflow](/refguide10/on-click-event/#nanoflow) referring to a selection were changed if the widget was nested in another widget exposing the same entity. Note that this change does not correct previously converted apps which may now have an unintended argument configuration for Event Actions. (Ticket 233988) * We fixed an issue where using the S3 storage service resulted in a warning like *If you are using Java 9+, you will need to include javax.xml.bind:jaxb-api as a dependency.* (Ticket 235163, 235904) * We fixed an issue where a native mobile app was getting stuck when the internet connection was unstable. (Ticket 236653) * We fixed an issue where Studio Pro crashed when pressing the Edit button in the edit view of a **Create variable** dialog box. @@ -182,17 +182,17 @@ This is the [MTS](/releasenotes/studio-pro/lts-mts/#mts) version 10 release for ### Fixes -* We fixed an issue where a data validation error triggered on a rollback or a delete. We now remove data validation errors for objects that are rolled back or deleted. Any validation errors that you generate manually using a [validation feedback](/refguide/validation-feedback/) action will also be removed when an object is rolled back or deleted. (Ticket 192090) +* We fixed an issue where a data validation error triggered on a rollback or a delete. We now remove data validation errors for objects that are rolled back or deleted. Any validation errors that you generate manually using a [validation feedback](/refguide10/validation-feedback/) action will also be removed when an object is rolled back or deleted. (Ticket 192090) * We removed changing condition values on flows in the logic editors through the Logic Recommender. (Tickets 213544, 216126, 216721) * We fixed an issue when images synchronization took considerable amount of time. (Ticket 226400) * We fixed an issue in the Dojo client where a microflow using **Close all pages** activity followed by an **Open page** activity failed to open the page in specific situations after using the browser's back button. (Ticket 229707) * We improved the client performance of the Data Grid 2 widget configured with custom content columns. (Ticket 229940) * We fixed an issue where scheduled events stopped being rescheduled after database connection issues occurred. (Ticket 230873) -* We fixed an issue during app deployment: widgets with [On-change events](/refguide/on-click-event/#on-change) accepting parameters triggered an error when used inside a snippet. (Ticket 233500) +* We fixed an issue during app deployment: widgets with [On-change events](/refguide10/on-click-event/#on-change) accepting parameters triggered an error when used inside a snippet. (Ticket 233500) * We have fixed an issue when the sidebar was shown on a different page: the sidebar was shown on the main page. * We fixed an issue where a service worker in a PWA cached the *index.html*. This caused issues when a *new index.html* was generated, for instance, when migrating an application from the Dojo to the React client. * We fixed an issue where an **Oops** pop-up window was displayed when opening the **Page Settings** dialog. Specifically, this occurred when opening the **Page Settings** dialog of a **Create object** action from a menu item. -* We fixed an issue where an **Oops** pop-up window was displayed when adding or changing the [custom validation](/refguide/common-widget-properties/#custom-validation) for a widget. +* We fixed an issue where an **Oops** pop-up window was displayed when adding or changing the [custom validation](/refguide10/common-widget-properties/#custom-validation) for a widget. * We fixed an error that occurred in the **Call external action** activity of a microflow. * We fixed an issue that the Version Selector remained open after launching Studio Pro. * We fixed an error that occurred when the app was closed while error check was still active. @@ -211,7 +211,7 @@ This is the [MTS](/releasenotes/studio-pro/lts-mts/#mts) version 10 release for * Fixed in [10.17.0](/releasenotes/studio-pro/10.17/#fix-finished-parallel-split). * Importing a module containing workflows makes all running workflow instances incompatible. (Ticket 234084) * Fixed in [10.21.0](/releasenotes/studio-pro/10.21/#fix-workflow-instances). -* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide/version-control-menu/#show-changes) dialog box. +* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide10/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide10/version-control-menu/#show-changes) dialog box. * Fixed in [10.18.0](/releasenotes/studio-pro/10.18/#fix-line-endings). * There is a positioning error in the logic editors when you are dragging a large element, such as a loop, into a sequence flow, it overlaps with the existing elements. * Fixed in [10.12.12](/releasenotes/studio-pro/10.12/#fix-positioning-error) and in [10.14.0](/releasenotes/studio-pro/10.14/#fix-positioning-error). @@ -240,7 +240,7 @@ This is the [MTS](/releasenotes/studio-pro/lts-mts/#mts) version 10 release for * Fixed in [10.17.0](/releasenotes/studio-pro/10.17/#fix-finished-parallel-split). * Importing a module containing workflows makes all running workflow instances incompatible. (Ticket 234084) * Fixed in [10.21.0](/releasenotes/studio-pro/10.21/#fix-workflow-instances). -* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide/version-control-menu/#show-changes) dialog box. +* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide10/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide10/version-control-menu/#show-changes) dialog box. * Fixed in [10.18.0](/releasenotes/studio-pro/10.18/#fix-line-endings). * There is a positioning error in the logic editors when you are dragging a large element, such as a loop, into a sequence flow, it overlaps with the existing elements. * Fixed in [10.12.12](/releasenotes/studio-pro/10.12/#fix-positioning-error) and in [10.14.0](/releasenotes/studio-pro/10.14/#fix-positioning-error). @@ -266,7 +266,7 @@ This is the [MTS](/releasenotes/studio-pro/lts-mts/#mts) version 10 release for * Fixed in [10.17.0](/releasenotes/studio-pro/10.17/#fix-finished-parallel-split). * Importing a module containing workflows makes all running workflow instances incompatible. (Ticket 234084) * Fixed in [10.21.0](/releasenotes/studio-pro/10.21/#fix-workflow-instances). -* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide/version-control-menu/#show-changes) dialog box. +* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide10/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide10/version-control-menu/#show-changes) dialog box. * Fixed in [10.18.0](/releasenotes/studio-pro/10.18/#fix-line-endings). * There is a positioning error in the logic editors when you are dragging a large element, such as a loop, into a sequence flow, it overlaps with the existing elements. * Fixed in [10.12.12](/releasenotes/studio-pro/10.12/#fix-positioning-error) and in [10.14.0](/releasenotes/studio-pro/10.14/#fix-positioning-error). @@ -308,7 +308,7 @@ This is the [MTS](/releasenotes/studio-pro/lts-mts/#mts) version 10 release for * Fixed in [10.17.0](/releasenotes/studio-pro/10.17/#fix-finished-parallel-split). * Importing a module containing workflows makes all running workflow instances incompatible. (Ticket 234084) * Fixed in [10.21.0](/releasenotes/studio-pro/10.21/#fix-workflow-instances). -* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide/version-control-menu/#show-changes) dialog box. +* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide10/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide10/version-control-menu/#show-changes) dialog box. * Fixed in [10.18.0](/releasenotes/studio-pro/10.18/#fix-line-endings). * There is a positioning error in the logic editors when you are dragging a large element, such as a loop, into a sequence flow, it overlaps with the existing elements. * Fixed in [10.12.12](/releasenotes/studio-pro/10.12/#fix-positioning-error) and in [10.14.0](/releasenotes/studio-pro/10.14/#fix-positioning-error). @@ -323,7 +323,7 @@ This is the [MTS](/releasenotes/studio-pro/lts-mts/#mts) version 10 release for * We now throw a consistency error when a page or microflow without any roles has a URL configured. (Ticket 225241) * We added support in the External Database Connector for using a hard-coded string containing JSON as a parameter value. (Tickets 223881 and 226381) -* We improved error handling for [delete object(s)](/refguide/deleting-objects/) actions in cases they try to delete a file which does not exist. +* We improved error handling for [delete object(s)](/refguide10/deleting-objects/) actions in cases they try to delete a file which does not exist. * We added the ability to create Studio Pro memory snapshots. * We optimized the performance of the **Properties Tool Window** when editing pages, enhancing responsiveness. * In **Import Mapping**, we now display the "Custom name" from JSON Structure in the "Call a microflow" dialog. @@ -339,7 +339,7 @@ This is the [MTS](/releasenotes/studio-pro/lts-mts/#mts) version 10 release for * We fixed an issue where building fails when a project that was created with Studio Pro 9.24.0 or below containing *.jar* exclusions was opened with newer versions. (Ticket 227102) * We fixed an issue where a client error dialog was shown when the override page title was used with an expression variable containing '$currentObject'. (Ticket 227475) * We fixed Studio Pro crash that happened when editing Japanese characters in the expression editor. (Ticket 227556) -* We fixed an issue that when a pluggable widget with a text template property, which is [conditionally hidden](/apidocs-mxsdk/apidocs/pluggable-widgets-config-api/#customizing-the-widgets-properties) in Studio Pro, would show up in the ['Changes pane'](/refguide/changes-pane/) when you changed something else on the widget. For example, the **Load more caption** of data grid 2 would show up as changed when you changed something else on data grid 2. +* We fixed an issue that when a pluggable widget with a text template property, which is [conditionally hidden](/apidocs-mxsdk/apidocs/pluggable-widgets-config-api/#customizing-the-widgets-properties) in Studio Pro, would show up in the ['Changes pane'](/refguide10/changes-pane/) when you changed something else on the widget. For example, the **Load more caption** of data grid 2 would show up as changed when you changed something else on data grid 2. * We fixed an issue with the extension cache clean up in Studio Pro that could result in issues with some extensions. * We now correctly take into account the excluded *.jar*s of managed dependencies when compiling Java actions. * We fixed an issue where in some LibGit2 was not fetching extra objects while in partial mode. @@ -351,7 +351,7 @@ This is the [MTS](/releasenotes/studio-pro/lts-mts/#mts) version 10 release for * Fixed in [10.17.0](/releasenotes/studio-pro/10.17/#fix-finished-parallel-split). * Importing a module containing workflows makes all running workflow instances incompatible. (Ticket 234084) * Fixed in [10.21.0](/releasenotes/studio-pro/10.21/#fix-workflow-instances). -* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide/version-control-menu/#show-changes) dialog box. +* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide10/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide10/version-control-menu/#show-changes) dialog box. * Fixed in [10.18.0](/releasenotes/studio-pro/10.18/#fix-line-endings). * There is a positioning error in the logic editors when you are dragging a large element, such as a loop, into a sequence flow, it overlaps with the existing elements. * Fixed in [10.12.12](/releasenotes/studio-pro/10.12/#fix-positioning-error) and in [10.14.0](/releasenotes/studio-pro/10.14/#fix-positioning-error). @@ -392,7 +392,7 @@ This is the [MTS](/releasenotes/studio-pro/lts-mts/#mts) version 10 release for * Fixed in [10.17.0](/releasenotes/studio-pro/10.17/#fix-finished-parallel-split). * Importing a module containing workflows makes all running workflow instances incompatible. (Ticket 234084) * Fixed in [10.21.0](/releasenotes/studio-pro/10.21/#fix-workflow-instances). -* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide/version-control-menu/#show-changes) dialog box. +* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide10/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide10/version-control-menu/#show-changes) dialog box. * Fixed in [10.18.0](/releasenotes/studio-pro/10.18/#fix-line-endings). * There is a positioning error in the logic editors when you are dragging a large element, such as a loop, into a sequence flow, it overlaps with the existing elements. * Fixed in [10.12.12](/releasenotes/studio-pro/10.12/#fix-positioning-error) and in [10.14.0](/releasenotes/studio-pro/10.14/#fix-positioning-error). @@ -407,7 +407,7 @@ This is the [MTS](/releasenotes/studio-pro/lts-mts/#mts) version 10 release for * We improved error messages for connection errors when an action or a data source is triggered. (Ticket 218338) * We updated the Oracle .Net Library to 23.5.1 to fix the TAF exception. (Ticket 225454) -* We improved the [Download from Version Control Server](/refguide/download-from-version-control-dialog/) dialog box to provide much more information about clone process progress. +* We improved the [Download from Version Control Server](/refguide10/download-from-version-control-dialog/) dialog box to provide much more information about clone process progress. * We updated the system to store log files for up to 30 days, compared to the previous duration of seven days. ### Fixes @@ -432,7 +432,7 @@ This is the [MTS](/releasenotes/studio-pro/lts-mts/#mts) version 10 release for * Fixed in [10.17.0](/releasenotes/studio-pro/10.17/#fix-finished-parallel-split). * Importing a module containing workflows makes all running workflow instances incompatible. (Ticket 234084) * Fixed in [10.21.0](/releasenotes/studio-pro/10.21/#fix-workflow-instances). -* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide/version-control-menu/#show-changes) dialog box. +* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide10/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide10/version-control-menu/#show-changes) dialog box. * Fixed in [10.18.0](/releasenotes/studio-pro/10.18/#fix-line-endings). * There is a positioning error in the logic editors when you are dragging a large element, such as a loop, into a sequence flow, it overlaps with the existing elements. * Fixed in [10.12.12](/releasenotes/studio-pro/10.12/#fix-positioning-error) and in [10.14.0](/releasenotes/studio-pro/10.14/#fix-positioning-error). @@ -474,7 +474,7 @@ This is the [MTS](/releasenotes/studio-pro/lts-mts/#mts) version 10 release for * Fixed in [10.17.0](/releasenotes/studio-pro/10.17/#fix-finished-parallel-split). * Importing a module containing workflows makes all running workflow instances incompatible. (Ticket 234084) * Fixed in [10.21.0](/releasenotes/studio-pro/10.21/#fix-workflow-instances). -* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide/version-control-menu/#show-changes) dialog box. +* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide10/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide10/version-control-menu/#show-changes) dialog box. * Fixed in [10.18.0](/releasenotes/studio-pro/10.18/#fix-line-endings). * There is a positioning error in the logic editors when you are dragging a large element, such as a loop, into a sequence flow, it overlaps with the existing elements. * Fixed in [10.12.12](/releasenotes/studio-pro/10.12/#fix-positioning-error) and in [10.14.0](/releasenotes/studio-pro/10.14/#fix-positioning-error). @@ -489,7 +489,7 @@ This is the [MTS](/releasenotes/studio-pro/lts-mts/#mts) version 10 release for * We upgraded the JDBC driver for Microsoft SQL Server to version 12.6.3. If you connect to SQL Server using integrated security in a module such as [Database Connector](/appstore/modules/database-connector/), you may need to update the JDBC driver in `userlib` as well. * We improved performance when typing in the expression editor. -* We added an [`mx show-java-version` command](/refguide/mx-command-line-tool/app/#show-java-version) to the mx command-line tool. This command shows the configured Java version of the app. +* We added an [`mx show-java-version` command](/refguide10/mx-command-line-tool/app/#show-java-version) to the mx command-line tool. This command shows the configured Java version of the app. ### Fixes @@ -497,12 +497,12 @@ This is the [MTS](/releasenotes/studio-pro/lts-mts/#mts) version 10 release for * We fixed an issue where *vendorlib-sbom.json* is updated unnecessarily. (Tickets 218152, 222102, 221123, 220419, 219994, 219344, 218992, 218899, 218855, 223095) * We fixed an error in database synchronization which affected setting an existing entity with a decimal attribute as a generalization of another entity. (Ticket 219731) * We fixed an issue where, in applications with both PWA and native profiles, the PWA could potentially attempt and fail to pre-cache a native page if it was reachable through subnanoflows. (Ticket 220165) -* We fixed an issue where the Metrics.ApplicationTags configuration value was not used for some of the [built-in metrics](/refguide/metrics/#list-of-metrics). (Ticket 220260) +* We fixed an issue where the Metrics.ApplicationTags configuration value was not used for some of the [built-in metrics](/refguide10/metrics/#list-of-metrics). (Ticket 220260) * We fixed an issue in the domain model when dragging an association beeen o entities did not work when the starting point on the first entity is roughly the same as the ending point on the second entity. (Ticket 222377) * We fixed an issue in the Dojo client where the `mx.data.callNanoflow` API did not return the result from the nanoflow. (Ticket 222682) * We fixed an issue when an error dialog box was displayed after opening an app in the Mendix Portal when the user was signed in and there was no Internet connection. * We fixed a memory leak related to running an app. -* We fixed an issue where changing an [event action](/refguide/text-box/#events) or a list view [on click](/refguide/list-view/#on-click) or [pull down](/refguide/list-view/#pull-down) action from a microflow to another type of action resulted in an **Oops** dialog box. +* We fixed an issue where changing an [event action](/refguide10/text-box/#events) or a list view [on click](/refguide10/list-view/#on-click) or [pull down](/refguide10/list-view/#pull-down) action from a microflow to another type of action resulted in an **Oops** dialog box. * We fixed an issue where the name of a `userlib` dependency in the SBOM was incorrect. * We fixed an issue in the React client where the page did not load when navigating back from a page that had been opened by a microflow that closed all pages. * We fixed an issue in the External Database Connector where the Date and Time parameter was not working for PostgreSQL. @@ -515,7 +515,7 @@ This is the [MTS](/releasenotes/studio-pro/lts-mts/#mts) version 10 release for * Fixed in [10.17.0](/releasenotes/studio-pro/10.17/#fix-finished-parallel-split). * Importing a module containing workflows makes all running workflow instances incompatible. (Ticket 234084) * Fixed in [10.21.0](/releasenotes/studio-pro/10.21/#fix-workflow-instances). -* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide/version-control-menu/#show-changes) dialog box. +* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide10/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide10/version-control-menu/#show-changes) dialog box. * Fixed in [10.18.0](/releasenotes/studio-pro/10.18/#fix-line-endings). * There is a positioning error in the logic editors when you are dragging a large element, such as a loop, into a sequence flow, it overlaps with the existing elements. * Fixed in [10.12.12](/releasenotes/studio-pro/10.12/#fix-positioning-error) and in [10.14.0](/releasenotes/studio-pro/10.14/#fix-positioning-error). @@ -550,7 +550,7 @@ This is the [MTS](/releasenotes/studio-pro/lts-mts/#mts) version 10 release for * Fixed in [10.17.0](/releasenotes/studio-pro/10.17/#fix-finished-parallel-split). * Importing a module containing workflows makes all running workflow instances incompatible. (Ticket 234084) * Fixed in [10.21.0](/releasenotes/studio-pro/10.21/#fix-workflow-instances). -* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide/version-control-menu/#show-changes) dialog box. +* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide10/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide10/version-control-menu/#show-changes) dialog box. * Fixed in [10.18.0](/releasenotes/studio-pro/10.18/#fix-line-endings). * There is a positioning error in the logic editors when you are dragging a large element, such as a loop, into a sequence flow, it overlaps with the existing elements. * Fixed in [10.12.12](/releasenotes/studio-pro/10.12/#fix-positioning-error) and in [10.14.0](/releasenotes/studio-pro/10.14/#fix-positioning-error). @@ -565,20 +565,20 @@ This is the [MTS](/releasenotes/studio-pro/lts-mts/#mts) version 10 release for #### Mendix AI Assistance (Maia) -With Mendix 10.12, we are releasing [Mendix AI Assistance (Maia)](/refguide/mendix-ai-assistance/), our new generative AI-powered assistant designed to help you as developers during your application development lifecycle. Maia can answer Mendix development questions, automate certain development tasks, and even generate parts of your app. +With Mendix 10.12, we are releasing [Mendix AI Assistance (Maia)](/refguide10/mendix-ai-assistance/), our new generative AI-powered assistant designed to help you as developers during your application development lifecycle. Maia can answer Mendix development questions, automate certain development tasks, and even generate parts of your app. Below is a list of Maia features introduced in this release: -* We rebranded MendixChat to [Maia Chat](/refguide/maia-chat/) and released it for general availability (GA). It has been given a fresh new design. You can use the sparkle button at the Studio Pro top bar, to easily open Maia Chat. -* We rebranded MxAssist Best Practice Bot to [Maia Best Practice Recommender](/refguide/best-practice-recommender/). -* We rebranded MxAssist Logic Bot to [Maia Logic Recommender](/refguide/logic-recommender/) in the logic editors. -* We introduced the new [Maia Workflow Recommender](/refguide/workflow-recommender/) that provides assistance during development in the workflow editor and helps you build workflows faster. It currently suggests activities with useful properties, for instance, a user task with a user-targeting microflow (only microflows that are applicable for user targeting), or Jump activities with only/all allowed activities to jump to. +* We rebranded MendixChat to [Maia Chat](/refguide10/maia-chat/) and released it for general availability (GA). It has been given a fresh new design. You can use the sparkle button at the Studio Pro top bar, to easily open Maia Chat. +* We rebranded MxAssist Best Practice Bot to [Maia Best Practice Recommender](/refguide10/best-practice-recommender/). +* We rebranded MxAssist Logic Bot to [Maia Logic Recommender](/refguide10/logic-recommender/) in the logic editors. +* We introduced the new [Maia Workflow Recommender](/refguide10/workflow-recommender/) that provides assistance during development in the workflow editor and helps you build workflows faster. It currently suggests activities with useful properties, for instance, a user task with a user-targeting microflow (only microflows that are applicable for user targeting), or Jump activities with only/all allowed activities to jump to. * The Recommenders are enabled by default and can now be disabled via Studio Pro **Preferences** > **Maia** > **In-Editor Recommender**. -* We added a new experimental feature [Maia Translation Generator](/refguide/translation-generator/) to **Language** > **Batch Translate...**. You can enable it via Studio Pro **Preferences** > **New Features**. +* We added a new experimental feature [Maia Translation Generator](/refguide10/translation-generator/) to **Language** > **Batch Translate...**. You can enable it via Studio Pro **Preferences** > **New Features**. #### Primitive Parameters Support for Logic Called from Pages -It is now possible to pass primitive values from pages to microflows and nanoflows. You can now use [expressions](/refguide/expressions/) to set primitive values as arguments (like a string or Boolean), use functions, and even follow associations! This can be used on triggering call microflow and call nanoflow client [actions](/refguide/on-click-event/#call-microflow), and also as in data sources based on microflows or nanoflows. +It is now possible to pass primitive values from pages to microflows and nanoflows. You can now use [expressions](/refguide10/expressions/) to set primitive values as arguments (like a string or Boolean), use functions, and even follow associations! This can be used on triggering call microflow and call nanoflow client [actions](/refguide10/on-click-event/#call-microflow), and also as in data sources based on microflows or nanoflows. The advantage is that microflows and nanoflows can now more easily be (re)used when they have primitive parameters, as they can be called directly from a page. Previously, multiple microflows or nanoflows had to be used, or a non-persistable entity had to be introduced in both the logic and UI. Not anymore! @@ -600,7 +600,7 @@ For the React client, we are introducing a strict mode. Setting up access rules It restricts invoking certain client APIs through JavaScript Actions or via the browser's console. The following APIs for data manipulation or retrieval are restricted: `action`, `create`, `commit`, `remove`, `rollback`, and `get` (except by GUID or GUIDs). -Moreover, your model is analyzed by Studio Pro to ensure that only entities within editable widgets can be saved during a save changes action. Fore more information, see [Strict Mode](/refguide/strict-mode/). +Moreover, your model is analyzed by Studio Pro to ensure that only entities within editable widgets can be saved during a save changes action. Fore more information, see [Strict Mode](/refguide10/strict-mode/). #### Other New Features @@ -623,9 +623,9 @@ Moreover, your model is analyzed by Studio Pro to ensure that only entities with * JavaScript actions now support optional parameters. This feature enhances flexibility and ensures backward compatibility of JavaScript actions by allowing new parameters to be added without breaking existing functionality. * In JavaScript actions, all parameter types can set to be required or not. If no argument is provided for an optional parameter, it defaults to undefined. You can handle optional parameters within the JavaScript action by checking if they are undefined, allowing you to assign default values or implement custom logic as needed. * In Java actions, optional parameters without mappings will no longer trigger a consistency error (CE0115). -* We added an improvement (public beta) which allows you to use [partial application clones](/refguide/clone-type/) with Git instead of full clones. Partial clones download a minimum required set of data, making this method significantly faster than full clones when working with [large repositories](/refguide/troubleshoot-repository-size/). Through **Open app** settings or version control preferences, you can choose which cloning strategy to use for future cloning operations, such as downloading a new app or branch. +* We added an improvement (public beta) which allows you to use [partial application clones](/refguide10/clone-type/) with Git instead of full clones. Partial clones download a minimum required set of data, making this method significantly faster than full clones when working with [large repositories](/refguide10/troubleshoot-repository-size/). Through **Open app** settings or version control preferences, you can choose which cloning strategy to use for future cloning operations, such as downloading a new app or branch. * We added an improvement where if you use parameters in the body of a Consumed REST Request (beta), the parameters that are not defined yet get added automatically to the parameter tab with empty test values. -* We optimized data retrieval in [Optimize for Neork Load mode](/refguide/datasource-runtime/#optimize-for-network-load) even further. Entity paths in expressions now only retrieve the ID attributes of associated objects. +* We optimized data retrieval in [Optimize for Neork Load mode](/refguide10/datasource-runtime/#optimize-for-network-load) even further. Entity paths in expressions now only retrieve the ID attributes of associated objects. * We fixed memory leaks that can happen while using a context menu. * We fixed memory leaks that happened when opening and closing page editors. * We aligned the icons of the Visual Builder for XPath Constraints with XPath Expression editor. @@ -633,7 +633,7 @@ Moreover, your model is analyzed by Studio Pro to ensure that only entities with * We moved the Visual Builder for XPath Constraints is now GA (it was in public beta). * Selection can now be modified by the Ctrl or Command key, either by a single click or by dragging a selection rectangle, allowing for more precise control in selecting elements in logic flow editors. -* You can now convert the [reference set selector](/refguide/reference-set-selector/) widget to the combo box widget using the **Convert to combo box** context menu option. +* You can now convert the [reference set selector](/refguide10/reference-set-selector/) widget to the combo box widget using the **Convert to combo box** context menu option. * We improved the OpenAPI document generated for a published OData service. The public documentation of published microflows is now included as the summary and description of the operation, rather than the path. This makes it appear in consumers such as Swagger UI. * We improved rendering performance on the logic editors when working with large documents. * We improved the query performance for inserts and updates on the offline database (both for PWA and native mobile). @@ -676,7 +676,7 @@ Moreover, your model is analyzed by Studio Pro to ensure that only entities with * We fixed an issue where selection was lost in the **Message definition** tree view when the stored name no longer matches with the entity name in the domain model. * We fixed an issue when updating a consumed OData contract where a non-readable entity becomes a readable entity. Resolving this consistency error leaded to an error when one of the attributes had been deleted as well. * We fixed the workflow's user task to also validate its completion criteria on retry. -* We fixed the user task in workflows to only send a single **UserTaskStarted** event when microflow is used as the [decision method](/refguide/multi-user-task/#decision-method) to complete the task. +* We fixed the user task in workflows to only send a single **UserTaskStarted** event when microflow is used as the [decision method](/refguide10/multi-user-task/#decision-method) to complete the task. * We fixed an issue that caused an **Oops** dialog box when opening a published OData service that publishes deleted entities. * We are now showing system members in the right-hand dropdown of the XPath Visual Builder. This fixes an issue where in certain scenarios the Visual Builder for XPath Constraints showed an **Oops** dialog box for an expression comparison containing system members. We also fixed an issue where toggling to the Expression Editor from the Visual Builder and back sometimes suddenly showed an **Advanced XPath** error when using system members in the XPath expression. * The Column attribute selector of Data Grid 2 no longer shows an error when selecting **None**. @@ -709,7 +709,7 @@ Moreover, your model is analyzed by Studio Pro to ensure that only entities with * Fixed in [10.17.0](/releasenotes/studio-pro/10.17/#fix-finished-parallel-split). * Importing a module containing workflows makes all running workflow instances incompatible. (Ticket 234084) * Fixed in [10.21.0](/releasenotes/studio-pro/10.21/#fix-workflow-instances). -* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide/version-control-menu/#show-changes) dialog box. +* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide10/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide10/version-control-menu/#show-changes) dialog box. * Fixed in [10.18.0](/releasenotes/studio-pro/10.18/#fix-line-endings). * There is a positioning error in the logic editors when you are dragging a large element, such as a loop, into a sequence flow, it overlaps with the existing elements. * Fixed in [10.12.12](/releasenotes/studio-pro/10.12/#fix-positioning-error) and in [10.14.0](/releasenotes/studio-pro/10.14/#fix-positioning-error). diff --git a/content/en/docs/releasenotes/studio-pro/10/10.13.md b/content/en/docs/releasenotes/studio-pro/10/10.13.md index a273ad4be24..3c080096b9c 100644 --- a/content/en/docs/releasenotes/studio-pro/10/10.13.md +++ b/content/en/docs/releasenotes/studio-pro/10/10.13.md @@ -28,7 +28,7 @@ weight: 87 * Fixed in [10.17.0](/releasenotes/studio-pro/10.17/#fix-finished-parallel-split). * There is a positioning error in the logic editors when you are dragging a large element, such as a loop, into a sequence flow, it overlaps with the existing elements. * Fixed in [10.14.0](/releasenotes/studio-pro/10.14/#fix-positioning-error). -* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide/version-control-menu/#show-changes) dialog box. +* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide10/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide10/version-control-menu/#show-changes) dialog box. * Fixed in [10.18.0](/releasenotes/studio-pro/10.18/#fix-line-endings). ## 10.13.0 {#10130} @@ -47,19 +47,19 @@ We added a new experimental conversational interface in Maia for the users to de * To launch the domain model generation interface, the user needs to open an empty domain model and click **Generate Domain Model** at its toolbar. If the domain model is not empty, the button will be disabled. * If the user closes the attached domain model, the domain model generation session within Maia will also close. -For more information on this new Maia feature, see [Domain Model Generator](/refguide/domain-model-generator/). +For more information on this new Maia feature, see [Domain Model Generator](/refguide10/domain-model-generator/). #### Other New Features * We introduced support for XPath constraints on associated entities in the offline database. -* We added an option to define a [fallback page](/refguide/setting-up-the-navigation-structure/#fallback) or microflow for web navigation profiles, which will be used when trying to access a microflow or page URL that does not exist. When configured, the pop-up window with the *The page you requested was not found. You are redirected to the home page* message is no longer shown. Instead, the fallback microflow or page is used. If a microflow is used, it can have a parameter **Path** of type string which will contain the URL that could not be found. -* We added version control [status icons](/refguide/using-version-control-in-studio-pro/#status) to the **App Explorer** on macOS. +* We added an option to define a [fallback page](/refguide10/setting-up-the-navigation-structure/#fallback) or microflow for web navigation profiles, which will be used when trying to access a microflow or page URL that does not exist. When configured, the pop-up window with the *The page you requested was not found. You are redirected to the home page* message is no longer shown. Instead, the fallback microflow or page is used. If a microflow is used, it can have a parameter **Path** of type string which will contain the URL that could not be found. +* We added version control [status icons](/refguide10/using-version-control-in-studio-pro/#status) to the **App Explorer** on macOS. ### Improvements * We improved source selection for branch creation. Now, top revision is selected by default. * In **Import Mapping**, we now display the **Custom name** from the JSON Structure in the **Call a microflow** dialog box. -* You can now specify an [alternative exposed name](/refguide/published-odata-entity/) for entities and microflows in published OData services. Clients can access the entities and microflows using a URL based on those alternative names. They do not have to conform to the OData specifications, allowing different ways of addressing entities and microflows, including delimiter-separated words (kebab-case). These names are the ones that the service's OpenAPI document uses. +* You can now specify an [alternative exposed name](/refguide10/published-odata-entity/) for entities and microflows in published OData services. Clients can access the entities and microflows using a URL based on those alternative names. They do not have to conform to the OData specifications, allowing different ways of addressing entities and microflows, including delimiter-separated words (kebab-case). These names are the ones that the service's OpenAPI document uses. * We improved performance when typing in the expression editor. * We upgraded the JDBC driver for Microsoft SQL Server to version 12.6.3. If you connect to SQL Server using integrated security in a module such as [Database Connector](/appstore/modules/database-connector/), you may need to update the JDBC driver in `userlib` as well. * We now display warnings in addition to errors when **Limit to current tab** is selected. @@ -70,7 +70,7 @@ For more information on this new Maia feature, see [Domain Model Generator](/ref * We have upgraded `react-native-fast-image` to version `8.6.3`. * We updated the response for PUT requests to be 405 for OData services. * We introduced a new Java API to add necessary session cookies, so if you do not directly use the client to log in, you can use the new API instead of implementing that functionality yourself. -* In [strict mode](/refguide/strict-mode/#save-and-cancel), Studio Pro now analyzes pages with a cancel action button to ensure that only entities within editable widgets can be rolled back. +* In [strict mode](/refguide10/strict-mode/#save-and-cancel), Studio Pro now analyzes pages with a cancel action button to ensure that only entities within editable widgets can be rolled back. * We merged the React client and React native client packages in the Studio Pro installation. This should reduce the amount of files shipped with Studio Pro. In the SBOM scan, now only the `mendix` package is visible when using either the React or the native client. * The [External Database Connector](/appstore/modules/external-database-connector/) now supports using stored procedures with parameters. @@ -82,16 +82,16 @@ For more information on this new Maia feature, see [Domain Model Generator](/ref * We fixed an issue where *vendorlib-sbom.json* is updated unnecessarily. (Tickets 218152, 222102, 221123, 220419, 219994, 219344, 218992, 218899, 218855, 223095) * We fixed an error in database synchronization which affected setting an existing entity with a decimal attribute as a generalization of another entity. (Ticket 219731) * We fixed an issue where, in applications with both PWA and native profiles, the PWA could potentially attempt and fail to pre-cache a native page if it was reachable through subnanoflows. (Ticket 220165) -* We fixed an issue where the Metrics.ApplicationTags configuration value was not used for some of the [built-in metrics](/refguide/metrics/#list-of-metrics). (Ticket 220260) +* We fixed an issue where the Metrics.ApplicationTags configuration value was not used for some of the [built-in metrics](/refguide10/metrics/#list-of-metrics). (Ticket 220260) * We fixed an issue where, in some cases, an analytic scope issue was presented when a repository was corrupted or there were network issues. (Ticket 220445) * We fixed an issue in consumed web services where some corrupted imported WSDL files gave neither a consistency error, nor an error pop-up window. * We fixed an issue in the call REST service and call web service activities in Studio Pro, where setting an empty timeout expression gave an error. Now it gives a consistency error. * We fixed an issue in published REST services in Studio Pro, where in exceptional cases it showed an error about not being able to refresh the grid. -* We fixed an issue where using a [single underscore](/refguide/enumerations/) as the name of an element in your app model caused errors when running the app. This is now prevented by a consistency error in Studio Pro. +* We fixed an issue where using a [single underscore](/refguide10/enumerations/) as the name of an element in your app model caused errors when running the app. This is now prevented by a consistency error in Studio Pro. * In the logic editors, we fixed an issue where some Maia suggestions could not be added to empty looped activities. * In the logic editors, we fixed an issue where a useless flow was left behind when deleting or detaching an object that is in a circular flow. * We fixed an issue when updating a consumed OData contract where a readable entity becomes a non-readable entity. Resolving this consistency error led to an error when one of the attributes had been deleted as well. -* We fixed an issue where changing an [event action](/refguide/text-box/#events) or a list view [on click](/refguide/list-view/#on-click) or [pull down](/refguide/list-view/#pull-down) action from a microflow to another type of action resulted in an **Oops** dialog. +* We fixed an issue where changing an [event action](/refguide10/text-box/#events) or a list view [on click](/refguide10/list-view/#on-click) or [pull down](/refguide10/list-view/#pull-down) action from a microflow to another type of action resulted in an **Oops** dialog. * We fixed an issue where the name of a `userlib` dependency in the SBOM was incorrect. * We fixed an issue in the **Retrieve Workflow Activity Records** activity where finished user task activities had a paused state. * We fixed an issue in the workflows engine where the workflow state was set incorrectly to continue when it contained failed activities. @@ -108,5 +108,5 @@ For more information on this new Maia feature, see [Domain Model Generator](/ref * Fixed in [10.17.0](/releasenotes/studio-pro/10.17/#fix-finished-parallel-split). * There is a positioning error in the logic editors when you are dragging a large element, such as a loop, into a sequence flow, it overlaps with the existing elements. * Fixed in [10.14.0](/releasenotes/studio-pro/10.14/#fix-positioning-error). -* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide/version-control-menu/#show-changes) dialog box. +* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide10/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide10/version-control-menu/#show-changes) dialog box. * Fixed in [10.18.0](/releasenotes/studio-pro/10.18/#fix-line-endings). diff --git a/content/en/docs/releasenotes/studio-pro/10/10.14.md b/content/en/docs/releasenotes/studio-pro/10/10.14.md index 67b7bca880f..0e834ff0aaa 100644 --- a/content/en/docs/releasenotes/studio-pro/10/10.14.md +++ b/content/en/docs/releasenotes/studio-pro/10/10.14.md @@ -17,9 +17,9 @@ weight: 86 ### New Features * We added a support for multi selection in App Explorer on macOS. -* We made it possible to control an active tab of a tab container using the new [define default tab](/refguide/tab-container/#define-default) attribute. -* We added a web-based System Texts editor as an experimental feature. It also allows the user to generate translations for system texts using [Maia Translation Generator](/refguide/translation-generator/). You can enable it via **Preferences** > **New features**. -* We added an experimental feature: Studio Pro now supports publishing [GraphQL services](/refguide/published-odata-services/). When you enable this setting, you can specify that a published OData service supports GraphQL, resulting in a service that supports both OData and GraphQL. +* We made it possible to control an active tab of a tab container using the new [define default tab](/refguide10/tab-container/#define-default) attribute. +* We added a web-based System Texts editor as an experimental feature. It also allows the user to generate translations for system texts using [Maia Translation Generator](/refguide10/translation-generator/). You can enable it via **Preferences** > **New features**. +* We added an experimental feature: Studio Pro now supports publishing [GraphQL services](/refguide10/published-odata-services/). When you enable this setting, you can specify that a published OData service supports GraphQL, resulting in a service that supports both OData and GraphQL. * We introduced a new [Configuration API](https://apidocs.rnd.mendix.com/10/runtime/com/mendix/core/conf/Configuration.html#getPublicConstants()) – `getConstants`, which will retrieve the keys of all the constants in the app. ### Improvements @@ -39,8 +39,8 @@ We enabled the modernized version of **Toolbox** by default. The modernized **To * You can now use `getContext().getRuntimeRequest()` and `getContext().getRuntimeResponse()` in Java actions called from published OData services. This means that when a published OData service has a published microflow, or a published entity that uses a microflow for one or more of its capabilities, those methods will return the current HTTP request and response, respectively. * We made a dialog box for published entities in OData services slightly smaller so that it now fits the screen with a minimal resolution. * We fixed several memory leaks that happened when closing the **Open App** dialog box. -* We updated the look and feel for the [Start from Spreadsheet](/refguide/app-from-spreadsheet/) app to better match Studio Pro. -* We improved the [Download from Version Control Server](/refguide/download-from-version-control-dialog/) dialog box to provide much more information about clone process progress. +* We updated the look and feel for the [Start from Spreadsheet](/refguide10/app-from-spreadsheet/) app to better match Studio Pro. +* We improved the [Download from Version Control Server](/refguide10/download-from-version-control-dialog/) dialog box to provide much more information about clone process progress. * We implemented adding an **svn** folder to *.gitignore* by default to avoid accidental commits with *.svn* directory. * We updated styling and tooltips for branch and commits buttons in a status bar at bottom of Studio Pro. * We improved the performance of retrieving many objects for certain datasources, such as a microflow datasource. @@ -48,10 +48,10 @@ We enabled the modernized version of **Toolbox** by default. The modernized **To * We fixed several memory leaks that happened when closing the Domain model editor. * Microflow and nanoflow actions which are linked to a data source, e.g. the on-click of a Datagrid 2, can now use associations in their expression arguments. * The implication for the widget API is that `ListActionValue.get()` will result in an [ActionValue](/apidocs-mxsdk/apidocs/pluggable-widgets-client-apis/#actionvalue) with `canExecute` set to **true** while associations are still being loaded. -* We added an [mx show-java-version command](/refguide/mx-command-line-tool/app/#show-java-version) to the mx command-line tool. This command shows the configured Java version of the app. +* We added an [mx show-java-version command](/refguide10/mx-command-line-tool/app/#show-java-version) to the mx command-line tool. This command shows the configured Java version of the app. * We made it possible to reorder modules in the App Explorer on macOS. * We added Class, Style, and Dynamic Classes common styling properties to the **Properties** tab of the **Properties** pane for a quicker editing experience. -* [Git partial application clones](/refguide/clone-type/), introduced in 10.12.0 as a public beta, is now generally available. Partial clones download a minimum required set of data, making this method significantly faster than full clones when working with [large repositories](/refguide/troubleshoot-repository-size/). In **Open app** settings or [version control preferences](/refguide/preferences-dialog/#version-control), you can choose a cloning strategy for future cloning operations, such as downloading a new app or a branch. +* [Git partial application clones](/refguide10/clone-type/), introduced in 10.12.0 as a public beta, is now generally available. Partial clones download a minimum required set of data, making this method significantly faster than full clones when working with [large repositories](/refguide10/troubleshoot-repository-size/). In **Open app** settings or [version control preferences](/refguide10/preferences-dialog/#version-control), you can choose a cloning strategy for future cloning operations, such as downloading a new app or a branch. ### Fixes @@ -96,13 +96,13 @@ We enabled the modernized version of **Toolbox** by default. The modernized **To * We fixed an issue where the `ExecuteAction` XAS API was incorrectly available when **Strict mode** was enabled. * We fixed a visual issue in Studio Pro on Mac where the URL input field appeared with a double border. * We fixed an issue in the React client where the page did not be loaded when navigating back from a page that was opened by a microflow that closed all pages. -* We fixed a possible workflow race condition that occurred while handling [Timer activity](/refguide/timer/). -* We fixed an issue where the [User Task Started](/refguide/workflow-events/#activity-event-type) event was not triggered when a workflow user task fails during [Xpath based targeting](/refguide/user-task/#xpath-constraint). +* We fixed a possible workflow race condition that occurred while handling [Timer activity](/refguide10/timer/). +* We fixed an issue where the [User Task Started](/refguide10/workflow-events/#activity-event-type) event was not triggered when a workflow user task fails during [Xpath based targeting](/refguide10/user-task/#xpath-constraint). * We fixed how the commits with time offsets are handled in the **History** dialog box. ### Known Issues * A finished parallel split path that is removed from a running workflow instance wrongly leads to a versioning conflict. Please note that "path" was called "branch" in earlier versions. * Fixed in [10.17.0](/releasenotes/studio-pro/10.17/#fix-finished-parallel-split). -* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide/version-control-menu/#show-changes) dialog box. +* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide10/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide10/version-control-menu/#show-changes) dialog box. * Fixed in [10.18.0](/releasenotes/studio-pro/10.18/#fix-line-endings). diff --git a/content/en/docs/releasenotes/studio-pro/10/10.15.md b/content/en/docs/releasenotes/studio-pro/10/10.15.md index 94e0e04c8d3..84e012fc615 100644 --- a/content/en/docs/releasenotes/studio-pro/10/10.15.md +++ b/content/en/docs/releasenotes/studio-pro/10/10.15.md @@ -21,20 +21,20 @@ We added non-interrupting timer boundary events as a beta feature. This feature A boundary flow runs in parallel to the workflow activity they are attached to, without interrupting the main process. Boundary events can be set for key activities that can be suspended, such as user tasks (single and multi), **Call Microflow**, **Call Workflow**, and **Wait for Notification**, providing more flexibility in workflow management. -For more information, see [Boundary Events](/refguide/workflow-boundary-events/). +For more information, see [Boundary Events](/refguide10/workflow-boundary-events/). #### X-Ray Mode Becoming Generally Available -X-Ray mode is generally available now for both Windows and macOS. X-Ray mode is a way to better visualize the structure of your page while in Design Mode. It adds a special border around certain widgets, like layout grids and containers, while keeping most of your apps styling the same. We also added data source information to data widgets in this release. For more information, see [X-Ray Mode](/refguide/page/#x-ray-mode). +X-Ray mode is generally available now for both Windows and macOS. X-Ray mode is a way to better visualize the structure of your page while in Design Mode. It adds a special border around certain widgets, like layout grids and containers, while keeping most of your apps styling the same. We also added data source information to data widgets in this release. For more information, see [X-Ray Mode](/refguide10/page/#x-ray-mode). #### New Options under Help Menu > Support Tools -We added the following new options to **Help** menu > **Support Tools** (for more information, see [Help](/refguide/help-menu/) menu): +We added the following new options to **Help** menu > **Support Tools** (for more information, see [Help](/refguide10/help-menu/) menu): * **Project Context** – This option shows a pane containing information about part of the background memory of Studio Pro. * **Background** – This option shows a pane containing information about current and previous background tasks. * **Collect version control data** – This option helps you collect basic version control data kept in the logs of Studio Pro. -* **Profiling** > **Capture Memory Snapshot** – This option captures a snapshot of memory consumed by Studio Pro. The snapshot is written to disk, which you can then send to the Mendix Support teams. For more information on this option, see [Profiling](/refguide/profiling/). +* **Profiling** > **Capture Memory Snapshot** – This option captures a snapshot of memory consumed by Studio Pro. The snapshot is written to disk, which you can then send to the Mendix Support teams. For more information on this option, see [Profiling](/refguide10/profiling/). ### Improvements @@ -72,7 +72,7 @@ We added the following new options to **Help** menu > **Support Tools** (for mor ### Fixes -* We fixed an issue where a data validation error triggered on a rollback or a delete. We now remove data validation errors for objects that are rolled back or deleted. Any validation errors that you generate manually using a [validation feedback](/refguide/validation-feedback/) action will also be removed when an object is rolled back or deleted. (Ticket 192090) +* We fixed an issue where a data validation error triggered on a rollback or a delete. We now remove data validation errors for objects that are rolled back or deleted. Any validation errors that you generate manually using a [validation feedback](/refguide10/validation-feedback/) action will also be removed when an object is rolled back or deleted. (Ticket 192090) * We fixed an issue where roles assigned to a user are ignored momentarily during runtime. (Ticket 221900) * We fixed an issue where the garbage collector cleaned up objects being returned from a microflow before they could be returned, leading to an error. (Ticket 222075) * We fixed an issue in Mozilla Firefox where the change event was triggered before input validations were complete. (Ticket 223757) @@ -86,7 +86,7 @@ We added the following new options to **Help** menu > **Support Tools** (for mor * We fixed an issue where an **Oops** dialog was shown when a generated column filter in a Data grid 2 is moved to another column. * We fixed an issue in the Data grid 2 widget where setting a reference data source for filtering over associations in a column, triggered an automatic content generation. * We fixed an issue that showed an **Oops** dialog box when switching a template parameter from an attribute to an expression if the attribute no longer existed in the domain model. -* We fixed an issue that when a pluggable widget with a text template property, which is [conditionally hidden](/apidocs-mxsdk/apidocs/pluggable-widgets-config-api/#customizing-the-widgets-properties) in Studio Pro, showed up in the [Changes pane](/refguide/changes-pane/) when you changed something else on the widget. For example, the **Load more caption** of Data grid 2 showed up as changed when you changed something else on Data grid 2. +* We fixed an issue that when a pluggable widget with a text template property, which is [conditionally hidden](/apidocs-mxsdk/apidocs/pluggable-widgets-config-api/#customizing-the-widgets-properties) in Studio Pro, showed up in the [Changes pane](/refguide10/changes-pane/) when you changed something else on the widget. For example, the **Load more caption** of Data grid 2 showed up as changed when you changed something else on Data grid 2. * We fixed an issue with the extension cache clean-up in Studio Pro that resulted in issues with some extensions. * We fixed an issue where on Mac a custom value was not persisted when switching from XPath Builder to XPath Expression Editor or when pressing the **OK** button. * We fixed an issue where importing a spreadsheet with a dollar sign in the data in certain scenarios prevented the application from running (locally). @@ -115,5 +115,5 @@ We added the following new options to **Help** menu > **Support Tools** (for mor * Fixed in [10.16](/releasenotes/studio-pro/10.16/#fix-workflow-jumps-back). * A finished parallel split path that is removed from a running workflow instance wrongly leads to a versioning conflict. Please note that "path" was called "branch" in earlier versions. * Fixed in [10.17.0](/releasenotes/studio-pro/10.17/#fix-finished-parallel-split). -* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide/version-control-menu/#show-changes) dialog box. +* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide10/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide10/version-control-menu/#show-changes) dialog box. * Fixed in [10.18.0](/releasenotes/studio-pro/10.18/#fix-line-endings). diff --git a/content/en/docs/releasenotes/studio-pro/10/10.16.md b/content/en/docs/releasenotes/studio-pro/10/10.16.md index d609eb7ae90..97151227b90 100644 --- a/content/en/docs/releasenotes/studio-pro/10/10.16.md +++ b/content/en/docs/releasenotes/studio-pro/10/10.16.md @@ -22,7 +22,7 @@ weight: 84 * A finished parallel split path that is removed from a running workflow instance wrongly leads to a versioning conflict. Please note that "path" was called "branch" in earlier versions. * Fixed in [10.17.0](/releasenotes/studio-pro/10.17/#fix-finished-parallel-split). -* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide/version-control-menu/#show-changes) dialog box. +* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide10/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide10/version-control-menu/#show-changes) dialog box. * Fixed in [10.18.0](/releasenotes/studio-pro/10.18/#fix-line-endings). ## 10.16.0 {#10160} @@ -35,11 +35,11 @@ weight: 84 #### Offline Data Support for Progressive Web Apps on iOS -Offline data can now be used on PWAs (Progressive Web Apps) running on iOS. For more information on PWA capabilities, see [Progressive Web App](/refguide/mobile/introduction-to-mobile-technologies/progressive-web-app/). +Offline data can now be used on PWAs (Progressive Web Apps) running on iOS. For more information on PWA capabilities, see [Progressive Web App](/refguide10/mobile/introduction-to-mobile-technologies/progressive-web-app/). #### Non-Interrupting Timer Boundary Events (GA) -Non-interrupting timer boundary events are now released for general availability. This feature triggers a boundary flow in workflows if an activity exceeds its expected duration, based on a timer that is defined on the boundary event. A boundary flow runs in parallel to the workflow activity they are attached to, without interrupting the main process. For more information, see [Boundary Events](/refguide/workflow-boundary-events/). +Non-interrupting timer boundary events are now released for general availability. This feature triggers a boundary flow in workflows if an activity exceeds its expected duration, based on a timer that is defined on the boundary event. A boundary flow runs in parallel to the workflow activity they are attached to, without interrupting the main process. For more information, see [Boundary Events](/refguide10/workflow-boundary-events/). #### Other New Features @@ -49,7 +49,7 @@ We added Structure mode to macOS as an [experimental feature](/releasenotes/beta * We improved the performance of the workflow synchronization during startup. (Ticket 218740) * The External Database Connector now supports SSL and certificate-based authentication for secure connections and encrypted communication to PostgreSQL. For more information, see the [Use Certificate-Based Authentication for PostgreSQL Connections](/appstore/modules/external-database-connector/#postgres-ssl) section of *External Database Connector*. (Ticket 223212) -* It is now possible to customize the response of published OData services when retrieving data from an entity that uses a microflows to read/update/insert/delete. The headers, status code, and response body can be changed. For more information, see [Published OData Entity](/refguide/published-odata-entity/) and [Published OData Microflow](/refguide/published-odata-microflow/). +* It is now possible to customize the response of published OData services when retrieving data from an entity that uses a microflows to read/update/insert/delete. The headers, status code, and response body can be changed. For more information, see [Published OData Entity](/refguide10/published-odata-entity/) and [Published OData Microflow](/refguide10/published-odata-microflow/). * We improved the loading of app-specific settings such as the active configuration, the current language code, and private constant values. When you open an app in a newer version, Studio Pro searches the app-specific settings of previous versions and copies those settings to the newer version. * We set textContentType="password" on mobile PasswordInput component (iOS only) to improve the integration with password managers. This enables the password autofill functionality on iOS, so that when you tap on the password input it will suggest getting it from a password manager app on your device. * We added support for PostgreSQL 17. @@ -73,7 +73,7 @@ We added Structure mode to macOS as an [experimental feature](/releasenotes/beta * You are now prompted to pull changes if there are incoming commits during the initial stage of the **Merge changes here** or **Revert a commit** operations. This ensures smoother experience. * The styling of the version control buttons (**Branch Status**, **Incoming Commits**, **Outgoing Commits**) located on the status bar at the bottom of Studio Pro is updated. * For a repository *core.longpath* option is set to `true` to support long path on Windows. -* We made it possible to move forwards and backwards through your editing history to show the documents you have recently worked on. The feature can be enabled via **Edit > Preferences > New Features** which results in two new buttons in the Studio Pro top bar and also two new menu items **Edit > Back** and **Edit > Forward** with shortcut keys Ctrl + - and Ctrl + Shift + - respectively. For more information, see the [Menu Item Overview](/refguide/edit-menu/#overview) section in *Edit Menu.* +* We made it possible to move forwards and backwards through your editing history to show the documents you have recently worked on. The feature can be enabled via **Edit > Preferences > New Features** which results in two new buttons in the Studio Pro top bar and also two new menu items **Edit > Back** and **Edit > Forward** with shortcut keys Ctrl + - and Ctrl + Shift + - respectively. For more information, see the [Menu Item Overview](/refguide10/edit-menu/#overview) section in *Edit Menu.* * We now support the *.webp* extension when uploading images, as well as in image collections. This means you can use it for both static and dynamic content. * We deprecated the Mendix Runtime API call `ICore#addSessionCookies` and replaced it with `ICore#addMendixCookies`. This new API call does not need the path the application is running on. * We improved the consistency error that appears when an app has unspecified private constant values in the active configuration. This consistency error is now more descriptive, has *Element* and *Document* specified, and double-clicking it shows the app settings. @@ -117,5 +117,5 @@ We added Structure mode to macOS as an [experimental feature](/releasenotes/beta * A finished parallel split path that is removed from a running workflow instance wrongly leads to a versioning conflict. Please note that "path" was called "branch" in earlier versions. * Fixed in [10.17.0](/releasenotes/studio-pro/10.17/#fix-finished-parallel-split). -* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide/version-control-menu/#show-changes) dialog box. +* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide10/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide10/version-control-menu/#show-changes) dialog box. * Fixed in [10.18.0](/releasenotes/studio-pro/10.18/#fix-line-endings). diff --git a/content/en/docs/releasenotes/studio-pro/10/10.17.md b/content/en/docs/releasenotes/studio-pro/10/10.17.md index e504c5e568a..9419b4d58e5 100644 --- a/content/en/docs/releasenotes/studio-pro/10/10.17.md +++ b/content/en/docs/releasenotes/studio-pro/10/10.17.md @@ -17,22 +17,22 @@ weight: 83 #### Consumed REST Services (GA) -The Consumed REST Service document is now released for general availability for Windows. This document allows you to integrate with REST services faster. You can build REST requests, test them directly, and convert their response to entities without building any of the mappings manually. For more information, see [Consumed REST Services](/refguide/consumed-rest-service/). +The Consumed REST Service document is now released for general availability for Windows. This document allows you to integrate with REST services faster. You can build REST requests, test them directly, and convert their response to entities without building any of the mappings manually. For more information, see [Consumed REST Services](/refguide10/consumed-rest-service/). #### Localized Studio Pro Interface (Beta) -We added Japanese, Chinese, Korean, and German translations of the Studio Pro interface as a [beta](/releasenotes/beta-features/) feature. This means you can work more easily in your own language. The setting can be found in the [Work environment](/refguide/preferences-dialog/#work-environment-tab) tab of the Preferences dialog. +We added Japanese, Chinese, Korean, and German translations of the Studio Pro interface as a [beta](/releasenotes/beta-features/) feature. This means you can work more easily in your own language. The setting can be found in the [Work environment](/refguide10/preferences-dialog/#work-environment-tab) tab of the Preferences dialog. #### Other New Features -* We now allow you to define parameters of microflows and nanoflows as optional using the [Argument](/refguide/parameter/#argument) property. This means they can be called with an empty argument expression. Additionally, you can define the default value for when the parameters are called with an empty expression. When a parameter is added as an optional parameter, updating the parameter mappings is also optional. This means you can effectively use the optional parameters to easily add new parameters without having to update all of your calling microflows/nanoflows/pages. +* We now allow you to define parameters of microflows and nanoflows as optional using the [Argument](/refguide10/parameter/#argument) property. This means they can be called with an empty argument expression. Additionally, you can define the default value for when the parameters are called with an empty expression. When a parameter is added as an optional parameter, updating the parameter mappings is also optional. This means you can effectively use the optional parameters to easily add new parameters without having to update all of your calling microflows/nanoflows/pages. * We introduced Native Template 10 for native apps in 10.17 and above. This upgrade allows you to take advantage of newer React features. For details on migrating and resolving breaking changes, see the [Native Template release notes](/releasenotes/mobile/nt-10-rn/#1000). * We added an iterator index variable `$currentIndex` to loops in nanoflows and microflows. * The modernized version of the System Text editor is now enabled by default. It is still possible to opt-out in the Studio Pro settings. -* We added a new tab to App Configurations called [Headers](/refguide/configuration/#headers). This can be used to locally configure headers that will be used during development. There is a list of pre-defined headers (currently, Content-Security-Policy is the only pre-defined header), but you can also add any custom header. Use custom headers with caution, as incorrect values can break your application. +* We added a new tab to App Configurations called [Headers](/refguide10/configuration/#headers). This can be used to locally configure headers that will be used during development. There is a list of pre-defined headers (currently, Content-Security-Policy is the only pre-defined header), but you can also add any custom header. Use custom headers with caution, as incorrect values can break your application. * We added support for the *mx.parser* in the React Client API. * We added the option to start the runtime automatically from a configuration file. In this case M2EE commands are no longer needed for startup. -* We released new CLI command that allows you to see statistics on unit sizes in your app. For more information, see [MPR Analyze Command](/refguide/mx-command-line-tool/analyze-mpr/). +* We released new CLI command that allows you to see statistics on unit sizes in your app. For more information, see [MPR Analyze Command](/refguide10/mx-command-line-tool/analyze-mpr/). ### Improvements @@ -40,17 +40,17 @@ We added Japanese, Chinese, Korean, and German translations of the Studio Pro in * We improved the Beta version of the access rule editor based on the user feedback. * We improved the workflow modeling experience by automatically moving any remaining activities to the parent flow when a final outcome of an activity is deleted. * We streamlined adding boundary events by removing the event type selector, making it faster and easier for users. -* We aligned the [microflow settings](/refguide/on-click-event/#microflow-settings) for **Execution**, **Confirmation** and **Advanced** sections when configuring a microflow call for different widgets (for example, a data container or a button). (This is based on submitted ideas from various users: [Jordy Delahaije](https://community.mendix.com/link/space/studio-pro/ideas/3676), [Jason Teunissen](https://community.mendix.com/link/space/user-experience/ideas/1971), [Joël Boosman](https://community.mendix.com/link/space/microflows/ideas/2470), [Jannes Houben](https://community.mendix.com/link/space/widgets/ideas/1868), and several other. Thank you all!) -* We added [Mendix Blog](https://www.mendix.com/blog/) and [Mendix Medium](https://medium.com/mendix) posts as data sources for [Maia Chat](/refguide/maia-chat/). -* For [Maia Domain Model Generator](/refguide/domain-model-generator/), we now return dynamic responses to the questions asked. You can now have meaningful follow-up conversations while generating a domain model. +* We aligned the [microflow settings](/refguide10/on-click-event/#microflow-settings) for **Execution**, **Confirmation** and **Advanced** sections when configuring a microflow call for different widgets (for example, a data container or a button). (This is based on submitted ideas from various users: [Jordy Delahaije](https://community.mendix.com/link/space/studio-pro/ideas/3676), [Jason Teunissen](https://community.mendix.com/link/space/user-experience/ideas/1971), [Joël Boosman](https://community.mendix.com/link/space/microflows/ideas/2470), [Jannes Houben](https://community.mendix.com/link/space/widgets/ideas/1868), and several other. Thank you all!) +* We added [Mendix Blog](https://www.mendix.com/blog/) and [Mendix Medium](https://medium.com/mendix) posts as data sources for [Maia Chat](/refguide10/maia-chat/). +* For [Maia Domain Model Generator](/refguide10/domain-model-generator/), we now return dynamic responses to the questions asked. You can now have meaningful follow-up conversations while generating a domain model. * We added the ability to change the Studio Pro log level via the **Help Menu > Support Tools**. * You can now enable a simplified version of the dialog box that appears when Studio Pro is executing an operation via the **Help Menu** > **Support Tools**. * We optimized the memory consumption when using the **Refresh** button in **Stories** and when closing an app after the **App Settings** dialog box was opened. * We updated the version of .NET Runtime Studio Pro uses to version 8.0.10. * We improved the consistency error for the location of published OData and REST services in Studio Pro. Studio Pro now checks that the location does not start with the URL prefix configured in the app's runtime settings, rather than checking for the static value `p`. * We now support the OpenTelemetry Micrometer registry. Using this registry metrics can be sent with the OpenTelemetry protocol. It can be configured using the `opentelemetry` registry type. -* We added a [new setting](/refguide/preferences-dialog/#debug-info) to **Preferences** called **Generate Full Debug Info** that allows you to include full debug information when compiling Java actions. -* Call Home licensing has been improved so that any node can report license usage to the license server. Only one node will send the report, but it will not necessarily be the one specified by the setting [`com.mendix.core.isClusterSlave`](/refguide/custom-settings/#commendixcoreisClusterSlave). +* We added a [new setting](/refguide10/preferences-dialog/#debug-info) to **Preferences** called **Generate Full Debug Info** that allows you to include full debug information when compiling Java actions. +* Call Home licensing has been improved so that any node can report license usage to the license server. Only one node will send the report, but it will not necessarily be the one specified by the setting [`com.mendix.core.isClusterSlave`](/refguide10/custom-settings/#commendixcoreisClusterSlave). * We added Git process command line interface logging to improve traceability and debugging of version control activities. * We added a new icon in the **History** dialog box to mark revisions where MPR format of this revision and previous revision is different. * We improved code syntax highlighting in certain editors especially in the dark mode. @@ -72,11 +72,11 @@ We added Japanese, Chinese, Korean, and German translations of the Studio Pro in * We fixed an issue that resulted in an **Oops** pop-up window when using the Combo Box widget and accessing its **Properties** pane. (Ticket 231451) * We fixed an issue with external entities having a key containing a string of unlimited length. Even after setting a length limit, the database table for the key still had unlimited length, which was a problem for databases that did not support indexes on unlimited strings. (Ticket 231700). * We fixed an issue where variables and captions disappeared in the microflow editor when using the **Send REST Request (beta)** action. (Ticket 232567) -* We fixed an issue during app deployment: widgets with [On-change events](/refguide/on-click-event/#on-change) accepting parameters triggered an error when used inside a snippet. (Ticket 233500) +* We fixed an issue during app deployment: widgets with [On-change events](/refguide10/on-click-event/#on-change) accepting parameters triggered an error when used inside a snippet. (Ticket 233500) * We have fixed an issue when the sidebar was shown on a different page: the sidebar was shown on the main page. * We fixed an issue where a service worker in a PWA cached the *index.html*. This caused issues when a *new index.html* was generated, for instance, when migrating an application from the Dojo to the React client. * We fixed an issue where an **Oops** pop-up window was displayed when opening the **Page Settings** dialog. Specifically, this occurred when opening the **Page Settings** dialog of a **Create object** action from a menu item. -* We fixed an issue where an **Oops** pop-up window was displayed when adding or changing the [custom validation](/refguide/common-widget-properties/#custom-validation) for a widget. +* We fixed an issue where an **Oops** pop-up window was displayed when adding or changing the [custom validation](/refguide10/common-widget-properties/#custom-validation) for a widget. * We fixed an issue where opening a new chat in Maia shortly after sending a message resulted in an error. * We fixed an error that occurred in the **Call external action** activity of a microflow. * We fixed an issue that the Version Selector remained open after launching Studio Pro. @@ -100,6 +100,6 @@ We added Japanese, Chinese, Korean, and German translations of the Studio Pro in ### Known Issues -* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide/version-control-menu/#show-changes) dialog box. +* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide10/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide10/version-control-menu/#show-changes) dialog box. * Fixed in [10.18.0](/releasenotes/studio-pro/10.18/#fix-line-endings). * The body for outbound REST requests, sent by either a **Call REST service** or a **Send REST request** activity, is incorrectly formatted using ISO-8859-1 encoding instead of UTF-8, which is the applied encoding for Studio Pro versions up to 10.16. (Tickets 235194, 237487) diff --git a/content/en/docs/releasenotes/studio-pro/10/10.18.md b/content/en/docs/releasenotes/studio-pro/10/10.18.md index 96433afd750..ac8e0c22291 100644 --- a/content/en/docs/releasenotes/studio-pro/10/10.18.md +++ b/content/en/docs/releasenotes/studio-pro/10/10.18.md @@ -34,7 +34,7 @@ This is the [MTS](/releasenotes/studio-pro/lts-mts/#mts) version 10 release for * We fixed an issue where Studio Pro crashed when working with the clipboard. (Ticket 240122) * We have fixed an issue that caused the bottom bar to disappear when a user was using nanoflow-based homepages with clear history. (Ticket 240586) * We fixed an issue in the microflow editor where a Maia recommendation was not placed correctly. -* We fixed the following issues affecting [tab attributes](/refguide/tab-container/#attribute): +* We fixed the following issues affecting [tab attributes](/refguide10/tab-container/#attribute): * We fixed an issue where configuring the default tab attribute with a page parameter resulted in a deployment error. The selector of this attribute no longer allows selecting a page variable directly. Now, the attribute must be accessed via a data view. * We fixed an issue where the default tab attribute was not being properly validated, and thus lead to incorrect behavior during deployment or at runtime. These scenarios are now correctly checked, and if applicable result in a consistency error. * We fixed an issue where a number for the default tab attribute larger than the number of tabs resulted in an error when rendering the tab container. @@ -133,8 +133,8 @@ This is the [MTS](/releasenotes/studio-pro/lts-mts/#mts) version 10 release for * We fixed a [known issue](#ki-outbound-rest-request) in the serialization of the request body of two things: Call REST actions that use a custom request template, and Consumed REST operations that use a fixed string body. They now use UTF-8 encoding instead of ISO-8859-1. (Ticket 235194) * We fixed an issue where filtering over system associations *owner* and*'changedBy* in a data grid 2 column failed to render. (Tickets 231167, 233168) * We fixed an issue where items were incorrectly rendered as disabled in the native client in some cases. (Ticket 232033) -* We fixed an issue with conversion where variables on a page were presented in a different order. This issue caused certain [widget event actions](/refguide/on-click-event/#actions) to change when upgrading to Studio Pro10.4 or above. Specifically the arguments of [Call Microflow](/refguide/on-click-event/#microflow-arguments) and [Call Nanoflow](/refguide/on-click-event/#nanoflow) referring to a selection were changed if the widget was nested in another widget exposing the same entity. Note that this change does not correct previously converted apps which may now have an unintended argument configuration for Event Actions. (Ticket 233988) -* We fixed a bug in the text box and text area widgets where the caret sometimes jumped to the end of the text during typing when the **While user is entering data** [on change behavior](/refguide/text-area/#while-user-is-entering-data) option was used. This occurred when a neighboring widget used the same attribute in an expression, for example, for Conditional Visibility. (Ticket 234672) +* We fixed an issue with conversion where variables on a page were presented in a different order. This issue caused certain [widget event actions](/refguide10/on-click-event/#actions) to change when upgrading to Studio Pro10.4 or above. Specifically the arguments of [Call Microflow](/refguide10/on-click-event/#microflow-arguments) and [Call Nanoflow](/refguide10/on-click-event/#nanoflow) referring to a selection were changed if the widget was nested in another widget exposing the same entity. Note that this change does not correct previously converted apps which may now have an unintended argument configuration for Event Actions. (Ticket 233988) +* We fixed a bug in the text box and text area widgets where the caret sometimes jumped to the end of the text during typing when the **While user is entering data** [on change behavior](/refguide10/text-area/#while-user-is-entering-data) option was used. This occurred when a neighboring widget used the same attribute in an expression, for example, for Conditional Visibility. (Ticket 234672) * We fixed an issue where using the S3 storage service resulted in a warning like *If you are using Java 9+, you will need to include javax.xml.bind:jaxb-api as a dependency.*. (Ticket 235163, 235904) * We fixed an error where apps got stuck when their internet connections were unstable. * We fixed a bug where disposed tool windows were still considered active in the UI, causing Studio Pro to crash when the active editor changed. @@ -169,7 +169,7 @@ We introduced a new step during a commit process that checks for a large MPR fil #### Version Control and Storage Format -With Studio Pro 10.18, we are releasing a public beta of [MPRv2 format](/refguide/version-control/#mpr-format), a new storage format for Mendix apps that ensures a good performance over time. +With Studio Pro 10.18, we are releasing a public beta of [MPRv2 format](/refguide10/version-control/#mpr-format), a new storage format for Mendix apps that ensures a good performance over time. Version Control systems, like Git, store changes in your files with each commit. An app modeled in Mendix is traditionally stored in a single *.mpr* file, which is essentially a database that contains data for all documents, such as microflows, workflows, pages. Git is not well-equipped to determine and store the differences in this case, which leads to rapid repository growth. This in turn can lead to longer download times when cloning your app. @@ -179,25 +179,25 @@ Upgrading to the new format is optional and can be done per branch. #### Security Overview (Beta) -We are introducing a new beta feature that provides an overview of your app’s security. You can now get an overview of access rules across your application, making it easier to review and ensure the correct security setup for user roles in each module. Access this overview from the **App** menu by selecting **Show Security Overview**. Currently, this feature supports entity access rules, and we will extend support to page, microflow, and nanoflow access rules soon. For more information, see [Security Overview](/refguide/security-overview/). +We are introducing a new beta feature that provides an overview of your app’s security. You can now get an overview of access rules across your application, making it easier to review and ensure the correct security setup for user roles in each module. Access this overview from the **App** menu by selecting **Show Security Overview**. Currently, this feature supports entity access rules, and we will extend support to page, microflow, and nanoflow access rules soon. For more information, see [Security Overview](/refguide10/security-overview/). #### Other New Features -* We introduced [UI Recommender](/refguide/ui-recommender/) to the page editor, which allows users to easily add new widgets to a page without having to lose context of what they are currently working on. -* The React client is now generally available. For more information, see [Mendix React Client](/refguide/mendix-client/react/). For more guidance on upgrading widgets, see [Widget Conversion Limitations](/refguide/mendix-client/widget-conversion-limitations/). -* We added [Maia Learn](/refguide/maia-learn/), a way for new developers to get quickly up to speed with Mendix core concepts. It is available through the toggle button in Maia Chat. +* We introduced [UI Recommender](/refguide10/ui-recommender/) to the page editor, which allows users to easily add new widgets to a page without having to lose context of what they are currently working on. +* The React client is now generally available. For more information, see [Mendix React Client](/refguide10/mendix-client/react/). For more guidance on upgrading widgets, see [Widget Conversion Limitations](/refguide10/mendix-client/widget-conversion-limitations/). +* We added [Maia Learn](/refguide10/maia-learn/), a way for new developers to get quickly up to speed with Mendix core concepts. It is available through the toggle button in Maia Chat. * We added a welcome page to Studio Pro that opens on every new version installed. It contains links to the release notes, Mendix platform blog, links within Studio Pro to Maia Learn and Maia Chat. -* We added the ability to view file changes and resolve conflicts directly from the **Changes** pane in Studio Pro. You can now open the file comparison tool to review modified files or navigate to the folder containing any changed file listed in the **Changes** pane. To resolve conflicts, simply choose to keep your local version or accept the incoming server version. This update streamlines the management of both project and disk files. For more information, see the [Status](/refguide/using-version-control-in-studio-pro/#status) section in *Using Version Control in Studio Pro*. -* We added a new option: [Generate Bill of Materials](/refguide/app-menu/#generate-bill-of-materials) that is now available under **App** > **Tools**. -* We added a new setting called [Editor Tabs Closing Policy](/refguide/preferences-dialog/#closing-policy) that allows to limit the amount of concurrent working area tabs. -* We added the ability to export the translatable text in your app and re-import it using `mx.exe`. Use `mx.exe translate --help` for an overview of the command line options. For more information, see the [mx translate Command](/refguide/mx-command-line-tool/app/#translate) section in *App Commands*. +* We added the ability to view file changes and resolve conflicts directly from the **Changes** pane in Studio Pro. You can now open the file comparison tool to review modified files or navigate to the folder containing any changed file listed in the **Changes** pane. To resolve conflicts, simply choose to keep your local version or accept the incoming server version. This update streamlines the management of both project and disk files. For more information, see the [Status](/refguide10/using-version-control-in-studio-pro/#status) section in *Using Version Control in Studio Pro*. +* We added a new option: [Generate Bill of Materials](/refguide10/app-menu/#generate-bill-of-materials) that is now available under **App** > **Tools**. +* We added a new setting called [Editor Tabs Closing Policy](/refguide10/preferences-dialog/#closing-policy) that allows to limit the amount of concurrent working area tabs. +* We added the ability to export the translatable text in your app and re-import it using `mx.exe`. Use `mx.exe translate --help` for an overview of the command line options. For more information, see the [mx translate Command](/refguide10/mx-command-line-tool/app/#translate) section in *App Commands*. * We added consistency checks for custom *index.html* files to inform developers in case they accidentally hard-code templated values. * Data Importer now allows Excel and CSV files to be used as a source for creation of Import Mapping, which further can be used to leverage all the benefits of Import Mapping. * We introduced Native Template 11 for native apps in 10.18 and above. This upgrade disables support JavaScriptCore (JSC) in favor of Hermes. For details on migrating and resolving breaking changes, see the [Native Template 11 release notes](/releasenotes/mobile/nt-11-rn/#jsc-hermes). ### Improvements -* [Maia Domain Model Generator](/refguide/domain-model-generator/), a way to generate domain models using natural language, is now enabled by default while it was previously hidden behind a **New Features** setting. It is now also supported in existing domain models. It is still, however, in experimental phase. +* [Maia Domain Model Generator](/refguide10/domain-model-generator/), a way to generate domain models using natural language, is now enabled by default while it was previously hidden behind a **New Features** setting. It is now also supported in existing domain models. It is still, however, in experimental phase. * We added various UI improvements to Consumed REST service for better user experience. * We added progress indicator while sending a request in Consumed REST service document. * We added progress indicator while validating JSON body in Consumed REST service document. @@ -207,7 +207,7 @@ We are introducing a new beta feature that provides an overview of your app’s * We added the `WebSocketEndpointConfiguration` interface to the Mendix Runtime API. An implementation of this interface can be passed to the [`Core.addWebSocketEndpoint`](https://apidocs.rnd.mendix.com/10/runtime/com/mendix/core/Core.html#addWebSocketEndpoint(java.lang.String,javax.websocket.Endpoint)) method to configure subprotocols and modify the handshake for web sockets. Modifying the handshake can be used to update response headers. * We implemented a new method, [`getDatabaseSettingAsString()`](https://apidocs.rnd.mendix.com/10/runtime/com/mendix/core/conf/Configuration.html#getDatabaseSettingAsString()) in the Mendix Runtime API to access database settings. * We now use the `ApplicationRootUrl` setting to determine if application cookies should be marked as `Secure`. Previously, we were only checking `X-Forwarded-Proto` and `X-Forwarded-Scheme` headers. -* We improved the naming of *mine/theirs* in the **Changes** pane when merging or rebasing to more clearly describe whether changes are coming in from the server or have been made locally. For more information, see [Combining Changes and Conflict Resolution](/refguide/merge-algorithm/). +* We improved the naming of *mine/theirs* in the **Changes** pane when merging or rebasing to more clearly describe whether changes are coming in from the server or have been made locally. For more information, see [Combining Changes and Conflict Resolution](/refguide10/merge-algorithm/). * We improved accessibility for the **Close** button in delete confirmation dialog boxes. It can now be reached with tab, and has a better `aria-label`. * We increased the coverage of localization of the Studio Pro user interface by 25%. * We improved the quality of Japanese translations based on feedback from users. diff --git a/content/en/docs/releasenotes/studio-pro/10/10.19.md b/content/en/docs/releasenotes/studio-pro/10/10.19.md index 744f442fbd7..be43821f4a0 100644 --- a/content/en/docs/releasenotes/studio-pro/10/10.19.md +++ b/content/en/docs/releasenotes/studio-pro/10/10.19.md @@ -14,7 +14,7 @@ weight: 81 #### Online Synchronization Mode (Beta) -We introduced a new feature for offline apps, [Online Synchronization Mode (Beta)](/refguide/mobile/building-efficient-mobile-apps/offlinefirst-data/online-sync-mode/), that allows app developers to define specific entities as **online available**. Defining an entity as **online available** means that the offline app will execute queries on these entities on the Mendix Runtime Server instead of the offline database. Of course, this is only possible when the app has an internet connection. Employing this feature reduces the need to have to synchronize more data then strictly necessary for offline apps as certain parts can become only available when having a connection. +We introduced a new feature for offline apps, [Online Synchronization Mode (Beta)](/refguide10/mobile/building-efficient-mobile-apps/offlinefirst-data/online-sync-mode/), that allows app developers to define specific entities as **online available**. Defining an entity as **online available** means that the offline app will execute queries on these entities on the Mendix Runtime Server instead of the offline database. Of course, this is only possible when the app has an internet connection. Employing this feature reduces the need to have to synchronize more data then strictly necessary for offline apps as certain parts can become only available when having a connection. These entities can be configured as online available by configuring the synchronization mode in the offline navigation profiles. A new option has been introduced (**Online**) to be selected per entity that you want to have this functionality for. @@ -28,11 +28,11 @@ This feature is currently in Beta. It has to be explicitly enabled via the **Edi #### View Entities (Beta) -We added **View Entities** to the domain model editor. A view entity represents the result set of a named OQL query and can be used similarly to a persistable entity. This concept is similar to the function of views in general database technology. Whenever a view entity is retrieved via a page or a microflow, the corresponding OQL query executes to fetch the relevant data, meaning the results are calculated dynamically and are not stored in a table. View entities can also reference other view entities, allowing for more complex structures and better data organization. The **View Entity Edit** dialog box helps you write correct OQL queries by validating your query as you write, and by displaying a preview table that allows you to preview the resulting shape of your view entity using live data. For more information, see [View Entities](/refguide/view-entities/). +We added **View Entities** to the domain model editor. A view entity represents the result set of a named OQL query and can be used similarly to a persistable entity. This concept is similar to the function of views in general database technology. Whenever a view entity is retrieved via a page or a microflow, the corresponding OQL query executes to fetch the relevant data, meaning the results are calculated dynamically and are not stored in a table. View entities can also reference other view entities, allowing for more complex structures and better data organization. The **View Entity Edit** dialog box helps you write correct OQL queries by validating your query as you write, and by displaying a preview table that allows you to preview the resulting shape of your view entity using live data. For more information, see [View Entities](/refguide10/view-entities/). #### Other New Features -* We introduced OQL version 2, which contains changes in the OQL engine. For the list of changes, see [OQL version 2 features](/refguide/oql-v2/). By default, OQL v2 is disabled. It can be enabled by setting the [OQL version 2](/refguide/app-settings/#oql-version-2) app setting to *Yes*. You will have to switch to OQL v2 in order to use [view entities](/refguide/view-entities/). +* We introduced OQL version 2, which contains changes in the OQL engine. For the list of changes, see [OQL version 2 features](/refguide10/oql-v2/). By default, OQL v2 is disabled. It can be enabled by setting the [OQL version 2](/refguide10/app-settings/#oql-version-2) app setting to *Yes*. You will have to switch to OQL v2 in order to use [view entities](/refguide10/view-entities/). * We added a feedback message for when users copy-paste interrupting boundary events. This message appears if an activity has reached its maximum allowed boundary events and the user attempts to add another one. * We introduced a new feature for the External Database Connector that uses an updated approach for connecting to databases during design time. This functionality enhances consistency between design time and runtime environments. Make sure to run the app locally with the latest External Database Connector before connecting to the database and running a query. @@ -40,10 +40,10 @@ We added **View Entities** to the domain model editor. A view entity represents * We added logging for an object or an attribute found in XML or JSON payload but not mapped in import mapping document. (Ticket 213729) * We added more support for SOAP arrays in **Import mapping** documents. Previously, only array objects with `item` as a name were supported. Now, any name is allowed for array objects. (Ticket 213729) -* [Current object tokens](/refguide/xpath-keywords-and-system-variables/#object-related) in XPath constraints are now checked if the type of the current object token matches the expected type in the XPath constraint expression. (Ticket 223428) +* [Current object tokens](/refguide10/xpath-keywords-and-system-variables/#object-related) in XPath constraints are now checked if the type of the current object token matches the expected type in the XPath constraint expression. (Ticket 223428) * We no longer prefix the resulting variable name of list operation actions with "new". {{% alert color="info" %}}This is based on an [upvoted idea from Maarten Bongers](https://community.mendix.com/link/space/microflows/ideas/3725) submitted to the Mendix Community. Thanks, Maarten!{{% /alert %}} -* It is now possible to select and wrap multiple widgets in a [container](/refguide/container/) by right-clicking the context menu. +* It is now possible to select and wrap multiple widgets in a [container](/refguide10/container/) by right-clicking the context menu. {{% alert color="info" %}}This is based on submitted ideas from various users: [Ceydanur Bakanoğlu](https://community.mendix.com/link/space/studio-pro/ideas/4179), [Bart Heijs](https://community.mendix.com/link/space/studio-pro/ideas/3626) and several others. Thank you all!{{% /alert %}} * When double-clicking a consistency error of an access rule in the **Errors** pane of Studio Pro, we now open the access rule editor with the edit view for this access rule. This improvement is for the Beta release of the new access rule editor only. * In the new entity access rules editor, we now disable the toggles for entity rights and the member access when the entity lacks the corresponding capability. @@ -63,7 +63,7 @@ We added **View Entities** to the domain model editor. A view entity represents * When using PostgreSQL or MariaDB/MySQL and a `DatabaseJdbcUrl` that starts with `jdbc:aws-wrapper:` we now use the [AWS Wrapper JDBC Driver](https://github.com/aws/aws-advanced-jdbc-wrapper) to connect to the database. * We have enhanced the Consumed REST Service editor on macOS by enabling copy and paste functionality via the context menu for the URL field. * We improved the **Integration** pane for macOS, which now features an improved design. It also now uses the v5 Catalog Search API and lists search results in order of relevancy, instead of alphabetically. -* [Published OData services](/refguide/published-odata-services/) can now use an authentication microflow that takes a List of System.HttpHeader as a parameter. For newly created authentication microflows, this parameter will be added by default. +* [Published OData services](/refguide10/published-odata-services/) can now use an authentication microflow that takes a List of System.HttpHeader as a parameter. For newly created authentication microflows, this parameter will be added by default. * We changed the colors of the CRUD capability indicator when editing an external entity. This makes it more easy to read in dark mode. * We improved the behavior of Studio Pro when you delete a private constant value from a configuration. Studio Pro now no longer keeps the private value stored in the settings. * For mobile database library, we switched from `@mendix/react-native-sqlite-storage` to `@op-engineering/op-sqlite`. This improves the following: @@ -75,10 +75,10 @@ We added **View Entities** to the domain model editor. A view entity represents * We implemented the method `com.mendix.systemwideinterfaces.core.IMendixObjectMember.getOriginalValue` for database binary members (`com.mendix.core.objectmanagement.member.MendixBinary`). The rollback functionality will work for this member type from now on. * We added tracing information in `LogMessage` in the logging API. This can be used by log subscribers. * For the `console_json` log subscriber we now include tracing information, if `includeTracingInformation` is set to `true` when creating the log subscriber. Additionally `traceIdAttribute` and `spanIdAttribute` can be passed to configure what the attributes of the trace and span IDs should be in the output JSON log. -* We changed the way that OpenTelemetry is [configured](/refguide/tracing-in-runtime/#min-configuration) for the tracing beta. The project should now run with the OpenTelemetry Java agent in order to configure and enable tracing. The runtime settings related to tracing were removed. -* We made the usage of the [variable name](/refguide/java-actions/#variable-name) more consistent when adding Java or JavaScript action calls from the **Toolbox**, toolbar, App Explorer, or **Logic Recommender**. +* We changed the way that OpenTelemetry is [configured](/refguide10/tracing-in-runtime/#min-configuration) for the tracing beta. The project should now run with the OpenTelemetry Java agent in order to configure and enable tracing. The runtime settings related to tracing were removed. +* We made the usage of the [variable name](/refguide10/java-actions/#variable-name) more consistent when adding Java or JavaScript action calls from the **Toolbox**, toolbar, App Explorer, or **Logic Recommender**. * We expanded the message that is logged when a runtime operation fails to be executed for security reasons with a short description of that runtime operation. -* We updated the [widget conversions](/refguide/mendix-client/react/#widgets) to a combo box to include the read-only style of a drop-down, a reference selector and an input reference set selector. +* We updated the [widget conversions](/refguide10/mendix-client/react/#widgets) to a combo box to include the read-only style of a drop-down, a reference selector and an input reference set selector. * We updated the External Database Connector, which now supports connecting to any database by using the Java dependency specified by the user for the respective database in the module settings. * We updated remaining button labels in the **Changes** pane to use **local** and **server** instead of **mine** and **theirs** for selecting the source when resolving file conflicts. @@ -91,9 +91,9 @@ We added **View Entities** to the domain model editor. A view entity represents * We fixed an issue where list view item actions were not working correctly in the native client. (Tickets 232033, 237875, 238176) * We improved the memory usage of the Dojo client when running an app for an extended period of time by fixing several memory leaks that occurred when opening thousands of pages. (Ticket 232228) * We fixed an **Oops** pop-up window that appeared when opening the **View on Your device** dialog box while running an app with navigation profiles of the same kind. (Ticket 233598) -* We fixed an issue with conversion where variables on a page were presented in a different order. This issue caused certain [widget event actions](/refguide/on-click-event/#actions) to change when upgrading to Studio Pro 10.4 or above. Specifically the arguments of [Call Microflow](/refguide/on-click-event/#microflow-arguments) and [Call Nanoflow](/refguide/on-click-event/#nanoflow) referring to a selection were changed if the widget was nested in another widget exposing the same entity. Note that this change does not correct previously converted apps which may now have an unintended argument configuration for Event Actions. (Ticket 233988) +* We fixed an issue with conversion where variables on a page were presented in a different order. This issue caused certain [widget event actions](/refguide10/on-click-event/#actions) to change when upgrading to Studio Pro 10.4 or above. Specifically the arguments of [Call Microflow](/refguide10/on-click-event/#microflow-arguments) and [Call Nanoflow](/refguide10/on-click-event/#nanoflow) referring to a selection were changed if the widget was nested in another widget exposing the same entity. Note that this change does not correct previously converted apps which may now have an unintended argument configuration for Event Actions. (Ticket 233988) * We fixed an issue where the date format changed from 'dd-mm-yyyy' to 'dd-mm-y' when upgrading to Java 21. (Ticket 234598) -* We fixed a bug in the text box and text area widgets where the caret sometimes jumped to the end of the text during typing when the **While user is entering data** [on change behavior](/refguide/text-area/#while-user-is-entering-data) option was used. This occurred when a neighboring widget used the same attribute in an expression, for example, for Conditional Visibility. (Ticket 234672) +* We fixed a bug in the text box and text area widgets where the caret sometimes jumped to the end of the text during typing when the **While user is entering data** [on change behavior](/refguide10/text-area/#while-user-is-entering-data) option was used. This occurred when a neighboring widget used the same attribute in an expression, for example, for Conditional Visibility. (Ticket 234672) * We fixed an issue where using the S3 storage service resulted in a warning like *If you are using Java 9+, you will need to include javax.xml.bind:jaxb-api as a dependency.* (Ticket 235163, 235904) * We fixed an issue in the serialization of the request body of Call REST actions that use a custom request template and Consumed REST operations that use a fixed string body. It now uses UTF-8 encoding instead of ISO-8859-1. (Ticket 235194) * We fixed an issue where apps using the Dojo client broke due to browser extensions injecting scripts into the page. (Ticket 236663) diff --git a/content/en/docs/releasenotes/studio-pro/10/10.2.md b/content/en/docs/releasenotes/studio-pro/10/10.2.md index 6b7ca4f7fd9..59a3409db3d 100644 --- a/content/en/docs/releasenotes/studio-pro/10/10.2.md +++ b/content/en/docs/releasenotes/studio-pro/10/10.2.md @@ -17,25 +17,25 @@ weight: 98 #### Performance Improvements -* We improved the performance of the [Open App](/refguide/open-app-dialog/) dialog box. In some scenarios, it now takes less time to show the version numbers of the available apps. +* We improved the performance of the [Open App](/refguide10/open-app-dialog/) dialog box. In some scenarios, it now takes less time to show the version numbers of the available apps. #### Other Improvements * For requests to published REST and OData services, the Mendix Runtime no longer creates a session in the database. Now, it keeps the session within the Mendix Runtime instance. (Ticket 187479) * In published OData resources with an insert or update microflow, the Mendix Runtime is now more precise in reporting client errors. When the microflow causes a validation error that is not caused by a parameter, the microflow now returns a "500 Internal Server Error" rather than a "422 Unprocessable Content" error. -* We added support for publishing and consuming OData actions. This means you can now [publish a microflow](/refguide/published-odata-microflow/) in your OData service and call it using the new [Call external action](/refguide/call-external-action/) activity or consume it in another app. +* We added support for publishing and consuming OData actions. This means you can now [publish a microflow](/refguide10/published-odata-microflow/) in your OData service and call it using the new [Call external action](/refguide10/call-external-action/) activity or consume it in another app. * You can now update the contract of an OData service from the [Catalog](/catalog/) using a file or URL. -* Information about changes from your Git server is now fetched periodically, without directly applying the changes. Studio Pro displays the current state of the remote server and your local repository on the right side of the [status bar](/refguide/studio-pro-overview/#status-bar). Periodic background fetching can be configured or disabled in **Preferences** > [Version Control](/refguide/preferences-dialog/#version-control). Upcoming versions of Studio Pro will use this information to guide users better through the process of pushing and pulling. +* Information about changes from your Git server is now fetched periodically, without directly applying the changes. Studio Pro displays the current state of the remote server and your local repository on the right side of the [status bar](/refguide10/studio-pro-overview/#status-bar). Periodic background fetching can be configured or disabled in **Preferences** > [Version Control](/refguide10/preferences-dialog/#version-control). Upcoming versions of Studio Pro will use this information to guide users better through the process of pushing and pulling. * We updated the Git that is installed with Studio Pro to version 2.41.0.3-64-bit. -* We updated the [Native Template](/refguide/mobile/distributing-mobile-apps/building-native-apps/native-template/) to target Android 13 (API level 33) to retain compatibility with the Google Play Store. -* The **Start from spreadsheet** starting point now gives you the option to [generate overview and detail pages](/refguide/app-from-spreadsheet/#generating-pages) from the entities generated. -* We added the ability to preview images in the **Properties** pane for the [static image](/refguide/image/) and [dynamic image](/refguide/image-viewer/) widgets for pages and document templates. +* We updated the [Native Template](/refguide10/mobile/distributing-mobile-apps/building-native-apps/native-template/) to target Android 13 (API level 33) to retain compatibility with the Google Play Store. +* The **Start from spreadsheet** starting point now gives you the option to [generate overview and detail pages](/refguide10/app-from-spreadsheet/#generating-pages) from the entities generated. +* We added the ability to preview images in the **Properties** pane for the [static image](/refguide10/image/) and [dynamic image](/refguide10/image-viewer/) widgets for pages and document templates. * We added validation for the **Default value** property of Integer, Long, Decimal, and AutoNumber attribute types in dialog boxes and the **Properties** pane. * We added support for the **Value** property of attribute types along with controls that depend on its value in the **Properties** pane while we hide the **Value** radio button for AutoNumber, Binary, and Hashed String attribute types in both the **Properties** pane and dialog boxes, because the value is always **Stored**. * We added the possibility to quickly filter properties in the **Properties** pane by the name of a property or a group. * A **Context** data source of a data view can now select an entity path from any surrounding data widget, including other data views. * The return type of microflows and nanoflows is now determined automatically based on the expression used in the end event. -* We added the option to wait for all participant responses before completing a multi-user task in a workflow next to completing the task as soon as the final outcome is known. For more information, see the [Completion Moment](/refguide/multi-user-task/#completion-moment) section in *Multi-User Task*. +* We added the option to wait for all participant responses before completing a multi-user task in a workflow next to completing the task as soon as the final outcome is known. For more information, see the [Completion Moment](/refguide10/multi-user-task/#completion-moment) section in *Multi-User Task*. * We added support for running Mendix apps on nested URL paths (for example, `https://example.com/nested/path/mendix-app`). * We optimized the refreshing of the MxAssist Logic Bot menu, which can help with larger apps. * We updated dialog boxes to revert changes and close when an **Oops** pop-up window message appears after clicking **OK** in order to prevent unexpected behavior due to an inconsistent data state. @@ -60,8 +60,8 @@ weight: 98 * We fixed an issue where deployment failed when a [Data Grid 2](/appstore/modules/data-grid-2/) widget or a [Gallery](/appstore/modules/gallery/) widget used a database over an association with selection enabled. (Tickets 192500, 192875, 193161) * We fixed an issue where clicking the **New** grid button when using a page parameter caused a deployment error. (Ticket 192593) * We fixed an issue where importing a module from Studio Pro [10.0.0](/releasenotes/studio-pro/10.0/) incorrectly triggered the consistency error **CE7411** if the module contained a widget that called a page outside the imported module (for example, the **Go to** page of a reference selector in the Excel Importer module). (Tickets 192867, 193026, 193410, 193736) -* We fixed an issue where an app with the [Security level](/refguide/app-security/#security-level) set to **Production** threw an error if it contained a data widget using an association from a page or snippet parameter as its data source. -* We now show a specific error message instead of the previously shown generic error pop-up window when the [Show user task page](/refguide/show-task-page/) microflow activity fails to open a user task. +* We fixed an issue where an app with the [Security level](/refguide10/app-security/#security-level) set to **Production** threw an error if it contained a data widget using an association from a page or snippet parameter as its data source. +* We now show a specific error message instead of the previously shown generic error pop-up window when the [Show user task page](/refguide10/show-task-page/) microflow activity fails to open a user task. * We fixed an issue in published REST services for microflows that have an endless loop (for example, with one microflow that commits an object in its own before-commit event handler). This now gives the appropriate response with a "500 Internal Server Error." * We fixed an issue where an XPath expression like `//A[A_B/B/attr = 'value'][A_B/B = $param]` ignored the second constraint when its path ended in an entity name and was a prefix of the other path. Please note that Studio Pro does not allow the form `[A_B/B = $param]`, only the equivalent `[A_B = $param]` or `[A_B/B/id = $param]`. * We fixed an issue where a database or XPath over an association in an offline profile gave incorrect results when the starting point of the association was not the direct enclosing data container. @@ -81,5 +81,5 @@ weight: 98 * Fixed in [10.3.0](/releasenotes/studio-pro/10.3/#2644). * When merging a branch into a second branch which already contained all the commits from the first branch, additional commits are automatically created unnecessarily. * Fixed in [10.4.0](/releasenotes/studio-pro/10.4/#ac-ki-fix). -* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide/version-control-menu/#show-changes) dialog box. +* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide10/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide10/version-control-menu/#show-changes) dialog box. * Fixed in [10.18.0](/releasenotes/studio-pro/10.18/#fix-line-endings). diff --git a/content/en/docs/releasenotes/studio-pro/10/10.20.md b/content/en/docs/releasenotes/studio-pro/10/10.20.md index 2d48188e96b..1e05fa370a9 100644 --- a/content/en/docs/releasenotes/studio-pro/10/10.20.md +++ b/content/en/docs/releasenotes/studio-pro/10/10.20.md @@ -14,7 +14,7 @@ weight: 80 #### Interrupting Timer Boundary Events (Beta) -Following the general availability (GA) release of non-interrupting timer boundary events in Studio Pro 10.16, we have now introduced interrupting timer boundary events as a beta feature. With interrupting boundary events, you can abort the parent activity and initiate an alternative path. However, in the current version, it is not yet possible to jump back to the parent path. For more information, see [Boundary Events](/refguide/workflow-boundary-events/). +Following the general availability (GA) release of non-interrupting timer boundary events in Studio Pro 10.16, we have now introduced interrupting timer boundary events as a beta feature. With interrupting boundary events, you can abort the parent activity and initiate an alternative path. However, in the current version, it is not yet possible to jump back to the parent path. For more information, see [Boundary Events](/refguide10/workflow-boundary-events/). #### Other New Features @@ -31,7 +31,7 @@ Following the general availability (GA) release of non-interrupting timer bounda * We now update the System attributes changedDate and changedBy on commit, instead of after every change. This will make the `IMendixObject.hasChangedMemberValue` method more useful. (Ticket 152057) * We improved the performance of published OData services that use a **Read** microflow. When the client asks to expand associations, the runtime now performs a database query per association, rather than per object. (Ticket 234607) * The *openapi.json* document of a published REST service using a message definition mapping indicates that it can return both *xml* and *json*. It now lists *json* first, making that the default choice in the interactive documentation (Swagger UI) page. (Ticket 236715) -* We added the [sync-java-dependencies command](/refguide/mx-command-line-tool/app/#java-dependencies) to the mx command-line tool. Using this command you can synchronize managed Java dependencies. +* We added the [sync-java-dependencies command](/refguide10/mx-command-line-tool/app/#java-dependencies) to the mx command-line tool. Using this command you can synchronize managed Java dependencies. * We improved deployment speed for non-progressive web applications. * We now use generated BOM-refs for managed dependencies in the SBOM. * We improved the synchronization of scheduled events that happens at startup: the updates are now performed as cluster management tasks, so they can be performed by any node in the cluster. @@ -48,7 +48,7 @@ Following the general availability (GA) release of non-interrupting timer bounda * We have added a runtime setting `MaxRetrieveSize` that limits the maximum amount of objects the client can retrieve in a single retrieve operation. The default value of this settings is `1000`. * We improved the names of **View** entity associations. If you specify an alias in the OQL column, it will now use that alias as the association name. * We added support to the External Database Connector to enable saving SQL queries without running the query, which allows users to switch between queries without completing the workflow. -* We added support for merging module roles. When there is a merge conflict, this gives you more control over the resolution and allows you to combine the role changes instead of replacing the full list. For more information, see the [User Roles vs Module Roles](/refguide/security/#user-role) section of *Security*. +* We added support for merging module roles. When there is a merge conflict, this gives you more control over the resolution and allows you to combine the role changes instead of replacing the full list. For more information, see the [User Roles vs Module Roles](/refguide10/security/#user-role) section of *Security*. * We added a new menu option **Help** > **Support Tools** > **Refetch Repository** to fix the corrupted repository due to the *LibGit2Sharp.NotFoundException* exception. ### Fixes @@ -72,7 +72,7 @@ Following the general availability (GA) release of non-interrupting timer bounda * We fixed an issue in the workflow engine where it was impossible to continue a failed workflow that became incompatible, when event handlers were not set. * In the logic editors, we fixed a case where recommendations could not be generated for associations without a child entity. * We fixed an issue where closing the beta version of the mapping editor showed an error. -* We fixed the following issues affecting [tab attributes](/refguide/tab-container/#attribute): +* We fixed the following issues affecting [tab attributes](/refguide10/tab-container/#attribute): * We fixed an issue where configuring the default tab attribute with a page parameter resulted in a deployment error. The selector of this attribute no longer allows selecting a page variable directly. Now, the attribute must be accessed via a data view. * We fixed an issue where the default tab attribute was not being properly validated, and thus lead to incorrect behavior during deployment or at runtime. These scenarios are now correctly checked, and if applicable result in a consistency error. * We fixed an issue where a number for the default tab attribute larger than the number of tabs resulted in an error when rendering the tab container. @@ -105,7 +105,7 @@ Following the general availability (GA) release of non-interrupting timer bounda ### Breaking Changes -We fixed an issue in the runtime where published OData and REST services accepted the credentials of Mendix web service users. The intended purpose of web service users is for them to be able to access [Published web services](/refguide/published-web-services/) only. Role-based access was still applied, but for web service users that had roles with access to OData and/or REST services, this allowed them to access these services, which they should not have access to. Apps that currently have web service users accessing published OData and/or REST services should delete these web service users and recreate them as regular users. In cases where this is not feasible, we have introduced a runtime setting `com.mendix.services.publish.AllowWebServiceUserBasicAuthenticationInODataAndREST` (default: *false*). Setting it to *true* reverts to the existing behavior. +We fixed an issue in the runtime where published OData and REST services accepted the credentials of Mendix web service users. The intended purpose of web service users is for them to be able to access [Published web services](/refguide10/published-web-services/) only. Role-based access was still applied, but for web service users that had roles with access to OData and/or REST services, this allowed them to access these services, which they should not have access to. Apps that currently have web service users accessing published OData and/or REST services should delete these web service users and recreate them as regular users. In cases where this is not feasible, we have introduced a runtime setting `com.mendix.services.publish.AllowWebServiceUserBasicAuthenticationInODataAndREST` (default: *false*). Setting it to *true* reverts to the existing behavior. This setting is relevant only for apps that: 1. Were first built in Studio Pro 10.2.0 or later, because this issue was introduced in Studio Pro 10.2.0, diff --git a/content/en/docs/releasenotes/studio-pro/10/10.21.md b/content/en/docs/releasenotes/studio-pro/10/10.21.md index 7328ad5108b..8a6600da5b1 100644 --- a/content/en/docs/releasenotes/studio-pro/10/10.21.md +++ b/content/en/docs/releasenotes/studio-pro/10/10.21.md @@ -28,7 +28,7 @@ We are introducing a new experimental feature for Maia: Maia Explain. This featu Maia Explain is enabled by default. To launch the Maia Explain interface, either click **Explain** in the toolbar of the microflow or nanoflow editor, or right-click a microflow or a nanoflow in the App Explorer and click **Explain** from the context menu. When initiated, a message is sent to Maia, which begins an explanation session dedicated to that microflow or nanoflow. Maia will first provide an overview of the purpose and functionality of the microflow or nanoflow. Users may then ask follow-up questions to gain further clarification. -For more information on this new Maia feature, see [Maia Explain](/refguide/maia-explain/). +For more information on this new Maia feature, see [Maia Explain](/refguide10/maia-explain/). #### Maia Page Generator @@ -36,11 +36,11 @@ We are introducing a new experimental feature for Maia: Page Generator. This fea To enable this feature, go to **Edit > Preferences > New Features** and select **Enable page generator (experimental)**. To launch the Maia Page Generator interface, open a page and click **Generate page** in the toolbar. As an experimental feature, Maia Page Generator is intended only for use with empty pages. Any existing widgets on a page will be removed during the generation process. -For more information on this new Maia feature, see [Page Generator](/refguide/page-generator/). +For more information on this new Maia feature, see [Page Generator](/refguide10/page-generator/). #### Variables for Pages and Snippets -You can now define [variables](/refguide/page-properties/#variables) for pages and [snippets](/refguide/snippet/#variables). Once created, variables can be used similarly to attributes on widgets: allowing users to view and edit their values. Variables can also be passed to microflows and nanoflows as parameters, or used in expressions including expressions for conditional visibility and editability. +You can now define [variables](/refguide10/page-properties/#variables) for pages and [snippets](/refguide10/snippet/#variables). Once created, variables can be used similarly to attributes on widgets: allowing users to view and edit their values. Variables can also be passed to microflows and nanoflows as parameters, or used in expressions including expressions for conditional visibility and editability. Variables allow you to create the same functionality with much cleaner models than before. Whether you are using a simple switch to hide a widget or a employing a complex search form, you no longer need assistance from a non-persistent entity, microflow, or data view to get the job done. So say goodbye to PageHelper and its friends. Variables are here to simplify your app modeling! @@ -58,25 +58,25 @@ This improvement simplifies widget code. Widget developers no longer need to set #### Other New Features -* We added an option to enable or disable cookie encryption for Android devices. This option was introduced in Studio Pro 9.8 and was enabled by default up to Studio Pro Version 10.21. From version 10.21, the feature is disabled by default. To learn more about cookie encryption, see the [Encrypting Session Cookies](/refguide/mobile/building-efficient-mobile-apps/offlinefirst-data/local-data-security/#encrypting-session-cookies) in *Offline Data Security*. +* We added an option to enable or disable cookie encryption for Android devices. This option was introduced in Studio Pro 9.8 and was enabled by default up to Studio Pro Version 10.21. From version 10.21, the feature is disabled by default. To learn more about cookie encryption, see the [Encrypting Session Cookies](/refguide10/mobile/building-efficient-mobile-apps/offlinefirst-data/local-data-security/#encrypting-session-cookies) in *Offline Data Security*. -* The modernized [Entity Access Rules Editor](/refguide/access-rules/) is now released for general availability and enabled by default. +* The modernized [Entity Access Rules Editor](/refguide10/access-rules/) is now released for general availability and enabled by default. * We added evaluation guide reference support in Maia chat. * We added the **Select active document** button to the modernized App Explorer. When you click it, the current active document is selected and opened. -* We added an option to choose the algorithm used for SSL certificates. This option is available in the runtime settings of the app in Studio Pro. You can choose between PKIX (recommended) and SunX509 (default, for backwards compatibility). For more information, see the [SSL Certificate Algorithm](/refguide/app-settings/#database-fkc) section in *App Settings*. +* We added an option to choose the algorithm used for SSL certificates. This option is available in the runtime settings of the app in Studio Pro. You can choose between PKIX (recommended) and SunX509 (default, for backwards compatibility). For more information, see the [SSL Certificate Algorithm](/refguide10/app-settings/#database-fkc) section in *App Settings*. * Consumed REST Services now support importing requests from OpenAPI contracts. This feature is in Beta. When you create a new **Consumed REST Service**, you can choose to start from a file or URL and select which requests you want to import from the contract. Request fields are then automatically populated where possible. We support OpenAPI 2.0, while we are still working on OpenAPI version 3.0. Basic authentication is the only authentication method that is automatically added. `HEAD` and `OPTIONS` HTTP methods are not supported yet, and we do not automatically import parameters in base URLs or import more than one base URL. -* Opportunity for big performance improvements for apps with a lot of data. We added support for an alternative way of storing associations for one-to-many and one-to-one associations. This stores associations in the same table as the parent entity instead of a separate table. This is released as an opt-in for associations, as the subsequent data migration can take a long time (depending on your app's data). To use this feature, change the **Association Storage** setting on an association from **Association table** to **Direct association**. For more information, see [Association Storage Options](/refguide/association-storage/). +* Opportunity for big performance improvements for apps with a lot of data. We added support for an alternative way of storing associations for one-to-many and one-to-one associations. This stores associations in the same table as the parent entity instead of a separate table. This is released as an opt-in for associations, as the subsequent data migration can take a long time (depending on your app's data). To use this feature, change the **Association Storage** setting on an association from **Association table** to **Direct association**. For more information, see [Association Storage Options](/refguide10/association-storage/). * You should not use direct associations in modules which are designed to be imported into apps (for example, Marketplace modules) as this might conflict with the app the module is being imported into. * The color picker in design properties now uses the CSS variable when a preview color is not specified. -* The [Security Overview](/refguide/security-overview/) is now released for general availability. +* The [Security Overview](/refguide10/security-overview/) is now released for general availability. * You can now use the **Integration** pane to search business event services that are registered in the Catalog. You can drag and drop these on the domain model to publish or subscribe to these events, just like business events that are found in business event services already present in the app. After you drop an event on the domain model for a service that does not yet exist in your app, it will import the service and add the event for you. * In the **Integration** pane you can now search for OData actions and use them in microflows directly from the search results. * We set MPRv2 as the default version of MPR file format for all new Mendix apps. -* We added [mx.exe git-merge command](/refguide/mx-command-line-tool/merge/#git-merge) to use as a custom git merge driver for MPRv2. For now it supports merging MPRv2 with MPRv2 and MPRv1 with MPRv1. -* We now support microflows as a parameter type for JavaScript actions. Microflow parameters work the same as the already existing Nanoflow parameters. When a microflow is called from a JavaScript action a [runtime operation](/refguide/communication-patterns/#RO) is used. +* We added [mx.exe git-merge command](/refguide10/mx-command-line-tool/merge/#git-merge) to use as a custom git merge driver for MPRv2. For now it supports merging MPRv2 with MPRv2 and MPRv1 with MPRv1. +* We now support microflows as a parameter type for JavaScript actions. Microflow parameters work the same as the already existing Nanoflow parameters. When a microflow is called from a JavaScript action a [runtime operation](/refguide10/communication-patterns/#RO) is used. * We updated the version of git we install with Studio Pro to 2.48.1. * It is now possible to directly push changes without testing after rebasing has completed as a secondary action. -* We introduced a new feature that allows users to provide feedback on their experience with Studio Pro through a periodic pop-up survey. This feedback is valuable for the Mendix team to understand user needs and improve the product. For more information, see [Feedback Survey](/refguide/feedback-survey/). +* We introduced a new feature that allows users to provide feedback on their experience with Studio Pro through a periodic pop-up survey. This feedback is valuable for the Mendix team to understand user needs and improve the product. For more information, see [Feedback Survey](/refguide10/feedback-survey/). * We extended support for Mapping Parameter while importing Excel/CSV data using Data Importer and Import mapping. This new feature can be used to pass any Mendix object to create an association with the data being imported. ### Improvements @@ -84,9 +84,9 @@ This improvement simplifies widget code. Widget developers no longer need to set * We mitigated CVE-2024-38374 by upgrading the CycloneDX Gradle plugin to 1.10.0. The CVE does not pose risk for Mendix customers. (Ticket 243005) * We made the offline server calls more resilient by adding an automatic retry in case of connection errors. This is done for all offline-related independent calls, except when calling a microflow. For calling a microflow, you can capture the connection error in a nanoflow and build retry logic around that when necessary. (Ticket 224494) * We improved the performance of published OData services that use OData version 4 and publish associations as a link. The runtime now only queries the database for associations that the client specifies in `$expand`. (Ticket 239978) -* The modern entity access rules editor is now used for editing entity access in module security when enabled. For more information, see the [Entity Access](/refguide/module-security/#entity-access) section in *Module Security*. +* The modern entity access rules editor is now used for editing entity access in module security when enabled. For more information, see the [Entity Access](/refguide10/module-security/#entity-access) section in *Module Security*. * We improved the design of the form to edit an access rule in the modernized entity access rules editor based on feedback. -* You can now save the filter option in the [Go to dialog](/refguide/go-to-option/#go-to-dialog) over different user sessions. Also, we added support for caching the searched value in that dialog (the search input stays if you reopen the dialog). +* You can now save the filter option in the [Go to dialog](/refguide10/go-to-option/#go-to-dialog) over different user sessions. Also, we added support for caching the searched value in that dialog (the search input stays if you reopen the dialog). * We removed the consistency error that required the path URL in the Consumed REST Service to always begin with a slash. * We improved the readability of description text for API elements in the **Integration** pane by wrapping the text and eliminating the need for scrolling. * We reduced the default size of exclusive merges. The default size is now 40x40 instead of 90x60. @@ -107,7 +107,7 @@ This improvement simplifies widget code. Widget developers no longer need to set * We added a log subscriber which sends logs using OpenTelemetry. It can be configured with the log subscriber type `opentelemetry`. * We made the administration of running application nodes more stable and improved the logging in this area. This makes the execution of tasks from the queue more reliable. * We enhanced the functionality to check if the current branch is tracked in Git. This update improves performance and reduces errors by leveraging Git CLI. -* We made several improvements to the [Security Overview](/refguide/security-overview/), +* We made several improvements to the [Security Overview](/refguide10/security-overview/), * We added an **Anonymous** label in the user role dropdown to highlight the role configured as the anonymous user. Additionally, in the Security Overview export, each sheet now includes a new **Anonymous Role** column, that displays `true` if the row corresponds to the anonymous user role, and `false` otherwise. * We added an **Administrator** label in the user role dropdown to highlight the role configured as an administrator. Additionally, the Security Overview export now includes the new **Administrator Role** column in each sheet. * The security export now includes the **Create** and **Delete** accesses for entities. In the Excel export this is included in the new **Entity access** tab, while the existing **Entity access** tab was renamed to **Members access**. @@ -164,7 +164,7 @@ This improvement simplifies widget code. Widget developers no longer need to set ### Deprecations -* We removed support for Java 11 and Java 17, please use Java 21. For more information, see the [Java](/refguide/system-requirements/#java) section in *System Requirements*. +* We removed support for Java 11 and Java 17, please use Java 21. For more information, see the [Java](/refguide10/system-requirements/#java) section in *System Requirements*. ### Breaking Changes diff --git a/content/en/docs/releasenotes/studio-pro/10/10.3.md b/content/en/docs/releasenotes/studio-pro/10/10.3.md index d7e1198e0f0..98e004f2a4b 100644 --- a/content/en/docs/releasenotes/studio-pro/10/10.3.md +++ b/content/en/docs/releasenotes/studio-pro/10/10.3.md @@ -25,7 +25,7 @@ weight: 97 * Fixed in [10.6.11](/releasenotes/studio-pro/10.6/#fix-workflow-parameter) and [10.12](/releasenotes/studio-pro/10.12/#fix-workflow-parameter) * A finished parallel split path that is removed from a running workflow instance wrongly leads to a versioning conflict. Please note that "path" was called "branch" in earlier versions. * Fixed in [10.17.0](/releasenotes/studio-pro/10.17/#fix-finished-parallel-split). -* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide/version-control-menu/#show-changes) dialog box. +* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide10/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide10/version-control-menu/#show-changes) dialog box. * Fixed in [10.18.0](/releasenotes/studio-pro/10.18/#fix-line-endings). ## 10.3.0 {#1030} @@ -38,7 +38,7 @@ weight: 97 ### New Features -* We added a new feature that allows you to reverse an association direction by right-clicking the [association](/refguide/associations/) and selecting **Reverse direction**. +* We added a new feature that allows you to reverse an association direction by right-clicking the [association](/refguide10/associations/) and selecting **Reverse direction**. #### Java Dependency Management @@ -58,54 +58,54 @@ The *.jar* dependencies are downloaded into the new Mendix-controlled **vendorli #### Microflow URL Improvement -We added the option to define a URL [for a microflow](/refguide/microflow/#url). When you navigate to this URL, the microflow is executed during the client startup. The URL can contain both object parameters (just like page URLs) and primitive parameters. +We added the option to define a URL [for a microflow](/refguide10/microflow/#url). When you navigate to this URL, the microflow is executed during the client startup. The URL can contain both object parameters (just like page URLs) and primitive parameters. -If the microflow contains a [Show a page action](/refguide/on-click-event/#show-page), this page is opened instead of the home page. Otherwise, the client opens the home page as usual after executing the microflow. +If the microflow contains a [Show a page action](/refguide10/on-click-event/#show-page), this page is opened instead of the home page. Otherwise, the client opens the home page as usual after executing the microflow. #### Other Improvements * You can now use a **Share** URL from the [Catalog](/catalog/) to update a consumed OData service. -* We made it easier to realign the [Call external action](/refguide/call-external-action/) activity with the changed contract of a consumed OData service. +* We made it easier to realign the [Call external action](/refguide10/call-external-action/) activity with the changed contract of a consumed OData service. * Microflows published in an OData service can now take a parameter of type `System.HttpResponse`, allowing them to return errors. -* We improved the resizing behavior of the [End Event](/refguide/end-event/) and [Decision](/refguide/decision/) dialog boxes in the microflow editor. -* We added the possibility to define a [microflow decision method](/refguide/multi-user-task/#microflow) for workflow multi-user tasks. +* We improved the resizing behavior of the [End Event](/refguide10/end-event/) and [Decision](/refguide10/decision/) dialog boxes in the microflow editor. +* We added the possibility to define a [microflow decision method](/refguide10/multi-user-task/#microflow) for workflow multi-user tasks. * A "current activity removed" conflict is no longer reported when a parallel split branch with currently executing activities is removed from a workflow. Instead, only a "parallel split branch removed" conflict is reported. * An external enumeration now shows the source of the enumeration and allows you to **Detach** it from the source. * A warning is now shown when a new document is created with a name that captures existing usages. -* Mendix now updates the objects sent with the [Send external object](/refguide/send-external-object/) activity based on the response from the publishing side. -* We now show an information bar in the [Edit External Action Parameter Mapping](/refguide/call-external-action/#edit-parameter-mapping) dialog box when the parameter is not allowed to be empty. +* Mendix now updates the objects sent with the [Send external object](/refguide10/send-external-object/) activity based on the response from the publishing side. +* We now show an information bar in the [Edit External Action Parameter Mapping](/refguide10/call-external-action/#edit-parameter-mapping) dialog box when the parameter is not allowed to be empty. * We corrected the validation of a new branch name and made it case insensitive, so now it is impossible to create a branch with a reserved name (for example, *MAIN*, *maiN*, or *MaIn*). -* We improved the UX of the [Commit](/refguide/using-version-control-in-studio-pro/#pushing) dialog box for pushing when remote changes exist on the remote server. This improves insights into remote commits. -* We added a [module-import command](/refguide/mx-command-line-tool/module/#module-import) to the **mx** command-line tool. +* We improved the UX of the [Commit](/refguide10/using-version-control-in-studio-pro/#pushing) dialog box for pushing when remote changes exist on the remote server. This improves insights into remote commits. +* We added a [module-import command](/refguide10/mx-command-line-tool/module/#module-import) to the **mx** command-line tool. * Mendix no longer supports the old `{Id}` format in page URLs. All existing page URLs with `{Id}` will be converted to the new format of `{PageParameter/Id}`. * We added a log message to indicate that Mendix Runtime shutdown was requested through `ShutdownAction`. * We added the ability to change the return value of the end event for microflows, nanoflows, and rules through the **Properties** pane. -* We added the ability to preview images in the **Properties** pane for [button widgets](/refguide/button-widgets/) and the [Image](/appstore/widgets/image/) widget in the page editor. +* We added the ability to preview images in the **Properties** pane for [button widgets](/refguide10/button-widgets/) and the [Image](/appstore/widgets/image/) widget in the page editor. * We made all association settings available in the **Properties** pane. * We added support for opening a properties dialog box in read-only mode in the **Properties** pane. Before this update, some read-only properties could not be opened from the **Properties** pane for more details. After this update, you can open the read-only properties and see their contents. -* We moved the deployment settings to the new **Deployment** tab in the Studio Pro [Preferences](/refguide/preferences-dialog/). +* We moved the deployment settings to the new **Deployment** tab in the Studio Pro [Preferences](/refguide10/preferences-dialog/). * We improved the UI for the page URL editing form. -* We updated the [Batch replace](/refguide/batch-replace/) dialog box to support dark mode. +* We updated the [Batch replace](/refguide10/batch-replace/) dialog box to support dark mode. * We added support for dark mode to the pop-up window that warns about existing usages when something is renamed. * Mendix now allows for the use of aggregate functions in XPath constraints, so you can use `sum`, `avg`, `count`, `min`, or `max` in a predicate. You should use these over a value over association (for example, `[sum(MyModule.OrderLine_Order/MyModule.OrderLine/Price) > 100]`). The aggregate functions support an optional second argument of the Boolean type to identify whether the values should be distinct by the database before applying the aggregate function. * Mendix now also allows for the use of calculations in the paths of XPath constraints, so you can use operators like `+`, `-`, `*`, `div`, and `mod` in paths. This allows for constraints such as, `[sum(MyModule.OrderLine_Order/MyModule.OrderLine/(Amount * Price)) > 100]`. ### Fixes -* We fixed a [known issue](/releasenotes/studio-pro/10.2/#ki-2644) where the input field did not receive initial focus when a [shortcut](/refguide/keyboard-shortcuts/) was used to access the [Go to](/refguide/go-to-option/) dialog box. -* We fixed an issue where the drop-down filter in the [data grid](/refguide/data-grid/) widget was not closed when the page was scrolled. Starting with this version, multiselect filters in the data grid are closed as soon as the page is scrolled. (Ticket 163319) +* We fixed a [known issue](/releasenotes/studio-pro/10.2/#ki-2644) where the input field did not receive initial focus when a [shortcut](/refguide10/keyboard-shortcuts/) was used to access the [Go to](/refguide10/go-to-option/) dialog box. +* We fixed an issue where the drop-down filter in the [data grid](/refguide10/data-grid/) widget was not closed when the page was scrolled. Starting with this version, multiselect filters in the data grid are closed as soon as the page is scrolled. (Ticket 163319) * We fixed an issue where importing large XML schema documents was too slow. (Ticket 170962, 185085) * We fixed an issue where a text area ignored a value autofilled in Google Chrome. (Ticket 176195) * We fixed an issue with calling a microflow action where retrieving a specialization over an association did not work if the other side was the generalization. (Ticket 187667) -* We fixed an issue that caused the [Batch Update Button Icons](/refguide/app-menu/#batch-update-button-icons) dialog box to throw an exception. This includes addressing the scenario of adding an extra native icon selector when there are native documents and the selected icon is not supported on native. (Ticket 191511) +* We fixed an issue that caused the [Batch Update Button Icons](/refguide10/app-menu/#batch-update-button-icons) dialog box to throw an exception. This includes addressing the scenario of adding an extra native icon selector when there are native documents and the selected icon is not supported on native. (Ticket 191511) * We fixed an issue in the `$metadata` of published OData services using OData v3 where a self-referencing association resulted in two roles with the same name. (Ticket 193467). * We fixed an issue where an XPath data source with a constraint that used the `id` attribute of a variable (for example, `[Module.Person_House/Module.House/id=$currentObject/id]`) resulted in an error during deployment. (Ticket 194055) * We fixed an issue where setting a new AuthToken was not applied until the native app was restarted. (Ticket 195005) -* We fixed a crash that occurred when selecting **Edit** > [Find Usages](/refguide/find-and-find-advanced/#find-usages). +* We fixed a crash that occurred when selecting **Edit** > [Find Usages](/refguide10/find-and-find-advanced/#find-usages). * We fixed an issue where an **Oops** pop-up window was displayed when you selected an entity through the context menu or dragged it from the **Connector** pane where a page or snippet parameter already existed. -* We adjusted MxAssist Best Practice Bot recommendations [MXP003](/refguide/performance-best-practices/#mxp003), [MXP007](/refguide/performance-best-practices/#mxp007), and [MXP016](/refguide/performance-best-practices/#mxp016) to not recommend adding an index to an attribute that is uniquely constrained. -* We fixed an issue where it was not possible to use the [constrained by](/refguide/reference-selector/#selectable-objects) functionality with the [reference selector](/refguide/reference-selector/) and [input reference set selector](/refguide/input-reference-set-selector/) widgets when the configured attribute path did not start from the direct enclosing data container. -* We fixed an issue where dropping a [Call external action](/refguide/call-external-action/) activity in a microflow caused the activity to be placed at an incorrect location in the canvas. +* We adjusted MxAssist Best Practice Bot recommendations [MXP003](/refguide10/performance-best-practices/#mxp003), [MXP007](/refguide10/performance-best-practices/#mxp007), and [MXP016](/refguide10/performance-best-practices/#mxp016) to not recommend adding an index to an attribute that is uniquely constrained. +* We fixed an issue where it was not possible to use the [constrained by](/refguide10/reference-selector/#selectable-objects) functionality with the [reference selector](/refguide10/reference-selector/) and [input reference set selector](/refguide10/input-reference-set-selector/) widgets when the configured attribute path did not start from the direct enclosing data container. +* We fixed an issue where dropping a [Call external action](/refguide10/call-external-action/) activity in a microflow caused the activity to be placed at an incorrect location in the canvas. * We fixed an issue that occurred with operators like `+`, `-`, `*`, `div`, and `mod` in client-side XPaths where Studio Pro allowed them to be used, but the Mendix Runtime Server rejected those XPaths. * We fixed an issue that occurred when using the `'+`, `-`, `*`, `div`, and `mod` operators in XPaths with at least one decimal operand where the result was an integer in HSQLDB and SAP HANA. * We fixed an issue that occurred when using the `+` operator in XPaths with at least one string operand and at least one non-string operand where the query failed in Microsoft SQL Server. @@ -140,5 +140,5 @@ If the microflow contains a [Show a page action](/refguide/on-click-event/#show- * Fixed in [10.6.11](/releasenotes/studio-pro/10.6/#fix-workflow-parameter) and [10.12](/releasenotes/studio-pro/10.12/#fix-workflow-parameter) * A finished parallel split path that is removed from a running workflow instance wrongly leads to a versioning conflict. Please note that "path" was called "branch" in earlier versions. * Fixed in [10.17.0](/releasenotes/studio-pro/10.17/#fix-finished-parallel-split). -* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide/version-control-menu/#show-changes) dialog box. +* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide10/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide10/version-control-menu/#show-changes) dialog box. * Fixed in [10.18.0](/releasenotes/studio-pro/10.18/#fix-line-endings). diff --git a/content/en/docs/releasenotes/studio-pro/10/10.4.md b/content/en/docs/releasenotes/studio-pro/10/10.4.md index 05df5ee143e..44ae51e3b83 100644 --- a/content/en/docs/releasenotes/studio-pro/10/10.4.md +++ b/content/en/docs/releasenotes/studio-pro/10/10.4.md @@ -23,7 +23,7 @@ weight: 96 * When using a microflow decision method for a multi-user task in workflows, the `System.WorkflowUserTask` is always `empty`. * Fixed in [10.6.11](/releasenotes/studio-pro/10.6/#fix-workflow-parameter) and [10.12](/releasenotes/studio-pro/10.12/#fix-workflow-parameter) -* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide/version-control-menu/#show-changes) dialog box. +* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide10/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide10/version-control-menu/#show-changes) dialog box. * Fixed in [10.18.0](/releasenotes/studio-pro/10.18/#fix-line-endings). * A finished parallel split branch that is removed from a running workflow instance wrongly leads to a versioning conflict. @@ -43,15 +43,15 @@ We are releasing the beta version of our redesigned logic editors. We have enhan #### Creating New Microflows and Nanoflows -When selecting a microflow or nanoflow for the [call microflow](/refguide/on-click-event/#call-microflow) or [call nanoflow](/refguide/on-click-event/#call-microflow) client action, you can create a new one from the selector as well. In this case, a dialog box is shown where you can now choose the data view, snippet, page parameter, or available selection from which the parameter must be created in the new microflow or nanoflow. +When selecting a microflow or nanoflow for the [call microflow](/refguide10/on-click-event/#call-microflow) or [call nanoflow](/refguide10/on-click-event/#call-microflow) client action, you can create a new one from the selector as well. In this case, a dialog box is shown where you can now choose the data view, snippet, page parameter, or available selection from which the parameter must be created in the new microflow or nanoflow. #### Adding Workflow Activities -We added a feature for adding an activity to a workflow from the activity's context menu. We also added pop-up animation to workflows for quickly adding an activity. For more information, see the [Adding Elements to a Workflow](/refguide/perform-workflow-basic-functions/#add-elements-to-workflow) section in *Performing Workflow Basic Functions*. +We added a feature for adding an activity to a workflow from the activity's context menu. We also added pop-up animation to workflows for quickly adding an activity. For more information, see the [Adding Elements to a Workflow](/refguide10/perform-workflow-basic-functions/#add-elements-to-workflow) section in *Performing Workflow Basic Functions*. #### Export the App Model as JSON -We added a command line option to the `mx` command line tool called `dump-mpr`. This exports the app model of a Mendix App as JSON data. See [the documentation](/refguide/mx-command-line-tool/dump-mpr/) for more context. +We added a command line option to the `mx` command line tool called `dump-mpr`. This exports the app model of a Mendix App as JSON data. See [the documentation](/refguide10/mx-command-line-tool/dump-mpr/) for more context. ### Improvements @@ -66,7 +66,7 @@ Selections of pluggable widgets (such as [Data Grid 2](/appstore/modules/data-gr It is also possible to select a pluggable widget as the **Listen to** data source of a data view. If the pluggable widget is inside a repeater (like a list view), its selection is only available to widgets that are also inside that repeater. Otherwise, the selection is available on the entire page. This improvement really simplifies the modeling of pages where part of the page needs to update when a selection changes. -We also made the **Delete** action configurable. You can now specify which objects you want to delete, which can be an available selection, any surrounding data view, or a page or snippet parameter. For more information, see the [Delete Object(s)](/refguide/on-click-event/#delete-objects) section in *On Click Event and Events Section*. +We also made the **Delete** action configurable. You can now specify which objects you want to delete, which can be an available selection, any surrounding data view, or a page or snippet parameter. For more information, see the [Delete Object(s)](/refguide10/on-click-event/#delete-objects) section in *On Click Event and Events Section*. #### Other Improvements @@ -100,10 +100,10 @@ We also made the **Delete** action configurable. You can now specify which objec * We fixed a [known issue](/releasenotes/studio-pro/10.0/#ac-ki) where additional commits were created unnecessarily when merging a branch into a second branch which already contained all the commits from the first branch. (Tickets 197365, 197397, 197756, 198059, 198288) * We fixed an issue where queued tasks (including scheduled events) got stuck in the **Running** state when database connection issues occurred. (Tickets 176015, 177221, 181767, 184886, 193669, 195602, 195879) * We fixed an issue where queued tasks got stuck in the **Running** state if a `StackOverflowError` or `InterruptedException` occurred during the execution of the task. (Ticket 187973) -* We fixed an issue where an H2 heading tag had an empty `id` attribute when [exporting documentation](/refguide/app/#export). (Ticket 188128) +* We fixed an issue where an H2 heading tag had an empty `id` attribute when [exporting documentation](/refguide10/app/#export). (Ticket 188128) * We fixed an issue where double-clicking the close button of a pop-up window while multiple pop-up windows were open also closed the underlying pop-up windows. (Ticket 188414) -* We fixed an issue where branch lines were not sorted alphabetically during a [branch merging operation](/refguide/merge-dialog/). (Ticket 192492) -* We fixed an issue where the action for closing a pop-up window did not work correctly if it targeted an [action button](/refguide/button-widgets/) and there were multiple instances of that button in the app. (Ticket 192989) +* We fixed an issue where branch lines were not sorted alphabetically during a [branch merging operation](/refguide10/merge-dialog/). (Ticket 192492) +* We fixed an issue where the action for closing a pop-up window did not work correctly if it targeted an [action button](/refguide10/button-widgets/) and there were multiple instances of that button in the app. (Ticket 192989) * We enabled the `latestHttpResponse` parameter in responses from web services in case of failure. (Ticket 193998) * We fixed an issue where the session ID was incorrectly `null` in WebSockets. (Ticket 195691) * We fixed an issue in the metadata of published OData services that occurred when publishing associations as object IDs. When the user has access to the association but not to the other entity, the Mendix Runtime `$metadata` now no longer filters out the property. (Ticket 195835) @@ -111,18 +111,18 @@ We also made the **Delete** action configurable. You can now specify which objec * We fixed an issue where startup synchronization failed when some files were missing. (Ticket 196961) * We removed the resource path and parameter details from the "400 bad request" error message to avoid cross-site scripting vulnerability false-positives for published OData services. (Ticket 197293) * We mitigated [CVE-2022-1471](https://www.cve.org/CVERecord?id=CVE-2022-1471), [CVE-2022-25857](https://www.cve.org/CVERecord?id=CVE-2022-25857), [CVE-2022-38751](https://www.cve.org/CVERecord?id=CVE-2022-38751), [CVE-2022-38752](https://www.cve.org/CVERecord?id=CVE-2022-38752), [CVE-2022-41854](https://www.cve.org/CVERecord?id=CVE-2022-41854), and [CVE-2022-38750](https://www.cve.org/CVERecord?id=CVE-2022-38750). These CVEs do not pose any apparent risk for Mendix customers. -* We fixed an issue where it was not possible to use the [constrained by](/refguide/reference-selector/#selectable-objects) functionality with a [reference set selector](/refguide/reference-set-selector/) widget when the configured attribute path did not start from the direct enclosing data container. +* We fixed an issue where it was not possible to use the [constrained by](/refguide10/reference-selector/#selectable-objects) functionality with a [reference set selector](/refguide10/reference-set-selector/) widget when the configured attribute path did not start from the direct enclosing data container. * We fixed an issue where existing page URLs threw a "conflicting URL" consistency error when upgrading due to a backwards compatibility problem. This is now fixed and all existing page URLs work again. * We fixed an issue where changing the type of a page or microflow parameter caused an error when navigating to it via a URL after doing a hot reload. -* We fixed an issue where dropping a [Call external action](/refguide/call-external-action/) activity in a microflow caused the activity to be placed at an incorrect location in the canvas. +* We fixed an issue where dropping a [Call external action](/refguide10/call-external-action/) activity in a microflow caused the activity to be placed at an incorrect location in the canvas. * We fixed an issue where excluded microflows publishing business events caused a buildtime error. * We fixed an issue where disabled microflow activities for publishing business events caused a buildtime error. * We fixed an issue where calling a microflow as an unauthorized user did not show the login screen or throw an error (depending on whether the user was anonymous). * We fixed an issue in the microflow properties dialog box where it was not possible to toggle the **Expose as microflow action** and **Expose as nanoflow action** options. -* We fixed an issue with the [end event](/refguide/end-event/) form where the deletion of the entity used as a return type crashed the form. +* We fixed an issue with the [end event](/refguide10/end-event/) form where the deletion of the entity used as a return type crashed the form. * We fixed an issue in the Workflow Engine that caused the Mendix Runtime Server to run out of memory after deploying a new version of a workflow that had many parallel splits. * We fixed an issue in the MxAssist Logic Bot where it created a non-unique variable when a **Retrieve from Database** recommendation was selected. -* We improved how the MxAssist Best Practice Bot handles invalid sequence flows so that recommendations can still be shown for [MXP012](/refguide/performance-best-practices/#mxp012) and [MXP14](/refguide/performance-best-practices/#mxp014). +* We improved how the MxAssist Best Practice Bot handles invalid sequence flows so that recommendations can still be shown for [MXP012](/refguide10/performance-best-practices/#mxp012) and [MXP14](/refguide10/performance-best-practices/#mxp014). * We fixed an issue where configuring invalid delete behavior was allowed on associations with external entities. Studio Pro now only shows the valid options. We also added a consistency error to apps that already contain incorrectly configured delete behavior for external entities. * We fixed an issue where deleting an entity used in an import mapping led to an error coming from the import mapping **Properties** pane. * We fixed an issue in which the consistency check for the correct ownership of an association was not applied to pluggable widgets with association properties that were not linked to a data source. @@ -136,7 +136,7 @@ We also made the **Delete** action configurable. You can now specify which objec ### Known Issues -* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide/version-control-menu/#show-changes) dialog box. +* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide10/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide10/version-control-menu/#show-changes) dialog box. * Fixed in [10.18.0](/releasenotes/studio-pro/10.18/#fix-line-endings). * When using a microflow decision method for a multi-user task in workflows, the `System.WorkflowUserTask` is always `empty`. * Fixed in [10.6.11](/releasenotes/studio-pro/10.6/#fix-workflow-parameter) and [10.12](/releasenotes/studio-pro/10.12/#fix-workflow-parameter) diff --git a/content/en/docs/releasenotes/studio-pro/10/10.5.md b/content/en/docs/releasenotes/studio-pro/10/10.5.md index dcc43fec9eb..70a7b2f6d39 100644 --- a/content/en/docs/releasenotes/studio-pro/10/10.5.md +++ b/content/en/docs/releasenotes/studio-pro/10/10.5.md @@ -20,9 +20,9 @@ weight: 95 #### Visual Builder for Database Constraints -We have added a new visual editor for writing [XPath](/refguide/xpath/) constraints. The **Builder** is an easy-to-use and intuitive tool for quickly developing the most common database constraint use cases without having to learn and write XPath. The Builder is currently in beta. +We have added a new visual editor for writing [XPath](/refguide10/xpath/) constraints. The **Builder** is an easy-to-use and intuitive tool for quickly developing the most common database constraint use cases without having to learn and write XPath. The Builder is currently in beta. -You can open the new visual builder in the **Edit XPath constraint** dialog box by clicking **Builder (beta)** (and also switch back to the XPath expression editor by clicking **XPath expression**). The Builder can also be made the default editor via **Edit** > **Preferences** > [New features](/refguide/preferences-dialog/#new-features). +You can open the new visual builder in the **Edit XPath constraint** dialog box by clicking **Builder (beta)** (and also switch back to the XPath expression editor by clicking **XPath expression**). The Builder can also be made the default editor via **Edit** > **Preferences** > [New features](/refguide10/preferences-dialog/#new-features). Some advanced XPath features are not yet supported by the Builder. For those cases, a message is shown stating that the XPath constraint contains advanced features and is not yet supported. @@ -34,15 +34,15 @@ We have introduced **Rebase** as the default action for combining local changes You can choose how to combine your work with the server state every time you interact with the server. Whether you are making a commit or performing a pull or a push, Studio Pro detects if you are behind the server and lets you choose how to proceed. Mendix recommends using Rebase in most scenarios, but you can adjust the default with a user preference if needed. -For more information, see [Combining Changes and Conflict Resolution](/refguide/merge-algorithm/). +For more information, see [Combining Changes and Conflict Resolution](/refguide10/merge-algorithm/). #### Other New Features -* We added the option to use an [Object type decision](/refguide/object-type-decision/) and the [Cast object](/refguide/cast-object/) activity in nanoflows. +* We added the option to use an [Object type decision](/refguide10/object-type-decision/) and the [Cast object](/refguide10/cast-object/) activity in nanoflows. {{% alert color="info" %}}This is based on an [upvoted idea from Fabian Recktenwald](https://community.mendix.com/link/space/microflows/ideas/3227) submitted to the Mendix Community. Thanks, Fabian!{{% /alert %}} -* We added a new [Retrieve workflows](/refguide/retrieve-workflows/) microflow activity that enables retrieving all the **System.Workflow** objects that are associated with the provided workflow context object. +* We added a new [Retrieve workflows](/refguide10/retrieve-workflows/) microflow activity that enables retrieving all the **System.Workflow** objects that are associated with the provided workflow context object. * You can now use the `length` expression with list variables in both microflows and nanoflows. * We introduced a new attribute to the **System.Image** entity that is known as **EnableCaching**, which can be used to enable or disable image caching. This attribute's default value is set to **True**. * We added the option to change the default URL prefix `/p/` for page and microflow URLs. @@ -51,19 +51,19 @@ For more information, see [Combining Changes and Conflict Resolution](/refguide/ #### MxAssist Logic Bot Improvements -* MxAssist Logic Bot in the [new modern logic editors (beta)](/refguide/microflows-and-nanoflows/#new-editor) now does the following: +* MxAssist Logic Bot in the [new modern logic editors (beta)](/refguide10/microflows-and-nanoflows/#new-editor) now does the following: * Parameterizes a decision for a rule that returns a Boolean or an enumeration. * Excludes recursive calls for calling microflow call actions, nanoflows, and rules (consistent with the microflow call action). - * Parameterizes for [Create list](/refguide/create-list/) activities and shows the available entities. + * Parameterizes for [Create list](/refguide10/create-list/) activities and shows the available entities. * Supports adding all case flows for an enumeration decision (including setting the case on a sequence flow that has no case value). * Always includes the recommendation to retrieve the first object from the database for a given entity as well as the unconstrained recommendation. * Uses **Create {entity} object** instead of just **Create {entity}** in the menu text. - * Uses just the exposed name without a prefix (via the [Java action call](/refguide/java-action-call/), [JavaScript action call](/refguide/javascript-action-call/), and [Microflow call](/refguide/microflow-call/) activities) in the menu text for calls to exposed documents. + * Uses just the exposed name without a prefix (via the [Java action call](/refguide10/java-action-call/), [JavaScript action call](/refguide10/javascript-action-call/), and [Microflow call](/refguide10/microflow-call/) activities) in the menu text for calls to exposed documents. * MxAssist Logic Bot in the new modern logic editors (beta) now has the following: * A decision in the safe list for rules. * Improved support for matching microflow call parameters to available variables. * Improved support for matching Java action call parameters to available variables in addition to simplified sorting. - * Improved menu text for the [List operation](/refguide/list-operation/) activity that is more consistent with the List operation properties form. + * Improved menu text for the [List operation](/refguide10/list-operation/) activity that is more consistent with the List operation properties form. #### Other Improvements @@ -76,7 +76,7 @@ For more information, see [Combining Changes and Conflict Resolution](/refguide/ * Studio Pro now detects when an external date/time attribute that represents only a date has been localized and gives a consistency error. * We introduced a consistency error for associations that are traversed from child to parent in microflow and nanoflow expressions. This was not prevented before, but it resulted in a Mendix Runtime exception. * The UI of published OData services now consistently refers to published entities as "published entities" (as opposed to "published resources"). -* We improved the [Go to](/refguide/go-to-option/) functionality by excluding Marketplace modules and excluded documents from the search by default. Marketplace modules and excluded documents can be included in the newly added filter options. +* We improved the [Go to](/refguide10/go-to-option/) functionality by excluding Marketplace modules and excluded documents from the search by default. Marketplace modules and excluded documents can be included in the newly added filter options. * We improved the regeneration of outcomes in workflows when enumerations or enumeration values are deleted. * For pluggable widgets with the system property `label`, you can now use the [setLabel](/apidocs-mxsdk/apidocs/pluggable-widgets-property-types/#setLabel) attribute in the `association` and `attribute` properties to automatically set the widget's label in Studio Pro. * Best Practice Bot now saves its settings in a more reliable way upon closing an app. This may help with larger apps. @@ -85,7 +85,7 @@ For more information, see [Combining Changes and Conflict Resolution](/refguide/ ### Fixes -* We fixed an issue where the [scroll container](/refguide/scroll-container/) widget had two scroll bars in some cases. (Ticket 187605) +* We fixed an issue where the [scroll container](/refguide10/scroll-container/) widget had two scroll bars in some cases. (Ticket 187605) * We fixed an issue where the **LastLogin** attribute was not readable when it should have been. (Ticket 192759) * We fixed an issue where using the `System.changedBy` or `System.owner` association in an XPath constraint variable resulted in an error during deployment (for example, `[MyFirstModule.Order_User=$currentObject/System.changedBy]`). (Ticket 197570) * We fixed an issue in consumed web services where making requests with attachments failed due to a missing `Content-Transfer-Encoding` header. (Ticket 199235) @@ -93,13 +93,13 @@ For more information, see [Combining Changes and Conflict Resolution](/refguide/ * We fixed an issue in the metadata of published OData services using OData v4. (Ticket 200743) * We fixed a freeze of the UI that occurred while trying to synchronize managed Java dependencies in the background. (Tickets 200938, 201025, 201225) * We made the following fixes for MxAssist Logic Bot in the logic editors (beta): - * The generic recommendation for the [Create variable](/refguide/create-variable/) activity no longer incorrectly creates a [Change object](/refguide/change-object/) action. - * The generic recommendation for the [Show message](/refguide/show-message/) activity no longer incorrectly creates a [Show page](/refguide/show-page/) action. - * We fixed the sorting of [Microflow call](/refguide/microflow-call/) activity recommendations. - * We fixed the output descriptions of the [aggregate list](/refguide/aggregate-list/) activity. - * We fixed the updating of [loop](/refguide/loop/) contents while the loop is being dragged. + * The generic recommendation for the [Create variable](/refguide10/create-variable/) activity no longer incorrectly creates a [Change object](/refguide10/change-object/) action. + * The generic recommendation for the [Show message](/refguide10/show-message/) activity no longer incorrectly creates a [Show page](/refguide10/show-page/) action. + * We fixed the sorting of [Microflow call](/refguide10/microflow-call/) activity recommendations. + * We fixed the output descriptions of the [aggregate list](/refguide10/aggregate-list/) activity. + * We fixed the updating of [loop](/refguide10/loop/) contents while the loop is being dragged. * We fixed an issue where the initial menu was missing its first item. - * We removed constraint that caused the [Delete object](/refguide/deleting-objects/) activity recommendation to exclude some variables according to their type. + * We removed constraint that caused the [Delete object](/refguide10/deleting-objects/) activity recommendation to exclude some variables according to their type. * Applying a List operation recommendation now creates the List operation with its variable set. * We fixed an issue in the **Entity** dialog box where one-way navigable associations did not appear in the list of associations for the child entity, which allowed them to be added again. * We fixed an issue where an **Oops** pop-up window appeared when trying to generate a value for an entity retrieved via a one-to-one association. @@ -109,7 +109,7 @@ For more information, see [Combining Changes and Conflict Resolution](/refguide/ * We updated the list of valid time zone codes displayed in the Mendix Runtime **Settings** dialog box. * We added a consistency check for invalid time zone codes. * We added a critical warning during startup in case the time zone code in the model is not recognized by the running JVM. -* We fixed the snap-to-object behavior in the [new modern logic editors (beta)](/refguide/microflows-and-nanoflows/#new-editor) that occurs when the dragged object starts inside of a loop. +* We fixed the snap-to-object behavior in the [new modern logic editors (beta)](/refguide10/microflows-and-nanoflows/#new-editor) that occurs when the dragged object starts inside of a loop. * We fixed an issue where items in the top bar of the logic editors (beta) were selectable. * We fixed the `location` header in responses of POST calls in published OData services so that it now has a URL-encoded value. * We changed the servlet and web socket API dependencies for Java actions. We replaced `javax.servlet.servlet-api.jar` with `org.eclipse.jetty.toolchain.jetty-servlet-api.jar`, and we replaced `javax.websocket.websocket-api.jar` with `org.eclipse.jetty.toolchain.jetty-javax-websocket-api.jar`. @@ -129,6 +129,6 @@ For more information, see [Combining Changes and Conflict Resolution](/refguide/ * When using a microflow decision method for a multi-user task in workflows, the `System.WorkflowUserTask` is always `empty`. * Fixed in [10.6.11](/releasenotes/studio-pro/10.6/#fix-workflow-parameter) and [10.12](/releasenotes/studio-pro/10.12/#fix-workflow-parameter) -* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide/version-control-menu/#show-changes) dialog box. +* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide10/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide10/version-control-menu/#show-changes) dialog box. * Fixed in [10.18.0](/releasenotes/studio-pro/10.18/#fix-line-endings). * A finished parallel split branch that is removed from a running workflow instance wrongly leads to a versioning conflict. diff --git a/content/en/docs/releasenotes/studio-pro/10/10.6.md b/content/en/docs/releasenotes/studio-pro/10/10.6.md index e4c7c4424b9..310f8879ed2 100644 --- a/content/en/docs/releasenotes/studio-pro/10/10.6.md +++ b/content/en/docs/releasenotes/studio-pro/10/10.6.md @@ -28,7 +28,7 @@ This is the [MTS](/releasenotes/studio-pro/lts-mts/#mts) version 10 release for * Fixed in [10.21.0](/releasenotes/studio-pro/10.21/#fix-workflow-instances). * There is a positioning error in the logic editors when you are dragging a large element, such as a loop, into a sequence flow, it overlaps with the existing elements. * Fixed in [10.12.12](/releasenotes/studio-pro/10.12/#fix-positioning-error) and in [10.14.0](/releasenotes/studio-pro/10.14/#fix-positioning-error). -* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide/version-control-menu/#show-changes) dialog box. +* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide10/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide10/version-control-menu/#show-changes) dialog box. * Fixed in [10.18.0](/releasenotes/studio-pro/10.18/#fix-line-endings). ## 10.6.20 {#10620} @@ -60,7 +60,7 @@ This is the [MTS](/releasenotes/studio-pro/lts-mts/#mts) version 10 release for * Fixed in [10.21.0](/releasenotes/studio-pro/10.21/#fix-workflow-instances). * There is a positioning error in the logic editors when you are dragging a large element, such as a loop, into a sequence flow, it overlaps with the existing elements. * Fixed in [10.12.12](/releasenotes/studio-pro/10.12/#fix-positioning-error) and in [10.14.0](/releasenotes/studio-pro/10.14/#fix-positioning-error). -* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide/version-control-menu/#show-changes) dialog box. +* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide10/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide10/version-control-menu/#show-changes) dialog box. * Fixed in [10.18.0](/releasenotes/studio-pro/10.18/#fix-line-endings). ## 10.6.19 {#10619} @@ -97,7 +97,7 @@ This is the [MTS](/releasenotes/studio-pro/lts-mts/#mts) version 10 release for * Fixed in [10.21.0](/releasenotes/studio-pro/10.21/#fix-workflow-instances). * There is a positioning error in the logic editors when you are dragging a large element, such as a loop, into a sequence flow, it overlaps with the existing elements. * Fixed in [10.12.12](/releasenotes/studio-pro/10.12/#fix-positioning-error) and in [10.14.0](/releasenotes/studio-pro/10.14/#fix-positioning-error). -* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide/version-control-menu/#show-changes) dialog box. +* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide10/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide10/version-control-menu/#show-changes) dialog box. * Fixed in [10.18.0](/releasenotes/studio-pro/10.18/#fix-line-endings). ## 10.6.18 {#10618} @@ -113,7 +113,7 @@ This is the [MTS](/releasenotes/studio-pro/lts-mts/#mts) version 10 release for ### Fixes -* We fixed an issue where a data validation error triggered on a rollback or a delete. We now remove data validation errors for objects that are rolled back or deleted. Any validation errors that you generate manually using a [validation feedback](/refguide/validation-feedback/) action will also be removed when an object is rolled back or deleted. (Ticket 192090) +* We fixed an issue where a data validation error triggered on a rollback or a delete. We now remove data validation errors for objects that are rolled back or deleted. Any validation errors that you generate manually using a [validation feedback](/refguide10/validation-feedback/) action will also be removed when an object is rolled back or deleted. (Ticket 192090) * We fixed an issue in the Dojo client where a microflow using **Close all pages** activity followed by an **Open page** activity failed to open the page in specific situations after using the browser’s back button. (Ticket 229707) * We fixed an issue where scheduled events stopped being rescheduled after database connection issues occurred. (Ticket 230873) * We fixed an issue where a service worker in a PWA cached the *index.html*. This caused issues when a *new index.html* was generated, for instance, when migrating an application from the Dojo to the React client. @@ -135,7 +135,7 @@ This is the [MTS](/releasenotes/studio-pro/lts-mts/#mts) version 10 release for * Fixed in [10.21.0](/releasenotes/studio-pro/10.21/#fix-workflow-instances). * There is a positioning error in the logic editors when you are dragging a large element, such as a loop, into a sequence flow, it overlaps with the existing elements. * Fixed in [10.12.12](/releasenotes/studio-pro/10.12/#fix-positioning-error) and in [10.14.0](/releasenotes/studio-pro/10.14/#fix-positioning-error). -* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide/version-control-menu/#show-changes) dialog box. +* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide10/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide10/version-control-menu/#show-changes) dialog box. * Fixed in [10.18.0](/releasenotes/studio-pro/10.18/#fix-line-endings). ## 10.6.17 {#10617} @@ -165,7 +165,7 @@ This is the [MTS](/releasenotes/studio-pro/lts-mts/#mts) version 10 release for * Fixed in [10.21.0](/releasenotes/studio-pro/10.21/#fix-workflow-instances). * There is a positioning error in the logic editors when you are dragging a large element, such as a loop, into a sequence flow, it overlaps with the existing elements. * Fixed in [10.12.12](/releasenotes/studio-pro/10.12/#fix-positioning-error) and in [10.14.0](/releasenotes/studio-pro/10.14/#fix-positioning-error). -* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide/version-control-menu/#show-changes) dialog box. +* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide10/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide10/version-control-menu/#show-changes) dialog box. * Fixed in [10.18.0](/releasenotes/studio-pro/10.18/#fix-line-endings). ## 10.6.16 {#10616} @@ -198,7 +198,7 @@ This is the [MTS](/releasenotes/studio-pro/lts-mts/#mts) version 10 release for * Fixed in [10.21.0](/releasenotes/studio-pro/10.21/#fix-workflow-instances). * There is a positioning error in the logic editors when you are dragging a large element, such as a loop, into a sequence flow, it overlaps with the existing elements. * Fixed in [10.12.12](/releasenotes/studio-pro/10.12/#fix-positioning-error) and in [10.14.0](/releasenotes/studio-pro/10.14/#fix-positioning-error). -* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide/version-control-menu/#show-changes) dialog box. +* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide10/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide10/version-control-menu/#show-changes) dialog box. * Fixed in [10.18.0](/releasenotes/studio-pro/10.18/#fix-line-endings). ## 10.6.15 {#10615} @@ -229,7 +229,7 @@ This is the [MTS](/releasenotes/studio-pro/lts-mts/#mts) version 10 release for * Fixed in [10.21.0](/releasenotes/studio-pro/10.21/#fix-workflow-instances). * There is a positioning error in the logic editors when you are dragging a large element, such as a loop, into a sequence flow, it overlaps with the existing elements. * Fixed in [10.12.12](/releasenotes/studio-pro/10.12/#fix-positioning-error) and in [10.14.0](/releasenotes/studio-pro/10.14/#fix-positioning-error). -* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide/version-control-menu/#show-changes) dialog box. +* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide10/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide10/version-control-menu/#show-changes) dialog box. * Fixed in [10.18.0](/releasenotes/studio-pro/10.18/#fix-line-endings). ## 10.6.14 {#10614} @@ -262,7 +262,7 @@ This is the [MTS](/releasenotes/studio-pro/lts-mts/#mts) version 10 release for * Fixed in [10.21.0](/releasenotes/studio-pro/10.21/#fix-workflow-instances). * There is a positioning error in the logic editors when you are dragging a large element, such as a loop, into a sequence flow, it overlaps with the existing elements. * Fixed in [10.12.12](/releasenotes/studio-pro/10.12/#fix-positioning-error) and in [10.14.0](/releasenotes/studio-pro/10.14/#fix-positioning-error). -* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide/version-control-menu/#show-changes) dialog box. +* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide10/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide10/version-control-menu/#show-changes) dialog box. * Fixed in [10.18.0](/releasenotes/studio-pro/10.18/#fix-line-endings). ## 10.6.13 {#10613} @@ -285,7 +285,7 @@ This is the [MTS](/releasenotes/studio-pro/lts-mts/#mts) version 10 release for * Fixed in [10.21.0](/releasenotes/studio-pro/10.21/#fix-workflow-instances). * There is a positioning error in the logic editors when you are dragging a large element, such as a loop, into a sequence flow, it overlaps with the existing elements. * Fixed in [10.12.12](/releasenotes/studio-pro/10.12/#fix-positioning-error) and in [10.14.0](/releasenotes/studio-pro/10.14/#fix-positioning-error). -* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide/version-control-menu/#show-changes) dialog box. +* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide10/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide10/version-control-menu/#show-changes) dialog box. * Fixed in [10.18.0](/releasenotes/studio-pro/10.18/#fix-line-endings). ## 10.6.12 {#10612} @@ -301,7 +301,7 @@ This is the [MTS](/releasenotes/studio-pro/lts-mts/#mts) version 10 release for * We fixed several memory leaks that happened when closing the **Open App** dialog box. * We upgraded the JDBC driver for Microsoft SQL Server to version 12.6.3. If you connect to SQL Server using integrated security in a module such as [Database Connector](/appstore/modules/database-connector/), you may need to update the JDBC driver in **userlib** as well. * We improved the performance of retrieving many objects for certain data sources, such as a microflow data source. -* We added an [mx show-java-version command](/refguide/mx-command-line-tool/app/#show-java-version) to the mx command-line tool. This command shows the configured Java version of the app. +* We added an [mx show-java-version command](/refguide10/mx-command-line-tool/app/#show-java-version) to the mx command-line tool. This command shows the configured Java version of the app. * The `changedBy` attribute is now updated when `storeFileDocumentContent` or `storeImageDocumentContent` from the public API is used, or when uploading files. This makes it consistent with other ways of updating file documents or images. ### Fixes @@ -312,14 +312,14 @@ This is the [MTS](/releasenotes/studio-pro/lts-mts/#mts) version 10 release for * We fixed an issue in the Dojo client that occurred when calling a microflow that closed all pages before showing a new page. (Ticket 219072) * We fixed an issue where Studio Pro crashed when searching for unused items or when searching for externally used microflows. (Ticket 219388) * We fixed an error in database synchronization which affected setting an existing entity with a decimal attribute as a generalization of another entity. (Ticket 219731) -* We fixed an issue where the Metrics.ApplicationTags configuration value was not used for some of the [built-in metrics](/refguide/metrics/#list-of-metrics). (Ticket 220260) +* We fixed an issue where the Metrics.ApplicationTags configuration value was not used for some of the [built-in metrics](/refguide10/metrics/#list-of-metrics). (Ticket 220260) * We fixed an issue where in applications where both PWA and native profiles were present, the PWA could potentially attempt and fail to pre-cache a native page if it was reachable through subnanoflows. (Ticket 220165) * We fixed an issue with the External Database Connector where the app broke when a new line was added as a part of the parameter value in the expression editor. (Tickets 223964, 224464) * We fixed an issue with the External Database Connector where the app broke due to mismatched capitalization for a parameter name. (Ticket 223739) * We fixed an issue where an on-change action for a reference selector or an input reference set selector configured with a microflow or a nanoflow did not give a consistency error when the parameter mapping needed to be refreshed. (Ticket 224223) * When using MySQL as the database, setting a query timeout works again. * We fixed an issue where the name of a `userlib` dependency in the SBOM was incorrect. -* We fixed an issue where changing an [event action](/refguide/text-box/#events) or a list view [on click](/refguide/list-view/#on-click) or [pull down](/refguide/list-view/#pull-down) action from a microflow to another type of action resulted in an **Oops** dialog box. +* We fixed an issue where changing an [event action](/refguide10/text-box/#events) or a list view [on click](/refguide10/list-view/#on-click) or [pull down](/refguide10/list-view/#pull-down) action from a microflow to another type of action resulted in an **Oops** dialog box. ### Known Issues @@ -329,7 +329,7 @@ This is the [MTS](/releasenotes/studio-pro/lts-mts/#mts) version 10 release for * Fixed in [10.21.0](/releasenotes/studio-pro/10.21/#fix-workflow-instances). * There is a positioning error in the logic editors when you are dragging a large element, such as a loop, into a sequence flow, it overlaps with the existing elements. * Fixed in [10.12.12](/releasenotes/studio-pro/10.12/#fix-positioning-error) and in [10.14.0](/releasenotes/studio-pro/10.14/#fix-positioning-error). -* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide/version-control-menu/#show-changes) dialog box. +* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide10/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide10/version-control-menu/#show-changes) dialog box. * Fixed in [10.18.0](/releasenotes/studio-pro/10.18/#fix-line-endings). ## 10.6.11 {#10611} @@ -354,7 +354,7 @@ This is the [MTS](/releasenotes/studio-pro/lts-mts/#mts) version 10 release for * Fixed in [10.21.0](/releasenotes/studio-pro/10.21/#fix-workflow-instances). * There is a positioning error in the logic editors when you are dragging a large element, such as a loop, into a sequence flow, it overlaps with the existing elements. * Fixed in [10.12.12](/releasenotes/studio-pro/10.12/#fix-positioning-error) and in [10.14.0](/releasenotes/studio-pro/10.14/#fix-positioning-error). -* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide/version-control-menu/#show-changes) dialog box. +* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide10/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide10/version-control-menu/#show-changes) dialog box. * Fixed in [10.18.0](/releasenotes/studio-pro/10.18/#fix-line-endings). ## 10.6.10 {#10610} @@ -390,7 +390,7 @@ This is the [MTS](/releasenotes/studio-pro/lts-mts/#mts) version 10 release for * Fixed in [10.21.0](/releasenotes/studio-pro/10.21/#fix-workflow-instances). * There is a positioning error in the logic editors when you are dragging a large element, such as a loop, into a sequence flow, it overlaps with the existing elements. * Fixed in [10.12.12](/releasenotes/studio-pro/10.12/#fix-positioning-error) and in [10.14.0](/releasenotes/studio-pro/10.14/#fix-positioning-error). -* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide/version-control-menu/#show-changes) dialog box. +* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide10/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide10/version-control-menu/#show-changes) dialog box. * Fixed in [10.18.0](/releasenotes/studio-pro/10.18/#fix-line-endings). ## 10.6.9 {#1069} @@ -445,7 +445,7 @@ required, resulted in an exception when the datasource was not configured. * Fixed in [10.21.0](/releasenotes/studio-pro/10.21/#fix-workflow-instances). * There is a positioning error in the logic editors when you are dragging a large element, such as a loop, into a sequence flow, it overlaps with the existing elements. * Fixed in [10.12.12](/releasenotes/studio-pro/10.12/#fix-positioning-error) and in [10.14.0](/releasenotes/studio-pro/10.14/#fix-positioning-error). -* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide/version-control-menu/#show-changes) dialog box. +* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide10/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide10/version-control-menu/#show-changes) dialog box. * Fixed in [10.18.0](/releasenotes/studio-pro/10.18/#fix-line-endings). ## 10.6.8 {#1068} @@ -477,7 +477,7 @@ required, resulted in an exception when the datasource was not configured. * Fixed in [10.21.0](/releasenotes/studio-pro/10.21/#fix-workflow-instances). * There is a positioning error in the logic editors when you are dragging a large element, such as a loop, into a sequence flow, it overlaps with the existing elements. * Fixed in [10.12.12](/releasenotes/studio-pro/10.12/#fix-positioning-error) and in [10.14.0](/releasenotes/studio-pro/10.14/#fix-positioning-error). -* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide/version-control-menu/#show-changes) dialog box. +* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide10/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide10/version-control-menu/#show-changes) dialog box. * Fixed in [10.18.0](/releasenotes/studio-pro/10.18/#fix-line-endings). ## 10.6.7 {#1067} @@ -530,7 +530,7 @@ Note that new apps are currently still configured to target Java 11. * Fixed in [10.21.0](/releasenotes/studio-pro/10.21/#fix-workflow-instances). * There is a positioning error in the logic editors when you are dragging a large element, such as a loop, into a sequence flow, it overlaps with the existing elements. * Fixed in [10.12.12](/releasenotes/studio-pro/10.12/#fix-positioning-error) and in [10.14.0](/releasenotes/studio-pro/10.14/#fix-positioning-error). -* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide/version-control-menu/#show-changes) dialog box. +* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide10/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide10/version-control-menu/#show-changes) dialog box. * Fixed in [10.18.0](/releasenotes/studio-pro/10.18/#fix-line-endings). ## 10.6.6 {#1066} @@ -578,7 +578,7 @@ We introduced an alternative for WebSQL with this release. After upgrading to th * Fixed in [10.21.0](/releasenotes/studio-pro/10.21/#fix-workflow-instances). * There is a positioning error in the logic editors when you are dragging a large element, such as a loop, into a sequence flow, it overlaps with the existing elements. * Fixed in [10.12.12](/releasenotes/studio-pro/10.12/#fix-positioning-error) and in [10.14.0](/releasenotes/studio-pro/10.14/#fix-positioning-error). -* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide/version-control-menu/#show-changes) dialog box. +* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide10/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide10/version-control-menu/#show-changes) dialog box. * Fixed in [10.18.0](/releasenotes/studio-pro/10.18/#fix-line-endings). ## 10.6.5 {#1065} @@ -629,8 +629,8 @@ We introduced an alternative for WebSQL with this release. After upgrading to th * There is a positioning error in the logic editors when you are dragging a large element, such as a loop, into a sequence flow, it overlaps with the existing elements. * Fixed in [10.12.12](/releasenotes/studio-pro/10.12/#fix-positioning-error) and in [10.14.0](/releasenotes/studio-pro/10.14/#fix-positioning-error). * For some activities in the logic editors, the types of variables are not visible or shown as **Not set**. This is only a visual bug. (Tickets 205751, 207251) - * Workaround: You can switch back to the classic logic editors via **Preferences** > [New Features](/refguide/preferences-dialog/#new-features). -* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide/version-control-menu/#show-changes) dialog box. + * Workaround: You can switch back to the classic logic editors via **Preferences** > [New Features](/refguide10/preferences-dialog/#new-features). +* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide10/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide10/version-control-menu/#show-changes) dialog box. * Fixed in [10.18.0](/releasenotes/studio-pro/10.18/#fix-line-endings). ## 10.6.4 {#1064} @@ -687,7 +687,7 @@ We introduced an alternative for WebSQL with this release. After upgrading to th * Fixed in [10.21.0](/releasenotes/studio-pro/10.21/#fix-workflow-instances). * There is a positioning error in the logic editors when you are dragging a large element, such as a loop, into a sequence flow, it overlaps with the existing elements. * Fixed in [10.12.12](/releasenotes/studio-pro/10.12/#fix-positioning-error) and in [10.14.0](/releasenotes/studio-pro/10.14/#fix-positioning-error). -* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide/version-control-menu/#show-changes) dialog box. +* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide10/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide10/version-control-menu/#show-changes) dialog box. * Fixed in [10.18.0](/releasenotes/studio-pro/10.18/#fix-line-endings). ## 10.6.3 {#1063} @@ -731,7 +731,7 @@ We introduced an alternative for WebSQL with this release. After upgrading to th * Fixed in [10.21.0](/releasenotes/studio-pro/10.21/#fix-workflow-instances). * There is a positioning error in the logic editors when you are dragging a large element, such as a loop, into a sequence flow, it overlaps with the existing elements. * Fixed in [10.12.12](/releasenotes/studio-pro/10.12/#fix-positioning-error) and in [10.14.0](/releasenotes/studio-pro/10.14/#fix-positioning-error). -* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide/version-control-menu/#show-changes) dialog box. +* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide10/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide10/version-control-menu/#show-changes) dialog box. * Fixed in [10.18.0](/releasenotes/studio-pro/10.18/#fix-line-endings). ## 10.6.2 {#1062} @@ -748,12 +748,12 @@ We introduced an alternative for WebSQL with this release. After upgrading to th ### Fixes -* We fixed an issue where the last row did not get imported from an Excel file to the [Batch translate](/refguide/batch-translate/) dialog box. (Tickets 199182, 202693) +* We fixed an issue where the last row did not get imported from an Excel file to the [Batch translate](/refguide10/batch-translate/) dialog box. (Tickets 199182, 202693) * We fixed an issue where changes could not be saved or cancelled when using an input reference set selector widget in a data view without an object. (Ticket 201170) * We fixed an issue in which navigating back in history caused a [Combo Box](/appstore/widgets/combobox/) widget using an association to break. (Tickets 205378, 205479) * We fixed an issue where a microflow could not be opened that referenced a deleted query when using the [External Database Connector](/appstore/modules/external-database-connector/) package. * We fixed an issue in which a microflow or nanoflow was directly created with a default name without asking for it. -* We fixed an issue in which clicking **Select** inside the [Query External Database](/refguide/query-external-database/) dialog box caused a crash when the microflow was located within a sub-folder. +* We fixed an issue in which clicking **Select** inside the [Query External Database](/refguide10/query-external-database/) dialog box caused a crash when the microflow was located within a sub-folder. * We fixed an issue in the domain model editor where undoing changes to the domain model caused an **Oops** pop-up window to appear when making new changes. ### Known Issues @@ -778,7 +778,7 @@ We introduced an alternative for WebSQL with this release. After upgrading to th * Fixed in [10.21.0](/releasenotes/studio-pro/10.21/#fix-workflow-instances). * There is a positioning error in the logic editors when you are dragging a large element, such as a loop, into a sequence flow, it overlaps with the existing elements. * Fixed in [10.12.12](/releasenotes/studio-pro/10.12/#fix-positioning-error) and in [10.14.0](/releasenotes/studio-pro/10.14/#fix-positioning-error). -* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide/version-control-menu/#show-changes) dialog box. +* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide10/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide10/version-control-menu/#show-changes) dialog box. * Fixed in [10.18.0](/releasenotes/studio-pro/10.18/#fix-line-endings). ## 10.6.1 {#1061} @@ -793,7 +793,7 @@ We introduced an alternative for WebSQL with this release. After upgrading to th We have changed the flow for updating with a merge to align it with the rebase experience. Now, both ways of updating are handled and managed by notification bars with similar controls. -For more information on how these actions work and their differences, see the [Notification Controls](/refguide/merge-algorithm/#notifications) section in *Combining Changes and Conflict Resolution*. +For more information on how these actions work and their differences, see the [Notification Controls](/refguide10/merge-algorithm/#notifications) section in *Combining Changes and Conflict Resolution*. ### Improvements @@ -803,7 +803,7 @@ For more information on how these actions work and their differences, see the [N ### Fixes -* We fixed a [known issue](#object) where an error was shown when trying to modify entity members through the [Change object](/refguide/change-object/) microflow activity. +* We fixed a [known issue](#object) where an error was shown when trying to modify entity members through the [Change object](/refguide10/change-object/) microflow activity. * We fixed an issue where a `NullPointerException` occurred due to specific Java dependencies at the startup of an app. (Ticket 203262) * We fixed the `System.ArgumentOutOfRangeException` that occurred in microflow expressions using if-then-else expressions. (Ticket 204039) * We fixed the performance issue MxAssist Logic Bot had with some blank apps. @@ -831,7 +831,7 @@ For more information on how these actions work and their differences, see the [N * Fixed in [10.21.0](/releasenotes/studio-pro/10.21/#fix-workflow-instances). * There is a positioning error in the logic editors when you are dragging a large element, such as a loop, into a sequence flow, it overlaps with the existing elements. * Fixed in [10.12.12](/releasenotes/studio-pro/10.12/#fix-positioning-error) and in [10.14.0](/releasenotes/studio-pro/10.14/#fix-positioning-error). -* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide/version-control-menu/#show-changes) dialog box. +* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide10/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide10/version-control-menu/#show-changes) dialog box. * Fixed in [10.18.0](/releasenotes/studio-pro/10.18/#fix-line-endings). ## 10.6.0 {#1060} @@ -848,13 +848,13 @@ For more information on how these actions work and their differences, see the [N We are happy to announce the general availability of our redesigned and enhanced editors for microflows, nanoflows, and rules. The new editors focus on making your daily logic modeling experience faster, smoother, and easier to learn with several huge improvements. The editors also contain the new contextual suggestions pop-up window with smart suggestions based on AI, in addition to rules that make it faster and easier than ever before to add activities. -For more information, see [Microflows and Nanoflows](/refguide/microflows-and-nanoflows/). +For more information, see [Microflows and Nanoflows](/refguide10/microflows-and-nanoflows/). {{% alert color="info" %}}Adding a search to the smart suggestions is based on an [upvoted idea from Anthony Dickinson](https://community.mendix.com/link/space/microflows/ideas/3472) submitted to the Mendix Community. Thanks, Anthony!{{% /alert %}} #### Data Importer (GA) -We are delighted to announce that the [Data Importer](/appstore/modules/data-importer-extension/) module is now generally available. This allows you to easily configure your Excel files through the dedicated **Data Importer** menu. The configured settings can be seamlessly utilized with the newly introduced [Import data from file](/refguide/import-data-from-file/) microflow activity. +We are delighted to announce that the [Data Importer](/appstore/modules/data-importer-extension/) module is now generally available. This allows you to easily configure your Excel files through the dedicated **Data Importer** menu. The configured settings can be seamlessly utilized with the newly introduced [Import data from file](/refguide10/import-data-from-file/) microflow activity. You can install the module from the [Mendix Marketplace](https://marketplace.mendix.com/link/component/219833). @@ -862,21 +862,21 @@ You can install the module from the [Mendix Marketplace](https://marketplace.men We are releasing MendixChat in beta, our AI-powered knowledge assistant in Studio Pro. MendixChat can answer Mendix-related development and how-to questions, provide best practices, and more. -You can access MendixChat via [View](/refguide/view-menu/) > **MendixChat**. +You can access MendixChat via [View](/refguide10/view-menu/) > **MendixChat**. -For more information, see [MendixChat](/refguide/mendix-chat/). +For more information, see [MendixChat](/refguide10/mendix-chat/). #### Consumed REST Service (Beta) We are releasing the beta version of the consumed REST service, which allows you to integrate with REST services faster. You can now build your REST requests, test them directly, and convert their response to entities without building any of the mappings manually. -For more information, see [Consumed REST Service (Beta)](/refguide/consumed-rest-service/). +For more information, see [Consumed REST Service (Beta)](/refguide10/consumed-rest-service/). #### New Access Rule Editor (Beta) -We are releasing the beta version of our redesigned [access rule](/refguide/access-rules/) editor. In this new UI, you can easily view and edit the access rules of an entity in one single overview. +We are releasing the beta version of our redesigned [access rule](/refguide10/access-rules/) editor. In this new UI, you can easily view and edit the access rules of an entity in one single overview. -You can enable the new UI via the option in [Preferences](/refguide/preferences-dialog/#new-features). +You can enable the new UI via the option in [Preferences](/refguide10/preferences-dialog/#new-features). #### Rich Design Properties @@ -894,7 +894,7 @@ This release introduces the following new ways to interact with styling: To access these changes, update the [Atlas Core](/appstore/modules/atlas-core/) Marketplace module, where the new design properties have been included. -To learn more, see [How to Extend Design Properties](/howto/front-end/extend-design-properties/) and the [Design Properties API](/apidocs-mxsdk/apidocs/design-properties/). +To learn more, see [How to Extend Design Properties](/howto10/front-end/extend-design-properties/) and the [Design Properties API](/apidocs-mxsdk/apidocs/design-properties/). #### External Database Connector @@ -910,32 +910,32 @@ We have also introduced an optimizing storage solution, which is triggered when #### Other New Features -* We have implemented a new expression editor that is enabled by default (with the option in **Preferences** > [New Features](/refguide/preferences-dialog/#new-features) to go back to the legacy expression editor). This new expression editor will also work on MacOS. -* We added a new [Retrieve workflow activity records](/refguide/retrieve-workflow-activity-records/) microflow activity that enables retrieving a list of **System.WorkflowActivityRecord** objects for a given workflow instance. Each **System.WorkflowActivityRecord** object represents a snapshot of a workflow activity. -* We added a feature that allows for switching between portrait and landscape rendering of the workflow editor. For more information, see the [Switching between Portrait and Landscape Editor Orientation](/refguide/perform-workflow-basic-functions/#orientation-modes) section in *Performing Workflow Basic Functions*. -* We added a [Wait for timer](/refguide/timer/) activity for workflows that stops the process execution until the defined period of time has elapsed. -* We now use database [foreign key constraint](/refguide/data-storage/#fkc) validation for new apps. +* We have implemented a new expression editor that is enabled by default (with the option in **Preferences** > [New Features](/refguide10/preferences-dialog/#new-features) to go back to the legacy expression editor). This new expression editor will also work on MacOS. +* We added a new [Retrieve workflow activity records](/refguide10/retrieve-workflow-activity-records/) microflow activity that enables retrieving a list of **System.WorkflowActivityRecord** objects for a given workflow instance. Each **System.WorkflowActivityRecord** object represents a snapshot of a workflow activity. +* We added a feature that allows for switching between portrait and landscape rendering of the workflow editor. For more information, see the [Switching between Portrait and Landscape Editor Orientation](/refguide10/perform-workflow-basic-functions/#orientation-modes) section in *Performing Workflow Basic Functions*. +* We added a [Wait for timer](/refguide10/timer/) activity for workflows that stops the process execution until the defined period of time has elapsed. +* We now use database [foreign key constraint](/refguide10/data-storage/#fkc) validation for new apps. ### Improvements -* We changed the sorting mechanism in the [Go to](/refguide/go-to-option/) dialog box. The excluded items now appear at the end of the list of available entries. +* We changed the sorting mechanism in the [Go to](/refguide10/go-to-option/) dialog box. The excluded items now appear at the end of the list of available entries. {{% alert color="info" %}}This is based on an [upvoted idea from Luuk de Bakker](https://community.mendix.com/link/space/microflows/ideas/3987) submitted to the Mendix Community. Thanks, Luuk!{{% /alert %}} -* We updated the Make It Native (MIN) app's React Native, resulting in a [changed MIN app version](/releasenotes/mobile/make-it-native-10/#upgraded-react-min). This means if you wish to test apps from Studio Pro 10.6.0 and above, use MIN 10. For more information, see [Getting the Make It Native App](/refguide/mobile/getting-started-with-mobile/prerequisites/#get-min-app). +* We updated the Make It Native (MIN) app's React Native, resulting in a [changed MIN app version](/releasenotes/mobile/make-it-native-10/#upgraded-react-min). This means if you wish to test apps from Studio Pro 10.6.0 and above, use MIN 10. For more information, see [Getting the Make It Native App](/refguide10/mobile/getting-started-with-mobile/prerequisites/#get-min-app). * We upgraded the React Native version to 0.72.7. * An external entity can now have an attribute based on a property of a complex type, as long as it is a single-valued complex type that has the supported properties. This is achieved by flattening the properties of the complex type to the properties of the entity. * When importing modules, we now ignore included widget packages if their version is older than or the same version as an already installed widget package. * You can now select which widgets to include when exporting a module. This is useful in case you want to create Marketplace modules that depend on other modules, and you do not want to include their widgets in your module. * It is now possible to use the selection of a pluggable widget as a variable in an expression. This enables writing expressions like `$dataGrid2_1 != empty` or `length($dataGrid2_2) > 1`. You can also use an attribute (path) from a selection variable (for example, `$dataGrid2_1/Name`), as long as the expression is not used for conditional visibility, conditional editability, or validation. -* We added an option to **App Settings** > [Miscellaneous](/refguide/app-settings/#miscellaneous) for using the [Data Grid 2](/appstore/modules/data-grid-2/), [Combo Box](/appstore/widgets/combobox/), and [Image](/appstore/widgets/image/) widgets for content generation. This is enabled by default. If these modern widgets are available in the app, they will be used when generating overview pages or generating the content of data views. +* We added an option to **App Settings** > [Miscellaneous](/refguide10/app-settings/#miscellaneous) for using the [Data Grid 2](/appstore/modules/data-grid-2/), [Combo Box](/appstore/widgets/combobox/), and [Image](/appstore/widgets/image/) widgets for content generation. This is enabled by default. If these modern widgets are available in the app, they will be used when generating overview pages or generating the content of data views. * We made a few improvements to the Data Grid 2 configuration for automatically generating columns when an entity for the data source is selected. * When a data view listens to a pluggable widget, an overlay icon and proper selection highlighting are now shown on both widgets. -* The data view now has a main node and a footer node within the [Page Explorer](/refguide/page-explorer/) to reflect what is on the canvas. -* We added the ability to change the search and sort-by options for a [list view](/refguide/list-view/) widget from its properties. +* The data view now has a main node and a footer node within the [Page Explorer](/refguide10/page-explorer/) to reflect what is on the canvas. +* We added the ability to change the search and sort-by options for a [list view](/refguide10/list-view/) widget from its properties. * We added the ability to change the sort-by options for data grids, reference set selectors, and template grids from their properties. * For the logic editors, we added control points for bezier curves. -* MxAssist Logic Bot now shows parameterized recommendations for a [Change list](/refguide/change-list/) activity. +* MxAssist Logic Bot now shows parameterized recommendations for a [Change list](/refguide10/change-list/) activity. * MxAssist Logic Bot now puts the suggestion to retrieve a list of an entity before the suggestion to retrieve the first object of the entity. * The MxAssist Logic Bot menu content generation has been optimized and can now show more items. * When you are not logged in or you are offline, the AI-generated suggestions in MxAssist Logic Bot are now not available. You will be notified through the Logic Bot menu. @@ -960,10 +960,10 @@ We have also introduced an optimizing storage solution, which is triggered when * We fixed an issue with published OData services where filtering on the properties of an associated object returned an error. (Ticket 200775) * We fixed an issue where using the ALT + F7 shortcut triggered the tab switcher instead of performing a debugger action. (Ticket 201938) * We fixed an issue where a scheduled task was executed before the calling microflow finished successfully. (Ticket 202006) -* We fixed a bug where the login page settings threw a consistency error about a non-existent page, even though [anonymous users](/refguide/anonymous-users/) were not allowed. These settings are now cleared when anonymous users are not allowed. +* We fixed a bug where the login page settings threw a consistency error about a non-existent page, even though [anonymous users](/refguide10/anonymous-users/) were not allowed. These settings are now cleared when anonymous users are not allowed. * We resolved a crash that occurred when refreshing the **App Explorer** contents. * We fixed an issue where Studio Pro did not properly check if an attribute coming from an external entity was filterable and/or sortable, causing an exception in the Mendix Runtime when trying to retrieve the data in the client. -* We fixed a bug where the data source of widgets was missing as a parameter when creating a new microflow or nanoflow for the [Call microflow](/refguide/on-click-event/#call-microflow) or [Call nanoflow](/refguide/on-click-event/#call-nanoflow) client actions. +* We fixed a bug where the data source of widgets was missing as a parameter when creating a new microflow or nanoflow for the [Call microflow](/refguide10/on-click-event/#call-microflow) or [Call nanoflow](/refguide10/on-click-event/#call-nanoflow) client actions. * We fixed an issue in the microflow editor where adding an object to a microflow through the context menu did not automatically select the created object. * In the logic editors, we did the following: * We fixed the error handler connection points on activities that have custom error handlers. @@ -979,7 +979,7 @@ We have also introduced an optimizing storage solution, which is triggered when ### Deprecations * We removed the deprecated **Import Web Service or XML Schema** wizard that was accessible in the domain model editor when you clicked **Import web service/XML file**. -* The [Deep Link](/appstore/modules/deep-link/) module is now deprecated. We will end support for it with Studio Pro 11.0.0. We will continue to support the module for Studio Pro 8, 9, and 10 until the end of support for Studio Pro 10 LTS. The module is being deprecated because its functionality has been shifted to [page URLs](/refguide/page-properties/#url) and [microflow URLs](/refguide/microflow/#url). Using [these methods](/appstore/modules/deep-link/#migrate-page-micro), you can achieve what you used to accomplish with the Deep Link module in easier ways. +* The [Deep Link](/appstore/modules/deep-link/) module is now deprecated. We will end support for it with Studio Pro 11.0.0. We will continue to support the module for Studio Pro 8, 9, and 10 until the end of support for Studio Pro 10 LTS. The module is being deprecated because its functionality has been shifted to [page URLs](/refguide10/page-properties/#url) and [microflow URLs](/refguide10/microflow/#url). Using [these methods](/appstore/modules/deep-link/#migrate-page-micro), you can achieve what you used to accomplish with the Deep Link module in easier ways. * We deprecated the `END_OF_PARALLEL_SPLIT_BRANCH` enumeration constant in the `WorkflowActivityType` in the [Mendix Runtime API](/apidocs-mxsdk/apidocs/runtime-api/). ### Known Issues {#known-issues} @@ -1004,5 +1004,5 @@ We have also introduced an optimizing storage solution, which is triggered when * Fixed in [10.21.0](/releasenotes/studio-pro/10.21/#fix-workflow-instances). * There is a positioning error in the logic editors when you are dragging a large element, such as a loop, into a sequence flow, it overlaps with the existing elements. * Fixed in [10.12.12](/releasenotes/studio-pro/10.12/#fix-positioning-error) and in [10.14.0](/releasenotes/studio-pro/10.14/#fix-positioning-error). -* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide/version-control-menu/#show-changes) dialog box. +* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide10/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide10/version-control-menu/#show-changes) dialog box. * Fixed in [10.18.0](/releasenotes/studio-pro/10.18/#fix-line-endings). diff --git a/content/en/docs/releasenotes/studio-pro/10/10.7.md b/content/en/docs/releasenotes/studio-pro/10/10.7.md index 8c25b3ec64e..c62c5cd545c 100644 --- a/content/en/docs/releasenotes/studio-pro/10/10.7.md +++ b/content/en/docs/releasenotes/studio-pro/10/10.7.md @@ -18,7 +18,7 @@ weight: 93 #### Conditional Editability on Data Views -We introduced conditional editability for [data views](/refguide/data-view/#editability). This means that when all the input fields within a data view are editable based on the same condition, you no longer need to repeat that condition for every input field. You can now specify that condition on the data view level instead. +We introduced conditional editability for [data views](/refguide10/data-view/#editability). This means that when all the input fields within a data view are editable based on the same condition, you no longer need to repeat that condition for every input field. You can now specify that condition on the data view level instead. When conditional editability conditions are nested (for example, an input field is inside a conditionally editable data view or nested data views have conditional editability conditions), then the conditions are combined. @@ -30,11 +30,11 @@ In keeping with our commitment to delivering the best user experience possible, The Mendix 10 React Client is available in [beta](/releasenotes/beta-features/) and will be generally available in Studio Pro 10.12. -Enabling can be done with the [Use React Client](/refguide/app-settings/#react-client) configuration in the runtime settings. For more information, see [Mendix React Client](/refguide/mendix-client/react/). +Enabling can be done with the [Use React Client](/refguide10/app-settings/#react-client) configuration in the runtime settings. For more information, see [Mendix React Client](/refguide10/mendix-client/react/). #### Studio Pro on Mac (Beta) -Studio Pro on Mac is now in [public beta](/releasenotes/beta-features/). This allows you to run Studio Pro natively on Mac without Parallels. With the Mac version of Studio Pro, you can edit your apps in the same way as on Windows using the functionality you are used to. For more information, see the [Software Specifications](/refguide/system-requirements/#software) section in *System Requirements*. +Studio Pro on Mac is now in [public beta](/releasenotes/beta-features/). This allows you to run Studio Pro natively on Mac without Parallels. With the Mac version of Studio Pro, you can edit your apps in the same way as on Windows using the functionality you are used to. For more information, see the [Software Specifications](/refguide10/system-requirements/#software) section in *System Requirements*. These are the known limitations: @@ -49,35 +49,35 @@ These are the known limitations: We aligned the merge flow with the rebase experience used when you update. Now, both ways of updating are handled and managed by notification bars with similar controls. -For more information on these actions and their differences, see [Combining Changes and Conflict Resolution](/refguide/merge-algorithm/). +For more information on these actions and their differences, see [Combining Changes and Conflict Resolution](/refguide10/merge-algorithm/). #### Workflow Events -The [Events](/refguide/workflow-properties/#events) setting is deprecated and will be removed in Studio Pro version 11.0.0. We replaced it with a new mechanism to register microflows as [event handlers](/refguide/workflow-properties/#event-handlers) for events that occur to workflows. The event-handler microflows are provided with detailed workflow data that can be used to create audit trails or performance diagrams or be used for analytical purposes. For more information, see [Workflow Events](/refguide/workflow-events/). +The [Events](/refguide10/workflow-properties/#events) setting is deprecated and will be removed in Studio Pro version 11.0.0. We replaced it with a new mechanism to register microflows as [event handlers](/refguide10/workflow-properties/#event-handlers) for events that occur to workflows. The event-handler microflows are provided with detailed workflow data that can be used to create audit trails or performance diagrams or be used for analytical purposes. For more information, see [Workflow Events](/refguide10/workflow-events/). ### Improvements -* [MxAssist Logic Bot](/refguide/mx-assist-logic-bot/) now supports parameter matching for the **Show Page** activity. +* [MxAssist Logic Bot](/refguide10/mx-assist-logic-bot/) now supports parameter matching for the **Show Page** activity. * We introduced the new [Selection](/apidocs-mxsdk/apidocs/pluggable-widgets-property-types/#selection) property for the Pluggable Widgets API (and [SelectionValue](/apidocs-mxsdk/apidocs/pluggable-widgets-client-apis/#selection-value) in the Client API) which allows widgets to read and set selections that can be used in actions, expressions, or a **Listen to** data source of a data view. -* We changed the keyboard support in [MendixChat](/refguide/mendix-chat/) for building and sending a prompt. Enter sends while Shift + Enter adds a new line. Ctrl + Enter works in the same way as Enter, because Ctrl is not taken into account anymore. +* We changed the keyboard support in [MendixChat](/refguide10/mendix-chat/) for building and sending a prompt. Enter sends while Shift + Enter adds a new line. Ctrl + Enter works in the same way as Enter, because Ctrl is not taken into account anymore. * We added a **New chat** button to the top bar of MendixChat which allows you to clear messages from the chat. * We added a copy option to MendixChat which allows you to copy the given answer to a clipboard. * We added useful information about the referenced documents in MendixChat. You can now see the Mendix version of the references, the level required if the reference comes from Mendix Academy, and the date and answer status if the reference comes from the Mendix Community. -* When selecting a REST request for a [Send REST request (beta)](/refguide/send-rest-request/) microflow activity, you can now select **New** to directly create a new REST request. +* When selecting a REST request for a [Send REST request (beta)](/refguide10/send-rest-request/) microflow activity, you can now select **New** to directly create a new REST request. * Consumed REST services now support variables in request headers. * We now support the HTTP method `PATCH` in a consumed REST service (beta). * We introduced `application/json` as the default **Value** for **Accept** headers in a consumed REST service (beta). The **Accept** header lets the server know what content type response can be understood by the client application. -* Studio Pro now blocks the [Rebase](/refguide/merge-algorithm/#rebase) feature when the installed Git version is below 2.41. +* Studio Pro now blocks the [Rebase](/refguide10/merge-algorithm/#rebase) feature when the installed Git version is below 2.41. * When moving documents that have roles configured for them (for example, roles for pages or microflows) to a different module, Studio Pro now tries to re-map the configured roles to roles with the same name from the module to which you are moving the documents. * We improved the scaling of the new access rule editor when expanding the view. * We improved the scroll behavior in the new access rule editor. Next to this, we made various small improvements to focus, selection, and ordering in the UI. * When a data view listens to a pluggable widget while you are in **Design mode**, an overlay icon and proper selection highlighting are now shown on both widgets. * Published OData services can now be hosted on any location path, not just `/odata`. -* The [list of published OData services](/refguide/published-odata-services/#general) on `/odata-doc` now shows the [service names](/refguide/published-odata-services/#service-name) instead of locations of the services. -* We moved the [Send external object](/refguide/send-external-object/) and [Delete external object](/refguide/delete-external-object/) activities to the **Integration activities** category in the microflow **Toolbox**. +* The [list of published OData services](/refguide10/published-odata-services/#general) on `/odata-doc` now shows the [service names](/refguide10/published-odata-services/#service-name) instead of locations of the services. +* We moved the [Send external object](/refguide10/send-external-object/) and [Delete external object](/refguide10/delete-external-object/) activities to the **Integration activities** category in the microflow **Toolbox**. * We upgraded the Azure Blob Storage dependency from 8.6.6 to 12.25.1. * We improved the error messages that are logged when the number of users exceeds the licensed amount. -* We updated the [Data Importer](/appstore/modules/data-importer-extension/) module to read, parse, and import CSV (comma-separated values) files. The existing Data Importer menu can be used to configure your CSV files. The configured settings can be utilized with the existing [Import data from file](/refguide/import-data-from-file/) activity. +* We updated the [Data Importer](/appstore/modules/data-importer-extension/) module to read, parse, and import CSV (comma-separated values) files. The existing Data Importer menu can be used to configure your CSV files. The configured settings can be utilized with the existing [Import data from file](/refguide10/import-data-from-file/) activity. * [External Database Connector](/appstore/modules/external-database-connector/) now supports UPDATE & DELETE SQL statements. * We improved the performance of populating tables and views metadata from all schemas accessible by the user in [External Database Connector](/appstore/modules/external-database-connector/). Searching for information within this tab was also improved. * External Database Connector has a new SQL Query text box which offers highlighting of SQL grammar and retains indentation and formatting after it is pasted into the component. It also now supports standard features such as copy, paste, undo, redo, find, and replace. @@ -88,7 +88,7 @@ The [Events](/refguide/workflow-properties/#events) setting is deprecated and wi ### Fixes * We fixed a [known issue](/releasenotes/studio-pro/10.6/#ki-breakpoint) where breakpoints were not updating. -* We fixed an issue where the last row did not get imported from an Excel file to the [Batch translate](/refguide/batch-translate/) dialog box. (Tickets 199182, 202693) +* We fixed an issue where the last row did not get imported from an Excel file to the [Batch translate](/refguide10/batch-translate/) dialog box. (Tickets 199182, 202693) * We reintroduced the fix for the issue where created files were not deleted when an error occurred in a microflow. (Ticket 199712) * We fixed a problem where using the setting **Public application root URL** without an explicitly specified protocol (for example, "example.com" instead of "http://example.com/ ") was causing issues. (Ticket 197968) * We fixed an issue where the **Add** and **Remove** options in the properties dialog box of the **Change object** microflow activity were not active. (Ticket 201629) @@ -152,5 +152,5 @@ The [Events](/refguide/workflow-properties/#events) setting is deprecated and wi * Fixed in [10.17.0](/releasenotes/studio-pro/10.17/#fix-finished-parallel-split). * There is a positioning error in the logic editors when you are dragging a large element, such as a loop, into a sequence flow, it overlaps with the existing elements. * Fixed in [10.12.12](/releasenotes/studio-pro/10.12/#fix-positioning-error) and in [10.14.0](/releasenotes/studio-pro/10.14/#fix-positioning-error). -* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide/version-control-menu/#show-changes) dialog box. +* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide10/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide10/version-control-menu/#show-changes) dialog box. * Fixed in [10.18.0](/releasenotes/studio-pro/10.18/#fix-line-endings). diff --git a/content/en/docs/releasenotes/studio-pro/10/10.8.md b/content/en/docs/releasenotes/studio-pro/10/10.8.md index 18bb2170abf..5e4d2d7eff9 100644 --- a/content/en/docs/releasenotes/studio-pro/10/10.8.md +++ b/content/en/docs/releasenotes/studio-pro/10/10.8.md @@ -34,7 +34,7 @@ weight: 92 * Fixed in [10.12.12](/releasenotes/studio-pro/10.12/#fix-positioning-error) and in [10.14.0](/releasenotes/studio-pro/10.14/#fix-positioning-error). * A finished parallel split path that is removed from a running workflow instance wrongly leads to a versioning conflict. Please note that "path" was called "branch" in earlier versions. * Fixed in [10.17.0](/releasenotes/studio-pro/10.17/#fix-finished-parallel-split). -* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide/version-control-menu/#show-changes) dialog box. +* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide10/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide10/version-control-menu/#show-changes) dialog box. * Fixed in [10.18.0](/releasenotes/studio-pro/10.18/#fix-line-endings). ## 10.8.0 {#1080} @@ -45,9 +45,9 @@ weight: 92 ### New Features -* The Runtime behavior of data sources now depends on how a page is modeled in Studio Pro. In some scenarios, only the required attributes are sent to the client. This optimizes the network load. In other scenarios, all the attributes of an object are sent to the client. This prevents a round trip when the object is needed in a subsequent client action. Studio Pro now shows which of these cases apply to a data source, and also allows you to change the behavior to optimize for round trips. For more information on the Runtime behavior of data sources, see [Data Sources Retrieval](/refguide/datasource-runtime/). +* The Runtime behavior of data sources now depends on how a page is modeled in Studio Pro. In some scenarios, only the required attributes are sent to the client. This optimizes the network load. In other scenarios, all the attributes of an object are sent to the client. This prevents a round trip when the object is needed in a subsequent client action. Studio Pro now shows which of these cases apply to a data source, and also allows you to change the behavior to optimize for round trips. For more information on the Runtime behavior of data sources, see [Data Sources Retrieval](/refguide10/datasource-runtime/). * You can now publish entities in OData services without the **Read** capability. This allows you to use entities (including non-persistable entities) without exposing the data, and use them as parameters or return types for your published microflows. On the consume side, these non-readable external entities can be imported. This makes them behave like non-persistable entities, and thus can be passed to a **Call external action** activity as parameters or used as its return type. -* We introduced the **Autosave** feature. You can now enable it in **Preferences**. It automatically saves your changes on various actions, such as running and deploying your app, executing version control operations, closing files or apps, exporting modules, or exiting Studio Pro. For more information, see the [Enable Autosave](/refguide/preferences-dialog/#autosave) section in *Preferences*. +* We introduced the **Autosave** feature. You can now enable it in **Preferences**. It automatically saves your changes on various actions, such as running and deploying your app, executing version control operations, closing files or apps, exporting modules, or exiting Studio Pro. For more information, see the [Enable Autosave](/refguide10/preferences-dialog/#autosave) section in *Preferences*. * We added new features to the Data Importer where you can edit an entity, attributes, and its data type. #### Java 17 @@ -86,8 +86,8 @@ Note that new apps are currently still configured to target Java 11. * We made it easier to click connection points and to resize elements in the logic editors. * We created Java proxy classes for workflows to improve the user experience when user performs custom Java actions. * We improved microflow, nanoflow, and rule editor performance. -* We now fail the workflow [multi-user task](/refguide/multi-user-task/), for which the required amount of users is more than the number of targeted users, during the user targeting phase. Previously it failed either during redeployment or when setting the user task outcome. -* A workflow [user task](/refguide/user-task/) (having no state-change handler configured), which fails during the user targeting phase is now correctly persisted as being failed in the database. +* We now fail the workflow [multi-user task](/refguide10/multi-user-task/), for which the required amount of users is more than the number of targeted users, during the user targeting phase. Previously it failed either during redeployment or when setting the user task outcome. +* A workflow [user task](/refguide10/user-task/) (having no state-change handler configured), which fails during the user targeting phase is now correctly persisted as being failed in the database. * We no longer set an anonymous user as the owner of a workflow, because it is temporary and will go away when the session ends. * We now filter out anonymous users for workflow user task targeting, since anonymous users cannot complete a user task. * We improved the error message that is shown when an anonymous user attempts to complete a user task. @@ -151,5 +151,5 @@ Note that new apps are currently still configured to target Java 11. * Fixed in [10.17.0](/releasenotes/studio-pro/10.17/#fix-finished-parallel-split). * There is a positioning error in the logic editors when you are dragging a large element, such as a loop, into a sequence flow, it overlaps with the existing elements. * Fixed in [10.12.12](/releasenotes/studio-pro/10.12/#fix-positioning-error) and in [10.14.0](/releasenotes/studio-pro/10.14/#fix-positioning-error). -* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide/version-control-menu/#show-changes) dialog box. +* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide10/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide10/version-control-menu/#show-changes) dialog box. * Fixed in [10.18.0](/releasenotes/studio-pro/10.18/#fix-line-endings). diff --git a/content/en/docs/releasenotes/studio-pro/10/10.9.md b/content/en/docs/releasenotes/studio-pro/10/10.9.md index 04d7c4acd9c..ec43b03fee2 100644 --- a/content/en/docs/releasenotes/studio-pro/10/10.9.md +++ b/content/en/docs/releasenotes/studio-pro/10/10.9.md @@ -26,7 +26,7 @@ As **Structure mode** is not supported on Mac, we are enabling X-Ray mode on Mac On Windows, X-Ray mode can also be enabled in the **New features** section of **Preferences**. You can opt out of the beta by disabling the feature in **Preferences**. -For more information, see [X-Ray Mode](/refguide/page/#x-ray-mode). +For more information, see [X-Ray Mode](/refguide10/page/#x-ray-mode). #### Session and Login Token Improvements @@ -36,7 +36,7 @@ Offline-first apps will use authentication tokens by default, providing compatib You can also use the new core client API, `login2`, with the useAuthToken argument, which allows you to specify whether to generate an authentication token for long-lived sessions. This can be used for both online and offline-first apps. -See [Session Management](/refguide/session-management/) for more information on how this works. +See [Session Management](/refguide10/session-management/) for more information on how this works. #### WebSQL replacement @@ -45,7 +45,7 @@ We introduced an alternative for WebSQL with this release. After upgrading to th #### Other New Features * We added a **Continue All** button to the debugger. When there are multiple paused microflows, nanoflows, or rules, then they can all be continued by pressing a single button instead of having to continue them individually. -* You can now indicate that a constant value is private (rather than shared). Studio Pro will store encrypted value in the user settings (instead of the app model). For more information, see the [Constants](/refguide/configuration/#constants) section in *Configurations*. +* You can now indicate that a constant value is private (rather than shared). Studio Pro will store encrypted value in the user settings (instead of the app model). For more information, see the [Constants](/refguide10/configuration/#constants) section in *Configurations*. ### Improvements @@ -64,11 +64,11 @@ We introduced an alternative for WebSQL with this release. After upgrading to th * The behavior of the autocomplete for editing page and microflow URLs was improved to suggest parameters and attributes more often. * We improved Studio Pro general performance: simple object moves no longer trigger consistency checks in the logic editors. * We improved positioning and layouting after Decisions are inserted via MxAssist. -* We added support for query string parameters to [microflow URLs](/refguide/microflow/#url). When configuring the URL of a microflow you can check the checkbox in the parameter table to configure that parameter as a query string parameters. Query string parameters are only supported for primitive microflow parameters. +* We added support for query string parameters to [microflow URLs](/refguide10/microflow/#url). When configuring the URL of a microflow you can check the checkbox in the parameter table to configure that parameter as a query string parameters. Query string parameters are only supported for primitive microflow parameters. * In the microflow, nanoflow, and rule editors, when dropping an object on a flow that is not vertical or horizontal, it will be positioned at the drop point instead of aligned to one of the adjacent objects. * We added a **Show** button to the **Select {Document Type}** dialog box in Studio Pro to quickly open the selected document. * We have removed `react-native-code-push` dependency. We recommend migrating to Mendix OTA instead. -* Context menu options are now provided for the widgets that can be converted to the modern (Mendix React Client compatible) counterparts. The following conversions are now possible: data grid widgets can be converted to data grid 2 widgets, static and dynamic image widgets can be converted to image widgets, and drop-down widgets can be converted to combo box widgets. The conversion might require the latest modern widget versions from the Marketplace. For more information, see Mendix React Client's [Migration Guide](/refguide/mendix-client/react/#migration-guide). +* Context menu options are now provided for the widgets that can be converted to the modern (Mendix React Client compatible) counterparts. The following conversions are now possible: data grid widgets can be converted to data grid 2 widgets, static and dynamic image widgets can be converted to image widgets, and drop-down widgets can be converted to combo box widgets. The conversion might require the latest modern widget versions from the Marketplace. For more information, see Mendix React Client's [Migration Guide](/refguide10/mendix-client/react/#migration-guide). * We changed the button captions for the data grid 2 generate columns dialog box to make it clear that the generation can be skipped when selecting a data source. * We now support HTTP Method `DELETE` in a consumed REST service (beta). * We now support multiple parameters for values of request headers in a Consumed REST service. @@ -134,5 +134,5 @@ We introduced an alternative for WebSQL with this release. After upgrading to th * Fixed in [10.17.0](/releasenotes/studio-pro/10.17/#fix-finished-parallel-split). * There is a positioning error in the logic editors when you are dragging a large element, such as a loop, into a sequence flow, it overlaps with the existing elements. * Fixed in [10.12.12](/releasenotes/studio-pro/10.12/#fix-positioning-error) and in [10.14.0](/releasenotes/studio-pro/10.14/#fix-positioning-error). -* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide/version-control-menu/#show-changes) dialog box. +* Line endings in CSS files are not being handled properly, so when using [Revert All Changes](/refguide10/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](/refguide10/version-control-menu/#show-changes) dialog box. * Fixed in [10.18.0](/releasenotes/studio-pro/10.18/#fix-line-endings). From 03f6c780cbbabd672c63bccf89e64f439581117a Mon Sep 17 00:00:00 2001 From: Yiyun Liao Date: Fri, 11 Apr 2025 11:17:02 +0200 Subject: [PATCH 5/5] Update doc links in other places that clearly link to MX 10 docs --- .../consumed-odata-services/consumed-odata-service.md | 2 +- .../en/docs/refguide9/modeling/app-explorer/modules/_index.md | 2 +- .../modules/configure-add-on-and-solution-modules.md | 2 +- .../refguide9/modeling/app-explorer/modules/module-settings.md | 2 +- .../consumed-odata-services/consumed-odata-service.md | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/content/en/docs/refguide8/modeling/integration/consumed-odata-services/consumed-odata-service.md b/content/en/docs/refguide8/modeling/integration/consumed-odata-services/consumed-odata-service.md index ac4a0004f79..7c2526a60df 100644 --- a/content/en/docs/refguide8/modeling/integration/consumed-odata-services/consumed-odata-service.md +++ b/content/en/docs/refguide8/modeling/integration/consumed-odata-services/consumed-odata-service.md @@ -78,7 +78,7 @@ For more flexible HTTP request headers, you can select a microflow that returns {{% /alert %}} {{% alert color="info" %}} -Custom authentication can be done with the microflow where the authentication value is retrieved (such as SSO). For further information on access and authentication, see [Using Custom HTTP Header Validation for Published Entities](/refguide/security-shared-datasets/#http-header-validation) in the *Security and Shared Datasets* document in the Studio Pro 10 guide. +Custom authentication can be done with the microflow where the authentication value is retrieved (such as SSO). For further information on access and authentication, see [Using Custom HTTP Header Validation for Published Entities](/refguide10/security-shared-datasets/#http-header-validation) in the *Security and Shared Datasets* document in the Studio Pro 10 guide. {{% /alert %}} ## Metadata Tab {#metadata} diff --git a/content/en/docs/refguide9/modeling/app-explorer/modules/_index.md b/content/en/docs/refguide9/modeling/app-explorer/modules/_index.md index 281ecdbe7c4..3910d9491ac 100644 --- a/content/en/docs/refguide9/modeling/app-explorer/modules/_index.md +++ b/content/en/docs/refguide9/modeling/app-explorer/modules/_index.md @@ -22,7 +22,7 @@ Mendix Modules are distinct from React Native modules. Mendix modules are portio ## Module Types {#module-types} {{% alert color="info" %}} -In Studio Pro 9, add-on modules and solution modules were previously available in preview for select customers and partners as part of an early access program. In Studio Pro 10, this functionality is generally available for all users. For more information, see this page in the [Studio Pro 10 Guide](/refguide/modules/). +In Studio Pro 9, add-on modules and solution modules were previously available in preview for select customers and partners as part of an early access program. In Studio Pro 10, this functionality is generally available for all users. For more information, see this page in the [Studio Pro 10 Guide](/refguide10/modules/). {{% /alert %}} When you create a module, it has a default **app module** type. The type can be changed at any time in [Module Settings](/refguide9/module-settings/). diff --git a/content/en/docs/refguide9/modeling/app-explorer/modules/configure-add-on-and-solution-modules.md b/content/en/docs/refguide9/modeling/app-explorer/modules/configure-add-on-and-solution-modules.md index 09b9a37682c..3ae6676fc7b 100644 --- a/content/en/docs/refguide9/modeling/app-explorer/modules/configure-add-on-and-solution-modules.md +++ b/content/en/docs/refguide9/modeling/app-explorer/modules/configure-add-on-and-solution-modules.md @@ -6,7 +6,7 @@ weight: 20 --- {{% alert color="warning" %}} -In Studio Pro 9, add-on modules and solution modules were previously available in preview for select customers and partners as part of an early access program. In Studio Pro 10, this functionality is generally available for all users. For more information, see this page in the [Studio Pro 10 Guide](/refguide/configure-add-on-and-solution-modules/). +In Studio Pro 9, add-on modules and solution modules were previously available in preview for select customers and partners as part of an early access program. In Studio Pro 10, this functionality is generally available for all users. For more information, see this page in the [Studio Pro 10 Guide](/refguide10/configure-add-on-and-solution-modules/). {{% /alert %}} ## Introduction diff --git a/content/en/docs/refguide9/modeling/app-explorer/modules/module-settings.md b/content/en/docs/refguide9/modeling/app-explorer/modules/module-settings.md index d56d91478a5..db681bb847c 100644 --- a/content/en/docs/refguide9/modeling/app-explorer/modules/module-settings.md +++ b/content/en/docs/refguide9/modeling/app-explorer/modules/module-settings.md @@ -6,7 +6,7 @@ weight: 10 --- {{% alert color="warning" %}} -In Studio Pro 9, add-on modules and solution modules were previously available in preview for select customers and partners as part of an early access program. In Studio Pro 10, this functionality is generally available for all users. For more information, see this page in the [Studio Pro 10 Guide](/refguide/module-settings/). +In Studio Pro 9, add-on modules and solution modules were previously available in preview for select customers and partners as part of an early access program. In Studio Pro 10, this functionality is generally available for all users. For more information, see this page in the [Studio Pro 10 Guide](/refguide10/module-settings/). {{% /alert %}} ## Introduction diff --git a/content/en/docs/refguide9/modeling/integration/odata-services/consumed-odata-services/consumed-odata-service.md b/content/en/docs/refguide9/modeling/integration/odata-services/consumed-odata-services/consumed-odata-service.md index a7c22b8d68e..f10c4bb8a9c 100644 --- a/content/en/docs/refguide9/modeling/integration/odata-services/consumed-odata-services/consumed-odata-service.md +++ b/content/en/docs/refguide9/modeling/integration/odata-services/consumed-odata-services/consumed-odata-service.md @@ -76,7 +76,7 @@ For more flexible HTTP request headers, you can select a microflow that returns {{% /alert %}} {{% alert color="info" %}} -Custom authentication can be done with the microflow where the authentication value is retrieved (such as SSO). For further information on access and authentication, see [Using Custom HTTP Header Validation for Published Entities](/refguide/security-shared-datasets/#http-header-validation) in the *Security and Shared Datasets* document in the Studio Pro 10 guide. +Custom authentication can be done with the microflow where the authentication value is retrieved (such as SSO). For further information on access and authentication, see [Using Custom HTTP Header Validation for Published Entities](/refguide10/security-shared-datasets/#http-header-validation) in the *Security and Shared Datasets* document in the Studio Pro 10 guide. {{% /alert %}} #### Authenticating with Mendix SSO {#authenticate-mendix-sso}