diff --git a/docs/Admin/cli.md b/docs/Admin/cli.md index 276bdc42b4774c..1eb6482ff22a14 100644 --- a/docs/Admin/cli.md +++ b/docs/Admin/cli.md @@ -45,7 +45,7 @@ Syntax: |`--webadmin-settings-file`|File path|Path of the custom WebAdmin `.4DSettings` file for the [WebAdmin web server](webAdmin.md). Not available with [tool4d](#tool4d).| |`--webadmin-access-key`|Text|Access key for the [WebAdmin web server](webAdmin.md). Not available with [tool4d](#tool4d).| |`--webadmin-auto-start`|Boolean|Status of the automatic startup for the [WebAdmin web server](webAdmin.md). Not available with [tool4d](#tool4d).| -|`--webadmin-store-settings`||Store the access key and automatic starting parameters in the currently used settings file (i.e. the default [`WebAdmin.4DSettings`](webAdmin.md#webadmin-settings) file or a custom file designated with the `--webadmin-settings-path` parameter). Use the `--webadmin-store-settings` argument to save these settings if necessary. Not available with [tool4d](#tool4d).| +|`--webadmin-store-settings`||Store the access key and automatic starting parameters in the currently used settings file (i.e. the default [`WebAdmin.4DSettings`](webAdmin.md#settings) file or a custom file designated with the `--webadmin-settings-path` parameter). Use the `--webadmin-store-settings` argument to save these settings if necessary. Not available with [tool4d](#tool4d).| |`--utility`||Only available with 4D Server. Launches [4D Server in utility mode](#4d-server-in-utility-mode).| |`--skip-onstartup`||Launches the project without executing any "automatic" methods, including the `On Startup` and `On Exit` database methods| |`--startup-method`|Project method name (string)|Project method to execute immediately after the `On Startup` database method (if not skipped with `--skip-onstartup`).| diff --git a/docs/Admin/dataExplorer.md b/docs/Admin/dataExplorer.md index 03c0f1bbe8ee23..bd4e5d72c1b87e 100644 --- a/docs/Admin/dataExplorer.md +++ b/docs/Admin/dataExplorer.md @@ -11,14 +11,14 @@ The Data Explorer provides a web interface to view, query, and edit data in your The Data Explorer relies on the [`WebAdmin`](webAdmin.md) web server component for the configuration and authentication settings. -- **configuration**: the Data Explorer configuration reuses the [`WebAdmin` web server settings](webAdmin.md#webadmin-settings), -- **authentication**: access to the Data Explorer is granted when the [session user is authenticated](webAdmin.md#authentication-and-session) and has the "WebAdmin" privilege. When the Data Explorer is accessed through the **Data Explorer** menu item (see below), an automatic authentication is provided. +- **configuration**: the Data Explorer configuration reuses the [`WebAdmin` web server settings](webAdmin.md#settings), +- **authentication**: access to the Data Explorer is granted when the [session user is authenticated](webAdmin.md#authentication) and has the "WebAdmin" privilege. When the Data Explorer is accessed through the **Data Explorer** menu item (see below), an automatic authentication is provided. > The Data Explorer access can be disabled using the [`.setAdminProtection()`](API/DataStoreClass.md#setadminprotection) function. ## Opening the Data Explorer -[The `WebAdmin` web server](webAdmin.md#starting-the-webadmin-web-server) is started automatically if necessary when the Data Explorer is clicked on. +[The Web Administration Server](webAdmin.md#starting-the-web-administration-server) is started automatically if necessary when the Data Explorer is clicked on. To connect to the Data Explorer web page: diff --git a/docs/Admin/webAdmin.md b/docs/Admin/webAdmin.md index df08d3d82441fa..6f629e274f0682 100644 --- a/docs/Admin/webAdmin.md +++ b/docs/Admin/webAdmin.md @@ -62,7 +62,7 @@ Configuring the Web Administration Server is mandatory in particular to define t You can configure the Web Administration Server using the [Web Administration settings dialog box](#settings-dialog-box) (see below). -> If you use a headless 4D application, you can use [*Command Line Interface* arguments](#webadmin-headless-configuration) to define basic settings. You will have to customize the settings file to define advanced parameters. +> If you use a headless 4D application, you can use [*Command Line Interface* arguments](#headless-configuration) to define basic settings. You will have to customize the settings file to define advanced parameters. ### Settings dialog box diff --git a/docs/Concepts/components.md b/docs/Concepts/components.md index 2295ba0c354992..7a7487125280ff 100644 --- a/docs/Concepts/components.md +++ b/docs/Concepts/components.md @@ -31,6 +31,6 @@ You can select a component [project method](methods.md) or [class](classes.md) a :::note -Interpreted component code can be [edited directly from the host project](../Extensions/develop-components.md#editing-components-from-the-host) if the context is supported. +Interpreted component code can be [edited directly from the host project](../Extensions/develop-components.md#creating-and-editing-components-from-the-host) if the context is supported. ::: \ No newline at end of file diff --git a/docs/Concepts/error-handling.md b/docs/Concepts/error-handling.md index fbd03183263479..64c06a4a937e49 100644 --- a/docs/Concepts/error-handling.md +++ b/docs/Concepts/error-handling.md @@ -22,7 +22,7 @@ It is highly recommended to install a global error-handling method on 4D Server, ::: -## Predictable vs unpredictable errors +## Predictable vs unpredictable errors {#predictable-vs-unpredictable-errors} Many 4D class functions, such as [`entity.save()`](../API/EntityClass.md#save) or [`transporter.send()`](../API/SMTPTransporterClass.md#send), return a object containing *status* information. This object is used to store **predictable** errors in the runtime context, e.g. invalid password, locked entity, etc., that do not require to stop program execution. This category of errors, also named **silent errors** errors, can be handled by regular code. When such errors occur in an error handling context, i.e. a [`Try`](#tryexpression), [`Try/Catch`](#trycatchend-try) or an [error-handling method](#installing-an-error-handling-method), they do not interrupt the execution and do not trigger the error handling (e.g. the `Catch` part of the [`Try/Catch`](#trycatchend-try) is not executed). They are not listed in the [`Last errors`](../commands/last-errors.md) collection. The error is only returned in the `status` and `statusText` properties of the returned object. It can be processed according to your business logic. @@ -200,7 +200,7 @@ function test() ``` -3. You want to handle both [predictable and non-predictable](#error-or-status) errors: +3. You want to handle both [predictable and non-predictable]{#predictable-vs-unpredictable-errors} errors: ```4d var $e:=ds.Employee.new() diff --git a/docs/Desktop/labels.md b/docs/Desktop/labels.md index 3e624218025c81..d2dfac6e0d4eab 100644 --- a/docs/Desktop/labels.md +++ b/docs/Desktop/labels.md @@ -147,7 +147,7 @@ The Layout page contains controls for printing labels based on the requirements - **Method**: Lets you trigger a specific method that will be run at print time. For example, you can execute a method that posts the date and time that each label was printed. This feature is also useful when you print labels using a dedicated table form, in which case you can fill variables from a method. To be eligible for label processing, a project method must comply with the following settings: - it must be "allowed" for the database (allowed methods depend on [project settings](../settings/security.md#options) and the [`SET ALLOWED METHODS`](../commands/set-allowed-methods.md) command), otherwise it will not be displayed in the **Apply** menu. - - it must have the [Shared by components and host database](../Project/code-overview.md#shared-by-components-and-host-database) option. + - it must have the [Shared by components and host database](../Project/project-method-properties.md#shared-by-components-and-host-database) option. See also [this example](#printing-labels-using-forms-and-methods-example) below. :::note @@ -178,7 +178,7 @@ Here, in a table form named "label", we added the *myVar* variable: var myVar+=1 ``` -3. Set the project method as ["Shared by components and host database"](../Project/code-overview.md#shared-by-components-and-host-database). +3. Set the project method as ["Shared by components and host database"](../Project/project-method-properties.md#shared-by-components-and-host-database). 4. Before displaying the Label editor, make sure the project method is allowed by executing this code: diff --git a/docs/Desktop/sessions.md b/docs/Desktop/sessions.md index 347b62a90b241c..81d7eb2ac57fdb 100644 --- a/docs/Desktop/sessions.md +++ b/docs/Desktop/sessions.md @@ -65,7 +65,7 @@ You can also assign privileges to a remote user session to control access when t The remote user `session` object is available from: -- Project methods that have the [Execute on Server](../Project/code-overview.md#execute-on-server) attribute (they are executed in the "twinned" process of the client process), +- Project methods that have the [Execute on Server](../Project/project-method-properties.md#execute-on-server) attribute (they are executed in the "twinned" process of the client process), - Triggers, - ORDA [data model functions](../ORDA/ordaClasses.md) (except those declared with the [`local`](../ORDA/ordaClasses.md#local-functions) keyword), - Database methods such as [`On Server Open Connection`](../commands/on-server-open-connection-database-method) and [`On Server Close Connection`](../commands/on-server-close-connection-database-method). diff --git a/docs/Develop/preemptive.md b/docs/Develop/preemptive.md index ae5d7281c7c03a..2f6cfa3f83ab8e 100644 --- a/docs/Develop/preemptive.md +++ b/docs/Develop/preemptive.md @@ -79,7 +79,7 @@ Note that with this option, whatever the internal thread safety evaluation, the :::note Particular case -If the method has also the [**Shared by components and host database**](../Project/code-overview.md#shared-by-components-and-host-database) property, setting the **Indifferent** option will automatically tag the method as thread-unsafe. If you want a shared component method to be thread-safe, you must explicitely set it to **Can be run in preemptive processes**. +If the method has also the [**Shared by components and host database**](../Project/project-method-properties.md#shared-by-components-and-host-database) property, setting the **Indifferent** option will automatically tag the method as thread-unsafe. If you want a shared component method to be thread-safe, you must explicitely set it to **Can be run in preemptive processes**. ::: diff --git a/docs/Events/overview.md b/docs/Events/overview.md index 932c1e4d635099..5d534c018201b4 100644 --- a/docs/Events/overview.md +++ b/docs/Events/overview.md @@ -29,7 +29,7 @@ objectName|text|Name of the object triggering the event - Not included if the ev Additional properties are returned when the event occurs on specific objects. In particular: -- [list boxes](FormObjects/listbox_overview.md#supported-form-events) and [list box columns](FormObjects/listbox_overview.md#supported-form-events-1) return [additional properties](FormObjects/listbox_overview.md#additional-properties) such as `columnName` or `isRowSelected`. +- [list boxes](FormObjects/listbox_overview.md#supported-form-events) and [list box columns](FormObjects/listbox_overview.md#supported-form-events-1) return [additional properties](FormObjects/listbox_overview.md#supported-form-events) such as `columnName` or `isRowSelected`. - [4D View Pro areas](FormObjects/viewProArea_overview.md) return for example `sheetName` or `action` properties in the [On After Edit](onAfterEdit.md) event object. diff --git a/docs/Extensions/develop-components.md b/docs/Extensions/develop-components.md index 7b82d4136dc26e..7b49e9783936b1 100644 --- a/docs/Extensions/develop-components.md +++ b/docs/Extensions/develop-components.md @@ -112,7 +112,7 @@ When you select it, a dedicated tab is added (or highlighted if already added) i Standard 4D IDE features are available for the component. You can execute the following actions: - add, duplicate, delete, edit/save [methods and classes](../Project/code-overview.md) -- preview code, show/edit [documentation](../Project/documentation.md), display/edit [method properties](../Project/code-overview.md#project-method-properties), +- preview code, show/edit [documentation](../Project/documentation.md), display/edit [Method Properties](../Project/project-method-properties.md), - run methods, - restore from trash or empty trash. diff --git a/docs/FormObjects/pictureButton_overview.md b/docs/FormObjects/pictureButton_overview.md index f17b58f3de02e0..3b073b17768ce6 100644 --- a/docs/FormObjects/pictureButton_overview.md +++ b/docs/FormObjects/pictureButton_overview.md @@ -63,4 +63,4 @@ The following other modes are available: ## Supported Properties -[Border Line Style](properties_BackgroundAndBorder.md#border-line-style) - [Bottom](properties_CoordinatesAndSizing.md#bottom) - [Button Style](properties_TextAndPicture.md#button-style) - [Class](properties_Object.md#css-class) - [Columns](properties_Crop.md#columns) - [Focusable](properties_Entry.md#focusable) - [Height](properties_CoordinatesAndSizing.md#height) - [Help Tip](properties_Help.md#help-tip) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Italic](properties_Text.md#italic) - [Left](properties_CoordinatesAndSizing.md#left) - [Loop back to first frame](properties_Animation.md#loop-back-to-first-frame) - [Object Name](properties_Object.md#object-name) - [Pathname](properties_Picture.md#pathname) - [Right](properties_CoordinatesAndSizing.md#right) - [Rows](properties_Crop.md#rows) - [Shortcut](properties_Entry.md#shortcut) - [Standard action](properties_Action.md#standard-action) - [Switch back when released](properties_Animation.md#switch-back-when-released) - [Switch continuously on clicks](properties_Animation.md#switch-continuously-on-clicks) - [Switch every x ticks](properties_Animation.md#switch-every-x-ticks) - [Title](properties_Object.md#title) - [Switch when roll over](properties_Animation.md#switch-when-roll-over) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Use Last frame as disabled](properties_Animation.md#use-last-frame-as-disabled) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width) +[Border Line Style](properties_BackgroundAndBorder.md#border-line-style) - [Bottom](properties_CoordinatesAndSizing.md#bottom) - [Button Style](properties_TextAndPicture.md#button-style) - [Class](properties_Object.md#css-class) - [Columns](properties_Crop.md#columns) - [Focusable](properties_Entry.md#focusable) - [Height](properties_CoordinatesAndSizing.md#height) - [Help Tip](properties_Help.md#help-tip) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Italic](properties_Text.md#italic) - [Left](properties_CoordinatesAndSizing.md#left) - [Loop back to first frame](properties_Animation.md#loop-back-to-first-frame) - [Object Name](properties_Object.md#object-name) - [Pathname](properties_Picture.md#pathname) - [Right](properties_CoordinatesAndSizing.md#right) - [Rows](properties_Crop.md#rows) - [Shortcut](properties_Entry.md#shortcut) - [Standard action](properties_Action.md#standard-action) - [Switch back when released](properties_Animation.md#switch-back-when-released) - [Switch continuously on clicks](properties_Animation.md#switch-continuously-on-clicks) - [Switch every x seconds](properties_Animation.md#switch-every-x-seconds) - [Title](properties_Object.md#title) - [Switch when roll over](properties_Animation.md#switch-when-roll-over) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Use Last frame as disabled](properties_Animation.md#use-last-frame-as-disabled) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width) diff --git a/docs/FormObjects/properties_Text.md b/docs/FormObjects/properties_Text.md index a594bf030909e6..20bd0902917ef4 100644 --- a/docs/FormObjects/properties_Text.md +++ b/docs/FormObjects/properties_Text.md @@ -498,7 +498,7 @@ The name of a Longint array must be used. Each element of this array corresponds --- -## Row Style Array {#row-style-array) +## Row Style Array {#row-style-array} `Array type list boxes` diff --git a/docs/FormObjects/webArea_overview.md b/docs/FormObjects/webArea_overview.md index 97987f9eb13a13..29b6e9e805b54b 100644 --- a/docs/FormObjects/webArea_overview.md +++ b/docs/FormObjects/webArea_overview.md @@ -16,7 +16,7 @@ Web areas can be used to display [Qodly pages](https://developer.4d.com/qodly/4D You can embed a Qodly page inside a Web Area and then update [Qodly sources](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/qodlySources) from 4D by calling [`WA EXECUTE JAVASCRIPT FUNCTION`](../commands-legacy/wa-execute-javascript-function.md). -In 4D client/server applications, Qodly pages inside Web areas can [share their session with the remote user](../Desktop/clientServer.md#sharing-the-session-with-qodly-pages-in-web-areas) for a high level of security. +In 4D client/server applications, Qodly pages inside Web areas can [share their session with the remote user](../Desktop/sessions.md#sharing-a-desktop-session-for-web-accesses for a high level of security. :::tip Related blog post diff --git a/docs/ORDA/privileges.md b/docs/ORDA/privileges.md index 6efd3d6b4d8f0a..847778b2bc4c1e 100644 --- a/docs/ORDA/privileges.md +++ b/docs/ORDA/privileges.md @@ -263,7 +263,7 @@ In Qodly Studio for 4D, the login mode can be set using the [**Force login** opt ## Restriction Modes -The `restrictedByDefault` property configures how every [resource](#resources) are accessed when [no specific permission is defined for it](#permission): +The `restrictedByDefault` property configures how every [resource](#resources) are accessed when [no specific permission is defined for it](#permissions): - **Unrestricted mode** (`restrictedByDefault`: **false**): Resources without defined permissions are accessible to all requests. This mode is suitable for development environments where access can be gradually restricted. - **Restricted mode** (`restrictedByDefault`: **true**): Resources without defined permissions are blocked by default. This mode is recommended for production environments where access must be explicitly granted. @@ -271,12 +271,12 @@ The `restrictedByDefault` property configures how every [resource](#resources) a :::note Compatibility -- When **creating a new project**, the `restrictedByDefault` property is set to **false** in the *roles.json* file (see below). Keep in mind that this configuration is tailored for quick start and smooth development. In production environment, [it is recommended to set the `restrictedByDefault` and `forceLogin` properties to **true**](#configuring-restrictedbydefault-and-forcelogin-properties). +- When **creating a new project**, the `restrictedByDefault` property is set to **false** in the *roles.json* file (see below). Keep in mind that this configuration is tailored for quick start and smooth development. In production environment, [it is recommended to set the `restrictedByDefault` and `forceLogin` properties to **true**](#recommended-configuration). - In **projects converted from previous releases**; when enabling access to Qodly Studio using the [One-click configuration dialog](https://developer.4d.com/qodly/4DQodlyPro/gettingStarted#one-click-configuration), the `restrictedByDefault` property is added with value **true** in the *roles.json* file. ::: -### Recommended Configuration +### Recommended Configuration {#recommended-configuration} Depending on your environment, the recommended settings are: diff --git a/docs/Project/architecture.md b/docs/Project/architecture.md index f74c0f92bce87f..932241e936d3b5 100644 --- a/docs/Project/architecture.md +++ b/docs/Project/architecture.md @@ -60,7 +60,7 @@ catalog_editor.json|Custom positions and colors of tables, fields, and links in folders.json|Explorer folder definitions|JSON menus.json|Menu definitions|JSON roles.json|[Privileges, permissions](../ORDA/privileges.md#rolesjson-file) and other security settings for the project|JSON -settings.4DSettings|*Structure* database settings. They are not taken into account if *[user settings](#settings-user)* or *[user settings for data](#settings-user-data)* are defined (see also [Priority of settings](../settings/overview.md#user-settings#priority-of-settings). **Warning**: In compiled applications, structure settings are stored in the .4dz file (read-only). For deployment needs, it is necessary to [enable](../settings/overview.md#user-settings#enabling-user-settings) and use *user settings* or *user settings for data* to define custom settings.|XML +settings.4DSettings|*Structure* database settings. They are not taken into account if *[user settings](#settings-user)* or *[user settings for data](#settings-user-data)* are defined (see also [Priority of settings](../settings/overview.md#priority-of-settings). **Warning**: In compiled applications, structure settings are stored in the .4dz file (read-only). For deployment needs, it is necessary to [enable](../settings/overview.md#enabling-user-settings) and use *user settings* or *user settings for data* to define custom settings.|XML tips.json|Defined tips|JSON lists.json|Defined lists|JSON filters.json|Defined filters|JSON @@ -191,9 +191,9 @@ data.match|(internal) UUID matching table number|XML ### `Settings` (user data) -This folder contains [**user settings for data**](../settings/overview.md#user-settings#user-settings-for-data-file) used for application administration. +This folder contains [**user settings for data**](../settings/overview.md#user-settings-for-data-file) used for application administration. -> These settings take priority over [user settings](#settings-user) and [structure settings](#sources). See also [Priority of settings](../settings/overview.md#user-settings#priority-of-settings). +> These settings take priority over [user settings](#settings-user) and [structure settings](#sources). See also [Priority of settings](../settings/overview.md#priority-of-settings). |Contents|Description|Format| |----|----|---| @@ -216,9 +216,9 @@ The Logs folder contains all log files used by the project. Log files include, i ## `Settings` (user) -This folder contains [**user settings**](../settings/overview.md#user-settings#user-settings) used for application administration. +This folder contains [**user settings**](../settings/overview.md#user-settings) used for application administration. -> These settings take priority over [structure settings](#sources) file. However, if [user settings for data](#settings-user-data) exist, they take priority over the user settings. See also [Priority of settings](../settings/overview.md#user-settings#priority-of-settings). +> These settings take priority over [structure settings](#sources) file. However, if [user settings for data](#settings-user-data) exist, they take priority over the user settings. See also [Priority of settings](../settings/overview.md#priority-of-settings). |Contents|Description|Format| |----|----|---| diff --git a/docs/Project/search-replace.md b/docs/Project/search-replace.md index 39ed2c07a896e2..82777a3834f3cb 100644 --- a/docs/Project/search-replace.md +++ b/docs/Project/search-replace.md @@ -56,7 +56,7 @@ The areas of the "Find in design" vary dynamically depending on the selections m 2. Build your search using the different menus and entry areas of the dialog box and if necessary enter the character string to be searched for. These items are described in the following sections. -3. Set the [search options](#search-options) (if necessary). +3. Set the [searching options](#searching-options) (if necessary). 4. Click **OK** or press the **Enter** key. When the search is finished, the [Results window](#results-window) appears, listing the elements found. diff --git a/docs/WritePro/user-legacy/defining-a-4d-write-pro-area.md b/docs/WritePro/user-legacy/defining-a-4d-write-pro-area.md index 873d5689a668b1..5da2f8a7b041dd 100644 --- a/docs/WritePro/user-legacy/defining-a-4d-write-pro-area.md +++ b/docs/WritePro/user-legacy/defining-a-4d-write-pro-area.md @@ -52,7 +52,7 @@ Document view settings are handled through specific items in the **Appearance** ## Context menu -If the **Context menu** property is [checked for a 4D Write Pro area](./defining-a-4d-write-pro-area.md#using-the-4d-write-pro-area-object), a comprehensive context menu is available to users when the form is executed at runtime: +If the **Context menu** property is [checked for a 4D Write Pro area](./presentation.md#using-the-4d-write-pro-area-object), a comprehensive context menu is available to users when the form is executed at runtime: ![](../../assets/en/WritePro/pict3071271.en.png) diff --git a/docs/WritePro/user-legacy/storing-4d-write-pro-documents-in-4d-object-fields.md b/docs/WritePro/user-legacy/storing-4d-write-pro-documents-in-4d-object-fields.md index cc85445981c84c..8623ffc88fa91f 100644 --- a/docs/WritePro/user-legacy/storing-4d-write-pro-documents-in-4d-object-fields.md +++ b/docs/WritePro/user-legacy/storing-4d-write-pro-documents-in-4d-object-fields.md @@ -121,7 +121,7 @@ Since custom attributes share the same naming space as 4D Write Pro internal att In 4D applications, 4D Write Pro documents are created, imported, and exported by means of specific commands found in the **4D Write Pro** theme ([WP EXPORT DOCUMENT](../commands/wp-export-document), [WP EXPORT VARIABLE](../commands/wp-export-variable), [WP Import document](../commands/wp-import-document), [WP New](../commands/wp-new)). -You can also [associate a 4D Write Pro area with an Object field](../user-legacy/defining-a-4d-write-pro-area.md#storing-4d-write-pro-documents-in-4d-object-fields) of the database. This way, each 4D Write Pro document is automatically saved with the record and stored in the database's data. +You can also [associate a 4D Write Pro area with an Object field](#storing-4d-write-pro-documents-in-4d-object-fields) of the database. This way, each 4D Write Pro document is automatically saved with the record and stored in the database's data. ## Printing 4D Write Pro documents diff --git a/docs/WritePro/user-legacy/text-boxes.md b/docs/WritePro/user-legacy/text-boxes.md index d56691ec4f16ef..6668b39044815c 100644 --- a/docs/WritePro/user-legacy/text-boxes.md +++ b/docs/WritePro/user-legacy/text-boxes.md @@ -18,7 +18,7 @@ Text boxes are added with an absolute position, in front of/behind text, as well Adding a text box to a 4D Write Pro document can be accomplished in the following ways: * using the [`WP New text box`](../commands-legacy/wp-new-text-box.md) command, -* using the *insertTextBox* [standard action](./defining-a-4d-write-pro-area.md#standard-actions) +* using the *insertTextBox* [standard action](./standard-actions.md) To select a text box, the user has to click on it (**Ctrl/Cmd+click** if the text box is on the background layer). Once selected, the text box can be moved or resized using the mouse or arrow keys. diff --git a/docs/WritePro/user-legacy/using-a-4d-write-pro-area.md b/docs/WritePro/user-legacy/using-a-4d-write-pro-area.md index af6c0d6f9fc763..0cd877ac46f8e4 100644 --- a/docs/WritePro/user-legacy/using-a-4d-write-pro-area.md +++ b/docs/WritePro/user-legacy/using-a-4d-write-pro-area.md @@ -45,7 +45,7 @@ You can control automatic breaks in paragraphs using the following features: * **Widow and orphan control**: When this option is set for a paragraph, 4D Write Pro does not allow widows (last line of a paragraph isolated at the top of a page) or orphans (first line of a paragraph isolated at the bottom of a page) in the document. In the first case, the previous line of the paragraph is added to the top of the page so that two lines are displayed there. In the second case, the single first line is moved onto the next page. * **Avoid page break inside**: When this option is set for a paragraph, 4D Write Pro prevents this paragraph from being broken into parts on two or more pages. -* **Keep with next:** When this option is set for a paragraph, that paragraph cannot be separated from the one that follows it by an automatic break. See `wk keep with next` and the corresponding *keepWithNext* [standard action](./user-legacy/standard-actions.md). +* **Keep with next:** When this option is set for a paragraph, that paragraph cannot be separated from the one that follows it by an automatic break. See `wk keep with next` and the corresponding *keepWithNext* [standard action](./standard-actions.md). These options can be set using the context menu, or [attributes](../commands-legacy/4d-write-pro-attributes.md) (`wk avoid widows and orphans`, `wk page break inside paragraph`, or *widowAndOrphanControlEnabled* and *avoidPageBreakInside* [standard actions](./standard-actions). @@ -284,7 +284,7 @@ Columns can be set using: * the **Columns** submenu of the 4D Write Pro area context menu, * 4D Write Pro [attributes](../commands-legacy/4d-write-pro-attributes.md), * 4D Write Pro [standard actions](./standard-actions). -(./user-legacy/standard-actions.md) + You can set or get the following properties and actions for columns: | **Property** | **Description** | **Document attributes**| **Standard actions** | diff --git a/docs/WritePro/user/user-new.md b/docs/WritePro/user/user-new.md index 09990ca4034c8f..ea6aa54e3d153a 100644 --- a/docs/WritePro/user/user-new.md +++ b/docs/WritePro/user/user-new.md @@ -1,6 +1,7 @@ --- id: user-new title: user WP +draft: true --- to import diff --git a/docs/code-editor/write-class-method.md b/docs/code-editor/write-class-method.md index 0ae4d42ae39ae5..e0a2bf60806066 100644 --- a/docs/code-editor/write-class-method.md +++ b/docs/code-editor/write-class-method.md @@ -31,7 +31,7 @@ Each Code Editor window has a toolbar that provides instant access to basic func | **Find in method** | ![search-icon](../assets/en/code-editor/search.png) | Displays the [*Search* area](#find-and-replace). | | **Macros** | ![macros-button](../assets/en/code-editor/macros.png) | Inserts a macro at the selection. Click the dropdown arrow to display a list of available macros. For more information on how to create and instantiate macros, see [Macros](#macros). | | **Expand all / Collapse all** | ![expand-collapse-button](../assets/en/code-editor/expand-collapse-all.png) | These buttons allow expanding or collapsing all the control flow structures of the code. | -| **Method information** | ![method-information-icon](../assets/en/code-editor/method-information.png) | Displays the [Method Properties](../Project/code-overview.md#project-method-properties) dialog box (project methods only). | +| **Method information** | ![method-information-icon](../assets/en/code-editor/method-information.png) | Displays the [Method Properties](../Project/project-method-properties.md) dialog box (project methods only). | | **Last clipboard values** | ![last-clipboard-values-icon](../assets/en/code-editor/last-clipboard-values.png) | Displays the last values stored in the clipboard. | | **Clipboards** | ![clipboard icons](../assets/en/code-editor/clipboards.png) | Nine clipboards available in the code editor. You can [use these clipboards](#clipboards) by clicking on them directly or by using keyboard shortcuts. You can use a [Preferences option](Preferences/methods.md#options-1) to hide them. | | **Navigation dropdown** | ![code-navigation-icons](../assets/en/code-editor/tags.png) | Lets you navigate inside methods and classes with automatically tagged content or manually declared markers. See below | diff --git a/docs/commands/application-info.md b/docs/commands/application-info.md index 09508fe2f9a808..0476dd47e3dd47 100644 --- a/docs/commands/application-info.md +++ b/docs/commands/application-info.md @@ -55,7 +55,7 @@ The returned object contains the following properties: | useQUICNetworkLayer | boolean | True if QUIC network layer used for the application server and db4d server. Not returned in standalone environment. Possible values: true, false. For more information, see [this blog post](https://blog.4d.com/quic-network/).| false | | volumeShadowCopyStatus | string | Returns the status of the Volume Shadow Copy Service. Windows only. For more information, see *Using Volume Shadow Copy Service on Windows*. Possible values:
Constant Value Comment
vss available available The service is available.
vss error error The service experienced an error.
vss not available notAvailable The service is unavailable.
vss update required updateRequired The service needs to be updated.
| "available" | -(\*) On Windows, you need to get this counter previously initialized, for example by a call to the **Application info** command in the [On Startup database method](on-startup-database-method.md). +(\*) On Windows, you need to get this counter previously initialized, for example by a call to the **Application info** command in the [On Startup database method](../commands-legacy/on-startup-database-method.md). ## Example diff --git a/docs/commands/form-event.md b/docs/commands/form-event.md index e7cbbeced1af3e..db9cb7e3b05b51 100644 --- a/docs/commands/form-event.md +++ b/docs/commands/form-event.md @@ -35,7 +35,7 @@ For example, in the case of a click on a button, the object contains the followi The event object can contain additional properties, depending on the object for which the event occurs. For *eventObj* objects generated on: -* List box or list box column objects, see [this section](../FormObjects/listbox_overview.md#additional-properties). +* List box or list box column objects, see [this section](../FormObjects/listbox_overview.md#supported-form-events). * 4D View Pro areas, see [On VP Ready form event](../Events/onVpReady.md). **Note:** If there is no current event, **FORM Event** returns a null object. diff --git a/docs/commands/session.md b/docs/commands/session.md index c9805ae1d1fb46..20b00daaf5770a 100644 --- a/docs/commands/session.md +++ b/docs/commands/session.md @@ -57,7 +57,7 @@ For more information on web user sessions, please refer to the [Web Server Sessi The `Session` object of remote user sessions is available from: -- Project methods that have the [Execute on Server](../Project/code-overview.md#execute-on-server) attribute (they are executed in the "twinned" process of the client process), +- Project methods that have the [Execute on Server](../Project/project-method-properties.md#execute-on-server) attribute (they are executed in the "twinned" process of the client process), - Triggers, - ORDA [data model functions](../ORDA/ordaClasses.md) (except those declared with the [`local`](../ORDA/ordaClasses.md#local-functions) keyword, - `On Server Open Connection` and `On Server Shutdown Connection` database methods. diff --git a/docs/commands/theme/Forms.md b/docs/commands/theme/Forms.md index 0853d9ed2d7de4..2e83d49ac79643 100644 --- a/docs/commands/theme/Forms.md +++ b/docs/commands/theme/Forms.md @@ -31,6 +31,6 @@ slug: /commands/theme/Forms |[](../../commands-legacy/form-set-output.md)
| |[](../../commands-legacy/form-set-size.md)
| |[](../../commands-legacy/form-set-vertical-resizing.md)
| +|[](../../commands/form-theme.md)
| |[](../../commands-legacy/form-unload.md)
| -|[](../../commands/form-windows-theme.md)
| diff --git a/versioned_docs/version-18/FormObjects/pictureButton_overview.md b/versioned_docs/version-18/FormObjects/pictureButton_overview.md index 6cbb49c71be4d6..7d80ae733bd6d8 100644 --- a/versioned_docs/version-18/FormObjects/pictureButton_overview.md +++ b/versioned_docs/version-18/FormObjects/pictureButton_overview.md @@ -63,4 +63,4 @@ The following other modes are available: ## Supported Properties -[Border Line Style](properties_BackgroundAndBorder.md#border-line-style) - [Bottom](properties_CoordinatesAndSizing.md#bottom) - [Button Style](properties_TextAndPicture.md#button-style) - [Class](properties_Object.md#css-class) - [Columns](properties_Crop.md#columns) - [Focusable](properties_Entry.md#focusable) - [Height](properties_CoordinatesAndSizing.md#height) - [Help Tip](properties_Help.md#help-tip) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Italic](properties_Text.md#italic) - [Left](properties_CoordinatesAndSizing.md#left) - [Loop back to first frame](properties_Animation.md#loop-back-to-first-frame) - [Object Name](properties_Object.md#object-name) - [Pathname](properties_Picture.md#pathname) - [Right](properties_CoordinatesAndSizing.md#right) - [Rows](properties_Crop.md#rows) - [Shortcut](properties_Entry.md#shortcut) - [Standard action](properties_Action.md#standard-action) - [Switch back when released](properties_Animation.md#switch-back-when-released) - [Switch continuously on clicks](properties_Animation.md#switch-continuously-on-clicks) - [Switch every x ticks](properties_Animation.md#switch-every-x-ticks) - [Title](properties_Object.md#title) - [Switch when roll over](properties_Animation.md#switch-when-roll-over) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Use Last frame as disabled](properties_Animation.md#use-last-frame-as-disabled) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width) +[Border Line Style](properties_BackgroundAndBorder.md#border-line-style) - [Bottom](properties_CoordinatesAndSizing.md#bottom) - [Button Style](properties_TextAndPicture.md#button-style) - [Class](properties_Object.md#css-class) - [Columns](properties_Crop.md#columns) - [Focusable](properties_Entry.md#focusable) - [Height](properties_CoordinatesAndSizing.md#height) - [Help Tip](properties_Help.md#help-tip) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Italic](properties_Text.md#italic) - [Left](properties_CoordinatesAndSizing.md#left) - [Loop back to first frame](properties_Animation.md#loop-back-to-first-frame) - [Object Name](properties_Object.md#object-name) - [Pathname](properties_Picture.md#pathname) - [Right](properties_CoordinatesAndSizing.md#right) - [Rows](properties_Crop.md#rows) - [Shortcut](properties_Entry.md#shortcut) - [Standard action](properties_Action.md#standard-action) - [Switch back when released](properties_Animation.md#switch-back-when-released) - [Switch continuously on clicks](properties_Animation.md#switch-continuously-on-clicks) - [Switch every x seconds](properties_Animation.md#switch-every-x-seconds) - [Title](properties_Object.md#title) - [Switch when roll over](properties_Animation.md#switch-when-roll-over) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Use Last frame as disabled](properties_Animation.md#use-last-frame-as-disabled) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width) diff --git a/versioned_docs/version-18/FormObjects/properties_Text.md b/versioned_docs/version-18/FormObjects/properties_Text.md index a6a260a0c26f64..6cd2cacfa226ea 100644 --- a/versioned_docs/version-18/FormObjects/properties_Text.md +++ b/versioned_docs/version-18/FormObjects/properties_Text.md @@ -415,7 +415,7 @@ The name of a Longint array must be used. Each element of this array corresponds --- -## Row Style Array {#row-style-array) +## Row Style Array {#row-style-array} `Array type list boxes` diff --git a/versioned_docs/version-19/Events/overview.md b/versioned_docs/version-19/Events/overview.md index 2a5d5ae7a5ac56..ffeb4722660e51 100644 --- a/versioned_docs/version-19/Events/overview.md +++ b/versioned_docs/version-19/Events/overview.md @@ -29,7 +29,7 @@ objectName|text|Name of the object triggering the event - Not included if the ev Additional properties are returned when the event occurs on specific objects. In particular: -- [list boxes](FormObjects/listbox_overview.md#supported-form-events) and [list box columns](FormObjects/listbox_overview.md#supported-form-events-1) return [additional properties](FormObjects/listbox_overview.md#additional-properties) such as `columnName` or `isRowSelected`. +- [list boxes](FormObjects/listbox_overview.md#supported-form-events) and [list box columns](FormObjects/listbox_overview.md#supported-form-events-1) return [additional properties](FormObjects/listbox_overview.md#supported-form-events) such as `columnName` or `isRowSelected`. - [4D View Pro areas](FormObjects/viewProArea_overview.md) return for example `sheetName` or `action` properties in the [On After Edit](onAfterEdit.md) event object. diff --git a/versioned_docs/version-19/FormObjects/pictureButton_overview.md b/versioned_docs/version-19/FormObjects/pictureButton_overview.md index 6cbb49c71be4d6..7d80ae733bd6d8 100644 --- a/versioned_docs/version-19/FormObjects/pictureButton_overview.md +++ b/versioned_docs/version-19/FormObjects/pictureButton_overview.md @@ -63,4 +63,4 @@ The following other modes are available: ## Supported Properties -[Border Line Style](properties_BackgroundAndBorder.md#border-line-style) - [Bottom](properties_CoordinatesAndSizing.md#bottom) - [Button Style](properties_TextAndPicture.md#button-style) - [Class](properties_Object.md#css-class) - [Columns](properties_Crop.md#columns) - [Focusable](properties_Entry.md#focusable) - [Height](properties_CoordinatesAndSizing.md#height) - [Help Tip](properties_Help.md#help-tip) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Italic](properties_Text.md#italic) - [Left](properties_CoordinatesAndSizing.md#left) - [Loop back to first frame](properties_Animation.md#loop-back-to-first-frame) - [Object Name](properties_Object.md#object-name) - [Pathname](properties_Picture.md#pathname) - [Right](properties_CoordinatesAndSizing.md#right) - [Rows](properties_Crop.md#rows) - [Shortcut](properties_Entry.md#shortcut) - [Standard action](properties_Action.md#standard-action) - [Switch back when released](properties_Animation.md#switch-back-when-released) - [Switch continuously on clicks](properties_Animation.md#switch-continuously-on-clicks) - [Switch every x ticks](properties_Animation.md#switch-every-x-ticks) - [Title](properties_Object.md#title) - [Switch when roll over](properties_Animation.md#switch-when-roll-over) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Use Last frame as disabled](properties_Animation.md#use-last-frame-as-disabled) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width) +[Border Line Style](properties_BackgroundAndBorder.md#border-line-style) - [Bottom](properties_CoordinatesAndSizing.md#bottom) - [Button Style](properties_TextAndPicture.md#button-style) - [Class](properties_Object.md#css-class) - [Columns](properties_Crop.md#columns) - [Focusable](properties_Entry.md#focusable) - [Height](properties_CoordinatesAndSizing.md#height) - [Help Tip](properties_Help.md#help-tip) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Italic](properties_Text.md#italic) - [Left](properties_CoordinatesAndSizing.md#left) - [Loop back to first frame](properties_Animation.md#loop-back-to-first-frame) - [Object Name](properties_Object.md#object-name) - [Pathname](properties_Picture.md#pathname) - [Right](properties_CoordinatesAndSizing.md#right) - [Rows](properties_Crop.md#rows) - [Shortcut](properties_Entry.md#shortcut) - [Standard action](properties_Action.md#standard-action) - [Switch back when released](properties_Animation.md#switch-back-when-released) - [Switch continuously on clicks](properties_Animation.md#switch-continuously-on-clicks) - [Switch every x seconds](properties_Animation.md#switch-every-x-seconds) - [Title](properties_Object.md#title) - [Switch when roll over](properties_Animation.md#switch-when-roll-over) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Use Last frame as disabled](properties_Animation.md#use-last-frame-as-disabled) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width) diff --git a/versioned_docs/version-19/FormObjects/properties_Text.md b/versioned_docs/version-19/FormObjects/properties_Text.md index 84d95a815cf433..2efec0194ea90b 100644 --- a/versioned_docs/version-19/FormObjects/properties_Text.md +++ b/versioned_docs/version-19/FormObjects/properties_Text.md @@ -434,7 +434,7 @@ The name of a Longint array must be used. Each element of this array corresponds --- -## Row Style Array {#row-style-array) +## Row Style Array {#row-style-array} `Array type list boxes` diff --git a/versioned_docs/version-20/Events/overview.md b/versioned_docs/version-20/Events/overview.md index ec84bc82a193eb..7996a6b8289a6b 100644 --- a/versioned_docs/version-20/Events/overview.md +++ b/versioned_docs/version-20/Events/overview.md @@ -29,7 +29,7 @@ objectName|text|Name of the object triggering the event - Not included if the ev Additional properties are returned when the event occurs on specific objects. In particular: -- [list boxes](FormObjects/listbox_overview.md#supported-form-events) and [list box columns](FormObjects/listbox_overview.md#supported-form-events-1) return [additional properties](FormObjects/listbox_overview.md#additional-properties) such as `columnName` or `isRowSelected`. +- [list boxes](FormObjects/listbox_overview.md#supported-form-events) and [list box columns](FormObjects/listbox_overview.md#supported-form-events-1) return [additional properties](FormObjects/listbox_overview.md#supported-form-events) such as `columnName` or `isRowSelected`. - [4D View Pro areas](FormObjects/viewProArea_overview.md) return for example `sheetName` or `action` properties in the [On After Edit](onAfterEdit.md) event object. diff --git a/versioned_docs/version-20/FormObjects/pictureButton_overview.md b/versioned_docs/version-20/FormObjects/pictureButton_overview.md index 6cbb49c71be4d6..7d80ae733bd6d8 100644 --- a/versioned_docs/version-20/FormObjects/pictureButton_overview.md +++ b/versioned_docs/version-20/FormObjects/pictureButton_overview.md @@ -63,4 +63,4 @@ The following other modes are available: ## Supported Properties -[Border Line Style](properties_BackgroundAndBorder.md#border-line-style) - [Bottom](properties_CoordinatesAndSizing.md#bottom) - [Button Style](properties_TextAndPicture.md#button-style) - [Class](properties_Object.md#css-class) - [Columns](properties_Crop.md#columns) - [Focusable](properties_Entry.md#focusable) - [Height](properties_CoordinatesAndSizing.md#height) - [Help Tip](properties_Help.md#help-tip) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Italic](properties_Text.md#italic) - [Left](properties_CoordinatesAndSizing.md#left) - [Loop back to first frame](properties_Animation.md#loop-back-to-first-frame) - [Object Name](properties_Object.md#object-name) - [Pathname](properties_Picture.md#pathname) - [Right](properties_CoordinatesAndSizing.md#right) - [Rows](properties_Crop.md#rows) - [Shortcut](properties_Entry.md#shortcut) - [Standard action](properties_Action.md#standard-action) - [Switch back when released](properties_Animation.md#switch-back-when-released) - [Switch continuously on clicks](properties_Animation.md#switch-continuously-on-clicks) - [Switch every x ticks](properties_Animation.md#switch-every-x-ticks) - [Title](properties_Object.md#title) - [Switch when roll over](properties_Animation.md#switch-when-roll-over) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Use Last frame as disabled](properties_Animation.md#use-last-frame-as-disabled) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width) +[Border Line Style](properties_BackgroundAndBorder.md#border-line-style) - [Bottom](properties_CoordinatesAndSizing.md#bottom) - [Button Style](properties_TextAndPicture.md#button-style) - [Class](properties_Object.md#css-class) - [Columns](properties_Crop.md#columns) - [Focusable](properties_Entry.md#focusable) - [Height](properties_CoordinatesAndSizing.md#height) - [Help Tip](properties_Help.md#help-tip) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Italic](properties_Text.md#italic) - [Left](properties_CoordinatesAndSizing.md#left) - [Loop back to first frame](properties_Animation.md#loop-back-to-first-frame) - [Object Name](properties_Object.md#object-name) - [Pathname](properties_Picture.md#pathname) - [Right](properties_CoordinatesAndSizing.md#right) - [Rows](properties_Crop.md#rows) - [Shortcut](properties_Entry.md#shortcut) - [Standard action](properties_Action.md#standard-action) - [Switch back when released](properties_Animation.md#switch-back-when-released) - [Switch continuously on clicks](properties_Animation.md#switch-continuously-on-clicks) - [Switch every x seconds](properties_Animation.md#switch-every-x-seconds) - [Title](properties_Object.md#title) - [Switch when roll over](properties_Animation.md#switch-when-roll-over) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Use Last frame as disabled](properties_Animation.md#use-last-frame-as-disabled) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width) diff --git a/versioned_docs/version-20/FormObjects/properties_Text.md b/versioned_docs/version-20/FormObjects/properties_Text.md index 70af6dec4bc5fd..a835fafa458298 100644 --- a/versioned_docs/version-20/FormObjects/properties_Text.md +++ b/versioned_docs/version-20/FormObjects/properties_Text.md @@ -434,7 +434,7 @@ The name of a Longint array must be used. Each element of this array corresponds --- -## Row Style Array {#row-style-array) +## Row Style Array {#row-style-array} `Array type list boxes` diff --git a/versioned_docs/version-20/FormObjects/properties_WebArea.md b/versioned_docs/version-20/FormObjects/properties_WebArea.md index 9e155580d06aab..d39e56c9c87ca8 100644 --- a/versioned_docs/version-20/FormObjects/properties_WebArea.md +++ b/versioned_docs/version-20/FormObjects/properties_WebArea.md @@ -87,12 +87,12 @@ This option allows choosing between two rendering engines for the Web area, depe > On Windows, if Microsoft Edge WebView2 is not installed, 4D uses the embedded engine as system rendering engine. To know if it is installed in your system, look for "Microsoft Edge WebView2 Runtime" in your applications panel. -* **checked** - `JSON value: embedded`: In this case, 4D uses the Chromium Embedded Framework (CEF). Using the embedded Web engine means that Web area rendering and their functioning in your application are identical regardless of the platform used to run 4D (slight variations of pixels or differences related to network implementation may nevertheless be observed). When this option is chosen, you no longer benefit from automatic updates of the Web engine performed by the operating system; however, [new versions of the engines are regularly provided through 4D](../Notes/updates.md#library-table). +* **checked** - `JSON value: embedded`: In this case, 4D uses the Chromium Embedded Framework (CEF). Using the embedded Web engine means that Web area rendering and their functioning in your application are identical regardless of the platform used to run 4D (slight variations of pixels or differences related to network implementation may nevertheless be observed). When this option is chosen, you no longer benefit from automatic updates of the Web engine performed by the operating system; however, [new versions of the engines are regularly provided through 4D](../Notes/updates.md#library-table-4d-20-lts). The CEF engine has the following limitations: -- [WA SET PAGE CONTENT](https://doc.4d.com/4dv19/help/command/en/page1037.html): using this command requires that at least one page is already loaded in the area (through a call to [`WA OPEN URL`](https://doc.4d.com/4dv19/help/command/en/page1020.html) or an assignment to the URL variable associated to the area). -- When URL drops are enabled by the `WA enable URL drop` selector of the [WA SET PREFERENCE](https://doc.4d.com/4dv19/help/command/en/page1041.html) command, the first drop must be preceded by at least one call to [WA OPEN URL](https://doc.4d.com/4dv19/help/command/en/page1020.html) or one assignment to the URL variable associated to the area. +- [WA SET PAGE CONTENT](https://doc.4d.com/4dv20/help/command/en/page1037.html): using this command requires that at least one page is already loaded in the area (through a call to [`WA OPEN URL`](https://doc.4d.com/4dv20/help/command/en/page1020.html) or an assignment to the URL variable associated to the area). +- When URL drops are enabled by the `WA enable URL drop` selector of the [WA SET PREFERENCE](https://doc.4d.com/4dv20/help/command/en/page1041.html) command, the first drop must be preceded by at least one call to [WA OPEN URL](https://doc.4d.com/4dv20/help/command/en/page1020.html) or one assignment to the URL variable associated to the area. #### JSON Grammar diff --git a/versioned_docs/version-21-R2/Admin/cli.md b/versioned_docs/version-21-R2/Admin/cli.md index 276bdc42b4774c..1eb6482ff22a14 100644 --- a/versioned_docs/version-21-R2/Admin/cli.md +++ b/versioned_docs/version-21-R2/Admin/cli.md @@ -45,7 +45,7 @@ Syntax: |`--webadmin-settings-file`|File path|Path of the custom WebAdmin `.4DSettings` file for the [WebAdmin web server](webAdmin.md). Not available with [tool4d](#tool4d).| |`--webadmin-access-key`|Text|Access key for the [WebAdmin web server](webAdmin.md). Not available with [tool4d](#tool4d).| |`--webadmin-auto-start`|Boolean|Status of the automatic startup for the [WebAdmin web server](webAdmin.md). Not available with [tool4d](#tool4d).| -|`--webadmin-store-settings`||Store the access key and automatic starting parameters in the currently used settings file (i.e. the default [`WebAdmin.4DSettings`](webAdmin.md#webadmin-settings) file or a custom file designated with the `--webadmin-settings-path` parameter). Use the `--webadmin-store-settings` argument to save these settings if necessary. Not available with [tool4d](#tool4d).| +|`--webadmin-store-settings`||Store the access key and automatic starting parameters in the currently used settings file (i.e. the default [`WebAdmin.4DSettings`](webAdmin.md#settings) file or a custom file designated with the `--webadmin-settings-path` parameter). Use the `--webadmin-store-settings` argument to save these settings if necessary. Not available with [tool4d](#tool4d).| |`--utility`||Only available with 4D Server. Launches [4D Server in utility mode](#4d-server-in-utility-mode).| |`--skip-onstartup`||Launches the project without executing any "automatic" methods, including the `On Startup` and `On Exit` database methods| |`--startup-method`|Project method name (string)|Project method to execute immediately after the `On Startup` database method (if not skipped with `--skip-onstartup`).| diff --git a/versioned_docs/version-21-R2/Admin/dataExplorer.md b/versioned_docs/version-21-R2/Admin/dataExplorer.md index 03c0f1bbe8ee23..bd4e5d72c1b87e 100644 --- a/versioned_docs/version-21-R2/Admin/dataExplorer.md +++ b/versioned_docs/version-21-R2/Admin/dataExplorer.md @@ -11,14 +11,14 @@ The Data Explorer provides a web interface to view, query, and edit data in your The Data Explorer relies on the [`WebAdmin`](webAdmin.md) web server component for the configuration and authentication settings. -- **configuration**: the Data Explorer configuration reuses the [`WebAdmin` web server settings](webAdmin.md#webadmin-settings), -- **authentication**: access to the Data Explorer is granted when the [session user is authenticated](webAdmin.md#authentication-and-session) and has the "WebAdmin" privilege. When the Data Explorer is accessed through the **Data Explorer** menu item (see below), an automatic authentication is provided. +- **configuration**: the Data Explorer configuration reuses the [`WebAdmin` web server settings](webAdmin.md#settings), +- **authentication**: access to the Data Explorer is granted when the [session user is authenticated](webAdmin.md#authentication) and has the "WebAdmin" privilege. When the Data Explorer is accessed through the **Data Explorer** menu item (see below), an automatic authentication is provided. > The Data Explorer access can be disabled using the [`.setAdminProtection()`](API/DataStoreClass.md#setadminprotection) function. ## Opening the Data Explorer -[The `WebAdmin` web server](webAdmin.md#starting-the-webadmin-web-server) is started automatically if necessary when the Data Explorer is clicked on. +[The Web Administration Server](webAdmin.md#starting-the-web-administration-server) is started automatically if necessary when the Data Explorer is clicked on. To connect to the Data Explorer web page: diff --git a/versioned_docs/version-21-R2/Admin/webAdmin.md b/versioned_docs/version-21-R2/Admin/webAdmin.md index df08d3d82441fa..6f629e274f0682 100644 --- a/versioned_docs/version-21-R2/Admin/webAdmin.md +++ b/versioned_docs/version-21-R2/Admin/webAdmin.md @@ -62,7 +62,7 @@ Configuring the Web Administration Server is mandatory in particular to define t You can configure the Web Administration Server using the [Web Administration settings dialog box](#settings-dialog-box) (see below). -> If you use a headless 4D application, you can use [*Command Line Interface* arguments](#webadmin-headless-configuration) to define basic settings. You will have to customize the settings file to define advanced parameters. +> If you use a headless 4D application, you can use [*Command Line Interface* arguments](#headless-configuration) to define basic settings. You will have to customize the settings file to define advanced parameters. ### Settings dialog box diff --git a/versioned_docs/version-21-R2/Concepts/components.md b/versioned_docs/version-21-R2/Concepts/components.md index 2295ba0c354992..7a7487125280ff 100644 --- a/versioned_docs/version-21-R2/Concepts/components.md +++ b/versioned_docs/version-21-R2/Concepts/components.md @@ -31,6 +31,6 @@ You can select a component [project method](methods.md) or [class](classes.md) a :::note -Interpreted component code can be [edited directly from the host project](../Extensions/develop-components.md#editing-components-from-the-host) if the context is supported. +Interpreted component code can be [edited directly from the host project](../Extensions/develop-components.md#creating-and-editing-components-from-the-host) if the context is supported. ::: \ No newline at end of file diff --git a/versioned_docs/version-21-R2/Concepts/error-handling.md b/versioned_docs/version-21-R2/Concepts/error-handling.md index fbd03183263479..64c06a4a937e49 100644 --- a/versioned_docs/version-21-R2/Concepts/error-handling.md +++ b/versioned_docs/version-21-R2/Concepts/error-handling.md @@ -22,7 +22,7 @@ It is highly recommended to install a global error-handling method on 4D Server, ::: -## Predictable vs unpredictable errors +## Predictable vs unpredictable errors {#predictable-vs-unpredictable-errors} Many 4D class functions, such as [`entity.save()`](../API/EntityClass.md#save) or [`transporter.send()`](../API/SMTPTransporterClass.md#send), return a object containing *status* information. This object is used to store **predictable** errors in the runtime context, e.g. invalid password, locked entity, etc., that do not require to stop program execution. This category of errors, also named **silent errors** errors, can be handled by regular code. When such errors occur in an error handling context, i.e. a [`Try`](#tryexpression), [`Try/Catch`](#trycatchend-try) or an [error-handling method](#installing-an-error-handling-method), they do not interrupt the execution and do not trigger the error handling (e.g. the `Catch` part of the [`Try/Catch`](#trycatchend-try) is not executed). They are not listed in the [`Last errors`](../commands/last-errors.md) collection. The error is only returned in the `status` and `statusText` properties of the returned object. It can be processed according to your business logic. @@ -200,7 +200,7 @@ function test() ``` -3. You want to handle both [predictable and non-predictable](#error-or-status) errors: +3. You want to handle both [predictable and non-predictable]{#predictable-vs-unpredictable-errors} errors: ```4d var $e:=ds.Employee.new() diff --git a/versioned_docs/version-21-R2/Desktop/labels.md b/versioned_docs/version-21-R2/Desktop/labels.md index 3e624218025c81..d2dfac6e0d4eab 100644 --- a/versioned_docs/version-21-R2/Desktop/labels.md +++ b/versioned_docs/version-21-R2/Desktop/labels.md @@ -147,7 +147,7 @@ The Layout page contains controls for printing labels based on the requirements - **Method**: Lets you trigger a specific method that will be run at print time. For example, you can execute a method that posts the date and time that each label was printed. This feature is also useful when you print labels using a dedicated table form, in which case you can fill variables from a method. To be eligible for label processing, a project method must comply with the following settings: - it must be "allowed" for the database (allowed methods depend on [project settings](../settings/security.md#options) and the [`SET ALLOWED METHODS`](../commands/set-allowed-methods.md) command), otherwise it will not be displayed in the **Apply** menu. - - it must have the [Shared by components and host database](../Project/code-overview.md#shared-by-components-and-host-database) option. + - it must have the [Shared by components and host database](../Project/project-method-properties.md#shared-by-components-and-host-database) option. See also [this example](#printing-labels-using-forms-and-methods-example) below. :::note @@ -178,7 +178,7 @@ Here, in a table form named "label", we added the *myVar* variable: var myVar+=1 ``` -3. Set the project method as ["Shared by components and host database"](../Project/code-overview.md#shared-by-components-and-host-database). +3. Set the project method as ["Shared by components and host database"](../Project/project-method-properties.md#shared-by-components-and-host-database). 4. Before displaying the Label editor, make sure the project method is allowed by executing this code: diff --git a/versioned_docs/version-21-R2/Desktop/sessions.md b/versioned_docs/version-21-R2/Desktop/sessions.md index c85707f23390f7..fedaa69c12992f 100644 --- a/versioned_docs/version-21-R2/Desktop/sessions.md +++ b/versioned_docs/version-21-R2/Desktop/sessions.md @@ -65,7 +65,7 @@ You can also assign privileges to a remote user session to control access when t The remote user `session` object is available from: -- Project methods that have the [Execute on Server](../Project/code-overview.md#execute-on-server) attribute (they are executed in the "twinned" process of the client process), +- Project methods that have the [Execute on Server](../Project/project-method-properties.md#execute-on-server) attribute (they are executed in the "twinned" process of the client process), - Triggers, - ORDA [data model functions](../ORDA/ordaClasses.md) (except those declared with the [`local`](../ORDA/ordaClasses.md#local-functions) keyword), - Database methods such as [`On Server Open Connection`](../commands/on-server-open-connection-database-method) and [`On Server Close Connection`](../commands/on-server-close-connection-database-method). diff --git a/versioned_docs/version-21-R2/Develop/preemptive.md b/versioned_docs/version-21-R2/Develop/preemptive.md index ae5d7281c7c03a..2f6cfa3f83ab8e 100644 --- a/versioned_docs/version-21-R2/Develop/preemptive.md +++ b/versioned_docs/version-21-R2/Develop/preemptive.md @@ -79,7 +79,7 @@ Note that with this option, whatever the internal thread safety evaluation, the :::note Particular case -If the method has also the [**Shared by components and host database**](../Project/code-overview.md#shared-by-components-and-host-database) property, setting the **Indifferent** option will automatically tag the method as thread-unsafe. If you want a shared component method to be thread-safe, you must explicitely set it to **Can be run in preemptive processes**. +If the method has also the [**Shared by components and host database**](../Project/project-method-properties.md#shared-by-components-and-host-database) property, setting the **Indifferent** option will automatically tag the method as thread-unsafe. If you want a shared component method to be thread-safe, you must explicitely set it to **Can be run in preemptive processes**. ::: diff --git a/versioned_docs/version-21-R2/Events/overview.md b/versioned_docs/version-21-R2/Events/overview.md index 932c1e4d635099..5d534c018201b4 100644 --- a/versioned_docs/version-21-R2/Events/overview.md +++ b/versioned_docs/version-21-R2/Events/overview.md @@ -29,7 +29,7 @@ objectName|text|Name of the object triggering the event - Not included if the ev Additional properties are returned when the event occurs on specific objects. In particular: -- [list boxes](FormObjects/listbox_overview.md#supported-form-events) and [list box columns](FormObjects/listbox_overview.md#supported-form-events-1) return [additional properties](FormObjects/listbox_overview.md#additional-properties) such as `columnName` or `isRowSelected`. +- [list boxes](FormObjects/listbox_overview.md#supported-form-events) and [list box columns](FormObjects/listbox_overview.md#supported-form-events-1) return [additional properties](FormObjects/listbox_overview.md#supported-form-events) such as `columnName` or `isRowSelected`. - [4D View Pro areas](FormObjects/viewProArea_overview.md) return for example `sheetName` or `action` properties in the [On After Edit](onAfterEdit.md) event object. diff --git a/versioned_docs/version-21-R2/Extensions/develop-components.md b/versioned_docs/version-21-R2/Extensions/develop-components.md index 7b82d4136dc26e..7b49e9783936b1 100644 --- a/versioned_docs/version-21-R2/Extensions/develop-components.md +++ b/versioned_docs/version-21-R2/Extensions/develop-components.md @@ -112,7 +112,7 @@ When you select it, a dedicated tab is added (or highlighted if already added) i Standard 4D IDE features are available for the component. You can execute the following actions: - add, duplicate, delete, edit/save [methods and classes](../Project/code-overview.md) -- preview code, show/edit [documentation](../Project/documentation.md), display/edit [method properties](../Project/code-overview.md#project-method-properties), +- preview code, show/edit [documentation](../Project/documentation.md), display/edit [Method Properties](../Project/project-method-properties.md), - run methods, - restore from trash or empty trash. diff --git a/versioned_docs/version-21-R2/FormObjects/pictureButton_overview.md b/versioned_docs/version-21-R2/FormObjects/pictureButton_overview.md index f17b58f3de02e0..3b073b17768ce6 100644 --- a/versioned_docs/version-21-R2/FormObjects/pictureButton_overview.md +++ b/versioned_docs/version-21-R2/FormObjects/pictureButton_overview.md @@ -63,4 +63,4 @@ The following other modes are available: ## Supported Properties -[Border Line Style](properties_BackgroundAndBorder.md#border-line-style) - [Bottom](properties_CoordinatesAndSizing.md#bottom) - [Button Style](properties_TextAndPicture.md#button-style) - [Class](properties_Object.md#css-class) - [Columns](properties_Crop.md#columns) - [Focusable](properties_Entry.md#focusable) - [Height](properties_CoordinatesAndSizing.md#height) - [Help Tip](properties_Help.md#help-tip) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Italic](properties_Text.md#italic) - [Left](properties_CoordinatesAndSizing.md#left) - [Loop back to first frame](properties_Animation.md#loop-back-to-first-frame) - [Object Name](properties_Object.md#object-name) - [Pathname](properties_Picture.md#pathname) - [Right](properties_CoordinatesAndSizing.md#right) - [Rows](properties_Crop.md#rows) - [Shortcut](properties_Entry.md#shortcut) - [Standard action](properties_Action.md#standard-action) - [Switch back when released](properties_Animation.md#switch-back-when-released) - [Switch continuously on clicks](properties_Animation.md#switch-continuously-on-clicks) - [Switch every x ticks](properties_Animation.md#switch-every-x-ticks) - [Title](properties_Object.md#title) - [Switch when roll over](properties_Animation.md#switch-when-roll-over) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Use Last frame as disabled](properties_Animation.md#use-last-frame-as-disabled) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width) +[Border Line Style](properties_BackgroundAndBorder.md#border-line-style) - [Bottom](properties_CoordinatesAndSizing.md#bottom) - [Button Style](properties_TextAndPicture.md#button-style) - [Class](properties_Object.md#css-class) - [Columns](properties_Crop.md#columns) - [Focusable](properties_Entry.md#focusable) - [Height](properties_CoordinatesAndSizing.md#height) - [Help Tip](properties_Help.md#help-tip) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Italic](properties_Text.md#italic) - [Left](properties_CoordinatesAndSizing.md#left) - [Loop back to first frame](properties_Animation.md#loop-back-to-first-frame) - [Object Name](properties_Object.md#object-name) - [Pathname](properties_Picture.md#pathname) - [Right](properties_CoordinatesAndSizing.md#right) - [Rows](properties_Crop.md#rows) - [Shortcut](properties_Entry.md#shortcut) - [Standard action](properties_Action.md#standard-action) - [Switch back when released](properties_Animation.md#switch-back-when-released) - [Switch continuously on clicks](properties_Animation.md#switch-continuously-on-clicks) - [Switch every x seconds](properties_Animation.md#switch-every-x-seconds) - [Title](properties_Object.md#title) - [Switch when roll over](properties_Animation.md#switch-when-roll-over) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Use Last frame as disabled](properties_Animation.md#use-last-frame-as-disabled) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width) diff --git a/versioned_docs/version-21-R2/FormObjects/properties_Text.md b/versioned_docs/version-21-R2/FormObjects/properties_Text.md index a594bf030909e6..20bd0902917ef4 100644 --- a/versioned_docs/version-21-R2/FormObjects/properties_Text.md +++ b/versioned_docs/version-21-R2/FormObjects/properties_Text.md @@ -498,7 +498,7 @@ The name of a Longint array must be used. Each element of this array corresponds --- -## Row Style Array {#row-style-array) +## Row Style Array {#row-style-array} `Array type list boxes` diff --git a/versioned_docs/version-21-R2/FormObjects/webArea_overview.md b/versioned_docs/version-21-R2/FormObjects/webArea_overview.md index 97987f9eb13a13..29b6e9e805b54b 100644 --- a/versioned_docs/version-21-R2/FormObjects/webArea_overview.md +++ b/versioned_docs/version-21-R2/FormObjects/webArea_overview.md @@ -16,7 +16,7 @@ Web areas can be used to display [Qodly pages](https://developer.4d.com/qodly/4D You can embed a Qodly page inside a Web Area and then update [Qodly sources](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/qodlySources) from 4D by calling [`WA EXECUTE JAVASCRIPT FUNCTION`](../commands-legacy/wa-execute-javascript-function.md). -In 4D client/server applications, Qodly pages inside Web areas can [share their session with the remote user](../Desktop/clientServer.md#sharing-the-session-with-qodly-pages-in-web-areas) for a high level of security. +In 4D client/server applications, Qodly pages inside Web areas can [share their session with the remote user](../Desktop/sessions.md#sharing-a-desktop-session-for-web-accesses for a high level of security. :::tip Related blog post diff --git a/versioned_docs/version-21-R2/ORDA/privileges.md b/versioned_docs/version-21-R2/ORDA/privileges.md index 6efd3d6b4d8f0a..847778b2bc4c1e 100644 --- a/versioned_docs/version-21-R2/ORDA/privileges.md +++ b/versioned_docs/version-21-R2/ORDA/privileges.md @@ -263,7 +263,7 @@ In Qodly Studio for 4D, the login mode can be set using the [**Force login** opt ## Restriction Modes -The `restrictedByDefault` property configures how every [resource](#resources) are accessed when [no specific permission is defined for it](#permission): +The `restrictedByDefault` property configures how every [resource](#resources) are accessed when [no specific permission is defined for it](#permissions): - **Unrestricted mode** (`restrictedByDefault`: **false**): Resources without defined permissions are accessible to all requests. This mode is suitable for development environments where access can be gradually restricted. - **Restricted mode** (`restrictedByDefault`: **true**): Resources without defined permissions are blocked by default. This mode is recommended for production environments where access must be explicitly granted. @@ -271,12 +271,12 @@ The `restrictedByDefault` property configures how every [resource](#resources) a :::note Compatibility -- When **creating a new project**, the `restrictedByDefault` property is set to **false** in the *roles.json* file (see below). Keep in mind that this configuration is tailored for quick start and smooth development. In production environment, [it is recommended to set the `restrictedByDefault` and `forceLogin` properties to **true**](#configuring-restrictedbydefault-and-forcelogin-properties). +- When **creating a new project**, the `restrictedByDefault` property is set to **false** in the *roles.json* file (see below). Keep in mind that this configuration is tailored for quick start and smooth development. In production environment, [it is recommended to set the `restrictedByDefault` and `forceLogin` properties to **true**](#recommended-configuration). - In **projects converted from previous releases**; when enabling access to Qodly Studio using the [One-click configuration dialog](https://developer.4d.com/qodly/4DQodlyPro/gettingStarted#one-click-configuration), the `restrictedByDefault` property is added with value **true** in the *roles.json* file. ::: -### Recommended Configuration +### Recommended Configuration {#recommended-configuration} Depending on your environment, the recommended settings are: diff --git a/versioned_docs/version-21-R2/Project/architecture.md b/versioned_docs/version-21-R2/Project/architecture.md index f74c0f92bce87f..932241e936d3b5 100644 --- a/versioned_docs/version-21-R2/Project/architecture.md +++ b/versioned_docs/version-21-R2/Project/architecture.md @@ -60,7 +60,7 @@ catalog_editor.json|Custom positions and colors of tables, fields, and links in folders.json|Explorer folder definitions|JSON menus.json|Menu definitions|JSON roles.json|[Privileges, permissions](../ORDA/privileges.md#rolesjson-file) and other security settings for the project|JSON -settings.4DSettings|*Structure* database settings. They are not taken into account if *[user settings](#settings-user)* or *[user settings for data](#settings-user-data)* are defined (see also [Priority of settings](../settings/overview.md#user-settings#priority-of-settings). **Warning**: In compiled applications, structure settings are stored in the .4dz file (read-only). For deployment needs, it is necessary to [enable](../settings/overview.md#user-settings#enabling-user-settings) and use *user settings* or *user settings for data* to define custom settings.|XML +settings.4DSettings|*Structure* database settings. They are not taken into account if *[user settings](#settings-user)* or *[user settings for data](#settings-user-data)* are defined (see also [Priority of settings](../settings/overview.md#priority-of-settings). **Warning**: In compiled applications, structure settings are stored in the .4dz file (read-only). For deployment needs, it is necessary to [enable](../settings/overview.md#enabling-user-settings) and use *user settings* or *user settings for data* to define custom settings.|XML tips.json|Defined tips|JSON lists.json|Defined lists|JSON filters.json|Defined filters|JSON @@ -191,9 +191,9 @@ data.match|(internal) UUID matching table number|XML ### `Settings` (user data) -This folder contains [**user settings for data**](../settings/overview.md#user-settings#user-settings-for-data-file) used for application administration. +This folder contains [**user settings for data**](../settings/overview.md#user-settings-for-data-file) used for application administration. -> These settings take priority over [user settings](#settings-user) and [structure settings](#sources). See also [Priority of settings](../settings/overview.md#user-settings#priority-of-settings). +> These settings take priority over [user settings](#settings-user) and [structure settings](#sources). See also [Priority of settings](../settings/overview.md#priority-of-settings). |Contents|Description|Format| |----|----|---| @@ -216,9 +216,9 @@ The Logs folder contains all log files used by the project. Log files include, i ## `Settings` (user) -This folder contains [**user settings**](../settings/overview.md#user-settings#user-settings) used for application administration. +This folder contains [**user settings**](../settings/overview.md#user-settings) used for application administration. -> These settings take priority over [structure settings](#sources) file. However, if [user settings for data](#settings-user-data) exist, they take priority over the user settings. See also [Priority of settings](../settings/overview.md#user-settings#priority-of-settings). +> These settings take priority over [structure settings](#sources) file. However, if [user settings for data](#settings-user-data) exist, they take priority over the user settings. See also [Priority of settings](../settings/overview.md#priority-of-settings). |Contents|Description|Format| |----|----|---| diff --git a/versioned_docs/version-21-R2/Project/search-replace.md b/versioned_docs/version-21-R2/Project/search-replace.md index 39ed2c07a896e2..82777a3834f3cb 100644 --- a/versioned_docs/version-21-R2/Project/search-replace.md +++ b/versioned_docs/version-21-R2/Project/search-replace.md @@ -56,7 +56,7 @@ The areas of the "Find in design" vary dynamically depending on the selections m 2. Build your search using the different menus and entry areas of the dialog box and if necessary enter the character string to be searched for. These items are described in the following sections. -3. Set the [search options](#search-options) (if necessary). +3. Set the [searching options](#searching-options) (if necessary). 4. Click **OK** or press the **Enter** key. When the search is finished, the [Results window](#results-window) appears, listing the elements found. diff --git a/versioned_docs/version-21-R2/WritePro/user-legacy/defining-a-4d-write-pro-area.md b/versioned_docs/version-21-R2/WritePro/user-legacy/defining-a-4d-write-pro-area.md index 873d5689a668b1..5da2f8a7b041dd 100644 --- a/versioned_docs/version-21-R2/WritePro/user-legacy/defining-a-4d-write-pro-area.md +++ b/versioned_docs/version-21-R2/WritePro/user-legacy/defining-a-4d-write-pro-area.md @@ -52,7 +52,7 @@ Document view settings are handled through specific items in the **Appearance** ## Context menu -If the **Context menu** property is [checked for a 4D Write Pro area](./defining-a-4d-write-pro-area.md#using-the-4d-write-pro-area-object), a comprehensive context menu is available to users when the form is executed at runtime: +If the **Context menu** property is [checked for a 4D Write Pro area](./presentation.md#using-the-4d-write-pro-area-object), a comprehensive context menu is available to users when the form is executed at runtime: ![](../../assets/en/WritePro/pict3071271.en.png) diff --git a/versioned_docs/version-21-R2/WritePro/user-legacy/storing-4d-write-pro-documents-in-4d-object-fields.md b/versioned_docs/version-21-R2/WritePro/user-legacy/storing-4d-write-pro-documents-in-4d-object-fields.md index cc85445981c84c..8623ffc88fa91f 100644 --- a/versioned_docs/version-21-R2/WritePro/user-legacy/storing-4d-write-pro-documents-in-4d-object-fields.md +++ b/versioned_docs/version-21-R2/WritePro/user-legacy/storing-4d-write-pro-documents-in-4d-object-fields.md @@ -121,7 +121,7 @@ Since custom attributes share the same naming space as 4D Write Pro internal att In 4D applications, 4D Write Pro documents are created, imported, and exported by means of specific commands found in the **4D Write Pro** theme ([WP EXPORT DOCUMENT](../commands/wp-export-document), [WP EXPORT VARIABLE](../commands/wp-export-variable), [WP Import document](../commands/wp-import-document), [WP New](../commands/wp-new)). -You can also [associate a 4D Write Pro area with an Object field](../user-legacy/defining-a-4d-write-pro-area.md#storing-4d-write-pro-documents-in-4d-object-fields) of the database. This way, each 4D Write Pro document is automatically saved with the record and stored in the database's data. +You can also [associate a 4D Write Pro area with an Object field](#storing-4d-write-pro-documents-in-4d-object-fields) of the database. This way, each 4D Write Pro document is automatically saved with the record and stored in the database's data. ## Printing 4D Write Pro documents diff --git a/versioned_docs/version-21-R2/WritePro/user-legacy/text-boxes.md b/versioned_docs/version-21-R2/WritePro/user-legacy/text-boxes.md index d56691ec4f16ef..6668b39044815c 100644 --- a/versioned_docs/version-21-R2/WritePro/user-legacy/text-boxes.md +++ b/versioned_docs/version-21-R2/WritePro/user-legacy/text-boxes.md @@ -18,7 +18,7 @@ Text boxes are added with an absolute position, in front of/behind text, as well Adding a text box to a 4D Write Pro document can be accomplished in the following ways: * using the [`WP New text box`](../commands-legacy/wp-new-text-box.md) command, -* using the *insertTextBox* [standard action](./defining-a-4d-write-pro-area.md#standard-actions) +* using the *insertTextBox* [standard action](./standard-actions.md) To select a text box, the user has to click on it (**Ctrl/Cmd+click** if the text box is on the background layer). Once selected, the text box can be moved or resized using the mouse or arrow keys. diff --git a/versioned_docs/version-21-R2/WritePro/user-legacy/using-a-4d-write-pro-area.md b/versioned_docs/version-21-R2/WritePro/user-legacy/using-a-4d-write-pro-area.md index af6c0d6f9fc763..0cd877ac46f8e4 100644 --- a/versioned_docs/version-21-R2/WritePro/user-legacy/using-a-4d-write-pro-area.md +++ b/versioned_docs/version-21-R2/WritePro/user-legacy/using-a-4d-write-pro-area.md @@ -45,7 +45,7 @@ You can control automatic breaks in paragraphs using the following features: * **Widow and orphan control**: When this option is set for a paragraph, 4D Write Pro does not allow widows (last line of a paragraph isolated at the top of a page) or orphans (first line of a paragraph isolated at the bottom of a page) in the document. In the first case, the previous line of the paragraph is added to the top of the page so that two lines are displayed there. In the second case, the single first line is moved onto the next page. * **Avoid page break inside**: When this option is set for a paragraph, 4D Write Pro prevents this paragraph from being broken into parts on two or more pages. -* **Keep with next:** When this option is set for a paragraph, that paragraph cannot be separated from the one that follows it by an automatic break. See `wk keep with next` and the corresponding *keepWithNext* [standard action](./user-legacy/standard-actions.md). +* **Keep with next:** When this option is set for a paragraph, that paragraph cannot be separated from the one that follows it by an automatic break. See `wk keep with next` and the corresponding *keepWithNext* [standard action](./standard-actions.md). These options can be set using the context menu, or [attributes](../commands-legacy/4d-write-pro-attributes.md) (`wk avoid widows and orphans`, `wk page break inside paragraph`, or *widowAndOrphanControlEnabled* and *avoidPageBreakInside* [standard actions](./standard-actions). @@ -284,7 +284,7 @@ Columns can be set using: * the **Columns** submenu of the 4D Write Pro area context menu, * 4D Write Pro [attributes](../commands-legacy/4d-write-pro-attributes.md), * 4D Write Pro [standard actions](./standard-actions). -(./user-legacy/standard-actions.md) + You can set or get the following properties and actions for columns: | **Property** | **Description** | **Document attributes**| **Standard actions** | diff --git a/versioned_docs/version-21-R2/WritePro/user/user-new.md b/versioned_docs/version-21-R2/WritePro/user/user-new.md index 09990ca4034c8f..ea6aa54e3d153a 100644 --- a/versioned_docs/version-21-R2/WritePro/user/user-new.md +++ b/versioned_docs/version-21-R2/WritePro/user/user-new.md @@ -1,6 +1,7 @@ --- id: user-new title: user WP +draft: true --- to import diff --git a/versioned_docs/version-21-R2/code-editor/write-class-method.md b/versioned_docs/version-21-R2/code-editor/write-class-method.md index 0ae4d42ae39ae5..e0a2bf60806066 100644 --- a/versioned_docs/version-21-R2/code-editor/write-class-method.md +++ b/versioned_docs/version-21-R2/code-editor/write-class-method.md @@ -31,7 +31,7 @@ Each Code Editor window has a toolbar that provides instant access to basic func | **Find in method** | ![search-icon](../assets/en/code-editor/search.png) | Displays the [*Search* area](#find-and-replace). | | **Macros** | ![macros-button](../assets/en/code-editor/macros.png) | Inserts a macro at the selection. Click the dropdown arrow to display a list of available macros. For more information on how to create and instantiate macros, see [Macros](#macros). | | **Expand all / Collapse all** | ![expand-collapse-button](../assets/en/code-editor/expand-collapse-all.png) | These buttons allow expanding or collapsing all the control flow structures of the code. | -| **Method information** | ![method-information-icon](../assets/en/code-editor/method-information.png) | Displays the [Method Properties](../Project/code-overview.md#project-method-properties) dialog box (project methods only). | +| **Method information** | ![method-information-icon](../assets/en/code-editor/method-information.png) | Displays the [Method Properties](../Project/project-method-properties.md) dialog box (project methods only). | | **Last clipboard values** | ![last-clipboard-values-icon](../assets/en/code-editor/last-clipboard-values.png) | Displays the last values stored in the clipboard. | | **Clipboards** | ![clipboard icons](../assets/en/code-editor/clipboards.png) | Nine clipboards available in the code editor. You can [use these clipboards](#clipboards) by clicking on them directly or by using keyboard shortcuts. You can use a [Preferences option](Preferences/methods.md#options-1) to hide them. | | **Navigation dropdown** | ![code-navigation-icons](../assets/en/code-editor/tags.png) | Lets you navigate inside methods and classes with automatically tagged content or manually declared markers. See below | diff --git a/versioned_docs/version-21-R2/commands/application-info.md b/versioned_docs/version-21-R2/commands/application-info.md index 09508fe2f9a808..0476dd47e3dd47 100644 --- a/versioned_docs/version-21-R2/commands/application-info.md +++ b/versioned_docs/version-21-R2/commands/application-info.md @@ -55,7 +55,7 @@ The returned object contains the following properties: | useQUICNetworkLayer | boolean | True if QUIC network layer used for the application server and db4d server. Not returned in standalone environment. Possible values: true, false. For more information, see [this blog post](https://blog.4d.com/quic-network/).| false | | volumeShadowCopyStatus | string | Returns the status of the Volume Shadow Copy Service. Windows only. For more information, see *Using Volume Shadow Copy Service on Windows*. Possible values:
Constant Value Comment
vss available available The service is available.
vss error error The service experienced an error.
vss not available notAvailable The service is unavailable.
vss update required updateRequired The service needs to be updated.
| "available" | -(\*) On Windows, you need to get this counter previously initialized, for example by a call to the **Application info** command in the [On Startup database method](on-startup-database-method.md). +(\*) On Windows, you need to get this counter previously initialized, for example by a call to the **Application info** command in the [On Startup database method](../commands-legacy/on-startup-database-method.md). ## Example diff --git a/versioned_docs/version-21-R2/commands/form-event.md b/versioned_docs/version-21-R2/commands/form-event.md index e7cbbeced1af3e..db9cb7e3b05b51 100644 --- a/versioned_docs/version-21-R2/commands/form-event.md +++ b/versioned_docs/version-21-R2/commands/form-event.md @@ -35,7 +35,7 @@ For example, in the case of a click on a button, the object contains the followi The event object can contain additional properties, depending on the object for which the event occurs. For *eventObj* objects generated on: -* List box or list box column objects, see [this section](../FormObjects/listbox_overview.md#additional-properties). +* List box or list box column objects, see [this section](../FormObjects/listbox_overview.md#supported-form-events). * 4D View Pro areas, see [On VP Ready form event](../Events/onVpReady.md). **Note:** If there is no current event, **FORM Event** returns a null object. diff --git a/versioned_docs/version-21-R2/commands/session.md b/versioned_docs/version-21-R2/commands/session.md index c9805ae1d1fb46..20b00daaf5770a 100644 --- a/versioned_docs/version-21-R2/commands/session.md +++ b/versioned_docs/version-21-R2/commands/session.md @@ -57,7 +57,7 @@ For more information on web user sessions, please refer to the [Web Server Sessi The `Session` object of remote user sessions is available from: -- Project methods that have the [Execute on Server](../Project/code-overview.md#execute-on-server) attribute (they are executed in the "twinned" process of the client process), +- Project methods that have the [Execute on Server](../Project/project-method-properties.md#execute-on-server) attribute (they are executed in the "twinned" process of the client process), - Triggers, - ORDA [data model functions](../ORDA/ordaClasses.md) (except those declared with the [`local`](../ORDA/ordaClasses.md#local-functions) keyword, - `On Server Open Connection` and `On Server Shutdown Connection` database methods. diff --git a/versioned_docs/version-21-R2/commands/theme/Forms.md b/versioned_docs/version-21-R2/commands/theme/Forms.md index 0853d9ed2d7de4..2e83d49ac79643 100644 --- a/versioned_docs/version-21-R2/commands/theme/Forms.md +++ b/versioned_docs/version-21-R2/commands/theme/Forms.md @@ -31,6 +31,6 @@ slug: /commands/theme/Forms |[](../../commands-legacy/form-set-output.md)
| |[](../../commands-legacy/form-set-size.md)
| |[](../../commands-legacy/form-set-vertical-resizing.md)
| +|[](../../commands/form-theme.md)
| |[](../../commands-legacy/form-unload.md)
| -|[](../../commands/form-windows-theme.md)
| diff --git a/versioned_docs/version-21/Admin/cli.md b/versioned_docs/version-21/Admin/cli.md index 276bdc42b4774c..1eb6482ff22a14 100644 --- a/versioned_docs/version-21/Admin/cli.md +++ b/versioned_docs/version-21/Admin/cli.md @@ -45,7 +45,7 @@ Syntax: |`--webadmin-settings-file`|File path|Path of the custom WebAdmin `.4DSettings` file for the [WebAdmin web server](webAdmin.md). Not available with [tool4d](#tool4d).| |`--webadmin-access-key`|Text|Access key for the [WebAdmin web server](webAdmin.md). Not available with [tool4d](#tool4d).| |`--webadmin-auto-start`|Boolean|Status of the automatic startup for the [WebAdmin web server](webAdmin.md). Not available with [tool4d](#tool4d).| -|`--webadmin-store-settings`||Store the access key and automatic starting parameters in the currently used settings file (i.e. the default [`WebAdmin.4DSettings`](webAdmin.md#webadmin-settings) file or a custom file designated with the `--webadmin-settings-path` parameter). Use the `--webadmin-store-settings` argument to save these settings if necessary. Not available with [tool4d](#tool4d).| +|`--webadmin-store-settings`||Store the access key and automatic starting parameters in the currently used settings file (i.e. the default [`WebAdmin.4DSettings`](webAdmin.md#settings) file or a custom file designated with the `--webadmin-settings-path` parameter). Use the `--webadmin-store-settings` argument to save these settings if necessary. Not available with [tool4d](#tool4d).| |`--utility`||Only available with 4D Server. Launches [4D Server in utility mode](#4d-server-in-utility-mode).| |`--skip-onstartup`||Launches the project without executing any "automatic" methods, including the `On Startup` and `On Exit` database methods| |`--startup-method`|Project method name (string)|Project method to execute immediately after the `On Startup` database method (if not skipped with `--skip-onstartup`).| diff --git a/versioned_docs/version-21/Concepts/components.md b/versioned_docs/version-21/Concepts/components.md index 2295ba0c354992..7a7487125280ff 100644 --- a/versioned_docs/version-21/Concepts/components.md +++ b/versioned_docs/version-21/Concepts/components.md @@ -31,6 +31,6 @@ You can select a component [project method](methods.md) or [class](classes.md) a :::note -Interpreted component code can be [edited directly from the host project](../Extensions/develop-components.md#editing-components-from-the-host) if the context is supported. +Interpreted component code can be [edited directly from the host project](../Extensions/develop-components.md#creating-and-editing-components-from-the-host) if the context is supported. ::: \ No newline at end of file diff --git a/versioned_docs/version-21/Concepts/error-handling.md b/versioned_docs/version-21/Concepts/error-handling.md index fbd03183263479..64c06a4a937e49 100644 --- a/versioned_docs/version-21/Concepts/error-handling.md +++ b/versioned_docs/version-21/Concepts/error-handling.md @@ -22,7 +22,7 @@ It is highly recommended to install a global error-handling method on 4D Server, ::: -## Predictable vs unpredictable errors +## Predictable vs unpredictable errors {#predictable-vs-unpredictable-errors} Many 4D class functions, such as [`entity.save()`](../API/EntityClass.md#save) or [`transporter.send()`](../API/SMTPTransporterClass.md#send), return a object containing *status* information. This object is used to store **predictable** errors in the runtime context, e.g. invalid password, locked entity, etc., that do not require to stop program execution. This category of errors, also named **silent errors** errors, can be handled by regular code. When such errors occur in an error handling context, i.e. a [`Try`](#tryexpression), [`Try/Catch`](#trycatchend-try) or an [error-handling method](#installing-an-error-handling-method), they do not interrupt the execution and do not trigger the error handling (e.g. the `Catch` part of the [`Try/Catch`](#trycatchend-try) is not executed). They are not listed in the [`Last errors`](../commands/last-errors.md) collection. The error is only returned in the `status` and `statusText` properties of the returned object. It can be processed according to your business logic. @@ -200,7 +200,7 @@ function test() ``` -3. You want to handle both [predictable and non-predictable](#error-or-status) errors: +3. You want to handle both [predictable and non-predictable]{#predictable-vs-unpredictable-errors} errors: ```4d var $e:=ds.Employee.new() diff --git a/versioned_docs/version-21/Desktop/labels.md b/versioned_docs/version-21/Desktop/labels.md index 3e624218025c81..d2dfac6e0d4eab 100644 --- a/versioned_docs/version-21/Desktop/labels.md +++ b/versioned_docs/version-21/Desktop/labels.md @@ -147,7 +147,7 @@ The Layout page contains controls for printing labels based on the requirements - **Method**: Lets you trigger a specific method that will be run at print time. For example, you can execute a method that posts the date and time that each label was printed. This feature is also useful when you print labels using a dedicated table form, in which case you can fill variables from a method. To be eligible for label processing, a project method must comply with the following settings: - it must be "allowed" for the database (allowed methods depend on [project settings](../settings/security.md#options) and the [`SET ALLOWED METHODS`](../commands/set-allowed-methods.md) command), otherwise it will not be displayed in the **Apply** menu. - - it must have the [Shared by components and host database](../Project/code-overview.md#shared-by-components-and-host-database) option. + - it must have the [Shared by components and host database](../Project/project-method-properties.md#shared-by-components-and-host-database) option. See also [this example](#printing-labels-using-forms-and-methods-example) below. :::note @@ -178,7 +178,7 @@ Here, in a table form named "label", we added the *myVar* variable: var myVar+=1 ``` -3. Set the project method as ["Shared by components and host database"](../Project/code-overview.md#shared-by-components-and-host-database). +3. Set the project method as ["Shared by components and host database"](../Project/project-method-properties.md#shared-by-components-and-host-database). 4. Before displaying the Label editor, make sure the project method is allowed by executing this code: diff --git a/versioned_docs/version-21/Desktop/sessions.md b/versioned_docs/version-21/Desktop/sessions.md index c85707f23390f7..fedaa69c12992f 100644 --- a/versioned_docs/version-21/Desktop/sessions.md +++ b/versioned_docs/version-21/Desktop/sessions.md @@ -65,7 +65,7 @@ You can also assign privileges to a remote user session to control access when t The remote user `session` object is available from: -- Project methods that have the [Execute on Server](../Project/code-overview.md#execute-on-server) attribute (they are executed in the "twinned" process of the client process), +- Project methods that have the [Execute on Server](../Project/project-method-properties.md#execute-on-server) attribute (they are executed in the "twinned" process of the client process), - Triggers, - ORDA [data model functions](../ORDA/ordaClasses.md) (except those declared with the [`local`](../ORDA/ordaClasses.md#local-functions) keyword), - Database methods such as [`On Server Open Connection`](../commands/on-server-open-connection-database-method) and [`On Server Close Connection`](../commands/on-server-close-connection-database-method). diff --git a/versioned_docs/version-21/Develop/preemptive.md b/versioned_docs/version-21/Develop/preemptive.md index ae5d7281c7c03a..2f6cfa3f83ab8e 100644 --- a/versioned_docs/version-21/Develop/preemptive.md +++ b/versioned_docs/version-21/Develop/preemptive.md @@ -79,7 +79,7 @@ Note that with this option, whatever the internal thread safety evaluation, the :::note Particular case -If the method has also the [**Shared by components and host database**](../Project/code-overview.md#shared-by-components-and-host-database) property, setting the **Indifferent** option will automatically tag the method as thread-unsafe. If you want a shared component method to be thread-safe, you must explicitely set it to **Can be run in preemptive processes**. +If the method has also the [**Shared by components and host database**](../Project/project-method-properties.md#shared-by-components-and-host-database) property, setting the **Indifferent** option will automatically tag the method as thread-unsafe. If you want a shared component method to be thread-safe, you must explicitely set it to **Can be run in preemptive processes**. ::: diff --git a/versioned_docs/version-21/Events/overview.md b/versioned_docs/version-21/Events/overview.md index 932c1e4d635099..5d534c018201b4 100644 --- a/versioned_docs/version-21/Events/overview.md +++ b/versioned_docs/version-21/Events/overview.md @@ -29,7 +29,7 @@ objectName|text|Name of the object triggering the event - Not included if the ev Additional properties are returned when the event occurs on specific objects. In particular: -- [list boxes](FormObjects/listbox_overview.md#supported-form-events) and [list box columns](FormObjects/listbox_overview.md#supported-form-events-1) return [additional properties](FormObjects/listbox_overview.md#additional-properties) such as `columnName` or `isRowSelected`. +- [list boxes](FormObjects/listbox_overview.md#supported-form-events) and [list box columns](FormObjects/listbox_overview.md#supported-form-events-1) return [additional properties](FormObjects/listbox_overview.md#supported-form-events) such as `columnName` or `isRowSelected`. - [4D View Pro areas](FormObjects/viewProArea_overview.md) return for example `sheetName` or `action` properties in the [On After Edit](onAfterEdit.md) event object. diff --git a/versioned_docs/version-21/Extensions/develop-components.md b/versioned_docs/version-21/Extensions/develop-components.md index dc1d29ebfdb0ba..0ee067d27128d1 100644 --- a/versioned_docs/version-21/Extensions/develop-components.md +++ b/versioned_docs/version-21/Extensions/develop-components.md @@ -112,7 +112,7 @@ When you select it, a dedicated tab is added (or highlighted if already added) i Standard 4D IDE features are available for the component. You can execute the following actions: - add, duplicate, delete, edit/save [methods and classes](../Project/code-overview.md) -- preview code, show/edit [documentation](../Project/documentation.md), display/edit [method properties](../Project/code-overview.md#project-method-properties), +- preview code, show/edit [documentation](../Project/documentation.md), display/edit [Method Properties](../Project/project-method-properties.md), - run methods, - restore from trash or empty trash. diff --git a/versioned_docs/version-21/FormObjects/pictureButton_overview.md b/versioned_docs/version-21/FormObjects/pictureButton_overview.md index f17b58f3de02e0..3b073b17768ce6 100644 --- a/versioned_docs/version-21/FormObjects/pictureButton_overview.md +++ b/versioned_docs/version-21/FormObjects/pictureButton_overview.md @@ -63,4 +63,4 @@ The following other modes are available: ## Supported Properties -[Border Line Style](properties_BackgroundAndBorder.md#border-line-style) - [Bottom](properties_CoordinatesAndSizing.md#bottom) - [Button Style](properties_TextAndPicture.md#button-style) - [Class](properties_Object.md#css-class) - [Columns](properties_Crop.md#columns) - [Focusable](properties_Entry.md#focusable) - [Height](properties_CoordinatesAndSizing.md#height) - [Help Tip](properties_Help.md#help-tip) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Italic](properties_Text.md#italic) - [Left](properties_CoordinatesAndSizing.md#left) - [Loop back to first frame](properties_Animation.md#loop-back-to-first-frame) - [Object Name](properties_Object.md#object-name) - [Pathname](properties_Picture.md#pathname) - [Right](properties_CoordinatesAndSizing.md#right) - [Rows](properties_Crop.md#rows) - [Shortcut](properties_Entry.md#shortcut) - [Standard action](properties_Action.md#standard-action) - [Switch back when released](properties_Animation.md#switch-back-when-released) - [Switch continuously on clicks](properties_Animation.md#switch-continuously-on-clicks) - [Switch every x ticks](properties_Animation.md#switch-every-x-ticks) - [Title](properties_Object.md#title) - [Switch when roll over](properties_Animation.md#switch-when-roll-over) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Use Last frame as disabled](properties_Animation.md#use-last-frame-as-disabled) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width) +[Border Line Style](properties_BackgroundAndBorder.md#border-line-style) - [Bottom](properties_CoordinatesAndSizing.md#bottom) - [Button Style](properties_TextAndPicture.md#button-style) - [Class](properties_Object.md#css-class) - [Columns](properties_Crop.md#columns) - [Focusable](properties_Entry.md#focusable) - [Height](properties_CoordinatesAndSizing.md#height) - [Help Tip](properties_Help.md#help-tip) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Italic](properties_Text.md#italic) - [Left](properties_CoordinatesAndSizing.md#left) - [Loop back to first frame](properties_Animation.md#loop-back-to-first-frame) - [Object Name](properties_Object.md#object-name) - [Pathname](properties_Picture.md#pathname) - [Right](properties_CoordinatesAndSizing.md#right) - [Rows](properties_Crop.md#rows) - [Shortcut](properties_Entry.md#shortcut) - [Standard action](properties_Action.md#standard-action) - [Switch back when released](properties_Animation.md#switch-back-when-released) - [Switch continuously on clicks](properties_Animation.md#switch-continuously-on-clicks) - [Switch every x seconds](properties_Animation.md#switch-every-x-seconds) - [Title](properties_Object.md#title) - [Switch when roll over](properties_Animation.md#switch-when-roll-over) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Use Last frame as disabled](properties_Animation.md#use-last-frame-as-disabled) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width) diff --git a/versioned_docs/version-21/FormObjects/properties_Text.md b/versioned_docs/version-21/FormObjects/properties_Text.md index a594bf030909e6..20bd0902917ef4 100644 --- a/versioned_docs/version-21/FormObjects/properties_Text.md +++ b/versioned_docs/version-21/FormObjects/properties_Text.md @@ -498,7 +498,7 @@ The name of a Longint array must be used. Each element of this array corresponds --- -## Row Style Array {#row-style-array) +## Row Style Array {#row-style-array} `Array type list boxes` diff --git a/versioned_docs/version-21/FormObjects/properties_WebArea.md b/versioned_docs/version-21/FormObjects/properties_WebArea.md index 9d0404c64c40a6..f7882f18193612 100644 --- a/versioned_docs/version-21/FormObjects/properties_WebArea.md +++ b/versioned_docs/version-21/FormObjects/properties_WebArea.md @@ -89,7 +89,7 @@ This option allows choosing between two rendering engines for the Web area, depe > On Windows, if Microsoft Edge WebView2 is not installed, 4D uses the embedded engine as system rendering engine. To know if it is installed in your system, look for "Microsoft Edge WebView2 Runtime" in your applications panel. -* **checked** - `JSON value: embedded`: In this case, 4D uses the Chromium Embedded Framework (CEF). Using the embedded Web engine means that Web area rendering and their functioning in your application are identical regardless of the platform used to run 4D (slight variations of pixels or differences related to network implementation may nevertheless be observed). When this option is chosen, you no longer benefit from automatic updates of the Web engine performed by the operating system; however, [new versions of the engines are regularly provided through 4D](../Notes/updates.md#library-table). +* **checked** - `JSON value: embedded`: In this case, 4D uses the Chromium Embedded Framework (CEF). Using the embedded Web engine means that Web area rendering and their functioning in your application are identical regardless of the platform used to run 4D (slight variations of pixels or differences related to network implementation may nevertheless be observed). When this option is chosen, you no longer benefit from automatic updates of the Web engine performed by the operating system; however, [new versions of the engines are regularly provided through 4D](../Notes/updates.md#library-table-4d-21-lts). The CEF engine has the following limitations: diff --git a/versioned_docs/version-21/FormObjects/webArea_overview.md b/versioned_docs/version-21/FormObjects/webArea_overview.md index 97987f9eb13a13..29b6e9e805b54b 100644 --- a/versioned_docs/version-21/FormObjects/webArea_overview.md +++ b/versioned_docs/version-21/FormObjects/webArea_overview.md @@ -16,7 +16,7 @@ Web areas can be used to display [Qodly pages](https://developer.4d.com/qodly/4D You can embed a Qodly page inside a Web Area and then update [Qodly sources](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/qodlySources) from 4D by calling [`WA EXECUTE JAVASCRIPT FUNCTION`](../commands-legacy/wa-execute-javascript-function.md). -In 4D client/server applications, Qodly pages inside Web areas can [share their session with the remote user](../Desktop/clientServer.md#sharing-the-session-with-qodly-pages-in-web-areas) for a high level of security. +In 4D client/server applications, Qodly pages inside Web areas can [share their session with the remote user](../Desktop/sessions.md#sharing-a-desktop-session-for-web-accesses for a high level of security. :::tip Related blog post diff --git a/versioned_docs/version-21/Notes/updates.md b/versioned_docs/version-21/Notes/updates.md index 66b99328f245c5..52eb614333053f 100644 --- a/versioned_docs/version-21/Notes/updates.md +++ b/versioned_docs/version-21/Notes/updates.md @@ -258,7 +258,7 @@ Read [**What’s new in 4D 20 R4**](https://blog.4d.com/en-whats-new-in-4d-v20-R - Using a legacy syntax for declaring parameters (e.g. `C_TEXT($1)` or `var $1 : Text`) is now deprecated and generates warnings at code typing, syntax checking, and compilation steps. - Selections are now kept consistent after some records have been deleted and others records created (see [this blog post](https://blog.4d.com/4d-keeps-your-selections-of-records-consistent-regarding-deletion-of-records/). -- In the updated [OpenSSL library](#library-table), the default SSL/TLS security level has been changed from 1 to 2. RSA, DSA and DH keys of 1024 bits and above and less than 2048 bits as well as ECC keys of 160 bits and above and less than 224 bits are now no longer allowed. By default, TLS compression was already disabled in previous OpenSSL versions. At security level 2 it cannot be enabled. +- In the updated [OpenSSL library](#library-table-4d-21-lts), the default SSL/TLS security level has been changed from 1 to 2. RSA, DSA and DH keys of 1024 bits and above and less than 2048 bits as well as ECC keys of 160 bits and above and less than 224 bits are now no longer allowed. By default, TLS compression was already disabled in previous OpenSSL versions. At security level 2 it cannot be enabled. - In order to allow password verification when the [4D user directory uses the bcrypt algorithm](https://blog.4d.com/bcrypt-support-for-passwords/), the "password" value in the *connectionInfo* parameter of the [`Open datastore`](../commands/open-datastore.md) command is now sent in clear form by default. Make sure your "On REST authentication" database method can handle passwords in clear form (third parameter is then **False**) and that `Open datastore` encrypts your connection by passing the "tls" option to **True** in *connectionInfo*. In specific cases, a new "passwordAlgorithm" option can also be used for compatibility (see [`Open datastore`](../commands/open-datastore.md) command). diff --git a/versioned_docs/version-21/ORDA/privileges.md b/versioned_docs/version-21/ORDA/privileges.md index 6efd3d6b4d8f0a..847778b2bc4c1e 100644 --- a/versioned_docs/version-21/ORDA/privileges.md +++ b/versioned_docs/version-21/ORDA/privileges.md @@ -263,7 +263,7 @@ In Qodly Studio for 4D, the login mode can be set using the [**Force login** opt ## Restriction Modes -The `restrictedByDefault` property configures how every [resource](#resources) are accessed when [no specific permission is defined for it](#permission): +The `restrictedByDefault` property configures how every [resource](#resources) are accessed when [no specific permission is defined for it](#permissions): - **Unrestricted mode** (`restrictedByDefault`: **false**): Resources without defined permissions are accessible to all requests. This mode is suitable for development environments where access can be gradually restricted. - **Restricted mode** (`restrictedByDefault`: **true**): Resources without defined permissions are blocked by default. This mode is recommended for production environments where access must be explicitly granted. @@ -271,12 +271,12 @@ The `restrictedByDefault` property configures how every [resource](#resources) a :::note Compatibility -- When **creating a new project**, the `restrictedByDefault` property is set to **false** in the *roles.json* file (see below). Keep in mind that this configuration is tailored for quick start and smooth development. In production environment, [it is recommended to set the `restrictedByDefault` and `forceLogin` properties to **true**](#configuring-restrictedbydefault-and-forcelogin-properties). +- When **creating a new project**, the `restrictedByDefault` property is set to **false** in the *roles.json* file (see below). Keep in mind that this configuration is tailored for quick start and smooth development. In production environment, [it is recommended to set the `restrictedByDefault` and `forceLogin` properties to **true**](#recommended-configuration). - In **projects converted from previous releases**; when enabling access to Qodly Studio using the [One-click configuration dialog](https://developer.4d.com/qodly/4DQodlyPro/gettingStarted#one-click-configuration), the `restrictedByDefault` property is added with value **true** in the *roles.json* file. ::: -### Recommended Configuration +### Recommended Configuration {#recommended-configuration} Depending on your environment, the recommended settings are: diff --git a/versioned_docs/version-21/Project/architecture.md b/versioned_docs/version-21/Project/architecture.md index 0d3ddfef1e0bae..e3ca4e8644c5d0 100644 --- a/versioned_docs/version-21/Project/architecture.md +++ b/versioned_docs/version-21/Project/architecture.md @@ -60,7 +60,7 @@ catalog_editor.json|Custom positions and colors of tables, fields, and links in folders.json|Explorer folder definitions|JSON menus.json|Menu definitions|JSON roles.json|[Privileges, permissions](../ORDA/privileges.md#rolesjson-file) and other security settings for the project|JSON -settings.4DSettings|*Structure* database settings. They are not taken into account if *[user settings](#settings-user)* or *[user settings for data](#settings-user-data)* are defined (see also [Priority of settings](../settings/overview.md#user-settings#priority-of-settings). **Warning**: In compiled applications, structure settings are stored in the .4dz file (read-only). For deployment needs, it is necessary to [enable](../settings/overview.md#user-settings#enabling-user-settings) and use *user settings* or *user settings for data* to define custom settings.|XML +settings.4DSettings|*Structure* database settings. They are not taken into account if *[user settings](#settings-user)* or *[user settings for data](#settings-user-data)* are defined (see also [Priority of settings](../settings/overview.md#priority-of-settings). **Warning**: In compiled applications, structure settings are stored in the .4dz file (read-only). For deployment needs, it is necessary to [enable](../settings/overview.md#enabling-user-settings) and use *user settings* or *user settings for data* to define custom settings.|XML tips.json|Defined tips|JSON lists.json|Defined lists|JSON filters.json|Defined filters|JSON @@ -171,9 +171,9 @@ data.match|(internal) UUID matching table number|XML ### `Settings` (user data) -This folder contains [**user settings for data**](../settings/overview.md#user-settings#user-settings-for-data-file) used for application administration. +This folder contains [**user settings for data**](../settings/overview.md#user-settings-for-data-file) used for application administration. -> These settings take priority over [user settings](#settings-user) and [structure settings](#sources). See also [Priority of settings](../settings/overview.md#user-settings#priority-of-settings). +> These settings take priority over [user settings](#settings-user) and [structure settings](#sources). See also [Priority of settings](../settings/overview.md#priority-of-settings). |Contents|Description|Format| |----|----|---| @@ -196,9 +196,9 @@ The Logs folder contains all log files used by the project. Log files include, i ## `Settings` (user) -This folder contains [**user settings**](../settings/overview.md#user-settings#user-settings) used for application administration. +This folder contains [**user settings**](../settings/overview.md#user-settings) used for application administration. -> These settings take priority over [structure settings](#sources) file. However, if [user settings for data](#settings-user-data) exist, they take priority over the user settings. See also [Priority of settings](../settings/overview.md#user-settings#priority-of-settings). +> These settings take priority over [structure settings](#sources) file. However, if [user settings for data](#settings-user-data) exist, they take priority over the user settings. See also [Priority of settings](../settings/overview.md#priority-of-settings). |Contents|Description|Format| |----|----|---| diff --git a/versioned_docs/version-21/ViewPro/getting-started.md b/versioned_docs/version-21/ViewPro/getting-started.md index d60bf44e2e4c18..c1dffebef4e2b7 100644 --- a/versioned_docs/version-21/ViewPro/getting-started.md +++ b/versioned_docs/version-21/ViewPro/getting-started.md @@ -13,7 +13,7 @@ A spreadsheet is an application containing a grid of cells into which you can en :::note -Go to the [Library table](../Notes/updates.md#library-table) to know the SpreadJS version integrated in your 4D release. +Go to the [Library table](../Notes/updates.md#library-table-4d-21-lts) to know the SpreadJS version integrated in your 4D release. ::: diff --git a/versioned_docs/version-21/WebServer/sessions.md b/versioned_docs/version-21/WebServer/sessions.md index 0d962150ec1c74..5a31c44bebf66e 100644 --- a/versioned_docs/version-21/WebServer/sessions.md +++ b/versioned_docs/version-21/WebServer/sessions.md @@ -98,7 +98,7 @@ When a web session is closed, if the [`Session`](commands/session.md) command is :::info -You can close a session from a Qodly form using the [**logout**](qodly-studio.md#logout) feature. +You can close a session from a Qodly form using the [**logout**](https://developer.4d.com/qodly/4DQodlyPro/force-login#logout) feature. ::: diff --git a/versioned_docs/version-21/WritePro/user-legacy/defining-a-4d-write-pro-area.md b/versioned_docs/version-21/WritePro/user-legacy/defining-a-4d-write-pro-area.md index 873d5689a668b1..5da2f8a7b041dd 100644 --- a/versioned_docs/version-21/WritePro/user-legacy/defining-a-4d-write-pro-area.md +++ b/versioned_docs/version-21/WritePro/user-legacy/defining-a-4d-write-pro-area.md @@ -52,7 +52,7 @@ Document view settings are handled through specific items in the **Appearance** ## Context menu -If the **Context menu** property is [checked for a 4D Write Pro area](./defining-a-4d-write-pro-area.md#using-the-4d-write-pro-area-object), a comprehensive context menu is available to users when the form is executed at runtime: +If the **Context menu** property is [checked for a 4D Write Pro area](./presentation.md#using-the-4d-write-pro-area-object), a comprehensive context menu is available to users when the form is executed at runtime: ![](../../assets/en/WritePro/pict3071271.en.png) diff --git a/versioned_docs/version-21/WritePro/user-legacy/storing-4d-write-pro-documents-in-4d-object-fields.md b/versioned_docs/version-21/WritePro/user-legacy/storing-4d-write-pro-documents-in-4d-object-fields.md index cc85445981c84c..8623ffc88fa91f 100644 --- a/versioned_docs/version-21/WritePro/user-legacy/storing-4d-write-pro-documents-in-4d-object-fields.md +++ b/versioned_docs/version-21/WritePro/user-legacy/storing-4d-write-pro-documents-in-4d-object-fields.md @@ -121,7 +121,7 @@ Since custom attributes share the same naming space as 4D Write Pro internal att In 4D applications, 4D Write Pro documents are created, imported, and exported by means of specific commands found in the **4D Write Pro** theme ([WP EXPORT DOCUMENT](../commands/wp-export-document), [WP EXPORT VARIABLE](../commands/wp-export-variable), [WP Import document](../commands/wp-import-document), [WP New](../commands/wp-new)). -You can also [associate a 4D Write Pro area with an Object field](../user-legacy/defining-a-4d-write-pro-area.md#storing-4d-write-pro-documents-in-4d-object-fields) of the database. This way, each 4D Write Pro document is automatically saved with the record and stored in the database's data. +You can also [associate a 4D Write Pro area with an Object field](#storing-4d-write-pro-documents-in-4d-object-fields) of the database. This way, each 4D Write Pro document is automatically saved with the record and stored in the database's data. ## Printing 4D Write Pro documents diff --git a/versioned_docs/version-21/WritePro/user-legacy/text-boxes.md b/versioned_docs/version-21/WritePro/user-legacy/text-boxes.md index d56691ec4f16ef..6668b39044815c 100644 --- a/versioned_docs/version-21/WritePro/user-legacy/text-boxes.md +++ b/versioned_docs/version-21/WritePro/user-legacy/text-boxes.md @@ -18,7 +18,7 @@ Text boxes are added with an absolute position, in front of/behind text, as well Adding a text box to a 4D Write Pro document can be accomplished in the following ways: * using the [`WP New text box`](../commands-legacy/wp-new-text-box.md) command, -* using the *insertTextBox* [standard action](./defining-a-4d-write-pro-area.md#standard-actions) +* using the *insertTextBox* [standard action](./standard-actions.md) To select a text box, the user has to click on it (**Ctrl/Cmd+click** if the text box is on the background layer). Once selected, the text box can be moved or resized using the mouse or arrow keys. diff --git a/versioned_docs/version-21/WritePro/user-legacy/using-a-4d-write-pro-area.md b/versioned_docs/version-21/WritePro/user-legacy/using-a-4d-write-pro-area.md index af757a0e775b30..14e288f018c9ac 100644 --- a/versioned_docs/version-21/WritePro/user-legacy/using-a-4d-write-pro-area.md +++ b/versioned_docs/version-21/WritePro/user-legacy/using-a-4d-write-pro-area.md @@ -44,7 +44,7 @@ You can control automatic breaks in paragraphs using the following features: * **Widow and orphan control**: When this option is set for a paragraph, 4D Write Pro does not allow widows (last line of a paragraph isolated at the top of a page) or orphans (first line of a paragraph isolated at the bottom of a page) in the document. In the first case, the previous line of the paragraph is added to the top of the page so that two lines are displayed there. In the second case, the single first line is moved onto the next page. * **Avoid page break inside**: When this option is set for a paragraph, 4D Write Pro prevents this paragraph from being broken into parts on two or more pages. -* **Keep with next:** When this option is set for a paragraph, that paragraph cannot be separated from the one that follows it by an automatic break. See `wk keep with next` and the corresponding *keepWithNext* [standard action](./defining-a-4d-write-pro-area.md#standard-actions). +* **Keep with next:** When this option is set for a paragraph, that paragraph cannot be separated from the one that follows it by an automatic break. See `wk keep with next` and the corresponding *keepWithNext* [standard action](./standard-actions.md). These options can be set using the context menu, or [attributes](../commands-legacy/4d-write-pro-attributes.md) (`wk avoid widows and orphans`, `wk page break inside paragraph`, or *widowAndOrphanControlEnabled* and *avoidPageBreakInside* [standard actions](./defining-a-4d-write-pro-area.md#standard-actions). diff --git a/versioned_docs/version-21/code-editor/write-class-method.md b/versioned_docs/version-21/code-editor/write-class-method.md index bfcedd590d801f..e40381d6d00a6a 100644 --- a/versioned_docs/version-21/code-editor/write-class-method.md +++ b/versioned_docs/version-21/code-editor/write-class-method.md @@ -31,7 +31,7 @@ Each Code Editor window has a toolbar that provides instant access to basic func | **Find in method** | ![search-icon](../assets/en/code-editor/search.png) | Displays the [*Search* area](#find-and-replace). | | **Macros** | ![macros-button](../assets/en/code-editor/macros.png) | Inserts a macro at the selection. Click the dropdown arrow to display a list of available macros. For more information on how to create and instantiate macros, see [Macros](#macros). | | **Expand all / Collapse all** | ![expand-collapse-button](../assets/en/code-editor/expand-collapse-all.png) | These buttons allow expanding or collapsing all the control flow structures of the code. | -| **Method information** | ![method-information-icon](../assets/en/code-editor/method-information.png) | Displays the [Method Properties](../Project/code-overview.md#project-method-properties) dialog box (project methods only). | +| **Method information** | ![method-information-icon](../assets/en/code-editor/method-information.png) | Displays the [Method Properties](../Project/project-method-properties.md) dialog box (project methods only). | | **Last clipboard values** | ![last-clipboard-values-icon](../assets/en/code-editor/last-clipboard-values.png) | Displays the last values stored in the clipboard. | | **Clipboards** | ![clipboard icons](../assets/en/code-editor/clipboards.png) | Nine clipboards available in the code editor. You can [use these clipboards](#clipboards) by clicking on them directly or by using keyboard shortcuts. You can use a [Preferences option](Preferences/methods.md#options-1) to hide them. | | **Navigation dropdown** | ![code-navigation-icons](../assets/en/code-editor/tags.png) | Lets you navigate inside methods and classes with automatically tagged content or manually declared markers. See below | diff --git a/versioned_docs/version-21/commands-legacy/application-info.md b/versioned_docs/version-21/commands-legacy/application-info.md index 398ba81cbff9b0..037446c7dc19ad 100644 --- a/versioned_docs/version-21/commands-legacy/application-info.md +++ b/versioned_docs/version-21/commands-legacy/application-info.md @@ -43,7 +43,7 @@ The returned object contains the following properties: | useQUICNetworkLayer | boolean | True if QUIC network layer used for the application server and db4d server (*beta* in 4D v20, see *Compatibility page*). Not returned in standalone environment. Possible values: true, false. For more information, see [this blog post](https://blog.4d.com/quic-network/). | false | | volumeShadowCopyStatus | string | Returns the status of the Volume Shadow Copy Service. Windows only. For more information, see *Using Volume Shadow Copy Service on Windows*. Possible values:
Constant Value Comment
vss available available The service is available.
vss error error The service experienced an error.
vss not available notAvailable The service is unavailable.
vss update required updateRequired The service needs to be updated.
| "available" | -(\*) On Windows, you need to get this counter previously initialized, for example by a call to the **Application info** command in the [On Startup database method](on-startup-database-method.md). +(\*) On Windows, you need to get this counter previously initialized, for example by a call to the **Application info** command in the [On Startup database method](../commands-legacy/on-startup-database-method.md). ## Example diff --git a/versioned_docs/version-21/commands/form-event.md b/versioned_docs/version-21/commands/form-event.md index e7cbbeced1af3e..db9cb7e3b05b51 100644 --- a/versioned_docs/version-21/commands/form-event.md +++ b/versioned_docs/version-21/commands/form-event.md @@ -35,7 +35,7 @@ For example, in the case of a click on a button, the object contains the followi The event object can contain additional properties, depending on the object for which the event occurs. For *eventObj* objects generated on: -* List box or list box column objects, see [this section](../FormObjects/listbox_overview.md#additional-properties). +* List box or list box column objects, see [this section](../FormObjects/listbox_overview.md#supported-form-events). * 4D View Pro areas, see [On VP Ready form event](../Events/onVpReady.md). **Note:** If there is no current event, **FORM Event** returns a null object. diff --git a/versioned_docs/version-21/commands/session.md b/versioned_docs/version-21/commands/session.md index c9805ae1d1fb46..20b00daaf5770a 100644 --- a/versioned_docs/version-21/commands/session.md +++ b/versioned_docs/version-21/commands/session.md @@ -57,7 +57,7 @@ For more information on web user sessions, please refer to the [Web Server Sessi The `Session` object of remote user sessions is available from: -- Project methods that have the [Execute on Server](../Project/code-overview.md#execute-on-server) attribute (they are executed in the "twinned" process of the client process), +- Project methods that have the [Execute on Server](../Project/project-method-properties.md#execute-on-server) attribute (they are executed in the "twinned" process of the client process), - Triggers, - ORDA [data model functions](../ORDA/ordaClasses.md) (except those declared with the [`local`](../ORDA/ordaClasses.md#local-functions) keyword, - `On Server Open Connection` and `On Server Shutdown Connection` database methods.