diff --git a/docs/API/CollectionClass.md b/docs/API/CollectionClass.md
index 8aa55ef860d79c..39c269f2da33f4 100644
--- a/docs/API/CollectionClass.md
+++ b/docs/API/CollectionClass.md
@@ -4,7 +4,7 @@ title: Collection
---
-The Collection class manages [Collection](Concepts/dt_collection.md) type variables.
+The Collection class manages [Collection](Concepts/dt_collection.md) type expressions.
A collection is initialized with the [`New collection`](../commands/new-collection.md) or [`New shared collection`](../commands/new-shared-collection.md) commands.
@@ -295,13 +295,13 @@ $c.combine($fruits;3) //[1,2,3,"Orange","Banana","Apple","Grape",4,5,6]
-**.concat**( *value* : any { *;...valueN* } ) : Collection
+**.concat**( *value* : any { ; *...valueN* } ) : Collection
|Parameter|Type||Description|
|---------|--- |:---:|------|
-|value|Number, Text, Object, Collection, Date, Time, Boolean, Picture|->|Value(s) to concatenate. If *value* is a collection, all collection elements are added to the original collection|
+|value|any|->|Value(s) to concatenate. If *value* is a collection, all collection elements are added to the original collection|
|Result|Collection|<-|New collection with value(s) added to the original collection|
diff --git a/docs/API/DataClassClass.md b/docs/API/DataClassClass.md
index edcd003a94a757..5ec725310b0f81 100644
--- a/docs/API/DataClassClass.md
+++ b/docs/API/DataClassClass.md
@@ -934,7 +934,7 @@ When using a constant value, the following rules must be respected:
* **date** type constants: "YYYY-MM-DD" format
* **null** constant: using the "null" keyword will find **null** and **undefined** properties.
* in case of a query with an IN comparator, *value* must be a collection, or values matching the type of the attribute path between \[ ] separated by commas (for strings, `"` characters must be escaped with `\`).
- * **object**: only [4D.Vector](../API/VectorClass.md) objects are supported, in the context of **vector similarity queries** (*attributePath* must also contain valid 4D.Vector objects).
+ * **object**: only [4D.Vector](../API/VectorClass.md) objects are supported, in the context of [**vector similarity queries**](#query-by-vector-similarity) (*attributePath* must also contain valid 4D.Vector objects).
* **logicalOperator**: used to join multiple conditions in the query (optional). You can use one of the following logical operators (either the name or the symbol can be used):
|Conjunction|Symbol(s)|
@@ -1206,6 +1206,20 @@ var $comparisonVector := {vector: $myVector; metric: mk euclidean; threshold: 1.
var $results := ds.MyClass.query("myVectorField <= :1"; $comparisonVector)
```
+The **order by** statement is supported in the query string so that entities in the resulting entity selection are sorted by similarity. For example:
+
+```4d
+var $results := ds.MyClass.query("myVectorField > :1 order by myVectorField"; $comparisonVector)
+ //default order, the first entity is the most similar
+```
+
+If the same vector appears multiple times in the query string, the order by will be applied to the results of the first one, for example:
+
+```4d
+var $results := ds.MyClass.query("myVectorField > :1 and myVectorField > :2 order by myVectorField" desc; /
+ {vector : $myVector1 };{vector : $myVector2 }) //myVectorField > :1 is used for the order by
+```
+
See [more examples below](#example-4-2) (examples 4 and 5).
:::tip Related blog posts
diff --git a/docs/API/EntitySelectionClass.md b/docs/API/EntitySelectionClass.md
index 456b507bdcd585..b94931d5caae23 100644
--- a/docs/API/EntitySelectionClass.md
+++ b/docs/API/EntitySelectionClass.md
@@ -1800,6 +1800,8 @@ In this example, the "marks" object field in the **Students** dataClass contains
|Release|Changes|
|---|---|
+|21 R2|Support of order by with 4D.Vector searches|
+|21|Support 4D.Vector objects|
|17 R6|Support of Formula parameters|
|17 R5|Support of placeholders for values|
|17|Added|
diff --git a/docs/API/WebFormClass.md b/docs/API/WebFormClass.md
index f0d979948c54db..8dbb4b7206aa72 100644
--- a/docs/API/WebFormClass.md
+++ b/docs/API/WebFormClass.md
@@ -4,7 +4,7 @@ title: WebForm
---
-The `WebForm` class contains functions and properties allowing to handle your Qodly webform components. This class is detailed in the [Qodly documentation](https://developer.qodly.com/docs/language/WebFormClass).
+The `WebForm` class contains functions and properties allowing to handle your Qodly web page components. `4D.WebForm` objects are instantiated with the [`webForm`](../commands/web-form.md) command.
History
@@ -16,21 +16,16 @@ The `WebForm` class contains functions and properties allowing to handle your Qo
-
-
### Commands and functions
||
|---|
-|[](#componentname)
|
+|[](#componentname)
|
|[](#disablestate)
|
|[](#enablestate)
|
|[](#seterror)
|
|[](#setmessage)
|
|[](#setwarning)
|
-|[](#web-form)
|
-|[](#web-event)
|
-
### *.componentName*
@@ -39,11 +34,27 @@ The `WebForm` class contains functions and properties allowing to handle your Qo
#### Description
-The components of webforms are objects that are available directly as properties of these webforms.
+The components of web pages are objects that are available directly as properties of these web pages.
+
+The returned objects are of the [`4D.WebFormItem`](WebFormItemClass.md) class. These objects have functions that you can use to manage your components dynamically.
+
+#### Example
+
+```4d
+shared singleton Class constructor()
+
+ var myForm : 4D.WebForm
+ var component : 4D.WebFormItem
+
+ myForm:=webForm //returns the web page as an object, each property is a component
+ component:=myForm.myImage //returns the myImage component of the web page
-For more information, please refer to the [`.componentName` description in the Qodly documentation](https://developer.qodly.com/docs/language/WebFormClass#componentname).
+```
+:::info
+While `myForm` may not display typical object properties when examined in the debugger, it behaves as if it were the actual `webForm` object. You can interact with the underlying `webForm` object's properties and functions through `myForm`. For example, you can dynamically manipulate page components or transmit messages to web pages using specialized functions like `myForm.setMessage()`.
+:::
### .disableState()
@@ -52,20 +63,20 @@ For more information, please refer to the [`.componentName` description in the Q
|Parameter|Type||Description|
|---------|--- |:---:|------|
-|state|string|->|Name of state to disable from the web form|
+|state|string|->|Name of state to disable from the web page|
#### Description
-The `.disableState()` function disables the rendering of the *state* in the current web form.
+The `.disableState()` function disables the rendering of the *state* in the current web page.
This function does nothing if:
-- the *state* is currently not enabled in the web form,
-- the *state* does not exist for the web form.
+- the *state* is currently not enabled in the web page,
+- the *state* does not exist for the web page.
If you [enable](#enablestate) or disable several states in the same user function, all modifications are sent at the same time to the client once the function ends.
-For more information on web form states, please refer to [developer.qodly.com](https://developer.qodly.com/docs/studio/pageLoaders/states).
+For more information on web pages states, please refer to the [States section in the Qodly documentation](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/states/stateOverview).
@@ -77,26 +88,26 @@ For more information on web form states, please refer to [developer.qodly.com](h
|Parameter|Type||Description|
|---------|--- |:---:|------|
-|state|string|->|Name of state to enable on the web form|
+|state|string|->|Name of state to enable on the web pages|
#### Description
-The `.enableState()` function enables the rendering of the *state* in the current web form.
+The `.enableState()` function enables the rendering of the *state* in the current web page.
This function does nothing if:
-- the *state* has already been enabled on the web form,
-- the *state* does not exist for the web form.
+- the *state* has already been enabled on the web page,
+- the *state* does not exist for the web page.
If you enable or [disable](#disablestate) several states within the same user function, all modifications are sent at the same time to the client once the function ends.
-For more information on web form states, please refer to [developer.qodly.com](https://developer.qodly.com/docs/studio/pageLoaders/states).
+For more information on web page states, please refer to the [States section in the Qodly documentation](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/states/stateOverview).
#### Example
You enable a specific state named "wrongCredentials" in case of error in your login page:
-```4d
+```4d
Function authenticationError()
If (Session.info.type#"remote")
Web Form.enableState("wrongCredentials")
@@ -111,16 +122,31 @@ Function authenticationError()
|Parameter|Type||Description|
|---------|--- |:---:|------|
-|msg|string|->|Error message to display in the web form|
+|msg|string|->|Error message to display in the web page|
#### Description
-The `.setError()` function sends *msg* as an error message to the web form.
+The `.setError()` function sends *msg* as an error message to the web page.
+
+The function returns a response with a `200 OK` status and a `__WEBFORM` object in the body with a `__NOTIFICATION.message` property set to *msg* and a `__NOTIFICATION.type` set to "error".
-For more information, please refer to the [`.setError()` description in the Qodly documentation](https://developer.qodly.com/docs/language/WebFormClass#seterror).
+#### Example
+
+```4d
+shared singleton Class constructor()
+exposed function myError()
+
+var myForm : 4D.WebForm
+myForm:=web Form
+
+myForm.setError("My error message")
+
+```
+If the [**Provide feedback**](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/events/bindingActionToEvents#providing-feedback) feature is enabled for the event, the *message* is automatically displayed as a red *toast* at the bottom of the Page and disappears automatically after 5 seconds:
+
### .setMessage()
@@ -129,62 +155,67 @@ For more information, please refer to the [`.setError()` description in the Qodl
|Parameter|Type||Description|
|---------|--- |:---:|------|
-|msg|string|->|Information message to display in the web form|
+|msg|string|->|Information message to display in the web page|
#### Description
-The `.setMessage()` function sends *msg* as an information message to the web form.
-
-For more information, please refer to the [`.setMessage()` description in the Qodly documentation](https://developer.qodly.com/docs/language/WebFormClass#setmessage).
+The `.setMessage()` function sends *msg* as an information message to the web page.
+The function returns a response with a `200 OK` status and a `__WEBFORM` object in the body with a `__NOTIFICATION.message` property set to *msg* and a `__NOTIFICATION.type` set to "message".
-### .setWarning()
+#### Example
-**.setWarning**( *msg* : string)
+```4d
+shared singleton Class constructor()
+exposed function myMessage()
-
-|Parameter|Type||Description|
-|---------|--- |:---:|------|
-|msg|string|->|Warning message to display in the web form|
-
+var myForm : 4D.WebForm
+myForm:=web Form
-#### Description
+myForm.setMessage("My information message")
-The `.setWarning()` function sends *msg* as a warning message to the web form.
+```
-For more information, please refer to the [`.setWarning()` description in the Qodly documentation](https://developer.qodly.com/docs/language/WebFormClass#setwarning).
+If the [**Provide feedback**](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/events/bindingActionToEvents#providing-feedback) feature is enabled for the event, the *message* is automatically displayed as a green *toast* at the bottom of the Page and disappears automatically after 5 seconds:
+
-## Web Form
+### .setWarning()
-**Web Form** : 4D.WebForm
+**.setWarning**( *msg* : string)
-
+
|Parameter|Type||Description|
|---------|--- |:---:|------|
-|Result|4D.WebForm|<-|New `WebForm` proxy object
+|msg|string|->|Warning message to display in the web page|
#### Description
-The `Web Form` command returns a `4D.WebForm` proxy object that allows you to interact with the web form.
+The `.setWarning()` function sends *msg* as a warning message to the web page.
-For more information, please refer to the [`webForm` command description in the Qodly documentation](https://developer.qodly.com/docs/language/WebFormClass#webform).
+The function returns a response with a `200 OK` status and a `__WEBFORM` object in the body with a `__NOTIFICATION.message` property set to *msg* and a `__NOTIFICATION.type` set to "warning".
+#### Example
-## Web Event
+```4d
+shared singleton Class constructor()
+exposed function myWarning()
-**Web Event** : Object
+var myForm : 4D.WebForm
+myForm:=web Form
-
-|Parameter|Type||Description|
-|---------|--- |:---:|------|
-|Result|object|<-| object
-
+myForm.setWarning("My warning message")
-#### Description
+```
+
+If the [**Provide feedback**](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/events/bindingActionToEvents#providing-feedback) feature is enabled for the event, the *message* is automatically displayed as a yellow *toast* at the bottom of the web page and disappears automatically after 5 seconds:
+
+
-The `Web Event` command returns an object with information on a triggered event linked to a webform component.
+## See also
-For more information, please refer to the [`webEvent` command description in the Qodly documentation](https://developer.qodly.com/docs/language/WebFormClass#webevent).
+[Web Form](../commands/web-form.md)
+[Web Event](../commands/web-event.md)
+[WebFormItem class](../API/WebFormItemClass.md)
\ No newline at end of file
diff --git a/docs/API/WebFormItemClass.md b/docs/API/WebFormItemClass.md
index 79a1f83eb19747..e21473dece77d5 100644
--- a/docs/API/WebFormItemClass.md
+++ b/docs/API/WebFormItemClass.md
@@ -4,9 +4,13 @@ title: WebFormItem
---
-`4D.WebFormItem` objects are properties of the [`4D.WebForm`](WebFormItemClass.md) object returned by the [`Web Form`](WebFormClass.md#web-form) command.
+The `4D.WebFormItem` class allows you to handle the behavior of your Qodly webform components.
-The `WebFormItem` class is detailed in the [Qodly documentation](https://developer.qodly.com/docs/language/WebFormItemClass).
+`4D.WebFormItem` objects are properties of the [`4D.WebForm`](WebFormClass.md) object returned by the [`Web Form`](../commands/web-form.md) command.
+
+When you call the [`Web Form`](../commands/web-form.md) command, the returned `4D.WebForm` proxy object holds as many `4D.WebFormItems` as there are components with [**server-side references**](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/pageLoaderOverview#server-side) in your webform.
+
+For example, `WebFormObject.myImage` refers to the image component with `myImage` as server reference.
History
@@ -27,31 +31,28 @@ The `WebFormItem` class is detailed in the [Qodly documentation](https://develop
|[](#show)
|
-### .hide()
-**.hide**()
+### .addCSSClass()
-
+**.addCSSClass**(*className* : string)
+
+
|Parameter|Type||Description|
|---------|--- |:---:|------|
-||||Does not require any parameters|
+|className|string|->|Name of the CSS class to add to the component|
-
#### Description
-The `.hide()` function hides the component.
-
-
-For more information, please refer to the [`.hide()` description in the Qodly documentation](https://developer.qodly.com/docs/language/WebFormItemClass#hide).
+The `.addCSSClass` function adds the class specified in *className* to the component.
-### .show()
-**.show**()
+### .hide()
+**.hide**()
-
+
|Parameter|Type||Description|
|---------|--- |:---:|------|
||||Does not require any parameters|
@@ -60,44 +61,68 @@ For more information, please refer to the [`.hide()` description in the Qodly do
#### Description
-The `.show()` function makes the component visible.
+The `.hide()` function hides the component.
-For more information, please refer to the [`.show()` description in the Qodly documentation](https://developer.qodly.com/docs/language/WebFormItemClass#show).
+#### Example
+To call a function that hides an image when the user clicks a button:
-### .addCSSClass()
+1. Create an [exposed](../ORDA/ordaClasses.md#exposed-vs-non-exposed-functions) function inside a shared singleton class named `isHidden` that contains the following code:
-**.addCSSClass**(*className* : string)
+```4d
-
+shared singleton Class constructor()
+exposed Function isHidden()
+ var myComponent : 4D.WebFormItem
+
+ myComponent:=Web Form.myImage
+ myComponent.hide() // Hide the component that has "myImage" as server reference
+```
+2. In Qodly Studio: Select the image component on the canvas, and enter a server-side reference in the Properties Panel > Server Side, for example "myImage".
+3. Select the Button component and add an `onclick` event to it.
+4. Attach the `isHidden` function to the event.
+
+
+
+### .removeCSSClass()
+
+
+**.removeCSSClass**(*className*: string)
+
+
|Parameter|Type||Description|
|---------|--- |:---:|------|
-|className|string|->|Name of the CSS class to add to the component|
+|className|string|->|Name of the CSS class to remove from the component|
#### Description
-The `.addCSSClass` function adds the class specified in *className* to the component.
+The `.removeCSSClass()` function removes the class specified in *className* from the component.
-For more information, please refer to the [`.addCSSClass` description in the Qodly documentation](https://developer.qodly.com/docs/language/WebFormItemClass#addcssclass).
-### .removeCSSClass()
+### .show()
+**.show**()
-**.removeCSSClass**(*className*: string)
-
+
|Parameter|Type||Description|
|---------|--- |:---:|------|
-|className|string|->|Name of the CSS class to remove from the component|
+||||Does not require any parameters|
+
#### Description
-The `.removeCSSClass()` function removes the class specified in *className* from the component.
+The `.show()` function makes the component visible.If the component was already visible, the function does nothing.
+
+
+## See also
-For more information, please refer to the [`.removeCSSClass()` description in the Qodly documentation](https://developer.qodly.com/docs/language/WebFormItemClass#removecssclass).
+[Web Form](../commands/web-form.md)
+[Web Event](../commands/web-event.md)
+[WebForm class](WebFormClass.md)
diff --git a/docs/Concepts/dt_number.md b/docs/Concepts/dt_number.md
index 0735ba7811d630..f2e98290af7122 100644
--- a/docs/Concepts/dt_number.md
+++ b/docs/Concepts/dt_number.md
@@ -49,7 +49,7 @@ Negative numbers are specified with the minus sign (-). For example:
|Subtraction |Number - Number |Number |3 – 2 |1|
|Multiplication |Number * Number |Number |5 * 2 |10|
|Division |Number / Number |Number |5 / 2 |2.5|
-|Longint division |Number \ Number |Number |5 \ 2 |2|
+|Integer division |Number \ Number |Number |5 \ 2 |2|
|Modulo |Number % Number |Number |5 % 2 |1|
|Exponentiation |Number ^ Number |Number |2 ^ 3| 8|
|Equality |Number = Number |Boolean |10 = 10 |True|
@@ -79,9 +79,9 @@ The modulo operator % returns significant values with numbers that are in the Lo
:::
-### Longint division
+### Integer division
-The longint division operator \ returns significant values with integer numbers only.
+The integer division operator divides one number by another and returns the whole number part of the result, discarding any remainder. `a\b` is equivalent to `Int(a/b)`. This operator returns significant values with integer numbers only.
### Real comparison
diff --git a/docs/Concepts/quick-tour.md b/docs/Concepts/quick-tour.md
index 7547dbfaeebd65..5cc1d247e13bb2 100644
--- a/docs/Concepts/quick-tour.md
+++ b/docs/Concepts/quick-tour.md
@@ -318,7 +318,7 @@ You refer to an expression by the data type it returns. There are several expres
|Col[5]|Collection element|A collection element is an expression that can be of any supported type|
|$entitySel[0]|Entity|A element of an ORDA entity selection is an expression of the entity type. This kind of expression is **non-assignable**|
-### Assignable vs non-assignable expressions
+### Assignable vs non-assignable expressions {#assignable-vs-non-assignable-expressions}
An expression can simply be a literal constant, such as the number 4 or the string "Hello", or a variable like `$myButton`. It can also use operators. For example, 4 + 2 is an expression that uses the addition operator to add two numbers together and return the result 6. In any cases, these expressions are **non-assignable**, which means that you cannot assign a value to them.
In 4D, expressions can be **assignable**. An expression is assignable when it can be used on the left side of an assignation. For example:
diff --git a/docs/Extensions/develop-components.md b/docs/Extensions/develop-components.md
index dc1d29ebfdb0ba..5c3c898ecc6110 100644
--- a/docs/Extensions/develop-components.md
+++ b/docs/Extensions/develop-components.md
@@ -116,6 +116,16 @@ Standard 4D IDE features are available for the component. You can execute the fo
- run methods,
- restore from trash or empty trash.
+
+### Search and replace
+
+You can use the [**Search and replace** features](../Project/search-replace.md) of the host project to search elements within the code or the forms of your editable components. The **Search in project** menu allows you to select one or all components as search target:
+
+
+
+
+
+
## Scope of language commands
Except for [Unusable commands](#unusable-commands), a component can use any command of the 4D language.
diff --git a/docs/FormEditor/forms.md b/docs/FormEditor/forms.md
index 1bb9f5f24bc3ac..7ffaca89c52ab0 100644
--- a/docs/FormEditor/forms.md
+++ b/docs/FormEditor/forms.md
@@ -116,9 +116,9 @@ Fluent UI support is currently in the Developer Preview phase. It should not be
:::
-:::info macOS
+:::info Availability
-This feature can only be used on Windows. On macOS, it is ignored.
+This feature can be used **in 4D projects on Windows**. It is not available on macOS or in binary 4D databases on Windows.
:::
diff --git a/docs/FormObjects/webArea_overview.md b/docs/FormObjects/webArea_overview.md
index b2a9370819a36f..aaa2f7f8cb3736 100644
--- a/docs/FormObjects/webArea_overview.md
+++ b/docs/FormObjects/webArea_overview.md
@@ -346,9 +346,11 @@ The default 4DCEFParameters.json file contains the following switches:
}
```
-### See also
+:::info Related blog post
-[Specify your own parameters to initialize the embedded web area (blog post)](https://blog.4d.com/specify-your-own-parameters-to-initialize-the-embedded-web-area)
+[Custom Parameters for Initializing Embedded Web Area](https://blog.4d.com/custom-parameters-for-initializing-embedded-web-area/)
+
+:::
diff --git a/docs/Notes/updates.md b/docs/Notes/updates.md
index b06a597a3b4f0e..d3d11c47db4e57 100644
--- a/docs/Notes/updates.md
+++ b/docs/Notes/updates.md
@@ -10,6 +10,10 @@ Read [**What’s new in 4D 21 R2**](https://blog.4d.com/en-whats-new-in-4d-21-r2
#### Highlights
- [Code Live Checker](../code-editor/write-class-method.md#warnings-and-errors) has been enhanced to provide greater precision in error detection (see [this blog post](https://blog.4d.com/better-error-handling-and-type-inference-for-4d-developers) for more information).
+- [4D Write Pro standard actions](../WritePro/user-legacy/standard-actions.md) that apply [lists](../WritePro/user-legacy/using-a-4d-write-pro-area.md#lists) now automatically adjust paragraph margins to keep markers positioned inside it.
+- Built-in support of `order by` in query strings for AI vector searches using [`query()`](../API/DataClassClass.md#query-by-vector-similarity) functions and the [REST API](../REST/$orderby.md).
+- 4D AIKit component: new [File API](../aikit/Classes/OpenAIFilesAPI.md) class to implement **file upload** features.
+- [**Find in Design**](../Project/search-replace.md#search-in-components) and [**Replace in contents**](../Project/search-replace.md#replace-in-contents) features can now support editable components.
- [**Fixed bug list**](https://bugs.4d.fr/fixedbugslist?version=21_R2): list of all bugs that have been fixed in 4D 21 R2.
diff --git a/docs/Project/project-method-properties.md b/docs/Project/project-method-properties.md
index 9ef8bcffb9516d..5451d96d494102 100644
--- a/docs/Project/project-method-properties.md
+++ b/docs/Project/project-method-properties.md
@@ -24,9 +24,9 @@ The new name must comply with 4D naming rules (see [Identifiers](../Concepts/ide
:::caution
-Changing the name of a method already used in the database can invalidate any methods or formulas that use the old method name and runs the risk of disrupting application functioning. You can rename the method manually but it is strongly recommended to use the renaming function for project methods, described in [Renaming](https://doc.4d.com/4Dv20/4D/20.2/Renaming.300-6750165.en.html). With this function, you can automatically update the name wherever the method is called throughout the Design environment.
+Changing the name of a method already used in the project can invalidate any methods or formulas that use the old method name and runs the risk of disrupting application functioning. It is strongly recommended to use the [renaming function for project methods](../Project/search-replace.md#renaming-project-methods-and-variables). With this function, you can automatically update the name wherever the method is called throughout the Design environment.
-With 4D Server, the method name is changed on the server when you finish editing it. If more than one user is modifying the method name at the same time, the final method name will be the name specified by the last user to finish editing it. You may want to specify a method owner so that only certain users can change the method's name
+With 4D Server, the method name is changed on the server when you finish editing it. If more than one user is modifying the method name at the same time, the final method name will be the name specified by the last user to finish editing it. You may want to specify a method owner so that only certain users can change the method's name.
:::
@@ -105,7 +105,7 @@ For more information, refer to [4D SQL engine implementation](https://doc.4d.com
*This option is deprecated. Calling code through REST calls is only supported with [ORDA data model class functions](../REST/ClassFunctions.md).*
-### Batch setting for method attributes
+## Batch setting for method attributes
Using the "Attributes for methods" dialog box, you can modify an attribute (Invisible, Offered as a Web Service, etc.) for all or part of the database project methods in a single operation. This feature is especially useful for modifying the attributes of a large number of project methods. It can also be used during development to apply common attributes to groups of similar methods quickly.
diff --git a/docs/Project/search-replace.md b/docs/Project/search-replace.md
new file mode 100644
index 00000000000000..39ed2c07a896e2
--- /dev/null
+++ b/docs/Project/search-replace.md
@@ -0,0 +1,297 @@
+---
+id: search-replace
+title: Search and Replace
+---
+
+4D provides several search and replace functions for elements in all of the Design environment.
+
+- You can search for a string or a type of object (variable, comment, expression, etc.) in part of or in the entire project on the basis of custom criteria ("starts with", "contains", etc.). You can, for example, search for all the variables containing the string "MyVar", only in methods whose name begins with "HR_".
+- The results are displayed in a results window, where it is possible to perform replacements in the contents. You can also export these results in a text file that can be imported into a spreadsheet.
+- You can detect variables and methods that are not used in your code and then remove them to free up memory.
+- You can rename a project method or a variable throughout the Design environment in a single operation.
+
+:::note
+
+There are also functions for searching among the methods of your project in the context menu of the Methods Page in the Explorer: **Search Callers** (aussi available in the [Code editor](../code-editor/write-class-method.md#search-callers) and **Search Dependencies**. Both functions display the items found in a [Results window](#results-window).
+
+:::
+
+
+## Search Location
+
+When you search the Design environment, the following elements are searched:
+
+- Names of project methods and classes
+- Contents of all methods and classes
+- Names of tables, fields and forms
+- Contents of forms:
+ - object names and titles
+ - names of help tips, pictures, variables, style sheets,
+ - formatting strings
+ - expressions
+- Menus (names and items) and commands associated with menu items
+- Choice lists (names and items)
+- Help tips (names and content)
+- Formats / filters (names and content)
+- Comments in the Explorer and in the code
+
+
+## Find in Design
+
+### Starting a search
+
+Specify your search criteria in the "Find in design" window:
+
+1. Click on the Search button () in the 4D toolbar.
+OR
+ Select the **Find in Design...** command from the **Edit** menu.
+
+The "Find in design" window appears:
+
+
+
+The areas of the "Find in design" vary dynamically depending on the selections made in the menus. You can expand this window so that all options are visible:
+
+
+
+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).
+
+4. Click **OK** or press the **Enter** key.
+When the search is finished, the [Results window](#results-window) appears, listing the elements found.
+
+:::note
+
+You can cancel an extensive search that is underway using the **x** button; this does not close the window or remove any results that were found.
+
+:::
+
+Once you have executed a search, the value entered in the search area is saved in memory. This value, as well as all the other values entered during the same session, can be selected from the combo box.
+
+
+### Find
+
+You specify the type of element to look for using the **Find** menu. The following choices are available:
+
+- **Text**: In this case, 4D looks for a character string throughout the Design environment. The search is done in plain text mode, without taking the context into account. For example, you can look for the text "ALERT("Error number:"+" or "button27". In this mode, you cannot use the wildcard character because "@" is considered to be a standard character.
+- **Comment**: This search is basically the same as the previous one, but it is restricted to the contents of comments (lines beginning with //) in the code and in the Explorer window. For example, you can search for any comments containing the string "To be verified".
+
+:::note
+
+The end result of both types of searches depends on the [search mode](#search-mode) selected.
+
+:::
+
+- **Language expression**: Used to search for any valid 4D expression; the search is performed in the "contains" search mode. Validity is important because 4D must be able to evaluate an expression to be able to search for it. For example, a search for "[clients" (invalid expression) will not return any result whereas "[clients]" is correct. This option is particularly suitable for searches for value assignments and comparisons. For example:
+ - Search for "myvar:=" (assignment)
+ - Search for "myvar=" (comparison)
+- **Language element**: Used to search for a specific language element by its name. 4D can distinguish between the following elements:
+ - **Any language element**: Any element from the list below.
+ - **Project method or Class**: Name of a project method or class, for example "M_Add" or "EmployeeEntity".
+ - **Form:** Form name, for example "Input". The command searches among project forms and table forms.
+ - **Field or Table**: Name of a table or field, for example "Customers".
+ - **Variable**: Any variable name, such as "$myvar".
+ **4D constant**: Any constant, such as "Is Picture".
+ **String in quotes**: Literal text constant; i.e. any value within quotes in the code editor or inserted into text areas of the Form editor (static text or group boxes). For example, a search for "Martin" will return results if your code contains the line: `ds.Customer.query("name = :1"; "Martin")`
+ - **4D command**: Any 4D command, for example "Alert".
+ - **Plug-in command**: Plug-in command installed in the application.
+ - **Properties**: An object property name (includes ORDA attribute names). For example "lastname" will find "$o.lastname" and "ds.Employee.lastname".
+- **Any object**: This option searches among all the elements in the Design environment. Only the modification date filter is available. Use this option, for example, to search for "anything modified today".
+
+### Search mode
+
+The search mode menu (i.e. "which", "that is" or "whose name") specifies how to search for the value that is entered. The contents of this menu vary according to the type of element to search for as selected in the **Find** dropdown list.
+
+- Search options for Text or Comment:
+ - **contains**: Searches all text in the Design environment for the specified string. Search results for "var" can include "myvar", "variable1" or "aVariable".
+ - **contains whole word**: Searches all text of the Design environment for the string as a whole word. Search results for "var" only include exact occurrences. They will not include "myvar" but will include, for example, "var:=10" or "ID+var" because the symbols : or + are word separators.
+ - **begins with / ends with**: Searches for the string at the beginning or end of the word (text search) or at the beginning or end of the comment line (comment search). In "Text ends with" mode, searching for "var" will find "myvar".
+- Search options for Language element: The menu offers standard options (matches, contains, begins with, ends with). Note that you can use the search wildcard (@) with the matches option (returns all objects of the type specified).
+
+### Search in components
+
+When your current project references [editable components](../Extensions/develop-components.md#editing-components), you can designate one or all your components as a target for the search. By default, a search is executed in the host only. To modify the target for a search, deploy the **in the project** menu:
+
+
+
+You can select as target:
+
+- the **host project** (default option, top of the list): the search will only be executed within the host project code and forms, excluding components.
+- the **host project and all its components**: the search will be executed in the host project and in all its loaded components.
+- a **specific component**, among the list of all searchable components: the search will be restricted to this component only, excluding the host and other components.
+
+:::note
+
+When no searchable component is found, no menu is available.
+
+:::
+
+
+The **in the folder** menu (see below) is updated when you select a project since the availability of folders depends on the selected search target(s). The menu is hidden when you select the "host project and all its components" option.
+
+
+### Folder
+
+The **in the folder** menu restricts the search to a specific folder of the project. By default ("Top Level" option), the search takes place in all the folders.
+
+:::note
+
+Folders are defined on the Home Page of the Explorer.
+
+:::
+
+### Modification date of the parent
+
+This menu restricts the search with respect to the creation/modification date of its parent (for example, the method containing the string being searched for). In addition to standard date criteria (is, is before, is after, is not), this menu also contains several options to let you quickly specify a standard search period:
+
+- **is today**: Period beginning at midnight (00:00 h) of the current day.
+- **is since yesterday**: Period including the current day and the previous one.
+- **is this week**: Period beginning on Monday of the current week.
+- **is this month**: Period beginning on the 1st day of the current month.
+
+### Searching options
+
+You can select options that can help speed up your searches:
+
+- **Search in forms**: When this option is deselected, the search is done throughout the project, except in forms.
+- **Search in methods**: When this option is deselected, the search is done throughout the project, except in methods.
+- **Case Sensitive**: When this option is selected, the search uses the case of the characters as they have been entered in the Find area.
+
+
+
+## Results window
+
+The Results window lists all elements found that match the search criteria set using different types of searches:
+
+- [standard search](#starting-a-search)
+- [search for unused elements](#find-unused-methods-and-global-variables)
+- [search for callers](../code-editor/write-class-method.md#search-callers)
+- search for dependencies
+- [renaming of project methods and variables](#renaming-project-methods-and-variables)
+
+It shows the results as a hierarchical list organized by type of elements found. You can expand or collapse all the hierarchical items in the list using the options menu (found at the bottom left of the window) or in the context menu.
+
+
+
+You can double-click on a line in this window to view the element in its editor, such as the [code editor](../code-editor/write-class-method.md). If you do several searches, each search opens its own result window, leaving previous result windows open.
+
+When more than one occurrence has been found, the list indicates their **count** next to the element name.
+
+Each line can display a tip that provides additional information, for example the element property that matches the criteria, or the number of the form page that contains the occurrence.
+
+When an element found belongs to a component, the **component name** is displayed in parenthesis at the right side of the element name:
+
+
+
+Once a search is completed, you can use the  button to perform the search again with the same criteria and options.
+
+
+### Options menu
+
+You can perform various actions using the options menu:
+
+
+
+
+- **Remove from list**: removes selected item(s) from the results window. More specifically, this lets you keep only items targeted by a replacement operation in the contents or used for drag and drop between applications.
+- **Remove all items from list except selection**: clears everything from the results window except for the selected item(s).
+- [**Replace in content**](#replace-in-contents): replaces a character string within the selected item(s).
+- **Select >**: selects one type of item (project methods, object names, and so on) from among all the items found in the Results window. The hierarchical sub-menu also provides commands to select (All) or deselect (None) all the items at once.
+- **Collapse all/Expand all**: expands or collapses all the hierarchical items in the list of results.
+- **Export Results**: exports information about the search criteria and elements listed in the Results window. This text file can then be imported into a spreadsheet such as Excel, for example. For each item, the following information is exported as tab-separated values in a text file:
+ - Host project or component name
+ - Type (method, Class, formObject, trigger...)
+ - Path
+ - Property (if accurate): provides the property of the object that matches the criteria. For example, a string could be found in a variable name (variable property) and an object name (name property) within in the same form. This field is empty when the matching element is the object itself.
+ - Contents (if accurate): provides the contents that actually matches the criteria; for example, the code line that contains the requested string.
+ - Line number (for code) or page number (for form objects)
+
+
+
+## Replace in content
+
+The Replace in content function allows you to replace one character string with another within the listed objects in the Results window. It is available in the [options menu](#options-menu) of the window.
+
+:::note
+
+The **Replace in content** menu item is disabled if you work in a read-only database (e.g. in a .4dz file).
+
+:::
+
+When you select this command, a dialog box appears where you enter the character string that will replace all the occurrences found by the initial search:
+
+
+
+
+Replacing operations work as follows:
+
+- Replacing is always carried out among all items found in the list and not just for a selection. However, it is possible to narrow the replacing operation by first reducing the contents of the list using the **Remove from list** or **Remove all items from list except selection** commands in the [options menu](#options-menu) or the contextual menu.
+- If the Results window includes elements from components, the replacing will be done in the component(s) also.
+- Only the occurrences shown in the list will be replaced and only after checking the initial search criteria for cases where objects were modified between the initial search and the replacing operation.
+- Replacing is done in the code, properties of form objects, contents of help messages, entry filters, menu items (item text and method calls), choice lists, comments.
+- For each object modified, 4D checks whether it is already loaded by another machine or in another window. In the case of conflict, a standard dialog box appears indicating that the object is locked. You can close the object and then try again or cancel its replacement. The replacing operation will then continue with the other objects in the list.
+- If a method or form concerned by a "replace in content" operation is currently being edited by the same 4D application, it will be modified directly in the open editor (no warning appears). Forms and methods modified in this way are not saved automatically: you will need to use the **Save** or **Save All** command explicitly to validate the changes.
+- After a replacement is made in a list item, it will appear in italics. A count of replacements made in real time appears at the bottom of the window.
+- Elements are never renamed themselves by the **Replace in content** feature, except for form objects. Hence it is possible that certain items in the list may not be affected by the replacing operation. This can occur when only the item name corresponds to the initial search criteria. In this case, the list items do not necessarily all appear in italics and the final replacement count may be less than the number of occurrences found by the initial search.
+
+
+## Renaming project methods and variables {#renaming-project-methods-and-variables}
+
+4D provides a dedicated renaming function with distribution throughout the entire project for project methods and variables.
+
+The **Rename...** command is available from the [Code editor] (for project methods and variables) and the Explorer context menu (for project methods).
+
+
+
+When you select this command, a dialog box appears where you enter the new name for the object:
+
+
+
+The new name must comply with [naming rules](../Concepts/identifiers.md); otherwise a warning appears when you validate the dialog box. For example, you cannot rename a method with a command name such as "Alert".
+
+Depending on the type of object you are renaming (project method or variable), the renaming dialog box may also contain a distribution option:
+
+- Project method: The **Update callers in whole database** option renames the method in all the project code that references it. You can also uncheck this option in order, for example, to rename the method only in the Explorer itself.
+- Process variable: The **Rename variable in whole database** option renames the variable in all the project code that references it. If you uncheck this option, the variable is only renamed in the current method.
+- Local variable: No distribution option for this object; the variable is only renamed in the current method or class.
+
+
+
+
+## Searching for unused elements
+
+Two specific search commands allow you to detect variables and methods that are not used in the code of your host project. You can then remove them to free up memory. These commands are found in the **Edit** menu of the Design environment.
+
+### Find Unused Methods and Global Variables
+
+This command looks for project methods as well as "global" variables (process and interprocess variables) that are declared but not used. The search results appear in a standard [Results window](#results-window).
+
+A project method is considered to be unused when:
+- it is not in the Trash,
+- it is not called anywhere in the 4D code,
+- it is not called by a menu command,
+- it is not called as a string constant in the 4D code (4D detects a method name in a string even when it is followed by parameters in parentheses).
+
+A process or interprocess variable is considered to be unused when:
+- it is [declared](../Concepts/variables.md#declaring-variables) in the 4D code,
+- it is not used anywhere else in the 4D code,
+- it is not used in any form object.
+
+Note that certain uses cannot be detected by the function - i.e. an element considered unused may in fact be used. This is the case in the following code:
+
+```4d
+var v : Text :="method"
+EXECUTE FORMULA("my"+v+String(42))
+```
+
+This code builds a method name. The *mymethod42* project method is considered unused when in fact it is called. Therefore, it is advisable to check that the elements declared as unused are in fact unnecessary before you remove them.
+
+### Find Unused Local Variables
+
+This command looks for local variables that are declared but not used. The search results appear in a standard [Results window](#results-window).
+
+A local variable is considered to be unused when:
+
+- it is [declared](../Concepts/variables.md#declaring-variables) in the 4D code,
+- it is not used anywhere else within the same method.
diff --git a/docs/REST/$filter.md b/docs/REST/$filter.md
index 50623cde869c9e..ed68fa8afb3d8f 100644
--- a/docs/REST/$filter.md
+++ b/docs/REST/$filter.md
@@ -5,7 +5,7 @@ title: $filter
-Allows to query the data in a dataclass or method *(e.g.*, `$filter="firstName!='' AND salary>30000"`)
+Allows to query the data in a dataclass or method (*e.g.*, `$filter="firstName!='' AND salary>30000"`)
## Description
@@ -105,7 +105,7 @@ The *vectorComparison* parameter is a collection of the following elements:
|[].metric|Text|Optional. [Vector computation](../API/VectorClass.md#understanding-the-different-vector-computations) to use for the query. Supported values:"cosine" (default if omitted): calculates the cosine similarity between vectors."dot": calculates the dot similarity of vectors."euclidean": calculates the Euclidean distance between vectors.|
|[].threshold|Real|Optional (default: 0.5). A threshold value used to filter vector comparisons based on their cosine, dot or euclidean similarity score according to the selected "metric". It is highly recommended to choose a similarity that best fits your specific use case for optimal results.|
-Only a subset of **comparator** symbols are supported with vector comparisons. Note that they compare results to the threshold value:
+Only a subset of **comparator** symbols is supported with vector comparisons. Note that they compare results to the threshold value:
|Comparator| Symbol(s)| Comment|
|---|---|---|
diff --git a/docs/REST/$orderby.md b/docs/REST/$orderby.md
index c3fd5e4e01317e..4e035a519a155a 100644
--- a/docs/REST/$orderby.md
+++ b/docs/REST/$orderby.md
@@ -11,7 +11,7 @@ Sorts the data returned by the attribute and sorting order defined (*e.g.*, `$or
`$orderby` orders the entities returned by the REST request. For each attribute, you specify the order as `ASC` (or `asc`) for ascending order and `DESC` (`desc`) for descending order. By default, the data is sorted in ascending order. If you want to specify multiple attributes, you can delimit them with a comma, *e.g.*, `$orderby="lastName desc, firstName asc"`.
-## Example
+## Example 1
In this example, we retrieve entities and sort them at the same time:
@@ -49,3 +49,10 @@ The example below sorts the entity set by lastName attribute in ascending order:
}
```
+## Example 2
+
+`$orderby` statement is supported in [vector similarity filters](./$filter.md#vector-similarity):
+
+```
+GET /rest/Person?$filter="Vector>=:1"&$params=[{"vector":[1,2,3],"metric":"cosine","threshold":0.95}]&$orderby="Vector desc"
+```
\ No newline at end of file
diff --git a/docs/REST/authUsers.md b/docs/REST/authUsers.md
index f6672f41684be4..2a1befa8b3a399 100644
--- a/docs/REST/authUsers.md
+++ b/docs/REST/authUsers.md
@@ -21,7 +21,7 @@ A session is opened after the user was successfully logged (see below).
:::note Compatibility
-The legacy login mode based upon the `On REST Authentication` database method is **deprecated** as of 4D 20 R6. It is now recommended to [use the **force login mode**](../ORDA/privileges.md#rolesjson-file) (automatically enabled in new projects) and to implement the [`ds.authentify()` function](#function-authentify). In converted projects, [a button in the Settings dialog box](../settings/web.md#activate-rest-authentication-through-dsauthentify-function) will help you upgrade your configuration. In Qodly Studio for 4D, the mode can be set using the [**Force login** option](../WebServer/qodly-studio.md#force-login) in the Privileges panel.
+The legacy login mode based upon the `On REST Authentication` database method is **deprecated** as of 4D 20 R6. It is now recommended to [use the **force login mode**](../ORDA/privileges.md#rolesjson-file) (automatically enabled in new projects) and to implement the [`ds.authentify()` function](#function-authentify). In converted projects, [a button in the Settings dialog box](../settings/web.md#activate-rest-authentication-through-dsauthentify-function) will help you upgrade your configuration. In Qodly Studio for 4D, the mode can be set using the [**Force login** option](https://developer.4d.com/qodly/4DQodlyPro/force-login) in the Privileges panel.
:::
diff --git a/docs/WebServer/from-qodlyscript-to-4d.md b/docs/WebServer/from-qodlyscript-to-4d.md
deleted file mode 100644
index 471949cddac312..00000000000000
--- a/docs/WebServer/from-qodlyscript-to-4d.md
+++ /dev/null
@@ -1,78 +0,0 @@
----
-id: from-qodlyscript-to-4d
-title: From QodlyScript to 4D Language
----
-
-4D developers use the [Qodly Studio documentation](https://developer.qodly.com/docs/studio/overview) to learn how to design their Qodly forms in Qodly Studio.
-
-Code examples are provided in [QodlyScript](https://developer.qodly.com/docs/category/qodlyscript), but since QodlyScript inherits from the 4D Language, you won't be lost. Converting QodlyScript code to 4D language is easy, it only requires some adaptations.
-
-## Variable names
-
-QodlyScript only support local variables, so variables in QodlyScript examples are not prefixed with `$`. In the 4D code, make sure to **prefix variable names with `$`** so that they are identifed as local variables by 4D.
-
-## Symbols and keywords
-
-Some basic symbols, operators, and keywords differ in QodlyScript and must be adapted to the 4D Language. They are listed below:
-
-|QodlyScript|4D Language|Comment|
-|---|---|---|
-|, |;|argument separator|
-|= |:=|assignment operator|
-|== |=|comparison operator|
-|declare|#Declare||
-|switch|Case of||
-|constructor|Class constructor||
-|extends|Class extends||
-|end|End for, End For each, End if, End case, End use, End while||
-|forEach|For each||
-|string|Text|var type|
-|number|Real|var type|
-
-Some other items have a different case (ex: `this` vs `This`) but can be pasted directly in 4D code.
-
-
-## Command and Constant names
-
-QodlyScript command and constant names are written in camel case without spaces. In addition, QodlyScript constant names start with a `k` letter. You might need to adapt these QodlyScript items to the 4D Language.
-
-- Usually, you will only have to simply convert names. For example, `newCollection` in QodlyScript is `New collection` in 4D Language.
-- However, some commands have been renamed for a better compliance, for example `atan` and `sqrt` are QodlyScript names for `Arctan` and `Square root` commands in 4D Language.
-
-
-### Example
-
-- QodlyScript code:
-
-```qs
- declare(entitySelection : 4D.EntitySelection)
- var dataClass : 4D.DataClass
- var entity, duplicate : 4D.Entity
- var status : object
- dataClass=entitySelection.getDataClass()
- forEach(entity,entitySelection)
- duplicate=dataClass.new()
- duplicate.fromObject(entity.toObject())
- duplicate[dataClass.getInfo().primaryKey]=null
- status=duplicate.save()
- end
-```
-
-
-
-- 4D Language equivalent code:
-
-```4d
- #DECLARE ( $entitySelection : 4D.EntitySelection )
- var $dataClass : 4D.DataClass
- var $entity; $duplicate : 4D.Entity
- var $status : Object
- $dataClass:=$entitySelection.getDataClass()
- For each($entity;$entitySelection)
- $duplicate:=$dataClass.new()
- $duplicate.fromObject($entity.toObject())
- $duplicate[$dataClass.getInfo().primaryKey]:=Null
- $status:=$duplicate.save()
- End for each
-
-```
diff --git a/docs/WebServer/qodly-studio.md b/docs/WebServer/qodly-studio.md
deleted file mode 100644
index 92713814a47185..00000000000000
--- a/docs/WebServer/qodly-studio.md
+++ /dev/null
@@ -1,400 +0,0 @@
----
-id: qodly-studio
-title: Qodly Studio for 4D
----
-
-**Qodly Studio** is an interface builder for web applications. It provides developers with a graphical page editor to design applications running in web browsers or smartphones. It supports natively the [ORDA objects](../ORDA/overview.md).
-
-You can use Qodly Studio directly from your **4D environment** to build modern and sophisticated interfaces that you can easily integrate to your existing 4D projects and deploy **on premise**.
-
-Qodly Studio can also be used in the [**Qodly Cloud platform**](https://qodly.com), dedicated to the development of web business applications.
-
-Qodly Studio proposes a full-featured web UI, allowing you to:
-
-- create Qodly pages by placing components on a canvas
-- map components to Qodly Sources
-- trigger 4D code by configuring events
-- and much more.
-
-
-## Configuration
-
-### Requirements
-
-#### Browser
-
-Qodly Studio supports the following web browsers:
-
-- Chrome
-- Edge
-- FireFox
-
-The recommended resolution is 1920x1080.
-
-#### 4D application
-
-- Development: 4D v20 R2 or higher
-- Deployment: 4D Server v20 R2 or higher
-- Qodly Studio only works with 4D projects (binary databases are not supported).
-- Web sessions (*aka* Scalable sessions) must [be enabled](sessions.md#enabling-web-sessions).
-- The 4D code called by Qodly forms must be [thread-safe](preemptiveWeb.md).
-
-
-### Enabling access to Qodly Studio
-
-By default, access to Qodly Studio is not granted.
-
-Qodly Studio is served by the [WebAdmin web server](../Admin/webAdmin.md) and displays data from 4D projects handled by the [4D web server](webServer.md).
-
-To enable access to Qodly Studio, you must explicitly allow it at two levels:
-
-* at 4D application level
-* at project level
-
-
-If one of the two levels (or both) are not enabled, access to Qodly Studio is denied (a 403 page is returned).
-
-#### At 4D level
-
-As a first security level, you need to [allow access to Qodly Studio on the WebAdmin web server](../Admin/webAdmin.md#enable-access-to-qodly-studio). This setting applies to the 4D application (4D or 4D Server) on the host machine. All projects opened with that 4D application take this setting into account.
-
-Keep this option unchecked if you want to make sure no access to Qodly Studio is allowed on the application. Check this option to make it possible to access Qodly Studio. However, you still need to enable it at every project level.
-
-Additionally, you can [configure the WebAdmin web server's HTTP/HTTPS port used](../Admin/webAdmin.md#accept-http-connections-on-localhost).
-
-:::note
-
-After any change to these settings, you must [restart the WebAdmin web server](../Admin/webAdmin.md#start-and-stop) for the new configuration to be effective.
-
-:::
-
-#### At project level
-
-After you have enabled access to Qodly Studio at the 4D level, you need to explicitly designate every project that can be accessed. The **Enable access to Qodly Studio** option must be enabled on the [Web Features page of the 4D application's Settings](../settings/web.md#enable-access-to-qodly-studio).
-
-Keep in mind that [user settings](../settings/overview.md) can be defined at several levels, and that priorities apply.
-
-
-### Activating authentication
-
-Authentication on the WebAdmin web server is granted using an access key. For more details, see [Access key](../Admin/webAdmin.md#access-key).
-
-
-### Development and deployment
-
-In accordance with the management of 4D projects, only the following usages are supported:
-
-- development with Qodly Studio must be done using **4D** (single-user).
-- deployment of 4D applications powered with Qodly pages must be done using **4D Server**.
-
-:::warning
-
-You can open Qodly Studio, [debug](#using-qodly-debugger-on-4d-server) and edit Qodly pages directly on a 4D Server machine when a project is running in interpreted mode. This feature is only provided for testing and debugging purposes, for example to evaluate the application flow with actual data, or in multi-user environment. It must NOT be considered as a regular way to develop applications since it does not provide any control over concurrent accesses.
-
-:::
-
-
-
-## Opening Qodly Studio
-
-The Qodly Studio page is available when the [WebAdmin web server is running](../Admin/webAdmin.md#start-and-stop) and authentication is activated (see above).
-
-There are two ways to access Qodly Studio:
-
-* by selecting the **Qodly Studio...** menu command from the **Design** menu (4D single-user) or the **Window** menu (4D Server).
-If the WebAdmin web server is already running, depending on its configuration, your default browser opens at `IPaddress:HTTPPort/studio` or `IPaddress:HTTPSPort/studio`. Otherwise, you will be prompted if you want to start the WebAdmin web server first.
-
-* on a browser, with the WebAdmin web server running (launched from 4D or 4D Server), enter the following address:
- `IPaddress:HTTPPort/studio`
-
- or:
-
- `IPaddress:HTTPSPort/studio`
-
- For example, after launching a local web server on port 7080, type this address in your browser:
-
- `localhost:7080/studio`
-
- You will then be prompted to enter the [access key](../Admin/webAdmin.md#access-key) to access Qodly Studio.
-
-
-
-## Developing with Qodly Studio
-
-### Documentation
-
-The Qodly Studio documentation is available on the [Qodly documentation website](https://developer.qodly.com/docs/studio/overview).
-
-You can rely on this documentation and its associated resources for developing web applications powered by Qodly pages. However, depending on implementation stage, 4D developers will either use Qodly Studio or 4D IDE (see [Feature comparison](#feature-comparison)).
-
-Code examples are provided in [QodlyScript](https://developer.qodly.com/docs/category/qodlyscript), but since QodlyScript inherits from the 4D Language, you won't be lost. For more information, see the [From QodlyScript to 4D Language](from-qodlyscript-to-4d.md) page.
-
-:::info
-
-There is no direct compatibility between apps implemented with 4D and apps implemented with Qodly.
-
-:::
-
-### Feature comparison
-
-||Qodly Studio in 4D|Qodly Studio in Qodly Cloud platform|
-|---|---|---|
-|View and edit tables (dataclasses), attributes and relations|4D Structure Editor(1)|Qodly Studio Model Editor|
-|Qodly pages|Qodly Studio Page Editor|Qodly Studio Page Editor|
-|Desktop forms|4D IDE|*not supported*|
-|Programming language|4D Language featuring ORDA|[QodlyScript](https://developer.qodly.com/docs/category/qodlyscript) featuring ORDA|
-|Coding IDE|4D IDE code editor *or* VS Code with [4D-Analyzer extension](https://github.com/4d/4D-Analyzer-VSCode)
*4D Server only*: Qodly Studio code editor (see (2))|Qodly Studio code editor|
-|Debugger|4D IDE debugger
*4D Server only*: Qodly Studio debugger (see [this paragraph](#using-qodly-debugger-on-4d-server))|Qodly Studio debugger|
-|REST/Web roles and privileges|roles.json direct edit/Qodly Studio roles and privileges editor|Qodly Studio role and privileges editor|
-
-(1) The **Model** item is disabled in Qodly Studio.
-(2) In 4D Server, opening 4D code with the Qodly Studio code editor is supported **for testing and debugging purposes** (see [this paragraph](#development-and-deployment)). Note that in 4D single-user, if you open some 4D code with the Qodly Studio code editor, syntax coloring is not available and a "Lsp not loaded" warning is displayed.
-
-
-### Language
-
-The following commands and classes are dedicated to the server-side management of Qodly pages:
-
-- [`Web Form`](../API/WebFormClass.md#web-form) command: returns the Qodly page as an object.
-- [`Web Event`](../API/WebFormClass.md#web-event) command: returns events triggered within Qodly page components.
-- [`WebForm`](../API/WebFormClass.md) class: functions and properties to manage the rendered Qodly page.
-- [`WebFormItem`](../API/WebFormItemClass.md) class: functions and properties to manage Qodly page components.
-
-
-### Using project methods
-
-We recommend using class functions over project methods. Only class functions can be called from components. However, you can still use your project methods in Qodly Studio in two ways:
-
-- You can call your methods from class functions.
-- You can directly [execute your methods](https://developer.qodly.com/docs/studio/coding#methods-and-classes) from the Qodly Explorer.
-
-
-### Offline use
-
-You can develop with Qodly Studio while your computer is not connected to the internet. In this case however, the following features are not available:
-
-- [Templates](https://developer.qodly.com/docs/studio/pageLoaders/templates): the Template library is empty
-- UI tips: they are not displayed when you click on  icons.
-
-
-
-
-## Deployment
-
-### Enabling rendering
-
-Qodly Studio encapsulates Qodly pages, including layout, data connections, and event-driven logic, in a structured JSON file. This JSON file is processed on-the-fly by the **Qodly renderer** to serve a fully functional web page.
-
-:::info
-
-See [this page](https://developer.qodly.com/docs/studio/rendering) for detailed information on how to render Qodly pages in Qodly.
-
-:::
-
-To enable the rendering of Qodly pages, the following options must be set.
-
-* The 4D project's **Settings** > **Web** > **Web Features** > [**Expose as REST server**](../settings/web.md#expose-as-rest-server) option must be activated.
-* The [4D web server](webServer.md) must be running.
-
-:::note
-
-[Renderer buttons](https://developer.qodly.com/docs/studio/rendering#how-to-render-a-webform) are not available if the configuration options are not activated.
-
-:::
-
-### Scope of Qodly forms
-
-When rendering Qodly forms in the Qodly Studio, the renderer will connect to the 4D web server through HTTP or HTTPS, depending on the settings, following the same HTTP/HTTPS connection pattern as for the [4D WebAdmin web server](../Admin/webAdmin.md#accept-http-connections-on-localhost). See also [this paragraph](#about-license-usage-for-rendering) about URL schemes and license usage.
-
-
-Keep in mind that Qodly Studio runs through the 4D WebAdmin web server. When you use Qodly Studio as a developer, even when you preview a Qodly Page in the studio, you're using the 4D WebAdmin web server. This allows you to see dataclasses, functions and attributes that are not exposed as REST resources for example (they are greyed out).
-
-However, page rendering happens outside Qodly Studio, and is served by the standard 4D web server. In this situation, your web application cannot access assets that are not exposed as REST resources. See [Exposed vs non-exposed functions](../ORDA/ordaClasses.md#exposed-vs-non-exposed-functions) and [Exposing tables](../REST/configuration.md#exposing-tables) for more information on how to expose assets.
-
-
-
-
-### Accessing Qodly pages
-
-For deployment, the WebAdmin server is not necessary. End-user access to your web application made with Qodly Studio is based on the 4D REST protocol, and as such, it works as through a conventional 4D remote application.
-
-Your Qodly pages are available through the following url:
-
-```
-IP:port/$lib/renderer/?w=QodlyPageName
-```
-
-...where *IP:port* represents the address of the web server and *QodlyPageName* is the name of the Qodly page.
-
-For example:
-
-```
-https://www.myWebSite.com/$lib/renderer/?w=welcome
-```
-
-### Preview Qodly Application
-
-You can preview your Qodly application at any moment by selecting the **Preview Qodly Application...** command in the **Windows** menu (4D Server) or in the **Design** menu (4D single-user).
-
-This command launches the Qodly renderer on a local address in your default browser and displays the **start page** [defined in the Application settings](https://developer.qodly.com/docs/studio/settings#start-page) of Qodly Studio.
-
-
-
-
-### Using Qodly debugger on 4D Server
-
-When using Qodly pages in a deployed 4D Server application (interpreted mode), you might encounter some cases where you need to debug your pages on the server, for example when a specific user configuration is required. In this case, you can attach the [Qodly Studio debugger](https://developer.qodly.com/docs/studio/debugging) to the 4D Server and then, benefit from its features when executing your Qodly pages.
-
-Note that in this case, the Qodly Studio debugger will display all the code executed on the server, in accordance with the [attached debugger rule on 4D Server](../Debugging/debugging-remote.md#attached-debugger).
-
-To attach the Qodly Studio debugger to your running 4D Server application:
-
-1. [Open Qodly Studio](#opening-qodly-studio) from 4D Server.
-
-:::note
-
-The project must be running in interpreted mode so that **Qodly Studio** menu item is available.
-
-:::
-
-2. In the Qodly Studio toolbar, click on the **Debug** button.
-
-
-If the debug session starts successfully, a green bullet appears on the button label  and you can use the Qodly Studio debugger.
-
-If the debugger is already attached to a another machine or another Qodly Studio page, an error is displayed. You have to detach it beforehand from the other location.
-
-To detach the Qodly Studio debugger from your running 4D Server application:
-
-1. Click the **Debug** button in the Qodly Studio toolbar while a debug session is active.
-A warning dialog box will prompt you to confirm whether you want to detach the debugger.
-2. Select **Keep in progress** to continue evaluating the code until the end of the current method or function before detaching the debugger, or **Stop** to detach the debugger immediately.
-
-
-
-
-## Force login
-
-With Qodly Studio for 4D, the ["force login" mode](../REST/authUsers.md#force-login-mode) allows you to control the number of opened web sessions that require 4D Client licenses. You can also [logout](#logout) the user at any moment to decrement the number of retained licenses.
-
-### Configuration
-
-Make sure the ["force login" mode](../REST/authUsers.md#force-login-mode) is enabled for your 4D application in the [Roles and Privileges page](https://developer.qodly.com/docs/studio/roles/rolesPrivilegesOverview), using the **Force login** option:
-
-
-
-You can also set this option directly in the [**roles.json** file](../ORDA/privileges.md#rolesjson-file).
-
-You just need then to implemented the [`authentify()`](../REST/authUsers.md#function-authentify) function in the datastore class and call it from the Qodly page. A licence will be consumed only when the user is actually logged.
-
-
-:::note Compatibility
-
-When the legacy login mode ([deprecated as of 4D 20 R6](https://blog.4d.com/force-login-becomes-default-for-all-rest-auth)) is enabled, any REST request, including the rendering of an authentication Qodly page, creates a web session on the server and gets a 4D Client license, whatever the actual result of the authentication. For more information, refer to [this blog post](https://blog.4d.com/improved-4d-client-licenses-usage-with-qodly-studio-for-4d) that tells the full story.
-
-:::
-
-#### Example
-
-In a simple Qodly page with login/password inputs, a "Submit" button calls the following `authentify()` function we have implemented in the DataStore class:
-
-```4d
-
-exposed Function authentify($credentials : Object) : Text
-
-var $salesPersons : cs.SalesPersonsSelection
-var $sp : cs.SalesPersonsEntity
-
-$salesPersons:=ds.SalesPersons.query("identifier = :1"; $credentials.identifier)
-$sp:=$salesPersons.first()
-
-If ($sp#Null)
- If (Verify password hash($credentials.password; $sp.password))
-
- Session.clearPrivileges()
- Session.setPrivileges("") //guest session
-
- return "Authentication successful"
- Else
- return "Wrong password"
- End if
-Else
- return "Wrong user"
-End if
-```
-
-This call is accepted and as long as the authentication is not successful, `Session.setPrivileges()` is not called, thus no license is consumed. Once `Session.setPrivileges()` is called, a 4D client licence is used and any REST request is then accepted.
-
-
-
-### Logout
-
-When the ["force login" mode is enabled](#force-login), Qodly Studio for 4D allows you to implement a logout feature in your application.
-
-To logout the user, you just need to execute the **Logout** standard action from the Qodly page. In Qodly Studio, you can associate this standard action to a button for example:
-
-
-
-Triggering the logout action from a web user session has the following effects:
-
-- the current web user session loses its privileges, only [descriptive REST requests](../REST/authUsers.md#descriptive-rest-requests) are allowed,
-- the associated 4D license is released,
-- the `Session.storage` is kept until the web session inactivity timeout is reached (at least one hour). During this period after a logout, if the user logs in again, the same session is used and the `Session.storage` shared object is available with its current contents.
-
-
-
-
-## About license usage for rendering
-
-In default mode when any page is rendered, or in "force login" mode when a page handling data or calling a function is rendered, you must have an available license, as rendering Qodly forms targets the project database's main web server.
-
-### URL Schemes
-
-Qodly Studio's URL scheme configuration (HTTP and HTTPS) determines how many licenses are retained when rendering Qodly forms. With the appropriate configuration, you can avoid unnecessary license retaining.
-
-As explained in the [configuration](#configuration) section, the WebAdmin web server provides a secured web access to Qodly Studio. On the other hand, the [renderer](#enabling-rendering) communicates with the 4D web server of the database using REST requests. As such, it behaves like a conventional 4D Client.
-
-If you run the renderer from the Qodly Studio and these two web servers are not reached through the same URL scheme (HTTP or HTTPS), it might lead to wrong licence counting.
-
-:::info
-
-Using different schemes might also lead to [session](sessions.md) issues, such as losing [privileges](../ORDA/privileges.md) after a page refresh.
-
-:::
-
-#### Example
-
-1. You run the Qodly Studio on an HTTPS URL scheme (e.g. `https://127.0.0.1:7443/studio/`)
-
-2. The web server of your database is started only on an HTTP port.
-
-
-
-3. In Qodly Studio, you click on the **Preview** icon. You are warned that the two web servers are started on different schemes, but despite this you click on the **Confirm** button.
-
-
-
-As a result, two licenses are retained.
-
-:::note
-
-You can enable/disable the display of the renderer pop over using a Qodly Studio user setting.
-
-:::
-
-### SameSite attribute
-
-The behavior previously described is due to the session cookie of the 4D web server. This session cookie has a `SameSite` attribute that determines if the session cookie is sent to the web server.
-
-If the `SameSite` attribute's value is `Strict` (default), the session cookie is not sent to the web server, so a new session is opened each time a page is rendered or refreshed.
-
-For more information on the `SameSite` attribute, check out [this blog post](https://blog.4d.com/get-ready-for-the-new-SameSite-and-secure-attributes-for-cookies/).
-
-### Recommendations
-
-To avoid using more licenses than necessary, we recommend doing one of the following:
-
-- Run the renderer on another browser tab (by entering the rendered URL of your Qodly page: `IP:port/$lib/renderer/?w=QodlyPageName`).
-- Ensure the Qodly Studio and your database are reached on the same URL scheme.
-- Use the `Lax` value for the [session cookie](webServerConfig.md#session-cookie-samesite) of your project database's web server.
-
diff --git a/docs/WebServer/sessions.md b/docs/WebServer/sessions.md
index d0a2bd033577be..de6ef58170d98c 100644
--- a/docs/WebServer/sessions.md
+++ b/docs/WebServer/sessions.md
@@ -26,7 +26,7 @@ Web sessions are used for:
- calls to the [REST API](../REST/authUsers.md), which are used by [remote datastores](../ORDA/remoteDatastores.md) and [Qodly forms](qodly-studio.md).
-## Enabling web sessions
+## Enabling web sessions {#enabling-web-sessions}
The session management feature can be enabled and disabled on your 4D web server. There are different ways to enable session management:
@@ -209,7 +209,7 @@ Else
End if
```
-:::tips Related blog posts
+:::tip Related blog posts
[Scalable sessions for advanced web applications](https://blog.4d.com/scalable-sessions-for-advanced-web-applications/)
@@ -221,7 +221,7 @@ The 4D web server allows you to generate, share, and use OTP (One-Time Passcode)
In 4D, OTP session tokens are useful when calling external URLs and being called back in another browser or device (mobile/computer). Typically, a third-party application sends a confirmation email containing a callback link on which the user has to click. The callback link includes the OTP token, so that the session which triggered the callback is loaded along with its data and privileges. This principle allows you to share the same session on multiple devices. Thanks to this architecture, the [session cookie](#session-implementation) is not exposed on the network, which eliminates the risk of man-in-the-middle attack.
-:::tips Related blog posts
+:::tip Related blog posts
[Connect Your Web Apps to Third-Party Systems](https://blog.4d.com/connect-your-web-apps-to-third-party-systems/)
diff --git a/docs/WritePro/commands-legacy/4d-write-pro-attributes.md b/docs/WritePro/commands-legacy/4d-write-pro-attributes.md
index fe6664efef9eaf..abb0633d3615ab 100644
--- a/docs/WritePro/commands-legacy/4d-write-pro-attributes.md
+++ b/docs/WritePro/commands-legacy/4d-write-pro-attributes.md
@@ -251,7 +251,7 @@ Link attributes are used to set or get URLs added to ranges. They can be applied
### Lists
-4D Write Pro supports two main types of lists:
+4D Write Pro supports two main [types of lists](../user-legacy/using-a-4d-write-pro-area.md#lists):
* unordered lists: where list items are marked with bullets
* ordered lists: where list items are marked with numbers or letters
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 360595e057011e..873d5689a668b1 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
@@ -74,179 +74,3 @@ The page view mode can be configured by means of the area pop-up menu:
For areas embedded in 4D forms, the view mode can also be set by default using the Property List. In this case, the view mode is stored as a property of the 4D Write Pro form object (for more information, please refer to the *Configuring View properties* paragraph).
-
-
-## Standard actions
-
-The user interface of 4D Write Pro areas can be handled through a wide set of **standard actions**. Standard actions can be assigned to:
-
-* menu commands, available through the **menu bar** or the [Dynamic pop up menu](../../commands/dynamic-pop-up-menu) command
-* list items, available through pop-up/drop-down lists or hierarchical pop-up menus,
-* buttons, check boxes,
-* or executed by the [INVOKE ACTION](../../commands/invoke-action) command.
-
-When assigned to interface objects, standard actions handle the activation/disabling of the object depending on the context. For more information, please refer to the *Standard actions* section.
-
-Two kinds of actions are available for 4D Write Pro areas:
-
-* 4D Write Pro specific actions, that can be used only with 4D Write Pro areas,
-* [Other actions](#other-actions), including fonts, expressions, spell check, and editing actions, that can be used with 4D Write Pro areas and other 4D areas (see *Standard actions*).
-
-### 4D Write Pro actions
-
-The following standard actions are available with 4D Write Pro areas.
-
-**Notes:**
-
-* Actions that display an automatic menu/list can only be attached to menu commands, pop-up/drop-down lists or hierarchical pop-up menus objects (see *Submenu*).
-* Check boxes and 3D check boxes should be associated with status actions, such as "section/differentFirstPage" or "visibleHorizontalRuler". Three-states option is supported with standard check boxes only.
-* A section action status is always equal to the selected section actual status (inherited status if attribute is inherited from parent section or from default attribute) as it must reflect the selected section status (the status which is applied currently to the section). However, modifying a section attribute with a standard action will only override the selected section attribute.
-* *Submenu*: When used without any parameters and associated to a menu command, a pop-up/drop-down list or a hierarchical pop-up menu object, these actions display an automatic submenu/list. For example, if you assign the "backgroundColor" action to a menu command, selecting this menu command at runtime will display the Background color submenu items. If you assign the "zoom" action to a hierarchical pop-up menu, it will automatically contain a list of predefined zoom values. Note that these actions cannot be assigned to buttons.
-* *showDialog*: Adding the "/showDialog" string to the action name allows the display of the associated standard dialog box for the action. For example, you can use "paragraph/styleSheet/showDialog" to open the input dialog allowing the entry of a new stylesheet name.
-
-| Action name | Pattern | Available with | Description |
-|---|---|---|---|
-| anchorHorizontalAlign | {image \| textBox}/anchorHorizontalAlign?value={left \| center \| right} | Image, Textbox, Submenu | Defines the horizontal alignment of the element, relative to the anchorOrigin for images/text boxes in page, or to the layout box for images/text box in embedded mode. This action will reset the horizontal offset to 0. (not enabled for inline images). |
-| anchoring | {image \| textBox}/anchoring | Submenu | Default submenu with anchor settings actions for images or text boxes |
-| anchorLayout | image/anchorLayout?value={front \| behind \| wrapTopBottom \| wrapSquareLeft \| wrapSquareRight \| wrapSquareLargest \| wrapSquare \| inline}
textBox/anchorLayout?value={front \| behind \| wrapTopBottom \| wrapSquareLeft \| wrapSquareRight \| wrapSquareLargest \| wrapSquare} | Image, Textbox, Submenu | Defines the anchor layout type for an image or a text box. Can be used to transform an inline image to an anchored image, or the reverse. Note: If an image is moved from an anchored mode to inline, the image is inserted at the beginning of the current selected text. "inline" value is not supported for text boxes |
-| anchorOrigin | {image \| textBox}/anchorOrigin?value={paper-box \| header-box \| footer-box} | Image, TextBox, Submenu | Defines the area relative to the absolute position of an anchored image or text box. If the element is relative to the header-box/footer-box which is not visible on a page, the element is not displayed. This action will reset horizontal and vertical offsets to 0. Page mode only, not enabled for inline images. |
-| anchorPage | {image \| textBox}/anchorPage?value={all \| current \| currentSubSection} | Image, TextBox, Submenu | Defines the page(s) where the selected image or text box is displayed (not enabled for inline images). Page mode only. |
-| anchorSection | {image \| textBox}/anchorSection?value={all \| current} | Image, TextBox, Submenu | Defines the section(s) where the selected image or text box is displayed. (not enabled for inline images). Page mode only. |
-| anchorVerticalAlign | {image \| textBox}/anchorVerticalAlign?value={top \| center \| bottom} | Image, TextBox Submenu | Defines the vertical alignment of the image or text box, relative to the anchorOrgin for an image or text box in page, or to the layout box for an image or text box in embedded mode. This action will reset the vertical offset to 0 (not enabled for inline images). Note: See "verticalAlign" action for the vertical alignment inside the text box |
-| avoidPageBreakInside | {paragraph/}avoidPageBreakInside | Paragraph | |
-| background | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}background | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu | For menu commands only. Default submenu for all background attributes. |
-| backgroundClip | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}backgroundClip?value={paper-box \| border-box \| padding-box \| content-box} | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu | Changes target background clipping box (default target is paragraph). Paper-box targets document and section only. |
-| backgroundColor | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}backgroundColor?value={ \| transparent} | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu, showDialog | Changes target background. |
-| backgroundDisplayMode | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}backgroundDisplayMode?value=scaledToFit \| truncated \| truncatedCentered \| proportional \| proportionalCentered \| replicated \| replicatedCentered | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu | Sets the display mode of images used as background. |
-| backgroundImage | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}backgroundImage?value=none | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu, showDialog | Clears target background image. (default target is paragraph) |
-| backgroundOrigin | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}backgroundOrigin?value={paper-box \| border-box \| padding-box \| content-box} | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu | Changes target background image origin box (default target is paragraph). Paper-box targets document and section only. |
-| backgroundPositionH | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}backgroundPositionH?value={left \| right \| center} | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu | Changes target background image horizontal alignment (default target is paragraph). Ex: paragraph/backgroundPositionH?value=left |
-| backgroundPositionV | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}backgroundPositionV?value={top \| bottom \| center} | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu | Changes target background image vertical alignment (default target is paragraph). Ex: paragraph/backgroundPositionV?value=top |
-| backgroundRepeat | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}backgroundRepeat?value={no-repeat \| repeat \| repeat-x \| repeat-y} | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu | Changes target background image repeat mode. (default target is paragraph) |
-| backgroundSizeH | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}backgroundSizeH?value={ \| \| auto \| cover \| contain} | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu | Changes target background image width (default target is paragraph). Ex: paragraph/backgroundSizeH?value=100%. section/backgroundSizeH?value=cover |
-| backgroundSizeV | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell}/backgroundSizeV?value={ \| \| auto} | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu | Changes target background image height (default target is paragraph). Ex: paragraph/backgroundSizeV?value=50%. Ex: section/backgroundSizeV?value=40pt |
-| bookmark | bookmark?index= | Submenu | Selects the Nth bookmark. Ex: bookmark?index=2 // selects the second bookmark |
-| borderCollapse | borderCollapse | Paragraph | Collapses selected paragraph borders and interior margins. |
-| borderColor | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}{inside \| outside/}{borderColor \| borderColorLeft \| borderColorRight \| borderColorTop \| borderColorBottom \| borderColorLeftRight \| borderColorTopBottom}?value= | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu, showDialog | Changes target border color (default target is paragraph). Ex: paragraph/borderColorLeft?value=green |
-| borderRadius | {doc \| paragraph \| image \| textBox \| section \| header \| footer/}borderRadius?value= | Document, Paragraph, Image, TextBox, Section, Header, Footer, Submenu | Changes target border radius (default target is paragraph). Ex: paragraph/borderRadius?value=4pt |
-| borders | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}{inside \| outside/}borders | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu | Default submenu for target borders. |
-| borderStyle | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}{inside \| outside/}{borderStyle \| borderStyleLeft \| borderStyleRight \| borderStyleTop \| borderStyleBottom \| borderStyleLeftRight \| borderStyleTopBottom}?value={none \| hidden \| dotted \| dashed \| solid \| double \| groove \| ridge \| inset \| outset} | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu | Changes target border style (default target is paragraph). Ex: paragraph/borderStyleLeft?value=double. Ex: outside/borderStyle?value=solid //set selected paragraphs exterior borders to style solid. Ex: inside/borderStyle?value=none //remove selected paragraphs interior borders |
-| borderWidth | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}{inside \| outside/}{borderWidth \| borderWidthLeft \| borderWidthRight \| borderWidthTop \| borderWidthBottom \| borderWidthLeftRight \| borderWidthTopBottom}?value= | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu | Changes target border width (default target is paragraph). Ex: paragraph/borderWidthLeft?value=4pt |
-| columnCount | {section/}columnCount?value={1<=number<=20} | Document, Section, Submenu | Number of columns in the current document and/or section. (default target is doc) Ex: section/columnCount?value=3 |
-| columnRuleColor | {section/}columnRuleColor?value={CSS color} | Document, Section, Submenu, showDialog | Color for the decorative line between document or section columns. Ex: columnRuleColor?value="#FFFFFF" |
-| columnRuleStyle | {section/}columnRuleStyle?value={none \| dotted \| dashed \| solid \| double \| groove \| ridge \| inset \| outset} | Document, Section, Submenu | Style for the decorative line between document or section columns. Ex: columnRuleStyle?value="solid" |
-| columnRuleWidth | {section/}columnRuleWidth?value={CSS length} | Document, Section, Submenu | Width of the decorative line between document or section columns. Ex: columnRuleWidth?value="2pt" |
-| columns | {section/}columns | Document, Section, Submenu | Only for a menu item: creates automatically a complete Columns sub-menu with all column actions sub-menus (except insertColumnBreak) |
-| columnSpacing | {section/}columnSpacing?value={CSS length} | Document, Section, Submenu | Space between two columns in the current document and/or section. Ex: columnSpacing?value="1cm" |
-| deleteColumns | deleteColumns | Table | Deletes all selected columns. |
-| deleteRows | deleteRows | Table | Deletes all selected rows. |
-| deleteStyleSheet | {paragraph \| image/}deleteStyleSheet?index={1<= number <= number of target style sheets} | Paragraph, Image, Submenu | Removes the Nth stylesheet from the stored stylesheets for the selected target (default target is paragraph). Menu item name is replaced at runtime with style sheet name. |
-| direction | direction?value={ltr \| rtl} | Paragraph, Submenu | Paragraph direction. |
-| displayFormulaAsSymbol | displayFormulaAsSymbol | Document | Displays formula references as a # symbol. Can only be used when formulas are displayed as references. |
-| doc | doc | Document, Submenu | Default submenu for document body layout (embedded mode attributes or default attributes for sections – but for margin which is reserved for embedded mode only). |
-| dpi | Modifies the dpi of the current view (independent of the document attribute wk dpi used internally for pixel conversion <-> points). | Submenu | Change view dpi. Ex: dpi?value=72 |
-| emptyDatasource | {table}/emptyDatasource?value={showDataRow \| hideDataRow \| showPlaceholderRow \| hideTable } | Table, Submenu | Defines how the table is displayed when its datasource is empty. |
-| fontStyleWrite | fontStyleWrite | Submenu | For menu commands only. Displays default font styles submenu for 4D Write Pro. |
-| fontSubscript | fontSubscript | | Toggles subscript font attribute. |
-| fontSuperscript | fontSuperscript | | Toggles superscript font attribute. |
-| footer | footer | Submenu | Displays the Footer submenu. |
-| footer/remove | footer/remove | Footer | Removes the selected footer. |
-| formulaHighlight | formulaHighlight?value={values \| references \| always \| never} | Document, Submenu | Formula highlight mode for the document. Can be used with a dropdown menu or a button |
-| formulaHighlightColor | formulaHighlightColor?value= | Document, Submenu,showDialog | Formula highlight color for the document |
-| formulaHighlightReferences | formulaHighlightReferences | Document | Toggles formula references highlighting. Can be used with a check box or a menu item |
-| formulaHighlightValues | formulaHighlightValues | Document | Toggles formula values highlighting. Can be used with a check box or a menu item |
-| header | header | Submenu | Displays the Header submenu. |
-| header/remove | header/remove | Header | Removes the selected header. |
-| height | {image \| textBox \| row}/height?value={ \| auto} | Image, TextBox Row, Submenu | Target height. Ex: image/height?value=50pt. For image/width, see width. Ex: row/height?value=12pt |
-| headerRowCount | {table/}headerRowCount | Table, Submenu | Sets the number of header rows in a table. Maximum is 5. |
-| htmlWYSIWIGEnabled | htmlWYSIWIGEnabled | Document | Toggles between html wysiwyg mode. |
-| image | image | Image, Submenu | Displays image layout submenu. |
-| image/displayMode | image/displayMode?value=scaledToFit \| truncated \| truncatedCentered \| proportional \| proportionalCentered \| replicated \| replicatedCentered | Image, Submenu | Sets the display mode of anchored and inline images. Ex: image/displayMode?value=scaledToFit |
-| image/verticalAlign | image/verticalAlign?value={top \| middle \| bottom \| baseline \| super \| sub} | Image, Submenu | Image vertical alignment. Ex: image/verticalAlign?value=super |
-| insertColumnBreak | insertColumnBreak | Paragraph | Inserts a column break at the selection. |
-| insertColumnToTheLeft | insertColumnToTheLeft | Table | Inserts a column to the left of the first selected column(s). |
-| insertColumnToTheRight | insertColumnToTheRight | Table | Inserts a column to the right of the last selected column(s). |
-| insertContinuousSectionBreak | insertContinuousSectionBreak | Paragraph | Inserts a continuous section break at the selection. |
-| insertImage | insertImage | | Opens a picture selection dialog box and inserts the selected picture (if any) as a character in the area. |
-| insertPageBreak | insertPageBreak | Paragraph | Inserts a page break at the selection. |
-| insertRowAbove | insertRowAbove | Table | Inserts a row above the selected row(s). |
-| insertRowBelow | insertRowBelow | Table | Inserts a row below the selected row(s). |
-| insertSectionBreak | insertSectionBreak | Paragraph | Inserts a section break at the selection. |
-| insertSoftHyphen | insertSoftHyphen | | Inserts a soft hyphen at the cursor position. |
-| insertTextBox | insertTextBox | Document | Inserts a text box near the current selection, anchored to the first selected page (page mode). |
-| keepWithNext | keepWithNext | Paragraph | Links a paragraph with the next so that they cannot be separated by automatic page or column breaks. If applied to the last paragraph of the last cell in a table, the last row of the table is linked to the following paragraph. |
-| lineHeight | lineHeight?value={ \| } | Paragraph, Submenu | Paragraph line height. Ex: lineHeight?value=120% |
-| layer | {image \| textBox}/layer | Submenu | Default submenu with layering actions for images or text boxes |
-| listStartNumber | listStartNumber?value={ (longint) \| auto} | Paragraph, Submenu | List start number. Ex: listStartNumber?value=10 |
-| listStyleImage | listStyleImage/showDialog | Paragraph, showDialog | Opens a file dialog to choose a image to display as list style bullet; it will set also list style type to disc – style to be used if image is not found. |
-| listStyleType | listStyleType?value={none \| disc \| circle \| square \| hollow-square \| diamond \| club \| decimal \| decimal-leading- zero \| lower-latin \| lower-roman \| upper-latin \| upper-roman \| lower-greek \| decimal-greek \| armenian \| georgian \| hebrew \| hiragana \| katakana \| cjk-ideographic} | Paragraph, Submenu | Paragraph list style type. |
-| margin | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table/}{inside \| outside/}{margin \| marginLeft \| marginRight \| marginTop \| marginBottom \| marginLeftRight \| marginTopBottom}?value={ \| auto} | Document, Paragraph, Image, Textbox, Section, Header, Footer, Table, Submenu | Changes target margin (default target is paragraph). Ex: margin?value=4pt //sets all paragraph margins to 4pt. Ex: outside/margin?value=4pt //set exterior paragraph margins to 4pt. Ex: doc/marginLeft?value=1cm //sets left margin to 1cm for the document as used in embedded mode. Ex: section/marginLeft?value=1cm //sets left margin to 1cm for the pages of the first selected section |
-| merge | {paragraph/}merge
cell/merge | Paragraph, Cell | Used with paragraphs: merges paragraphs. Used with cells: merges the selected cells. |
-| minHeight | {paragraph \| image/}minHeight?value= | Paragraph, Image, Submenu | Target min height (default target is paragraph). Ex: paragraph/minHeight?value=50pt |
-| minWidth | {paragraph \| image/}minWidth?value= | Paragraph, Image, Submenu | Target min width (default target is paragraph). Ex: paragraph/minWidth?value=50pt |
-| moveToBack | moveToBack | Image | Moves image to the back. (not enabled for inline images) |
-| moveToFront | moveToFront | Image | Moves image to the front. (not enabled for inline images) |
-| newLineStyleSheet | newLineStyleSheet?index={1<=number<=number of paragraph stylesheets \| newLineStyleSheet}?value=auto | Paragraph, Submenu | Selected paragraph elements will use Nth stylesheet as stylesheet to use for new paragraphs created on Return or while splitting paragraphs; If value=auto, new paragraphs will use the same stylesheet (default). (menu item name is replaced at runtime with stylesheet name) |
-| padding | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| column \| row\| cell/}{inside \| outside/}{padding \| paddingLeft \| paddingRight \| paddingTop \| paddingBottom \| paddingLeftRight \| paddingTopBottom }?value= | Document, Paragraph, Image, TextBox, Section, Header, Footer, Row, Column, Cell, Submenu | Changes target padding. (default target is paragraph) |
-| pageMode | pageMode?value={embedded \| page \| draft} | Submenu | Changes view mode. Ex: pageMode?value=page |
-| pageOrientation | {section/}pageOrientation?value={landscape \| portrait} | Section, Submenu | Changes document or first selected section page orientation (if section is not specified, it will apply to all sections otherwise to the first selected section). Ex: pageOrientation?value=portrait //change orientation to portrait for the whole document. Ex: section/pageOrientation?value=landscape //change orientation to landscape for the first selected section |
-| pageSize | pageSize?index= | Submenu | Changes document page size: number is Nth page size in the list of available pages sizes. The list contains the current printer page sizes, ISO page sizes and the custom page sizes defined by the user. |
-| paragraph | paragraph | Paragraph, Submenu | Default submenu for paragraph layout. |
-| paragraph/avoidPageBreakInside | {paragraph/}avoidPageBreakInside | Paragraph | Allows/disallows page breaks inside paragraphs. |
-| print | print | Document | Prints document as rendered in page mode with view settings of the focused 4D Write Pro area. |
-| refreshImages | refreshImages | Image | Reloads images from the network for images with URLs. |
-| removeSoftHyphens | removeSoftHyphens | | Removes all soft hyphens in the current selection (if the selection is empty, removes soft hyphen before or after the caret if any) |
-| row/avoidPageBreakInside | row/avoidPageBreakInside | Table, Row | Allows/disallows page breaks inside table rows. This action is disabled if: the current selection does not contain a table the table does not allow page breaks the table is inside a header or footer Note: If several tables are selected and some of them don't allow page breaks, this option will be enabled but only applied to the tables that allow page breaks. |
-| section | section | Section, Submenu | Default submenu for page layout for the first selected section. |
-| section/differentFirstPage | section/differentFirstPage | Section | Section has different first page or not. |
-| section/differentLeftRightPages | section/differentLeftRightPages | Section | Section has different left and right pages or not. |
-| section/name/showDialog | section/name/showDialog | Section, showDialog | Displays a dialog allowing to enter the first selected section name. |
-| section/remove | section/remove | Section | Deletes the first section that intersects the user’s selection regardless if the user has selected one or multiple sections. Disabled when only one section remains in the document. |
-| section/reset | section/reset | Section | Resets all first selected section attributes to default attributes - which are inherited from doc attributes for background, border and padding (same as for embedded mode) and 2.5cm for page margins. First selected section column properties are also removed (so only default section properties will apply). |
-| split | {paragraph/}split
cell/split | Paragraph, Cell | Used with paragraph: splits paragraph. Used with cells: splits the selected cells (only cells that have been already merged may be split). |
-| styleSheet | {paragraph \| image/}styleSheet?value={1<=number<=number of target style sheets} | Paragraph, Image, Submenu, showDialog | Applies Nth stylesheet to the selected target elements. With dialog, new stylesheet will use current attributes from the first selected target. (default target is paragraph) Ex: styleSheet?value=1 //apply first paragraph style sheet to the selected paragraphs and set it as paragraph stylesheets. |
-| styleSheets | {paragraph \| image/}styleSheets | Paragraph, Image, Submenu | Default submenu for editing target stylesheets. |
-| tabDecimalSeparator | tabDecimalSeparator?value={point \| comma \| pointOrComma \| system} | Document, Submenu | Defines the character used as decimal separator by decimal tabulations. |
-| tableAlign | tableAlign?value={left \| center \| right}
or
table/tableAlign?value={left \| center \| right} | Table, Submenu | Specifies horizontal alignment for a table. |
-| table/avoidPageBreakInside | table/avoidPageBreakInside | Table | Allows/disallows page breaks inside tables. Disabled if: the current selection does not contain at least one table the table is in a header or a footer |
-| table/bottomCarryOverRow | table/bottomCarryOverRow | Table | Toggles between display/not display of carry-over rows (see Carry-over rows). |
-| textAlign | textAlign?value={left \| right \| center \| justify \| initial} | Paragraph | Paragraph text alignment (initial=use right for rtl or left for ltr direction). |
-| textBox | textBox | Submenu | Submenu with all actions available for the focused/selected text box |
-| textBox/remove | textBox/remove | TextBox | Removes the selected text box |
-| textIndent | textIndent?value= (may be negative) | Paragraph, Submenu | Paragraph text indentation (first line indentation). Ex: textIndent?value=2cm |
-| textLinethrough | textLinethrough | Submenu | For menu commands only. Linethrough submenu (with style and color). |
-| textLinethroughColor | textLinethroughColor?value={ \| currentColor} | Submenu, showDialog | Ex: textLinethroughColor?value=red |
-| textLinethroughStyle | textLinethroughStyle?value={none \| solid \| dotted \| dashed \| double \| semi-transparent \| word} | Submenu | Ex: textLinethroughStyle?value=dotted |
-| textShadow | textShadow | Submenu | For menu commands only. Default submenu for text shadow (with color and offset). |
-| textShadowColor | textShadowColor?value={ \| none} | Submenu, showDialog | Changes shadow status or color for characters. Ex: textShadowColor?value=green |
-| textShadowOffset | textShadowOffset?value= | Submenu | Only length in pt is supported. Ex: textShadowOffset?value=2pt |
-| textTransform | textTransform?value={none \| capitalize \| uppercase \| lowercase \| small-uppercase} | Submenu | Formats text. Ex: textTransform?value=capitalize |
-| textUnderline | textUnderline | Submenu | For menu commands only. Underline submenu (with style and color) |
-| textUnderlineColor | textUnderlineColor?value={ \| currentColor} | Submenu, showDialog | Ex: textUnderlineColor?value=red |
-| textUnderlineStyle | textUnderlineStyle?value={none \| solid \| dotted \| dashed \| double \| semi-transparent \| word} | Submenu | Ex: textUnderlineStyle?value=dotted |
-| updateStyleSheet | {paragraph \| image/}updateStyleSheet | Paragraph, Image, Submenu | Updates first selected target stylesheet with first selected target current attributes (default target is paragraph) |
-| userUnit | userUnit?value={cm \| mm \| in \| pt} | Submenu | Changes document layout unit (will be reflected on rulers). |
-| verticalAlign | {paragraph \| row \| column \| cell \| textBox/}verticalAlign?value={top \| middle \| bottom} | Paragraph, Row, Column, Cell, TextBox, Submenu | Paragraph vertical alignment. Ex: verticalAlign?value=top. The effect depends on the minHeight value of the paragraph. |
-| view | view | Submenu | For menu commands only. Default submenu for view settings. |
-| visibleBackground | visibleBackground | Document | Shows/hides background, anchored pictures and text boxes |
-| visibleEmptyImages | visibleEmptyImages | Document | Shows/hides a default black rectangle for images that cannot be loaded or computed (empty images or images in an unsupported format). |
-| visibleFooters | visibleFooters | Document | Shows/hides footers. |
-| visibleHeaders | visibleHeaders | Document | Shows/hides headers. |
-| visibleHiddenChars | visibleHiddenChars | Document | Shows/hides hidden characters |
-| visibleHorizontalRuler | visibleHorizontalRuler | Document | Shows/hides horizontal ruler. |
-| visiblePageFrames | visiblePageFrames | Document | Shows/hides page frames. |
-| visibleVerticalRuler | visibleVerticalRuler | Document | Shows/hides vertical ruler (Page mode only). |
-| visibleTableBorders | visibleTableBorders | Document | Shows/hides internal and external table borders as dashed lines where no borders are defined. |
-| widowAndOrphanControlEnabled | widowAndOrphanControlEnabled | Paragraph | Toggles between widow and orphan control mode. |
-| width | {paragraph \| image \| textBox \| column/}width?value= \| auto | Paragraph, Image, TextBox, Column, Submenu | Target width (default target is paragraph). Auto value not available for text boxes (converted to 8 cm) and columns. Ex: image/width?value=50pt |
-| zoom | zoom?value={25% <= percentage in Css <= 400%} | Document, Submenu | Changes document view zoom. Ex: zoom?value=120% |
-
-
-### Other actions
-
-[Several other standard actions](https://doc.4d.com/4Dv20/4D/20.2/Standard-actions.300-6750239.en.html) are available in 4D forms and can be used in 4D Write Pro areas:
-
-* *Edit actions*, such as copy/paste actions.
-* *Font* actions, such as fontBold or fontSize.
-* *Dynamic expressions* actions, allowing to handle inserted expressions..
-* *Spellchecking* actions.
\ No newline at end of file
diff --git a/docs/WritePro/user-legacy/standard-actions.md b/docs/WritePro/user-legacy/standard-actions.md
new file mode 100644
index 00000000000000..3ac95098fefb03
--- /dev/null
+++ b/docs/WritePro/user-legacy/standard-actions.md
@@ -0,0 +1,180 @@
+---
+id: standard-actions
+title: Standard actions
+displayed_sidebar: docs
+slug: /WritePro/standard-actions
+---
+
+
+The user interface of 4D Write Pro areas can be handled through a wide set of **standard actions**. Standard actions can be assigned to:
+
+* menu commands, available through the **menu bar** or the [Dynamic pop up menu](../../commands/dynamic-pop-up-menu) command
+* list items, available through pop-up/drop-down lists or hierarchical pop-up menus,
+* buttons, check boxes,
+* or executed by the [INVOKE ACTION](../../commands/invoke-action) command.
+
+When assigned to interface objects, standard actions handle the activation/disabling of the object depending on the context. For more information, please refer to the *Standard actions* section.
+
+Two kinds of actions are available for 4D Write Pro areas:
+
+* 4D Write Pro specific actions, that can be used only with 4D Write Pro areas,
+* [Other actions](#other-actions), including fonts, expressions, spell check, and editing actions, that can be used with 4D Write Pro areas and other 4D areas (see *Standard actions*).
+
+### 4D Write Pro actions
+
+The following standard actions are available with 4D Write Pro areas.
+
+**Notes:**
+
+* Actions that display an automatic menu/list can only be attached to menu commands, pop-up/drop-down lists or hierarchical pop-up menus objects (see *Submenu*).
+* Check boxes and 3D check boxes should be associated with status actions, such as "section/differentFirstPage" or "visibleHorizontalRuler". Three-states option is supported with standard check boxes only.
+* A section action status is always equal to the selected section actual status (inherited status if attribute is inherited from parent section or from default attribute) as it must reflect the selected section status (the status which is applied currently to the section). However, modifying a section attribute with a standard action will only override the selected section attribute.
+* *Submenu*: When used without any parameters and associated to a menu command, a pop-up/drop-down list or a hierarchical pop-up menu object, these actions display an automatic submenu/list. For example, if you assign the "backgroundColor" action to a menu command, selecting this menu command at runtime will display the Background color submenu items. If you assign the "zoom" action to a hierarchical pop-up menu, it will automatically contain a list of predefined zoom values. Note that these actions cannot be assigned to buttons.
+* *showDialog*: Adding the "/showDialog" string to the action name allows the display of the associated standard dialog box for the action. For example, you can use "paragraph/styleSheet/showDialog" to open the input dialog allowing the entry of a new stylesheet name.
+
+| Action name | Pattern | Available with | Description |
+|---|---|---|---|
+| anchorHorizontalAlign | {image \| textBox}/anchorHorizontalAlign?value={left \| center \| right} | Image, Textbox, Submenu | Defines the horizontal alignment of the element, relative to the anchorOrigin for images/text boxes in page, or to the layout box for images/text box in embedded mode. This action will reset the horizontal offset to 0. (not enabled for inline images). |
+| anchoring | {image \| textBox}/anchoring | Submenu | Default submenu with anchor settings actions for images or text boxes |
+| anchorLayout | image/anchorLayout?value={front \| behind \| wrapTopBottom \| wrapSquareLeft \| wrapSquareRight \| wrapSquareLargest \| wrapSquare \| inline}
textBox/anchorLayout?value={front \| behind \| wrapTopBottom \| wrapSquareLeft \| wrapSquareRight \| wrapSquareLargest \| wrapSquare} | Image, Textbox, Submenu | Defines the anchor layout type for an image or a text box. Can be used to transform an inline image to an anchored image, or the reverse. Note: If an image is moved from an anchored mode to inline, the image is inserted at the beginning of the current selected text. "inline" value is not supported for text boxes |
+| anchorOrigin | {image \| textBox}/anchorOrigin?value={paper-box \| header-box \| footer-box} | Image, TextBox, Submenu | Defines the area relative to the absolute position of an anchored image or text box. If the element is relative to the header-box/footer-box which is not visible on a page, the element is not displayed. This action will reset horizontal and vertical offsets to 0. Page mode only, not enabled for inline images. |
+| anchorPage | {image \| textBox}/anchorPage?value={all \| current \| currentSubSection} | Image, TextBox, Submenu | Defines the page(s) where the selected image or text box is displayed (not enabled for inline images). Page mode only. |
+| anchorSection | {image \| textBox}/anchorSection?value={all \| current} | Image, TextBox, Submenu | Defines the section(s) where the selected image or text box is displayed. (not enabled for inline images). Page mode only. |
+| anchorVerticalAlign | {image \| textBox}/anchorVerticalAlign?value={top \| center \| bottom} | Image, TextBox Submenu | Defines the vertical alignment of the image or text box, relative to the anchorOrgin for an image or text box in page, or to the layout box for an image or text box in embedded mode. This action will reset the vertical offset to 0 (not enabled for inline images). Note: See "verticalAlign" action for the vertical alignment inside the text box |
+| avoidPageBreakInside | {paragraph/}avoidPageBreakInside | Paragraph | |
+| background | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}background | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu | For menu commands only. Default submenu for all background attributes. |
+| backgroundClip | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}backgroundClip?value={paper-box \| border-box \| padding-box \| content-box} | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu | Changes target background clipping box (default target is paragraph). Paper-box targets document and section only. |
+| backgroundColor | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}backgroundColor?value={ \| transparent} | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu, showDialog | Changes target background. |
+| backgroundDisplayMode | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}backgroundDisplayMode?value=scaledToFit \| truncated \| truncatedCentered \| proportional \| proportionalCentered \| replicated \| replicatedCentered | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu | Sets the display mode of images used as background. |
+| backgroundImage | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}backgroundImage?value=none | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu, showDialog | Clears target background image. (default target is paragraph) |
+| backgroundOrigin | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}backgroundOrigin?value={paper-box \| border-box \| padding-box \| content-box} | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu | Changes target background image origin box (default target is paragraph). Paper-box targets document and section only. |
+| backgroundPositionH | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}backgroundPositionH?value={left \| right \| center} | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu | Changes target background image horizontal alignment (default target is paragraph). Ex: paragraph/backgroundPositionH?value=left |
+| backgroundPositionV | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}backgroundPositionV?value={top \| bottom \| center} | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu | Changes target background image vertical alignment (default target is paragraph). Ex: paragraph/backgroundPositionV?value=top |
+| backgroundRepeat | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}backgroundRepeat?value={no-repeat \| repeat \| repeat-x \| repeat-y} | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu | Changes target background image repeat mode. (default target is paragraph) |
+| backgroundSizeH | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}backgroundSizeH?value={ \| \| auto \| cover \| contain} | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu | Changes target background image width (default target is paragraph). Ex: paragraph/backgroundSizeH?value=100%. section/backgroundSizeH?value=cover |
+| backgroundSizeV | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell}/backgroundSizeV?value={ \| \| auto} | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu | Changes target background image height (default target is paragraph). Ex: paragraph/backgroundSizeV?value=50%. Ex: section/backgroundSizeV?value=40pt |
+| bookmark | bookmark?index= | Submenu | Selects the Nth bookmark. Ex: bookmark?index=2 // selects the second bookmark |
+| borderCollapse | borderCollapse | Paragraph | Collapses selected paragraph borders and interior margins. |
+| borderColor | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}{inside \| outside/}{borderColor \| borderColorLeft \| borderColorRight \| borderColorTop \| borderColorBottom \| borderColorLeftRight \| borderColorTopBottom}?value= | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu, showDialog | Changes target border color (default target is paragraph). Ex: paragraph/borderColorLeft?value=green |
+| borderRadius | {doc \| paragraph \| image \| textBox \| section \| header \| footer/}borderRadius?value= | Document, Paragraph, Image, TextBox, Section, Header, Footer, Submenu | Changes target border radius (default target is paragraph). Ex: paragraph/borderRadius?value=4pt |
+| borders | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}{inside \| outside/}borders | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu | Default submenu for target borders. |
+| borderStyle | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}{inside \| outside/}{borderStyle \| borderStyleLeft \| borderStyleRight \| borderStyleTop \| borderStyleBottom \| borderStyleLeftRight \| borderStyleTopBottom}?value={none \| hidden \| dotted \| dashed \| solid \| double \| groove \| ridge \| inset \| outset} | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu | Changes target border style (default target is paragraph). Ex: paragraph/borderStyleLeft?value=double. Ex: outside/borderStyle?value=solid //set selected paragraphs exterior borders to style solid. Ex: inside/borderStyle?value=none //remove selected paragraphs interior borders |
+| borderWidth | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}{inside \| outside/}{borderWidth \| borderWidthLeft \| borderWidthRight \| borderWidthTop \| borderWidthBottom \| borderWidthLeftRight \| borderWidthTopBottom}?value= | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu | Changes target border width (default target is paragraph). Ex: paragraph/borderWidthLeft?value=4pt |
+| columnCount | {section/}columnCount?value={1<=number<=20} | Document, Section, Submenu | Number of columns in the current document and/or section. (default target is doc) Ex: section/columnCount?value=3 |
+| columnRuleColor | {section/}columnRuleColor?value={CSS color} | Document, Section, Submenu, showDialog | Color for the decorative line between document or section columns. Ex: columnRuleColor?value="#FFFFFF" |
+| columnRuleStyle | {section/}columnRuleStyle?value={none \| dotted \| dashed \| solid \| double \| groove \| ridge \| inset \| outset} | Document, Section, Submenu | Style for the decorative line between document or section columns. Ex: columnRuleStyle?value="solid" |
+| columnRuleWidth | {section/}columnRuleWidth?value={CSS length} | Document, Section, Submenu | Width of the decorative line between document or section columns. Ex: columnRuleWidth?value="2pt" |
+| columns | {section/}columns | Document, Section, Submenu | Only for a menu item: creates automatically a complete Columns sub-menu with all column actions sub-menus (except insertColumnBreak) |
+| columnSpacing | {section/}columnSpacing?value={CSS length} | Document, Section, Submenu | Space between two columns in the current document and/or section. Ex: columnSpacing?value="1cm" |
+| deleteColumns | deleteColumns | Table | Deletes all selected columns. |
+| deleteRows | deleteRows | Table | Deletes all selected rows. |
+| deleteStyleSheet | {paragraph \| image/}deleteStyleSheet?index={1<= number <= number of target style sheets} | Paragraph, Image, Submenu | Removes the Nth stylesheet from the stored stylesheets for the selected target (default target is paragraph). Menu item name is replaced at runtime with style sheet name. |
+| direction | direction?value={ltr \| rtl} | Paragraph, Submenu | Paragraph direction. |
+| displayFormulaAsSymbol | displayFormulaAsSymbol | Document | Displays formula references as a # symbol. Can only be used when formulas are displayed as references. |
+| doc | doc | Document, Submenu | Default submenu for document body layout (embedded mode attributes or default attributes for sections – but for margin which is reserved for embedded mode only). |
+| dpi | Modifies the dpi of the current view (independent of the document attribute wk dpi used internally for pixel conversion <-> points). | Submenu | Change view dpi. Ex: dpi?value=72 |
+| emptyDatasource | {table}/emptyDatasource?value={showDataRow \| hideDataRow \| showPlaceholderRow \| hideTable } | Table, Submenu | Defines how the table is displayed when its datasource is empty. |
+| fontStyleWrite | fontStyleWrite | Submenu | For menu commands only. Displays default font styles submenu for 4D Write Pro. |
+| fontSubscript | fontSubscript | | Toggles subscript font attribute. |
+| fontSuperscript | fontSuperscript | | Toggles superscript font attribute. |
+| footer | footer | Submenu | Displays the Footer submenu. |
+| footer/remove | footer/remove | Footer | Removes the selected footer. |
+| formulaHighlight | formulaHighlight?value={values \| references \| always \| never} | Document, Submenu | Formula highlight mode for the document. Can be used with a dropdown menu or a button |
+| formulaHighlightColor | formulaHighlightColor?value= | Document, Submenu,showDialog | Formula highlight color for the document |
+| formulaHighlightReferences | formulaHighlightReferences | Document | Toggles formula references highlighting. Can be used with a check box or a menu item |
+| formulaHighlightValues | formulaHighlightValues | Document | Toggles formula values highlighting. Can be used with a check box or a menu item |
+| header | header | Submenu | Displays the Header submenu. |
+| header/remove | header/remove | Header | Removes the selected header. |
+| height | {image \| textBox \| row}/height?value={ \| auto} | Image, TextBox Row, Submenu | Target height. Ex: image/height?value=50pt. For image/width, see width. Ex: row/height?value=12pt |
+| headerRowCount | {table/}headerRowCount | Table, Submenu | Sets the number of header rows in a table. Maximum is 5. |
+| htmlWYSIWIGEnabled | htmlWYSIWIGEnabled | Document | Toggles between html wysiwyg mode. |
+| image | image | Image, Submenu | Displays image layout submenu. |
+| image/displayMode | image/displayMode?value=scaledToFit \| truncated \| truncatedCentered \| proportional \| proportionalCentered \| replicated \| replicatedCentered | Image, Submenu | Sets the display mode of anchored and inline images. Ex: image/displayMode?value=scaledToFit |
+| image/verticalAlign | image/verticalAlign?value={top \| middle \| bottom \| baseline \| super \| sub} | Image, Submenu | Image vertical alignment. Ex: image/verticalAlign?value=super |
+| insertColumnBreak | insertColumnBreak | Paragraph | Inserts a column break at the selection. |
+| insertColumnToTheLeft | insertColumnToTheLeft | Table | Inserts a column to the left of the first selected column(s). |
+| insertColumnToTheRight | insertColumnToTheRight | Table | Inserts a column to the right of the last selected column(s). |
+| insertContinuousSectionBreak | insertContinuousSectionBreak | Paragraph | Inserts a continuous section break at the selection. |
+| insertImage | insertImage | | Opens a picture selection dialog box and inserts the selected picture (if any) as a character in the area. |
+| insertPageBreak | insertPageBreak | Paragraph | Inserts a page break at the selection. |
+| insertRowAbove | insertRowAbove | Table | Inserts a row above the selected row(s). |
+| insertRowBelow | insertRowBelow | Table | Inserts a row below the selected row(s). |
+| insertSectionBreak | insertSectionBreak | Paragraph | Inserts a section break at the selection. |
+| insertSoftHyphen | insertSoftHyphen | | Inserts a soft hyphen at the cursor position. |
+| insertTextBox | insertTextBox | Document | Inserts a text box near the current selection, anchored to the first selected page (page mode). |
+| keepWithNext | keepWithNext | Paragraph | Links a paragraph with the next so that they cannot be separated by automatic page or column breaks. If applied to the last paragraph of the last cell in a table, the last row of the table is linked to the following paragraph. |
+| lineHeight | lineHeight?value={ \| } | Paragraph, Submenu | Paragraph line height. Ex: lineHeight?value=120% |
+| layer | {image \| textBox}/layer | Submenu | Default submenu with layering actions for images or text boxes |
+| listStartNumber | listStartNumber?value={ (longint) \| auto} | Paragraph, Submenu | List start number. Ex: listStartNumber?value=10 |
+| listStyleImage | listStyleImage/showDialog | Paragraph, showDialog | Opens a file dialog to choose a image to display as list style bullet; it will set also list style type to disc – style to be used if image is not found. |
+| listStyleType | listStyleType?value={none \| disc \| circle \| square \| hollow-square \| diamond \| club \| decimal \| decimal-leading- zero \| lower-latin \| lower-roman \| upper-latin \| upper-roman \| lower-greek \| decimal-greek \| armenian \| georgian \| hebrew \| hiragana \| katakana \| cjk-ideographic} | Paragraph, Submenu | Paragraph list style type. |
+| margin | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table/}{inside \| outside/}{margin \| marginLeft \| marginRight \| marginTop \| marginBottom \| marginLeftRight \| marginTopBottom}?value={ \| auto} | Document, Paragraph, Image, Textbox, Section, Header, Footer, Table, Submenu | Changes target margin (default target is paragraph). Ex: margin?value=4pt //sets all paragraph margins to 4pt. Ex: outside/margin?value=4pt //set exterior paragraph margins to 4pt. Ex: doc/marginLeft?value=1cm //sets left margin to 1cm for the document as used in embedded mode. Ex: section/marginLeft?value=1cm //sets left margin to 1cm for the pages of the first selected section |
+| merge | {paragraph/}merge
cell/merge | Paragraph, Cell | Used with paragraphs: merges paragraphs. Used with cells: merges the selected cells. |
+| minHeight | {paragraph \| image/}minHeight?value= | Paragraph, Image, Submenu | Target min height (default target is paragraph). Ex: paragraph/minHeight?value=50pt |
+| minWidth | {paragraph \| image/}minWidth?value= | Paragraph, Image, Submenu | Target min width (default target is paragraph). Ex: paragraph/minWidth?value=50pt |
+| moveToBack | moveToBack | Image | Moves image to the back. (not enabled for inline images) |
+| moveToFront | moveToFront | Image | Moves image to the front. (not enabled for inline images) |
+| newLineStyleSheet | newLineStyleSheet?index={1<=number<=number of paragraph stylesheets \| newLineStyleSheet}?value=auto | Paragraph, Submenu | Selected paragraph elements will use Nth stylesheet as stylesheet to use for new paragraphs created on Return or while splitting paragraphs; If value=auto, new paragraphs will use the same stylesheet (default). (menu item name is replaced at runtime with stylesheet name) |
+| padding | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| column \| row\| cell/}{inside \| outside/}{padding \| paddingLeft \| paddingRight \| paddingTop \| paddingBottom \| paddingLeftRight \| paddingTopBottom }?value= | Document, Paragraph, Image, TextBox, Section, Header, Footer, Row, Column, Cell, Submenu | Changes target padding. (default target is paragraph) |
+| pageMode | pageMode?value={embedded \| page \| draft} | Submenu | Changes view mode. Ex: pageMode?value=page |
+| pageOrientation | {section/}pageOrientation?value={landscape \| portrait} | Section, Submenu | Changes document or first selected section page orientation (if section is not specified, it will apply to all sections otherwise to the first selected section). Ex: pageOrientation?value=portrait //change orientation to portrait for the whole document. Ex: section/pageOrientation?value=landscape //change orientation to landscape for the first selected section |
+| pageSize | pageSize?index= | Submenu | Changes document page size: number is Nth page size in the list of available pages sizes. The list contains the current printer page sizes, ISO page sizes and the custom page sizes defined by the user. |
+| paragraph | paragraph | Paragraph, Submenu | Default submenu for paragraph layout. |
+| paragraph/avoidPageBreakInside | {paragraph/}avoidPageBreakInside | Paragraph | Allows/disallows page breaks inside paragraphs. |
+| print | print | Document | Prints document as rendered in page mode with view settings of the focused 4D Write Pro area. |
+| refreshImages | refreshImages | Image | Reloads images from the network for images with URLs. |
+| removeSoftHyphens | removeSoftHyphens | | Removes all soft hyphens in the current selection (if the selection is empty, removes soft hyphen before or after the caret if any) |
+| row/avoidPageBreakInside | row/avoidPageBreakInside | Table, Row | Allows/disallows page breaks inside table rows. This action is disabled if: the current selection does not contain a table the table does not allow page breaks the table is inside a header or footer Note: If several tables are selected and some of them don't allow page breaks, this option will be enabled but only applied to the tables that allow page breaks. |
+| section | section | Section, Submenu | Default submenu for page layout for the first selected section. |
+| section/differentFirstPage | section/differentFirstPage | Section | Section has different first page or not. |
+| section/differentLeftRightPages | section/differentLeftRightPages | Section | Section has different left and right pages or not. |
+| section/name/showDialog | section/name/showDialog | Section, showDialog | Displays a dialog allowing to enter the first selected section name. |
+| section/remove | section/remove | Section | Deletes the first section that intersects the user’s selection regardless if the user has selected one or multiple sections. Disabled when only one section remains in the document. |
+| section/reset | section/reset | Section | Resets all first selected section attributes to default attributes - which are inherited from doc attributes for background, border and padding (same as for embedded mode) and 2.5cm for page margins. First selected section column properties are also removed (so only default section properties will apply). |
+| split | {paragraph/}split
cell/split | Paragraph, Cell | Used with paragraph: splits paragraph. Used with cells: splits the selected cells (only cells that have been already merged may be split). |
+| styleSheet | {paragraph \| image/}styleSheet?value={1<=number<=number of target style sheets} | Paragraph, Image, Submenu, showDialog | Applies Nth stylesheet to the selected target elements. With dialog, new stylesheet will use current attributes from the first selected target. (default target is paragraph) Ex: styleSheet?value=1 //apply first paragraph style sheet to the selected paragraphs and set it as paragraph stylesheets. |
+| styleSheets | {paragraph \| image/}styleSheets | Paragraph, Image, Submenu | Default submenu for editing target stylesheets. |
+| tabDecimalSeparator | tabDecimalSeparator?value={point \| comma \| pointOrComma \| system} | Document, Submenu | Defines the character used as decimal separator by decimal tabulations. |
+| tableAlign | tableAlign?value={left \| center \| right}
or
table/tableAlign?value={left \| center \| right} | Table, Submenu | Specifies horizontal alignment for a table. |
+| table/avoidPageBreakInside | table/avoidPageBreakInside | Table | Allows/disallows page breaks inside tables. Disabled if: the current selection does not contain at least one table the table is in a header or a footer |
+| table/bottomCarryOverRow | table/bottomCarryOverRow | Table | Toggles between display/not display of carry-over rows (see Carry-over rows). |
+| textAlign | textAlign?value={left \| right \| center \| justify \| initial} | Paragraph | Paragraph text alignment (initial=use right for rtl or left for ltr direction). |
+| textBox | textBox | Submenu | Submenu with all actions available for the focused/selected text box |
+| textBox/remove | textBox/remove | TextBox | Removes the selected text box |
+| textIndent | textIndent?value= (may be negative) | Paragraph, Submenu | Paragraph text indentation (first line indentation). Ex: textIndent?value=2cm |
+| textLinethrough | textLinethrough | Submenu | For menu commands only. Linethrough submenu (with style and color). |
+| textLinethroughColor | textLinethroughColor?value={ \| currentColor} | Submenu, showDialog | Ex: textLinethroughColor?value=red |
+| textLinethroughStyle | textLinethroughStyle?value={none \| solid \| dotted \| dashed \| double \| semi-transparent \| word} | Submenu | Ex: textLinethroughStyle?value=dotted |
+| textShadow | textShadow | Submenu | For menu commands only. Default submenu for text shadow (with color and offset). |
+| textShadowColor | textShadowColor?value={ \| none} | Submenu, showDialog | Changes shadow status or color for characters. Ex: textShadowColor?value=green |
+| textShadowOffset | textShadowOffset?value= | Submenu | Only length in pt is supported. Ex: textShadowOffset?value=2pt |
+| textTransform | textTransform?value={none \| capitalize \| uppercase \| lowercase \| small-uppercase} | Submenu | Formats text. Ex: textTransform?value=capitalize |
+| textUnderline | textUnderline | Submenu | For menu commands only. Underline submenu (with style and color) |
+| textUnderlineColor | textUnderlineColor?value={ \| currentColor} | Submenu, showDialog | Ex: textUnderlineColor?value=red |
+| textUnderlineStyle | textUnderlineStyle?value={none \| solid \| dotted \| dashed \| double \| semi-transparent \| word} | Submenu | Ex: textUnderlineStyle?value=dotted |
+| updateStyleSheet | {paragraph \| image/}updateStyleSheet | Paragraph, Image, Submenu | Updates first selected target stylesheet with first selected target current attributes (default target is paragraph) |
+| userUnit | userUnit?value={cm \| mm \| in \| pt} | Submenu | Changes document layout unit (will be reflected on rulers). |
+| verticalAlign | {paragraph \| row \| column \| cell \| textBox/}verticalAlign?value={top \| middle \| bottom} | Paragraph, Row, Column, Cell, TextBox, Submenu | Paragraph vertical alignment. Ex: verticalAlign?value=top. The effect depends on the minHeight value of the paragraph. |
+| view | view | Submenu | For menu commands only. Default submenu for view settings. |
+| visibleBackground | visibleBackground | Document | Shows/hides background, anchored pictures and text boxes |
+| visibleEmptyImages | visibleEmptyImages | Document | Shows/hides a default black rectangle for images that cannot be loaded or computed (empty images or images in an unsupported format). |
+| visibleFooters | visibleFooters | Document | Shows/hides footers. |
+| visibleHeaders | visibleHeaders | Document | Shows/hides headers. |
+| visibleHiddenChars | visibleHiddenChars | Document | Shows/hides hidden characters |
+| visibleHorizontalRuler | visibleHorizontalRuler | Document | Shows/hides horizontal ruler. |
+| visiblePageFrames | visiblePageFrames | Document | Shows/hides page frames. |
+| visibleVerticalRuler | visibleVerticalRuler | Document | Shows/hides vertical ruler (Page mode only). |
+| visibleTableBorders | visibleTableBorders | Document | Shows/hides internal and external table borders as dashed lines where no borders are defined. |
+| widowAndOrphanControlEnabled | widowAndOrphanControlEnabled | Paragraph | Toggles between widow and orphan control mode. |
+| width | {paragraph \| image \| textBox \| column/}width?value= \| auto | Paragraph, Image, TextBox, Column, Submenu | Target width (default target is paragraph). Auto value not available for text boxes (converted to 8 cm) and columns. Ex: image/width?value=50pt |
+| zoom | zoom?value={25% <= percentage in Css <= 400%} | Document, Submenu | Changes document view zoom. Ex: zoom?value=120% |
+
+
+### Other actions
+
+[Several other standard actions](https://doc.4d.com/4Dv20/4D/20.2/Standard-actions.300-6750239.en.html) are available in 4D forms and can be used in 4D Write Pro areas:
+
+* *Edit actions*, such as copy/paste actions.
+* *Font* actions, such as fontBold or fontSize.
+* *Dynamic expressions* actions, allowing to handle inserted expressions..
+* *Spellchecking* actions.
\ No newline at end of file
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 af757a0e775b30..af6c0d6f9fc763 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
@@ -25,6 +25,7 @@ You can also use additional commands such as **Document.../Page size** or **Docu
* Avoid page break inside property
* Widow and orphan control.
+
## Paragraph breaks
When displayed in Page or Draft mode (or in the context of a document printing), 4D Write Pro paragraphs can break:
@@ -44,9 +45,12 @@ 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](./user-legacy/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).
-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).
+
+
## Background
@@ -59,7 +63,7 @@ The background of 4D Write Pro documents and document elements (tables, paragrap
* painting area
* repeat
-These [attributes](../commands-legacy/4d-write-pro-attributes.md) can be defined programmatically for either individual elements on a page and/or entire document backgrounds with the [WP SET ATTRIBUTES](../commands/wp-set-attributes) command or by [standard actions](./defining-a-4d-write-pro-area.md#standard-actions).
+These [attributes](../commands-legacy/4d-write-pro-attributes.md) can be defined programmatically for either individual elements on a page and/or entire document backgrounds with the [WP SET ATTRIBUTES](../commands/wp-set-attributes) command or by [standard actions](./standard-actions).
Users can modify background attributes via the contextual menu as shown below:
@@ -279,8 +283,8 @@ 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](./defining-a-4d-write-pro-area.md#standard-actions).
-
+* 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
new file mode 100644
index 00000000000000..09990ca4034c8f
--- /dev/null
+++ b/docs/WritePro/user/user-new.md
@@ -0,0 +1,34 @@
+---
+id: user-new
+title: user WP
+---
+
+to import
+
+
+
+## Lists
+
+4D Write Pro supports two main types of lists:
+
+* unordered lists: where list items are marked with bullets, custom bullets, or images used as markers.
+* ordered lists: where list items are marked with numbers or letters
+
+They can be created using:
+* the toolbar or sidebar of the [4D Write Pro interface](https://doc.4d.com/4Dv20/4D/20.2/Entry-areas.300-6750367.en.html#5865253)
+* the `listStyleType` or `listStyleImage` [standard actions](./standard-actions.md) ,
+* or [programmatically](../commands-legacy/4d-write-pro-attributes.md#lists) using [WP SET ATTRIBUTE](../commands/wp-set-attributes.md).
+
+When a list is created using a standard action (`listStyleType` or `listStyleImage`) or the toolbar/sidebar, 4D Write Pro automatically inserts a margin before the text so that the marker is positioned inside it. The value of the inserted margin corresponds to the offset of the default tab (`wk tab default`).
+
+
+
+When the list is created using [the WP SET ATTRIBUTE command](../commands-legacy/4d-write-pro-attributes.md#lists), no specific margin is managed, by default the marker is added at the left boundary of the paragraph. The developer can add a custom margin if necessary.
+
+:::info Related blog post
+
+[4D Write Pro – Adding a margin automatically when bullets are set using standard actions]()
+
+:::
+
+
diff --git a/docs/aikit/Classes/OpenAI.md b/docs/aikit/Classes/OpenAI.md
index 8e88ba360ad3cd..7b38b5d3d0ef94 100644
--- a/docs/aikit/Classes/OpenAI.md
+++ b/docs/aikit/Classes/OpenAI.md
@@ -67,11 +67,14 @@ The API provides access to multiple resources that allow seamless interaction wi
| `images` | [OpenAIImagesAPI](OpenAIImagesAPI.md) | Access to the Images API. |
| `moderations` | [OpenAIModerationsAPI](OpenAIModerationsAPI.md) | Access to the Moderations API. |
| `embeddings` | [OpenAIEmbeddingsAPI](OpenAIEmbeddingsAPI.md) | Access to the Embeddings API. |
+| `files` | [OpenAIFilesAPI](OpenAIFilesAPI.md) | Access to the Files API. |
+
### Example Usage
```4d
$client.chat.completions.create(...)
$client.images.generate(...)
+$client.files.create(...)
$client.model.lists(...)
```
diff --git a/docs/aikit/Classes/OpenAIFile.md b/docs/aikit/Classes/OpenAIFile.md
new file mode 100644
index 00000000000000..cd5bd659123ffa
--- /dev/null
+++ b/docs/aikit/Classes/OpenAIFile.md
@@ -0,0 +1,29 @@
+---
+id: openaifile
+title: OpenAIFile
+---
+
+# OpenAIFile
+
+The `OpenAIFile` class represents a file object in the OpenAI API. Files can be uploaded and used across various endpoints including Assistants, Fine-tuning, Batch, and Vision APIs.
+
+## Properties
+
+| Property Name | Type | Description |
+|------------------|----------|------------------------------------------------------------------|
+| `id` | Text | The file identifier, which can be referenced in the API endpoints. |
+| `bytes` | Integer | The size of the file, in bytes. |
+| `created_at` | Integer | The Unix timestamp (in seconds) for when the file was created. |
+| `expires_at` | Integer | The Unix timestamp (in seconds) for when the file will expire. |
+| `filename` | Text | The name of the file. |
+| `object` | Text | The object type, which is always "file". |
+| `purpose` | Text | The intended purpose of the file. Supported values: `assistants`, `assistants_output`, `batch`, `batch_output`, `fine-tune`, `fine-tune-results`, `vision`, and `user_data`. |
+| `status` | Text | **Deprecated.** The current status of the file, which can be either `uploaded`, `processed`, or `error`. |
+| `status_details` | Text | **Deprecated.** For details on why a fine-tuning training file failed validation, see the error field on `fine_tuning.job`. |
+
+## See also
+
+- [OpenAIFileResult](OpenAIFileResult.md)
+- [OpenAIFileListResult](OpenAIFileListResult.md)
+- [OpenAIFilesAPI](OpenAIFilesAPI.md)
+- [OpenAIFileParameters](OpenAIFileParameters.md)
diff --git a/docs/aikit/Classes/OpenAIFileDeleted.md b/docs/aikit/Classes/OpenAIFileDeleted.md
new file mode 100644
index 00000000000000..604b682d0e7514
--- /dev/null
+++ b/docs/aikit/Classes/OpenAIFileDeleted.md
@@ -0,0 +1,34 @@
+---
+id: openaifiledeleted
+title: OpenAIFileDeleted
+---
+
+# OpenAIFileDeleted
+
+The `OpenAIFileDeleted` class represents the deletion status of a file in the OpenAI API.
+
+## Properties
+
+| Property Name | Type | Description |
+|---------------|---------|------------------------------------------------|
+| `id` | Text | The ID of the deleted file (e.g., "file-abc123"). |
+| `deleted` | Boolean | Whether the file was successfully deleted. `True` if deletion succeeded. |
+| `object` | Text | The object type, which is always "file". |
+
+## Example Response
+
+```json
+{
+ "id": "file-abc123",
+ "object": "file",
+ "deleted": true
+}
+```
+
+## Used by
+
+- [OpenAIFileDeletedResult](OpenAIFileDeletedResult.md)
+
+## See also
+
+- [OpenAIFilesAPI](OpenAIFilesAPI.md)
diff --git a/docs/aikit/Classes/OpenAIFileDeletedResult.md b/docs/aikit/Classes/OpenAIFileDeletedResult.md
new file mode 100644
index 00000000000000..fc2f892cf4f05f
--- /dev/null
+++ b/docs/aikit/Classes/OpenAIFileDeletedResult.md
@@ -0,0 +1,38 @@
+---
+id: openaifiledeletedresult
+title: OpenAIFileDeletedResult
+---
+
+# OpenAIFileDeletedResult
+
+The `OpenAIFileDeletedResult` class contains the result of a file deletion operation.
+
+## Inherits
+
+[OpenAIResult](OpenAIResult.md)
+
+## Computed properties
+
+| Property | Type | Description |
+|-----------|---------------------|-----------------------------------------------------------------------------|
+| `deleted` | [OpenAIFileDeleted](OpenAIFileDeleted.md) | Returns the file deletion result from the API response. Returns `Null` if the response doesn't contain a valid result. |
+
+## Example Usage
+
+```4d
+// Delete a file
+var $fileId:="file-abc123"
+var $result:=$client.files.delete($fileId; Null)
+var $deletionStatus:=$result.deleted
+
+If ($deletionStatus.deleted)
+ ALERT("File "+$deletionStatus.id+" was successfully deleted")
+Else
+ ALERT("Failed to delete file")
+End if
+```
+
+## See also
+
+- [OpenAIFilesAPI](OpenAIFilesAPI.md)
+- [OpenAIFileDeleted](OpenAIFileDeleted.md)
diff --git a/docs/aikit/Classes/OpenAIFileListParameters.md b/docs/aikit/Classes/OpenAIFileListParameters.md
new file mode 100644
index 00000000000000..69170cbe169eb1
--- /dev/null
+++ b/docs/aikit/Classes/OpenAIFileListParameters.md
@@ -0,0 +1,38 @@
+---
+id: openaifilelistparameters
+title: OpenAIFileListParameters
+---
+
+# OpenAIFileListParameters
+
+The `OpenAIFileListParameters` class contains parameters for listing files in the OpenAI API.
+
+## Inherits
+
+[OpenAIParameters](OpenAIParameters.md)
+
+## Properties
+
+| Property Name | Type | Required | Default | Description |
+|---------------|---------|----------|---------|---------------------------------------------------------------------|
+| `after` | Text | Optional | - | A cursor for use in pagination. `after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `after=obj_foo` in order to fetch the next page of the list. |
+| `limit` | Integer | Optional | 10000 | A limit on the number of objects to be returned. Limit can range between 1 and 10,000, and the default is 10,000. |
+| `order` | Text | Optional | desc | Sort order by the `created_at` timestamp of the objects. `asc` for ascending order and `desc` for descending order. |
+| `purpose` | Text | Optional | - | Only return files with the given purpose. |
+
+## Example Usage
+
+```4d
+// Get first 100 files with purpose "fine-tune"
+var $params:=cs.AIKit.OpenAIFileListParameters.new()
+$params.limit:=100
+$params.purpose:="fine-tune"
+$params.order:="desc"
+
+var $result:=$client.files.list($params)
+```
+
+## See also
+
+- [OpenAIFilesAPI](OpenAIFilesAPI.md)
+- [OpenAIFileListResult](OpenAIFileListResult.md)
diff --git a/docs/aikit/Classes/OpenAIFileListResult.md b/docs/aikit/Classes/OpenAIFileListResult.md
new file mode 100644
index 00000000000000..a2d3bb6c67b740
--- /dev/null
+++ b/docs/aikit/Classes/OpenAIFileListResult.md
@@ -0,0 +1,67 @@
+---
+id: openaifilelistresult
+title: OpenAIFileListResult
+---
+
+# OpenAIFileListResult
+
+The `OpenAIFileListResult` class contains the result of listing files from the OpenAI API.
+
+## Inherits
+
+[OpenAIResult](OpenAIResult.md)
+
+## Computed properties
+
+| Property | Type | Description |
+|------------|------------|-----------------------------------------------------------------------------|
+| `files` | Collection | Returns a collection of [OpenAIFile](OpenAIFile.md) objects from the API response, or an empty collection if no files are found. |
+| `first_id` | Text | Returns the ID of the first file in the list, or an empty string if not available. |
+| `last_id` | Text | Returns the ID of the last file in the list, or an empty string if not available. |
+| `has_more` | Boolean | Indicates if there are more files beyond this page. `True` if there are more files to fetch, `False` otherwise. |
+
+
+## Example Usage
+
+### Basic Usage
+
+```4d
+var $params:=cs.AIKit.OpenAIFileListParameters.new()
+$params.purpose:="assistants"
+$params.limit:=50
+
+var $result:=$client.files.list($params)
+var $files:=$result.files
+
+For each ($file; $files)
+ // Process each OpenAIFile object
+ // $file.filename -> "salesOverview.pdf"
+ // $file.bytes -> 175
+ // $file.purpose -> "assistants"
+End for each
+```
+
+### Pagination Example
+
+```4d
+var $params:=cs.AIKit.OpenAIFileListParameters.new()
+$params.limit:=100
+
+var $result:=$client.files.list($params)
+var $allFiles:=$allFiles.combine($result.files)
+
+// Continue fetching if there are more files
+While ($result.has_more)
+ $params.after:=$result.last_id
+ $result:=$client.files.list($params)
+ $allFiles:=$allFiles.combine($result.files)
+End while
+
+// $allFiles now contains all files from the organization
+```
+
+## See also
+
+- [OpenAIFilesAPI](OpenAIFilesAPI.md)
+- [OpenAIFile](OpenAIFile.md)
+- [OpenAIFileListParameters](OpenAIFileListParameters.md)
\ No newline at end of file
diff --git a/docs/aikit/Classes/OpenAIFileParameters.md b/docs/aikit/Classes/OpenAIFileParameters.md
new file mode 100644
index 00000000000000..ad3106fbbbb62c
--- /dev/null
+++ b/docs/aikit/Classes/OpenAIFileParameters.md
@@ -0,0 +1,43 @@
+---
+id: openaifileparameters
+title: OpenAIFileParameters
+---
+
+# OpenAIFileParameters
+
+The `OpenAIFileParameters` class handles parameters for file upload operations.
+
+## Inherits
+
+[OpenAIParameters](OpenAIParameters.md)
+
+## Properties
+
+| Property Name | Type | Required | Description |
+|----------------|--------|----------|--------------------------------------|
+| `expires_after` | Object | Optional | The expiration policy for a file. By default, files with `purpose=batch` expire after 30 days and all other files are persisted until they are manually deleted. |
+
+### `expires_after` Object Structure
+
+The `expires_after` object contains the following properties:
+
+| Property Name | Type | Description |
+|---------------|---------|--------------------------------------|
+| `anchor` | Text | Anchor timestamp after which the expiration policy applies. Supported anchors: `created_at`. |
+| `seconds` | Integer | The number of seconds after the anchor time that the file will expire. Must be between 3600 (1 hour) and 2592000 (30 days). |
+
+## Example Usage
+
+```4d
+var $params:=cs.AIKit.OpenAIFileParameters.new()
+
+// Set expiration after 7 days
+$params.expires_after:={}
+$params.expires_after.anchor:="created_at"
+$params.expires_after.seconds:=604800 // 7 days
+```
+
+## See also
+
+- [OpenAIFilesAPI](OpenAIFilesAPI.md)
+- [OpenAIFileResult](OpenAIFileResult.md)
diff --git a/docs/aikit/Classes/OpenAIFileResult.md b/docs/aikit/Classes/OpenAIFileResult.md
new file mode 100644
index 00000000000000..75544d3bb5d839
--- /dev/null
+++ b/docs/aikit/Classes/OpenAIFileResult.md
@@ -0,0 +1,36 @@
+---
+id: openaifileresult
+title: OpenAIFileResult
+---
+
+# OpenAIFileResult
+
+The `OpenAIFileResult` class contains the result of a single file operation (upload or retrieve).
+
+## Inherits
+
+[OpenAIResult](OpenAIResult.md)
+
+## Computed properties
+
+| Property | Type | Description |
+|----------|---------------|-----------------------------------------------------------------------------|
+| `file` | [OpenAIFile](OpenAIFile.md) | Returns the file object from the API response. Returns `Null` if the response doesn't contain a valid file. |
+
+## Example Usage
+
+```4d
+// Upload a file
+var $file:=File("/RESOURCES/training-data.jsonl")
+
+var $result:=$client.files.create($file; "user_data")
+var $uploadedFile:=$result.file
+
+// Retrieve file information
+var $retrieveResult:=$client.files.retrieve($uploadedFile.id)
+```
+
+## See also
+
+- [OpenAIFilesAPI](OpenAIFilesAPI.md)
+- [OpenAIFile](OpenAIFile.md)
diff --git a/docs/aikit/Classes/OpenAIFilesAPI.md b/docs/aikit/Classes/OpenAIFilesAPI.md
new file mode 100644
index 00000000000000..577a75ca2ff57d
--- /dev/null
+++ b/docs/aikit/Classes/OpenAIFilesAPI.md
@@ -0,0 +1,211 @@
+---
+id: openaifilesapi
+title: OpenAIFilesAPI
+---
+
+
+# OpenAIFilesAPI
+
+The `OpenAIFilesAPI` class provides functionalities to manage files using OpenAI's API. Files can be uploaded and used across various endpoints including [Fine-tuning](https://platform.openai.com/docs/api-reference/fine-tuning), [Batch](https://platform.openai.com/docs/api-reference/batch) processing, and Vision.
+
+> **Note:** This API is only compatible with OpenAI. Other providers listed in the [compatible providers](../compatible-openai.md) documentation do not support file management operations.
+
+
+API Reference:
+
+## File Size Limits
+
+- **Individual files:** up to 512 MB per file
+- **Organization total:** up to 1 TB (cumulative size of all files uploaded by your [organization](https://platform.openai.com/docs/guides/production-best-practices/setting-up-your-organization))
+
+
+## Functions
+
+### create()
+
+**create**(*file* : 4D.File | 4D.Blob; *purpose* : Text; *parameters* : cs.OpenAIFileParameters) : cs.OpenAIFileResult
+
+Upload a file that can be used across various endpoints.
+
+**Endpoint:** `POST https://api.openai.com/v1/files`
+
+| Parameter | Type | Description |
+|---------------|--------------------------------|-----------------------------------------------------------|
+| `file` | [4D.File](https://developer.4d.com/docs/API/FileClass) or [4D.Blob](https://developer.4d.com/docs/API/BlobClass) | The File or Blob object (not file name) to be uploaded. |
+| `purpose` | Text | **Required.** The intended purpose of the uploaded file. |
+| `parameters` | [OpenAIFileParameters](OpenAIFileParameters.md) | Optional parameters including expiration policy. |
+| Function result | [OpenAIFileResult](OpenAIFileResult.md) | The file result |
+
+**Throws:** An error if `file` is not a 4D.File or 4D.Blob, or if `purpose` is empty.
+
+#### Supported Purposes
+
+- `assistants`: Used in the Assistants API (⚠️ [deprecated by OpenAI](https://platform.openai.com/docs/assistants/whats-new))
+- `batch`: Used in the [Batch API](https://platform.openai.com/docs/api-reference/batch) (expires after 30 days by default)
+- `fine-tune`: Used for [fine-tuning](https://platform.openai.com/docs/api-reference/fine-tuning)
+- `vision`: Images used for vision fine-tuning
+- `user_data`: Flexible file type for any purpose
+- `evals`: Used for eval data sets
+
+#### File Format Requirements
+
+- **Fine-tuning API:** Only supports `.jsonl` files with specific required formats
+- **Batch API:** Only supports `.jsonl` files up to 200 MB with specific required format
+- **Assistants API:** Supports specific file types (see Assistants Tools guide)
+- **Chat Completions API:** PDFs are only supported
+
+#### Sychronous example
+
+```4d
+var $file:=File("/RESOURCES/training-data.jsonl")
+
+var $params:=cs.AIKit.OpenAIFileParameters.new()
+$params.expires_after:={}
+$params.expires_after.anchor:="created_at"
+$params.expires_after.seconds:=2592000 // 30 days
+
+var $result:=$client.files.create($file; "fine-tune"; $params)
+
+If ($result.success)
+ var $uploadedFile:=$result.file
+ // $uploadedFile.id -> "file-abc123"
+ // $uploadedFile.filename -> "training-data.jsonl"
+ // $uploadedFile.bytes -> 120000
+End if
+```
+
+#### Asynchronous Example
+
+Since file uploads can be long operations (especially for large files up to 512 MB), it's recommended to use asynchronous calls to avoid blocking your application. See [Asynchronous Call](../asynchronous-call.md) for more details.
+
+```4d
+var $file:=File("/RESOURCES/large-training-data.jsonl")
+
+var $params:=cs.AIKit.OpenAIFileParameters.new()
+$params.onTerminate:=Formula(MyFileUploadCallback($1))
+
+// This call returns immediately without blocking
+$client.files.create($file; "fine-tune"; $params)
+```
+
+The callback function receives an [OpenAIFileResult](OpenAIFileResult.md):
+
+```4d
+// MyFileUploadCallback
+#DECLARE($result: cs.AIKit.OpenAIFileResult)
+
+If ($result.success)
+ var $uploadedFile:=$result.file
+
+ ALERT("File uploaded successfully: "+$uploadedFile.filename)
+ // Store the file ID for later use
+ Form.uploadedFileId:=$uploadedFile.id
+Else
+ ALERT("Upload failed: "+Formula(JSON Stringify($result.errors)))
+End if
+```
+
+
+### retrieve()
+
+**retrieve**(*fileId* : Text; *parameters* : cs.OpenAIParameters) : cs.OpenAIFileResult
+
+Returns information about a specific file.
+
+**Endpoint:** `GET https://api.openai.com/v1/files/{file_id}`
+
+| Parameter | Type | Description |
+|---------------|--------------------------------|-----------------------------------------------------------|
+| `fileId` | Text | **Required.** The ID of the file to retrieve. |
+| `parameters` | [OpenAIParameters](OpenAIParameters.md) | Optional parameters for the request. |
+| Function result | [OpenAIFileResult](OpenAIFileResult.md) | The file result |
+
+
+**Throws:** An error if `fileId` is empty.
+
+#### Example
+
+```4d
+var $result:=$client.files.retrieve("file-abc123")
+
+If ($result.success)
+ var $file:=$result.file
+ // $file.filename -> "mydata.jsonl"
+ // $file.bytes -> 120000
+ // $file.purpose -> "fine-tune"
+End if
+```
+
+### list()
+
+**list**(*parameters* : cs.OpenAIFileListParameters) : cs.OpenAIFileListResult
+
+Returns a list of files that belong to the user's organization.
+
+**Endpoint:** `GET https://api.openai.com/v1/files`
+
+| Parameter | Type | Description |
+|---------------|--------------------------------|-----------------------------------------------------------|
+| `parameters` | [OpenAIFileListParameters](OpenAIFileListParameters.md) | Optional parameters for filtering and pagination. |
+| Function result | [OpenAIFileListResult](OpenAIFileListResult.md) | The file list result |
+
+
+#### Example
+
+```4d
+var $params:=cs.AIKit.OpenAIFileListParameters.new()
+$params.purpose:="assistants"
+$params.limit:=50
+$params.order:="desc"
+
+var $result:=$client.files.list($params)
+
+If ($result.success)
+ var $files:=$result.files
+ // $files.length -> 2
+
+ For each ($file; $files)
+ // $file.filename -> "salesOverview.pdf", "puppy.jsonl", etc.
+ End for each
+End if
+```
+
+### delete()
+
+**delete**(*fileId* : Text; *parameters* : cs.OpenAIParameters) : cs.OpenAIFileDeletedResult
+
+Delete a file.
+
+**Endpoint:** `DELETE https://api.openai.com/v1/files/{file_id}`
+
+| Parameter | Type | Description |
+|---------------|--------------------------------|-----------------------------------------------------------|
+| `fileId` | Text | **Required.** The ID of the file to delete. |
+| `parameters` | [OpenAIParameters](OpenAIParameters.md) | Optional parameters for the request. |
+| Function result | [OpenAIFileDeletedResult](OpenAIFileDeletedResult.md) | The file deletion result |
+
+
+**Throws:** An error if `fileId` is empty.
+
+#### Example
+
+```4d
+var $result:=$client.files.delete("file-abc123")
+
+If ($result.success)
+ var $status:=$result.deleted
+
+ If ($status.deleted)
+ ALERT("File deleted successfully")
+ End if
+End if
+```
+
+## See also
+
+- [OpenAIFile](OpenAIFile.md)
+- [OpenAIFileParameters](OpenAIFileParameters.md)
+- [OpenAIFileListParameters](OpenAIFileListParameters.md)
+- [OpenAIFileResult](OpenAIFileResult.md)
+- [OpenAIFileListResult](OpenAIFileListResult.md)
+- [OpenAIFileDeletedResult](OpenAIFileDeletedResult.md)
diff --git a/docs/aikit/Classes/OpenAIMessage.md b/docs/aikit/Classes/OpenAIMessage.md
index 005eeae0ccb5f1..14c998b7abd232 100644
--- a/docs/aikit/Classes/OpenAIMessage.md
+++ b/docs/aikit/Classes/OpenAIMessage.md
@@ -36,19 +36,57 @@ The `OpenAIMessage` class represents a structured message containing a role, con
Adds an image URL to the content of the message.
-## Example Usage
-### Create a simple message and attach an image
+### addFileId()
+
+**addFileId**(*fileId* : Text)
+
+| Parameter | Type | Description |
+|------------------|-------|--------------------------------------------|
+| *fileId* | Text | The file ID to add to the message.|
+
+Adds a file reference to the content of the message. If the content is currently text, it will be converted to a collection format.
+
+
+
+
+## Example Usage
+### Basic Text Message
```4d
// Create an instance of OpenAIMessage
-var $message:=cs.AIKit.OpenAIMessage({role: "user"; content: "Hello!"})
+var $message:=cs.AIKit.OpenAIMessage.new({role: "user"; content: "Hello!"})
+```
+
+### Adding Images
+
+```4d
+var $message:=cs.AIKit.OpenAIMessage.new({role: "user"; content: "Please analyze this image:"})
// Add an image URL with details
$message.addImageURL("http://example.com/image.jpg"; "high")
```
+
+### Adding File
+
+```4d
+// Upload a file with user_data purpose
+var $file:=File("/RESOURCES/document.pdf")
+var $uploadResult:=$client.files.create($file; "user_data")
+
+If ($uploadResult.success)
+ var $uploadedFile:=$uploadResult.file
+
+ // Create message and attach the file using its ID
+ var $message:=cs.AIKit.OpenAIMessage.new({role: "user"; content: "Please analyze this document:"})
+ $message.addFileId($uploadedFile.id)
+
+ // $message.content -> [{type: "text"; text: "Please analyze this document:"}; {type: "file"; file_id: "file-abc123"}]
+End if
+```
+
### Respond to a tool call message
When an assistant needs to use external functions, it generates a message with `tool_calls` to request function execution.
diff --git a/docs/aikit/overview.md b/docs/aikit/overview.md
index e9772f39bc5ba5..2f94754ba08eec 100644
--- a/docs/aikit/overview.md
+++ b/docs/aikit/overview.md
@@ -104,6 +104,43 @@ Get one model information by id
var $model:=$client.models.retrieve("a model id").model
```
+#### Files
+
+https://platform.openai.com/docs/api-reference/files
+
+Upload a file for use with other endpoints
+
+```4d
+var $file:=File("/path/to/your/file.jsonl")
+var $result:=$client.files.create($file; "fine-tune")
+var $fileId:=$result.file.id
+```
+
+List all files
+
+```4d
+var $files:=$client.files.list().files
+```
+
+Retrieve file information
+
+```4d
+var $fileInfo:=$client.files.retrieve($fileId).file
+```
+
+Delete a file
+
+```4d
+var $deleteResult:=$client.files.delete($fileId)
+```
+
+:::tip Related blog post
+
+[Transform Static Documents into Actionable Knowledge with 4D AIKit](https://blog.4d.com/transform-static-documents-into-actionable-knowledge-with-4d-aikit).
+
+:::
+
+
#### Moderations
https://platform.openai.com/docs/api-reference/moderations
diff --git a/docs/assets/en/API/webformClass-pic1.png b/docs/assets/en/API/webformClass-pic1.png
new file mode 100644
index 00000000000000..5c3de142c5af11
Binary files /dev/null and b/docs/assets/en/API/webformClass-pic1.png differ
diff --git a/docs/assets/en/API/webformClass-pic2.png b/docs/assets/en/API/webformClass-pic2.png
new file mode 100644
index 00000000000000..7f1ec3a19a8764
Binary files /dev/null and b/docs/assets/en/API/webformClass-pic2.png differ
diff --git a/docs/assets/en/API/webformClass-pic3.png b/docs/assets/en/API/webformClass-pic3.png
new file mode 100644
index 00000000000000..9c128642916f95
Binary files /dev/null and b/docs/assets/en/API/webformClass-pic3.png differ
diff --git a/docs/assets/en/Project/find-components-results.png b/docs/assets/en/Project/find-components-results.png
new file mode 100644
index 00000000000000..96a5080c02477c
Binary files /dev/null and b/docs/assets/en/Project/find-components-results.png differ
diff --git a/docs/assets/en/Project/find-components.png b/docs/assets/en/Project/find-components.png
new file mode 100644
index 00000000000000..0b42697051581c
Binary files /dev/null and b/docs/assets/en/Project/find-components.png differ
diff --git a/docs/assets/en/Project/find-in-design-expanded.png b/docs/assets/en/Project/find-in-design-expanded.png
new file mode 100644
index 00000000000000..9cc45790ffc92d
Binary files /dev/null and b/docs/assets/en/Project/find-in-design-expanded.png differ
diff --git a/docs/assets/en/Project/find-in-design.png b/docs/assets/en/Project/find-in-design.png
new file mode 100644
index 00000000000000..daf7ed8279c6d7
Binary files /dev/null and b/docs/assets/en/Project/find-in-design.png differ
diff --git a/docs/assets/en/Project/rename-dial.png b/docs/assets/en/Project/rename-dial.png
new file mode 100644
index 00000000000000..441f7c8c38a0b1
Binary files /dev/null and b/docs/assets/en/Project/rename-dial.png differ
diff --git a/docs/assets/en/Project/rename.png b/docs/assets/en/Project/rename.png
new file mode 100644
index 00000000000000..7c62a165255313
Binary files /dev/null and b/docs/assets/en/Project/rename.png differ
diff --git a/docs/assets/en/Project/replace-content.png b/docs/assets/en/Project/replace-content.png
new file mode 100644
index 00000000000000..cf973c42e8bce2
Binary files /dev/null and b/docs/assets/en/Project/replace-content.png differ
diff --git a/docs/assets/en/Project/result-window-menu.png b/docs/assets/en/Project/result-window-menu.png
new file mode 100644
index 00000000000000..efc22783c719a5
Binary files /dev/null and b/docs/assets/en/Project/result-window-menu.png differ
diff --git a/docs/assets/en/Project/result-window-re.png b/docs/assets/en/Project/result-window-re.png
new file mode 100644
index 00000000000000..e2754097d149a7
Binary files /dev/null and b/docs/assets/en/Project/result-window-re.png differ
diff --git a/docs/assets/en/Project/result-window.png b/docs/assets/en/Project/result-window.png
new file mode 100644
index 00000000000000..4c6aab5bbe6c63
Binary files /dev/null and b/docs/assets/en/Project/result-window.png differ
diff --git a/docs/assets/en/Project/search-icon.png b/docs/assets/en/Project/search-icon.png
new file mode 100644
index 00000000000000..900fefa1a484d2
Binary files /dev/null and b/docs/assets/en/Project/search-icon.png differ
diff --git a/docs/assets/en/WritePro/margin-bullet.png b/docs/assets/en/WritePro/margin-bullet.png
new file mode 100644
index 00000000000000..52737ade4cdf7c
Binary files /dev/null and b/docs/assets/en/WritePro/margin-bullet.png differ
diff --git a/docs/assets/en/WritePro/margin-bullets.png b/docs/assets/en/WritePro/margin-bullets.png
new file mode 100644
index 00000000000000..de7143eb050741
Binary files /dev/null and b/docs/assets/en/WritePro/margin-bullets.png differ
diff --git a/docs/assets/en/commands/web-event1.png b/docs/assets/en/commands/web-event1.png
new file mode 100644
index 00000000000000..f31f769f39a37d
Binary files /dev/null and b/docs/assets/en/commands/web-event1.png differ
diff --git a/docs/assets/en/commands/web-event2.png b/docs/assets/en/commands/web-event2.png
new file mode 100644
index 00000000000000..8e3e2e7c50ca69
Binary files /dev/null and b/docs/assets/en/commands/web-event2.png differ
diff --git a/docs/assets/en/commands/web-event3.png b/docs/assets/en/commands/web-event3.png
new file mode 100644
index 00000000000000..d7182a677d75a3
Binary files /dev/null and b/docs/assets/en/commands/web-event3.png differ
diff --git a/docs/assets/en/commands/web-event4.png b/docs/assets/en/commands/web-event4.png
new file mode 100644
index 00000000000000..3dee994804d176
Binary files /dev/null and b/docs/assets/en/commands/web-event4.png differ
diff --git a/docs/code-editor/write-class-method.md b/docs/code-editor/write-class-method.md
index bfcedd590d801f..0ae4d42ae39ae5 100644
--- a/docs/code-editor/write-class-method.md
+++ b/docs/code-editor/write-class-method.md
@@ -718,6 +718,9 @@ The current item is either the one selected or the one where the cursor is locat
This command displays its results in a new window.
+## Rename
+
+A global renaming feature can be used with **variables** and **project methods**, allowing you to rename them safely throughout the whole project. To do this, highlight the variable or project method name in the editor and select **Rename...** from the **Method** menu or the context menu. A dialog box is then displayed, allowing you to write the new name. For more information, refer to [Renaming project methods and variables](../Project/search-replace.md#renaming-project-methods-and-variables) section.
## Macros
diff --git a/docs/commands-legacy/get-database-parameter.md b/docs/commands-legacy/get-database-parameter.md
index a4af0faf373e1e..16b58bb86a66db 100644
--- a/docs/commands-legacy/get-database-parameter.md
+++ b/docs/commands-legacy/get-database-parameter.md
@@ -22,6 +22,36 @@ displayed_sidebar: docs
The *selector* parameter designates the parameter to get. 4D offers you the following predefined constants, which are in the “*Database Parameters*” theme:
+### 4D Remote mode timeout (14)
+
+**Scope** (legacy network layer only): 4D application if *value* positive
+
+**Kept between two sessions**: Yes if *value* positive
+
+**Description**: To be used in very specific cases. Value of the timeout granted by the remote 4D machine to the 4D Server machine. The default timeout value used by 4D in remote mode is set on the "Client-Server/Network options" page of the Database settings dialog box on the remote machine.
+
+The 4D Remote mode timeout selector is only taken into account if you are using the legacy network. It is ignored when the *ServerNet* layer is activated: this setting is entirely managed by the 4D Server timeout (13) selector.
+
+
+
+
+### 4D Server log recording (28)
+
+**Thread-safe** : Yes
+
+**Scope**: 4D Server, 4D remote*
+
+* **Kept between two sessions**: No
+
+**Possible values**: 0 or from 1 to X (0 = do not record, 1 to X = sequential number, added to the file name).
+
+**Description**: Starts or stops the recording of standard requests received by 4D Server (excluding Web requests). By default, the value is 0 (requests not recorded).
+
+4D Server lets you record each request received by the server machine in a log file. When this mechanism is enabled, two files are created in the Logs folder of the database. They are named *4DRequestsLogServer\_X*.txt and *4DRequestsLog\_ProcessInfoServer\_X*.txt on the server, and *4DRequestsLog\_X*.txt and *4DRequestsLog\_ProcessInfo\_X*.txt on the remote, where X is the sequential number of the log. Once a file has reached a size of 10 MB, it is closed and a new one is generated, with an incremented sequential number. If a file of the same name already exists, it is replaced directly. You can set the starting number of the sequence using the *value* parameter. These text files store various information concerning each request in a simple tabbed format: time, process number, size of request, processing duration, etc. For more information on the 4DRequestsLog files, please refer to the *Description of log files* section.
+
+
+
+
### 4D Server timeout (13)
**Scope**: 4D application if *value* positive
@@ -40,41 +70,62 @@ If you pass a **positive** value in the *value*parameter, you set a global and p
-### 4D Remote mode timeout (14)
-**Scope** (legacy network layer only): 4D application if *value* positive
+### Auto synchro resources folder (48)
-**Kept between two sessions**: Yes if *value* positive
+**Scope**:4D remote machine
-**Description**: To be used in very specific cases. Value of the timeout granted by the remote 4D machine to the 4D Server machine. The default timeout value used by 4D in remote mode is set on the "Client-Server/Network options" page of the Database settings dialog box on the remote machine.
+**Kept between two** **sessions**: No
-The 4D Remote mode timeout selector is only taken into account if you are using the legacy network. It is ignored when the *ServerNet* layer is activated: this setting is entirely managed by the 4D Server timeout (13) selector.
+**Possible values**: 0 (no synchronization), 1 (auto synchronization) or 2 (ask).
+**Description**: Dynamic synchronization mode for *Resources* folder of 4D client machine that executed the command with that of the server.
+When the contents of the *Resources* folder on the server has been modified or a user has requested synchronization (for example via the resources explorer or following the execution of the [SET DATABASE LOCALIZATION](set-database-localization.md) command), the server notifies the connected client machines.
+
+Three synchronization modes are then possible on the client side. The Auto Synchro Resources Folder selector is used to specify the mode to be used by the client machine for the current session:
+
+- 0 (default value): no dynamic synchronization (synchronization request is ignored)
+- 1: automatic dynamic synchronization
+- 2: display of a dialog box on the client machines, with the possibility of allowing or refusing synchronization.The synchronization mode can also be set globally in the application Preferences.
+
+
+
+
+### Cache flush periodicity (95)
+
+**Thread-safe** : Yes
-### Port ID (15)
**Scope**: 4D local, 4D Server
**Kept between two sessions**: No
-**Description**: Command SET DATABASE TCP port ID used by the 4D Web server with 4D in local mode and 4D Server. The default value, which can be set on the "Web/Configuration" page of the Preferences dialog box, is 80\. You can use the constants of the *TCP Port Numbers* theme for the *value* parameter.
+**Possible values**: longint > 1 (seconds)
-The Port ID selector is useful for 4D Web Servers compiled and merged with 4D Desktop (in which there is no access to the Design mode). For more information about the TCP port ID, refer to the *Web Server Settings* section.
+**Description**: Gets or sets the current cache flush periodicity, expressed in seconds. Modifying this value overrides the **Flush Cache every X Seconds** option in the [XML DECODE](xml-decode.md) of the Database settings for the session (it is not stored in the Database settings).
-### Character set (17)
-**Scope**: 4D local, 4D Server
+### Cache unload minimum size (66)
-**Kept between two sessions**: Yes
+**Scope**: 4D application
-**Description**: *Constant obsolete (kept for compatibility reasons only).* We now recommend using the [WEB SET OPTION](web-set-option.md) and [WEB GET OPTION](web-get-option.md) commands for configuring the HTTP server.
+**Kept between two sessions**: No
+
+**Possible values**: Positive longint > 1.
+
+**Description**: Minimum size of memory to release from the database cache when the engine needs to make space in order to allocate an object to it (value in bytes).
+
+The purpose of this selector is to reduce the number of times that data is released from the cache in order to obtain better performance. You can vary this setting according to the size of the cache and that of the blocks of data being handled in your database.
+
+By default, if this selector is not used, 4D unloads at least 10% of the cache when space is needed.
-### Max concurrent Web processes (18)
+
+### Character set (17)
**Scope**: 4D local, 4D Server
@@ -84,15 +135,19 @@ The Port ID selector is useful for 4D Web Servers compiled and merged with 4D De
-### Client port ID (22)
-**Scope**: All 4D remote machines
+### Circular log limitation (90)
- **Kept between two** **sessions**: Yes
+**Thread-safe** : Yes
- **Possible values**: See selector 15
+**Scope**: 4D local, 4D Server.
+
+**Kept between two sessions**: No
+
+**Possible values**: Any integer value, 0 = keep all logs
+
+**Description**: Maximum number of files to keep in rotation for each type of log. By default, the 50 most recent files are kept. If you pass a value *X*, only the *X* most recent files are kept, with the oldest being erased automatically when a new one is created. This setting applies to all log files, i.e. request logs (selectors 28 and 45), debug log (selector 34), events log (selector 79), Web logs (selectors 29 and 84 of the [WEB SET OPTION](web-set-option.md) command), etc.
-**Description**: Used to specify this parameter for all the remote 4D machines used as Web servers. The values defined using these selectors are applied to all the remote machines used as Web servers. If you want to define values only for certain remote machines, use the Preferences dialog box of 4D in remote mode.
@@ -108,6 +163,41 @@ The Port ID selector is useful for 4D Web Servers compiled and merged with 4D De
+
+### Client HTTPS port ID (40)
+
+**Scope**:All 4D remote machines
+
+**Kept between two** **sessions**: Yes
+
+**Possible values**: 0 to 65535
+
+**Description**: TCP port number used by the Web servers of the client machines for secure connections via SSL (HTTPS protocol). By default, the value is 443 (standard value).
+
+This selector can be used to modify by programming the TCP port used by the Web servers of the client machines for secure connections via SSL (HTTPS protocol). By default, the value is 443 (standard value).
+
+This selector operates exactly the same way as selector 39; however, it applies to all the 4D remote machines used as Web servers. If you only want to modify the value of certain specific client machines, use the Preferences dialog box of the remote 4D.
+
+
+
+
+### Client log recording (45)
+
+**Scope**: Remote 4D machine
+
+**Kept between two sessions**: No
+
+**Possible values**: 0 or from 1 to X (0 = do not record, 1 to X = sequential number, attached to file name).
+
+**Description**: Starts or stops recording of standard requests carried out by the 4D client machine that executed the command (excluding Web requests). By default, the value is 0 (no recording of requests).
+
+4D lets you record the log of requests carried out by the client machine. When this mechanism is activated, two files are created on the client machine, in the Logs subfolder of the local folder of the database. They are named 4DRequestsLog\_X.txt and 4DRequestsLog\_ProcessInfo\_X.txt, where X is the sequential number of the log. Once the file 4DRequestsLog has reached a size of 10 MB, it is closed and a new one is generated, with an incremented sequential number. If a file with the same name already exists, it is directly replaced. You can set the starting number for the sequence using the value parameter.
+
+These text files store various information concerning each request in a simple tabbed format: time, process number, size of request, processing duration, etc. For more information on the 4DRequestsLog files, please refer to please refer to [*Description of log files*](../Debugging/debugLogFiles.md).
+
+
+
+
### Client max concurrent Web proc (25)
**Scope**: All 4D remote machines
@@ -120,29 +210,36 @@ The Port ID selector is useful for 4D Web Servers compiled and merged with 4D De
-### Maximum Web requests size (27)
-**Scope**: 4D local, 4D Server
+### Client port ID (22)
- Kept between two **sessions**: Yes
+**Scope**: All 4D remote machines
-**Description**: *Constant obsolete (kept for compatibility reasons only).* We now recommend using the [WEB SET OPTION](web-set-option.md) and [WEB GET OPTION](web-get-option.md) commands for configuring the HTTP server.
+ **Kept between two** **sessions**: Yes
+
+ **Possible values**: See selector 15
+**Description**: Used to specify this parameter for all the remote 4D machines used as Web servers. The values defined using these selectors are applied to all the remote machines used as Web servers. If you want to define values only for certain remote machines, use the Preferences dialog box of 4D in remote mode.
-### 4D Server log recording (28)
-**Thread-safe** : Yes
-**Scope**: 4D Server, 4D remote*
+### Client Server port ID (35)
-* **Kept between two sessions**: No
+**Scope**:Database
-**Possible values**: 0 or from 1 to X (0 = do not record, 1 to X = sequential number, added to the file name).
+**Kept between two** **sessions**: Yes
-**Description**: Starts or stops the recording of standard requests received by 4D Server (excluding Web requests). By default, the value is 0 (requests not recorded).
+**Possible values**: 0 to 65535
+
+**Description**: TCP port number where the 4D Server publishes the database (bound for 4D remote machines). By default, the value is 19813\.
+
+Customizing this value means that several 4D client-server applications can be used on the same machine with the TCP protocol; in this case, you must indicate a different port number for each application.
+
+The value is stored in the database structure file. It can be set with 4D in local mode but is only taken into account in client-server configuration.
+
+When you modify this value, it is necessary to restart the server machine in order for the new value to be taken into account.
-4D Server lets you record each request received by the server machine in a log file. When this mechanism is enabled, two files are created in the Logs folder of the database. They are named *4DRequestsLogServer\_X*.txt and *4DRequestsLog\_ProcessInfoServer\_X*.txt on the server, and *4DRequestsLog\_X*.txt and *4DRequestsLog\_ProcessInfo\_X*.txt on the remote, where X is the sequential number of the log. Once a file has reached a size of 10 MB, it is closed and a new one is generated, with an incremented sequential number. If a file of the same name already exists, it is replaced directly. You can set the starting number of the sequence using the *value* parameter. These text files store various information concerning each request in a simple tabbed format: time, process number, size of request, processing duration, etc. For more information on the 4DRequestsLog files, please refer to the *Description of log files* section.
@@ -154,23 +251,42 @@ The Port ID selector is useful for 4D Web Servers compiled and merged with 4D De
**Possible values**: 0 = Do not record (default), 1 = Record in CLF format, 2 = Record in DLF format, 3 = Record in ELF format, 4 = Record in WLF format.
-**Description**: Command SET DATABASE PARAMETEStarts or stops the recording of Web requests received by the Web servers of all the client machines. By default, the value is 0 (requests not recorded).
+**Description**: Starts or stops the recording of Web requests received by the Web servers of all the client machines. By default, the value is 0 (requests not recorded).
The operation of this selector is identical to that of selector 29; however, it applies to all the 4D remote machines used as Web servers. The "logweb.txt" file is, in this case, automatically placed in the Logs subfolder of the remote 4D database folder (cache folder). If you only want to set values for certain client machines, use the Preferences dialog box of 4D in remote mode.
-### Table sequence number (31)
-**Scope**:4D application
+### Current process debug log recording (111)
- **Kept between two sessions**: Yes
+**Scope:** 4D application
- **Possible values**: Any longint value.
+**Kept between two sessions:** No
-**Description**: Command SET DATABASE PARAMETERThis selector is used to modify or get the current unique number for records of the table passed as parameter. "Current number" means "last number used": if you modify this value using [SET DATABASE PARAMETER](set-database-parameter.md), the next record will be created with a number that consists of the value passed + 1\. This new number is the one returned by the [Sequence number](sequence-number.md) command as well in any field of the table to which the "Autoincrement" property has been assigned in the Structure editor or via SQL.
+**Description**: Starts or stops the sequential recording of programming events **for the current process** in a separated log file. This log is similar to the Debug log recording (selector 34) but focuses on the current process only. The log file name includes the letter "p" and the process number: 4DDebugLog\[\_p*N*_*n*].txt, where N is the process unique ID.
+
+For more information about this format and on the use of the *4DDebugLog* file, please refer to please refer to [*Description of log files*](../Debugging/debugLogFiles.md).
+
+**Notes:** This selector is provided solely for the purpose of debugging and should be used with care. In particular, it must not put into production since it can have an impact on the application performance. You can use both Debug log recording and Current process debug log recording selectors simultaneously, in which case the current process actions will not be logged in the main log file.
+
+
+
+
+### Dates inside objects (85)
+
+**Scope:** Current process
+
+**Kept between two sessions**: No
+
+ **Possible values**: String type without time zone (0), String type with time zone (1), Date type (2) (default)
+
+**Description**: Defines the way dates are stored within objects, as well as how they will be imported/exported in JSON.
+
+When the selector value is Date type (default value for databases created with 4D v17 and higher), 4D dates are stored with the date type within objects, with respect to the local date settings. When converted to JSON format, date attributes will be converted to strings which do not include a time. (**Note:** this setting can be set by means of the "Use date type instead of ISO date format in objects" option found on the *Compatibility page* of the Database Settings).
+
+Passing String type with time zone in this selector will convert 4D dates into ISO strings and take the local time zone into account. For example, converting the date 23/08/2013 gives you "2013-08-22T22:00:000Z" in JSON format when the operation is performed in France during Daylight Savings Time (GMT+2). This principle conforms to the standard operation of JavaScript. This can be a source of errors when you want to send JSON date values to someone in a different time zone. For example, when you export a table using [Selection to JSON](selection-to-json.md) in France that is meant to be reimported in the US using [JSON TO SELECTION](json-to-selection.md). Since dates are re-interpreted in each time zone, the values stored in the database will be different. In this case, you can modify the conversion mode for dates so that they do not take the time zone into account by passing String type without time zone in this selector. Converting the date 23/08/2013 will then give you "2013-08-23T00:00:00Z" in all cases.
-By default, this unique number is set by 4D and corresponds to the order of record creation. For additional information, refer to the documentation of the [Sequence number](sequence-number.md) command.
@@ -180,42 +296,34 @@ By default, this unique number is set by 4D and corresponds to the order of reco
**Scope**: 4D application
-Kept between two **sessions**: No
+**Kept between two sessions**: No
**Description**: Starts or stops the sequential recording of events occurring at the 4D programming level in the *4DDebugLog\[\_n\].txt* file or *4DDebugLogServer\[\_n\].txt* (where \_n is the segment number of the file and *Server* is added to the file name when generated on the server). Two modes are available:
- Standard mode provides a basic view of events and the file is automatically placed in the Logs subfolder of the database, next to the structure file. Execution times are expressed in milliseconds with the "< ms" value displayed when an operation lasts less than one millisecond.
-
- Tabbed mode provides additional information and uses a more compact, tabbed format in the file. Execution times are expressed in microseconds.
**Possible values**: Longint containing a bit field: value = bit1(1)+bit2(2)+bit3(4)+bit4(8)+…).
- Bit 0 (value 1) requests to enable the file (note that any other non-null value also enables it as well)
-
- Bit 1 (value 2) requests call parameters to commands and (interpreted mode only) methods
-
- Bit 2 (value 4) enables tabbed format.
-
- Bit 3 (value 8) disables immediate writing of each operation on disk (enabled by default). Immediate writing is slower but more effective, for example for investigating causes of a crash. If you disable this mode, the file contents are generated more quickly.
-
- Bit 4 (value 16) disables recording of plug-in calls (enabled by default).
-
- Bit 5 (value 32) disables member function logging.
Examples:
+```4d
SET DATABASE PARAMETER (34;1) // enables standard mode without parameters, with runtimes
-
SET DATABASE PARAMETER (34;2) // enables standard mode with parameters and runtimes
-
SET DATABASE PARAMETER (34;2+4) // enables tabbed mode with parameters and runtimes
-
SET DATABASE PARAMETER (34;0) // disables file
+```
For any type of interpreted or compiled 4D application (4D all modes, 4D Server, 4D Volume Desktop), you can avoid having a file record too much information by:
- restricting the 4D commands that are examined by using Log command list (selector 80), or
-
- restricting it to the current process only with Current process debug log recording (selector 111). This will add the letter "p" and the process number to the file name: *4DDebugLog\[\_pn\_n\].txt* or *4DDebugLogServer\[\_pn\_n\].txt* *
*For more information about this format and on the use of the *4DDebugLog* file, please refer to the *Description of log files* section..
@@ -228,484 +336,460 @@ For any type of interpreted or compiled 4D application (4D all modes, 4D Server,
-### Client Server port ID (35)
-
-**Scope**:Database
-
- **Kept between two** **sessions**: Yes
- **Possible values**: 0 to 65535
+### Diagnostic log level (86)
-**Description**: TCP port number where the 4D Server publishes the database (bound for 4D remote machines). By default, the value is 19813\.
+**Thread-safe** : Yes
-Customizing this value means that several 4D client-server applications can be used on the same machine with the TCP protocol; in this case, you must indicate a different port number for each application.
+**Scope:** 4D application
-The value is stored in the database structure file. It can be set with 4D in local mode but is only taken into account in client-server configuration.
+**Kept between two sessions:** No
-When you modify this value, it is necessary to restart the server machine in order for the new value to be taken into account.
+**Description:** Level(s) of messages to be included in the diagnostic log when enabled (see selector Diagnostic log recording). Each level designates a category of diagnostic messages and automatically includes more important categorie(s). For a description of categories, see *Diagnostic log levels* section on *developer.4d.com*.
+**Possible values:** One of the following constants (Log info by default):
+- Log trace: activates ERROR, WARN, INFO, DEBUG, TRACE (most detailed level)
+- Log debug: activates ERROR, WARN, INFO, DEBUG
+- Log info: activates ERROR, WARN, INFO (default)
+- Log warn: activates ERROR, WARN
+- Log error: activates ERROR (least detailed level)
-### HTTPS Port ID (39)
-**Scope**:4D local, 4D Server
- Kept between two **sessions**: Yes
+### Diagnostic log recording (79)
-**Description**: *Constant obsolete (kept for compatibility reasons only).* We now recommend using the [WEB SET OPTION](web-set-option.md) and [WEB GET OPTION](web-get-option.md) commands for configuring the HTTP server.
+**Thread-safe** : Yes
+**Scope**: 4D application
+**Kept between two sessions**: No
-### Client HTTPS port ID (40)
+Possible values: 0 or 1 (0 = do not record, 1 = record)
-**Scope**:All 4D remote machines
+**Description**: Starts or stops recording of the 4D diagnostic file. By default, the value is 0 (do not record).
- **Kept between two** **sessions**: Yes
+4D can continuously record a set of events related to the internal application operation into a diagnostic file. Information contained in this file is intended for the development of 4D applications and can be analyzed with the help of the 4D tech support (for more information, please refer to the *Description of log files* section on *developer.4d.com*). When you pass 1 in this selector, a diagnostic file is automatically created (or opened) in the database **Logs** folder. The file is named *4DDiagnosticLog\_X*.txt (or *4DDiagnosticLogServer\_X*.txt if generated on the server). Once this file reaches a size of 10 MB, it is closed and a new file is generated, with an incremented sequence number X.
- **Possible values**: 0 to 65535
+Note that you can include custom information in this file using the [LOG EVENT](log-event.md) command.
-**Description**: TCP port number used by the Web servers of the client machines for secure connections via SSL (HTTPS protocol). By default, the value is 443 (standard value).
-This selector can be used to modify by programming the TCP port used by the Web servers of the client machines for secure connections via SSL (HTTPS protocol). By default, the value is 443 (standard value).
-This selector operates exactly the same way as selector 39; however, it applies to all the 4D remote machines used as Web servers. If you only want to modify the value of certain specific client machines, use the Preferences dialog box of the remote 4D.
+### Direct2D get active status (74)
+**Note**: You can only use this selector with the [Get database parameter](get-database-parameter.md) command and its value cannot be set.
-### SQL Autocommit (43)
+**Description**: Returns active implementation of Direct2D under Windows.
-**Scope**:Database
+**Possible values**: 0, 1, 2, 3, 4 or 5 (see values of selector 69). The value returned depends on the availability of Direct2D, the hardware and the quality of Direct2D support by the operating system.
- **Kept between two** **sessions**: Yes
+For example, if you execute:
- **Possible values**: 0 (deactivation) or 1 (activation)
+```4d
+ SET DATABASE PARAMETER(Direct2D status;Direct2D Hardware)
+ $mode:=Get database parameter(Direct2D get active status)
+```
-**Description**: Activation or deactivation of the SQL auto-commit mode. By default, the value is 0 (deactivated mode)
+- On Windows 7 and higher, *$mode* is set to 1 when the system detects hardware compatible with Direct2D; otherwise, *$mode* is set to 3 (software context).
+- On Windows Vista, *$mode* is set to 1 when the system detects hardware compatible with Direct2D; otherwise, *$mode* is set to 0 (disabling of Direct2D).
+- On Windows XP, *$mode* is always set to 0 (not compatible with Direct2D).
- The auto-commit mode is used to strengthen the referential integrity of the database. When this mode is active, all *SELECT*, *INSERT*, *UPDATE* and *DELETE* (SIUD) queries are automatically included in ad hoc transactions when they are not already executed within a transaction. This mode can also be set in the Preferences of the database.
-### SQL Engine case sensitivity (44)
+### Direct2D status (69)
-**Scope**: Database
+**Scope**: 4D application
-Kept between two **sessions**: Yes
+**Kept between two sessions**: No
-**Possible values**: 0 (case not taken into account) or 1 (case-sensitive)
+**Description**: Activation mode of Direct2D under Windows.
-**Description**: Activation or deactivation of case-sensitivity for string comparisons carried out by the SQL engine.
+**Possible values**: One of the following constants (mode 3 by default):
-By default, the value is 1 (case-sensitive): the SQL engine differentiates between upper and lower case and between accented characters when comparing strings (sorts and queries). For example “ABC”= “ABC” but “ABC” # “Abc” and "abc" # "âbc." In certain cases, for example so as to align the functioning of the SQL engine with that of the 4D engine, you may wish for string comparisons to not be case-sensitive (“ABC”=“Abc"="âbc").
+- Direct2D Disabled (0): Direct2D mode is not enabled and the database functions in the previous mode (GDI/GDIPlus).
+- Direct2D Hardware (1): Use Direct2D as graphics hardware context for entire 4D application. If this context is not available, use Direct2D graphics software context.
+- Direct2D Software (3) (Default mode): Beginning with Windows 7, use Direct2D graphics software context for entire 4D application.
-**Warning:* Since this option modifies the database structure file and all processes, for performance reasons it is highly recommended to set it at database startup only.* This option can also be set in the Database settings.
+**Warning:* This selector is provided for debugging purposes only. Since several 4D features rely on Direct2D, it must not be disabled in deployed applications. Only the default mode (Direct2D Software) is approved for deployed applications.*
-### Client log recording (45)
-**Scope**: Remote 4D machine
+### HTTP compression level (50)
-Kept between two **sessions**: No
+**Scope**:4D application
-**Possible values**: 0 or from 1 to X (0 = do not record, 1 to X = sequential number, attached to file name).
+**Kept between two sessions**: No
-**Description**: Starts or stops recording of standard requests carried out by the 4D client machine that executed the command (excluding Web requests). By default, the value is 0 (no recording of requests).
+**Description**: *Constant obsolete (kept for compatibility reasons only).* We now recommend using the [WEB SET OPTION](web-set-option.md) and [WEB GET OPTION](web-get-option.md) commands for configuring the HTTP server.
-4D lets you record the log of requests carried out by the client machine. When this mechanism is activated, two files are created on the client machine, in the Logs subfolder of the local folder of the database. They are named 4DRequestsLog\_X.txt and 4DRequestsLog\_ProcessInfo\_X.txt, where X is the sequential number of the log. Once the file 4DRequestsLog has reached a size of 10 MB, it is closed and a new one is generated, with an incremented sequential number. If a file with the same name already exists, it is directly replaced. You can set the starting number for the sequence using the value parameter.
-These text files store various information concerning each request in a simple tabbed format: time, process number, size of request, processing duration, etc. For more information on the 4DRequestsLog files, please refer to the *Description of log files* section.
+### HTTP compression threshold (51)
-### Query by formula on server (46)
+**Scope**:4D application
-**Scope**: Current table and process
+**Kept between two** **sessions**: No
- **Kept between two sessions**: No
+**Description**: *Constant obsolete (kept for compatibility reasons only).* We now recommend using the [WEB SET OPTION](web-set-option.md) and [WEB GET OPTION](web-get-option.md) commands for configuring the HTTP server.
- **Possible values**: 0 (use database configuration), 1 (execute on client) or 2 (execute on server)
-**Description**: Execution location of [QUERY BY FORMULA](query-by-formula.md) and [QUERY SELECTION BY FORMULA](query-selection-by-formula.md) commands for the *table* passed in the parameter.
-When using a database in client-server mode, the query "by formula" commands can be executed either on the server or on the client machine:
-In databases created with 4D v11 SQL, these commands are executed on the server. In converted databases, these commands are executed on the client machine, as in previous versions of 4D.In converted databases, a specific preference (Application/Compatibility page) can be used to globally modify the execution location of these commands.This difference in execution location influences not only application performance (execution on the server is usually faster) but also programming. In fact, the value of the components of the formula (in particular variables called via a method) differ according to the execution context. You can use this selector to punctually adapt the operation of your application.
+### HTTPS Port ID (39)
-If you pass 0 in the *value* l’parameter, the execution location of query "by formula" commands will depend on the database configuration: in databases created with 4D v11 SQL, these commands will be executed on the server. In converted databases, they will be executed on the client machine or the server according to the database preferences. Pass 1 or 2 in *value* to "force" the execution of these commands, respectively, on the client or on the server machine.
+**Scope**:4D local, 4D Server
-Refer to example 2.
+**Kept between two sessions**: Yes
-**Note:** If you want to be able to enable "SQL type" joins (see the QUERY BY FORMULA Joins selector), you must always execute formulas on the server so that they have access to the records. Be careful, in this context, the formula must not contain any calls to a method, otherwise it will automatically be switched to the remote machine.
+**Description**: *Constant obsolete (kept for compatibility reasons only).* We now recommend using the [WEB SET OPTION](web-set-option.md) and [WEB GET OPTION](web-get-option.md) commands for configuring the HTTP server.
-### Order by formula on server (47)
-**Scope**:Current table and process
+### Idle connections timeout (54)
- **Kept between two** **sessions**: No
+**Scope**:4D application unless value is negative
- **Possible values**: 0 (use database configuration), 1 (execute on client) or 2 (execute on server)
+**Kept between two sessions**: No
-**Description** : Execution location of [ORDER BY FORMULA](order-by-formula.md) command for the table passed in the parameter.
+**Possible values**: Whole value expressing a duration in seconds. The value can be positive (new connections) or negative (existing connections). By default, the value is 20.
-When using a database in client-server mode, this command can be executed either on the server or on the client machine. This selector can be used to specify the execution location of this command (server or client). This mode can also be set in the database preferences. For more information, please refer to the description of selector 46, Query By Formula On Server.
+**Description**: Maximum period of inactivity for connections to the 4D database engine, the SQL engine and to the 4D application server (*ServerNet* network layer only, ignored in *QUIC*). When an idle connection reaches this limit, it is automatically put on standby, which freezes the client/server session and closes the network socket. In the server administration window, the state of the user process is indicated as "Postponed". This functioning is completely transparent for the user: as soon as there is new activity on the connection which is on standby, the socket is automatically reopened and the client/server session is restored.
-**Note:** If you want to be able to enable "SQL type" joins (see the QUERY BY FORMULA Joins selector), you must always execute formulas on the server so that they have access to the records. Be careful, in this context, the formula must not contain any calls to a method, otherwise it will automatically be switched to the remote machine.
+On the one hand, this setting lets you save resources on the server: connections on standby close the socket and free up a process on the server. On the other hand, it lets you avoid losing connections due to the closing of idle sockets by the firewall. For this, the timeout value for idle connections must be lower than that of the firewall in this case.
+If you pass a positive value in *value*, it applies to all new connections in all the processes. If you pass a negative value, it applies to connections that are open in the current process. If you pass 0, idle connections are not subjected to a timeout.
+This parameter must be set on the client side. Usually, you do not need to change this value.
-### Auto synchro resources folder (48)
-**Scope**:4D remote machine
- **Kept between two** **sessions**: No
- **Possible values**: 0 (no synchronization), 1 (auto synchronization) or 2 (ask).
+### IMAP Log (119)
-**Description**: Dynamic synchronization mode for *Resources* folder of 4D client machine that executed the command with that of the server.
+**Thread-safe** : Yes
-When the contents of the *Resources* folder on the server has been modified or a user has requested synchronization (for example via the resources explorer or following the execution of the [SET DATABASE LOCALIZATION](set-database-localization.md) command), the server notifies the connected client machines.
+**Scope**: 4D local, 4D Server
-Three synchronization modes are then possible on the client side. The Auto Synchro Resources Folder selector is used to specify the mode to be used by the client machine for the current session:
+**Kept between two sessions**: No
-0 (default value): no dynamic synchronization (synchronization request is ignored) 1: automatic dynamic synchronization2: display of a dialog box on the client machines, with the possibility of allowing or refusing synchronization.The synchronization mode can also be set globally in the application Preferences.
+**Possible values**: 0 or from 1 to X (0 = do not record, 1 to X = sequential number, added to the file name). By default, the value is 0 (IMAP exchanges not recorded).
+**Description**: Starts or stops the recording of exchanges between 4D and the IMAP server, when a transporter object is processed through *IMAP\_transporter.getMail( )* or *IMAP\_transporter.checkConnection( )*. By default, the value is 0 (exchanges not recorded). When this mechanism is enabled, a log file is created in the Logs folder of the database. It is named 4DIMAPLog\_X.txt, where X is the sequential number of the log. Once the file 4DIMAPLog has reached a size of 10 MB, it is closed and a new one is generated, with an incremented sequential number. If a file of the same name already exists, it is replaced directly. You can set the starting number of the sequence using the value parameter. By default, all files are kept, but you can control the number of files to keep using the Circular log limitation parameter.
+For more information on the 4DIMAPLog\_X.txt files, please refer to [*Description of log files*](../Debugging/debugLogFiles.md).
-### Query by formula joins (49)
-**Scope**:Current process
- **Kept between two** **sessions**: No
- **Possible values**: 0 (use database configuration), 1 (always use automatic relations) or 2 (use SQL joins if possible).
+### Is current database a project (112)
-**Description**: Operating mode of the [QUERY BY FORMULA](query-by-formula.md) and [QUERY SELECTION BY FORMULA](query-selection-by-formula.md) commands relating to the use of "SQL joins."
+**Note:** You can only use this selector with the [Get database parameter](get-database-parameter.md) command and its value cannot be set.
-In databases created starting with version 11.2 of 4D v11 SQL, these commands carry out joins based on the SQL joins model. This mechanism can be used to modify the selection of a table according to a query carried out on another table without these tables being connected by an automatic relation (necessary condition in previous versions of 4D).
+**Scope**: 4D application
-The QUERY BY FORMULA Joins selector lets you specify the operating mode of the query by formula commands for the current process:
+**Description**: Returns 1 if the current database architecture is a project, and 0 otherwise. For more information, please refer to [*Project vs binary database* section on doc.4d.com](https://doc.4d.com/4Dv20/4D/20.2/Creating-a-new-database.300-6750129.en.html#5057971).
-0: Uses the current settings of the database (default value). In databases created starting with version 11.2 of 4D v11 SQL, "SQL joins" are always activated for queries by formula. In converted databases, this mechanism is not activated by default for compatibility reasons but can be implemented via a preference.1: Always use automatic relations (= functioning of previous versions of 4D). In this mode, a relation is necessary in order to set the selection of a table according to queries carried out on another table. 4D does not do "SQL joins."2: Use SQL joins if possible (= default operation of databases created in version 11.2 and higher of 4D v11 SQL ). In this mode, 4D establishes "SQL joins" for queries by formula when the formula is suited for it (with two notable exceptions, see the description of the [QUERY BY FORMULA](query-by-formula.md) or [QUERY SELECTION BY FORMULA](query-selection-by-formula.md) command).**Note:** With 4D in remote mode, "SQL joins" can only be used if the formulas are executed on the server (they must have access to the records). To configure where formulas are to be executed, please refer to selectors 46 and 47.
-### HTTP compression level (50)
+### Is host database a project (113)
-**Scope**:4D application
+**Note:** You can only use this selector with the [Get database parameter](get-database-parameter.md) command and its value cannot be set.
- Kept between two **sessions**: No
+**Scope**: 4D application
-**Description**: *Constant obsolete (kept for compatibility reasons only).* We now recommend using the [WEB SET OPTION](web-set-option.md) and [WEB GET OPTION](web-get-option.md) commands for configuring the HTTP server.
+**Description**: Returns 1 if the host database architecture is a project, and 0 otherwise. For more information, please refer to [*Project vs binary database* section on doc.4d.com](https://doc.4d.com/4Dv20/4D/20.2/Creating-a-new-database.300-6750129.en.html#5057971).
-### HTTP compression threshold (51)
-**Scope**:4D application
+### Is host database writable (117)
- **Kept between two** **sessions**: No
+**Note:** You can only use this selector with the [Get database parameter](get-database-parameter.md) command and its value cannot be set.
-**Description**: *Constant obsolete (kept for compatibility reasons only).* We now recommend using the [WEB SET OPTION](web-set-option.md) and [WEB GET OPTION](web-get-option.md) commands for configuring the HTTP server.
+**Scope**: 4D application
+**Description**: Returns 1 if the host project file/structure file is writable, and 0 if it is read-only.
-### Server base process stack size (53)
-**Scope**: 4D Server
- Kept between two **sessions**: No
+### Libldap version (114)
- **Possible values**: Positive longint.
+**Scope**: Current 4D machine
-**Description**: Size of the stack allocated to each preemptive system process on the server, expressed in bytes. The default size is determined by the system.
+**Kept between two sessions**: n/a
-Preemptive system processes (processes of the 4D client base process type) are loaded to control the main 4D client processes. The size allocated by default to the stack of each preemptive process allows a good ease of execution but may prove to be consequential when very large numbers of processes (several hundred) are created.
+**Description**: Returns the version number of the LDAP library in the 4D application on the current machine. (Read only)
-For optimization purposes, this size can be reduced considerably if the operations carried out by the database allow for it (for example if the database does not carry out sorts of large quantities of records). Values of 512 or even 256 KB are possible. Be careful, under-sizing the stack is critical and can be harmful to the operation of 4D Server. Setting this parameter should be done with caution and must take the database conditions of use into account (number of records, type of operations, etc.).
-In order to be taken into account, this parameter must be executed on the server machine (for example in the *On Server Startup Database Method*).
+### Libsasl version (115)
-### Idle connections timeout (54)
+**Scope**: Current 4D machine
-**Scope**:4D application unless value is negative
+**Kept between two sessions**: n/a
-**Kept between two** **sessions**: No
+**Description**: Returns the version number of the SASL library in the 4D application on the current machine. (Read only)
-**Possible values**: Whole value expressing a duration in seconds. The value can be positive (new connections) or negative (existing connections). By default, the value is 20.
-**Description**: Maximum period of inactivity for connections to the 4D database engine, the SQL engine and to the 4D application server (*ServerNet* network layer only, ignored in *QUIC*). When an idle connection reaches this limit, it is automatically put on standby, which freezes the client/server session and closes the network socket. In the server administration window, the state of the user process is indicated as "Postponed". This functioning is completely transparent for the user: as soon as there is new activity on the connection which is on standby, the socket is automatically reopened and the client/server session is restored.
-On the one hand, this setting lets you save resources on the server: connections on standby close the socket and free up a process on the server. On the other hand, it lets you avoid losing connections due to the closing of idle sockets by the firewall. For this, the timeout value for idle connections must be lower than that of the firewall in this case.
-If you pass a positive value in *value*, it applies to all new connections in all the processes. If you pass a negative value, it applies to connections that are open in the current process. If you pass 0, idle connections are not subjected to a timeout.
+### Libzip version (120)
-This parameter must be set on the client side. Usually, you do not need to change this value.
+**Scope:** Current 4D machine
+**Kept between two sessions:** n/a
+**Description:** Returns the version number of the libzip library in the 4D application on the current machine. (Read only)
-### PHP interpreter IP address (55)
-**Scope**:4D application
- Kept between two **sessions**: No
-**Values**: Formatted string of the IPv4 type (for example "127.0.0.1") or IPv6 type (for example "2001:0db8:0000:0000:0000:ff00:0042:8329")
+### Log command list (80)
-**Description**: IP address used locally by 4D to communicate with the PHP interpreter via FastCGI. By default, the value is "127.0.0.1" (addresses in IPv6 format are supported starting with 4D v16R4). This address must correspond to the machine where 4D is located. This parameter can also be set globally for all the machines via the Database Settings.
+**Scope**: 4D application
-For more information about the PHP interpreter, please refer to the *Design Reference* manual.
+**Kept between two sessions**: No
+**Possible values**: String containing a list of 4D command numbers to record (separated by semi-colons) or "all" to record all the commands or "" (empty string) to record none of them or prefixed by "-" to exclude specific commands.
+**Description**: List of 4D commands to record in or exclude from the debugging file (see selector 34, Debug Log Recording). By default, all 4D commands are recorded.
-### PHP interpreter port (56)
+This selector restricts the quantity of information saved in the debugging file by limiting the 4D commands whose execution you want to record or exclude from recording. For example, you can write:
-**Scope**:4D application
+```4d
+//Record only the QUERY and QUERY SELECTION commands
+SET DATABASE PARAMETER(Log command list;"277;341")
+```
+OR
+```4d
+//Exclude the SET USER ALIAS and DELAY PROCESS commands from being recorded
+SET DATABASE PARAMETER(Log command list;"-1666;-323")
+```
- **Kept between two** **sessions**: No
-**Values**: Positive long integer type value. By default, the value is 8002\.
-**Description**: Number of the TCP port used by the PHP interpreter of 4D. This parameter can also be modified globally for all the machines via the Database Settings. For more information about the PHP interpreter, please refer to the *Design Reference* manual.
+### Max concurrent Web processes (18)
+**Scope**: 4D local, 4D Server
+**Kept between two sessions**: Yes
-### SSL cipher list (64)
+**Description**: *Constant obsolete (kept for compatibility reasons only).* We now recommend using the [WEB SET OPTION](web-set-option.md) and [WEB GET OPTION](web-get-option.md) commands for configuring the HTTP server.
-**Scope**: 4D application
-Kept between two **sessions**: No
-**Possible values**: Sequence of strings separated by colons.
-**Description:** Cipher list used by 4D for the secure protocol. This list modifies the priority of ciphering algorithms implemented by 4D. For example, you can pass the following string in the *value* parameter: "HIGH:!aNULL:!MD5:!3DES:!CAMELLIA:!AES128:!RSA:!DH:!RC4". For a complete description of the syntax for the ciphers list, refer to the *ciphers page of the OpenSSL* *site*.
+### Maximum Web requests size (27)
-This setting applies to the main Web server (excluding Web server objects), the SQL server, client/server connections, as well as the HTTP client and all the 4D commands that make use of the secure protocol. It is temporary (it is not maintained between sessions).
+**Scope**: 4D local, 4D Server
-When the cipher list has been modified, you will need to restart the server concerned in order for the new settings to be taken into account.
+**Kept between two sessions**: Yes
-To reset the cipher list to its default value (stored permanently in the SLI file), call the [SET DATABASE PARAMETER](set-database-parameter.md) command and pass an empty string ("") in the *value* parameter.
+**Description**: *Constant obsolete (kept for compatibility reasons only).* We now recommend using the [WEB SET OPTION](web-set-option.md) and [WEB GET OPTION](web-get-option.md) commands for configuring the HTTP server.
-**Note:** With the [Get database parameter](get-database-parameter.md) command, the cipher list is returned in the optional *stringValue* parameter and the return parameter is always 0.
-### Cache unload minimum size (66)
+### Min TLS version (105)
-**Scope**: 4D application
+**Scope**: 4D Server, 4D Web Server and 4D SQL Server
**Kept between two sessions**: No
-**Possible values**: Positive longint > 1.
-
-**Description**: Minimum size of memory to release from the database cache when the engine needs to make space in order to allocate an object to it (value in bytes).
-
-The purpose of this selector is to reduce the number of times that data is released from the cache in order to obtain better performance. You can vary this setting according to the size of the cache and that of the blocks of data being handled in your database.
-
-By default, if this selector is not used, 4D unloads at least 10% of the cache when space is needed.
-
+**Description**: Used to specify the minimum Transport Layer Security (TLS) version, which provides data encryption and authentication between applications and servers. Connection attempts from clients supporting only versions below the minimum will be rejected. The setting is applied globally to the network layer. Once modified, the server must be restarted to use the new value.
+**Default value**: TLSv1\_3
-### Direct2D status (69)
+**Possible values**:
+- TLSv1\_2 (TLS 1.2, introduced in 2008)
+- TLSv1\_3 (TLS 1.3, introduced in 2018)
-**Scope**: 4D application
+**NOTES**:
+- The 4D Internet Commands plugin uses a different network layer, therefore this selector will have no impact on its TLS version.
+- This setting is ignored for your client server connections if your 4D Server uses the legacy network layer.
-**Kept between two sessions**: No
-**Description**: Activation mode of Direct2D under Windows.
-**Possible values**: One of the following constants (mode 3 by default):
-Direct2D Disabled (0): Direct2D mode is not enabled and the database functions in the previous mode (GDI/GDIPlus).
+### Number of formulas in cache (92)
-Direct2D Hardware (1): Use Direct2D as graphics hardware context for entire 4D application. If this context is not available, use Direct2D graphics software context.
+**Scope**: 4D application
-Direct2D Software (3) (Default mode): Beginning with Windows 7, use Direct2D graphics software context for entire 4D application.
+**Kept between two sessions**: No
-**Warning:* This selector is provided for debugging purposes only. Since several 4D features rely on Direct2D, it must not be disabled in deployed applications. Only the default mode (Direct2D Software) is approved for deployed applications.*
+**Possible values**: Positive longints
+**Default value**: 0 (no cache)
+**Description**: Sets or gets the maximum number of formulas to be kept in the cache of formulas, which is used by the [EXECUTE FORMULA](execute-formula.md) command. This limit is applied to all processes, but each process has its own formula cache. Caching formulas accelerates the [EXECUTE FORMULA](execute-formula.md) command execution in compiled mode since each cached formula is tokenized only once in this case. When you change the cache value, existing contents are reset even if the new size is larger than the previous one. Once the maximum number of formulas in the cache is reached, a new executed formula will erase the oldest one in the cache (FIFO mode). This parameter is only taken into account in compiled databases or compiled components.
-### Direct2D get active status (74)
-**Note**: You can only use this selector with the [Get database parameter](get-database-parameter.md) command and its value cannot be set.
-**Description**: Returns active implementation of Direct2D under Windows.
-**Possible values**: 0, 1, 2, 3, 4 or 5 (see values of selector 69). The value returned depends on the availability of Direct2D, the hardware and the quality of Direct2D support by the operating system.
+### OpenSSL version (94)
-For example, if you execute:
+**Scope**: all 4D machines*
- SET DATABASE PARAMETER(Direct2D status;Direct2D Hardware) $mode:=Get database parameter(Direct2D get active status)
+**Kept between two sessions**: No
-- On Windows 7 and higher, *$mode* is set to 1 when the system detects hardware compatible with Direct2D; otherwise, *$mode* is set to 3 (software context).
+**Description**: Returns the version number of the OpenSSL library in use on the machine. (Read only)
-- On Windows Vista, *$mode* is set to 1 when the system detects hardware compatible with Direct2D; otherwise, *$mode* is set to 0 (disabling of Direct2D).
-- On Windows XP, *$mode* is always set to 0 (not compatible with Direct2D).
+### Order by formula on server (47)
-### Diagnostic log recording (79)
+**Scope**:Current table and process
-**Thread-safe** : Yes
+**Kept between two** **sessions**: No
-**Scope**: 4D application
+**Possible values**: 0 (use database configuration), 1 (execute on client) or 2 (execute on server)
-Kept between two **sessions**: No
+**Description** : Execution location of [ORDER BY FORMULA](order-by-formula.md) command for the table passed in the parameter.
-Possible values: 0 or 1 (0 = do not record, 1 = record)
+When using a database in client-server mode, this command can be executed either on the server or on the client machine. This selector can be used to specify the execution location of this command (server or client). This mode can also be set in the database preferences. For more information, please refer to the description of selector 46, Query By Formula On Server.
-**Description**: Starts or stops recording of the 4D diagnostic file. By default, the value is 0 (do not record).
+**Note:** If you want to be able to enable "SQL type" joins (see the QUERY BY FORMULA Joins selector), you must always execute formulas on the server so that they have access to the records. Be careful, in this context, the formula must not contain any calls to a method, otherwise it will automatically be switched to the remote machine.
-4D can continuously record a set of events related to the internal application operation into a diagnostic file. Information contained in this file is intended for the development of 4D applications and can be analyzed with the help of the 4D tech support (for more information, please refer to the *Description of log files* section on *developer.4d.com*). When you pass 1 in this selector, a diagnostic file is automatically created (or opened) in the database **Logs** folder. The file is named *4DDiagnosticLog\_X*.txt (or *4DDiagnosticLogServer\_X*.txt if generated on the server). Once this file reaches a size of 10 MB, it is closed and a new file is generated, with an incremented sequence number X.
-Note that you can include custom information in this file using the [LOG EVENT](log-event.md) command.
+### Pause logging (121)
-### Log command list (80)
+**Thread-safe** : Yes
**Scope**: 4D application
-Kept between two **sessions**: No
-
-Possible values: String containing a list of 4D command numbers to record (separated by semi-colons) or "all" to record all the commands or "" (empty string) to record none of them or prefixed by "-" to exclude specific commands.
-
-**Description**: List of 4D commands to record in or exclude from the debugging file (see selector 34, Debug Log Recording). By default, all 4D commands are recorded.
-
-This selector restricts the quantity of information saved in the debugging file by limiting the 4D commands whose execution you want to record or exclude from recording. For example, you can write:
-
- SET DATABASE PARAMETER(Log command list;"277;341") //Record only the QUERY and QUERY SELECTION commands OR SET DATABASE PARAMETER(Log command list;"-1666;-323") //Exclude the SET USER ALIAS and DELAY PROCESS commands from being recorded
-
-
+**Kept between two** **sessions**: No
-### Spellchecker (81)
+**Possible values**: 0 (resume logs), 1 (pause logs)
-**Scope**: 4D application
+**Description:** This selector allows to suspend/resume all logging operations started on the application (except ORDA logs). This feature can be useful to temporarily lighten the 4D application tasks or schedule logging operations.
- **Kept between two sessions**: No
- **Possible values**: 0 (default) = native macOS spellchecker (Hunspell disabled), 1 = Hunspell spellcheck enabled.
-**Description**: Enables the Hunspell spellcheck under macOS. By default, the native spellchecker is enabled on this platform. You may prefer to use the Hunspell spellcheck, for example, in order to unify the interface for your cross-platform applications (under Windows, only the Hunspell spellcheck is available). For more information, refer to *Spell checking*.
+### PHP interpreter IP address (55)
+**Scope**:4D application
-### Dates inside objects (85)
+**Kept between two sessions**: No
-Scope: Current process
+**Values**: Formatted string of the IPv4 type (for example "127.0.0.1") or IPv6 type (for example "2001:0db8:0000:0000:0000:ff00:0042:8329")
- Kept between two **sessions**: No
+**Description**: IP address used locally by 4D to communicate with the PHP interpreter via FastCGI. By default, the value is "127.0.0.1" (addresses in IPv6 format are supported starting with 4D v16R4). This address must correspond to the machine where 4D is located. This parameter can also be set globally for all the machines via the Database Settings.
- **Possible values**: String type without time zone (0), String type with time zone (1), Date type (2) (default)
+For more information about the PHP interpreter, please refer to the *Design Reference* manual.
-**Description**: Defines the way dates are stored within objects, as well as how they will be imported/exported in JSON.
-When the selector value is Date type (default value for databases created with 4D v17 and higher), 4D dates are stored with the date type within objects, with respect to the local date settings. When converted to JSON format, date attributes will be converted to strings which do not include a time. (**Note:** this setting can be set by means of the "Use date type instead of ISO date format in objects" option found on the *Compatibility page* of the Database Settings).
-Passing String type with time zone in this selector will convert 4D dates into ISO strings and take the local time zone into account. For example, converting the date 23/08/2013 gives you "2013-08-22T22:00:000Z" in JSON format when the operation is performed in France during Daylight Savings Time (GMT+2). This principle conforms to the standard operation of JavaScript. This can be a source of errors when you want to send JSON date values to someone in a different time zone. For example, when you export a table using [Selection to JSON](selection-to-json.md) in France that is meant to be reimported in the US using [JSON TO SELECTION](json-to-selection.md). Since dates are re-interpreted in each time zone, the values stored in the database will be different. In this case, you can modify the conversion mode for dates so that they do not take the time zone into account by passing String type without time zone in this selector. Converting the date 23/08/2013 will then give you "2013-08-23T00:00:00Z" in all cases.
+### PHP interpreter port (56)
+**Scope**:4D application
-### Diagnostic log level (86)
+**Kept between two sessions**: No
-**Thread-safe** : Yes
+**Values**: Positive long integer type value. By default, the value is 8002\.
-**Scope:** 4D application
+**Description**: Number of the TCP port used by the PHP interpreter of 4D. This parameter can also be modified globally for all the machines via the Database Settings. For more information about the PHP interpreter, please refer to the *Design Reference* manual.
-**Kept between two sessions:** No
-**Description:** Level(s) of messages to be included in the diagnostic log when enabled (see selector Diagnostic log recording). Each level designates a category of diagnostic messages and automatically includes more important categorie(s). For a description of categories, see *Diagnostic log levels* section on *developer.4d.com*.
-**Possible values:** One of the following constants (Log info by default): Log trace: activates ERROR, WARN, INFO, DEBUG, TRACE (most detailed level) Log debug: activates ERROR, WARN, INFO, DEBUG Log info: activates ERROR, WARN, INFO (default) Log warn: activates ERROR, WARN Log error: activates ERROR (least detailed level)
+### POP3 Log (116)
+**Thread-safe** : Yes
-### Use legacy network layer (87)
+**Scope:** 4D local, 4D Server
-**Scope**: 4D in local mode, 4D Server
+**Kept between two sessions:** No
-**Kept between two sessions**: Yes
+**Possible values:** 0 or from 1 to X (0 = do not record, 1 to X = sequential number, added to the file name). By default, the value is 0 (POP3 exchanges not recorded).
-**Description:** Sets or gets the current status of the legacy network layer for client/server connections. The legacy network layer is obsolete beginning with 4D v14 R5 and should be replaced progressively in your applications with the *ServerNet* network layer. *ServerNet* will be required in upcoming 4D releases in order to benefit from future network evolutions. For compatibility reasons, the legacy network layer is still supported to allow a smooth transition for existing applications; (it is used by default in applications converted from a release prior to v14 R5). Pass 1 in this parameter to use the legacy network layer (and disable *ServerNet*) for your client/server connections, and pass 0 to disable the legacy network (and use the *ServerNet*).
+**Description**: Starts or stops the recording of exchanges between 4D and the POP3 server, when a transporter object is processed through *POP3\_transporter.getMail( )* or *POP3\_transporter.checkConnection( )*. By default, the value is 0 (exchanges not recorded). When this mechanism is enabled, a log file is created in the Logs folder of the database. It is named 4DPOP3Log\_X.txt, where X is the sequential number of the log. Once the file 4DPOP3Log has reached a size of 10 MB, it is closed and a new one is generated, with an incremented sequential number. If a file of the same name already exists, it is replaced directly. You can set the starting number of the sequence using the value parameter. By default, all files are kept, but you can control the number of files to keep using the Circular log limitation parameter.
-This property can also be set by means of the "Use legacy network layer" option found on the *Compatibility page* of the Database Settings (see *Network and Client-Server options*). In this section, you will also find a discussion about migration strategy. We recommend that you activate the *ServerNet* as soon as possible. You will need to restart the application in order for this parameter to be taken into account.
+For more information on the 4DPOP3Log\_X.txt files, please refer to the *Description of log files* section.
-**Possible values:** 0 or 1 (0 = do not use legacy layer, 1 = use legacy layer)
-**Default value:** 0 in databases created with 4D v14 R5 or higher, 1 in databases converted from 4D v14 R4 or earlier.
+### Port ID (15)
-### SQL Server Port ID (88)
+**Scope**: 4D local, 4D Server
-**Scope**: 4D local, 4D Server.
+**Kept between two sessions**: No
-**Kept between two sessions**: Yes
+**Description**: TCP port ID used by the 4D Web server with 4D in local mode and 4D Server. The default value, which can be set on the "Web/Configuration" page of the Preferences dialog box, is 80\. You can use the constants of the *TCP Port Numbers* theme for the *value* parameter.
-**Description**: Gets or sets the TCP port number used by the integrated SQL server of 4D in local mode or 4D Server. By default, the value is 19812\. When this selector is set, the database setting is updated. You can also set the TCP port number on the "SQL" page of the Database Settings dialog box.
+The Port ID selector is useful for 4D Web Servers compiled and merged with 4D Desktop (in which there is no access to the Design mode). For more information about the TCP port ID, refer to the *Web Server Settings* section.
-**Possible values**: 0 to 65535.
-**Default value**: 19812
+### Query by formula joins (49)
-### Circular log limitation (90)
+**Scope**:Current process
-**Thread-safe** : Yes
+**Kept between two** **sessions**: No
-**Scope**: 4D local, 4D Server.
+**Possible values**: 0 (use database configuration), 1 (always use automatic relations) or 2 (use SQL joins if possible).
-**Kept between two sessions**: No
+**Description**: Operating mode of the [QUERY BY FORMULA](query-by-formula.md) and [QUERY SELECTION BY FORMULA](query-selection-by-formula.md) commands relating to the use of "SQL joins."
-**Possible values**: Any integer value, 0 = keep all logs
+In databases created starting with version 11.2 of 4D v11 SQL, these commands carry out joins based on the SQL joins model. This mechanism can be used to modify the selection of a table according to a query carried out on another table without these tables being connected by an automatic relation (necessary condition in previous versions of 4D).
-**Description**: Maximum number of files to keep in rotation for each type of log. By default, the 50 most recent files are kept. If you pass a value *X*, only the *X* most recent files are kept, with the oldest being erased automatically when a new one is created. This setting applies to all log files, i.e. request logs (selectors 28 and 45), debug log (selector 34), events log (selector 79), Web logs (selectors 29 and 84 of the [WEB SET OPTION](web-set-option.md) command), etc.
+The QUERY BY FORMULA Joins selector lets you specify the operating mode of the query by formula commands for the current process:
+- 0: Uses the current settings of the database (default value). In databases created starting with version 11.2 of 4D v11 SQL, "SQL joins" are always activated for queries by formula. In converted databases, this mechanism is not activated by default for compatibility reasons but can be implemented via a preference.
+- 1: Always use automatic relations (= functioning of previous versions of 4D). In this mode, a relation is necessary in order to set the selection of a table according to queries carried out on another table. 4D does not do "SQL joins."
+- 2: Use SQL joins if possible (= default operation of databases created in version 11.2 and higher of 4D v11 SQL ). In this mode, 4D establishes "SQL joins" for queries by formula when the formula is suited for it (with two notable exceptions, see the description of the [QUERY BY FORMULA](query-by-formula.md) or [QUERY SELECTION BY FORMULA](query-selection-by-formula.md) command).
+**Note:** With 4D in remote mode, "SQL joins" can only be used if the formulas are executed on the server (they must have access to the records). To configure where formulas are to be executed, please refer to selectors 46 and 47.
-### Number of formulas in cache (92)
-**Scope**: 4D application
-**Kept between two sessions**: No
-**Possible values**: Positive longints
+### Query by formula on server (46)
-**Default value**: 0 (no cache)
+**Scope**: Current table and process
-**Description**: Sets or gets the maximum number of formulas to be kept in the cache of formulas, which is used by the [EXECUTE FORMULA](execute-formula.md) command. This limit is applied to all processes, but each process has its own formula cache. Caching formulas accelerates the [EXECUTE FORMULA](execute-formula.md) command execution in compiled mode since each cached formula is tokenized only once in this case. When you change the cache value, existing contents are reset even if the new size is larger than the previous one. Once the maximum number of formulas in the cache is reached, a new executed formula will erase the oldest one in the cache (FIFO mode). This parameter is only taken into account in compiled databases or compiled components.
+**Kept between two sessions**: No
+**Possible values**: 0 (use database configuration), 1 (execute on client) or 2 (execute on server)
+**Description**: Execution location of [QUERY BY FORMULA](query-by-formula.md) and [QUERY SELECTION BY FORMULA](query-selection-by-formula.md) commands for the *table* passed in the parameter.
-### OpenSSL version (94)
+When using a database in client-server mode, the query "by formula" commands can be executed either on the server or on the client machine:
-**Scope**: all 4D machines*
+In databases created with 4D v11 SQL, these commands are executed on the server. In converted databases, these commands are executed on the client machine, as in previous versions of 4D.In converted databases, a specific preference (Application/Compatibility page) can be used to globally modify the execution location of these commands.This difference in execution location influences not only application performance (execution on the server is usually faster) but also programming. In fact, the value of the components of the formula (in particular variables called via a method) differ according to the execution context. You can use this selector to punctually adapt the operation of your application.
-* **Kept between two sessions**: No
+If you pass 0 in the *value* l’parameter, the execution location of query "by formula" commands will depend on the database configuration: in databases created with 4D v11 SQL, these commands will be executed on the server. In converted databases, they will be executed on the client machine or the server according to the database preferences. Pass 1 or 2 in *value* to "force" the execution of these commands, respectively, on the client or on the server machine.
-**Description**: Returns the version number of the OpenSSL library in use on the machine. (Read only)
+Refer to example 2.
+**Note:** If you want to be able to enable "SQL type" joins (see the QUERY BY FORMULA Joins selector), you must always execute formulas on the server so that they have access to the records. Be careful, in this context, the formula must not contain any calls to a method, otherwise it will automatically be switched to the remote machine.
-### Cache flush periodicity (95)
-**Thread-safe** : Yes
+### RDP optimization (133)
-**Scope**: 4D local, 4D Server
+**Scope:** 4D application.
-**Kept between two sessions**: No
+**Kept between two sessions:** No.
-**Possible values**: longint > 1 (seconds)
+**Possible values:** `0`: Disabled (default), `1`: Enabled.
-**Description**: Gets or sets the current cache flush periodicity, expressed in seconds. Modifying this value overrides the **Flush Cache every X Seconds** option in the [XML DECODE](xml-decode.md) of the Database settings for the session (it is not stored in the Database settings).
+**Description:** Enables or disables optimizations for RDP (Remote Desktop Protocol). When enabled, optimizes in particular the use of shared clipboard in RDP connections, which can otherwise lead to freezing issues. Note that this selector disables the support in clipboard for images encoded as data uri in raw text (only concerns images dropped or explicitly copied as text from a browser).
@@ -723,247 +807,240 @@ The sleep timeout is applied after a machine running a 4D remote application has
-### Tips enabled (101)
-**Scope:** 4D application
+### Server base process stack size (53)
-**Kept between two sessions:** No
+**Scope**: 4D Server
-**Possible values:** 0 = tips disabled, 1 = tips enabled (default)
+**Kept between two sessions**: No
-**Description:** Sets or gets the current display status of the tips for the 4D application. By default, tips are enabled.
+**Possible values**: Positive longint.
- Note that this parameter sets all 4D tips, i.e. form help messages and Design mode editor's tips.
+**Description**: Size of the stack allocated to each preemptive system process on the server, expressed in bytes. The default size is determined by the system.
+Preemptive system processes (processes of the 4D client base process type) are loaded to control the main 4D client processes. The size allocated by default to the stack of each preemptive process allows a good ease of execution but may prove to be consequential when very large numbers of processes (several hundred) are created.
+For optimization purposes, this size can be reduced considerably if the operations carried out by the database allow for it (for example if the database does not carry out sorts of large quantities of records). Values of 512 or even 256 KB are possible. Be careful, under-sizing the stack is critical and can be harmful to the operation of 4D Server. Setting this parameter should be done with caution and must take the database conditions of use into account (number of records, type of operations, etc.).
-### Tips delay (102)
+In order to be taken into account, this parameter must be executed on the server machine (for example in the *On Server Startup Database Method*).
-**Scope:** 4D application
-**Kept between two sessions:** No
-**Possible values:** longint >= 0 (ticks)
-**Description:** Delay before tips are displayed once the mouse cursor has stopped in objects with attached help messages. Value is expressed in ticks (1/60th of a second). Default value is 45 ticks (0.75 seconds).
+### SMTP Log (110)
+**Thread-safe** : Yes
+**Scope**: 4D local, 4D Server*
-### Tips duration (103)
+**Kept between two sessions**: No
-**Scope:** 4D application
+**Possible values**: 0 or from 1 to X (0 = do not record, 1 to X = sequential number, added to the file name). By default, the value is 0 (SMTP exchanges not recorded).
-**Kept between two sessions:** No
+**Description**: Starts or stops the recording of exchanges between 4D and the SMTP server, when a *transporter* object is processed through *transporter.send( )* or *SMTP\_transporter.checkConnection( )*. By default, the value is 0 (exchanges not recorded). When this mechanism is enabled, a log file is created in the Logs folder of the database. It is named 4DSMTPLog\_X.txt, where *X* is the sequential number of the log. Once the file 4DSMTPLog has reached a size of 10 MB, it is closed and a new one is generated, with an incremented sequential number. If a file of the same name already exists, it is replaced directly. You can set the starting number of the sequence using the *value* parameter. By default, all files are kept, but you can control the number of files to keep using the Circular log limitation parameter.
-**Possible values:** longint >= 60 (ticks)
+For more information on the 4DSMTPLog\_X.txt files, please refer to the *Description of log files* section.
-**Description:** Maximum display duration for a tip. Value is expressed in ticks (1/60th of a second). Default value is 720 ticks (12 seconds).
-### Min TLS version (105)
+### Spellchecker (81)
-**Scope**: 4D Server, 4D Web Server and 4D SQL Server
+**Scope**: 4D application
-**Kept between two sessions**: No
+ **Kept between two sessions**: No
-**Description**: Used to specify the minimum Transport Layer Security (TLS) version, which provides data encryption and authentication between applications and servers. Connection attempts from clients supporting only versions below the minimum will be rejected. The setting is applied globally to the network layer. Once modified, the server must be restarted to use the new value.
+ **Possible values**: 0 (default) = native macOS spellchecker (Hunspell disabled), 1 = Hunspell spellcheck enabled.
-**Default value**: TLSv1\_3
+**Description**: Enables the Hunspell spellcheck under macOS. By default, the native spellchecker is enabled on this platform. You may prefer to use the Hunspell spellcheck, for example, in order to unify the interface for your cross-platform applications (under Windows, only the Hunspell spellcheck is available). For more information, refer to *Spell checking*.
-**Possible values**: TLSv1\_2 (TLS 1.2, introduced in 2008) TLSv1\_3 (TLS 1.3, introduced in 2018) **NOTES**:
-- The 4D Internet Commands plugin uses a different network layer, therefore this selector will have no impact on its TLS version.
-- This setting is ignored for your client server connections if your 4D Server uses the legacy network layer.
+### SQL Autocommit (43)
+**Scope**:Database
-### User param value (108)
+**Kept between two** **sessions**: Yes
-**Scope:** 4D local, 4D Server
+**Possible values**: 0 (deactivation) or 1 (activation)
-**Kept between two sessions:** No
+**Description**: Activation or deactivation of the SQL auto-commit mode. By default, the value is 0 (deactivated mode)
-**Possible values**: Any custom string
+ The auto-commit mode is used to strengthen the referential integrity of the database. When this mode is active, all *SELECT*, *INSERT*, *UPDATE* and *DELETE* (SIUD) queries are automatically included in ad hoc transactions when they are not already executed within a transaction. This mode can also be set in the Preferences of the database.
-**Description:** Custom string passed from one session to the next one when the 4D application is restarted. This selector is useful in the context of automated unit tests that require applications to restart with different parameters.
-When used with [SET DATABASE PARAMETER](set-database-parameter.md), defines a new value that will be available within the next opened database after 4D is restarted manually or using the [OPEN DATABASE](open-database.md)(\*), [OPEN DATA FILE](open-data-file.md), or [RESTART 4D](restart-4d.md) commands. When used with [Get database parameter](get-database-parameter.md), gets the currently available user parameter value, defined using a command line (see *Command Line Interface*), the .4DLink file (see *Using a 4DLink file*), or a call to [SET DATABASE PARAMETER](set-database-parameter.md) during the previous session. (\*) If [SET DATABASE PARAMETER](set-database-parameter.md) sets a User param value before a call to [OPEN DATABASE](open-database.md) with a .4DLink file that also contains a user-param xml attribute, 4D takes into account only the parameter provided by [SET DATABASE PARAMETER](set-database-parameter.md).
+### SQL Engine case sensitivity (44)
-### Times inside objects (109)
+**Scope**: Database
-Scope: 4D local, 4D Server (all processes)
+**Kept between two sessions**: Yes
- Kept between two **sessions**: No
+**Possible values**: 0 (case not taken into account) or 1 (case-sensitive)
- **Possible values**: Times in seconds (0) (default), Times in milliseconds (1)
+**Description**: Activation or deactivation of case-sensitivity for string comparisons carried out by the SQL engine.
-**Description**: Defines the way time values are converted and stored within object properties and collection elements, as well as how they will be imported/exported in JSON and in Web areas. By default, starting with 4D v17, times are converted and stored as number of seconds in objects.
+By default, the value is 1 (case-sensitive): the SQL engine differentiates between upper and lower case and between accented characters when comparing strings (sorts and queries). For example “ABC”= “ABC” but “ABC” # “Abc” and "abc" # "âbc." In certain cases, for example so as to align the functioning of the SQL engine with that of the 4D engine, you may wish for string comparisons to not be case-sensitive (“ABC”=“Abc"="âbc").
-In previous releases, time values were converted and stored as number of milliseconds in those contexts. Using this selector can help you migrating your applications by reverting to previous settings if necessary.
+**Warning:* Since this option modifies the database structure file and all processes, for performance reasons it is highly recommended to set it at database startup only.* This option can also be set in the Database settings.
-**Note**: ORDA methods and SQL engine ignore this setting, they always assume time values to be numbers of seconds.
-### SMTP Log (110)
+### SQL Server Port ID (88)
-**Thread-safe** : Yes
+**Scope**: 4D local, 4D Server.
-**Scope**: 4D local, 4D Server*
+**Kept between two sessions**: Yes
-* **Kept between two sessions**: No
+**Description**: Gets or sets the TCP port number used by the integrated SQL server of 4D in local mode or 4D Server. By default, the value is 19812\. When this selector is set, the database setting is updated. You can also set the TCP port number on the "SQL" page of the Database Settings dialog box.
- **Possible values**: 0 or from 1 to X (0 = do not record, 1 to X = sequential number, added to the file name). By default, the value is 0 (SMTP exchanges not recorded).
+**Possible values**: 0 to 65535.
-**Description**: Starts or stops the recording of exchanges between 4D and the SMTP server, when a *transporter* object is processed through *transporter.send( )* or *SMTP\_transporter.checkConnection( )*. By default, the value is 0 (exchanges not recorded). When this mechanism is enabled, a log file is created in the Logs folder of the database. It is named 4DSMTPLog\_X.txt, where *X* is the sequential number of the log. Once the file 4DSMTPLog has reached a size of 10 MB, it is closed and a new one is generated, with an incremented sequential number. If a file of the same name already exists, it is replaced directly. You can set the starting number of the sequence using the *value* parameter. By default, all files are kept, but you can control the number of files to keep using the Circular log limitation parameter.
+**Default value**: 19812
-For more information on the 4DSMTPLog\_X.txt files, please refer to the *Description of log files* section.
-### Current process debug log recording (111)
+### SSL cipher list (64)
-**Scope:** 4D application
+**Scope**: 4D application
-**Kept between two sessions:** No
+**Kept between two sessions**: No
-**Description**: Starts or stops the sequential recording of programming events **for the current process** in a separated log file. This log is similar to the Debug log recording (selector 34) but focuses on the current process only. The log file name includes the letter "p" and the process number: 4DDebugLog\[\_p*N*_*n*].txt, where N is the process unique ID.
+**Possible values**: Sequence of strings separated by colons.
-For more information about this format and on the use of the *4DDebugLog* file, please refer to *Description of log files* in the Design Reference.
+**Description:** Cipher list used by 4D for the secure protocol. This list modifies the priority of ciphering algorithms implemented by 4D. For example, you can pass the following string in the *value* parameter: "HIGH:!aNULL:!MD5:!3DES:!CAMELLIA:!AES128:!RSA:!DH:!RC4". For a complete description of the syntax for the ciphers list, refer to the *ciphers page of the OpenSSL site*.
-**Notes:** This selector is provided solely for the purpose of debugging and should be used with care. In particular, it must not put into production since it can have an impact on the application performance. You can use both Debug log recording and Current process debug log recording selectors simultaneously, in which case the current process actions will not be logged in the main log file.
+This setting applies to the main Web server (excluding Web server objects), the SQL server, client/server connections, as well as the HTTP client and all the 4D commands that make use of the secure protocol. It is temporary (it is not maintained between sessions).
+When the cipher list has been modified, you will need to restart the server concerned in order for the new settings to be taken into account.
+To reset the cipher list to its default value (stored permanently in the SLI file), call the [SET DATABASE PARAMETER](set-database-parameter.md) command and pass an empty string ("") in the *value* parameter.
-### Is current database a project (112)
+**Note:** With the [Get database parameter](get-database-parameter.md) command, the cipher list is returned in the optional *stringValue* parameter and the return parameter is always 0.
-**Note:** You can only use this selector with the [Get database parameter](get-database-parameter.md) command and its value cannot be set.
-**Scope**: 4D application
-**Description**: Returns 1 if the current database architecture is a project, and 0 otherwise. For more information, please refer to *Project vs binary database* section.
+### Table sequence number (31)
+**Scope**:4D application
-### Is host database a project (113)
+ **Kept between two sessions**: Yes
-**Note:** You can only use this selector with the [Get database parameter](get-database-parameter.md) command and its value cannot be set.
+ **Possible values**: Any longint value.
-**Scope**: 4D application
+**Description**: This selector is used to modify or get the current unique number for records of the table passed as parameter. "Current number" means "last number used": if you modify this value using [SET DATABASE PARAMETER](set-database-parameter.md), the next record will be created with a number that consists of the value passed + 1\. This new number is the one returned by the [Sequence number](sequence-number.md) command as well in any field of the table to which the "Autoincrement" property has been assigned in the Structure editor or via SQL.
-**Description**: Returns 1 if the host database architecture is a project, and 0 otherwise. For more information, please refer to *Project vs binary database* section.
+By default, this unique number is set by 4D and corresponds to the order of record creation. For additional information, refer to the documentation of the [Sequence number](sequence-number.md) command.
-### Libldap version (114)
-**Scope**: Current 4D machine
+### TCPUDP log recording (131)
-**Kept between two sessions**: n/a
+**Scope:** 4D application.
-**Description**: Returns the version number of the LDAP library in the 4D application on the current machine. (Read only)
+**Kept between two sessions:** No.
+**Possible values:** `0`: Logging disabled (default), `1`: Logging enabled.
+**Description:** Enables or disables the `4DTCPUDPLog.txt` file for logging TCP events.
-### Libsasl version (115)
-**Scope**: Current 4D machine
-**Kept between two sessions**: n/a
-**Description**: Returns the version number of the SASL library in the 4D application on the current machine. (Read only)
+### Times inside objects (109)
+**Scope:** 4D local, 4D Server (all processes)
+**Kept between two sessions**: No
-### POP3 Log (116)
+**Possible values**: Times in seconds (0) (default), Times in milliseconds (1)
-**Thread-safe** : Yes
+**Description**: Defines the way time values are converted and stored within object properties and collection elements, as well as how they will be imported/exported in JSON and in Web areas. By default, starting with 4D v17, times are converted and stored as number of seconds in objects.
-**Scope:** 4D local, 4D Server
+In previous releases, time values were converted and stored as number of milliseconds in those contexts. Using this selector can help you migrating your applications by reverting to previous settings if necessary.
-**Kept between two sessions:** No
+**Note**: ORDA methods and SQL engine ignore this setting, they always assume time values to be numbers of seconds.
-**Possible values:** 0 or from 1 to X (0 = do not record, 1 to X = sequential number, added to the file name). By default, the value is 0 (POP3 exchanges not recorded).
-**Description**: Starts or stops the recording of exchanges between 4D and the POP3 server, when a transporter object is processed through *POP3\_transporter.getMail( )* or *POP3\_transporter.checkConnection( )*. By default, the value is 0 (exchanges not recorded). When this mechanism is enabled, a log file is created in the Logs folder of the database. It is named 4DPOP3Log\_X.txt, where X is the sequential number of the log. Once the file 4DPOP3Log has reached a size of 10 MB, it is closed and a new one is generated, with an incremented sequential number. If a file of the same name already exists, it is replaced directly. You can set the starting number of the sequence using the value parameter. By default, all files are kept, but you can control the number of files to keep using the Circular log limitation parameter.
-For more information on the 4DPOP3Log\_X.txt files, please refer to the *Description of log files* section.
+### Tips delay (102)
+**Scope:** 4D application
-### Is host database writable (117)
+**Kept between two sessions:** No
-**Note:** You can only use this selector with the [Get database parameter](get-database-parameter.md) command and its value cannot be set.
+**Possible values:** longint >= 0 (ticks)
-**Scope**: 4D application
+**Description:** Delay before tips are displayed once the mouse cursor has stopped in objects with attached help messages. Value is expressed in ticks (1/60th of a second). Default value is 45 ticks (0.75 seconds).
-**Description**: Returns 1 if the host project file/structure file is writable, and 0 if it is read-only.
-### IMAP Log (119)
+### Tips duration (103)
-**Thread-safe** : Yes
+**Scope:** 4D application
-**Scope**: 4D local, 4D Server
+**Kept between two sessions:** No
-**Kept between two sessions**: No
+**Possible values:** longint >= 60 (ticks)
-**Possible values**: 0 or from 1 to X (0 = do not record, 1 to X = sequential number, added to the file name). By default, the value is 0 (IMAP exchanges not recorded).
+**Description:** Maximum display duration for a tip. Value is expressed in ticks (1/60th of a second). Default value is 720 ticks (12 seconds).
-**Description**: Starts or stops the recording of exchanges between 4D and the IMAP server, when a transporter object is processed through *IMAP\_transporter.getMail( )* or *IMAP\_transporter.checkConnection( )*. By default, the value is 0 (exchanges not recorded). When this mechanism is enabled, a log file is created in the Logs folder of the database. It is named 4DIMAPLog\_X.txt, where X is the sequential number of the log. Once the file 4DIMAPLog has reached a size of 10 MB, it is closed and a new one is generated, with an incremented sequential number. If a file of the same name already exists, it is replaced directly. You can set the starting number of the sequence using the value parameter. By default, all files are kept, but you can control the number of files to keep using the Circular log limitation parameter.
-For more information on the 4DIMAPLog\_X.txt files, please refer to the *Description of log files* section.
+### Tips enabled (101)
-### Libzip version (120)
+**Scope:** 4D application
-**Scope:** Current 4D machine
+**Kept between two sessions:** No
-**Kept between two sessions:** n/a
+**Possible values:** 0 = tips disabled, 1 = tips enabled (default)
-**Description:** Returns the version number of the libzip library in the 4D application on the current machine. (Read only)
+**Description:** Sets or gets the current display status of the tips for the 4D application. By default, tips are enabled.
+ Note that this parameter sets all 4D tips, i.e. form help messages and Design mode editor's tips.
-### Pause logging (121)
-**Thread-safe** : Yes
-**Scope**: 4D application
+### Use legacy network layer (87)
-**Kept between two** **sessions**: No
+**Scope**: 4D in local mode, 4D Server
-**Possible values**: 0 (resume logs), 1 (pause logs)
+**Kept between two sessions**: Yes
-**Description:** This selector allows to suspend/resume all logging operations started on the application (except ORDA logs). This feature can be useful to temporarily lighten the 4D application tasks or schedule logging operations.
+**Description:** Sets or gets the current status of the legacy network layer for client/server connections. The legacy network layer is obsolete beginning with 4D v14 R5 and should be replaced progressively in your applications with the *ServerNet* network layer. *ServerNet* will be required in upcoming 4D releases in order to benefit from future network evolutions. For compatibility reasons, the legacy network layer is still supported to allow a smooth transition for existing applications; (it is used by default in applications converted from a release prior to v14 R5). Pass 1 in this parameter to use the legacy network layer (and disable *ServerNet*) for your client/server connections, and pass 0 to disable the legacy network (and use the *ServerNet*).
+This property can also be set by means of the "Use legacy network layer" option found on the *Compatibility page* of the Database Settings (see *Network and Client-Server options*). In this section, you will also find a discussion about migration strategy. We recommend that you activate the *ServerNet* as soon as possible. You will need to restart the application in order for this parameter to be taken into account.
+**Possible values:** 0 or 1 (0 = do not use legacy layer, 1 = use legacy layer)
-### TCPUDP log recording (131)
+**Default value:** 0 in databases created with 4D v14 R5 or higher, 1 in databases converted from 4D v14 R4 or earlier.
-**Possible values:**
- `0`: Logging is disabled.
- `1`: Logging is enabled.
-**Description:** Retrieves the status of the `4DTCPUDPLog.txt` file for logging TCP events and returns whether the `4DTCPUDPLog.txt` log file is currently active or not.
+### User param value (108)
+**Scope:** 4D local, 4D Server
+**Kept between two sessions:** No
-### RDP optimization**Scope:** 4D application.
+**Possible values**: Any custom string
-**Kept between two sessions:** No.
+**Description:** Custom string passed from one session to the next one when the 4D application is restarted. This selector is useful in the context of automated unit tests that require applications to restart with different parameters.
-**Possible values:** `0`: Disabled (default), `1`: Enabled.
+When used with [SET DATABASE PARAMETER](set-database-parameter.md), defines a new value that will be available within the next opened database after 4D is restarted manually or using the [OPEN DATABASE](open-database.md)(\*), [OPEN DATA FILE](open-data-file.md), or [RESTART 4D](restart-4d.md) commands. When used with [Get database parameter](get-database-parameter.md), gets the currently available user parameter value, defined using a command line (see *Command Line Interface*), the .4DLink file (see *Using a 4DLink file*), or a call to [SET DATABASE PARAMETER](set-database-parameter.md) during the previous session.
- **Description:** Enables or disables optimizations for RDP (Remote Desktop Protocol). When enabled, optimizes in particular the use of shared clipboard in RDP connections, which can otherwise lead to freezing issues. Note that this selector disables the support in clipboard for images encoded as data uri in raw text (only concerns images dropped or explicitly copied as text from a browser).
+(\*) If [SET DATABASE PARAMETER](set-database-parameter.md) sets a User param value before a call to [OPEN DATABASE](open-database.md) with a .4DLink file that also contains a user-param xml attribute, 4D takes into account only the parameter provided by [SET DATABASE PARAMETER](set-database-parameter.md).
diff --git a/docs/commands-legacy/open-window.md b/docs/commands-legacy/open-window.md
index 6ad8d7be718119..76f36f3538c8e6 100644
--- a/docs/commands-legacy/open-window.md
+++ b/docs/commands-legacy/open-window.md
@@ -38,7 +38,30 @@ If you pass -1 in both *right* and *bottom,* you instruct 4D to automatically si
**Important:** This automatic sizing of the window will occur only if you made a prior call to [FORM SET INPUT](form-set-input.md) for the form to be displayed, and if you passed the \* optional parameter to [FORM SET INPUT](form-set-input.md).
-* The *type* parameter is optional. It represents the type of window you want to display, and corresponds to the different windows shown in the section *Window Types (compatibility)* (constants of the *Open Window* theme). If the window type is negative, the window created is a floating window. If the type is not specified, type 1 is used by default.
+* The *type* parameter is optional. It represents the type of window you want to display. If the window type is negative, the window created is a floating window (if supported). If the type is not specified, type 1 is used by default. The following constants of the *Open Window* theme are supported:
+
+|Constant|Comment|
+|---|---|
+|Alternate dialog box|Can be a floating window|
+|Has full screen mode Mac|Option to add to a document type window on macOS only (ex: `Plain form window+Form has full screen mode Mac`)|
+|Modal dialog box ||
+|Movable dialog box |Can be a floating window|
+|Palette window|Can be a floating windowNot resizable: `-(Palette window+2)` (Windows) or ` -Palette window` (macOS)Resizable: `-(Palette window+6)`|
+|Plain dialog box |Can be a floating window|
+|Plain fixed size window||
+|Plain no zoom box window||
+|Pop up window||
+|Plain window||
+|Resizable sheet window||
+|Round corner window ||
+|Sheet window||
+|Texture appearance|Option to be added to a window type on macOS only. Supported types: `Plain window`, `Plain no zoom box window`, `Plain fixed size window`, `Movable dialog box`, `Round corner window`|
+
+
+
+
+
+
* The *title* parameter is the optional title for the window
If you pass an empty string ("") in *title,* you instruct 4D to use the Window Title set in the Design environment Form Properties window for the form to be displayed.
@@ -47,7 +70,7 @@ If you pass an empty string ("") in *title,* you instruct 4D to use the Window T
* The *controlMenuBox* parameter is the optional Control-menu box method for the window. If this parameter is specified, a Control-menu box (Windows) or a Close Box (Macintosh) is added to the window. When the user double-clicks the Control-menu box (Windows) or clicks on the Close Box (Macintosh), the method passed in *controlMenuBox* is called.
-**Note:** You can also manage the closing of the window from within the form method of the form displayed in the window when an On Close Box event occurs. For more information, see the command [Form event code](../commands/form-event-code.md).
+**Note:** You can also manage the closing of the window from within the form method of the form displayed in the window when an `On Close Box` event occurs. For more information, see the command [Form event code](../commands/form-event-code.md).
If more than one window is open for a process, the last window opened is the active (frontmost) window for that process. Only information within the active window can be modified. Any other windows can be viewed. When the user types, the active window will always come to the front, if it is not already there.
@@ -61,21 +84,19 @@ The following project method opens a window centered in the main window (Windows
```4d
// OPEN CENTERED WINDOW project method
- // $1 – Window width
- // $2 – Window height
- // $3 – Window type (optional)
- // $4 – Window title (optional)
+ #DECLARE($width : Integer; $height : Integer; $type : Integer; $title : Text)
+ var $SW; $SH; $WW; $WH : Integer
$SW:=Screen width\2
$SH:=(Screen height\2)
- $WW:=$1\2
- $WH:=$2\2
+ $WW:=$width\2
+ $WH:=$height\2
Case of
:(Count parameters=2)
Open window($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH)
:(Count parameters=3)
- Open window($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH;$3)
+ Open window($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH;$type)
:(Count parameters=4)
- Open window($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH;$3;$4)
+ Open window($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH;$type;$title)
End case
```
@@ -95,7 +116,8 @@ After the project method is written, you can use it this way:
The following example opens a floating window that has a Control-menu box (Windows) or Close Box (Macintosh) method. The window is opened in the upper right hand corner of the application window.
```4d
- $myWindow:=Open window(Screen width-149;33;Screen width-4;178;-Palette window;"";"CloseColorPalette")
+ var $myWindow : Integer
+ $myWindow:=Open window(Screen width-149;33;Screen width-4;178;-Palette window;"";"CloseColorPalette")
DIALOG([Dialogs];"Color Palette")
```
@@ -110,7 +132,8 @@ The CloseColorPalette method calls the [CANCEL](cancel.md) command:
The following example opens a window whose size and title come from the properties of the form displayed in the window:
```4d
- FORM SET INPUT([Customers];"Add Records";*)
+ var $myWindow : Integer
+ FORM SET INPUT([Customers];"Add Records";*)
$myWindow:=Open window(10;80;-1;-1;Plain window;"")
Repeat
ADD RECORD([Customers])
@@ -124,7 +147,8 @@ The following example opens a window whose size and title come from the properti
This example illustrates the “delay” mechanism for displaying sheet windows under macOS:
```4d
- $myWindow:=Open window(10;10;400;400;Sheet window)
+ var $myWindow : Integer
+ $myWindow:=Open window(10;10;400;400;Sheet window)
//For the moment, the window is created but remains hidden
DIALOG([Table];"dialForm")
//The On Load event is generated then the sheet window is displayed; it "drops down" from the bottom
@@ -135,7 +159,7 @@ This example illustrates the “delay” mechanism for displaying sheet windows
[CLOSE WINDOW](close-window.md)
[Open form window](open-form-window.md)
-*Open Window*
+
## Properties
diff --git a/docs/commands-legacy/query-by-attribute.md b/docs/commands-legacy/query-by-attribute.md
index e611a73547f898..024cd41c97ac33 100644
--- a/docs/commands-legacy/query-by-attribute.md
+++ b/docs/commands-legacy/query-by-attribute.md
@@ -10,10 +10,10 @@ displayed_sidebar: docs
| Parameter | Type | | Description |
| --- | --- | --- | --- |
| aTable | Table | → | Table for which to return a selection of records, or Default table if omitted |
-| conjOp | * | → | Conjunction operator to use to join multiple queries (if any) |
+| conjOp | Operator | → | Conjunction operator to use to join multiple queries (if any) |
| objectField | Field | → | Object field to query attributes |
| attributePath | Text | → | Name or path of attribute |
-| queryOp | Text, * | → | Query operator (comparator) |
+| queryOp | Text, Operator | → | Query operator (comparator) |
| value | Text, Number, Date, Time | → | Value to compare |
| * | Operator | → | Continue query flag |
diff --git a/docs/commands-legacy/query-selection-by-attribute.md b/docs/commands-legacy/query-selection-by-attribute.md
index 4996f9e7b49b80..22f6dd1ba3190f 100644
--- a/docs/commands-legacy/query-selection-by-attribute.md
+++ b/docs/commands-legacy/query-selection-by-attribute.md
@@ -10,10 +10,10 @@ displayed_sidebar: docs
| Parameter | Type | | Description |
| --- | --- | --- | --- |
| aTable | Table | → | Table for which to return a selection of records, or Default table if omitted |
-| conjOp | * | → | Conjunction operator to use to join multiple queries (if any) |
+| conjOp | Operator | → | Conjunction operator to use to join multiple queries (if any) |
| objectField | Field | → | Object field to query attributes |
| attributePath | Text | → | Name or path of attribute |
-| queryOp | *, Text | → | Query operator (comparator) |
+| queryOp | Text, Operator | → | Query operator (comparator) |
| value | Text, Number, Date, Time | → | Value to compare |
| * | Operator | → | Continue query flag |
diff --git a/docs/commands-legacy/register-client.md b/docs/commands-legacy/register-client.md
index cf860b712fbe7e..13ae8aed658440 100644
--- a/docs/commands-legacy/register-client.md
+++ b/docs/commands-legacy/register-client.md
@@ -25,7 +25,7 @@ displayed_sidebar: docs
## Description
-The **REGISTER CLIENT** command “registers” a 4D client station with the name specified in *clientName* on 4D Server, so as to allow other clients or possibly 4D Server (by using stored methods) to execute methods on it by using the [`EXECUTE ON CLIENT`](execute-on-client.md) command. Once it is registered, a 4D client can then execute one or more methods for other clients.
+The **REGISTER CLIENT** command "registers" a 4D client station with the name specified in *clientName* on 4D Server, so as to allow other clients or possibly 4D Server (by using stored methods) to execute methods on it by using the [`EXECUTE ON CLIENT`](execute-on-client.md) command. Once it is registered, a 4D client can then execute one or more methods for other clients.
**Notes:**
@@ -64,7 +64,7 @@ var PrClientList : Integer
PrClientList:=New process("4D Client List";32000;"List of registered clients")
```
-3) The method 4D Client List allows you to recuperate all the registered 4D clients and those that can receive messages:
+3) The 4D Client List method allows you to get all the registered 4D clients and those that can receive messages:
```4d
var $Ref; $p : Integer
diff --git a/docs/commands-legacy/set-database-parameter.md b/docs/commands-legacy/set-database-parameter.md
index 61a24845e90b76..4a555bb40666fb 100644
--- a/docs/commands-legacy/set-database-parameter.md
+++ b/docs/commands-legacy/set-database-parameter.md
@@ -21,6 +21,36 @@ displayed_sidebar: docs
The *selector* designates the database parameter to modify. 4D offers predefined constants, which are located in the “*Database Parameters*” theme. The following table lists each constant, describes its scope and indicates whether any changes made are kept between two sessions:
+### 4D Remote mode timeout (14)
+
+**Scope** (legacy network layer only): 4D application if *value* positive
+
+**Kept between two sessions**: Yes if *value* positive
+
+**Description**: To be used in very specific cases. Value of the timeout granted by the remote 4D machine to the 4D Server machine. The default timeout value used by 4D in remote mode is set on the "Client-Server/Network options" page of the Database settings dialog box on the remote machine.
+
+The 4D Remote mode timeout selector is only taken into account if you are using the legacy network. It is ignored when the *ServerNet* layer is activated: this setting is entirely managed by the 4D Server timeout (13) selector.
+
+
+
+
+### 4D Server log recording (28)
+
+**Thread-safe** : Yes
+
+**Scope**: 4D Server, 4D remote*
+
+* **Kept between two sessions**: No
+
+**Possible values**: 0 or from 1 to X (0 = do not record, 1 to X = sequential number, added to the file name).
+
+**Description**: Starts or stops the recording of standard requests received by 4D Server (excluding Web requests). By default, the value is 0 (requests not recorded).
+
+4D Server lets you record each request received by the server machine in a log file. When this mechanism is enabled, two files are created in the Logs folder of the database. They are named *4DRequestsLogServer\_X*.txt and *4DRequestsLog\_ProcessInfoServer\_X*.txt on the server, and *4DRequestsLog\_X*.txt and *4DRequestsLog\_ProcessInfo\_X*.txt on the remote, where X is the sequential number of the log. Once a file has reached a size of 10 MB, it is closed and a new one is generated, with an incremented sequential number. If a file of the same name already exists, it is replaced directly. You can set the starting number of the sequence using the *value* parameter. These text files store various information concerning each request in a simple tabbed format: time, process number, size of request, processing duration, etc. For more information on the 4DRequestsLog files, please refer to the *Description of log files* section.
+
+
+
+
### 4D Server timeout (13)
**Scope**: 4D application if *value* positive
@@ -39,41 +69,63 @@ If you pass a **positive** value in the *value*parameter, you set a global and p
-### 4D Remote mode timeout (14)
-**Scope** (legacy network layer only): 4D application if *value* positive
+### Auto synchro resources folder (48)
-**Kept between two sessions**: Yes if *value* positive
+**Scope**:4D remote machine
-**Description**: To be used in very specific cases. Value of the timeout granted by the remote 4D machine to the 4D Server machine. The default timeout value used by 4D in remote mode is set on the "Client-Server/Network options" page of the Database settings dialog box on the remote machine.
+**Kept between two** **sessions**: No
+
+**Possible values**: 0 (no synchronization), 1 (auto synchronization) or 2 (ask).
+
+**Description**: Dynamic synchronization mode for *Resources* folder of 4D client machine that executed the command with that of the server.
+
+When the contents of the *Resources* folder on the server has been modified or a user has requested synchronization (for example via the resources explorer or following the execution of the [SET DATABASE LOCALIZATION](set-database-localization.md) command), the server notifies the connected client machines.
+
+Three synchronization modes are then possible on the client side. The Auto Synchro Resources Folder selector is used to specify the mode to be used by the client machine for the current session:
+
+- 0 (default value): no dynamic synchronization (synchronization request is ignored)
+- 1: automatic dynamic synchronization
+- 2: display of a dialog box on the client machines, with the possibility of allowing or refusing synchronization.The synchronization mode can also be set globally in the application Preferences.
-The 4D Remote mode timeout selector is only taken into account if you are using the legacy network. It is ignored when the *ServerNet* layer is activated: this setting is entirely managed by the 4D Server timeout (13) selector.
-### Port ID (15)
+
+### Cache flush periodicity (95)
+
+**Thread-safe** : Yes
+
**Scope**: 4D local, 4D Server
**Kept between two sessions**: No
-**Description**: TCP port ID used by the 4D Web server with 4D in local mode and 4D Server. The default value, which can be set on the "Web/Configuration" page of the Preferences dialog box, is 80\. You can use the constants of the *TCP Port Numbers* theme for the *value* parameter.
+**Possible values**: longint > 1 (seconds)
-The Port ID selector is useful for 4D Web Servers compiled and merged with 4D Desktop (in which there is no access to the Design mode). For more information about the TCP port ID, refer to the *Web Server Settings* section.
+**Description**: Gets or sets the current cache flush periodicity, expressed in seconds. Modifying this value overrides the **Flush Cache every X Seconds** option in the [XML DECODE](xml-decode.md) of the Database settings for the session (it is not stored in the Database settings).
-### Character set (17)
-**Scope**: 4D local, 4D Server
+### Cache unload minimum size (66)
-**Kept between two sessions**: Yes
+**Scope**: 4D application
-**Description**: *Constant obsolete (kept for compatibility reasons only).* We now recommend using the [WEB SET OPTION](web-set-option.md) and [WEB GET OPTION](web-get-option.md) commands for configuring the HTTP server.
+**Kept between two sessions**: No
+**Possible values**: Positive longint > 1.
+
+**Description**: Minimum size of memory to release from the database cache when the engine needs to make space in order to allocate an object to it (value in bytes).
+
+The purpose of this selector is to reduce the number of times that data is released from the cache in order to obtain better performance. You can vary this setting according to the size of the cache and that of the blocks of data being handled in your database.
+
+By default, if this selector is not used, 4D unloads at least 10% of the cache when space is needed.
-### Max concurrent Web processes (18)
+
+
+### Character set (17)
**Scope**: 4D local, 4D Server
@@ -83,15 +135,19 @@ The Port ID selector is useful for 4D Web Servers compiled and merged with 4D De
-### Client port ID (22)
-**Scope**: All 4D remote machines
+### Circular log limitation (90)
- **Kept between two** **sessions**: Yes
+**Thread-safe** : Yes
- **Possible values**: See selector 15
+**Scope**: 4D local, 4D Server.
+
+**Kept between two sessions**: No
+
+**Possible values**: Any integer value, 0 = keep all logs
+
+**Description**: Maximum number of files to keep in rotation for each type of log. By default, the 50 most recent files are kept. If you pass a value *X*, only the *X* most recent files are kept, with the oldest being erased automatically when a new one is created. This setting applies to all log files, i.e. request logs (selectors 28 and 45), debug log (selector 34), events log (selector 79), Web logs (selectors 29 and 84 of the [WEB SET OPTION](web-set-option.md) command), etc.
-**Description**: Used to specify this parameter for all the remote 4D machines used as Web servers. The values defined using these selectors are applied to all the remote machines used as Web servers. If you want to define values only for certain remote machines, use the Preferences dialog box of 4D in remote mode.
@@ -107,6 +163,41 @@ The Port ID selector is useful for 4D Web Servers compiled and merged with 4D De
+
+### Client HTTPS port ID (40)
+
+**Scope**:All 4D remote machines
+
+**Kept between two** **sessions**: Yes
+
+**Possible values**: 0 to 65535
+
+**Description**: TCP port number used by the Web servers of the client machines for secure connections via SSL (HTTPS protocol). By default, the value is 443 (standard value).
+
+This selector can be used to modify by programming the TCP port used by the Web servers of the client machines for secure connections via SSL (HTTPS protocol). By default, the value is 443 (standard value).
+
+This selector operates exactly the same way as selector 39; however, it applies to all the 4D remote machines used as Web servers. If you only want to modify the value of certain specific client machines, use the Preferences dialog box of the remote 4D.
+
+
+
+
+### Client log recording (45)
+
+**Scope**: Remote 4D machine
+
+**Kept between two sessions**: No
+
+**Possible values**: 0 or from 1 to X (0 = do not record, 1 to X = sequential number, attached to file name).
+
+**Description**: Starts or stops recording of standard requests carried out by the 4D client machine that executed the command (excluding Web requests). By default, the value is 0 (no recording of requests).
+
+4D lets you record the log of requests carried out by the client machine. When this mechanism is activated, two files are created on the client machine, in the Logs subfolder of the local folder of the database. They are named 4DRequestsLog\_X.txt and 4DRequestsLog\_ProcessInfo\_X.txt, where X is the sequential number of the log. Once the file 4DRequestsLog has reached a size of 10 MB, it is closed and a new one is generated, with an incremented sequential number. If a file with the same name already exists, it is directly replaced. You can set the starting number for the sequence using the value parameter.
+
+These text files store various information concerning each request in a simple tabbed format: time, process number, size of request, processing duration, etc. For more information on the 4DRequestsLog files, please refer to the *Description of log files* section.
+
+
+
+
### Client max concurrent Web proc (25)
**Scope**: All 4D remote machines
@@ -119,29 +210,36 @@ The Port ID selector is useful for 4D Web Servers compiled and merged with 4D De
-### Maximum Web requests size (27)
-**Scope**: 4D local, 4D Server
+### Client port ID (22)
-**Kept between two sessions**: Yes
+**Scope**: All 4D remote machines
-**Description**: *Constant obsolete (kept for compatibility reasons only).* We now recommend using the [WEB SET OPTION](web-set-option.md) and [WEB GET OPTION](web-get-option.md) commands for configuring the HTTP server.
+ **Kept between two** **sessions**: Yes
+ **Possible values**: See selector 15
+**Description**: Used to specify this parameter for all the remote 4D machines used as Web servers. The values defined using these selectors are applied to all the remote machines used as Web servers. If you want to define values only for certain remote machines, use the Preferences dialog box of 4D in remote mode.
-### 4D Server log recording (28)
-**Thread-safe** : Yes
-**Scope**: 4D Server, 4D remote*
-* **Kept between two sessions**: No
+### Client Server port ID (35)
-**Possible values**: 0 or from 1 to X (0 = do not record, 1 to X = sequential number, added to the file name).
+**Scope**:Database
-**Description**: Starts or stops the recording of standard requests received by 4D Server (excluding Web requests). By default, the value is 0 (requests not recorded).
+**Kept between two** **sessions**: Yes
+
+**Possible values**: 0 to 65535
+
+**Description**: TCP port number where the 4D Server publishes the database (bound for 4D remote machines). By default, the value is 19813\.
+
+Customizing this value means that several 4D client-server applications can be used on the same machine with the TCP protocol; in this case, you must indicate a different port number for each application.
+
+The value is stored in the database structure file. It can be set with 4D in local mode but is only taken into account in client-server configuration.
+
+When you modify this value, it is necessary to restart the server machine in order for the new value to be taken into account.
-4D Server lets you record each request received by the server machine in a log file. When this mechanism is enabled, two files are created in the Logs folder of the database. They are named *4DRequestsLogServer\_X*.txt and *4DRequestsLog\_ProcessInfoServer\_X*.txt on the server, and *4DRequestsLog\_X*.txt and *4DRequestsLog\_ProcessInfo\_X*.txt on the remote, where X is the sequential number of the log. Once a file has reached a size of 10 MB, it is closed and a new one is generated, with an incremented sequential number. If a file of the same name already exists, it is replaced directly. You can set the starting number of the sequence using the *value* parameter. These text files store various information concerning each request in a simple tabbed format: time, process number, size of request, processing duration, etc. For more information on the 4DRequestsLog files, please refer to the *Description of log files* section.
@@ -159,17 +257,36 @@ The operation of this selector is identical to that of selector 29; however, it
-### Table sequence number (31)
-**Scope**:4D application
+### Current process debug log recording (111)
- **Kept between two sessions**: Yes
+**Scope:** 4D application
- **Possible values**: Any longint value.
+**Kept between two sessions:** No
-**Description**: This selector is used to modify or get the current unique number for records of the table passed as parameter. "Current number" means "last number used": if you modify this value using [SET DATABASE PARAMETER](set-database-parameter.md), the next record will be created with a number that consists of the value passed + 1\. This new number is the one returned by the [Sequence number](sequence-number.md) command as well in any field of the table to which the "Autoincrement" property has been assigned in the Structure editor or via SQL.
+**Description**: Starts or stops the sequential recording of programming events **for the current process** in a separated log file. This log is similar to the Debug log recording (selector 34) but focuses on the current process only. The log file name includes the letter "p" and the process number: 4DDebugLog\[\_p*N*_*n*].txt, where N is the process unique ID.
+
+For more information about this format and on the use of the *4DDebugLog* file, please refer to *Description of log files* in the Design Reference.
+
+**Notes:** This selector is provided solely for the purpose of debugging and should be used with care. In particular, it must not put into production since it can have an impact on the application performance. You can use both Debug log recording and Current process debug log recording selectors simultaneously, in which case the current process actions will not be logged in the main log file.
+
+
+
+
+### Dates inside objects (85)
+
+**Scope:** Current process
+
+**Kept between two sessions**: No
+
+ **Possible values**: String type without time zone (0), String type with time zone (1), Date type (2) (default)
+
+**Description**: Defines the way dates are stored within objects, as well as how they will be imported/exported in JSON.
+
+When the selector value is Date type (default value for databases created with 4D v17 and higher), 4D dates are stored with the date type within objects, with respect to the local date settings. When converted to JSON format, date attributes will be converted to strings which do not include a time. (**Note:** this setting can be set by means of the "Use date type instead of ISO date format in objects" option found on the *Compatibility page* of the Database Settings).
+
+Passing String type with time zone in this selector will convert 4D dates into ISO strings and take the local time zone into account. For example, converting the date 23/08/2013 gives you "2013-08-22T22:00:000Z" in JSON format when the operation is performed in France during Daylight Savings Time (GMT+2). This principle conforms to the standard operation of JavaScript. This can be a source of errors when you want to send JSON date values to someone in a different time zone. For example, when you export a table using [Selection to JSON](selection-to-json.md) in France that is meant to be reimported in the US using [JSON TO SELECTION](json-to-selection.md). Since dates are re-interpreted in each time zone, the values stored in the database will be different. In this case, you can modify the conversion mode for dates so that they do not take the time zone into account by passing String type without time zone in this selector. Converting the date 23/08/2013 will then give you "2013-08-23T00:00:00Z" in all cases.
-By default, this unique number is set by 4D and corresponds to the order of record creation. For additional information, refer to the documentation of the [Sequence number](sequence-number.md) command.
@@ -184,37 +301,29 @@ By default, this unique number is set by 4D and corresponds to the order of reco
**Description**: Starts or stops the sequential recording of events occurring at the 4D programming level in the *4DDebugLog\[\_n\].txt* file or *4DDebugLogServer\[\_n\].txt* (where \_n is the segment number of the file and *Server* is added to the file name when generated on the server). Two modes are available:
- Standard mode provides a basic view of events and the file is automatically placed in the Logs subfolder of the database, next to the structure file. Execution times are expressed in milliseconds with the "< ms" value displayed when an operation lasts less than one millisecond.
-
- Tabbed mode provides additional information and uses a more compact, tabbed format in the file. Execution times are expressed in microseconds.
**Possible values**: Longint containing a bit field: value = bit1(1)+bit2(2)+bit3(4)+bit4(8)+…).
- Bit 0 (value 1) requests to enable the file (note that any other non-null value also enables it as well)
-
- Bit 1 (value 2) requests call parameters to commands and (interpreted mode only) methods
-
- Bit 2 (value 4) enables tabbed format.
-
- Bit 3 (value 8) disables immediate writing of each operation on disk (enabled by default). Immediate writing is slower but more effective, for example for investigating causes of a crash. If you disable this mode, the file contents are generated more quickly.
-
- Bit 4 (value 16) disables recording of plug-in calls (enabled by default).
-
- Bit 5 (value 32) disables member function logging.
Examples:
+```4d
SET DATABASE PARAMETER (34;1) // enables standard mode without parameters, with runtimes
-
SET DATABASE PARAMETER (34;2) // enables standard mode with parameters and runtimes
-
SET DATABASE PARAMETER (34;2+4) // enables tabbed mode with parameters and runtimes
-
SET DATABASE PARAMETER (34;0) // disables file
+```
For any type of interpreted or compiled 4D application (4D all modes, 4D Server, 4D Volume Desktop), you can avoid having a file record too much information by:
- restricting the 4D commands that are examined by using Log command list (selector 80), or
-
- restricting it to the current process only with Current process debug log recording (selector 111). This will add the letter "p" and the process number to the file name: *4DDebugLog\[\_pn\_n\].txt* or *4DDebugLogServer\[\_pn\_n\].txt* *
*For more information about this format and on the use of the *4DDebugLog* file, please refer to the *Description of log files* section..
@@ -227,484 +336,462 @@ For any type of interpreted or compiled 4D application (4D all modes, 4D Server,
-### Client Server port ID (35)
-**Scope**:Database
+### Diagnostic log level (86)
-**Kept between two** **sessions**: Yes
+**Thread-safe** : Yes
-**Possible values**: 0 to 65535
+**Scope:** 4D application
-**Description**: TCP port number where the 4D Server publishes the database (bound for 4D remote machines). By default, the value is 19813\.
+**Kept between two sessions:** No
-Customizing this value means that several 4D client-server applications can be used on the same machine with the TCP protocol; in this case, you must indicate a different port number for each application.
+**Description:** Level(s) of messages to be included in the diagnostic log when enabled (see selector Diagnostic log recording). Each level designates a category of diagnostic messages and automatically includes more important categorie(s). For a description of categories, see *Diagnostic log levels* section on *developer.4d.com*.
-The value is stored in the database structure file. It can be set with 4D in local mode but is only taken into account in client-server configuration.
+**Possible values:** One of the following constants (Log info by default):
+- Log trace: activates ERROR, WARN, INFO, DEBUG, TRACE (most detailed level)
+- Log debug: activates ERROR, WARN, INFO, DEBUG
+- Log info: activates ERROR, WARN, INFO (default)
+- Log warn: activates ERROR, WARN
+- Log error: activates ERROR (least detailed level)
-When you modify this value, it is necessary to restart the server machine in order for the new value to be taken into account.
-### HTTPS Port ID (39)
+### Diagnostic log recording (79)
-**Scope**:4D local, 4D Server
+**Thread-safe** : Yes
-**Kept between two sessions**: Yes
+**Scope**: 4D application
-**Description**: *Constant obsolete (kept for compatibility reasons only).* We now recommend using the [WEB SET OPTION](web-set-option.md) and [WEB GET OPTION](web-get-option.md) commands for configuring the HTTP server.
+**Kept between two sessions**: No
+Possible values: 0 or 1 (0 = do not record, 1 = record)
+**Description**: Starts or stops recording of the 4D diagnostic file. By default, the value is 0 (do not record).
-### Client HTTPS port ID (40)
+4D can continuously record a set of events related to the internal application operation into a diagnostic file. Information contained in this file is intended for the development of 4D applications and can be analyzed with the help of the 4D tech support (for more information, please refer to the *Description of log files* section on *developer.4d.com*). When you pass 1 in this selector, a diagnostic file is automatically created (or opened) in the database **Logs** folder. The file is named *4DDiagnosticLog\_X*.txt (or *4DDiagnosticLogServer\_X*.txt if generated on the server). Once this file reaches a size of 10 MB, it is closed and a new file is generated, with an incremented sequence number X.
-**Scope**:All 4D remote machines
+Note that you can include custom information in this file using the [LOG EVENT](log-event.md) command.
-**Kept between two** **sessions**: Yes
-**Possible values**: 0 to 65535
-**Description**: TCP port number used by the Web servers of the client machines for secure connections via SSL (HTTPS protocol). By default, the value is 443 (standard value).
-This selector can be used to modify by programming the TCP port used by the Web servers of the client machines for secure connections via SSL (HTTPS protocol). By default, the value is 443 (standard value).
+### Direct2D get active status (74)
-This selector operates exactly the same way as selector 39; however, it applies to all the 4D remote machines used as Web servers. If you only want to modify the value of certain specific client machines, use the Preferences dialog box of the remote 4D.
+**Note**: You can only use this selector with the [Get database parameter](get-database-parameter.md) command and its value cannot be set.
+**Description**: Returns active implementation of Direct2D under Windows.
+**Possible values**: 0, 1, 2, 3, 4 or 5 (see values of selector 69). The value returned depends on the availability of Direct2D, the hardware and the quality of Direct2D support by the operating system.
-### SQL Autocommit (43)
+For example, if you execute:
-**Scope**:Database
+```4d
+ SET DATABASE PARAMETER(Direct2D status;Direct2D Hardware)
+ $mode:=Get database parameter(Direct2D get active status)
+```
-**Kept between two** **sessions**: Yes
+- On Windows 7 and higher, *$mode* is set to 1 when the system detects hardware compatible with Direct2D; otherwise, *$mode* is set to 3 (software context).
-**Possible values**: 0 (deactivation) or 1 (activation)
+- On Windows Vista, *$mode* is set to 1 when the system detects hardware compatible with Direct2D; otherwise, *$mode* is set to 0 (disabling of Direct2D).
-**Description**: Activation or deactivation of the SQL auto-commit mode. By default, the value is 0 (deactivated mode)
+- On Windows XP, *$mode* is always set to 0 (not compatible with Direct2D).
- The auto-commit mode is used to strengthen the referential integrity of the database. When this mode is active, all *SELECT*, *INSERT*, *UPDATE* and *DELETE* (SIUD) queries are automatically included in ad hoc transactions when they are not already executed within a transaction. This mode can also be set in the Preferences of the database.
-### SQL Engine case sensitivity (44)
+### Direct2D status (69)
-**Scope**: Database
+**Scope**: 4D application
-**Kept between two sessions**: Yes
+**Kept between two sessions**: No
-**Possible values**: 0 (case not taken into account) or 1 (case-sensitive)
+**Description**: Activation mode of Direct2D under Windows.
-**Description**: Activation or deactivation of case-sensitivity for string comparisons carried out by the SQL engine.
+**Possible values**: One of the following constants (mode 3 by default):
-By default, the value is 1 (case-sensitive): the SQL engine differentiates between upper and lower case and between accented characters when comparing strings (sorts and queries). For example “ABC”= “ABC” but “ABC” # “Abc” and "abc" # "âbc." In certain cases, for example so as to align the functioning of the SQL engine with that of the 4D engine, you may wish for string comparisons to not be case-sensitive (“ABC”=“Abc"="âbc").
+- Direct2D Disabled (0): Direct2D mode is not enabled and the database functions in the previous mode (GDI/GDIPlus).
+- Direct2D Hardware (1): Use Direct2D as graphics hardware context for entire 4D application. If this context is not available, use Direct2D graphics software context.
+- Direct2D Software (3) (Default mode): Beginning with Windows 7, use Direct2D graphics software context for entire 4D application.
-**Warning:* Since this option modifies the database structure file and all processes, for performance reasons it is highly recommended to set it at database startup only.* This option can also be set in the Database settings.
+**Warning:* This selector is provided for debugging purposes only. Since several 4D features rely on Direct2D, it must not be disabled in deployed applications. Only the default mode (Direct2D Software) is approved for deployed applications.*
-### Client log recording (45)
-**Scope**: Remote 4D machine
+### HTTP compression level (50)
-**Kept between two sessions**: No
+**Scope**:4D application
-**Possible values**: 0 or from 1 to X (0 = do not record, 1 to X = sequential number, attached to file name).
+**Kept between two sessions**: No
-**Description**: Starts or stops recording of standard requests carried out by the 4D client machine that executed the command (excluding Web requests). By default, the value is 0 (no recording of requests).
+**Description**: *Constant obsolete (kept for compatibility reasons only).* We now recommend using the [WEB SET OPTION](web-set-option.md) and [WEB GET OPTION](web-get-option.md) commands for configuring the HTTP server.
-4D lets you record the log of requests carried out by the client machine. When this mechanism is activated, two files are created on the client machine, in the Logs subfolder of the local folder of the database. They are named 4DRequestsLog\_X.txt and 4DRequestsLog\_ProcessInfo\_X.txt, where X is the sequential number of the log. Once the file 4DRequestsLog has reached a size of 10 MB, it is closed and a new one is generated, with an incremented sequential number. If a file with the same name already exists, it is directly replaced. You can set the starting number for the sequence using the value parameter.
-These text files store various information concerning each request in a simple tabbed format: time, process number, size of request, processing duration, etc. For more information on the 4DRequestsLog files, please refer to the *Description of log files* section.
+### HTTP compression threshold (51)
-### Query by formula on server (46)
+**Scope**:4D application
-**Scope**: Current table and process
+**Kept between two** **sessions**: No
-**Kept between two sessions**: No
+**Description**: *Constant obsolete (kept for compatibility reasons only).* We now recommend using the [WEB SET OPTION](web-set-option.md) and [WEB GET OPTION](web-get-option.md) commands for configuring the HTTP server.
-**Possible values**: 0 (use database configuration), 1 (execute on client) or 2 (execute on server)
-**Description**: Execution location of [QUERY BY FORMULA](query-by-formula.md) and [QUERY SELECTION BY FORMULA](query-selection-by-formula.md) commands for the *table* passed in the parameter.
-When using a database in client-server mode, the query "by formula" commands can be executed either on the server or on the client machine:
-In databases created with 4D v11 SQL, these commands are executed on the server. In converted databases, these commands are executed on the client machine, as in previous versions of 4D.In converted databases, a specific preference (Application/Compatibility page) can be used to globally modify the execution location of these commands.This difference in execution location influences not only application performance (execution on the server is usually faster) but also programming. In fact, the value of the components of the formula (in particular variables called via a method) differ according to the execution context. You can use this selector to punctually adapt the operation of your application.
+### HTTPS Port ID (39)
-If you pass 0 in the *value* l’parameter, the execution location of query "by formula" commands will depend on the database configuration: in databases created with 4D v11 SQL, these commands will be executed on the server. In converted databases, they will be executed on the client machine or the server according to the database preferences. Pass 1 or 2 in *value* to "force" the execution of these commands, respectively, on the client or on the server machine.
+**Scope**:4D local, 4D Server
-Refer to example 2.
+**Kept between two sessions**: Yes
-**Note:** If you want to be able to enable "SQL type" joins (see the QUERY BY FORMULA Joins selector), you must always execute formulas on the server so that they have access to the records. Be careful, in this context, the formula must not contain any calls to a method, otherwise it will automatically be switched to the remote machine.
+**Description**: *Constant obsolete (kept for compatibility reasons only).* We now recommend using the [WEB SET OPTION](web-set-option.md) and [WEB GET OPTION](web-get-option.md) commands for configuring the HTTP server.
-### Order by formula on server (47)
-**Scope**:Current table and process
+### Idle connections timeout (54)
-**Kept between two** **sessions**: No
+**Scope**:4D application unless value is negative
-**Possible values**: 0 (use database configuration), 1 (execute on client) or 2 (execute on server)
+**Kept between two sessions**: No
-**Description** : Execution location of [ORDER BY FORMULA](order-by-formula.md) command for the table passed in the parameter.
+**Possible values**: Whole value expressing a duration in seconds. The value can be positive (new connections) or negative (existing connections). By default, the value is 20.
-When using a database in client-server mode, this command can be executed either on the server or on the client machine. This selector can be used to specify the execution location of this command (server or client). This mode can also be set in the database preferences. For more information, please refer to the description of selector 46, Query By Formula On Server.
+**Description**: Maximum period of inactivity for connections to the 4D database engine, the SQL engine and to the 4D application server (*ServerNet* network layer only, ignored in *QUIC*). When an idle connection reaches this limit, it is automatically put on standby, which freezes the client/server session and closes the network socket. In the server administration window, the state of the user process is indicated as "Postponed". This functioning is completely transparent for the user: as soon as there is new activity on the connection which is on standby, the socket is automatically reopened and the client/server session is restored.
-**Note:** If you want to be able to enable "SQL type" joins (see the QUERY BY FORMULA Joins selector), you must always execute formulas on the server so that they have access to the records. Be careful, in this context, the formula must not contain any calls to a method, otherwise it will automatically be switched to the remote machine.
+On the one hand, this setting lets you save resources on the server: connections on standby close the socket and free up a process on the server. On the other hand, it lets you avoid losing connections due to the closing of idle sockets by the firewall. For this, the timeout value for idle connections must be lower than that of the firewall in this case.
+If you pass a positive value in *value*, it applies to all new connections in all the processes. If you pass a negative value, it applies to connections that are open in the current process. If you pass 0, idle connections are not subjected to a timeout.
+This parameter must be set on the client side. Usually, you do not need to change this value.
-### Auto synchro resources folder (48)
-**Scope**:4D remote machine
-**Kept between two** **sessions**: No
-**Possible values**: 0 (no synchronization), 1 (auto synchronization) or 2 (ask).
+### IMAP Log (119)
-**Description**: Dynamic synchronization mode for *Resources* folder of 4D client machine that executed the command with that of the server.
+**Thread-safe** : Yes
-When the contents of the *Resources* folder on the server has been modified or a user has requested synchronization (for example via the resources explorer or following the execution of the [SET DATABASE LOCALIZATION](set-database-localization.md) command), the server notifies the connected client machines.
+**Scope**: 4D local, 4D Server
-Three synchronization modes are then possible on the client side. The Auto Synchro Resources Folder selector is used to specify the mode to be used by the client machine for the current session:
+**Kept between two sessions**: No
-0 (default value): no dynamic synchronization (synchronization request is ignored) 1: automatic dynamic synchronization2: display of a dialog box on the client machines, with the possibility of allowing or refusing synchronization.The synchronization mode can also be set globally in the application Preferences.
+**Possible values**: 0 or from 1 to X (0 = do not record, 1 to X = sequential number, added to the file name). By default, the value is 0 (IMAP exchanges not recorded).
+**Description**: Starts or stops the recording of exchanges between 4D and the IMAP server, when a transporter object is processed through *IMAP\_transporter.getMail( )* or *IMAP\_transporter.checkConnection( )*. By default, the value is 0 (exchanges not recorded). When this mechanism is enabled, a log file is created in the Logs folder of the database. It is named 4DIMAPLog\_X.txt, where X is the sequential number of the log. Once the file 4DIMAPLog has reached a size of 10 MB, it is closed and a new one is generated, with an incremented sequential number. If a file of the same name already exists, it is replaced directly. You can set the starting number of the sequence using the value parameter. By default, all files are kept, but you can control the number of files to keep using the Circular log limitation parameter.
+For more information on the 4DIMAPLog\_X.txt files, please refer to [Description of log files](../Debugging/debugLogFiles.md).
-### Query by formula joins (49)
-**Scope**:Current process
-**Kept between two** **sessions**: No
-**Possible values**: 0 (use database configuration), 1 (always use automatic relations) or 2 (use SQL joins if possible).
+### Is current database a project (112)
-**Description**: Operating mode of the [QUERY BY FORMULA](query-by-formula.md) and [QUERY SELECTION BY FORMULA](query-selection-by-formula.md) commands relating to the use of "SQL joins."
+**Note:** You can only use this selector with the [Get database parameter](get-database-parameter.md) command and its value cannot be set.
-In databases created starting with version 11.2 of 4D v11 SQL, these commands carry out joins based on the SQL joins model. This mechanism can be used to modify the selection of a table according to a query carried out on another table without these tables being connected by an automatic relation (necessary condition in previous versions of 4D).
+**Scope**: 4D application
-The QUERY BY FORMULA Joins selector lets you specify the operating mode of the query by formula commands for the current process:
+**Description**: Returns 1 if the current database architecture is a project, and 0 otherwise. For more information, please refer to [*Project vs binary database* section on doc.4d.com](https://doc.4d.com/4Dv20/4D/20.2/Creating-a-new-database.300-6750129.en.html#5057971).
-0: Uses the current settings of the database (default value). In databases created starting with version 11.2 of 4D v11 SQL, "SQL joins" are always activated for queries by formula. In converted databases, this mechanism is not activated by default for compatibility reasons but can be implemented via a preference.1: Always use automatic relations (= functioning of previous versions of 4D). In this mode, a relation is necessary in order to set the selection of a table according to queries carried out on another table. 4D does not do "SQL joins."2: Use SQL joins if possible (= default operation of databases created in version 11.2 and higher of 4D v11 SQL ). In this mode, 4D establishes "SQL joins" for queries by formula when the formula is suited for it (with two notable exceptions, see the description of the [QUERY BY FORMULA](query-by-formula.md) or [QUERY SELECTION BY FORMULA](query-selection-by-formula.md) command).**Note:** With 4D in remote mode, "SQL joins" can only be used if the formulas are executed on the server (they must have access to the records). To configure where formulas are to be executed, please refer to selectors 46 and 47.
-### HTTP compression level (50)
+### Is host database a project (113)
-**Scope**:4D application
+**Note:** You can only use this selector with the [Get database parameter](get-database-parameter.md) command and its value cannot be set.
-**Kept between two sessions**: No
+**Scope**: 4D application
-**Description**: *Constant obsolete (kept for compatibility reasons only).* We now recommend using the [WEB SET OPTION](web-set-option.md) and [WEB GET OPTION](web-get-option.md) commands for configuring the HTTP server.
+**Description**: Returns 1 if the host database architecture is a project, and 0 otherwise. For more information, please refer to [*Project vs binary database* section on doc.4d.com](https://doc.4d.com/4Dv20/4D/20.2/Creating-a-new-database.300-6750129.en.html#5057971).
-### HTTP compression threshold (51)
-**Scope**:4D application
+### Is host database writable (117)
-**Kept between two** **sessions**: No
+**Note:** You can only use this selector with the [Get database parameter](get-database-parameter.md) command and its value cannot be set.
-**Description**: *Constant obsolete (kept for compatibility reasons only).* We now recommend using the [WEB SET OPTION](web-set-option.md) and [WEB GET OPTION](web-get-option.md) commands for configuring the HTTP server.
+**Scope**: 4D application
+**Description**: Returns 1 if the host project file/structure file is writable, and 0 if it is read-only.
-### Server base process stack size (53)
-**Scope**: 4D Server
-**Kept between two sessions**: No
+### Libldap version (114)
-**Possible values**: Positive longint.
+**Scope**: Current 4D machine
-**Description**: Size of the stack allocated to each preemptive system process on the server, expressed in bytes. The default size is determined by the system.
+**Kept between two sessions**: n/a
-Preemptive system processes (processes of the 4D client base process type) are loaded to control the main 4D client processes. The size allocated by default to the stack of each preemptive process allows a good ease of execution but may prove to be consequential when very large numbers of processes (several hundred) are created.
+**Description**: Returns the version number of the LDAP library in the 4D application on the current machine. (Read only)
-For optimization purposes, this size can be reduced considerably if the operations carried out by the database allow for it (for example if the database does not carry out sorts of large quantities of records). Values of 512 or even 256 KB are possible. Be careful, under-sizing the stack is critical and can be harmful to the operation of 4D Server. Setting this parameter should be done with caution and must take the database conditions of use into account (number of records, type of operations, etc.).
-In order to be taken into account, this parameter must be executed on the server machine (for example in the *On Server Startup Database Method*).
+### Libsasl version (115)
-### Idle connections timeout (54)
+**Scope**: Current 4D machine
-**Scope**:4D application unless value is negative
+**Kept between two sessions**: n/a
-**Kept between two sessions**: No
+**Description**: Returns the version number of the SASL library in the 4D application on the current machine. (Read only)
-**Possible values**: Whole value expressing a duration in seconds. The value can be positive (new connections) or negative (existing connections). By default, the value is 20.
-**Description**: Maximum period of inactivity for connections to the 4D database engine, the SQL engine and to the 4D application server (*ServerNet* network layer only, ignored in *QUIC*). When an idle connection reaches this limit, it is automatically put on standby, which freezes the client/server session and closes the network socket. In the server administration window, the state of the user process is indicated as "Postponed". This functioning is completely transparent for the user: as soon as there is new activity on the connection which is on standby, the socket is automatically reopened and the client/server session is restored.
-On the one hand, this setting lets you save resources on the server: connections on standby close the socket and free up a process on the server. On the other hand, it lets you avoid losing connections due to the closing of idle sockets by the firewall. For this, the timeout value for idle connections must be lower than that of the firewall in this case.
-If you pass a positive value in *value*, it applies to all new connections in all the processes. If you pass a negative value, it applies to connections that are open in the current process. If you pass 0, idle connections are not subjected to a timeout.
+### Libzip version (120)
-This parameter must be set on the client side. Usually, you do not need to change this value.
+**Scope:** Current 4D machine
+**Kept between two sessions:** n/a
+**Description:** Returns the version number of the libzip library in the 4D application on the current machine. (Read only)
-### PHP interpreter IP address (55)
-**Scope**:4D application
-**Kept between two sessions**: No
-**Values**: Formatted string of the IPv4 type (for example "127.0.0.1") or IPv6 type (for example "2001:0db8:0000:0000:0000:ff00:0042:8329")
+### Log command list (80)
-**Description**: IP address used locally by 4D to communicate with the PHP interpreter via FastCGI. By default, the value is "127.0.0.1" (addresses in IPv6 format are supported starting with 4D v16R4). This address must correspond to the machine where 4D is located. This parameter can also be set globally for all the machines via the Database Settings.
+**Scope**: 4D application
-For more information about the PHP interpreter, please refer to the *Design Reference* manual.
+**Kept between two sessions**: No
+**Possible values**: String containing a list of 4D command numbers to record (separated by semi-colons) or "all" to record all the commands or "" (empty string) to record none of them or prefixed by "-" to exclude specific commands.
+**Description**: List of 4D commands to record in or exclude from the debugging file (see selector 34, Debug Log Recording). By default, all 4D commands are recorded.
-### PHP interpreter port (56)
+This selector restricts the quantity of information saved in the debugging file by limiting the 4D commands whose execution you want to record or exclude from recording. For example, you can write:
-**Scope**:4D application
+```4d
+//Record only the QUERY and QUERY SELECTION commands
+SET DATABASE PARAMETER(Log command list;"277;341")
+```
+OR
+```4d
+//Exclude the SET USER ALIAS and DELAY PROCESS commands from being recorded
+SET DATABASE PARAMETER(Log command list;"-1666;-323")
+```
-**Kept between two sessions**: No
-**Values**: Positive long integer type value. By default, the value is 8002\.
-**Description**: Number of the TCP port used by the PHP interpreter of 4D. This parameter can also be modified globally for all the machines via the Database Settings. For more information about the PHP interpreter, please refer to the *Design Reference* manual.
+### Max concurrent Web processes (18)
+**Scope**: 4D local, 4D Server
+**Kept between two sessions**: Yes
-### SSL cipher list (64)
+**Description**: *Constant obsolete (kept for compatibility reasons only).* We now recommend using the [WEB SET OPTION](web-set-option.md) and [WEB GET OPTION](web-get-option.md) commands for configuring the HTTP server.
-**Scope**: 4D application
-**Kept between two sessions**: No
-**Possible values**: Sequence of strings separated by colons.
-**Description:** Cipher list used by 4D for the secure protocol. This list modifies the priority of ciphering algorithms implemented by 4D. For example, you can pass the following string in the *value* parameter: "HIGH:!aNULL:!MD5:!3DES:!CAMELLIA:!AES128:!RSA:!DH:!RC4". For a complete description of the syntax for the ciphers list, refer to the *ciphers page of the OpenSSL* *site*.
+### Maximum Web requests size (27)
-This setting applies to the main Web server (excluding Web server objects), the SQL server, client/server connections, as well as the HTTP client and all the 4D commands that make use of the secure protocol. It is temporary (it is not maintained between sessions).
+**Scope**: 4D local, 4D Server
-When the cipher list has been modified, you will need to restart the server concerned in order for the new settings to be taken into account.
+**Kept between two sessions**: Yes
-To reset the cipher list to its default value (stored permanently in the SLI file), call the [SET DATABASE PARAMETER](set-database-parameter.md) command and pass an empty string ("") in the *value* parameter.
+**Description**: *Constant obsolete (kept for compatibility reasons only).* We now recommend using the [WEB SET OPTION](web-set-option.md) and [WEB GET OPTION](web-get-option.md) commands for configuring the HTTP server.
-**Note:** With the [Get database parameter](get-database-parameter.md) command, the cipher list is returned in the optional *stringValue* parameter and the return parameter is always 0.
-### Cache unload minimum size (66)
+### Min TLS version (105)
-**Scope**: 4D application
+**Scope**: 4D Server, 4D Web Server and 4D SQL Server
**Kept between two sessions**: No
-**Possible values**: Positive longint > 1.
-
-**Description**: Minimum size of memory to release from the database cache when the engine needs to make space in order to allocate an object to it (value in bytes).
-
-The purpose of this selector is to reduce the number of times that data is released from the cache in order to obtain better performance. You can vary this setting according to the size of the cache and that of the blocks of data being handled in your database.
-
-By default, if this selector is not used, 4D unloads at least 10% of the cache when space is needed.
-
+**Description**: Used to specify the minimum Transport Layer Security (TLS) version, which provides data encryption and authentication between applications and servers. Connection attempts from clients supporting only versions below the minimum will be rejected. The setting is applied globally to the network layer. Once modified, the server must be restarted to use the new value.
+**Default value**: TLSv1\_3
-### Direct2D status (69)
+**Possible values**:
+- TLSv1\_2 (TLS 1.2, introduced in 2008)
+- TLSv1\_3 (TLS 1.3, introduced in 2018)
-**Scope**: 4D application
+**NOTES**:
+- The 4D Internet Commands plugin uses a different network layer, therefore this selector will have no impact on its TLS version.
+- This setting is ignored for your client server connections if your 4D Server uses the legacy network layer.
-**Kept between two sessions**: No
-**Description**: Activation mode of Direct2D under Windows.
-**Possible values**: One of the following constants (mode 3 by default):
-Direct2D Disabled (0): Direct2D mode is not enabled and the database functions in the previous mode (GDI/GDIPlus).
+### Number of formulas in cache (92)
-Direct2D Hardware (1): Use Direct2D as graphics hardware context for entire 4D application. If this context is not available, use Direct2D graphics software context.
+**Scope**: 4D application
-Direct2D Software (3) (Default mode): Beginning with Windows 7, use Direct2D graphics software context for entire 4D application.
+**Kept between two sessions**: No
-**Warning:* This selector is provided for debugging purposes only. Since several 4D features rely on Direct2D, it must not be disabled in deployed applications. Only the default mode (Direct2D Software) is approved for deployed applications.*
+**Possible values**: Positive longints
+**Default value**: 0 (no cache)
+**Description**: Sets or gets the maximum number of formulas to be kept in the cache of formulas, which is used by the [EXECUTE FORMULA](execute-formula.md) command. This limit is applied to all processes, but each process has its own formula cache. Caching formulas accelerates the [EXECUTE FORMULA](execute-formula.md) command execution in compiled mode since each cached formula is tokenized only once in this case. When you change the cache value, existing contents are reset even if the new size is larger than the previous one. Once the maximum number of formulas in the cache is reached, a new executed formula will erase the oldest one in the cache (FIFO mode). This parameter is only taken into account in compiled databases or compiled components.
-### Direct2D get active status (74)
-**Note**: You can only use this selector with the [Get database parameter](get-database-parameter.md) command and its value cannot be set.
-**Description**: Returns active implementation of Direct2D under Windows.
-**Possible values**: 0, 1, 2, 3, 4 or 5 (see values of selector 69). The value returned depends on the availability of Direct2D, the hardware and the quality of Direct2D support by the operating system.
+### OpenSSL version (94)
-For example, if you execute:
+**Scope**: all 4D machines*
- SET DATABASE PARAMETER(Direct2D status;Direct2D Hardware) $mode:=Get database parameter(Direct2D get active status)
+**Kept between two sessions**: No
-- On Windows 7 and higher, *$mode* is set to 1 when the system detects hardware compatible with Direct2D; otherwise, *$mode* is set to 3 (software context).
+**Description**: Returns the version number of the OpenSSL library in use on the machine. (Read only)
-- On Windows Vista, *$mode* is set to 1 when the system detects hardware compatible with Direct2D; otherwise, *$mode* is set to 0 (disabling of Direct2D).
-- On Windows XP, *$mode* is always set to 0 (not compatible with Direct2D).
+### Order by formula on server (47)
-### Diagnostic log recording (79)
+**Scope**:Current table and process
-**Thread-safe** : Yes
+**Kept between two** **sessions**: No
-**Scope**: 4D application
+**Possible values**: 0 (use database configuration), 1 (execute on client) or 2 (execute on server)
-**Kept between two sessions**: No
+**Description** : Execution location of [ORDER BY FORMULA](order-by-formula.md) command for the table passed in the parameter.
-Possible values: 0 or 1 (0 = do not record, 1 = record)
+When using a database in client-server mode, this command can be executed either on the server or on the client machine. This selector can be used to specify the execution location of this command (server or client). This mode can also be set in the database preferences. For more information, please refer to the description of selector 46, Query By Formula On Server.
-**Description**: Starts or stops recording of the 4D diagnostic file. By default, the value is 0 (do not record).
+**Note:** If you want to be able to enable "SQL type" joins (see the QUERY BY FORMULA Joins selector), you must always execute formulas on the server so that they have access to the records. Be careful, in this context, the formula must not contain any calls to a method, otherwise it will automatically be switched to the remote machine.
-4D can continuously record a set of events related to the internal application operation into a diagnostic file. Information contained in this file is intended for the development of 4D applications and can be analyzed with the help of the 4D tech support (for more information, please refer to the *Description of log files* section on *developer.4d.com*). When you pass 1 in this selector, a diagnostic file is automatically created (or opened) in the database **Logs** folder. The file is named *4DDiagnosticLog\_X*.txt (or *4DDiagnosticLogServer\_X*.txt if generated on the server). Once this file reaches a size of 10 MB, it is closed and a new file is generated, with an incremented sequence number X.
-Note that you can include custom information in this file using the [LOG EVENT](log-event.md) command.
+### Pause logging (121)
-### Log command list (80)
+**Thread-safe** : Yes
**Scope**: 4D application
-**Kept between two sessions**: No
+**Kept between two** **sessions**: No
-**Possible values**: String containing a list of 4D command numbers to record (separated by semi-colons) or "all" to record all the commands or "" (empty string) to record none of them or prefixed by "-" to exclude specific commands.
+**Possible values**: 0 (resume logs), 1 (pause logs)
-**Description**: List of 4D commands to record in or exclude from the debugging file (see selector 34, Debug Log Recording). By default, all 4D commands are recorded.
+**Description:** This selector allows to suspend/resume all logging operations started on the application (except ORDA logs). This feature can be useful to temporarily lighten the 4D application tasks or schedule logging operations.
-This selector restricts the quantity of information saved in the debugging file by limiting the 4D commands whose execution you want to record or exclude from recording. For example, you can write:
- SET DATABASE PARAMETER(Log command list;"277;341") //Record only the QUERY and QUERY SELECTION commands OR SET DATABASE PARAMETER(Log command list;"-1666;-323") //Exclude the SET USER ALIAS and DELAY PROCESS commands from being recorded
+### PHP interpreter IP address (55)
-### Spellchecker (81)
+**Scope**:4D application
-**Scope**: 4D application
+**Kept between two sessions**: No
- **Kept between two sessions**: No
+**Values**: Formatted string of the IPv4 type (for example "127.0.0.1") or IPv6 type (for example "2001:0db8:0000:0000:0000:ff00:0042:8329")
- **Possible values**: 0 (default) = native macOS spellchecker (Hunspell disabled), 1 = Hunspell spellcheck enabled.
+**Description**: IP address used locally by 4D to communicate with the PHP interpreter via FastCGI. By default, the value is "127.0.0.1" (addresses in IPv6 format are supported starting with 4D v16R4). This address must correspond to the machine where 4D is located. This parameter can also be set globally for all the machines via the Database Settings.
-**Description**: Enables the Hunspell spellcheck under macOS. By default, the native spellchecker is enabled on this platform. You may prefer to use the Hunspell spellcheck, for example, in order to unify the interface for your cross-platform applications (under Windows, only the Hunspell spellcheck is available). For more information, refer to *Spell checking*.
+For more information about the PHP interpreter, please refer to the *Design Reference* manual.
-### Dates inside objects (85)
-**Scope:** Current process
+### PHP interpreter port (56)
-**Kept between two sessions**: No
+**Scope**:4D application
- **Possible values**: String type without time zone (0), String type with time zone (1), Date type (2) (default)
+**Kept between two sessions**: No
-**Description**: Defines the way dates are stored within objects, as well as how they will be imported/exported in JSON.
+**Values**: Positive long integer type value. By default, the value is 8002\.
-When the selector value is Date type (default value for databases created with 4D v17 and higher), 4D dates are stored with the date type within objects, with respect to the local date settings. When converted to JSON format, date attributes will be converted to strings which do not include a time. (**Note:** this setting can be set by means of the "Use date type instead of ISO date format in objects" option found on the *Compatibility page* of the Database Settings).
+**Description**: Number of the TCP port used by the PHP interpreter of 4D. This parameter can also be modified globally for all the machines via the Database Settings. For more information about the PHP interpreter, please refer to the *Design Reference* manual.
-Passing String type with time zone in this selector will convert 4D dates into ISO strings and take the local time zone into account. For example, converting the date 23/08/2013 gives you "2013-08-22T22:00:000Z" in JSON format when the operation is performed in France during Daylight Savings Time (GMT+2). This principle conforms to the standard operation of JavaScript. This can be a source of errors when you want to send JSON date values to someone in a different time zone. For example, when you export a table using [Selection to JSON](selection-to-json.md) in France that is meant to be reimported in the US using [JSON TO SELECTION](json-to-selection.md). Since dates are re-interpreted in each time zone, the values stored in the database will be different. In this case, you can modify the conversion mode for dates so that they do not take the time zone into account by passing String type without time zone in this selector. Converting the date 23/08/2013 will then give you "2013-08-23T00:00:00Z" in all cases.
-### Diagnostic log level (86)
+### POP3 Log (116)
**Thread-safe** : Yes
-**Scope:** 4D application
+**Scope:** 4D local, 4D Server
**Kept between two sessions:** No
-**Description:** Level(s) of messages to be included in the diagnostic log when enabled (see selector Diagnostic log recording). Each level designates a category of diagnostic messages and automatically includes more important categorie(s). For a description of categories, see *Diagnostic log levels* section on *developer.4d.com*.
-
-**Possible values:** One of the following constants (Log info by default): Log trace: activates ERROR, WARN, INFO, DEBUG, TRACE (most detailed level) Log debug: activates ERROR, WARN, INFO, DEBUG Log info: activates ERROR, WARN, INFO (default) Log warn: activates ERROR, WARN Log error: activates ERROR (least detailed level)
-
-
+**Possible values:** 0 or from 1 to X (0 = do not record, 1 to X = sequential number, added to the file name). By default, the value is 0 (POP3 exchanges not recorded).
-### Use legacy network layer (87)
+**Description**: Starts or stops the recording of exchanges between 4D and the POP3 server, when a transporter object is processed through *POP3\_transporter.getMail( )* or *POP3\_transporter.checkConnection( )*. By default, the value is 0 (exchanges not recorded). When this mechanism is enabled, a log file is created in the Logs folder of the database. It is named 4DPOP3Log\_X.txt, where X is the sequential number of the log. Once the file 4DPOP3Log has reached a size of 10 MB, it is closed and a new one is generated, with an incremented sequential number. If a file of the same name already exists, it is replaced directly. You can set the starting number of the sequence using the value parameter. By default, all files are kept, but you can control the number of files to keep using the Circular log limitation parameter.
-**Scope**: 4D in local mode, 4D Server
+For more information on the 4DPOP3Log\_X.txt files, please refer to the *Description of log files* section.
-**Kept between two sessions**: Yes
-**Description:** Sets or gets the current status of the legacy network layer for client/server connections. The legacy network layer is obsolete beginning with 4D v14 R5 and should be replaced progressively in your applications with the *ServerNet* network layer. *ServerNet* will be required in upcoming 4D releases in order to benefit from future network evolutions. For compatibility reasons, the legacy network layer is still supported to allow a smooth transition for existing applications; (it is used by default in applications converted from a release prior to v14 R5). Pass 1 in this parameter to use the legacy network layer (and disable *ServerNet*) for your client/server connections, and pass 0 to disable the legacy network (and use the *ServerNet*).
-This property can also be set by means of the "Use legacy network layer" option found on the *Compatibility page* of the Database Settings (see *Network and Client-Server options*). In this section, you will also find a discussion about migration strategy. We recommend that you activate the *ServerNet* as soon as possible. You will need to restart the application in order for this parameter to be taken into account.
-**Possible values:** 0 or 1 (0 = do not use legacy layer, 1 = use legacy layer)
+### Port ID (15)
-**Default value:** 0 in databases created with 4D v14 R5 or higher, 1 in databases converted from 4D v14 R4 or earlier.
+**Scope**: 4D local, 4D Server
+**Kept between two sessions**: No
+**Description**: TCP port ID used by the 4D Web server with 4D in local mode and 4D Server. The default value, which can be set on the "Web/Configuration" page of the Preferences dialog box, is 80\. You can use the constants of the *TCP Port Numbers* theme for the *value* parameter.
-### SQL Server Port ID (88)
+The Port ID selector is useful for 4D Web Servers compiled and merged with 4D Desktop (in which there is no access to the Design mode). For more information about the TCP port ID, refer to the *Web Server Settings* section.
-**Scope**: 4D local, 4D Server.
-**Kept between two sessions**: Yes
-**Description**: Gets or sets the TCP port number used by the integrated SQL server of 4D in local mode or 4D Server. By default, the value is 19812\. When this selector is set, the database setting is updated. You can also set the TCP port number on the "SQL" page of the Database Settings dialog box.
-**Possible values**: 0 to 65535.
+### Query by formula joins (49)
-**Default value**: 19812
+**Scope**:Current process
+**Kept between two** **sessions**: No
+**Possible values**: 0 (use database configuration), 1 (always use automatic relations) or 2 (use SQL joins if possible).
-### Circular log limitation (90)
+**Description**: Operating mode of the [QUERY BY FORMULA](query-by-formula.md) and [QUERY SELECTION BY FORMULA](query-selection-by-formula.md) commands relating to the use of "SQL joins."
-**Thread-safe** : Yes
+In databases created starting with version 11.2 of 4D v11 SQL, these commands carry out joins based on the SQL joins model. This mechanism can be used to modify the selection of a table according to a query carried out on another table without these tables being connected by an automatic relation (necessary condition in previous versions of 4D).
-**Scope**: 4D local, 4D Server.
+The QUERY BY FORMULA Joins selector lets you specify the operating mode of the query by formula commands for the current process:
-**Kept between two sessions**: No
+- 0: Uses the current settings of the database (default value). In databases created starting with version 11.2 of 4D v11 SQL, "SQL joins" are always activated for queries by formula. In converted databases, this mechanism is not activated by default for compatibility reasons but can be implemented via a preference.
+- 1: Always use automatic relations (= functioning of previous versions of 4D). In this mode, a relation is necessary in order to set the selection of a table according to queries carried out on another table. 4D does not do "SQL joins."
+- 2: Use SQL joins if possible (= default operation of databases created in version 11.2 and higher of 4D v11 SQL ). In this mode, 4D establishes "SQL joins" for queries by formula when the formula is suited for it (with two notable exceptions, see the description of the [QUERY BY FORMULA](query-by-formula.md) or [QUERY SELECTION BY FORMULA](query-selection-by-formula.md) command).
-**Possible values**: Any integer value, 0 = keep all logs
+**Note:** With 4D in remote mode, "SQL joins" can only be used if the formulas are executed on the server (they must have access to the records). To configure where formulas are to be executed, please refer to selectors 46 and 47.
-**Description**: Maximum number of files to keep in rotation for each type of log. By default, the 50 most recent files are kept. If you pass a value *X*, only the *X* most recent files are kept, with the oldest being erased automatically when a new one is created. This setting applies to all log files, i.e. request logs (selectors 28 and 45), debug log (selector 34), events log (selector 79), Web logs (selectors 29 and 84 of the [WEB SET OPTION](web-set-option.md) command), etc.
-### Number of formulas in cache (92)
+### Query by formula on server (46)
-**Scope**: 4D application
+**Scope**: Current table and process
**Kept between two sessions**: No
-**Possible values**: Positive longints
-
-**Default value**: 0 (no cache)
-
-**Description**: Sets or gets the maximum number of formulas to be kept in the cache of formulas, which is used by the [EXECUTE FORMULA](execute-formula.md) command. This limit is applied to all processes, but each process has its own formula cache. Caching formulas accelerates the [EXECUTE FORMULA](execute-formula.md) command execution in compiled mode since each cached formula is tokenized only once in this case. When you change the cache value, existing contents are reset even if the new size is larger than the previous one. Once the maximum number of formulas in the cache is reached, a new executed formula will erase the oldest one in the cache (FIFO mode). This parameter is only taken into account in compiled databases or compiled components.
-
+**Possible values**: 0 (use database configuration), 1 (execute on client) or 2 (execute on server)
+**Description**: Execution location of [QUERY BY FORMULA](query-by-formula.md) and [QUERY SELECTION BY FORMULA](query-selection-by-formula.md) commands for the *table* passed in the parameter.
-### OpenSSL version (94)
+When using a database in client-server mode, the query "by formula" commands can be executed either on the server or on the client machine:
-**Scope**: all 4D machines*
+In databases created with 4D v11 SQL, these commands are executed on the server. In converted databases, these commands are executed on the client machine, as in previous versions of 4D.In converted databases, a specific preference (Application/Compatibility page) can be used to globally modify the execution location of these commands.This difference in execution location influences not only application performance (execution on the server is usually faster) but also programming. In fact, the value of the components of the formula (in particular variables called via a method) differ according to the execution context. You can use this selector to punctually adapt the operation of your application.
-**Kept between two sessions**: No
+If you pass 0 in the *value* l’parameter, the execution location of query "by formula" commands will depend on the database configuration: in databases created with 4D v11 SQL, these commands will be executed on the server. In converted databases, they will be executed on the client machine or the server according to the database preferences. Pass 1 or 2 in *value* to "force" the execution of these commands, respectively, on the client or on the server machine.
-**Description**: Returns the version number of the OpenSSL library in use on the machine. (Read only)
+Refer to example 2.
+**Note:** If you want to be able to enable "SQL type" joins (see the QUERY BY FORMULA Joins selector), you must always execute formulas on the server so that they have access to the records. Be careful, in this context, the formula must not contain any calls to a method, otherwise it will automatically be switched to the remote machine.
-### Cache flush periodicity (95)
-**Thread-safe** : Yes
+### RDP optimization (133)
-**Scope**: 4D local, 4D Server
+**Scope:** 4D application.
-**Kept between two sessions**: No
+**Kept between two sessions:** No.
-**Possible values**: longint > 1 (seconds)
+**Possible values:** `0`: Disabled (default), `1`: Enabled.
-**Description**: Gets or sets the current cache flush periodicity, expressed in seconds. Modifying this value overrides the **Flush Cache every X Seconds** option in the [XML DECODE](xml-decode.md) of the Database settings for the session (it is not stored in the Database settings).
+**Description:** Enables or disables optimizations for RDP (Remote Desktop Protocol). When enabled, optimizes in particular the use of shared clipboard in RDP connections, which can otherwise lead to freezing issues. Note that this selector disables the support in clipboard for images encoded as data uri in raw text (only concerns images dropped or explicitly copied as text from a browser).
@@ -722,249 +809,240 @@ The sleep timeout is applied after a machine running a 4D remote application has
-### Tips enabled (101)
-**Scope:** 4D application
+### Server base process stack size (53)
-**Kept between two sessions:** No
+**Scope**: 4D Server
-**Possible values:** 0 = tips disabled, 1 = tips enabled (default)
+**Kept between two sessions**: No
-**Description:** Sets or gets the current display status of the tips for the 4D application. By default, tips are enabled.
+**Possible values**: Positive longint.
- Note that this parameter sets all 4D tips, i.e. form help messages and Design mode editor's tips.
+**Description**: Size of the stack allocated to each preemptive system process on the server, expressed in bytes. The default size is determined by the system.
+Preemptive system processes (processes of the 4D client base process type) are loaded to control the main 4D client processes. The size allocated by default to the stack of each preemptive process allows a good ease of execution but may prove to be consequential when very large numbers of processes (several hundred) are created.
+For optimization purposes, this size can be reduced considerably if the operations carried out by the database allow for it (for example if the database does not carry out sorts of large quantities of records). Values of 512 or even 256 KB are possible. Be careful, under-sizing the stack is critical and can be harmful to the operation of 4D Server. Setting this parameter should be done with caution and must take the database conditions of use into account (number of records, type of operations, etc.).
-### Tips delay (102)
+In order to be taken into account, this parameter must be executed on the server machine (for example in the *On Server Startup Database Method*).
-**Scope:** 4D application
-**Kept between two sessions:** No
-**Possible values:** longint >= 0 (ticks)
-**Description:** Delay before tips are displayed once the mouse cursor has stopped in objects with attached help messages. Value is expressed in ticks (1/60th of a second). Default value is 45 ticks (0.75 seconds).
+### SMTP Log (110)
+**Thread-safe** : Yes
+**Scope**: 4D local, 4D Server*
-### Tips duration (103)
+**Kept between two sessions**: No
-**Scope:** 4D application
+**Possible values**: 0 or from 1 to X (0 = do not record, 1 to X = sequential number, added to the file name). By default, the value is 0 (SMTP exchanges not recorded).
-**Kept between two sessions:** No
+**Description**: Starts or stops the recording of exchanges between 4D and the SMTP server, when a *transporter* object is processed through *transporter.send( )* or *SMTP\_transporter.checkConnection( )*. By default, the value is 0 (exchanges not recorded). When this mechanism is enabled, a log file is created in the Logs folder of the database. It is named 4DSMTPLog\_X.txt, where *X* is the sequential number of the log. Once the file 4DSMTPLog has reached a size of 10 MB, it is closed and a new one is generated, with an incremented sequential number. If a file of the same name already exists, it is replaced directly. You can set the starting number of the sequence using the *value* parameter. By default, all files are kept, but you can control the number of files to keep using the Circular log limitation parameter.
-**Possible values:** longint >= 60 (ticks)
+For more information on the 4DSMTPLog\_X.txt files, please refer to the *Description of log files* section.
-**Description:** Maximum display duration for a tip. Value is expressed in ticks (1/60th of a second). Default value is 720 ticks (12 seconds).
-### Min TLS version (105)
+### Spellchecker (81)
-**Scope**: 4D Server, 4D Web Server and 4D SQL Server
+**Scope**: 4D application
-**Kept between two sessions**: No
+ **Kept between two sessions**: No
-**Description**: Used to specify the minimum Transport Layer Security (TLS) version, which provides data encryption and authentication between applications and servers. Connection attempts from clients supporting only versions below the minimum will be rejected. The setting is applied globally to the network layer. Once modified, the server must be restarted to use the new value.
+ **Possible values**: 0 (default) = native macOS spellchecker (Hunspell disabled), 1 = Hunspell spellcheck enabled.
-**Default value**: TLSv1\_3
+**Description**: Enables the Hunspell spellcheck under macOS. By default, the native spellchecker is enabled on this platform. You may prefer to use the Hunspell spellcheck, for example, in order to unify the interface for your cross-platform applications (under Windows, only the Hunspell spellcheck is available). For more information, refer to *Spell checking*.
-**Possible values**: TLSv1\_2 (TLS 1.2, introduced in 2008) TLSv1\_3 (TLS 1.3, introduced in 2018) **NOTES**:
-- The 4D Internet Commands plugin uses a different network layer, therefore this selector will have no impact on its TLS version.
-- This setting is ignored for your client server connections if your 4D Server uses the legacy network layer.
+### SQL Autocommit (43)
+**Scope**:Database
-### User param value (108)
+**Kept between two** **sessions**: Yes
-**Scope:** 4D local, 4D Server
+**Possible values**: 0 (deactivation) or 1 (activation)
-**Kept between two sessions:** No
+**Description**: Activation or deactivation of the SQL auto-commit mode. By default, the value is 0 (deactivated mode)
-**Possible values**: Any custom string
+ The auto-commit mode is used to strengthen the referential integrity of the database. When this mode is active, all *SELECT*, *INSERT*, *UPDATE* and *DELETE* (SIUD) queries are automatically included in ad hoc transactions when they are not already executed within a transaction. This mode can also be set in the Preferences of the database.
-**Description:** Custom string passed from one session to the next one when the 4D application is restarted. This selector is useful in the context of automated unit tests that require applications to restart with different parameters.
-When used with [SET DATABASE PARAMETER](set-database-parameter.md), defines a new value that will be available within the next opened database after 4D is restarted manually or using the [OPEN DATABASE](open-database.md)(\*), [OPEN DATA FILE](open-data-file.md), or [RESTART 4D](restart-4d.md) commands. When used with [Get database parameter](get-database-parameter.md), gets the currently available user parameter value, defined using a command line (see *Command Line Interface*), the .4DLink file (see *Using a 4DLink file*), or a call to [SET DATABASE PARAMETER](set-database-parameter.md) during the previous session. (\*) If [SET DATABASE PARAMETER](set-database-parameter.md) sets a User param value before a call to [OPEN DATABASE](open-database.md) with a .4DLink file that also contains a user-param xml attribute, 4D takes into account only the parameter provided by [SET DATABASE PARAMETER](set-database-parameter.md).
+### SQL Engine case sensitivity (44)
-### Times inside objects (109)
+**Scope**: Database
-**Scope:** 4D local, 4D Server (all processes)
+**Kept between two sessions**: Yes
-**Kept between two sessions**: No
+**Possible values**: 0 (case not taken into account) or 1 (case-sensitive)
-**Possible values**: Times in seconds (0) (default), Times in milliseconds (1)
+**Description**: Activation or deactivation of case-sensitivity for string comparisons carried out by the SQL engine.
-**Description**: Defines the way time values are converted and stored within object properties and collection elements, as well as how they will be imported/exported in JSON and in Web areas. By default, starting with 4D v17, times are converted and stored as number of seconds in objects.
+By default, the value is 1 (case-sensitive): the SQL engine differentiates between upper and lower case and between accented characters when comparing strings (sorts and queries). For example “ABC”= “ABC” but “ABC” # “Abc” and "abc" # "âbc." In certain cases, for example so as to align the functioning of the SQL engine with that of the 4D engine, you may wish for string comparisons to not be case-sensitive (“ABC”=“Abc"="âbc").
-In previous releases, time values were converted and stored as number of milliseconds in those contexts. Using this selector can help you migrating your applications by reverting to previous settings if necessary.
+**Warning:* Since this option modifies the database structure file and all processes, for performance reasons it is highly recommended to set it at database startup only.* This option can also be set in the Database settings.
-**Note**: ORDA methods and SQL engine ignore this setting, they always assume time values to be numbers of seconds.
-### SMTP Log (110)
+### SQL Server Port ID (88)
-**Thread-safe** : Yes
+**Scope**: 4D local, 4D Server.
-**Scope**: 4D local, 4D Server*
+**Kept between two sessions**: Yes
-**Kept between two sessions**: No
+**Description**: Gets or sets the TCP port number used by the integrated SQL server of 4D in local mode or 4D Server. By default, the value is 19812\. When this selector is set, the database setting is updated. You can also set the TCP port number on the "SQL" page of the Database Settings dialog box.
-**Possible values**: 0 or from 1 to X (0 = do not record, 1 to X = sequential number, added to the file name). By default, the value is 0 (SMTP exchanges not recorded).
+**Possible values**: 0 to 65535.
-**Description**: Starts or stops the recording of exchanges between 4D and the SMTP server, when a *transporter* object is processed through *transporter.send( )* or *SMTP\_transporter.checkConnection( )*. By default, the value is 0 (exchanges not recorded). When this mechanism is enabled, a log file is created in the Logs folder of the database. It is named 4DSMTPLog\_X.txt, where *X* is the sequential number of the log. Once the file 4DSMTPLog has reached a size of 10 MB, it is closed and a new one is generated, with an incremented sequential number. If a file of the same name already exists, it is replaced directly. You can set the starting number of the sequence using the *value* parameter. By default, all files are kept, but you can control the number of files to keep using the Circular log limitation parameter.
+**Default value**: 19812
-For more information on the 4DSMTPLog\_X.txt files, please refer to the *Description of log files* section.
-### Current process debug log recording (111)
+### SSL cipher list (64)
-**Scope:** 4D application
+**Scope**: 4D application
-**Kept between two sessions:** No
+**Kept between two sessions**: No
-**Description**: Starts or stops the sequential recording of programming events **for the current process** in a separated log file. This log is similar to the Debug log recording (selector 34) but focuses on the current process only. The log file name includes the letter "p" and the process number: 4DDebugLog\[\_p*N*_*n*].txt, where N is the process unique ID.
+**Possible values**: Sequence of strings separated by colons.
-For more information about this format and on the use of the *4DDebugLog* file, please refer to *Description of log files* in the Design Reference.
+**Description:** Cipher list used by 4D for the secure protocol. This list modifies the priority of ciphering algorithms implemented by 4D. For example, you can pass the following string in the *value* parameter: "HIGH:!aNULL:!MD5:!3DES:!CAMELLIA:!AES128:!RSA:!DH:!RC4". For a complete description of the syntax for the ciphers list, refer to the *ciphers page of the OpenSSL* *site*.
-**Notes:** This selector is provided solely for the purpose of debugging and should be used with care. In particular, it must not put into production since it can have an impact on the application performance. You can use both Debug log recording and Current process debug log recording selectors simultaneously, in which case the current process actions will not be logged in the main log file.
+This setting applies to the main Web server (excluding Web server objects), the SQL server, client/server connections, as well as the HTTP client and all the 4D commands that make use of the secure protocol. It is temporary (it is not maintained between sessions).
+When the cipher list has been modified, you will need to restart the server concerned in order for the new settings to be taken into account.
+To reset the cipher list to its default value (stored permanently in the SLI file), call the [SET DATABASE PARAMETER](set-database-parameter.md) command and pass an empty string ("") in the *value* parameter.
-### Is current database a project (112)
+**Note:** With the [Get database parameter](get-database-parameter.md) command, the cipher list is returned in the optional *stringValue* parameter and the return parameter is always 0.
-**Note:** You can only use this selector with the [Get database parameter](get-database-parameter.md) command and its value cannot be set.
-**Scope**: 4D application
-**Description**: Returns 1 if the current database architecture is a project, and 0 otherwise. For more information, please refer to *Project vs binary database* section.
+### Table sequence number (31)
+**Scope**:4D application
-### Is host database a project (113)
+ **Kept between two sessions**: Yes
-**Note:** You can only use this selector with the [Get database parameter](get-database-parameter.md) command and its value cannot be set.
+ **Possible values**: Any longint value.
-**Scope**: 4D application
+**Description**: This selector is used to modify or get the current unique number for records of the table passed as parameter. "Current number" means "last number used": if you modify this value using [SET DATABASE PARAMETER](set-database-parameter.md), the next record will be created with a number that consists of the value passed + 1\. This new number is the one returned by the [Sequence number](sequence-number.md) command as well in any field of the table to which the "Autoincrement" property has been assigned in the Structure editor or via SQL.
-**Description**: Returns 1 if the host database architecture is a project, and 0 otherwise. For more information, please refer to *Project vs binary database* section.
+By default, this unique number is set by 4D and corresponds to the order of record creation. For additional information, refer to the documentation of the [Sequence number](sequence-number.md) command.
-### Libldap version (114)
-**Scope**: Current 4D machine
+### TCPUDP log recording (131)
-**Kept between two sessions**: n/a
+**Scope:** 4D application.
-**Description**: Returns the version number of the LDAP library in the 4D application on the current machine. (Read only)
+**Kept between two sessions:** No.
+**Possible values:** `0`: Logging disabled (default), `1`: Logging enabled.
+**Description:** Enables or disables the `4DTCPUDPLog.txt` file for logging TCP events.
-### Libsasl version (115)
-**Scope**: Current 4D machine
-**Kept between two sessions**: n/a
-**Description**: Returns the version number of the SASL library in the 4D application on the current machine. (Read only)
+### Times inside objects (109)
+**Scope:** 4D local, 4D Server (all processes)
+**Kept between two sessions**: No
-### POP3 Log (116)
+**Possible values**: Times in seconds (0) (default), Times in milliseconds (1)
-**Thread-safe** : Yes
+**Description**: Defines the way time values are converted and stored within object properties and collection elements, as well as how they will be imported/exported in JSON and in Web areas. By default, starting with 4D v17, times are converted and stored as number of seconds in objects.
-**Scope:** 4D local, 4D Server
+In previous releases, time values were converted and stored as number of milliseconds in those contexts. Using this selector can help you migrating your applications by reverting to previous settings if necessary.
-**Kept between two sessions:** No
+**Note**: ORDA methods and SQL engine ignore this setting, they always assume time values to be numbers of seconds.
-**Possible values:** 0 or from 1 to X (0 = do not record, 1 to X = sequential number, added to the file name). By default, the value is 0 (POP3 exchanges not recorded).
-**Description**: Starts or stops the recording of exchanges between 4D and the POP3 server, when a transporter object is processed through *POP3\_transporter.getMail( )* or *POP3\_transporter.checkConnection( )*. By default, the value is 0 (exchanges not recorded). When this mechanism is enabled, a log file is created in the Logs folder of the database. It is named 4DPOP3Log\_X.txt, where X is the sequential number of the log. Once the file 4DPOP3Log has reached a size of 10 MB, it is closed and a new one is generated, with an incremented sequential number. If a file of the same name already exists, it is replaced directly. You can set the starting number of the sequence using the value parameter. By default, all files are kept, but you can control the number of files to keep using the Circular log limitation parameter.
-For more information on the 4DPOP3Log\_X.txt files, please refer to the *Description of log files* section.
+### Tips delay (102)
+**Scope:** 4D application
-### Is host database writable (117)
+**Kept between two sessions:** No
-**Note:** You can only use this selector with the [Get database parameter](get-database-parameter.md) command and its value cannot be set.
+**Possible values:** longint >= 0 (ticks)
-**Scope**: 4D application
+**Description:** Delay before tips are displayed once the mouse cursor has stopped in objects with attached help messages. Value is expressed in ticks (1/60th of a second). Default value is 45 ticks (0.75 seconds).
-**Description**: Returns 1 if the host project file/structure file is writable, and 0 if it is read-only.
-### IMAP Log (119)
+### Tips duration (103)
-**Thread-safe** : Yes
+**Scope:** 4D application
-**Scope**: 4D local, 4D Server
+**Kept between two sessions:** No
-**Kept between two sessions**: No
+**Possible values:** longint >= 60 (ticks)
-**Possible values**: 0 or from 1 to X (0 = do not record, 1 to X = sequential number, added to the file name). By default, the value is 0 (IMAP exchanges not recorded).
+**Description:** Maximum display duration for a tip. Value is expressed in ticks (1/60th of a second). Default value is 720 ticks (12 seconds).
-**Description**: Starts or stops the recording of exchanges between 4D and the IMAP server, when a transporter object is processed through *IMAP\_transporter.getMail( )* or *IMAP\_transporter.checkConnection( )*. By default, the value is 0 (exchanges not recorded). When this mechanism is enabled, a log file is created in the Logs folder of the database. It is named 4DIMAPLog\_X.txt, where X is the sequential number of the log. Once the file 4DIMAPLog has reached a size of 10 MB, it is closed and a new one is generated, with an incremented sequential number. If a file of the same name already exists, it is replaced directly. You can set the starting number of the sequence using the value parameter. By default, all files are kept, but you can control the number of files to keep using the Circular log limitation parameter.
-For more information on the 4DIMAPLog\_X.txt files, please refer to the *Description of log files* section.
+### Tips enabled (101)
-### Libzip version (120)
+**Scope:** 4D application
-**Scope:** Current 4D machine
+**Kept between two sessions:** No
-**Kept between two sessions:** n/a
+**Possible values:** 0 = tips disabled, 1 = tips enabled (default)
-**Description:** Returns the version number of the libzip library in the 4D application on the current machine. (Read only)
+**Description:** Sets or gets the current display status of the tips for the 4D application. By default, tips are enabled.
+ Note that this parameter sets all 4D tips, i.e. form help messages and Design mode editor's tips.
-### Pause logging (121)
-**Thread-safe** : Yes
-**Scope**: 4D application
+### Use legacy network layer (87)
-**Kept between two** **sessions**: No
+**Scope**: 4D in local mode, 4D Server
-**Possible values**: 0 (resume logs), 1 (pause logs)
+**Kept between two sessions**: Yes
-**Description:** This selector allows to suspend/resume all logging operations started on the application (except ORDA logs). This feature can be useful to temporarily lighten the 4D application tasks or schedule logging operations.
+**Description:** Sets or gets the current status of the legacy network layer for client/server connections. The legacy network layer is obsolete beginning with 4D v14 R5 and should be replaced progressively in your applications with the *ServerNet* network layer. *ServerNet* will be required in upcoming 4D releases in order to benefit from future network evolutions. For compatibility reasons, the legacy network layer is still supported to allow a smooth transition for existing applications; (it is used by default in applications converted from a release prior to v14 R5). Pass 1 in this parameter to use the legacy network layer (and disable *ServerNet*) for your client/server connections, and pass 0 to disable the legacy network (and use the *ServerNet*).
+This property can also be set by means of the "Use legacy network layer" option found on the *Compatibility page* of the Database Settings (see *Network and Client-Server options*). In this section, you will also find a discussion about migration strategy. We recommend that you activate the *ServerNet* as soon as possible. You will need to restart the application in order for this parameter to be taken into account.
+**Possible values:** 0 or 1 (0 = do not use legacy layer, 1 = use legacy layer)
-### TCPUDP log recording (131)
+**Default value:** 0 in databases created with 4D v14 R5 or higher, 1 in databases converted from 4D v14 R4 or earlier.
-**Scope:** 4D application.
-**Kept between two sessions:** No.
-**Possible values:** `0`: Logging disabled (default), `1`: Logging enabled.
-**Description:** Enables or disables the `4DTCPUDPLog.txt` file for logging TCP events.
+### User param value (108)
+**Scope:** 4D local, 4D Server
+**Kept between two sessions:** No
-### RDP optimization (133)
+**Possible values**: Any custom string
-**Scope:** 4D application.
+**Description:** Custom string passed from one session to the next one when the 4D application is restarted. This selector is useful in the context of automated unit tests that require applications to restart with different parameters.
-**Kept between two sessions:** No.
+When used with [SET DATABASE PARAMETER](set-database-parameter.md), defines a new value that will be available within the next opened database after 4D is restarted manually or using the [OPEN DATABASE](open-database.md)(\*), [OPEN DATA FILE](open-data-file.md), or [RESTART 4D](restart-4d.md) commands. When used with [Get database parameter](get-database-parameter.md), gets the currently available user parameter value, defined using a command line (see *Command Line Interface*), the .4DLink file (see *Using a 4DLink file*), or a call to [SET DATABASE PARAMETER](set-database-parameter.md) during the previous session. (\*) If [SET DATABASE PARAMETER](set-database-parameter.md) sets a User param value before a call to [OPEN DATABASE](open-database.md) with a .4DLink file that also contains a user-param xml attribute, 4D takes into account only the parameter provided by [SET DATABASE PARAMETER](set-database-parameter.md).
-**Possible values:** `0`: Disabled (default), `1`: Enabled.
-**Description:** Enables or disables optimizations for RDP (Remote Desktop Protocol). When enabled, optimizes in particular the use of shared clipboard in RDP connections, which can otherwise lead to freezing issues. Note that this selector disables the support in clipboard for images encoded as data uri in raw text (only concerns images dropped or explicitly copied as text from a browser).
:::note
diff --git a/docs/commands-legacy/verify-data-file.md b/docs/commands-legacy/verify-data-file.md
index 3273a2dbf08d87..6427fc149b971f 100644
--- a/docs/commands-legacy/verify-data-file.md
+++ b/docs/commands-legacy/verify-data-file.md
@@ -52,44 +52,44 @@ Generally, the VERIFY DATA FILE command creates a log file in XML format (please
The *method* parameter is used to set a callback method that will be called regularly during the verification. If you pass an empty string or an invalid method name, this parameter is ignored (no method is called). When called, the method receives up to 5 parameters depending on the objects being verified and on the event type originating the call (see calls table). It is imperative to declare these parameters in the method:
-| \- $1 | Integer | Message type (see table) |
+
+| Parameter | Type | Description |
| ----- | ------- | ------------------------ |
-| \- $2 | Integer | Object type |
-| \- $3 | Text | Message |
-| \- $4 | Integer | Table number |
-| \- $5 | Integer | Reserved |
+| $messageType | Integer | Message type (see table) |
+| $objectType | Integer | Object type |
+| $messageText | Text | Message |
+| $table | Integer | Table number |
+| $reserved | Integer | Reserved |
The following table describes the contents of the parameters depending on the event type:
-| **Event** | **$1 (Longint)** | **$2 (Longint)** | **$3 (Text)** | **$4 (Longint)** | **$5 (Longint)** |
-| ------------------------- | ---------------- | ------------------ | -------------- | ---------------- | ---------------- |
-| Message | 1 | 0 | Progression | Percentage | Reserved |
-| message | done (0-100) | | | | |
-| Verification finished(\*) | 2 | Object type (\*\*) | OK message | Table or index | Reserved |
-| test | number | | | | |
-| Error | 3 | Object type (\*\*) | Text of error- | Table or index | Reserved |
-| message | number | | | | |
+| **Event** | **$messageType** | **$objectType** | **$messageText** | **$table** | **$reserved** |
+| ------- | ---------------- | ------------------ | -------------- | ---------------- | ---------------- |
+| Message | 1 | 0 | Progression message | Percentage done (0-100) | Reserved |
+| Verification finished(\*) | 2 | Object type (\*\*) | OK message test | Table or index number | Reserved |
+| Error | 3 | Object type (\*\*) | Text of error message | Table or index number | Reserved |
| End of execution | 4 | 0 | DONE | 0 | Reserved |
| Warning | 5 | Object type(\*\*) | Text of error | Table or index | Reserved |
-| message | number | | | | |
+|||| message | number |
-(\*) The *Verification finished* ($1=2) event is never returned when the mode is Verify All. It is only used in Verify Records or Verify Indexes mode.
-(\*\*) *Object type*: When an object is verified, a "finished" message ($1=2), error ($1=3) or warning ($1=5) can be sent. The object type returned in $2 can be one of the following:
+(\*) The *Verification finished* ($messageType=2) event is never returned when the mode is Verify All. It is only used in Verify Records or Verify Indexes mode.
+(\*\*) *Object type*: When an object is verified, a "finished" message ($messageType=2), error ($messageType=3) or warning ($messageType=5) can be sent. The object type returned in $objectType can be one of the following:
* 0 = undetermined
* 4 = record
* 8 = index
* 16 = structure object (preliminary check of data file).
-*Special case*: When $4 = 0 for $1=2, 3 or 5, the message does not concern a table or an index but rather the data file as a whole.
+*Special case*: When $table = 0 for $messageType=2, 3 or 5, the message does not concern a table or an index but rather the data file as a whole.
+
+The callback method must also return a *$result* integer value, which is used to check the execution of the operation:
-The callback method must also return a value in $0 (Longint), which is used to check the execution of the operation:
+* If $result = 0, the operation continues normally
+* If $result = -128, the operation is stopped without any error generated
+* If $result = another value, the operation is stopped and the value passed in $result is returned as the error number. This error can be intercepted by an error-handling method.
-* If $0 = 0, the operation continues normally
-* If $0 = -128, the operation is stopped without any error generated
-* If $0 = another value, the operation is stopped and the value passed in $0 is returned as the error number. This error can be intercepted by an error-handling method.
+**Note:** You cannot interrupt execution via $result after the *End of execution* event ($1=4) has been generated.
-**Note:** You cannot interrupt execution via $0 after the *End of execution* event ($4=1) has been generated.
Two optional arrays can also be used by this command:
diff --git a/docs/commands/command-index.md b/docs/commands/command-index.md
index b0f8e1145acbba..361980267b1377 100644
--- a/docs/commands/command-index.md
+++ b/docs/commands/command-index.md
@@ -1290,6 +1290,8 @@ title: Commands by name
[`WA STOP LOADING URL`](../commands-legacy/wa-stop-loading-url.md)
[`WA ZOOM IN`](../commands-legacy/wa-zoom-in.md)
[`WA ZOOM OUT`](../commands-legacy/wa-zoom-out.md)
+[`Web Event`](web-event.md)
+[`Web Form`](web-form.md)
[`WEB GET BODY PART`](../commands-legacy/web-get-body-part.md)
[`WEB Get body part count`](../commands-legacy/web-get-body-part-count.md)
[`WEB Get current session ID`](../commands-legacy/web-get-current-session-id.md)
diff --git a/docs/commands/open-datastore.md b/docs/commands/open-datastore.md
index 3f568dd3d909b3..f26d204cc3be93 100644
--- a/docs/commands/open-datastore.md
+++ b/docs/commands/open-datastore.md
@@ -8,7 +8,8 @@ displayed_sidebar: docs
|Release|Changes|
|---|---|
-|20 R6|Support access to Qodly instances|
+|21|Qodly cloud discontinued|
+|20 R6|Support access to Qodly cloud instances|
|20 R4|New *passwordAlgorithm* property|
|18|Added|
@@ -30,12 +31,11 @@ displayed_sidebar: docs
The `Open datastore` command connects the application to the remote datastore identified by the *connectionInfo* parameter and returns a matching `4D.DataStoreImplementation` object associated with the *localID* local alias.
-The following remote datastores are supported by the command:
+Exchanges with the remote datastore are automatically managed via REST requests. The *connectionInfo* 4D datastore must be available as a remote datastore, i.e.:
-|datastore kind|Description|
-|---|---|
-|Remote 4D application|A 4D application available as a remote datastore, i.e.:its web server is launched with http and/or https enabled,its datastore is exposed to REST ([**Expose as REST server**](REST/configuration.md#starting-the-rest-server) option checked).A license can be required (see note)|
-|[Qodly application](https://developer.qodly.com/docs/cloud/getStarted)|A Qodly Server application that provided you with an **api endpoint** and a valid **api key** associated with a defined role. You must pass the api key in the `api-key` property of the *connectionInfo* object. You can then work with the returned datastore object, with all privileges granted to the associated role.|
+- its Web Server must be launched with http and/or https enabled,
+- its datastore is exposed to REST ([**Expose as REST server**](REST/configuration.md#starting-the-rest-server) option checked),
+- a client license must be available if required (see note).
:::note
@@ -46,15 +46,14 @@ The following remote datastores are supported by the command:
Pass in *connectionInfo* an object describing the remote datastore you want to connect to. It can contain the following properties (all properties are optional except *hostname*):
-|Property| Type|Remote 4D application |Qodly application|
-|---|---|---|---|
+|Property| Type|Remote 4D application |
+|---|---|---|
|hostname|Text|Name or IP address of the remote database + ":" + port number (port number is mandatory)|API Endpoint of the Qodly cloud instance|
-|user|Text|User name|- (ignored)|
-|password|Text|User password|- (ignored)|
-|idleTimeout|Integer|Inactivity session timeout (in minutes), after which the session is automatically closed by 4D. If omitted, default value is 60 (1h). The value cannot be < 60 (if a lower value is passed, the timeout is set to 60). For more information, see **Closing sessions**.|- (ignored)|
-|tls|Boolean|True to use secured connection(1). If omitted, false by default. Using a secured connection is recommended whenever possible.|True to use secured connection. If omitted, false by default|
-|type |Text |must be "4D Server"|- (ignored)|
-|api-key|Text|- (ignored)|Api key of the Qodly cloud instance|
+|user|Text|User name|
+|password|Text|User password|
+|idleTimeout|Integer|Inactivity session timeout (in minutes), after which the session is automatically closed by 4D. If omitted, default value is 60 (1h). The value cannot be < 60 (if a lower value is passed, the timeout is set to 60). For more information, see **Closing sessions**.|
+|tls|Boolean|True to use secured connection(1). If omitted, false by default. Using a secured connection is recommended whenever possible.|
+|type |Text |must be "4D Server"|
(1) If `tls` is true, the HTTPS protocol is used if:
@@ -119,27 +118,6 @@ Working with several remote datastores:
ALERT("They are "+String($foreignStudents.Students.all().length)+" foreign students")
```
-## Example 4
-
-Connection to a Qodly application:
-
-```4d
-var $connectTo : Object:={hostname: "https://xxx-x54xxx-xx-xxxxx-8xx5-xxxxxx.xx-api.cloud.com"; tls: True}
-
-var $remoteDS : 4D.DataStoreImplementation
-var $data : 4D.EntitySelection
-
-$connectTo["api-key"]:="fxxxx-xxxx-4xxx-txxx-xxxxxxxx0" //only for example purpose
- //it is recommended to store the API key in a secured place (e.g. a file)
- //and to load it in the code
-
-$remoteDS:=Open datastore($connectTo; "remoteId")
-$data:=$remoteDS.item.all()
-
-ALERT(String($data.length)+" items have been read")
-
-```
-
## Error management
diff --git a/docs/commands/string.md b/docs/commands/string.md
index 39dde66bd5e2d7..b8afcaa54c3b78 100644
--- a/docs/commands/string.md
+++ b/docs/commands/string.md
@@ -105,8 +105,6 @@ If you pass 0 in *base*, the command determines the radix depending on the *expr
| String(254;16) | "fe" | hexadecimal string |
| String(-16523461; 16)| "-fc20c5" | hexadecimal string (negative) |
| String(Log(-1); 10)| "NaN" | Not a number |
-| String(1/0; 10) | "NaN" | Not a number |
-| String(-1/0; 10) | "NaN" | Not a number |
:::note
diff --git a/docs/commands/theme/Web_Server.md b/docs/commands/theme/Web_Server.md
index 8bc434863cf998..4dce6a465e0174 100644
--- a/docs/commands/theme/Web_Server.md
+++ b/docs/commands/theme/Web_Server.md
@@ -8,6 +8,8 @@ slug: /commands/theme/Web-Server
||
|---|
+|[](../../commands/web-event.md)
|
+|[](../../commands/web-form.md)
|
|[](../../commands-legacy/web-get-body-part.md)
|
|[](../../commands-legacy/web-get-body-part-count.md)
|
|[](../../commands-legacy/web-get-current-session-id.md)
|
diff --git a/docs/commands/web-event.md b/docs/commands/web-event.md
new file mode 100644
index 00000000000000..a2811194ad76a1
--- /dev/null
+++ b/docs/commands/web-event.md
@@ -0,0 +1,96 @@
+---
+id: web-event
+title: Web Event
+displayed_sidebar: docs
+---
+
+**Web Event** : object
+
+
+|Parameter|Type| |Description|
+|---------|--- |:---:|------|
+|Result|Object|←|Information on the triggered event |
+
+
+
+## Description
+
+`Web Event` returns an object with information on a triggered event linked to a web page component.
+
+The command must be called in the context of a web page handled by the 4D web server.
+
+**Result**
+
+The returned object contains the following properties:
+
+| Property | |Type| Description |
+|----|---|----|----|
+| caller | |string| [Server-side reference](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/pageLoaderOverview#data-access-category) of the component triggering the event |
+| eventType | |string| Type of event:onbluronfocusonclickonauxclickonmouseenteronmouseleaveonkeyuponkeydownonchangeunloadonload - triggered when the `Page` loads|
+| data | |object|Additional information depending on the involved component|
+| |index |number|Tabs component: index of the tab (indexing starts at 0)Data Table component: column number|
+| |row |number|Data Table component: row number |
+| |name |string|Data Table component: qodlysource name of the column (e.g. "firstname", "address.city")|
+
+#### Example
+
+The objective is to display/hide a help text when the user hovers over the component:
+
+
+
+This is done by attaching `onmouseenter` and `onmouseleave` events to a **Text input** component that displays the information stored in a **Text** component (displaying "This is the help text").
+
+
+
+In this scenario:
+
+* The Text input component has `orderNumber` as Server side reference.
+ 
+* The Text component has `helpOn_orderNumber` as Server side reference.
+ 
+* The [exposed](../ORDA/ordaClasses.md#exposed-vs-non-exposed-functions) function `help()` is attached to both the `onmouseenter` and `onmouseleave` events and contains the following code:
+
+```4d
+shared singleton Class constructor()
+exposed Function help()
+
+ var event : Object
+ var myForm : 4D.WebForm
+ var componentRef : Text
+
+ myForm:=web Form
+ event:=web Event
+ componentRef:=event.caller
+
+ Case of
+ : (event.eventType="onmouseenter") // event is onmouseenter
+ myForm["helpOn_"+componentRef].show() // show the help on "orderNumber" by showing
+ // the text component with reference "helpOn_orderNumber"
+ : (event.eventType="onmouseleave") // event is onmouseleave
+ myForm["helpOn_"+componentRef].hide() // hide the help on orderNumber
+
+ End case
+
+```
+
+To open the web page with the help on `orderNumber` hidden, you can associate this function to the `onload` event of the web page:
+
+```4d
+exposed function hideOnLoad()
+ webForm.helpOn_orderNumber.hide()
+
+```
+
+## See also
+
+[Web Form](web-form.md)
+[WebForm class](../API/WebFormClass.md)
+[WebFormItem class](../API/WebFormItemClass.md)
+
+## Properties
+
+| | |
+| --- | --- |
+| Command number | 1734 |
+| Thread safe | ✗ |
+
diff --git a/docs/commands/web-form.md b/docs/commands/web-form.md
new file mode 100644
index 00000000000000..1ee0923f99a51a
--- /dev/null
+++ b/docs/commands/web-form.md
@@ -0,0 +1,46 @@
+---
+id: web-form
+title: Web Form
+displayed_sidebar: docs
+---
+
+**Web Form** : 4D.WebForm
+
+
+|Parameter|Type| |Description|
+|---------|--- |:---:|------|
+|Result|4D.WebForm|←|New `Web Form` proxy object|
+
+
+## Description
+
+The `Web Form` command returns a `4D.WebForm` proxy object, providing a means to work with and effectively emulates the Page's properties and functions.
+
+
+:::info
+
+Keep in mind that a `4D.WebForm` object is a **proxy object**, and not a direct reference to the web form object itself. As a consequence for example, the `4D.WebForm` object does not expose all Page properties in the Debugger.
+
+:::
+
+Each property of the returned object is an object of the [4D.WebFormItem](../API/WebFormItemClass.md) class.
+
+The command returns `null` if it is called in a request that does not originate from Qodly Studio.
+
+
+## See also
+
+[Web Event](web-event.md)
+[WebForm class](../API/WebFormClass.md)
+[WebFormItem class](../API/WebFormItemClass.md)
+
+## Properties
+
+| | |
+| --- | --- |
+| Command number | 1735 |
+| Thread safe | ✗ |
+
+
+
+
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/API/CollectionClass.md b/i18n/es/docusaurus-plugin-content-docs/current/API/CollectionClass.md
index 07743af4897bf7..804f8eff06d2f6 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/API/CollectionClass.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/API/CollectionClass.md
@@ -3,7 +3,7 @@ id: CollectionClass
title: Collection
---
-La clase Collection gestiona variables de tipo [Collection](Concepts/dt_collection.md).
+The Collection class manages [Collection](Concepts/dt_collection.md) type expressions.
Una colección es inicializada con los comandos [`New collection`](../commands/new-collection.md) o [`New shared collection`](../commands/new-shared-collection.md).
@@ -264,14 +264,14 @@ $c.combine($fruits;3) //[1,2,3,"Orange","Banana","Apple","Grape",4,5,6]
-**.concat**( *value* : any { *;...valueN* } ) : Collection
+**.concat**( *value* : any { ; *...valueN* } ) : Collection
-| Parámetros | Tipo | | Descripción |
-| ---------- | -------------------------------------------------------------- | :-------------------------: | --------------------------------------------------------------------------------------------------------------------------------------------------- |
-| value | Number, Text, Object, Collection, Date, Time, Boolean, Picture | -> | Valores a concatenar. Si *value* es una colección, todos sus elementos se añaden al final de la colección original. |
-| Resultado | Collection | <- | Colección original con valores rellenados |
+| Parámetros | Tipo | | Descripción |
+| ---------- | ---------- | :-------------------------: | --------------------------------------------------------------------------------------------------------------------------------------------------- |
+| value | any | -> | Valores a concatenar. Si *value* es una colección, todos sus elementos se añaden al final de la colección original. |
+| Resultado | Collection | <- | Colección original con valores rellenados |
@@ -3171,14 +3171,12 @@ La función `.sort()` ordena los elemento
Si se llama a `.sort()` sin parámetros, sólo se ordenan los valores escalares (número, texto, fecha, booleanos). Los elementos se ordenan por defecto de forma ascendente, según su tipo.
También puede pasar una de las siguientes constantes en el parámetro *ascOrDesc*:
-```
-|Constant| Type|Value|Comment|
-|---|---|---|---|
-|ck ascending|Integer|0|Elements are ordered in ascending order (default)|
-|ck descending|Integer|1|Elements are ordered in descending order|
+| Constante | Tipo | Valor | Comentario |
+| ------------- | ------- | ----- | ----------------------------------------------------------------------------- |
+| ck ascending | Integer | 0 | Los elementos se ordenan de forma ascendente (por defecto) |
+| ck descending | Integer | 1 | Los elementos se ordenan de forma descendente |
-This syntax orders scalar values in the collection only (other element types such as objects or collections are returned unordered).
-```
+Esta sintaxis sólo ordena los valores escalares de la colección (otros tipos de elementos, como objetos o colecciones, se devuelven desordenados).
Si la colección contiene elementos de diferentes tipos, se agrupan primero por tipo y se ordenan después. Si attributePath lleva a una propiedad de objeto que contiene valores de diferentes tipos, primero se agrupan por tipo y se ordenan después.
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/API/CryptoKeyClass.md b/i18n/es/docusaurus-plugin-content-docs/current/API/CryptoKeyClass.md
index 7899bcb34a4cb3..e77b3e64c5a4c4 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/API/CryptoKeyClass.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/API/CryptoKeyClass.md
@@ -63,7 +63,7 @@ La función `4D.CryptoKey.new()` crea un
#### *CryptoKey*
-El objeto `CryptoKey` devuelto encapsula un par de llaves de cifrado. It is a shared object and can therefore be used by multiple 4D processes simultaneously.
+El objeto `CryptoKey` devuelto encapsula un par de llaves de cifrado. Es un objeto compartido y, por tanto, puede ser utilizado por varios procesos 4D simultáneamente.
#### Ejemplo 1
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/API/DataClassClass.md b/i18n/es/docusaurus-plugin-content-docs/current/API/DataClassClass.md
index 08f4b68da0bcd0..75f992ea902db8 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/API/DataClassClass.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/API/DataClassClass.md
@@ -945,7 +945,7 @@ Las fórmulas en las consultas pueden recibir parámetros a través de $1. Este
- Constantes de tipo **date**: formato "YYYY-MM-DD"
- Constantes **null**: utilizando la palabra clave "null" se encontrarán las propiedades **null** y **undefined**.
- en el caso de una búsqueda con un comparador IN, *value* debe ser una colección, o los valores que coincidan con el tipo de la ruta del atributo entre \[ ] separados por comas (para las cadenas, los caracteres `"` deben escaparse con `\`).
- - **objeto**: sólo se admiten los objetos [4D.Vector](../API/VectorClass.md), en el contexto de **consultas de similaridad vectorial** (*attributePath* también debe contener objetos 4D.Vector válidos).
+ - **object**: only [4D.Vector](../API/VectorClass.md) objects are supported, in the context of [**vector similarity queries**](#query-by-vector-similarity) (*attributePath* must also contain valid 4D.Vector objects).
- **logicalOperator**: utilizado para unir condiciones múltiples en la búsqueda (opcional). Puede utilizar uno de los siguientes operadores lógicos (se puede utilizar el nombre o el símbolo):
| Conjunción | Símbolo(s) |
@@ -1211,6 +1211,20 @@ var $comparisonVector := {vector: $myVector; metric: mk euclidean; threshold: 1.
var $results := ds.MyClass.query("myVectorField <= :1"; $comparisonVector)
```
+The **order by** statement is supported in the query string so that entities in the resulting entity selection are sorted by similarity. Por ejemplo:
+
+```4d
+var $results := ds.MyClass.query("myVectorField > :1 order by myVectorField"; $comparisonVector)
+ //default order, the first entity is the most similar
+```
+
+If the same vector appears multiple times in the query string, the order by will be applied to the results of the first one, for example:
+
+```4d
+var $results := ds.MyClass.query("myVectorField > :1 and myVectorField > :2 order by myVectorField" desc; /
+ {vector : $myVector1 };{vector : $myVector2 }) //myVectorField > :1 is used for the order by
+```
+
Ver [más ejemplos a continuación](#example-4-2) (ejemplos 4 y 5).
:::tip Entradas de blog relacionadas
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/API/EntitySelectionClass.md b/i18n/es/docusaurus-plugin-content-docs/current/API/EntitySelectionClass.md
index 0d677beead4a4d..b0f2073f3caaf8 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/API/EntitySelectionClass.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/API/EntitySelectionClass.md
@@ -1741,11 +1741,13 @@ En este ejemplo, el campo objeto "marks" de la dataClass **Students** contiene l
Historia
-| Lanzamiento | Modificaciones |
-| ----------- | ------------------------------------------ |
-| 17 R6 | Soporte de los parámetros Formula |
-| 17 R5 | Soporte de los marcadores para los valores |
-| 17 | Añadidos |
+| Lanzamiento | Modificaciones |
+| ----------- | -------------------------------------------------------------------- |
+| 21 R2 | Gestión de ordenación en las búsquedas con 4D.Vector |
+| 21 | Soporte de los objetos 4D.Vector |
+| 17 R6 | Soporte de los parámetros Formula |
+| 17 R5 | Soporte de los marcadores para los valores |
+| 17 | Añadidos |
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/API/TCPEventClass.md b/i18n/es/docusaurus-plugin-content-docs/current/API/TCPEventClass.md
index c5ed7c2561fabb..53282bc91a6fc1 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/API/TCPEventClass.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/API/TCPEventClass.md
@@ -3,7 +3,7 @@ id: TCPEventClass
title: TCPEvent
---
-The `TCPEvent` class provides information about events occurring during the lifecycle of a TCP connection. It is generated when a [TCPConnection](TCPConnectionClass.md) is opened and is typically utilized in callbacks such as `onConnection`, `onData`, `onError`, and others.
+La clase `TCPEvent` ofrece información sobre los eventos que se producen durante el ciclo de vida de una conexión TCP. Un evento se genera cuando se abre una [TCPConnection](TCPConnectionClass.md) y se utiliza normalmente en retrollamadas tales como `onConnection`, `onData`, `onError` y otras.
Historia
@@ -51,7 +51,7 @@ La propiedad `.data` contiene los datos asoci
:::note
-When working with low-level TCP/IP connections, keep in mind there is no guarantee that all data will arrive in a single packet. Los datos llegan en orden, pero pueden fragmentarse a través de múltiples paquetes.
+Cuando trabaje con conexiones TCP/IP de bajo nivel, tenga en cuenta que no hay garantía de que todos los datos lleguen en un solo paquete. Los datos llegan en orden, pero pueden fragmentarse a través de múltiples paquetes.
:::
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/API/WebFormClass.md b/i18n/es/docusaurus-plugin-content-docs/current/API/WebFormClass.md
index b22060e96f189f..7ae2fbca64e6cf 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/API/WebFormClass.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/API/WebFormClass.md
@@ -3,7 +3,7 @@ id: WebFormClass
title: WebForm
---
-La clase `WebForm` contiene funciones y propiedades que permiten manejar sus componentes de webforms Qodly. Esta clase se detalla en la [documentación de Qodly](https://developer.qodly.com/docs/language/WebFormClass).
+The `WebForm` class contains functions and properties allowing to handle your Qodly web page components. Los objetos `4D.WebForm` se instancian con el comando [`webForm`](../commands/web-form.md).
Historia
@@ -18,14 +18,12 @@ La clase `WebForm` contiene funciones y propiedades que permiten manejar sus com
| |
| ------------------------------------------------------------------------------------------------------------------------------- |
-| [](#componentname)
|
+| [](#componentname)
|
| [](#disablestate)
|
| [](#enablestate)
|
| [](#seterror)
|
| [](#setmessage)
|
| [](#setwarning)
|
-| [](#web-form)
|
-| [](#web-event)
|
### *.componentName*
@@ -33,9 +31,28 @@ La clase `WebForm` contiene funciones y propiedades que permiten manejar sus com
#### Descripción
-Los componentes de los webforms son los objetos disponibles directamente como propiedades de estos webforms.
+The components of web pages are objects that are available directly as properties of these web pages.
-Para más información, consulte la [descripción de `.componentName` en la documentación de Qodly](https://developer.qodly.com/docs/language/WebFormClass#componentname).
+The returned objects are of the [`4D.WebFormItem`](WebFormItemClass.md) class. Estos objetos tienen funciones que puede utilizar para gestionar sus componentes de forma dinámica.
+
+#### Ejemplo
+
+```4d
+shared singleton Class constructor()
+
+ var myForm : 4D.WebForm
+ var component : 4D.WebFormItem
+
+ myForm:=webForm //returns the web page as an object, each property is a component
+ component:=myForm.myImage //returns the myImage component of the web page
+
+```
+
+:::info
+
+While `myForm` may not display typical object properties when examined in the debugger, it behaves as if it were the actual `webForm` object. You can interact with the underlying `webForm` object's properties and functions through `myForm`. For example, you can dynamically manipulate page components or transmit messages to web pages using specialized functions like `myForm.setMessage()`.
+
+:::
### .disableState()
@@ -43,24 +60,24 @@ Para más información, consulte la [descripción de `.componentName` en la docu
-| Parámetros | Tipo | | Descripción |
-| ---------- | ------ | :-: | --------------------------------------------------- |
-| state | string | -> | Nombre del estado a desactivar en el formulario web |
+| Parámetros | Tipo | | Descripción |
+| ---------- | ------ | :-: | ----------------------------------------------- |
+| state | string | -> | Nombre del estado a desactivar de la página web |
#### Descripción
-La función `.disableState()` desactiva la renderización del *estado* en el formulario web actual.
+The `.disableState()` function disables the rendering of the *state* in the current web page.
Esta función no hace nada si:
-- el *estado* no está habilitado actualmente en el formulario web,
-- el *estado* no existe para el formulario web.
+- the *state* is currently not enabled in the web page,
+- el *estado* no existe para la página web.
Si [activa](#enablestate) o desactiva varios estados en la misma función usuario, todas las modificaciones se envían al mismo tiempo al cliente una vez finalizada la función.
-Para más información sobre los estados de los formularios web, consulte [developer.qodly.com](https://developer.qodly.com/docs/studio/pageLoaders/states).
+For more information on web pages states, please refer to the [States section in the Qodly documentation](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/states/stateOverview).
### .enableState()
@@ -68,24 +85,24 @@ Para más información sobre los estados de los formularios web, consulte [devel
-| Parámetros | Tipo | | Descripción |
-| ---------- | ------ | :-: | ------------------------------------------------ |
-| state | string | -> | Nombre del estado a activar en el formulario web |
+| Parámetros | Tipo | | Descripción |
+| ---------- | ------ | :-: | ---------------------------------------- |
+| state | string | -> | Name of state to enable on the web pages |
#### Descripción
-La función `.enableState()` activa la renderización del *estado* en el formulario web actual.
+The `.enableState()` function enables the rendering of the *state* in the current web page.
Esta función no hace nada si:
-- el *estado* ya ha sido activado en el formulario web,
-- el *estado* no existe para el formulario web.
+- the *state* has already been enabled on the web page,
+- el *estado* no existe para la página web.
Si activa o [desactiva](#disablestate) varios estados dentro de la misma función usuario, todas las modificaciones se envían al mismo tiempo al cliente una vez que la función termina.
-Para más información sobre los estados de los formularios web, consulte [developer.qodly.com](https://developer.qodly.com/docs/studio/pageLoaders/states).
+For more information on web page states, please refer to the [States section in the Qodly documentation](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/states/stateOverview).
#### Ejemplo
@@ -104,17 +121,34 @@ Function authenticationError()
-| Parámetros | Tipo | | Descripción |
-| ---------- | ------ | :-: | ----------------------------------------------- |
-| msg | string | -> | Mensaje de error a mostrar en el formulario web |
+| Parámetros | Tipo | | Descripción |
+| ---------- | ------ | :-: | ---------------------------------------- |
+| msg | string | -> | Error message to display in the web page |
#### Descripción
-La función `.setError()` envía *msg* como mensaje de error al formulario web.
+The `.setError()` function sends *msg* as an error message to the web page.
+
+The function returns a response with a `200 OK` status and a `__WEBFORM` object in the body with a `__NOTIFICATION.message` property set to *msg* and a `__NOTIFICATION.type` set to "error".
+
+#### Ejemplo
+
+```4d
+shared singleton Class constructor()
+exposed function myError()
+
+var myForm : 4D.WebForm
+myForm:=web Form
-Para más información, consulte la [descripción de `.setError()` en la documentación de Qodly](https://developer.qodly.com/docs/language/WebFormClass#seterror).
+myForm.setError("My error message")
+
+```
+
+If the [**Provide feedback**](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/events/bindingActionToEvents#providing-feedback) feature is enabled for the event, the *message* is automatically displayed as a red *toast* at the bottom of the Page and disappears automatically after 5 seconds:
+
+
### .setMessage()
@@ -122,68 +156,72 @@ Para más información, consulte la [descripción de `.setError()` en la documen
-| Parámetros | Tipo | | Descripción |
-| ---------- | ------ | :-: | ----------------------------------------------------- |
-| msg | string | -> | Mensaje de información a mostrar en el formulario web |
+| Parámetros | Tipo | | Descripción |
+| ---------- | ------ | :-: | ------------------------------------------------- |
+| msg | string | -> | Mensaje de información a mostrar en la página web |
#### Descripción
-La función `.setMessage()` envía *msg* como mensaje de información al formulario web.
+The `.setMessage()` function sends *msg* as an information message to the web page.
-Para más información, consulte la [descripción de `.setMessage()` en la documentación de Qodly](https://developer.qodly.com/docs/language/WebFormClass#setmessage).
+The function returns a response with a `200 OK` status and a `__WEBFORM` object in the body with a `__NOTIFICATION.message` property set to *msg* and a `__NOTIFICATION.type` set to "message".
-### .setWarning()
-
-**.setWarning**( *msg* : string)
+#### Ejemplo
-
+```4d
+shared singleton Class constructor()
+exposed function myMessage()
-| Parámetros | Tipo | | Descripción |
-| ---------- | ------ | :-: | -------------------------------------------------------- |
-| msg | string | -> | Mensaje de advertencia para mostrar en el formulario web |
+var myForm : 4D.WebForm
+myForm:=web Form
-
+myForm.setMessage("My information message")
-#### Descripción
+```
-La función `.setWarning()` envía *msg* como mensaje de advertencia al formulario web.
+If the [**Provide feedback**](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/events/bindingActionToEvents#providing-feedback) feature is enabled for the event, the *message* is automatically displayed as a green *toast* at the bottom of the Page and disappears automatically after 5 seconds:
-Para más información, consulte la [descripción de `.setWarning()` en la documentación de Qodly](https://developer.qodly.com/docs/language/WebFormClass#setwarning).
+
-## Web Form
+### .setWarning()
-**Web Form** : 4D.WebForm
+**.setWarning**( *msg* : string)
-
+
-| Parámetros | Tipo | | Descripción |
-| ---------- | -------------------------- | :-------------------------: | ---------------------------- |
-| Resultado | 4D.WebForm | <- | Nuevo objeto proxy `WebForm` |
+| Parámetros | Tipo | | Descripción |
+| ---------- | ------ | :-: | ---------------------------------------------------- |
+| msg | string | -> | Mensaje de advertencia para mostrar en la página web |
#### Descripción
-El comando `Web Form` devuelve un objeto proxy `4D.WebForm` que permite interactuar con el formulario web.
+The `.setWarning()` function sends *msg* as a warning message to the web page.
+
+The function returns a response with a `200 OK` status and a `__WEBFORM` object in the body with a `__NOTIFICATION.message` property set to *msg* and a `__NOTIFICATION.type` set to "warning".
-Para más información, consulte la [descripción de `webForm` en la documentación de Qodly](https://developer.qodly.com/docs/language/WebFormClass#webform).
+#### Ejemplo
-## Web Event
+```4d
+shared singleton Class constructor()
+exposed function myWarning()
-**Web Event** : Object
+var myForm : 4D.WebForm
+myForm:=web Form
-
+myForm.setWarning("My warning message")
-| Parámetros | Tipo | | Descripción |
-| ---------- | ------ | :-------------------------: | ----------- |
-| Resultado | object | <- | object |
+```
-
+If the [**Provide feedback**](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/events/bindingActionToEvents#providing-feedback) feature is enabled for the event, the *message* is automatically displayed as a yellow *toast* at the bottom of the web page and disappears automatically after 5 seconds:
-#### Descripción
+
-El comando `Web Event` devuelve un objeto con información sobre un evento desencadenado vinculado a un componente de formulario web.
+## Ver también
-Para más información, consulte la [descripción de `webEvent` en la documentación de Qodly](https://developer.qodly.com/docs/language/WebFormClass#webevent).
+[Web Form](../commands/web-form.md)
+[Web Event](../commands/web-event.md)
+[WebFormItem class](../API/WebFormItemClass.md)
\ No newline at end of file
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/API/WebFormItemClass.md b/i18n/es/docusaurus-plugin-content-docs/current/API/WebFormItemClass.md
index a95b62494371ff..c0ebfd153ea5a1 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/API/WebFormItemClass.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/API/WebFormItemClass.md
@@ -3,9 +3,13 @@ id: WebFormItemClass
title: WebFormItem
---
-Los objetos `4D.WebFormItem` son propiedades del objeto [`4D.WebForm`](WebFormItemClass.md) devuelto por el comando [`Web Form`](WebFormClass.md#web-form).
+La clase `4D.WebFormItem` le permite manejar el comportamiento de sus componentes webform Qodly.
-La clase `WebFormItem` se detalla en la [documentación Qodly](https://developer.qodly.com/docs/language/WebFormItemClass).
+Los objetos `4D.WebFormItem` son propiedades del objeto [`4D.WebForm`](WebFormClass.md) devuelto por el comando [`Web Form`](../commands/web-form.md).
+
+When you call the [`Web Form`](../commands/web-form.md) command, the returned `4D.WebForm` proxy object holds as many `4D.WebFormItems` as there are components with [**server-side references**](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/pageLoaderOverview#server-side) in your webform.
+
+For example, `WebFormObject.myImage` refers to the image component with `myImage` as server reference.
Historia
@@ -24,29 +28,27 @@ La clase `WebFormItem` se detalla en la [documentación Qodly](https://developer
| [](#removecssclass)
|
| [](#show)
|
-### .hide()
+### .addCSSClass()
-**.hide**()
+**.addCSSClass**(*className* : string)
-
+
-| Parámetros | Tipo | | Descripción |
-| ---------- | ---- | :-: | ---------------------------- |
-| | | | No requiere ningún parámetro |
+| Parámetros | Tipo | | Descripción |
+| ---------- | ------ | :-: | --------------------------------------------- |
+| className | string | -> | Nombre de la clase CSS a añadir al componente |
#### Descripción
-La función `.hide()` oculta el componente.
-
-Para más información, consulte la [descripción de `.hide()` en la documentación Qodly](https://developer.qodly.com/docs/language/WebFormItemClass#hide).
+La función `.addCSSClass` añade la clase especificada en *className* al componente.
-### .show()
+### .hide()
-**.show**()
+**.hide**()
-
+
| Parámetros | Tipo | | Descripción |
| ---------- | ---- | :-: | ---------------------------- |
@@ -56,27 +58,27 @@ Para más información, consulte la [descripción de `.hide()` en la documentaci
#### Descripción
-La función `.show()` hace visible el componente.
-
-Para más información, consulte la [descripción de `.show()` en la documentación Qodly](https://developer.qodly.com/docs/language/WebFormItemClass#show).
-
-### .addCSSClass()
-
-**.addCSSClass**(*className* : string)
+La función `.hide()` oculta el componente.
-
+#### Ejemplo
-| Parámetros | Tipo | | Descripción |
-| ---------- | ------ | :-: | --------------------------------------------- |
-| className | string | -> | Nombre de la clase CSS a añadir al componente |
+Para llamar a una función que oculta una imagen cuando el usuario hace clic en un botón:
-
+1. Create an [exposed](../ORDA/ordaClasses.md#exposed-vs-non-exposed-functions) function inside a shared singleton class named `isHidden` that contains the following code:
-#### Descripción
+```4d
-La función `.addCSSClass` añade la clase especificada en *className* al componente.
+shared singleton Class constructor()
+exposed Function isHidden()
+ var myComponent : 4D.WebFormItem
+
+ myComponent:=Web Form.myImage
+ myComponent.hide() // Hide the component that has "myImage" as server reference
+```
-Para más información, consulte la [descripción de `.addCSSClass` en la documentación de Qodly](https://developer.qodly.com/docs/language/WebFormItemClass#addcssclass).
+2. In Qodly Studio: Select the image component on the canvas, and enter a server-side reference in the Properties Panel > Server Side, for example "myImage".
+3. Select the Button component and add an `onclick` event to it.
+4. Adjunta la función `isHidden` al evento.
### .removeCSSClass()
@@ -94,7 +96,27 @@ Para más información, consulte la [descripción de `.addCSSClass` en la docume
La función `.removeCSSClass()` elimina la clase especificada en *className* del componente.
-Para más información, consulte la [descripción de `.removeCSSClass()` en la documentación de Qodly](https://developer.qodly.com/docs/language/WebFormItemClass#removecssclass).
+### .show()
+
+**.show**()
+
+
+
+| Parámetros | Tipo | | Descripción |
+| ---------- | ---- | :-: | ---------------------------- |
+| | | | No requiere ningún parámetro |
+
+
+
+#### Descripción
+
+The `.show()` function makes the component visible.If the component was already visible, the function does nothing.
+
+## Ver también
+
+[Web Form](../commands/web-form.md)
+[Web Event](../commands/web-event.md)
+[WebForm class](WebFormClass.md)
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/API/WebServerClass.md b/i18n/es/docusaurus-plugin-content-docs/current/API/WebServerClass.md
index 9b27f3d5414da9..3f4c6a3239e5ec 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/API/WebServerClass.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/API/WebServerClass.md
@@ -187,7 +187,7 @@ El nombre de la página de i
*Propiedad de sólo lectura*
-A collection of custom HTTP handler objects. An HTTP handler object contains a listened URL pattern, a handled verb, and the code to be called. HTTP handlers can be defined through a HTTPHandlers.json file or the *settings* parameter of the [`.start()`](#start) function. Para más información, consulte la página [HTTP Request handler](../WebServer/http-request-handler.md).
+Una colección de objetos HTTP handler personalizados. Un objeto HTTP handler contiene un patrón de URL escuchado, un verbo manejado y el código a llamar. Los manejadores HTTP pueden definirse a través de un archivo HTTPHandlers.json o del parámetro *settings* de la función [`.start()`](#start). Para más información, consulte la página [HTTP Request handler](../WebServer/http-request-handler.md).
@@ -495,7 +495,7 @@ La ruta de la carpeta raíz del s
*Propiedad de sólo lectura*
-A collection of rule objects currently handled to customize HTTP headers. A rule object contains a "regexPattern" property, as well as an action name with a value. HTTP rules can be defined through a HTTPRules.json file or the *settings* parameter of the [`.start()`](#start) function. Para obtener más información, consulte la página [Reglas HTTP](../WebServer/http-rules.md).
+Una colección de objetos de reglas que se manejan actualmente para personalizar los encabezados HTTP. Un objeto regla contiene una propiedad "regexPattern", así como un nombre de acción con un valor. Las reglas HTTP pueden definirse a través de un archivo HTTPRules.json o del parámetro *settings* de la función [`.start()`](#start). Para obtener más información, consulte la página [Reglas HTTP](../WebServer/http-rules.md).
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/Concepts/classes.md b/i18n/es/docusaurus-plugin-content-docs/current/Concepts/classes.md
index 176c4206089fcc..030a88f14fd3b7 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/Concepts/classes.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/Concepts/classes.md
@@ -46,7 +46,7 @@ Una clase usuario en 4D está definida por un archivo [método ](methods.md) esp
Al nombrar las clases, debe tener en cuenta las siguientes reglas:
- Un [nombre de clase](identifiers.md#classes) debe cumplir con [reglas de denominación de las propiedades](identifiers.md#object-properties).
-- .
+- Los nombres de clases son sensibles a las mayúsculas y minúsculas.
- No se recomienda dar el mismo nombre a una clase y a una tabla de la base, para evitar conflictos.
Por ejemplo, si quiere definir una clase llamada "Polygon", tiene que crear el siguiente archivo:
@@ -741,7 +741,7 @@ Los singletons son útiles para definir los valores que necesitan estar disponib
- un **singleton proceso** tiene una instancia única para el proceso en el que se instancia,
- un **singleton compartido** tiene una instancia única para todos los procesos en la máquina.
-- un **singleton de sesión** es un singleton compartido pero con una instancia única para todos los procesos en la [sesión](../API/SessionClass.md). Los singletons de sesión son compartidos dentro de una sesión completa, pero varían entre sesiones. En el contexto de un cliente-servidor o una aplicación web, los singletons de sesión hacen posible crear y utilizar una instancia diferente para cada sesión, y por lo tanto para cada usuario. Session singletons are particularly appropriate with [Qodly applications](https://developer.4d.com/qodly/).
+- un **singleton de sesión** es un singleton compartido pero con una instancia única para todos los procesos en la [sesión](../API/SessionClass.md). Los singletons de sesión son compartidos dentro de una sesión completa, pero varían entre sesiones. En el contexto de un cliente-servidor o una aplicación web, los singletons de sesión hacen posible crear y utilizar una instancia diferente para cada sesión, y por lo tanto para cada usuario. Los singletons de sesión son particularmente apropiados con [aplicaciones Qodly](https://developer.4d.com/qodly/).
:::info
@@ -782,9 +782,9 @@ La propiedad [`isSingleton`](../API/ClassClass.md#issingleton) de los objetos Cl
La propiedad [`.isSessionSingleton`](../API/ClassClass.md#issessionsingleton) de los objetos Class permite saber si la clase es un singleton de sesión.
-### Exposed singleton functions
+### Funciones singleton expuestas
-Shared and session singleton functions support the [`exposed` keyword](../ORDA/ordaClasses.md#exposed-vs-non-exposed-functions). An exposed singleton function can be directly called by REST requests. This feature is useful to design [Qodly pages calling 4D functions](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/events/bindingActionToEvents#class-functions).
+Las funciones singleton compartidas y de sesión soportan la [palabra clave `exposed`](../ORDA/ordaClasses.md#exposed-vs-non-exposed-functions). Una función singleton expuesta puede ser llamada directamente por peticiones REST. Esta función es útil para diseñar [páginas Qodly que llamen a las funciones 4D](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/events/bindingActionToEvents#class-functions).
### Ejemplos
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/Concepts/dt_number.md b/i18n/es/docusaurus-plugin-content-docs/current/Concepts/dt_number.md
index d273e88f96b557..7f520f49a90370 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/Concepts/dt_number.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/Concepts/dt_number.md
@@ -49,7 +49,7 @@ Los números negativos se especifican con el signo menos (-). Por ejemplo:
| Resta | Número - Número | Number | 3 – 2 | 1 |
| Multiplicación | Número \* Número | Number | 5 \* 2 | 10 |
| División | Número / Número | Number | 5 / 2 | 2.5 |
-| División entera | Número \ Número | Number | 5 \ 2 | 2 |
+| Integer division | Número \ Número | Number | 5 \ 2 | 2 |
| Módulo | Número % Número | Number | 5 % 2 | 1 |
| Exponenciación | Número ^ Número | Number | 2 ^ 3 | 8 |
| Igual | Número = Número | Boolean | 10 = 10 | True |
@@ -79,9 +79,9 @@ El operador modulo % devuelve valores significativos con números que están en
:::
-### División entera
+### Integer division
-El operador de división entero largo \ devuelve valores significativos sólo con números enteros.
+The integer division operator divides one number by another and returns the whole number part of the result, discarding any remainder. `a\b` is equivalent to `Int(a/b)`. This operator returns significant values with integer numbers only.
### Comparación real
@@ -125,16 +125,16 @@ Dado que cada bit puede ser igual a 0 o 1, también se puede pensar en un valor
Una expresión que utiliza un operador de bits devuelve un valor de tipo Long, excepto para el operador Bit Test, donde la expresión devuelve un valor booleano. La siguiente tabla lista los operadores a nivel de bits y su sintaxis:
-| Operación | Operador | Sintaxis | Devuelve |
-| -------------------------------- | ---------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------- |
-| Y | & | Long & Long | Long |
-| O (inclusive) | | | Long | Long | Long |
-| O (exclusivo) | ^ | | Long ^ | Long | Long |
-| Left Bit Shift | << | Long << Long | Long (ver nota 1) |
-| Right Bit Shift | > > | Long >> Long | Long (ver nota 1) |
-| Bit Set | ?+ | Long ?+ Long | Long (ver nota 2) |
-| Poner el bit en 0 | ?- | Long ?- Long | Long (ver nota 2) |
-| Probar bit | ?? | Long ?? Long Long | Boolean (ver nota 2) |
+| Operación | Operador | Sintaxis | Devuelve |
+| -------------------------------- | ----------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------- |
+| Y | & | Long & Long | Long |
+| O (inclusive) | | | Long | Long | Long |
+| O (exclusivo) | ^ | | Long ^ | Long | Long |
+| Left Bit Shift | << | Long << Long | Long (ver nota 1) |
+| Right Bit Shift | > > | Long >> Long | Long (ver nota 1) |
+| Bit Set | ?+ | Long ?+ Long | Long (ver nota 2) |
+| Poner el bit en 0 | ?- | Long ?- Long | Long (ver nota 2) |
+| Probar bit | ?? | Long ?? Long Long | Boolean (ver nota 2) |
#### Notas
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/Concepts/parameters.md b/i18n/es/docusaurus-plugin-content-docs/current/Concepts/parameters.md
index d0c3ffa3b0f90e..89954080ab5f07 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/Concepts/parameters.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/Concepts/parameters.md
@@ -106,7 +106,7 @@ $entitySelection:=ds.User.query("login=:1"; $user)
:::note
-Do not confuse **parameter declarations** with [**variable declarations**](variables.md#declaring-variables). Using the `var` keyword with parameters will generate errors.
+No confunda las **declaraciones de parámetros** con las [**declaraciones de variables**](variables.md#declaring-variables). Usar la palabra clave 'var' con parámetros generará errores.
:::
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/Concepts/quick-tour.md b/i18n/es/docusaurus-plugin-content-docs/current/Concepts/quick-tour.md
index cbb2891ff73f2a..add912285699cb 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/Concepts/quick-tour.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/Concepts/quick-tour.md
@@ -312,7 +312,7 @@ Se hace referencia a una expresión por el tipo de datos que devuelve. Hay vario
| Col[5] | Elementos de colección | Un elemento de colección es una expresión que puede ser de todo tipo soportado |
| $entitySel[0] | Entity | Un elemento de una selección de entidades ORDA es una expresión de tipo entidad. Este tipo de expresión es **no asignable** |
-### Expresiones asignables y no asignables
+### Assignable vs non-assignable expressions {#assignable-vs-non-assignable-expressions} {#assignable-vs-non-assignable-expressions}
Una expresión puede ser simplemente una constante literal, como el número 4 o la cadena "Hello", o una variable como `$myButton`. También puede utilizar los operadores. Por ejemplo, 4 + 2 es una expresión que utiliza el operador de adición para sumar dos números y devolver el resultado 6. En todos los casos, estas expresiones son **no asignables**, lo que significa que no se les puede asignar un valor.
En 4D, las expresiones pueden ser **asignables**. Una expresión es asignable cuando puede utilizarse a la izquierda del operador de asignación. Por ejemplo:
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/Concepts/variables.md b/i18n/es/docusaurus-plugin-content-docs/current/Concepts/variables.md
index a1cc173febeb9b..e31872102c3770 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/Concepts/variables.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/Concepts/variables.md
@@ -250,17 +250,18 @@ El lenguaje 4D maneja varias **variables sistema**, las cuales le permiten contr
Las variables del sistema son utilizadas por los [comandos 4D](../commands/command-index.md). Consulte el párrafo "Variables del sistema y conjuntos" en la descripción de un comando para averiguar si afecta a una variable del sistema.
-| Nombre de la variable del sistema | Tipo | Descripción |
-| ------------------------------------------------------ | ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `OK` | Integer | Normalmente se establece en 1 después de que un comando haya mostrado una caja de diálogo y el usuario haya hecho clic en el botón **Aceptar**, y en 0 si hizo clic en **Cancelar**. Algunos comandos también modifican el valor de la variable del sistema `OK` cuando se ejecuta una operación con éxito. |
-| `Document` | Text | Contiene el "nombre largo" (ruta completa+nombre) del último archivo abierto o creado utilizando comandos como [Open document](../commands-legacy/open-document.md) o [SELECT LOG FILE](../commands/select-log-file.md). |
-| `FldDelimit`, `RecDelimit` | Text | Contienen los códigos de caracteres que se utilizarán respectivamente como separador de campos (por defecto es **Tab** (9)) y separador de registros (por defecto es **retorno de carro** (13)) al importar o exportar texto. Para utilizar un separador diferente, asigne un nuevo valor a la variable del sistema. |
-| `Error`, `Error method`, `Error line`, `Error formula` | Text, Longint | Utilizado en un método de captura de errores instalado por el comando [`ON ERR CALL`](../commands-legacy/on-err-call.md). Ver [Gestión de errores en el método](../Concepts/error-handling.md#handling-errors-within-the-method). |
-| `MouseDown` | Integer | Utilizado en un método instalado por el comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Toma el valor 1 cuando se presiona el botón del ratón, de lo contrario 0. |
-| `MouseX`, `MouseY` | Integer | Utilizado en un método instalado por el comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). En un evento `MouseDown=1`, `MouseX` y `MouseY` se establecen respectivamente en las coordenadas verticales y horizontales del clic. Ambos valores se expresan en píxeles y utilizan el sistema de coordenadas local de la ventana. En el caso de un campo imagen o variable, `MouseX` y `MouseY` devuelven las coordenadas locales de un clic de ratón en los eventos de formulario [`On Clicked`](../Events/onClicked.md), [`On Double Clicked`](../Events/onDoubleClicked.md) y [`On Mouse Up`](../Events/onMouseUp.md). Las coordenadas locales del cursor del ratón también se retornan en los eventos formulario [`On Mouse Enter`](../Events/onMouseEnter.md) y [`On Mouse Move`](../Events/onMouseMove.md). Para obtener más información, consulte la sección [Coordenadas del ratón en una imagen](../FormEditor/pictures.md#coordenadas-del-ratón-en-una-imagen). |
-| `KeyCode` | Integer | Utilizado en un método instalado por el comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Define el código de carácter de la tecla que se acaba de presionar. Si la tecla es una tecla de función, `KeyCode` se establece como un código especial. |
-| `Modifiers` | Integer | Utilizado en un método instalado por el comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Establece las teclas modificadoras del teclado (Ctrl/Command, Alt/Option, Shift, Caps Lock). |
-| `MouseProc` | Integer | Utilizado en un método instalado por el comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Define el número de proceso en el que tuvo lugar el último evento |
+| Nombre de la variable del sistema | Tipo | Descripción |
+| --------------------------------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `OK` | Integer | Normalmente se establece en 1 después de que un comando haya mostrado una caja de diálogo y el usuario haya hecho clic en el botón **Aceptar**, y en 0 si hizo clic en **Cancelar**. Algunos comandos también modifican el valor de la variable del sistema `OK` cuando se ejecuta una operación con éxito. |
+| `Document` | Text | Contiene el "nombre largo" (ruta completa+nombre) del último archivo abierto o creado utilizando comandos como [Open document](../commands-legacy/open-document.md) o [SELECT LOG FILE](../commands/select-log-file.md). |
+| `FldDelimit`, `RecDelimit` | Integer | Contienen los códigos de caracteres que se utilizarán respectivamente como separador de campos (por defecto es **Tab** (9)) y separador de registros (por defecto es **retorno de carro** (13)) al importar o exportar texto. Para utilizar un separador diferente, asigne un nuevo valor a la variable del sistema. |
+| `Error`, `Error line` | Integer | Utilizado en un método de captura de errores instalado por el comando [`ON ERR CALL`](../commands-legacy/on-err-call.md). Ver [Gestión de errores en el método](../Concepts/error-handling.md#handling-errors-within-the-method). |
+| `Error method`, `Error formula` | Text | Utilizado en un método de captura de errores instalado por el comando [`ON ERR CALL`](../commands-legacy/on-err-call.md). Ver [Gestión de errores en el método](../Concepts/error-handling.md#handling-errors-within-the-method). |
+| `MouseDown` | Integer | Utilizado en un método instalado por el comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Toma el valor 1 cuando se presiona el botón del ratón, de lo contrario 0. |
+| `MouseX`, `MouseY` | Integer | Utilizado en un método instalado por el comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). En un evento `MouseDown=1`, `MouseX` y `MouseY` se establecen respectivamente en las coordenadas verticales y horizontales del clic. Ambos valores se expresan en píxeles y utilizan el sistema de coordenadas local de la ventana. En el caso de un campo imagen o variable, `MouseX` y `MouseY` devuelven las coordenadas locales de un clic de ratón en los eventos de formulario [`On Clicked`](../Events/onClicked.md), [`On Double Clicked`](../Events/onDoubleClicked.md) y [`On Mouse Up`](../Events/onMouseUp.md). Las coordenadas locales del cursor del ratón también se retornan en los eventos formulario [`On Mouse Enter`](../Events/onMouseEnter.md) y [`On Mouse Move`](../Events/onMouseMove.md). Para obtener más información, consulte la sección [Coordenadas del ratón en una imagen](../FormEditor/pictures.md#coordenadas-del-ratón-en-una-imagen). |
+| `KeyCode` | Integer | Utilizado en un método instalado por el comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Define el código de carácter de la tecla que se acaba de presionar. Si la tecla es una tecla de función, `KeyCode` se establece como un código especial. |
+| `Modifiers` | Integer | Utilizado en un método instalado por el comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Establece las teclas modificadoras del teclado (Ctrl/Command, Alt/Option, Shift, Caps Lock). |
+| `MouseProc` | Integer | Utilizado en un método instalado por el comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Define el número de proceso en el que tuvo lugar el último evento |
:::note
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/Develop/field-properties.md b/i18n/es/docusaurus-plugin-content-docs/current/Develop/field-properties.md
index f51a7c77821969..beae27552b3b35 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/Develop/field-properties.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/Develop/field-properties.md
@@ -3,7 +3,7 @@ id: field-properties
title: Propiedades de los campos
---
-For other field properties, please refer to [doc.4d.com](https://doc.4d.com/4Dv21/4D/21/Field-properties.300-7676763.en.html).
+Para otras propiedades de campos, consulte [doc.4d.com](https://doc.4d.com/4Dv21/4D/21/Field-properties.300-7676763.en.html).
## Class
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/Extensions/develop-components.md b/i18n/es/docusaurus-plugin-content-docs/current/Extensions/develop-components.md
index 3185eccbab7faf..3f0c6709b1233e 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/Extensions/develop-components.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/Extensions/develop-components.md
@@ -114,6 +114,12 @@ Las funcionalidades estándar del IDE 4D están disponibles para el componente.
- ejecutar métodos,
- restaurar desde la papelera o vaciar la papelera.
+### Search and replace
+
+You can use the [**Search and replace** features](../Project/search-replace.md) of the host project to search elements within the code or the forms of your editable components. The **Search in project** menu allows you to select one or all components as search target:
+
+
+
## Alcance de los comandos del lenguaje
A excepción de los [comandos no utilizables](#unusable-commands), un componente puede utilizar cualquier comando del lenguaje 4D.
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/Extensions/overview.md b/i18n/es/docusaurus-plugin-content-docs/current/Extensions/overview.md
index 615fc7ae5c281d..3d0446a3a08f23 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/Extensions/overview.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/Extensions/overview.md
@@ -16,7 +16,7 @@ La [arquitectura del proyecto] 4D (../Project/architecture.md) es abierta y pued
## Componentes desarrollados por 4D
-4D proposes various components to the 4D community, covering many development needs. Todos los componentes 4D se pueden encontrar en el [**repositorio github de 4D**](https://github.com/4d).
+4D propone diferentes componentes a la comunidad 4D, cubriendo muchas necesidades de desarrollo. Todos los componentes 4D se pueden encontrar en el [**repositorio github de 4D**](https://github.com/4d).
A subset of these components is listed by default in the [Dependency Manager](../Project/components.md), including:
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/FormEditor/forms.md b/i18n/es/docusaurus-plugin-content-docs/current/FormEditor/forms.md
index 3372865a4eb79b..a1f7b072584a41 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/FormEditor/forms.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/FormEditor/forms.md
@@ -112,9 +112,9 @@ La compatibilidad con Fluent UI se encuentra actualmente en fase Developer Previ
:::
-:::info macOS
+:::info Disponibilidad
-Esta funcionalidad sólo se puede utilizar en Windows. En macOS, se ignora.
+This feature can be used **in 4D projects on Windows**. No está disponible en macOS ni en bases de datos binarias 4D en Windows.
:::
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_Animation.md b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_Animation.md
index 1a695df8846669..9641fb62524331 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_Animation.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_Animation.md
@@ -65,7 +65,7 @@ Permite al usuario mantener pulsado el botón del ratón para mostrar las imáge
## Cambiar cada x segundos
-Enables cycling through the contents of the picture button at the specified speed (in seconds). En este modo, se ignoran todas las demás opciones.
+Permite recorrer el contenido del botón de imagen a la velocidad especificada (en segundos). En este modo, se ignoran todas las demás opciones.
#### Gramática JSON
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_ListBox.md b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_ListBox.md
index 01a04636cf534f..8fad6d483e7b51 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_ListBox.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_ListBox.md
@@ -78,7 +78,7 @@ Para las dos últimas acciones, el evento formulario `On Open Detail` también s
---
-## Highlight Set {#highlight-set}
+## Conjunto resaltado {#highlight-set}
`List box del tipo selección`
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_Reference.md b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_Reference.md
index bf427697889987..95d2dd6ab60c67 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_Reference.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_Reference.md
@@ -85,7 +85,7 @@ En esta página encontrará una lista completa de todas las propiedades de los o
| [`fontTheme`](properties_Text.md#font-theme) | Establece el estilo automático | "normal", "main", "additional" |
| [`fontWeight`](properties_Text.md#bold) | Ajusta el texto seleccionado para que aparezca más oscuro y pesado. | "normal", "bold" |
| [`footerHeight`](properties_Footers.md#height) | Sirve para fijar la altura de la línea | decimal positivo + px | em |
-| [`frameDelay`](properties_Animation.md#switch-every-x-ticks) | Enables cycling through the contents of the picture button at the specified speed (in seconds). | mínimo: 0 |
+| [`frameDelay`](properties_Animation.md#switch-every-x-ticks) | Permite recorrer el contenido del botón de imagen a la velocidad especificada (en segundos). | mínimo: 0 |
| **g** | | |
| [`graduationStep`](properties_Scale.md#graduation-step) | Medición de la visualización de la escala. | mínimo: 0 |
| **h** | | |
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_ResizingOptions.md b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_ResizingOptions.md
index 034b086ceeb04b..523a61b774b61c 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_ResizingOptions.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_ResizingOptions.md
@@ -77,7 +77,7 @@ Hay tres opciones disponibles:
## Dimensionamiento vertical
-This property specifies if an object should be vertically moved or resized when a user resizes the form. It can also be set dynamically by the [`OBJECT SET RESIZING OPTIONS`](../commands-legacy/object-set-resizing-options.md) command.
+Esta propiedad especifica si un objeto debe moverse o redimensionarse verticalmente cuando un usuario redimensiona el formulario. También puede establecerse dinámicamente mediante el comando [`OBJECT SET RESIZING OPTIONS`](../commands-legacy/object-set-resizing-options.md).
Hay tres opciones disponibles:
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/webArea_overview.md b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/webArea_overview.md
index 649f7739c0fabc..ee0b5d7a0faa89 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/webArea_overview.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/webArea_overview.md
@@ -24,7 +24,7 @@ Se pueden asociar dos variables específicas a cada área web:
- [`URL`](properties_WebArea.md#url) --para controlar la URL mostrada por el área web
- [`Progression`](properties_WebArea.md#progression) -- para controlar el porcentaje de carga de la página mostrada en el área web.
-> A partir de 4D v19 R5, la variable Progression ya no se actualiza en las Áreas Web que utilizan el [motor de renderizado del sistema Windows](./webArea_overview.md#web-rendering-engine).
+> As of 4D 19 R5, the Progression variable is no longer updated in Web Areas using the [Windows system rendering engine](./webArea_overview.md#web-rendering-engine).
### Motor de renderización web
@@ -121,7 +121,7 @@ $4d.today(function(result)
#### Ejemplo 2
-Instead of using a standalone method, we can also use a class function to handle the calculation.
+En lugar de utilizar un método independiente, también podemos utilizar una función de clase para realizar el cálculo.
Define a "SumCalculator" 4D user class with a `calcSum` function which receives parameters and returns their sum:
@@ -338,9 +338,11 @@ El archivo 4DCEFParameters.json por defecto contiene los siguientes cambios:
}
```
-### Ver también
+:::info Entrada de blog relacionada
-[Especifique sus propios parámetros para inicializar el área web integrada (entrada de blog)](https://blog.4d.com/specify-your-own-parameters-to-initialize-the-embedded-web-area)
+[Custom Parameters for Initializing Embedded Web Area](https://blog.4d.com/custom-parameters-for-initializing-embedded-web-area/)
+
+:::
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/Menus/properties.md b/i18n/es/docusaurus-plugin-content-docs/current/Menus/properties.md
index bec5839a46f923..c8b97a59c2b5b3 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/Menus/properties.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/Menus/properties.md
@@ -12,9 +12,9 @@ La propiedad **Title** contiene la etiqueta de un menú o elemento de menú tal
En el editor de menús, puede introducir directamente la etiqueta como "fijo". También puede introducir una referencia para una variable o un elemento XLIFF, lo que facilitará el mantenimiento y la traducción de las aplicaciones. Puede utilizar los siguientes tipos de referencias:
- Una referencia a un recurso XLIFF del tipo :xliff:MyLabel. Para más información sobre las referencias XLIFF, consulte la sección *Arquitectura XLIFF* en *Referencia Diseño 4D*.
-- (**Deprecated**) An interprocess variable name followed by a number, for example: `:<>vlang,3`. Si se cambia el contenido de esta variable, se modificará la etiqueta del menú cuando se muestre. En este caso, la etiqueta llamará a un recurso XLIFF. El valor contenido en la variable `<>vlang` corresponde al atributo *id* del elemento *group*. El segundo valor (3 en este ejemplo) designa el atributo *id* del elemento *trans-unit*.
+- (**Obsoleto**) Un nombre de variable interproceso seguido de un número, por ejemplo: `:<>vlang,3`. Si se cambia el contenido de esta variable, se modificará la etiqueta del menú cuando se muestre. En este caso, la etiqueta llamará a un recurso XLIFF. El valor contenido en la variable `<>vlang` corresponde al atributo *id* del elemento *group*. El segundo valor (3 en este ejemplo) designa el atributo *id* del elemento *trans-unit*.
-Using the 4D language, you set the title property through the *itemText* parameter of the [`APPEND MENU ITEM`](../commands/append-menu-item), [`INSERT MENU ITEM`](../commands/insert-menu-item), and [`SET MENU ITEM`](../commands/set-menu-item) commands.
+Usando el lenguaje 4D, se define la propiedad del título a través del parámetro *itemText* de los comandos [`APPEND MENU ITEM`](../commands/append-menu-item), [`INSERT MENU ITEM`](../commands/insert-menu-item), y [`SET MENU ITEM`](../commands/set-menu-item).
### Caracteres de control
@@ -33,9 +33,9 @@ Los caracteres de control no aparecen en las etiquetas de los comandos del menú
## Parámetros
-Puede asociar un parámetro personalizado a cada elemento del menú. Un parámetro de elemento de menú es una cadena de caracteres cuyo contenido puede elegirse libremente. It can be set in the Menu editor, or through the [`SET MENU ITEM PARAMETER`](../commands/set-menu-item-parameter) command.
+Puede asociar un parámetro personalizado a cada elemento del menú. Un parámetro de elemento de menú es una cadena de caracteres cuyo contenido puede elegirse libremente. Puede configurarse en el editor de menús o mediante el comando [`SET MENU ITEM PARAMETER`](../commands/set-menu-item-parameter).
-Menu item parameters are useful with programmed management of menus, in particular when using the [`Dynamic pop up menu`](../commands/dynamic-pop-up-menu), [`Get menu item parameter`](../commands/get-menu-item-parameter) and [`Get selected menu item parameter`](../commands/get-selected-menu-item-parameter) commands.
+Los parámetros de los elementos de menú son útiles para la gestión programada de menús, en particular cuando se utilizan los comandos [`Dynamic pop up menu`](../commands/dynamic-pop-up-menu), [`Get menu item parameter`](../commands/get-menu-item-parameter) y [`Get selected menu item parameter`](../commands/get-selected-menu-item-parameter).
## Acción
@@ -57,7 +57,7 @@ Puede asignar un método proyecto y/o una acción estándar a un comando de men
- **Acción estándar asociada**: elija o escriba la acción que desea asignar en el combo box "Acción estándar asociada". Puede introducir toda acción soportada y (opcionalmente) el parámetro que desee en el área. Para obtener una lista completa de acciones estándar, consulte la sección **Acciones estándar** en el *Modo Diseño*.
**Nota para macOS:** en macOS, los comandos de menús personalizados asociados a la acción *Salir* se colocan automáticamente en el menú de la aplicación, conforme a los estándares de interfaz de la plataforma.
-Using the 4D language, you can associate a project method using the [`SET MENU ITEM METHOD`](../commands/set-menu-item-method) command, and a standard action using the [`SET MENU ITEM PROPERTY`](../commands/set-menu-item-property) command.
+Utilizando el lenguaje 4D, puede asociar un método de proyecto utilizando el comando [`SET MENU ITEM METHOD`](../commands/set-menu-item-method), y una acción estándar utilizando el comando [`SET MENU ITEM PROPERTY`](../commands/set-menu-item-property).
### Iniciar un proceso
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/Notes/updates.md b/i18n/es/docusaurus-plugin-content-docs/current/Notes/updates.md
index 6eeebff3e41b72..3d5948bfa59404 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/Notes/updates.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/Notes/updates.md
@@ -10,6 +10,10 @@ Lea [**Novedades en 4D 21 R2**](https://blog.4d.com/en-whats-new-in-4d-21-r2/),
#### Lo más destacado
- [Code Live Checker](../code-editor/write-class-method.md#warnings-and-errors) has been enhanced to provide greater precision in error detection (see [this blog post](https://blog.4d.com/better-error-handling-and-type-inference-for-4d-developers) for more information).
+- [4D Write Pro standard actions](../WritePro/user-legacy/standard-actions.md) that apply [lists](../WritePro/user-legacy/using-a-4d-write-pro-area.md#lists) now automatically adjust paragraph margins to keep markers positioned inside it.
+- Built-in support of `order by` in query strings for AI vector searches using [`query()`](../API/DataClassClass.md#query-by-vector-similarity) functions and the [REST API](../REST/$orderby.md).
+- 4D AIKit component: new [File API](../aikit/Classes/OpenAIFilesAPI.md) class to implement **file upload** features.
+- [**Find in Design**](../Project/search-replace.md#search-in-components) and [**Replace in contents**](../Project/search-replace.md#replace-in-contents) features can now support editable components.
- [**Lista de bugs corregidos**](https://bugs.4d.fr/fixedbugslist?version=21_R2): lista de todos los bugs que se han corregido en 4D 21 R2.
#### Cambios de comportamiento
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/ORDA/glossary.md b/i18n/es/docusaurus-plugin-content-docs/current/ORDA/glossary.md
index 94b602ba7d082b..8ed96688162c55 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/ORDA/glossary.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/ORDA/glossary.md
@@ -9,7 +9,7 @@ title: Glosario
## Acción
-Todas las acciones que pueden realizarse en un [recurso](#resource). Available actions are: create, read, update, drop, execute, and promote.
+Todas las acciones que pueden realizarse en un [recurso](#resource). Las acciones disponibles son: create, read, update, drop, execute y promote.
## Atributo
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/ORDA/orda-events.md b/i18n/es/docusaurus-plugin-content-docs/current/ORDA/orda-events.md
index 6b204d9893d00f..38125cee06eca6 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/ORDA/orda-events.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/ORDA/orda-events.md
@@ -24,7 +24,7 @@ No se puede activar directamente la ejecución de la función de evento. Los eve
:::info Nota de compatibilidad
-Los eventos de entidad ORDA en el almacen de datos equivalen a triggers en la base de datos 4D. Sin embargo, las acciones desencadenadas a nivel de la base de datos 4D utilizando los comandos del lenguaje clásico 4D o las acciones estándar no desencadenan eventos ORDA.
+Los eventos de entidad ORDA en el almacen de datos equivalen a triggers en la base de datos 4D. Sin embargo, las acciones desencadenadas a nivel de la base de datos 4D utilizando los comandos del lenguaje clásico 4D o las acciones estándar no desencadenan eventos ORDA. Note also that, unlike triggers, ORDA entity events do not lock the entire underlying table of a dataclass while saving or dropping entities. Varios eventos pueden ejecutarse en paralelo siempre que afecten a entidades distintas (es decir, registros).
:::
@@ -234,7 +234,7 @@ Function query sameDay($event : Object) : Text
```
-- Using a **scalar** *sameDay* attribute updated when other attributes are "touched" will save time:
+- Usar un atributo *sameDay* **escalar** actualizado cuando otros atributos son "tocados" ahorrará tiempo:
```4d
//BookingEntity class
@@ -338,7 +338,7 @@ Este evento es activado por las siguientes funciones:
This event is triggered **before** the entity is actually saved and lets you check data consistency so that you can stop the action if needed. Por ejemplo, puede comprobar en este evento que "fecha de salida" < "fecha de llegada".
-To stop the action, the code of the function must return an [error object](#error-object).
+Para detener la acción, el código de la función debe devolver un [objeto error](#error-object).
:::note
@@ -348,7 +348,7 @@ No se recomienda actualizar la entidad dentro de esta función (utilizando `This
#### Ejemplo
-En este ejemplo, no se permite guardar un producto con un margen inferior al 50%. In case of an invalid price attribute, you return an error object and thus, stop the save action.
+En este ejemplo, no se permite guardar un producto con un margen inferior al 50%. En caso de que el atributo precio no sea válido, devuelve un objeto error y, por tanto, detiene la acción de guardar.
```4d
// ProductsEntity class
@@ -380,7 +380,7 @@ Function event saving ($event : Object)
Este evento se activa cada vez que se guarda una entidad.
- Si define la función a nivel de entidad (primera Sintaxis), se llama para cualquier atributo de la entidad. The function is executed even if no attribute has been touched in the entity (e.g. in case of sending data to an external app each time a save is done).
-- If you defined the function at the attribute level (second syntax), it is called only for this attribute. La función **no** se ejecuta si el atributo no ha sido tocado en la entidad.
+- Si definió la función en el nivel de atributo (segunda Sintaxis), solo se llama para este atributo. La función **no** se ejecuta si el atributo no ha sido tocado en la entidad.
La función recibe un [objeto *event*](#event-parameter) como parámetro.
@@ -393,13 +393,13 @@ Este evento se activa **mientras** la entidad se guarda. If a [`validateSave()`]
:::note
-The business logic should raise errors which can't be detected during the `validateSave()` events, e.g. a network error
+La lógica de negocio debe generar errores que no puedan detectarse durante los eventos `validateSave()`, por ejemplo, un error de red
:::
Durante la acción de guardar, se pueden producir errores en el motor 4D (índice, sello ha cambiado, no hay suficiente espacio en el disco).
-To stop the action, the code of the function must return an [error object](#error-object).
+Para detener la acción, el código de la función debe devolver un [objeto error](#error-object).
#### Ejemplo
@@ -420,7 +420,9 @@ If (This.userManualPath#"")
// The user manual document file is created on the disk
// This may fail if no more space is available
Try
- $fileCreated:=$userManualFile.create()
+ // The file content has been generated and stored in a map in Storage.docMap previously
+ $docInfo:=Storage.docMap.query("name = :1"; This.name).first()
+ $userManualFile.setContent($docInfo.content)
Catch
// No more room on disk for example
$result:={/
@@ -434,6 +436,12 @@ return $result
```
+:::note
+
+El contenido del archivo se genera fuera del evento `saving` porque puede llevar mucho tiempo.
+
+:::
+
### `Function event afterSave`
#### Sintaxis
@@ -445,7 +453,7 @@ Función evento afterSave($event : Object)
Este evento se activa justo después de guardar una entidad en el archivo de datos, cuando se ha modificado al menos un atributo. No se ejecuta si no se ha tocado ningún atributo en la entidad.
-This event is useful after saving data to propagate the save action outside the application or to execute administration tasks. Por ejemplo, se puede utilizar para enviar un correo electrónico de confirmación después de guardar los datos. O, en caso de error al guardar los datos, puede hacer una cancelación para restaurar un estado consistente de los datos.
+Este evento es útil después de guardar datos para propagar la acción de guardar fuera de la aplicación o para ejecutar tareas de administración. Por ejemplo, se puede utilizar para enviar un correo electrónico de confirmación después de guardar los datos. O, en caso de error al guardar los datos, puede hacer una cancelación para restaurar un estado consistente de los datos.
La función recibe un [objeto *event*](#event-parameter) como parámetro.
@@ -486,7 +494,7 @@ Function event validateDrop ($event : Object)
Este evento se activa cada vez que una entidad está a punto de ser soltada.
- Si define la función a nivel de entidad (primera Sintaxis), se llama para cualquier atributo de la entidad.
-- If you defined the function at the attribute level (second syntax), it is called only for this attribute.
+- Si definió la función en el nivel de atributo (segunda Sintaxis), solo se llama para este atributo.
La función recibe un [objeto *event*](#event-parameter) como parámetro.
@@ -498,7 +506,7 @@ Este evento se activa con las siguientes funcionalidades:
This event is triggered **before** the entity is actually dropped, allowing you to check data consistency and if necessary, to stop the drop action.
-To stop the action, the code of the function must return an [error object](#error-object).
+Para detener la acción, el código de la función debe devolver un [objeto error](#error-object).
#### Ejemplo
@@ -533,7 +541,7 @@ Function event dropping ($event : Object)
Este evento se activa cada vez que se elimina una entidad.
- Si define la función a nivel de entidad (primera Sintaxis), se llama para cualquier atributo de la entidad.
-- If you defined the function at the attribute level (second syntax), it is called only for this attribute.
+- Si definió la función en el nivel de atributo (segunda Sintaxis), solo se llama para este atributo.
La función recibe un [objeto *event*](#event-parameter) como parámetro.
@@ -547,11 +555,11 @@ This event is triggered **while** the entity is actually dropped. If a [`validat
:::note
-The business logic should raise errors which cannot be detected during the `validateDrop()` events, e.g. a network error.
+La lógica de negocio debe generar errores que no puedan detectarse durante los eventos `validateDrop()`, por ejemplo, un error de red.
:::
-To stop the action, the code of the function must return an [error object](#error-object).
+Para detener la acción, el código de la función debe devolver un [objeto error](#error-object).
#### Ejemplo
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/ORDA/ordaClasses.md b/i18n/es/docusaurus-plugin-content-docs/current/ORDA/ordaClasses.md
index 1889c583ab40d8..96207ad628a079 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/ORDA/ordaClasses.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/ORDA/ordaClasses.md
@@ -338,7 +338,7 @@ La función `Class constructor` es activada por los siguientes comandos y funcio
:::note Notas
-- The [`entity.clone()`](../API/EntityClass.md#clone) function does not trigger the entity Class constructor.
+- La función [`entity.clone()`](../API/EntityClass.md#clone) no activa el constructor de la clase de la entidad.
- Los registros creados a nivel de la base de datos 4D utilizando comandos del lenguaje clásico 4D o acciones estándar no activan el Class constructor de la entidad.
:::
@@ -404,7 +404,7 @@ sequenceDiagram
```
-#### Example 4 (diagram): Qodly - Standard action and update value on the newly created entity
+#### Ejemplo 4 (diagrama): Qodly - Acción estándar y valor de actualización en la nueva entidad creada
```mermaid
@@ -930,10 +930,10 @@ $arch.save() //courseName y name son "Archaeology II"
For security reasons, all of your data model class functions, including [computed attributes](#computed-attributes-1) and [alias attributes](#alias-attributes-1), as well as [shared singleton functions](../Concepts/classes.md#shared-singleton) are **not exposed** (i.e., private) by default to **remote requests**.
-Remote requests are:
+Las peticiones remotas son:
- Las peticiones enviadas por las aplicaciones 4D remotas conectadas a través de `Open datastore`
-- REST requests, including requests from [Qodly pages](https://developer.4d.com/qodly/)
+- Peticiones REST, incluidas las solicitudes de [páginas Qodly](https://developer.4d.com/qodly/)
> Las peticiones cliente/servidor 4D estándar no se ven afectadas. Las funciones de clase del modelo de datos están siempre disponibles en esta arquitectura.
@@ -947,24 +947,24 @@ exposed Function
```
```4d
-// declare an exposed alias
+// declarar un alias expuesto
exposed Alias
```
```4d
-// declare an exposed computed attribute
+// declare un atributo calculado expuesto
exposed Function get
```
```4d
-// declare a shared singleton function
+// declara una función singleton compartida
shared singleton Class constructor()
exposed Function
```
:::note
-The `exposed` keyword can only be used with the objects decribed above. Si se utiliza con una función de [ clase usuario estándar](Concepts/classes.md), se ignora y el compilador devuelve un error.
+La palabra clave `exposed` solo puede utilizarse con los objetos descritos anteriormente. Si se utiliza con una función de [ clase usuario estándar](Concepts/classes.md), se ignora y el compilador devuelve un error.
:::
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/ORDA/privileges.md b/i18n/es/docusaurus-plugin-content-docs/current/ORDA/privileges.md
index 24876efc710352..1981b5f2286c8d 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/ORDA/privileges.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/ORDA/privileges.md
@@ -27,17 +27,17 @@ Si un usuario intenta ejecutar una acción y no tiene los derechos de acceso ade
Puede asignar acciones de permiso específicas a los siguientes recursos en su proyecto:
-- the [datastore](../ORDA/dsMapping.md#datastore)
-- the [dataclasses](../ORDA/dsMapping.md#dataclass)
+- el [datastore](../ORDA/dsMapping.md#datastore)
+- las [clases de datos](../ORDA/dsMapping.md#dataclass)
- [attributes](../ORDA/dsMapping.md#attribute) (including [computed](./ordaClasses.md#computed-attributes-1) and [alias](./ordaClasses.md#alias-attributes-1))
-- functions of the [data model classes](../ORDA/ordaClasses.md)
-- [singleton](../REST/$singleton.md) functions
+- funciones de las [clases del modelo de datos](../ORDA/ordaClasses.md)
+- funciones [singleton](../REST/$singleton.md)
Cada vez que se accede a un recurso dentro de una sesión (sin importar la forma en que se acceda), 4D verifica que la sesión tenga los permisos apropiados y rechaza el acceso si no está autorizado.
-## Permissions
+## Permisos
-A permission is the ability to do an action on a resource. For example, *execute the ds.myTable.myFunction()* represents a **permission**. Permissions are defined for the project in the [`roles.json`](#rolesjson-file) file. Cada permiso se puede dar a uno o más [privilegios](#privileges-and-roles).
+Un permiso es la capacidad de realizar una acción sobre un recurso. For example, *execute the ds.myTable.myFunction()* represents a **permission**. Los permisos se definen para el proyecto en el archivo [`roles.json`](#rolesjson-file). Cada permiso se puede dar a uno o más [privilegios](#privileges-and-roles).
When **no specific permission** has been defined for a resource, access to the resource may be automatically **unrestricted** or **restricted** depending on the [default mode defined for the project](#restriction-modes).
@@ -185,18 +185,18 @@ El archivo `roles.json` describe todos los parámetros de seguridad web del proy
| | | \[].execute | Colección de cadenas | | Lista de privilegios |
| | | \[].promote | Colección de cadenas | | Lista de privilegios |
| restrictedByDefault | | | Boolean | | Si es true, se niega el acceso a recursos sin permisos explícitos |
-| forceLogin | | | Boolean | | If true, enables ["forceLogin" mode](../REST/authUsers.md#force-login-mode) |
+| forceLogin | | | Boolean | | Si es true, activa el modo ["forceLogin"](../REST/authUsers.md#force-login-mode) |
:::caution Recordatorio
- El nombre de privilegio "WebAdmin" está reservado a la aplicación. No se recomienda utilizar este nombre para los privilegios personalizados.
-- `privileges` and `roles` names are case-insensitive.
+- los nombres de `privileges` y `roles` no son sensibles a mayúsculas y minúsculas.
:::
-### Default File Location and Content
+### Ubicación y contenido del archivo por defecto
-When a new project is created, a default `roles.json` file is generated at:
+Cuando se crea un nuevo proyecto, se genera un archivo `roles.json` por defecto en:
```
/Project/Sources/
@@ -244,7 +244,7 @@ In Qodly Studio for 4D, the login mode can be set using the [**Force login** opt
:::
-## Restriction Modes
+## Modos de restricción
The `restrictedByDefault` property configures how every [resource](#resources) are accessed when [no specific permission is defined for it](#permission):
@@ -260,10 +260,10 @@ The `restrictedByDefault` property configures how every [resource](#resources) a
### Configuración recomendada
-Depending on your environment, the recommended settings are:
+Dependiendo de su entorno, los parámetros recomendados son:
-- **Production**: Set both `restrictedByDefault` and [`forceLogin`](../REST/authUsers.md#force-login-mode) to **true**. Esto garantiza la máxima seguridad al requerir autenticación de usuario y permisos explícitamente definidos para el acceso a recursos.
-- **Development**: Set both `restrictedByDefault` and [`forceLogin`](../REST/authUsers.md#force-login-mode) to **false**. Esto permite un acceso más fácil durante el desarrollo y la depuración, con la posibilidad de aplicar gradualmente restricciones.
+- **Producción**: defina tanto `restrictedByDefault` como [`forceLogin`](../REST/authUsers.md#force-login-mode) como **true**. Esto garantiza la máxima seguridad al requerir autenticación de usuario y permisos explícitamente definidos para el acceso a recursos.
+- **Desarrollo**: defina `restrictedByDefault` y [`forceLogin`](../REST/authUsers.md#force-login-mode) como **false**. Esto permite un acceso más fácil durante el desarrollo y la depuración, con la posibilidad de aplicar gradualmente restricciones.
### Archivo `Roles_Errors.json`
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/Project/architecture.md b/i18n/es/docusaurus-plugin-content-docs/current/Project/architecture.md
index ecac98bd608bb7..755af59c77aedf 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/Project/architecture.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/Project/architecture.md
@@ -64,7 +64,7 @@ Este archivo de texto también puede contener llaves de configuración, en parti
| filters.json | Filtros definidos | JSON |
| dependencies.json | Nombres de [componentes a cargar](components.md) en el proyecto | JSON |
| HTTPHandlers.json | Personalizado [HTTP request handlers](../WebServer/http-request-handler.md) definido para el servidor web | JSON |
-| HTTPRules.json | Custom [HTTP rules](../WebServer/http-rules.md) defined for the web server | JSON |
+| HTTPRules.json | [Reglas HTTP](../WebServer/http-rules.md) personalizadas definidas para el servidor web | JSON |
| styleSheets.css | Hojas de estilo CSS | CSS |
| styleSheets_mac.css | Hojas de estilo css de Mac (a partir de una base binaria convertida) | CSS |
| styleSheets_windows.css | Hojas de estilo css en Windows (a partir de una base binaria convertida) | CSS |
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/Project/date-time-formats.md b/i18n/es/docusaurus-plugin-content-docs/current/Project/date-time-formats.md
index 1205c7f43c900d..a8bc65c4192828 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/Project/date-time-formats.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/Project/date-time-formats.md
@@ -112,7 +112,7 @@ La siguiente tabla muestra todos los patrones soportados para formatos de fecha
### `L` (monopuesto) vs `M`
-En algunos idiomas (ruso, eslovaco), el mes utilizado por sí solo es diferente al mes en una fecha. In "January 10, 2010", "January" is not spelled the same as in "*rendez-vous* in January".
+En algunos idiomas (ruso, eslovaco), el mes utilizado por sí solo es diferente al mes en una fecha. En "10 de enero de 2010", "enero" no se escribe igual que en "*rendez-vous* en janvier".
### `e` vs `c`
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/Project/project-method-properties.md b/i18n/es/docusaurus-plugin-content-docs/current/Project/project-method-properties.md
index bb85e03cf5b992..46704bfe40f4fd 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/Project/project-method-properties.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/Project/project-method-properties.md
@@ -22,9 +22,9 @@ El nuevo nombre debe cumplir con las reglas de denominación de 4D (ver [Identif
:::caution
-Cambiar el nombre de un método ya utilizado en la base de datos puede invalidar cualquier método o fórmula que utilice el antiguo nombre de método y corre el riesgo de interrumpir el funcionamiento de la aplicación. Puede cambiar el nombre del método manualmente, pero se recomienda utilizar la función de cambio de nombre de los métodos proyecto, descrita en [Renombrar](https://doc.4d.com/4Dv20/4D/20.2/Renaming.300-6750165.en.html). Con esta función, puede actualizar automáticamente el nombre siempre que se llame al método en todo el entorno Diseño.
+Changing the name of a method already used in the project can invalidate any methods or formulas that use the old method name and runs the risk of disrupting application functioning. It is strongly recommended to use the [renaming function for project methods](../Project/search-replace.md#renaming-project-methods-and-variables). Con esta función, puede actualizar automáticamente el nombre siempre que se llame al método en todo el entorno Diseño.
-Con 4D Server, el nombre del método se cambia en el servidor cuando se termina de editar. Si más de un usuario está modificando el nombre del método al mismo tiempo, el nombre final del método será el especificado por el último usuario en terminar de editarlo. Es posible que desee designar un propietario del método para que sólo ciertos usuarios puedan cambiar su nombre
+Con 4D Server, el nombre del método se cambia en el servidor cuando se termina de editar. Si más de un usuario está modificando el nombre del método al mismo tiempo, el nombre final del método será el especificado por el último usuario en terminar de editarlo. Es posible que desee designar un propietario del método para que sólo ciertos usuarios puedan cambiar su nombre.
:::
@@ -103,7 +103,7 @@ Para más información, consulte [Implementación del motor SQL de 4D](https://d
*Esta opción es obsoleta. La llamada a código a través de llamadas REST sólo es compatible con las [funciones de clase del modelo de datos ORDA](../REST/ClassFunctions.md).*
-### Modificar de atributos globalmente
+## Modificar de atributos globalmente
Mediante el cuadro de diálogo "Atributos de los métodos", puede modificar un atributo (Invisible, Ofrecido como servicio web, etc.) para todos o parte de los métodos proyecto base en una sola operación. Esta funcionalidad es especialmente útil para modificar los atributos de un gran número de métodos proyecto. También puede utilizarse durante el desarrollo para aplicar rápidamente los atributos comunes a grupos de métodos similares.
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/Project/search-replace.md b/i18n/es/docusaurus-plugin-content-docs/current/Project/search-replace.md
new file mode 100644
index 00000000000000..90d57d07ff1c3d
--- /dev/null
+++ b/i18n/es/docusaurus-plugin-content-docs/current/Project/search-replace.md
@@ -0,0 +1,283 @@
+---
+id: search-replace
+title: Search and Replace
+---
+
+4D provides several search and replace functions for elements in all of the Design environment.
+
+- You can search for a string or a type of object (variable, comment, expression, etc.) in part of or in the entire project on the basis of custom criteria ("starts with", "contains", etc.). You can, for example, search for all the variables containing the string "MyVar", only in methods whose name begins with "HR_".
+- The results are displayed in a results window, where it is possible to perform replacements in the contents. You can also export these results in a text file that can be imported into a spreadsheet.
+- You can detect variables and methods that are not used in your code and then remove them to free up memory.
+- You can rename a project method or a variable throughout the Design environment in a single operation.
+
+:::note
+
+There are also functions for searching among the methods of your project in the context menu of the Methods Page in the Explorer: **Search Callers** (aussi available in the [Code editor](../code-editor/write-class-method.md#search-callers) and **Search Dependencies**. Both functions display the items found in a [Results window](#results-window).
+
+:::
+
+## Search Location
+
+When you search the Design environment, the following elements are searched:
+
+- Names of project methods and classes
+- Contents of all methods and classes
+- Names of tables, fields and forms
+- Contents of forms:
+ - object names and titles
+ - names of help tips, pictures, variables, style sheets,
+ - formatting strings
+ - expresiones
+- Menus (names and items) and commands associated with menu items
+- Choice lists (names and items)
+- Help tips (names and content)
+- Formats / filters (names and content)
+- Comments in the Explorer and in the code
+
+## Find in Design
+
+### Starting a search
+
+Specify your search criteria in the "Find in design" window:
+
+1. Click on the Search button () in the 4D toolbar.
+ OR
+ Select the **Find in Design...** command from the **Edit** menu.
+
+The "Find in design" window appears:
+
+
+
+The areas of the "Find in design" vary dynamically depending on the selections made in the menus. You can expand this window so that all options are visible:
+
+
+
+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).
+
+4. Click **OK** or press the **Enter** key.
+ When the search is finished, the [Results window](#results-window) appears, listing the elements found.
+
+:::note
+
+You can cancel an extensive search that is underway using the **x** button; this does not close the window or remove any results that were found.
+
+:::
+
+Once you have executed a search, the value entered in the search area is saved in memory. This value, as well as all the other values entered during the same session, can be selected from the combo box.
+
+### Buscar
+
+You specify the type of element to look for using the **Find** menu. The following choices are available:
+
+- **Text**: In this case, 4D looks for a character string throughout the Design environment. The search is done in plain text mode, without taking the context into account. For example, you can look for the text "ALERT("Error number:"+" or "button27". In this mode, you cannot use the wildcard character because "@" is considered to be a standard character.
+- **Comment**: This search is basically the same as the previous one, but it is restricted to the contents of comments (lines beginning with //) in the code and in the Explorer window. For example, you can search for any comments containing the string "To be verified".
+
+:::note
+
+The end result of both types of searches depends on the [search mode](#search-mode) selected.
+
+:::
+
+- **Language expression**: Used to search for any valid 4D expression; the search is performed in the "contains" search mode. Validity is important because 4D must be able to evaluate an expression to be able to search for it. For example, a search for "[clients" (invalid expression) will not return any result whereas "[clients]" is correct. This option is particularly suitable for searches for value assignments and comparisons. Por ejemplo:
+ - Search for "myvar:=" (assignment)
+ - Search for "myvar=" (comparison)
+- **Language element**: Used to search for a specific language element by its name. 4D can distinguish between the following elements:
+ - **Any language element**: Any element from the list below.
+ - **Project method or Class**: Name of a project method or class, for example "M_Add" or "EmployeeEntity".
+ - **Form:** Form name, for example "Input". The command searches among project forms and table forms.
+ - **Field or Table**: Name of a table or field, for example "Customers".
+ - **Variable**: Any variable name, such as "$myvar".
+ **4D constant**: Any constant, such as "Is Picture".
+ **String in quotes**: Literal text constant; i.e. any value within quotes in the code editor or inserted into text areas of the Form editor (static text or group boxes). For example, a search for "Martin" will return results if your code contains the line: `ds.Customer.query("name = :1"; "Martin")`
+ - **4D command**: Any 4D command, for example "Alert".
+ - **Plug-in command**: Plug-in command installed in the application.
+ - **Properties**: An object property name (includes ORDA attribute names). For example "lastname" will find "$o.lastname" and "ds.Employee.lastname".
+- **Any object**: This option searches among all the elements in the Design environment. Only the modification date filter is available. Use this option, for example, to search for "anything modified today".
+
+### Search mode
+
+The search mode menu (i.e. "which", "that is" or "whose name") specifies how to search for the value that is entered. The contents of this menu vary according to the type of element to search for as selected in the **Find** dropdown list.
+
+- Search options for Text or Comment:
+ - **contains**: Searches all text in the Design environment for the specified string. Search results for "var" can include "myvar", "variable1" or "aVariable".
+ - **contains whole word**: Searches all text of the Design environment for the string as a whole word. Search results for "var" only include exact occurrences. They will not include "myvar" but will include, for example, "var:=10" or "ID+var" because the symbols : or + are word separators.
+ - **begins with / ends with**: Searches for the string at the beginning or end of the word (text search) or at the beginning or end of the comment line (comment search). In "Text ends with" mode, searching for "var" will find "myvar".
+- Search options for Language element: The menu offers standard options (matches, contains, begins with, ends with). Note that you can use the search wildcard (@) with the matches option (returns all objects of the type specified).
+
+### Search in components
+
+When your current project references [editable components](../Extensions/develop-components.md#editing-components), you can designate one or all your components as a target for the search. By default, a search is executed in the host only. To modify the target for a search, deploy the **in the project** menu:
+
+
+
+You can select as target:
+
+- the **host project** (default option, top of the list): the search will only be executed within the host project code and forms, excluding components.
+- the **host project and all its components**: the search will be executed in the host project and in all its loaded components.
+- a **specific component**, among the list of all searchable components: the search will be restricted to this component only, excluding the host and other components.
+
+:::note
+
+When no searchable component is found, no menu is available.
+
+:::
+
+The **in the folder** menu (see below) is updated when you select a project since the availability of folders depends on the selected search target(s). The menu is hidden when you select the "host project and all its components" option.
+
+### Folder
+
+The **in the folder** menu restricts the search to a specific folder of the project. By default ("Top Level" option), the search takes place in all the folders.
+
+:::note
+
+Folders are defined on the Home Page of the Explorer.
+
+:::
+
+### Modification date of the parent
+
+This menu restricts the search with respect to the creation/modification date of its parent (for example, the method containing the string being searched for). In addition to standard date criteria (is, is before, is after, is not), this menu also contains several options to let you quickly specify a standard search period:
+
+- **is today**: Period beginning at midnight (00:00 h) of the current day.
+- **is since yesterday**: Period including the current day and the previous one.
+- **is this week**: Period beginning on Monday of the current week.
+- **is this month**: Period beginning on the 1st day of the current month.
+
+### Searching options
+
+You can select options that can help speed up your searches:
+
+- **Search in forms**: When this option is deselected, the search is done throughout the project, except in forms.
+- **Search in methods**: When this option is deselected, the search is done throughout the project, except in methods.
+- **Case Sensitive**: When this option is selected, the search uses the case of the characters as they have been entered in the Find area.
+
+## Results window
+
+The Results window lists all elements found that match the search criteria set using different types of searches:
+
+- [standard search](#starting-a-search)
+- [search for unused elements](#find-unused-methods-and-global-variables)
+- [search for callers](../code-editor/write-class-method.md#search-callers)
+- search for dependencies
+- [renaming of project methods and variables](#renaming-project-methods-and-variables)
+
+It shows the results as a hierarchical list organized by type of elements found. You can expand or collapse all the hierarchical items in the list using the options menu (found at the bottom left of the window) or in the context menu.
+
+
+
+You can double-click on a line in this window to view the element in its editor, such as the [code editor](../code-editor/write-class-method.md). If you do several searches, each search opens its own result window, leaving previous result windows open.
+
+When more than one occurrence has been found, the list indicates their **count** next to the element name.
+
+Each line can display a tip that provides additional information, for example the element property that matches the criteria, or the number of the form page that contains the occurrence.
+
+When an element found belongs to a component, the **component name** is displayed in parenthesis at the right side of the element name:
+
+
+
+Once a search is completed, you can use the  button to perform the search again with the same criteria and options.
+
+### Options menu
+
+You can perform various actions using the options menu:
+
+
+
+- **Remove from list**: removes selected item(s) from the results window. More specifically, this lets you keep only items targeted by a replacement operation in the contents or used for drag and drop between applications.
+- **Remove all items from list except selection**: clears everything from the results window except for the selected item(s).
+- [**Replace in content**](#replace-in-contents): replaces a character string within the selected item(s).
+- **Select >**: selects one type of item (project methods, object names, and so on) from among all the items found in the Results window. The hierarchical sub-menu also provides commands to select (All) or deselect (None) all the items at once.
+- **Collapse all/Expand all**: expands or collapses all the hierarchical items in the list of results.
+- **Export Results**: exports information about the search criteria and elements listed in the Results window. This text file can then be imported into a spreadsheet such as Excel, for example. For each item, the following information is exported as tab-separated values in a text file:
+ - Host project or component name
+ - Type (method, Class, formObject, trigger...)
+ - Path
+ - Property (if accurate): provides the property of the object that matches the criteria. For example, a string could be found in a variable name (variable property) and an object name (name property) within in the same form. This field is empty when the matching element is the object itself.
+ - Contents (if accurate): provides the contents that actually matches the criteria; for example, the code line that contains the requested string.
+ - Line number (for code) or page number (for form objects)
+
+## Replace in content
+
+The Replace in content function allows you to replace one character string with another within the listed objects in the Results window. It is available in the [options menu](#options-menu) of the window.
+
+:::note
+
+The **Replace in content** menu item is disabled if you work in a read-only database (e.g. in a .4dz file).
+
+:::
+
+When you select this command, a dialog box appears where you enter the character string that will replace all the occurrences found by the initial search:
+
+
+
+Replacing operations work as follows:
+
+- Replacing is always carried out among all items found in the list and not just for a selection. However, it is possible to narrow the replacing operation by first reducing the contents of the list using the **Remove from list** or **Remove all items from list except selection** commands in the [options menu](#options-menu) or the contextual menu.
+- If the Results window includes elements from components, the replacing will be done in the component(s) also.
+- Only the occurrences shown in the list will be replaced and only after checking the initial search criteria for cases where objects were modified between the initial search and the replacing operation.
+- Replacing is done in the code, properties of form objects, contents of help messages, entry filters, menu items (item text and method calls), choice lists, comments.
+- For each object modified, 4D checks whether it is already loaded by another machine or in another window. In the case of conflict, a standard dialog box appears indicating that the object is locked. You can close the object and then try again or cancel its replacement. The replacing operation will then continue with the other objects in the list.
+- If a method or form concerned by a "replace in content" operation is currently being edited by the same 4D application, it will be modified directly in the open editor (no warning appears). Forms and methods modified in this way are not saved automatically: you will need to use the **Save** or **Save All** command explicitly to validate the changes.
+- After a replacement is made in a list item, it will appear in italics. A count of replacements made in real time appears at the bottom of the window.
+- Elements are never renamed themselves by the **Replace in content** feature, except for form objects. Hence it is possible that certain items in the list may not be affected by the replacing operation. This can occur when only the item name corresponds to the initial search criteria. In this case, the list items do not necessarily all appear in italics and the final replacement count may be less than the number of occurrences found by the initial search.
+
+## Renaming project methods and variables
+
+4D provides a dedicated renaming function with distribution throughout the entire project for project methods and variables.
+
+The **Rename...** command is available from the [Code editor] (for project methods and variables) and the Explorer context menu (for project methods).
+
+
+
+When you select this command, a dialog box appears where you enter the new name for the object:
+
+
+
+The new name must comply with [naming rules](../Concepts/identifiers.md); otherwise a warning appears when you validate the dialog box. For example, you cannot rename a method with a command name such as "Alert".
+
+Depending on the type of object you are renaming (project method or variable), the renaming dialog box may also contain a distribution option:
+
+- Project method: The **Update callers in whole database** option renames the method in all the project code that references it. You can also uncheck this option in order, for example, to rename the method only in the Explorer itself.
+- Process variable: The **Rename variable in whole database** option renames the variable in all the project code that references it. If you uncheck this option, the variable is only renamed in the current method.
+- Local variable: No distribution option for this object; the variable is only renamed in the current method or class.
+
+## Searching for unused elements
+
+Two specific search commands allow you to detect variables and methods that are not used in the code of your host project. You can then remove them to free up memory. These commands are found in the **Edit** menu of the Design environment.
+
+### Find Unused Methods and Global Variables
+
+This command looks for project methods as well as "global" variables (process and interprocess variables) that are declared but not used. The search results appear in a standard [Results window](#results-window).
+
+A project method is considered to be unused when:
+
+- it is not in the Trash,
+- it is not called anywhere in the 4D code,
+- it is not called by a menu command,
+- it is not called as a string constant in the 4D code (4D detects a method name in a string even when it is followed by parameters in parentheses).
+
+A process or interprocess variable is considered to be unused when:
+
+- it is [declared](../Concepts/variables.md#declaring-variables) in the 4D code,
+- it is not used anywhere else in the 4D code,
+- it is not used in any form object.
+
+Note that certain uses cannot be detected by the function - i.e. an element considered unused may in fact be used. This is the case in the following code:
+
+```4d
+var v : Text :="method"
+EXECUTE FORMULA("my"+v+String(42))
+```
+
+This code builds a method name. The *mymethod42* project method is considered unused when in fact it is called. Therefore, it is advisable to check that the elements declared as unused are in fact unnecessary before you remove them.
+
+### Find Unused Local Variables
+
+This command looks for local variables that are declared but not used. The search results appear in a standard [Results window](#results-window).
+
+A local variable is considered to be unused when:
+
+- it is [declared](../Concepts/variables.md#declaring-variables) in the 4D code,
+- it is not used anywhere else within the same method.
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/REST/$filter.md b/i18n/es/docusaurus-plugin-content-docs/current/REST/$filter.md
index c23fb41145c825..f4393d524a2b1a 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/REST/$filter.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/REST/$filter.md
@@ -3,7 +3,7 @@ id: filter
title: $filter
---
-Permite consultar los datos de una clase de datos o de un método *(p. ej.*, `$filter="firstName!='' AND salary>30000"`)
+Allows to query the data in a dataclass or method (*e.g.*, `$filter="firstName!='' AND salary>30000"`)
## Descripción
@@ -84,7 +84,7 @@ If the attribute stores [**vector objects**](../API/VectorClass.md) (see how to
For more information about vector similarity searches, please refer to [Query by vector similarity](../API/DataClassClass.md#query-by-vector-similarity) section.
-Use the `params` property to provide the filter with the vector comparison parameter, using a syntax like:
+Utilice la propiedad `params` para ofrecer al filtro el parámetro de comparación de vectores, utilizando una sintaxis como:
**\{vectorAttribute\} \{comparator\} \{placeholder\}&$params=vectorComparison**
@@ -96,7 +96,7 @@ El parámetro *vectorComparison* es una colección de los siguientes elementos:
| [].metric | Text | Opcional. [Cálculo vectorial](../API/VectorClass.md#understanding-the-different-vector-computations) a utilizar para la consulta. Supported values:"cosine" (default if omitted): calculates the cosine similarity between vectors."dot": calculates the dot similarity of vectors."euclidean": calculates the Euclidean distance between vectors. |
| [].threshold | Real | Opcional (por defecto: 0,5). Un valor umbral utilizado para filtrar las comparaciones de vectores en función de su puntuación de similitud coseno, punto o euclídea según la "métrica" seleccionada. Es altamente recomendable elegir una similitud que se adapte mejor a su caso de uso específico para obtener resultados óptimos. |
-Solo un subconjunto de símbolos **comparadores** son soportados con comparaciones vectoriales. Tenga en cuenta que comparan los resultados con el valor umbral:
+Only a subset of **comparator** symbols is supported with vector comparisons. Tenga en cuenta que comparan los resultados con el valor umbral:
| Comparador | Símbolo(s) | Comentario |
| ----------------- | ----------------------------- | --------------------------- |
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/REST/$orderby.md b/i18n/es/docusaurus-plugin-content-docs/current/REST/$orderby.md
index 8892da1bbe6daf..a86bfe2b06d6c3 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/REST/$orderby.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/REST/$orderby.md
@@ -9,7 +9,7 @@ Ordena los datos devueltos por el atributo y el orden de clasificación definido
`$orderby` ordena las entidades devueltas por la petición REST. Para cada atributo, se especifica el orden como `ASC` (o `asc`) para el orden ascendente y `DESC` (`desc`) para el orden descendente. Por defecto, los datos se clasifican en orden ascendente. By default, the data is sorted in ascending order.
-## Ejemplo
+## Ejemplo 1
En este ejemplo, recuperamos las entidades y las ordenamos al mismo tiempo:
@@ -47,3 +47,10 @@ El ejemplo siguiente ordena el conjunto de entidades por el atributo lastName en
}
```
+## Ejemplo 2
+
+`$orderby` statement is supported in [vector similarity filters](./$filter.md#vector-similarity):
+
+```
+GET /rest/Person?$filter="Vector>=:1"&$params=[{"vector":[1,2,3],"metric":"cosine","threshold":0.95}]&$orderby="Vector desc"
+```
\ No newline at end of file
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/REST/authUsers.md b/i18n/es/docusaurus-plugin-content-docs/current/REST/authUsers.md
index e6c153e409fa10..5b3bb64349e309 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/REST/authUsers.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/REST/authUsers.md
@@ -18,7 +18,7 @@ Una sesión se abre después de que el usuario haya iniciado sesión correctamen
:::note Compatibilidad
-El modo de inicio de sesión heredado basado en el método base `On REST Authentication` está **obsoleto** a partir de 4D 20 R6. Ahora se recomienda [utilizar el **modo Force login**](../ORDA/privileges.md#rolesjson-file) (activado automáticamente en nuevos proyectos) e implementar la función [`ds.authentify()`](#function-authentify). En proyectos convertidos, [un botón en la caja de diálogo de Parámetros](../settings/web.md#activate-rest-authentication-through-dsauthentify-function) le ayudará a actualizar su configuración. En Qodly Studio for 4D, el modo se puede definir utilizando la opción [**Forzar inicio de sesión**](../WebServer/qodly-studio.md#force-login) en el panel de Privilegios.
+El modo de inicio de sesión heredado basado en el método base `On REST Authentication` está **obsoleto** a partir de 4D 20 R6. Ahora se recomienda [utilizar el **modo Force login**](../ORDA/privileges.md#rolesjson-file) (activado automáticamente en nuevos proyectos) e implementar la función [`ds.authentify()`](#function-authentify). En proyectos convertidos, [un botón en la caja de diálogo de Parámetros](../settings/web.md#activate-rest-authentication-through-dsauthentify-function) le ayudará a actualizar su configuración. En Qodly Studio for 4D, el modo se puede definir utilizando la opción [**Forzar inicio de sesión**](https://developer.4d.com/qodly/4DQodlyPro/force-login) en el panel de Privilegios.
:::
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/Users/overview.md b/i18n/es/docusaurus-plugin-content-docs/current/Users/overview.md
index d67ac6744415b1..e9b602dd5dfe24 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/Users/overview.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/Users/overview.md
@@ -8,7 +8,7 @@ Si diferentes personas utilizan una aplicación, lo que suele ocurrir en la arqu
La estrategia de control de acceso 4D depende de la configuración de su despliegue:
- in multi-user Web and REST applications, access control is based upon [ORDA's Roles and privileges](../ORDA/privileges.md) features.
-- in multi-user desktop applications, you can rely on 4D users and groups,
+- en aplicaciones de escritorio multiusuario, puede confiar en los usuarios y grupos de 4D,
- en aplicaciones monousuario, el acceso de los usuarios se controla a través de la sesión del sistema, utilizando comandos como [`Current system user`](../commands-legacy/current-system-user.md).
:::tip Entradas de blog relacionadas
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/classes.md b/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/classes.md
index 09aab72cb82cf9..9edb4dbc3da69b 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/classes.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/classes.md
@@ -205,7 +205,7 @@ La propiedad `.borderBottom` es la
**.borderTop** : [cs.ViewPro.LineBorder](#lineborder)
-The `.borderTop` property is the top border line of the table .
+La propiedad `.borderTop` es la línea del borde superior de la tabla .
### .borderHorizontal
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-import-document.md b/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-import-document.md
index 2634788b5efb66..5e3f810129801c 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-import-document.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-import-document.md
@@ -66,7 +66,7 @@ El parámetro opcional *paramObj* permite definir las propiedades del documento
| | frozenRowsAsColumnHeaders | boolean | Bien sea tratar las líneas congeladas como encabezados de columna al importar, por defecto false. |
| | fullRecalc | boolean | Si calcular después de cargar los datos json, false por defecto. |
| | dynamicReferences | boolean | Si calcular funciones con referencia dinámica, por defecto true. |
-| | calcOnDemand | boolean | Whether to calculate formulas only when they are demanded, default false. |
+| | calcOnDemand | boolean | Si se calculan las fórmulas solo cuando se solicitan, por defecto false. |
| | includeUnusedStyles | boolean | Si incluir el estilo de nombre no utilizado al convertir excel xml al json, default true. |
| | contraseña | text | La contraseña para abrir el workbook. |
| | openMode | text | The open mode of normal, lazy and incremental. Por defecto es normal. |
@@ -76,7 +76,7 @@ El parámetro opcional *paramObj* permite definir las propiedades del documento
- La importación de archivos en formatos .xslx, .csv y .sjs es **asíncrona**. Con estos formatos, debe utilizar el atributo `formula` si desea iniciar una acción al final del procesamiento del documento.
- Al importar un archivo con formato Microsoft Excel a un documento 4D View Pro, algunos parámetros pueden perderse. Puede verificar su configuración con [esta lista de SpreadJS](https://developer.mescius.com/spreadjs/docs/excelimpexp/excelexport).
- Para más información sobre el formato CSV y los valores separados por delimitadores en general, ver [este artículo en Wikipedia](https://en.wikipedia.org/wiki/Delimiter-separated_values)
-- Se recomienda utilizar el objeto *excelOptions* al importar en formato ".xlsx". Make sure to not mix this object with legacy first level property *password* to avoid potiental issues.
+- Se recomienda utilizar el objeto *excelOptions* al importar en formato ".xlsx". Asegúrese de no mezclar este objeto con la propiedad heredada de primer nivel *password* para evitar problemas potenciales.
- La función callback especificada en el atributo `formula` se activa después de que todas las [funciones personalizadas 4D](../formulas.md#4d-functions) dentro del contenido importado hayan completado sus cálculos. This ensures that any dependent processes, such as document modifications or exports, are performed only after all formula-based computations are fully resolved.
:::
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/WebServer/http-rules.md b/i18n/es/docusaurus-plugin-content-docs/current/WebServer/http-rules.md
index bc8018c82e60ac..212afdc4624c71 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/WebServer/http-rules.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/WebServer/http-rules.md
@@ -53,14 +53,14 @@ Cuando el servidor web recibe una solicitud, **todos** los patrones de URL se ac
Se soportan las siguientes palabras clave de acción:
-| Palabras clave | Tipo de valor | Descripción |
-| --------------- | --------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `removeHeaders` | Texto o colección de textos | Encabezado(s) para eliminar de las respuestas HTTP. Si un encabezado a eliminar no existe en el encabezado de respuesta, se ignora. |
-| `addHeaders` | Object | Name (text) and value (text) of header(s) to add to the HTTP responses. |
-| `setHeaders` | Object | Name (text) and value (text) of header(s) to modify in the HTTP responses. Si un encabezado a modificar no existe en el encabezado de respuesta, se añade. |
-| `denyAccess` | Boolean | true para negar el acceso al recurso, false para permitir el acceso. Cuando el acceso a un recurso es denegado, el servidor web devuelve un estado 403 por defecto |
-| `redirect` | Text | Redirigir URL. Cuando se activa una redirección, el servidor web devuelve un estado 302 por defecto |
-| `status` | Number | Estado HTTP |
+| Palabras clave | Tipo de valor | Descripción |
+| --------------- | --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `removeHeaders` | Texto o colección de textos | Encabezado(s) para eliminar de las respuestas HTTP. Si un encabezado a eliminar no existe en el encabezado de respuesta, se ignora. |
+| `addHeaders` | Object | Nombre (texto) y valor (texto) del el(los) encabezado(s) para agregar a las respuestas HTTP. |
+| `setHeaders` | Object | Nombre (texto) y valor (texto) de los encabezados a modificar en las respuestas HTTP. Si un encabezado a modificar no existe en el encabezado de respuesta, se añade. |
+| `denyAccess` | Boolean | true para negar el acceso al recurso, false para permitir el acceso. Cuando el acceso a un recurso es denegado, el servidor web devuelve un estado 403 por defecto |
+| `redirect` | Text | Redirigir URL. Cuando se activa una redirección, el servidor web devuelve un estado 302 por defecto |
+| `status` | Number | Estado HTTP |
### Encabezados no modificables
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/WebServer/preemptiveWeb.md b/i18n/es/docusaurus-plugin-content-docs/current/WebServer/preemptiveWeb.md
index c270d197d2e68a..0e7af110758c9b 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/WebServer/preemptiveWeb.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/WebServer/preemptiveWeb.md
@@ -30,7 +30,7 @@ La siguiente tabla indica si el modo apropiativo se utiliza o está disponible,
- si las sesiones escalables están activadas, el modo apropiativo se utiliza automáticamente para los procesos web y servicios web.
- si las sesiones escalables no están activadas:
- for web processes, the [**Use preemptive processes**](webServerConfig.md#use-preemptive-processes) option is taken into account.
- - for web service processes (server or client), preemptive mode is supported at method level.
+ - para los procesos de servicios web (servidor o cliente), el modo preventivo está soportado a nivel de método.
## Escribir código servidor web hilo seguro
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/WebServer/qodly-studio.md b/i18n/es/docusaurus-plugin-content-docs/current/WebServer/qodly-studio.md
index 66280d9e0e24f6..e4961ff4833e86 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/WebServer/qodly-studio.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/WebServer/qodly-studio.md
@@ -94,7 +94,7 @@ La página Qodly Studio está disponible cuando el [servidor web WebAdmin está
Hay dos formas de acceder a Qodly Studio:
-- by selecting the **Qodly Studio...** menu command from the **Design** menu (4D single-user) or the **Window** menu (4D Server).
+- seleccionando el comando **Qodly Studio...** del menú **Diseño** (4D monousuario) o del menú **Ventana** (4D Server).
Si el servidor web WebAdmin ya está en funcionamiento, dependiendo de su configuración, su navegador por defecto se abre en `IPaddress:HTTPPort/studio` o `IPaddress:HTTPSPort/studio`. De lo contrario, se le preguntará si desea iniciar primero el servidor web WebAdmin.
- on a browser, with the WebAdmin web server running (launched from 4D or 4D Server), enter the following address:
@@ -116,7 +116,7 @@ Hay dos formas de acceder a Qodly Studio:
The Qodly Studio documentation is available on the [Qodly documentation website](https://developer.qodly.com/docs/studio/overview).
-You can rely on this documentation and its associated resources for developing web applications powered by Qodly pages. Sin embargo, dependiendo de la etapa de implementación, los desarrolladores 4D utilizarán Qodly Studio o 4D IDE (ver [Comparación de funcionalidades](#comparación-de-funcionalidades)).
+Puede confiar en esta documentación y sus recursos asociados para desarrollar aplicaciones web basadas en páginas Qodly. Sin embargo, dependiendo de la etapa de implementación, los desarrolladores 4D utilizarán Qodly Studio o 4D IDE (ver [Comparación de funcionalidades](#comparación-de-funcionalidades)).
Se ofrecen ejemplos de código en [QodlyScript](https://developer.qodly.com/docs/category/qodlyscript), pero como QodlyScript hereda del Lenguaje 4D, no se sentirá perdido. Se ofrecen ejemplos de código en [QodlyScript](https://developer.qodly.com/docs/category/qodlyscript), pero como QodlyScript hereda del Lenguaje 4D, no se sentirá perdido.
@@ -235,7 +235,7 @@ El proyecto debe ejecutarse en modo interpretado para que el elemento de menú *
:::
-2. In the Qodly Studio toolbar, click on the **Debug** button.
+2. En la barra de herramientas de Qodly Studio, haga clic en el botón **Debug**.

Si la sesión de depuración se inicia correctamente, aparecerá una viñeta verde en la etiqueta del botón  y podrá utilizar el depurador de Qodly Studio.
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/WebServer/sessions.md b/i18n/es/docusaurus-plugin-content-docs/current/WebServer/sessions.md
index ae2eec52be1b58..00048040081872 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/WebServer/sessions.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/WebServer/sessions.md
@@ -25,7 +25,7 @@ Las sesiones web se utilizan para:
- [Aplicaciones web](gettingStarted.md) enviando peticiones http (incluyendo peticiones [SOAP Web services](../commands/theme/Web_Services_Server.md) y [/4DACTION](../WebServer/httpRequests.md#4daction)),
- llamadas a la [REST API](../REST/authUsers.md), que utilizan [datastores remotos](../ORDA/remoteDatastores.md) y [formularios Qodly](qodly-studio.md).
-## Habilitando sesiones web
+## Activando sesiones web {#enabling-web-sessions}
La funcionalidad de gestión de sesiones puede ser activada y desactivada en su servidor web 4D. Hay diferentes maneras de habilitar la gestión de la sesión:
@@ -201,7 +201,7 @@ Else
End if
```
-:::tips Entradas de blog relacionadas
+:::tip Entradas de blog relacionadas
[Sesiones escalables para aplicaciones web avanzadas](https://blog.4d.com/scalable-sessions-for-advanced-web-applications/)
@@ -213,7 +213,7 @@ El servidor web 4D le permite generar, compartir y utilizar tokens de sesión OT
In 4D, OTP session tokens are useful when calling external URLs and being called back in another browser or device (mobile/computer). Normalmente, una aplicación de terceros envía un correo electrónico de confirmación que contiene un enlace de retrollamada en el que el usuario tiene que hacer clic. El enlace de retrollamada incluye el token OTP, para que la sesión que activó la retrollamada se cargue junto con sus datos y privilegios. This principle allows you to share the same session on multiple devices. Gracias a esta arquitectura, la [cookie de sesión](#session-implementation) no está expuesta en la red, lo que elimina el riesgo de un ataque de hombre en el medio.
-:::tips Entradas de blog relacionadas
+:::tip Entradas de blog relacionadas
[Conecte sus aplicaciones web a sistemas de terceros](https://blog.4d.com/connect-your-web-apps-to-third-party-systems/)
@@ -267,7 +267,7 @@ El token OTP se considera inválido si:
- el token de sesión no existe,
- la propia sesión original ha caducado.
-In this case, no web user session is restored and the current session (if any) is left unchanged. Normalmente, puede decidir mostrar una página de conexión o abrir una sesión guest.
+En este caso, no se restaura ninguna sesión de usuario web y la sesión actual (si existe) se deja sin cambios. Normalmente, puede decidir mostrar una página de conexión o abrir una sesión guest.
La verificación de la validez del token OTP recibido depende de cómo fue manejado:
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/WebServer/webServerConfig.md b/i18n/es/docusaurus-plugin-content-docs/current/WebServer/webServerConfig.md
index 22056b4f4e48a2..39361baf4edd38 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/WebServer/webServerConfig.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/WebServer/webServerConfig.md
@@ -603,7 +603,7 @@ Los parámetros siguientes siguen siendo compatibles, pero se basan en funcional
Estado de validación de la dirección IP para las cookies de sesión. Por razones de seguridad, por defecto el servidor web 4D verifica la dirección IP de cada solicitud que contiene una cookie de sesión y la rechaza si esta dirección no coincide con la dirección IP utilizada para crear la cookie. En algunas aplicaciones específicas, es posible que desee desactivar esta validación y aceptar las cookies de sesión, incluso cuando sus direcciones IP no coinciden. Por ejemplo, cuando los dispositivos móviles cambian entre las redes Wifi y 4G/5G, su dirección IP cambiará. En este caso, debe pasar 0 en esta opción para permitir que los clientes puedan seguir utilizando sus sesiones web aunque las direcciones IP cambien. Tenga en cuenta que este parámetro reduce el nivel de seguridad de su aplicación. Cuando se modifica, esta configuración es efectiva inmediatamente (no es necesario reiniciar el servidor HTTP).
-### Generic Web User
+### Usuario web genérico
This option allows you to designate a user, previously defined in the [4D password table](../Users/handling_users_groups.md), as a "Generic Web User". In this case, each browser allowed to connect to the database gets access authorizations and restrictions associated with this user.
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/WritePro/commands-legacy/4d-write-pro-attributes.md b/i18n/es/docusaurus-plugin-content-docs/current/WritePro/commands-legacy/4d-write-pro-attributes.md
index 72d9ad64732d5c..9c72f81354dbe6 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/WritePro/commands-legacy/4d-write-pro-attributes.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/WritePro/commands-legacy/4d-write-pro-attributes.md
@@ -17,12 +17,12 @@ También puede manejar los atributos de área 4D Write Pro a través de la notac
* notación de objeto: por ejemplo, las siguientes afirmaciones son similares:
```4d
- $bcol:=$range[wk background color]
- $bcol:=$range.backgroundColor //mismos resultados
+ $bcol:=$range[wk background color]
+ $bcol:=$range.backgroundColor //mismos resultados
```
* los comandos [OB SET](../../commands-legacy/ob-set.md) y [OB Get](../../commands-legacy/ob-get.md) por ejemplo:
```4d
- $bcol:=OB Get($range;wk background color)
+ $bcol:=OB Get($range;wk background color)
```
:::
@@ -251,7 +251,7 @@ Los atributos de enlace se utilizan para definir o agregar URLs a los rangos. Pu
### Listas
-4D Write Pro soporta dos tipos principales de listas:
+4D Write Pro soporta dos tipos principales de [listas](../user-legacy/using-a-4d-write-pro-area.md#lists):
* listas no ordenadas: donde los elementos de la lista están marcados con viñetas
* listas ordenadas:donde los elementos de la lista están marcados con números o letras
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/WritePro/commands/wp-export-document.md b/i18n/es/docusaurus-plugin-content-docs/current/WritePro/commands/wp-export-document.md
index 5b83c6bb5b8efb..3c6997512facff 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/WritePro/commands/wp-export-document.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/WritePro/commands/wp-export-document.md
@@ -72,7 +72,7 @@ Pase un [objeto](# "Datos estructurados como un objeto nativo 4D") en *option* c
| wk visible references | visibleReferences | Muestra o exporta todas las expresiones 4D insertadas en el documento como referencias. Valores posibles: True/False |
| wk whitespace | whitespace | Define el valor css "white-space" para los formatos de exportación `wk mime html` y `wk web page complete`. El estilo [white-space css](https://developer.mozilla.org/en-US/docs/Web/CSS/white-space) se aplica a los párrafos. Valores posibles: "normal", "nowrap", "pre", "pre-wrap" (por defecto), "pre-line", "break-spaces". |
-The following table indicates the *option* available per export *format*:
+La siguiente tabla indica la *option* disponible por *format* de exportación:
| | **wk 4wp** | **wk docx** | **wk mime html** | **wk pdf** | **wk web page complete** | **wk svg** |
| ------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/WritePro/commands/wp-import-document.md b/i18n/es/docusaurus-plugin-content-docs/current/WritePro/commands/wp-import-document.md
index 05064f54bf9dd9..592a131b1b226d 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/WritePro/commands/wp-import-document.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/WritePro/commands/wp-import-document.md
@@ -51,21 +51,21 @@ Por defecto, las expresiones HTML insertadas en documentos heredados de 4D Write
Puede pasar un objeto para definir cómo se gestionan los siguientes atributos durante la operación de importación:
-| **Atributo** | **Tipo** | **Description** |
-| ----------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| anchoredTextAreas | Text | Sólo para documentos MS Word (.docx). Especifica cómo se manejan las áreas de texto ancladas en Word. Valores disponibles:
**anchored** (por defecto) - Las áreas de texto ancladas se tratan como cuadros de texto. **inline** - Las áreas de texto ancladas se tratan como texto en línea en la posición del ancla. **ignore** \- Las áreas de texto ancladas son ignoradas. **Nota**: el diseño y el número de páginas en el documento pueden cambiar. Ver también *Cómo importar formato .docx* |
-| anchoredImages | Text | Sólo para documentos MS Word (.docx). Especifica cómo se manejan las imágenes ancladas. Available values:
**all** (default) - All anchored images are imported as anchored images with their text wrapping properties (exception: the .docx wrapping option "tight" is imported as wrap square). **ignoreWrap** \- Las imágenes ancladas son importadas, pero todo texto que se envuelve alrededor de la imagen es ignorado. **ignore** \- Las imágenes ancladas no son importadas. |
-| secciones | Text | Sólo para documentos MS Word (.docx). Especifica cómo se maneja la sección. Valores disponibles:
**all** (por defecto) - Se importan todas las secciones. Secciones continuas, incluso impares se convierten en secciones estándar. **ignore** \- Sections are converted to default 4D Write Pro sections (A4 portrait layout without header or footer). **Nota**: las rupturas de secciones de cualquier tipo pero continuas se convierten en rupturas de sección con rupturas de página. Continuous section breaks are imported as continuous section breaks. |
-| fields | Text | Sólo para documentos MS Word (.docx). Especifica cómo se manejan los campos .docx que no pueden ser convertidos a fórmulas 4D Write Pro. Valores disponibles:
**ignore** \- Los campos .docx son ignorados. **label** \- .docx field references are imported as labels within double curly braces ("{{ }}"). Ej: el campo "ClientName" se importará como {{ClientName}}. **value** (default) - El último valor calculado para el campo .docx (si está disponible) es importado. **Note**: If a .docx field corresponds to a 4D Write Pro variable, the field is imported as a formula and this option is ignored. |
-| borderRules | Text | Sólo para documentos MS Word (.docx). Especifica cómo se gestionan los bordes de los párrafos. Valores disponibles:
**collapse** \- El formato del párrafo se modifica para imitar los bordes colapsados automáticamente. Tenga en cuenta que la propiedad contraída sólo se aplica durante la operación de importación. If a stylesheet with a automatic border collapse setting is reapplied after the import operation, the setting will be ignored. **noCollapse** (por defecto) - No se modifica el formato de los párrafos. |
-| preferredFontScriptType | Text | Sólo para documentos MS Word (.docx). Especifica el tipo de letra preferido que se utilizará cuando se definan distintos tipos de letra para una única propiedad de fuente en OOXML. Valores disponibles:
**latin** (por defecto) - script latino **bidi** \- script bidreccional. Adecuado si el documento es principalmente bidireccional de izquierda a derecha (LTR) o de derecha a izquierda (RTL) texto (por ejemplo, árabe o hebreo). **eastAsia** \- East Asian script. Adecuado si el documento es principalmente texto asiático. |
-| htmlExpressions | Text | Sólo para documentos 4D Write (.4w7). Especifica cómo se manejan las expresiones HTML. Available values:
**rawText** \- HTML expressions are imported as raw text within ##htmlBegin## and ##htmlEnd## tags **ignore** (default) - HTML expressions are ignored. |
-| importDisplayMode | Text | Sólo para documentos 4D Write (.4w7). Especifica cómo se gestiona la visualización de imágenes. Available values:
**legacy -** 4W7 image display mode is converted using a background image if different than scaled to fit. **noLegacy** (default) - 4W7 image display mode is converted to the *imageDisplayMode* attribute if different than scaled to fit. |
+| **Atributo** | **Tipo** | **Description** |
+| ----------------------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| anchoredTextAreas | Text | Sólo para documentos MS Word (.docx). Especifica cómo se manejan las áreas de texto ancladas en Word. Valores disponibles:
**anchored** (por defecto) - Las áreas de texto ancladas se tratan como cuadros de texto. **inline** - Las áreas de texto ancladas se tratan como texto en línea en la posición del ancla. **ignore** \- Las áreas de texto ancladas son ignoradas. **Nota**: el diseño y el número de páginas en el documento pueden cambiar. Ver también *Cómo importar formato .docx* |
+| anchoredImages | Text | Sólo para documentos MS Word (.docx). Especifica cómo se manejan las imágenes ancladas. Available values:
**all** (default) - All anchored images are imported as anchored images with their text wrapping properties (exception: the .docx wrapping option "tight" is imported as wrap square). **ignoreWrap** \- Las imágenes ancladas son importadas, pero todo texto que se envuelve alrededor de la imagen es ignorado. **ignore** \- Las imágenes ancladas no son importadas. |
+| secciones | Text | Sólo para documentos MS Word (.docx). Especifica cómo se maneja la sección. Valores disponibles:
**all** (por defecto) - Se importan todas las secciones. Secciones continuas, incluso impares se convierten en secciones estándar. **ignore** \- Sections are converted to default 4D Write Pro sections (A4 portrait layout without header or footer). **Nota**: las rupturas de secciones de cualquier tipo pero continuas se convierten en rupturas de sección con rupturas de página. Continuous section breaks are imported as continuous section breaks. |
+| fields | Text | Sólo para documentos MS Word (.docx). Especifica cómo se manejan los campos .docx que no pueden ser convertidos a fórmulas 4D Write Pro. Valores disponibles:
**ignore** \- Los campos .docx son ignorados. **label** - Las referencias de campo .docx se importan como etiquetas entre llaves dobles ("{{ }}"). Ej: el campo "ClientName" se importará como {{ClientName}}. **value** (default) - El último valor calculado para el campo .docx (si está disponible) es importado. **Note**: If a .docx field corresponds to a 4D Write Pro variable, the field is imported as a formula and this option is ignored. |
+| borderRules | Text | Sólo para documentos MS Word (.docx). Especifica cómo se gestionan los bordes de los párrafos. Valores disponibles:
**collapse** \- El formato del párrafo se modifica para imitar los bordes colapsados automáticamente. Tenga en cuenta que la propiedad contraída sólo se aplica durante la operación de importación. Si se vuelve a aplicar una hoja de estilo con un ajuste de colapso automático de bordes después de la operación de importación, se ignorará el ajuste. **noCollapse** (por defecto) - No se modifica el formato de los párrafos. |
+| preferredFontScriptType | Text | Sólo para documentos MS Word (.docx). Especifica el tipo de letra preferido que se utilizará cuando se definan distintos tipos de letra para una única propiedad de fuente en OOXML. Valores disponibles:
**latin** (por defecto) - script latino **bidi** \- script bidreccional. Adecuado si el documento es principalmente bidireccional de izquierda a derecha (LTR) o de derecha a izquierda (RTL) texto (por ejemplo, árabe o hebreo). **eastAsia** \- East Asian script. Adecuado si el documento es principalmente texto asiático. |
+| htmlExpressions | Text | Sólo para documentos 4D Write (.4w7). Especifica cómo se manejan las expresiones HTML. Available values:
**rawText** \- HTML expressions are imported as raw text within ##htmlBegin## and ##htmlEnd## tags **ignore** (default) - HTML expressions are ignored. |
+| importDisplayMode | Text | Sólo para documentos 4D Write (.4w7). Especifica cómo se gestiona la visualización de imágenes. Available values:
**legacy -** 4W7 image display mode is converted using a background image if different than scaled to fit. **noLegacy** (default) - 4W7 image display mode is converted to the *imageDisplayMode* attribute if different than scaled to fit. |
**Notas de compatibilidad**
-- *Character style sheets in legacy 4D Write documents use a proprietary mechanism, which is not supported by 4D Write Pro. To get the best result for imported text, style sheet attributes are converted to "hard coded" style attributes. Las hojas de estilo de caracteres antiguos no son importadas y ya no están referenciadas en el documento.*
-- *Support for importing in .docx format is only certified for Microsoft Word 2010 and newer. Versiones antiguas, especialmente Microsoft Word 2007, pueden no importar correctamente.*
+- *Las hojas de estilo de caracteres de los documentos heredados de 4D Write utilizan un mecanismo propietario que no es compatible con 4D Write Pro. To get the best result for imported text, style sheet attributes are converted to "hard coded" style attributes. Las hojas de estilo de caracteres antiguos no son importadas y ya no están referenciadas en el documento.*
+- *El soporte para la importación en formato .docx solo está certificado para Microsoft Word 2010 y más recientes. Versiones antiguas, especialmente Microsoft Word 2007, pueden no importar correctamente.*
## Ejemplo 1
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/WritePro/managing-formulas.md b/i18n/es/docusaurus-plugin-content-docs/current/WritePro/managing-formulas.md
index 35e3b3b515c769..37b6a305dc2086 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/WritePro/managing-formulas.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/WritePro/managing-formulas.md
@@ -95,17 +95,17 @@ Por ejemplo, para insertar el número de página en el pie de página:
Cuando se utiliza en una fórmula dentro de la tabla, la palabra clave **This** da acceso a diferentes datos según el contexto:
-| **Contexto** | **Expression** | **Tipo** | **Devuelve** |
-| ---------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ----------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| En cualquier sitio | [This](../commands/this.md).table | Object | Tabla actual |
-| | [This](../commands/this.md).row | Object | Current table row element |
-| | [This](../commands/this.md).rowIndex | Number | Índice de la línea actual, a partir de 1 |
-| Cuando se ha definido una fuente de datos para la tabla | [This](../commands/this.md).table.dataSource | Objet (fórmula) | Fuente de datos como fórmula |
-| | [This](../commands/this.md).tableData | Collection o Entity selection (por lo general) | table.dataSource evaluada |
-| In each data row when a table datasource returns a collection or an entity selection | [This](../commands/this.md).item.xxx | Cualquiera | Mapped to each item of the table datasource collection or entity selection, for example **This.item.firstName** if the associated entity has the *firstName* attribute |
-| | [This](../commands/this.md).itemIndex | Number | Índice del elemento actual en la colección o selección de entidades, a partir de 0 |
-| In any row (except header rows) when a table datasource returns a collection or an entity selection | [This](../commands/this.md).previousItems | Collection o entity selection | Items displayed on the pages before the bottom carry over row (if any) or before the row of the expression, including the page where is displayed the row containing the expression.
Esta expresión devuelve el mismo tipo de valor que la expresión **This.tableData**. |
-| In a break row | [This](../commands/this.md).breakItems | Collection o entity selection | Items of the collection or entity selection displayed in the rows between:
- the current break row and the previous break row of the same level (or the start of the table) if the break row(s) are displayed after the data row.
- the current break and the next break row of the same level (or the end of the table) if the break row(s) are displayed before the data row.
|
+| **Contexto** | **Expression** | **Tipo** | **Devuelve** |
+| ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ----------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| En cualquier sitio | [This](../commands/this.md).table | Object | Tabla actual |
+| | [This](../commands/this.md).row | Object | Current table row element |
+| | [This](../commands/this.md).rowIndex | Number | Índice de la línea actual, a partir de 1 |
+| Cuando se ha definido una fuente de datos para la tabla | [This](../commands/this.md).table.dataSource | Objet (fórmula) | Fuente de datos como fórmula |
+| | [This](../commands/this.md).tableData | Collection o Entity selection (por lo general) | table.dataSource evaluada |
+| En cada fila de datos cuando una fuente de datos tabla devuelve una colección o una selección de entidades | [This](../commands/this.md).item.xxx | Cualquiera | Mapped to each item of the table datasource collection or entity selection, for example **This.item.firstName** if the associated entity has the *firstName* attribute |
+| | [This](../commands/this.md).itemIndex | Number | Índice del elemento actual en la colección o selección de entidades, a partir de 0 |
+| En cualquier línea (excepto en las líneas de encabezado) cuando una fuente de datos tabla devuelve una colección o una selección de entidades | [This](../commands/this.md).previousItems | Collection o entity selection | Items displayed on the pages before the bottom carry over row (if any) or before the row of the expression, including the page where is displayed the row containing the expression.
Esta expresión devuelve el mismo tipo de valor que la expresión **This.tableData**. |
+| In a break row | [This](../commands/this.md).breakItems | Collection o entity selection | Items of the collection or entity selection displayed in the rows between:
- the current break row and the previous break row of the same level (or the start of the table) if the break row(s) are displayed after the data row.
- the current break and the next break row of the same level (or the end of the table) if the break row(s) are displayed before the data row.
|
En cualquier otro contexto, estas expresiones devolverán *undefined*.
@@ -167,7 +167,7 @@ Por defecto, las fórmulas 4D se muestran como valores. Al insertar una fórmula
Para mostrar fórmulas como referencias, puede:
-- check the **Show references** option in the Property list (see *Configuring View properties*), or
+- marque la opción **Mostrar referencias** en la lista de propiedades (consulte *Configuración de las propiedades Vista*), o bien
- utilizar la acción estándar visibleReferences (ver *Expresiones dinámicas*), o bien
- usa el comando [**WP SET VIEW PROPERTIES**](commands-legacy/wp-set-view-properties.md) con el selector `wk visible references` en **True**.
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/WritePro/user-legacy/defining-a-4d-write-pro-area.md b/i18n/es/docusaurus-plugin-content-docs/current/WritePro/user-legacy/defining-a-4d-write-pro-area.md
index 854813d1588a26..d893ec509e6028 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/WritePro/user-legacy/defining-a-4d-write-pro-area.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/WritePro/user-legacy/defining-a-4d-write-pro-area.md
@@ -78,176 +78,3 @@ El modo de visualización de la página se puede configurar mediante el menú em
Para las áreas anidadas en formularios 4D, el modo de visualización también se puede configurar por defecto utilizando la lista de propiedades. En este caso, el modo de visualización se almacena como una propiedad del objeto de formulario 4D Write Pro (para más información, consulte el párrafo *Configurar propiedades Vista*).
-## Las acciones estandar
-
-La interfaz de usuario de áreas 4D Write Pro se puede manejar a través de un amplio conjunto de **acciones estándar**. Las acciones estándar pueden asignarse a:
-
-* comandos de menú, disponibles a través de la **barra de menú** o del comando [Dynamic pop up menu](../../commands/dynamic-pop-up-menu)
-* elementos de lista, disponibles por medio de listas pop-up/desplegables o menús pop-up jerárquicos,
-* botones, casillas de selección,
-* o ejecutados por el comando [INVOKE ACTION](../../commands/invoke-action).
-
-Cuando se le asignan a los objetos de interfaz, las acciones estándar manejan la activación/desactivación del objeto en función del contexto. Para más información, consulte la sección *Acciones estándar*.
-
-Dos tipos de acciones están disponibles para áreas 4D Write Pro:
-
-* Las acciones específicas 4D Write Pro, que sólo pueden utilizarse con áreas 4D Write Pro,
-* *[Otras acciones](#other-actions)*, incluyendo las fuentes, expresiones, corrector ortográfico y acciones de edición, que se pueden utilizar con las áreas 4D Write Pro y las otras áreas 4D (ver *Acciones estándar*).
-
-### Acciones 4D Write Pro
-
-Las siguientes acciones estándar están disponibles para las áreas 4D Write Pro.
-
-**Notas:**
-
-* Las acciones que muestran un menú/lista automático sólo se pueden asociar a los comandos de menús o a los objetos pop-ups/listas desplegables y menús pop-up jerárquicos (ver *Submenú*).
-* Las casillas de selección y las casillas de selección 3D deben estar asociadas con acciones de estado, tales como "section/differentFirstPage" o "visibleHorizontalRuler". La opción de tres estados sólo se admite con casillas de selección estándar.
-* Un estado de acción de sección siempre es igual al estado actual de la sección seleccionada (estado heredado si el atributo se hereda de la sección principal o del atributo por defecto) ya que debe reflejar el estado de sección seleccionado (el estado que se aplica actualmente a la sección). Sin embargo, la modificación de un atributo de sección con una acción estándar solo anulará el atributo de sección seleccionado.
-* *Submenú*: cuando se utilizan sin parámetros y asociados a un comando de menú, un objeto pop-up/lista desplegable o pop-up menú jerárquico, estas acciones muestran un submenú automático. Por ejemplo, si asigna la acción "backgroundColor" a un comando de menú, la selección de este comando de menú a la ejecución mostrará automáticamente los comandos del submenú "Color de fondo". Si asigna la acción "zoom" a un menú pop-up jerárquico, contendrá automáticamente una lista de valores de zoom predefinidos. Tenga en cuenta que estas acciones no pueden asignarse a botones.
-* *showDialog*: agregar la cadena "/showDialog" al nombre de la acción permite la visualización del diálogo estándar asociado a la acción. Por ejemplo, puede utilizar "paragraph/styleSheet/showDialog" para abrir el diálogo de entrada que permite la entrada de un nuevo nombre de hoja de estilo.
-
-| Acción | Modelo | Disponible con | Descripción |
-|---|---|---|---|
-| anchorHorizontalAlign | {image \| textBox}/anchorHorizontalAlign?value={left \| center \| right} | Image, Textbox, Submenu | Defines the horizontal alignment of the element, relative to the anchorOrigin for images/text boxes in page, or to the layout box for images/text box in embedded mode. This action will reset the horizontal offset to 0. (not enabled for inline images). |
-| anchoring | {image \| textBox}/anchoring | Submenu | Default submenu with anchor settings actions for images or text boxes |
-| anchorLayout | image/anchorLayout?value={front \| behind \| wrapTopBottom \| wrapSquareLeft \| wrapSquareRight \| wrapSquareLargest \| wrapSquare \| inline}
textBox/anchorLayout?value={front \| behind \| wrapTopBottom \| wrapSquareLeft \| wrapSquareRight \| wrapSquareLargest \| wrapSquare} | Image, Textbox, Submenu | Defines the anchor layout type for an image or a text box. Can be used to transform an inline image to an anchored image, or the reverse. Note: If an image is moved from an anchored mode to inline, the image is inserted at the beginning of the current selected text. "inline" value is not supported for text boxes |
-| anchorOrigin | {image \| textBox}/anchorOrigin?value={paper-box \| header-box \| footer-box} | Image, TextBox, Submenu | Defines the area relative to the absolute position of an anchored image or text box. If the element is relative to the header-box/footer-box which is not visible on a page, the element is not displayed. This action will reset horizontal and vertical offsets to 0. Page mode only, not enabled for inline images. |
-| anchorPage | {image \| textBox}/anchorPage?value={all \| current \| currentSubSection} | Image, TextBox, Submenu | Defines the page(s) where the selected image or text box is displayed (not enabled for inline images). Page mode only. |
-| anchorSection | {image \| textBox}/anchorSection?value={all \| current} | Image, TextBox, Submenu | Defines the section(s) where the selected image or text box is displayed. (not enabled for inline images). Page mode only. |
-| anchorVerticalAlign | {image \| textBox}/anchorVerticalAlign?value={top \| center \| bottom} | Image, TextBox Submenu | Defines the vertical alignment of the image or text box, relative to the anchorOrgin for an image or text box in page, or to the layout box for an image or text box in embedded mode. This action will reset the vertical offset to 0 (not enabled for inline images). Note: See "verticalAlign" action for the vertical alignment inside the text box |
-| avoidPageBreakInside | {paragraph/}avoidPageBreakInside | Paragraph | |
-| background | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}background | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu | For menu commands only. Default submenu for all background attributes. |
-| backgroundClip | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}backgroundClip?value={paper-box \| border-box \| padding-box \| content-box} | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu | Changes target background clipping box (default target is paragraph). Paper-box targets document and section only. |
-| backgroundColor | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}backgroundColor?value={ \| transparent} | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu, showDialog | Changes target background. |
-| backgroundDisplayMode | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}backgroundDisplayMode?value=scaledToFit \| truncated \| truncatedCentered \| proportional \| proportionalCentered \| replicated \| replicatedCentered | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu | Sets the display mode of images used as background. |
-| backgroundImage | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}backgroundImage?value=none | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu, showDialog | Clears target background image. (default target is paragraph) |
-| backgroundOrigin | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}backgroundOrigin?value={paper-box \| border-box \| padding-box \| content-box} | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu | Changes target background image origin box (default target is paragraph). Paper-box targets document and section only. |
-| backgroundPositionH | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}backgroundPositionH?value={left \| right \| center} | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu | Changes target background image horizontal alignment (default target is paragraph). Ex: paragraph/backgroundPositionH?value=left |
-| backgroundPositionV | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}backgroundPositionV?value={top \| bottom \| center} | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu | Changes target background image vertical alignment (default target is paragraph). Ex: paragraph/backgroundPositionV?value=top |
-| backgroundRepeat | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}backgroundRepeat?value={no-repeat \| repeat \| repeat-x \| repeat-y} | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu | Changes target background image repeat mode. (default target is paragraph) |
-| backgroundSizeH | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}backgroundSizeH?value={ \| \| auto \| cover \| contain} | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu | Changes target background image width (default target is paragraph). Ex: paragraph/backgroundSizeH?value=100%. section/backgroundSizeH?value=cover |
-| backgroundSizeV | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell}/backgroundSizeV?value={ \| \| auto} | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu | Changes target background image height (default target is paragraph). Ex: paragraph/backgroundSizeV?value=50%. Ex: section/backgroundSizeV?value=40pt |
-| bookmark | bookmark?index= | Submenu | Selects the Nth bookmark. Ex: bookmark?index=2 // selects the second bookmark |
-| borderCollapse | borderCollapse | Paragraph | Collapses selected paragraph borders and interior margins. |
-| borderColor | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}{inside \| outside/}{borderColor \| borderColorLeft \| borderColorRight \| borderColorTop \| borderColorBottom \| borderColorLeftRight \| borderColorTopBottom}?value= | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu, showDialog | Changes target border color (default target is paragraph). Ex: paragraph/borderColorLeft?value=green |
-| borderRadius | {doc \| paragraph \| image \| textBox \| section \| header \| footer/}borderRadius?value= | Document, Paragraph, Image, TextBox, Section, Header, Footer, Submenu | Changes target border radius (default target is paragraph). Ex: paragraph/borderRadius?value=4pt |
-| borders | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}{inside \| outside/}borders | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu | Default submenu for target borders. |
-| borderStyle | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}{inside \| outside/}{borderStyle \| borderStyleLeft \| borderStyleRight \| borderStyleTop \| borderStyleBottom \| borderStyleLeftRight \| borderStyleTopBottom}?value={none \| hidden \| dotted \| dashed \| solid \| double \| groove \| ridge \| inset \| outset} | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu | Changes target border style (default target is paragraph). Ex: paragraph/borderStyleLeft?value=double. Ex: outside/borderStyle?value=solid //set selected paragraphs exterior borders to style solid. Ex: inside/borderStyle?value=none //remove selected paragraphs interior borders |
-| borderWidth | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}{inside \| outside/}{borderWidth \| borderWidthLeft \| borderWidthRight \| borderWidthTop \| borderWidthBottom \| borderWidthLeftRight \| borderWidthTopBottom}?value= | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu | Changes target border width (default target is paragraph). Ex: paragraph/borderWidthLeft?value=4pt |
-| columnCount | {section/}columnCount?value={1<=number<=20} | Document, Section, Submenu | Number of columns in the current document and/or section. (default target is doc) Ex: section/columnCount?value=3 |
-| columnRuleColor | {section/}columnRuleColor?value={CSS color} | Document, Section, Submenu, showDialog | Color for the decorative line between document or section columns. Ex: columnRuleColor?value="#FFFFFF" |
-| columnRuleStyle | {section/}columnRuleStyle?value={none \| dotted \| dashed \| solid \| double \| groove \| ridge \| inset \| outset} | Document, Section, Submenu | Style for the decorative line between document or section columns. Ex: columnRuleStyle?value="solid" |
-| columnRuleWidth | {section/}columnRuleWidth?value={CSS length} | Document, Section, Submenu | Width of the decorative line between document or section columns. Ex: columnRuleWidth?value="2pt" |
-| columns | {section/}columns | Document, Section, Submenu | Only for a menu item: creates automatically a complete Columns sub-menu with all column actions sub-menus (except insertColumnBreak) |
-| columnSpacing | {section/}columnSpacing?value={CSS length} | Document, Section, Submenu | Space between two columns in the current document and/or section. Ex: columnSpacing?value="1cm" |
-| deleteColumns | deleteColumns | Table | Deletes all selected columns. |
-| deleteRows | deleteRows | Table | Deletes all selected rows. |
-| deleteStyleSheet | {paragraph \| image/}deleteStyleSheet?index={1<= number <= number of target style sheets} | Paragraph, Image, Submenu | Removes the Nth stylesheet from the stored stylesheets for the selected target (default target is paragraph). Menu item name is replaced at runtime with style sheet name. |
-| direction | direction?value={ltr \| rtl} | Paragraph, Submenu | Paragraph direction. |
-| displayFormulaAsSymbol | displayFormulaAsSymbol | Document | Displays formula references as a # symbol. Can only be used when formulas are displayed as references. |
-| doc | doc | Document, Submenu | Default submenu for document body layout (embedded mode attributes or default attributes for sections – but for margin which is reserved for embedded mode only). |
-| dpi | Modifies the dpi of the current view (independent of the document attribute wk dpi used internally for pixel conversion <-> points). | Submenu | Change view dpi. Ex: dpi?value=72 |
-| emptyDatasource | {table}/emptyDatasource?value={showDataRow \| hideDataRow \| showPlaceholderRow \| hideTable } | Table, Submenu | Defines how the table is displayed when its datasource is empty. |
-| fontStyleWrite | fontStyleWrite | Submenu | For menu commands only. Displays default font styles submenu for 4D Write Pro. |
-| fontSubscript | fontSubscript | | Toggles subscript font attribute. |
-| fontSuperscript | fontSuperscript | | Toggles superscript font attribute. |
-| footer | footer | Submenu | Displays the Footer submenu. |
-| footer/remove | footer/remove | Footer | Removes the selected footer. |
-| formulaHighlight | formulaHighlight?value={values \| references \| always \| never} | Document, Submenu | Formula highlight mode for the document. Can be used with a dropdown menu or a button |
-| formulaHighlightColor | formulaHighlightColor?value= | Document, Submenu,showDialog | Formula highlight color for the document |
-| formulaHighlightReferences | formulaHighlightReferences | Document | Toggles formula references highlighting. Can be used with a check box or a menu item |
-| formulaHighlightValues | formulaHighlightValues | Document | Toggles formula values highlighting. Can be used with a check box or a menu item |
-| header | header | Submenu | Displays the Header submenu. |
-| header/remove | header/remove | Header | Removes the selected header. |
-| height | {image \| textBox \| row}/height?value={ \| auto} | Image, TextBox Row, Submenu | Target height. Ex: image/height?value=50pt. For image/width, see width. Ex: row/height?value=12pt |
-| headerRowCount | {table/}headerRowCount | Table, Submenu | Sets the number of header rows in a table. Maximum is 5. |
-| htmlWYSIWIGEnabled | htmlWYSIWIGEnabled | Document | Toggles between html wysiwyg mode. |
-| image | image | Image, Submenu | Displays image layout submenu. |
-| image/displayMode | image/displayMode?value=scaledToFit \| truncated \| truncatedCentered \| proportional \| proportionalCentered \| replicated \| replicatedCentered | Image, Submenu | Sets the display mode of anchored and inline images. Ex: image/displayMode?value=scaledToFit |
-| image/verticalAlign | image/verticalAlign?value={top \| middle \| bottom \| baseline \| super \| sub} | Image, Submenu | Image vertical alignment. Ex: image/verticalAlign?value=super |
-| insertColumnBreak | insertColumnBreak | Paragraph | Inserts a column break at the selection. |
-| insertColumnToTheLeft | insertColumnToTheLeft | Table | Inserts a column to the left of the first selected column(s). |
-| insertColumnToTheRight | insertColumnToTheRight | Table | Inserts a column to the right of the last selected column(s). |
-| insertContinuousSectionBreak | insertContinuousSectionBreak | Paragraph | Inserts a continuous section break at the selection. |
-| insertImage | insertImage | | Opens a picture selection dialog box and inserts the selected picture (if any) as a character in the area. |
-| insertPageBreak | insertPageBreak | Paragraph | Inserts a page break at the selection. |
-| insertRowAbove | insertRowAbove | Table | Inserts a row above the selected row(s). |
-| insertRowBelow | insertRowBelow | Table | Inserts a row below the selected row(s). |
-| insertSectionBreak | insertSectionBreak | Paragraph | Inserts a section break at the selection. |
-| insertSoftHyphen | insertSoftHyphen | | Inserts a soft hyphen at the cursor position. |
-| insertTextBox | insertTextBox | Document | Inserts a text box near the current selection, anchored to the first selected page (page mode). |
-| keepWithNext | keepWithNext | Paragraph | Links a paragraph with the next so that they cannot be separated by automatic page or column breaks. If applied to the last paragraph of the last cell in a table, the last row of the table is linked to the following paragraph. |
-| lineHeight | lineHeight?value={ \| } | Paragraph, Submenu | Paragraph line height. Ex: lineHeight?value=120% |
-| layer | {image \| textBox}/layer | Submenu | Default submenu with layering actions for images or text boxes |
-| listStartNumber | listStartNumber?value={ (longint) \| auto} | Paragraph, Submenu | List start number. Ex: listStartNumber?value=10 |
-| listStyleImage | listStyleImage/showDialog | Paragraph, showDialog | Opens a file dialog to choose a image to display as list style bullet; it will set also list style type to disc – style to be used if image is not found. |
-| listStyleType | listStyleType?value={none \| disc \| circle \| square \| hollow-square \| diamond \| club \| decimal \| decimal-leading- zero \| lower-latin \| lower-roman \| upper-latin \| upper-roman \| lower-greek \| decimal-greek \| armenian \| georgian \| hebrew \| hiragana \| katakana \| cjk-ideographic} | Paragraph, Submenu | Paragraph list style type. |
-| margin | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table/}{inside \| outside/}{margin \| marginLeft \| marginRight \| marginTop \| marginBottom \| marginLeftRight \| marginTopBottom}?value={ \| auto} | Document, Paragraph, Image, Textbox, Section, Header, Footer, Table, Submenu | Changes target margin (default target is paragraph). Ex: margin?value=4pt //sets all paragraph margins to 4pt. Ex: outside/margin?value=4pt //set exterior paragraph margins to 4pt. Ex: doc/marginLeft?value=1cm //sets left margin to 1cm for the document as used in embedded mode. Ex: section/marginLeft?value=1cm //sets left margin to 1cm for the pages of the first selected section |
-| merge | {paragraph/}merge
cell/merge | Paragraph, Cell | Used with paragraphs: merges paragraphs. Used with cells: merges the selected cells. |
-| minHeight | {paragraph \| image/}minHeight?value= | Paragraph, Image, Submenu | Target min height (default target is paragraph). Ex: paragraph/minHeight?value=50pt |
-| minWidth | {paragraph \| image/}minWidth?value= | Paragraph, Image, Submenu | Target min width (default target is paragraph). Ex: paragraph/minWidth?value=50pt |
-| moveToBack | moveToBack | Image | Moves image to the back. (not enabled for inline images) |
-| moveToFront | moveToFront | Image | Moves image to the front. (not enabled for inline images) |
-| newLineStyleSheet | newLineStyleSheet?index={1<=number<=number of paragraph stylesheets \| newLineStyleSheet}?value=auto | Paragraph, Submenu | Selected paragraph elements will use Nth stylesheet as stylesheet to use for new paragraphs created on Return or while splitting paragraphs; If value=auto, new paragraphs will use the same stylesheet (default). (menu item name is replaced at runtime with stylesheet name) |
-| padding | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| column \| row\| cell/}{inside \| outside/}{padding \| paddingLeft \| paddingRight \| paddingTop \| paddingBottom \| paddingLeftRight \| paddingTopBottom }?value= | Document, Paragraph, Image, TextBox, Section, Header, Footer, Row, Column, Cell, Submenu | Changes target padding. (default target is paragraph) |
-| pageMode | pageMode?value={embedded \| page \| draft} | Submenu | Changes view mode. Ex: pageMode?value=page |
-| pageOrientation | {section/}pageOrientation?value={landscape \| portrait} | Section, Submenu | Changes document or first selected section page orientation (if section is not specified, it will apply to all sections otherwise to the first selected section). Ex: pageOrientation?value=portrait //change orientation to portrait for the whole document. Ex: section/pageOrientation?value=landscape //change orientation to landscape for the first selected section |
-| pageSize | pageSize?index= | Submenu | Changes document page size: number is Nth page size in the list of available pages sizes. The list contains the current printer page sizes, ISO page sizes and the custom page sizes defined by the user. |
-| paragraph | paragraph | Paragraph, Submenu | Default submenu for paragraph layout. |
-| paragraph/avoidPageBreakInside | {paragraph/}avoidPageBreakInside | Paragraph | Allows/disallows page breaks inside paragraphs. |
-| print | print | Document | Prints document as rendered in page mode with view settings of the focused 4D Write Pro area. |
-| refreshImages | refreshImages | Image | Reloads images from the network for images with URLs. |
-| removeSoftHyphens | removeSoftHyphens | | Removes all soft hyphens in the current selection (if the selection is empty, removes soft hyphen before or after the caret if any) |
-| row/avoidPageBreakInside | row/avoidPageBreakInside | Table, Row | Allows/disallows page breaks inside table rows. This action is disabled if: the current selection does not contain a table the table does not allow page breaks the table is inside a header or footer Note: If several tables are selected and some of them don't allow page breaks, this option will be enabled but only applied to the tables that allow page breaks. |
-| section | section | Section, Submenu | Default submenu for page layout for the first selected section. |
-| section/differentFirstPage | section/differentFirstPage | Section | Section has different first page or not. |
-| section/differentLeftRightPages | section/differentLeftRightPages | Section | Section has different left and right pages or not. |
-| section/name/showDialog | section/name/showDialog | Section, showDialog | Displays a dialog allowing to enter the first selected section name. |
-| section/remove | section/remove | Section | Deletes the first section that intersects the user’s selection regardless if the user has selected one or multiple sections. Disabled when only one section remains in the document. |
-| section/reset | section/reset | Section | Resets all first selected section attributes to default attributes - which are inherited from doc attributes for background, border and padding (same as for embedded mode) and 2.5cm for page margins. First selected section column properties are also removed (so only default section properties will apply). |
-| split | {paragraph/}split
cell/split | Paragraph, Cell | Used with paragraph: splits paragraph. Used with cells: splits the selected cells (only cells that have been already merged may be split). |
-| styleSheet | {paragraph \| image/}styleSheet?value={1<=number<=number of target style sheets} | Paragraph, Image, Submenu, showDialog | Applies Nth stylesheet to the selected target elements. With dialog, new stylesheet will use current attributes from the first selected target. (default target is paragraph) Ex: styleSheet?value=1 //apply first paragraph style sheet to the selected paragraphs and set it as paragraph stylesheets. |
-| styleSheets | {paragraph \| image/}styleSheets | Paragraph, Image, Submenu | Default submenu for editing target stylesheets. |
-| tabDecimalSeparator | tabDecimalSeparator?value={point \| comma \| pointOrComma \| system} | Document, Submenu | Defines the character used as decimal separator by decimal tabulations. |
-| tableAlign | tableAlign?value={left \| center \| right}
or
table/tableAlign?value={left \| center \| right} | Table, Submenu | Specifies horizontal alignment for a table. |
-| table/avoidPageBreakInside | table/avoidPageBreakInside | Table | Allows/disallows page breaks inside tables. Disabled if: the current selection does not contain at least one table the table is in a header or a footer |
-| table/bottomCarryOverRow | table/bottomCarryOverRow | Table | Toggles between display/not display of carry-over rows (see Carry-over rows). |
-| textAlign | textAlign?value={left \| right \| center \| justify \| initial} | Paragraph | Paragraph text alignment (initial=use right for rtl or left for ltr direction). |
-| textBox | textBox | Submenu | Submenu with all actions available for the focused/selected text box |
-| textBox/remove | textBox/remove | TextBox | Removes the selected text box |
-| textIndent | textIndent?value= (may be negative) | Paragraph, Submenu | Paragraph text indentation (first line indentation). Ex: textIndent?value=2cm |
-| textLinethrough | textLinethrough | Submenu | For menu commands only. Linethrough submenu (with style and color). |
-| textLinethroughColor | textLinethroughColor?value={ \| currentColor} | Submenu, showDialog | Ex: textLinethroughColor?value=red |
-| textLinethroughStyle | textLinethroughStyle?value={none \| solid \| dotted \| dashed \| double \| semi-transparent \| word} | Submenu | Ex: textLinethroughStyle?value=dotted |
-| textShadow | textShadow | Submenu | For menu commands only. Default submenu for text shadow (with color and offset). |
-| textShadowColor | textShadowColor?value={ \| none} | Submenu, showDialog | Changes shadow status or color for characters. Ex: textShadowColor?value=green |
-| textShadowOffset | textShadowOffset?value= | Submenu | Only length in pt is supported. Ex: textShadowOffset?value=2pt |
-| textTransform | textTransform?value={none \| capitalize \| uppercase \| lowercase \| small-uppercase} | Submenu | Formats text. Ex: textTransform?value=capitalize |
-| textUnderline | textUnderline | Submenu | For menu commands only. Underline submenu (with style and color) |
-| textUnderlineColor | textUnderlineColor?value={ \| currentColor} | Submenu, showDialog | Ex: textUnderlineColor?value=red |
-| textUnderlineStyle | textUnderlineStyle?value={none \| solid \| dotted \| dashed \| double \| semi-transparent \| word} | Submenu | Ex: textUnderlineStyle?value=dotted |
-| updateStyleSheet | {paragraph \| image/}updateStyleSheet | Paragraph, Image, Submenu | Updates first selected target stylesheet with first selected target current attributes (default target is paragraph) |
-| userUnit | userUnit?value={cm \| mm \| in \| pt} | Submenu | Changes document layout unit (will be reflected on rulers). |
-| verticalAlign | {paragraph \| row \| column \| cell \| textBox/}verticalAlign?value={top \| middle \| bottom} | Paragraph, Row, Column, Cell, TextBox, Submenu | Paragraph vertical alignment. Ex: verticalAlign?value=top. The effect depends on the minHeight value of the paragraph. |
-| view | view | Submenu | For menu commands only. Default submenu for view settings. |
-| visibleBackground | visibleBackground | Document | Shows/hides background, anchored pictures and text boxes |
-| visibleEmptyImages | visibleEmptyImages | Document | Shows/hides a default black rectangle for images that cannot be loaded or computed (empty images or images in an unsupported format). |
-| visibleFooters | visibleFooters | Document | Shows/hides footers. |
-| visibleHeaders | visibleHeaders | Document | Shows/hides headers. |
-| visibleHiddenChars | visibleHiddenChars | Document | Shows/hides hidden characters |
-| visibleHorizontalRuler | visibleHorizontalRuler | Document | Shows/hides horizontal ruler. |
-| visiblePageFrames | visiblePageFrames | Document | Shows/hides page frames. |
-| visibleVerticalRuler | visibleVerticalRuler | Document | Shows/hides vertical ruler (Page mode only). |
-| visibleTableBorders | visibleTableBorders | Document | Shows/hides internal and external table borders as dashed lines where no borders are defined. |
-| widowAndOrphanControlEnabled | widowAndOrphanControlEnabled | Paragraph | Toggles between widow and orphan control mode. |
-| width | {paragraph \| image \| textBox \| column/}width?value= \| auto | Paragraph, Image, TextBox, Column, Submenu | Target width (default target is paragraph). Auto value not available for text boxes (converted to 8 cm) and columns. Ex: image/width?value=50pt |
-| zoom | zoom?value={25% <= percentage in Css <= 400%} | Document, Submenu | Changes document view zoom. Ex: zoom?value=120% |
-
-### Otras acciones
-
-Otras acciones estándar están disponibles en los formularios 4D y pueden ser utilizadas en las áreas 4D Write Pro:
-
-* *Acciones de edición*, tales como acciones de copiar/pegar.
-* acciones *Fuente*, tales como FontBold o fontSize.
-* acciones *Expresiones dinámicas*, permitiendo manejar la inserción de expresiones.
-* acciones *Corrector ortográfico*.
\ No newline at end of file
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/WritePro/user-legacy/standard-actions.md b/i18n/es/docusaurus-plugin-content-docs/current/WritePro/user-legacy/standard-actions.md
new file mode 100644
index 00000000000000..184e18268276ff
--- /dev/null
+++ b/i18n/es/docusaurus-plugin-content-docs/current/WritePro/user-legacy/standard-actions.md
@@ -0,0 +1,180 @@
+---
+id: standard-actions
+title: Las acciones estandar
+displayed_sidebar: docs
+slug: /WritePro/standard-actions
+---
+
+
+
+La interfaz de usuario de áreas 4D Write Pro se puede manejar a través de un amplio conjunto de **acciones estándar**. Las acciones estándar pueden asignarse a:
+
+* comandos de menú, disponibles a través de la **barra de menú** o del comando [Dynamic pop up menu](../../commands/dynamic-pop-up-menu)
+* elementos de lista, disponibles por medio de listas pop-up/desplegables o menús pop-up jerárquicos,
+* botones, casillas de selección,
+* o ejecutados por el comando [INVOKE ACTION](../../commands/invoke-action).
+
+Cuando se le asignan a los objetos de interfaz, las acciones estándar manejan la activación/desactivación del objeto en función del contexto. Para más información, consulte la sección *Acciones estándar*.
+
+Dos tipos de acciones están disponibles para áreas 4D Write Pro:
+
+* Las acciones específicas 4D Write Pro, que sólo pueden utilizarse con áreas 4D Write Pro,
+* *[Otras acciones](#other-actions)*, incluyendo las fuentes, expresiones, corrector ortográfico y acciones de edición, que se pueden utilizar con las áreas 4D Write Pro y las otras áreas 4D (ver *Acciones estándar*).
+
+### Acciones 4D Write Pro
+
+Las siguientes acciones estándar están disponibles para las áreas 4D Write Pro.
+
+**Notas:**
+
+* Las acciones que muestran un menú/lista automático sólo se pueden asociar a los comandos de menús o a los objetos pop-ups/listas desplegables y menús pop-up jerárquicos (ver *Submenú*).
+* Las casillas de selección y las casillas de selección 3D deben estar asociadas con acciones de estado, tales como "section/differentFirstPage" o "visibleHorizontalRuler". La opción de tres estados sólo se admite con casillas de selección estándar.
+* Un estado de acción de sección siempre es igual al estado actual de la sección seleccionada (estado heredado si el atributo se hereda de la sección principal o del atributo por defecto) ya que debe reflejar el estado de sección seleccionado (el estado que se aplica actualmente a la sección). Sin embargo, la modificación de un atributo de sección con una acción estándar solo anulará el atributo de sección seleccionado.
+* *Submenú*: cuando se utilizan sin parámetros y asociados a un comando de menú, un objeto pop-up/lista desplegable o pop-up menú jerárquico, estas acciones muestran un submenú automático. Por ejemplo, si asigna la acción "backgroundColor" a un comando de menú, la selección de este comando de menú a la ejecución mostrará automáticamente los comandos del submenú "Color de fondo". Si asigna la acción "zoom" a un menú pop-up jerárquico, contendrá automáticamente una lista de valores de zoom predefinidos. Tenga en cuenta que estas acciones no pueden asignarse a botones.
+* *showDialog*: agregar la cadena "/showDialog" al nombre de la acción permite la visualización del diálogo estándar asociado a la acción. Por ejemplo, puede utilizar "paragraph/styleSheet/showDialog" para abrir el diálogo de entrada que permite la entrada de un nuevo nombre de hoja de estilo.
+
+| Acción | Modelo | Disponible con | Descripción |
+|---|---|---|---|
+| anchorHorizontalAlign | {image \| textBox}/anchorHorizontalAlign?value={left \| center \| right} | Image, Textbox, Submenu | Defines the horizontal alignment of the element, relative to the anchorOrigin for images/text boxes in page, or to the layout box for images/text box in embedded mode. This action will reset the horizontal offset to 0. (not enabled for inline images). |
+| anchoring | {image \| textBox}/anchoring | Submenu | Default submenu with anchor settings actions for images or text boxes |
+| anchorLayout | image/anchorLayout?value={front \| behind \| wrapTopBottom \| wrapSquareLeft \| wrapSquareRight \| wrapSquareLargest \| wrapSquare \| inline}
textBox/anchorLayout?value={front \| behind \| wrapTopBottom \| wrapSquareLeft \| wrapSquareRight \| wrapSquareLargest \| wrapSquare} | Image, Textbox, Submenu | Defines the anchor layout type for an image or a text box. Can be used to transform an inline image to an anchored image, or the reverse. Note: If an image is moved from an anchored mode to inline, the image is inserted at the beginning of the current selected text. "inline" value is not supported for text boxes |
+| anchorOrigin | {image \| textBox}/anchorOrigin?value={paper-box \| header-box \| footer-box} | Image, TextBox, Submenu | Defines the area relative to the absolute position of an anchored image or text box. If the element is relative to the header-box/footer-box which is not visible on a page, the element is not displayed. This action will reset horizontal and vertical offsets to 0. Page mode only, not enabled for inline images. |
+| anchorPage | {image \| textBox}/anchorPage?value={all \| current \| currentSubSection} | Image, TextBox, Submenu | Defines the page(s) where the selected image or text box is displayed (not enabled for inline images). Page mode only. |
+| anchorSection | {image \| textBox}/anchorSection?value={all \| current} | Image, TextBox, Submenu | Defines the section(s) where the selected image or text box is displayed. (not enabled for inline images). Page mode only. |
+| anchorVerticalAlign | {image \| textBox}/anchorVerticalAlign?value={top \| center \| bottom} | Image, TextBox Submenu | Defines the vertical alignment of the image or text box, relative to the anchorOrgin for an image or text box in page, or to the layout box for an image or text box in embedded mode. This action will reset the vertical offset to 0 (not enabled for inline images). Note: See "verticalAlign" action for the vertical alignment inside the text box |
+| avoidPageBreakInside | {paragraph/}avoidPageBreakInside | Paragraph | |
+| background | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}background | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu | For menu commands only. Default submenu for all background attributes. |
+| backgroundClip | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}backgroundClip?value={paper-box \| border-box \| padding-box \| content-box} | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu | Changes target background clipping box (default target is paragraph). Paper-box targets document and section only. |
+| backgroundColor | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}backgroundColor?value={ \| transparent} | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu, showDialog | Changes target background. |
+| backgroundDisplayMode | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}backgroundDisplayMode?value=scaledToFit \| truncated \| truncatedCentered \| proportional \| proportionalCentered \| replicated \| replicatedCentered | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu | Sets the display mode of images used as background. |
+| backgroundImage | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}backgroundImage?value=none | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu, showDialog | Clears target background image. (default target is paragraph) |
+| backgroundOrigin | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}backgroundOrigin?value={paper-box \| border-box \| padding-box \| content-box} | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu | Changes target background image origin box (default target is paragraph). Paper-box targets document and section only. |
+| backgroundPositionH | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}backgroundPositionH?value={left \| right \| center} | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu | Changes target background image horizontal alignment (default target is paragraph). Ex: paragraph/backgroundPositionH?value=left |
+| backgroundPositionV | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}backgroundPositionV?value={top \| bottom \| center} | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu | Changes target background image vertical alignment (default target is paragraph). Ex: paragraph/backgroundPositionV?value=top |
+| backgroundRepeat | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}backgroundRepeat?value={no-repeat \| repeat \| repeat-x \| repeat-y} | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu | Changes target background image repeat mode. (default target is paragraph) |
+| backgroundSizeH | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}backgroundSizeH?value={ \| \| auto \| cover \| contain} | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu | Changes target background image width (default target is paragraph). Ex: paragraph/backgroundSizeH?value=100%. section/backgroundSizeH?value=cover |
+| backgroundSizeV | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell}/backgroundSizeV?value={ \| \| auto} | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu | Changes target background image height (default target is paragraph). Ex: paragraph/backgroundSizeV?value=50%. Ex: section/backgroundSizeV?value=40pt |
+| bookmark | bookmark?index= | Submenu | Selects the Nth bookmark. Ex: bookmark?index=2 // selects the second bookmark |
+| borderCollapse | borderCollapse | Paragraph | Collapses selected paragraph borders and interior margins. |
+| borderColor | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}{inside \| outside/}{borderColor \| borderColorLeft \| borderColorRight \| borderColorTop \| borderColorBottom \| borderColorLeftRight \| borderColorTopBottom}?value= | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu, showDialog | Changes target border color (default target is paragraph). Ex: paragraph/borderColorLeft?value=green |
+| borderRadius | {doc \| paragraph \| image \| textBox \| section \| header \| footer/}borderRadius?value= | Document, Paragraph, Image, TextBox, Section, Header, Footer, Submenu | Changes target border radius (default target is paragraph). Ex: paragraph/borderRadius?value=4pt |
+| borders | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}{inside \| outside/}borders | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu | Default submenu for target borders. |
+| borderStyle | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}{inside \| outside/}{borderStyle \| borderStyleLeft \| borderStyleRight \| borderStyleTop \| borderStyleBottom \| borderStyleLeftRight \| borderStyleTopBottom}?value={none \| hidden \| dotted \| dashed \| solid \| double \| groove \| ridge \| inset \| outset} | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu | Changes target border style (default target is paragraph). Ex: paragraph/borderStyleLeft?value=double. Ex: outside/borderStyle?value=solid //set selected paragraphs exterior borders to style solid. Ex: inside/borderStyle?value=none //remove selected paragraphs interior borders |
+| borderWidth | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}{inside \| outside/}{borderWidth \| borderWidthLeft \| borderWidthRight \| borderWidthTop \| borderWidthBottom \| borderWidthLeftRight \| borderWidthTopBottom}?value= | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu | Changes target border width (default target is paragraph). Ex: paragraph/borderWidthLeft?value=4pt |
+| columnCount | {section/}columnCount?value={1<=number<=20} | Document, Section, Submenu | Number of columns in the current document and/or section. (default target is doc) Ex: section/columnCount?value=3 |
+| columnRuleColor | {section/}columnRuleColor?value={CSS color} | Document, Section, Submenu, showDialog | Color for the decorative line between document or section columns. Ex: columnRuleColor?value="#FFFFFF" |
+| columnRuleStyle | {section/}columnRuleStyle?value={none \| dotted \| dashed \| solid \| double \| groove \| ridge \| inset \| outset} | Document, Section, Submenu | Style for the decorative line between document or section columns. Ex: columnRuleStyle?value="solid" |
+| columnRuleWidth | {section/}columnRuleWidth?value={CSS length} | Document, Section, Submenu | Width of the decorative line between document or section columns. Ex: columnRuleWidth?value="2pt" |
+| columns | {section/}columns | Document, Section, Submenu | Only for a menu item: creates automatically a complete Columns sub-menu with all column actions sub-menus (except insertColumnBreak) |
+| columnSpacing | {section/}columnSpacing?value={CSS length} | Document, Section, Submenu | Space between two columns in the current document and/or section. Ex: columnSpacing?value="1cm" |
+| deleteColumns | deleteColumns | Table | Deletes all selected columns. |
+| deleteRows | deleteRows | Table | Deletes all selected rows. |
+| deleteStyleSheet | {paragraph \| image/}deleteStyleSheet?index={1<= number <= number of target style sheets} | Paragraph, Image, Submenu | Removes the Nth stylesheet from the stored stylesheets for the selected target (default target is paragraph). Menu item name is replaced at runtime with style sheet name. |
+| direction | direction?value={ltr \| rtl} | Paragraph, Submenu | Paragraph direction. |
+| displayFormulaAsSymbol | displayFormulaAsSymbol | Document | Displays formula references as a # symbol. Can only be used when formulas are displayed as references. |
+| doc | doc | Document, Submenu | Default submenu for document body layout (embedded mode attributes or default attributes for sections – but for margin which is reserved for embedded mode only). |
+| dpi | Modifies the dpi of the current view (independent of the document attribute wk dpi used internally for pixel conversion <-> points). | Submenu | Change view dpi. Ex: dpi?value=72 |
+| emptyDatasource | {table}/emptyDatasource?value={showDataRow \| hideDataRow \| showPlaceholderRow \| hideTable } | Table, Submenu | Defines how the table is displayed when its datasource is empty. |
+| fontStyleWrite | fontStyleWrite | Submenu | For menu commands only. Displays default font styles submenu for 4D Write Pro. |
+| fontSubscript | fontSubscript | | Toggles subscript font attribute. |
+| fontSuperscript | fontSuperscript | | Toggles superscript font attribute. |
+| footer | footer | Submenu | Displays the Footer submenu. |
+| footer/remove | footer/remove | Footer | Removes the selected footer. |
+| formulaHighlight | formulaHighlight?value={values \| references \| always \| never} | Document, Submenu | Formula highlight mode for the document. Can be used with a dropdown menu or a button |
+| formulaHighlightColor | formulaHighlightColor?value= | Document, Submenu,showDialog | Formula highlight color for the document |
+| formulaHighlightReferences | formulaHighlightReferences | Document | Toggles formula references highlighting. Can be used with a check box or a menu item |
+| formulaHighlightValues | formulaHighlightValues | Document | Toggles formula values highlighting. Can be used with a check box or a menu item |
+| header | header | Submenu | Displays the Header submenu. |
+| header/remove | header/remove | Header | Removes the selected header. |
+| height | {image \| textBox \| row}/height?value={ \| auto} | Image, TextBox Row, Submenu | Target height. Ex: image/height?value=50pt. For image/width, see width. Ex: row/height?value=12pt |
+| headerRowCount | {table/}headerRowCount | Table, Submenu | Sets the number of header rows in a table. Maximum is 5. |
+| htmlWYSIWIGEnabled | htmlWYSIWIGEnabled | Document | Toggles between html wysiwyg mode. |
+| image | image | Image, Submenu | Displays image layout submenu. |
+| image/displayMode | image/displayMode?value=scaledToFit \| truncated \| truncatedCentered \| proportional \| proportionalCentered \| replicated \| replicatedCentered | Image, Submenu | Sets the display mode of anchored and inline images. Ex: image/displayMode?value=scaledToFit |
+| image/verticalAlign | image/verticalAlign?value={top \| middle \| bottom \| baseline \| super \| sub} | Image, Submenu | Image vertical alignment. Ex: image/verticalAlign?value=super |
+| insertColumnBreak | insertColumnBreak | Paragraph | Inserts a column break at the selection. |
+| insertColumnToTheLeft | insertColumnToTheLeft | Table | Inserts a column to the left of the first selected column(s). |
+| insertColumnToTheRight | insertColumnToTheRight | Table | Inserts a column to the right of the last selected column(s). |
+| insertContinuousSectionBreak | insertContinuousSectionBreak | Paragraph | Inserts a continuous section break at the selection. |
+| insertImage | insertImage | | Opens a picture selection dialog box and inserts the selected picture (if any) as a character in the area. |
+| insertPageBreak | insertPageBreak | Paragraph | Inserts a page break at the selection. |
+| insertRowAbove | insertRowAbove | Table | Inserts a row above the selected row(s). |
+| insertRowBelow | insertRowBelow | Table | Inserts a row below the selected row(s). |
+| insertSectionBreak | insertSectionBreak | Paragraph | Inserts a section break at the selection. |
+| insertSoftHyphen | insertSoftHyphen | | Inserts a soft hyphen at the cursor position. |
+| insertTextBox | insertTextBox | Document | Inserts a text box near the current selection, anchored to the first selected page (page mode). |
+| keepWithNext | keepWithNext | Paragraph | Links a paragraph with the next so that they cannot be separated by automatic page or column breaks. If applied to the last paragraph of the last cell in a table, the last row of the table is linked to the following paragraph. |
+| lineHeight | lineHeight?value={ \| } | Paragraph, Submenu | Paragraph line height. Ex: lineHeight?value=120% |
+| layer | {image \| textBox}/layer | Submenu | Default submenu with layering actions for images or text boxes |
+| listStartNumber | listStartNumber?value={ (longint) \| auto} | Paragraph, Submenu | List start number. Ex: listStartNumber?value=10 |
+| listStyleImage | listStyleImage/showDialog | Paragraph, showDialog | Opens a file dialog to choose a image to display as list style bullet; it will set also list style type to disc – style to be used if image is not found. |
+| listStyleType | listStyleType?value={none \| disc \| circle \| square \| hollow-square \| diamond \| club \| decimal \| decimal-leading- zero \| lower-latin \| lower-roman \| upper-latin \| upper-roman \| lower-greek \| decimal-greek \| armenian \| georgian \| hebrew \| hiragana \| katakana \| cjk-ideographic} | Paragraph, Submenu | Paragraph list style type. |
+| margin | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table/}{inside \| outside/}{margin \| marginLeft \| marginRight \| marginTop \| marginBottom \| marginLeftRight \| marginTopBottom}?value={ \| auto} | Document, Paragraph, Image, Textbox, Section, Header, Footer, Table, Submenu | Changes target margin (default target is paragraph). Ex: margin?value=4pt //sets all paragraph margins to 4pt. Ex: outside/margin?value=4pt //set exterior paragraph margins to 4pt. Ex: doc/marginLeft?value=1cm //sets left margin to 1cm for the document as used in embedded mode. Ex: section/marginLeft?value=1cm //sets left margin to 1cm for the pages of the first selected section |
+| merge | {paragraph/}merge
cell/merge | Paragraph, Cell | Used with paragraphs: merges paragraphs. Used with cells: merges the selected cells. |
+| minHeight | {paragraph \| image/}minHeight?value= | Paragraph, Image, Submenu | Target min height (default target is paragraph). Ex: paragraph/minHeight?value=50pt |
+| minWidth | {paragraph \| image/}minWidth?value= | Paragraph, Image, Submenu | Target min width (default target is paragraph). Ex: paragraph/minWidth?value=50pt |
+| moveToBack | moveToBack | Image | Moves image to the back. (not enabled for inline images) |
+| moveToFront | moveToFront | Image | Moves image to the front. (not enabled for inline images) |
+| newLineStyleSheet | newLineStyleSheet?index={1<=number<=number of paragraph stylesheets \| newLineStyleSheet}?value=auto | Paragraph, Submenu | Selected paragraph elements will use Nth stylesheet as stylesheet to use for new paragraphs created on Return or while splitting paragraphs; If value=auto, new paragraphs will use the same stylesheet (default). (menu item name is replaced at runtime with stylesheet name) |
+| padding | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| column \| row\| cell/}{inside \| outside/}{padding \| paddingLeft \| paddingRight \| paddingTop \| paddingBottom \| paddingLeftRight \| paddingTopBottom }?value= | Document, Paragraph, Image, TextBox, Section, Header, Footer, Row, Column, Cell, Submenu | Changes target padding. (default target is paragraph) |
+| pageMode | pageMode?value={embedded \| page \| draft} | Submenu | Changes view mode. Ex: pageMode?value=page |
+| pageOrientation | {section/}pageOrientation?value={landscape \| portrait} | Section, Submenu | Changes document or first selected section page orientation (if section is not specified, it will apply to all sections otherwise to the first selected section). Ex: pageOrientation?value=portrait //change orientation to portrait for the whole document. Ex: section/pageOrientation?value=landscape //change orientation to landscape for the first selected section |
+| pageSize | pageSize?index= | Submenu | Changes document page size: number is Nth page size in the list of available pages sizes. The list contains the current printer page sizes, ISO page sizes and the custom page sizes defined by the user. |
+| paragraph | paragraph | Paragraph, Submenu | Default submenu for paragraph layout. |
+| paragraph/avoidPageBreakInside | {paragraph/}avoidPageBreakInside | Paragraph | Allows/disallows page breaks inside paragraphs. |
+| print | print | Document | Prints document as rendered in page mode with view settings of the focused 4D Write Pro area. |
+| refreshImages | refreshImages | Image | Reloads images from the network for images with URLs. |
+| removeSoftHyphens | removeSoftHyphens | | Removes all soft hyphens in the current selection (if the selection is empty, removes soft hyphen before or after the caret if any) |
+| row/avoidPageBreakInside | row/avoidPageBreakInside | Table, Row | Allows/disallows page breaks inside table rows. This action is disabled if: the current selection does not contain a table the table does not allow page breaks the table is inside a header or footer Note: If several tables are selected and some of them don't allow page breaks, this option will be enabled but only applied to the tables that allow page breaks. |
+| section | section | Section, Submenu | Default submenu for page layout for the first selected section. |
+| section/differentFirstPage | section/differentFirstPage | Section | Section has different first page or not. |
+| section/differentLeftRightPages | section/differentLeftRightPages | Section | Section has different left and right pages or not. |
+| section/name/showDialog | section/name/showDialog | Section, showDialog | Displays a dialog allowing to enter the first selected section name. |
+| section/remove | section/remove | Section | Deletes the first section that intersects the user’s selection regardless if the user has selected one or multiple sections. Disabled when only one section remains in the document. |
+| section/reset | section/reset | Section | Resets all first selected section attributes to default attributes - which are inherited from doc attributes for background, border and padding (same as for embedded mode) and 2.5cm for page margins. First selected section column properties are also removed (so only default section properties will apply). |
+| split | {paragraph/}split
cell/split | Paragraph, Cell | Used with paragraph: splits paragraph. Used with cells: splits the selected cells (only cells that have been already merged may be split). |
+| styleSheet | {paragraph \| image/}styleSheet?value={1<=number<=number of target style sheets} | Paragraph, Image, Submenu, showDialog | Applies Nth stylesheet to the selected target elements. With dialog, new stylesheet will use current attributes from the first selected target. (default target is paragraph) Ex: styleSheet?value=1 //apply first paragraph style sheet to the selected paragraphs and set it as paragraph stylesheets. |
+| styleSheets | {paragraph \| image/}styleSheets | Paragraph, Image, Submenu | Default submenu for editing target stylesheets. |
+| tabDecimalSeparator | tabDecimalSeparator?value={point \| comma \| pointOrComma \| system} | Document, Submenu | Defines the character used as decimal separator by decimal tabulations. |
+| tableAlign | tableAlign?value={left \| center \| right}
or
table/tableAlign?value={left \| center \| right} | Table, Submenu | Specifies horizontal alignment for a table. |
+| table/avoidPageBreakInside | table/avoidPageBreakInside | Table | Allows/disallows page breaks inside tables. Disabled if: the current selection does not contain at least one table the table is in a header or a footer |
+| table/bottomCarryOverRow | table/bottomCarryOverRow | Table | Toggles between display/not display of carry-over rows (see Carry-over rows). |
+| textAlign | textAlign?value={left \| right \| center \| justify \| initial} | Paragraph | Paragraph text alignment (initial=use right for rtl or left for ltr direction). |
+| textBox | textBox | Submenu | Submenu with all actions available for the focused/selected text box |
+| textBox/remove | textBox/remove | TextBox | Removes the selected text box |
+| textIndent | textIndent?value= (may be negative) | Paragraph, Submenu | Paragraph text indentation (first line indentation). Ex: textIndent?value=2cm |
+| textLinethrough | textLinethrough | Submenu | For menu commands only. Linethrough submenu (with style and color). |
+| textLinethroughColor | textLinethroughColor?value={ \| currentColor} | Submenu, showDialog | Ex: textLinethroughColor?value=red |
+| textLinethroughStyle | textLinethroughStyle?value={none \| solid \| dotted \| dashed \| double \| semi-transparent \| word} | Submenu | Ex: textLinethroughStyle?value=dotted |
+| textShadow | textShadow | Submenu | For menu commands only. Default submenu for text shadow (with color and offset). |
+| textShadowColor | textShadowColor?value={ \| none} | Submenu, showDialog | Changes shadow status or color for characters. Ex: textShadowColor?value=green |
+| textShadowOffset | textShadowOffset?value= | Submenu | Only length in pt is supported. Ex: textShadowOffset?value=2pt |
+| textTransform | textTransform?value={none \| capitalize \| uppercase \| lowercase \| small-uppercase} | Submenu | Formats text. Ex: textTransform?value=capitalize |
+| textUnderline | textUnderline | Submenu | For menu commands only. Underline submenu (with style and color) |
+| textUnderlineColor | textUnderlineColor?value={ \| currentColor} | Submenu, showDialog | Ex: textUnderlineColor?value=red |
+| textUnderlineStyle | textUnderlineStyle?value={none \| solid \| dotted \| dashed \| double \| semi-transparent \| word} | Submenu | Ex: textUnderlineStyle?value=dotted |
+| updateStyleSheet | {paragraph \| image/}updateStyleSheet | Paragraph, Image, Submenu | Updates first selected target stylesheet with first selected target current attributes (default target is paragraph) |
+| userUnit | userUnit?value={cm \| mm \| in \| pt} | Submenu | Changes document layout unit (will be reflected on rulers). |
+| verticalAlign | {paragraph \| row \| column \| cell \| textBox/}verticalAlign?value={top \| middle \| bottom} | Paragraph, Row, Column, Cell, TextBox, Submenu | Paragraph vertical alignment. Ex: verticalAlign?value=top. The effect depends on the minHeight value of the paragraph. |
+| view | view | Submenu | For menu commands only. Default submenu for view settings. |
+| visibleBackground | visibleBackground | Document | Shows/hides background, anchored pictures and text boxes |
+| visibleEmptyImages | visibleEmptyImages | Document | Shows/hides a default black rectangle for images that cannot be loaded or computed (empty images or images in an unsupported format). |
+| visibleFooters | visibleFooters | Document | Shows/hides footers. |
+| visibleHeaders | visibleHeaders | Document | Shows/hides headers. |
+| visibleHiddenChars | visibleHiddenChars | Document | Shows/hides hidden characters |
+| visibleHorizontalRuler | visibleHorizontalRuler | Document | Shows/hides horizontal ruler. |
+| visiblePageFrames | visiblePageFrames | Document | Shows/hides page frames. |
+| visibleVerticalRuler | visibleVerticalRuler | Document | Shows/hides vertical ruler (Page mode only). |
+| visibleTableBorders | visibleTableBorders | Document | Shows/hides internal and external table borders as dashed lines where no borders are defined. |
+| widowAndOrphanControlEnabled | widowAndOrphanControlEnabled | Paragraph | Toggles between widow and orphan control mode. |
+| width | {paragraph \| image \| textBox \| column/}width?value= \| auto | Paragraph, Image, TextBox, Column, Submenu | Target width (default target is paragraph). Auto value not available for text boxes (converted to 8 cm) and columns. Ex: image/width?value=50pt |
+| zoom | zoom?value={25% <= percentage in Css <= 400%} | Document, Submenu | Changes document view zoom. Ex: zoom?value=120% |
+
+### Otras acciones
+
+Otras acciones estándar están disponibles en los formularios 4D y pueden ser utilizadas en las áreas 4D Write Pro:
+
+* *Acciones de edición*, tales como acciones de copiar/pegar.
+* acciones *Fuente*, tales como FontBold o fontSize.
+* acciones *Expresiones dinámicas*, permitiendo manejar la inserción de expresiones.
+* acciones *Corrector ortográfico*.
\ No newline at end of file
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/WritePro/user-legacy/using-a-4d-write-pro-area.md b/i18n/es/docusaurus-plugin-content-docs/current/WritePro/user-legacy/using-a-4d-write-pro-area.md
index 0c7b7d9482aafe..8c728c11d5d499 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/WritePro/user-legacy/using-a-4d-write-pro-area.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/WritePro/user-legacy/using-a-4d-write-pro-area.md
@@ -48,6 +48,8 @@ Puede controlar los saltos automáticos en los párrafos mediante las siguientes
Estas opciones pueden definirse mediante el menú contextual, o los [atributos](../commands-legacy/4d-write-pro-attributes.md) (`wk avoid widows and orphans`, `wk page break inside paragraph`, o las [acciones estándar](./defining-a-4d-write-pro-area.md#standard-actions) *widowAndOrphanControlEnabled*, *avoidPageBreakInside*).
+
+
## Fondo
El fondo de los documentos 4D Write Pro y los elementos del documento (tablas, párrafos, secciones, encabezados/pies, etc.) se pueden configurar con los siguientes efectos:
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/WritePro/user/user-new.md b/i18n/es/docusaurus-plugin-content-docs/current/WritePro/user/user-new.md
new file mode 100644
index 00000000000000..09990ca4034c8f
--- /dev/null
+++ b/i18n/es/docusaurus-plugin-content-docs/current/WritePro/user/user-new.md
@@ -0,0 +1,34 @@
+---
+id: user-new
+title: user WP
+---
+
+to import
+
+
+
+## Lists
+
+4D Write Pro supports two main types of lists:
+
+* unordered lists: where list items are marked with bullets, custom bullets, or images used as markers.
+* ordered lists: where list items are marked with numbers or letters
+
+They can be created using:
+* the toolbar or sidebar of the [4D Write Pro interface](https://doc.4d.com/4Dv20/4D/20.2/Entry-areas.300-6750367.en.html#5865253)
+* the `listStyleType` or `listStyleImage` [standard actions](./standard-actions.md) ,
+* or [programmatically](../commands-legacy/4d-write-pro-attributes.md#lists) using [WP SET ATTRIBUTE](../commands/wp-set-attributes.md).
+
+When a list is created using a standard action (`listStyleType` or `listStyleImage`) or the toolbar/sidebar, 4D Write Pro automatically inserts a margin before the text so that the marker is positioned inside it. The value of the inserted margin corresponds to the offset of the default tab (`wk tab default`).
+
+
+
+When the list is created using [the WP SET ATTRIBUTE command](../commands-legacy/4d-write-pro-attributes.md#lists), no specific margin is managed, by default the marker is added at the left boundary of the paragraph. The developer can add a custom margin if necessary.
+
+:::info Related blog post
+
+[4D Write Pro – Adding a margin automatically when bullets are set using standard actions]()
+
+:::
+
+
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/WritePro/writeprointerface.md b/i18n/es/docusaurus-plugin-content-docs/current/WritePro/writeprointerface.md
index 72146ab7f99e17..d0f2771d9fd7e4 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/WritePro/writeprointerface.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/WritePro/writeprointerface.md
@@ -8,9 +8,9 @@ slug: /WritePro/write-pro-interface
Un desarrollador 4D puede implementar fácilmente estas paletas en su aplicación. Así, los usuarios finales pueden gestionar todas las propiedades de 4D Write Pro, como las fuentes, la alineación del texto, los marcadores, la disposición de las tablas y los marcos.
-## Installation & documentation
+## Instalación y documentación
-4D Write Pro Interface is a **4D component** that needs to be [installed in your project](../Project/components.md#overview). 4D Write Pro Interface source files are [provided on Github](https://github.com/4d/4D-WritePro-Interface).
+4D Write Pro Interface es un **componente 4D** que necesita ser [instalado en su proyecto](../Project/components.md#overview). Los archivos fuente de 4D Write Pro Interface están [disponibles en Github](https://github.com/4d/4D-WritePro-Interface).
La documentación principal de [la interfaz de 4D Write Pro](https://doc.4d.com/4Dv20/4D/20/Entry-areas.300-6263967.en.html) se encuentra en el manual *Diseño 4D*. Encontrará a continuación:
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAI.md b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAI.md
index 96e57899400ed5..6478740c260b03 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAI.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAI.md
@@ -36,15 +36,15 @@ Crear una instancia de la clase cliente OpenAI.
#### Llave API
```4d
-// as text
+// como texto
var $client:=cs.AIKit.OpenAI.new("your api key")
-// as object
+// como objeto
var $client:=cs.AIKit.OpenAI.new({apiKey: "your api key"})
```
#### URL del servidor
-For a [compatible provider](../compatible-openai.md) API, you can configure the server URL.
+Para una API [proveedor compatible](../compatible-openai.md), puede configurar la URL del servidor.
```4d
var $client:=cs.AIKit.OpenAI.new({apiKey: "your api key"; baseURL: "https://server.ai"})
@@ -58,7 +58,7 @@ $client.baseURL:="https://server.ai"
## Recursos API
-La API ofrece acceso a múltiples recursos que permiten una interacción perfecta con los servicios de OpenAI. Each resource is encapsulated within a dedicated API class, offering a structured and intuitive way to interact with different functionalities.
+La API ofrece acceso a múltiples recursos que permiten una interacción perfecta con los servicios de OpenAI. Cada recurso está encapsulado en una clase API específica, que ofrece una forma estructurada e intuitiva de interactuar con las distintas funcionalidades.
| Nombre de la propiedad | Tipo | Descripción |
| ---------------------- | ----------------------------------------------- | ------------------------------------------------ |
@@ -67,11 +67,13 @@ La API ofrece acceso a múltiples recursos que permiten una interacción perfect
| `images` | [OpenAIImagesAPI](OpenAIImagesAPI.md) | Acceso a la API Images. |
| `moderations` | [OpenAIModerationsAPI](OpenAIModerationsAPI.md) | Acceso a la API de moderaciones. |
| `embeddings` | [OpenAIEmbeddingsAPI](OpenAIEmbeddingsAPI.md) | Acceso a la API Embeddings. |
+| `files` | [OpenAIFilesAPI](OpenAIFilesAPI.md) | Acceso a la API Files. |
### Ejemplo de Uso
```4d
$client.chat.completions.create(...)
$client.images.generate(...)
+$client.files.create(...)
$client.model.lists(...)
```
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIError.md b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIError.md
index 50c983790a5e75..0cbbae13977180 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIError.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIError.md
@@ -5,7 +5,7 @@ title: OpenAIError Class
# OpenAIError Class
-La clase `OpenAIError` está diseñada para manejar errores devueltos por la API OpenAI. It extracts relevant information from the error response and provides methods to access this information.
+La clase `OpenAIError` está diseñada para manejar errores devueltos por la API OpenAI. Extrae información relevante de la respuesta de error y ofrece los métodos para acceder a esta información.
## Propiedades
@@ -45,4 +45,4 @@ La clase `OpenAIError` está diseñada para manejar errores devueltos por la API
| `isNotFoundError` | Boolean | Indica si el error es un error 404 Not Found. |
| `isUnprocessableEntityError` | Boolean | Indica si el error es un error de entidad no procesable (422). |
| `isRateLimitError` | Boolean | Indica si el error es un error de límite de velocidad 429. |
-| `isInternalServerError` | Boolean | Indicates if the error is a 500 or higher Internal Server error. |
\ No newline at end of file
+| `isInternalServerError` | Boolean | Indica si el error es un error de servidor interno de tipo 500 o superior. |
\ No newline at end of file
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFile.md b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFile.md
new file mode 100644
index 00000000000000..179d008cdc931a
--- /dev/null
+++ b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFile.md
@@ -0,0 +1,29 @@
+---
+id: openaifile
+title: OpenAIFile
+---
+
+# OpenAIFile
+
+La clase `OpenAIFile` representa un objeto archivo en la API OpenAI. Files can be uploaded and used across various endpoints including Assistants, Fine-tuning, Batch, and Vision APIs.
+
+## Propiedades
+
+| Nombre de la propiedad | Tipo | Descripción |
+| ---------------------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `id` | Text | El identificador del archivo, al que se puede hacer referencia en los puntos de terminación de la API. |
+| `bytes` | Integer | El tamaño del archivo, en bytes. |
+| `created_at` | Integer | La marca de tiempo Unix (en segundos) de cuando se creó el archivo. |
+| `expires_at` | Integer | La marca de tiempo Unix (en segundos) para cuando el archivo expirará. |
+| `filename` | Text | El nombre del archivo. |
+| `object` | Text | El tipo de objeto, que siempre es "file". |
+| `purpose` | Text | El propósito previsto del archivo. Supported values: `assistants`, `assistants_output`, `batch`, `batch_output`, `fine-tune`, `fine-tune-results`, `vision`, and `user_data`. |
+| `status` | Text | **Obsoleto.** el estado actual del archivo, que puede ser `uploaded`, `processed`, o `error`. |
+| `status_details` | Text | **Deprecated.** For details on why a fine-tuning training file failed validation, see the error field on `fine_tuning.job`. |
+
+## Ver también
+
+- [OpenAIFileResult](OpenAIFileResult.md)
+- [OpenAIFileListResult](OpenAIFileListResult.md)
+- [OpenAIFilesAPI](OpenAIFilesAPI.md)
+- [OpenAIFileParameters](OpenAIFileParameters.md)
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileDeleted.md b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileDeleted.md
new file mode 100644
index 00000000000000..6f79e1d309c787
--- /dev/null
+++ b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileDeleted.md
@@ -0,0 +1,34 @@
+---
+id: openaifiledeleted
+title: OpenAIFileDeleted
+---
+
+# OpenAIFileDeleted
+
+The `OpenAIFileDeleted` class represents the deletion status of a file in the OpenAI API.
+
+## Propiedades
+
+| Nombre de la propiedad | Tipo | Descripción |
+| ---------------------- | ------- | -------------------------------------------------------------------------------------------------------------------- |
+| `id` | Text | The ID of the deleted file (e.g., "file-abc123"). |
+| `deleted` | Boolean | Whether the file was successfully deleted. `True` if deletion succeeded. |
+| `object` | Text | El tipo de objeto, que siempre es "file". |
+
+## Example Response
+
+```json
+{
+ "id": "file-abc123",
+ "object": "file",
+ "deleted": true
+}
+```
+
+## Used by
+
+- [OpenAIFileDeletedResult](OpenAIFileDeletedResult.md)
+
+## Ver también
+
+- [OpenAIFilesAPI](OpenAIFilesAPI.md)
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileDeletedResult.md b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileDeletedResult.md
new file mode 100644
index 00000000000000..eccc0617e86ff1
--- /dev/null
+++ b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileDeletedResult.md
@@ -0,0 +1,38 @@
+---
+id: openaifiledeletedresult
+title: OpenAIFileDeletedResult
+---
+
+# OpenAIFileDeletedResult
+
+La clase `OpenAIFileDeletedResult` contiene el resultado de una operación de borrado de archivos.
+
+## Hereda
+
+[OpenAIResult](OpenAIResult.md)
+
+## Propiedades calculadas
+
+| Propiedad | Tipo | Descripción |
+| --------- | ----------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `deleted` | [OpenAIFileDeleted](OpenAIFileDeleted.md) | Returns the file deletion result from the API response. Devuelve `Null` si la respuesta no contiene un resultado válido. |
+
+## Ejemplo de Uso
+
+```4d
+// Delete a file
+var $fileId:="file-abc123"
+var $result:=$client.files.delete($fileId; Null)
+var $deletionStatus:=$result.deleted
+
+If ($deletionStatus.deleted)
+ ALERT("File "+$deletionStatus.id+" was successfully deleted")
+Else
+ ALERT("Failed to delete file")
+End if
+```
+
+## Ver también
+
+- [OpenAIFilesAPI](OpenAIFilesAPI.md)
+- [OpenAIFileDeleted](OpenAIFileDeleted.md)
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileListParameters.md b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileListParameters.md
new file mode 100644
index 00000000000000..7bb18d3fe24611
--- /dev/null
+++ b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileListParameters.md
@@ -0,0 +1,38 @@
+---
+id: openaifilelistparameters
+title: OpenAIFileListParameters
+---
+
+# OpenAIFileListParameters
+
+La clase `OpenAIFileListParameters` contiene los parámetros para listar los archivos en la API OpenAI.
+
+## Hereda
+
+[OpenAIParameters](OpenAIParameters.md)
+
+## Propiedades
+
+| Nombre de la propiedad | Tipo | Requerido | Por defecto | Descripción |
+| ---------------------- | ------- | --------- | ----------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `after` | Text | Opcional | - | Un cursor para utilizar en la paginación. `after` es un ID de objeto que define su lugar en la lista. Por ejemplo, si realiza una solicitud de lista y recibe 100 objetos, que terminan en "obj_foo", su llamada posterior puede incluir "after=obj_foo" para recuperar la página siguiente de la lista. |
+| `limit` | Integer | Opcional | 10000 | Un límite en el número de objetos a devolver. El límite puede oscilar entre 1 y 10.000, y el valor predeterminado es 10.000. |
+| `order` | Text | Opcional | desc | Ordenar por la marca de tiempo 'created_at' de los objetos. `asc` para el orden ascendente y `desc` para el descendente. |
+| `purpose` | Text | Opcional | - | Devuelve sólo los archivos con la finalidad indicada. |
+
+## Ejemplo de uso
+
+```4d
+// Obtener los primeros 100 archivos con el objeto "fine-tune"
+var $params:=cs.AIKit.OpenAIFileListParameters.new()
+$params. imit:=100
+$params.purpose:="fine-tune"
+$params.order:="desc"
+
+var $result:=$client.files.list($params)
+```
+
+## Ver también
+
+- [OpenAIFilesAPI](OpenAIFilesAPI.md)
+- [OpenAIFileListResult](OpenAIFileListResult.md)
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileListResult.md b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileListResult.md
new file mode 100644
index 00000000000000..2d6687bc7a690b
--- /dev/null
+++ b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileListResult.md
@@ -0,0 +1,66 @@
+---
+id: openaifilelistresult
+title: OpenAIFileListResult
+---
+
+# OpenAIFileListResult
+
+La clase `OpenAIFileListResult` contiene el resultado de la lista de los archivos de la API OpenAI.
+
+## Hereda
+
+[OpenAIResult](OpenAIResult.md)
+
+## Propiedades calculadas
+
+| Propiedad | Tipo | Descripción |
+| ---------- | ---------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `files` | Collection | Returns a collection of [OpenAIFile](OpenAIFile.md) objects from the API response, or an empty collection if no files are found. |
+| `first_id` | Text | Devuelve el ID del primer archivo de la lista, o una cadena vacía si no está disponible. |
+| `last_id` | Text | Devuelve el ID del último archivo de la lista, o una cadena vacía si no está disponible. |
+| `has_more` | Boolean | Indica si hay más archivos más allá de esta página. `True` si hay más archivos que recuperar, `False` en caso contrario. |
+
+## Ejemplo de Uso
+
+### Uso básico
+
+```4d
+var $params:=cs.AIKit.OpenAIFileListParameters.new()
+$params.purpose:="assistants"
+$params.limit:=50
+
+var $result:=$client.files.list($params)
+var $files:=$result.files
+
+For each ($file; $files)
+ // Process each OpenAIFile object
+ // $file.filename -> "salesOverview.pdf"
+ // $file.bytes -> 175
+ // $file.purpose -> "assistants"
+End for each
+```
+
+### Ejemplo de paginación
+
+```4d
+var $params:=cs.AIKit.OpenAIFileListParameters.new()
+$params.limit:=100
+
+var $result:=$client.files.list($params)
+var $allFiles:=$allFiles.combine($result.files)
+
+// Continue fetching if there are more files
+While ($result.has_more)
+ $params.after:=$result.last_id
+ $result:=$client.files.list($params)
+ $allFiles:=$allFiles.combine($result.files)
+End while
+
+// $allFiles now contains all files from the organization
+```
+
+## Ver también
+
+- [OpenAIFilesAPI](OpenAIFilesAPI.md)
+- [OpenAIFile](OpenAIFile.md)
+- [OpenAIFileListParameters](OpenAIFileListParameters.md)
\ No newline at end of file
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileParameters.md b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileParameters.md
new file mode 100644
index 00000000000000..74d85bbb0169d9
--- /dev/null
+++ b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileParameters.md
@@ -0,0 +1,43 @@
+---
+id: openaifileparameters
+title: OpenAIFileParameters
+---
+
+# OpenAIFileParameters
+
+La clase `OpenAIFileParameters` gestiona los parámetros de las operaciones de carga de archivos.
+
+## Hereda
+
+[OpenAIParameters](OpenAIParameters.md)
+
+## Propiedades
+
+| Nombre de la propiedad | Tipo | Requerido | Descripción |
+| ---------------------- | ------ | --------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `expires_after` | Object | Opcional | La política de caducidad de un archivo. Por defecto, los archivos con `purpose=batch` caducan a los 30 días y el resto de archivos se conservan hasta que se borran manualmente. |
+
+### Estructura del objeto \`expires_after
+
+El objeto `expires_after` contiene las siguientes propiedades:
+
+| Nombre de la propiedad | Tipo | Descripción |
+| ---------------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| `anchor` | Text | Marca de tiempo de referencia a partir de la cual se aplica la política de caducidad. Referencias soportadas: `created_at`. |
+| `seconds` | Integer | Tiempo en segundos después de la marca de tiempo de referencia antes de que el archivo expire. Debe estar entre 3600 (1 hora) y 2592000 (30 días). |
+
+## Ejemplo de Uso
+
+```4d
+var $params:=cs.AIKit.OpenAIFileParameters.new()
+
+// Define la caducidad después de 7 días
+$params.expires_after:={}
+$params.expires_after.anchor:="created_at"
+$params.expires_after.seconds:=604800 // 7 días
+```
+
+## Ver también
+
+- [OpenAIFilesAPI](OpenAIFilesAPI.md)
+- [OpenAIFileResult](OpenAIFileResult.md)
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileResult.md b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileResult.md
new file mode 100644
index 00000000000000..57a96a3071a051
--- /dev/null
+++ b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileResult.md
@@ -0,0 +1,36 @@
+---
+id: openaifileresult
+title: OpenAIFileResult
+---
+
+# OpenAIFileResult
+
+La clase `OpenAIFileResult` contiene el resultado de una única operación de archivo (carga o recuperación).
+
+## Hereda
+
+[OpenAIResult](OpenAIResult.md)
+
+## Propiedades calculadas
+
+| Propiedad | Tipo | Descripción |
+| --------- | --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `file` | [OpenAIFile](OpenAIFile.md) | Devuelve el objeto de archivo de la respuesta de la API. Devuelve `Null` si la respuesta no contiene un archivo válido. |
+
+## Ejemplo de Uso
+
+```4d
+// Upload a file
+var $file:=File("/RESOURCES/training-data.jsonl")
+
+var $result:=$client.files.create($file; "user_data")
+var $uploadedFile:=$result.file
+
+// Retrieve file information
+var $retrieveResult:=$client.files.retrieve($uploadedFile.id)
+```
+
+## Ver también
+
+- [OpenAIFilesAPI](OpenAIFilesAPI.md)
+- [OpenAIFile](OpenAIFile.md)
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFilesAPI.md b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFilesAPI.md
new file mode 100644
index 00000000000000..d3a1ba201dac89
--- /dev/null
+++ b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFilesAPI.md
@@ -0,0 +1,204 @@
+---
+id: openaifilesapi
+title: OpenAIFilesAPI
+---
+
+# OpenAIFilesAPI
+
+The `OpenAIFilesAPI` class provides functionalities to manage files using OpenAI's API. Files can be uploaded and used across various endpoints including [Fine-tuning](https://platform.openai.com/docs/api-reference/fine-tuning), [Batch](https://platform.openai.com/docs/api-reference/batch) processing, and Vision.
+
+> **Nota:** esta API sólo es compatible con OpenAI. Other providers listed in the [compatible providers](../compatible-openai.md) documentation do not support file management operations.
+
+Referencia API:
+
+## Límites de tamaño de los archivos
+
+- **Archivos individuales:** hasta 512 MB por archivo
+- **Organization total:** up to 1 TB (cumulative size of all files uploaded by your [organization](https://platform.openai.com/docs/guides/production-best-practices/setting-up-your-organization))
+
+## Funciones
+
+### create()
+
+**create**(*file* : 4D.File | 4D.Blob; *purpose* : Text; *parameters* : cs.OpenAIFileParameters) : cs.OpenAIFileResult
+
+Upload a file that can be used across various endpoints.
+
+**Endpoint:** `POST https://api.openai.com/v1/files`
+
+| Parámetros | Tipo | Descripción |
+| ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ |
+| `file` | [4D.File](https://developer.4d.com/docs/API/FileClass) or [4D.Blob](https://developer.4d.com/docs/API/BlobClass) | The File or Blob object (not file name) to be uploaded. |
+| `purpose` | Text | **Requerido.** el propósito previsto del archivo subido. |
+| `parámetros` | [OpenAIFileParameters](OpenAIFileParameters.md) | Parámetros opcionales, incluida la política de expiración. |
+| Resultado | [OpenAIFileResult](OpenAIFileResult.md) | El resultado del archivo |
+
+**Throws:** An error if `file` is not a 4D.File or 4D.Blob, or if `purpose` is empty.
+
+#### Propósitos soportados
+
+- `assistants`: Used in the Assistants API (⚠️ [deprecated by OpenAI](https://platform.openai.com/docs/assistants/whats-new))
+- `batch`: Used in the [Batch API](https://platform.openai.com/docs/api-reference/batch) (expires after 30 days by default)
+- `fine-tune`: utilizado para [ajuste fino](https://platform.openai.com/docs/api-reference/fine-tuning)
+- `vision`: imágenes utilizadas para afinar la visión
+- `user_data`: tipo de archivo flexible para cualquier propósito
+- `evals`: se utiliza para evaluar conjuntos de datos
+
+#### File Format Requirements
+
+- **Fine-tuning API:** Only supports `.jsonl` files with specific required formats
+- **Batch API:** Only supports `.jsonl` files up to 200 MB with specific required format
+- **API de Asistentes:** soporta tipos de archivo específicos (ver Guía de herramientas de asistentes)
+- **API de finalización de chat:** sólo se admiten archivos PDF
+
+#### Ejemplo sincrónico
+
+```4d
+var $file:=File("/RESOURCES/training-data.jsonl")
+
+var $params:=cs.AIKit.OpenAIFileParameters.new()
+$params.expires_after:={}
+$params.expires_after.anchor:="created_at"
+$params.expires_after.seconds:=2592000 // 30 days
+
+var $result:=$client.files.create($file; "fine-tune"; $params)
+
+If ($result.success)
+ var $uploadedFile:=$result.file
+ // $uploadedFile.id -> "file-abc123"
+ // $uploadedFile.filename -> "training-data.jsonl"
+ // $uploadedFile.bytes -> 120000
+End if
+```
+
+#### Ejemplo asincrónico
+
+Since file uploads can be long operations (especially for large files up to 512 MB), it's recommended to use asynchronous calls to avoid blocking your application. Ver [llamada asincrónica](../asynchronous-call.md) para más detalles.
+
+```4d
+var $file:=File("/RESOURCES/large-training-data.jsonl")
+
+var $params:=cs.AIKit.OpenAIFileParameters.new()
+$params.onTerminate:=Formula(MyFileUploadCallback($1))
+
+// This call returns immediately without blocking
+$client.files.create($file; "fine-tune"; $params)
+```
+
+The callback function receives an [OpenAIFileResult](OpenAIFileResult.md):
+
+```4d
+// MyFileUploadCallback
+#DECLARE($result: cs.AIKit.OpenAIFileResult)
+
+If ($result.success)
+ var $uploadedFile:=$result.file
+
+ ALERT("File uploaded successfully: "+$uploadedFile.filename)
+ // Store the file ID for later use
+ Form.uploadedFileId:=$uploadedFile.id
+Else
+ ALERT("Upload failed: "+Formula(JSON Stringify($result.errors)))
+End if
+```
+
+### retrieve()
+
+**retrieve**(*fileId* : Text; *parameters* : cs.OpenAIParameters) : cs.OpenAIFileResult
+
+Devuelve información sobre un archivo específico.
+
+**Endpoint:** `GET https://api.openai.com/v1/files/{file_id}`
+
+| Parámetros | Tipo | Descripción |
+| ------------ | --------------------------------------- | ----------------------------------------------------------------------------- |
+| `fileId` | Text | **Requerido.** El ID del archivo a recuperar. |
+| `parámetros` | [OpenAIParameters](OpenAIParameters.md) | Parámetros opcionales para la solicitud. |
+| Resultado | [OpenAIFileResult](OpenAIFileResult.md) | El resultado del archivo |
+
+**Throws:** An error if `fileId` is empty.
+
+#### Ejemplo
+
+```4d
+var $result:=$client.files.retrieve("file-abc123")
+
+If ($result.success)
+ var $file:=$result.file
+ // $file.filename -> "mydata.jsonl"
+ // $file.bytes -> 120000
+ // $file.purpose -> "fine-tune"
+End if
+```
+
+### lista()
+
+**list**(*parameters* : cs.OpenAIFileListParameters) : cs.OpenAIFileListResult
+
+Devuelve una lista de archivos que pertenecen a la organización del usuario.
+
+**Endpoint:** `GET https://api.openai.com/v1/files`
+
+| Parámetros | Tipo | Descripción |
+| ------------ | ------------------------------------------------------- | ----------------------------------------------------------------------- |
+| `parámetros` | [OpenAIFileListParameters](OpenAIFileListParameters.md) | Parámetros opcionales para el filtrado y la paginación. |
+| Resultado | [OpenAIFileListResult](OpenAIFileListResult.md) | The file list result |
+
+#### Ejemplo
+
+```4d
+var $params:=cs.AIKit.OpenAIFileListParameters.new()
+$params.purpose:="assistants"
+$params.limit:=50
+$params.order:="desc"
+
+var $result:=$client.files.list($params)
+
+If ($result.success)
+ var $files:=$result.files
+ // $files.length -> 2
+
+ For each ($file; $files)
+ // $file.filename -> "salesOverview.pdf", "puppy.jsonl", etc.
+ End for each
+End if
+```
+
+### delete()
+
+**delete**(*fileId* : Text; *parameters* : cs.OpenAIParameters) : cs.OpenAIFileDeletedResult
+
+Eliminar un archivo.
+
+**Endpoint:** `DELETE https://api.openai.com/v1/files/{file_id}`
+
+| Parámetros | Tipo | Descripción |
+| ------------ | ----------------------------------------------------- | -------------------------------------------------------------------------- |
+| `fileId` | Text | **Requerido.** el ID del archivo a borrar. |
+| `parámetros` | [OpenAIParameters](OpenAIParameters.md) | Parámetros opcionales para la solicitud. |
+| Resultado | [OpenAIFileDeletedResult](OpenAIFileDeletedResult.md) | The file deletion result |
+
+**Throws:** An error if `fileId` is empty.
+
+#### Ejemplo
+
+```4d
+var $result:=$client.files.delete("file-abc123")
+
+If ($result.success)
+ var $status:=$result.deleted
+
+ If ($status.deleted)
+ ALERT("File deleted successfully")
+ End if
+End if
+```
+
+## Ver también
+
+- [OpenAIFile](OpenAIFile.md)
+- [OpenAIFileParameters](OpenAIFileParameters.md)
+- [OpenAIFileListParameters](OpenAIFileListParameters.md)
+- [OpenAIFileResult](OpenAIFileResult.md)
+- [OpenAIFileListResult](OpenAIFileListResult.md)
+- [OpenAIFileDeletedResult](OpenAIFileDeletedResult.md)
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIMessage.md b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIMessage.md
index 223b4de69615ec..bddedd731b20d8 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIMessage.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIMessage.md
@@ -5,7 +5,7 @@ title: OpenAIMessage
# OpenAIMessage
-The `OpenAIMessage` class represents a structured message containing a role, content, and an optional user. This class provides methods to manipulate and retrieve the text and other content of the message.
+La clase `OpenAIMessage` representa un mensaje estructurado que contiene un rol, un contenido y un usuario opcional. Esta clase ofrece métodos para manipular y recuperar el texto y otros contenidos del mensaje.
## Propiedades
@@ -36,18 +36,52 @@ The `OpenAIMessage` class represents a structured message containing a role, con
Añade una URL de imagen al contenido del mensaje.
+### addFileId()
+
+**addFileId**(*fileId* : Text)
+
+| Parámetros | Tipo | Descripción |
+| ---------- | ---- | ------------------------------------------------------------ |
+| *fileId* | Text | El ID del archivo que se añadirá al mensaje. |
+
+Añade una referencia de archivo al contenido del mensaje. Si el contenido es actualmente texto, se convertirá a un formato colección.
+
## Ejemplo de Uso
-### Crear un mensaje simple y adjuntar una imagen
+### Mensaje de texto básico
```4d
// Create an instance of OpenAIMessage
-var $message:=cs.AIKit.OpenAIMessage({role: "user"; content: "Hello!"})
+var $message:=cs.AIKit.OpenAIMessage.new({role: "user"; content: "Hello!"})
+```
+
+### Añadir imágenes
+
+```4d
+var $message:=cs.AIKit.OpenAIMessage.new({role: "user"; content: "Please analyze this image:"})
// Add an image URL with details
$message.addImageURL("http://example.com/image.jpg"; "high")
```
+### Añadir archivo
+
+```4d
+// Upload a file with user_data purpose
+var $file:=File("/RESOURCES/document.pdf")
+var $uploadResult:=$client.files.create($file; "user_data")
+
+If ($uploadResult.success)
+ var $uploadedFile:=$uploadResult.file
+
+ // Create message and attach the file using its ID
+ var $message:=cs.AIKit.OpenAIMessage.new({role: "user"; content: "Please analyze this document:"})
+ $message.addFileId($uploadedFile.id)
+
+ // $message.content -> [{type: "text"; text: "Please analyze this document:"}; {type: "file"; file_id: "file-abc123"}]
+End if
+```
+
### Responder a un mensaje de llamada de herramienta
Cuando un asistente necesita utilizar las funciones externas, genera un mensaje con `tool_calls` para solicitar la ejecución de la función.
@@ -82,8 +116,8 @@ Cuando reciba un mensaje de llamada de herramienta, debe:
2. **Execute the function:**
Parse the arguments (which is a JSON string) and call the corresponding function that you defined in your OpenAITool configuration.
-3. **Respond with the tool result:**
- Create a response message using the exact `tool_call_id` from the original request.
+3. **Responde con el resultado de la herramienta:**
+ Crea un mensaje de respuesta usando el `tool_call_id` exacto de la petición original.
**Ejemplo de respuesta de la herramienta:**
@@ -103,7 +137,7 @@ var $toolResponse:=cs.AIKit.OpenAIMessage.new({ \
// Add it to the conversation and continue
```
-**Important:** The `tool_call_id` in your response must exactly match the `id` from the original tool call. Esto permite que el modelo de IA asocie correctamente su respuesta con la llamada de función específica que se realizó.
+**Importante:** el `tool_call_id` de su respuesta debe coincidir exactamente con el `id` de la llamada de la herramienta original. Esto permite que el modelo de IA asocie correctamente su respuesta con la llamada de función específica que se realizó.
## Ver también
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIParameters.md b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIParameters.md
index 9b33b972486a0f..c4aae60b5308bb 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIParameters.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIParameters.md
@@ -5,7 +5,7 @@ title: OpenAIParameters
# OpenAIParameters
-The `OpenAIParameters` class is designed to handle execution and request parameters for interacting with the OpenAI API.
+La clase `OpenAIParameters` está diseñada para manejar los parámetros de ejecución y de petición para interactuar con la API OpenAI.
## Propiedades
@@ -17,14 +17,14 @@ Utilice esta propiedad de retrollamada para recibir el resultado independienteme
| ------------------------------------------------- | --------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
| `onTerminate`
(o `formula`) | 4D.Function | Una función que se llamará de forma asíncrona cuando termine. Asegúrese de que el proceso actual no termina. |
-Use these callback properties for more granular control over success and error handling:
+Utilice estas propiedades de retrollamada para un control más granular de la gestión de éxito y de errores:
| Propiedad | Tipo | Descripción |
| ------------ | --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `onResponse` | 4D.Function | Una función a llamar de forma asíncrona cuando la petición finalice **con éxito**. Asegúrese de que el proceso actual no termina. |
| `onError` | 4D.Function | Una función que se llamará de forma asíncrona cuando la petición finalice **con errores**. Asegúrese de que el proceso actual no termina. |
-> The callback function will receive the same result object type (one of [OpenAIResult](./OpenAIResult.md) child classes) that would be returned by the function in synchronous code.
+> La función de retrollamada recibirá el mismo tipo de objeto de resultado (una de las clases hijas de [OpenAIResult](./OpenAIResult.md)) que devolvería la función en un código síncrono.
Ver la [documentación sobre código asíncrono para ejemplos](../asynchronous-call.md)
@@ -32,16 +32,16 @@ Ver la [documentación sobre código asíncrono para ejemplos](../asynchronous-c
| Propiedad | Tipo | Descripción |
| -------------- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `timeout` | Real | Overrides the client-level default timeout for the request, in seconds. Por defecto es 0. |
+| `timeout` | Real | Reemplaza el tiempo de espera predeterminado del nivel de cliente para la petición, en segundos. Por defecto es 0. |
| `httpAgent` | HTTPAgent | Anula el agente HTTP predeterminado a nivel de cliente para la petición. |
| `maxRetries` | Integer | El número máximo de reintentos para la petición. (Sólo si el código no es asíncrono, es decir, no se proporciona ninguna función) |
| `extraHeaders` | Object | Encabezados adicionales para enviar con la petición. |
### Propiedades OpenAPI
-| Propiedad | Tipo | Descripción |
-| --------- | ---- | ----------------------------------------------------------------------------------------------------------- |
-| `user` | Text | A unique identifier representing the end-user, which helps OpenAI monitor and detect abuse. |
+| Propiedad | Tipo | Descripción |
+| --------- | ---- | --------------------------------------------------------------------------------------------------------------------------- |
+| `user` | Text | Un identificador único que representa al usuario final y que ayuda a OpenAI a supervisar y detectar abusos. |
### Otras
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIResult.md b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIResult.md
index ef3e9ad3508ea9..42afb6d5188d50 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIResult.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIResult.md
@@ -46,7 +46,7 @@ La estructura del objeto `rateLimit` es la siguiente:
### `throw()`
-Lanza el primer error de la colección `errors`. This function is useful for propagating errors up the call stack.
+Lanza el primer error de la colección `errors`. Esta función es útil para propagar los errores por la pila de llamadas.
## Clases heredadas
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/aikit/asynchronous-call.md b/i18n/es/docusaurus-plugin-content-docs/current/aikit/asynchronous-call.md
index ed81a7d77e2b7a..637fe25c2cdf76 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/aikit/asynchronous-call.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/aikit/asynchronous-call.md
@@ -5,7 +5,7 @@ title: Asynchronous Call
# Asynchronous Call
-If you do not want to wait for the OpenAPI response when making a request to its API, you need to use asynchronous code.
+Si no desea esperar la respuesta del OpenAPI al hacer una petición a su API, debe utilizar un código asíncrono.
To make asynchronous calls, you must provide a callback `4D.Function`(`Formula`) in the [OpenAIParameters](Classes/OpenAIParameters.md) object parameter to receive the result.
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/aikit/overview.md b/i18n/es/docusaurus-plugin-content-docs/current/aikit/overview.md
index 5e5fb290cb27f3..29010b1bd1e2d3 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/aikit/overview.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/aikit/overview.md
@@ -103,6 +103,42 @@ Obtener información de un modelo por id
var $model:=$client.models.retrieve("a model id").model
```
+#### Files
+
+https://platform.openai.com/docs/api-reference/files
+
+Cargar un archivo para utilizarlo con otros terminales
+
+```4d
+var $file:=File("/path/to/your/file.jsonl")
+var $result:=$client.files.create($file; "fine-tune")
+var $fileId:=$result.file.id
+```
+
+List all files
+
+```4d
+var $files:=$client.files.list().files
+```
+
+Retrieve file information
+
+```4d
+var $fileInfo:=$client.files.retrieve($fileId).file
+```
+
+Eliminar un archivo
+
+```4d
+var $deleteResult:=$client.files.delete($fileId)
+```
+
+:::tip Entrada de blog relacionada
+
+[Transform Static Documents into Actionable Knowledge with 4D AIKit](https://blog.4d.com/transform-static-documents-into-actionable-knowledge-with-4d-aikit).
+
+:::
+
#### Moderations
https://platform.openai.com/docs/api-reference/moderations
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/API/webformClass-pic1.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/API/webformClass-pic1.png
new file mode 100644
index 00000000000000..5c3de142c5af11
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/API/webformClass-pic1.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/API/webformClass-pic2.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/API/webformClass-pic2.png
new file mode 100644
index 00000000000000..7f1ec3a19a8764
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/API/webformClass-pic2.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/API/webformClass-pic3.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/API/webformClass-pic3.png
new file mode 100644
index 00000000000000..9c128642916f95
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/API/webformClass-pic3.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Project/find-components-results.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Project/find-components-results.png
new file mode 100644
index 00000000000000..96a5080c02477c
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Project/find-components-results.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Project/find-components.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Project/find-components.png
new file mode 100644
index 00000000000000..0b42697051581c
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Project/find-components.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Project/find-in-design-expanded.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Project/find-in-design-expanded.png
new file mode 100644
index 00000000000000..9cc45790ffc92d
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Project/find-in-design-expanded.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Project/find-in-design.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Project/find-in-design.png
new file mode 100644
index 00000000000000..daf7ed8279c6d7
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Project/find-in-design.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Project/rename-dial.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Project/rename-dial.png
new file mode 100644
index 00000000000000..441f7c8c38a0b1
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Project/rename-dial.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Project/rename.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Project/rename.png
new file mode 100644
index 00000000000000..7c62a165255313
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Project/rename.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Project/replace-content.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Project/replace-content.png
new file mode 100644
index 00000000000000..cf973c42e8bce2
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Project/replace-content.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Project/result-window-menu.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Project/result-window-menu.png
new file mode 100644
index 00000000000000..efc22783c719a5
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Project/result-window-menu.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Project/result-window-re.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Project/result-window-re.png
new file mode 100644
index 00000000000000..e2754097d149a7
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Project/result-window-re.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Project/result-window.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Project/result-window.png
new file mode 100644
index 00000000000000..4c6aab5bbe6c63
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Project/result-window.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Project/search-icon.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Project/search-icon.png
new file mode 100644
index 00000000000000..900fefa1a484d2
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/Project/search-icon.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/margin-bullet.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/margin-bullet.png
new file mode 100644
index 00000000000000..52737ade4cdf7c
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/margin-bullet.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/margin-bullets.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/margin-bullets.png
new file mode 100644
index 00000000000000..de7143eb050741
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/WritePro/margin-bullets.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/commands/web-event1.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/commands/web-event1.png
new file mode 100644
index 00000000000000..f31f769f39a37d
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/commands/web-event1.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/commands/web-event2.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/commands/web-event2.png
new file mode 100644
index 00000000000000..8e3e2e7c50ca69
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/commands/web-event2.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/commands/web-event3.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/commands/web-event3.png
new file mode 100644
index 00000000000000..d7182a677d75a3
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/commands/web-event3.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/assets/en/commands/web-event4.png b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/commands/web-event4.png
new file mode 100644
index 00000000000000..3dee994804d176
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/current/assets/en/commands/web-event4.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/code-editor/write-class-method.md b/i18n/es/docusaurus-plugin-content-docs/current/code-editor/write-class-method.md
index 15db7ba0a2435f..15be57ebca413a 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/code-editor/write-class-method.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/code-editor/write-class-method.md
@@ -680,6 +680,10 @@ El elemento actual es el seleccionado o aquel en el que se encuentra el cursor.
Este comando muestra sus resultados en una nueva ventana.
+## Rename
+
+A global renaming feature can be used with **variables** and **project methods**, allowing you to rename them safely throughout the whole project. To do this, highlight the variable or project method name in the editor and select **Rename...** from the **Method** menu or the context menu. A dialog box is then displayed, allowing you to write the new name. For more information, refer to [Renaming project methods and variables](../Project/search-replace.md#renaming-project-methods-and-variables) section.
+
## Macros
Puede utilizar macrocomandos en sus métodos. El uso de macrocomandos permite ahorrar mucho tiempo durante la entrada de código.
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/commands-legacy/blob-to-print-settings.md b/i18n/es/docusaurus-plugin-content-docs/current/commands-legacy/blob-to-print-settings.md
index 41a06864f9d2f0..cce5b132486dd4 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/commands-legacy/blob-to-print-settings.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/commands-legacy/blob-to-print-settings.md
@@ -34,7 +34,6 @@ El comando devuelve uno de los siguientes códigos de estado:
* 0: ninguna impresora actual está seleccionada (en este caso, el comando no hace nada),
* 1: el BLOB se ha cargado correctamente,
* 2: el BLOB se ha cargado correctamente, pero el nombre de la impresora actual ha cambiado(\*)
-**Nota:** Code (2) siempre se devuelve si el BLOB fue creado por el comando 4D Pack , incluso si el nombre de la impresora no cambió, ya que esta información no se incluyó en los BLOBs 4D Pack.
(\*) Los parámetros dependen de la impresora actual seleccionada en el momento en que el BLOB se guardó. La aplicación de estos valores en otra impresora es soportada si ambas impresoras son del mismo modelo. Si las impresoras son diferentes, se restaurarán sólo los parámetros comunes.
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/commands-legacy/get-database-parameter.md b/i18n/es/docusaurus-plugin-content-docs/current/commands-legacy/get-database-parameter.md
index 67e32715374ec9..65c3017d4d6595 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/commands-legacy/get-database-parameter.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/commands-legacy/get-database-parameter.md
@@ -22,6 +22,34 @@ displayed_sidebar: docs
El parámetro *selector* designa el parámetro a obtener. 4D ofrece las siguientes constantes predefinidas, en el tema “*Parámetros de la base*”:
+### 4D Remote mode timeout (14)
+
+**Alcance** (antigua capa de red únicamente): aplicación 4D si valor positivo
+
+**Se conserva entre dos sesiones**: sí si *valor* positivo
+
+**Descripción**: a utilizar en casos muy específicos. Valor del timeout otorgado por el equipo 4D remoto a la máquina 4D Server. Por defecto, este valor se define en la página "Cliente-Servidor/Configuración" de la caja de diálogo de Preferencias en el equipo remoto.
+
+El selector Timeout 4D mode distant no se tiene en cuenta si utiliza la antigua capa de red. Con la capa 4D *ServerNet* activada, se ignora: esta configuración es administrada por el selector Timeout 4D Server (13).
+
+
+
+### 4D Server log recording (28)
+
+**Hilo seguro**: sí
+
+**Alcance**: 4D Server, 4D remoto*
+
+**Se conserva entre dos sesiones**: no
+
+ **Valores posibles**: 0 ó de 1 a X (0 = no grabar, 1 a X = número secuencial, añadido al nombre del archivo).
+
+**Descripción**: inicia o detiene la grabación de las peticiones estándar recibidas por 4D Server (excluyendo las peticiones web). Por defecto, el valor es 0 (no se graban las peticiones).
+
+4D Server le permite grabar cada petición recibida por el equipo servidor en un archivo de historial. Cuando este mecanismo está activo, el archivo de historial se crea junto al archivo de estructura de la base. Su nombre es "4DRequestsLog\_X," donde X es el número secuencial del historial. Una vez el archivo alcanza un tamaño de 10 MB, se cierra y se genera un nuevo archivo, con un número secuencial incrementado. Si existe un archivo con el mismo nombre, se reemplaza directamente. Puede definir el número de inicio de la secuencia utilizando el parámetro *valor*.
+
+Este archivo texto almacena en formato tabulado simple diferente información sobre cada petición: hora, número de proceso, usuario, tamaño de la petición, duración del proceso, etc. Esta información puede ser útil particularmente durante la fase de afinamiento de la aplicación o con fines estadísticos. Por ejemplo puede importarse, en un software de hoja de cálculo para procesarse.
+
### 4D Server timeout (13)
**Alcance**: aplicación 4D si *valor* positivo
@@ -40,59 +68,76 @@ Si pasa un valor **positivo** en el parámetro *valor*, define un timeout global
-### 4D Remote mode timeout (14)
+### Auto synchro resources folder (48)
-**Alcance** (antigua capa de red únicamente): aplicación 4D si *valor* positivo
+**Alcance**:equipo 4D remoto
-**Se conserva entre dos sesiones**: sí si *valor* positivo
+ **Se conserva entre dos sesiones**: no
-**Descripción**: a utilizar en casos muy específicos. Valor del timeout otorgado por el equipo 4D remoto a la máquina 4D Server. Por defecto, este valor se define en la página "Cliente-Servidor/Configuración" de la caja de diálogo de Preferencias en el equipo remoto.
+ **Valores posibles**: 0 (sin sincronización), 1 (auto sincronización) ó 2 (preguntar).
-El selector Timeout 4D mode distant no se tiene en cuenta si utiliza la antigua capa de red. Con la capa 4D *ServerNet* activada, se ignora: esta configuración es administrada por el selector Timeout 4D Server (13).
+**Descripción**: modo de sincronización dinámico de la carpeta *Resources* del equipo cliente 4D que ejecuta el comando con el servidor.
+
+Cuando el contenido de la carpeta *Resources* en el servidor se ha modificado o un usuario ha solicitado la sincronización (por ejemplo vía el explorador de recursos o siguiendo la ejecución del comando [NOTIFY RESOURCES FOLDER MODIFICATION](notify-resources-folder-modification.md "NOTIFY RESOURCES FOLDER MODIFICATION")), el servidor notifica a los equipos cliente conectados.
+Tres modos de sincronización son posibles del lado del cliente. El selector Auto Synchro Resources Folder se utiliza para especificar el modo a utilizar por el equipo cliente para la sesión actual:
+
+0 (valor por defecto): sin sincronización dinámica (la petición de sincronización se ignora) 1: sincronización dinámica automática2: visualización de una caja de diálogo en los equipos clientes, con la posibilidad de efectuar o rechazar la sincronización.El modo de sincronización también puede definirse globalmente en las Preferencias de la aplicación.
-### Port ID (15)
+
+### Cache flush periodicity (95)
+
+**Hilo seguro**: sí
+
**Alcance**: 4D local, 4D Server
-**Se conserva entre dos sesiones**: no
+**Se conserva entre dos sesiones:** no
+
+**Valores posibles:** entero largo > 1 (segundos)
+
+**Descripción**: obtiene o establece la periodicidad del vaciado de la caché, expresado en segundos. La modificación de este valor prevalece sobre la opción **Vaciar caché cada X segundos** en [XML DECODE](xml-decode.md) de la configuración de la base para la sesión (que no se almacena en las Propiedades de la base).
-**Descripción**: Command SET DATABASE Número de puerto TCP utilizado por el servidor web 4D con 4D en modo local y 4D Server. El valor por defecto, puede definirse en la página "Web/Configuración" de la caja de diálogo de Preferencias es 80\. Puede utilizar las constantes del tema *Números de puerto TCP* para el parámetro *valor*.
-El selector Port ID se utiliza en el marco de servidores web 4D compilados y fusionados con 4D Desktop (sin acceso al modo Diseño). Para mayor información sobre el número de puerto TCP, consulte la sección *Parámetros del servidor web*
+### Cache unload minimum size (66)
+**Alcance**: aplicación 4D
-### Character set (17)
+**Se conserva entre dos sesiones**: no
-**Alcance:** 4D local, 4D Server**
+**Valores posibles**: entero largo positivo > 1.
-**Se conserva entre dos sesiones:** sí**
+**Descripción**: tamaño mínimo de memoria a liberar del caché de la base de datos cuando el motor necesita hacer espacio para ubicar un objeto (valor en bytes).
-**Descripción:** *constante obsoleta (se conserva por compatibilidad únicamente).* Ahora recomendamos utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
+El propósito de este selector es reducir el número de liberaciones de datos de la caché con el fin de obtener un mejor rendimiento. Puede hacer variar este parámetro en función del tamaño de la caché y del de los bloques de datos manipulados en su base.
+Por defecto, si este selector no se utiliza, 4D descarga mínimo 10% de la caché en caso de que se necesite espacio.Alcance: Aplicación 4D
-### Max concurrent Web processes (18)
-**Alcance**: 4D local, 4D Server
+### Character set (17)
+
+**Alcance:** 4D local, 4D Server
**Se conserva entre dos sesiones**: sí
-**Descripción**: *constante obsoleta (se conserva por compatibilidad únicamente).* Se recomienda utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
+**Descripción:** constante obsoleta (se conserva por compatibilidad únicamente). Ahora recomendamos utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
-### Client port ID (22)
+### Circular log limitation (90)
-**Alcance**: todos los equipos 4D remotos
+**Hilo seguro**: sí
- **Se conserva entre dos sesiones**: sí
+**Alcance**: 4D local, 4D Server.
- **Valores posibles**: ver selector 15
+**Se conserva entre dos sesiones:** no
-**Descripción**: permite especificar este parámetro para todos los equipos 4D remotos utilizados como servidores web. Los valores definidos utilizando estos selectores se aplican a todos los equipos remotos utilizados como servidores web. Si quiere definir valores sólo para ciertos equipos remotos, utilice la caja de diálogo de Preferencias de 4D en modo remoto.
+**Valores posibles**: todo valor entero, 0 = conservar todos los registros
+
+**Descripción**: número máximo de archivos a conservar en rotación para cada tipo de registro. Por defecto, todos los archivos se conservan. Si pasa un valor *X*, solo los *X* archivos más recientes se conservan, el más antiguo se borra automáticamente cuando se crea uno nuevo. Esta parametrización se aplica a cada uno de los siguientes archivos de registro: registros de peticiones (selectores 28 y 45), registro de depuración (selector 34), registro de eventos (selector 79), así como el historial de peticiones web (selectores 29 y 84 del comando [WEB SET OPTION](web-set-option.md)), etc.
@@ -108,6 +153,38 @@ El selector Port ID se utiliza en el marco de servidores web 4D compilados y fus
+### Client HTTPS port ID (40)
+
+**Alcance**: todos los equipos 4D remotos
+
+ **Se conserva entre dos sesiones**: sí
+
+ **Valores posibles**: 0 a 65535
+
+**Descripción**: número de puerto TCP utilizado por los servidores web de los equipos clientes para conexiones seguras vía SSL (protocolo HTTPS). Por defecto, el valor es 443 (valor estándar).
+
+Este selector puede utilizarse para modificar por programación el puerto TCP utilizado por los servidores web de los equipos clientes para las conexiones seguras vía SSL (protocolo HTTPS). Por defecto, el valor es 443 (valor estándar).
+
+Este selector funciona exactamente igual que el selector 39; sin embargo, aplica a todos los equipos 4D remotos utilizados como servidores web. Si quiere modificar el valor de ciertos equipos clientes únicamente, utilice la caja de diálogo de Preferencias de 4D remoto.
+
+
+
+### Client log recording (45)
+
+**Alcance**:equipo 4D remoto
+
+ **Se conserva entre dos sesiones**: no
+
+ **Valores posibles**: 0 ó de 1 a X (0 = no grabar, 1 a X = número secuencial, asociado al nombre del archivo).
+
+**Descripción**: inicia o detiene la grabación de peticiones estándar efectuadas por el equipo cliente 4D que ejecutó el comando (excluyendo las peticiones web). Por defecto, el valor es 0 (no se graban las peticiones).
+
+4D le permite registrar el historial de peticiones realizadas por el equipo cliente. Cuando este mecanismo se activa, se crean dos archivos en el equipo cliente, en la subcarpeta Logs de la carpeta local de la base. Son llamados 4DRequestsLog\_X y 4DRequestsLog\_ProcessInfo\_X, donde X es el número secuencial del historial. Una vez el archivo 4DRequestsLog alcanza un tamaño de 10 MB, se cierra y se genera uno nuevo, con un número secuencial incrementado. Si ya existe un archivo con el mismo nombre, se reemplaza directamente. Puede definir el número de inicio para la secuencia utilizando el parámetro *valor*.
+
+Estos archivos texto almacenan en formato tabulado simple diferente información relacionada con cada petición: hora, número de proceso, tamaño de la petición, duración del proceso, etc. Esta información es particularmente útil durante la fase de desarrollo de la aplicación o con fines estadísticos.
+
+
+
### Client max concurrent Web proc (25)
**Alcance**: todos los equipos 4D remotos
@@ -120,30 +197,34 @@ El selector Port ID se utiliza en el marco de servidores web 4D compilados y fus
-### Maximum Web requests size (27)
+### Client port ID (22)
-**Alcance**: 4D local, 4D Server
+**Alcance**: todos los equipos 4D remotos
-**Se conserva entre dos sesiones**: sí
+ **Se conserva entre dos sesiones**: sí
-**Descripción**: *Constante obsoleta (se conserva por compatibilidad únicamente).* Se recomienda utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
+ **Valores posibles**: ver selector 15
+**Descripción**: permite especificar este parámetro para todos los equipos 4D remotos utilizados como servidores web. Los valores definidos utilizando estos selectores se aplican a todos los equipos remotos utilizados como servidores web. Si quiere definir valores sólo para ciertos equipos remotos, utilice la caja de diálogo de Preferencias de 4D en modo remoto.
-### 4D Server log recording (28)
-**Hilo seguro**: sí
+### Client Server port ID (35)
-**Alcance**: 4D Server, 4D remoto*
+**Alcance**: base de datos
-**Se conserva entre dos sesiones**: no
+**Se conserva entre dos sesiones**: sí
- **Valores posibles**: 0 ó de 1 a X (0 = no grabar, 1 a X = número secuencial, añadido al nombre del archivo).
+**Valores posibles**: 0 a 65535
-**Descripción**: inicia o detiene la grabación de las peticiones estándar recibidas por 4D Server (excluyendo las peticiones web). Por defecto, el valor es 0 (no se graban las peticiones).
+**Descripción**: número de puerto TCP donde el servidor 4D publica la base de datos (para conexión remota 4D). Por defecto, el valor es 19813\.
+
+La personalización de este valor permite utilizar varias aplicaciones 4D cliente-servidor en la misma máquina con el protocolo TCP; en este caso, debe indicar un número de puerto diferente para cada aplicación.
+
+El valor se guarda en el archivo de estructura de la base. Puede definirse con 4D en modo local pero sólo se tiene en cuenta en configuración cliente servidor.
+
+Cuando modifica este valor, es necesario reiniciar el equipo servidor para que el nuevo valor sea tenido en cuenta.
-4D Server le permite grabar cada petición recibida por el equipo servidor en un archivo de historial. Cuando este mecanismo está activo, el archivo de historial se crea junto al archivo de estructura de la base. Su nombre es "4DRequestsLog\_X," donde X es el número secuencial del historial. Una vez el archivo alcanza un tamaño de 10 MB, se cierra y se genera un nuevo archivo, con un número secuencial incrementado. Si existe un archivo con el mismo nombre, se reemplaza directamente. Puede definir el número de inicio de la secuencia utilizando el parámetro *valor*.
-Este archivo texto almacena en formato tabulado simple diferente información sobre cada petición: hora, número de proceso, usuario, tamaño de la petición, duración del proceso, etc. Esta información puede ser útil particularmente durante la fase de afinamiento de la aplicación o con fines estadísticos. Por ejemplo puede importarse, en un software de hoja de cálculo para procesarse.
### Client Web log recording (30)
@@ -160,17 +241,33 @@ El funcionamiento de este selector es idéntico al del selector 29; sin embargo,
-### Table sequence number (31)
+### Current process debug log recording (111)
-**Alcance**: aplicación 4D
+**Alcance:** Aplicación 4D
- **Se conserva entre dos sesiones**: sí
+**Se conserva entre dos sesiones:** no
- **Valores posibles**: todo valor de tipo entero largo.
+**Descripción**: inicia o detiene el registro secuencial de eventos de programación **del proceso actual** en un archivo de historial separado. Este historial es similar al Debug log recording (selector 34) pero se enfoca solo en el proceso actual. El nombre del archivo de historial incluye la letra "p" y el número del proceso: 4DDebugLog\[\_p*N*_*n*].txt, donde N es el ID único del proceso.
-**Descripción**: este selector se utiliza para modificar o modificar u obtener el número único actual de los registros de la tabla pasada en parámetro. "Número actual" significa "último número utilizado": si modifica este valor utilizando [SET DATABASE PARAMETER](set-database-parameter.md "SET DATABASE PARAMETER"), el siguiente registro será el valor pasado + 1\. Este nuevo número es el número devuelto por el comando Sequence number [](http://doc.tmp.4d.fr/Database-Parameters/4Dv11.4/ConstantTheme/4870/CMU00244.HTM) como también en todo campo de la tabla a la cual se asigna la propiedad "Autoincrementar" en el editor de estructura o vía SQL.
+Para más información sobre este formato y sobre el uso del archivo *4DDebugLog*, consulte *Descripción de archivos de historial* en el Modo Diseño.
-Por defecto, este número único es definido por 4D y corresponde al orden de creación de los registros. Para información adicional, por favor consulte la documentación del comando [Sequence number](sequence-number.md "Sequence number").
+**Notas:** Este selector se proporciona únicamente con el fin de depurar y debe utilizarse con cuidado. En particular, no debe ponerse en producción, ya que puede tener un impacto en el rendimiento de la aplicación. Puede utilizarar ambos selectores Debug log recording y Current process debug log recording simultáneamente, en cuyo caso las acciones del proceso actual no se registrarán en el archivo de historial principal.
+
+
+
+### Dates inside objects (85)
+
+**Alcance**: proceso actual
+
+ **Se conserva entre dos sesiones:** no
+
+ **Valores posibles**: Tipo cadena sin zona horaria (0), tipo cadena con zona horaria (1), tipo fecha (2) (por defecto)
+
+**Descripción**: define la forma en que se almacenan las fechas dentro de los objetos, así como también cómo se importan / exportan en JSON.
+
+Cuando el valor del selector es Date type (valor predeterminado para las bases creadas con 4D v17 y superior), las fechas 4D se almacenan con el tipo de fecha dentro de los objetos, con respecto a la configuración de fecha local. Cuando se convierte a formato JSON, los atributos de fecha se convertirán en cadenas que no incluyen un tiempo. (**Nota:** esta configuración se puede definir mediante la opción "Utilizar tipo de fecha en lugar del formato de fecha ISO en objetos" que se encuentra en *Página Compatibilidad* de la configuración de la base).
+
+Si pasa String type with time zone en este selector, convertirá las fechas 4D en cadenas ISO y tendrá en cuenta la zona horaria local. Por ejemplo, la conversión de la fecha 23/08/2013 le da "2013-08-22T22: 00: 000Z" en formato JSON cuando la operación se realiza en Francia durante el horario de verano (GMT+ 2). Este principio se ajusta al funcionamiento estándar de JavaScript. Esto puede ser una fuente de errores cuando desea enviar valores de fecha JSON a alguien en un huso horario diferente. Por ejemplo, cuando exporta una tabla usando [Selection to JSON](selection-to-json.md) en Francia que se debe reimportar en los EE. UU. utilizando [JSON TO SELECTION](json-to-selection.md). Dado que las fechas se vuelven a interpretar en cada zona horaria, los valores almacenados en la base de datos serán diferentes. En este caso, puede modificar el modo de conversión de las fechas para que no tengan en cuenta la zona horaria pasando String type without time zone en este selector. La conversión de la fecha 23/08/2013 le dará "2013-08-23T00: 00: 00Z" en todos los casos.
@@ -188,37 +285,30 @@ Por defecto, este número único es definido por 4D y corresponde al orden de cr
- El modo con pestañas ofrece información adicional y utiliza un formato más compacto con pestañas en el archivo. Los tiempos de ejecución se expresan en microsegundos.
-**Valores posibles**: Entero largo contiene un campo de bits: valor = bit1(1)+bit2(2)+bit3(4)+bit4(8)+…).
+**Valores posibles**: entero largo contiene un campo de bits: valor = bit1(1)+bit2(2)+bit3(4)+bit4(8)+…).
- Bit 0 (valor 1) permite activar el archivo (note que cualquier otro valor no nulo también lo activará)
-
- Bit 1 (valor 2) permite solicitar los parámetros de llamada a los métodos y comandos.
-
- Bit 2 (valor 4) permite activar el nuevo formato tabulado.
-
- Bit 3 (valor 8) permite desactivar la escritura inmediata de cada operación en el disco (activado por defecto). La escritura inmediata es menor rápida y más eficaz por ejemplo para buscar las causas de un fallo.Si desactiva este modo, el contenido del archivo será generado más rápidamente.
-
- Bit 4 (valor 16) desactiva el registro de llamadas de plug-ins (activado por defecto).
-
- Bit 5 (valor 32) desactiva el registro de las funciones miembros.
Ejemplos:
+```4d
SET DATABASE PARAMETER (34;1) // activa el modo estándar sin los parámetros, con las duraciones
-
SET DATABASE PARAMETER (34;2) // activa el modo estándar con los parámetros y las duraciones
-
SET DATABASE PARAMETER (34;2+4) // activa el modo tabulado con los parámetros y las duraciones
+SET DATABASE PARAMETER (34;0) // desactiva el archivo
+```
-SET DATABASE PARAMETER (34;0) // desactiva el archivo Para todo tipo de aplicación 4D interpretada o compilada (4D todos los modos, 4D Server, 4D Volume Desktop), puede evitar que un archivo registre demasiada información:
+Para todo tipo de aplicación 4D interpretada o compilada (4D todos los modos, 4D Server, 4D Volume Desktop), puede evitar que un archivo registre demasiada información:
- restringiendo los comandos 4D que se examinan utilizando Log command list (selector 80), o
-
- restringiéndolo sólo al proceso actual con Current process debug log recording (selector 111). Esto añadirá la letra "p" y el número de proceso al nombre del archivo: *4DDebugLog\[\_pn\_n\].txt* o *4DDebugLogServer\[\_pn\_n\].txt*
-
-
-Para más información sobre este formato y sobre el uso del archivo *4DDebugLog*, consulte la sección *Descripción de archivos de historial*.
+*Para más información sobre este formato y sobre el uso del archivo *4DDebugLog*, consulte la sección *Descripción de archivos de historial*.
Este selector se ofrece únicamente con fines de depuración y debe utilizarse con cuidado, ya que puede afectar al rendimiento de la aplicación.
@@ -228,484 +318,419 @@ Este selector se ofrece únicamente con fines de depuración y debe utilizarse c
-### Client Server port ID (35)
+### Diagnostic log level (86)
-**Alcance**: base de datos
+**Hilo seguro**: sí
-**Se conserva entre dos sesiones**: sí
+**Alcance**: aplicación 4D
-**Valores posibles**: 0 a 65535
+**Se conserva entre dos sesiones**: no
-**Descripción**: número de puerto TCP donde el servidor 4D publica la base de datos (para conexión remota 4D). Por defecto, el valor es 19813\.
+**Descripción**: nivel(es) de los mensajes que se incluirán en el registro de diagnóstico cuando esté habilitado (ver selector Diagnostic log recording). Cada nivel designa una categoría de mensajes de diagnóstico e incluye automáticamente las categorías más importantes. Para una descripción de las categorías, consulte la sección *Niveles de registro de diagnóstico* en *developer.4d.com*.
-La personalización de este valor permite utilizar varias aplicaciones 4D cliente-servidor en la misma máquina con el protocolo TCP; en este caso, debe indicar un número de puerto diferente para cada aplicación.
+**Valores posibles**: una de las siguientes constantes (Log info por defecto): Log trace: activa ERROR, WARN, INFO, DEBUG, TRACE (nivel más detallado) Log debug: activa ERROR, WARN, INFO, DEBUG Log info: activa ERROR, WARN, INFO (por defecto) Log warn: activa ERROR, WARN Log error: activa ERROR (nivel menos detallado)
-El valor se guarda en el archivo de estructura de la base. Puede definirse con 4D en modo local pero sólo se tiene en cuenta en configuración cliente servidor.
-Cuando modifica este valor, es necesario reiniciar el equipo servidor para que el nuevo valor sea tenido en cuenta.
+### Diagnostic log recording (79)
+**Hilo seguro**: sí
-### HTTPS Port ID (39)
+**Alcance**: aplicación 4D
-**Alcance**: 4D local, 4D Server
+**Se conserva entre dos sesiones**: no
-**Se conserva entre dos sesiones**: sí
+**Valores posibles**: 0 ó 1 (0 = no guardar, 1 = guardar)
-**Descripción**: *Constante obsoleta (se conserva por compatibilidad únicamente).* Se recomienda utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
+**Descripción**: inicio o detención del registro del archivo de diagnóstico de 4D. Por defecto, el valor es 0 (no guarda).
+4D permite guardar de manera continua en un archivo de diagnóstico un conjunto de eventos relativos al funcionamiento interno de la aplicación. La información contenida en este archivo está destinada a la actualización de las aplicaciones 4D y puede ser analizada con ayuda de los servicios técnicos de 4D. Cuando pasa 1 en este selector, el archivo de diagnóstico, llamado *NomBase.txt*, se crea automáticamente (o abre) en la carpeta **Logs** de la base. Una vez el archivo alcance un tamaño de 10 MB, se cierra y se genera un nuevo archivo *NomBase\_N.txt*, con un número secuencial N incrementado.
+Note que es posible incluir la información personalizada en este archivo con ayuda del comando [LOG EVENT](log-event.md).
-### Client HTTPS port ID (40)
-**Alcance**: todos los equipos 4D remotos
- **Se conserva entre dos sesiones**: sí
+### Direct2D get active status (74)
- **Valores posibles**: 0 a 65535
+**Nota**: sólo puede utilizar este selector con el comando [Get database parameter](get-database-parameter.md "Get database parameter") y su valor no puede definirse.
-**Descripción**: número de puerto TCP utilizado por los servidores web de los equipos clientes para conexiones seguras vía SSL (protocolo HTTPS). Por defecto, el valor es 443 (valor estándar).
+**Descripción**: devuelve la implementación activa de Direct2D bajo Windows.
-Este selector puede utilizarse para modificar por programación el puerto TCP utilizado por los servidores web de los equipos clientes para las conexiones seguras vía SSL (protocolo HTTPS). Por defecto, el valor es 443 (valor estándar).
+**Valores posibles**: 0, 1, 2, 3, 4 o 5 (ver los valores del selector 69). El valor devuelto depende de la disponibilidad de Direct2D, del hardware y de la calidad Direct2D soportado por el sistema operativo.
-Este selector funciona exactamente igual que el selector 39; sin embargo, aplica a todos los equipos 4D remotos utilizados como servidores web. Si quiere modificar el valor de ciertos equipos clientes únicamente, utilice la caja de diálogo de Preferencias de 4D remoto.
+Por ejemplo, si ejecuta:
+```4d
+SET DATABASE PARAMETER(Direct2D status;Direct2D Hardware)
+$mode:=Get database parameter(Direct2D get active status)
+```
+- En Windows 7 y superiores, $mode vale 1 cuando el sistema detecta un hardware compatible con Direct2D; de lo contrario, $mode valdrá 3 (contexto software).
+- En Windows Vista, $mode valdrá 1 si el sistema detecta un hardware compatible con Direct2D; de lo contrario, $mode toma el valor 0 (desactivando Direct2D).
+- En Windows XP, $mode siempre valdrá 0 (no compatible con Direct2D).
-### SQL Autocommit (43)
-**Alcance**:base de datos
- **Se conserva entre dos sesiones**: sí
+### Direct2D status (69)
- **Posibles valores**: 0 (desactivación) o 1 (activación)
+**Alcance**: aplicación 4D
-**Descripción**: activación o desactivación del modo SQL auto-commit. Por defecto, el valor es 0 (modo desactivado)
+**Se conserva entre dos sesiones**: no
- El modo auto-commit permite reforzar la integridad referencial de la base. Cuando este modo está activo, las peticiones *SELECT*, INSERT, UPDATE y *DELETE* (SIUD) se incluyen automáticamente en las transacciones cuando no se han ejecutado dentro de una transacción. Este modo igualmente puede definirse en las Preferencias de la base.
+**Descripción**: modo de activación de Direct2D bajo Windows.
+**Valores posibles**: una de las siguientes constantes (modo 3 por defecto):
+- Direct2D Disabled (0): el modo Direct2D no está habilitado y la base de datos funciona en el modo anterior (GDI/GDIPlus).
+- Direct2D Hardware (1): utilice Direct2D como contexto de hardware de gráficos para toda la aplicación 4D. Si este contexto no está disponible, use el contexto del software de gráficos Direct2D.
+- Direct2D Software (3) (modo predeterminado): a partir de Windows 7, utilice el contexto del software de gráficos Direct2D para toda la aplicación 4D.
-### SQL Engine case sensitivity (44)
+***Advertencia*: este selector se ofrece solo para fines de depuración. Dado que varias funciones 4D se basan en Direct2D, no se debe desactivar en las aplicaciones implementadas. Solo el modo predeterminado (Direct2D Software)* **está aprobado para las aplicaciones desplegadas.*
-**Alcance**: base de datos
- **Se conserva entre dos sesiones**: sí
- **Valores posibles**: 0 (no se tienen en cuenta las mayúsculas y minúsculas) ó 1 (sensible a las mayúsculas y minúsculas)
+### HTTP compression level (50)
-**Descripción**: activación o desactivación de la sensibilidad a mayúsculas y minúsculas para comparaciones de cadenas efectuadas por el motor SQL.
+**Alcance**: aplicación 4D
-Por defecto, el valor es 1 (sensible a las mayúsculas y minúsculas): el motor SQL diferencia entre mayúsculas y minúsculas y entre caracteres acentuados al comparar cadenas (ordenaciones y búsquedas). Por ejemplo “ABC”= “ABC” pero “ABC” # “Abc.” En algunos casos, por ejemplo para alinear el funcionamiento del motor SQL con el del motor 4D, podría querer que las comparaciones de cadenas no tengan en cuenta las mayúsculas y minúsculas (“ABC”=“Abc”).
+**Se conserva entre dos sesiones**: no
-**Atención:* como esta opción Modifica el archivo de estructura de la base de datos y todos los procesos. Por motivos de rendimiento, se recomienda encarecidamente configurarlo solo al iniciar la base de datos.* Esta opción también se puede configurar en los ajustes de la base de datos.
+**Descripción**: *constante obsoleta (se conserva por compatibilidad únicamente).* Se recomienda utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
-### Client log recording (45)
+### HTTP compression threshold (51)
-**Alcance**: equipo 4D remoto
+**Alcance**: aplicación 4D
- Se conserva entre dos **sesiones**: no
+**Se conserva entre dos sesiones**: no
- **Valores posibles**: 0 ó de 1 a X (0 = no grabar, 1 a X = número secuencial, asociado al nombre del archivo).
+**Descripción**: *constante obsoleta (se conserva por compatibilidad únicamente).* Se recomienda utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
-**Descripción**: inicia o detiene la grabación de peticiones estándar efectuadas por el equipo cliente 4D que ejecutó el comando (excluyendo las peticiones web). Por defecto, el valor es 0 (no se graban las peticiones).
-4D le permite registrar el historial de peticiones realizadas por el equipo cliente. Cuando este mecanismo se activa, se crean dos archivos en el equipo cliente, en la subcarpeta Logs de la carpeta local de la base. Son llamados 4DRequestsLog\_X y 4DRequestsLog\_ProcessInfo\_X, donde X es el número secuencial del historial. Una vez el archivo 4DRequestsLog alcanza un tamaño de 10 MB, se cierra y se genera uno nuevo, con un número secuencial incrementado. Si ya existe un archivo con el mismo nombre, se reemplaza directamente. Puede definir el número de inicio para la secuencia utilizando el parámetro *valor*.
-Estos archivos texto almacenan en formato tabulado simple diferente información relacionada con cada petición: hora, número de proceso, tamaño de la petición, duración del proceso, etc. Esta información es particularmente útil durante la fase de desarrollo de la aplicación o con fines estadísticos.
+### HTTPS Port ID (39)
+**Alcance**: 4D local, 4D Server
+**Se conserva entre dos sesiones**: sí
-### Query by formula on server (46)
+**Descripción**: *constante obsoleta (se conserva por compatibilidad únicamente).* Se recomienda utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
-**Alcance**: tabla y procesos actuales
- **Se conserva entre dos sesiones**: no
- **Valores posibles**: 0 (utilizar la configuración de la base), 1 (ejecutar en cliente) o 2 (ejecutar en servidor)
+### Idle connections timeout (54)
-**Descripción**: ubicación de la ejecución de los comandos [QUERY BY FORMULA](query-by-formula.md "QUERY BY FORMULA") y [QUERY SELECTION BY FORMULA](query-selection-by-formula.md "QUERY SELECTION BY FORMULA") para la *tabla* pasada en parámetro.
+**Alcance**: aplicación 4D a menos que valor sea negativo
-Cuando se utiliza una base en modo cliente-servidor, los comandos de búsqueda "por fórmula" pueden ejecutarse en el servidor o en el equipo cliente:
+**Se conserva entre dos sesiones:** no
-en bases creadas con 4D v11 SQL, estos comandos se ejecutan en el servidor.en bases convertidas, estos comandos se ejecutan en el equipo cliente, como en las versiones anteriores de 4D.en las bases convertidas, una preferencia específica permite modificar globalmente la ubicación de ejecución de estos comandos.Esta diferencia en ubicación de ejecución influye no sólo en el rendimiento de la aplicación (la ejecución en el servidor es generalmente más rápida) sino también en la programación. En efecto, el valor de los componentes de la fórmula (en particular las variables llamadas vía un método) varía de acuerdo al contexto de ejecución. Puede utilizar este selector para adaptar puntualmente el funcionamiento de su aplicación.
+**Valores posibles:** valor entero que expresa una duración en segundos. El valor puede ser positivo (nuevas conexiones) o negativo (conexiones existentes). Por defecto, el valor es 20.
-Si pasa 0 en el parámetro *valor*, la ubicación de ejecución de los comandos de búsqueda "por fórmula" dependerá de la configuración de la base: en bases creadas con 4D v11 SQL, estos comandos se ejecutarán en el servidor. En bases convertidas, se ejecutarán en el equipo cliente o en el servidor en función de las preferencias de la base. Pase 1 ó 2 en *valor* para "forzar" la ejecución de estos comandos respectivamente en el equipo cliente o en el servidor.
+**Descripción**: máximo periodo de inactividad (timeout) para conexiones al motor de la base 4D, el motor SQL y el servidor de aplicaciones 4D (capa de red *ServerNet* únicamente, ignorado en *QUIC*). Cuando una conexión inactiva alcanza este límite, se pone en espera automáticamente, lo cual congela la sesión cliente/servidor y cierra el socket de red. En la ventana de administración del servidor, el estado del proceso del usuario se indica como "Postponed". Este funcionamiento es totalmente transparente para el usuario: tan pronto como hay una nueva actividad en la conexión que está en espera, el socket se reabre automáticamente y la sesión cliente/servidor se restaura.
-Consulte el ejemplo 2.
-
-**Nota:** si quiere activar las uniones "tipo SQL" (consulte el selector QUERY BY FORMULA Joins selector), siempre debe ejecutar las fórmulas en el servidor de manera que tengan acceso a los registros. Atención, en este contexto, la fórmula no debe contener llamadas a un método, de lo contrario pasará automáticamente al equipo remoto.
-
-
-
-### Order by formula on server (47)
-
-**Alcance**: tabla y procesos actuales
-
- **Se conserva entre dos sesiones**: no
-
- **Valores posibles**: 0 (utilizar la configuración de la base), 1 (ejecutar en el cliente) o 2 (ejecutar en el servidor)
-
-**Descripción**: ubicación de la ejecución del comando [ORDER BY FORMULA](order-by-formula.md "ORDER BY FORMULA") para la tabla pasada en parámetro.
-
-Al utilizar una base en modo cliente-servidor, el comando [ORDER BY FORMULA](order-by-formula.md "ORDER BY FORMULA") puede ejecutarse bien sea en el equipo servidor o en el cliente. Este selector puede utilizarse para especificar la ubicación de la ejecución de este comando (servidor o cliente). Este modo también puede definirse en las preferencias de la base. Para mayor información, consulte la descripción del selector 46, Query By Formula On Server.
-
-**Nota:** si quiere activar las uniones "tipo SQL" (consulte el selector QUERY BY FORMULA Joins selector), siempre debe ejecutar las fórmulas en el servidor de manera que tengan acceso a los registros. Atención, en este contexto, la fórmula no debe contener llamadas a un método, de lo contrario pasará automáticamente al equipo remoto.
-
-
-
-### Auto synchro resources folder (48)
-
-**Alcance**: equipo 4D remoto
-
- **Se conserva entre dos sesiones**: no
+Este parámetro permite, por una parte, economizar los recursos en el servidor: las conexiones en espera cierran el socket y liberan un proceso en el servidor. Por otra parte, esto le permite evitar pérdida de conexiones por el cierre de sockets por parte del firewall. Por esta razón, el valor del timeout para conexiones inactivas deber ser menor que el del firewall en este caso.
- **Valores posibles**: 0 (sin sincronización), 1 (auto sincronización) ó 2 (preguntar).
+Si pasa un valor positivo en *valor*, se aplicará a todas las nuevas conexiones en todos los procesos. Si pasa un valor negativo, se aplicará a las conexiones que se abran en el proceso actual. Si pasa 0, las conexiones inactivas no serán sometidas a un timeout.
-**Descripción**: modo de sincronización dinámico de la carpeta *Resources* del equipo cliente 4D que ejecuta el comando con el servidor.
+Este parámetro puede definirse del lado del cliente. Por lo general, no necesita cambiar este valor.
-Cuando el contenido de la carpeta *Resources* en el servidor se ha modificado o un usuario ha solicitado la sincronización (por ejemplo vía el explorador de recursos o siguiendo la ejecución del comando [NOTIFY RESOURCES FOLDER MODIFICATION](notify-resources-folder-modification.md "NOTIFY RESOURCES FOLDER MODIFICATION")), el servidor notifica a los equipos cliente conectados.
-Tres modos de sincronización son posibles del lado del cliente. El selector Auto Synchro Resources Folder se utiliza para especificar el modo a utilizar por el equipo cliente para la sesión actual:
-0 (valor por defecto): sin sincronización dinámica (la petición de sincronización se ignora) 1: sincronización dinámica automática2: visualización de una caja de diálogo en los equipos clientes, con la posibilidad de efectuar o rechazar la sincronización.El modo de sincronización también puede definirse globalmente en las Preferencias de la aplicación.
+### IMAP Log (119)
+**Hilo seguro**: sí
+**Alcance**: 4D local, 4D Server
-### Query by formula joins (49)
+**Se conserva entre dos sesiones**: no
-**Alcance**: proceso actual
+**Valores posibles**: 0 o de 1 a X (0 = no grabar, 1 a X = número secuencial, añadido al nombre del archivo). Por defecto, el valor es 0 (los intercambios IMAP no se registran).
- Se conserva entre dos **sesiones**: no
+**Descripción**: inicia o detiene la grabación de los intercambios entre 4D y el servidor IMAP, cuando se procesa un objeto transportador a través de *IMAP\_transporter.getMail( )* o *IMAP\_transporter.checkConnection( )*. Por defecto, el valor es 0 (intercambios no registrados). Cuando se activa este mecanismo, se crea un archivo de registro en la carpeta Logs de la base. Se llama 4DIMAPLog\_X.txt, donde X es el número secuencial del registro. Una vez que el archivo 4DIMAPLog ha alcanzado un tamaño de 10 MB, se cierra y se genera uno nuevo, con un número secuencial incrementado. Si ya existe un archivo con el mismo nombre, se sustituye directamente. Se puede definir el número inicial de la secuencia mediante el parámetro valor. Por defecto, se conservan todos los archivos, pero puede controlar el número de archivos a conservar utilizando el parámetro Circular log limitation.
- **Valores posibles**: 0 (utilizar configuración de la base), 1 (siempre utilizar relaciones automáticas) o 2 (utilizar las uniones SQL si es posible).
+Para más información sobre los archivos 4DIMAPLog\_X.txt, consulte la sección *Descripción de archivos de historial*.
-**Descripción**: modo de funcionamiento de los comandos [QUERY BY FORMULA](query-by-formula.md "QUERY BY FORMULA") y [QUERY SELECTION BY FORMULA](query-selection-by-formula.md "QUERY SELECTION BY FORMULA") relativos al uso de "uniones SQL."
-En las bases de datos creadas a partir de la versión 11.2 de 4D v11 SQL, estos comandos efectúan uniones basados en el modelo de uniones SQL. Este mecanismo permite modificar la selección de una tabla en función de una búsqueda efectuada en otra tabla sin que las tablas estén conectadas por una relación automática (condición necesaria en las versiones anteriores de 4D).
-El selector QUERY BY FORMULA Joins permite definir el modo de funcionamiento de los comandos de búsqueda por fórmula para el proceso actual:
+### Is current database a project (112)
-0: Utilizar los parámetros actuales de la base (valor por defecto). En bases creadas a partir de la versión 11.2 de 4D v11 SQL, las "uniones SQL" siempre se activan para las búsquedas por fórmula. En bases de datos convertidas, este mecanismo no se activa por defecto por razones de compatibilidad pero puede implementarse vía una preferencia.1: Siempre utilizar relaciones automáticas (= funcionamiento de versiones anteriores de 4D). En este modo, una relación es necesaria para definir la selección de una tabla en función de búsquedas efectuadas en otra tabla. 4D no efectúa más "uniones SQL."2: Utilizar las uniones SQL si es posible (= funcionamiento o defecto de las bases creadas en versión 11.2 y superiores de 4D v11 SQL). En este modo, 4D establece "uniones SQL" para las búsquedas por fórmula cuando la fórmula se ajusta para ello (con dos excepciones, ver la descripción del comando [QUERY BY FORMULA](query-by-formula.md "QUERY BY FORMULA") o [QUERY SELECTION BY FORMULA](query-selection-by-formula.md "QUERY SELECTION BY FORMULA")).**Nota:** si quiere activar las uniones "tipo SQL" (consulte el selector QUERY BY FORMULA Joins selector), siempre debe ejecutar las fórmulas en el servidor de manera que tengan acceso a los registros. Atención, en este contexto, la fórmula no debe contener llamadas a un método, de lo contrario pasará automáticamente al equipo remoto.
+**Nota:** solo puede utilizar este selector con el comando [Get database parameter](get-database-parameter.md) y su valor no se puede definir.
+**Alcance**: aplicación 4D
+**Descripción**: devuelve 1 si la arquitectura de la base actual es un proyecto y 0 en caso contrario. Para más información, consulte la sección *Base proyecto vs base binaria*.
-### HTTP compression level (50)
-**Alcance**: aplicación 4D
-Se conserva entre dos **sesiones**: no
+### Is host database a project (113)
-**Descripción**: Constante obsoleta (se conserva por compatibilidad únicamente). Se recomienda utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
+**Nota:** solo puede utilizar este selector con el comando [Get database parameter](get-database-parameter.md) y su valor no se puede definir.
+**Alcance**: aplicación 4D
+**Descripción**: devuelve 1 si la arquitectura de la base local es un proyecto y 0 en caso contrario. Para más información, consulte la sección *Base proyecto vs base binaria*.
-### HTTP compression threshold (51)
-**Alcance**: aplicación 4D
-Se conserva entre dos **sesiones**: no
+### Is host database writable (117)
-**Descripción**: *Constante obsoleta (se conserva por compatibilidad únicamente).* Se recomienda utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
+**Nota**: solo puede utilizar este selector con el comando [Get database parameter](get-database-parameter.md) y su valor no se puede definir.
+**Alcance**: aplicación 4D
+**Descripción**: devuelve 1 si el archivo estructura/archivo proyecto local es editable y 0 si es de solo lectura.
-### Server base process stack size (53)
-**Alcance**: 4D Server
- Se conserva entre dos **sesiones**: no
+### Libldap version (114)
- **Valores posibles**: entero largo positivo.
+**Alcance**: máquina 4D actual
-**Descripción**: tamaño de la pila asignada a cada proceso del sistema preferente en el servidor, expresado en bytes. El tamaño por defecto es determinado por el sistema.
+**Se conserva entre dos sesiones**: no
-Los procesos sistema preferente (procesos de tipo Proceso base 4D client) se cargan para controlar los procesos cliente 4D principales. El tamaño asignado por defecto a la pila de cada proceso preferente da facilidad de ejecución pero puede resultar consecuente cuando se crea un gran número de procesos (varios cientos).
+**Descripción**: devuelve el número de versión de la librería LDAP en la aplicación 4D en la máquina actual. (Solo lectura)
-Por razones de optimización, este tamaño puede reducirse considerablemente si las operaciones efectuadas por la base lo permiten (por ejemplo si la base no efectúa ordenaciones de grandes cantidades de registros). Son posibles valores de 512 o incluso 256 KB. Sea cuidadoso, subdimensionar la pila es critico y puede afectar la operación de 4D Server. La definición de este parámetro debe hacerse con precaución y tener en cuenta las condiciones de uso de la base (número de registros, tipo de operaciones, etc.).
-Para que sea tenido en cuenta, este parámetro debe ejecutarse en el equipo servidor (por ejemplo en el *Método base On Server Startup*).
+### Libsasl version (115)
+**Alcance**: máquina 4D actual
-### Idle connections timeout (54)
+**Se conserva entre dos sesiones**: no
-**Alcance**: aplicación 4D a menos que valor sea negativo
+**Descripción**: devuelve el número de versión de la librería SASL en la aplicación 4D en la máquina actual. (Solo lectura)
-**Se conserva entre dos sesiones:** no
-**Valores posibles:** valor entero que expresa una duración en segundos. El valor puede ser positivo (nuevas conexiones) o negativo (conexiones existentes). Por defecto, el valor es 20.
-**Descripción**: máximo periodo de inactividad para conexiones al motor de la base 4D, el motor SQL y el servidor de aplicaciones 4D (capa de red *ServerNet* únicamente, ignorado en *QUIC*). Cuando una conexión inactiva alcanza este límite, se pone en espera automáticamente, lo cual congela la sesión cliente/servidor y cierra el socket de red. En la ventana de administración del servidor, el estado del proceso del usuario se indica como "Postponed". Este funcionamiento es totalmente transparente para el usuario: tan pronto como hay una nueva actividad en la conexión que está en espera, el socket se reabre automáticamente y la sesión cliente/servidor se restaura.
+### Libzip version (120)
-Este parámetro permite, por una parte, economizar los recursos en el servidor: las conexiones en espera cierran el socket y liberan un proceso en el servidor. Por otra parte, esto le permite evitar pérdida de conexiones por el cierre de sockets por parte del firewall. Por esta razón, el valor del timeout para conexiones inactivas deber ser menor que el del firewall en este caso.
+**Alcance**: máquina 4D actual
-Si pasa un valor positivo en *valor*, se aplicará a todas las nuevas conexiones en todos los procesos. Si pasa un valor negativo, se aplicará a las conexiones que se abran en el proceso actual. Si pasa 0, las conexiones inactivas no serán sometidas a un timeout.
+**Se conserva entre dos sesiones**: n/a
-Este parámetro puede definirse del lado del cliente. Por lo general, no necesita cambiar este valor.
+**Descripción**: devuelve el número de versión de la librería libzip en la aplicación 4D en la máquina actual. (Sólo lectura)
-### PHP interpreter IP address (55)
+### Log command list (80)
**Alcance**: aplicación 4D
-Se conserva entre dos **sesiones**: no
-
-**Valores**: cadena formateada del tipo "nnn.nnn.nnn.nnn" (por ejemplo "127.0.0.1").
-
-**Descripción**: dirección IP utilizada localmente por 4D para comunicarse con el intérprete PHP vía FastCGI. Por defecto, el valor es "127.0.0.1". Esta dirección debe corresponder a la máquina donde en encuentra 4D. Este parámetro también puede definirse globalmente para todas las máquinas vía las Propiedades de la base.
-
-Para mayor información sobre el intérprete PHP, por favor consulte el manual de *Diseño*.
-
-
+**Se conserva entre dos sesiones**: no
-### PHP interpreter port (56)
+**Valores posibles**: cadena que contiene la lista de números de los comandos 4D a guardar (separados por dos puntos), "all" para guardar todos los comandos o "" (cadena vacía) para no guardar ninguno.
-**Alcance**: aplicación 4D
+**Descripción**: la lista de comandos 4D a guardar en el archivo de depuración (ver el selector 34, Debug Log Recording). Por defecto, se guardan todos los comandos 4D.
- **Se conserva entre dos sesiones**: no
+Este selector restringe la cantidad de información guardada en el archivo de depuración limitando los comandos 4D cuya ejecución desea registrar o excluir del registro. Por ejemplo, puede escribir:
-**Valores**: valor de tipo entero largo positivo. Por defecto, el valor es 8002\.
+```4d
+ SET DATABASE PARAMETER(Log command list;"277;341") //Graba solo los comandos QUERY y QUERY SELECTION
+ SET DATABASE PARAMETER(Log command list;"-1666;-323") //Excluye los comandos SET USER ALIAS y DELAY PROCESS de ser grabados
+```
-**Descripción**: número de puerto TCP utilizado o por el intérprete PHP de 4D. Este parámetro también puede modificarse globalmente para todos los equipos vía las Propiedades de la base. Para mayor información sobre el intérprete PHP, consulte el manual de *Diseño*.
+### Max concurrent Web processes (18)
+**Alcance**: 4D local, 4D Server
-### SSL cipher list (64)
+**Se conserva entre dos sesiones**: sí
-**Alcance**: Aplicación 4D
+**Descripción**: *constante obsoleta (se conserva por compatibilidad únicamente).* Se recomienda utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
-Se conserva entre dos sesiones: No
-**Valores posibles**: secuencia de cadenas separadas por dos puntos.
-**Descripción:** lista de cifrado (*cipher list*) utilizada por 4D para el protocolo seguro. Esta lista modifica la prioridad de los algoritmos de cifrado implementados por 4D. Por ejemplo, puede pasar la siguiente cadena en el parámetro *valor*: "HIGH:!aNULL:!MD5:!3DES:!CAMELLIA:!AES128:!RSA:!DH:!RC4". Para una descripción completa de la sintaxis para la lista cifrada, consulte la *página de cifrado del sitio OpenSSL*.
+### Maximum Web requests size (27)
-Esta configuración se aplica al servidor web principal (excluyendo los objetos del servidor web), al servidor SQL, a las conexiones cliente/servidor, así como al cliente HTTP y a todos los comandos 4D que hacen uso del protocolo seguro. Es temporal (no se mantiene entre sesiones).
+**Alcance**: 4D local, 4D Server
-Cuando la lista de cifrado se modifica, debe reiniciar el servidor correspondiente para que los nuevos parámetros sean tenidos en cuenta.
+**Se conserva entre dos sesiones**: sí
-Para reinicializar la lista de cifrado a su valor por defecto (guardado permanentemente en el archivo SLI), llame al comando [SET DATABASE PARAMETER](set-database-parameter.md) y pase una cadena vacía ("") en el parámetro *valor*.
+**Descripción**: Constante obsoleta (se conserva por compatibilidad únicamente). Se recomienda utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
-**Nota:** con el comando [Get database parameter](get-database-parameter.md), la lista de cifrado se devuelve en el parámetro opcional *valorAlfa* y el parámetro de retorno es siempre 0.
+### Min TLS version (105)
-### Cache unload minimum size (66)
+**Alcance**: 4D Server, 4D Web Server y 4D SQL Server
-**Alcance**: aplicación 4D
+**Conservar entre dos sesiones**: no
-**Se conserva entre dos sesiones**: no
+**Descripción**: se utiliza para especificar el nivel TLS (Transport Layer Security), que ofrece cifrado y autenticación de datos entre aplicaciones y servidores. Se rechazarán los intentos de conexión de clientes que sólo soporten versiones inferiores a la mínima. La configuración se aplica globalmente a la capa de red. Una vez modificado, el servidor debe reiniciarse para utilizar el nuevo valor.
-**Valores posibles**: Entero largo positivo > 1.
+**Valor por defecto**: TLSv1\_3
-**Descripción**: tamaño mínimo de memoria a liberar del caché de la base de datos cuando el motor necesita hacer espacio para ubicar un objeto (valor en bytes).
+**Valores posibles**:
+- TLSv1\_2 (TLS 1.2, introducido en 2008)
+- TLSv1\_3 (TLS 1.3, introducido en 2018)
-El propósito de este selector es reducir el número de liberaciones de datos de la caché con el fin de obtener un mejor rendimiento. Puede hacer variar este parámetro en función del tamaño de la caché y del de los bloques de datos manipulados en su base.
+**NOTAS**:
-Por defecto, si este selector no se utiliza, 4D descarga mínimo 10% de la caché en caso de que se necesite espacio.
+- El plugin 4D Internet Commands utiliza una capa de red diferente, por lo que este selector no tendrá ningún impacto en su versión TLS.
+- Se ignorarán los intentos de aplicar TLS a la capa de red heredada.
-### Direct2D status (69)
+### Number of formulas in cache (92)
**Alcance**: aplicación 4D
-**Se conserva entre dos sesiones**: no
-
-**Descripción**: modo de activación de Direct2D bajo Windows.
-
-**Valores posibles**: una de las siguientes constantes (modo 3 por defecto):
-
-Direct2D Disabled (0): el modo Direct2D no está habilitado y la base de datos funciona en el modo anterior (GDI/GDIPlus).
-
-Direct2D Hardware (1): utilice Direct2D como contexto de hardware de gráficos para toda la aplicación 4D. Si este contexto no está disponible, use el contexto del software de gráficos Direct2D.
-
-Direct2D Software (3) (modo predeterminado): a partir de Windows 7, utilice el contexto del software de gráficos Direct2D para toda la aplicación 4D.
-
-***Advertencia* : este selector se proporciona solo para fines de depuración. Dado que varias funciones 4D se basan en Direct2D, no se debe desactivar en las aplicaciones implementadas. Solo el modo predeterminado (Direct2D Software)* **está aprobado para las aplicaciones desplegadas.*
-
+**Se conserva entre dos sesiones:** no
+**Valores posibles**: enteros largos positivos
-### Direct2D get active status (74)
+**Valor por defecto**: 0 (sin caché)
-**Nota**: sólo puede utilizar este selector con el comando Get database parameter y su valor no puede definirse.
+**Descripción**: establece u obtiene el número máximo de fórmulas a conservar en la memoria caché de fórmulas, que es utilizado por el comando [EXECUTE FORMULA](execute-formula.md). Este límite se aplica a todos los procesos, pero cada proceso tiene su propia caché de fórmulas. Ubicar las fórmulas en la caché acelera la ejecución del comando [EXECUTE FORMULA](execute-formula.md) en modo compilado, ya que cada fórmula en caché se tokeniza sólo una vez en este caso.Cuando se cambia el valor de la memoria caché, el contenido existente se restablecen incluso si el nuevo tamaño es más grande que el anterior. Una vez se alcanza el número máximo de fórmulas en la memoria caché, una nueva fórmula ejecutada borrará a la más antigua de la memoria caché (modo FIFO). Este parámetro sólo se tiene en cuenta en las bases o componentes compilados.
-**Descripción**: devuelve la implementación activa de Direct2D bajo Windows.
-**Valores posibles**: 0, 1, 2, 3, 4 o 5 (ver los valores del selector 69). El valor devuelto depende de la disponibilidad de Direct2D, del hardware y de la calidad Direct2D soportado por el sistema operativo.
-Por ejemplo, si ejecuta:
-
- SET DATABASE PARAMETER(Direct2D status;Direct2D Hardware) $mode:=Get database parameter(Direct2D get active status)
+### OpenSSL version (94)
-- En Windows 7 y superiores, $mode vale 1 cuando el sistema detecta un hardware compatible con Direct2D; de lo contrario, $mode valdrá 3 (contexto software).
+**Alcance**: todas las máquinas 4D
-- En Windows Vista, $mode valdrá 1 si el sistema detecta un hardware compatible con Direct2D; de lo contrario, $mode toma el valor 0 (desactivando Direct2D).
+**Se conserva entre dos sesiones**: no
-- En Windows XP, $mode siempre valdrá 0 (no compatible con Direct2D).
+**Descripción**: devuelve el número de versión de la librería OpenSSL que se utiliza en la máquina. (Solo lectura)
-### Diagnostic log recording (79)
+### Order by formula on server (47)
-**Hilo seguro**: sí
+**Alcance**: tabla y procesos actuales
-**Alcance**: Aplicación 4D
+ **Se conserva entre dos sesiones**: no
-**Se conserva entre dos sesiones**: No
+ **Valores posibles**: 0 (utilizar la configuración de la base), 1 (ejecutar en el cliente) o 2 (ejecutar en el servidor)
-**Valores posibles**: 0 ó 1 (0 = no guardar,1 = guardar)
+**Descripción**: ubicación de la ejecución del comando [ORDER BY FORMULA](order-by-formula.md "ORDER BY FORMULA") para la tabla pasada en parámetro.
-**Descripción**: inicio o detención del registro del archivo de diagnóstico de 4D. Por defecto, el valor es 0 (no guarda).
+Al utilizar una base en modo cliente-servidor, el comando [ORDER BY FORMULA](order-by-formula.md "ORDER BY FORMULA") puede ejecutarse bien sea en el equipo servidor o en el cliente. Este selector puede utilizarse para especificar la ubicación de la ejecución de este comando (servidor o cliente). Este modo también puede definirse en las preferencias de la base. Para mayor información, consulte la descripción del selector 46, Query By Formula On Server.
-4D permite guardar de manera continua en un archivo de diagnóstico un conjunto de eventos relativos al funcionamiento interno de la aplicación. La información contenida en este archivo está destinada a la actualización de las aplicaciones 4D y puede ser analizada con ayuda de los servicios técnicos de 4D. Cuando pasa 1 en este selector, el archivo de diagnóstico, llamado *NomBase.txt*, se crea automáticamente (o abre) en la carpeta **Logs** de la base. Una vez el archivo alcance un tamaño de 10 MB, se cierra y se genera un nuevo archivo *NomBase\_N.txt*, con un número secuencial N incrementado.
+**Nota:** si quiere activar las uniones "tipo SQL" (consulte el selector QUERY BY FORMULA Joins selector), siempre debe ejecutar las fórmulas en el servidor de manera que tengan acceso a los registros. Atención, en este contexto, la fórmula no debe contener llamadas a un método, de lo contrario pasará automáticamente al equipo remoto.
-Note que es posible incluir la información personalizada en este archivo con ayuda del comando [LOG EVENT](log-event.md).
+### Pause logging (121)
-### Log command list (80)
+**Hilo seguro**: sí
**Alcance**: aplicación 4D
-**Se conserva entre dos sesiones**: no
+**Se mantiene entre dos sesiones**: no
-**Valores posibles**: cadena que contiene la lista de números de los comandos 4D a guardar (separados por dos puntos), "all" para guardar todos los comandos o "" (cadena vacía) para no guardar ninguno.
+**Valores posibles**: 0 (reanudar historial), 1 (pausar historial)
-**Descripción**: la lista de comandos 4D a guardar en el archivo de depuración (ver el selector 34, Debug Log Recording). Por defecto, se guardan todos los comandos 4D.
+Este selector permite suspender/reanudar todas las operaciones de registro iniciadas en la aplicación (excepto los registros ORDA). Esta función puede ser útil para aligerar temporalmente las tareas de la aplicación 4D o programar las operaciones de registro.
-Este selector restringe la cantidad de información guardada en el archivo de depuración limitando los comandos 4D cuya ejecución desea registrar o excluir del registro. Por ejemplo, puede escribir:
- SET DATABASE PARAMETER(Log command list;"277;341") //Grabar solo los comandos QUERY y QUERY SELECTION O SET DATABASE PARAMETER(Log command list;"-1666;-323") //Excluir SET USER ALIAS y DELAY PROCESS commands from being recorded
-
-
-### Spellchecker (81)
+### PHP interpreter IP address (55)
**Alcance**: Aplicación 4D
- **Se conserva entre dos sesiones**: No
-
- **Valores posibles**: 0 (por defecto) = corrector macOS nativo (Hunspell desactivado), 1 = corrector Hunspell activo.
+**Se conserva entre dos sesiones**: no
-**Descripción**: permite activar el corrector ortográfico Hunspell bajo macOS. Por defecto, en esta plataforma el corrector nativo está activo. Puede preferir utilizar el corrector Hunspell, por ejemplo, para unificar la interfaz de sus aplicaciones multiplataformas (bajo Windows, sólo el corrector Hunspell está disponible). Para mayor información, consulte *Corrección ortográfica*.
+**Valores**: cadena formateada del tipo "nnn.nnn.nnn.nnn" (por ejemplo "127.0.0.1").
+**Descripción**: dirección IP utilizada localmente por 4D para comunicarse con el intérprete PHP vía FastCGI. Por defecto, el valor es "127.0.0.1". Esta dirección debe corresponder a la máquina donde en encuentra 4D. Este parámetro también puede definirse globalmente para todas las máquinas vía las Propiedades de la base.
+Para mayor información sobre el intérprete PHP, por favor consulte el manual de *Diseño*.
-### Dates inside objects (85)
-**Alcance**: proceso actual
- **Se conserva entre dos sesiones**: no
+### PHP interpreter port (56)
- **Valores posibles**: String type without time zone (0), String type with time zone (1), Date type (2) (por defecto)
+**Alcance**: aplicación 4D
-**Descripción**: define la forma en que se almacenan las fechas dentro de los objetos, así como también cómo se importan / exportan en JSON.
+ **Se conserva entre dos sesiones**: no
-Cuando el valor del selector es Date type (valor predeterminado para las bases creadas con 4D v17 y superior), las fechas 4D se almacenan con el tipo de fecha dentro de los objetos, con respecto a la configuración de fecha local. Cuando se convierte a formato JSON, los atributos de fecha se convertirán en cadenas que no incluyen un tiempo. (**Nota:** esta configuración se puede definir mediante la opción "Utilizar tipo de fecha en lugar del formato de fecha ISO en objetos" que se encuentra en *Página Compatibilidad* de la configuración de la base).
+**Valores**: valor de tipo entero largo positivo. Por defecto, el valor es 8002\.
-Si pasa String type with time zone en este selector, convertirá las fechas 4D en cadenas ISO y tendrá en cuenta la zona horaria local. Por ejemplo, la conversión de la fecha 23/08/2013 le da "2013-08-22T22: 00: 000Z" en formato JSON cuando la operación se realiza en Francia durante el horario de verano (GMT+ 2). Este principio se ajusta al funcionamiento estándar de JavaScript. Esto puede ser una fuente de errores cuando desea enviar valores de fecha JSON a alguien en un huso horario diferente. Por ejemplo, cuando exporta una tabla usando [Selection to JSON](selection-to-json.md) en Francia que se debe reimportar en los EE. UU. utilizando [JSON TO SELECTION](json-to-selection.md). Dado que las fechas se vuelven a interpretar en cada zona horaria, los valores almacenados en la base de datos serán diferentes. En este caso, puede modificar el modo de conversión de las fechas para que no tengan en cuenta la zona horaria pasando String type without time zone en este selector. La conversión de la fecha 23/08/2013 le dará "2013-08-23T00: 00: 00Z" en todos los casos.
+**Descripción**: número de puerto TCP utilizado o por el intérprete PHP de 4D. Este parámetro también puede modificarse globalmente para todos los equipos vía las Propiedades de la base. Para mayor información sobre el intérprete PHP, consulte el manual de *Diseño*.
-### Diagnostic log level (86)
+### POP3 Log (116)
**Hilo seguro**: sí
-**Alcance**: aplicación 4D
+**Alcance:** 4D local, 4D Server
**Se conserva entre dos sesiones**: no
-**Descripción**: nivel(es) de los mensajes que se incluirán en el registro de diagnóstico cuando esté habilitado (ver selector Diagnostic log recording). Cada nivel designa una categoría de mensajes de diagnóstico e incluye automáticamente las categorías más importantes. Para una descripción de las categorías, consulte la sección *Niveles de registro de diagnóstico* en *developer.4d.com*.
-
-**Valores posibles**: una de las siguientes constantes (Log info por defecto): Log trace: activa ERROR, WARN, INFO, DEBUG, TRACE (nivel más detallado) Log debug: activa ERROR, WARN, INFO, DEBUG Log info: activa ERROR, WARN, INFO (por defecto) Log warn: activa ERROR, WARN Log error: activa ERROR (nivel menos detallado)
-
-
-
-### Use legacy network layer (87)
-
-**Alcance:** 4D en modo local, 4D Server**
-
-**Se conserva entre dos sesiones:** sí**
-
- **Descripción:** fija u obtiene el estado actual de la capa de red antigua para las conexiones cliente/servidor. La capa de red antigua es obsoleta a partir de 4D v14 R5 y debe ser reemplazada progresivamente en sus aplicaciones por la capa de red *ServerNet*. *ServerNet* será requerida en próximas versiones 4D con el fin de beneficiarse de las futuras evoluciones de la red. Por razones de compatibilidad, la capa de red antigua aún se soporta para permitir una transición sin problemas para las aplicaciones existentes; (se usa por defecto en aplicaciones convertidas de una versión anterior a v14 R5). Pase 1 en este parámetro para utilizar la capa de red antigua (y desactivar *ServerNet*) para las conexiones cliente/servidor, y pase 0 para deshabilitar la red antigua (y utilizar *ServerNet*).
-
-Esta propiedad también se puede definir mediante la opción "Usar capa de red antigua " que se encuentran en *Página Compatibilidad* de las Propiedades de la base (ver *Opciones red y cliente-servidor*). En esta sección, también puede encontrar una discusión sobre la estrategia de migración. Le recomendamos que active *ServerNet* tan pronto como sea posible. Deberá reiniciar la aplicación para que este parámetro sea tenido en cuenta. No está disponible en 4D Server v14 R5 64-bit versión para macOS, que sólo soporta el *ServetNet*; (siempre devuelve 0).
-
-**Valores posibles:** 0 o 1 (0 = no utilizan capa de red antigua, 1 = uso capa de red antigua)
-
-**Valor por defecto:** 0 en bases de datos creadas con 4D v14 R5 o superior, 1 en bases de datos convertidas de 4D v14 R4 o anteriores.
-
+**Valores posibles:** 0 o de 1 a X (0 = no registrar, 1 a X = número secuencial, agregado al nombre del archivo). Por defecto, el valor es 0 (intercambios POP3 no registrados).
+**Descripción**: inicia o detiene la grabación de intercambios entre 4D y el servidor POP3, cuando un objeto transportador se procesa a través de *POP3\_transporter.getMail( )* o *POP3\_transporter.checkConnection( )*. Por defecto, el valor es 0 (intercambios no registrados). Cuando este mecanismo está habilitado, se crea un archivo de registro en la carpeta Logs de la base. Se llama 4DPOP3Log\_X.txt, donde X es el número secuencial del registro. Una vez que el archivo 4DPOP3Log ha alcanzado un tamaño de 10 MB, se cierra y se genera uno nuevo, con un número secuencial incrementado. Si ya existe un archivo con el mismo nombre, se reemplaza directamente. Puede establecer el número inicial de la secuencia utilizando el parámetro valor. De manera predeterminada, todos los archivos se mantienen, pero puede controlar la cantidad de archivos que se deben seguir utilizando el parámetro Circular log limitation.
-### SQL Server Port ID (88)
+Para más información sobre los archivos 4DPOP3Log\_X.txt, consulte la sección *Descripción de archivos de historial*.
-**Alcance**: 4D modo local y 4D Server.
-**Se conserva entre dos sesiones:** sí**
-**Descripción**: permite leer o definir el número del puerto TCP utilizado por el servidor SQL integrado de 4D en modo local o 4D Server. Por defecto, el valor es 19812\. Cuando se define este selector, la configuración de la base se actualiza. También puede definir el número del puerto TCP en la página "SQL" de la caja de diálogo de Propiedades de la base.
+### Port ID (15)
-**Valores posibles:** 0 a 65535.
+**Alcance**: 4D local, 4D Server
-**Valor por defecto:** 19812
+**Se conserva entre dos sesiones**: no
+**Descripción**: Command SET DATABASE Número de puerto TCP utilizado por el servidor web 4D con 4D en modo local y 4D Server. El valor por defecto, que puede ser definido en la página "Web/Configuración" de la caja de diálogo Preferencias, es 80. Puede utilizar las constantes del tema *Números de puerto TCP* para el parámetro *valor*.
+El selector Port ID se utiliza en el marco de servidores web 4D compilados y fusionados con 4D Desktop (sin acceso al modo Diseño). Para mayor información sobre el número de puerto TCP, consulte la sección *Parámetros del servidor web*
-### Circular log limitation (90)
-**Hilo seguro**: sí
-**Alcance**: 4D local, 4D Server.
+### Query by formula joins (49)
-**Se conserva entre dos sesiones:** no
+**Alcance**: proceso actual
-**Valores posibles**: todo valor entero, 0 = conservar todos los registros
+ **Se conserva entre dos sesiones**: no
-**Descripción**: número máximo de archivos a conservar en rotación para cada tipo de registro. Por defecto, todos los archivos se conservan. Si pasa un valor *X*, solo los *X* archivos más recientes se conservan, el más antiguo se borra automáticamente cuando se crea uno nuevo. Esta parametrización se aplica a cada uno de los siguientes archivos de registro: registros de peticiones (selectores 28 y 45), registro de depuración (selector 34), registro de eventos (selector 79), así como el historial de peticiones web (selectores 29 y 84 del comando [WEB SET OPTION](web-set-option.md)), etc.
+ **Valores posibles**: 0 (utilizar configuración de la base), 1 (siempre utilizar relaciones automáticas) o 2 (utilizar las uniones SQL si es posible).
+**Descripción**: modo de funcionamiento de los comandos [QUERY BY FORMULA](query-by-formula.md "QUERY BY FORMULA") y [QUERY SELECTION BY FORMULA](query-selection-by-formula.md "QUERY SELECTION BY FORMULA") relativos al uso de "uniones SQL."
+En las bases de datos creadas a partir de la versión 11.2 de 4D v11 SQL, estos comandos efectúan uniones basados en el modelo de uniones SQL. Este mecanismo permite modificar la selección de una tabla en función de una búsqueda efectuada en otra tabla sin que las tablas estén conectadas por una relación automática (condición necesaria en las versiones anteriores de 4D).
-### Number of formulas in cache (92)
+El selector QUERY BY FORMULA Joins permite definir el modo de funcionamiento de los comandos de búsqueda por fórmula para el proceso actual:
-**Alcance**: aplicación 4D
+- 0: Utilizar los parámetros actuales de la base (valor por defecto). En bases creadas a partir de la versión 11.2 de 4D v11 SQL, las "uniones SQL" siempre se activan para las búsquedas por fórmula. En bases de datos convertidas, este mecanismo no se activa por defecto por razones de compatibilidad pero puede implementarse vía una preferencia.
+- 1: Siempre utilizar relaciones automáticas (= funcionamiento de versiones anteriores de 4D). En este modo, una relación es necesaria para definir la selección de una tabla en función de búsquedas efectuadas en otra tabla. 4D no efectúa más "uniones SQL."2: Utilizar las uniones SQL si es posible (= funcionamiento o defecto de las bases creadas en versión 11.
+- 2 y superiores de 4D v11 SQL). En este modo, 4D establece "uniones SQL" para las búsquedas por fórmula cuando la fórmula se ajusta para ello (con dos excepciones, ver la descripción del comando [QUERY BY FORMULA](query-by-formula.md "QUERY BY FORMULA") o [QUERY SELECTION BY FORMULA](query-selection-by-formula.md "QUERY SELECTION BY FORMULA")).**Nota:** si quiere activar las uniones "tipo SQL" (consulte el selector QUERY BY FORMULA Joins selector), siempre debe ejecutar las fórmulas en el servidor de manera que tengan acceso a los registros. Atención, en este contexto, la fórmula no debe contener llamadas a un método, de lo contrario pasará automáticamente al equipo remoto.
-**Se conserva entre dos sesiones:** no
-**Valores posibles**: enteros largos positivos
-**Valor por defecto**: 0 (sin caché)
+### Query by formula on server (46)
-**Descripción**: establece u obtiene el número máximo de fórmulas a conservar en la memoria caché de fórmulas, que es utilizado por el comando [EXECUTE FORMULA](execute-formula.md). Este límite se aplica a todos los procesos, pero cada proceso tiene su propia caché de fórmulas. Ubicar las fórmulas en la caché acelera la ejecución del comando [EXECUTE FORMULA](execute-formula.md) en modo compilado, ya que cada fórmula en caché se tokeniza sólo una vez en este caso.Cuando se cambia el valor de la memoria caché, el contenido existente se restablecen incluso si el nuevo tamaño es más grande que el anterior. Una vez se alcanza el número máximo de fórmulas en la memoria caché, una nueva fórmula ejecutada borrará a la más antigua de la memoria caché (modo FIFO). Este parámetro sólo se tiene en cuenta en las bases o componentes compilados.
+**Alcance**: tabla y procesos actuales
+ **Se conserva entre dos sesiones**: no
+ **Valores posibles**: 0 (utilizar la configuración de la base), 1 (ejecutar en cliente) o 2 (ejecutar en servidor)
-### OpenSSL version (94)
+**Descripción**: ubicación de la ejecución de los comandos [QUERY BY FORMULA](query-by-formula.md "QUERY BY FORMULA") y [QUERY SELECTION BY FORMULA](query-selection-by-formula.md "QUERY SELECTION BY FORMULA") para la *tabla* pasada en parámetro.
-**Alcance**: todas las máquinas 4D
+Cuando se utiliza una base en modo cliente-servidor, los comandos de búsqueda "por fórmula" pueden ejecutarse en el servidor o en el equipo cliente:
-**Se conserva entre dos sesiones**: no
+en bases creadas con 4D v11 SQL, estos comandos se ejecutan en el servidor.en bases convertidas, estos comandos se ejecutan en el equipo cliente, como en las versiones anteriores de 4D.en las bases convertidas, una preferencia específica permite modificar globalmente la ubicación de ejecución de estos comandos.Esta diferencia en ubicación de ejecución influye no sólo en el rendimiento de la aplicación (la ejecución en el servidor es generalmente más rápida) sino también en la programación. En efecto, el valor de los componentes de la fórmula (en particular las variables llamadas vía un método) varía de acuerdo al contexto de ejecución. Puede utilizar este selector para adaptar puntualmente el funcionamiento de su aplicación.
-**Descripción**: devuelve el número de versión de la librería OpenSSL que se utiliza en la máquina. (Solo lectura)
+Si pasa 0 en el parámetro *valor*, la ubicación de ejecución de los comandos de búsqueda "por fórmula" dependerá de la configuración de la base: en bases creadas con 4D v11 SQL, estos comandos se ejecutarán en el servidor. En bases convertidas, se ejecutarán en el equipo cliente o en el servidor en función de las preferencias de la base. Pase 1 ó 2 en *valor* para "forzar" la ejecución de estos comandos respectivamente en el equipo cliente o en el servidor.
+Consulte el ejemplo 2.
+**Nota:** si quiere activar las uniones "tipo SQL" (consulte el selector QUERY BY FORMULA Joins selector), siempre debe ejecutar las fórmulas en el servidor de manera que tengan acceso a los registros. Atención, en este contexto, la fórmula no debe contener llamadas a un método, de lo contrario pasará automáticamente al equipo remoto.
-### Cache flush periodicity (95)
-**Hilo seguro**: sí
+### RDP optimization (133)
-**Alcance**: 4D local, 4D Server
+**Alcance:** aplicación 4D
-**Se conserva entre dos sesiones:** no
+**Se mantiene entre dos sesiones**: no
-**Valores posibles:** entero largo > 1 (segundos)
+**Valores posibles:** `0`: activado (por defecto), `1`: desactivado.
-**Descripción**: obtiene o establece la periodicidad del vaciado de la caché, expresado en segundos. La modificación de este valor prevalece sobre la opción **Vaciar caché cada X segundos** en [XML DECODE](xml-decode.md) de la configuración de la base para la sesión (que no se almacena en las Propiedades de la base).
+**Descripción:** activa o desactiva las optimizaciones para RDP (Protocolo de escritorio remoto). Cuando está activado, optimiza en particular el uso del portapapeles compartido en las conexiones RDP, que de otro modo pueden provocar problemas de congelación. Tenga en cuenta que este selector desactiva la compatibilidad en el portapapeles para imágenes codificadas como URI de datos en texto sin formato (solo afecta a las imágenes que se sueltan o se copian explícitamente como texto desde un navegador).
@@ -723,249 +748,223 @@ El tiempo de espera de la conexión remota se aplica después de que una máquin
-### Tips enabled (101)
-
-**Alcance**: aplicación 4D
-
-**Se conserva entre dos sesiones**: no
-
-**Valores posibles**: 0 = consejos desactivados, 1 = consejos activados (predeterminado)
-
-**Descripción**: define u obtiene el estado de visualización actual de los consejos para la aplicación 4D. De forma predeterminada, las sugerencias están activadas.
-
-Tenga en cuenta que este parámetro define todos los consejos 4D, es decir, los mensajes de ayuda de formulario y las sugerencias del editor de modo Diseño.
-
+### Server base process stack size (53)
+**Alcance**: 4D Server
-### Tips delay (102)
+ **Se conserva entre dos sesiones**: no
-**Alcance**: aplicación 4D
+ **Valores posibles**: entero largo positivo.
-**Se conserva entre dos sesiones**: No
+**Descripción**: tamaño de la pila asignada a cada proceso del sistema preferente en el servidor, expresado en bytes. El tamaño por defecto es determinado por el sistema.
-**Valores posibles**: entero largo >= 0 (tics)
+Los procesos sistema preferente (procesos de tipo Proceso base 4D client) se cargan para controlar los procesos cliente 4D principales. El tamaño asignado por defecto a la pila de cada proceso preferente da facilidad de ejecución pero puede resultar consecuente cuando se crea un gran número de procesos (varios cientos).
-**Descripción**: retraso antes de que se muestren las sugerencias una vez que el cursor del ratón se haya detenido en objetos con mensajes de ayuda adjuntos. El valor se expresa en tics (1/60 de segundo). El valor predeterminado es 45 tics (0.75 segundos).
+Por razones de optimización, este tamaño puede reducirse considerablemente si las operaciones efectuadas por la base lo permiten (por ejemplo si la base no efectúa ordenaciones de grandes cantidades de registros). Son posibles valores de 512 o incluso 256 KB. Sea cuidadoso, subdimensionar la pila es critico y puede afectar la operación de 4D Server. La definición de este parámetro debe hacerse con precaución y tener en cuenta las condiciones de uso de la base (número de registros, tipo de operaciones, etc.).
+Para que sea tenido en cuenta, este parámetro debe ejecutarse en el equipo servidor (por ejemplo en el *Método base On Server Startup*).
-### Tips duration (103)
-**Alcance**: aplicación 4D
+### SMTP Log (110)
-**Se conserva entre dos sesiones**: No
+**Hilo seguro**: sí
-**Valores posibles**: entero largo >= 60 (tics)
+**Alcance**: 4D local, 4D Server*
-**Descripción**: duración máxima de visualización de una sugerencia. El valor se expresa en tics (1/60 de segundo). El valor predeterminado es 720 tics (12 segundos).
+* **Se conserva entre dos sesiones**: no
+ **Valores posibles**: 0 o de 1 a X (0 = no grabar, 1 a X = número secuencial, agregado al nombre del archivo). De forma predeterminada, el valor es 0 (intercambios SMTP no registrados).
+**Descripción**: inicia o detiene la grabación de intercambios entre 4D y el servidor SMTP, cuando un objeto *transportador* se procesa a través de *transporter.send( )* o *SMTP\_transporter.checkConnection( )*. Por defecto, el valor es 0 (intercambios no registrados). Cuando este mecanismo está habilitado, se crea un archivo de registro en la carpeta Logs de la base. Se llama 4DSMTPLog\_X.txt, donde X es el número secuencial del registro. Una vez que el archivo 4DSMTPLog ha alcanzado un tamaño de 10 MB, se cierra y se genera uno nuevo, con un número secuencial incrementado. Si ya existe un archivo con el mismo nombre, se reemplaza directamente. Puede definir el número de inicio de la secuencia utilizando el parámetro *valor*. De forma predeterminada, todos los archivos se conservan, pero puede controlar la cantidad de archivos a seguir utilizando el parámetro Circular log limitation.
-### Min TLS version (105)
+Para obtener más información sobre los archivos 4DSMTPLog\_X.txt, consulte la sección *Descripción de archivos de historial*.
-**Alcance**: 4D Server, 4D Web Server y 4D SQL Server
-**Conservar entre dos sesiones**: No
-**Descripción**: se utiliza para especificar el nivel TLS (Transport Layer Security), que ofrece cifrado y autenticación de datos entre aplicaciones y servidores. Se rechazarán los intentos de conexión de clientes que sólo soporten versiones inferiores a la mínima. La configuración se aplica globalmente a la capa de red. Una vez modificado, el servidor debe reiniciarse para utilizar el nuevo valor.
+### Spellchecker (81)
-**Valor por defecto**: TLSv1\_3
+**Alcance**: aplicación 4D
-**Valores posibles**: TLSv1\_2 (TLS 1.2, introducido en 2008) TLSv1\_3 (TLS 1.3, introducido en 2018) **NOTAS**:
+ **Se conserva entre dos sesiones**: no
-- El plugin 4D Internet Commands utiliza una capa de red diferente, por lo que este selector no tendrá ningún impacto en su versión TLS.
+ **Valores posibles**: 0 (por defecto) = corrector macOS nativo (Hunspell desactivado), 1 = corrector Hunspell activo.
-- Se ignorarán los intentos de aplicar TLS a la capa de red heredada.
+**Descripción**: permite activar el corrector ortográfico Hunspell bajo macOS. Por defecto, en esta plataforma el corrector nativo está activo. Puede preferir utilizar el corrector Hunspell, por ejemplo, para unificar la interfaz de sus aplicaciones multiplataformas (bajo Windows, sólo el corrector Hunspell está disponible). Para mayor información, consulte *Corrección ortográfica*.
-### User param value (108)
+### SQL Autocommit (43)
-**Alcance**: 4D local, 4D Server
+**Alcance**: base de datos
-**Se conserva entre dos sesiones**: no
+ **Se conserva entre dos sesiones**: sí
-**Valores posibles**: toda cadena personalizada
+ **Posibles valores**: 0 (desactivación) o 1 (activación)
-**Descripción:** cadena personalizada pasada de una sesión a la siguiente cuando se reinicia la aplicación 4D. Este selector es útil en el contexto de pruebas unitarias automatizadas que requieren que las aplicaciones se reinicien con diferentes parámetros.
+**Descripción**: activación o desactivación del modo SQL auto-commit. Por defecto, el valor es 0 (modo desactivado)
-Cuando se utiliza con [SET DATABASE PARAMETER](set-database-parameter.md), define un nuevo valor que estará disponible en la próxima base de datos abierta después de que 4D se reinicie manualmente o utilizando los comandos [OPEN DATABASE](open-database.md)(\*), [OPEN DATA FILE](open-data-file.md), o [RESTART 4D](restart-4d.md). Cuando se utiliza con [Get database parameter](get-database-parameter.md), obtiene el valor del parámetro de usuario actualmente disponible, definido mediante una línea de comando (ver *Interfaz de línea de comando*), el archivo .4DLink (ver *Usar un archivo 4DLink*), o una llamada a [SET DATABASE PARAMETER](set-database-parameter.md) durante la sesión anterior. (\*) Si [SET DATABASE PARAMETER](set-database-parameter.md) define un User param value antes de una llamada a [OPEN DATABASE](open-database.md) con un archivo .4DLink que también contiene un atributo xml user-param, 4D 4D tiene en cuenta solo el parámetro ofrecido por [SET DATABASE PARAMETER](set-database-parameter.md).
+ El modo auto-commit permite reforzar la integridad referencial de la base. Cuando este modo está activo, las peticiones *SELECT*, INSERT, UPDATE y *DELETE* (SIUD) se incluyen automáticamente en las transacciones cuando no se han ejecutado dentro de una transacción. Este modo igualmente puede definirse en las Preferencias de la base.
-### Times inside objects (109)
+### SQL Engine case sensitivity (44)
-Alcance: 4D local, 4D Server (todos los procesos)
+**Alcance**: base de datos
- Se conserva entre dos **sesiones**: No
+ **Se conserva entre dos sesiones**: sí
- **Valores posibles**: Times in seconds (0) (predeterminado), Times in milliseconds (1)
+ **Valores posibles**: 0 (no se tienen en cuenta las mayúsculas y minúsculas) ó 1 (sensible a las mayúsculas y minúsculas)
-**Descripción**: define la forma en que los valores de tipo hora se convierten y almacenan dentro de las propiedades de los objetos y los elementos de la colección, así como la forma en que se importan/exportan en JSON y en las áreas web. Por defecto, a partir de 4D v17, las horas se convierten y almacenan en número de segundos en los objetos.
+**Descripción**: activación o desactivación de la sensibilidad a mayúsculas y minúsculas para comparaciones de cadenas efectuadas por el motor SQL.
-En versiones anteriores, los valores de tiempo se convertían y almacenaban como cantidad de milisegundos en esos contextos. Usar este selector puede ayudarlo a migrar sus aplicaciones volviendo a la configuración anterior si es necesario.
+Por defecto, el valor es 1 (sensible a las mayúsculas y minúsculas): el motor SQL diferencia entre mayúsculas y minúsculas y entre caracteres acentuados al comparar cadenas (ordenaciones y búsquedas). Por ejemplo “ABC”= “ABC” pero “ABC” # “Abc.” En algunos casos, por ejemplo para alinear el funcionamiento del motor SQL con el del motor 4D, podría querer que las comparaciones de cadenas no tengan en cuenta las mayúsculas y minúsculas (“ABC”=“Abc”).
-**Nota**: los métodos ORDA y el motor SQL ignoran esta configuración, siempre suponen que los valores de tiempo son números de segundos.
+Esta opción también puede definirse en la [CALL SUBFORM CONTAINER](call-subform-container.md) de las Preferencias de la base.
-### SMTP Log (110)
+### SQL Server Port ID (88)
-**Hilo seguro**: sí
+**Alcance**: 4D modo local y 4D Server.
-**Alcance**: 4D local, 4D Server*
+: Sí
-* **Se conserva entre dos sesiones**: no
+**Descripción**: permite leer o definir el número del puerto TCP utilizado por el servidor SQL integrado de 4D en modo local o 4D Server. Por defecto, el valor es 19812\. Cuando se define este selector, la configuración de la base se actualiza. También puede definir el número del puerto TCP en la página "SQL" de la caja de diálogo de Propiedades de la base.
- **Valores posibles**: 0 o de 1 a X (0 = no grabar, 1 a X = número secuencial, agregado al nombre del archivo). De forma predeterminada, el valor es 0 (intercambios SMTP no registrados).
+**Valores posibles:** 0 a 65535.
-**Descripción**: inicia o detiene la grabación de intercambios entre 4D y el servidor SMTP, cuando un objeto *transportador* se procesa a través de *transporter.send( )* o *SMTP\_transporter.checkConnection( )*. Por defecto, el valor es 0 (intercambios no registrados). Cuando este mecanismo está habilitado, se crea un archivo de registro en la carpeta Logs de la base. Se llama 4DSMTPLog\_X.txt, donde X es el número secuencial del registro. Una vez que el archivo 4DSMTPLog ha alcanzado un tamaño de 10 MB, se cierra y se genera uno nuevo, con un número secuencial incrementado. Si ya existe un archivo con el mismo nombre, se reemplaza directamente. Puede definir el número de inicio de la secuencia utilizando el parámetro *valor*. De forma predeterminada, todos los archivos se conservan, pero puede controlar la cantidad de archivos a seguir utilizando el parámetro Circular log limitation.
+**Valor por defecto:** 19812
-Para obtener más información sobre los archivos 4DSMTPLog\_X.txt, consulte la sección *Descripción de archivos de historial*.
+### SSL cipher list (64)
-### Current process debug log recording (111)
+**Alcance**: Aplicación 4D
-**Alcance:** Aplicación 4D
+Se conserva entre dos sesiones: No
-**Se conserva entre dos sesiones:** No
+**Valores posibles**: secuencia de cadenas separadas por dos puntos.
-**Descripción**: inicia o detiene el registro secuencial de eventos de programación **del proceso actual** en un archivo de historial separado. Este historial es similar al Debug log recording (selector 34) pero se enfoca solo en el proceso actual. El nombre del archivo de historial incluye la letra "p" y el número del proceso: 4DDebugLog\[\_p*N*_*n*].txt, donde N es el ID único del proceso.
+**Descripción:** lista de cifrado (*cipher list*) utilizada por 4D para el protocolo seguro. Esta lista modifica la prioridad de los algoritmos de cifrado implementados por 4D. Por ejemplo, puede pasar la siguiente cadena en el parámetro *valor*: "HIGH:!aNULL:!MD5:!3DES:!CAMELLIA:!AES128:!RSA:!DH:!RC4".
-Para más información sobre este formato y sobre el uso del archivo *4DDebugLog*, consulte *Descripción de archivos de historial* en el Modo Diseño.
+Para una descripción completa de la sintaxis para la lista cifrada, consulte la *página de cifrado del sitio OpenSSL*.
-**Notas:** Este selector se proporciona únicamente con el fin de depurar y debe utilizarse con cuidado. En particular, no debe ponerse en producción, ya que puede tener un impacto en el rendimiento de la aplicación. Puede utilizarar ambos selectores Debug log recording y Current process debug log recording simultáneamente, en cuyo caso las acciones del proceso actual no se registrarán en el archivo de historial principal.
+Esta configuración se aplica al servidor web principal (excluyendo los objetos del servidor web), al servidor SQL, a las conexiones cliente/servidor, así como al cliente HTTP y a todos los comandos 4D que hacen uso del protocolo seguro. Es temporal (no se mantiene entre sesiones).
+Cuando la lista de cifrado se modifica, debe reiniciar el servidor correspondiente para que los nuevos parámetros sean tenidos en cuenta.
+Para reinicializar la lista de cifrado a su valor por defecto (guardado permanentemente en el archivo SLI), llame al comando [SET DATABASE PARAMETER](set-database-parameter.md) y pase una cadena vacía ("") en el parámetro *valor*.
-### Is current database a project (112)
+**Nota:** con el comando [Get database parameter](get-database-parameter.md), la lista de cifrado se devuelve en el parámetro opcional *valorAlfa* y el parámetro de retorno es siempre 0.
-**Nota:** solo puede utilizar este selector con el comando [Get database parameter](get-database-parameter.md) y su valor no se puede definir.
+### Table sequence number (31)
**Alcance**: aplicación 4D
-**Descripción**: devuelve 1 si la arquitectura de la base actual es un proyecto y 0 en caso contrario. Para más información, consulte la sección *Base proyecto vs base binaria*.
-
-
+ **Se conserva entre dos sesiones**: sí
-### Is host database a project (113)
+ **Valores posibles**: todo valor de tipo entero largo.
-**Nota:** solo puede utilizar este selector con el comando [Get database parameter](get-database-parameter.md) y su valor no se puede definir.
+**Descripción**: este selector se utiliza para modificar o modificar u obtener el número único actual de los registros de la tabla pasada en parámetro. "Número actual" significa "último número utilizado": si modifica este valor utilizando SET DATABASE PARAMETER, el siguiente registro será el valor pasado + 1\. Este nuevo número es el número devuelto por el comando Sequence number [](http://doc.tmp.4d.fr/Database-Parameters/4Dv11.4/ConstantTheme/4870/CMU00244.HTM) como también en todo campo de la tabla a la cual se asigna la propiedad "Autoincrementar" en el editor de estructura o vía SQL.
-**Alcance**: aplicación 4D
+Por defecto, este número único es definido por 4D y corresponde al orden de creación de los registros. Para información adicional, por favor consulte la documentación del comando [Sequence number](sequence-number.md "Sequence number").
-**Descripción**: devuelve 1 si la arquitectura de la base local es un proyecto y 0 en caso contrario. Para más información, consulte la sección *Base proyecto vs base binaria*.
+### TCPUDP log recording (131)
-### Libldap version (114)
+**Alcance:** aplicación 4D
-**Alcance**: máquina 4D actual
+**Se mantiene entre dos sesiones**: no
-**Se conserva entre dos sesiones**: no
+**Valores posibles:** `0`: Logging desactivado (por defecto), `1`: Logging activado.
-**Descripción**: devuelve el número de versión de la librería LDAP en la aplicación 4D en la máquina actual. (Solo lectura)
+**Descripción:** activa o desactiva el archivo `4DTCPUDPLog.txt` para registrar eventos TCP.
-### Libsasl version (115)
+### Times inside objects (109)
-**Alcance**: máquina 4D actual
+**Alcance**: 4D local, 4D Server (todos los procesos)
-**Se conserva entre dos sesiones**: no
+ **Se conserva entre dos sesiones**: no
-**Descripción**: devuelve el número de versión de la librería SASL en la aplicación 4D en la máquina actual. (Solo lectura)
+ **Valores posibles**: Times in seconds (0) (predeterminado), Times in milliseconds (1)
+**Descripción**: define la forma en que los valores de tipo hora se convierten y almacenan dentro de las propiedades de los objetos y los elementos de la colección, así como la forma en que se importan/exportan en JSON y en las áreas web. Por defecto, a partir de 4D v17, las horas se convierten y almacenan en número de segundos en los objetos.
+En versiones anteriores, los valores de tiempo se convertían y almacenaban como cantidad de milisegundos en esos contextos. Usar este selector puede ayudarlo a migrar sus aplicaciones volviendo a la configuración anterior si es necesario.
-### POP3 Log (116)
+**Nota**: los métodos ORDA y el motor SQL ignoran esta configuración, siempre suponen que los valores de tiempo son números de segundos.
-**Hilo seguro**: sí
-**Alcance:** 4D local, 4D Server
-**Se conserva entre dos sesiones**: no
+### Tips delay (102)
-**Valores posibles:** 0 o de 1 a X (0 = no registrar, 1 a X = número secuencial, agregado al nombre del archivo). Por defecto, el valor es 0 (intercambios POP3 no registrados).
+**Alcance**: aplicación 4D
-**Descripción**: inicia o detiene la grabación de intercambios entre 4D y el servidor POP3, cuando un objeto transportador se procesa a través de *POP3\_transporter.getMail( )* o *POP3\_transporter.checkConnection( )*. Por defecto, el valor es 0 (intercambios no registrados). Cuando este mecanismo está habilitado, se crea un archivo de registro en la carpeta Logs de la base. Se llama 4DPOP3Log\_X.txt, donde X es el número secuencial del registro. Una vez que el archivo 4DPOP3Log ha alcanzado un tamaño de 10 MB, se cierra y se genera uno nuevo, con un número secuencial incrementado. Si ya existe un archivo con el mismo nombre, se reemplaza directamente. Puede establecer el número inicial de la secuencia utilizando el parámetro valor. De manera predeterminada, todos los archivos se mantienen, pero puede controlar la cantidad de archivos que se deben seguir utilizando el parámetro Circular log limitation.
+**Se conserva entre dos sesiones**: No
-Para más información sobre los archivos 4DPOP3Log\_X.txt, consulte la sección *Descripción de archivos de historial*.
+**Valores posibles**: entero largo >= 0 (tics)
+**Descripción**: retraso antes de que se muestren las sugerencias una vez que el cursor del ratón se haya detenido en objetos con mensajes de ayuda adjuntos. El valor se expresa en tics (1/60 de segundo). El valor predeterminado es 45 tics (0.75 segundos).
-### Is host database writable (117)
-**Nota**: solo puede utilizar este selector con el comando [Get database parameter](get-database-parameter.md) y su valor no se puede definir.
+### Tips duration (103)
**Alcance**: aplicación 4D
-**Descripción**: devuelve 1 si el archivo estructura/archivo proyecto local es editable y 0 si es de solo lectura.
-
-
-
-### IMAP Log (119)
-
-**Hilo seguro**: sí
-
-**Alcance**: 4D local, 4D Server
-
**Se conserva entre dos sesiones**: No
-**Valores posibles**: 0 o de 1 a X (0 = no grabar, 1 a X = número secuencial, añadido al nombre del archivo). Por defecto, el valor es 0 (los intercambios IMAP no se registran).
-
-**Descripción**: inicia o detiene la grabación de los intercambios entre 4D y el servidor IMAP, cuando se procesa un objeto transportador a través de *IMAP\_transporter.getMail( )* o *IMAP\_transporter.checkConnection( )*. Por defecto, el valor es 0 (intercambios no registrados). Cuando se activa este mecanismo, se crea un archivo de registro en la carpeta Logs de la base. Se llama 4DIMAPLog\_X.txt, donde X es el número secuencial del registro. Una vez que el archivo 4DIMAPLog ha alcanzado un tamaño de 10 MB, se cierra y se genera uno nuevo, con un número secuencial incrementado. Si ya existe un archivo con el mismo nombre, se sustituye directamente. Se puede definir el número inicial de la secuencia mediante el parámetro valor. Por defecto, se conservan todos los archivos, pero puede controlar el número de archivos a conservar utilizando el parámetro Circular log limitation.
-
-Para más información sobre los archivos 4DIMAPLog\_X.txt, consulte la sección *Descripción de archivos de historial*.
-
+**Valores posibles**: entero largo >= 60 (tics)
+**Descripción**: duración máxima de visualización de una sugerencia. El valor se expresa en tics (1/60 de segundo). El valor predeterminado es 720 tics (12 segundos).
-### Libzip version (120)
-**Alcance**: máquina 4D actual
-**Se conserva entre dos sesiones**: n/a
-
-**Descripción**: devuelve el número de versión de la librería libzip en la aplicación 4D en la máquina actual. (Sólo lectura)
+### Tips enabled (101)
+**Alcance**: aplicación 4D
+**Se conserva entre dos sesiones**: no
-### Pause logging (121)
+**Valores posibles**: 0 = consejos desactivados, 1 = consejos activados (predeterminado)
-**Hilo seguro**: sí
+**Descripción**: define u obtiene el estado de visualización actual de los consejos para la aplicación 4D. De forma predeterminada, las sugerencias están activadas.
-**Alcance**: aplicación 4D
+Tenga en cuenta que este parámetro define todos los consejos 4D, es decir, los mensajes de ayuda de formulario y las sugerencias del editor de modo Diseño.
-**Se mantiene entre dos sesiones**: no
-**Valores posibles**: 0 (reanudar historial), 1 (pausar historial)
-Este selector permite suspender/reanudar todas las operaciones de registro iniciadas en la aplicación (excepto los registros ORDA). Esta función puede ser útil para aligerar temporalmente las tareas de la aplicación 4D o programar las operaciones de registro.
+### Use legacy network layer (87)
+**Alcance:** 4D en modo local, 4D Server**
+**Se conserva entre dos sesiones:** sí
-### TCPUDP log recording (131)
+**Descripción:** fija u obtiene el estado actual de la capa de red antigua para las conexiones cliente/servidor. La capa de red antigua es obsoleta a partir de 4D v14 R5 y debe ser reemplazada progresivamente en sus aplicaciones por la capa de red *ServerNet*. *ServerNet* será requerida en próximas versiones 4D con el fin de beneficiarse de las futuras evoluciones de la red. Por razones de compatibilidad, la capa de red antigua aún se soporta para permitir una transición sin problemas para las aplicaciones existentes; (se usa por defecto en aplicaciones convertidas de una versión anterior a v14 R5). Pase 1 en este parámetro para utilizar la capa de red antigua (y desactivar *ServerNet*) para las conexiones cliente/servidor, y pase 0 para deshabilitar la red antigua (y utilizar *ServerNet*).
-**Alcance**: aplicación 4D
+Esta propiedad también se puede definir mediante la opción "Usar capa de red antigua " que se encuentran en *Página Compatibilidad* de las Propiedades de la base (ver *Opciones red y cliente-servidor*). En esta sección, también puede encontrar una discusión sobre la estrategia de migración. Le recomendamos que active *ServerNet* tan pronto como sea posible. Deberá reiniciar la aplicación para que este parámetro sea tenido en cuenta. No está disponible en 4D Server v14 R5 64-bit versión para macOS, que sólo soporta el *ServetNet*; (siempre devuelve 0).
-**Se mantiene entre dos sesiones**: no
+**Valores posibles:** 0 o 1 (0 = no utilizan capa de red antigua, 1 = uso capa de red antigua)
-**Valores posibles:** `0`: Logging desactivado (por defecto), `1`: Logging activado.
+**Valor por defecto:** 0 en bases de datos creadas con 4D v14 R5 o superior, 1 en bases de datos convertidas de 4D v14 R4 o anteriores.
-**Descripción:** activa o desactiva el archivo `4DTCPUDPLog.txt` para los eventos logging TCP.
+### User param value (108)
-### RDP optimization
+**Alcance**: 4D local, 4D Server
-**Alcance**: aplicación 4D
+**Se conserva entre dos sesiones**: no
-**Se mantiene entre dos sesiones**: no
+**Valores posibles**: toda cadena personalizada
-**Valores posibles:** `0`: Disabled (default), `1`: Enabled.
+**Descripción:** cadena personalizada pasada de una sesión a la siguiente cuando se reinicia la aplicación 4D. Este selector es útil en el contexto de pruebas unitarias automatizadas que requieren que las aplicaciones se reinicien con diferentes parámetros.
-**Descripción:** Activa o desactiva las optimizaciones para RDP (Protocolo de escritorio remoto). Cuando está activado, optimiza en particular el uso del portapapeles compartido en las conexiones RDP, que de otro modo pueden provocar problemas de congelación. Tenga en cuenta que este selector desactiva la compatibilidad en el portapapeles para imágenes codificadas como URI de datos en texto sin formato (solo afecta a las imágenes que se sueltan o se copian explícitamente como texto desde un navegador).
+Cuando se utiliza con [SET DATABASE PARAMETER](set-database-parameter.md), define un nuevo valor que estará disponible en la próxima base de datos abierta después de que 4D se reinicie manualmente o utilizando los comandos [OPEN DATABASE](open-database.md)(\*), [OPEN DATA FILE](open-data-file.md), o [RESTART 4D](restart-4d.md). Cuando se utiliza con [Get database parameter](get-database-parameter.md), obtiene el valor del parámetro de usuario actualmente disponible, definido mediante una línea de comando (ver *Interfaz de línea de comando*), el archivo .4DLink (ver *Usar un archivo 4DLink*), o una llamada a [SET DATABASE PARAMETER](set-database-parameter.md) durante la sesión anterior. (\*) Si [SET DATABASE PARAMETER](set-database-parameter.md) define un User param value antes de una llamada a [OPEN DATABASE](open-database.md) con un archivo .4DLink que también contiene un atributo xml user-param, 4D 4D tiene en cuenta solo el parámetro ofrecido por [SET DATABASE PARAMETER](set-database-parameter.md).
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/commands-legacy/license-usage.md b/i18n/es/docusaurus-plugin-content-docs/current/commands-legacy/license-usage.md
index 3a43b060b8b66a..167f02e795b993 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/commands-legacy/license-usage.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/commands-legacy/license-usage.md
@@ -17,6 +17,12 @@ displayed_sidebar: docs
El comando **License usage** devuelve una colección de objetos que contienen información sobre las licencias retenidas.
+:::note
+
+Este comando solo se puede ejecutar en 4D Server. Devuelve `null` cuando se llama desde otro contexto.
+
+:::
+
Cada objeto de la colección devuelta tiene los siguientes atributos:
| **Nombre de la propiedad** | **Tipo** | **Descripción** |
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/commands-legacy/open-window.md b/i18n/es/docusaurus-plugin-content-docs/current/commands-legacy/open-window.md
index ccb1ec0d250f12..dec072d5bf6ea7 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/commands-legacy/open-window.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/commands-legacy/open-window.md
@@ -38,7 +38,30 @@ Si pasa -1 en *derecha* e *inferior,* le indica a 4D que redimensione automátic
**Importante:** este dimensionamiento automático de la ventana ocurrirá únicamente si realiza una llamada previa a [FORM SET INPUT](form-set-input.md) para el formulario a mostrar en la ventana y si le pasa el parámetro opcional \* a [FORM SET INPUT](form-set-input.md).
-* El parámetro *tipo* es opcional y define el tipo de ventana que quiere mostrar, y corresponde a las diferentes ventanas presentadas en la sección . Si el tipo pasado es negativo, la ventana será flotante. Si el tipo no se especifica, el tipo 1 se utiliza por defecto.
+El parámetro *tipo* es opcional. Representa el tipo de ventana que desea mostrar. Si el tipo de ventana es negativo, la ventana creada es una ventana flotante (si es compatible). Si no se especifica el tipo, se utiliza el tipo 1 de forma predeterminada. Se admiten las siguientes constantes del tema *Abrir ventana*:
+
+|Constante|Comentario|
+|---|---|
+|Alternate dialog box|Puede utilizarse en ventana flotante|
+|Has full screen mode Mac|Opción para añadir a una ventana de tipo documento solo en macOS (por ejemplo: `Plain form window+Form has full screen mode Mac`)|
+|Modal dialog box ||
+|Movable dialog box |Puede utilizarse en ventana flotante|
+|Palette window|Can be a floating windowNo redimensionable: `-(Palette window+2)` (Windows) o ` -Palette window` (macOS)Redimensionable: `-(Palette window+6)`|
+|Plain dialog box |Puede utilizarse en ventana flotante|
+|Plain fixed size window||
+|Plain no zoom box window||
+|Pop up window||
+|Plain window||
+|Resizable sheet window||
+|Round corner window ||
+|Sheet window||
+|Texture appearance|Opción que se añadirá a un tipo de ventana solo en macOS. Tipos soportados: `Plain window`, `Plain no zoom box window`, `Plain fixed size window`, `Movable dialog box`, `Round corner window`|
+
+
+
+
+
+
* El parámetro *titulo* indica el título opcional de la ventana
Si pasa una cadena vacía ("") en *titulo,* le indica a 4D que utilice los valores de introducidos en el área Nombre de la ventana de la ventana de Propiedades del formulario en el entorno Diseño para el título del formulario a mostrar en la ventana.
@@ -47,7 +70,7 @@ Si pasa una cadena vacía ("") en *titulo,* le indica a 4D que utilice los valor
* El parámetro *casillaCerrar* es opcional y designa el método para cerrar la ventana. Si se especifica este parámetro, la casilla del menú Control (Windows) o la casilla Cerrar (Macintosh) se añade a la ventana. Cuando el usuario hace doble clic en la casilla de menú Control (Windows) o clic en la Casilla cerrar (Macintosh), se llama al método pasado en *casillaCerrar*.
-**Nota:** también puede administrar el cierre de la ventana desde el método del formulario mostrado en la ventana cuando ocurre un evento On Close Box. Para mayor información, consulte el comando [Form event code](../commands/form-event-code.md).
+**Nota:** también puede administrar el cierre de la ventana desde el método del formulario mostrado en la ventana cuando ocurre un evento `On Close Box`. Para mayor información, consulte el comando [Form event code](../commands/form-event-code.md).
Si se abre más de una ventana para un proceso, la última ventana abierta es la ventana activa (del primer plano) para ese proceso. Sólo puede modificarse la información dentro de la ventana activa. Todas las demás ventanas pueden ser visualizadas. Cuando el usuario digita, la ventana activa siempre pasará al primer plano, si aún no está ahí.
@@ -60,22 +83,20 @@ Los formularios se muestran al interior de una ventana abierta. El texto pasado
El siguiente método de proyecto abre una ventana centrada en la ventana en la ventana principal (Windows) o en la pantalla principal (Macintosh). Note que puede aceptar dos, tres, o cuatro parámetros:
```4d
- // Método de proyecto OPEN CENTERED WINDOW
- // $1 – Ancho de la ventana
- // $2 – Alto de la ventana
- // $3 – Tipo de la ventana (opcional)
- // $4 – Título de la ventana (opcional)
+ // Método proyecto OPEN CENTERED WINDOW
+ #DECLARE($width : Integer; $height : Integer; $type : Integer; $title : Text)
+ var $SW; $SH; $WW; $WH : Integer
$SW:=Screen width\2
$SH:=(Screen height\2)
- $WW:=$1\2
- $WH:=$2\2
+ $WW:=$width\2
+ $WH:=$height\2
Case of
:(Count parameters=2)
Open window($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH)
:(Count parameters=3)
- Open window($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH;$3)
+ Open window($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH;$type)
:(Count parameters=4)
- Open window($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH;$3;$4)
+ Open window($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH;$type;$title)
End case
```
@@ -95,7 +116,8 @@ Una vez escrito el método de proyecto, puede utilizarlo de esta forma:
El siguiente ejemplo abre una ventana flotante que tiene un casilla de menú Control (Windows) o una casilla de cerrar (Macintosh). La ventana se abre en la esquina superior derecha de la ventana de la aplicación.
```4d
- $myWindow:=Open window(Screen width-149;33;Screen width-4;178;-Palette window;"";"CloseColorPalette")
+var $myWindow : Integer
+ $myWindow:=Open window(Screen width-149;33;Screen width-4;178;-Palette window;"";"CloseColorPalette")
DIALOG([Dialogs];"Color Palette")
```
@@ -105,20 +127,19 @@ El método CloseColorPalette llama al comando [CANCEL](cancel.md):
CANCEL
```
-
## Ejemplo 3
El siguiente ejemplo abre una ventana cuyo tamaño y título provienen de las propiedades del formulario mostrado en la ventana:
```4d
- ORM SET INPUT([Customers];"Add Records";*)
- $myWindow:=Open window(10;80;-1;-1;Plain window;"")
+ var $myWindow : Integer
+ FORM SET INPUT([Customers];"Add Records";*)
+ $myWindow:=Open window(10;80;-1;-1;Plain window;"")
Repeat
ADD RECORD([Customers])
Until(OK=0)
```
-
**Recuerde**: para que la función **Open window** utilice automáticamente las propiedades del formulario, debe llamar a [FORM SET INPUT](form-set-input.md) con el parámetro opcional *\** y las propiedades del formulario deben haber sido definidas en función de esta utilización en el entorno Diseño.
## Ejemplo 4
@@ -126,23 +147,23 @@ El siguiente ejemplo abre una ventana cuyo tamaño y título provienen de las pr
Este ejemplo ilustra el mecanismo de “retraso” de mostrar ventanas bajo macOS:
```4d
- $miVentana:=Open window(10;10;400;400;Sheet window)
+ var $myWindow : Integer
+ $myWindow:=Open window(10;10;400;400;Sheet window)
//Por el momento, se crea la ventana pero permanece oculta
- DIALOG([Tabla];"formDial")
- //El evento On Load se genera luego se muestra la ventana; "desciende" de debajo de la barra de título
+ DIALOG([Table];"dialForm")
+ //El evento On Load se genera luego se muestra la ventana; "desciende" de debajo de
+ //la barra de título
```
## Ver también
[CLOSE WINDOW](close-window.md)
-*Crear ventana*
[Open form window](open-form-window.md)
+
## Propiedades
| | |
| --- | --- |
| Número de comando | 153 |
| Hilo seguro | ✗ |
-
-
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/commands-legacy/query-by-attribute.md b/i18n/es/docusaurus-plugin-content-docs/current/commands-legacy/query-by-attribute.md
index 8381b78bbc201e..b2559925b25235 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/commands-legacy/query-by-attribute.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/commands-legacy/query-by-attribute.md
@@ -10,12 +10,12 @@ displayed_sidebar: docs
| Parámetro | Tipo | | Descripción |
| --- | --- | --- | --- |
| tabla | Table | → | Tabla para la cual devolver una selección de registros o Tabla por defecto si se omite |
-| opConj | * | → | Operador de conjunción ausar para combinar varias búsquedas (si las hay) |
+| opConj | Operator | → | Operador de conjunción a usar para combinar varias búsquedas (si las hay) |
| campoObjeto | Field | → | Campo objeto cuyos atributos utilizar para la búsqueda |
| rutaAtributo | Text | → | Nombre o ruta de atributo |
-| opBusq | Text, * | → | Operador de búsqueda (comparador) |
+| opBusq | Text, Operator | → | Operador de búsqueda (comparador) |
| valor | Text, Number, Date, Time | → | Valor a comparar |
-| * | Operador | → | Espera de ejecución de la búsqueda |
+| * | Operator | → | Espera de ejecución de la búsqueda |
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/commands-legacy/query-selection-by-attribute.md b/i18n/es/docusaurus-plugin-content-docs/current/commands-legacy/query-selection-by-attribute.md
index a7edbed92609a3..9e34f09cbdfff0 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/commands-legacy/query-selection-by-attribute.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/commands-legacy/query-selection-by-attribute.md
@@ -5,17 +5,17 @@ slug: /commands/query-selection-by-attribute
displayed_sidebar: docs
---
-**QUERY SELECTION BY ATTRIBUTE** ( {*tabla*}{;}{*conjOp* ;} *campoObjeto* ; *rutaAtributo* ; *opBusq* ; *valor* {; *} )
+**QUERY SELECTION BY ATTRIBUTE** ( {*tabla*}{;}{*opConj* ;} *campoObjeto* ; *rutaAtributo* ; *opBusq* ; *valor* {; *} )
| Parámetro | Tipo | | Descripción |
| --- | --- | --- | --- |
-| tabla | Table | → | Tabla para la cual devolver una selección de registros o tabla por defecto si se omite |
-| conjOp | * | → | Operador de conjunción a utilizar ara unir múltiples búsquedas (si las hay) |
-| campoObjeto | Field | → | Campo objeto para buscar atributos |
+| tabla | Table | → | Tabla para la cual devolver una selección de registros o Tabla por defecto si se omite |
+| opConj | Operator | → | Operador de conjunción a usar para combinar varias búsquedas (si las hay) |
+| campoObjeto | Field | → | Campo objeto cuyos atributos utilizar para la búsqueda |
| rutaAtributo | Text | → | Nombre o ruta de atributo |
-| opBusq | *, Text | → | Operador de búsqueda (comparador) |
+| opBusq | Text, Operator | → | Operador de búsqueda (comparador) |
| valor | Text, Number, Date, Time | → | Valor a comparar |
-| * | Operador | → | Continuar bandera de búsqueda |
+| * | Operator | → | Espera de ejecución de la búsqueda |
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/commands-legacy/set-database-parameter.md b/i18n/es/docusaurus-plugin-content-docs/current/commands-legacy/set-database-parameter.md
index b2223dee64a5c1..e266448f1d160a 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/commands-legacy/set-database-parameter.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/commands-legacy/set-database-parameter.md
@@ -21,6 +21,34 @@ displayed_sidebar: docs
El *selector* designa el parámetro a modificar. 4D ofrece constantes predefinidas, las cuales se ubican en el tema *Parámetros de la base*. La siguiente tabla lista cada constante, describe su alcance e indica si los cambios realizados se conservan entre dos sesiones:
+### 4D Remote mode timeout (14)
+
+**Alcance** (antigua capa de red únicamente): aplicación 4D si valor positivo
+
+**Se conserva entre dos sesiones**: sí si *valor* positivo
+
+**Descripción**: a utilizar en casos muy específicos. Valor del timeout otorgado por el equipo 4D remoto a la máquina 4D Server. Por defecto, este valor se define en la página "Cliente-Servidor/Configuración" de la caja de diálogo de Preferencias en el equipo remoto.
+
+El selector Timeout 4D mode distant no se tiene en cuenta si utiliza la antigua capa de red. Con la capa 4D *ServerNet* activada, se ignora: esta configuración es administrada por el selector Timeout 4D Server (13).
+
+
+
+### 4D Server log recording (28)
+
+**Hilo seguro**: sí
+
+**Alcance**: 4D Server, 4D remoto*
+
+**Se conserva entre dos sesiones**: no
+
+ **Valores posibles**: 0 ó de 1 a X (0 = no grabar, 1 a X = número secuencial, añadido al nombre del archivo).
+
+**Descripción**: inicia o detiene la grabación de las peticiones estándar recibidas por 4D Server (excluyendo las peticiones web). Por defecto, el valor es 0 (no se graban las peticiones).
+
+4D Server le permite grabar cada petición recibida por el equipo servidor en un archivo de historial. Cuando este mecanismo está activo, el archivo de historial se crea junto al archivo de estructura de la base. Su nombre es "4DRequestsLog\_X," donde X es el número secuencial del historial. Una vez el archivo alcanza un tamaño de 10 MB, se cierra y se genera un nuevo archivo, con un número secuencial incrementado. Si existe un archivo con el mismo nombre, se reemplaza directamente. Puede definir el número de inicio de la secuencia utilizando el parámetro *valor*.
+
+Este archivo texto almacena en formato tabulado simple diferente información sobre cada petición: hora, número de proceso, usuario, tamaño de la petición, duración del proceso, etc. Esta información puede ser útil particularmente durante la fase de afinamiento de la aplicación o con fines estadísticos. Por ejemplo puede importarse, en un software de hoja de cálculo para procesarse.
+
### 4D Server timeout (13)
**Alcance**: aplicación 4D si *valor* positivo
@@ -39,27 +67,52 @@ Si pasa un valor **positivo** en el parámetro *valor*, define un timeout global
-### 4D Remote mode timeout (14)
+### Auto synchro resources folder (48)
-**Alcance** (antigua capa de red únicamente): aplicación 4D si valor positivo
+**Alcance**:equipo 4D remoto
-**Se conserva entre dos sesiones**: sí si *valor* positivo
+ **Se conserva entre dos sesiones**: no
-**Descripción**: a utilizar en casos muy específicos. Valor del timeout otorgado por el equipo 4D remoto a la máquina 4D Server. Por defecto, este valor se define en la página "Cliente-Servidor/Configuración" de la caja de diálogo de Preferencias en el equipo remoto.
+ **Valores posibles**: 0 (sin sincronización), 1 (auto sincronización) ó 2 (preguntar).
-El selector Timeout 4D mode distant no se tiene en cuenta si utiliza la antigua capa de red. Con la capa 4D *ServerNet* activada, se ignora: esta configuración es administrada por el selector Timeout 4D Server (13).
+**Descripción**: modo de sincronización dinámico de la carpeta *Resources* del equipo cliente 4D que ejecuta el comando con el servidor.
+
+Cuando el contenido de la carpeta *Resources* en el servidor se ha modificado o un usuario ha solicitado la sincronización (por ejemplo vía el explorador de recursos o siguiendo la ejecución del comando [NOTIFY RESOURCES FOLDER MODIFICATION](notify-resources-folder-modification.md "NOTIFY RESOURCES FOLDER MODIFICATION")), el servidor notifica a los equipos cliente conectados.
+Tres modos de sincronización son posibles del lado del cliente. El selector Auto Synchro Resources Folder se utiliza para especificar el modo a utilizar por el equipo cliente para la sesión actual:
+
+0 (valor por defecto): sin sincronización dinámica (la petición de sincronización se ignora) 1: sincronización dinámica automática2: visualización de una caja de diálogo en los equipos clientes, con la posibilidad de efectuar o rechazar la sincronización.El modo de sincronización también puede definirse globalmente en las Preferencias de la aplicación.
-### Port ID (15)
+
+### Cache flush periodicity (95)
+
+**Hilo seguro**: sí
+
**Alcance**: 4D local, 4D Server
+**Se conserva entre dos sesiones:** no
+
+**Valores posibles:** entero largo > 1 (segundos)
+
+**Descripción**: obtiene o establece la periodicidad del vaciado de la caché, expresado en segundos. La modificación de este valor prevalece sobre la opción **Vaciar caché cada X segundos** en [XML DECODE](xml-decode.md) de la configuración de la base para la sesión (que no se almacena en las Propiedades de la base).
+
+
+
+### Cache unload minimum size (66)
+
+**Alcance**: aplicación 4D
+
**Se conserva entre dos sesiones**: no
-**Descripción**: Command SET DATABASE Número de puerto TCP utilizado por el servidor web 4D con 4D en modo local y 4D Server. El valor por defecto, que puede ser definido en la página "Web/Configuración" de la caja de diálogo Preferencias, es 80. Puede utilizar las constantes del tema *Números de puerto TCP* para el parámetro *valor*.
+**Valores posibles**: entero largo positivo > 1.
-El selector Port ID se utiliza en el marco de servidores web 4D compilados y fusionados con 4D Desktop (sin acceso al modo Diseño). Para mayor información sobre el número de puerto TCP, consulte la sección *Parámetros del servidor web*
+**Descripción**: tamaño mínimo de memoria a liberar del caché de la base de datos cuando el motor necesita hacer espacio para ubicar un objeto (valor en bytes).
+
+El propósito de este selector es reducir el número de liberaciones de datos de la caché con el fin de obtener un mejor rendimiento. Puede hacer variar este parámetro en función del tamaño de la caché y del de los bloques de datos manipulados en su base.
+
+Por defecto, si este selector no se utiliza, 4D descarga mínimo 10% de la caché en caso de que se necesite espacio.Alcance: Aplicación 4D
@@ -73,37 +126,61 @@ El selector Port ID se utiliza en el marco de servidores web 4D compilados y fus
-### Max concurrent Web processes (18)
+### Circular log limitation (90)
-**Alcance**: 4D local, 4D Server
+**Hilo seguro**: sí
-**Se conserva entre dos sesiones**: sí
+**Alcance**: 4D local, 4D Server.
-**Descripción**: *constante obsoleta (se conserva por compatibilidad únicamente).* Se recomienda utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
+**Se conserva entre dos sesiones:** no
+**Valores posibles**: todo valor entero, 0 = conservar todos los registros
+**Descripción**: número máximo de archivos a conservar en rotación para cada tipo de registro. Por defecto, todos los archivos se conservan. Si pasa un valor *X*, solo los *X* archivos más recientes se conservan, el más antiguo se borra automáticamente cuando se crea uno nuevo. Esta parametrización se aplica a cada uno de los siguientes archivos de registro: registros de peticiones (selectores 28 y 45), registro de depuración (selector 34), registro de eventos (selector 79), así como el historial de peticiones web (selectores 29 y 84 del comando [WEB SET OPTION](web-set-option.md)), etc.
-### Client port ID (22)
+
+
+### Client character set (24)
**Alcance**: todos los equipos 4D remotos
**Se conserva entre dos sesiones**: sí
- **Valores posibles**: ver selector 15
+ **Valores posibles**: ver selector 17
-**Descripción**: permite especificar este parámetro para todos los equipos 4D remotos utilizados como servidores web. Los valores definidos utilizando estos selectores se aplican a todos los equipos remotos utilizados como servidores web. Si quiere definir valores sólo para ciertos equipos remotos, utilice la caja de diálogo de Preferencias de 4D en modo remoto.
+**Descripción**: permite especificar este parámetro para todos los equipos 4D remotos utilizados como servidores web. Los valores definidos utilizando estos selectores se aplican a todos los equipos remotos utilizados como servidores web. Si quiere definir los valores sólo para algunos equipos remotos, utilice la caja de diálogo de Preferencias de 4D en modo remoto.
-### Client character set (24)
+### Client HTTPS port ID (40)
**Alcance**: todos los equipos 4D remotos
**Se conserva entre dos sesiones**: sí
- **Valores posibles**: ver selector 17
+ **Valores posibles**: 0 a 65535
-**Descripción**: permite especificar este parámetro para todos los equipos 4D remotos utilizados como servidores web. Los valores definidos utilizando estos selectores se aplican a todos los equipos remotos utilizados como servidores web. Si quiere definir los valores sólo para algunos equipos remotos, utilice la caja de diálogo de Preferencias de 4D en modo remoto.
+**Descripción**: número de puerto TCP utilizado por los servidores web de los equipos clientes para conexiones seguras vía SSL (protocolo HTTPS). Por defecto, el valor es 443 (valor estándar).
+
+Este selector puede utilizarse para modificar por programación el puerto TCP utilizado por los servidores web de los equipos clientes para las conexiones seguras vía SSL (protocolo HTTPS). Por defecto, el valor es 443 (valor estándar).
+
+Este selector funciona exactamente igual que el selector 39; sin embargo, aplica a todos los equipos 4D remotos utilizados como servidores web. Si quiere modificar el valor de ciertos equipos clientes únicamente, utilice la caja de diálogo de Preferencias de 4D remoto.
+
+
+
+### Client log recording (45)
+
+**Alcance**:equipo 4D remoto
+
+ **Se conserva entre dos sesiones**: no
+
+ **Valores posibles**: 0 ó de 1 a X (0 = no grabar, 1 a X = número secuencial, asociado al nombre del archivo).
+
+**Descripción**: inicia o detiene la grabación de peticiones estándar efectuadas por el equipo cliente 4D que ejecutó el comando (excluyendo las peticiones web). Por defecto, el valor es 0 (no se graban las peticiones).
+
+4D le permite registrar el historial de peticiones realizadas por el equipo cliente. Cuando este mecanismo se activa, se crean dos archivos en el equipo cliente, en la subcarpeta Logs de la carpeta local de la base. Son llamados 4DRequestsLog\_X y 4DRequestsLog\_ProcessInfo\_X, donde X es el número secuencial del historial. Una vez el archivo 4DRequestsLog alcanza un tamaño de 10 MB, se cierra y se genera uno nuevo, con un número secuencial incrementado. Si ya existe un archivo con el mismo nombre, se reemplaza directamente. Puede definir el número de inicio para la secuencia utilizando el parámetro *valor*.
+
+Estos archivos texto almacenan en formato tabulado simple diferente información relacionada con cada petición: hora, número de proceso, tamaño de la petición, duración del proceso, etc. Esta información es particularmente útil durante la fase de desarrollo de la aplicación o con fines estadísticos.
@@ -119,31 +196,35 @@ El selector Port ID se utiliza en el marco de servidores web 4D compilados y fus
-### Maximum Web requests size (27)
+### Client port ID (22)
-**Alcance**: 4D local, 4D Server
+**Alcance**: todos los equipos 4D remotos
-**Se conserva entre dos sesiones**: sí
+ **Se conserva entre dos sesiones**: sí
-**Descripción**: Constante obsoleta (se conserva por compatibilidad únicamente). Se recomienda utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
+ **Valores posibles**: ver selector 15
+**Descripción**: permite especificar este parámetro para todos los equipos 4D remotos utilizados como servidores web. Los valores definidos utilizando estos selectores se aplican a todos los equipos remotos utilizados como servidores web. Si quiere definir valores sólo para ciertos equipos remotos, utilice la caja de diálogo de Preferencias de 4D en modo remoto.
-### 4D Server log recording (28)
-**Hilo seguro**: sí
+### Client Server port ID (35)
-**Alcance**: 4D Server, 4D remoto*
+**Alcance**: base de datos
-**Se conserva entre dos sesiones**: no
+**Se conserva entre dos sesiones**: sí
- **Valores posibles**: 0 ó de 1 a X (0 = no grabar, 1 a X = número secuencial, añadido al nombre del archivo).
+**Valores posibles**: 0 a 65535
-**Descripción**: inicia o detiene la grabación de las peticiones estándar recibidas por 4D Server (excluyendo las peticiones web). Por defecto, el valor es 0 (no se graban las peticiones).
+**Descripción**: número de puerto TCP donde el servidor 4D publica la base de datos (para conexión remota 4D). Por defecto, el valor es 19813\.
+
+La personalización de este valor permite utilizar varias aplicaciones 4D cliente-servidor en la misma máquina con el protocolo TCP; en este caso, debe indicar un número de puerto diferente para cada aplicación.
+
+El valor se guarda en el archivo de estructura de la base. Puede definirse con 4D en modo local pero sólo se tiene en cuenta en configuración cliente servidor.
+
+Cuando modifica este valor, es necesario reiniciar el equipo servidor para que el nuevo valor sea tenido en cuenta.
-4D Server le permite grabar cada petición recibida por el equipo servidor en un archivo de historial. Cuando este mecanismo está activo, el archivo de historial se crea junto al archivo de estructura de la base. Su nombre es "4DRequestsLog\_X," donde X es el número secuencial del historial. Una vez el archivo alcanza un tamaño de 10 MB, se cierra y se genera un nuevo archivo, con un número secuencial incrementado. Si existe un archivo con el mismo nombre, se reemplaza directamente. Puede definir el número de inicio de la secuencia utilizando el parámetro *valor*.
-Este archivo texto almacena en formato tabulado simple diferente información sobre cada petición: hora, número de proceso, usuario, tamaño de la petición, duración del proceso, etc. Esta información puede ser útil particularmente durante la fase de afinamiento de la aplicación o con fines estadísticos. Por ejemplo puede importarse, en un software de hoja de cálculo para procesarse.
### Client Web log recording (30)
@@ -159,17 +240,33 @@ El funcionamiento de este selector es idéntico al del selector 29; sin embargo,
-### Table sequence number (31)
+### Current process debug log recording (111)
-**Alcance**: aplicación 4D
+**Alcance:** Aplicación 4D
- **Se conserva entre dos sesiones**: sí
+**Se conserva entre dos sesiones:** no
- **Valores posibles**: todo valor de tipo entero largo.
+**Descripción**: inicia o detiene el registro secuencial de eventos de programación **del proceso actual** en un archivo de historial separado. Este historial es similar al Debug log recording (selector 34) pero se enfoca solo en el proceso actual. El nombre del archivo de historial incluye la letra "p" y el número del proceso: 4DDebugLog\[\_p*N*_*n*].txt, donde N es el ID único del proceso.
-**Descripción**: este selector se utiliza para modificar o modificar u obtener el número único actual de los registros de la tabla pasada en parámetro. "Número actual" significa "último número utilizado": si modifica este valor utilizando SET DATABASE PARAMETER, el siguiente registro será el valor pasado + 1\. Este nuevo número es el número devuelto por el comando Sequence number [](http://doc.tmp.4d.fr/Database-Parameters/4Dv11.4/ConstantTheme/4870/CMU00244.HTM) como también en todo campo de la tabla a la cual se asigna la propiedad "Autoincrementar" en el editor de estructura o vía SQL.
+Para más información sobre este formato y sobre el uso del archivo *4DDebugLog*, consulte *Descripción de archivos de historial* en el Modo Diseño.
-Por defecto, este número único es definido por 4D y corresponde al orden de creación de los registros. Para información adicional, por favor consulte la documentación del comando [Sequence number](sequence-number.md "Sequence number").
+**Notas:** Este selector se proporciona únicamente con el fin de depurar y debe utilizarse con cuidado. En particular, no debe ponerse en producción, ya que puede tener un impacto en el rendimiento de la aplicación. Puede utilizarar ambos selectores Debug log recording y Current process debug log recording simultáneamente, en cuyo caso las acciones del proceso actual no se registrarán en el archivo de historial principal.
+
+
+
+### Dates inside objects (85)
+
+**Alcance**: proceso actual
+
+ **Se conserva entre dos sesiones:** no
+
+ **Valores posibles**: Tipo cadena sin zona horaria (0), tipo cadena con zona horaria (1), tipo fecha (2) (por defecto)
+
+**Descripción**: define la forma en que se almacenan las fechas dentro de los objetos, así como también cómo se importan / exportan en JSON.
+
+Cuando el valor del selector es Date type (valor predeterminado para las bases creadas con 4D v17 y superior), las fechas 4D se almacenan con el tipo de fecha dentro de los objetos, con respecto a la configuración de fecha local. Cuando se convierte a formato JSON, los atributos de fecha se convertirán en cadenas que no incluyen un tiempo. (**Nota:** esta configuración se puede definir mediante la opción "Utilizar tipo de fecha en lugar del formato de fecha ISO en objetos" que se encuentra en *Página Compatibilidad* de la configuración de la base).
+
+Si pasa String type with time zone en este selector, convertirá las fechas 4D en cadenas ISO y tendrá en cuenta la zona horaria local. Por ejemplo, la conversión de la fecha 23/08/2013 le da "2013-08-22T22: 00: 000Z" en formato JSON cuando la operación se realiza en Francia durante el horario de verano (GMT+ 2). Este principio se ajusta al funcionamiento estándar de JavaScript. Esto puede ser una fuente de errores cuando desea enviar valores de fecha JSON a alguien en un huso horario diferente. Por ejemplo, cuando exporta una tabla usando [Selection to JSON](selection-to-json.md) en Francia que se debe reimportar en los EE. UU. utilizando [JSON TO SELECTION](json-to-selection.md). Dado que las fechas se vuelven a interpretar en cada zona horaria, los valores almacenados en la base de datos serán diferentes. En este caso, puede modificar el modo de conversión de las fechas para que no tengan en cuenta la zona horaria pasando String type without time zone en este selector. La conversión de la fecha 23/08/2013 le dará "2013-08-23T00: 00: 00Z" en todos los casos.
@@ -190,31 +287,24 @@ Por defecto, este número único es definido por 4D y corresponde al orden de cr
**Valores posibles**: entero largo contiene un campo de bits: valor = bit1(1)+bit2(2)+bit3(4)+bit4(8)+…).
- Bit 0 (valor 1) permite activar el archivo (note que cualquier otro valor no nulo también lo activará)
-
- Bit 1 (valor 2) permite solicitar los parámetros de llamada a los métodos y comandos.
-
- Bit 2 (valor 4) permite activar el nuevo formato tabulado.
-
- Bit 3 (valor 8) permite desactivar la escritura inmediata de cada operación en el disco (activado por defecto). La escritura inmediata es menor rápida y más eficaz por ejemplo para buscar las causas de un fallo.Si desactiva este modo, el contenido del archivo será generado más rápidamente.
-
- Bit 4 (valor 16) desactiva el registro de llamadas de plug-ins (activado por defecto).
-
- Bit 5 (valor 32) desactiva el registro de las funciones miembros.
Ejemplos:
+```4d
SET DATABASE PARAMETER (34;1) // activa el modo estándar sin los parámetros, con las duraciones
-
SET DATABASE PARAMETER (34;2) // activa el modo estándar con los parámetros y las duraciones
-
SET DATABASE PARAMETER (34;2+4) // activa el modo tabulado con los parámetros y las duraciones
-
SET DATABASE PARAMETER (34;0) // desactiva el archivo
+```
Para todo tipo de aplicación 4D interpretada o compilada (4D todos los modos, 4D Server, 4D Volume Desktop), puede evitar que un archivo registre demasiada información:
- restringiendo los comandos 4D que se examinan utilizando Log command list (selector 80), o
-
- restringiéndolo sólo al proceso actual con Current process debug log recording (selector 111). Esto añadirá la letra "p" y el número de proceso al nombre del archivo: *4DDebugLog\[\_pn\_n\].txt* o *4DDebugLogServer\[\_pn\_n\].txt*
*Para más información sobre este formato y sobre el uso del archivo *4DDebugLog*, consulte la sección *Descripción de archivos de historial*.
@@ -227,568 +317,569 @@ Este selector se ofrece únicamente con fines de depuración y debe utilizarse c
-### Client Server port ID (35)
+### Diagnostic log level (86)
-**Alcance**: base de datos
+**Hilo seguro**: sí
-**Se conserva entre dos sesiones**: sí
+**Alcance**: aplicación 4D
-**Valores posibles**: 0 a 65535
+**Se conserva entre dos sesiones**: no
-**Descripción**: número de puerto TCP donde el servidor 4D publica la base de datos (para conexión remota 4D). Por defecto, el valor es 19813\.
+**Descripción**: nivel(es) de los mensajes que se incluirán en el registro de diagnóstico cuando esté habilitado (ver selector Diagnostic log recording). Cada nivel designa una categoría de mensajes de diagnóstico e incluye automáticamente las categorías más importantes. Para una descripción de las categorías, consulte la sección *Niveles de registro de diagnóstico* en *developer.4d.com*.
-La personalización de este valor permite utilizar varias aplicaciones 4D cliente-servidor en la misma máquina con el protocolo TCP; en este caso, debe indicar un número de puerto diferente para cada aplicación.
+**Valores posibles**: una de las siguientes constantes (Log info por defecto): Log trace: activa ERROR, WARN, INFO, DEBUG, TRACE (nivel más detallado) Log debug: activa ERROR, WARN, INFO, DEBUG Log info: activa ERROR, WARN, INFO (por defecto) Log warn: activa ERROR, WARN Log error: activa ERROR (nivel menos detallado)
-El valor se guarda en el archivo de estructura de la base. Puede definirse con 4D en modo local pero sólo se tiene en cuenta en configuración cliente servidor.
-Cuando modifica este valor, es necesario reiniciar el equipo servidor para que el nuevo valor sea tenido en cuenta.
+### Diagnostic log recording (79)
+**Hilo seguro**: sí
-### HTTPS Port ID (39)
+**Alcance**: aplicación 4D
-**Alcance**: 4D local, 4D Server
+**Se conserva entre dos sesiones**: no
-**Se conserva entre dos sesiones**: sí
+**Valores posibles**: 0 ó 1 (0 = no guardar, 1 = guardar)
-**Descripción**: *constante obsoleta (se conserva por compatibilidad únicamente).* Se recomienda utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
+**Descripción**: inicio o detención del registro del archivo de diagnóstico de 4D. Por defecto, el valor es 0 (no guarda).
+4D permite guardar de manera continua en un archivo de diagnóstico un conjunto de eventos relativos al funcionamiento interno de la aplicación. La información contenida en este archivo está destinada a la actualización de las aplicaciones 4D y puede ser analizada con ayuda de los servicios técnicos de 4D. Cuando pasa 1 en este selector, el archivo de diagnóstico, llamado *NomBase.txt*, se crea automáticamente (o abre) en la carpeta **Logs** de la base. Una vez el archivo alcance un tamaño de 10 MB, se cierra y se genera un nuevo archivo *NomBase\_N.txt*, con un número secuencial N incrementado.
+Note que es posible incluir la información personalizada en este archivo con ayuda del comando [LOG EVENT](log-event.md).
-### Client HTTPS port ID (40)
-**Alcance**: todos los equipos 4D remotos
- **Se conserva entre dos sesiones**: sí
+### Direct2D get active status (74)
- **Valores posibles**: 0 a 65535
+**Nota**: sólo puede utilizar este selector con el comando [Get database parameter](get-database-parameter.md "Get database parameter") y su valor no puede definirse.
-**Descripción**: número de puerto TCP utilizado por los servidores web de los equipos clientes para conexiones seguras vía SSL (protocolo HTTPS). Por defecto, el valor es 443 (valor estándar).
+**Descripción**: devuelve la implementación activa de Direct2D bajo Windows.
-Este selector puede utilizarse para modificar por programación el puerto TCP utilizado por los servidores web de los equipos clientes para las conexiones seguras vía SSL (protocolo HTTPS). Por defecto, el valor es 443 (valor estándar).
+**Valores posibles**: 0, 1, 2, 3, 4 o 5 (ver los valores del selector 69). El valor devuelto depende de la disponibilidad de Direct2D, del hardware y de la calidad Direct2D soportado por el sistema operativo.
-Este selector funciona exactamente igual que el selector 39; sin embargo, aplica a todos los equipos 4D remotos utilizados como servidores web. Si quiere modificar el valor de ciertos equipos clientes únicamente, utilice la caja de diálogo de Preferencias de 4D remoto.
+Por ejemplo, si ejecuta:
+```4d
+SET DATABASE PARAMETER(Direct2D status;Direct2D Hardware)
+$mode:=Get database parameter(Direct2D get active status)
+```
+- En Windows 7 y superiores, $mode vale 1 cuando el sistema detecta un hardware compatible con Direct2D; de lo contrario, $mode valdrá 3 (contexto software).
+- En Windows Vista, $mode valdrá 1 si el sistema detecta un hardware compatible con Direct2D; de lo contrario, $mode toma el valor 0 (desactivando Direct2D).
+- En Windows XP, $mode siempre valdrá 0 (no compatible con Direct2D).
-### SQL Autocommit (43)
-**Alcance**: base de datos
- **Se conserva entre dos sesiones**: sí
+### Direct2D status (69)
- **Posibles valores**: 0 (desactivación) o 1 (activación)
+**Alcance**: aplicación 4D
-**Descripción**: activación o desactivación del modo SQL auto-commit. Por defecto, el valor es 0 (modo desactivado)
+**Se conserva entre dos sesiones**: no
- El modo auto-commit permite reforzar la integridad referencial de la base. Cuando este modo está activo, las peticiones *SELECT*, INSERT, UPDATE y *DELETE* (SIUD) se incluyen automáticamente en las transacciones cuando no se han ejecutado dentro de una transacción. Este modo igualmente puede definirse en las Preferencias de la base.
+**Descripción**: modo de activación de Direct2D bajo Windows.
+**Valores posibles**: una de las siguientes constantes (modo 3 por defecto):
+- Direct2D Disabled (0): el modo Direct2D no está habilitado y la base de datos funciona en el modo anterior (GDI/GDIPlus).
+- Direct2D Hardware (1): utilice Direct2D como contexto de hardware de gráficos para toda la aplicación 4D. Si este contexto no está disponible, use el contexto del software de gráficos Direct2D.
+- Direct2D Software (3) (modo predeterminado): a partir de Windows 7, utilice el contexto del software de gráficos Direct2D para toda la aplicación 4D.
-### SQL Engine case sensitivity (44)
+***Advertencia*: este selector se ofrece solo para fines de depuración. Dado que varias funciones 4D se basan en Direct2D, no se debe desactivar en las aplicaciones implementadas. Solo el modo predeterminado (Direct2D Software)* **está aprobado para las aplicaciones desplegadas.*
-**Alcance**: base de datos
- **Se conserva entre dos sesiones**: sí
- **Valores posibles**: 0 (no se tienen en cuenta las mayúsculas y minúsculas) ó 1 (sensible a las mayúsculas y minúsculas)
+### HTTP compression level (50)
-**Descripción**: activación o desactivación de la sensibilidad a mayúsculas y minúsculas para comparaciones de cadenas efectuadas por el motor SQL.
+**Alcance**: aplicación 4D
-Por defecto, el valor es 1 (sensible a las mayúsculas y minúsculas): el motor SQL diferencia entre mayúsculas y minúsculas y entre caracteres acentuados al comparar cadenas (ordenaciones y búsquedas). Por ejemplo “ABC”= “ABC” pero “ABC” # “Abc.” En algunos casos, por ejemplo para alinear el funcionamiento del motor SQL con el del motor 4D, podría querer que las comparaciones de cadenas no tengan en cuenta las mayúsculas y minúsculas (“ABC”=“Abc”).
+**Se conserva entre dos sesiones**: no
-Esta opción también puede definirse en la [CALL SUBFORM CONTAINER](call-subform-container.md) de las Preferencias de la base.
+**Descripción**: *constante obsoleta (se conserva por compatibilidad únicamente).* Se recomienda utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
-### Client log recording (45)
+### HTTP compression threshold (51)
-**Alcance**:equipo 4D remoto
+**Alcance**: aplicación 4D
- **Se conserva entre dos sesiones**: no
+**Se conserva entre dos sesiones**: no
- **Valores posibles**: 0 ó de 1 a X (0 = no grabar, 1 a X = número secuencial, asociado al nombre del archivo).
+**Descripción**: *constante obsoleta (se conserva por compatibilidad únicamente).* Se recomienda utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
-**Descripción**: inicia o detiene la grabación de peticiones estándar efectuadas por el equipo cliente 4D que ejecutó el comando (excluyendo las peticiones web). Por defecto, el valor es 0 (no se graban las peticiones).
-4D le permite registrar el historial de peticiones realizadas por el equipo cliente. Cuando este mecanismo se activa, se crean dos archivos en el equipo cliente, en la subcarpeta Logs de la carpeta local de la base. Son llamados 4DRequestsLog\_X y 4DRequestsLog\_ProcessInfo\_X, donde X es el número secuencial del historial. Una vez el archivo 4DRequestsLog alcanza un tamaño de 10 MB, se cierra y se genera uno nuevo, con un número secuencial incrementado. Si ya existe un archivo con el mismo nombre, se reemplaza directamente. Puede definir el número de inicio para la secuencia utilizando el parámetro *valor*.
-
-Estos archivos texto almacenan en formato tabulado simple diferente información relacionada con cada petición: hora, número de proceso, tamaño de la petición, duración del proceso, etc. Esta información es particularmente útil durante la fase de desarrollo de la aplicación o con fines estadísticos.
+### HTTPS Port ID (39)
+**Alcance**: 4D local, 4D Server
-### Query by formula on server (46)
+**Se conserva entre dos sesiones**: sí
-**Alcance**: tabla y procesos actuales
+**Descripción**: *constante obsoleta (se conserva por compatibilidad únicamente).* Se recomienda utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
- **Se conserva entre dos sesiones**: no
- **Valores posibles**: 0 (utilizar la configuración de la base), 1 (ejecutar en cliente) o 2 (ejecutar en servidor)
-**Descripción**: ubicación de la ejecución de los comandos [QUERY BY FORMULA](query-by-formula.md "QUERY BY FORMULA") y [QUERY SELECTION BY FORMULA](query-selection-by-formula.md "QUERY SELECTION BY FORMULA") para la *tabla* pasada en parámetro.
+### Idle connections timeout (54)
-Cuando se utiliza una base en modo cliente-servidor, los comandos de búsqueda "por fórmula" pueden ejecutarse en el servidor o en el equipo cliente:
+**Alcance**: aplicación 4D a menos que valor sea negativo
-en bases creadas con 4D v11 SQL, estos comandos se ejecutan en el servidor.en bases convertidas, estos comandos se ejecutan en el equipo cliente, como en las versiones anteriores de 4D.en las bases convertidas, una preferencia específica permite modificar globalmente la ubicación de ejecución de estos comandos.Esta diferencia en ubicación de ejecución influye no sólo en el rendimiento de la aplicación (la ejecución en el servidor es generalmente más rápida) sino también en la programación. En efecto, el valor de los componentes de la fórmula (en particular las variables llamadas vía un método) varía de acuerdo al contexto de ejecución. Puede utilizar este selector para adaptar puntualmente el funcionamiento de su aplicación.
+**Se conserva entre dos sesiones:** no
-Si pasa 0 en el parámetro *valor*, la ubicación de ejecución de los comandos de búsqueda "por fórmula" dependerá de la configuración de la base: en bases creadas con 4D v11 SQL, estos comandos se ejecutarán en el servidor. En bases convertidas, se ejecutarán en el equipo cliente o en el servidor en función de las preferencias de la base. Pase 1 ó 2 en *valor* para "forzar" la ejecución de estos comandos respectivamente en el equipo cliente o en el servidor.
+**Valores posibles:** valor entero que expresa una duración en segundos. El valor puede ser positivo (nuevas conexiones) o negativo (conexiones existentes). Por defecto, el valor es 20.
-Consulte el ejemplo 2.
+**Descripción**: máximo periodo de inactividad (timeout) para conexiones al motor de la base 4D, el motor SQL y el servidor de aplicaciones 4D (capa de red *ServerNet* únicamente, ignorado en *QUIC*). Cuando una conexión inactiva alcanza este límite, se pone en espera automáticamente, lo cual congela la sesión cliente/servidor y cierra el socket de red. En la ventana de administración del servidor, el estado del proceso del usuario se indica como "Postponed". Este funcionamiento es totalmente transparente para el usuario: tan pronto como hay una nueva actividad en la conexión que está en espera, el socket se reabre automáticamente y la sesión cliente/servidor se restaura.
-**Nota:** si quiere activar las uniones "tipo SQL" (consulte el selector QUERY BY FORMULA Joins selector), siempre debe ejecutar las fórmulas en el servidor de manera que tengan acceso a los registros. Atención, en este contexto, la fórmula no debe contener llamadas a un método, de lo contrario pasará automáticamente al equipo remoto.
+Este parámetro permite, por una parte, economizar los recursos en el servidor: las conexiones en espera cierran el socket y liberan un proceso en el servidor. Por otra parte, esto le permite evitar pérdida de conexiones por el cierre de sockets por parte del firewall. Por esta razón, el valor del timeout para conexiones inactivas deber ser menor que el del firewall en este caso.
+Si pasa un valor positivo en *valor*, se aplicará a todas las nuevas conexiones en todos los procesos. Si pasa un valor negativo, se aplicará a las conexiones que se abran en el proceso actual. Si pasa 0, las conexiones inactivas no serán sometidas a un timeout.
+Este parámetro puede definirse del lado del cliente. Por lo general, no necesita cambiar este valor.
-### Order by formula on server (47)
-**Alcance**: tabla y procesos actuales
- **Se conserva entre dos sesiones**: no
+### IMAP Log (119)
- **Valores posibles**: 0 (utilizar la configuración de la base), 1 (ejecutar en el cliente) o 2 (ejecutar en el servidor)
+**Hilo seguro**: sí
-**Descripción**: ubicación de la ejecución del comando [ORDER BY FORMULA](order-by-formula.md "ORDER BY FORMULA") para la tabla pasada en parámetro.
+**Alcance**: 4D local, 4D Server
-Al utilizar una base en modo cliente-servidor, el comando [ORDER BY FORMULA](order-by-formula.md "ORDER BY FORMULA") puede ejecutarse bien sea en el equipo servidor o en el cliente. Este selector puede utilizarse para especificar la ubicación de la ejecución de este comando (servidor o cliente). Este modo también puede definirse en las preferencias de la base. Para mayor información, consulte la descripción del selector 46, Query By Formula On Server.
+**Se conserva entre dos sesiones**: no
-**Nota:** si quiere activar las uniones "tipo SQL" (consulte el selector QUERY BY FORMULA Joins selector), siempre debe ejecutar las fórmulas en el servidor de manera que tengan acceso a los registros. Atención, en este contexto, la fórmula no debe contener llamadas a un método, de lo contrario pasará automáticamente al equipo remoto.
+**Valores posibles**: 0 o de 1 a X (0 = no grabar, 1 a X = número secuencial, añadido al nombre del archivo). Por defecto, el valor es 0 (los intercambios IMAP no se registran).
+**Descripción**: inicia o detiene la grabación de los intercambios entre 4D y el servidor IMAP, cuando se procesa un objeto transportador a través de *IMAP\_transporter.getMail( )* o *IMAP\_transporter.checkConnection( )*. Por defecto, el valor es 0 (intercambios no registrados). Cuando se activa este mecanismo, se crea un archivo de registro en la carpeta Logs de la base. Se llama 4DIMAPLog\_X.txt, donde X es el número secuencial del registro. Una vez que el archivo 4DIMAPLog ha alcanzado un tamaño de 10 MB, se cierra y se genera uno nuevo, con un número secuencial incrementado. Si ya existe un archivo con el mismo nombre, se sustituye directamente. Se puede definir el número inicial de la secuencia mediante el parámetro valor. Por defecto, se conservan todos los archivos, pero puede controlar el número de archivos a conservar utilizando el parámetro Circular log limitation.
+Para más información sobre los archivos 4DIMAPLog\_X.txt, consulte la sección *Descripción de archivos de historial*.
-### Auto synchro resources folder (48)
-**Alcance**:equipo 4D remoto
- **Se conserva entre dos sesiones**: no
+### Is current database a project (112)
- **Valores posibles**: 0 (sin sincronización), 1 (auto sincronización) ó 2 (preguntar).
+**Nota:** solo puede utilizar este selector con el comando [Get database parameter](get-database-parameter.md) y su valor no se puede definir.
-**Descripción**: modo de sincronización dinámico de la carpeta *Resources* del equipo cliente 4D que ejecuta el comando con el servidor.
+**Alcance**: aplicación 4D
-Cuando el contenido de la carpeta *Resources* en el servidor se ha modificado o un usuario ha solicitado la sincronización (por ejemplo vía el explorador de recursos o siguiendo la ejecución del comando [NOTIFY RESOURCES FOLDER MODIFICATION](notify-resources-folder-modification.md "NOTIFY RESOURCES FOLDER MODIFICATION")), el servidor notifica a los equipos cliente conectados.
+**Descripción**: devuelve 1 si la arquitectura de la base actual es un proyecto y 0 en caso contrario. Para más información, consulte la sección *Base proyecto vs base binaria*.
-Tres modos de sincronización son posibles del lado del cliente. El selector Auto Synchro Resources Folder se utiliza para especificar el modo a utilizar por el equipo cliente para la sesión actual:
-0 (valor por defecto): sin sincronización dinámica (la petición de sincronización se ignora) 1: sincronización dinámica automática2: visualización de una caja de diálogo en los equipos clientes, con la posibilidad de efectuar o rechazar la sincronización.El modo de sincronización también puede definirse globalmente en las Preferencias de la aplicación.
+### Is host database a project (113)
+**Nota:** solo puede utilizar este selector con el comando [Get database parameter](get-database-parameter.md) y su valor no se puede definir.
-### Query by formula joins (49)
+**Alcance**: aplicación 4D
-**Alcance**: proceso actual
+**Descripción**: devuelve 1 si la arquitectura de la base local es un proyecto y 0 en caso contrario. Para más información, consulte la sección *Base proyecto vs base binaria*.
- **Se conserva entre dos sesiones**: no
- **Valores posibles**: 0 (utilizar configuración de la base), 1 (siempre utilizar relaciones automáticas) o 2 (utilizar las uniones SQL si es posible).
-**Descripción**: modo de funcionamiento de los comandos [QUERY BY FORMULA](query-by-formula.md "QUERY BY FORMULA") y [QUERY SELECTION BY FORMULA](query-selection-by-formula.md "QUERY SELECTION BY FORMULA") relativos al uso de "uniones SQL."
+### Is host database writable (117)
-En las bases de datos creadas a partir de la versión 11.2 de 4D v11 SQL, estos comandos efectúan uniones basados en el modelo de uniones SQL. Este mecanismo permite modificar la selección de una tabla en función de una búsqueda efectuada en otra tabla sin que las tablas estén conectadas por una relación automática (condición necesaria en las versiones anteriores de 4D).
+**Nota**: solo puede utilizar este selector con el comando [Get database parameter](get-database-parameter.md) y su valor no se puede definir.
-El selector QUERY BY FORMULA Joins permite definir el modo de funcionamiento de los comandos de búsqueda por fórmula para el proceso actual:
+**Alcance**: aplicación 4D
-0: Utilizar los parámetros actuales de la base (valor por defecto). En bases creadas a partir de la versión 11.2 de 4D v11 SQL, las "uniones SQL" siempre se activan para las búsquedas por fórmula. En bases de datos convertidas, este mecanismo no se activa por defecto por razones de compatibilidad pero puede implementarse vía una preferencia.1: Siempre utilizar relaciones automáticas (= funcionamiento de versiones anteriores de 4D). En este modo, una relación es necesaria para definir la selección de una tabla en función de búsquedas efectuadas en otra tabla. 4D no efectúa más "uniones SQL."2: Utilizar las uniones SQL si es posible (= funcionamiento o defecto de las bases creadas en versión 11.2 y superiores de 4D v11 SQL). En este modo, 4D establece "uniones SQL" para las búsquedas por fórmula cuando la fórmula se ajusta para ello (con dos excepciones, ver la descripción del comando [QUERY BY FORMULA](query-by-formula.md "QUERY BY FORMULA") o [QUERY SELECTION BY FORMULA](query-selection-by-formula.md "QUERY SELECTION BY FORMULA")).**Nota:** si quiere activar las uniones "tipo SQL" (consulte el selector QUERY BY FORMULA Joins selector), siempre debe ejecutar las fórmulas en el servidor de manera que tengan acceso a los registros. Atención, en este contexto, la fórmula no debe contener llamadas a un método, de lo contrario pasará automáticamente al equipo remoto.
+**Descripción**: devuelve 1 si el archivo estructura/archivo proyecto local es editable y 0 si es de solo lectura.
-### HTTP compression level (50)
+### Libldap version (114)
-**Alcance**: aplicación 4D
+**Alcance**: máquina 4D actual
**Se conserva entre dos sesiones**: no
-**Descripción**: *constante obsoleta (se conserva por compatibilidad únicamente).* Se recomienda utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
+**Descripción**: devuelve el número de versión de la librería LDAP en la aplicación 4D en la máquina actual. (Solo lectura)
-### HTTP compression threshold (51)
+### Libsasl version (115)
-**Alcance**: aplicación 4D
+**Alcance**: máquina 4D actual
**Se conserva entre dos sesiones**: no
-**Descripción**: *constante obsoleta (se conserva por compatibilidad únicamente).* Se recomienda utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
-
+**Descripción**: devuelve el número de versión de la librería SASL en la aplicación 4D en la máquina actual. (Solo lectura)
-### Server base process stack size (53)
-**Alcance**: 4D Server
+### Libzip version (120)
- **Se conserva entre dos sesiones**: no
+**Alcance**: máquina 4D actual
- **Valores posibles**: entero largo positivo.
+**Se conserva entre dos sesiones**: n/a
-**Descripción**: tamaño de la pila asignada a cada proceso del sistema preferente en el servidor, expresado en bytes. El tamaño por defecto es determinado por el sistema.
+**Descripción**: devuelve el número de versión de la librería libzip en la aplicación 4D en la máquina actual. (Sólo lectura)
-Los procesos sistema preferente (procesos de tipo Proceso base 4D client) se cargan para controlar los procesos cliente 4D principales. El tamaño asignado por defecto a la pila de cada proceso preferente da facilidad de ejecución pero puede resultar consecuente cuando se crea un gran número de procesos (varios cientos).
-Por razones de optimización, este tamaño puede reducirse considerablemente si las operaciones efectuadas por la base lo permiten (por ejemplo si la base no efectúa ordenaciones de grandes cantidades de registros). Son posibles valores de 512 o incluso 256 KB. Sea cuidadoso, subdimensionar la pila es critico y puede afectar la operación de 4D Server. La definición de este parámetro debe hacerse con precaución y tener en cuenta las condiciones de uso de la base (número de registros, tipo de operaciones, etc.).
-Para que sea tenido en cuenta, este parámetro debe ejecutarse en el equipo servidor (por ejemplo en el *Método base On Server Startup*).
+### Log command list (80)
+**Alcance**: aplicación 4D
+**Se conserva entre dos sesiones**: no
-### Idle connections timeout (54)
+**Valores posibles**: cadena que contiene la lista de números de los comandos 4D a guardar (separados por dos puntos), "all" para guardar todos los comandos o "" (cadena vacía) para no guardar ninguno.
-**Alcance**: aplicación 4D a menos que valor sea negativo
+**Descripción**: la lista de comandos 4D a guardar en el archivo de depuración (ver el selector 34, Debug Log Recording). Por defecto, se guardan todos los comandos 4D.
-**Se conserva entre dos sesiones:** no
+Este selector restringe la cantidad de información guardada en el archivo de depuración limitando los comandos 4D cuya ejecución desea registrar o excluir del registro. Por ejemplo, puede escribir:
-**Valores posibles:** valor entero que expresa una duración en segundos. El valor puede ser positivo (nuevas conexiones) o negativo (conexiones existentes). Por defecto, el valor es 20.
+```4d
+ SET DATABASE PARAMETER(Log command list;"277;341") //Graba solo los comandos QUERY y QUERY SELECTION
+ SET DATABASE PARAMETER(Log command list;"-1666;-323") //Excluye los comandos SET USER ALIAS y DELAY PROCESS de ser grabados
+```
-**Descripción**: máximo periodo de inactividad (timeout) para conexiones al motor de la base 4D, el motor SQL y el servidor de aplicaciones 4D (capa de red *ServerNet* únicamente, ignorado en *QUIC*). Cuando una conexión inactiva alcanza este límite, se pone en espera automáticamente, lo cual congela la sesión cliente/servidor y cierra el socket de red. En la ventana de administración del servidor, el estado del proceso del usuario se indica como "Postponed". Este funcionamiento es totalmente transparente para el usuario: tan pronto como hay una nueva actividad en la conexión que está en espera, el socket se reabre automáticamente y la sesión cliente/servidor se restaura.
-Este parámetro permite, por una parte, economizar los recursos en el servidor: las conexiones en espera cierran el socket y liberan un proceso en el servidor. Por otra parte, esto le permite evitar pérdida de conexiones por el cierre de sockets por parte del firewall. Por esta razón, el valor del timeout para conexiones inactivas deber ser menor que el del firewall en este caso.
+### Max concurrent Web processes (18)
-Si pasa un valor positivo en *valor*, se aplicará a todas las nuevas conexiones en todos los procesos. Si pasa un valor negativo, se aplicará a las conexiones que se abran en el proceso actual. Si pasa 0, las conexiones inactivas no serán sometidas a un timeout.
+**Alcance**: 4D local, 4D Server
-Este parámetro puede definirse del lado del cliente. Por lo general, no necesita cambiar este valor.
+**Se conserva entre dos sesiones**: sí
+**Descripción**: *constante obsoleta (se conserva por compatibilidad únicamente).* Se recomienda utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
-### PHP interpreter IP address (55)
-**Alcance**: Aplicación 4D
+### Maximum Web requests size (27)
-**Se conserva entre dos sesiones**: no
+**Alcance**: 4D local, 4D Server
-**Valores**: cadena formateada del tipo "nnn.nnn.nnn.nnn" (por ejemplo "127.0.0.1").
+**Se conserva entre dos sesiones**: sí
-**Descripción**: dirección IP utilizada localmente por 4D para comunicarse con el intérprete PHP vía FastCGI. Por defecto, el valor es "127.0.0.1". Esta dirección debe corresponder a la máquina donde en encuentra 4D. Este parámetro también puede definirse globalmente para todas las máquinas vía las Propiedades de la base.
+**Descripción**: Constante obsoleta (se conserva por compatibilidad únicamente). Se recomienda utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
-Para mayor información sobre el intérprete PHP, por favor consulte el manual de *Diseño*.
+### Min TLS version (105)
-### PHP interpreter port (56)
+**Alcance**: 4D Server, 4D Web Server y 4D SQL Server
-**Alcance**: aplicación 4D
+**Conservar entre dos sesiones**: no
- **Se conserva entre dos sesiones**: no
+**Descripción**: se utiliza para especificar el nivel TLS (Transport Layer Security), que ofrece cifrado y autenticación de datos entre aplicaciones y servidores. Se rechazarán los intentos de conexión de clientes que sólo soporten versiones inferiores a la mínima. La configuración se aplica globalmente a la capa de red. Una vez modificado, el servidor debe reiniciarse para utilizar el nuevo valor.
-**Valores**: valor de tipo entero largo positivo. Por defecto, el valor es 8002\.
+**Valor por defecto**: TLSv1\_3
-**Descripción**: número de puerto TCP utilizado o por el intérprete PHP de 4D. Este parámetro también puede modificarse globalmente para todos los equipos vía las Propiedades de la base. Para mayor información sobre el intérprete PHP, consulte el manual de *Diseño*.
+**Valores posibles**:
+- TLSv1\_2 (TLS 1.2, introducido en 2008)
+- TLSv1\_3 (TLS 1.3, introducido en 2018)
+**NOTAS**:
+- El plugin 4D Internet Commands utiliza una capa de red diferente, por lo que este selector no tendrá ningún impacto en su versión TLS.
+- Se ignorarán los intentos de aplicar TLS a la capa de red heredada.
-### SSL cipher list (64)
-**Alcance**: Aplicación 4D
-Se conserva entre dos sesiones: No
+### Number of formulas in cache (92)
-**Valores posibles**: secuencia de cadenas separadas por dos puntos.
+**Alcance**: aplicación 4D
-**Descripción:** lista de cifrado (*cipher list*) utilizada por 4D para el protocolo seguro. Esta lista modifica la prioridad de los algoritmos de cifrado implementados por 4D. Por ejemplo, puede pasar la siguiente cadena en el parámetro *valor*: "HIGH:!aNULL:!MD5:!3DES:!CAMELLIA:!AES128:!RSA:!DH:!RC4".
+**Se conserva entre dos sesiones:** no
-Para una descripción completa de la sintaxis para la lista cifrada, consulte la *página de cifrado del sitio OpenSSL*.
+**Valores posibles**: enteros largos positivos
-Esta configuración se aplica al servidor web principal (excluyendo los objetos del servidor web), al servidor SQL, a las conexiones cliente/servidor, así como al cliente HTTP y a todos los comandos 4D que hacen uso del protocolo seguro. Es temporal (no se mantiene entre sesiones).
+**Valor por defecto**: 0 (sin caché)
-Cuando la lista de cifrado se modifica, debe reiniciar el servidor correspondiente para que los nuevos parámetros sean tenidos en cuenta.
+**Descripción**: establece u obtiene el número máximo de fórmulas a conservar en la memoria caché de fórmulas, que es utilizado por el comando [EXECUTE FORMULA](execute-formula.md). Este límite se aplica a todos los procesos, pero cada proceso tiene su propia caché de fórmulas. Ubicar las fórmulas en la caché acelera la ejecución del comando [EXECUTE FORMULA](execute-formula.md) en modo compilado, ya que cada fórmula en caché se tokeniza sólo una vez en este caso.Cuando se cambia el valor de la memoria caché, el contenido existente se restablecen incluso si el nuevo tamaño es más grande que el anterior. Una vez se alcanza el número máximo de fórmulas en la memoria caché, una nueva fórmula ejecutada borrará a la más antigua de la memoria caché (modo FIFO). Este parámetro sólo se tiene en cuenta en las bases o componentes compilados.
-Para reinicializar la lista de cifrado a su valor por defecto (guardado permanentemente en el archivo SLI), llame al comando [SET DATABASE PARAMETER](set-database-parameter.md) y pase una cadena vacía ("") en el parámetro *valor*.
-**Nota:** con el comando [Get database parameter](get-database-parameter.md), la lista de cifrado se devuelve en el parámetro opcional *valorAlfa* y el parámetro de retorno es siempre 0.
-### Cache unload minimum size (66)
+### OpenSSL version (94)
-**Alcance**: aplicación 4D
+**Alcance**: todas las máquinas 4D
**Se conserva entre dos sesiones**: no
-**Valores posibles**: entero largo positivo > 1.
-
-**Descripción**: tamaño mínimo de memoria a liberar del caché de la base de datos cuando el motor necesita hacer espacio para ubicar un objeto (valor en bytes).
+**Descripción**: devuelve el número de versión de la librería OpenSSL que se utiliza en la máquina. (Solo lectura)
-El propósito de este selector es reducir el número de liberaciones de datos de la caché con el fin de obtener un mejor rendimiento. Puede hacer variar este parámetro en función del tamaño de la caché y del de los bloques de datos manipulados en su base.
-Por defecto, si este selector no se utiliza, 4D descarga mínimo 10% de la caché en caso de que se necesite espacio.Alcance: Aplicación 4D
+### Order by formula on server (47)
+**Alcance**: tabla y procesos actuales
-### Direct2D status (69)
+ **Se conserva entre dos sesiones**: no
-**Alcance**: aplicación 4D
+ **Valores posibles**: 0 (utilizar la configuración de la base), 1 (ejecutar en el cliente) o 2 (ejecutar en el servidor)
-**Se conserva entre dos sesiones**: no
+**Descripción**: ubicación de la ejecución del comando [ORDER BY FORMULA](order-by-formula.md "ORDER BY FORMULA") para la tabla pasada en parámetro.
-**Descripción**: modo de activación de Direct2D bajo Windows.
+Al utilizar una base en modo cliente-servidor, el comando [ORDER BY FORMULA](order-by-formula.md "ORDER BY FORMULA") puede ejecutarse bien sea en el equipo servidor o en el cliente. Este selector puede utilizarse para especificar la ubicación de la ejecución de este comando (servidor o cliente). Este modo también puede definirse en las preferencias de la base. Para mayor información, consulte la descripción del selector 46, Query By Formula On Server.
-**Valores posibles**: una de las siguientes constantes (modo 3 por defecto):
+**Nota:** si quiere activar las uniones "tipo SQL" (consulte el selector QUERY BY FORMULA Joins selector), siempre debe ejecutar las fórmulas en el servidor de manera que tengan acceso a los registros. Atención, en este contexto, la fórmula no debe contener llamadas a un método, de lo contrario pasará automáticamente al equipo remoto.
-Direct2D Disabled (0): el modo Direct2D no está habilitado y la base de datos funciona en el modo anterior (GDI/GDIPlus).
-Direct2D Hardware (1): utilice Direct2D como contexto de hardware de gráficos para toda la aplicación 4D. Si este contexto no está disponible, use el contexto del software de gráficos Direct2D.
-Direct2D Software (3) (modo predeterminado): a partir de Windows 7, utilice el contexto del software de gráficos Direct2D para toda la aplicación 4D.
+### Pause logging (121)
-***Advertencia*: este selector se ofrece solo para fines de depuración. Dado que varias funciones 4D se basan en Direct2D, no se debe desactivar en las aplicaciones implementadas. Solo el modo predeterminado (Direct2D Software)* **está aprobado para las aplicaciones desplegadas.*
+**Hilo seguro**: sí
+**Alcance**: aplicación 4D
+**Se mantiene entre dos sesiones**: no
-### Direct2D get active status (74)
+**Valores posibles**: 0 (reanudar historial), 1 (pausar historial)
-**Nota**: sólo puede utilizar este selector con el comando [Get database parameter](get-database-parameter.md "Get database parameter") y su valor no puede definirse.
+Este selector permite suspender/reanudar todas las operaciones de registro iniciadas en la aplicación (excepto los registros ORDA). Esta función puede ser útil para aligerar temporalmente las tareas de la aplicación 4D o programar las operaciones de registro.
-**Descripción**: devuelve la implementación activa de Direct2D bajo Windows.
-**Valores posibles**: 0, 1, 2, 3, 4 o 5 (ver los valores del selector 69). El valor devuelto depende de la disponibilidad de Direct2D, del hardware y de la calidad Direct2D soportado por el sistema operativo.
-Por ejemplo, si ejecuta:
+### PHP interpreter IP address (55)
- SET DATABASE PARAMETER(Direct2D status;Direct2D Hardware) $mode:=Get database parameter(Direct2D get active status)
+**Alcance**: Aplicación 4D
-- En Windows 7 y superiores, $mode vale 1 cuando el sistema detecta un hardware compatible con Direct2D; de lo contrario, $mode valdrá 3 (contexto software).
+**Se conserva entre dos sesiones**: no
-- En Windows Vista, $mode valdrá 1 si el sistema detecta un hardware compatible con Direct2D; de lo contrario, $mode toma el valor 0 (desactivando Direct2D).
+**Valores**: cadena formateada del tipo "nnn.nnn.nnn.nnn" (por ejemplo "127.0.0.1").
-- En Windows XP, $mode siempre valdrá 0 (no compatible con Direct2D).
+**Descripción**: dirección IP utilizada localmente por 4D para comunicarse con el intérprete PHP vía FastCGI. Por defecto, el valor es "127.0.0.1". Esta dirección debe corresponder a la máquina donde en encuentra 4D. Este parámetro también puede definirse globalmente para todas las máquinas vía las Propiedades de la base.
+Para mayor información sobre el intérprete PHP, por favor consulte el manual de *Diseño*.
-### Diagnostic log recording (79)
-**Hilo seguro**: sí
+### PHP interpreter port (56)
**Alcance**: aplicación 4D
-**Se conserva entre dos sesiones**: no
-
-**Valores posibles**: 0 ó 1 (0 = no guardar, 1 = guardar)
+ **Se conserva entre dos sesiones**: no
-**Descripción**: inicio o detención del registro del archivo de diagnóstico de 4D. Por defecto, el valor es 0 (no guarda).
+**Valores**: valor de tipo entero largo positivo. Por defecto, el valor es 8002\.
-4D permite guardar de manera continua en un archivo de diagnóstico un conjunto de eventos relativos al funcionamiento interno de la aplicación. La información contenida en este archivo está destinada a la actualización de las aplicaciones 4D y puede ser analizada con ayuda de los servicios técnicos de 4D. Cuando pasa 1 en este selector, el archivo de diagnóstico, llamado *NomBase.txt*, se crea automáticamente (o abre) en la carpeta **Logs** de la base. Una vez el archivo alcance un tamaño de 10 MB, se cierra y se genera un nuevo archivo *NomBase\_N.txt*, con un número secuencial N incrementado.
+**Descripción**: número de puerto TCP utilizado o por el intérprete PHP de 4D. Este parámetro también puede modificarse globalmente para todos los equipos vía las Propiedades de la base. Para mayor información sobre el intérprete PHP, consulte el manual de *Diseño*.
-Note que es posible incluir la información personalizada en este archivo con ayuda del comando [LOG EVENT](log-event.md).
+### POP3 Log (116)
-### Log command list (80)
+**Hilo seguro**: sí
-**Alcance**: aplicación 4D
+**Alcance:** 4D local, 4D Server
**Se conserva entre dos sesiones**: no
-**Valores posibles**: cadena que contiene la lista de números de los comandos 4D a guardar (separados por dos puntos), "all" para guardar todos los comandos o "" (cadena vacía) para no guardar ninguno.
+**Valores posibles:** 0 o de 1 a X (0 = no registrar, 1 a X = número secuencial, agregado al nombre del archivo). Por defecto, el valor es 0 (intercambios POP3 no registrados).
-**Descripción**: la lista de comandos 4D a guardar en el archivo de depuración (ver el selector 34, Debug Log Recording). Por defecto, se guardan todos los comandos 4D.
+**Descripción**: inicia o detiene la grabación de intercambios entre 4D y el servidor POP3, cuando un objeto transportador se procesa a través de *POP3\_transporter.getMail( )* o *POP3\_transporter.checkConnection( )*. Por defecto, el valor es 0 (intercambios no registrados). Cuando este mecanismo está habilitado, se crea un archivo de registro en la carpeta Logs de la base. Se llama 4DPOP3Log\_X.txt, donde X es el número secuencial del registro. Una vez que el archivo 4DPOP3Log ha alcanzado un tamaño de 10 MB, se cierra y se genera uno nuevo, con un número secuencial incrementado. Si ya existe un archivo con el mismo nombre, se reemplaza directamente. Puede establecer el número inicial de la secuencia utilizando el parámetro valor. De manera predeterminada, todos los archivos se mantienen, pero puede controlar la cantidad de archivos que se deben seguir utilizando el parámetro Circular log limitation.
-Este selector restringe la cantidad de información guardada en el archivo de depuración limitando los comandos 4D cuya ejecución desea registrar o excluir del registro. Por ejemplo, puede escribir:
+Para más información sobre los archivos 4DPOP3Log\_X.txt, consulte la sección *Descripción de archivos de historial*.
- SET DATABASE PARAMETER(Log command list;"277;341") //Graba solo los comandos QUERY y QUERY SELECTION O SET DATABASE PARAMETER(Log command list;"-1666;-323") //Excluye los comandos SET USER ALIAS y DELAY PROCESS de ser grabados
-
-### Spellchecker (81)
+### Port ID (15)
-**Alcance**: aplicación 4D
+**Alcance**: 4D local, 4D Server
- **Se conserva entre dos sesiones**: no
+**Se conserva entre dos sesiones**: no
- **Valores posibles**: 0 (por defecto) = corrector macOS nativo (Hunspell desactivado), 1 = corrector Hunspell activo.
+**Descripción**: Command SET DATABASE Número de puerto TCP utilizado por el servidor web 4D con 4D en modo local y 4D Server. El valor por defecto, que puede ser definido en la página "Web/Configuración" de la caja de diálogo Preferencias, es 80. Puede utilizar las constantes del tema *Números de puerto TCP* para el parámetro *valor*.
-**Descripción**: permite activar el corrector ortográfico Hunspell bajo macOS. Por defecto, en esta plataforma el corrector nativo está activo. Puede preferir utilizar el corrector Hunspell, por ejemplo, para unificar la interfaz de sus aplicaciones multiplataformas (bajo Windows, sólo el corrector Hunspell está disponible). Para mayor información, consulte *Corrección ortográfica*.
+El selector Port ID se utiliza en el marco de servidores web 4D compilados y fusionados con 4D Desktop (sin acceso al modo Diseño). Para mayor información sobre el número de puerto TCP, consulte la sección *Parámetros del servidor web*
-### Dates inside objects (85)
+### Query by formula joins (49)
**Alcance**: proceso actual
- **Se conserva entre dos sesiones:** no
+ **Se conserva entre dos sesiones**: no
- **Valores posibles**: Tipo cadena sin zona horaria (0), tipo cadena con zona horaria (1), tipo fecha (2) (por defecto)
+ **Valores posibles**: 0 (utilizar configuración de la base), 1 (siempre utilizar relaciones automáticas) o 2 (utilizar las uniones SQL si es posible).
-**Descripción**: define la forma en que se almacenan las fechas dentro de los objetos, así como también cómo se importan / exportan en JSON.
+**Descripción**: modo de funcionamiento de los comandos [QUERY BY FORMULA](query-by-formula.md "QUERY BY FORMULA") y [QUERY SELECTION BY FORMULA](query-selection-by-formula.md "QUERY SELECTION BY FORMULA") relativos al uso de "uniones SQL."
-Cuando el valor del selector es Date type (valor predeterminado para las bases creadas con 4D v17 y superior), las fechas 4D se almacenan con el tipo de fecha dentro de los objetos, con respecto a la configuración de fecha local. Cuando se convierte a formato JSON, los atributos de fecha se convertirán en cadenas que no incluyen un tiempo. (**Nota:** esta configuración se puede definir mediante la opción "Utilizar tipo de fecha en lugar del formato de fecha ISO en objetos" que se encuentra en *Página Compatibilidad* de la configuración de la base).
+En las bases de datos creadas a partir de la versión 11.2 de 4D v11 SQL, estos comandos efectúan uniones basados en el modelo de uniones SQL. Este mecanismo permite modificar la selección de una tabla en función de una búsqueda efectuada en otra tabla sin que las tablas estén conectadas por una relación automática (condición necesaria en las versiones anteriores de 4D).
-Si pasa String type with time zone en este selector, convertirá las fechas 4D en cadenas ISO y tendrá en cuenta la zona horaria local. Por ejemplo, la conversión de la fecha 23/08/2013 le da "2013-08-22T22: 00: 000Z" en formato JSON cuando la operación se realiza en Francia durante el horario de verano (GMT+ 2). Este principio se ajusta al funcionamiento estándar de JavaScript. Esto puede ser una fuente de errores cuando desea enviar valores de fecha JSON a alguien en un huso horario diferente. Por ejemplo, cuando exporta una tabla usando [Selection to JSON](selection-to-json.md) en Francia que se debe reimportar en los EE. UU. utilizando [JSON TO SELECTION](json-to-selection.md). Dado que las fechas se vuelven a interpretar en cada zona horaria, los valores almacenados en la base de datos serán diferentes. En este caso, puede modificar el modo de conversión de las fechas para que no tengan en cuenta la zona horaria pasando String type without time zone en este selector. La conversión de la fecha 23/08/2013 le dará "2013-08-23T00: 00: 00Z" en todos los casos.
+El selector QUERY BY FORMULA Joins permite definir el modo de funcionamiento de los comandos de búsqueda por fórmula para el proceso actual:
+- 0: Utilizar los parámetros actuales de la base (valor por defecto). En bases creadas a partir de la versión 11.2 de 4D v11 SQL, las "uniones SQL" siempre se activan para las búsquedas por fórmula. En bases de datos convertidas, este mecanismo no se activa por defecto por razones de compatibilidad pero puede implementarse vía una preferencia.
+- 1: Siempre utilizar relaciones automáticas (= funcionamiento de versiones anteriores de 4D). En este modo, una relación es necesaria para definir la selección de una tabla en función de búsquedas efectuadas en otra tabla. 4D no efectúa más "uniones SQL."2: Utilizar las uniones SQL si es posible (= funcionamiento o defecto de las bases creadas en versión 11.
+- 2 y superiores de 4D v11 SQL). En este modo, 4D establece "uniones SQL" para las búsquedas por fórmula cuando la fórmula se ajusta para ello (con dos excepciones, ver la descripción del comando [QUERY BY FORMULA](query-by-formula.md "QUERY BY FORMULA") o [QUERY SELECTION BY FORMULA](query-selection-by-formula.md "QUERY SELECTION BY FORMULA")).**Nota:** si quiere activar las uniones "tipo SQL" (consulte el selector QUERY BY FORMULA Joins selector), siempre debe ejecutar las fórmulas en el servidor de manera que tengan acceso a los registros. Atención, en este contexto, la fórmula no debe contener llamadas a un método, de lo contrario pasará automáticamente al equipo remoto.
-### Diagnostic log level (86)
-**Hilo seguro**: sí
+### Query by formula on server (46)
-**Alcance**: aplicación 4D
+**Alcance**: tabla y procesos actuales
-**Se conserva entre dos sesiones**: no
+ **Se conserva entre dos sesiones**: no
-**Descripción**: nivel(es) de los mensajes que se incluirán en el registro de diagnóstico cuando esté habilitado (ver selector Diagnostic log recording). Cada nivel designa una categoría de mensajes de diagnóstico e incluye automáticamente las categorías más importantes. Para una descripción de las categorías, consulte la sección *Niveles de registro de diagnóstico* en *developer.4d.com*.
+ **Valores posibles**: 0 (utilizar la configuración de la base), 1 (ejecutar en cliente) o 2 (ejecutar en servidor)
-**Valores posibles**: una de las siguientes constantes (Log info por defecto): Log trace: activa ERROR, WARN, INFO, DEBUG, TRACE (nivel más detallado) Log debug: activa ERROR, WARN, INFO, DEBUG Log info: activa ERROR, WARN, INFO (por defecto) Log warn: activa ERROR, WARN Log error: activa ERROR (nivel menos detallado)
+**Descripción**: ubicación de la ejecución de los comandos [QUERY BY FORMULA](query-by-formula.md "QUERY BY FORMULA") y [QUERY SELECTION BY FORMULA](query-selection-by-formula.md "QUERY SELECTION BY FORMULA") para la *tabla* pasada en parámetro.
+Cuando se utiliza una base en modo cliente-servidor, los comandos de búsqueda "por fórmula" pueden ejecutarse en el servidor o en el equipo cliente:
+en bases creadas con 4D v11 SQL, estos comandos se ejecutan en el servidor.en bases convertidas, estos comandos se ejecutan en el equipo cliente, como en las versiones anteriores de 4D.en las bases convertidas, una preferencia específica permite modificar globalmente la ubicación de ejecución de estos comandos.Esta diferencia en ubicación de ejecución influye no sólo en el rendimiento de la aplicación (la ejecución en el servidor es generalmente más rápida) sino también en la programación. En efecto, el valor de los componentes de la fórmula (en particular las variables llamadas vía un método) varía de acuerdo al contexto de ejecución. Puede utilizar este selector para adaptar puntualmente el funcionamiento de su aplicación.
-### Use legacy network layer (87)
+Si pasa 0 en el parámetro *valor*, la ubicación de ejecución de los comandos de búsqueda "por fórmula" dependerá de la configuración de la base: en bases creadas con 4D v11 SQL, estos comandos se ejecutarán en el servidor. En bases convertidas, se ejecutarán en el equipo cliente o en el servidor en función de las preferencias de la base. Pase 1 ó 2 en *valor* para "forzar" la ejecución de estos comandos respectivamente en el equipo cliente o en el servidor.
-**Alcance:** 4D en modo local, 4D Server**
+Consulte el ejemplo 2.
-**Se conserva entre dos sesiones:** sí
+**Nota:** si quiere activar las uniones "tipo SQL" (consulte el selector QUERY BY FORMULA Joins selector), siempre debe ejecutar las fórmulas en el servidor de manera que tengan acceso a los registros. Atención, en este contexto, la fórmula no debe contener llamadas a un método, de lo contrario pasará automáticamente al equipo remoto.
-**Descripción:** fija u obtiene el estado actual de la capa de red antigua para las conexiones cliente/servidor. La capa de red antigua es obsoleta a partir de 4D v14 R5 y debe ser reemplazada progresivamente en sus aplicaciones por la capa de red *ServerNet*. *ServerNet* será requerida en próximas versiones 4D con el fin de beneficiarse de las futuras evoluciones de la red. Por razones de compatibilidad, la capa de red antigua aún se soporta para permitir una transición sin problemas para las aplicaciones existentes; (se usa por defecto en aplicaciones convertidas de una versión anterior a v14 R5). Pase 1 en este parámetro para utilizar la capa de red antigua (y desactivar *ServerNet*) para las conexiones cliente/servidor, y pase 0 para deshabilitar la red antigua (y utilizar *ServerNet*).
-Esta propiedad también se puede definir mediante la opción "Usar capa de red antigua " que se encuentran en *Página Compatibilidad* de las Propiedades de la base (ver *Opciones red y cliente-servidor*). En esta sección, también puede encontrar una discusión sobre la estrategia de migración. Le recomendamos que active *ServerNet* tan pronto como sea posible. Deberá reiniciar la aplicación para que este parámetro sea tenido en cuenta. No está disponible en 4D Server v14 R5 64-bit versión para macOS, que sólo soporta el *ServetNet*; (siempre devuelve 0).
-**Valores posibles:** 0 o 1 (0 = no utilizan capa de red antigua, 1 = uso capa de red antigua)
+### RDP optimization (133)
-**Valor por defecto:** 0 en bases de datos creadas con 4D v14 R5 o superior, 1 en bases de datos convertidas de 4D v14 R4 o anteriores.
+**Alcance:** aplicación 4D
+**Se mantiene entre dos sesiones**: no
+**Valores posibles:** `0`: activado (por defecto), `1`: desactivado.
-### SQL Server Port ID (88)
+**Descripción:** activa o desactiva las optimizaciones para RDP (Protocolo de escritorio remoto). Cuando está activado, optimiza en particular el uso del portapapeles compartido en las conexiones RDP, que de otro modo pueden provocar problemas de congelación. Tenga en cuenta que este selector desactiva la compatibilidad en el portapapeles para imágenes codificadas como URI de datos en texto sin formato (solo afecta a las imágenes que se sueltan o se copian explícitamente como texto desde un navegador).
-**Alcance**: 4D modo local y 4D Server.
-: Sí
-**Descripción**: permite leer o definir el número del puerto TCP utilizado por el servidor SQL integrado de 4D en modo local o 4D Server. Por defecto, el valor es 19812\. Cuando se define este selector, la configuración de la base se actualiza. También puede definir el número del puerto TCP en la página "SQL" de la caja de diálogo de Propiedades de la base.
+### Remote connection sleep timeout (98)
-**Valores posibles:** 0 a 65535.
+**Alcance**: aplicación 4D Server
-**Valor por defecto:** 19812
+**Se mantiene entre dos sesiones**: no
+**Valores posibles**: entero largo positivo
+**Descripción**: tiempo de espera actual de la conexión remota en segundos. Por defecto, el valor es 172800 (48 horas).
-### Circular log limitation (90)
+El tiempo de espera de la conexión remota se aplica después de que una máquina que ejecuta una aplicación remota 4D haya pasado al modo de reposo. En este caso, su sesión es mantenida por 4D Server (ver la descripción de la funcionalidad ). 4D Server verifica cada 5 minutos si algún 4D remoto en reposo ha superado el tiempo de espera de reposo, en cuyo caso se abandona. Por lo tanto, el máximo tiempo de espera permitido es *el tiempo de espera actual* \+ 300\. En algunos casos, es posible que desee modificar el tiempo de espera, por ejemplo para liberar los registros/licencias bloqueados más rápidamente.
-**Hilo seguro**: sí
-**Alcance**: 4D local, 4D Server.
-**Se conserva entre dos sesiones:** no
+### Server base process stack size (53)
-**Valores posibles**: todo valor entero, 0 = conservar todos los registros
+**Alcance**: 4D Server
-**Descripción**: número máximo de archivos a conservar en rotación para cada tipo de registro. Por defecto, todos los archivos se conservan. Si pasa un valor *X*, solo los *X* archivos más recientes se conservan, el más antiguo se borra automáticamente cuando se crea uno nuevo. Esta parametrización se aplica a cada uno de los siguientes archivos de registro: registros de peticiones (selectores 28 y 45), registro de depuración (selector 34), registro de eventos (selector 79), así como el historial de peticiones web (selectores 29 y 84 del comando [WEB SET OPTION](web-set-option.md)), etc.
+ **Se conserva entre dos sesiones**: no
+ **Valores posibles**: entero largo positivo.
+**Descripción**: tamaño de la pila asignada a cada proceso del sistema preferente en el servidor, expresado en bytes. El tamaño por defecto es determinado por el sistema.
-### Number of formulas in cache (92)
+Los procesos sistema preferente (procesos de tipo Proceso base 4D client) se cargan para controlar los procesos cliente 4D principales. El tamaño asignado por defecto a la pila de cada proceso preferente da facilidad de ejecución pero puede resultar consecuente cuando se crea un gran número de procesos (varios cientos).
-**Alcance**: aplicación 4D
+Por razones de optimización, este tamaño puede reducirse considerablemente si las operaciones efectuadas por la base lo permiten (por ejemplo si la base no efectúa ordenaciones de grandes cantidades de registros). Son posibles valores de 512 o incluso 256 KB. Sea cuidadoso, subdimensionar la pila es critico y puede afectar la operación de 4D Server. La definición de este parámetro debe hacerse con precaución y tener en cuenta las condiciones de uso de la base (número de registros, tipo de operaciones, etc.).
-**Se conserva entre dos sesiones:** no
+Para que sea tenido en cuenta, este parámetro debe ejecutarse en el equipo servidor (por ejemplo en el *Método base On Server Startup*).
-**Valores posibles**: enteros largos positivos
-**Valor por defecto**: 0 (sin caché)
-**Descripción**: establece u obtiene el número máximo de fórmulas a conservar en la memoria caché de fórmulas, que es utilizado por el comando [EXECUTE FORMULA](execute-formula.md). Este límite se aplica a todos los procesos, pero cada proceso tiene su propia caché de fórmulas. Ubicar las fórmulas en la caché acelera la ejecución del comando [EXECUTE FORMULA](execute-formula.md) en modo compilado, ya que cada fórmula en caché se tokeniza sólo una vez en este caso.Cuando se cambia el valor de la memoria caché, el contenido existente se restablecen incluso si el nuevo tamaño es más grande que el anterior. Una vez se alcanza el número máximo de fórmulas en la memoria caché, una nueva fórmula ejecutada borrará a la más antigua de la memoria caché (modo FIFO). Este parámetro sólo se tiene en cuenta en las bases o componentes compilados.
+### SMTP Log (110)
+**Hilo seguro**: sí
+**Alcance**: 4D local, 4D Server*
-### OpenSSL version (94)
+* **Se conserva entre dos sesiones**: no
-**Alcance**: todas las máquinas 4D
+ **Valores posibles**: 0 o de 1 a X (0 = no grabar, 1 a X = número secuencial, agregado al nombre del archivo). De forma predeterminada, el valor es 0 (intercambios SMTP no registrados).
-**Se conserva entre dos sesiones**: no
+**Descripción**: inicia o detiene la grabación de intercambios entre 4D y el servidor SMTP, cuando un objeto *transportador* se procesa a través de *transporter.send( )* o *SMTP\_transporter.checkConnection( )*. Por defecto, el valor es 0 (intercambios no registrados). Cuando este mecanismo está habilitado, se crea un archivo de registro en la carpeta Logs de la base. Se llama 4DSMTPLog\_X.txt, donde X es el número secuencial del registro. Una vez que el archivo 4DSMTPLog ha alcanzado un tamaño de 10 MB, se cierra y se genera uno nuevo, con un número secuencial incrementado. Si ya existe un archivo con el mismo nombre, se reemplaza directamente. Puede definir el número de inicio de la secuencia utilizando el parámetro *valor*. De forma predeterminada, todos los archivos se conservan, pero puede controlar la cantidad de archivos a seguir utilizando el parámetro Circular log limitation.
-**Descripción**: devuelve el número de versión de la librería OpenSSL que se utiliza en la máquina. (Solo lectura)
+Para obtener más información sobre los archivos 4DSMTPLog\_X.txt, consulte la sección *Descripción de archivos de historial*.
-### Cache flush periodicity (95)
+### Spellchecker (81)
-**Hilo seguro**: sí
+**Alcance**: aplicación 4D
+ **Se conserva entre dos sesiones**: no
-**Alcance**: 4D local, 4D Server
+ **Valores posibles**: 0 (por defecto) = corrector macOS nativo (Hunspell desactivado), 1 = corrector Hunspell activo.
-**Se conserva entre dos sesiones:** no
+**Descripción**: permite activar el corrector ortográfico Hunspell bajo macOS. Por defecto, en esta plataforma el corrector nativo está activo. Puede preferir utilizar el corrector Hunspell, por ejemplo, para unificar la interfaz de sus aplicaciones multiplataformas (bajo Windows, sólo el corrector Hunspell está disponible). Para mayor información, consulte *Corrección ortográfica*.
-**Valores posibles:** entero largo > 1 (segundos)
-**Descripción**: obtiene o establece la periodicidad del vaciado de la caché, expresado en segundos. La modificación de este valor prevalece sobre la opción **Vaciar caché cada X segundos** en [XML DECODE](xml-decode.md) de la configuración de la base para la sesión (que no se almacena en las Propiedades de la base).
+### SQL Autocommit (43)
+**Alcance**: base de datos
-### Remote connection sleep timeout (98)
+ **Se conserva entre dos sesiones**: sí
-**Alcance**: aplicación 4D Server
+ **Posibles valores**: 0 (desactivación) o 1 (activación)
-**Se mantiene entre dos sesiones**: no
+**Descripción**: activación o desactivación del modo SQL auto-commit. Por defecto, el valor es 0 (modo desactivado)
-**Valores posibles**: entero largo positivo
+ El modo auto-commit permite reforzar la integridad referencial de la base. Cuando este modo está activo, las peticiones *SELECT*, INSERT, UPDATE y *DELETE* (SIUD) se incluyen automáticamente en las transacciones cuando no se han ejecutado dentro de una transacción. Este modo igualmente puede definirse en las Preferencias de la base.
-**Descripción**: tiempo de espera actual de la conexión remota en segundos. Por defecto, el valor es 172800 (48 horas).
-El tiempo de espera de la conexión remota se aplica después de que una máquina que ejecuta una aplicación remota 4D haya pasado al modo de reposo. En este caso, su sesión es mantenida por 4D Server (ver la descripción de la funcionalidad ). 4D Server verifica cada 5 minutos si algún 4D remoto en reposo ha superado el tiempo de espera de reposo, en cuyo caso se abandona. Por lo tanto, el máximo tiempo de espera permitido es *el tiempo de espera actual* \+ 300\. En algunos casos, es posible que desee modificar el tiempo de espera, por ejemplo para liberar los registros/licencias bloqueados más rápidamente.
+### SQL Engine case sensitivity (44)
+**Alcance**: base de datos
-### Tips enabled (101)
+ **Se conserva entre dos sesiones**: sí
-**Alcance**: aplicación 4D
+ **Valores posibles**: 0 (no se tienen en cuenta las mayúsculas y minúsculas) ó 1 (sensible a las mayúsculas y minúsculas)
-**Se conserva entre dos sesiones**: no
+**Descripción**: activación o desactivación de la sensibilidad a mayúsculas y minúsculas para comparaciones de cadenas efectuadas por el motor SQL.
-**Valores posibles**: 0 = consejos desactivados, 1 = consejos activados (predeterminado)
+Por defecto, el valor es 1 (sensible a las mayúsculas y minúsculas): el motor SQL diferencia entre mayúsculas y minúsculas y entre caracteres acentuados al comparar cadenas (ordenaciones y búsquedas). Por ejemplo “ABC”= “ABC” pero “ABC” # “Abc.” En algunos casos, por ejemplo para alinear el funcionamiento del motor SQL con el del motor 4D, podría querer que las comparaciones de cadenas no tengan en cuenta las mayúsculas y minúsculas (“ABC”=“Abc”).
-**Descripción**: define u obtiene el estado de visualización actual de los consejos para la aplicación 4D. De forma predeterminada, las sugerencias están activadas.
+Esta opción también puede definirse en la [CALL SUBFORM CONTAINER](call-subform-container.md) de las Preferencias de la base.
-Tenga en cuenta que este parámetro define todos los consejos 4D, es decir, los mensajes de ayuda de formulario y las sugerencias del editor de modo Diseño.
+### SQL Server Port ID (88)
-### Tips delay (102)
+**Alcance**: 4D modo local y 4D Server.
-**Alcance**: aplicación 4D
+: Sí
-**Se conserva entre dos sesiones**: No
+**Descripción**: permite leer o definir el número del puerto TCP utilizado por el servidor SQL integrado de 4D en modo local o 4D Server. Por defecto, el valor es 19812\. Cuando se define este selector, la configuración de la base se actualiza. También puede definir el número del puerto TCP en la página "SQL" de la caja de diálogo de Propiedades de la base.
-**Valores posibles**: entero largo >= 0 (tics)
+**Valores posibles:** 0 a 65535.
-**Descripción**: retraso antes de que se muestren las sugerencias una vez que el cursor del ratón se haya detenido en objetos con mensajes de ayuda adjuntos. El valor se expresa en tics (1/60 de segundo). El valor predeterminado es 45 tics (0.75 segundos).
+**Valor por defecto:** 19812
-### Tips duration (103)
+### SSL cipher list (64)
-**Alcance**: aplicación 4D
+**Alcance**: Aplicación 4D
-**Se conserva entre dos sesiones**: No
+Se conserva entre dos sesiones: No
-**Valores posibles**: entero largo >= 60 (tics)
+**Valores posibles**: secuencia de cadenas separadas por dos puntos.
-**Descripción**: duración máxima de visualización de una sugerencia. El valor se expresa en tics (1/60 de segundo). El valor predeterminado es 720 tics (12 segundos).
+**Descripción:** lista de cifrado (*cipher list*) utilizada por 4D para el protocolo seguro. Esta lista modifica la prioridad de los algoritmos de cifrado implementados por 4D. Por ejemplo, puede pasar la siguiente cadena en el parámetro *valor*: "HIGH:!aNULL:!MD5:!3DES:!CAMELLIA:!AES128:!RSA:!DH:!RC4".
+Para una descripción completa de la sintaxis para la lista cifrada, consulte la *página de cifrado del sitio OpenSSL*.
+Esta configuración se aplica al servidor web principal (excluyendo los objetos del servidor web), al servidor SQL, a las conexiones cliente/servidor, así como al cliente HTTP y a todos los comandos 4D que hacen uso del protocolo seguro. Es temporal (no se mantiene entre sesiones).
-### Min TLS version (105)
+Cuando la lista de cifrado se modifica, debe reiniciar el servidor correspondiente para que los nuevos parámetros sean tenidos en cuenta.
-**Alcance**: 4D Server, 4D Web Server y 4D SQL Server
+Para reinicializar la lista de cifrado a su valor por defecto (guardado permanentemente en el archivo SLI), llame al comando [SET DATABASE PARAMETER](set-database-parameter.md) y pase una cadena vacía ("") en el parámetro *valor*.
-**Conservar entre dos sesiones**: no
+**Nota:** con el comando [Get database parameter](get-database-parameter.md), la lista de cifrado se devuelve en el parámetro opcional *valorAlfa* y el parámetro de retorno es siempre 0.
-**Descripción**: se utiliza para especificar el nivel TLS (Transport Layer Security), que ofrece cifrado y autenticación de datos entre aplicaciones y servidores. Se rechazarán los intentos de conexión de clientes que sólo soporten versiones inferiores a la mínima. La configuración se aplica globalmente a la capa de red. Una vez modificado, el servidor debe reiniciarse para utilizar el nuevo valor.
+### Table sequence number (31)
-**Valor por defecto**: TLSv1\_3
+**Alcance**: aplicación 4D
-**Valores posibles**: TLSv1\_2 (TLS 1.2, introducido en 2008) TLSv1\_3 (TLS 1.3, introducido en 2018) **NOTAS**:
+ **Se conserva entre dos sesiones**: sí
-- El plugin 4D Internet Commands utiliza una capa de red diferente, por lo que este selector no tendrá ningún impacto en su versión TLS.
+ **Valores posibles**: todo valor de tipo entero largo.
-- Se ignorarán los intentos de aplicar TLS a la capa de red heredada.
+**Descripción**: este selector se utiliza para modificar o modificar u obtener el número único actual de los registros de la tabla pasada en parámetro. "Número actual" significa "último número utilizado": si modifica este valor utilizando SET DATABASE PARAMETER, el siguiente registro será el valor pasado + 1\. Este nuevo número es el número devuelto por el comando Sequence number [](http://doc.tmp.4d.fr/Database-Parameters/4Dv11.4/ConstantTheme/4870/CMU00244.HTM) como también en todo campo de la tabla a la cual se asigna la propiedad "Autoincrementar" en el editor de estructura o vía SQL.
+Por defecto, este número único es definido por 4D y corresponde al orden de creación de los registros. Para información adicional, por favor consulte la documentación del comando [Sequence number](sequence-number.md "Sequence number").
-### User param value (108)
-**Alcance**: 4D local, 4D Server
+### TCPUDP log recording (131)
-**Se conserva entre dos sesiones**: no
+**Alcance:** aplicación 4D
-**Valores posibles**: toda cadena personalizada
+**Se mantiene entre dos sesiones**: no
-**Descripción:** cadena personalizada pasada de una sesión a la siguiente cuando se reinicia la aplicación 4D. Este selector es útil en el contexto de pruebas unitarias automatizadas que requieren que las aplicaciones se reinicien con diferentes parámetros.
+**Valores posibles:** `0`: Logging desactivado (por defecto), `1`: Logging activado.
-Cuando se utiliza con [SET DATABASE PARAMETER](set-database-parameter.md), define un nuevo valor que estará disponible en la próxima base de datos abierta después de que 4D se reinicie manualmente o utilizando los comandos [OPEN DATABASE](open-database.md)(\*), [OPEN DATA FILE](open-data-file.md), o [RESTART 4D](restart-4d.md). Cuando se utiliza con [Get database parameter](get-database-parameter.md), obtiene el valor del parámetro de usuario actualmente disponible, definido mediante una línea de comando (ver *Interfaz de línea de comando*), el archivo .4DLink (ver *Usar un archivo 4DLink*), o una llamada a [SET DATABASE PARAMETER](set-database-parameter.md) durante la sesión anterior. (\*) Si [SET DATABASE PARAMETER](set-database-parameter.md) define un User param value antes de una llamada a [OPEN DATABASE](open-database.md) con un archivo .4DLink que también contiene un atributo xml user-param, 4D 4D tiene en cuenta solo el parámetro ofrecido por [SET DATABASE PARAMETER](set-database-parameter.md).
+**Descripción:** activa o desactiva el archivo `4DTCPUDPLog.txt` para registrar eventos TCP.
@@ -808,163 +899,71 @@ En versiones anteriores, los valores de tiempo se convertían y almacenaban como
-### SMTP Log (110)
-
-**Hilo seguro**: sí
-
-**Alcance**: 4D local, 4D Server*
-
-* **Se conserva entre dos sesiones**: no
-
- **Valores posibles**: 0 o de 1 a X (0 = no grabar, 1 a X = número secuencial, agregado al nombre del archivo). De forma predeterminada, el valor es 0 (intercambios SMTP no registrados).
-
-**Descripción**: inicia o detiene la grabación de intercambios entre 4D y el servidor SMTP, cuando un objeto *transportador* se procesa a través de *transporter.send( )* o *SMTP\_transporter.checkConnection( )*. Por defecto, el valor es 0 (intercambios no registrados). Cuando este mecanismo está habilitado, se crea un archivo de registro en la carpeta Logs de la base. Se llama 4DSMTPLog\_X.txt, donde X es el número secuencial del registro. Una vez que el archivo 4DSMTPLog ha alcanzado un tamaño de 10 MB, se cierra y se genera uno nuevo, con un número secuencial incrementado. Si ya existe un archivo con el mismo nombre, se reemplaza directamente. Puede definir el número de inicio de la secuencia utilizando el parámetro *valor*. De forma predeterminada, todos los archivos se conservan, pero puede controlar la cantidad de archivos a seguir utilizando el parámetro Circular log limitation.
-
-Para obtener más información sobre los archivos 4DSMTPLog\_X.txt, consulte la sección *Descripción de archivos de historial*.
-
-
-
-### Current process debug log recording (111)
-
-**Alcance:** Aplicación 4D
-
-**Se conserva entre dos sesiones:** no
-
-**Descripción**: inicia o detiene el registro secuencial de eventos de programación **del proceso actual** en un archivo de historial separado. Este historial es similar al Debug log recording (selector 34) pero se enfoca solo en el proceso actual. El nombre del archivo de historial incluye la letra "p" y el número del proceso: 4DDebugLog\[\_p*N*_*n*].txt, donde N es el ID único del proceso.
-
-Para más información sobre este formato y sobre el uso del archivo *4DDebugLog*, consulte *Descripción de archivos de historial* en el Modo Diseño.
-
-**Notas:** Este selector se proporciona únicamente con el fin de depurar y debe utilizarse con cuidado. En particular, no debe ponerse en producción, ya que puede tener un impacto en el rendimiento de la aplicación. Puede utilizarar ambos selectores Debug log recording y Current process debug log recording simultáneamente, en cuyo caso las acciones del proceso actual no se registrarán en el archivo de historial principal.
-
-
-
-### Is current database a project (112)
-
-**Nota:** solo puede utilizar este selector con el comando [Get database parameter](get-database-parameter.md) y su valor no se puede definir.
+### Tips delay (102)
**Alcance**: aplicación 4D
-**Descripción**: devuelve 1 si la arquitectura de la base actual es un proyecto y 0 en caso contrario. Para más información, consulte la sección *Base proyecto vs base binaria*.
-
-
-
-### Is host database a project (113)
+**Se conserva entre dos sesiones**: No
-**Nota:** solo puede utilizar este selector con el comando [Get database parameter](get-database-parameter.md) y su valor no se puede definir.
+**Valores posibles**: entero largo >= 0 (tics)
-**Alcance**: aplicación 4D
+**Descripción**: retraso antes de que se muestren las sugerencias una vez que el cursor del ratón se haya detenido en objetos con mensajes de ayuda adjuntos. El valor se expresa en tics (1/60 de segundo). El valor predeterminado es 45 tics (0.75 segundos).
-**Descripción**: devuelve 1 si la arquitectura de la base local es un proyecto y 0 en caso contrario. Para más información, consulte la sección *Base proyecto vs base binaria*.
+### Tips duration (103)
-### Libldap version (114)
+**Alcance**: aplicación 4D
-**Alcance**: máquina 4D actual
+**Se conserva entre dos sesiones**: No
-**Se conserva entre dos sesiones**: no
+**Valores posibles**: entero largo >= 60 (tics)
-**Descripción**: devuelve el número de versión de la librería LDAP en la aplicación 4D en la máquina actual. (Solo lectura)
+**Descripción**: duración máxima de visualización de una sugerencia. El valor se expresa en tics (1/60 de segundo). El valor predeterminado es 720 tics (12 segundos).
-### Libsasl version (115)
+### Tips enabled (101)
-**Alcance**: máquina 4D actual
+**Alcance**: aplicación 4D
**Se conserva entre dos sesiones**: no
-**Descripción**: devuelve el número de versión de la librería SASL en la aplicación 4D en la máquina actual. (Solo lectura)
-
-
-
-### POP3 Log (116)
-
-**Hilo seguro**: sí
+**Valores posibles**: 0 = consejos desactivados, 1 = consejos activados (predeterminado)
-**Alcance:** 4D local, 4D Server
+**Descripción**: define u obtiene el estado de visualización actual de los consejos para la aplicación 4D. De forma predeterminada, las sugerencias están activadas.
-**Se conserva entre dos sesiones**: no
+Tenga en cuenta que este parámetro define todos los consejos 4D, es decir, los mensajes de ayuda de formulario y las sugerencias del editor de modo Diseño.
-**Valores posibles:** 0 o de 1 a X (0 = no registrar, 1 a X = número secuencial, agregado al nombre del archivo). Por defecto, el valor es 0 (intercambios POP3 no registrados).
-**Descripción**: inicia o detiene la grabación de intercambios entre 4D y el servidor POP3, cuando un objeto transportador se procesa a través de *POP3\_transporter.getMail( )* o *POP3\_transporter.checkConnection( )*. Por defecto, el valor es 0 (intercambios no registrados). Cuando este mecanismo está habilitado, se crea un archivo de registro en la carpeta Logs de la base. Se llama 4DPOP3Log\_X.txt, donde X es el número secuencial del registro. Una vez que el archivo 4DPOP3Log ha alcanzado un tamaño de 10 MB, se cierra y se genera uno nuevo, con un número secuencial incrementado. Si ya existe un archivo con el mismo nombre, se reemplaza directamente. Puede establecer el número inicial de la secuencia utilizando el parámetro valor. De manera predeterminada, todos los archivos se mantienen, pero puede controlar la cantidad de archivos que se deben seguir utilizando el parámetro Circular log limitation.
-
-Para más información sobre los archivos 4DPOP3Log\_X.txt, consulte la sección *Descripción de archivos de historial*.
+### Use legacy network layer (87)
+**Alcance:** 4D en modo local, 4D Server**
-### Is host database writable (117)
+**Se conserva entre dos sesiones:** sí
-**Nota**: solo puede utilizar este selector con el comando [Get database parameter](get-database-parameter.md) y su valor no se puede definir.
+**Descripción:** fija u obtiene el estado actual de la capa de red antigua para las conexiones cliente/servidor. La capa de red antigua es obsoleta a partir de 4D v14 R5 y debe ser reemplazada progresivamente en sus aplicaciones por la capa de red *ServerNet*. *ServerNet* será requerida en próximas versiones 4D con el fin de beneficiarse de las futuras evoluciones de la red. Por razones de compatibilidad, la capa de red antigua aún se soporta para permitir una transición sin problemas para las aplicaciones existentes; (se usa por defecto en aplicaciones convertidas de una versión anterior a v14 R5). Pase 1 en este parámetro para utilizar la capa de red antigua (y desactivar *ServerNet*) para las conexiones cliente/servidor, y pase 0 para deshabilitar la red antigua (y utilizar *ServerNet*).
-**Alcance**: aplicación 4D
+Esta propiedad también se puede definir mediante la opción "Usar capa de red antigua " que se encuentran en *Página Compatibilidad* de las Propiedades de la base (ver *Opciones red y cliente-servidor*). En esta sección, también puede encontrar una discusión sobre la estrategia de migración. Le recomendamos que active *ServerNet* tan pronto como sea posible. Deberá reiniciar la aplicación para que este parámetro sea tenido en cuenta. No está disponible en 4D Server v14 R5 64-bit versión para macOS, que sólo soporta el *ServetNet*; (siempre devuelve 0).
-**Descripción**: devuelve 1 si el archivo estructura/archivo proyecto local es editable y 0 si es de solo lectura.
+**Valores posibles:** 0 o 1 (0 = no utilizan capa de red antigua, 1 = uso capa de red antigua)
+**Valor por defecto:** 0 en bases de datos creadas con 4D v14 R5 o superior, 1 en bases de datos convertidas de 4D v14 R4 o anteriores.
-### IMAP Log (119)
-**Hilo seguro**: sí
+### User param value (108)
**Alcance**: 4D local, 4D Server
**Se conserva entre dos sesiones**: no
-**Valores posibles**: 0 o de 1 a X (0 = no grabar, 1 a X = número secuencial, añadido al nombre del archivo). Por defecto, el valor es 0 (los intercambios IMAP no se registran).
-
-**Descripción**: inicia o detiene la grabación de los intercambios entre 4D y el servidor IMAP, cuando se procesa un objeto transportador a través de *IMAP\_transporter.getMail( )* o *IMAP\_transporter.checkConnection( )*. Por defecto, el valor es 0 (intercambios no registrados). Cuando se activa este mecanismo, se crea un archivo de registro en la carpeta Logs de la base. Se llama 4DIMAPLog\_X.txt, donde X es el número secuencial del registro. Una vez que el archivo 4DIMAPLog ha alcanzado un tamaño de 10 MB, se cierra y se genera uno nuevo, con un número secuencial incrementado. Si ya existe un archivo con el mismo nombre, se sustituye directamente. Se puede definir el número inicial de la secuencia mediante el parámetro valor. Por defecto, se conservan todos los archivos, pero puede controlar el número de archivos a conservar utilizando el parámetro Circular log limitation.
-
-Para más información sobre los archivos 4DIMAPLog\_X.txt, consulte la sección *Descripción de archivos de historial*.
-
-
-
-### Libzip version (120)
-
-**Alcance**: máquina 4D actual
-
-**Se conserva entre dos sesiones**: n/a
-
-**Descripción**: devuelve el número de versión de la librería libzip en la aplicación 4D en la máquina actual. (Sólo lectura)
-
-
-
-### Pause logging (121)
-
-**Hilo seguro**: sí
-
-**Alcance**: aplicación 4D
-
-**Se mantiene entre dos sesiones**: no
-
-**Valores posibles**: 0 (reanudar historial), 1 (pausar historial)
-
-Este selector permite suspender/reanudar todas las operaciones de registro iniciadas en la aplicación (excepto los registros ORDA). Esta función puede ser útil para aligerar temporalmente las tareas de la aplicación 4D o programar las operaciones de registro.
-
-
-
-### TCPUDP log recording (131)
-
-**Alcance:** aplicación 4D
-
-**Se mantiene entre dos sesiones**: no
-
-**Valores posibles:** `0`: Logging desactivado (por defecto), `1`: Logging activado.
-
-**Descripción:** activa o desactiva el archivo `4DTCPUDPLog.txt` para registrar eventos TCP.
-
-
-
-### RDP optimization (133)
-
-**Alcance:** aplicación 4D
-
-**Se mantiene entre dos sesiones**: no
+**Valores posibles**: toda cadena personalizada
-**Valores posibles:** `0`: activado (por defecto), `1`: desactivado.
+**Descripción:** cadena personalizada pasada de una sesión a la siguiente cuando se reinicia la aplicación 4D. Este selector es útil en el contexto de pruebas unitarias automatizadas que requieren que las aplicaciones se reinicien con diferentes parámetros.
-**Descripción:** activa o desactiva las optimizaciones para RDP (Protocolo de escritorio remoto). Cuando está activado, optimiza en particular el uso del portapapeles compartido en las conexiones RDP, que de otro modo pueden provocar problemas de congelación. Tenga en cuenta que este selector desactiva la compatibilidad en el portapapeles para imágenes codificadas como URI de datos en texto sin formato (solo afecta a las imágenes que se sueltan o se copian explícitamente como texto desde un navegador).
+Cuando se utiliza con [SET DATABASE PARAMETER](set-database-parameter.md), define un nuevo valor que estará disponible en la próxima base de datos abierta después de que 4D se reinicie manualmente o utilizando los comandos [OPEN DATABASE](open-database.md)(\*), [OPEN DATA FILE](open-data-file.md), o [RESTART 4D](restart-4d.md). Cuando se utiliza con [Get database parameter](get-database-parameter.md), obtiene el valor del parámetro de usuario actualmente disponible, definido mediante una línea de comando (ver *Interfaz de línea de comando*), el archivo .4DLink (ver *Usar un archivo 4DLink*), o una llamada a [SET DATABASE PARAMETER](set-database-parameter.md) durante la sesión anterior. (\*) Si [SET DATABASE PARAMETER](set-database-parameter.md) define un User param value antes de una llamada a [OPEN DATABASE](open-database.md) con un archivo .4DLink que también contiene un atributo xml user-param, 4D 4D tiene en cuenta solo el parámetro ofrecido por [SET DATABASE PARAMETER](set-database-parameter.md).
:::nota
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/commands-legacy/verify-data-file.md b/i18n/es/docusaurus-plugin-content-docs/current/commands-legacy/verify-data-file.md
index 1c6ae986f13232..251b195c1212ad 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/commands-legacy/verify-data-file.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/commands-legacy/verify-data-file.md
@@ -19,7 +19,7 @@ displayed_sidebar: docs
-## Descripción
+## Descripción
El comando VERIFY DATA FILE efectúa una verificación estructural de los objetos contenidos en el archivo de datos 4D designado por *rutaEstructura* y *rutaDatos*.para mayor información sobre el proceso de verificación de datos, consulte el Manual de Diseño. *rutaEstructura* designa el archivo de estructura (compilado o no) asociado con el archivo de datos a verificar. Puede tratarse del archivo de estructura abierto o de cualquier otro archivo de estructura. Usted debe pasar un nombre de ruta completo, expresado con la sintaxis del sistema operativo. También puede pasar una cadena vacía, en este caso aparece una caja de diálogo estándar de apertura de archivos que permite al usuario designar el archivo de estructura a utilizar.
@@ -37,6 +37,7 @@ El parámetro *objetos* se utiliza para designar los tipos de objetos a verifica
| Verify indexes | Entero largo | 8 | Esta opción verifica la consistencia física de los índices, sin enlace a los datos. Señala llaves inválidas pero no le permite detectar llaves duplicadas (dos índices que apuntan al mismo registro). Este tipo de error sólo puede detectarse con la opción Verificar todos. |
| Verify records | Entero largo | 4 | |
+
Para verificar los registros y los índices, pase el total de Verify Records+Verify Indexes. El valor 0 (cero) también puede ser utilizado para obtener el mismo resultado. La opción Verify All realiza una verificación interna completa. Esta verificación es compatible con la creación de un historial.
El parámetro *opciones* se utiliza para definir las opciones de verificación. Las siguientes opciones están disponibles, accesibles vía las constantes del tema “*Mantenimiento archivo de datos*”:
@@ -51,44 +52,44 @@ Generalmente, el comando VERIFY DATA FILE crea un archivo de historial en format
El parámetro *metodo* permite definir un método de retrollamada que será llamado regularmente durante la verificación. Si pasa una cadena vacía o un nombre de método invalido, este parámetro se ignora (no se llama el método). Cuando se llama, este método recibe hasta 5 parámetros en función de los objetos verificados y del tipo de evento que origina la llamada (ver la tabla de llamadas). Es imperativo declarar estos parámetros en el método:
-| \- $1 | Entero largo | Tipo de mensaje (ver tabla) |
+
+| Parámetro | Tipo | Descripción |
| ----- | ------------ | --------------------------- |
-| \- $2 | Entero largo | Tipo de objeto |
-| \- $3 | Text | Mensaje |
-| \- $4 | Entero largo | Número de tabla |
-| \- $5 | Entero largo | Reservado |
+| $messageType | Integer | Tipo de mensaje (ver tabla) |
+| $objectType | Integer | Tipo de objeto |
+| $messageText | Text | Mensaje |
+| $table | Integer | Número de tabla |
+| $reserved | Integer | Reservado |
La siguiente tabla describe el contenido de los parámetros en función del tipo de evento:
-| **Evento** | **$1 (Entero largo)** | **$2 (Entero largo)** | **$3 (Texto)** | **$4 (Entero largo)** | **$5 (Entero largo)** |
-| --------------------------- | --------------------- | --------------------- | -------------- | --------------------- | --------------------- |
-| Mensaje | 1 | 0 | Progresión | Porcentaje | Reservado |
-| mensaje | hecho (0-100) | | | | |
-| Fin de la verificación (\*) | 2 | Tipo de objeto (\*\*) | Mensaje OK | Tabla o índice | Reservado |
-| prueba | número | | | | |
-| Error | 3 | Tipo de objeto (\*\*) | Texto de error | Tabla o índice | Reservado |
-| mensaje | número | | | | |
-| Fin de ejecución | 4 | 0 | DONE | 0 | Reservado |
-| Advertencia | 5 | Tipo de objeto (\*\*) | Texto de error | Tabla o índice | Reservado |
-| mensaje | número | | | | |
-
-(\*) El evento *Fin de la verificación* ($1=2) no se devuelve nunca cuando el modo de verificación es Verify All. Sólo se utiliza en modo Verify Records o Verify Indexes.
-(\*\*) *Tipo de objeto*: cuando un objeto se verifica, puede enviarse un mensaje "terminado" ($1=2), error ($1=3) o terminado ($1=5). El tipo de objeto devuelto en $2 puede ser uno de los siguientes:
+| **Event** | **$messageType** | **$objectType** | **$messageText** | **$table** | **$reserved** |
+| ------- | ---------------- | ------------------ | -------------- | ---------------- | ---------------- |
+| Mensaje | 1 | 0 | Mensaje de progresión | Porcentaje (0-100) | Reservado |
+| Fin de la verificación (\*) | 2 | Tipo de objeto (\*\*) | Mensaje de prueba OK | Tabla o número de índice | Reservado |
+| Error | 3 | Tipo de objeto (\*\*) | Texto de mensaje de error | Tabla o número de índice | Reservado |
+| Fin de la ejecución | 4 | 0 | DONE | 0 | Reservado |
+| Advertencia | 5 | Tipo de objeto (\*\*) | Texto de error | Tabla o índice | Reservado |
+|||| mensaje | número |
+
+(\*) El evento *Fin de la verificación* ($messageType=2) no se devuelve nunca cuando el modo de verificación es Verify All. Sólo se utiliza en modo Verify Records o Verify Indexes.
+(\*\*) *Tipo de objeto*: cuando un objeto se verifica, puede enviarse un mensaje "terminado" ($messageType=2), error ($messageType=3) o terminado ($messageType=5). El tipo de objeto devuelto en $2 puede ser uno de los siguientes:
* 0 = indeterminado
* 4 = registro
* 8 = índice
* 16 = objeto estructura (control preliminar del archivo de datos).
-*Caso especial*: cuando $4 = 0 para $1=2, 3 ó 5, el mensaje no concierne a una tabla sino a un archivo de datos en su conjunto.
+*Caso especial*: cuando $table = 0 para $messageType=2, 3 ó 5, el mensaje no concierne a una tabla sino a un archivo de datos en su conjunto.
-El método de retrollamada también debe retornar un valor en $0 (Entero largo), permitiendo controlar la ejecución de la operación:
+El método de retrollamada también debe retornar un valor entero *$result*, permitiendo controlar la ejecución de la operación:
-* Si $0 = 0, la operación continúa normalmente
-* Si $0 = -128, la operación se detiene sin que se genere error
-* Si $0 = otro valor, la operación se detiene y el valor pasado en $0 se devuelve como número de error. Este error puede ser interceptado por un método de gestión de errores.
+* Si $result = 0, la operación continúa normalmente
+* Si $result = -128, la operación se detiene sin que se genere error
+* Si $result = otro valor, la operación se detiene y el valor pasado en $result se devuelve como número de error. Este error puede ser interceptado por un método de gestión de errores.
+
+**Nota**: no es posible interrumpir la ejecución vía $result luego de que el evento se haya generado *Fin de ejecución* ($1=4).
-**Nota**: no es posible interrumpir la ejecución vía $0 luego de que el evento se haya generado *Fin de ejecución* ($4=1).
Dos arrays opcionales también pueden ser utilizados por este comando:
@@ -176,5 +177,3 @@ Si el método de retrollamada no existe, la verificación no se efectúa, se gen
| Número de comando | 939 |
| Hilo seguro | ✓ |
| Modifica variables | OK, Document, error |
-
-
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/commands/call-chain.md b/i18n/es/docusaurus-plugin-content-docs/current/commands/call-chain.md
index fdbd960b6e8acd..e24fcfe496ce30 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/commands/call-chain.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/commands/call-chain.md
@@ -9,9 +9,9 @@ displayed_sidebar: docs
-| Parámetros | Tipo | | Descripción |
-| ---------- | ---------- | --------------------------- | ---------------------------------------------------------------- |
-| Resultado | Collection | ← | Collection of objects describing the call chain within a process |
+| Parámetros | Tipo | | Descripción |
+| ---------- | ---------- | --------------------------- | ----------------------------------------------------------------------------- |
+| Resultado | Collection | ← | Colección de objetos que describen la cadena de llamadas dentro de un proceso |
@@ -31,7 +31,7 @@ The command facilitates debugging by enabling the identification of the method o
| **Propiedad** | **Tipo** | **Description** | **Ejemplo** |
| ------------- | ----------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------- |
-| database | Text | Name of the database calling the method (to distinguish host methods and component methods) | "database":"contactInfo" |
+| database | Text | Nombre de la base de datos que llama al método (para distinguir los métodos locales de los métodos del componente) | "database":"contactInfo" |
| formula | Text (si lo hay) | Contenido de la línea actual de código en el nivel actual de la cadena de llamadas (texto bruto). Corresponde al contenido de la línea referenciada por la propiedad `line` en el archivo fuente indicado por el método. Si el código fuente no está disponible, la propiedad `formula` se omite (Undefined). | "var $stack:=Call chain" |
| línea | Integer | Número de línea de llamada al método | "line":6 |
| name | Text | Nombre del método llamado | "name":"On Load" |
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/commands/command-index.md b/i18n/es/docusaurus-plugin-content-docs/current/commands/command-index.md
index 5d47e3630c0ef4..16ae77a333a7b0 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/commands/command-index.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/commands/command-index.md
@@ -1288,6 +1288,8 @@ title: Comandos por nombre
[`WA STOP LOADING URL`](../commands-legacy/wa-stop-loading-url.md)
[`WA ZOOM IN`](../commands-legacy/wa-zoom-in.md)
[`WA ZOOM OUT`](../commands-legacy/wa-zoom-out.md)
+[`Web Event`](web-event.md)
+[`Web Form`](web-form.md)
[`WEB GET BODY PART`](../commands-legacy/web-get-body-part.md)
[`WEB Get body part count`](../commands-legacy/web-get-body-part-count.md)
[`WEB Get current session ID`](../commands-legacy/web-get-current-session-id.md)
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/commands/command-name.md b/i18n/es/docusaurus-plugin-content-docs/current/commands/command-name.md
index 67339d42612c4b..91aa679c62b542 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/commands/command-name.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/commands/command-name.md
@@ -34,8 +34,8 @@ El comando **Command name** devuelve e
Hay dos parámetros opcionales:
-- *info*: propiedades del comando. The returned value is a *bit field*, where the following bits are meaningful:
- - Primer bit (bit 0): definido en 1 si el comando es [**hilo-seguro**](../Develop/preemptive.md#thread-safe-vs-thread-unsafe-code) (es decir, compatible con la ejecución en un proceso apropiativo) y 0 si es **hilo-inseguro**. Only thread-safe commands can be used in [preemptive processes](../Develop/preemptive.md).
+- *info*: propiedades del comando. El valor devuelto es un *campo de bits*, donde los siguientes bits son significativos:
+ - Primer bit (bit 0): definido en 1 si el comando es [**hilo-seguro**](../Develop/preemptive.md#thread-safe-vs-thread-unsafe-code) (es decir, compatible con la ejecución en un proceso apropiativo) y 0 si es **hilo-inseguro**. Solo se pueden usar comandos hilo seguro en [procesos preventivos](../Develop/preemptive.md).
- Segundo bit (bit 1): se define en 1 si el comando es **obsoleto**, y en 0 si no lo es. A deprecated command will continue to work normally as long as it is supported, but should be replaced whenever possible and must no longer be used in new code. Los comandos obsoletos en su código generan advertencias en el [Live Checker y el compilador](../code-editor/write-class-method.md#warnings-and-errors).
*theme*: nombre del tema del lenguaje 4D para el comando.
@@ -80,7 +80,7 @@ En un formulario, quiere una lista desplegable con los comandos básicos de info
End case
```
-En la versión inglesa de 4D, la lista desplegable leerá: Sum, Average, Min y Max. In the French version\*, the drop-down list will read: Somme, Moyenne, Min, and Max.
+En la versión inglesa de 4D, la lista desplegable leerá: Sum, Average, Min y Max. En la versión francésa \*, la lista desplegable dirá: Somme, Moyenne, Min, y Max.
\*con una aplicación 4D configurada para usar el lenguaje de programación en francés (ver nota de compatibilidad)
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/commands/listbox-set-property.md b/i18n/es/docusaurus-plugin-content-docs/current/commands/listbox-set-property.md
index d6641157210542..26236b6a1d6836 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/commands/listbox-set-property.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/commands/listbox-set-property.md
@@ -77,7 +77,7 @@ Quiere que todas las columnas del list box "MyListbox" sean redimensionables:
## Ejemplo 2
-You want to set a maximum width for the column whose name is "ProductNumber":
+Desea definir un ancho máximo para la columna cuyo nombre es "ProductNumber":
```4d
LISTBOX SET PROPERTY(*; "ProductNumber";lk column max width;200) //Esta columna tendrá un ancho máximo de 200
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/commands/select-log-file.md b/i18n/es/docusaurus-plugin-content-docs/current/commands/select-log-file.md
index 05b28a5eb1d550..4a6b78734f3cf7 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/commands/select-log-file.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/commands/select-log-file.md
@@ -19,13 +19,13 @@ displayed_sidebar: docs
El comando **SELECT LOG FILE** crea o cierra el archivo de historial de acuerdo al valor que pase en el parámetro.
-En *logFile*, pase el nombre o la ruta completa del archivo de registro a ser creado. If you only pass a name, the file will be created in the "Logs" folder of the database located next to the database structure file.
+En *logFile*, pase el nombre o la ruta completa del archivo de registro a ser creado. Si solo pasa un nombre, el archivo se creará en la carpeta "Logs" de la base de datos situada junto al archivo de estructura de la base de datos.
-If you pass an empty string in *logFile*, **SELECT LOG FILE** presents an Save File dialog box, allowing the user to choose the name and location of the log file to be created. Si el archivo se crea correctamente, la variable OK toma el valor 1. De lo contrario, si el usuario hace clic en Cancelar o si el archivo de registro no pudo ser creado, OK toma el valor 0.
+Si se pasa una cadena vacía en *logFile*, **SELECT LOG FILE** presenta un cuadro de diálogo Save File, que permite al usuario elegir el nombre y la ubicación del archivo de registro que se va a crear. Si el archivo se crea correctamente, la variable OK toma el valor 1. De lo contrario, si el usuario hace clic en Cancelar o si el archivo de registro no pudo ser creado, OK toma el valor 0.
-**Note:** The new log file is not generated immediately after execution of the command, but after the next backup (the parameter is kept in the data file and will be taken into account even if the database is closed in the meantime) or a call to the [New log file](new-log-file.md) command. Puede llamar al comando [BACKUP](../commands-legacy/backup.md) para activar la creación del archivo de registro.
+**Nota:** el nuevo archivo de registro no se genera inmediatamente después de la ejecución del comando, sino después de la siguiente copia de seguridad (el parámetro se mantiene en el archivo de datos y se tendrá en cuenta aunque la base de datos se cierre mientras tanto) o de una llamada al comando [New log file](new-log-file.md). Puede llamar al comando [BACKUP](../commands-legacy/backup.md) para activar la creación del archivo de registro.
-If you pass *\** in *logFile*, **SELECT LOG FILE** closes the current log file for the database. La variable OK toma el valor 1 cuando se cierra el archivo de registro.
+Si pasa *\** en *logFile*, **SELECT LOG FILE** cierra el archivo de registro actual para la base de datos. La variable OK toma el valor 1 cuando se cierra el archivo de registro.
## Variables y conjuntos sistema
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/commands/string.md b/i18n/es/docusaurus-plugin-content-docs/current/commands/string.md
index cd80fd800c2ca9..08d5b6d3f1ca2b 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/commands/string.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/commands/string.md
@@ -90,7 +90,7 @@ Si pasa 0 en *base*, el comando determina la base dependiendo del valor de *expr
:::info
- Esta sintaxis sigue estrictamente la especificación [`toString` EcmaScript sobre el manejo del radix](https://tc39.es/ecma262/multipage/numbers-and-dates.html#sec-number.prototype.tostring).
-- Utilizar esta sintaxis con *base*=10 no dará exactamente los mismos resultados que utilizar la sintaxis sin el parámetro *base*. For example, if the specified number value is not a number, the "NaN" string is returned.
+- Utilizar esta sintaxis con *base*=10 no dará exactamente los mismos resultados que utilizar la sintaxis sin el parámetro *base*. Por ejemplo, si el valor numérico especificado no es un número, se devuelve la cadena "NaN".
:::
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/commands/theme/Web_Server.md b/i18n/es/docusaurus-plugin-content-docs/current/commands/theme/Web_Server.md
index 9a392d36ecc364..3a6f378477ddc9 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/commands/theme/Web_Server.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/commands/theme/Web_Server.md
@@ -7,6 +7,8 @@ slug: /commands/theme/Web-Server
| |
| --------------------------------------------------------------------------------------------------------------------------------------- |
+| [](../../commands/web-event.md)
|
+| [](../../commands/web-form.md)
|
| [](../../commands-legacy/web-get-body-part.md)
|
| [](../../commands-legacy/web-get-body-part-count.md)
|
| [](../../commands-legacy/web-get-current-session-id.md)
|
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/commands/web-event.md b/i18n/es/docusaurus-plugin-content-docs/current/commands/web-event.md
new file mode 100644
index 00000000000000..d152985e83fc99
--- /dev/null
+++ b/i18n/es/docusaurus-plugin-content-docs/current/commands/web-event.md
@@ -0,0 +1,97 @@
+---
+id: web-event
+title: Web Event
+displayed_sidebar: docs
+---
+
+**Web Event** : object
+
+
+
+| Parámetros | Tipo | | Descripción |
+| ---------- | ------ | :-------------------------: | ------------------------------------ |
+| Resultado | Object | ← | Información sobre el evento activado |
+
+
+
+## Descripción
+
+`Web Event` returns an object with information on a triggered event linked to a web page component.
+
+The command must be called in the context of a web page handled by the 4D web server.
+
+**Resultado**
+
+El objeto devuelto contiene las siguientes propiedades:
+
+| Propiedad | | Tipo | Descripción |
+| --------- | ----- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| caller | | string | [Server-side reference](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/pageLoaderOverview#data-access-category) of the component triggering the event |
+| eventType | | string | Type of event:onbluronfocusonclickonauxclickonmouseenteronmouseleaveonkeyuponkeydownonchangeunloadonload - triggered when the `Page` loads |
+| data | | object | Información adicional en función del componente implicado |
+| | index | number | Tabs component: index of the tab (indexing starts at 0)Data Table component: column number |
+| | row | number | Componente de la tabla de datos: número de línea |
+| | name | string | Data Table component: qodlysource name of the column (e.g. "firstname", "address.city") |
+
+#### Ejemplo
+
+The objective is to display/hide a help text when the user hovers over the component:
+
+
+
+This is done by attaching `onmouseenter` and `onmouseleave` events to a **Text input** component that displays the information stored in a **Text** component (displaying "This is the help text").
+
+
+
+En este escenario:
+
+- The Text input component has `orderNumber` as Server side reference.
+ 
+- El componente Texto tiene `helpOn_orderNumber` como referencia del lado Servidor.
+ 
+- The [exposed](../ORDA/ordaClasses.md#exposed-vs-non-exposed-functions) function `help()` is attached to both the `onmouseenter` and `onmouseleave` events and contains the following code:
+
+```4d
+shared singleton Class constructor()
+exposed Function help()
+
+ var event : Object
+ var myForm : 4D.WebForm
+ var componentRef : Text
+
+ myForm:=web Form
+ event:=web Event
+ componentRef:=event.caller
+
+ Case of
+ : (event.eventType="onmouseenter") // event is onmouseenter
+ myForm["helpOn_"+componentRef].show() // show the help on "orderNumber" by showing
+ // the text component with reference "helpOn_orderNumber"
+ : (event.eventType="onmouseleave") // event is onmouseleave
+ myForm["helpOn_"+componentRef].hide() // hide the help on orderNumber
+
+ End case
+
+```
+
+To open the web page with the help on `orderNumber` hidden, you can associate this function to the `onload` event of the web page:
+
+```4d
+exposed function hideOnLoad()
+ webForm.helpOn_orderNumber.hide()
+
+```
+
+## Ver también
+
+[Web Form](web-form.md)
+[WebForm class](../API/WebFormClass.md)
+[WebFormItem class](../API/WebFormItemClass.md)
+
+## Propiedades
+
+| | |
+| ----------------- | --------------------------- |
+| Número de comando | 1734 |
+| Hilo seguro | ✗ |
+
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/commands/web-form.md b/i18n/es/docusaurus-plugin-content-docs/current/commands/web-form.md
new file mode 100644
index 00000000000000..11a368e5bc0f4d
--- /dev/null
+++ b/i18n/es/docusaurus-plugin-content-docs/current/commands/web-form.md
@@ -0,0 +1,46 @@
+---
+id: web-form
+title: Web Form
+displayed_sidebar: docs
+---
+
+**Web Form** : 4D.WebForm
+
+
+
+| Parámetros | Tipo | | Descripción |
+| ---------- | -------------------------- | :-------------------------: | ----------------------------- |
+| Resultado | 4D.WebForm | ← | Nuevo objeto proxy `Web Form` |
+
+
+
+## Descripción
+
+The `Web Form` command returns a `4D.WebForm` proxy object, providing a means to work with and effectively emulates the Page's properties and functions.
+
+:::info
+
+Keep in mind that a `4D.WebForm` object is a **proxy object**, and not a direct reference to the web form object itself. As a consequence for example, the `4D.WebForm` object does not expose all Page properties in the Debugger.
+
+:::
+
+Each property of the returned object is an object of the [4D.WebFormItem](../API/WebFormItemClass.md) class.
+
+The command returns `null` if it is called in a request that does not originate from Qodly Studio.
+
+## Ver también
+
+[Web Event](web-event.md)
+[WebForm class](../API/WebFormClass.md)
+[WebFormItem class](../API/WebFormItemClass.md)
+
+## Propiedades
+
+| | |
+| ----------------- | --------------------------- |
+| Número de comando | 1735 |
+| Hilo seguro | ✗ |
+
+
+
+
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/settings/web.md b/i18n/es/docusaurus-plugin-content-docs/current/settings/web.md
index d827ba37fa6121..6cea9f5a1781b0 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/settings/web.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/settings/web.md
@@ -126,7 +126,7 @@ Define el sistema de autenticación que desea aplicar a su servidor web. Se prop
Se recomienda utilizar la autenticación **personalizada**. Ver la sección[**autenticación**](../WebServer/authentication.md).
-#### Generic Web User
+#### Usuario web genérico
Ver [Propiedades obsoletas](../WebServer/webServerConfig.md#deprecated-settings).
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-19/API/CollectionClass.md b/i18n/es/docusaurus-plugin-content-docs/version-19/API/CollectionClass.md
index b15f5e0bde777c..802d08a3a7c603 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-19/API/CollectionClass.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-19/API/CollectionClass.md
@@ -4,7 +4,7 @@ title: Collection
---
-La clase Collection gestiona variables de tipo [Collection](Concepts/dt_collection.md).
+The Collection class manages [Collection](Concepts/dt_collection.md) type expressions.
Una colección se inicializa con:
@@ -349,14 +349,14 @@ $c.combine($fruits;3) //[1,2,3,"Orange","Banana","Apple","Grape",4,5,6]
-**.concat**( *value* : any { *;...valueN* } ) : Collection
+**.concat**( *value* : any { ; *...valueN* } ) : Collection
-| Parámetros | Tipo | | Descripción |
-| ---------- | -------------------------------------------------------------- |:--:| ------------------------------------------------------------------------------------------------------------------------ |
-| value | Number, Text, Object, Collection, Date, Time, Boolean, Picture | -> | Valores a concatenar. Si *value* es una colección, todos los elementos de la colección se añaden a la colección original |
-| Resultado | Collection | <- | Nueva colección con valor(es) añadido(s) a la colección original|
+| Parámetros | Tipo | | Descripción |
+| ---------- | ---------- |:--:| ------------------------------------------------------------------------------------------------------------------------ |
+| value | any | -> | Valores a concatenar. Si *value* es una colección, todos los elementos de la colección se añaden a la colección original |
+| Resultado | Collection | <- | Nueva colección con valor(es) añadido(s) a la colección original|
|
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-19/API/CryptoKeyClass.md b/i18n/es/docusaurus-plugin-content-docs/version-19/API/CryptoKeyClass.md
index 881b5fd1f2d200..99dcdf0fe650d8 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-19/API/CryptoKeyClass.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-19/API/CryptoKeyClass.md
@@ -63,7 +63,7 @@ La función `4D.CryptoKey.new()` crea un
#### *CryptoKey*
-El objeto `CryptoKey` devuelto encapsula un par de llaves de cifrado. It is a shared object and can therefore be used by multiple 4D processes simultaneously.
+El objeto `CryptoKey` devuelto encapsula un par de llaves de cifrado. Es un objeto compartido y, por tanto, puede ser utilizado por varios procesos 4D simultáneamente.
#### Ejemplo 1
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-19/Concepts/dt_number.md b/i18n/es/docusaurus-plugin-content-docs/version-19/Concepts/dt_number.md
index cbfd7a78c9cd17..55cd922364f13f 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-19/Concepts/dt_number.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-19/Concepts/dt_number.md
@@ -73,9 +73,9 @@ El operador modulo % devuelve valores significativos con números que están en
:::
-### División entera
+### Integer division
-El operador de división entero largo \ devuelve valores significativos sólo con números enteros.
+The integer division operator divides one number by another and returns the whole number part of the result, discarding any remainder. `a\b` is equivalent to `Int(a/b)`. This operator returns significant values with integer numbers only.
### Comparación real
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-19/Concepts/parameters.md b/i18n/es/docusaurus-plugin-content-docs/version-19/Concepts/parameters.md
index 5d1d394fdd7e25..9e441b221103b8 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-19/Concepts/parameters.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-19/Concepts/parameters.md
@@ -123,7 +123,7 @@ $entitySelection:=ds.User.query("login=:1"; $user)
:::note
-Do not confuse **parameter declarations** with [**variable declarations**](variables.md#declaring-variables). Using the `var` keyword with parameters will generate errors.
+Do not confuse **parameter declarations** with [**variable declarations**](variables.md#declaring-variables). El uso de la palabra clave `var` con parámetros generará errores.
:::
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-19/Concepts/quick-tour.md b/i18n/es/docusaurus-plugin-content-docs/version-19/Concepts/quick-tour.md
index 5f2cb4d2b54d79..b442b76cdbd744 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-19/Concepts/quick-tour.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-19/Concepts/quick-tour.md
@@ -315,7 +315,7 @@ Se hace referencia a una expresión por el tipo de datos que devuelve. Hay vario
| Col[5] | Elementos de colección | Un elemento de colección es una expresión que puede ser de todo tipo soportado |
| $entitySel[0] | Entity | Un elemento de una selección de entidades ORDA es una expresión de tipo entidad. Este tipo de expresión es **no asignable** |
-### Expresiones asignables y no asignables
+### Expresiones asignables y no asignables {#assignable-vs-non-assignable-expressions}
Una expresión puede ser simplemente una constante literal, como el número 4 o la cadena "Hello", o una variable como `$myButton`. También puede utilizar los operadores. Por ejemplo, 4 + 2 es una expresión que utiliza el operador de adición para sumar dos números y devolver el resultado 6. En todos los casos, estas expresiones son **no asignables**, lo que significa que no se les puede asignar un valor. En 4D, las expresiones pueden ser **asignables**. Una expresión es asignable cuando puede utilizarse a la izquierda del operador de asignación. Por ejemplo:
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-19/Concepts/variables.md b/i18n/es/docusaurus-plugin-content-docs/version-19/Concepts/variables.md
index c5866a7ac49936..01d7ef7660eaed 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-19/Concepts/variables.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-19/Concepts/variables.md
@@ -243,7 +243,7 @@ Las variables del sistema son utilizadas por los comandos 4D. Consulte el párra
| ------------------------------------------------------ | ------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `OK` | Integer | Normalmente se establece en 1 después de que un comando haya mostrado una caja de diálogo y el usuario haya hecho clic en el botón **Aceptar**, y en 0 si hizo clic en **Cancelar**. Algunos comandos también modifican el valor de la variable del sistema `OK` cuando se ejecuta una operación con éxito. |
| `Document` | Text | Contiene el "nombre largo" (ruta completa+nombre) del último archivo abierto o creado mediante comandos como [Open document](https://doc.4d.com/4dv20/help/command/en/page264.html) o [SELECT LOG FILE](https://doc.4d.com/4dv20/help/command/en/page345.html). |
-| `FldDelimit`, `RecDelimit` | Text | Contienen los códigos de caracteres que se utilizarán respectivamente como separador de campos (por defecto es **Tabulación** (9)) y separador de registros (por defecto es **retorno de carro** (13)) al importar o exportar texto. Para utilizar un separador diferente, asigne un nuevo valor a la variable del sistema. |
+| `FldDelimit`, `RecDelimit` | Integer | Contienen los códigos de caracteres que se utilizarán respectivamente como separador de campos (por defecto es **Tabulación** (9)) y separador de registros (por defecto es **retorno de carro** (13)) al importar o exportar texto. Para utilizar un separador diferente, asigne un nuevo valor a la variable del sistema. |
| `Error`, `Error method`, `Error line`, `Error formula` | Text, Longint | Utilizado en un método de captura de errores instalado por el comando [`ON ERR CALL`](https://doc.4d.com/4dv20/help/command/en/page155.html). Ver [Gestión de errores dentro del método](../Concepts/error-handling.md#handling-errors-within-the-method). |
| `MouseDown` | Integer | Utilizado en un método instalado por el comando [`ON EVENT CALL`](https://doc.4d.com/4dv20/help/command/en/page190.html). Toma el valor 1 cuando se presiona el botón del ratón, de lo contrario 0. |
| `MouseX`, `MouseY` | Integer | Utilizado en un método instalado por el comando [`ON EVENT CALL`](https://doc.4d.com/4dv20/help/command/en/page190.html). En un evento `MouseDown=1`, `MouseX` y `MouseY` se establecen respectivamente en las coordenadas verticales y horizontales del clic. Ambos valores se expresan en píxeles y utilizan el sistema de coordenadas local de la ventana. En el caso de un campo imagen o variable, `MouseX` y `MouseY` devuelven las coordenadas locales de un clic de ratón en los eventos de formulario [`On Clicked`](../Events/onClicked.md), [`On Double Clicked`](../Events/onDoubleClicked.md) y [`On Mouse Up`](../Events/onMouseUp.md). Las coordenadas locales del cursor del ratón también se retornan en los eventos formulario [`On Mouse Enter`](../Events/onMouseEnter.md) y [`On Mouse Move`](../Events/onMouseMove.md). Para obtener más información, consulte la sección [Coordenadas del ratón en una imagen](../FormEditor/pictures.md#coordenadas-del-ratón-en-una-imagen). |
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-19/FormEditor/formEditor.md b/i18n/es/docusaurus-plugin-content-docs/version-19/FormEditor/formEditor.md
index b3bc4c53bcc4a9..7dcdb830dcd022 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-19/FormEditor/formEditor.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-19/FormEditor/formEditor.md
@@ -340,7 +340,7 @@ Cuando se superponen varios objetos, se puede utilizar el atajo **Ctrl+Mayús+cl
:::note
-In binary databases, use **Ctrl+Click / Command+Click** to perform the same action.
+En bases de datos binarias, utilice **Ctrl+Clic / Comando+Clic** para efectuar la misma acción.
:::
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-19/FormObjects/properties_Animation.md b/i18n/es/docusaurus-plugin-content-docs/version-19/FormObjects/properties_Animation.md
index 84d3fb3dfa5031..d18384dc9d0775 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-19/FormObjects/properties_Animation.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-19/FormObjects/properties_Animation.md
@@ -53,7 +53,7 @@ Permite al usuario mantener pulsado el botón del ratón para mostrar las imáge
## Cambiar cada x segundos
-Enables cycling through the contents of the picture button at the specified speed (in seconds). En este modo, se ignoran todas las demás opciones.
+Permite recorrer el contenido del botón de imagen a la velocidad especificada (en segundos). En este modo, se ignoran todas las demás opciones.
#### Gramática JSON
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-19/FormObjects/properties_Reference.md b/i18n/es/docusaurus-plugin-content-docs/version-19/FormObjects/properties_Reference.md
index f010447f6e3f74..5c006d1bcf8d77 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-19/FormObjects/properties_Reference.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-19/FormObjects/properties_Reference.md
@@ -66,7 +66,7 @@ En esta página encontrará una lista completa de todas las propiedades de los o
| [`fontTheme`](properties_Text.md#font-theme) | Establece el estilo automático | "normal", "main", "additional" |
| [`fontWeight`](properties_Text.md#bold) | Ajusta el texto seleccionado para que aparezca más oscuro y pesado. | "normal", "bold" |
| [`footerHeight`](properties_Footers.md#height) | Sirve para fijar la altura de la línea | decimal positivo + px | em |
-| [`frameDelay`](properties_Animation.md#switch-every-x-ticks) | Enables cycling through the contents of the picture button at the specified speed (in seconds). | mínimo: 0 |
+| [`frameDelay`](properties_Animation.md#switch-every-x-ticks) | Permite recorrer el contenido del botón de imagen a la velocidad especificada (en segundos). | mínimo: 0 |
| **g** | | |
| [`graduationStep`](properties_Scale.md#graduation-step) | Medición de la visualización de la escala. | mínimo: 0 |
| **h** | | |
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/API/CollectionClass.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/API/CollectionClass.md
index b19fb72882385a..77db9b6be3a012 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/API/CollectionClass.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/API/CollectionClass.md
@@ -3,7 +3,7 @@ id: CollectionClass
title: Collection
---
-La clase Collection gestiona variables de tipo [Collection](Concepts/dt_collection.md).
+The Collection class manages [Collection](Concepts/dt_collection.md) type expressions.
Una colección es inicializada con los comandos [`New collection`](../commands/new-collection.md) o [`New shared collection`](../commands/new-shared-collection.md).
@@ -264,14 +264,14 @@ $c.combine($fruits;3) //[1,2,3,"Orange","Banana","Apple","Grape",4,5,6]
-**.concat**( *value* : any { *;...valueN* } ) : Collection
+**.concat**( *value* : any { ; *...valueN* } ) : Colección
-| Parámetros | Tipo | | Descripción |
-| ---------- | -------------------------------------------------------------- | :-------------------------: | --------------------------------------------------------------------------------------------------------------------------------------------------- |
-| value | Number, Text, Object, Collection, Date, Time, Boolean, Picture | -> | Valores a concatenar. Si *value* es una colección, todos sus elementos se añaden al final de la colección original. |
-| Resultado | Collection | <- | Colección original con valores rellenados |
+| Parámetros | Tipo | | Descripción |
+| ---------- | ---------- | :-------------------------: | --------------------------------------------------------------------------------------------------------------------------------------------------- |
+| value | any | -> | Valores a concatenar. Si *value* es una colección, todos sus elementos se añaden al final de la colección original. |
+| Resultado | Collection | <- | Colección original con valores rellenados |
@@ -3171,14 +3171,12 @@ La función `.sort()` ordena los elemento
Si se llama a `.sort()` sin parámetros, sólo se ordenan los valores escalares (número, texto, fecha, booleanos). Los elementos se ordenan por defecto de forma ascendente, según su tipo.
También puede pasar una de las siguientes constantes en el parámetro *ascOrDesc*:
- ```
- |Constant| Type|Value|Comment|
- |---|---|---|---|
- |ck ascending|Integer|0|Elements are ordered in ascending order (default)|
- |ck descending|Integer|1|Elements are ordered in descending order|
-
- This syntax orders scalar values in the collection only (other element types such as objects or collections are returned unordered).
- ```
+| Constante | Tipo | Valor | Comentario |
+| ------------- | ------- | ----- | ----------------------------------------------------------------------------- |
+| ck ascending | Integer | 0 | Los elementos se ordenan de forma ascendente (por defecto) |
+| ck descending | Integer | 1 | Los elementos se ordenan de forma descendente |
+
+Esta sintaxis sólo ordena los valores escalares de la colección (otros tipos de elementos, como objetos o colecciones, se devuelven desordenados).
Si la colección contiene elementos de diferentes tipos, se agrupan primero por tipo y se ordenan después. Si attributePath lleva a una propiedad de objeto que contiene valores de diferentes tipos, primero se agrupan por tipo y se ordenan después.
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/API/CryptoKeyClass.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/API/CryptoKeyClass.md
index 0dcbda2559aa1c..73a64cd7179651 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/API/CryptoKeyClass.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/API/CryptoKeyClass.md
@@ -63,7 +63,7 @@ La función `4D.CryptoKey.new()` crea un
#### *CryptoKey*
-El objeto `CryptoKey` devuelto encapsula un par de llaves de cifrado. It is a shared object and can therefore be used by multiple 4D processes simultaneously.
+El objeto `CryptoKey` devuelto encapsula un par de llaves de cifrado. Es un objeto compartido y, por tanto, puede ser utilizado por varios procesos 4D simultáneamente.
#### Ejemplo 1
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/API/DataStoreClass.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/API/DataStoreClass.md
index 3624ec598b4b1b..bad48161b88792 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/API/DataStoreClass.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/API/DataStoreClass.md
@@ -377,11 +377,11 @@ $info:=$ds.getAllRemoteContexts()
#### Descripción
-The `.getGlobalStamp()` function returns the current value of the global modification stamp of the datastore.
+La función `.getGlobalStamp()` devuelve el valor actual del marcador de modificación global del datastore.
:::info
-Esta función sólo puede llamarse:
+Esta función solo puede llamarse:
- en el datastore local ([`ds`](../commands/ds.md)).
- en entorno cliente/servidor, en la máquina servidor.
@@ -433,12 +433,12 @@ La función `.getInfo()` devuelve
**Objeto devuelto**
-| Propiedad | Tipo | Descripción |
-| ---------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| type | string | "4D": datastore principal, disponible a través de ds "4D Server": datastore remoto, abrir con Open datastore |
-| networked | boolean | True: el almacén de datos se alcanza a través de una conexión de red.False: the datastore is not reached through a network connection (local database) |
-| localID | text | ID del almacén de datos en la máquina. ID del almacén de datos en la máquina. Cadena vacía ("") para el almacén de datos principal. |
-| connection | object | Objeto que describe la conexión del almacén de datos remoto (no se devuelve para el almacén de datos principal). Propiedades disponibles:| Propiedad | Tipo | Descripción |
|---|
| nombre de host | texto | Dirección IP o nombre del datastore remoto + ":" + número de puerto |
| tls | booleano | True si se utiliza una conexión segura con el datastore remoto |
| idleTimeout | número | Tiempo de inactividad de la sesión (en minutos) |
| usuario | texto | Usuario autenticado en el almacén de datos remoto |
|
+| Propiedad | Tipo | Descripción |
+| ---------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| type | string | "4D": datastore principal, disponible a través de ds "4D Server": datastore remoto, abrir con Open datastore |
+| networked | boolean | True: el almacén de datos se alcanza a través de una conexión de red.False: no se llega al almacén de datos a través de una conexión de red (base de datos local) |
+| localID | text | ID del almacén de datos en la máquina. ID del almacén de datos en la máquina. Cadena vacía ("") para el almacén de datos principal. |
+| connection | object | Objeto que describe la conexión del almacén de datos remoto (no se devuelve para el almacén de datos principal). Propiedades
disponibles:| Propiedad | Tipo | Descripción |
|---|
| nombre de host | texto | Dirección IP o nombre del datastore remoto + ":" + número de puerto |
| tls | booleano | True si se utiliza una conexión segura con el datastore remoto |
| idleTimeout | número | Tiempo de inactividad de la sesión (en minutos) |
| usuario | texto | Usuario autenticado en el almacén de datos remoto |
|
- Si la función `.getInfo()` se ejecuta en un 4D Server o en un 4D monopuesto, `networked` es False.
- Si la función `.getInfo()` se ejecuta en un 4D remoto, `networked` es True
@@ -1018,7 +1018,7 @@ Para crear un registro de peticiones ORDA del lado del cliente, llame a esta fun
> Debe añadirse manualmente un carácter \N al final del archivo para realizar una validación JSON
-- Si se pasa un entero *reqNum*, se vacía el registro en memoria (si lo hay) y se inicializa un nuevo registro. It will keep *reqNum* requests in memory until the number is reached, in which case the oldest entries are emptied (FIFO stack).
If `.startRequestLog()` is called with a *reqNum* while a logging was previously started in a file, the file logging is stopped.
+- Si se pasa un entero *reqNum*, se vacía el registro en memoria (si lo hay) y se inicializa un nuevo registro. Conserva las peticiones *reqNum* en memoria hasta que se alcance el número, en cuyo caso se vacían las entradas más antiguas (pila FIFO).
Si `.startRequestLog()` es llamado con un *reqNum* mientras un registro fue iniciado previamente en un archivo, el registro de archivos es detenido.
- Si no ha pasado ningún parámetro, el registro se inicia en la memoria. Si `.startRequestLog()` fue llamado previamente con un *reqNum* (antes de una `.stopRequestLog()`), los datos del registro se apilan en memoria hasta la próxima vez que se vacíe el registro o se llame a `.stopRequestLog()`.
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/API/TCPEventClass.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/API/TCPEventClass.md
index c5ed7c2561fabb..53282bc91a6fc1 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/API/TCPEventClass.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/API/TCPEventClass.md
@@ -3,7 +3,7 @@ id: TCPEventClass
title: TCPEvent
---
-The `TCPEvent` class provides information about events occurring during the lifecycle of a TCP connection. It is generated when a [TCPConnection](TCPConnectionClass.md) is opened and is typically utilized in callbacks such as `onConnection`, `onData`, `onError`, and others.
+La clase `TCPEvent` ofrece información sobre los eventos que se producen durante el ciclo de vida de una conexión TCP. Un evento se genera cuando se abre una [TCPConnection](TCPConnectionClass.md) y se utiliza normalmente en retrollamadas tales como `onConnection`, `onData`, `onError` y otras.
Historia
@@ -51,7 +51,7 @@ La propiedad `.data` contiene los datos asoci
:::note
-When working with low-level TCP/IP connections, keep in mind there is no guarantee that all data will arrive in a single packet. Los datos llegan en orden, pero pueden fragmentarse a través de múltiples paquetes.
+Cuando trabaje con conexiones TCP/IP de bajo nivel, tenga en cuenta que no hay garantía de que todos los datos lleguen en un solo paquete. Los datos llegan en orden, pero pueden fragmentarse a través de múltiples paquetes.
:::
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Concepts/classes.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Concepts/classes.md
index cb42354faf3714..2f436782c4cb98 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Concepts/classes.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Concepts/classes.md
@@ -741,7 +741,7 @@ Los singletons son útiles para definir los valores que necesitan estar disponib
- un **singleton proceso** tiene una instancia única para el proceso en el que se instancia,
- un **singleton compartido** tiene una instancia única para todos los procesos en la máquina.
-- un **singleton de sesión** es un singleton compartido pero con una instancia única para todos los procesos en la [sesión](../API/SessionClass.md). Los singletons de sesión son compartidos dentro de una sesión completa, pero varían entre sesiones. En el contexto de un cliente-servidor o una aplicación web, los singletons de sesión hacen posible crear y utilizar una instancia diferente para cada sesión, y por lo tanto para cada usuario. Session singletons are particularly appropriate with [Qodly applications](https://developer.4d.com/qodly/).
+- un **singleton de sesión** es un singleton compartido pero con una instancia única para todos los procesos en la [sesión](../API/SessionClass.md). Los singletons de sesión son compartidos dentro de una sesión completa, pero varían entre sesiones. En el contexto de un cliente-servidor o una aplicación web, los singletons de sesión hacen posible crear y utilizar una instancia diferente para cada sesión, y por lo tanto para cada usuario. Los singletons de sesión son particularmente apropiados con [aplicaciones Qodly](https://developer.4d.com/qodly/).
:::info
@@ -782,9 +782,9 @@ La propiedad [`isSingleton`](../API/ClassClass.md#issingleton) de los objetos Cl
La propiedad [`.isSessionSingleton`](../API/ClassClass.md#issessionsingleton) de los objetos Class permite saber si la clase es un singleton de sesión.
-### Exposed singleton functions
+### Funciones singleton expuestas
-Shared and session singleton functions support the [`exposed` keyword](../ORDA/ordaClasses.md#exposed-vs-non-exposed-functions). An exposed singleton function can be directly called by REST requests. This feature is useful to design [Qodly pages calling 4D functions](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/events/bindingActionToEvents#class-functions).
+Las funciones singleton compartidas y de sesión soportan la [palabra clave `exposed`](../ORDA/ordaClasses.md#exposed-vs-non-exposed-functions). Una función singleton expuesta puede ser llamada directamente por peticiones REST. Esta función es útil para diseñar [páginas Qodly que llamen a las funciones 4D](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/events/bindingActionToEvents#class-functions).
### Ejemplos
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Concepts/dt_number.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Concepts/dt_number.md
index bec97cdc37fcdf..b29e4c072e0de2 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Concepts/dt_number.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Concepts/dt_number.md
@@ -79,9 +79,9 @@ El operador modulo % devuelve valores significativos con números que están en
:::
-### División entera
+### Integer division
-El operador de división entero largo \ devuelve valores significativos sólo con números enteros.
+The integer division operator divides one number by another and returns the whole number part of the result, discarding any remainder. `a\b` is equivalent to `Int(a/b)`. This operator returns significant values with integer numbers only.
### Comparación real
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Concepts/parameters.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Concepts/parameters.md
index df4ff6da8665ad..3891ba40a36698 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Concepts/parameters.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Concepts/parameters.md
@@ -112,7 +112,7 @@ $entitySelection:=ds.User.query("login=:1"; $user)
:::note
-Do not confuse **parameter declarations** with [**variable declarations**](variables.md#declaring-variables). Using the `var` keyword with parameters will generate errors.
+No confunda las **declaraciones de parámetros** con las [**declaraciones de variables**](variables.md#declaring-variables). El uso de la palabra clave `var` con parámetros generará errores.
:::
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Concepts/quick-tour.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Concepts/quick-tour.md
index d0ca9c46cc3021..c9d42a5e13ca96 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Concepts/quick-tour.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Concepts/quick-tour.md
@@ -312,7 +312,7 @@ Se hace referencia a una expresión por el tipo de datos que devuelve. Hay vario
| Col[5] | Elementos de colección | Un elemento de colección es una expresión que puede ser de todo tipo soportado |
| $entitySel[0] | Entity | Un elemento de una selección de entidades ORDA es una expresión de tipo entidad. Este tipo de expresión es **no asignable** |
-### Expresiones asignables y no asignables
+### Expresiones asignables vs no asignables {#assignable-vs-non-assignable-expressions}
Una expresión puede ser simplemente una constante literal, como el número 4 o la cadena "Hello", o una variable como `$myButton`. También puede utilizar los operadores. Por ejemplo, 4 + 2 es una expresión que utiliza el operador de adición para sumar dos números y devolver el resultado 6. En todos los casos, estas expresiones son **no asignables**, lo que significa que no se les puede asignar un valor.
En 4D, las expresiones pueden ser **asignables**. Una expresión es asignable cuando puede utilizarse a la izquierda del operador de asignación. Por ejemplo:
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Concepts/variables.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Concepts/variables.md
index a1cc173febeb9b..e31872102c3770 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Concepts/variables.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Concepts/variables.md
@@ -250,17 +250,18 @@ El lenguaje 4D maneja varias **variables sistema**, las cuales le permiten contr
Las variables del sistema son utilizadas por los [comandos 4D](../commands/command-index.md). Consulte el párrafo "Variables del sistema y conjuntos" en la descripción de un comando para averiguar si afecta a una variable del sistema.
-| Nombre de la variable del sistema | Tipo | Descripción |
-| ------------------------------------------------------ | ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `OK` | Integer | Normalmente se establece en 1 después de que un comando haya mostrado una caja de diálogo y el usuario haya hecho clic en el botón **Aceptar**, y en 0 si hizo clic en **Cancelar**. Algunos comandos también modifican el valor de la variable del sistema `OK` cuando se ejecuta una operación con éxito. |
-| `Document` | Text | Contiene el "nombre largo" (ruta completa+nombre) del último archivo abierto o creado utilizando comandos como [Open document](../commands-legacy/open-document.md) o [SELECT LOG FILE](../commands/select-log-file.md). |
-| `FldDelimit`, `RecDelimit` | Text | Contienen los códigos de caracteres que se utilizarán respectivamente como separador de campos (por defecto es **Tab** (9)) y separador de registros (por defecto es **retorno de carro** (13)) al importar o exportar texto. Para utilizar un separador diferente, asigne un nuevo valor a la variable del sistema. |
-| `Error`, `Error method`, `Error line`, `Error formula` | Text, Longint | Utilizado en un método de captura de errores instalado por el comando [`ON ERR CALL`](../commands-legacy/on-err-call.md). Ver [Gestión de errores en el método](../Concepts/error-handling.md#handling-errors-within-the-method). |
-| `MouseDown` | Integer | Utilizado en un método instalado por el comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Toma el valor 1 cuando se presiona el botón del ratón, de lo contrario 0. |
-| `MouseX`, `MouseY` | Integer | Utilizado en un método instalado por el comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). En un evento `MouseDown=1`, `MouseX` y `MouseY` se establecen respectivamente en las coordenadas verticales y horizontales del clic. Ambos valores se expresan en píxeles y utilizan el sistema de coordenadas local de la ventana. En el caso de un campo imagen o variable, `MouseX` y `MouseY` devuelven las coordenadas locales de un clic de ratón en los eventos de formulario [`On Clicked`](../Events/onClicked.md), [`On Double Clicked`](../Events/onDoubleClicked.md) y [`On Mouse Up`](../Events/onMouseUp.md). Las coordenadas locales del cursor del ratón también se retornan en los eventos formulario [`On Mouse Enter`](../Events/onMouseEnter.md) y [`On Mouse Move`](../Events/onMouseMove.md). Para obtener más información, consulte la sección [Coordenadas del ratón en una imagen](../FormEditor/pictures.md#coordenadas-del-ratón-en-una-imagen). |
-| `KeyCode` | Integer | Utilizado en un método instalado por el comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Define el código de carácter de la tecla que se acaba de presionar. Si la tecla es una tecla de función, `KeyCode` se establece como un código especial. |
-| `Modifiers` | Integer | Utilizado en un método instalado por el comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Establece las teclas modificadoras del teclado (Ctrl/Command, Alt/Option, Shift, Caps Lock). |
-| `MouseProc` | Integer | Utilizado en un método instalado por el comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Define el número de proceso en el que tuvo lugar el último evento |
+| Nombre de la variable del sistema | Tipo | Descripción |
+| --------------------------------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `OK` | Integer | Normalmente se establece en 1 después de que un comando haya mostrado una caja de diálogo y el usuario haya hecho clic en el botón **Aceptar**, y en 0 si hizo clic en **Cancelar**. Algunos comandos también modifican el valor de la variable del sistema `OK` cuando se ejecuta una operación con éxito. |
+| `Document` | Text | Contiene el "nombre largo" (ruta completa+nombre) del último archivo abierto o creado utilizando comandos como [Open document](../commands-legacy/open-document.md) o [SELECT LOG FILE](../commands/select-log-file.md). |
+| `FldDelimit`, `RecDelimit` | Integer | Contienen los códigos de caracteres que se utilizarán respectivamente como separador de campos (por defecto es **Tab** (9)) y separador de registros (por defecto es **retorno de carro** (13)) al importar o exportar texto. Para utilizar un separador diferente, asigne un nuevo valor a la variable del sistema. |
+| `Error`, `Error line` | Integer | Utilizado en un método de captura de errores instalado por el comando [`ON ERR CALL`](../commands-legacy/on-err-call.md). Ver [Gestión de errores en el método](../Concepts/error-handling.md#handling-errors-within-the-method). |
+| `Error method`, `Error formula` | Text | Utilizado en un método de captura de errores instalado por el comando [`ON ERR CALL`](../commands-legacy/on-err-call.md). Ver [Gestión de errores en el método](../Concepts/error-handling.md#handling-errors-within-the-method). |
+| `MouseDown` | Integer | Utilizado en un método instalado por el comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Toma el valor 1 cuando se presiona el botón del ratón, de lo contrario 0. |
+| `MouseX`, `MouseY` | Integer | Utilizado en un método instalado por el comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). En un evento `MouseDown=1`, `MouseX` y `MouseY` se establecen respectivamente en las coordenadas verticales y horizontales del clic. Ambos valores se expresan en píxeles y utilizan el sistema de coordenadas local de la ventana. En el caso de un campo imagen o variable, `MouseX` y `MouseY` devuelven las coordenadas locales de un clic de ratón en los eventos de formulario [`On Clicked`](../Events/onClicked.md), [`On Double Clicked`](../Events/onDoubleClicked.md) y [`On Mouse Up`](../Events/onMouseUp.md). Las coordenadas locales del cursor del ratón también se retornan en los eventos formulario [`On Mouse Enter`](../Events/onMouseEnter.md) y [`On Mouse Move`](../Events/onMouseMove.md). Para obtener más información, consulte la sección [Coordenadas del ratón en una imagen](../FormEditor/pictures.md#coordenadas-del-ratón-en-una-imagen). |
+| `KeyCode` | Integer | Utilizado en un método instalado por el comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Define el código de carácter de la tecla que se acaba de presionar. Si la tecla es una tecla de función, `KeyCode` se establece como un código especial. |
+| `Modifiers` | Integer | Utilizado en un método instalado por el comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Establece las teclas modificadoras del teclado (Ctrl/Command, Alt/Option, Shift, Caps Lock). |
+| `MouseProc` | Integer | Utilizado en un método instalado por el comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Define el número de proceso en el que tuvo lugar el último evento |
:::note
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Develop/field-properties.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Develop/field-properties.md
index f51a7c77821969..beae27552b3b35 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Develop/field-properties.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Develop/field-properties.md
@@ -3,7 +3,7 @@ id: field-properties
title: Propiedades de los campos
---
-For other field properties, please refer to [doc.4d.com](https://doc.4d.com/4Dv21/4D/21/Field-properties.300-7676763.en.html).
+Para otras propiedades de campos, consulte [doc.4d.com](https://doc.4d.com/4Dv21/4D/21/Field-properties.300-7676763.en.html).
## Class
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormEditor/formEditor.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormEditor/formEditor.md
index 55169d4e3065a5..94c480586178b3 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormEditor/formEditor.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormEditor/formEditor.md
@@ -314,7 +314,7 @@ Para repartir los objetos con igual espacio:
1. Seleccione tres o más objetos y haga clic en la herramienta Distribuir correspondiente.
-2. In the toolbar, click on the distribution tool that corresponds to the distribution you want to apply.

OR
Select a distribution menu command from the **Align** submenu in the **Object** menu or from the context menu of the editor.
+2. En la barra de herramientas, haga clic en la herramienta de distribución correspondiente a la distribución que desea aplicar.

OR
Select a distribution menu command from the **Align** submenu in the **Object** menu or from the context menu of the editor.
4D distribuye los objetos consecuentemente. Los objetos se distribuyen utilizando la distancia a sus centros y se utiliza como referencia la mayor distancia entre dos objetos consecutivos.
Para distribuir objetos utilizando la caja de diálogo Alinear y Distribuir:
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormObjects/listbox_overview.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormObjects/listbox_overview.md
index ab7f86953d4573..bab63bed6306cf 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormObjects/listbox_overview.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormObjects/listbox_overview.md
@@ -98,7 +98,7 @@ En el caso de un list box basado en la selección actual de una tabla, cualquier
En este tipo de list box, cada columna debe estar asociada a una expresión. El contenido de cada línea se evalúa entonces por elemento de la colección o por entidad de la selección de entidades.
-Cada elemento de la colección o cada entidad está disponible como un objeto al que se puede acceder a través de la palabra clave [This](../Concepts/classes.md#this). A column expression can be a property path, a project method, a variable, or any formula, accessing each entity or collection element object through `This`, for example `This.` (o `This.value` en caso de una colección de valores escalares). La expresión también puede ser un método proyecto, una variable o un elemento de array.
+Cada elemento de la colección o cada entidad está disponible como un objeto al que se puede acceder a través de la palabra clave [This](../Concepts/classes.md#this). Una expresión de columna puede ser una ruta de propiedad, un método proyecto, una variable o cualquier fórmula, accediendo a cada entidad u objeto elemento de colección a través de `This`, por ejemplo `This.` (o `This.value` en caso de una colección de valores escalares). La expresión también puede ser un método proyecto, una variable o un elemento de array.
Cuando la fuente de datos es una entity selection, cualquier modificación realizada del lado del list box se guarda automáticamente en la base de datos. Por otro lado, las modificaciones realizadas en la base de datos son visibles en el list box después de que se hayan recargado las entidades modificadas.
@@ -267,9 +267,10 @@ Puede definir propiedades estándar (texto, color de fondo, etc.) para cada colu
### Propiedades específicas de columna {#column-specific-properties}
-[Alpha Format](properties_Display.md#alpha-format) - [Alternate Background Color](properties_BackgroundAndBorder.md#alternate-background-color) - [Automatic Row Height](properties_CoordinatesAndSizing.md#automatic-row-height) - [Background Color](properties_BackgroundAndBorder.md#background-color--fill-color) - [Background Color Expression](properties_BackgroundAndBorder.md#background-color-expression) - [Bold](properties_Text.md#bold) - [Choice List](properties_DataSource.md#choice-list) - [Class](properties_Object.md#css-class) - [Context Menu](properties_Entry.md#context-menu) - [Data Type (selection and collection list box column)](properties_DataSource.md#data-type-list) - [Date Format](properties_Display.md#date-format) - [Default Values](properties_DataSource.md#default-list-of-values) - [Display Type](properties_Display.md#display-type) - [Enterable](properties_Entry.md#enterable) - [Entry Filter](properties_Entry.md#entry-filter) - [Excluded List](properties_RangeOfValues.md#excluded-list) - [Expression](properties_DataSource.md#expression) - [Expression Type (array list box column)](properties_Object.md#expression-type) - [Font](properties_Text.md#font) - [Font Color](properties_Text.md#font-color) - [Horizontal Alignment](properties_Text.md#horizontal-alignment) - [Horizontal Padding](properties_CoordinatesAndSizing.md#horizontal-padding) - [Italic](properties_Text.md#italic) - [Invisible](properties_Display.md#visibility) - [Maximum Width](properties_CoordinatesAndSizing.md#maximum-width) - [Method](properties_Action.md#method) - [Minimum Width](properties_CoordinatesAndSizing.md#minimum-width) - [Multi-style](properties_Text.md#multi-style) - [Number Format](properties_Display.md#number-format) - [Object Name](properties_Object.md#object-name) - [Picture Format](properties_Display.md#picture-format) - [Resizable](properties_ResizingOptions.md#resizable) - [Required List](properties_RangeOfValues.md#required-list) - [Row Background Color Array](properties_BackgroundAndBorder.md#row-background-color-array) - [Row Font Color Array](properties_Text.md#row-font-color-array) - [Row Style Array](properties_Text.md#row-style-array) - [Save as](properties_DataSource.md#save-as) - [Style Expression](properties_Text.md#style-expression) - [Text when False/Text when True](properties_Display.md#text-when-falsetext-when-true) - [Time Format](properties_Display.md#time-format) - [Truncate with ellipsis](properties_Display.md#truncate-with-ellipsis) - [Underline](properties_Text.md#underline) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Vertical Alignment](properties_Text.md#vertical-alignment) - [Vertical Padding](properties_CoordinatesAndSizing.md#vertical-padding) - [Width](properties_CoordinatesAndSizing.md#width) - [Wordwrap](properties_Display.md#wordwrap)
+[Formato Alfa](properties_Display.md#alpha-format) - [Color de fondo alternativo](properties_BackgroundAndBorder.md#alternate-background-color) - [Altura de línea automática](properties_CoordinatesAndSizing.md#automatic-row-height) - [Color de fondo](properties_BackgroundAndBorder.md#background-color--fill-color) - [Expresión de color de fondo](properties_BackgroundAndBorder.md#background-color-expression) - [Negrita](properties_Text.md#bold) - [Lista de selección](properties_DataSource.md#choice-list) - [Clase](properties_Object.md#css-class) - [Menú contexto](properties_Entry.md#context-menu) - [Tipo de datos (selección y columna de list box colección)](properties_DataSource.md#data-type-list) - [Formato Fecha](properties_Display.md#date-format) - [Valores por defecto](properties_DataSource.md#default-list-of-values) - [Tipo de visualización](properties_Display.md#display-type) - [Editable](properties_Entry.md#enterable) - [Filtro de entrada](properties_Entry.md#entry-filter) - [Lista excluída](properties_RangeOfValues.md#excluded-list) - [Expresión](properties_DataSource.md#expression) - [Tipo de expresión (column de list box array)](properties_Object.md#expression-type) - [Fuente](properties_Text.md#font) - [Color de fuente](properties_Text.md#font-color) - [Alineación Horizontal](properties_Text.md#horizontal-alignment) - [Relleno Horizontal](properties_CoordinatesAndSizing.md#horizontal-padding) - [Itálica](properties_Text.md#italic) - [Invisible](properties_Display.md#visibility) - [Ancho máximo](properties_CoordinatesAndSizing.md#maximum-width) - [Método](properties_Action.md#method) - [Ancho mínimo](properties_CoordinatesAndSizing.md#minimum-width) - [Multiestilo](properties_Text.md#multi-style) - [Formato número](properties_Display.md#number-format) - [Nombre de objeto](properties_Object.md#object-name) - [Formato Imagen](properties_Display.md#picture-format) - [Redimensionable](properties_ResizingOptions.md#resizable) - [Lista requerida](properties_RangeOfValues.md#required-list) - [Array de color de fondo de línea](properties_BackgroundAndBorder.md#row-background-color-array) - [Array de color de fuente de línea](properties_Text.md#row-font-color-) - [Array de estilo de línea](properties_Text.md#row-style-array) - [Guardar como](properties_DataSource.md#save-as) - [Expresión de estilo](properties_Text.md#style-expression) - [Texto cuando False/Texto cuando True](properties_Display.md#text-when-falsetext-when-true) - [Formato Hora](properties_Display.md#time-format) - [Truncar con elipsis](properties_Display.md#truncate-with-ellipsis) - [Subrayar](properties_Text.md#underline) - [Variable o Expresión](properties_Object.md#variable-or-expression) - Alineación
+Vertical - [Relleno vertical](properties_CoordinatesAndSizing.md#vertical-padding) - [Ancho](properties_CoordinatesAndSizing.md#width) - [Ajuste de palabras](properties_Display.md#wordwrap)
-### Eventos de formulario soportados {#supported-form-events-1}
+### Eventos formulario soportados {#supported-form-events-1}
| Evento formulario | Propiedades adicionales devueltas (ver [Evento formulario](../commands/form-event.md) para las propiedades principales) | Comentarios |
| -------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
@@ -521,14 +522,14 @@ Puede activar o desactivar la ordenación usuario estándar desactivando la prop
El soporte de ordenación estándar depende del tipo de list box:
-| Tipo de list box | Soporte de ordenación estándar | Comentarios |
-| ------------------------------ | ------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| Colección de objetos | Sí | - Las columnas "This.a" o "This.a.b" son ordenables.
- The [list box source property](properties_Object.md#variable-or-expression) must be an [assignable expression](../Concepts/quick-tour.md#assignable-vs-non-assignable-expressions).
|
-| Colección de valores escalares | No | Utilice la ordenación personalizada con la función [`orderBy()`](../API/CollectionClass.md#orderby) |
-| Entity selection | Sí | The [list box source property](properties_Object.md#variable-or-expression) must be an [assignable expression](../Concepts/quick-tour.md#assignable-vs-non-assignable-expressions).Supported: sorts on object attribute properties (e.g. "This.data.city" when "data" is an object attribute)Supported: sorts on related attributes (e.g. "This.company.name")Not supported: sorts on object attribute properties through related attributes (e.g. "This.company.data.city"). Para ello, debe utilizar la ordenación personalizada con la función [`orderByFormula()`](../API/EntitySelectionClass.md#orderbyformula) (ver el siguiente ejemplo) |
-| Selección actual | Sí | Sólo se pueden ordenar las expresiones simples (por ejemplo, `[Table_1]Campo_2`) |
-| Selección temporal | No | |
-| Arrays | Sí | Las columnas vinculadas a arrays de imágenes y punteros no se pueden ordenar |
+| Tipo de list box | Soporte de ordenación estándar | Comentarios |
+| ------------------------------ | ------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| Colección de objetos | Sí | - Las columnas "This.a" o "This.a.b" son ordenables.
- La [propiedad source del list box](properties_Object.md#variable-or-expression) debe ser una [expresión asignable](../Concepts/quick-tour.md#assignable-vs-non-assignable-expressions).
|
+| Colección de valores escalares | No | Utilice la ordenación personalizada con la función [`orderBy()`](../API/CollectionClass.md#orderby) |
+| Entity selection | Sí | La [propiedad source del list box](properties_Object.md#variable-or-expression) debe ser una [expresión asignable](../Concepts/quick-tour.md#assignable-vs-non-assignable-expressions).Soportado: ordena en las propiedades de atributos de objetos (por ejemplo, "This.data.city" cuando "data" es un atributo de objeto)Soportado: ordena en atributos relacionados (por ejemplo, "This.company.name")No soportado: ordena por propiedades de atributos de objeto a través de atributos relacionados (por ejemplo, "This.company.data.city"). Para ello, debe utilizar la ordenación personalizada con la función [`orderByFormula()`](../API/EntitySelectionClass.md#orderbyformula) (ver el siguiente ejemplo) |
+| Selección actual | Sí | Sólo se pueden ordenar las expresiones simples (por ejemplo, `[Table_1]Campo_2`) |
+| Selección temporal | No | |
+| Arrays | Sí | Las columnas vinculadas a arrays de imágenes y punteros no se pueden ordenar |
### Ordenación personalizada
@@ -650,14 +651,14 @@ La impresión de un list box en modo vista previa consiste en imprimir directame
### Modo avanzado
-En este modo, la impresión de los list box se realiza por programación, a través del comando `Print object` (se soportan los formularios proyecto y los formularios tabla). The [`LISTBOX GET PRINT INFORMATION`](../commands/listbox-get-print-information) command is used to control the printing of the object.
+En este modo, la impresión de los list box se realiza por programación, a través del comando `Print object` (se soportan los formularios proyecto y los formularios tabla). El comando [`LISTBOX GET PRINT INFORMATION`](../commands/listbox-get-print-information) se utiliza para controlar la impresión del objeto.
En este modo:
-- La altura del objeto list box se reduce automáticamente cuando el número de líneas a imprimir es inferior a la altura original del objeto (no se imprimen líneas "vacías"). Por el contrario, la altura no aumenta automáticamente en función del contenido del objeto. The size of the object actually printed can be obtained via the [`LISTBOX GET PRINT INFORMATION`](../commands/listbox-get-print-information) command.
+- La altura del objeto list box se reduce automáticamente cuando el número de líneas a imprimir es inferior a la altura original del objeto (no se imprimen líneas "vacías"). Por el contrario, la altura no aumenta automáticamente en función del contenido del objeto. El tamaño del objeto realmente impreso puede obtenerse mediante el comando [`LISTBOX GET PRINT INFORMATION`](../commands/listbox-get-print-information).
- El objeto list box se imprime "tal cual", es decir, teniendo en cuenta sus parámetros de visualización actuales: visibilidad de los encabezados y de las rejillas, líneas ocultas y mostradas, etc.
- These parameters also include the first row to be printed: if you call the [`OBJECT SET SCROLL POSITION`](../commands/object-set-scroll-position) command before launching the printing, the first row printed in the list box will be the one designated by the command.
-- Un mecanismo automático facilita la impresión de los list box que contienen más líneas de las que es posible mostrar: se pueden realizar llamadas sucesivas a `Print object` para imprimir cada vez un nuevo conjunto de líneas. The [`LISTBOX GET PRINT INFORMATION`](../commands/listbox-get-print-information) command can be used to check the status of the printing while it is underway.
+ Estos parámetros también incluyen la primera línea a imprimir: si llama al comando [`OBJECT SET SCROLL POSITION`](../commands/object-set-scroll-position) antes de lanzar la impresión, la primera línea impresa en el list box será la designada por el comando.
+- Un mecanismo automático facilita la impresión de los list box que contienen más líneas de las que es posible mostrar: se pueden realizar llamadas sucesivas a `Print object` para imprimir cada vez un nuevo conjunto de líneas. El comando [`LISTBOX GET PRINT INFORMATION`](../commands/listbox-get-print-information) se puede utilizar para comprobar el estado de la impresión mientras se está realizando.
## List box jerárquicos
@@ -673,7 +674,7 @@ Para definir un list box jerárquico, existen varias posibilidades:
- Configurar manualmente los elementos jerárquicos utilizando la lista de propiedades del editor de formularios (o editar el formulario JSON).
- Generar visualmente la jerarquía utilizando el menú emergente de gestión de list box, en el editor de formularios.
-- Use the [`LISTBOX SET HIERARCHY`](../commands-legacy/listbox-set-hierarchy.md) and [`LISTBOX GET HIERARCHY`](../commands-legacy/listbox-get-hierarchy.md) commands.
+- Utilice los comandos [`LISTBOX SET HIERARCHY`](../commands-legacy/listbox-set-hierarchy.md) y [`LISTBOX GET HIERARCHY`](../commands-legacy/listbox-get-hierarchy.md).
#### Propiedades del List Box jerárquico
@@ -796,7 +797,7 @@ Representación jerárquica:
> Si una o más líneas están ocultas porque sus padres están contraídos, ya no se seleccionan. Sólo se pueden seleccionar las líneas visibles (directamente o por desplazamiento). En otras palabras, las líneas no pueden estar ocultas y seleccionadas a la vez.
-As with selections, the [`LISTBOX GET CELL POSITION`](../commands/listbox-get-cell-position) command will return the same values for a hierarchical list box and a non-hierarchical list box. This means that in both of the examples below, [`LISTBOX GET CELL POSITION`](../commands/listbox-get-cell-position) will return the same position: (3;2).
+Al igual que con las selecciones, el comando [`LISTBOX GET CELL POSITION`](../commands/listbox-get-cell-position) devolverá los mismos valores para un list box jerárquico que para un list box no jerárquico. Esto significa que en los dos ejemplos siguientes, [`LISTBOX GET CELL POSITION`](../commands/listbox-get-cell-position) devolverá la misma posición: (3;2).
*Representación no jerárquica:*

@@ -808,11 +809,11 @@ Cuando se ocultan todas las líneas de una subjerarquía, la línea de ruptura s
#### Líneas de quiebre
-If the user selects a break row, [`LISTBOX GET CELL POSITION`](../commands/listbox-get-cell-position) returns the first occurrence of the row in the corresponding array. En el caso siguiente:
+Si el usuario selecciona una línea de interrupción, [`LISTBOX GET CELL POSITION`](../commands/listbox-get-cell-position) devuelve la primera aparición de la línea en el array correspondiente. En el caso siguiente:

-... [`LISTBOX GET CELL POSITION`](../commands/listbox-get-cell-position) devuelve (2;4). To select a break row by programming, you will need to use the [`LISTBOX SELECT BREAK`](../commands/listbox-select-break) command.
+... [`LISTBOX GET CELL POSITION`](../commands/listbox-get-cell-position) devuelve (2;4). Para seleccionar una línea de ruptura por programación, deberá utilizar el comando [`LISTBOX SELECT BREAK`](../commands/listbox-select-break).
Las líneas de rotura no se tienen en cuenta en los arrays internos utilizados para gestionar el aspecto gráfico de los list box (estilos y colores). No obstante, es posible modificar estas características para las líneas de ruptura mediante los comandos de gestión gráfica de los objetos. Basta con ejecutar los comandos adecuados en los arrays que constituyen la jerarquía.
@@ -841,19 +842,19 @@ Resultado:
Puede optimizar la visualización y gestión de los list box jerárquicos utilizando los eventos formulario `On Expand` y `On Collapse`.
-Un list box jerárquico se construye a partir del contenido de sus arrays, por lo que sólo puede mostrarse cuando todos estos arrays están cargados en memoria. This makes it difficult to build large hierarchical list boxes based on arrays generated from data (through the [`SELECTION TO ARRAY`](../commands/selection-to-array) command), not only because of the display speed but also the memory used.
+Un list box jerárquico se construye a partir del contenido de sus arrays, por lo que sólo puede mostrarse cuando todos estos arrays están cargados en memoria. Esto dificulta la generación de list box jerárquicos de gran tamaño basados en arrays generados a partir de datos (a través del comando [`SELECTION TO ARRAY`](../commands/selection-to-array)), no solo por la velocidad de visualización sino también por la memoria utilizada.
-El uso de los eventos de formulario `On Expand` y `On Collapse` puede superar estas limitaciones: por ejemplo, puede mostrar sólo una parte de la jerarquía y cargar/descargar los arrays sobre la marcha, basándose en las acciones del usuario. In the context of these events, the [`LISTBOX GET CELL POSITION`](../commands/listbox-get-cell-position) command returns the cell where the user clicked in order to expand or collapse a row.
+El uso de los eventos de formulario `On Expand` y `On Collapse` puede superar estas limitaciones: por ejemplo, puede mostrar sólo una parte de la jerarquía y cargar/descargar los arrays sobre la marcha, basándose en las acciones del usuario. En el contexto de estos eventos, el comando [`LISTBOX GET CELL POSITION`](../commands/listbox-get-cell-position) devuelve la celda en la que el usuario hizo clic para expandir o contraer una línea.
En este caso, debe llenar y vaciar los arrays por código. Los principios que deben aplicarse son:
- Cuando se muestra el list box, sólo se debe llenar el primer array. Sin embargo, debe crear un segundo array con valores vacíos para que el list box muestre los botones desplegar/contraer:

-- Cuando un usuario hace clic en un botón de expandir, puede procesar el evento `On Expand`. The [`LISTBOX GET CELL POSITION`](../commands/listbox-get-cell-position) command returns the cell concerned and lets you build the appropriate hierarchy: you fill the first array with the repeated values and the second with the values sent from the [`SELECTION TO ARRAY`](../commands/selection-to-array) command and you insert as many rows as needed in the list box using the [`LISTBOX INSERT ROWS`](../commands/listbox-insert-rows) command.
+- Cuando un usuario hace clic en un botón de expandir, puede procesar el evento `On Expand`. El comando [`LISTBOX GET CELL POSITION`](../commands/listbox-get-cell-position) devuelve la celda en cuestión y permite construir la jerarquía adecuada: se llena el primer array con los valores repetidos y el segundo con los valores enviados desde el comando [`SELECTION TO ARRAY`](../commands/selection-to-array) y se insertan tantas líneas como sean necesarias en el list box mediante el comando [`LISTBOX INSERT ROWS`](../commands/listbox-insert-rows).

-- Cuando un usuario hace clic en un botón de contracción, puede procesar el evento `On Collapse`. The [`LISTBOX GET CELL POSITION`](../commands/listbox-get-cell-position) command returns the cell concerned: you remove as many rows as needed from the list box using the [`LISTBOX DELETE ROWS`](../commands/listbox-delete-rows) command.
+- Cuando un usuario hace clic en un botón de contracción, puede procesar el evento `On Collapse`. El comando [`LISTBOX GET CELL POSITION`](../commands/listbox-get-cell-position) devuelve la celda en cuestión: se eliminan tantas líneas como sean necesarias del list box mediante el comando [`LISTBOX DELETE ROWS`](../commands/listbox-delete-rows).
## Arrays de objetos en columnas
@@ -1001,9 +1002,9 @@ Estos atributos pueden utilizarse para controlar el rango de valores de entrada.
El atributo behavior ofrece variaciones a la representación estándar de los valores. En 4D v15, se ofrece una única variación:
-| Atributo | Valor(es) disponible(s) | valueType(s) | Descripción |
-| -------- | ------------------------------------------------------------- | ------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| behavior | threeStates | integer | Representa un valor numérico como una casilla de verificación de tres estados.
2=semi-checked, 1=checked, 0=unchecked, -1=invisible, -2=unchecked disabled, -3=checked disabled, -4=semi-checked disabled |
+| Atributo | Valor(es) disponible(s) | valueType(s) | Descripción |
+| -------- | ------------------------------------------------------------- | ------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| behavior | threeStates | integer | Representa un valor numérico como una casilla de verificación de tres estados.
2=semi seleccionada, 1=seleccionada, 0=no seleccionada, -1=invisible, -2= deseleccionada desactivada, -3= seleccionada desactivada, -4=semi seleccionada desactivada |
```4d
C_OBJECT($ob3)
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormObjects/properties_Action.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormObjects/properties_Action.md
index 879812bdbe3360..8558b04e6a0808 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormObjects/properties_Action.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormObjects/properties_Action.md
@@ -189,15 +189,15 @@ En otros casos (list box basados en selecciones temporales, columnas asociadas a
## Acción estándar
-Actividades típicas que deben realizar los objetos activos (\*por ejemplo, permitir al usuario aceptar, cancelar o eliminar registros, desplazarse entre registros o de una página a otra en un formulario multipágina, etc.) han sido predefinidas por 4D como acciones estándar. Se describen con detalle en la sección [Acciones estándar](https://doc.4d.com/4Dv20/4D/20.2/Standard-actions.300-6750239.en.html) de la *manual de Diseño*. There are also [standard actions specific to 4D Write Pro areas](../WritePro/user-legacy/defining-a-4d-write-pro-area.md#standard-actions).
+Actividades típicas que deben realizar los objetos activos (\*por ejemplo, permitir al usuario aceptar, cancelar o eliminar registros, desplazarse entre registros o de una página a otra en un formulario multipágina, etc.) han sido predefinidas por 4D como acciones estándar. Se describen con detalle en la sección [Acciones estándar](https://doc.4d.com/4Dv20/4D/20.2/Standard-actions.300-6750239.en.html) de la *manual de Diseño*. There are also standard actions specific to 4D Write Pro areas.
Puede asignar al mismo tiempo una acción estándar y un método proyecto de un objeto. En este caso, la acción estándar suele ejecutarse después del método y 4D utiliza esta acción para activar/desactivar el objeto según el contexto actual. Cuando se desactiva un objeto, no se puede ejecutar el método proyecto asociado.
#### Gramática JSON
-| Nombre | Tipos de datos | Valores posibles |
-| ------ | -------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| action | string | The name of a valid [standard action](https://doc.4d.com/4Dv20/4D/20.2/Standard-actions.300-6750239.en.html) or [4D Write Pro standard action](../WritePro/user-legacy/defining-a-4d-write-pro-area.md#standard-actions). |
+| Nombre | Tipos de datos | Valores posibles |
+| ------ | -------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| action | string | The name of a valid [standard action](https://doc.4d.com/4Dv20/4D/20.2/Standard-actions.300-6750239.en.html) or 4D Write Pro standard action]. |
#### Objetos soportados
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormObjects/properties_Animation.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormObjects/properties_Animation.md
index 1a695df8846669..9641fb62524331 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormObjects/properties_Animation.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormObjects/properties_Animation.md
@@ -65,7 +65,7 @@ Permite al usuario mantener pulsado el botón del ratón para mostrar las imáge
## Cambiar cada x segundos
-Enables cycling through the contents of the picture button at the specified speed (in seconds). En este modo, se ignoran todas las demás opciones.
+Permite recorrer el contenido del botón de imagen a la velocidad especificada (en segundos). En este modo, se ignoran todas las demás opciones.
#### Gramática JSON
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormObjects/properties_ListBox.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormObjects/properties_ListBox.md
index 9d890776e42567..e2d8e22cbe1da1 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormObjects/properties_ListBox.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormObjects/properties_ListBox.md
@@ -74,7 +74,7 @@ Para las dos últimas acciones, también se genera el evento de formulario `On O
---
-## Highlight Set {#highlight-set}
+## Conjunto resaltado {#highlight-set}
`List box del tipo selección`
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormObjects/properties_Reference.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormObjects/properties_Reference.md
index bf427697889987..95d2dd6ab60c67 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormObjects/properties_Reference.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormObjects/properties_Reference.md
@@ -85,7 +85,7 @@ En esta página encontrará una lista completa de todas las propiedades de los o
| [`fontTheme`](properties_Text.md#font-theme) | Establece el estilo automático | "normal", "main", "additional" |
| [`fontWeight`](properties_Text.md#bold) | Ajusta el texto seleccionado para que aparezca más oscuro y pesado. | "normal", "bold" |
| [`footerHeight`](properties_Footers.md#height) | Sirve para fijar la altura de la línea | decimal positivo + px | em |
-| [`frameDelay`](properties_Animation.md#switch-every-x-ticks) | Enables cycling through the contents of the picture button at the specified speed (in seconds). | mínimo: 0 |
+| [`frameDelay`](properties_Animation.md#switch-every-x-ticks) | Permite recorrer el contenido del botón de imagen a la velocidad especificada (en segundos). | mínimo: 0 |
| **g** | | |
| [`graduationStep`](properties_Scale.md#graduation-step) | Medición de la visualización de la escala. | mínimo: 0 |
| **h** | | |
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormObjects/webArea_overview.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormObjects/webArea_overview.md
index 008310d5b2f8a3..ba8ac84ef8e799 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormObjects/webArea_overview.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormObjects/webArea_overview.md
@@ -18,7 +18,7 @@ Se pueden asociar dos variables específicas a cada área web:
- [`URL`](properties_WebArea.md#url) --para controlar la URL mostrada por el área web
- [`Progression`](properties_WebArea.md#progression) -- para controlar el porcentaje de carga de la página mostrada en el área web.
-> A partir de 4D v19 R5, la variable Progression ya no se actualiza en las Áreas Web que utilizan el [motor de renderizado del sistema Windows](./webArea_overview.md#web-rendering-engine).
+> As of 4D 19 R5, the Progression variable is no longer updated in Web Areas using the [Windows system rendering engine](./webArea_overview.md#web-rendering-engine).
### Motor de renderización web
@@ -115,7 +115,7 @@ $4d.today(function(result)
#### Ejemplo 2
-Instead of using a standalone method, we can also use a class function to handle the calculation.
+En lugar de utilizar un método independiente, también podemos utilizar una función de clase para realizar el cálculo.
Define a "SumCalculator" 4D user class with a `calcSum` function which receives parameters and returns their sum:
@@ -332,9 +332,11 @@ El archivo 4DCEFParameters.json por defecto contiene los siguientes cambios:
}
```
-### Ver también
+:::info Entrada de blog relacionada
-[Especifique sus propios parámetros para inicializar el área web integrada (entrada de blog)](https://blog.4d.com/specify-your-own-parameters-to-initialize-the-embedded-web-area)
+[Custom Parameters for Initializing Embedded Web Area](https://blog.4d.com/custom-parameters-for-initializing-embedded-web-area/)
+
+:::
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Menus/properties.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Menus/properties.md
index e71e4a99e8fae0..4d34bb1d18dda4 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Menus/properties.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Menus/properties.md
@@ -12,9 +12,9 @@ La propiedad **Title** contiene la etiqueta de un menú o elemento de menú tal
En el editor de menús, puede introducir directamente la etiqueta como "fijo". También puede introducir una referencia para una variable o un elemento XLIFF, lo que facilitará el mantenimiento y la traducción de las aplicaciones. Puede utilizar los siguientes tipos de referencias:
- Una referencia a un recurso XLIFF del tipo :xliff:MyLabel. Para más información sobre las referencias XLIFF, consulte la sección *Arquitectura XLIFF* en *Referencia Diseño 4D*.
-- (**Deprecated**) An interprocess variable name followed by a number, for example: `:<>vlang,3`. Si se cambia el contenido de esta variable, se modificará la etiqueta del menú cuando se muestre. En este caso, la etiqueta llamará a un recurso XLIFF. El valor contenido en la variable `<>vlang` corresponde al atributo *id* del elemento *group*. El segundo valor (3 en este ejemplo) designa el atributo *id* del elemento *trans-unit*.
+- (**Obsoleto**) Un nombre de variable interproceso seguido de un número, por ejemplo: `:<>vlang,3`. Si se cambia el contenido de esta variable, se modificará la etiqueta del menú cuando se muestre. En este caso, la etiqueta llamará a un recurso XLIFF. El valor contenido en la variable `<>vlang` corresponde al atributo *id* del elemento *group*. El segundo valor (3 en este ejemplo) designa el atributo *id* del elemento *trans-unit*.
-Using the 4D language, you set the title property through the *itemText* parameter of the [`APPEND MENU ITEM`](../commands/append-menu-item), [`INSERT MENU ITEM`](../commands/insert-menu-item), and [`SET MENU ITEM`](../commands/set-menu-item) commands.
+Usando el lenguaje 4D, se define la propiedad del título a través del parámetro *itemText* de los comandos [`APPEND MENU ITEM`](../commands/append-menu-item), [`INSERT MENU ITEM`](../commands/insert-menu-item), y [`SET MENU ITEM`](../commands/set-menu-item).
### Caracteres de control
@@ -33,9 +33,9 @@ Los caracteres de control no aparecen en las etiquetas de los comandos del menú
## Parámetros
-Puede asociar un parámetro personalizado a cada elemento del menú. Un parámetro de elemento de menú es una cadena de caracteres cuyo contenido puede elegirse libremente. It can be set in the Menu editor, or through the [`SET MENU ITEM PARAMETER`](../commands/set-menu-item-parameter) command.
+Puede asociar un parámetro personalizado a cada elemento del menú. Un parámetro de elemento de menú es una cadena de caracteres cuyo contenido puede elegirse libremente. Puede configurarse en el editor de menús o mediante el comando [`SET MENU ITEM PARAMETER`](../commands/set-menu-item-parameter).
-Menu item parameters are useful with programmed management of menus, in particular when using the [`Dynamic pop up menu`](../commands/dynamic-pop-up-menu), [`Get menu item parameter`](../commands/get-menu-item-parameter) and [`Get selected menu item parameter`](../commands/get-selected-menu-item-parameter) commands.
+Los parámetros de los elementos de menú son útiles para la gestión programada de menús, en particular cuando se utilizan los comandos [`Dynamic pop up menu`](../commands/dynamic-pop-up-menu), [`Get menu item parameter`](../commands/get-menu-item-parameter) y [`Get selected menu item parameter`](../commands/get-selected-menu-item-parameter).
## Acción
@@ -57,7 +57,7 @@ Puede asignar un método proyecto y/o una acción estándar a un comando de men
- **Acción estándar asociada**: elija o escriba la acción que desea asignar en el combo box "Acción estándar asociada". Puede introducir toda acción soportada y (opcionalmente) el parámetro que desee en el área. Para obtener una lista completa de acciones estándar, consulte la sección **Acciones estándar** en el *Modo Diseño*.
**Nota para macOS:** en macOS, los comandos de menús personalizados asociados a la acción *Salir* se colocan automáticamente en el menú de la aplicación, conforme a los estándares de interfaz de la plataforma.
-Using the 4D language, you can associate a project method using the [`SET MENU ITEM METHOD`](../commands/set-menu-item-method) command, and a standard action using the [`SET MENU ITEM PROPERTY`](../commands/set-menu-item-property) command.
+Utilizando el lenguaje 4D, puede asociar un método de proyecto utilizando el comando [`SET MENU ITEM METHOD`](../commands/set-menu-item-method), y una acción estándar utilizando el comando [`SET MENU ITEM PROPERTY`](../commands/set-menu-item-property).
### Iniciar un proceso
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ORDA/glossary.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ORDA/glossary.md
index 94b602ba7d082b..8ed96688162c55 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ORDA/glossary.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ORDA/glossary.md
@@ -9,7 +9,7 @@ title: Glosario
## Acción
-Todas las acciones que pueden realizarse en un [recurso](#resource). Available actions are: create, read, update, drop, execute, and promote.
+Todas las acciones que pueden realizarse en un [recurso](#resource). Las acciones disponibles son: create, read, update, drop, execute y promote.
## Atributo
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ORDA/orda-events.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ORDA/orda-events.md
index dbba01abbd9f8a..65034f4f61c6fa 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ORDA/orda-events.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ORDA/orda-events.md
@@ -17,7 +17,7 @@ No se puede activar directamente la ejecución de la función de evento. Los eve
:::info Nota de compatibilidad
-Los eventos de entidad ORDA en el almacen de datos equivalen a triggers en la base de datos 4D. Sin embargo, las acciones desencadenadas a nivel de la base de datos 4D utilizando los comandos del lenguaje clásico 4D o las acciones estándar no desencadenan eventos ORDA.
+Los eventos de entidad ORDA en el almacen de datos equivalen a triggers en la base de datos 4D. Sin embargo, las acciones desencadenadas a nivel de la base de datos 4D utilizando los comandos del lenguaje clásico 4D o las acciones estándar no desencadenan eventos ORDA. Note also that, unlike triggers, ORDA entity events do not lock the entire underlying table of a dataclass while saving or dropping entities. Varios eventos pueden ejecutarse en paralelo siempre que afecten a entidades distintas (es decir, registros).
:::
@@ -191,7 +191,7 @@ Function query sameDay($event : Object) : Text
```
-- Using a **scalar** *sameDay* attribute updated when other attributes are "touched" will save time:
+- Usar un atributo *sameDay* **escalar** actualizado cuando otros atributos son "tocados" ahorrará tiempo:
```4d
//BookingEntity class
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ORDA/ordaClasses.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ORDA/ordaClasses.md
index 1889c583ab40d8..96207ad628a079 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ORDA/ordaClasses.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ORDA/ordaClasses.md
@@ -338,7 +338,7 @@ La función `Class constructor` es activada por los siguientes comandos y funcio
:::note Notas
-- The [`entity.clone()`](../API/EntityClass.md#clone) function does not trigger the entity Class constructor.
+- La función [`entity.clone()`](../API/EntityClass.md#clone) no activa el constructor de la clase de la entidad.
- Los registros creados a nivel de la base de datos 4D utilizando comandos del lenguaje clásico 4D o acciones estándar no activan el Class constructor de la entidad.
:::
@@ -404,7 +404,7 @@ sequenceDiagram
```
-#### Example 4 (diagram): Qodly - Standard action and update value on the newly created entity
+#### Ejemplo 4 (diagrama): Qodly - Acción estándar y valor de actualización en la nueva entidad creada
```mermaid
@@ -930,10 +930,10 @@ $arch.save() //courseName y name son "Archaeology II"
For security reasons, all of your data model class functions, including [computed attributes](#computed-attributes-1) and [alias attributes](#alias-attributes-1), as well as [shared singleton functions](../Concepts/classes.md#shared-singleton) are **not exposed** (i.e., private) by default to **remote requests**.
-Remote requests are:
+Las peticiones remotas son:
- Las peticiones enviadas por las aplicaciones 4D remotas conectadas a través de `Open datastore`
-- REST requests, including requests from [Qodly pages](https://developer.4d.com/qodly/)
+- Peticiones REST, incluidas las solicitudes de [páginas Qodly](https://developer.4d.com/qodly/)
> Las peticiones cliente/servidor 4D estándar no se ven afectadas. Las funciones de clase del modelo de datos están siempre disponibles en esta arquitectura.
@@ -947,24 +947,24 @@ exposed Function
```
```4d
-// declare an exposed alias
+// declarar un alias expuesto
exposed Alias
```
```4d
-// declare an exposed computed attribute
+// declare un atributo calculado expuesto
exposed Function get
```
```4d
-// declare a shared singleton function
+// declara una función singleton compartida
shared singleton Class constructor()
exposed Function
```
:::note
-The `exposed` keyword can only be used with the objects decribed above. Si se utiliza con una función de [ clase usuario estándar](Concepts/classes.md), se ignora y el compilador devuelve un error.
+La palabra clave `exposed` solo puede utilizarse con los objetos descritos anteriormente. Si se utiliza con una función de [ clase usuario estándar](Concepts/classes.md), se ignora y el compilador devuelve un error.
:::
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ORDA/privileges.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ORDA/privileges.md
index 170f48002e2034..9f89f0a0b8891d 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ORDA/privileges.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ORDA/privileges.md
@@ -165,7 +165,7 @@ En versiones anteriores, el archivo `roles.json` no fue creado por defecto. A pa
:::note Qodly Studio
-En Qodly Studio for 4D, el modo se puede definir utilizando la opción [**Forzar inicio de sesión**](../WebServer/qodly-studio.md#force-login) en el panel de Privilegios.
+En Qodly Studio for 4D, el modo se puede definir utilizando la opción [**Forzar inicio de sesión**](https://developer.4d.com/qodly/4DQodlyPro/force-login) en el panel de Privilegios.
:::
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Project/date-time-formats.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Project/date-time-formats.md
index 79031da5a4075f..c4086f2b4ba691 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Project/date-time-formats.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Project/date-time-formats.md
@@ -112,7 +112,7 @@ La siguiente tabla muestra todos los patrones soportados para formatos de fecha
### `L` (monopuesto) vs `M`
-En algunos idiomas (ruso, eslovaco), el mes utilizado por sí solo es diferente al mes en una fecha. In "January 10, 2010", "January" is not spelled the same as in "*rendez-vous* in January".
+En algunos idiomas (ruso, eslovaco), el mes utilizado por sí solo es diferente al mes en una fecha. En "10 de enero de 2010", "enero" no se escribe igual que en "*rendez-vous* en janvier".
### `e` vs `c`
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/REST/authUsers.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/REST/authUsers.md
index ceccb568517c05..2091b0329a655e 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/REST/authUsers.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/REST/authUsers.md
@@ -18,7 +18,7 @@ Una sesión se abre después de que el usuario haya iniciado sesión correctamen
:::note Compatibilidad
-El modo de inicio de sesión heredado basado en el método base `On REST Authentication` está **obsoleto** a partir de 4D 20 R6. Ahora se recomienda [utilizar el **modo Force login**](../ORDA/privileges.md#rolesjson-file) (activado automáticamente en nuevos proyectos) e implementar la función [`ds.authentify()`](#function-authentify). En proyectos convertidos, [un botón en la caja de diálogo de Parámetros](../settings/web.md#activate-rest-authentication-through-dsauthentify-function) le ayudará a actualizar su configuración. En Qodly Studio for 4D, el modo se puede definir utilizando la opción [**Forzar inicio de sesión**](../WebServer/qodly-studio.md#force-login) en el panel de Privilegios.
+El modo de inicio de sesión heredado basado en el método base `On REST Authentication` está **obsoleto** a partir de 4D 20 R6. Ahora se recomienda [utilizar el **modo Force login**](../ORDA/privileges.md#rolesjson-file) (activado automáticamente en nuevos proyectos) e implementar la función [`ds.authentify()`](#function-authentify). En proyectos convertidos, [un botón en la caja de diálogo de Parámetros](../settings/web.md#activate-rest-authentication-through-dsauthentify-function) le ayudará a actualizar su configuración. En Qodly Studio for 4D, el modo se puede definir utilizando la opción [**Forzar inicio de sesión**](https://developer.4d.com/qodly/4DQodlyPro/force-login) en el panel de Privilegios.
:::
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Users/overview.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Users/overview.md
index d67ac6744415b1..e9b602dd5dfe24 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Users/overview.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Users/overview.md
@@ -8,7 +8,7 @@ Si diferentes personas utilizan una aplicación, lo que suele ocurrir en la arqu
La estrategia de control de acceso 4D depende de la configuración de su despliegue:
- in multi-user Web and REST applications, access control is based upon [ORDA's Roles and privileges](../ORDA/privileges.md) features.
-- in multi-user desktop applications, you can rely on 4D users and groups,
+- en aplicaciones de escritorio multiusuario, puede confiar en los usuarios y grupos de 4D,
- en aplicaciones monousuario, el acceso de los usuarios se controla a través de la sesión del sistema, utilizando comandos como [`Current system user`](../commands-legacy/current-system-user.md).
:::tip Entradas de blog relacionadas
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/classes.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/classes.md
index 09aab72cb82cf9..9edb4dbc3da69b 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/classes.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/classes.md
@@ -205,7 +205,7 @@ La propiedad `.borderBottom` es la
**.borderTop** : [cs.ViewPro.LineBorder](#lineborder)
-The `.borderTop` property is the top border line of the table .
+La propiedad `.borderTop` es la línea del borde superior de la tabla .
### .borderHorizontal
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/commands/vp-copy-to-object.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/commands/vp-copy-to-object.md
index 704a4b63bc00d1..163f2fd9a76fa5 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/commands/vp-copy-to-object.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/commands/vp-copy-to-object.md
@@ -31,10 +31,10 @@ En *rangeObj*, pase el rango de celdas con los valores, formato y fórmulas a co
Puede pasar un parámetro opcional *options* con las siguientes propiedades:
-| Propiedad | Tipo | Descripción |
-| ----------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| copy | Boolean | *True* (por defecto) para mantener los valores, el formato y las fórmulas copiados después de la ejecución del comando. *False* para eliminarlos. |
-| copyOptions | Integer | Especifica lo que se copia o mueve. Possible values: | Value | Description |
|---|
| `vk clipboard options all` (default) | Copies all data objects, including values, formatting, and formulas. |
| `vk clipboard options formatting` | Copia solo el formato. |
| `vk clipboard options formulas` | Copies only the formulas. |
| `vk clipboard options formulas and formatting` | Copia las fórmulas y formato. |
| `vk clipboard options values` | Copia solo los valores. |
| `vk clipboard options value and formatting` | Copia los valores y el formato. |
|
+| Propiedad | Tipo | Descripción |
+| ----------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| copy | Boolean | *True* (por defecto) para mantener los valores, el formato y las fórmulas copiados después de la ejecución del comando. *False* para eliminarlos. |
+| copyOptions | Integer | Especifica lo que se copia o mueve. Possible values: | Value | Description |
|---|
| `vk clipboard options all` (default) | Copies all data objects, including values, formatting, and formulas. |
| `vk clipboard options formatting` | Copia solo el formato. |
| `vk clipboard options formulas` | Copia sólo las fórmulas. |
| `vk clipboard options formulas and formatting` | Copia las fórmulas y formato. |
| `vk clipboard options values` | Copia solo los valores. |
| `vk clipboard options value and formatting` | Copia los valores y el formato. |
|
Se tienen en cuenta las opciones de pegado definidas en las [opciones del libro de trabajo](vp-set-workbook-options.md).
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/commands/vp-import-document.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/commands/vp-import-document.md
index 9cf06809fc9a03..37cded2c5b2d66 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/commands/vp-import-document.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/commands/vp-import-document.md
@@ -76,7 +76,7 @@ El parámetro opcional *paramObj* permite definir las propiedades del documento
- La importación de archivos en formatos .xslx, .csv y .sjs es **asíncrona**. Con estos formatos, debe utilizar el atributo `formula` si desea iniciar una acción al final del procesamiento del documento.
- Al importar un archivo con formato Microsoft Excel a un documento 4D View Pro, algunos parámetros pueden perderse. Puede verificar su configuración con [esta lista de SpreadJS](https://developer.mescius.com/spreadjs/docs/excelimpexp/excelexport).
- Para más información sobre el formato CSV y los valores separados por delimitadores en general, ver [este artículo en Wikipedia](https://en.wikipedia.org/wiki/Delimiter-separated_values)
-- Se recomienda utilizar el objeto *excelOptions* al importar en formato ".xlsx". Make sure to not mix this object with legacy first level property *password* to avoid potiental issues.
+- Se recomienda utilizar el objeto *excelOptions* al importar en formato ".xlsx". Asegúrese de no mezclar este objeto con la propiedad heredada de primer nivel *password* para evitar problemas potenciales.
- La función callback especificada en el atributo `formula` se activa después de que todas las [funciones personalizadas 4D](../formulas.md#4d-functions) dentro del contenido importado hayan completado sus cálculos. This ensures that any dependent processes, such as document modifications or exports, are performed only after all formula-based computations are fully resolved.
:::
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/commands/vp-set-workbook-options.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/commands/vp-set-workbook-options.md
index 2843b740b83dc6..a0b38874ca72db 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/commands/vp-set-workbook-options.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/commands/vp-set-workbook-options.md
@@ -48,14 +48,14 @@ En la siguiente tabla se listan las opciones de libros de trabajo disponibles:
| autoFitType | number | El contenido se formatea para que se ajuste en las celdas, o en las celdas y los encabezados. Valores disponibles: | Constante | Valor | Descripción |
|---|
| vk auto fit type cell | 0 | El contenido se ajusta automáticamente a las celdas |
| vk auto fit type cell with header | 1 | El contenido se ajusta automáticamente a las celdas y encabezados |
|
| backColor | string | Una cadena de color utilizada para representar el color de fondo del área, como "red", "#FFFF00", "rgb(255,0,0)", "Acento 5". El color de fondo inicial se oculta cuando se define una backgroundImage. |
| backgroundImage | string / picture / file | Imagen de fondo para el área. |
-| backgroundImageLayout | number | Cómo se muestra la imagen de fondo. Available values: | Constant | Value | Description |
|---|
| vk image layout center | 1 | In the center of the area. |
| vk image layout none | 3 | In the upper left corner of the area with its original size. |
| vk image layout stretch | 0 | Llena el área. |
| vk image layout zoom | 2 | Mostrado con su relación de aspecto original. |
|
+| backgroundImageLayout | number | Cómo se muestra la imagen de fondo. Available values: | Constant | Value | Description |
|---|
| vk image layout center | 1 | In the center of the area. |
| vk image layout none | 3 | En la esquina superior izquierda del área con su tamaño original. |
| vk image layout stretch | 0 | Llena el área. |
| vk image layout zoom | 2 | Mostrado con su relación de aspecto original. |
|
| calcOnDemand | boolean | Las fórmulas se calculan sólo cuando se piden. |
| columnResizeMode | number | Redimensiona modo para columnas. Valores disponibles: | Constante | Valor | Descripción |
|---|
| vk resize mode normal | 0 | Utiliza el modo de redimensionamiento normal (es decir, las columnas restantes se ven afectadas) |
| vk resize mode split | 1 | Utiliza el modo dividido (es decir, las columnas restantes no se ven afectadas) |
|
| copyPasteHeaderOptions | number | Encabezados para incluir cuando se copian o pegan datos. Available values: | Constant | Value | Description |
|---|
| vk copy paste header options all headers | 3 | Includes selected headers when data is copied; overwrites selected headers when data is pasted. |
| vk copy paste header options column headers | 2 | Includes selected column headers when data is copied; overwrites selected column headers when data is pasted. |
| vk copy paste header options no headers | 0 | Column and row headers are not included when data is copied; does not overwrite selected column or row headers when data is pasted. |
| vk copy paste header options row headers | 1 | Includes selected row headers when data is copied; overwrites selected row headers when data is pasted. |
|
| customList | collection | La lista para que los usuarios personalicen el relleno de arrastre, dar prioridad a que coincida con esta lista en cada relleno. Cada elemento de colección es una colección de cadenas. Vet en [SpreadJS docs](https://developer.mescius.com/spreadjs/docs/features/cells/AutoFillData/AutoFillLists). |
| cutCopyIndicatorBorderColor | string | Color del borde del indicador que aparece cuando el usuario corta o copia la selección. |
| cutCopyIndicatorVisible | boolean | Muestra un indicador al copiar o cortar el elemento seleccionado. |
-| defaultDragFillType | number | El tipo de relleno de arrastre por defecto. Valores disponibles : | Constante | Valor | Descripción |
|---|
| vk auto fill type auto | 5 | Rellena automáticamente las celdas. |
| vk auto fill type clear values | 4 | Clears cell values. |
| vk auto fill type copycells | 0 | Fills cells with all data objects, including values, formatting, and formulas. |
| vk auto fill type fill formatting only | 2 | Llena las celdas solo con formato. |
| vk auto fill type fill series | 1 | Fills cells with series. |
| vk auto fill type fill without formatting | 3 | Rellena las celdas con valores y no con formato. |
|
+| defaultDragFillType | number | El tipo de relleno de arrastre por defecto. Valores disponibles : | Constante | Valor | Descripción |
|---|
| vk auto fill type auto | 5 | Rellena automáticamente las celdas. |
| vk auto fill type clear values | 4 | Borra los valores de las celdas. |
| vk auto fill type copycells | 0 | Fills cells with all data objects, including values, formatting, and formulas. |
| vk auto fill type fill formatting only | 2 | Llena las celdas solo con formato. |
| vk auto fill type fill series | 1 | Llena las celdas con series. |
| vk auto fill type fill without formatting | 3 | Rellena las celdas con valores y no con formato. |
|
| enableAccessibility | boolean | El soporte de accesibilidad está activado en la hoja de cálculo. |
| enableFormulaTextbox | boolean | Se activa la caja de texto de la fórmula. |
| grayAreaBackColor | string | Una cadena color utilizada para representar el color de fondo del área gris, como "red", "#FFFF00", "rgb(255,0,0)", "Accent 5", etc. |
@@ -66,7 +66,7 @@ En la siguiente tabla se listan las opciones de libros de trabajo disponibles:
| newTabVisible | boolean | Mostrar una pestaña especial para permitir a los usuarios insertar nuevas hojas. |
| numbersFitMode | number | Cambia el modo de visualización cuando el ancho de los datos de fecha/número es mayor que el ancho de la columna. Valores disponibles: | Constante | Valor | Descripción |
|---|
| vk numbers fit mode mask | 0 | Sustituye el contenido de los datos por "###" y muestra la punta |
| vk numbers fit mode overflow | 1 | Muestra el contenido de los datos como una cadena. Si la siguiente celda está vacía, se desborda el contenido. |
|
| pasteSkipInvisibleRange | boolean | Pegar u omitir el pegado de datos en rangos invisibles: - False (por defecto): pegar datos
- True: omitir el pegado en rangos invisibles
Ver [SpreadJS docs](https://developer.mescius.com/spreadjs/docs/features/rows-columns/paste-skip-data-invisible-range) para más información sobre rangos invisibles. |
-| referenceStyle | number | Estilo para referencias de celdas y rangos en fórmulas de celdas. Available values: | Constant | Value | Description |
|---|
| vk reference style A1 | 0 | Use A1 style. |
| vk reference style R1C1 | 1 | Use R1C1 style |
|
+| referenceStyle | number | Estilo para referencias de celdas y rangos en fórmulas de celdas. Available values: | Constant | Value | Description |
|---|
| vk reference style A1 | 0 | Use A1 style. |
| vk estilo de referencia R1C1 | 1 | Utilizar el estilo R1C1 |
|
| resizeZeroIndicator | number | Política de dibujo cuando las líneas o columnas se redimensionan a 0. Available values: | Constant | Value | Description |
|---|
| vk resize zero indicator default | 0 | Uses the current drawing policy when the row or column is resized to zero. |
| vk resize zero indicator enhanced | 1 | Draws two short lines when the row or column is resized to zero. |
|
| rowResizeMode | number | La forma en que se redimensionan las líneas. Los valores disponibles son los mismos qe columnResizeMode |
| scrollbarAppearance | number | Apariencia de la barra de desplazamiento. Available values: | Constant | Value | Description |
|---|
| vk scrollbar appearance mobile | 1 | Mobile scrollbar appearance. |
| vk scrollbar appearance skin (por defecto) | 0 | Apariencia clásica de la barra de desplazamiento similar a Excel. |
|
@@ -79,12 +79,12 @@ En la siguiente tabla se listan las opciones de libros de trabajo disponibles:
| showDragFillSmartTag | boolean | Mostrar el diálogo de arrastrar y rellenar. |
| showDragFillTip | boolean | Mostrar la punta de arrastrar y soltar. |
| showHorizontalScrollbar | boolean | Mostrar la barra de desplazamiento horizontal. |
-| showResizeTip | number | Cómo mostrar el tip de redimensionamiento. Available values: | Constant | Value | Description |
|---|
| vk show resize tip both | 3 | Horizontal and vertical resize tips are displayed. |
| vk show resize tip column | 1 | Solo se muestra la punta de redimensionamiento horizontal. |
| vk show resize tip none | 0 | No resize tip is displayed. |
| vk show resize tip row | 2 | Only the vertical resize tip is displayed. |
|
+| showResizeTip | number | Cómo mostrar el tip de redimensionamiento. Available values: | Constant | Value | Description |
|---|
| vk show resize tip both | 3 | Horizontal and vertical resize tips are displayed. |
| vk show resize tip column | 1 | Solo se muestra la punta de redimensionamiento horizontal. |
| vk show resize tip none | 0 | No se muestra ningún consejo de redimensionamiento. |
| vk show resize tip row | 2 | Solo se muestra la punta de redimensionamiento vertical. |
|
| showScrollTip | number | Cómo mostrar el tip de desplazamiento. Available values: | Constant | Value | Description |
|---|
| vk show scroll tip both | 3 | Horizontal and vertical scroll tips are displayed. |
| vk show scroll tip horizontal | 1 | Solo se muestra la punta de desplazamiento vertical. |
| vk show scroll tip none | No se muestra ninguna propina. |
| vk show scroll tip vertical | 2 | Solo se muestra la punta de desplazamiento vertical. |
|
| showVerticalScrollbar | boolean | Mostrar la barra de desplazamiento vertical. |
| tabEditable | boolean | La pestaña de la hoja se puede editar. |
| tabNavigationVisible | boolean | Mostrar la navegación por pestañas. |
-| tabStripPosition | number | Posición de la barra de pestañas. Available values: | Constant | Value | Description |
|---|
| vk tab strip position bottom | 0 | Tab strip position is relative to the bottom of the workbook. |
| vk tab strip position left | 2 | La posición de la barra de tabulación es relativa a la parte izquierda del libro de trabajo. |
| vk tab strip position right | 3 | Tab strip position is relative to the right of the workbook. |
| vk tab strip position top | 1 | La posición de la barra de tabulación es relativa a la parte superior del libro de trabajo. |
|
+| tabStripPosition | number | Posición de la barra de pestañas. Available values: | Constant | Value | Description |
|---|
| vk tab strip position bottom | 0 | Tab strip position is relative to the bottom of the workbook. |
| vk tab strip position left | 2 | La posición de la barra de tabulación es relativa a la parte izquierda del libro de trabajo. |
| vk tab strip position right | 3 | La posición de la barra de tabulación es relativa a la parte derecha del libro de trabajo. |
| vk tab strip position top | 1 | La posición de la barra de tabulación es relativa a la parte superior del libro de trabajo. |
|
| tabStripRatio | number | Valor porcentual (0,x) que especifica qué parte del espacio horizontal se asignará al tabulador. El resto del área horizontal (1 - 0.x) se asignará a la barra de desplazamiento horizontal. |
| tabStripVisible | boolean | Mostrar la barra de pestañas de la hoja. |
| tabStripWidth | number | Ancho de la etiqueta cuando la posición es izquierda o derecha. Por defecto y el mínimo es 80. |
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WebServer/qodly-studio.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WebServer/qodly-studio.md
index 105b658372a4fe..f6e3baea8fec88 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WebServer/qodly-studio.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WebServer/qodly-studio.md
@@ -94,7 +94,7 @@ La página Qodly Studio está disponible cuando el [servidor web WebAdmin está
Hay dos formas de acceder a Qodly Studio:
-- by selecting the **Qodly Studio...** menu command from the **Design** menu (4D single-user) or the **Window** menu (4D Server).
+- seleccionando el comando **Qodly Studio...** del menú **Diseño** (4D monousuario) o del menú **Ventana** (4D Server).
Si el servidor web WebAdmin ya está en funcionamiento, dependiendo de su configuración, su navegador por defecto se abre en `IPaddress:HTTPPort/studio` o `IPaddress:HTTPSPort/studio`. De lo contrario, se le preguntará si desea iniciar primero el servidor web WebAdmin.
- on a browser, with the WebAdmin web server running (launched from 4D or 4D Server), enter the following address:
@@ -116,7 +116,7 @@ Hay dos formas de acceder a Qodly Studio:
The Qodly Studio documentation is available on the [Qodly documentation website](https://developer.qodly.com/docs/studio/overview).
-You can rely on this documentation and its associated resources for developing web applications powered by Qodly pages. Sin embargo, dependiendo de la etapa de implementación, los desarrolladores 4D utilizarán Qodly Studio o 4D IDE (ver [Comparación de funcionalidades](#comparación-de-funcionalidades)).
+Puede confiar en esta documentación y sus recursos asociados para desarrollar aplicaciones web basadas en páginas Qodly. Sin embargo, dependiendo de la etapa de implementación, los desarrolladores 4D utilizarán Qodly Studio o 4D IDE (ver [Comparación de funcionalidades](#comparación-de-funcionalidades)).
Se ofrecen ejemplos de código en [QodlyScript](https://developer.qodly.com/docs/category/qodlyscript), pero como QodlyScript hereda del Lenguaje 4D, no se sentirá perdido. Se ofrecen ejemplos de código en [QodlyScript](https://developer.qodly.com/docs/category/qodlyscript), pero como QodlyScript hereda del Lenguaje 4D, no se sentirá perdido.
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WebServer/sessions.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WebServer/sessions.md
index 1c57acedaefb02..b1558d7998d930 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WebServer/sessions.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WebServer/sessions.md
@@ -25,7 +25,7 @@ Las sesiones web se utilizan para:
- [Aplicaciones web](gettingStarted.md) que envían peticiones http,
- llamadas a la [REST API](../REST/authUsers.md), que utilizan [datastores remotos](../ORDA/remoteDatastores.md) y [formularios Qodly](qodly-studio.md).
-## Habilitando sesiones web
+## Activando sesiones web {#enabling-web-sessions}
La funcionalidad de gestión de sesiones puede ser activada y desactivada en su servidor web 4D. Hay diferentes maneras de habilitar la gestión de la sesión:
@@ -201,7 +201,7 @@ Else
End if
```
-:::tips Entradas de blog relacionadas
+:::tip Entradas de blog relacionadas
[Sesiones escalables para aplicaciones web avanzadas](https://blog.4d.com/scalable-sessions-for-advanced-web-applications/)
@@ -261,7 +261,7 @@ El token OTP se considera inválido si:
- el token de sesión no existe,
- la propia sesión original ha caducado.
-In this case, no web user session is restored and the current session (if any) is left unchanged. Normalmente, puede decidir mostrar una página de conexión o abrir una sesión guest.
+En este caso, no se restaura ninguna sesión de usuario web y la sesión actual (si existe) se deja sin cambios. Normalmente, puede decidir mostrar una página de conexión o abrir una sesión guest.
La verificación de la validez del token OTP recibido depende de cómo fue manejado:
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WebServer/webServerConfig.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WebServer/webServerConfig.md
index 53a74bd7541a51..0ac1944d35da85 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WebServer/webServerConfig.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WebServer/webServerConfig.md
@@ -624,7 +624,7 @@ En algunos casos, se pueden invocar otras funciones internas optimizadas. Las co
Dos opciones le permiten definir cómo funcionan las conexiones persistentes:
- **Número de peticiones por conexión**: permite definir el número máximo de peticiones y de respuestas capaces de viajar por una conexión persistente. Limiting the number of requests per connection allows you to prevent server flooding due to a large number of incoming requests (a technique used by hackers).
- The default value (100) can be increased or decreased depending on the resources of the machine hosting the 4D Web Server.
+ El valor por defecto (100) puede ser aumentado o disminuido en función de los recursos de la máquina que aloja el servidor 4D web.
- **Tiempo de espera antes de desconexión**: este valor define el periodo máximo de espera (en segundos) durante el cual el servidor web mantiene una conexión TCP abierta sin recibir ninguna petición del navegador web. Una vez finalizado este periodo, el servidor cierra la conexión.
Si el navegador web envía una solicitud después de cerrar la conexión, se crea automáticamente una nueva conexión TCP. Esta operación no es visible para el usuario.
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/commands/wp-export-document.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/commands/wp-export-document.md
index fe2e0e06cbf62c..6cb9ae06065872 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/commands/wp-export-document.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/commands/wp-export-document.md
@@ -52,25 +52,25 @@ Puede omitir el parámetro *format*, en cuyo caso deberá especificar la extensi
Pase un [objeto](# "Datos estructurados como un objeto nativo 4D") en *option* conteniendo los valores para definir las propiedades del documento exportado. Las siguientes propiedades están disponibles:
-| Constante | Valor | Comentario |
-| ------------------------------------------- | ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| wk CID host domain name | cidHostDomain | Nombre de dominio de host CID: dominio de host que se añadirá a las URL CID generadas incluyendo una "@" como separador. Disponible sólo cuando se utiliza el formato `wk mime html`. |
-| wk embedded pictures | embeddedPictures | Sólo para exportación SVG. Establece si las imágenes se incrustan en el archivo .svg exportado cuando se llama a [WP EXPORT DOCUMENT](wp-export-document.md). Valores disponibles: true (por defecto): las imágenes están incrustadas en el archivo .svg exportado false: las imágenes se exportan en una carpeta llamada "filename\_images" en el nivel del archivo .svg exportado, "filename" siendo el nombre pasado al comando para el archivo, sin la extensión. Las imágenes no están integradas, sino referenciadas en el archivo .svg.Nota: si la carpeta ya existe, se vaciará antes de exportar el archivo. Si no hay ninguna imagen en la página exportada, se elimina la carpeta |
-| wk factur x | facturX | Sólo para exportación en PDF. Valor: objeto que configura una exportación PDF "Factur-X (ZUGFeRD)" (ver [wk factur x object](#wk-factur-x-object)). |
-| wk files | Histórico | Sólo para exportación en PDF. Valor: colección de objetos, cada uno de los cuales describe un archivo que se integrará en el documento final (ver [wk files collection](#wk-files-collection)). Esta funcionalidad sólo se admite en documentos PDF/A-3: cuando se utiliza el atributo `wk files`, se establece automáticamente la versión "PDF/A-3" (se ignora el atributo `wk pdfa version`). En caso de una exportación de Factur-X PDF (ver abajo), el primer objeto de la colección debe contener el archivo Factur-X xml. |
-| wk google fonts tag | googleFontsTag | Sólo para exportación SVG. Define la regla de importación para fuentes google en el SVG exportado. Valores posibles: false (por defecto): no se añade ninguna regla de importación de fuentes de Google.true: añade la regla @import al archivo exportado. Útil si desea utilizar fuentes que no están disponibles por defecto en Windows o macOS. **Note:** This property is set to false by default because when enabled, Google fonts override native fonts, and native fonts are generally better rendered in the browser. |
-| wk HTML pretty print | htmlPrettyPrint | El código HTML está formateado para facilitar su lectura. |
-| wk max picture DPI | maxPictureDPI | Se utiliza para reducir imágenes a la resolución preferida. Para imágenes SVG en Windows, utilizado para la rasterización. Valores por defecto: 300 (for wk optimized for \= wk print) 192 (for wk optimized for \= wk screen) Valor máximo posible: 1440 |
-| wk optimized for | optimizedFor | Define cómo se optimiza un documento exportado en función de su soporte. Valores posibles: `wk print` (valor por defecto para `wk pdf` y `wk svg`) Las imágenes de mapa de bits pueden reducirse utilizando los PPP definidos por `wk max picture DPI` o 300 (valor por defecto) y pueden convertirse a PNG si el códec no es compatible con el tipo de exportación. Las imágenes vectoriales se convierten a PNG utilizando los PPP definidos por `wk max picture DPI` o 300 (sólo Windows). Si una imagen contiene más de un formato, se utiliza el mejor formato para la impresión (*por ejemplo*, .tiff en lugar de .jpg)`wk screen` (valor por defecto para `wk web page complete` y `wk mime html`). Las imágenes de mapa de bits pueden reducirse utilizando los PPP definidos por `wk max picture DPI` o 192 (valor por defecto) y pueden convertirse a JPEG (imágenes opacas) o PNG (imágenes transparentes) si el códec no es compatible con el tipo de exportación. Las imágenes vectoriales se convierten a PNG utilizando los PPP definidos por `wk max picture DPI` o 192 (sólo Windows). If a picture contains more than one format, the format for screen rendering is used. **Nota:** los documentos exportados en formato `wk docx` siempre se optimizan para la impresión wk (la opción wk optimized for se ignora). |
-| wk page index | pageIndex | Sólo para exportación SVG. Índice de la página a exportar a formato svg (por defecto es 1). El índice de páginas comienza en 1 para la primera página del documento. **Nota:** el índice de páginas es independiente de la numeración de páginas. |
-| wk pdfa version | pdfaVersion | Exporta PDF conforme a una versión PDF/A. Para más información sobre las propiedades y versiones de PDF/A, consulte la [página PDF/A en Wikipedia](https://en.wikipedia.org/wiki/PDF/A). Valores posibles: `wk pdfa2`: exporta a la versión "PDF/A-2" `wk pdfa3`: exporta a la versión "PDF/A-3" **Nota:** en macOS, `wk pdfa2` puede exportar a PDF/A-2 o PDF/A-3 o superior, dependiendo de la implementación de la plataforma. Además, `wk pdfa3` significa "exporta a *al menos* PDF/A-3". En Windows, el archivo PDF de salida siempre será igual a la conformidad deseada. |
-| wk recompute formulas | recomputeFormulas | Define si las fórmulas deben volver a calcularse cuando se exportan. Valores posibles:true - Valor por defecto. Se vuelven a calcular todas las fórmulasfalse - No se vuelven a calcular las fórmulas |
-| wk visible background and anchored elements | visibleBackground | Muestra o exporta imágenes/color de fondo, imágenes ancladas y cuadros de texto (para mostrar, efecto visible sólo en modo de vista Página o Anidado). Valores posibles: True/False |
-| wk visible empty images | visibleEmptyImages | Muestra o exporta un rectángulo negro por defecto para las imágenes que no se pueden cargar o calcular (imágenes vacías o imágenes en un formato no compatible). Valores posibles: True/False. Valor por defecto: True Si el valor es False, los elementos de imagen que falten no se mostrarán en absoluto aunque tengan bordes, ancho, alto o fondo; esto puede afectar al diseño de la página para imágenes en línea. |
-| wk visible footers | visibleFooters | Muestra o exporta los pies de página (para la visualización, efecto visible sólo en el modo vista Página). Valores posibles: True/False |
-| wk visible headers | visibleHeaders | Muestra o exporta los encabezados (para la visualización, efecto visible sólo en el modo vista Página). Valores posibles: True/False |
-| wk visible references | visibleReferences | Muestra o exporta todas las expresiones 4D insertadas en el documento como referencias. Valores posibles: True/False |
-| wk whitespace | whitespace | Define el valor css "white-space" para los formatos de exportación `wk mime html` y `wk web page complete`. El estilo [white-space css](https://developer.mozilla.org/en-US/docs/Web/CSS/white-space) se aplica a los párrafos. Valores posibles: "normal", "nowrap", "pre", "pre-wrap" (por defecto), "pre-line", "break-spaces". |
+| Constante | Valor | Comentario |
+| ------------------------------------------- | ------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| wk CID host domain name | cidHostDomain | Nombre de dominio de host CID: dominio de host que se añadirá a las URL CID generadas incluyendo una "@" como separador. Disponible sólo cuando se utiliza el formato `wk mime html`. |
+| wk embedded pictures | embeddedPictures | Sólo para exportación SVG. Establece si las imágenes se incrustan en el archivo .svg exportado cuando se llama a [WP EXPORT DOCUMENT](wp-export-document.md). Valores disponibles: true (por defecto): las imágenes están incrustadas en el archivo .svg exportado false: las imágenes se exportan en una carpeta llamada "filename\_images" en el nivel del archivo .svg exportado, "filename" siendo el nombre pasado al comando para el archivo, sin la extensión. Las imágenes no están integradas, sino referenciadas en el archivo .svg.Nota: si la carpeta ya existe, se vaciará antes de exportar el archivo. Si no hay ninguna imagen en la página exportada, se elimina la carpeta |
+| wk factur x | facturX | Sólo para exportación en PDF. Valor: objeto que configura una exportación PDF "Factur-X (ZUGFeRD)" (ver [wk factur x object](#wk-factur-x-object)). |
+| wk files | Histórico | Sólo para exportación en PDF. Valor: colección de objetos, cada uno de los cuales describe un archivo que se integrará en el documento final (ver [wk files collection](#wk-files-collection)). Esta funcionalidad sólo se admite en documentos PDF/A-3: cuando se utiliza el atributo `wk files`, se establece automáticamente la versión "PDF/A-3" (se ignora el atributo `wk pdfa version`). En caso de una exportación de Factur-X PDF (ver abajo), el primer objeto de la colección debe contener el archivo Factur-X xml. |
+| wk google fonts tag | googleFontsTag | Sólo para exportación SVG. Define la regla de importación para fuentes google en el SVG exportado. Valores posibles: false (por defecto): no se añade ninguna regla de importación de fuentes de Google.true: añade la regla @import al archivo exportado. Útil si desea utilizar fuentes que no están disponibles por defecto en Windows o macOS. **Note:** This property is set to false by default because when enabled, Google fonts override native fonts, and native fonts are generally better rendered in the browser. |
+| wk HTML pretty print | htmlPrettyPrint | El código HTML está formateado para facilitar su lectura. |
+| wk max picture DPI | maxPictureDPI | Se utiliza para reducir imágenes a la resolución preferida. Para imágenes SVG en Windows, utilizado para la rasterización. Valores por defecto: 300 (for wk optimized for \= wk print) 192 (for wk optimized for \= wk screen) Valor máximo posible: 1440 |
+| wk optimized for | optimizedFor | Define cómo se optimiza un documento exportado en función de su soporte. Valores posibles: `wk print` (valor por defecto para `wk pdf` y `wk svg`) Las imágenes de mapa de bits pueden reducirse utilizando los PPP definidos por `wk max picture DPI` o 300 (valor por defecto) y pueden convertirse a PNG si el códec no es compatible con el tipo de exportación. Las imágenes vectoriales se convierten a PNG utilizando los PPP definidos por `wk max picture DPI` o 300 (sólo Windows). Si una imagen contiene más de un formato, se utiliza el mejor formato para la impresión (*por ejemplo*, .tiff en lugar de .jpg)`wk screen` (valor por defecto para `wk web page complete` y `wk mime html`). Las imágenes de mapa de bits pueden reducirse utilizando los PPP definidos por `wk max picture DPI` o 192 (valor por defecto) y pueden convertirse a JPEG (imágenes opacas) o PNG (imágenes transparentes) si el códec no es compatible con el tipo de exportación. Las imágenes vectoriales se convierten a PNG utilizando los PPP definidos por `wk max picture DPI` o 192 (sólo Windows). Si una imagen contiene más de un formato, se utiliza el formato para la renderización en pantalla. **Nota:** los documentos exportados en formato `wk docx` siempre se optimizan para la impresión wk (la opción wk optimized for se ignora). |
+| wk page index | pageIndex | Sólo para exportación SVG. Índice de la página a exportar a formato svg (por defecto es 1). El índice de páginas comienza en 1 para la primera página del documento. **Nota:** el índice de páginas es independiente de la numeración de páginas. |
+| wk pdfa version | pdfaVersion | Exporta PDF conforme a una versión PDF/A. Para más información sobre las propiedades y versiones de PDF/A, consulte la [página PDF/A en Wikipedia](https://en.wikipedia.org/wiki/PDF/A). Valores posibles: `wk pdfa2`: exporta a la versión "PDF/A-2" `wk pdfa3`: exporta a la versión "PDF/A-3" **Nota:** en macOS, `wk pdfa2` puede exportar a PDF/A-2 o PDF/A-3 o superior, dependiendo de la implementación de la plataforma. Además, `wk pdfa3` significa "exporta a *al menos* PDF/A-3". En Windows, el archivo PDF de salida siempre será igual a la conformidad deseada. |
+| wk recompute formulas | recomputeFormulas | Define si las fórmulas deben volver a calcularse cuando se exportan. Valores posibles:true - Valor por defecto. Se vuelven a calcular todas las fórmulasfalse - No se vuelven a calcular las fórmulas |
+| wk visible background and anchored elements | visibleBackground | Muestra o exporta imágenes/color de fondo, imágenes ancladas y cuadros de texto (para mostrar, efecto visible sólo en modo de vista Página o Anidado). Valores posibles: True/False |
+| wk visible empty images | visibleEmptyImages | Muestra o exporta un rectángulo negro por defecto para las imágenes que no se pueden cargar o calcular (imágenes vacías o imágenes en un formato no compatible). Valores posibles: True/False. Valor por defecto: True Si el valor es False, los elementos de imagen que falten no se mostrarán en absoluto aunque tengan bordes, ancho, alto o fondo; esto puede afectar al diseño de la página para imágenes en línea. |
+| wk visible footers | visibleFooters | Muestra o exporta los pies de página (para la visualización, efecto visible sólo en el modo vista Página). Valores posibles: True/False |
+| wk visible headers | visibleHeaders | Muestra o exporta los encabezados (para la visualización, efecto visible sólo en el modo vista Página). Valores posibles: True/False |
+| wk visible references | visibleReferences | Muestra o exporta todas las expresiones 4D insertadas en el documento como referencias. Valores posibles: True/False |
+| wk whitespace | whitespace | Define el valor css "white-space" para los formatos de exportación `wk mime html` y `wk web page complete`. El estilo [white-space css](https://developer.mozilla.org/en-US/docs/Web/CSS/white-space) se aplica a los párrafos. Valores posibles: "normal", "nowrap", "pre", "pre-wrap" (por defecto), "pre-line", "break-spaces". |
La siguiente tabla indica la *option* disponible por *format* de exportación:
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/commands/wp-export-variable.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/commands/wp-export-variable.md
index 606d4bcc42bcd7..2d372bbe528a40 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/commands/wp-export-variable.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/commands/wp-export-variable.md
@@ -52,27 +52,27 @@ En el parámetro *format*, pase una constante del tema *4D Write Pro Constants*
Pase un [objeto](# "Datos estructurados como un objeto nativo 4D") en *option* conteniendo los valores para definir las propiedades del documento exportado. Las siguientes propiedades están disponibles:
-| Constante | Valor | Comentario |
-| ------------------------------------------- | ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| wk CID host domain name | cidHostDomain | Nombre de dominio de host CID: dominio de host que se añadirá a las URL CID generadas incluyendo una "@" como separador. Disponible sólo cuando se utiliza el formato `wk mime html`. |
-| wk embedded pictures | embeddedPictures | Sólo para exportación SVG. Establece si las imágenes se incrustan en el archivo .svg exportado cuando se llama a [WP EXPORT DOCUMENT](wp-export-document.md). Valores disponibles: true (por defecto): las imágenes están incrustadas en el archivo .svg exportado false: las imágenes se exportan en una carpeta llamada "filename\_images" en el nivel del archivo .svg exportado, "filename" siendo el nombre pasado al comando para el archivo, sin la extensión. Las imágenes no están integradas, sino referenciadas en el archivo .svg.Nota: si la carpeta ya existe, se vaciará antes de exportar el archivo. Si no hay ninguna imagen en la página exportada, se elimina la carpeta |
-| wk factur x | facturX | Sólo para exportación en PDF. Valor: objeto que configura una exportación PDF "Factur-X (ZUGFeRD)" (ver [wk factur x object](./wp-export-document.md#wk-factur-x-object)). |
-| wk files | Histórico | Sólo para exportación en PDF. Valor: colección de objetos, cada uno de los cuales describe un archivo que se integrará en el documento final (ver [wk files collection](./wp-export-document.md#wk-files-collection)). Esta funcionalidad sólo se admite en documentos PDF/A-3: cuando se utiliza el atributo `wk files`, se establece automáticamente la versión "PDF/A-3" (se ignora el atributo `wk pdfa version`). En caso de una exportación de Factur-X PDF (ver abajo), el primer objeto de la colección debe contener el archivo Factur-X xml. |
-| wk google fonts tag | googleFontsTag | Sólo para exportación SVG. Define la regla de importación para fuentes google en el SVG exportado. Valores posibles: false (por defecto): no se añade ninguna regla de importación de fuentes de Google.true: añade la regla @import al archivo exportado. Útil si desea utilizar fuentes que no están disponibles por defecto en Windows o macOS. **Note:** This property is set to false by default because when enabled, Google fonts override native fonts, and native fonts are generally better rendered in the browser. |
-| wk HTML pretty print | htmlPrettyPrint | El código HTML está formateado para facilitar su lectura. |
-| wk max picture DPI | maxPictureDPI | Se utiliza para reducir imágenes a la resolución preferida. Para imágenes SVG en Windows, utilizado para la rasterización. Valores por defecto: 300 (for wk optimized for \= wk print) 192 (for wk optimized for \= wk screen) Valor máximo posible: 1440 |
-| wk optimized for | optimizedFor | Define cómo se optimiza un documento exportado en función de su soporte. Valores posibles: `wk print` (valor por defecto para `wk pdf` y `wk svg`) Las imágenes de mapa de bits pueden reducirse utilizando los PPP definidos por `wk max picture DPI` o 300 (valor por defecto) y pueden convertirse a PNG si el códec no es compatible con el tipo de exportación. Las imágenes vectoriales se convierten a PNG utilizando los PPP definidos por `wk max picture DPI` o 300 (sólo Windows). Si una imagen contiene más de un formato, se utiliza el mejor formato para la impresión (*por ejemplo*, .tiff en lugar de .jpg)`wk screen` (valor por defecto para `wk web page complete` y `wk mime html`). Las imágenes de mapa de bits pueden reducirse utilizando los PPP definidos por `wk max picture DPI` o 192 (valor por defecto) y pueden convertirse a JPEG (imágenes opacas) o PNG (imágenes transparentes) si el códec no es compatible con el tipo de exportación. Las imágenes vectoriales se convierten a PNG utilizando los PPP definidos por `wk max picture DPI` o 192 (sólo Windows). If a picture contains more than one format, the format for screen rendering is used. **Nota:** los documentos exportados en formato `wk docx` siempre se optimizan para la impresión wk (la opción wk optimized for se ignora). |
-| wk page index | pageIndex | Sólo para exportación SVG. Índice de la página a exportar a formato svg (por defecto es 1). El índice de páginas comienza en 1 para la primera página del documento. **Nota:** el índice de páginas es independiente de la numeración de páginas. |
-| wk pdfa version | pdfaVersion | Exporta PDF conforme a una versión PDF/A. Para más información sobre las propiedades y versiones de PDF/A, consulte la [página PDF/A en Wikipedia](https://en.wikipedia.org/wiki/PDF/A). Valores posibles: `wk pdfa2`: exporta a la versión "PDF/A-2" `wk pdfa3`: exporta a la versión "PDF/A-3" **Nota:** en macOS, `wk pdfa2` puede exportar a PDF/A-2 o PDF/A-3 o superior, dependiendo de la implementación de la plataforma. Además, `wk pdfa3` significa "exporta a *al menos* PDF/A-3". En Windows, el archivo PDF de salida siempre será igual a la conformidad deseada. |
-| wk recompute formulas | recomputeFormulas | Define si las fórmulas deben volver a calcularse cuando se exportan. Valores posibles:true - Valor por defecto. Se vuelven a calcular todas las fórmulasfalse - No se vuelven a calcular las fórmulas |
-| wk visible background and anchored elements | visibleBackground | Muestra o exporta imágenes/color de fondo, imágenes ancladas y cuadros de texto (para mostrar, efecto visible sólo en modo de vista Página o Anidado). Valores posibles: True/False |
-| wk visible empty images | visibleEmptyImages | Muestra o exporta un rectángulo negro por defecto para las imágenes que no se pueden cargar o calcular (imágenes vacías o imágenes en un formato no compatible). Valores posibles: True/False. Valor por defecto: True Si el valor es False, los elementos de imagen que falten no se mostrarán en absoluto aunque tengan bordes, ancho, alto o fondo; esto puede afectar al diseño de la página para imágenes en línea. |
-| wk visible footers | visibleFooters | Muestra o exporta los pies de página (para la visualización, efecto visible sólo en el modo vista Página). Valores posibles: True/False |
-| wk visible headers | visibleHeaders | Muestra o exporta los encabezados (para la visualización, efecto visible sólo en el modo vista Página). Valores posibles: True/False |
-| wk visible references | visibleReferences | Muestra o exporta todas las expresiones 4D insertadas en el documento como referencias. Valores posibles: True/False |
-| wk whitespace | whitespace | Define el valor css "white-space" para el formato de exportación `wk mime html`. El estilo [white-space css](https://developer.mozilla.org/en-US/docs/Web/CSS/white-space) se aplica a los párrafos. Valores posibles: "normal", "nowrap", "pre", "pre-wrap" (por defecto), "pre-line", "break-spaces". |
-
-The following table indicates the *option* available per export *format*:
+| Constante | Valor | Comentario |
+| ------------------------------------------- | ------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| wk CID host domain name | cidHostDomain | Nombre de dominio de host CID: dominio de host que se añadirá a las URL CID generadas incluyendo una "@" como separador. Disponible sólo cuando se utiliza el formato `wk mime html`. |
+| wk embedded pictures | embeddedPictures | Sólo para exportación SVG. Establece si las imágenes se incrustan en el archivo .svg exportado cuando se llama a [WP EXPORT DOCUMENT](wp-export-document.md). Valores disponibles: true (por defecto): las imágenes están incrustadas en el archivo .svg exportado false: las imágenes se exportan en una carpeta llamada "filename\_images" en el nivel del archivo .svg exportado, "filename" siendo el nombre pasado al comando para el archivo, sin la extensión. Las imágenes no están integradas, sino referenciadas en el archivo .svg.Nota: si la carpeta ya existe, se vaciará antes de exportar el archivo. Si no hay ninguna imagen en la página exportada, se elimina la carpeta |
+| wk factur x | facturX | Sólo para exportación en PDF. Valor: objeto que configura una exportación PDF "Factur-X (ZUGFeRD)" (ver [wk factur x object](./wp-export-document.md#wk-factur-x-object)). |
+| wk files | Histórico | Sólo para exportación en PDF. Valor: colección de objetos, cada uno de los cuales describe un archivo que se integrará en el documento final (ver [wk files collection](./wp-export-document.md#wk-files-collection)). Esta funcionalidad sólo se admite en documentos PDF/A-3: cuando se utiliza el atributo `wk files`, se establece automáticamente la versión "PDF/A-3" (se ignora el atributo `wk pdfa version`). En caso de una exportación de Factur-X PDF (ver abajo), el primer objeto de la colección debe contener el archivo Factur-X xml. |
+| wk google fonts tag | googleFontsTag | Sólo para exportación SVG. Define la regla de importación para fuentes google en el SVG exportado. Valores posibles: false (por defecto): no se añade ninguna regla de importación de fuentes de Google.true: añade la regla @import al archivo exportado. Útil si desea utilizar fuentes que no están disponibles por defecto en Windows o macOS. **Note:** This property is set to false by default because when enabled, Google fonts override native fonts, and native fonts are generally better rendered in the browser. |
+| wk HTML pretty print | htmlPrettyPrint | El código HTML está formateado para facilitar su lectura. |
+| wk max picture DPI | maxPictureDPI | Se utiliza para reducir imágenes a la resolución preferida. Para imágenes SVG en Windows, utilizado para la rasterización. Valores por defecto: 300 (for wk optimized for \= wk print) 192 (for wk optimized for \= wk screen) Valor máximo posible: 1440 |
+| wk optimized for | optimizedFor | Define cómo se optimiza un documento exportado en función de su soporte. Valores posibles: `wk print` (valor por defecto para `wk pdf` y `wk svg`) Las imágenes de mapa de bits pueden reducirse utilizando los PPP definidos por `wk max picture DPI` o 300 (valor por defecto) y pueden convertirse a PNG si el códec no es compatible con el tipo de exportación. Las imágenes vectoriales se convierten a PNG utilizando los PPP definidos por `wk max picture DPI` o 300 (sólo Windows). Si una imagen contiene más de un formato, se utiliza el mejor formato para la impresión (*por ejemplo*, .tiff en lugar de .jpg)`wk screen` (valor por defecto para `wk web page complete` y `wk mime html`). Las imágenes de mapa de bits pueden reducirse utilizando los PPP definidos por `wk max picture DPI` o 192 (valor por defecto) y pueden convertirse a JPEG (imágenes opacas) o PNG (imágenes transparentes) si el códec no es compatible con el tipo de exportación. Las imágenes vectoriales se convierten a PNG utilizando los PPP definidos por `wk max picture DPI` o 192 (sólo Windows). Si una imagen contiene más de un formato, se utiliza el formato para la renderización en pantalla. **Nota:** los documentos exportados en formato `wk docx` siempre se optimizan para la impresión wk (la opción wk optimized for se ignora). |
+| wk page index | pageIndex | Sólo para exportación SVG. Índice de la página a exportar a formato svg (por defecto es 1). El índice de páginas comienza en 1 para la primera página del documento. **Nota:** el índice de páginas es independiente de la numeración de páginas. |
+| wk pdfa version | pdfaVersion | Exporta PDF conforme a una versión PDF/A. Para más información sobre las propiedades y versiones de PDF/A, consulte la [página PDF/A en Wikipedia](https://en.wikipedia.org/wiki/PDF/A). Valores posibles: `wk pdfa2`: exporta a la versión "PDF/A-2" `wk pdfa3`: exporta a la versión "PDF/A-3" **Nota:** en macOS, `wk pdfa2` puede exportar a PDF/A-2 o PDF/A-3 o superior, dependiendo de la implementación de la plataforma. Además, `wk pdfa3` significa "exporta a *al menos* PDF/A-3". En Windows, el archivo PDF de salida siempre será igual a la conformidad deseada. |
+| wk recompute formulas | recomputeFormulas | Define si las fórmulas deben volver a calcularse cuando se exportan. Valores posibles:true - Valor por defecto. Se vuelven a calcular todas las fórmulasfalse - No se vuelven a calcular las fórmulas |
+| wk visible background and anchored elements | visibleBackground | Muestra o exporta imágenes/color de fondo, imágenes ancladas y cuadros de texto (para mostrar, efecto visible sólo en modo de vista Página o Anidado). Valores posibles: True/False |
+| wk visible empty images | visibleEmptyImages | Muestra o exporta un rectángulo negro por defecto para las imágenes que no se pueden cargar o calcular (imágenes vacías o imágenes en un formato no compatible). Valores posibles: True/False. Valor por defecto: True Si el valor es False, los elementos de imagen que falten no se mostrarán en absoluto aunque tengan bordes, ancho, alto o fondo; esto puede afectar al diseño de la página para imágenes en línea. |
+| wk visible footers | visibleFooters | Muestra o exporta los pies de página (para la visualización, efecto visible sólo en el modo vista Página). Valores posibles: True/False |
+| wk visible headers | visibleHeaders | Muestra o exporta los encabezados (para la visualización, efecto visible sólo en el modo vista Página). Valores posibles: True/False |
+| wk visible references | visibleReferences | Muestra o exporta todas las expresiones 4D insertadas en el documento como referencias. Valores posibles: True/False |
+| wk whitespace | whitespace | Define el valor css "white-space" para el formato de exportación `wk mime html`. El estilo [white-space css](https://developer.mozilla.org/en-US/docs/Web/CSS/white-space) se aplica a los párrafos. Valores posibles: "normal", "nowrap", "pre", "pre-wrap" (por defecto), "pre-line", "break-spaces". |
+
+La siguiente tabla indica la *option* disponible por *format* de exportación:
| | **wk 4wp** | **wk docx** | **wk mime html** | **wk pdf** | **wk web page html 4d** | **wk svg** |
| ------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/commands/wp-import-document.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/commands/wp-import-document.md
index 05064f54bf9dd9..592a131b1b226d 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/commands/wp-import-document.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/commands/wp-import-document.md
@@ -51,21 +51,21 @@ Por defecto, las expresiones HTML insertadas en documentos heredados de 4D Write
Puede pasar un objeto para definir cómo se gestionan los siguientes atributos durante la operación de importación:
-| **Atributo** | **Tipo** | **Description** |
-| ----------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| anchoredTextAreas | Text | Sólo para documentos MS Word (.docx). Especifica cómo se manejan las áreas de texto ancladas en Word. Valores disponibles:
**anchored** (por defecto) - Las áreas de texto ancladas se tratan como cuadros de texto. **inline** - Las áreas de texto ancladas se tratan como texto en línea en la posición del ancla. **ignore** \- Las áreas de texto ancladas son ignoradas. **Nota**: el diseño y el número de páginas en el documento pueden cambiar. Ver también *Cómo importar formato .docx* |
-| anchoredImages | Text | Sólo para documentos MS Word (.docx). Especifica cómo se manejan las imágenes ancladas. Available values:
**all** (default) - All anchored images are imported as anchored images with their text wrapping properties (exception: the .docx wrapping option "tight" is imported as wrap square). **ignoreWrap** \- Las imágenes ancladas son importadas, pero todo texto que se envuelve alrededor de la imagen es ignorado. **ignore** \- Las imágenes ancladas no son importadas. |
-| secciones | Text | Sólo para documentos MS Word (.docx). Especifica cómo se maneja la sección. Valores disponibles:
**all** (por defecto) - Se importan todas las secciones. Secciones continuas, incluso impares se convierten en secciones estándar. **ignore** \- Sections are converted to default 4D Write Pro sections (A4 portrait layout without header or footer). **Nota**: las rupturas de secciones de cualquier tipo pero continuas se convierten en rupturas de sección con rupturas de página. Continuous section breaks are imported as continuous section breaks. |
-| fields | Text | Sólo para documentos MS Word (.docx). Especifica cómo se manejan los campos .docx que no pueden ser convertidos a fórmulas 4D Write Pro. Valores disponibles:
**ignore** \- Los campos .docx son ignorados. **label** \- .docx field references are imported as labels within double curly braces ("{{ }}"). Ej: el campo "ClientName" se importará como {{ClientName}}. **value** (default) - El último valor calculado para el campo .docx (si está disponible) es importado. **Note**: If a .docx field corresponds to a 4D Write Pro variable, the field is imported as a formula and this option is ignored. |
-| borderRules | Text | Sólo para documentos MS Word (.docx). Especifica cómo se gestionan los bordes de los párrafos. Valores disponibles:
**collapse** \- El formato del párrafo se modifica para imitar los bordes colapsados automáticamente. Tenga en cuenta que la propiedad contraída sólo se aplica durante la operación de importación. If a stylesheet with a automatic border collapse setting is reapplied after the import operation, the setting will be ignored. **noCollapse** (por defecto) - No se modifica el formato de los párrafos. |
-| preferredFontScriptType | Text | Sólo para documentos MS Word (.docx). Especifica el tipo de letra preferido que se utilizará cuando se definan distintos tipos de letra para una única propiedad de fuente en OOXML. Valores disponibles:
**latin** (por defecto) - script latino **bidi** \- script bidreccional. Adecuado si el documento es principalmente bidireccional de izquierda a derecha (LTR) o de derecha a izquierda (RTL) texto (por ejemplo, árabe o hebreo). **eastAsia** \- East Asian script. Adecuado si el documento es principalmente texto asiático. |
-| htmlExpressions | Text | Sólo para documentos 4D Write (.4w7). Especifica cómo se manejan las expresiones HTML. Available values:
**rawText** \- HTML expressions are imported as raw text within ##htmlBegin## and ##htmlEnd## tags **ignore** (default) - HTML expressions are ignored. |
-| importDisplayMode | Text | Sólo para documentos 4D Write (.4w7). Especifica cómo se gestiona la visualización de imágenes. Available values:
**legacy -** 4W7 image display mode is converted using a background image if different than scaled to fit. **noLegacy** (default) - 4W7 image display mode is converted to the *imageDisplayMode* attribute if different than scaled to fit. |
+| **Atributo** | **Tipo** | **Description** |
+| ----------------------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| anchoredTextAreas | Text | Sólo para documentos MS Word (.docx). Especifica cómo se manejan las áreas de texto ancladas en Word. Valores disponibles:
**anchored** (por defecto) - Las áreas de texto ancladas se tratan como cuadros de texto. **inline** - Las áreas de texto ancladas se tratan como texto en línea en la posición del ancla. **ignore** \- Las áreas de texto ancladas son ignoradas. **Nota**: el diseño y el número de páginas en el documento pueden cambiar. Ver también *Cómo importar formato .docx* |
+| anchoredImages | Text | Sólo para documentos MS Word (.docx). Especifica cómo se manejan las imágenes ancladas. Available values:
**all** (default) - All anchored images are imported as anchored images with their text wrapping properties (exception: the .docx wrapping option "tight" is imported as wrap square). **ignoreWrap** \- Las imágenes ancladas son importadas, pero todo texto que se envuelve alrededor de la imagen es ignorado. **ignore** \- Las imágenes ancladas no son importadas. |
+| secciones | Text | Sólo para documentos MS Word (.docx). Especifica cómo se maneja la sección. Valores disponibles:
**all** (por defecto) - Se importan todas las secciones. Secciones continuas, incluso impares se convierten en secciones estándar. **ignore** \- Sections are converted to default 4D Write Pro sections (A4 portrait layout without header or footer). **Nota**: las rupturas de secciones de cualquier tipo pero continuas se convierten en rupturas de sección con rupturas de página. Continuous section breaks are imported as continuous section breaks. |
+| fields | Text | Sólo para documentos MS Word (.docx). Especifica cómo se manejan los campos .docx que no pueden ser convertidos a fórmulas 4D Write Pro. Valores disponibles:
**ignore** \- Los campos .docx son ignorados. **label** - Las referencias de campo .docx se importan como etiquetas entre llaves dobles ("{{ }}"). Ej: el campo "ClientName" se importará como {{ClientName}}. **value** (default) - El último valor calculado para el campo .docx (si está disponible) es importado. **Note**: If a .docx field corresponds to a 4D Write Pro variable, the field is imported as a formula and this option is ignored. |
+| borderRules | Text | Sólo para documentos MS Word (.docx). Especifica cómo se gestionan los bordes de los párrafos. Valores disponibles:
**collapse** \- El formato del párrafo se modifica para imitar los bordes colapsados automáticamente. Tenga en cuenta que la propiedad contraída sólo se aplica durante la operación de importación. Si se vuelve a aplicar una hoja de estilo con un ajuste de colapso automático de bordes después de la operación de importación, se ignorará el ajuste. **noCollapse** (por defecto) - No se modifica el formato de los párrafos. |
+| preferredFontScriptType | Text | Sólo para documentos MS Word (.docx). Especifica el tipo de letra preferido que se utilizará cuando se definan distintos tipos de letra para una única propiedad de fuente en OOXML. Valores disponibles:
**latin** (por defecto) - script latino **bidi** \- script bidreccional. Adecuado si el documento es principalmente bidireccional de izquierda a derecha (LTR) o de derecha a izquierda (RTL) texto (por ejemplo, árabe o hebreo). **eastAsia** \- East Asian script. Adecuado si el documento es principalmente texto asiático. |
+| htmlExpressions | Text | Sólo para documentos 4D Write (.4w7). Especifica cómo se manejan las expresiones HTML. Available values:
**rawText** \- HTML expressions are imported as raw text within ##htmlBegin## and ##htmlEnd## tags **ignore** (default) - HTML expressions are ignored. |
+| importDisplayMode | Text | Sólo para documentos 4D Write (.4w7). Especifica cómo se gestiona la visualización de imágenes. Available values:
**legacy -** 4W7 image display mode is converted using a background image if different than scaled to fit. **noLegacy** (default) - 4W7 image display mode is converted to the *imageDisplayMode* attribute if different than scaled to fit. |
**Notas de compatibilidad**
-- *Character style sheets in legacy 4D Write documents use a proprietary mechanism, which is not supported by 4D Write Pro. To get the best result for imported text, style sheet attributes are converted to "hard coded" style attributes. Las hojas de estilo de caracteres antiguos no son importadas y ya no están referenciadas en el documento.*
-- *Support for importing in .docx format is only certified for Microsoft Word 2010 and newer. Versiones antiguas, especialmente Microsoft Word 2007, pueden no importar correctamente.*
+- *Las hojas de estilo de caracteres de los documentos heredados de 4D Write utilizan un mecanismo propietario que no es compatible con 4D Write Pro. To get the best result for imported text, style sheet attributes are converted to "hard coded" style attributes. Las hojas de estilo de caracteres antiguos no son importadas y ya no están referenciadas en el documento.*
+- *El soporte para la importación en formato .docx solo está certificado para Microsoft Word 2010 y más recientes. Versiones antiguas, especialmente Microsoft Word 2007, pueden no importar correctamente.*
## Ejemplo 1
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/commands/wp-set-attributes.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/commands/wp-set-attributes.md
index 997c3cd500b662..f8956a27455b98 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/commands/wp-set-attributes.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/commands/wp-set-attributes.md
@@ -19,7 +19,7 @@ displayed_sidebar: docs
## Descripción
-El comando **WP SET ATTRIBUTES** le permite definir el valor de cualquier atributo en un rango, elemento, documento. This command gives you access to any kind of 4D Write Pro internal attribute: character, paragraph, document, table, or image.
+El comando **WP SET ATTRIBUTES** le permite definir el valor de cualquier atributo en un rango, elemento, documento. Este comando le da acceso a cualquier tipo de atributo interno de 4D Write Pro: caracter, párrafo, documento, tabla o imagen.
En *targetObj*, puede pasar:
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/managing-formulas.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/managing-formulas.md
index aa3861e5fb4023..783f399253a542 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/managing-formulas.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/managing-formulas.md
@@ -143,7 +143,7 @@ Por defecto, las fórmulas 4D se muestran como valores. Al insertar una fórmula
Para mostrar fórmulas como referencias, puede:
-- check the **Show references** option in the Property list (see *Configuring View properties*), or
+- marque la opción **Mostrar referencias** en la lista de propiedades (consulte *Configuración de las propiedades Vista*), o bien
- utilizar la acción estándar visibleReferences (ver *Expresiones dinámicas*), o bien
- usa el comando [**WP SET VIEW PROPERTIES**](commands-legacy/wp-set-view-properties.md) con el selector `wk visible references` en **True**.
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAI.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAI.md
index 1271a5aaaa8e21..cd5f8bdcaad443 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAI.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAI.md
@@ -36,15 +36,15 @@ Crear una instancia de la clase cliente OpenAI.
#### Llave API
```4d
-// as text
+// como texto
var $client:=cs.AIKit.OpenAI.new("your api key")
-// as object
+// como objeto
var $client:=cs.AIKit.OpenAI.new({apiKey: "your api key"})
```
#### URL del servidor
-For a [compatible provider](../compatible-openai.md) API, you can configure the server URL.
+Para una API [proveedor compatible](../compatible-openai.md), puede configurar la URL del servidor.
```4d
var $client:=cs.AIKit.OpenAI.new({apiKey: "your api key"; baseURL: "https://server.ai"})
@@ -58,7 +58,7 @@ $client.baseURL:="https://server.ai"
## Recursos API
-La API ofrece acceso a múltiples recursos que permiten una interacción perfecta con los servicios de OpenAI. Each resource is encapsulated within a dedicated API class, offering a structured and intuitive way to interact with different functionalities.
+La API ofrece acceso a múltiples recursos que permiten una interacción perfecta con los servicios de OpenAI. Cada recurso está encapsulado en una clase API específica, que ofrece una forma estructurada e intuitiva de interactuar con las distintas funcionalidades.
| Nombre de la propiedad | Tipo | Descripción |
| ---------------------- | ----------------------------------------------- | ------------------------------------------------ |
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIError.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIError.md
index 50c983790a5e75..0cbbae13977180 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIError.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIError.md
@@ -5,7 +5,7 @@ title: OpenAIError Class
# OpenAIError Class
-La clase `OpenAIError` está diseñada para manejar errores devueltos por la API OpenAI. It extracts relevant information from the error response and provides methods to access this information.
+La clase `OpenAIError` está diseñada para manejar errores devueltos por la API OpenAI. Extrae información relevante de la respuesta de error y ofrece los métodos para acceder a esta información.
## Propiedades
@@ -45,4 +45,4 @@ La clase `OpenAIError` está diseñada para manejar errores devueltos por la API
| `isNotFoundError` | Boolean | Indica si el error es un error 404 Not Found. |
| `isUnprocessableEntityError` | Boolean | Indica si el error es un error de entidad no procesable (422). |
| `isRateLimitError` | Boolean | Indica si el error es un error de límite de velocidad 429. |
-| `isInternalServerError` | Boolean | Indicates if the error is a 500 or higher Internal Server error. |
\ No newline at end of file
+| `isInternalServerError` | Boolean | Indica si el error es un error de servidor interno de tipo 500 o superior. |
\ No newline at end of file
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIMessage.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIMessage.md
index 95969f8925c9ff..24e015f27d7ccd 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIMessage.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIMessage.md
@@ -5,7 +5,7 @@ title: OpenAIMessage
# OpenAIMessage
-La clase `OpenAIMessage` representa un mensaje estructurado que contiene un rol, un contenido y un usuario opcional. This class provides methods to manipulate and retrieve the text and other content of the message.
+La clase `OpenAIMessage` representa un mensaje estructurado que contiene un rol, un contenido y un usuario opcional. Esta clase ofrece métodos para manipular y recuperar el texto y otros contenidos del mensaje.
## Propiedades
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIParameters.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIParameters.md
index 54c9d61d806d8a..f4bf7976453bad 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIParameters.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIParameters.md
@@ -5,7 +5,7 @@ title: OpenAIParameters
# OpenAIParameters
-The `OpenAIParameters` class is designed to handle execution and request parameters for interacting with the OpenAI API.
+La clase `OpenAIParameters` está diseñada para manejar los parámetros de ejecución y de petición para interactuar con la API OpenAI.
## Propiedades
@@ -24,16 +24,16 @@ Ver la [documentación sobre código asíncrono](../asynchronous-call.md)
| Propiedad | Tipo | Descripción |
| -------------- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `timeout` | Real | Overrides the client-level default timeout for the request, in seconds. Por defecto es 0. |
+| `timeout` | Real | Reemplaza el tiempo de espera predeterminado del nivel de cliente para la petición, en segundos. Por defecto es 0. |
| `httpAgent` | HTTPAgent | Anula el agente HTTP predeterminado a nivel de cliente para la petición. |
| `maxRetries` | Integer | El número máximo de reintentos para la petición. (Sólo si el código no es asíncrono, es decir, no se proporciona ninguna función) |
| `extraHeaders` | Object | Encabezados adicionales para enviar con la petición. |
### Propiedades OpenAPI
-| Propiedad | Tipo | Descripción |
-| --------- | ---- | ----------------------------------------------------------------------------------------------------------- |
-| `user` | Text | A unique identifier representing the end-user, which helps OpenAI monitor and detect abuse. |
+| Propiedad | Tipo | Descripción |
+| --------- | ---- | --------------------------------------------------------------------------------------------------------------------------- |
+| `user` | Text | Un identificador único que representa al usuario final y que ayuda a OpenAI a supervisar y detectar abusos. |
## Clases heredadas
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIResult.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIResult.md
index ef3e9ad3508ea9..42afb6d5188d50 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIResult.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIResult.md
@@ -46,7 +46,7 @@ La estructura del objeto `rateLimit` es la siguiente:
### `throw()`
-Lanza el primer error de la colección `errors`. This function is useful for propagating errors up the call stack.
+Lanza el primer error de la colección `errors`. Esta función es útil para propagar los errores por la pila de llamadas.
## Clases heredadas
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/asynchronous-call.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/asynchronous-call.md
index 90a8a0f9ad4cd2..3df96877e738c2 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/asynchronous-call.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/asynchronous-call.md
@@ -5,7 +5,7 @@ title: Asynchronous Call
# Asynchronous Call
-If you do not want to wait for the OpenAPI response when making a request to its API, you need to use asynchronous code.
+Si no desea esperar la respuesta del OpenAPI al hacer una petición a su API, debe utilizar un código asíncrono.
Debe proporcionar un `4D.Formula` para recibir el resultado. Ver [OpenAIParameters](Classes/OpenAIParameters.md) para una lista de ellos.
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands-legacy/blob-to-print-settings.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands-legacy/blob-to-print-settings.md
index 41a06864f9d2f0..cce5b132486dd4 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands-legacy/blob-to-print-settings.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands-legacy/blob-to-print-settings.md
@@ -34,7 +34,6 @@ El comando devuelve uno de los siguientes códigos de estado:
* 0: ninguna impresora actual está seleccionada (en este caso, el comando no hace nada),
* 1: el BLOB se ha cargado correctamente,
* 2: el BLOB se ha cargado correctamente, pero el nombre de la impresora actual ha cambiado(\*)
-**Nota:** Code (2) siempre se devuelve si el BLOB fue creado por el comando 4D Pack , incluso si el nombre de la impresora no cambió, ya que esta información no se incluyó en los BLOBs 4D Pack.
(\*) Los parámetros dependen de la impresora actual seleccionada en el momento en que el BLOB se guardó. La aplicación de estos valores en otra impresora es soportada si ambas impresoras son del mismo modelo. Si las impresoras son diferentes, se restaurarán sólo los parámetros comunes.
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands-legacy/license-usage.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands-legacy/license-usage.md
index 3a43b060b8b66a..167f02e795b993 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands-legacy/license-usage.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands-legacy/license-usage.md
@@ -17,6 +17,12 @@ displayed_sidebar: docs
El comando **License usage** devuelve una colección de objetos que contienen información sobre las licencias retenidas.
+:::note
+
+Este comando solo se puede ejecutar en 4D Server. Devuelve `null` cuando se llama desde otro contexto.
+
+:::
+
Cada objeto de la colección devuelta tiene los siguientes atributos:
| **Nombre de la propiedad** | **Tipo** | **Descripción** |
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands-legacy/open-window.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands-legacy/open-window.md
index ccb1ec0d250f12..dec072d5bf6ea7 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands-legacy/open-window.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands-legacy/open-window.md
@@ -38,7 +38,30 @@ Si pasa -1 en *derecha* e *inferior,* le indica a 4D que redimensione automátic
**Importante:** este dimensionamiento automático de la ventana ocurrirá únicamente si realiza una llamada previa a [FORM SET INPUT](form-set-input.md) para el formulario a mostrar en la ventana y si le pasa el parámetro opcional \* a [FORM SET INPUT](form-set-input.md).
-* El parámetro *tipo* es opcional y define el tipo de ventana que quiere mostrar, y corresponde a las diferentes ventanas presentadas en la sección . Si el tipo pasado es negativo, la ventana será flotante. Si el tipo no se especifica, el tipo 1 se utiliza por defecto.
+El parámetro *tipo* es opcional. Representa el tipo de ventana que desea mostrar. Si el tipo de ventana es negativo, la ventana creada es una ventana flotante (si es compatible). Si no se especifica el tipo, se utiliza el tipo 1 de forma predeterminada. Se admiten las siguientes constantes del tema *Abrir ventana*:
+
+|Constante|Comentario|
+|---|---|
+|Alternate dialog box|Puede utilizarse en ventana flotante|
+|Has full screen mode Mac|Opción para añadir a una ventana de tipo documento solo en macOS (por ejemplo: `Plain form window+Form has full screen mode Mac`)|
+|Modal dialog box ||
+|Movable dialog box |Puede utilizarse en ventana flotante|
+|Palette window|Can be a floating windowNo redimensionable: `-(Palette window+2)` (Windows) o ` -Palette window` (macOS)Redimensionable: `-(Palette window+6)`|
+|Plain dialog box |Puede utilizarse en ventana flotante|
+|Plain fixed size window||
+|Plain no zoom box window||
+|Pop up window||
+|Plain window||
+|Resizable sheet window||
+|Round corner window ||
+|Sheet window||
+|Texture appearance|Opción que se añadirá a un tipo de ventana solo en macOS. Tipos soportados: `Plain window`, `Plain no zoom box window`, `Plain fixed size window`, `Movable dialog box`, `Round corner window`|
+
+
+
+
+
+
* El parámetro *titulo* indica el título opcional de la ventana
Si pasa una cadena vacía ("") en *titulo,* le indica a 4D que utilice los valores de introducidos en el área Nombre de la ventana de la ventana de Propiedades del formulario en el entorno Diseño para el título del formulario a mostrar en la ventana.
@@ -47,7 +70,7 @@ Si pasa una cadena vacía ("") en *titulo,* le indica a 4D que utilice los valor
* El parámetro *casillaCerrar* es opcional y designa el método para cerrar la ventana. Si se especifica este parámetro, la casilla del menú Control (Windows) o la casilla Cerrar (Macintosh) se añade a la ventana. Cuando el usuario hace doble clic en la casilla de menú Control (Windows) o clic en la Casilla cerrar (Macintosh), se llama al método pasado en *casillaCerrar*.
-**Nota:** también puede administrar el cierre de la ventana desde el método del formulario mostrado en la ventana cuando ocurre un evento On Close Box. Para mayor información, consulte el comando [Form event code](../commands/form-event-code.md).
+**Nota:** también puede administrar el cierre de la ventana desde el método del formulario mostrado en la ventana cuando ocurre un evento `On Close Box`. Para mayor información, consulte el comando [Form event code](../commands/form-event-code.md).
Si se abre más de una ventana para un proceso, la última ventana abierta es la ventana activa (del primer plano) para ese proceso. Sólo puede modificarse la información dentro de la ventana activa. Todas las demás ventanas pueden ser visualizadas. Cuando el usuario digita, la ventana activa siempre pasará al primer plano, si aún no está ahí.
@@ -60,22 +83,20 @@ Los formularios se muestran al interior de una ventana abierta. El texto pasado
El siguiente método de proyecto abre una ventana centrada en la ventana en la ventana principal (Windows) o en la pantalla principal (Macintosh). Note que puede aceptar dos, tres, o cuatro parámetros:
```4d
- // Método de proyecto OPEN CENTERED WINDOW
- // $1 – Ancho de la ventana
- // $2 – Alto de la ventana
- // $3 – Tipo de la ventana (opcional)
- // $4 – Título de la ventana (opcional)
+ // Método proyecto OPEN CENTERED WINDOW
+ #DECLARE($width : Integer; $height : Integer; $type : Integer; $title : Text)
+ var $SW; $SH; $WW; $WH : Integer
$SW:=Screen width\2
$SH:=(Screen height\2)
- $WW:=$1\2
- $WH:=$2\2
+ $WW:=$width\2
+ $WH:=$height\2
Case of
:(Count parameters=2)
Open window($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH)
:(Count parameters=3)
- Open window($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH;$3)
+ Open window($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH;$type)
:(Count parameters=4)
- Open window($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH;$3;$4)
+ Open window($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH;$type;$title)
End case
```
@@ -95,7 +116,8 @@ Una vez escrito el método de proyecto, puede utilizarlo de esta forma:
El siguiente ejemplo abre una ventana flotante que tiene un casilla de menú Control (Windows) o una casilla de cerrar (Macintosh). La ventana se abre en la esquina superior derecha de la ventana de la aplicación.
```4d
- $myWindow:=Open window(Screen width-149;33;Screen width-4;178;-Palette window;"";"CloseColorPalette")
+var $myWindow : Integer
+ $myWindow:=Open window(Screen width-149;33;Screen width-4;178;-Palette window;"";"CloseColorPalette")
DIALOG([Dialogs];"Color Palette")
```
@@ -105,20 +127,19 @@ El método CloseColorPalette llama al comando [CANCEL](cancel.md):
CANCEL
```
-
## Ejemplo 3
El siguiente ejemplo abre una ventana cuyo tamaño y título provienen de las propiedades del formulario mostrado en la ventana:
```4d
- ORM SET INPUT([Customers];"Add Records";*)
- $myWindow:=Open window(10;80;-1;-1;Plain window;"")
+ var $myWindow : Integer
+ FORM SET INPUT([Customers];"Add Records";*)
+ $myWindow:=Open window(10;80;-1;-1;Plain window;"")
Repeat
ADD RECORD([Customers])
Until(OK=0)
```
-
**Recuerde**: para que la función **Open window** utilice automáticamente las propiedades del formulario, debe llamar a [FORM SET INPUT](form-set-input.md) con el parámetro opcional *\** y las propiedades del formulario deben haber sido definidas en función de esta utilización en el entorno Diseño.
## Ejemplo 4
@@ -126,23 +147,23 @@ El siguiente ejemplo abre una ventana cuyo tamaño y título provienen de las pr
Este ejemplo ilustra el mecanismo de “retraso” de mostrar ventanas bajo macOS:
```4d
- $miVentana:=Open window(10;10;400;400;Sheet window)
+ var $myWindow : Integer
+ $myWindow:=Open window(10;10;400;400;Sheet window)
//Por el momento, se crea la ventana pero permanece oculta
- DIALOG([Tabla];"formDial")
- //El evento On Load se genera luego se muestra la ventana; "desciende" de debajo de la barra de título
+ DIALOG([Table];"dialForm")
+ //El evento On Load se genera luego se muestra la ventana; "desciende" de debajo de
+ //la barra de título
```
## Ver también
[CLOSE WINDOW](close-window.md)
-*Crear ventana*
[Open form window](open-form-window.md)
+
## Propiedades
| | |
| --- | --- |
| Número de comando | 153 |
| Hilo seguro | ✗ |
-
-
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands-legacy/query-by-attribute.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands-legacy/query-by-attribute.md
index 8381b78bbc201e..b2559925b25235 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands-legacy/query-by-attribute.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands-legacy/query-by-attribute.md
@@ -10,12 +10,12 @@ displayed_sidebar: docs
| Parámetro | Tipo | | Descripción |
| --- | --- | --- | --- |
| tabla | Table | → | Tabla para la cual devolver una selección de registros o Tabla por defecto si se omite |
-| opConj | * | → | Operador de conjunción ausar para combinar varias búsquedas (si las hay) |
+| opConj | Operator | → | Operador de conjunción a usar para combinar varias búsquedas (si las hay) |
| campoObjeto | Field | → | Campo objeto cuyos atributos utilizar para la búsqueda |
| rutaAtributo | Text | → | Nombre o ruta de atributo |
-| opBusq | Text, * | → | Operador de búsqueda (comparador) |
+| opBusq | Text, Operator | → | Operador de búsqueda (comparador) |
| valor | Text, Number, Date, Time | → | Valor a comparar |
-| * | Operador | → | Espera de ejecución de la búsqueda |
+| * | Operator | → | Espera de ejecución de la búsqueda |
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands-legacy/query-selection-by-attribute.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands-legacy/query-selection-by-attribute.md
index a7edbed92609a3..9e34f09cbdfff0 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands-legacy/query-selection-by-attribute.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands-legacy/query-selection-by-attribute.md
@@ -5,17 +5,17 @@ slug: /commands/query-selection-by-attribute
displayed_sidebar: docs
---
-**QUERY SELECTION BY ATTRIBUTE** ( {*tabla*}{;}{*conjOp* ;} *campoObjeto* ; *rutaAtributo* ; *opBusq* ; *valor* {; *} )
+**QUERY SELECTION BY ATTRIBUTE** ( {*tabla*}{;}{*opConj* ;} *campoObjeto* ; *rutaAtributo* ; *opBusq* ; *valor* {; *} )
| Parámetro | Tipo | | Descripción |
| --- | --- | --- | --- |
-| tabla | Table | → | Tabla para la cual devolver una selección de registros o tabla por defecto si se omite |
-| conjOp | * | → | Operador de conjunción a utilizar ara unir múltiples búsquedas (si las hay) |
-| campoObjeto | Field | → | Campo objeto para buscar atributos |
+| tabla | Table | → | Tabla para la cual devolver una selección de registros o Tabla por defecto si se omite |
+| opConj | Operator | → | Operador de conjunción a usar para combinar varias búsquedas (si las hay) |
+| campoObjeto | Field | → | Campo objeto cuyos atributos utilizar para la búsqueda |
| rutaAtributo | Text | → | Nombre o ruta de atributo |
-| opBusq | *, Text | → | Operador de búsqueda (comparador) |
+| opBusq | Text, Operator | → | Operador de búsqueda (comparador) |
| valor | Text, Number, Date, Time | → | Valor a comparar |
-| * | Operador | → | Continuar bandera de búsqueda |
+| * | Operator | → | Espera de ejecución de la búsqueda |
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands-legacy/verify-data-file.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands-legacy/verify-data-file.md
index 1c6ae986f13232..251b195c1212ad 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands-legacy/verify-data-file.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands-legacy/verify-data-file.md
@@ -19,7 +19,7 @@ displayed_sidebar: docs
-## Descripción
+## Descripción
El comando VERIFY DATA FILE efectúa una verificación estructural de los objetos contenidos en el archivo de datos 4D designado por *rutaEstructura* y *rutaDatos*.para mayor información sobre el proceso de verificación de datos, consulte el Manual de Diseño. *rutaEstructura* designa el archivo de estructura (compilado o no) asociado con el archivo de datos a verificar. Puede tratarse del archivo de estructura abierto o de cualquier otro archivo de estructura. Usted debe pasar un nombre de ruta completo, expresado con la sintaxis del sistema operativo. También puede pasar una cadena vacía, en este caso aparece una caja de diálogo estándar de apertura de archivos que permite al usuario designar el archivo de estructura a utilizar.
@@ -37,6 +37,7 @@ El parámetro *objetos* se utiliza para designar los tipos de objetos a verifica
| Verify indexes | Entero largo | 8 | Esta opción verifica la consistencia física de los índices, sin enlace a los datos. Señala llaves inválidas pero no le permite detectar llaves duplicadas (dos índices que apuntan al mismo registro). Este tipo de error sólo puede detectarse con la opción Verificar todos. |
| Verify records | Entero largo | 4 | |
+
Para verificar los registros y los índices, pase el total de Verify Records+Verify Indexes. El valor 0 (cero) también puede ser utilizado para obtener el mismo resultado. La opción Verify All realiza una verificación interna completa. Esta verificación es compatible con la creación de un historial.
El parámetro *opciones* se utiliza para definir las opciones de verificación. Las siguientes opciones están disponibles, accesibles vía las constantes del tema “*Mantenimiento archivo de datos*”:
@@ -51,44 +52,44 @@ Generalmente, el comando VERIFY DATA FILE crea un archivo de historial en format
El parámetro *metodo* permite definir un método de retrollamada que será llamado regularmente durante la verificación. Si pasa una cadena vacía o un nombre de método invalido, este parámetro se ignora (no se llama el método). Cuando se llama, este método recibe hasta 5 parámetros en función de los objetos verificados y del tipo de evento que origina la llamada (ver la tabla de llamadas). Es imperativo declarar estos parámetros en el método:
-| \- $1 | Entero largo | Tipo de mensaje (ver tabla) |
+
+| Parámetro | Tipo | Descripción |
| ----- | ------------ | --------------------------- |
-| \- $2 | Entero largo | Tipo de objeto |
-| \- $3 | Text | Mensaje |
-| \- $4 | Entero largo | Número de tabla |
-| \- $5 | Entero largo | Reservado |
+| $messageType | Integer | Tipo de mensaje (ver tabla) |
+| $objectType | Integer | Tipo de objeto |
+| $messageText | Text | Mensaje |
+| $table | Integer | Número de tabla |
+| $reserved | Integer | Reservado |
La siguiente tabla describe el contenido de los parámetros en función del tipo de evento:
-| **Evento** | **$1 (Entero largo)** | **$2 (Entero largo)** | **$3 (Texto)** | **$4 (Entero largo)** | **$5 (Entero largo)** |
-| --------------------------- | --------------------- | --------------------- | -------------- | --------------------- | --------------------- |
-| Mensaje | 1 | 0 | Progresión | Porcentaje | Reservado |
-| mensaje | hecho (0-100) | | | | |
-| Fin de la verificación (\*) | 2 | Tipo de objeto (\*\*) | Mensaje OK | Tabla o índice | Reservado |
-| prueba | número | | | | |
-| Error | 3 | Tipo de objeto (\*\*) | Texto de error | Tabla o índice | Reservado |
-| mensaje | número | | | | |
-| Fin de ejecución | 4 | 0 | DONE | 0 | Reservado |
-| Advertencia | 5 | Tipo de objeto (\*\*) | Texto de error | Tabla o índice | Reservado |
-| mensaje | número | | | | |
-
-(\*) El evento *Fin de la verificación* ($1=2) no se devuelve nunca cuando el modo de verificación es Verify All. Sólo se utiliza en modo Verify Records o Verify Indexes.
-(\*\*) *Tipo de objeto*: cuando un objeto se verifica, puede enviarse un mensaje "terminado" ($1=2), error ($1=3) o terminado ($1=5). El tipo de objeto devuelto en $2 puede ser uno de los siguientes:
+| **Event** | **$messageType** | **$objectType** | **$messageText** | **$table** | **$reserved** |
+| ------- | ---------------- | ------------------ | -------------- | ---------------- | ---------------- |
+| Mensaje | 1 | 0 | Mensaje de progresión | Porcentaje (0-100) | Reservado |
+| Fin de la verificación (\*) | 2 | Tipo de objeto (\*\*) | Mensaje de prueba OK | Tabla o número de índice | Reservado |
+| Error | 3 | Tipo de objeto (\*\*) | Texto de mensaje de error | Tabla o número de índice | Reservado |
+| Fin de la ejecución | 4 | 0 | DONE | 0 | Reservado |
+| Advertencia | 5 | Tipo de objeto (\*\*) | Texto de error | Tabla o índice | Reservado |
+|||| mensaje | número |
+
+(\*) El evento *Fin de la verificación* ($messageType=2) no se devuelve nunca cuando el modo de verificación es Verify All. Sólo se utiliza en modo Verify Records o Verify Indexes.
+(\*\*) *Tipo de objeto*: cuando un objeto se verifica, puede enviarse un mensaje "terminado" ($messageType=2), error ($messageType=3) o terminado ($messageType=5). El tipo de objeto devuelto en $2 puede ser uno de los siguientes:
* 0 = indeterminado
* 4 = registro
* 8 = índice
* 16 = objeto estructura (control preliminar del archivo de datos).
-*Caso especial*: cuando $4 = 0 para $1=2, 3 ó 5, el mensaje no concierne a una tabla sino a un archivo de datos en su conjunto.
+*Caso especial*: cuando $table = 0 para $messageType=2, 3 ó 5, el mensaje no concierne a una tabla sino a un archivo de datos en su conjunto.
-El método de retrollamada también debe retornar un valor en $0 (Entero largo), permitiendo controlar la ejecución de la operación:
+El método de retrollamada también debe retornar un valor entero *$result*, permitiendo controlar la ejecución de la operación:
-* Si $0 = 0, la operación continúa normalmente
-* Si $0 = -128, la operación se detiene sin que se genere error
-* Si $0 = otro valor, la operación se detiene y el valor pasado en $0 se devuelve como número de error. Este error puede ser interceptado por un método de gestión de errores.
+* Si $result = 0, la operación continúa normalmente
+* Si $result = -128, la operación se detiene sin que se genere error
+* Si $result = otro valor, la operación se detiene y el valor pasado en $result se devuelve como número de error. Este error puede ser interceptado por un método de gestión de errores.
+
+**Nota**: no es posible interrumpir la ejecución vía $result luego de que el evento se haya generado *Fin de ejecución* ($1=4).
-**Nota**: no es posible interrumpir la ejecución vía $0 luego de que el evento se haya generado *Fin de ejecución* ($4=1).
Dos arrays opcionales también pueden ser utilizados por este comando:
@@ -176,5 +177,3 @@ Si el método de retrollamada no existe, la verificación no se efectúa, se gen
| Número de comando | 939 |
| Hilo seguro | ✓ |
| Modifica variables | OK, Document, error |
-
-
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/call-chain.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/call-chain.md
index fdbd960b6e8acd..e24fcfe496ce30 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/call-chain.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/call-chain.md
@@ -9,9 +9,9 @@ displayed_sidebar: docs
-| Parámetros | Tipo | | Descripción |
-| ---------- | ---------- | --------------------------- | ---------------------------------------------------------------- |
-| Resultado | Collection | ← | Collection of objects describing the call chain within a process |
+| Parámetros | Tipo | | Descripción |
+| ---------- | ---------- | --------------------------- | ----------------------------------------------------------------------------- |
+| Resultado | Collection | ← | Colección de objetos que describen la cadena de llamadas dentro de un proceso |
@@ -31,7 +31,7 @@ The command facilitates debugging by enabling the identification of the method o
| **Propiedad** | **Tipo** | **Description** | **Ejemplo** |
| ------------- | ----------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------- |
-| database | Text | Name of the database calling the method (to distinguish host methods and component methods) | "database":"contactInfo" |
+| database | Text | Nombre de la base de datos que llama al método (para distinguir los métodos locales de los métodos del componente) | "database":"contactInfo" |
| formula | Text (si lo hay) | Contenido de la línea actual de código en el nivel actual de la cadena de llamadas (texto bruto). Corresponde al contenido de la línea referenciada por la propiedad `line` en el archivo fuente indicado por el método. Si el código fuente no está disponible, la propiedad `formula` se omite (Undefined). | "var $stack:=Call chain" |
| línea | Integer | Número de línea de llamada al método | "line":6 |
| name | Text | Nombre del método llamado | "name":"On Load" |
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/command-name.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/command-name.md
index 81ea01647a075f..70558cdac5b7a6 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/command-name.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/command-name.md
@@ -34,8 +34,8 @@ The **Command name** command returns t
Hay dos parámetros opcionales:
-- *info*: propiedades del comando. The returned value is a *bit field*, where the following bits are meaningful:
- - Primer bit (bit 0): definido en 1 si el comando es [**hilo-seguro**](../Develop/preemptive.md#thread-safe-vs-thread-unsafe-code) (es decir, compatible con la ejecución en un proceso apropiativo) y 0 si es **hilo-inseguro**. Only thread-safe commands can be used in [preemptive processes](../Develop/preemptive.md).
+- *info*: propiedades del comando. El valor devuelto es un *campo de bits*, donde los siguientes bits son significativos:
+ - Primer bit (bit 0): definido en 1 si el comando es [**hilo-seguro**](../Develop/preemptive.md#thread-safe-vs-thread-unsafe-code) (es decir, compatible con la ejecución en un proceso apropiativo) y 0 si es **hilo-inseguro**. Solo se pueden usar comandos hilo seguro en [procesos preventivos](../Develop/preemptive.md).
- Segundo bit (bit 1): se define en 1 si el comando es **obsoleto**, y en 0 si no lo es. A deprecated command will continue to work normally as long as it is supported, but should be replaced whenever possible and must no longer be used in new code. Los comandos obsoletos en su código generan advertencias en el [Live Checker y el compilador](../code-editor/write-class-method.md#warnings-and-errors).
*theme*: nombre del tema del lenguaje 4D para el comando.
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/license-info.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/license-info.md
index 8a4db22e4f7d89..c0840cd6de402c 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/license-info.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/license-info.md
@@ -25,7 +25,7 @@ Si el comando se ejecuta en una aplicación 4D que no utiliza localmente una lic
Este comando recarga los archivos de licencia desde el disco y actualiza los derechos asociados si han sido modificados.
:::
-The returned object contains the following properties:
+El objeto devuelto contiene las siguientes propiedades:
```json
{
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/listbox-set-property.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/listbox-set-property.md
index d6641157210542..26236b6a1d6836 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/listbox-set-property.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/listbox-set-property.md
@@ -77,7 +77,7 @@ Quiere que todas las columnas del list box "MyListbox" sean redimensionables:
## Ejemplo 2
-You want to set a maximum width for the column whose name is "ProductNumber":
+Desea definir un ancho máximo para la columna cuyo nombre es "ProductNumber":
```4d
LISTBOX SET PROPERTY(*; "ProductNumber";lk column max width;200) //Esta columna tendrá un ancho máximo de 200
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/select-log-file.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/select-log-file.md
index 05b28a5eb1d550..4a6b78734f3cf7 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/select-log-file.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/select-log-file.md
@@ -19,13 +19,13 @@ displayed_sidebar: docs
El comando **SELECT LOG FILE** crea o cierra el archivo de historial de acuerdo al valor que pase en el parámetro.
-En *logFile*, pase el nombre o la ruta completa del archivo de registro a ser creado. If you only pass a name, the file will be created in the "Logs" folder of the database located next to the database structure file.
+En *logFile*, pase el nombre o la ruta completa del archivo de registro a ser creado. Si solo pasa un nombre, el archivo se creará en la carpeta "Logs" de la base de datos situada junto al archivo de estructura de la base de datos.
-If you pass an empty string in *logFile*, **SELECT LOG FILE** presents an Save File dialog box, allowing the user to choose the name and location of the log file to be created. Si el archivo se crea correctamente, la variable OK toma el valor 1. De lo contrario, si el usuario hace clic en Cancelar o si el archivo de registro no pudo ser creado, OK toma el valor 0.
+Si se pasa una cadena vacía en *logFile*, **SELECT LOG FILE** presenta un cuadro de diálogo Save File, que permite al usuario elegir el nombre y la ubicación del archivo de registro que se va a crear. Si el archivo se crea correctamente, la variable OK toma el valor 1. De lo contrario, si el usuario hace clic en Cancelar o si el archivo de registro no pudo ser creado, OK toma el valor 0.
-**Note:** The new log file is not generated immediately after execution of the command, but after the next backup (the parameter is kept in the data file and will be taken into account even if the database is closed in the meantime) or a call to the [New log file](new-log-file.md) command. Puede llamar al comando [BACKUP](../commands-legacy/backup.md) para activar la creación del archivo de registro.
+**Nota:** el nuevo archivo de registro no se genera inmediatamente después de la ejecución del comando, sino después de la siguiente copia de seguridad (el parámetro se mantiene en el archivo de datos y se tendrá en cuenta aunque la base de datos se cierre mientras tanto) o de una llamada al comando [New log file](new-log-file.md). Puede llamar al comando [BACKUP](../commands-legacy/backup.md) para activar la creación del archivo de registro.
-If you pass *\** in *logFile*, **SELECT LOG FILE** closes the current log file for the database. La variable OK toma el valor 1 cuando se cierra el archivo de registro.
+Si pasa *\** en *logFile*, **SELECT LOG FILE** cierra el archivo de registro actual para la base de datos. La variable OK toma el valor 1 cuando se cierra el archivo de registro.
## Variables y conjuntos sistema
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20/API/CollectionClass.md b/i18n/es/docusaurus-plugin-content-docs/version-20/API/CollectionClass.md
index 7539499b2ac346..f522a2f50248aa 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20/API/CollectionClass.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20/API/CollectionClass.md
@@ -4,7 +4,7 @@ title: Collection
---
-La clase Collection gestiona variables de tipo [Collection](Concepts/dt_collection.md).
+The Collection class manages [Collection](Concepts/dt_collection.md) type expressions.
Una colección se inicializa con:
@@ -447,14 +447,14 @@ $c.combine($fruits;3) //[1,2,3,"Orange","Banana","Apple","Grape",4,5,6]
-**.concat**( *value* : any { *;...valueN* } ) : Collection
+**.concat**( *value* : any { ; *...valueN* } ) : Collection
-| Parámetros | Tipo | | Descripción |
-| ---------- | -------------------------------------------------------------- |:--:| ------------------------------------------------------------------------------------------------------------------------ |
-| value | Number, Text, Object, Collection, Date, Time, Boolean, Picture | -> | Valores a concatenar. Si *value* es una colección, todos los elementos de la colección se añaden a la colección original |
-| Resultado | Collection | <- | Nueva colección con valor(es) añadido(s) a la colección original|
+| Parámetros | Tipo | | Descripción |
+| ---------- | ---------- |:--:| ------------------------------------------------------------------------------------------------------------------------ |
+| value | any | -> | Valores a concatenar. Si *value* es una colección, todos los elementos de la colección se añaden a la colección original |
+| Resultado | Collection | <- | Nueva colección con valor(es) añadido(s) a la colección original|
|
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20/API/CryptoKeyClass.md b/i18n/es/docusaurus-plugin-content-docs/version-20/API/CryptoKeyClass.md
index acc576286e1d33..39526eaad9b45e 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20/API/CryptoKeyClass.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20/API/CryptoKeyClass.md
@@ -63,7 +63,7 @@ La función `4D.CryptoKey.new()` crea un
#### *CryptoKey*
-El objeto `CryptoKey` devuelto encapsula un par de llaves de cifrado. It is a shared object and can therefore be used by multiple 4D processes simultaneously.
+El objeto `CryptoKey` devuelto encapsula un par de llaves de cifrado. Es un objeto compartido y, por tanto, puede ser utilizado por varios procesos 4D simultáneamente.
#### Ejemplo 1
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20/Concepts/dt_number.md b/i18n/es/docusaurus-plugin-content-docs/version-20/Concepts/dt_number.md
index cbfd7a78c9cd17..55cd922364f13f 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20/Concepts/dt_number.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20/Concepts/dt_number.md
@@ -73,9 +73,9 @@ El operador modulo % devuelve valores significativos con números que están en
:::
-### División entera
+### Integer division
-El operador de división entero largo \ devuelve valores significativos sólo con números enteros.
+The integer division operator divides one number by another and returns the whole number part of the result, discarding any remainder. `a\b` is equivalent to `Int(a/b)`. This operator returns significant values with integer numbers only.
### Comparación real
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20/Concepts/operators.md b/i18n/es/docusaurus-plugin-content-docs/version-20/Concepts/operators.md
index 9e3c43c03a09ff..47a8171566c03a 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20/Concepts/operators.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20/Concepts/operators.md
@@ -103,7 +103,7 @@ Se admiten los siguientes operadores de asignación compuestos:
| | Time *= Number | Number | `$t1*=5 //$t1:=$t1*5` |
| | Picture *= Number | Picture | `$p1*=5 //$p1:=$p1*5 (redimensionar $p1 de 5)` |
-These operators apply on any [assignable expressions](quick-tour.md#assignable-vs-non-assignable-expressions) except:
+Estos operadores se aplican a toda [expresión asignable](quick-tour.md#assignable-vs-non-assignable-expressions) excepto:
- las imágenes como propiedades de objeto o elementos de colección,
- las variables de índice de array.
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20/Concepts/parameters.md b/i18n/es/docusaurus-plugin-content-docs/version-20/Concepts/parameters.md
index fbb615743b4ad9..66b684eba3162c 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20/Concepts/parameters.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20/Concepts/parameters.md
@@ -112,7 +112,7 @@ $entitySelection:=ds.User.query("login=:1"; $user)
:::note
-Do not confuse **parameter declarations** with [**variable declarations**](variables.md#declaring-variables). Using the `var` keyword with parameters will generate errors.
+Do not confuse **parameter declarations** with [**variable declarations**](variables.md#declaring-variables). El uso de la palabra clave `var` con parámetros generará errores.
:::
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20/Concepts/quick-tour.md b/i18n/es/docusaurus-plugin-content-docs/version-20/Concepts/quick-tour.md
index 82d3b3a53faccb..e0bc4c12bf5d91 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20/Concepts/quick-tour.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20/Concepts/quick-tour.md
@@ -318,7 +318,7 @@ Se hace referencia a una expresión por el tipo de datos que devuelve. Hay vario
| Col[5] | Elementos de colección | Un elemento de colección es una expresión que puede ser de todo tipo soportado |
| $entitySel[0] | Entity | Un elemento de una selección de entidades ORDA es una expresión de tipo entidad. Este tipo de expresión es **no asignable** |
-### Expresiones asignables y no asignables
+### Expresiones asignables y no asignables {#assignable-vs-non-assignable-expressions}
Una expresión puede ser simplemente una constante literal, como el número 4 o la cadena "Hello", o una variable como `$myButton`. También puede utilizar los operadores. Por ejemplo, 4 + 2 es una expresión que utiliza el operador de adición para sumar dos números y devolver el resultado 6. En todos los casos, estas expresiones son **no asignables**, lo que significa que no se les puede asignar un valor. En 4D, las expresiones pueden ser **asignables**. Una expresión es asignable cuando puede utilizarse a la izquierda del operador de asignación. Por ejemplo:
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20/Concepts/variables.md b/i18n/es/docusaurus-plugin-content-docs/version-20/Concepts/variables.md
index a7b5e56a2fe736..9ca0af37245507 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20/Concepts/variables.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20/Concepts/variables.md
@@ -242,7 +242,7 @@ Las variables del sistema son utilizadas por los [comandos 4D](commands.md). Con
| ------------------------------------------------------ | ------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `OK` | Integer | Normalmente se establece en 1 después de que un comando haya mostrado una caja de diálogo y el usuario haya hecho clic en el botón **Aceptar**, y en 0 si hizo clic en **Cancelar**. Algunos comandos también modifican el valor de la variable del sistema `OK` cuando se ejecuta una operación con éxito. |
| `Document` | Text | Contiene el "nombre largo" (ruta completa+nombre) del último archivo abierto o creado mediante comandos como [Open document](https://doc.4d.com/4dv20/help/command/en/page264.html) o [SELECT LOG FILE](https://doc.4d.com/4dv20/help/command/en/page345.html). |
-| `FldDelimit`, `RecDelimit` | Text | Contienen los códigos de caracteres que se utilizarán respectivamente como separador de campos (por defecto es **Tabulación** (9)) y separador de registros (por defecto es **retorno de carro** (13)) al importar o exportar texto. Para utilizar un separador diferente, asigne un nuevo valor a la variable del sistema. |
+| `FldDelimit`, `RecDelimit` | Integer | Contienen los códigos de caracteres que se utilizarán respectivamente como separador de campos (por defecto es **Tabulación** (9)) y separador de registros (por defecto es **retorno de carro** (13)) al importar o exportar texto. Para utilizar un separador diferente, asigne un nuevo valor a la variable del sistema. |
| `Error`, `Error method`, `Error line`, `Error formula` | Text, Longint | Utilizado en un método de captura de errores instalado por el comando [`ON ERR CALL`](https://doc.4d.com/4dv20/help/command/en/page155.html). Ver [Gestión de errores dentro del método](../Concepts/error-handling.md#handling-errors-within-the-method). |
| `MouseDown` | Integer | Utilizado en un método instalado por el comando [`ON EVENT CALL`](https://doc.4d.com/4dv20/help/command/en/page190.html). Toma el valor 1 cuando se presiona el botón del ratón, de lo contrario 0. |
| `MouseX`, `MouseY` | Integer | Utilizado en un método instalado por el comando [`ON EVENT CALL`](https://doc.4d.com/4dv20/help/command/en/page190.html). En un evento `MouseDown=1`, `MouseX` y `MouseY` se establecen respectivamente en las coordenadas verticales y horizontales del clic. Ambos valores se expresan en píxeles y utilizan el sistema de coordenadas local de la ventana. En el caso de un campo imagen o variable, `MouseX` y `MouseY` devuelven las coordenadas locales de un clic de ratón en los eventos de formulario [`On Clicked`](../Events/onClicked.md), [`On Double Clicked`](../Events/onDoubleClicked.md) y [`On Mouse Up`](../Events/onMouseUp.md). Las coordenadas locales del cursor del ratón también se retornan en los eventos formulario [`On Mouse Enter`](../Events/onMouseEnter.md) y [`On Mouse Move`](../Events/onMouseMove.md). Para obtener más información, consulte la sección [Coordenadas del ratón en una imagen](../FormEditor/pictures.md#coordenadas-del-ratón-en-una-imagen). |
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20/FormEditor/formEditor.md b/i18n/es/docusaurus-plugin-content-docs/version-20/FormEditor/formEditor.md
index b3bc4c53bcc4a9..7dcdb830dcd022 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20/FormEditor/formEditor.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20/FormEditor/formEditor.md
@@ -340,7 +340,7 @@ Cuando se superponen varios objetos, se puede utilizar el atajo **Ctrl+Mayús+cl
:::note
-In binary databases, use **Ctrl+Click / Command+Click** to perform the same action.
+En bases de datos binarias, utilice **Ctrl+Clic / Comando+Clic** para efectuar la misma acción.
:::
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20/FormObjects/properties_Animation.md b/i18n/es/docusaurus-plugin-content-docs/version-20/FormObjects/properties_Animation.md
index 84d3fb3dfa5031..d18384dc9d0775 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20/FormObjects/properties_Animation.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20/FormObjects/properties_Animation.md
@@ -53,7 +53,7 @@ Permite al usuario mantener pulsado el botón del ratón para mostrar las imáge
## Cambiar cada x segundos
-Enables cycling through the contents of the picture button at the specified speed (in seconds). En este modo, se ignoran todas las demás opciones.
+Permite recorrer el contenido del botón de imagen a la velocidad especificada (en segundos). En este modo, se ignoran todas las demás opciones.
#### Gramática JSON
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20/FormObjects/properties_Reference.md b/i18n/es/docusaurus-plugin-content-docs/version-20/FormObjects/properties_Reference.md
index 95534fb3af71cb..b7912a0898a40a 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20/FormObjects/properties_Reference.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20/FormObjects/properties_Reference.md
@@ -66,7 +66,7 @@ En esta página encontrará una lista completa de todas las propiedades de los o
| [`fontTheme`](properties_Text.md#font-theme) | Establece el estilo automático | "normal", "main", "additional" |
| [`fontWeight`](properties_Text.md#bold) | Ajusta el texto seleccionado para que aparezca más oscuro y pesado. | "normal", "bold" |
| [`footerHeight`](properties_Footers.md#height) | Sirve para fijar la altura de la línea | decimal positivo + px | em |
-| [`frameDelay`](properties_Animation.md#switch-every-x-ticks) | Enables cycling through the contents of the picture button at the specified speed (in seconds). | mínimo: 0 |
+| [`frameDelay`](properties_Animation.md#switch-every-x-ticks) | Permite recorrer el contenido del botón de imagen a la velocidad especificada (en segundos). | mínimo: 0 |
| **g** | | |
| [`graduationStep`](properties_Scale.md#graduation-step) | Medición de la visualización de la escala. | mínimo: 0 |
| **h** | | |
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20/Notes/updates.md b/i18n/es/docusaurus-plugin-content-docs/version-20/Notes/updates.md
index 6d72dac749055a..0943b619df731d 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20/Notes/updates.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20/Notes/updates.md
@@ -15,8 +15,8 @@ Lea las [**novedades de 4D 20**](https://blog.4d.com/en-whats-new-in-4d-v20/), l
#### Lo más destacado
-- 4D 20.8 LTS is certified on Windows 11 25H2.
-- 4D 20.8 LTS is certified on macOS Tahoe (macOS 26).
+- 4D 20.8 LTS está certificado en Windows 11 25H2.
+- 4D 20.8 LTS está certificado en macOS Tahoe (macOS 26).
- [**Lista de bugs corregidos**](https://bugs.4d.com/fixes?version=20.8): lista de todos los bugs corregidos en 4D 20.8 LTS.
@@ -35,7 +35,7 @@ Por razones internas, la versión de los clientes remotos que se conectan a 4D S
#### Cambios de comportamiento
-- As of 4D **20.7 HF2**, the [`Time`](https://doc.4d.com/4dv20/help/command/en/page179.html) command returns a negative time expression when the *timeValue* parameter is negative. Por ejemplo, `Time("-01:02:03")` ahora devolverá -01:02:03. En versiones anteriores, se ignoraba el signo negativo.
+- A partir de 4D **20.7 HF2**, el comando [`Time`](https://doc.4d.com/4dv20/help/command/en/page179.html) devuelve una expresión negativa cuando el parámetro *timeValue* es negativo. Por ejemplo, `Time("-01:02:03")` ahora devolverá -01:02:03. En versiones anteriores, se ignoraba el signo negativo.
## 4D 20.6 LTS
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20/ViewPro/classes.md b/i18n/es/docusaurus-plugin-content-docs/version-20/ViewPro/classes.md
index 40eadc8c41f98b..3d6a5e115053c8 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20/ViewPro/classes.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20/ViewPro/classes.md
@@ -156,7 +156,7 @@ La propiedad `.backColor` es el [color
**.foreColor** : Text
-The `.foreColor` property is the [color de primer plano](configuring.md#background--foreground) de la tabla.
+La propiedad `.foreColor` es el [color de primer plano](configuring.md#background--foreground) de la tabla.
@@ -206,7 +206,7 @@ La propiedad `.borderBottom` es el
**.borderTop** : [cs.ViewPro.LineBorder](#lineborder)
-The `.borderTop` property is the top border line of the table .
+La propiedad `.borderRight` es la línea del borde superior de la tabla .
### .borderHorizontal
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/API/CollectionClass.md b/i18n/es/docusaurus-plugin-content-docs/version-21/API/CollectionClass.md
index b19fb72882385a..77db9b6be3a012 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/API/CollectionClass.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/API/CollectionClass.md
@@ -3,7 +3,7 @@ id: CollectionClass
title: Collection
---
-La clase Collection gestiona variables de tipo [Collection](Concepts/dt_collection.md).
+The Collection class manages [Collection](Concepts/dt_collection.md) type expressions.
Una colección es inicializada con los comandos [`New collection`](../commands/new-collection.md) o [`New shared collection`](../commands/new-shared-collection.md).
@@ -264,14 +264,14 @@ $c.combine($fruits;3) //[1,2,3,"Orange","Banana","Apple","Grape",4,5,6]
-**.concat**( *value* : any { *;...valueN* } ) : Collection
+**.concat**( *value* : any { ; *...valueN* } ) : Colección
-| Parámetros | Tipo | | Descripción |
-| ---------- | -------------------------------------------------------------- | :-------------------------: | --------------------------------------------------------------------------------------------------------------------------------------------------- |
-| value | Number, Text, Object, Collection, Date, Time, Boolean, Picture | -> | Valores a concatenar. Si *value* es una colección, todos sus elementos se añaden al final de la colección original. |
-| Resultado | Collection | <- | Colección original con valores rellenados |
+| Parámetros | Tipo | | Descripción |
+| ---------- | ---------- | :-------------------------: | --------------------------------------------------------------------------------------------------------------------------------------------------- |
+| value | any | -> | Valores a concatenar. Si *value* es una colección, todos sus elementos se añaden al final de la colección original. |
+| Resultado | Collection | <- | Colección original con valores rellenados |
@@ -3171,14 +3171,12 @@ La función `.sort()` ordena los elemento
Si se llama a `.sort()` sin parámetros, sólo se ordenan los valores escalares (número, texto, fecha, booleanos). Los elementos se ordenan por defecto de forma ascendente, según su tipo.
También puede pasar una de las siguientes constantes en el parámetro *ascOrDesc*:
- ```
- |Constant| Type|Value|Comment|
- |---|---|---|---|
- |ck ascending|Integer|0|Elements are ordered in ascending order (default)|
- |ck descending|Integer|1|Elements are ordered in descending order|
-
- This syntax orders scalar values in the collection only (other element types such as objects or collections are returned unordered).
- ```
+| Constante | Tipo | Valor | Comentario |
+| ------------- | ------- | ----- | ----------------------------------------------------------------------------- |
+| ck ascending | Integer | 0 | Los elementos se ordenan de forma ascendente (por defecto) |
+| ck descending | Integer | 1 | Los elementos se ordenan de forma descendente |
+
+Esta sintaxis sólo ordena los valores escalares de la colección (otros tipos de elementos, como objetos o colecciones, se devuelven desordenados).
Si la colección contiene elementos de diferentes tipos, se agrupan primero por tipo y se ordenan después. Si attributePath lleva a una propiedad de objeto que contiene valores de diferentes tipos, primero se agrupan por tipo y se ordenan después.
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/API/CryptoKeyClass.md b/i18n/es/docusaurus-plugin-content-docs/version-21/API/CryptoKeyClass.md
index 0dcbda2559aa1c..73a64cd7179651 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/API/CryptoKeyClass.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/API/CryptoKeyClass.md
@@ -63,7 +63,7 @@ La función `4D.CryptoKey.new()` crea un
#### *CryptoKey*
-El objeto `CryptoKey` devuelto encapsula un par de llaves de cifrado. It is a shared object and can therefore be used by multiple 4D processes simultaneously.
+El objeto `CryptoKey` devuelto encapsula un par de llaves de cifrado. Es un objeto compartido y, por tanto, puede ser utilizado por varios procesos 4D simultáneamente.
#### Ejemplo 1
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/API/DataStoreClass.md b/i18n/es/docusaurus-plugin-content-docs/version-21/API/DataStoreClass.md
index 3624ec598b4b1b..ff7da6d377949d 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/API/DataStoreClass.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/API/DataStoreClass.md
@@ -436,7 +436,7 @@ La función `.getInfo()` devuelve
| Propiedad | Tipo | Descripción |
| ---------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| type | string | "4D": datastore principal, disponible a través de ds "4D Server": datastore remoto, abrir con Open datastore |
-| networked | boolean | True: el almacén de datos se alcanza a través de una conexión de red.False: the datastore is not reached through a network connection (local database) |
+| networked | boolean | True: el almacén de datos se alcanza a través de una conexión de red.False: no se llega al almacén de datos a través de una conexión de red (base de datos local) |
| localID | text | ID del almacén de datos en la máquina. ID del almacén de datos en la máquina. Cadena vacía ("") para el almacén de datos principal. |
| connection | object | Objeto que describe la conexión del almacén de datos remoto (no se devuelve para el almacén de datos principal). Propiedades disponibles:| Propiedad | Tipo | Descripción |
|---|
| nombre de host | texto | Dirección IP o nombre del datastore remoto + ":" + número de puerto |
| tls | booleano | True si se utiliza una conexión segura con el datastore remoto |
| idleTimeout | número | Tiempo de inactividad de la sesión (en minutos) |
| usuario | texto | Usuario autenticado en el almacén de datos remoto |
|
@@ -1018,7 +1018,7 @@ Para crear un registro de peticiones ORDA del lado del cliente, llame a esta fun
> Debe añadirse manualmente un carácter \N al final del archivo para realizar una validación JSON
-- Si se pasa un entero *reqNum*, se vacía el registro en memoria (si lo hay) y se inicializa un nuevo registro. It will keep *reqNum* requests in memory until the number is reached, in which case the oldest entries are emptied (FIFO stack).
If `.startRequestLog()` is called with a *reqNum* while a logging was previously started in a file, the file logging is stopped.
+- Si se pasa un entero *reqNum*, se vacía el registro en memoria (si lo hay) y se inicializa un nuevo registro. Conserva las peticiones *reqNum* en memoria hasta que se alcance el número, en cuyo caso se vacían las entradas más antiguas (pila FIFO).
Si `.startRequestLog()` es llamado con un *reqNum* mientras un registro fue iniciado previamente en un archivo, el registro de archivos es detenido.
- Si no ha pasado ningún parámetro, el registro se inicia en la memoria. Si `.startRequestLog()` fue llamado previamente con un *reqNum* (antes de una `.stopRequestLog()`), los datos del registro se apilan en memoria hasta la próxima vez que se vacíe el registro o se llame a `.stopRequestLog()`.
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/API/EntityClass.md b/i18n/es/docusaurus-plugin-content-docs/version-21/API/EntityClass.md
index 43a8a2bc90666a..e5bb51f928f1e0 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/API/EntityClass.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/API/EntityClass.md
@@ -393,15 +393,15 @@ El objeto devuelto por `.drop()` contiene las siguientes propiedades:
(\*) Los siguientes valores pueden ser devueltos en las propiedades *status* y *statusText* del objeto *Result* en caso de error:
-| Constante | Valor | Comentario |
-| ----------------------------------------- | ----- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `dk status entity does not exist anymore` | 5 | La entidad ya no existe en los datos. Este error puede ocurrir en los siguientes casos:
la entidad ha sido eliminada (el marcador ha cambiado y ahora el espacio de memoria está libre)la entidad ha sido eliminada y reemplazada por otra con otra clave primaria (el marcador ha cambiado y una nueva entidad ahora utiliza el espacio memoria). Cuando se utiliza entity.drop(), este error puede ser devuelto cuando se utiliza la opción dk force drop if stamp changed. When using entity.lock(), this error can be returned when dk reload if stamp changed option is used. **statusText asociado**: "La entidad ya no existe" |
-| `dk status locked` | 3 | La entidad está bloqueada por un bloqueo pesimista.
**statusText asociado**: "Already locked" |
-| `dk status validation failed` | 7 | Error no crítico enviado por el desarrollador para un [evento de validación](../ORDA/orda-events.md). **statusText asociado**: "Mild Validation Error" |
-| `dk status serious error` | 4 | A serious error is a low-level database error (e.g. duplicated key), a hardware error, etc.
**statusText asociado**\*: "Other error" |
-| `dk status serious validation error` | 8 | Error crítico enviado por el desarrollador para un [evento de validación](../ORDA/orda-events.md). **statusText asociado**: "Serious Validation Error" |
-| `dk status stamp has changed` | 2 | El valor del marcador interno (stamp) de la entidad no coincide con el de la entidad almacenada en los datos (bloqueo optimista).
with `.save()`: error only if the `dk auto merge` option is not usedwith `.drop()`: error only if the `dk force drop if stamp changed` option is not usedwith `.lock()`: error only if the `dk reload if stamp changed` option is not used**Associated statusText**: "Stamp has changed" |
-| `dk status wrong permission` | 1 | Los privilegios actuales no permiten suprimir la entidad. **Associated statusText**: "Permission Error" |
+| Constante | Valor | Comentario |
+| ----------------------------------------- | ----- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| `dk status entity does not exist anymore` | 5 | La entidad ya no existe en los datos. Este error puede ocurrir en los siguientes casos:
la entidad ha sido eliminada (el marcador ha cambiado y ahora el espacio de memoria está libre)la entidad ha sido eliminada y reemplazada por otra con otra clave primaria (el marcador ha cambiado y una nueva entidad ahora utiliza el espacio memoria). Cuando se utiliza entity.drop(), este error puede ser devuelto cuando se utiliza la opción dk force drop if stamp changed. Cuando se utiliza entity.lock(), este error puede ser devuelto cuando se utiliza la opción dk reload if stamp changed **statusText asociado**: "La entidad ya no existe" |
+| `dk status locked` | 3 | La entidad está bloqueada por un bloqueo pesimista.
**statusText asociado**: "Already locked" |
+| `dk status validation failed` | 7 | Error no crítico enviado por el desarrollador para un [evento de validación](../ORDA/orda-events.md). **statusText asociado**: "Mild Validation Error" |
+| `dk status serious error` | 4 | A serious error is a low-level database error (e.g. duplicated key), a hardware error, etc.
**statusText asociado**\*: "Other error" |
+| `dk status serious validation error` | 8 | Error crítico enviado por el desarrollador para un [evento de validación](../ORDA/orda-events.md). **statusText asociado**: "Serious Validation Error" |
+| `dk status stamp has changed` | 2 | El valor del marcador interno (stamp) de la entidad no coincide con el de la entidad almacenada en los datos (bloqueo optimista).
with `.save()`: error only if the `dk auto merge` option is not usedwith `.drop()`: error only if the `dk force drop if stamp changed` option is not usedwith `.lock()`: error only if the `dk reload if stamp changed` option is not used**Associated statusText**: "Stamp has changed" |
+| `dk status wrong permission` | 1 | Los privilegios actuales no permiten suprimir la entidad. **Associated statusText**: "Permission Error" |
#### Ejemplo 1
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/API/TCPEventClass.md b/i18n/es/docusaurus-plugin-content-docs/version-21/API/TCPEventClass.md
index c5ed7c2561fabb..53282bc91a6fc1 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/API/TCPEventClass.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/API/TCPEventClass.md
@@ -3,7 +3,7 @@ id: TCPEventClass
title: TCPEvent
---
-The `TCPEvent` class provides information about events occurring during the lifecycle of a TCP connection. It is generated when a [TCPConnection](TCPConnectionClass.md) is opened and is typically utilized in callbacks such as `onConnection`, `onData`, `onError`, and others.
+La clase `TCPEvent` ofrece información sobre los eventos que se producen durante el ciclo de vida de una conexión TCP. Un evento se genera cuando se abre una [TCPConnection](TCPConnectionClass.md) y se utiliza normalmente en retrollamadas tales como `onConnection`, `onData`, `onError` y otras.
Historia
@@ -51,7 +51,7 @@ La propiedad `.data` contiene los datos asoci
:::note
-When working with low-level TCP/IP connections, keep in mind there is no guarantee that all data will arrive in a single packet. Los datos llegan en orden, pero pueden fragmentarse a través de múltiples paquetes.
+Cuando trabaje con conexiones TCP/IP de bajo nivel, tenga en cuenta que no hay garantía de que todos los datos lleguen en un solo paquete. Los datos llegan en orden, pero pueden fragmentarse a través de múltiples paquetes.
:::
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/API/WebFormClass.md b/i18n/es/docusaurus-plugin-content-docs/version-21/API/WebFormClass.md
index b22060e96f189f..e0a2a1330a8f39 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/API/WebFormClass.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/API/WebFormClass.md
@@ -3,7 +3,7 @@ id: WebFormClass
title: WebForm
---
-La clase `WebForm` contiene funciones y propiedades que permiten manejar sus componentes de webforms Qodly. Esta clase se detalla en la [documentación de Qodly](https://developer.qodly.com/docs/language/WebFormClass).
+The `WebForm` class contains functions and properties allowing to handle your Qodly web page components. Los objetos `4D.WebForm` se instancian con el comando [`webForm`](../commands/web-form.md).
Historia
@@ -18,14 +18,12 @@ La clase `WebForm` contiene funciones y propiedades que permiten manejar sus com
| |
| ------------------------------------------------------------------------------------------------------------------------------- |
-| [](#componentname)
|
+| [](#componentname)
|
| [](#disablestate)
|
| [](#enablestate)
|
| [](#seterror)
|
| [](#setmessage)
|
| [](#setwarning)
|
-| [](#web-form)
|
-| [](#web-event)
|
### *.componentName*
@@ -33,9 +31,28 @@ La clase `WebForm` contiene funciones y propiedades que permiten manejar sus com
#### Descripción
-Los componentes de los webforms son los objetos disponibles directamente como propiedades de estos webforms.
+The components of web pages are objects that are available directly as properties of these web pages.
-Para más información, consulte la [descripción de `.componentName` en la documentación de Qodly](https://developer.qodly.com/docs/language/WebFormClass#componentname).
+The returned objects are of the [`4D.WebFormItem`](WebFormItemClass.md) class. Estos objetos tienen funciones que puede utilizar para gestionar sus componentes de forma dinámica.
+
+#### Ejemplo
+
+```4d
+shared singleton Class constructor()
+
+ var myForm : 4D.WebForm
+ var component : 4D.WebFormItem
+
+ myForm:=webForm //returns the web page as an object, each property is a component
+ component:=myForm.myImage //returns the myImage component of the web page
+
+```
+
+:::info
+
+While `myForm` may not display typical object properties when examined in the debugger, it behaves as if it were the actual `webForm` object. You can interact with the underlying `webForm` object's properties and functions through `myForm`. For example, you can dynamically manipulate page components or transmit messages to web pages using specialized functions like `myForm.setMessage()`.
+
+:::
### .disableState()
@@ -43,24 +60,24 @@ Para más información, consulte la [descripción de `.componentName` en la docu
-| Parámetros | Tipo | | Descripción |
-| ---------- | ------ | :-: | --------------------------------------------------- |
-| state | string | -> | Nombre del estado a desactivar en el formulario web |
+| Parámetros | Tipo | | Descripción |
+| ---------- | ------ | :-: | ----------------------------------------------- |
+| state | string | -> | Nombre del estado a desactivar de la página web |
#### Descripción
-La función `.disableState()` desactiva la renderización del *estado* en el formulario web actual.
+The `.disableState()` function disables the rendering of the *state* in the current web page.
Esta función no hace nada si:
-- el *estado* no está habilitado actualmente en el formulario web,
-- el *estado* no existe para el formulario web.
+- the *state* is currently not enabled in the web page,
+- el *estado* no existe para la página web.
Si [activa](#enablestate) o desactiva varios estados en la misma función usuario, todas las modificaciones se envían al mismo tiempo al cliente una vez finalizada la función.
-Para más información sobre los estados de los formularios web, consulte [developer.qodly.com](https://developer.qodly.com/docs/studio/pageLoaders/states).
+For more information on web pages states, please refer to the [States section in the Qodly documentation](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/states/stateOverview).
### .enableState()
@@ -68,24 +85,24 @@ Para más información sobre los estados de los formularios web, consulte [devel
-| Parámetros | Tipo | | Descripción |
-| ---------- | ------ | :-: | ------------------------------------------------ |
-| state | string | -> | Nombre del estado a activar en el formulario web |
+| Parámetros | Tipo | | Descripción |
+| ---------- | ------ | :-: | ---------------------------------------------- |
+| state | string | -> | Nombre del estado a activar en las páginas web |
#### Descripción
-La función `.enableState()` activa la renderización del *estado* en el formulario web actual.
+The `.enableState()` function enables the rendering of the *state* in the current web page.
Esta función no hace nada si:
-- el *estado* ya ha sido activado en el formulario web,
-- el *estado* no existe para el formulario web.
+- the *state* has already been enabled on the web page,
+- el *estado* no existe para la página web.
Si activa o [desactiva](#disablestate) varios estados dentro de la misma función usuario, todas las modificaciones se envían al mismo tiempo al cliente una vez que la función termina.
-Para más información sobre los estados de los formularios web, consulte [developer.qodly.com](https://developer.qodly.com/docs/studio/pageLoaders/states).
+For more information on web page states, please refer to the [States section in the Qodly documentation](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/states/stateOverview).
#### Ejemplo
@@ -104,17 +121,34 @@ Function authenticationError()
-| Parámetros | Tipo | | Descripción |
-| ---------- | ------ | :-: | ----------------------------------------------- |
-| msg | string | -> | Mensaje de error a mostrar en el formulario web |
+| Parámetros | Tipo | | Descripción |
+| ---------- | ------ | :-: | ---------------------------------------- |
+| msg | string | -> | Error message to display in the web page |
#### Descripción
-La función `.setError()` envía *msg* como mensaje de error al formulario web.
+The `.setError()` function sends *msg* as an error message to the web page.
+
+The function returns a response with a `200 OK` status and a `__WEBFORM` object in the body with a `__NOTIFICATION.message` property set to *msg* and a `__NOTIFICATION.type` set to "error".
+
+#### Ejemplo
+
+```4d
+shared singleton Class constructor()
+exposed function myError()
+
+var myForm : 4D.WebForm
+myForm:=web Form
-Para más información, consulte la [descripción de `.setError()` en la documentación de Qodly](https://developer.qodly.com/docs/language/WebFormClass#seterror).
+myForm.setError("My error message")
+
+```
+
+If the [**Provide feedback**](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/events/bindingActionToEvents#providing-feedback) feature is enabled for the event, the *message* is automatically displayed as a red *toast* at the bottom of the Page and disappears automatically after 5 seconds:
+
+
### .setMessage()
@@ -122,68 +156,72 @@ Para más información, consulte la [descripción de `.setError()` en la documen
-| Parámetros | Tipo | | Descripción |
-| ---------- | ------ | :-: | ----------------------------------------------------- |
-| msg | string | -> | Mensaje de información a mostrar en el formulario web |
+| Parámetros | Tipo | | Descripción |
+| ---------- | ------ | :-: | ------------------------------------------------- |
+| msg | string | -> | Mensaje de información a mostrar en la página web |
#### Descripción
-La función `.setMessage()` envía *msg* como mensaje de información al formulario web.
+The `.setMessage()` function sends *msg* as an information message to the web page.
-Para más información, consulte la [descripción de `.setMessage()` en la documentación de Qodly](https://developer.qodly.com/docs/language/WebFormClass#setmessage).
+The function returns a response with a `200 OK` status and a `__WEBFORM` object in the body with a `__NOTIFICATION.message` property set to *msg* and a `__NOTIFICATION.type` set to "message".
-### .setWarning()
-
-**.setWarning**( *msg* : string)
+#### Ejemplo
-
+```4d
+shared singleton Class constructor()
+exposed function myMessage()
-| Parámetros | Tipo | | Descripción |
-| ---------- | ------ | :-: | -------------------------------------------------------- |
-| msg | string | -> | Mensaje de advertencia para mostrar en el formulario web |
+var myForm : 4D.WebForm
+myForm:=web Form
-
+myForm.setMessage("My information message")
-#### Descripción
+```
-La función `.setWarning()` envía *msg* como mensaje de advertencia al formulario web.
+If the [**Provide feedback**](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/events/bindingActionToEvents#providing-feedback) feature is enabled for the event, the *message* is automatically displayed as a green *toast* at the bottom of the Page and disappears automatically after 5 seconds:
-Para más información, consulte la [descripción de `.setWarning()` en la documentación de Qodly](https://developer.qodly.com/docs/language/WebFormClass#setwarning).
+
-## Web Form
+### .setWarning()
-**Web Form** : 4D.WebForm
+**.setWarning**( *msg* : string)
-
+
-| Parámetros | Tipo | | Descripción |
-| ---------- | -------------------------- | :-------------------------: | ---------------------------- |
-| Resultado | 4D.WebForm | <- | Nuevo objeto proxy `WebForm` |
+| Parámetros | Tipo | | Descripción |
+| ---------- | ------ | :-: | ---------------------------------------------------- |
+| msg | string | -> | Mensaje de advertencia para mostrar en la página web |
#### Descripción
-El comando `Web Form` devuelve un objeto proxy `4D.WebForm` que permite interactuar con el formulario web.
+The `.setWarning()` function sends *msg* as a warning message to the web page.
+
+The function returns a response with a `200 OK` status and a `__WEBFORM` object in the body with a `__NOTIFICATION.message` property set to *msg* and a `__NOTIFICATION.type` set to "warning".
-Para más información, consulte la [descripción de `webForm` en la documentación de Qodly](https://developer.qodly.com/docs/language/WebFormClass#webform).
+#### Ejemplo
-## Web Event
+```4d
+shared singleton Class constructor()
+exposed function myWarning()
-**Web Event** : Object
+var myForm : 4D.WebForm
+myForm:=web Form
-
+myForm.setWarning("My warning message")
-| Parámetros | Tipo | | Descripción |
-| ---------- | ------ | :-------------------------: | ----------- |
-| Resultado | object | <- | object |
+```
-
+If the [**Provide feedback**](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/events/bindingActionToEvents#providing-feedback) feature is enabled for the event, the *message* is automatically displayed as a yellow *toast* at the bottom of the web page and disappears automatically after 5 seconds:
-#### Descripción
+
-El comando `Web Event` devuelve un objeto con información sobre un evento desencadenado vinculado a un componente de formulario web.
+## Ver también
-Para más información, consulte la [descripción de `webEvent` en la documentación de Qodly](https://developer.qodly.com/docs/language/WebFormClass#webevent).
+[Web Form](../commands/web-form.md)
+[Web Event](../commands/web-event.md)
+[WebFormItem class](../API/WebFormItemClass.md)
\ No newline at end of file
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/API/WebFormItemClass.md b/i18n/es/docusaurus-plugin-content-docs/version-21/API/WebFormItemClass.md
index a95b62494371ff..c0ebfd153ea5a1 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/API/WebFormItemClass.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/API/WebFormItemClass.md
@@ -3,9 +3,13 @@ id: WebFormItemClass
title: WebFormItem
---
-Los objetos `4D.WebFormItem` son propiedades del objeto [`4D.WebForm`](WebFormItemClass.md) devuelto por el comando [`Web Form`](WebFormClass.md#web-form).
+La clase `4D.WebFormItem` le permite manejar el comportamiento de sus componentes webform Qodly.
-La clase `WebFormItem` se detalla en la [documentación Qodly](https://developer.qodly.com/docs/language/WebFormItemClass).
+Los objetos `4D.WebFormItem` son propiedades del objeto [`4D.WebForm`](WebFormClass.md) devuelto por el comando [`Web Form`](../commands/web-form.md).
+
+When you call the [`Web Form`](../commands/web-form.md) command, the returned `4D.WebForm` proxy object holds as many `4D.WebFormItems` as there are components with [**server-side references**](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/pageLoaderOverview#server-side) in your webform.
+
+For example, `WebFormObject.myImage` refers to the image component with `myImage` as server reference.
Historia
@@ -24,29 +28,27 @@ La clase `WebFormItem` se detalla en la [documentación Qodly](https://developer
| [](#removecssclass)
|
| [](#show)
|
-### .hide()
+### .addCSSClass()
-**.hide**()
+**.addCSSClass**(*className* : string)
-
+
-| Parámetros | Tipo | | Descripción |
-| ---------- | ---- | :-: | ---------------------------- |
-| | | | No requiere ningún parámetro |
+| Parámetros | Tipo | | Descripción |
+| ---------- | ------ | :-: | --------------------------------------------- |
+| className | string | -> | Nombre de la clase CSS a añadir al componente |
#### Descripción
-La función `.hide()` oculta el componente.
-
-Para más información, consulte la [descripción de `.hide()` en la documentación Qodly](https://developer.qodly.com/docs/language/WebFormItemClass#hide).
+La función `.addCSSClass` añade la clase especificada en *className* al componente.
-### .show()
+### .hide()
-**.show**()
+**.hide**()
-
+
| Parámetros | Tipo | | Descripción |
| ---------- | ---- | :-: | ---------------------------- |
@@ -56,27 +58,27 @@ Para más información, consulte la [descripción de `.hide()` en la documentaci
#### Descripción
-La función `.show()` hace visible el componente.
-
-Para más información, consulte la [descripción de `.show()` en la documentación Qodly](https://developer.qodly.com/docs/language/WebFormItemClass#show).
-
-### .addCSSClass()
-
-**.addCSSClass**(*className* : string)
+La función `.hide()` oculta el componente.
-
+#### Ejemplo
-| Parámetros | Tipo | | Descripción |
-| ---------- | ------ | :-: | --------------------------------------------- |
-| className | string | -> | Nombre de la clase CSS a añadir al componente |
+Para llamar a una función que oculta una imagen cuando el usuario hace clic en un botón:
-
+1. Create an [exposed](../ORDA/ordaClasses.md#exposed-vs-non-exposed-functions) function inside a shared singleton class named `isHidden` that contains the following code:
-#### Descripción
+```4d
-La función `.addCSSClass` añade la clase especificada en *className* al componente.
+shared singleton Class constructor()
+exposed Function isHidden()
+ var myComponent : 4D.WebFormItem
+
+ myComponent:=Web Form.myImage
+ myComponent.hide() // Hide the component that has "myImage" as server reference
+```
-Para más información, consulte la [descripción de `.addCSSClass` en la documentación de Qodly](https://developer.qodly.com/docs/language/WebFormItemClass#addcssclass).
+2. In Qodly Studio: Select the image component on the canvas, and enter a server-side reference in the Properties Panel > Server Side, for example "myImage".
+3. Select the Button component and add an `onclick` event to it.
+4. Adjunta la función `isHidden` al evento.
### .removeCSSClass()
@@ -94,7 +96,27 @@ Para más información, consulte la [descripción de `.addCSSClass` en la docume
La función `.removeCSSClass()` elimina la clase especificada en *className* del componente.
-Para más información, consulte la [descripción de `.removeCSSClass()` en la documentación de Qodly](https://developer.qodly.com/docs/language/WebFormItemClass#removecssclass).
+### .show()
+
+**.show**()
+
+
+
+| Parámetros | Tipo | | Descripción |
+| ---------- | ---- | :-: | ---------------------------- |
+| | | | No requiere ningún parámetro |
+
+
+
+#### Descripción
+
+The `.show()` function makes the component visible.If the component was already visible, the function does nothing.
+
+## Ver también
+
+[Web Form](../commands/web-form.md)
+[Web Event](../commands/web-event.md)
+[WebForm class](WebFormClass.md)
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/API/WebServerClass.md b/i18n/es/docusaurus-plugin-content-docs/version-21/API/WebServerClass.md
index 9b27f3d5414da9..3f4c6a3239e5ec 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/API/WebServerClass.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/API/WebServerClass.md
@@ -187,7 +187,7 @@ El nombre de la página de i
*Propiedad de sólo lectura*
-A collection of custom HTTP handler objects. An HTTP handler object contains a listened URL pattern, a handled verb, and the code to be called. HTTP handlers can be defined through a HTTPHandlers.json file or the *settings* parameter of the [`.start()`](#start) function. Para más información, consulte la página [HTTP Request handler](../WebServer/http-request-handler.md).
+Una colección de objetos HTTP handler personalizados. Un objeto HTTP handler contiene un patrón de URL escuchado, un verbo manejado y el código a llamar. Los manejadores HTTP pueden definirse a través de un archivo HTTPHandlers.json o del parámetro *settings* de la función [`.start()`](#start). Para más información, consulte la página [HTTP Request handler](../WebServer/http-request-handler.md).
@@ -495,7 +495,7 @@ La ruta de la carpeta raíz del s
*Propiedad de sólo lectura*
-A collection of rule objects currently handled to customize HTTP headers. A rule object contains a "regexPattern" property, as well as an action name with a value. HTTP rules can be defined through a HTTPRules.json file or the *settings* parameter of the [`.start()`](#start) function. Para obtener más información, consulte la página [Reglas HTTP](../WebServer/http-rules.md).
+Una colección de objetos de reglas que se manejan actualmente para personalizar los encabezados HTTP. Un objeto regla contiene una propiedad "regexPattern", así como un nombre de acción con un valor. Las reglas HTTP pueden definirse a través de un archivo HTTPRules.json o del parámetro *settings* de la función [`.start()`](#start). Para obtener más información, consulte la página [Reglas HTTP](../WebServer/http-rules.md).
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/Concepts/classes.md b/i18n/es/docusaurus-plugin-content-docs/version-21/Concepts/classes.md
index cb42354faf3714..2f436782c4cb98 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/Concepts/classes.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/Concepts/classes.md
@@ -741,7 +741,7 @@ Los singletons son útiles para definir los valores que necesitan estar disponib
- un **singleton proceso** tiene una instancia única para el proceso en el que se instancia,
- un **singleton compartido** tiene una instancia única para todos los procesos en la máquina.
-- un **singleton de sesión** es un singleton compartido pero con una instancia única para todos los procesos en la [sesión](../API/SessionClass.md). Los singletons de sesión son compartidos dentro de una sesión completa, pero varían entre sesiones. En el contexto de un cliente-servidor o una aplicación web, los singletons de sesión hacen posible crear y utilizar una instancia diferente para cada sesión, y por lo tanto para cada usuario. Session singletons are particularly appropriate with [Qodly applications](https://developer.4d.com/qodly/).
+- un **singleton de sesión** es un singleton compartido pero con una instancia única para todos los procesos en la [sesión](../API/SessionClass.md). Los singletons de sesión son compartidos dentro de una sesión completa, pero varían entre sesiones. En el contexto de un cliente-servidor o una aplicación web, los singletons de sesión hacen posible crear y utilizar una instancia diferente para cada sesión, y por lo tanto para cada usuario. Los singletons de sesión son particularmente apropiados con [aplicaciones Qodly](https://developer.4d.com/qodly/).
:::info
@@ -782,9 +782,9 @@ La propiedad [`isSingleton`](../API/ClassClass.md#issingleton) de los objetos Cl
La propiedad [`.isSessionSingleton`](../API/ClassClass.md#issessionsingleton) de los objetos Class permite saber si la clase es un singleton de sesión.
-### Exposed singleton functions
+### Funciones singleton expuestas
-Shared and session singleton functions support the [`exposed` keyword](../ORDA/ordaClasses.md#exposed-vs-non-exposed-functions). An exposed singleton function can be directly called by REST requests. This feature is useful to design [Qodly pages calling 4D functions](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/events/bindingActionToEvents#class-functions).
+Las funciones singleton compartidas y de sesión soportan la [palabra clave `exposed`](../ORDA/ordaClasses.md#exposed-vs-non-exposed-functions). Una función singleton expuesta puede ser llamada directamente por peticiones REST. Esta función es útil para diseñar [páginas Qodly que llamen a las funciones 4D](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/events/bindingActionToEvents#class-functions).
### Ejemplos
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/Concepts/dt_number.md b/i18n/es/docusaurus-plugin-content-docs/version-21/Concepts/dt_number.md
index bec97cdc37fcdf..b29e4c072e0de2 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/Concepts/dt_number.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/Concepts/dt_number.md
@@ -79,9 +79,9 @@ El operador modulo % devuelve valores significativos con números que están en
:::
-### División entera
+### Integer division
-El operador de división entero largo \ devuelve valores significativos sólo con números enteros.
+The integer division operator divides one number by another and returns the whole number part of the result, discarding any remainder. `a\b` is equivalent to `Int(a/b)`. This operator returns significant values with integer numbers only.
### Comparación real
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/Concepts/parameters.md b/i18n/es/docusaurus-plugin-content-docs/version-21/Concepts/parameters.md
index df4ff6da8665ad..3891ba40a36698 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/Concepts/parameters.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/Concepts/parameters.md
@@ -112,7 +112,7 @@ $entitySelection:=ds.User.query("login=:1"; $user)
:::note
-Do not confuse **parameter declarations** with [**variable declarations**](variables.md#declaring-variables). Using the `var` keyword with parameters will generate errors.
+No confunda las **declaraciones de parámetros** con las [**declaraciones de variables**](variables.md#declaring-variables). El uso de la palabra clave `var` con parámetros generará errores.
:::
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/Concepts/quick-tour.md b/i18n/es/docusaurus-plugin-content-docs/version-21/Concepts/quick-tour.md
index cbb2891ff73f2a..96b7c9e88d6eea 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/Concepts/quick-tour.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/Concepts/quick-tour.md
@@ -312,7 +312,7 @@ Se hace referencia a una expresión por el tipo de datos que devuelve. Hay vario
| Col[5] | Elementos de colección | Un elemento de colección es una expresión que puede ser de todo tipo soportado |
| $entitySel[0] | Entity | Un elemento de una selección de entidades ORDA es una expresión de tipo entidad. Este tipo de expresión es **no asignable** |
-### Expresiones asignables y no asignables
+### Expresiones asignables vs no asignables {#assignable-vs-non-assignable-expressions}
Una expresión puede ser simplemente una constante literal, como el número 4 o la cadena "Hello", o una variable como `$myButton`. También puede utilizar los operadores. Por ejemplo, 4 + 2 es una expresión que utiliza el operador de adición para sumar dos números y devolver el resultado 6. En todos los casos, estas expresiones son **no asignables**, lo que significa que no se les puede asignar un valor.
En 4D, las expresiones pueden ser **asignables**. Una expresión es asignable cuando puede utilizarse a la izquierda del operador de asignación. Por ejemplo:
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/Concepts/variables.md b/i18n/es/docusaurus-plugin-content-docs/version-21/Concepts/variables.md
index a1cc173febeb9b..e31872102c3770 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/Concepts/variables.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/Concepts/variables.md
@@ -250,17 +250,18 @@ El lenguaje 4D maneja varias **variables sistema**, las cuales le permiten contr
Las variables del sistema son utilizadas por los [comandos 4D](../commands/command-index.md). Consulte el párrafo "Variables del sistema y conjuntos" en la descripción de un comando para averiguar si afecta a una variable del sistema.
-| Nombre de la variable del sistema | Tipo | Descripción |
-| ------------------------------------------------------ | ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `OK` | Integer | Normalmente se establece en 1 después de que un comando haya mostrado una caja de diálogo y el usuario haya hecho clic en el botón **Aceptar**, y en 0 si hizo clic en **Cancelar**. Algunos comandos también modifican el valor de la variable del sistema `OK` cuando se ejecuta una operación con éxito. |
-| `Document` | Text | Contiene el "nombre largo" (ruta completa+nombre) del último archivo abierto o creado utilizando comandos como [Open document](../commands-legacy/open-document.md) o [SELECT LOG FILE](../commands/select-log-file.md). |
-| `FldDelimit`, `RecDelimit` | Text | Contienen los códigos de caracteres que se utilizarán respectivamente como separador de campos (por defecto es **Tab** (9)) y separador de registros (por defecto es **retorno de carro** (13)) al importar o exportar texto. Para utilizar un separador diferente, asigne un nuevo valor a la variable del sistema. |
-| `Error`, `Error method`, `Error line`, `Error formula` | Text, Longint | Utilizado en un método de captura de errores instalado por el comando [`ON ERR CALL`](../commands-legacy/on-err-call.md). Ver [Gestión de errores en el método](../Concepts/error-handling.md#handling-errors-within-the-method). |
-| `MouseDown` | Integer | Utilizado en un método instalado por el comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Toma el valor 1 cuando se presiona el botón del ratón, de lo contrario 0. |
-| `MouseX`, `MouseY` | Integer | Utilizado en un método instalado por el comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). En un evento `MouseDown=1`, `MouseX` y `MouseY` se establecen respectivamente en las coordenadas verticales y horizontales del clic. Ambos valores se expresan en píxeles y utilizan el sistema de coordenadas local de la ventana. En el caso de un campo imagen o variable, `MouseX` y `MouseY` devuelven las coordenadas locales de un clic de ratón en los eventos de formulario [`On Clicked`](../Events/onClicked.md), [`On Double Clicked`](../Events/onDoubleClicked.md) y [`On Mouse Up`](../Events/onMouseUp.md). Las coordenadas locales del cursor del ratón también se retornan en los eventos formulario [`On Mouse Enter`](../Events/onMouseEnter.md) y [`On Mouse Move`](../Events/onMouseMove.md). Para obtener más información, consulte la sección [Coordenadas del ratón en una imagen](../FormEditor/pictures.md#coordenadas-del-ratón-en-una-imagen). |
-| `KeyCode` | Integer | Utilizado en un método instalado por el comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Define el código de carácter de la tecla que se acaba de presionar. Si la tecla es una tecla de función, `KeyCode` se establece como un código especial. |
-| `Modifiers` | Integer | Utilizado en un método instalado por el comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Establece las teclas modificadoras del teclado (Ctrl/Command, Alt/Option, Shift, Caps Lock). |
-| `MouseProc` | Integer | Utilizado en un método instalado por el comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Define el número de proceso en el que tuvo lugar el último evento |
+| Nombre de la variable del sistema | Tipo | Descripción |
+| --------------------------------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `OK` | Integer | Normalmente se establece en 1 después de que un comando haya mostrado una caja de diálogo y el usuario haya hecho clic en el botón **Aceptar**, y en 0 si hizo clic en **Cancelar**. Algunos comandos también modifican el valor de la variable del sistema `OK` cuando se ejecuta una operación con éxito. |
+| `Document` | Text | Contiene el "nombre largo" (ruta completa+nombre) del último archivo abierto o creado utilizando comandos como [Open document](../commands-legacy/open-document.md) o [SELECT LOG FILE](../commands/select-log-file.md). |
+| `FldDelimit`, `RecDelimit` | Integer | Contienen los códigos de caracteres que se utilizarán respectivamente como separador de campos (por defecto es **Tab** (9)) y separador de registros (por defecto es **retorno de carro** (13)) al importar o exportar texto. Para utilizar un separador diferente, asigne un nuevo valor a la variable del sistema. |
+| `Error`, `Error line` | Integer | Utilizado en un método de captura de errores instalado por el comando [`ON ERR CALL`](../commands-legacy/on-err-call.md). Ver [Gestión de errores en el método](../Concepts/error-handling.md#handling-errors-within-the-method). |
+| `Error method`, `Error formula` | Text | Utilizado en un método de captura de errores instalado por el comando [`ON ERR CALL`](../commands-legacy/on-err-call.md). Ver [Gestión de errores en el método](../Concepts/error-handling.md#handling-errors-within-the-method). |
+| `MouseDown` | Integer | Utilizado en un método instalado por el comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Toma el valor 1 cuando se presiona el botón del ratón, de lo contrario 0. |
+| `MouseX`, `MouseY` | Integer | Utilizado en un método instalado por el comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). En un evento `MouseDown=1`, `MouseX` y `MouseY` se establecen respectivamente en las coordenadas verticales y horizontales del clic. Ambos valores se expresan en píxeles y utilizan el sistema de coordenadas local de la ventana. En el caso de un campo imagen o variable, `MouseX` y `MouseY` devuelven las coordenadas locales de un clic de ratón en los eventos de formulario [`On Clicked`](../Events/onClicked.md), [`On Double Clicked`](../Events/onDoubleClicked.md) y [`On Mouse Up`](../Events/onMouseUp.md). Las coordenadas locales del cursor del ratón también se retornan en los eventos formulario [`On Mouse Enter`](../Events/onMouseEnter.md) y [`On Mouse Move`](../Events/onMouseMove.md). Para obtener más información, consulte la sección [Coordenadas del ratón en una imagen](../FormEditor/pictures.md#coordenadas-del-ratón-en-una-imagen). |
+| `KeyCode` | Integer | Utilizado en un método instalado por el comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Define el código de carácter de la tecla que se acaba de presionar. Si la tecla es una tecla de función, `KeyCode` se establece como un código especial. |
+| `Modifiers` | Integer | Utilizado en un método instalado por el comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Establece las teclas modificadoras del teclado (Ctrl/Command, Alt/Option, Shift, Caps Lock). |
+| `MouseProc` | Integer | Utilizado en un método instalado por el comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Define el número de proceso en el que tuvo lugar el último evento |
:::note
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/Develop/field-properties.md b/i18n/es/docusaurus-plugin-content-docs/version-21/Develop/field-properties.md
index f51a7c77821969..beae27552b3b35 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/Develop/field-properties.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/Develop/field-properties.md
@@ -3,7 +3,7 @@ id: field-properties
title: Propiedades de los campos
---
-For other field properties, please refer to [doc.4d.com](https://doc.4d.com/4Dv21/4D/21/Field-properties.300-7676763.en.html).
+Para otras propiedades de campos, consulte [doc.4d.com](https://doc.4d.com/4Dv21/4D/21/Field-properties.300-7676763.en.html).
## Class
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/FormEditor/forms.md b/i18n/es/docusaurus-plugin-content-docs/version-21/FormEditor/forms.md
index 8c272c69a56671..a1f7b072584a41 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/FormEditor/forms.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/FormEditor/forms.md
@@ -102,7 +102,7 @@ En Windows, 4D soporta el renderizado de formularios **Fluent UI**, el moderno d
La renderización Fluent UI ofrece controles modernos y atractivos, compatibilidad con los temas sistema dark/light, renderización más fluida optimizada para pantallas de alta resolución y una experiencia de usuario coherente y alineada con las aplicaciones recientes de Microsoft.
-| Light theme | Dark theme |
+| Tema claro | Tema oscuro |
| --------------------------------------- | -------------------------------------------- |
|  |  |
@@ -112,9 +112,9 @@ La compatibilidad con Fluent UI se encuentra actualmente en fase Developer Previ
:::
-:::info macOS
+:::info Disponibilidad
-Esta funcionalidad sólo se puede utilizar en Windows. En macOS, se ignora.
+This feature can be used **in 4D projects on Windows**. No está disponible en macOS ni en bases de datos binarias 4D en Windows.
:::
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/listbox_overview.md b/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/listbox_overview.md
index ab7f86953d4573..2e39bbd03477a7 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/listbox_overview.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/listbox_overview.md
@@ -98,7 +98,7 @@ En el caso de un list box basado en la selección actual de una tabla, cualquier
En este tipo de list box, cada columna debe estar asociada a una expresión. El contenido de cada línea se evalúa entonces por elemento de la colección o por entidad de la selección de entidades.
-Cada elemento de la colección o cada entidad está disponible como un objeto al que se puede acceder a través de la palabra clave [This](../Concepts/classes.md#this). A column expression can be a property path, a project method, a variable, or any formula, accessing each entity or collection element object through `This`, for example `This.` (o `This.value` en caso de una colección de valores escalares). La expresión también puede ser un método proyecto, una variable o un elemento de array.
+Cada elemento de la colección o cada entidad está disponible como un objeto al que se puede acceder a través de la palabra clave [This](../Concepts/classes.md#this). Una expresión de columna puede ser una ruta de propiedad, un método proyecto, una variable o cualquier fórmula, accediendo a cada entidad u objeto elemento de colección a través de `This`, por ejemplo `This.` (o `This.value` en caso de una colección de valores escalares). La expresión también puede ser un método proyecto, una variable o un elemento de array.
Cuando la fuente de datos es una entity selection, cualquier modificación realizada del lado del list box se guarda automáticamente en la base de datos. Por otro lado, las modificaciones realizadas en la base de datos son visibles en el list box después de que se hayan recargado las entidades modificadas.
@@ -521,14 +521,14 @@ Puede activar o desactivar la ordenación usuario estándar desactivando la prop
El soporte de ordenación estándar depende del tipo de list box:
-| Tipo de list box | Soporte de ordenación estándar | Comentarios |
-| ------------------------------ | ------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| Colección de objetos | Sí | - Las columnas "This.a" o "This.a.b" son ordenables.
- The [list box source property](properties_Object.md#variable-or-expression) must be an [assignable expression](../Concepts/quick-tour.md#assignable-vs-non-assignable-expressions).
|
-| Colección de valores escalares | No | Utilice la ordenación personalizada con la función [`orderBy()`](../API/CollectionClass.md#orderby) |
-| Entity selection | Sí | The [list box source property](properties_Object.md#variable-or-expression) must be an [assignable expression](../Concepts/quick-tour.md#assignable-vs-non-assignable-expressions).Supported: sorts on object attribute properties (e.g. "This.data.city" when "data" is an object attribute)Supported: sorts on related attributes (e.g. "This.company.name")Not supported: sorts on object attribute properties through related attributes (e.g. "This.company.data.city"). Para ello, debe utilizar la ordenación personalizada con la función [`orderByFormula()`](../API/EntitySelectionClass.md#orderbyformula) (ver el siguiente ejemplo) |
-| Selección actual | Sí | Sólo se pueden ordenar las expresiones simples (por ejemplo, `[Table_1]Campo_2`) |
-| Selección temporal | No | |
-| Arrays | Sí | Las columnas vinculadas a arrays de imágenes y punteros no se pueden ordenar |
+| Tipo de list box | Soporte de ordenación estándar | Comentarios |
+| ------------------------------ | ------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| Colección de objetos | Sí | - Las columnas "This.a" o "This.a.b" son ordenables.
- La [propiedad source del list box](properties_Object.md#variable-or-expression) debe ser una [expresión asignable](../Concepts/quick-tour.md#assignable-vs-non-assignable-expressions).
|
+| Colección de valores escalares | No | Utilice la ordenación personalizada con la función [`orderBy()`](../API/CollectionClass.md#orderby) |
+| Entity selection | Sí | La [propiedad source del list box](properties_Object.md#variable-or-expression) debe ser una [expresión asignable](../Concepts/quick-tour.md#assignable-vs-non-assignable-expressions).Soportado: ordena en las propiedades de atributos de objetos (por ejemplo, "This.data.city" cuando "data" es un atributo de objeto)Soportado: ordena en atributos relacionados (por ejemplo, "This.company.name")No soportado: ordena por propiedades de atributos de objeto a través de atributos relacionados (por ejemplo, "This.company.data.city"). Para ello, debe utilizar la ordenación personalizada con la función [`orderByFormula()`](../API/EntitySelectionClass.md#orderbyformula) (ver el siguiente ejemplo) |
+| Selección actual | Sí | Sólo se pueden ordenar las expresiones simples (por ejemplo, `[Table_1]Campo_2`) |
+| Selección temporal | No | |
+| Arrays | Sí | Las columnas vinculadas a arrays de imágenes y punteros no se pueden ordenar |
### Ordenación personalizada
@@ -1001,9 +1001,9 @@ Estos atributos pueden utilizarse para controlar el rango de valores de entrada.
El atributo behavior ofrece variaciones a la representación estándar de los valores. En 4D v15, se ofrece una única variación:
-| Atributo | Valor(es) disponible(s) | valueType(s) | Descripción |
-| -------- | ------------------------------------------------------------- | ------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| behavior | threeStates | integer | Representa un valor numérico como una casilla de verificación de tres estados.
2=semi-checked, 1=checked, 0=unchecked, -1=invisible, -2=unchecked disabled, -3=checked disabled, -4=semi-checked disabled |
+| Atributo | Valor(es) disponible(s) | valueType(s) | Descripción |
+| -------- | ------------------------------------------------------------- | ------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| behavior | threeStates | integer | Representa un valor numérico como una casilla de verificación de tres estados.
2=semi seleccionada, 1=seleccionada, 0=no seleccionada, -1=invisible, -2= deseleccionada desactivada, -3= seleccionada desactivada, -4=semi seleccionada desactivada |
```4d
C_OBJECT($ob3)
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/properties_Animation.md b/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/properties_Animation.md
index 1a695df8846669..9641fb62524331 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/properties_Animation.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/properties_Animation.md
@@ -65,7 +65,7 @@ Permite al usuario mantener pulsado el botón del ratón para mostrar las imáge
## Cambiar cada x segundos
-Enables cycling through the contents of the picture button at the specified speed (in seconds). En este modo, se ignoran todas las demás opciones.
+Permite recorrer el contenido del botón de imagen a la velocidad especificada (en segundos). En este modo, se ignoran todas las demás opciones.
#### Gramática JSON
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/properties_ListBox.md b/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/properties_ListBox.md
index 8badbab5da377d..0c7eb2ff064673 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/properties_ListBox.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/properties_ListBox.md
@@ -78,7 +78,7 @@ Para las dos últimas acciones, también se genera el evento de formulario `On O
---
-## Highlight Set {#highlight-set}
+## Conjunto resaltado {#highlight-set}
`List box del tipo selección`
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/properties_Reference.md b/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/properties_Reference.md
index bf427697889987..95d2dd6ab60c67 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/properties_Reference.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/properties_Reference.md
@@ -85,7 +85,7 @@ En esta página encontrará una lista completa de todas las propiedades de los o
| [`fontTheme`](properties_Text.md#font-theme) | Establece el estilo automático | "normal", "main", "additional" |
| [`fontWeight`](properties_Text.md#bold) | Ajusta el texto seleccionado para que aparezca más oscuro y pesado. | "normal", "bold" |
| [`footerHeight`](properties_Footers.md#height) | Sirve para fijar la altura de la línea | decimal positivo + px | em |
-| [`frameDelay`](properties_Animation.md#switch-every-x-ticks) | Enables cycling through the contents of the picture button at the specified speed (in seconds). | mínimo: 0 |
+| [`frameDelay`](properties_Animation.md#switch-every-x-ticks) | Permite recorrer el contenido del botón de imagen a la velocidad especificada (en segundos). | mínimo: 0 |
| **g** | | |
| [`graduationStep`](properties_Scale.md#graduation-step) | Medición de la visualización de la escala. | mínimo: 0 |
| **h** | | |
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/webArea_overview.md b/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/webArea_overview.md
index 649f7739c0fabc..ee0b5d7a0faa89 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/webArea_overview.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/webArea_overview.md
@@ -24,7 +24,7 @@ Se pueden asociar dos variables específicas a cada área web:
- [`URL`](properties_WebArea.md#url) --para controlar la URL mostrada por el área web
- [`Progression`](properties_WebArea.md#progression) -- para controlar el porcentaje de carga de la página mostrada en el área web.
-> A partir de 4D v19 R5, la variable Progression ya no se actualiza en las Áreas Web que utilizan el [motor de renderizado del sistema Windows](./webArea_overview.md#web-rendering-engine).
+> As of 4D 19 R5, the Progression variable is no longer updated in Web Areas using the [Windows system rendering engine](./webArea_overview.md#web-rendering-engine).
### Motor de renderización web
@@ -121,7 +121,7 @@ $4d.today(function(result)
#### Ejemplo 2
-Instead of using a standalone method, we can also use a class function to handle the calculation.
+En lugar de utilizar un método independiente, también podemos utilizar una función de clase para realizar el cálculo.
Define a "SumCalculator" 4D user class with a `calcSum` function which receives parameters and returns their sum:
@@ -338,9 +338,11 @@ El archivo 4DCEFParameters.json por defecto contiene los siguientes cambios:
}
```
-### Ver también
+:::info Entrada de blog relacionada
-[Especifique sus propios parámetros para inicializar el área web integrada (entrada de blog)](https://blog.4d.com/specify-your-own-parameters-to-initialize-the-embedded-web-area)
+[Custom Parameters for Initializing Embedded Web Area](https://blog.4d.com/custom-parameters-for-initializing-embedded-web-area/)
+
+:::
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/Menus/properties.md b/i18n/es/docusaurus-plugin-content-docs/version-21/Menus/properties.md
index e71e4a99e8fae0..4d34bb1d18dda4 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/Menus/properties.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/Menus/properties.md
@@ -12,9 +12,9 @@ La propiedad **Title** contiene la etiqueta de un menú o elemento de menú tal
En el editor de menús, puede introducir directamente la etiqueta como "fijo". También puede introducir una referencia para una variable o un elemento XLIFF, lo que facilitará el mantenimiento y la traducción de las aplicaciones. Puede utilizar los siguientes tipos de referencias:
- Una referencia a un recurso XLIFF del tipo :xliff:MyLabel. Para más información sobre las referencias XLIFF, consulte la sección *Arquitectura XLIFF* en *Referencia Diseño 4D*.
-- (**Deprecated**) An interprocess variable name followed by a number, for example: `:<>vlang,3`. Si se cambia el contenido de esta variable, se modificará la etiqueta del menú cuando se muestre. En este caso, la etiqueta llamará a un recurso XLIFF. El valor contenido en la variable `<>vlang` corresponde al atributo *id* del elemento *group*. El segundo valor (3 en este ejemplo) designa el atributo *id* del elemento *trans-unit*.
+- (**Obsoleto**) Un nombre de variable interproceso seguido de un número, por ejemplo: `:<>vlang,3`. Si se cambia el contenido de esta variable, se modificará la etiqueta del menú cuando se muestre. En este caso, la etiqueta llamará a un recurso XLIFF. El valor contenido en la variable `<>vlang` corresponde al atributo *id* del elemento *group*. El segundo valor (3 en este ejemplo) designa el atributo *id* del elemento *trans-unit*.
-Using the 4D language, you set the title property through the *itemText* parameter of the [`APPEND MENU ITEM`](../commands/append-menu-item), [`INSERT MENU ITEM`](../commands/insert-menu-item), and [`SET MENU ITEM`](../commands/set-menu-item) commands.
+Usando el lenguaje 4D, se define la propiedad del título a través del parámetro *itemText* de los comandos [`APPEND MENU ITEM`](../commands/append-menu-item), [`INSERT MENU ITEM`](../commands/insert-menu-item), y [`SET MENU ITEM`](../commands/set-menu-item).
### Caracteres de control
@@ -33,9 +33,9 @@ Los caracteres de control no aparecen en las etiquetas de los comandos del menú
## Parámetros
-Puede asociar un parámetro personalizado a cada elemento del menú. Un parámetro de elemento de menú es una cadena de caracteres cuyo contenido puede elegirse libremente. It can be set in the Menu editor, or through the [`SET MENU ITEM PARAMETER`](../commands/set-menu-item-parameter) command.
+Puede asociar un parámetro personalizado a cada elemento del menú. Un parámetro de elemento de menú es una cadena de caracteres cuyo contenido puede elegirse libremente. Puede configurarse en el editor de menús o mediante el comando [`SET MENU ITEM PARAMETER`](../commands/set-menu-item-parameter).
-Menu item parameters are useful with programmed management of menus, in particular when using the [`Dynamic pop up menu`](../commands/dynamic-pop-up-menu), [`Get menu item parameter`](../commands/get-menu-item-parameter) and [`Get selected menu item parameter`](../commands/get-selected-menu-item-parameter) commands.
+Los parámetros de los elementos de menú son útiles para la gestión programada de menús, en particular cuando se utilizan los comandos [`Dynamic pop up menu`](../commands/dynamic-pop-up-menu), [`Get menu item parameter`](../commands/get-menu-item-parameter) y [`Get selected menu item parameter`](../commands/get-selected-menu-item-parameter).
## Acción
@@ -57,7 +57,7 @@ Puede asignar un método proyecto y/o una acción estándar a un comando de men
- **Acción estándar asociada**: elija o escriba la acción que desea asignar en el combo box "Acción estándar asociada". Puede introducir toda acción soportada y (opcionalmente) el parámetro que desee en el área. Para obtener una lista completa de acciones estándar, consulte la sección **Acciones estándar** en el *Modo Diseño*.
**Nota para macOS:** en macOS, los comandos de menús personalizados asociados a la acción *Salir* se colocan automáticamente en el menú de la aplicación, conforme a los estándares de interfaz de la plataforma.
-Using the 4D language, you can associate a project method using the [`SET MENU ITEM METHOD`](../commands/set-menu-item-method) command, and a standard action using the [`SET MENU ITEM PROPERTY`](../commands/set-menu-item-property) command.
+Utilizando el lenguaje 4D, puede asociar un método de proyecto utilizando el comando [`SET MENU ITEM METHOD`](../commands/set-menu-item-method), y una acción estándar utilizando el comando [`SET MENU ITEM PROPERTY`](../commands/set-menu-item-property).
### Iniciar un proceso
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/Notes/updates.md b/i18n/es/docusaurus-plugin-content-docs/version-21/Notes/updates.md
index 4b55c00588c4d4..3327e911a240f8 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/Notes/updates.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/Notes/updates.md
@@ -28,6 +28,7 @@ Lea [**Novedades en 4D 21**](https://blog.4d.com/en-whats-new-in-4d-21/), la ent
- Nuevos comandos "trim" para eliminar los espacios iniciales y finales de una cadena: [`Trim`](../commands/trim.md), [`Trim start`](../commands/trim-start.md) y [`Trim end`](../commands/trim-end.md).
- Los comandos [`Num`](../commands/num.md) y [`String`](../commands/string.md) han sido actualizados para soportar conversiones en diferentes bases (radix).
- [**Lista de bugs corregidos**](https://bugs.4d.fr/fixedbugslist?version=21): lista de todos los bugs que se han corregido en 4D 21.
+- [Notas de la versión de Qodly Pro 4D\*\*](https://developer.4d.com/qodly/4DQodlyPro/release-notes): novedades de Qodly Studio.
#### Vista previa para desarrolladores
@@ -41,7 +42,7 @@ El [renderizado **Fluent UI** para los formularios 4D](../FormEditor/forms.md#fl
:::
-- Servicios web (SOAP): cuando las [sesiones escalables](../WebServer/sessions.md#enabling-web-sessions) están activadas, los servicios web se ejecutan ahora en [**procesos apropiativos**](../Develop/preemptive.md) en modo compilado. Asegúrese de que su código SOAP es hilo seguro.
+- Servicios web (SOAP): cuando las [sesiones escalables](../WebServer/sessions.md#enabling-web-sessions) están activadas, los servicios web se ejecutan ahora en [**procesos apropiativos**](../Develop/preemptive.md) en modo compilado. Make sure that your SOAP code is thread-safe and that the session in which it runs has appropriate [privileges](../API/SessionClass.md#setprivileges).
- Servidor web: se elimina la compatibilidad con las URL obsoletas `4DSYNC/` y `4DCGI/`. Ya no se realiza ningún tratamiento específico en estas URL.
- Las sesiones usuario web ahora son devueltas por [`Process activity`](../commands/process-activity.md).
- El comando [`HIGHLIGHT TEXT`](../commands/highlight-text) es ahora compatible en el contexto de los subformularios.
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/glossary.md b/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/glossary.md
index 94b602ba7d082b..8ed96688162c55 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/glossary.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/glossary.md
@@ -9,7 +9,7 @@ title: Glosario
## Acción
-Todas las acciones que pueden realizarse en un [recurso](#resource). Available actions are: create, read, update, drop, execute, and promote.
+Todas las acciones que pueden realizarse en un [recurso](#resource). Las acciones disponibles son: create, read, update, drop, execute y promote.
## Atributo
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/orda-events.md b/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/orda-events.md
index 4e2033c1d4caa1..d81c186249f125 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/orda-events.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/orda-events.md
@@ -24,7 +24,7 @@ No se puede activar directamente la ejecución de la función de evento. Los eve
:::info Nota de compatibilidad
-Los eventos de entidad ORDA en el almacen de datos equivalen a triggers en la base de datos 4D. Sin embargo, las acciones desencadenadas a nivel de la base de datos 4D utilizando los comandos del lenguaje clásico 4D o las acciones estándar no desencadenan eventos ORDA.
+Los eventos de entidad ORDA en el almacen de datos equivalen a triggers en la base de datos 4D. Sin embargo, las acciones desencadenadas a nivel de la base de datos 4D utilizando los comandos del lenguaje clásico 4D o las acciones estándar no desencadenan eventos ORDA. Note also that, unlike triggers, ORDA entity events do not lock the entire underlying table of a dataclass while saving or dropping entities. Varios eventos pueden ejecutarse en paralelo siempre que afecten a entidades distintas (es decir, registros).
:::
@@ -234,7 +234,7 @@ Function query sameDay($event : Object) : Text
```
-- Using a **scalar** *sameDay* attribute updated when other attributes are "touched" will save time:
+- Usar un atributo *sameDay* **escalar** actualizado cuando otros atributos son "tocados" ahorrará tiempo:
```4d
//BookingEntity class
@@ -338,7 +338,7 @@ Este evento es activado por las siguientes funciones:
This event is triggered **before** the entity is actually saved and lets you check data consistency so that you can stop the action if needed. Por ejemplo, puede comprobar en este evento que "fecha de salida" < "fecha de llegada".
-To stop the action, the code of the function must return an [error object](#error-object).
+Para detener la acción, el código de la función debe devolver un [objeto error](#error-object).
:::note
@@ -348,7 +348,7 @@ No se recomienda actualizar la entidad dentro de esta función (utilizando `This
#### Ejemplo
-En este ejemplo, no se permite guardar un producto con un margen inferior al 50%. In case of an invalid price attribute, you return an error object and thus, stop the save action.
+En este ejemplo, no se permite guardar un producto con un margen inferior al 50%. En caso de que el atributo precio no sea válido, devuelve un objeto error y, por tanto, detiene la acción de guardar.
```4d
// ProductsEntity class
@@ -380,7 +380,7 @@ Function event saving ($event : Object)
Este evento se activa cada vez que se guarda una entidad.
- Si define la función a nivel de entidad (primera Sintaxis), se llama para cualquier atributo de la entidad. The function is executed even if no attribute has been touched in the entity (e.g. in case of sending data to an external app each time a save is done).
-- If you defined the function at the attribute level (second syntax), it is called only for this attribute. La función **no** se ejecuta si el atributo no ha sido tocado en la entidad.
+- Si definió la función en el nivel de atributo (segunda Sintaxis), solo se llama para este atributo. La función **no** se ejecuta si el atributo no ha sido tocado en la entidad.
La función recibe un [objeto *event*](#event-parameter) como parámetro.
@@ -393,13 +393,13 @@ Este evento se activa **mientras** la entidad se guarda. If a [`validateSave()`]
:::note
-The business logic should raise errors which can't be detected during the `validateSave()` events, e.g. a network error
+La lógica de negocio debe generar errores que no puedan detectarse durante los eventos `validateSave()`, por ejemplo, un error de red
:::
Durante la acción de guardar, se pueden producir errores en el motor 4D (índice, sello ha cambiado, no hay suficiente espacio en el disco).
-To stop the action, the code of the function must return an [error object](#error-object).
+Para detener la acción, el código de la función debe devolver un [objeto error](#error-object).
#### Ejemplo
@@ -420,7 +420,9 @@ If (This.userManualPath#"")
// The user manual document file is created on the disk
// This may fail if no more space is available
Try
- $fileCreated:=$userManualFile.create()
+ // The file content has been generated and stored in a map in Storage.docMap previously
+ $docInfo:=Storage.docMap.query("name = :1"; This.name).first()
+ $userManualFile.setContent($docInfo.content)
Catch
// No more room on disk for example
$result:={/
@@ -434,6 +436,12 @@ return $result
```
+:::note
+
+El contenido del archivo se genera fuera del evento `saving` porque puede llevar mucho tiempo.
+
+:::
+
### `Function event afterSave`
#### Sintaxis
@@ -445,7 +453,7 @@ Función evento afterSave($event : Object)
Este evento se activa justo después de guardar una entidad en el archivo de datos, cuando se ha modificado al menos un atributo. No se ejecuta si no se ha tocado ningún atributo en la entidad.
-This event is useful after saving data to propagate the save action outside the application or to execute administration tasks. Por ejemplo, se puede utilizar para enviar un correo electrónico de confirmación después de guardar los datos. O, en caso de error al guardar los datos, puede hacer una cancelación para restaurar un estado consistente de los datos.
+Este evento es útil después de guardar datos para propagar la acción de guardar fuera de la aplicación o para ejecutar tareas de administración. Por ejemplo, se puede utilizar para enviar un correo electrónico de confirmación después de guardar los datos. O, en caso de error al guardar los datos, puede hacer una cancelación para restaurar un estado consistente de los datos.
La función recibe un [objeto *event*](#event-parameter) como parámetro.
@@ -486,7 +494,7 @@ Function event validateDrop ($event : Object)
Este evento se activa cada vez que una entidad está a punto de ser soltada.
- Si define la función a nivel de entidad (primera Sintaxis), se llama para cualquier atributo de la entidad.
-- If you defined the function at the attribute level (second syntax), it is called only for this attribute.
+- Si definió la función en el nivel de atributo (segunda Sintaxis), solo se llama para este atributo.
La función recibe un [objeto *event*](#event-parameter) como parámetro.
@@ -498,7 +506,7 @@ Este evento se activa con las siguientes funcionalidades:
This event is triggered **before** the entity is actually dropped, allowing you to check data consistency and if necessary, to stop the drop action.
-To stop the action, the code of the function must return an [error object](#error-object).
+Para detener la acción, el código de la función debe devolver un [objeto error](#error-object).
#### Ejemplo
@@ -533,7 +541,7 @@ Function event dropping ($event : Object)
Este evento se activa cada vez que se elimina una entidad.
- Si define la función a nivel de entidad (primera Sintaxis), se llama para cualquier atributo de la entidad.
-- If you defined the function at the attribute level (second syntax), it is called only for this attribute.
+- Si definió la función en el nivel de atributo (segunda Sintaxis), solo se llama para este atributo.
La función recibe un [objeto *event*](#event-parameter) como parámetro.
@@ -547,11 +555,11 @@ This event is triggered **while** the entity is actually dropped. If a [`validat
:::note
-The business logic should raise errors which cannot be detected during the `validateDrop()` events, e.g. a network error.
+La lógica de negocio debe generar errores que no puedan detectarse durante los eventos `validateDrop()`, por ejemplo, un error de red.
:::
-To stop the action, the code of the function must return an [error object](#error-object).
+Para detener la acción, el código de la función debe devolver un [objeto error](#error-object).
#### Ejemplo
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/ordaClasses.md b/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/ordaClasses.md
index b7e892e9b05080..96207ad628a079 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/ordaClasses.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/ordaClasses.md
@@ -404,7 +404,7 @@ sequenceDiagram
```
-#### Example 4 (diagram): Qodly - Standard action and update value on the newly created entity
+#### Ejemplo 4 (diagrama): Qodly - Acción estándar y valor de actualización en la nueva entidad creada
```mermaid
@@ -930,10 +930,10 @@ $arch.save() //courseName y name son "Archaeology II"
For security reasons, all of your data model class functions, including [computed attributes](#computed-attributes-1) and [alias attributes](#alias-attributes-1), as well as [shared singleton functions](../Concepts/classes.md#shared-singleton) are **not exposed** (i.e., private) by default to **remote requests**.
-Remote requests are:
+Las peticiones remotas son:
- Las peticiones enviadas por las aplicaciones 4D remotas conectadas a través de `Open datastore`
-- REST requests, including requests from [Qodly pages](https://developer.4d.com/qodly/)
+- Peticiones REST, incluidas las solicitudes de [páginas Qodly](https://developer.4d.com/qodly/)
> Las peticiones cliente/servidor 4D estándar no se ven afectadas. Las funciones de clase del modelo de datos están siempre disponibles en esta arquitectura.
@@ -947,24 +947,24 @@ exposed Function
```
```4d
-// declare an exposed alias
+// declarar un alias expuesto
exposed Alias
```
```4d
-// declare an exposed computed attribute
+// declare un atributo calculado expuesto
exposed Function get
```
```4d
-// declare a shared singleton function
+// declara una función singleton compartida
shared singleton Class constructor()
exposed Function
```
:::note
-The `exposed` keyword can only be used with the objects decribed above. Si se utiliza con una función de [ clase usuario estándar](Concepts/classes.md), se ignora y el compilador devuelve un error.
+La palabra clave `exposed` solo puede utilizarse con los objetos descritos anteriormente. Si se utiliza con una función de [ clase usuario estándar](Concepts/classes.md), se ignora y el compilador devuelve un error.
:::
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/privileges.md b/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/privileges.md
index 24876efc710352..1981b5f2286c8d 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/privileges.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/privileges.md
@@ -27,17 +27,17 @@ Si un usuario intenta ejecutar una acción y no tiene los derechos de acceso ade
Puede asignar acciones de permiso específicas a los siguientes recursos en su proyecto:
-- the [datastore](../ORDA/dsMapping.md#datastore)
-- the [dataclasses](../ORDA/dsMapping.md#dataclass)
+- el [datastore](../ORDA/dsMapping.md#datastore)
+- las [clases de datos](../ORDA/dsMapping.md#dataclass)
- [attributes](../ORDA/dsMapping.md#attribute) (including [computed](./ordaClasses.md#computed-attributes-1) and [alias](./ordaClasses.md#alias-attributes-1))
-- functions of the [data model classes](../ORDA/ordaClasses.md)
-- [singleton](../REST/$singleton.md) functions
+- funciones de las [clases del modelo de datos](../ORDA/ordaClasses.md)
+- funciones [singleton](../REST/$singleton.md)
Cada vez que se accede a un recurso dentro de una sesión (sin importar la forma en que se acceda), 4D verifica que la sesión tenga los permisos apropiados y rechaza el acceso si no está autorizado.
-## Permissions
+## Permisos
-A permission is the ability to do an action on a resource. For example, *execute the ds.myTable.myFunction()* represents a **permission**. Permissions are defined for the project in the [`roles.json`](#rolesjson-file) file. Cada permiso se puede dar a uno o más [privilegios](#privileges-and-roles).
+Un permiso es la capacidad de realizar una acción sobre un recurso. For example, *execute the ds.myTable.myFunction()* represents a **permission**. Los permisos se definen para el proyecto en el archivo [`roles.json`](#rolesjson-file). Cada permiso se puede dar a uno o más [privilegios](#privileges-and-roles).
When **no specific permission** has been defined for a resource, access to the resource may be automatically **unrestricted** or **restricted** depending on the [default mode defined for the project](#restriction-modes).
@@ -185,18 +185,18 @@ El archivo `roles.json` describe todos los parámetros de seguridad web del proy
| | | \[].execute | Colección de cadenas | | Lista de privilegios |
| | | \[].promote | Colección de cadenas | | Lista de privilegios |
| restrictedByDefault | | | Boolean | | Si es true, se niega el acceso a recursos sin permisos explícitos |
-| forceLogin | | | Boolean | | If true, enables ["forceLogin" mode](../REST/authUsers.md#force-login-mode) |
+| forceLogin | | | Boolean | | Si es true, activa el modo ["forceLogin"](../REST/authUsers.md#force-login-mode) |
:::caution Recordatorio
- El nombre de privilegio "WebAdmin" está reservado a la aplicación. No se recomienda utilizar este nombre para los privilegios personalizados.
-- `privileges` and `roles` names are case-insensitive.
+- los nombres de `privileges` y `roles` no son sensibles a mayúsculas y minúsculas.
:::
-### Default File Location and Content
+### Ubicación y contenido del archivo por defecto
-When a new project is created, a default `roles.json` file is generated at:
+Cuando se crea un nuevo proyecto, se genera un archivo `roles.json` por defecto en:
```
/Project/Sources/
@@ -244,7 +244,7 @@ In Qodly Studio for 4D, the login mode can be set using the [**Force login** opt
:::
-## Restriction Modes
+## Modos de restricción
The `restrictedByDefault` property configures how every [resource](#resources) are accessed when [no specific permission is defined for it](#permission):
@@ -260,10 +260,10 @@ The `restrictedByDefault` property configures how every [resource](#resources) a
### Configuración recomendada
-Depending on your environment, the recommended settings are:
+Dependiendo de su entorno, los parámetros recomendados son:
-- **Production**: Set both `restrictedByDefault` and [`forceLogin`](../REST/authUsers.md#force-login-mode) to **true**. Esto garantiza la máxima seguridad al requerir autenticación de usuario y permisos explícitamente definidos para el acceso a recursos.
-- **Development**: Set both `restrictedByDefault` and [`forceLogin`](../REST/authUsers.md#force-login-mode) to **false**. Esto permite un acceso más fácil durante el desarrollo y la depuración, con la posibilidad de aplicar gradualmente restricciones.
+- **Producción**: defina tanto `restrictedByDefault` como [`forceLogin`](../REST/authUsers.md#force-login-mode) como **true**. Esto garantiza la máxima seguridad al requerir autenticación de usuario y permisos explícitamente definidos para el acceso a recursos.
+- **Desarrollo**: defina `restrictedByDefault` y [`forceLogin`](../REST/authUsers.md#force-login-mode) como **false**. Esto permite un acceso más fácil durante el desarrollo y la depuración, con la posibilidad de aplicar gradualmente restricciones.
### Archivo `Roles_Errors.json`
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/Project/architecture.md b/i18n/es/docusaurus-plugin-content-docs/version-21/Project/architecture.md
index ecac98bd608bb7..755af59c77aedf 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/Project/architecture.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/Project/architecture.md
@@ -64,7 +64,7 @@ Este archivo de texto también puede contener llaves de configuración, en parti
| filters.json | Filtros definidos | JSON |
| dependencies.json | Nombres de [componentes a cargar](components.md) en el proyecto | JSON |
| HTTPHandlers.json | Personalizado [HTTP request handlers](../WebServer/http-request-handler.md) definido para el servidor web | JSON |
-| HTTPRules.json | Custom [HTTP rules](../WebServer/http-rules.md) defined for the web server | JSON |
+| HTTPRules.json | [Reglas HTTP](../WebServer/http-rules.md) personalizadas definidas para el servidor web | JSON |
| styleSheets.css | Hojas de estilo CSS | CSS |
| styleSheets_mac.css | Hojas de estilo css de Mac (a partir de una base binaria convertida) | CSS |
| styleSheets_windows.css | Hojas de estilo css en Windows (a partir de una base binaria convertida) | CSS |
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/Project/date-time-formats.md b/i18n/es/docusaurus-plugin-content-docs/version-21/Project/date-time-formats.md
index 1205c7f43c900d..a8bc65c4192828 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/Project/date-time-formats.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/Project/date-time-formats.md
@@ -112,7 +112,7 @@ La siguiente tabla muestra todos los patrones soportados para formatos de fecha
### `L` (monopuesto) vs `M`
-En algunos idiomas (ruso, eslovaco), el mes utilizado por sí solo es diferente al mes en una fecha. In "January 10, 2010", "January" is not spelled the same as in "*rendez-vous* in January".
+En algunos idiomas (ruso, eslovaco), el mes utilizado por sí solo es diferente al mes en una fecha. En "10 de enero de 2010", "enero" no se escribe igual que en "*rendez-vous* en janvier".
### `e` vs `c`
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/REST/$filter.md b/i18n/es/docusaurus-plugin-content-docs/version-21/REST/$filter.md
index daaa27e8603038..b4a6412ae9d9e6 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/REST/$filter.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/REST/$filter.md
@@ -84,17 +84,17 @@ If the attribute stores [**vector objects**](../API/VectorClass.md) (see how to
For more information about vector similarity searches, please refer to [Query by vector similarity](../API/DataClassClass.md#query-by-vector-similarity) section.
-Use the `params` property to provide the filter with the vector comparison parameter, using a syntax like:
+Utilice la propiedad `params` para ofrecer al filtro el parámetro de comparación de vectores, utilizando una sintaxis como:
**\{vectorAttribute\} \{comparator\} \{placeholder\}&$params=vectorComparison**
El parámetro *vectorComparison* es una colección de los siguientes elementos:
-| Propiedad | Tipo | Descripción |
-| -------------------------------------------------------------------------------- | -------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| [].vector | Colección de números | Obligatorio. Una colección que representa el vector a comparar |
-| [].metric | Text | Opcional. [Cálculo vectorial](../API/VectorClass.md#understanding-the-different-vector-computations) a utilizar para la consulta. Supported values:"cosine" (default if omitted): calculates the cosine similarity between vectors."dot": calcula la similitud de puntos de los vectores."euclídea": calcula la distancia euclidiana entre vectores. |
-| [].threshold | Real | Opcional (por defecto: 0,5). Un valor umbral utilizado para filtrar las comparaciones de vectores en función de su puntuación de similitud coseno, punto o euclídea según la "métrica" seleccionada. Es altamente recomendable elegir una similitud que se adapte mejor a su caso de uso específico para obtener resultados óptimos. |
+| Propiedad | Tipo | Descripción |
+| -------------------------------------------------------------------------------- | -------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| [].vector | Colección de números | Obligatorio. Una colección que representa el vector a comparar |
+| [].metric | Text | Opcional. [Cálculo vectorial](../API/VectorClass.md#understanding-the-different-vector-computations) a utilizar para la consulta. Valores soportados:"cosine" (por defecto si omitido): calcula la similitud del coseno entre los vectores."dot": calcula la similitud de puntos de los vectores."euclídea": calcula la distancia euclidiana entre vectores. |
+| [].threshold | Real | Opcional (por defecto: 0,5). Un valor umbral utilizado para filtrar las comparaciones de vectores en función de su puntuación de similitud coseno, punto o euclídea según la "métrica" seleccionada. Es altamente recomendable elegir una similitud que se adapte mejor a su caso de uso específico para obtener resultados óptimos. |
Solo un subconjunto de símbolos **comparadores** son soportados con comparaciones vectoriales. Tenga en cuenta que comparan los resultados con el valor umbral:
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/REST/authUsers.md b/i18n/es/docusaurus-plugin-content-docs/version-21/REST/authUsers.md
index ceccb568517c05..2091b0329a655e 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/REST/authUsers.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/REST/authUsers.md
@@ -18,7 +18,7 @@ Una sesión se abre después de que el usuario haya iniciado sesión correctamen
:::note Compatibilidad
-El modo de inicio de sesión heredado basado en el método base `On REST Authentication` está **obsoleto** a partir de 4D 20 R6. Ahora se recomienda [utilizar el **modo Force login**](../ORDA/privileges.md#rolesjson-file) (activado automáticamente en nuevos proyectos) e implementar la función [`ds.authentify()`](#function-authentify). En proyectos convertidos, [un botón en la caja de diálogo de Parámetros](../settings/web.md#activate-rest-authentication-through-dsauthentify-function) le ayudará a actualizar su configuración. En Qodly Studio for 4D, el modo se puede definir utilizando la opción [**Forzar inicio de sesión**](../WebServer/qodly-studio.md#force-login) en el panel de Privilegios.
+El modo de inicio de sesión heredado basado en el método base `On REST Authentication` está **obsoleto** a partir de 4D 20 R6. Ahora se recomienda [utilizar el **modo Force login**](../ORDA/privileges.md#rolesjson-file) (activado automáticamente en nuevos proyectos) e implementar la función [`ds.authentify()`](#function-authentify). En proyectos convertidos, [un botón en la caja de diálogo de Parámetros](../settings/web.md#activate-rest-authentication-through-dsauthentify-function) le ayudará a actualizar su configuración. En Qodly Studio for 4D, el modo se puede definir utilizando la opción [**Forzar inicio de sesión**](https://developer.4d.com/qodly/4DQodlyPro/force-login) en el panel de Privilegios.
:::
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/Users/overview.md b/i18n/es/docusaurus-plugin-content-docs/version-21/Users/overview.md
index d67ac6744415b1..e9b602dd5dfe24 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/Users/overview.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/Users/overview.md
@@ -8,7 +8,7 @@ Si diferentes personas utilizan una aplicación, lo que suele ocurrir en la arqu
La estrategia de control de acceso 4D depende de la configuración de su despliegue:
- in multi-user Web and REST applications, access control is based upon [ORDA's Roles and privileges](../ORDA/privileges.md) features.
-- in multi-user desktop applications, you can rely on 4D users and groups,
+- en aplicaciones de escritorio multiusuario, puede confiar en los usuarios y grupos de 4D,
- en aplicaciones monousuario, el acceso de los usuarios se controla a través de la sesión del sistema, utilizando comandos como [`Current system user`](../commands-legacy/current-system-user.md).
:::tip Entradas de blog relacionadas
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/classes.md b/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/classes.md
index 09aab72cb82cf9..9edb4dbc3da69b 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/classes.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/classes.md
@@ -205,7 +205,7 @@ La propiedad `.borderBottom` es la
**.borderTop** : [cs.ViewPro.LineBorder](#lineborder)
-The `.borderTop` property is the top border line of the table .
+La propiedad `.borderTop` es la línea del borde superior de la tabla .
### .borderHorizontal
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/commands/vp-copy-to-object.md b/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/commands/vp-copy-to-object.md
index 704a4b63bc00d1..163f2fd9a76fa5 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/commands/vp-copy-to-object.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/commands/vp-copy-to-object.md
@@ -31,10 +31,10 @@ En *rangeObj*, pase el rango de celdas con los valores, formato y fórmulas a co
Puede pasar un parámetro opcional *options* con las siguientes propiedades:
-| Propiedad | Tipo | Descripción |
-| ----------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| copy | Boolean | *True* (por defecto) para mantener los valores, el formato y las fórmulas copiados después de la ejecución del comando. *False* para eliminarlos. |
-| copyOptions | Integer | Especifica lo que se copia o mueve. Possible values: | Value | Description |
|---|
| `vk clipboard options all` (default) | Copies all data objects, including values, formatting, and formulas. |
| `vk clipboard options formatting` | Copia solo el formato. |
| `vk clipboard options formulas` | Copies only the formulas. |
| `vk clipboard options formulas and formatting` | Copia las fórmulas y formato. |
| `vk clipboard options values` | Copia solo los valores. |
| `vk clipboard options value and formatting` | Copia los valores y el formato. |
|
+| Propiedad | Tipo | Descripción |
+| ----------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| copy | Boolean | *True* (por defecto) para mantener los valores, el formato y las fórmulas copiados después de la ejecución del comando. *False* para eliminarlos. |
+| copyOptions | Integer | Especifica lo que se copia o mueve. Possible values: | Value | Description |
|---|
| `vk clipboard options all` (default) | Copies all data objects, including values, formatting, and formulas. |
| `vk clipboard options formatting` | Copia solo el formato. |
| `vk clipboard options formulas` | Copia sólo las fórmulas. |
| `vk clipboard options formulas and formatting` | Copia las fórmulas y formato. |
| `vk clipboard options values` | Copia solo los valores. |
| `vk clipboard options value and formatting` | Copia los valores y el formato. |
|
Se tienen en cuenta las opciones de pegado definidas en las [opciones del libro de trabajo](vp-set-workbook-options.md).
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/commands/vp-import-document.md b/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/commands/vp-import-document.md
index 229ed41326b42a..37cded2c5b2d66 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/commands/vp-import-document.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/commands/vp-import-document.md
@@ -66,7 +66,7 @@ El parámetro opcional *paramObj* permite definir las propiedades del documento
| | frozenRowsAsColumnHeaders | boolean | Bien sea tratar las líneas congeladas como encabezados de columna al importar, por defecto false. |
| | fullRecalc | boolean | Si calcular después de cargar los datos json, false por defecto. |
| | dynamicReferences | boolean | Si calcular funciones con referencia dinámica, por defecto true. |
-| | calcOnDemand | boolean | Whether to calculate formulas only when they are demanded, default false. |
+| | calcOnDemand | boolean | Si se calculan las fórmulas solo cuando se solicitan, por defecto false. |
| | includeUnusedStyles | boolean | Si incluir el estilo de nombre no utilizado al convertir excel xml al json, default true. |
| | contraseña | text | La contraseña para abrir el workbook. |
| | openMode | text | The open mode of normal, lazy and incremental. Por defecto es normal. |
@@ -76,7 +76,7 @@ El parámetro opcional *paramObj* permite definir las propiedades del documento
- La importación de archivos en formatos .xslx, .csv y .sjs es **asíncrona**. Con estos formatos, debe utilizar el atributo `formula` si desea iniciar una acción al final del procesamiento del documento.
- Al importar un archivo con formato Microsoft Excel a un documento 4D View Pro, algunos parámetros pueden perderse. Puede verificar su configuración con [esta lista de SpreadJS](https://developer.mescius.com/spreadjs/docs/excelimpexp/excelexport).
- Para más información sobre el formato CSV y los valores separados por delimitadores en general, ver [este artículo en Wikipedia](https://en.wikipedia.org/wiki/Delimiter-separated_values)
-- Se recomienda utilizar el objeto *excelOptions* al importar en formato ".xlsx". Make sure to not mix this object with legacy first level property *password* to avoid potiental issues.
+- Se recomienda utilizar el objeto *excelOptions* al importar en formato ".xlsx". Asegúrese de no mezclar este objeto con la propiedad heredada de primer nivel *password* para evitar problemas potenciales.
- La función callback especificada en el atributo `formula` se activa después de que todas las [funciones personalizadas 4D](../formulas.md#4d-functions) dentro del contenido importado hayan completado sus cálculos. This ensures that any dependent processes, such as document modifications or exports, are performed only after all formula-based computations are fully resolved.
:::
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/commands/vp-set-workbook-options.md b/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/commands/vp-set-workbook-options.md
index 2843b740b83dc6..a0b38874ca72db 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/commands/vp-set-workbook-options.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/commands/vp-set-workbook-options.md
@@ -48,14 +48,14 @@ En la siguiente tabla se listan las opciones de libros de trabajo disponibles:
| autoFitType | number | El contenido se formatea para que se ajuste en las celdas, o en las celdas y los encabezados. Valores disponibles: | Constante | Valor | Descripción |
|---|
| vk auto fit type cell | 0 | El contenido se ajusta automáticamente a las celdas |
| vk auto fit type cell with header | 1 | El contenido se ajusta automáticamente a las celdas y encabezados |
|
| backColor | string | Una cadena de color utilizada para representar el color de fondo del área, como "red", "#FFFF00", "rgb(255,0,0)", "Acento 5". El color de fondo inicial se oculta cuando se define una backgroundImage. |
| backgroundImage | string / picture / file | Imagen de fondo para el área. |
-| backgroundImageLayout | number | Cómo se muestra la imagen de fondo. Available values: | Constant | Value | Description |
|---|
| vk image layout center | 1 | In the center of the area. |
| vk image layout none | 3 | In the upper left corner of the area with its original size. |
| vk image layout stretch | 0 | Llena el área. |
| vk image layout zoom | 2 | Mostrado con su relación de aspecto original. |
|
+| backgroundImageLayout | number | Cómo se muestra la imagen de fondo. Available values: | Constant | Value | Description |
|---|
| vk image layout center | 1 | In the center of the area. |
| vk image layout none | 3 | En la esquina superior izquierda del área con su tamaño original. |
| vk image layout stretch | 0 | Llena el área. |
| vk image layout zoom | 2 | Mostrado con su relación de aspecto original. |
|
| calcOnDemand | boolean | Las fórmulas se calculan sólo cuando se piden. |
| columnResizeMode | number | Redimensiona modo para columnas. Valores disponibles: | Constante | Valor | Descripción |
|---|
| vk resize mode normal | 0 | Utiliza el modo de redimensionamiento normal (es decir, las columnas restantes se ven afectadas) |
| vk resize mode split | 1 | Utiliza el modo dividido (es decir, las columnas restantes no se ven afectadas) |
|
| copyPasteHeaderOptions | number | Encabezados para incluir cuando se copian o pegan datos. Available values: | Constant | Value | Description |
|---|
| vk copy paste header options all headers | 3 | Includes selected headers when data is copied; overwrites selected headers when data is pasted. |
| vk copy paste header options column headers | 2 | Includes selected column headers when data is copied; overwrites selected column headers when data is pasted. |
| vk copy paste header options no headers | 0 | Column and row headers are not included when data is copied; does not overwrite selected column or row headers when data is pasted. |
| vk copy paste header options row headers | 1 | Includes selected row headers when data is copied; overwrites selected row headers when data is pasted. |
|
| customList | collection | La lista para que los usuarios personalicen el relleno de arrastre, dar prioridad a que coincida con esta lista en cada relleno. Cada elemento de colección es una colección de cadenas. Vet en [SpreadJS docs](https://developer.mescius.com/spreadjs/docs/features/cells/AutoFillData/AutoFillLists). |
| cutCopyIndicatorBorderColor | string | Color del borde del indicador que aparece cuando el usuario corta o copia la selección. |
| cutCopyIndicatorVisible | boolean | Muestra un indicador al copiar o cortar el elemento seleccionado. |
-| defaultDragFillType | number | El tipo de relleno de arrastre por defecto. Valores disponibles : | Constante | Valor | Descripción |
|---|
| vk auto fill type auto | 5 | Rellena automáticamente las celdas. |
| vk auto fill type clear values | 4 | Clears cell values. |
| vk auto fill type copycells | 0 | Fills cells with all data objects, including values, formatting, and formulas. |
| vk auto fill type fill formatting only | 2 | Llena las celdas solo con formato. |
| vk auto fill type fill series | 1 | Fills cells with series. |
| vk auto fill type fill without formatting | 3 | Rellena las celdas con valores y no con formato. |
|
+| defaultDragFillType | number | El tipo de relleno de arrastre por defecto. Valores disponibles : | Constante | Valor | Descripción |
|---|
| vk auto fill type auto | 5 | Rellena automáticamente las celdas. |
| vk auto fill type clear values | 4 | Borra los valores de las celdas. |
| vk auto fill type copycells | 0 | Fills cells with all data objects, including values, formatting, and formulas. |
| vk auto fill type fill formatting only | 2 | Llena las celdas solo con formato. |
| vk auto fill type fill series | 1 | Llena las celdas con series. |
| vk auto fill type fill without formatting | 3 | Rellena las celdas con valores y no con formato. |
|
| enableAccessibility | boolean | El soporte de accesibilidad está activado en la hoja de cálculo. |
| enableFormulaTextbox | boolean | Se activa la caja de texto de la fórmula. |
| grayAreaBackColor | string | Una cadena color utilizada para representar el color de fondo del área gris, como "red", "#FFFF00", "rgb(255,0,0)", "Accent 5", etc. |
@@ -66,7 +66,7 @@ En la siguiente tabla se listan las opciones de libros de trabajo disponibles:
| newTabVisible | boolean | Mostrar una pestaña especial para permitir a los usuarios insertar nuevas hojas. |
| numbersFitMode | number | Cambia el modo de visualización cuando el ancho de los datos de fecha/número es mayor que el ancho de la columna. Valores disponibles: | Constante | Valor | Descripción |
|---|
| vk numbers fit mode mask | 0 | Sustituye el contenido de los datos por "###" y muestra la punta |
| vk numbers fit mode overflow | 1 | Muestra el contenido de los datos como una cadena. Si la siguiente celda está vacía, se desborda el contenido. |
|
| pasteSkipInvisibleRange | boolean | Pegar u omitir el pegado de datos en rangos invisibles: - False (por defecto): pegar datos
- True: omitir el pegado en rangos invisibles
Ver [SpreadJS docs](https://developer.mescius.com/spreadjs/docs/features/rows-columns/paste-skip-data-invisible-range) para más información sobre rangos invisibles. |
-| referenceStyle | number | Estilo para referencias de celdas y rangos en fórmulas de celdas. Available values: | Constant | Value | Description |
|---|
| vk reference style A1 | 0 | Use A1 style. |
| vk reference style R1C1 | 1 | Use R1C1 style |
|
+| referenceStyle | number | Estilo para referencias de celdas y rangos en fórmulas de celdas. Available values: | Constant | Value | Description |
|---|
| vk reference style A1 | 0 | Use A1 style. |
| vk estilo de referencia R1C1 | 1 | Utilizar el estilo R1C1 |
|
| resizeZeroIndicator | number | Política de dibujo cuando las líneas o columnas se redimensionan a 0. Available values: | Constant | Value | Description |
|---|
| vk resize zero indicator default | 0 | Uses the current drawing policy when the row or column is resized to zero. |
| vk resize zero indicator enhanced | 1 | Draws two short lines when the row or column is resized to zero. |
|
| rowResizeMode | number | La forma en que se redimensionan las líneas. Los valores disponibles son los mismos qe columnResizeMode |
| scrollbarAppearance | number | Apariencia de la barra de desplazamiento. Available values: | Constant | Value | Description |
|---|
| vk scrollbar appearance mobile | 1 | Mobile scrollbar appearance. |
| vk scrollbar appearance skin (por defecto) | 0 | Apariencia clásica de la barra de desplazamiento similar a Excel. |
|
@@ -79,12 +79,12 @@ En la siguiente tabla se listan las opciones de libros de trabajo disponibles:
| showDragFillSmartTag | boolean | Mostrar el diálogo de arrastrar y rellenar. |
| showDragFillTip | boolean | Mostrar la punta de arrastrar y soltar. |
| showHorizontalScrollbar | boolean | Mostrar la barra de desplazamiento horizontal. |
-| showResizeTip | number | Cómo mostrar el tip de redimensionamiento. Available values: | Constant | Value | Description |
|---|
| vk show resize tip both | 3 | Horizontal and vertical resize tips are displayed. |
| vk show resize tip column | 1 | Solo se muestra la punta de redimensionamiento horizontal. |
| vk show resize tip none | 0 | No resize tip is displayed. |
| vk show resize tip row | 2 | Only the vertical resize tip is displayed. |
|
+| showResizeTip | number | Cómo mostrar el tip de redimensionamiento. Available values: | Constant | Value | Description |
|---|
| vk show resize tip both | 3 | Horizontal and vertical resize tips are displayed. |
| vk show resize tip column | 1 | Solo se muestra la punta de redimensionamiento horizontal. |
| vk show resize tip none | 0 | No se muestra ningún consejo de redimensionamiento. |
| vk show resize tip row | 2 | Solo se muestra la punta de redimensionamiento vertical. |
|
| showScrollTip | number | Cómo mostrar el tip de desplazamiento. Available values: | Constant | Value | Description |
|---|
| vk show scroll tip both | 3 | Horizontal and vertical scroll tips are displayed. |
| vk show scroll tip horizontal | 1 | Solo se muestra la punta de desplazamiento vertical. |
| vk show scroll tip none | No se muestra ninguna propina. |
| vk show scroll tip vertical | 2 | Solo se muestra la punta de desplazamiento vertical. |
|
| showVerticalScrollbar | boolean | Mostrar la barra de desplazamiento vertical. |
| tabEditable | boolean | La pestaña de la hoja se puede editar. |
| tabNavigationVisible | boolean | Mostrar la navegación por pestañas. |
-| tabStripPosition | number | Posición de la barra de pestañas. Available values: | Constant | Value | Description |
|---|
| vk tab strip position bottom | 0 | Tab strip position is relative to the bottom of the workbook. |
| vk tab strip position left | 2 | La posición de la barra de tabulación es relativa a la parte izquierda del libro de trabajo. |
| vk tab strip position right | 3 | Tab strip position is relative to the right of the workbook. |
| vk tab strip position top | 1 | La posición de la barra de tabulación es relativa a la parte superior del libro de trabajo. |
|
+| tabStripPosition | number | Posición de la barra de pestañas. Available values: | Constant | Value | Description |
|---|
| vk tab strip position bottom | 0 | Tab strip position is relative to the bottom of the workbook. |
| vk tab strip position left | 2 | La posición de la barra de tabulación es relativa a la parte izquierda del libro de trabajo. |
| vk tab strip position right | 3 | La posición de la barra de tabulación es relativa a la parte derecha del libro de trabajo. |
| vk tab strip position top | 1 | La posición de la barra de tabulación es relativa a la parte superior del libro de trabajo. |
|
| tabStripRatio | number | Valor porcentual (0,x) que especifica qué parte del espacio horizontal se asignará al tabulador. El resto del área horizontal (1 - 0.x) se asignará a la barra de desplazamiento horizontal. |
| tabStripVisible | boolean | Mostrar la barra de pestañas de la hoja. |
| tabStripWidth | number | Ancho de la etiqueta cuando la posición es izquierda o derecha. Por defecto y el mínimo es 80. |
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/http-rules.md b/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/http-rules.md
index bc8018c82e60ac..212afdc4624c71 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/http-rules.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/http-rules.md
@@ -53,14 +53,14 @@ Cuando el servidor web recibe una solicitud, **todos** los patrones de URL se ac
Se soportan las siguientes palabras clave de acción:
-| Palabras clave | Tipo de valor | Descripción |
-| --------------- | --------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `removeHeaders` | Texto o colección de textos | Encabezado(s) para eliminar de las respuestas HTTP. Si un encabezado a eliminar no existe en el encabezado de respuesta, se ignora. |
-| `addHeaders` | Object | Name (text) and value (text) of header(s) to add to the HTTP responses. |
-| `setHeaders` | Object | Name (text) and value (text) of header(s) to modify in the HTTP responses. Si un encabezado a modificar no existe en el encabezado de respuesta, se añade. |
-| `denyAccess` | Boolean | true para negar el acceso al recurso, false para permitir el acceso. Cuando el acceso a un recurso es denegado, el servidor web devuelve un estado 403 por defecto |
-| `redirect` | Text | Redirigir URL. Cuando se activa una redirección, el servidor web devuelve un estado 302 por defecto |
-| `status` | Number | Estado HTTP |
+| Palabras clave | Tipo de valor | Descripción |
+| --------------- | --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `removeHeaders` | Texto o colección de textos | Encabezado(s) para eliminar de las respuestas HTTP. Si un encabezado a eliminar no existe en el encabezado de respuesta, se ignora. |
+| `addHeaders` | Object | Nombre (texto) y valor (texto) del el(los) encabezado(s) para agregar a las respuestas HTTP. |
+| `setHeaders` | Object | Nombre (texto) y valor (texto) de los encabezados a modificar en las respuestas HTTP. Si un encabezado a modificar no existe en el encabezado de respuesta, se añade. |
+| `denyAccess` | Boolean | true para negar el acceso al recurso, false para permitir el acceso. Cuando el acceso a un recurso es denegado, el servidor web devuelve un estado 403 por defecto |
+| `redirect` | Text | Redirigir URL. Cuando se activa una redirección, el servidor web devuelve un estado 302 por defecto |
+| `status` | Number | Estado HTTP |
### Encabezados no modificables
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/preemptiveWeb.md b/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/preemptiveWeb.md
index c270d197d2e68a..0e7af110758c9b 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/preemptiveWeb.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/preemptiveWeb.md
@@ -30,7 +30,7 @@ La siguiente tabla indica si el modo apropiativo se utiliza o está disponible,
- si las sesiones escalables están activadas, el modo apropiativo se utiliza automáticamente para los procesos web y servicios web.
- si las sesiones escalables no están activadas:
- for web processes, the [**Use preemptive processes**](webServerConfig.md#use-preemptive-processes) option is taken into account.
- - for web service processes (server or client), preemptive mode is supported at method level.
+ - para los procesos de servicios web (servidor o cliente), el modo preventivo está soportado a nivel de método.
## Escribir código servidor web hilo seguro
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/qodly-studio.md b/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/qodly-studio.md
index 105b658372a4fe..f6e3baea8fec88 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/qodly-studio.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/qodly-studio.md
@@ -94,7 +94,7 @@ La página Qodly Studio está disponible cuando el [servidor web WebAdmin está
Hay dos formas de acceder a Qodly Studio:
-- by selecting the **Qodly Studio...** menu command from the **Design** menu (4D single-user) or the **Window** menu (4D Server).
+- seleccionando el comando **Qodly Studio...** del menú **Diseño** (4D monousuario) o del menú **Ventana** (4D Server).
Si el servidor web WebAdmin ya está en funcionamiento, dependiendo de su configuración, su navegador por defecto se abre en `IPaddress:HTTPPort/studio` o `IPaddress:HTTPSPort/studio`. De lo contrario, se le preguntará si desea iniciar primero el servidor web WebAdmin.
- on a browser, with the WebAdmin web server running (launched from 4D or 4D Server), enter the following address:
@@ -116,7 +116,7 @@ Hay dos formas de acceder a Qodly Studio:
The Qodly Studio documentation is available on the [Qodly documentation website](https://developer.qodly.com/docs/studio/overview).
-You can rely on this documentation and its associated resources for developing web applications powered by Qodly pages. Sin embargo, dependiendo de la etapa de implementación, los desarrolladores 4D utilizarán Qodly Studio o 4D IDE (ver [Comparación de funcionalidades](#comparación-de-funcionalidades)).
+Puede confiar en esta documentación y sus recursos asociados para desarrollar aplicaciones web basadas en páginas Qodly. Sin embargo, dependiendo de la etapa de implementación, los desarrolladores 4D utilizarán Qodly Studio o 4D IDE (ver [Comparación de funcionalidades](#comparación-de-funcionalidades)).
Se ofrecen ejemplos de código en [QodlyScript](https://developer.qodly.com/docs/category/qodlyscript), pero como QodlyScript hereda del Lenguaje 4D, no se sentirá perdido. Se ofrecen ejemplos de código en [QodlyScript](https://developer.qodly.com/docs/category/qodlyscript), pero como QodlyScript hereda del Lenguaje 4D, no se sentirá perdido.
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/sessions.md b/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/sessions.md
index ae2eec52be1b58..00048040081872 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/sessions.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/sessions.md
@@ -25,7 +25,7 @@ Las sesiones web se utilizan para:
- [Aplicaciones web](gettingStarted.md) enviando peticiones http (incluyendo peticiones [SOAP Web services](../commands/theme/Web_Services_Server.md) y [/4DACTION](../WebServer/httpRequests.md#4daction)),
- llamadas a la [REST API](../REST/authUsers.md), que utilizan [datastores remotos](../ORDA/remoteDatastores.md) y [formularios Qodly](qodly-studio.md).
-## Habilitando sesiones web
+## Activando sesiones web {#enabling-web-sessions}
La funcionalidad de gestión de sesiones puede ser activada y desactivada en su servidor web 4D. Hay diferentes maneras de habilitar la gestión de la sesión:
@@ -201,7 +201,7 @@ Else
End if
```
-:::tips Entradas de blog relacionadas
+:::tip Entradas de blog relacionadas
[Sesiones escalables para aplicaciones web avanzadas](https://blog.4d.com/scalable-sessions-for-advanced-web-applications/)
@@ -213,7 +213,7 @@ El servidor web 4D le permite generar, compartir y utilizar tokens de sesión OT
In 4D, OTP session tokens are useful when calling external URLs and being called back in another browser or device (mobile/computer). Normalmente, una aplicación de terceros envía un correo electrónico de confirmación que contiene un enlace de retrollamada en el que el usuario tiene que hacer clic. El enlace de retrollamada incluye el token OTP, para que la sesión que activó la retrollamada se cargue junto con sus datos y privilegios. This principle allows you to share the same session on multiple devices. Gracias a esta arquitectura, la [cookie de sesión](#session-implementation) no está expuesta en la red, lo que elimina el riesgo de un ataque de hombre en el medio.
-:::tips Entradas de blog relacionadas
+:::tip Entradas de blog relacionadas
[Conecte sus aplicaciones web a sistemas de terceros](https://blog.4d.com/connect-your-web-apps-to-third-party-systems/)
@@ -267,7 +267,7 @@ El token OTP se considera inválido si:
- el token de sesión no existe,
- la propia sesión original ha caducado.
-In this case, no web user session is restored and the current session (if any) is left unchanged. Normalmente, puede decidir mostrar una página de conexión o abrir una sesión guest.
+En este caso, no se restaura ninguna sesión de usuario web y la sesión actual (si existe) se deja sin cambios. Normalmente, puede decidir mostrar una página de conexión o abrir una sesión guest.
La verificación de la validez del token OTP recibido depende de cómo fue manejado:
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/webServerConfig.md b/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/webServerConfig.md
index 4a467a5ab602c3..6c515cad28b161 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/webServerConfig.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/webServerConfig.md
@@ -603,7 +603,7 @@ Los parámetros siguientes siguen siendo compatibles, pero se basan en funcional
Estado de validación de la dirección IP para las cookies de sesión. Por razones de seguridad, por defecto el servidor web 4D verifica la dirección IP de cada solicitud que contiene una cookie de sesión y la rechaza si esta dirección no coincide con la dirección IP utilizada para crear la cookie. En algunas aplicaciones específicas, es posible que desee desactivar esta validación y aceptar las cookies de sesión, incluso cuando sus direcciones IP no coinciden. Por ejemplo, cuando los dispositivos móviles cambian entre las redes Wifi y 4G/5G, su dirección IP cambiará. En este caso, debe pasar 0 en esta opción para permitir que los clientes puedan seguir utilizando sus sesiones web aunque las direcciones IP cambien. Tenga en cuenta que este parámetro reduce el nivel de seguridad de su aplicación. Cuando se modifica, esta configuración es efectiva inmediatamente (no es necesario reiniciar el servidor HTTP).
-### Generic Web User
+### Usuario web genérico
This option allows you to designate a user, previously defined in the [4D password table](../Users/handling_users_groups.md), as a "Generic Web User". In this case, each browser allowed to connect to the database gets access authorizations and restrictions associated with this user.
@@ -624,7 +624,7 @@ En algunos casos, se pueden invocar otras funciones internas optimizadas. Las co
Dos opciones le permiten definir cómo funcionan las conexiones persistentes:
- **Número de peticiones por conexión**: permite definir el número máximo de peticiones y de respuestas capaces de viajar por una conexión persistente. Limiting the number of requests per connection allows you to prevent server flooding due to a large number of incoming requests (a technique used by hackers).
- The default value (100) can be increased or decreased depending on the resources of the machine hosting the 4D Web Server.
+ El valor por defecto (100) puede ser aumentado o disminuido en función de los recursos de la máquina que aloja el servidor 4D web.
- **Tiempo de espera antes de desconexión**: este valor define el periodo máximo de espera (en segundos) durante el cual el servidor web mantiene una conexión TCP abierta sin recibir ninguna petición del navegador web. Una vez finalizado este periodo, el servidor cierra la conexión.
Si el navegador web envía una solicitud después de cerrar la conexión, se crea automáticamente una nueva conexión TCP. Esta operación no es visible para el usuario.
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-export-document.md b/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-export-document.md
index e32bca5acba067..6cb9ae06065872 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-export-document.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-export-document.md
@@ -52,27 +52,27 @@ Puede omitir el parámetro *format*, en cuyo caso deberá especificar la extensi
Pase un [objeto](# "Datos estructurados como un objeto nativo 4D") en *option* conteniendo los valores para definir las propiedades del documento exportado. Las siguientes propiedades están disponibles:
-| Constante | Valor | Comentario |
-| ------------------------------------------- | ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| wk CID host domain name | cidHostDomain | Nombre de dominio de host CID: dominio de host que se añadirá a las URL CID generadas incluyendo una "@" como separador. Disponible sólo cuando se utiliza el formato `wk mime html`. |
-| wk embedded pictures | embeddedPictures | Sólo para exportación SVG. Establece si las imágenes se incrustan en el archivo .svg exportado cuando se llama a [WP EXPORT DOCUMENT](wp-export-document.md). Valores disponibles: true (por defecto): las imágenes están incrustadas en el archivo .svg exportado false: las imágenes se exportan en una carpeta llamada "filename\_images" en el nivel del archivo .svg exportado, "filename" siendo el nombre pasado al comando para el archivo, sin la extensión. Las imágenes no están integradas, sino referenciadas en el archivo .svg.Nota: si la carpeta ya existe, se vaciará antes de exportar el archivo. Si no hay ninguna imagen en la página exportada, se elimina la carpeta |
-| wk factur x | facturX | Sólo para exportación en PDF. Valor: objeto que configura una exportación PDF "Factur-X (ZUGFeRD)" (ver [wk factur x object](#wk-factur-x-object)). |
-| wk files | Histórico | Sólo para exportación en PDF. Valor: colección de objetos, cada uno de los cuales describe un archivo que se integrará en el documento final (ver [wk files collection](#wk-files-collection)). Esta funcionalidad sólo se admite en documentos PDF/A-3: cuando se utiliza el atributo `wk files`, se establece automáticamente la versión "PDF/A-3" (se ignora el atributo `wk pdfa version`). En caso de una exportación de Factur-X PDF (ver abajo), el primer objeto de la colección debe contener el archivo Factur-X xml. |
-| wk google fonts tag | googleFontsTag | Sólo para exportación SVG. Define la regla de importación para fuentes google en el SVG exportado. Valores posibles: false (por defecto): no se añade ninguna regla de importación de fuentes de Google.true: añade la regla @import al archivo exportado. Útil si desea utilizar fuentes que no están disponibles por defecto en Windows o macOS. **Note:** This property is set to false by default because when enabled, Google fonts override native fonts, and native fonts are generally better rendered in the browser. |
-| wk HTML pretty print | htmlPrettyPrint | El código HTML está formateado para facilitar su lectura. |
-| wk max picture DPI | maxPictureDPI | Se utiliza para reducir imágenes a la resolución preferida. Para imágenes SVG en Windows, utilizado para la rasterización. Valores por defecto: 300 (for wk optimized for \= wk print) 192 (for wk optimized for \= wk screen) Valor máximo posible: 1440 |
-| wk optimized for | optimizedFor | Define cómo se optimiza un documento exportado en función de su soporte. Valores posibles: `wk print` (valor por defecto para `wk pdf` y `wk svg`) Las imágenes de mapa de bits pueden reducirse utilizando los PPP definidos por `wk max picture DPI` o 300 (valor por defecto) y pueden convertirse a PNG si el códec no es compatible con el tipo de exportación. Las imágenes vectoriales se convierten a PNG utilizando los PPP definidos por `wk max picture DPI` o 300 (sólo Windows). Si una imagen contiene más de un formato, se utiliza el mejor formato para la impresión (*por ejemplo*, .tiff en lugar de .jpg)`wk screen` (valor por defecto para `wk web page complete` y `wk mime html`). Las imágenes de mapa de bits pueden reducirse utilizando los PPP definidos por `wk max picture DPI` o 192 (valor por defecto) y pueden convertirse a JPEG (imágenes opacas) o PNG (imágenes transparentes) si el códec no es compatible con el tipo de exportación. Las imágenes vectoriales se convierten a PNG utilizando los PPP definidos por `wk max picture DPI` o 192 (sólo Windows). If a picture contains more than one format, the format for screen rendering is used. **Nota:** los documentos exportados en formato `wk docx` siempre se optimizan para la impresión wk (la opción wk optimized for se ignora). |
-| wk page index | pageIndex | Sólo para exportación SVG. Índice de la página a exportar a formato svg (por defecto es 1). El índice de páginas comienza en 1 para la primera página del documento. **Nota:** el índice de páginas es independiente de la numeración de páginas. |
-| wk pdfa version | pdfaVersion | Exporta PDF conforme a una versión PDF/A. Para más información sobre las propiedades y versiones de PDF/A, consulte la [página PDF/A en Wikipedia](https://en.wikipedia.org/wiki/PDF/A). Valores posibles: `wk pdfa2`: exporta a la versión "PDF/A-2" `wk pdfa3`: exporta a la versión "PDF/A-3" **Nota:** en macOS, `wk pdfa2` puede exportar a PDF/A-2 o PDF/A-3 o superior, dependiendo de la implementación de la plataforma. Además, `wk pdfa3` significa "exporta a *al menos* PDF/A-3". En Windows, el archivo PDF de salida siempre será igual a la conformidad deseada. |
-| wk recompute formulas | recomputeFormulas | Define si las fórmulas deben volver a calcularse cuando se exportan. Valores posibles:true - Valor por defecto. Se vuelven a calcular todas las fórmulasfalse - No se vuelven a calcular las fórmulas |
-| wk visible background and anchored elements | visibleBackground | Muestra o exporta imágenes/color de fondo, imágenes ancladas y cuadros de texto (para mostrar, efecto visible sólo en modo de vista Página o Anidado). Valores posibles: True/False |
-| wk visible empty images | visibleEmptyImages | Muestra o exporta un rectángulo negro por defecto para las imágenes que no se pueden cargar o calcular (imágenes vacías o imágenes en un formato no compatible). Valores posibles: True/False. Valor por defecto: True Si el valor es False, los elementos de imagen que falten no se mostrarán en absoluto aunque tengan bordes, ancho, alto o fondo; esto puede afectar al diseño de la página para imágenes en línea. |
-| wk visible footers | visibleFooters | Muestra o exporta los pies de página (para la visualización, efecto visible sólo en el modo vista Página). Valores posibles: True/False |
-| wk visible headers | visibleHeaders | Muestra o exporta los encabezados (para la visualización, efecto visible sólo en el modo vista Página). Valores posibles: True/False |
-| wk visible references | visibleReferences | Muestra o exporta todas las expresiones 4D insertadas en el documento como referencias. Valores posibles: True/False |
-| wk whitespace | whitespace | Define el valor css "white-space" para los formatos de exportación `wk mime html` y `wk web page complete`. El estilo [white-space css](https://developer.mozilla.org/en-US/docs/Web/CSS/white-space) se aplica a los párrafos. Valores posibles: "normal", "nowrap", "pre", "pre-wrap" (por defecto), "pre-line", "break-spaces". |
-
-The following table indicates the *option* available per export *format*:
+| Constante | Valor | Comentario |
+| ------------------------------------------- | ------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| wk CID host domain name | cidHostDomain | Nombre de dominio de host CID: dominio de host que se añadirá a las URL CID generadas incluyendo una "@" como separador. Disponible sólo cuando se utiliza el formato `wk mime html`. |
+| wk embedded pictures | embeddedPictures | Sólo para exportación SVG. Establece si las imágenes se incrustan en el archivo .svg exportado cuando se llama a [WP EXPORT DOCUMENT](wp-export-document.md). Valores disponibles: true (por defecto): las imágenes están incrustadas en el archivo .svg exportado false: las imágenes se exportan en una carpeta llamada "filename\_images" en el nivel del archivo .svg exportado, "filename" siendo el nombre pasado al comando para el archivo, sin la extensión. Las imágenes no están integradas, sino referenciadas en el archivo .svg.Nota: si la carpeta ya existe, se vaciará antes de exportar el archivo. Si no hay ninguna imagen en la página exportada, se elimina la carpeta |
+| wk factur x | facturX | Sólo para exportación en PDF. Valor: objeto que configura una exportación PDF "Factur-X (ZUGFeRD)" (ver [wk factur x object](#wk-factur-x-object)). |
+| wk files | Histórico | Sólo para exportación en PDF. Valor: colección de objetos, cada uno de los cuales describe un archivo que se integrará en el documento final (ver [wk files collection](#wk-files-collection)). Esta funcionalidad sólo se admite en documentos PDF/A-3: cuando se utiliza el atributo `wk files`, se establece automáticamente la versión "PDF/A-3" (se ignora el atributo `wk pdfa version`). En caso de una exportación de Factur-X PDF (ver abajo), el primer objeto de la colección debe contener el archivo Factur-X xml. |
+| wk google fonts tag | googleFontsTag | Sólo para exportación SVG. Define la regla de importación para fuentes google en el SVG exportado. Valores posibles: false (por defecto): no se añade ninguna regla de importación de fuentes de Google.true: añade la regla @import al archivo exportado. Útil si desea utilizar fuentes que no están disponibles por defecto en Windows o macOS. **Note:** This property is set to false by default because when enabled, Google fonts override native fonts, and native fonts are generally better rendered in the browser. |
+| wk HTML pretty print | htmlPrettyPrint | El código HTML está formateado para facilitar su lectura. |
+| wk max picture DPI | maxPictureDPI | Se utiliza para reducir imágenes a la resolución preferida. Para imágenes SVG en Windows, utilizado para la rasterización. Valores por defecto: 300 (for wk optimized for \= wk print) 192 (for wk optimized for \= wk screen) Valor máximo posible: 1440 |
+| wk optimized for | optimizedFor | Define cómo se optimiza un documento exportado en función de su soporte. Valores posibles: `wk print` (valor por defecto para `wk pdf` y `wk svg`) Las imágenes de mapa de bits pueden reducirse utilizando los PPP definidos por `wk max picture DPI` o 300 (valor por defecto) y pueden convertirse a PNG si el códec no es compatible con el tipo de exportación. Las imágenes vectoriales se convierten a PNG utilizando los PPP definidos por `wk max picture DPI` o 300 (sólo Windows). Si una imagen contiene más de un formato, se utiliza el mejor formato para la impresión (*por ejemplo*, .tiff en lugar de .jpg)`wk screen` (valor por defecto para `wk web page complete` y `wk mime html`). Las imágenes de mapa de bits pueden reducirse utilizando los PPP definidos por `wk max picture DPI` o 192 (valor por defecto) y pueden convertirse a JPEG (imágenes opacas) o PNG (imágenes transparentes) si el códec no es compatible con el tipo de exportación. Las imágenes vectoriales se convierten a PNG utilizando los PPP definidos por `wk max picture DPI` o 192 (sólo Windows). Si una imagen contiene más de un formato, se utiliza el formato para la renderización en pantalla. **Nota:** los documentos exportados en formato `wk docx` siempre se optimizan para la impresión wk (la opción wk optimized for se ignora). |
+| wk page index | pageIndex | Sólo para exportación SVG. Índice de la página a exportar a formato svg (por defecto es 1). El índice de páginas comienza en 1 para la primera página del documento. **Nota:** el índice de páginas es independiente de la numeración de páginas. |
+| wk pdfa version | pdfaVersion | Exporta PDF conforme a una versión PDF/A. Para más información sobre las propiedades y versiones de PDF/A, consulte la [página PDF/A en Wikipedia](https://en.wikipedia.org/wiki/PDF/A). Valores posibles: `wk pdfa2`: exporta a la versión "PDF/A-2" `wk pdfa3`: exporta a la versión "PDF/A-3" **Nota:** en macOS, `wk pdfa2` puede exportar a PDF/A-2 o PDF/A-3 o superior, dependiendo de la implementación de la plataforma. Además, `wk pdfa3` significa "exporta a *al menos* PDF/A-3". En Windows, el archivo PDF de salida siempre será igual a la conformidad deseada. |
+| wk recompute formulas | recomputeFormulas | Define si las fórmulas deben volver a calcularse cuando se exportan. Valores posibles:true - Valor por defecto. Se vuelven a calcular todas las fórmulasfalse - No se vuelven a calcular las fórmulas |
+| wk visible background and anchored elements | visibleBackground | Muestra o exporta imágenes/color de fondo, imágenes ancladas y cuadros de texto (para mostrar, efecto visible sólo en modo de vista Página o Anidado). Valores posibles: True/False |
+| wk visible empty images | visibleEmptyImages | Muestra o exporta un rectángulo negro por defecto para las imágenes que no se pueden cargar o calcular (imágenes vacías o imágenes en un formato no compatible). Valores posibles: True/False. Valor por defecto: True Si el valor es False, los elementos de imagen que falten no se mostrarán en absoluto aunque tengan bordes, ancho, alto o fondo; esto puede afectar al diseño de la página para imágenes en línea. |
+| wk visible footers | visibleFooters | Muestra o exporta los pies de página (para la visualización, efecto visible sólo en el modo vista Página). Valores posibles: True/False |
+| wk visible headers | visibleHeaders | Muestra o exporta los encabezados (para la visualización, efecto visible sólo en el modo vista Página). Valores posibles: True/False |
+| wk visible references | visibleReferences | Muestra o exporta todas las expresiones 4D insertadas en el documento como referencias. Valores posibles: True/False |
+| wk whitespace | whitespace | Define el valor css "white-space" para los formatos de exportación `wk mime html` y `wk web page complete`. El estilo [white-space css](https://developer.mozilla.org/en-US/docs/Web/CSS/white-space) se aplica a los párrafos. Valores posibles: "normal", "nowrap", "pre", "pre-wrap" (por defecto), "pre-line", "break-spaces". |
+
+La siguiente tabla indica la *option* disponible por *format* de exportación:
| | **wk 4wp** | **wk docx** | **wk mime html** | **wk pdf** | **wk web page complete** | **wk svg** |
| ------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-export-variable.md b/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-export-variable.md
index 606d4bcc42bcd7..2d372bbe528a40 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-export-variable.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-export-variable.md
@@ -52,27 +52,27 @@ En el parámetro *format*, pase una constante del tema *4D Write Pro Constants*
Pase un [objeto](# "Datos estructurados como un objeto nativo 4D") en *option* conteniendo los valores para definir las propiedades del documento exportado. Las siguientes propiedades están disponibles:
-| Constante | Valor | Comentario |
-| ------------------------------------------- | ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| wk CID host domain name | cidHostDomain | Nombre de dominio de host CID: dominio de host que se añadirá a las URL CID generadas incluyendo una "@" como separador. Disponible sólo cuando se utiliza el formato `wk mime html`. |
-| wk embedded pictures | embeddedPictures | Sólo para exportación SVG. Establece si las imágenes se incrustan en el archivo .svg exportado cuando se llama a [WP EXPORT DOCUMENT](wp-export-document.md). Valores disponibles: true (por defecto): las imágenes están incrustadas en el archivo .svg exportado false: las imágenes se exportan en una carpeta llamada "filename\_images" en el nivel del archivo .svg exportado, "filename" siendo el nombre pasado al comando para el archivo, sin la extensión. Las imágenes no están integradas, sino referenciadas en el archivo .svg.Nota: si la carpeta ya existe, se vaciará antes de exportar el archivo. Si no hay ninguna imagen en la página exportada, se elimina la carpeta |
-| wk factur x | facturX | Sólo para exportación en PDF. Valor: objeto que configura una exportación PDF "Factur-X (ZUGFeRD)" (ver [wk factur x object](./wp-export-document.md#wk-factur-x-object)). |
-| wk files | Histórico | Sólo para exportación en PDF. Valor: colección de objetos, cada uno de los cuales describe un archivo que se integrará en el documento final (ver [wk files collection](./wp-export-document.md#wk-files-collection)). Esta funcionalidad sólo se admite en documentos PDF/A-3: cuando se utiliza el atributo `wk files`, se establece automáticamente la versión "PDF/A-3" (se ignora el atributo `wk pdfa version`). En caso de una exportación de Factur-X PDF (ver abajo), el primer objeto de la colección debe contener el archivo Factur-X xml. |
-| wk google fonts tag | googleFontsTag | Sólo para exportación SVG. Define la regla de importación para fuentes google en el SVG exportado. Valores posibles: false (por defecto): no se añade ninguna regla de importación de fuentes de Google.true: añade la regla @import al archivo exportado. Útil si desea utilizar fuentes que no están disponibles por defecto en Windows o macOS. **Note:** This property is set to false by default because when enabled, Google fonts override native fonts, and native fonts are generally better rendered in the browser. |
-| wk HTML pretty print | htmlPrettyPrint | El código HTML está formateado para facilitar su lectura. |
-| wk max picture DPI | maxPictureDPI | Se utiliza para reducir imágenes a la resolución preferida. Para imágenes SVG en Windows, utilizado para la rasterización. Valores por defecto: 300 (for wk optimized for \= wk print) 192 (for wk optimized for \= wk screen) Valor máximo posible: 1440 |
-| wk optimized for | optimizedFor | Define cómo se optimiza un documento exportado en función de su soporte. Valores posibles: `wk print` (valor por defecto para `wk pdf` y `wk svg`) Las imágenes de mapa de bits pueden reducirse utilizando los PPP definidos por `wk max picture DPI` o 300 (valor por defecto) y pueden convertirse a PNG si el códec no es compatible con el tipo de exportación. Las imágenes vectoriales se convierten a PNG utilizando los PPP definidos por `wk max picture DPI` o 300 (sólo Windows). Si una imagen contiene más de un formato, se utiliza el mejor formato para la impresión (*por ejemplo*, .tiff en lugar de .jpg)`wk screen` (valor por defecto para `wk web page complete` y `wk mime html`). Las imágenes de mapa de bits pueden reducirse utilizando los PPP definidos por `wk max picture DPI` o 192 (valor por defecto) y pueden convertirse a JPEG (imágenes opacas) o PNG (imágenes transparentes) si el códec no es compatible con el tipo de exportación. Las imágenes vectoriales se convierten a PNG utilizando los PPP definidos por `wk max picture DPI` o 192 (sólo Windows). If a picture contains more than one format, the format for screen rendering is used. **Nota:** los documentos exportados en formato `wk docx` siempre se optimizan para la impresión wk (la opción wk optimized for se ignora). |
-| wk page index | pageIndex | Sólo para exportación SVG. Índice de la página a exportar a formato svg (por defecto es 1). El índice de páginas comienza en 1 para la primera página del documento. **Nota:** el índice de páginas es independiente de la numeración de páginas. |
-| wk pdfa version | pdfaVersion | Exporta PDF conforme a una versión PDF/A. Para más información sobre las propiedades y versiones de PDF/A, consulte la [página PDF/A en Wikipedia](https://en.wikipedia.org/wiki/PDF/A). Valores posibles: `wk pdfa2`: exporta a la versión "PDF/A-2" `wk pdfa3`: exporta a la versión "PDF/A-3" **Nota:** en macOS, `wk pdfa2` puede exportar a PDF/A-2 o PDF/A-3 o superior, dependiendo de la implementación de la plataforma. Además, `wk pdfa3` significa "exporta a *al menos* PDF/A-3". En Windows, el archivo PDF de salida siempre será igual a la conformidad deseada. |
-| wk recompute formulas | recomputeFormulas | Define si las fórmulas deben volver a calcularse cuando se exportan. Valores posibles:true - Valor por defecto. Se vuelven a calcular todas las fórmulasfalse - No se vuelven a calcular las fórmulas |
-| wk visible background and anchored elements | visibleBackground | Muestra o exporta imágenes/color de fondo, imágenes ancladas y cuadros de texto (para mostrar, efecto visible sólo en modo de vista Página o Anidado). Valores posibles: True/False |
-| wk visible empty images | visibleEmptyImages | Muestra o exporta un rectángulo negro por defecto para las imágenes que no se pueden cargar o calcular (imágenes vacías o imágenes en un formato no compatible). Valores posibles: True/False. Valor por defecto: True Si el valor es False, los elementos de imagen que falten no se mostrarán en absoluto aunque tengan bordes, ancho, alto o fondo; esto puede afectar al diseño de la página para imágenes en línea. |
-| wk visible footers | visibleFooters | Muestra o exporta los pies de página (para la visualización, efecto visible sólo en el modo vista Página). Valores posibles: True/False |
-| wk visible headers | visibleHeaders | Muestra o exporta los encabezados (para la visualización, efecto visible sólo en el modo vista Página). Valores posibles: True/False |
-| wk visible references | visibleReferences | Muestra o exporta todas las expresiones 4D insertadas en el documento como referencias. Valores posibles: True/False |
-| wk whitespace | whitespace | Define el valor css "white-space" para el formato de exportación `wk mime html`. El estilo [white-space css](https://developer.mozilla.org/en-US/docs/Web/CSS/white-space) se aplica a los párrafos. Valores posibles: "normal", "nowrap", "pre", "pre-wrap" (por defecto), "pre-line", "break-spaces". |
-
-The following table indicates the *option* available per export *format*:
+| Constante | Valor | Comentario |
+| ------------------------------------------- | ------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| wk CID host domain name | cidHostDomain | Nombre de dominio de host CID: dominio de host que se añadirá a las URL CID generadas incluyendo una "@" como separador. Disponible sólo cuando se utiliza el formato `wk mime html`. |
+| wk embedded pictures | embeddedPictures | Sólo para exportación SVG. Establece si las imágenes se incrustan en el archivo .svg exportado cuando se llama a [WP EXPORT DOCUMENT](wp-export-document.md). Valores disponibles: true (por defecto): las imágenes están incrustadas en el archivo .svg exportado false: las imágenes se exportan en una carpeta llamada "filename\_images" en el nivel del archivo .svg exportado, "filename" siendo el nombre pasado al comando para el archivo, sin la extensión. Las imágenes no están integradas, sino referenciadas en el archivo .svg.Nota: si la carpeta ya existe, se vaciará antes de exportar el archivo. Si no hay ninguna imagen en la página exportada, se elimina la carpeta |
+| wk factur x | facturX | Sólo para exportación en PDF. Valor: objeto que configura una exportación PDF "Factur-X (ZUGFeRD)" (ver [wk factur x object](./wp-export-document.md#wk-factur-x-object)). |
+| wk files | Histórico | Sólo para exportación en PDF. Valor: colección de objetos, cada uno de los cuales describe un archivo que se integrará en el documento final (ver [wk files collection](./wp-export-document.md#wk-files-collection)). Esta funcionalidad sólo se admite en documentos PDF/A-3: cuando se utiliza el atributo `wk files`, se establece automáticamente la versión "PDF/A-3" (se ignora el atributo `wk pdfa version`). En caso de una exportación de Factur-X PDF (ver abajo), el primer objeto de la colección debe contener el archivo Factur-X xml. |
+| wk google fonts tag | googleFontsTag | Sólo para exportación SVG. Define la regla de importación para fuentes google en el SVG exportado. Valores posibles: false (por defecto): no se añade ninguna regla de importación de fuentes de Google.true: añade la regla @import al archivo exportado. Útil si desea utilizar fuentes que no están disponibles por defecto en Windows o macOS. **Note:** This property is set to false by default because when enabled, Google fonts override native fonts, and native fonts are generally better rendered in the browser. |
+| wk HTML pretty print | htmlPrettyPrint | El código HTML está formateado para facilitar su lectura. |
+| wk max picture DPI | maxPictureDPI | Se utiliza para reducir imágenes a la resolución preferida. Para imágenes SVG en Windows, utilizado para la rasterización. Valores por defecto: 300 (for wk optimized for \= wk print) 192 (for wk optimized for \= wk screen) Valor máximo posible: 1440 |
+| wk optimized for | optimizedFor | Define cómo se optimiza un documento exportado en función de su soporte. Valores posibles: `wk print` (valor por defecto para `wk pdf` y `wk svg`) Las imágenes de mapa de bits pueden reducirse utilizando los PPP definidos por `wk max picture DPI` o 300 (valor por defecto) y pueden convertirse a PNG si el códec no es compatible con el tipo de exportación. Las imágenes vectoriales se convierten a PNG utilizando los PPP definidos por `wk max picture DPI` o 300 (sólo Windows). Si una imagen contiene más de un formato, se utiliza el mejor formato para la impresión (*por ejemplo*, .tiff en lugar de .jpg)`wk screen` (valor por defecto para `wk web page complete` y `wk mime html`). Las imágenes de mapa de bits pueden reducirse utilizando los PPP definidos por `wk max picture DPI` o 192 (valor por defecto) y pueden convertirse a JPEG (imágenes opacas) o PNG (imágenes transparentes) si el códec no es compatible con el tipo de exportación. Las imágenes vectoriales se convierten a PNG utilizando los PPP definidos por `wk max picture DPI` o 192 (sólo Windows). Si una imagen contiene más de un formato, se utiliza el formato para la renderización en pantalla. **Nota:** los documentos exportados en formato `wk docx` siempre se optimizan para la impresión wk (la opción wk optimized for se ignora). |
+| wk page index | pageIndex | Sólo para exportación SVG. Índice de la página a exportar a formato svg (por defecto es 1). El índice de páginas comienza en 1 para la primera página del documento. **Nota:** el índice de páginas es independiente de la numeración de páginas. |
+| wk pdfa version | pdfaVersion | Exporta PDF conforme a una versión PDF/A. Para más información sobre las propiedades y versiones de PDF/A, consulte la [página PDF/A en Wikipedia](https://en.wikipedia.org/wiki/PDF/A). Valores posibles: `wk pdfa2`: exporta a la versión "PDF/A-2" `wk pdfa3`: exporta a la versión "PDF/A-3" **Nota:** en macOS, `wk pdfa2` puede exportar a PDF/A-2 o PDF/A-3 o superior, dependiendo de la implementación de la plataforma. Además, `wk pdfa3` significa "exporta a *al menos* PDF/A-3". En Windows, el archivo PDF de salida siempre será igual a la conformidad deseada. |
+| wk recompute formulas | recomputeFormulas | Define si las fórmulas deben volver a calcularse cuando se exportan. Valores posibles:true - Valor por defecto. Se vuelven a calcular todas las fórmulasfalse - No se vuelven a calcular las fórmulas |
+| wk visible background and anchored elements | visibleBackground | Muestra o exporta imágenes/color de fondo, imágenes ancladas y cuadros de texto (para mostrar, efecto visible sólo en modo de vista Página o Anidado). Valores posibles: True/False |
+| wk visible empty images | visibleEmptyImages | Muestra o exporta un rectángulo negro por defecto para las imágenes que no se pueden cargar o calcular (imágenes vacías o imágenes en un formato no compatible). Valores posibles: True/False. Valor por defecto: True Si el valor es False, los elementos de imagen que falten no se mostrarán en absoluto aunque tengan bordes, ancho, alto o fondo; esto puede afectar al diseño de la página para imágenes en línea. |
+| wk visible footers | visibleFooters | Muestra o exporta los pies de página (para la visualización, efecto visible sólo en el modo vista Página). Valores posibles: True/False |
+| wk visible headers | visibleHeaders | Muestra o exporta los encabezados (para la visualización, efecto visible sólo en el modo vista Página). Valores posibles: True/False |
+| wk visible references | visibleReferences | Muestra o exporta todas las expresiones 4D insertadas en el documento como referencias. Valores posibles: True/False |
+| wk whitespace | whitespace | Define el valor css "white-space" para el formato de exportación `wk mime html`. El estilo [white-space css](https://developer.mozilla.org/en-US/docs/Web/CSS/white-space) se aplica a los párrafos. Valores posibles: "normal", "nowrap", "pre", "pre-wrap" (por defecto), "pre-line", "break-spaces". |
+
+La siguiente tabla indica la *option* disponible por *format* de exportación:
| | **wk 4wp** | **wk docx** | **wk mime html** | **wk pdf** | **wk web page html 4d** | **wk svg** |
| ------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-import-document.md b/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-import-document.md
index 05064f54bf9dd9..592a131b1b226d 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-import-document.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-import-document.md
@@ -51,21 +51,21 @@ Por defecto, las expresiones HTML insertadas en documentos heredados de 4D Write
Puede pasar un objeto para definir cómo se gestionan los siguientes atributos durante la operación de importación:
-| **Atributo** | **Tipo** | **Description** |
-| ----------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| anchoredTextAreas | Text | Sólo para documentos MS Word (.docx). Especifica cómo se manejan las áreas de texto ancladas en Word. Valores disponibles:
**anchored** (por defecto) - Las áreas de texto ancladas se tratan como cuadros de texto. **inline** - Las áreas de texto ancladas se tratan como texto en línea en la posición del ancla. **ignore** \- Las áreas de texto ancladas son ignoradas. **Nota**: el diseño y el número de páginas en el documento pueden cambiar. Ver también *Cómo importar formato .docx* |
-| anchoredImages | Text | Sólo para documentos MS Word (.docx). Especifica cómo se manejan las imágenes ancladas. Available values:
**all** (default) - All anchored images are imported as anchored images with their text wrapping properties (exception: the .docx wrapping option "tight" is imported as wrap square). **ignoreWrap** \- Las imágenes ancladas son importadas, pero todo texto que se envuelve alrededor de la imagen es ignorado. **ignore** \- Las imágenes ancladas no son importadas. |
-| secciones | Text | Sólo para documentos MS Word (.docx). Especifica cómo se maneja la sección. Valores disponibles:
**all** (por defecto) - Se importan todas las secciones. Secciones continuas, incluso impares se convierten en secciones estándar. **ignore** \- Sections are converted to default 4D Write Pro sections (A4 portrait layout without header or footer). **Nota**: las rupturas de secciones de cualquier tipo pero continuas se convierten en rupturas de sección con rupturas de página. Continuous section breaks are imported as continuous section breaks. |
-| fields | Text | Sólo para documentos MS Word (.docx). Especifica cómo se manejan los campos .docx que no pueden ser convertidos a fórmulas 4D Write Pro. Valores disponibles:
**ignore** \- Los campos .docx son ignorados. **label** \- .docx field references are imported as labels within double curly braces ("{{ }}"). Ej: el campo "ClientName" se importará como {{ClientName}}. **value** (default) - El último valor calculado para el campo .docx (si está disponible) es importado. **Note**: If a .docx field corresponds to a 4D Write Pro variable, the field is imported as a formula and this option is ignored. |
-| borderRules | Text | Sólo para documentos MS Word (.docx). Especifica cómo se gestionan los bordes de los párrafos. Valores disponibles:
**collapse** \- El formato del párrafo se modifica para imitar los bordes colapsados automáticamente. Tenga en cuenta que la propiedad contraída sólo se aplica durante la operación de importación. If a stylesheet with a automatic border collapse setting is reapplied after the import operation, the setting will be ignored. **noCollapse** (por defecto) - No se modifica el formato de los párrafos. |
-| preferredFontScriptType | Text | Sólo para documentos MS Word (.docx). Especifica el tipo de letra preferido que se utilizará cuando se definan distintos tipos de letra para una única propiedad de fuente en OOXML. Valores disponibles:
**latin** (por defecto) - script latino **bidi** \- script bidreccional. Adecuado si el documento es principalmente bidireccional de izquierda a derecha (LTR) o de derecha a izquierda (RTL) texto (por ejemplo, árabe o hebreo). **eastAsia** \- East Asian script. Adecuado si el documento es principalmente texto asiático. |
-| htmlExpressions | Text | Sólo para documentos 4D Write (.4w7). Especifica cómo se manejan las expresiones HTML. Available values:
**rawText** \- HTML expressions are imported as raw text within ##htmlBegin## and ##htmlEnd## tags **ignore** (default) - HTML expressions are ignored. |
-| importDisplayMode | Text | Sólo para documentos 4D Write (.4w7). Especifica cómo se gestiona la visualización de imágenes. Available values:
**legacy -** 4W7 image display mode is converted using a background image if different than scaled to fit. **noLegacy** (default) - 4W7 image display mode is converted to the *imageDisplayMode* attribute if different than scaled to fit. |
+| **Atributo** | **Tipo** | **Description** |
+| ----------------------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| anchoredTextAreas | Text | Sólo para documentos MS Word (.docx). Especifica cómo se manejan las áreas de texto ancladas en Word. Valores disponibles:
**anchored** (por defecto) - Las áreas de texto ancladas se tratan como cuadros de texto. **inline** - Las áreas de texto ancladas se tratan como texto en línea en la posición del ancla. **ignore** \- Las áreas de texto ancladas son ignoradas. **Nota**: el diseño y el número de páginas en el documento pueden cambiar. Ver también *Cómo importar formato .docx* |
+| anchoredImages | Text | Sólo para documentos MS Word (.docx). Especifica cómo se manejan las imágenes ancladas. Available values:
**all** (default) - All anchored images are imported as anchored images with their text wrapping properties (exception: the .docx wrapping option "tight" is imported as wrap square). **ignoreWrap** \- Las imágenes ancladas son importadas, pero todo texto que se envuelve alrededor de la imagen es ignorado. **ignore** \- Las imágenes ancladas no son importadas. |
+| secciones | Text | Sólo para documentos MS Word (.docx). Especifica cómo se maneja la sección. Valores disponibles:
**all** (por defecto) - Se importan todas las secciones. Secciones continuas, incluso impares se convierten en secciones estándar. **ignore** \- Sections are converted to default 4D Write Pro sections (A4 portrait layout without header or footer). **Nota**: las rupturas de secciones de cualquier tipo pero continuas se convierten en rupturas de sección con rupturas de página. Continuous section breaks are imported as continuous section breaks. |
+| fields | Text | Sólo para documentos MS Word (.docx). Especifica cómo se manejan los campos .docx que no pueden ser convertidos a fórmulas 4D Write Pro. Valores disponibles:
**ignore** \- Los campos .docx son ignorados. **label** - Las referencias de campo .docx se importan como etiquetas entre llaves dobles ("{{ }}"). Ej: el campo "ClientName" se importará como {{ClientName}}. **value** (default) - El último valor calculado para el campo .docx (si está disponible) es importado. **Note**: If a .docx field corresponds to a 4D Write Pro variable, the field is imported as a formula and this option is ignored. |
+| borderRules | Text | Sólo para documentos MS Word (.docx). Especifica cómo se gestionan los bordes de los párrafos. Valores disponibles:
**collapse** \- El formato del párrafo se modifica para imitar los bordes colapsados automáticamente. Tenga en cuenta que la propiedad contraída sólo se aplica durante la operación de importación. Si se vuelve a aplicar una hoja de estilo con un ajuste de colapso automático de bordes después de la operación de importación, se ignorará el ajuste. **noCollapse** (por defecto) - No se modifica el formato de los párrafos. |
+| preferredFontScriptType | Text | Sólo para documentos MS Word (.docx). Especifica el tipo de letra preferido que se utilizará cuando se definan distintos tipos de letra para una única propiedad de fuente en OOXML. Valores disponibles:
**latin** (por defecto) - script latino **bidi** \- script bidreccional. Adecuado si el documento es principalmente bidireccional de izquierda a derecha (LTR) o de derecha a izquierda (RTL) texto (por ejemplo, árabe o hebreo). **eastAsia** \- East Asian script. Adecuado si el documento es principalmente texto asiático. |
+| htmlExpressions | Text | Sólo para documentos 4D Write (.4w7). Especifica cómo se manejan las expresiones HTML. Available values:
**rawText** \- HTML expressions are imported as raw text within ##htmlBegin## and ##htmlEnd## tags **ignore** (default) - HTML expressions are ignored. |
+| importDisplayMode | Text | Sólo para documentos 4D Write (.4w7). Especifica cómo se gestiona la visualización de imágenes. Available values:
**legacy -** 4W7 image display mode is converted using a background image if different than scaled to fit. **noLegacy** (default) - 4W7 image display mode is converted to the *imageDisplayMode* attribute if different than scaled to fit. |
**Notas de compatibilidad**
-- *Character style sheets in legacy 4D Write documents use a proprietary mechanism, which is not supported by 4D Write Pro. To get the best result for imported text, style sheet attributes are converted to "hard coded" style attributes. Las hojas de estilo de caracteres antiguos no son importadas y ya no están referenciadas en el documento.*
-- *Support for importing in .docx format is only certified for Microsoft Word 2010 and newer. Versiones antiguas, especialmente Microsoft Word 2007, pueden no importar correctamente.*
+- *Las hojas de estilo de caracteres de los documentos heredados de 4D Write utilizan un mecanismo propietario que no es compatible con 4D Write Pro. To get the best result for imported text, style sheet attributes are converted to "hard coded" style attributes. Las hojas de estilo de caracteres antiguos no son importadas y ya no están referenciadas en el documento.*
+- *El soporte para la importación en formato .docx solo está certificado para Microsoft Word 2010 y más recientes. Versiones antiguas, especialmente Microsoft Word 2007, pueden no importar correctamente.*
## Ejemplo 1
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-set-attributes.md b/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-set-attributes.md
index 997c3cd500b662..f8956a27455b98 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-set-attributes.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-set-attributes.md
@@ -19,7 +19,7 @@ displayed_sidebar: docs
## Descripción
-El comando **WP SET ATTRIBUTES** le permite definir el valor de cualquier atributo en un rango, elemento, documento. This command gives you access to any kind of 4D Write Pro internal attribute: character, paragraph, document, table, or image.
+El comando **WP SET ATTRIBUTES** le permite definir el valor de cualquier atributo en un rango, elemento, documento. Este comando le da acceso a cualquier tipo de atributo interno de 4D Write Pro: caracter, párrafo, documento, tabla o imagen.
En *targetObj*, puede pasar:
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/managing-formulas.md b/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/managing-formulas.md
index a84f91af9e168c..dfff1b193852c3 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/managing-formulas.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/managing-formulas.md
@@ -95,17 +95,17 @@ Por ejemplo, para insertar el número de página en el pie de página:
Cuando se utiliza en una fórmula dentro de la tabla, la palabra clave **This** da acceso a diferentes datos según el contexto:
-| **Contexto** | **Expression** | **Tipo** | **Devuelve** |
-| ---------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ----------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| En cualquier sitio | [This](../commands/this.md).table | Object | Tabla actual |
-| | [This](../commands/this.md).row | Object | Current table row element |
-| | [This](../commands/this.md).rowIndex | Number | Índice de la línea actual, a partir de 1 |
-| Cuando se ha definido una fuente de datos para la tabla | [This](../commands/this.md).table.dataSource | Objet (fórmula) | Fuente de datos como fórmula |
-| | [This](../commands/this.md).tableData | Collection o Entity selection (por lo general) | table.dataSource evaluada |
-| In each data row when a table datasource returns a collection or an entity selection | [This](../commands/this.md).item.xxx | Cualquiera | Mapped to each item of the table datasource collection or entity selection, for example **This.item.firstName** if the associated entity has the *firstName* attribute |
-| | [This](../commands/this.md).itemIndex | Number | Índice del elemento actual en la colección o selección de entidades, a partir de 0 |
-| In any row (except header rows) when a table datasource returns a collection or an entity selection | [This](../commands/this.md).previousItems | Collection o entity selection | Items displayed on the pages before the bottom carry over row (if any) or before the row of the expression, including the page where is displayed the row containing the expression.
Esta expresión devuelve el mismo tipo de valor que la expresión **This.tableData**. |
-| In a break row | [This](../commands/this.md).breakItems | Collection o entity selection | Items of the collection or entity selection displayed in the rows between:
- the current break row and the previous break row of the same level (or the start of the table) if the break row(s) are displayed after the data row.
- the current break and the next break row of the same level (or the end of the table) if the break row(s) are displayed before the data row.
|
+| **Contexto** | **Expression** | **Tipo** | **Devuelve** |
+| ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ----------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| En cualquier sitio | [This](../commands/this.md).table | Object | Tabla actual |
+| | [This](../commands/this.md).row | Object | Current table row element |
+| | [This](../commands/this.md).rowIndex | Number | Índice de la línea actual, a partir de 1 |
+| Cuando se ha definido una fuente de datos para la tabla | [This](../commands/this.md).table.dataSource | Objet (fórmula) | Fuente de datos como fórmula |
+| | [This](../commands/this.md).tableData | Collection o Entity selection (por lo general) | table.dataSource evaluada |
+| En cada fila de datos cuando una fuente de datos tabla devuelve una colección o una selección de entidades | [This](../commands/this.md).item.xxx | Cualquiera | Mapped to each item of the table datasource collection or entity selection, for example **This.item.firstName** if the associated entity has the *firstName* attribute |
+| | [This](../commands/this.md).itemIndex | Number | Índice del elemento actual en la colección o selección de entidades, a partir de 0 |
+| En cualquier línea (excepto en las líneas de encabezado) cuando una fuente de datos tabla devuelve una colección o una selección de entidades | [This](../commands/this.md).previousItems | Collection o entity selection | Items displayed on the pages before the bottom carry over row (if any) or before the row of the expression, including the page where is displayed the row containing the expression.
Esta expresión devuelve el mismo tipo de valor que la expresión **This.tableData**. |
+| In a break row | [This](../commands/this.md).breakItems | Collection o entity selection | Items of the collection or entity selection displayed in the rows between:
- the current break row and the previous break row of the same level (or the start of the table) if the break row(s) are displayed after the data row.
- the current break and the next break row of the same level (or the end of the table) if the break row(s) are displayed before the data row.
|
En cualquier otro contexto, estas expresiones devolverán *undefined*.
@@ -167,7 +167,7 @@ Por defecto, las fórmulas 4D se muestran como valores. Al insertar una fórmula
Para mostrar fórmulas como referencias, puede:
-- check the **Show references** option in the Property list (see *Configuring View properties*), or
+- marque la opción **Mostrar referencias** en la lista de propiedades (consulte *Configuración de las propiedades Vista*), o bien
- utilizar la acción estándar visibleReferences (ver *Expresiones dinámicas*), o bien
- usa el comando [**WP SET VIEW PROPERTIES**](commands-legacy/wp-set-view-properties.md) con el selector `wk visible references` en **True**.
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/writeprointerface.md b/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/writeprointerface.md
index 72146ab7f99e17..d0f2771d9fd7e4 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/writeprointerface.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/writeprointerface.md
@@ -8,9 +8,9 @@ slug: /WritePro/write-pro-interface
Un desarrollador 4D puede implementar fácilmente estas paletas en su aplicación. Así, los usuarios finales pueden gestionar todas las propiedades de 4D Write Pro, como las fuentes, la alineación del texto, los marcadores, la disposición de las tablas y los marcos.
-## Installation & documentation
+## Instalación y documentación
-4D Write Pro Interface is a **4D component** that needs to be [installed in your project](../Project/components.md#overview). 4D Write Pro Interface source files are [provided on Github](https://github.com/4d/4D-WritePro-Interface).
+4D Write Pro Interface es un **componente 4D** que necesita ser [instalado en su proyecto](../Project/components.md#overview). Los archivos fuente de 4D Write Pro Interface están [disponibles en Github](https://github.com/4d/4D-WritePro-Interface).
La documentación principal de [la interfaz de 4D Write Pro](https://doc.4d.com/4Dv20/4D/20/Entry-areas.300-6263967.en.html) se encuentra en el manual *Diseño 4D*. Encontrará a continuación:
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAI.md b/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAI.md
index 1271a5aaaa8e21..cd5f8bdcaad443 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAI.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAI.md
@@ -36,15 +36,15 @@ Crear una instancia de la clase cliente OpenAI.
#### Llave API
```4d
-// as text
+// como texto
var $client:=cs.AIKit.OpenAI.new("your api key")
-// as object
+// como objeto
var $client:=cs.AIKit.OpenAI.new({apiKey: "your api key"})
```
#### URL del servidor
-For a [compatible provider](../compatible-openai.md) API, you can configure the server URL.
+Para una API [proveedor compatible](../compatible-openai.md), puede configurar la URL del servidor.
```4d
var $client:=cs.AIKit.OpenAI.new({apiKey: "your api key"; baseURL: "https://server.ai"})
@@ -58,7 +58,7 @@ $client.baseURL:="https://server.ai"
## Recursos API
-La API ofrece acceso a múltiples recursos que permiten una interacción perfecta con los servicios de OpenAI. Each resource is encapsulated within a dedicated API class, offering a structured and intuitive way to interact with different functionalities.
+La API ofrece acceso a múltiples recursos que permiten una interacción perfecta con los servicios de OpenAI. Cada recurso está encapsulado en una clase API específica, que ofrece una forma estructurada e intuitiva de interactuar con las distintas funcionalidades.
| Nombre de la propiedad | Tipo | Descripción |
| ---------------------- | ----------------------------------------------- | ------------------------------------------------ |
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIError.md b/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIError.md
index 50c983790a5e75..0cbbae13977180 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIError.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIError.md
@@ -5,7 +5,7 @@ title: OpenAIError Class
# OpenAIError Class
-La clase `OpenAIError` está diseñada para manejar errores devueltos por la API OpenAI. It extracts relevant information from the error response and provides methods to access this information.
+La clase `OpenAIError` está diseñada para manejar errores devueltos por la API OpenAI. Extrae información relevante de la respuesta de error y ofrece los métodos para acceder a esta información.
## Propiedades
@@ -45,4 +45,4 @@ La clase `OpenAIError` está diseñada para manejar errores devueltos por la API
| `isNotFoundError` | Boolean | Indica si el error es un error 404 Not Found. |
| `isUnprocessableEntityError` | Boolean | Indica si el error es un error de entidad no procesable (422). |
| `isRateLimitError` | Boolean | Indica si el error es un error de límite de velocidad 429. |
-| `isInternalServerError` | Boolean | Indicates if the error is a 500 or higher Internal Server error. |
\ No newline at end of file
+| `isInternalServerError` | Boolean | Indica si el error es un error de servidor interno de tipo 500 o superior. |
\ No newline at end of file
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIMessage.md b/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIMessage.md
index df318d585644d2..72ad5f02e832a0 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIMessage.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIMessage.md
@@ -5,7 +5,7 @@ title: OpenAIMessage
# OpenAIMessage
-La clase `OpenAIMessage` representa un mensaje estructurado que contiene un rol, un contenido y un usuario opcional. This class provides methods to manipulate and retrieve the text and other content of the message.
+La clase `OpenAIMessage` representa un mensaje estructurado que contiene un rol, un contenido y un usuario opcional. Esta clase ofrece métodos para manipular y recuperar el texto y otros contenidos del mensaje.
## Propiedades
@@ -82,8 +82,8 @@ Cuando reciba un mensaje de llamada de herramienta, debe:
2. **Execute the function:**
Parse the arguments (which is a JSON string) and call the corresponding function that you defined in your OpenAITool configuration.
-3. **Respond with the tool result:**
- Create a response message using the exact `tool_call_id` from the original request.
+3. **Responde con el resultado de la herramienta:**
+ Crea un mensaje de respuesta usando el `tool_call_id` exacto de la petición original.
**Ejemplo de respuesta de la herramienta:**
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIParameters.md b/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIParameters.md
index 9b33b972486a0f..c4aae60b5308bb 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIParameters.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIParameters.md
@@ -5,7 +5,7 @@ title: OpenAIParameters
# OpenAIParameters
-The `OpenAIParameters` class is designed to handle execution and request parameters for interacting with the OpenAI API.
+La clase `OpenAIParameters` está diseñada para manejar los parámetros de ejecución y de petición para interactuar con la API OpenAI.
## Propiedades
@@ -17,14 +17,14 @@ Utilice esta propiedad de retrollamada para recibir el resultado independienteme
| ------------------------------------------------- | --------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
| `onTerminate`
(o `formula`) | 4D.Function | Una función que se llamará de forma asíncrona cuando termine. Asegúrese de que el proceso actual no termina. |
-Use these callback properties for more granular control over success and error handling:
+Utilice estas propiedades de retrollamada para un control más granular de la gestión de éxito y de errores:
| Propiedad | Tipo | Descripción |
| ------------ | --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `onResponse` | 4D.Function | Una función a llamar de forma asíncrona cuando la petición finalice **con éxito**. Asegúrese de que el proceso actual no termina. |
| `onError` | 4D.Function | Una función que se llamará de forma asíncrona cuando la petición finalice **con errores**. Asegúrese de que el proceso actual no termina. |
-> The callback function will receive the same result object type (one of [OpenAIResult](./OpenAIResult.md) child classes) that would be returned by the function in synchronous code.
+> La función de retrollamada recibirá el mismo tipo de objeto de resultado (una de las clases hijas de [OpenAIResult](./OpenAIResult.md)) que devolvería la función en un código síncrono.
Ver la [documentación sobre código asíncrono para ejemplos](../asynchronous-call.md)
@@ -32,16 +32,16 @@ Ver la [documentación sobre código asíncrono para ejemplos](../asynchronous-c
| Propiedad | Tipo | Descripción |
| -------------- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `timeout` | Real | Overrides the client-level default timeout for the request, in seconds. Por defecto es 0. |
+| `timeout` | Real | Reemplaza el tiempo de espera predeterminado del nivel de cliente para la petición, en segundos. Por defecto es 0. |
| `httpAgent` | HTTPAgent | Anula el agente HTTP predeterminado a nivel de cliente para la petición. |
| `maxRetries` | Integer | El número máximo de reintentos para la petición. (Sólo si el código no es asíncrono, es decir, no se proporciona ninguna función) |
| `extraHeaders` | Object | Encabezados adicionales para enviar con la petición. |
### Propiedades OpenAPI
-| Propiedad | Tipo | Descripción |
-| --------- | ---- | ----------------------------------------------------------------------------------------------------------- |
-| `user` | Text | A unique identifier representing the end-user, which helps OpenAI monitor and detect abuse. |
+| Propiedad | Tipo | Descripción |
+| --------- | ---- | --------------------------------------------------------------------------------------------------------------------------- |
+| `user` | Text | Un identificador único que representa al usuario final y que ayuda a OpenAI a supervisar y detectar abusos. |
### Otras
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIResult.md b/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIResult.md
index ef3e9ad3508ea9..42afb6d5188d50 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIResult.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIResult.md
@@ -46,7 +46,7 @@ La estructura del objeto `rateLimit` es la siguiente:
### `throw()`
-Lanza el primer error de la colección `errors`. This function is useful for propagating errors up the call stack.
+Lanza el primer error de la colección `errors`. Esta función es útil para propagar los errores por la pila de llamadas.
## Clases heredadas
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/asynchronous-call.md b/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/asynchronous-call.md
index ed81a7d77e2b7a..637fe25c2cdf76 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/asynchronous-call.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/asynchronous-call.md
@@ -5,7 +5,7 @@ title: Asynchronous Call
# Asynchronous Call
-If you do not want to wait for the OpenAPI response when making a request to its API, you need to use asynchronous code.
+Si no desea esperar la respuesta del OpenAPI al hacer una petición a su API, debe utilizar un código asíncrono.
To make asynchronous calls, you must provide a callback `4D.Function`(`Formula`) in the [OpenAIParameters](Classes/OpenAIParameters.md) object parameter to receive the result.
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/assets/en/API/webformClass-pic1.png b/i18n/es/docusaurus-plugin-content-docs/version-21/assets/en/API/webformClass-pic1.png
new file mode 100644
index 00000000000000..5c3de142c5af11
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/version-21/assets/en/API/webformClass-pic1.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/assets/en/API/webformClass-pic2.png b/i18n/es/docusaurus-plugin-content-docs/version-21/assets/en/API/webformClass-pic2.png
new file mode 100644
index 00000000000000..7f1ec3a19a8764
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/version-21/assets/en/API/webformClass-pic2.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/assets/en/API/webformClass-pic3.png b/i18n/es/docusaurus-plugin-content-docs/version-21/assets/en/API/webformClass-pic3.png
new file mode 100644
index 00000000000000..9c128642916f95
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/version-21/assets/en/API/webformClass-pic3.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/assets/en/commands/web-event1.png b/i18n/es/docusaurus-plugin-content-docs/version-21/assets/en/commands/web-event1.png
new file mode 100644
index 00000000000000..f31f769f39a37d
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/version-21/assets/en/commands/web-event1.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/assets/en/commands/web-event2.png b/i18n/es/docusaurus-plugin-content-docs/version-21/assets/en/commands/web-event2.png
new file mode 100644
index 00000000000000..8e3e2e7c50ca69
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/version-21/assets/en/commands/web-event2.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/assets/en/commands/web-event3.png b/i18n/es/docusaurus-plugin-content-docs/version-21/assets/en/commands/web-event3.png
new file mode 100644
index 00000000000000..d7182a677d75a3
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/version-21/assets/en/commands/web-event3.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/assets/en/commands/web-event4.png b/i18n/es/docusaurus-plugin-content-docs/version-21/assets/en/commands/web-event4.png
new file mode 100644
index 00000000000000..3dee994804d176
Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/version-21/assets/en/commands/web-event4.png differ
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/commands-legacy/blob-to-print-settings.md b/i18n/es/docusaurus-plugin-content-docs/version-21/commands-legacy/blob-to-print-settings.md
index 41a06864f9d2f0..cce5b132486dd4 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/commands-legacy/blob-to-print-settings.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/commands-legacy/blob-to-print-settings.md
@@ -34,7 +34,6 @@ El comando devuelve uno de los siguientes códigos de estado:
* 0: ninguna impresora actual está seleccionada (en este caso, el comando no hace nada),
* 1: el BLOB se ha cargado correctamente,
* 2: el BLOB se ha cargado correctamente, pero el nombre de la impresora actual ha cambiado(\*)
-**Nota:** Code (2) siempre se devuelve si el BLOB fue creado por el comando 4D Pack , incluso si el nombre de la impresora no cambió, ya que esta información no se incluyó en los BLOBs 4D Pack.
(\*) Los parámetros dependen de la impresora actual seleccionada en el momento en que el BLOB se guardó. La aplicación de estos valores en otra impresora es soportada si ambas impresoras son del mismo modelo. Si las impresoras son diferentes, se restaurarán sólo los parámetros comunes.
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/commands-legacy/get-database-parameter.md b/i18n/es/docusaurus-plugin-content-docs/version-21/commands-legacy/get-database-parameter.md
index 67e32715374ec9..65c3017d4d6595 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/commands-legacy/get-database-parameter.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/commands-legacy/get-database-parameter.md
@@ -22,6 +22,34 @@ displayed_sidebar: docs
El parámetro *selector* designa el parámetro a obtener. 4D ofrece las siguientes constantes predefinidas, en el tema “*Parámetros de la base*”:
+### 4D Remote mode timeout (14)
+
+**Alcance** (antigua capa de red únicamente): aplicación 4D si valor positivo
+
+**Se conserva entre dos sesiones**: sí si *valor* positivo
+
+**Descripción**: a utilizar en casos muy específicos. Valor del timeout otorgado por el equipo 4D remoto a la máquina 4D Server. Por defecto, este valor se define en la página "Cliente-Servidor/Configuración" de la caja de diálogo de Preferencias en el equipo remoto.
+
+El selector Timeout 4D mode distant no se tiene en cuenta si utiliza la antigua capa de red. Con la capa 4D *ServerNet* activada, se ignora: esta configuración es administrada por el selector Timeout 4D Server (13).
+
+
+
+### 4D Server log recording (28)
+
+**Hilo seguro**: sí
+
+**Alcance**: 4D Server, 4D remoto*
+
+**Se conserva entre dos sesiones**: no
+
+ **Valores posibles**: 0 ó de 1 a X (0 = no grabar, 1 a X = número secuencial, añadido al nombre del archivo).
+
+**Descripción**: inicia o detiene la grabación de las peticiones estándar recibidas por 4D Server (excluyendo las peticiones web). Por defecto, el valor es 0 (no se graban las peticiones).
+
+4D Server le permite grabar cada petición recibida por el equipo servidor en un archivo de historial. Cuando este mecanismo está activo, el archivo de historial se crea junto al archivo de estructura de la base. Su nombre es "4DRequestsLog\_X," donde X es el número secuencial del historial. Una vez el archivo alcanza un tamaño de 10 MB, se cierra y se genera un nuevo archivo, con un número secuencial incrementado. Si existe un archivo con el mismo nombre, se reemplaza directamente. Puede definir el número de inicio de la secuencia utilizando el parámetro *valor*.
+
+Este archivo texto almacena en formato tabulado simple diferente información sobre cada petición: hora, número de proceso, usuario, tamaño de la petición, duración del proceso, etc. Esta información puede ser útil particularmente durante la fase de afinamiento de la aplicación o con fines estadísticos. Por ejemplo puede importarse, en un software de hoja de cálculo para procesarse.
+
### 4D Server timeout (13)
**Alcance**: aplicación 4D si *valor* positivo
@@ -40,59 +68,76 @@ Si pasa un valor **positivo** en el parámetro *valor*, define un timeout global
-### 4D Remote mode timeout (14)
+### Auto synchro resources folder (48)
-**Alcance** (antigua capa de red únicamente): aplicación 4D si *valor* positivo
+**Alcance**:equipo 4D remoto
-**Se conserva entre dos sesiones**: sí si *valor* positivo
+ **Se conserva entre dos sesiones**: no
-**Descripción**: a utilizar en casos muy específicos. Valor del timeout otorgado por el equipo 4D remoto a la máquina 4D Server. Por defecto, este valor se define en la página "Cliente-Servidor/Configuración" de la caja de diálogo de Preferencias en el equipo remoto.
+ **Valores posibles**: 0 (sin sincronización), 1 (auto sincronización) ó 2 (preguntar).
-El selector Timeout 4D mode distant no se tiene en cuenta si utiliza la antigua capa de red. Con la capa 4D *ServerNet* activada, se ignora: esta configuración es administrada por el selector Timeout 4D Server (13).
+**Descripción**: modo de sincronización dinámico de la carpeta *Resources* del equipo cliente 4D que ejecuta el comando con el servidor.
+
+Cuando el contenido de la carpeta *Resources* en el servidor se ha modificado o un usuario ha solicitado la sincronización (por ejemplo vía el explorador de recursos o siguiendo la ejecución del comando [NOTIFY RESOURCES FOLDER MODIFICATION](notify-resources-folder-modification.md "NOTIFY RESOURCES FOLDER MODIFICATION")), el servidor notifica a los equipos cliente conectados.
+Tres modos de sincronización son posibles del lado del cliente. El selector Auto Synchro Resources Folder se utiliza para especificar el modo a utilizar por el equipo cliente para la sesión actual:
+
+0 (valor por defecto): sin sincronización dinámica (la petición de sincronización se ignora) 1: sincronización dinámica automática2: visualización de una caja de diálogo en los equipos clientes, con la posibilidad de efectuar o rechazar la sincronización.El modo de sincronización también puede definirse globalmente en las Preferencias de la aplicación.
-### Port ID (15)
+
+### Cache flush periodicity (95)
+
+**Hilo seguro**: sí
+
**Alcance**: 4D local, 4D Server
-**Se conserva entre dos sesiones**: no
+**Se conserva entre dos sesiones:** no
+
+**Valores posibles:** entero largo > 1 (segundos)
+
+**Descripción**: obtiene o establece la periodicidad del vaciado de la caché, expresado en segundos. La modificación de este valor prevalece sobre la opción **Vaciar caché cada X segundos** en [XML DECODE](xml-decode.md) de la configuración de la base para la sesión (que no se almacena en las Propiedades de la base).
-**Descripción**: Command SET DATABASE Número de puerto TCP utilizado por el servidor web 4D con 4D en modo local y 4D Server. El valor por defecto, puede definirse en la página "Web/Configuración" de la caja de diálogo de Preferencias es 80\. Puede utilizar las constantes del tema *Números de puerto TCP* para el parámetro *valor*.
-El selector Port ID se utiliza en el marco de servidores web 4D compilados y fusionados con 4D Desktop (sin acceso al modo Diseño). Para mayor información sobre el número de puerto TCP, consulte la sección *Parámetros del servidor web*
+### Cache unload minimum size (66)
+**Alcance**: aplicación 4D
-### Character set (17)
+**Se conserva entre dos sesiones**: no
-**Alcance:** 4D local, 4D Server**
+**Valores posibles**: entero largo positivo > 1.
-**Se conserva entre dos sesiones:** sí**
+**Descripción**: tamaño mínimo de memoria a liberar del caché de la base de datos cuando el motor necesita hacer espacio para ubicar un objeto (valor en bytes).
-**Descripción:** *constante obsoleta (se conserva por compatibilidad únicamente).* Ahora recomendamos utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
+El propósito de este selector es reducir el número de liberaciones de datos de la caché con el fin de obtener un mejor rendimiento. Puede hacer variar este parámetro en función del tamaño de la caché y del de los bloques de datos manipulados en su base.
+Por defecto, si este selector no se utiliza, 4D descarga mínimo 10% de la caché en caso de que se necesite espacio.Alcance: Aplicación 4D
-### Max concurrent Web processes (18)
-**Alcance**: 4D local, 4D Server
+### Character set (17)
+
+**Alcance:** 4D local, 4D Server
**Se conserva entre dos sesiones**: sí
-**Descripción**: *constante obsoleta (se conserva por compatibilidad únicamente).* Se recomienda utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
+**Descripción:** constante obsoleta (se conserva por compatibilidad únicamente). Ahora recomendamos utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
-### Client port ID (22)
+### Circular log limitation (90)
-**Alcance**: todos los equipos 4D remotos
+**Hilo seguro**: sí
- **Se conserva entre dos sesiones**: sí
+**Alcance**: 4D local, 4D Server.
- **Valores posibles**: ver selector 15
+**Se conserva entre dos sesiones:** no
-**Descripción**: permite especificar este parámetro para todos los equipos 4D remotos utilizados como servidores web. Los valores definidos utilizando estos selectores se aplican a todos los equipos remotos utilizados como servidores web. Si quiere definir valores sólo para ciertos equipos remotos, utilice la caja de diálogo de Preferencias de 4D en modo remoto.
+**Valores posibles**: todo valor entero, 0 = conservar todos los registros
+
+**Descripción**: número máximo de archivos a conservar en rotación para cada tipo de registro. Por defecto, todos los archivos se conservan. Si pasa un valor *X*, solo los *X* archivos más recientes se conservan, el más antiguo se borra automáticamente cuando se crea uno nuevo. Esta parametrización se aplica a cada uno de los siguientes archivos de registro: registros de peticiones (selectores 28 y 45), registro de depuración (selector 34), registro de eventos (selector 79), así como el historial de peticiones web (selectores 29 y 84 del comando [WEB SET OPTION](web-set-option.md)), etc.
@@ -108,6 +153,38 @@ El selector Port ID se utiliza en el marco de servidores web 4D compilados y fus
+### Client HTTPS port ID (40)
+
+**Alcance**: todos los equipos 4D remotos
+
+ **Se conserva entre dos sesiones**: sí
+
+ **Valores posibles**: 0 a 65535
+
+**Descripción**: número de puerto TCP utilizado por los servidores web de los equipos clientes para conexiones seguras vía SSL (protocolo HTTPS). Por defecto, el valor es 443 (valor estándar).
+
+Este selector puede utilizarse para modificar por programación el puerto TCP utilizado por los servidores web de los equipos clientes para las conexiones seguras vía SSL (protocolo HTTPS). Por defecto, el valor es 443 (valor estándar).
+
+Este selector funciona exactamente igual que el selector 39; sin embargo, aplica a todos los equipos 4D remotos utilizados como servidores web. Si quiere modificar el valor de ciertos equipos clientes únicamente, utilice la caja de diálogo de Preferencias de 4D remoto.
+
+
+
+### Client log recording (45)
+
+**Alcance**:equipo 4D remoto
+
+ **Se conserva entre dos sesiones**: no
+
+ **Valores posibles**: 0 ó de 1 a X (0 = no grabar, 1 a X = número secuencial, asociado al nombre del archivo).
+
+**Descripción**: inicia o detiene la grabación de peticiones estándar efectuadas por el equipo cliente 4D que ejecutó el comando (excluyendo las peticiones web). Por defecto, el valor es 0 (no se graban las peticiones).
+
+4D le permite registrar el historial de peticiones realizadas por el equipo cliente. Cuando este mecanismo se activa, se crean dos archivos en el equipo cliente, en la subcarpeta Logs de la carpeta local de la base. Son llamados 4DRequestsLog\_X y 4DRequestsLog\_ProcessInfo\_X, donde X es el número secuencial del historial. Una vez el archivo 4DRequestsLog alcanza un tamaño de 10 MB, se cierra y se genera uno nuevo, con un número secuencial incrementado. Si ya existe un archivo con el mismo nombre, se reemplaza directamente. Puede definir el número de inicio para la secuencia utilizando el parámetro *valor*.
+
+Estos archivos texto almacenan en formato tabulado simple diferente información relacionada con cada petición: hora, número de proceso, tamaño de la petición, duración del proceso, etc. Esta información es particularmente útil durante la fase de desarrollo de la aplicación o con fines estadísticos.
+
+
+
### Client max concurrent Web proc (25)
**Alcance**: todos los equipos 4D remotos
@@ -120,30 +197,34 @@ El selector Port ID se utiliza en el marco de servidores web 4D compilados y fus
-### Maximum Web requests size (27)
+### Client port ID (22)
-**Alcance**: 4D local, 4D Server
+**Alcance**: todos los equipos 4D remotos
-**Se conserva entre dos sesiones**: sí
+ **Se conserva entre dos sesiones**: sí
-**Descripción**: *Constante obsoleta (se conserva por compatibilidad únicamente).* Se recomienda utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
+ **Valores posibles**: ver selector 15
+**Descripción**: permite especificar este parámetro para todos los equipos 4D remotos utilizados como servidores web. Los valores definidos utilizando estos selectores se aplican a todos los equipos remotos utilizados como servidores web. Si quiere definir valores sólo para ciertos equipos remotos, utilice la caja de diálogo de Preferencias de 4D en modo remoto.
-### 4D Server log recording (28)
-**Hilo seguro**: sí
+### Client Server port ID (35)
-**Alcance**: 4D Server, 4D remoto*
+**Alcance**: base de datos
-**Se conserva entre dos sesiones**: no
+**Se conserva entre dos sesiones**: sí
- **Valores posibles**: 0 ó de 1 a X (0 = no grabar, 1 a X = número secuencial, añadido al nombre del archivo).
+**Valores posibles**: 0 a 65535
-**Descripción**: inicia o detiene la grabación de las peticiones estándar recibidas por 4D Server (excluyendo las peticiones web). Por defecto, el valor es 0 (no se graban las peticiones).
+**Descripción**: número de puerto TCP donde el servidor 4D publica la base de datos (para conexión remota 4D). Por defecto, el valor es 19813\.
+
+La personalización de este valor permite utilizar varias aplicaciones 4D cliente-servidor en la misma máquina con el protocolo TCP; en este caso, debe indicar un número de puerto diferente para cada aplicación.
+
+El valor se guarda en el archivo de estructura de la base. Puede definirse con 4D en modo local pero sólo se tiene en cuenta en configuración cliente servidor.
+
+Cuando modifica este valor, es necesario reiniciar el equipo servidor para que el nuevo valor sea tenido en cuenta.
-4D Server le permite grabar cada petición recibida por el equipo servidor en un archivo de historial. Cuando este mecanismo está activo, el archivo de historial se crea junto al archivo de estructura de la base. Su nombre es "4DRequestsLog\_X," donde X es el número secuencial del historial. Una vez el archivo alcanza un tamaño de 10 MB, se cierra y se genera un nuevo archivo, con un número secuencial incrementado. Si existe un archivo con el mismo nombre, se reemplaza directamente. Puede definir el número de inicio de la secuencia utilizando el parámetro *valor*.
-Este archivo texto almacena en formato tabulado simple diferente información sobre cada petición: hora, número de proceso, usuario, tamaño de la petición, duración del proceso, etc. Esta información puede ser útil particularmente durante la fase de afinamiento de la aplicación o con fines estadísticos. Por ejemplo puede importarse, en un software de hoja de cálculo para procesarse.
### Client Web log recording (30)
@@ -160,17 +241,33 @@ El funcionamiento de este selector es idéntico al del selector 29; sin embargo,
-### Table sequence number (31)
+### Current process debug log recording (111)
-**Alcance**: aplicación 4D
+**Alcance:** Aplicación 4D
- **Se conserva entre dos sesiones**: sí
+**Se conserva entre dos sesiones:** no
- **Valores posibles**: todo valor de tipo entero largo.
+**Descripción**: inicia o detiene el registro secuencial de eventos de programación **del proceso actual** en un archivo de historial separado. Este historial es similar al Debug log recording (selector 34) pero se enfoca solo en el proceso actual. El nombre del archivo de historial incluye la letra "p" y el número del proceso: 4DDebugLog\[\_p*N*_*n*].txt, donde N es el ID único del proceso.
-**Descripción**: este selector se utiliza para modificar o modificar u obtener el número único actual de los registros de la tabla pasada en parámetro. "Número actual" significa "último número utilizado": si modifica este valor utilizando [SET DATABASE PARAMETER](set-database-parameter.md "SET DATABASE PARAMETER"), el siguiente registro será el valor pasado + 1\. Este nuevo número es el número devuelto por el comando Sequence number [](http://doc.tmp.4d.fr/Database-Parameters/4Dv11.4/ConstantTheme/4870/CMU00244.HTM) como también en todo campo de la tabla a la cual se asigna la propiedad "Autoincrementar" en el editor de estructura o vía SQL.
+Para más información sobre este formato y sobre el uso del archivo *4DDebugLog*, consulte *Descripción de archivos de historial* en el Modo Diseño.
-Por defecto, este número único es definido por 4D y corresponde al orden de creación de los registros. Para información adicional, por favor consulte la documentación del comando [Sequence number](sequence-number.md "Sequence number").
+**Notas:** Este selector se proporciona únicamente con el fin de depurar y debe utilizarse con cuidado. En particular, no debe ponerse en producción, ya que puede tener un impacto en el rendimiento de la aplicación. Puede utilizarar ambos selectores Debug log recording y Current process debug log recording simultáneamente, en cuyo caso las acciones del proceso actual no se registrarán en el archivo de historial principal.
+
+
+
+### Dates inside objects (85)
+
+**Alcance**: proceso actual
+
+ **Se conserva entre dos sesiones:** no
+
+ **Valores posibles**: Tipo cadena sin zona horaria (0), tipo cadena con zona horaria (1), tipo fecha (2) (por defecto)
+
+**Descripción**: define la forma en que se almacenan las fechas dentro de los objetos, así como también cómo se importan / exportan en JSON.
+
+Cuando el valor del selector es Date type (valor predeterminado para las bases creadas con 4D v17 y superior), las fechas 4D se almacenan con el tipo de fecha dentro de los objetos, con respecto a la configuración de fecha local. Cuando se convierte a formato JSON, los atributos de fecha se convertirán en cadenas que no incluyen un tiempo. (**Nota:** esta configuración se puede definir mediante la opción "Utilizar tipo de fecha en lugar del formato de fecha ISO en objetos" que se encuentra en *Página Compatibilidad* de la configuración de la base).
+
+Si pasa String type with time zone en este selector, convertirá las fechas 4D en cadenas ISO y tendrá en cuenta la zona horaria local. Por ejemplo, la conversión de la fecha 23/08/2013 le da "2013-08-22T22: 00: 000Z" en formato JSON cuando la operación se realiza en Francia durante el horario de verano (GMT+ 2). Este principio se ajusta al funcionamiento estándar de JavaScript. Esto puede ser una fuente de errores cuando desea enviar valores de fecha JSON a alguien en un huso horario diferente. Por ejemplo, cuando exporta una tabla usando [Selection to JSON](selection-to-json.md) en Francia que se debe reimportar en los EE. UU. utilizando [JSON TO SELECTION](json-to-selection.md). Dado que las fechas se vuelven a interpretar en cada zona horaria, los valores almacenados en la base de datos serán diferentes. En este caso, puede modificar el modo de conversión de las fechas para que no tengan en cuenta la zona horaria pasando String type without time zone en este selector. La conversión de la fecha 23/08/2013 le dará "2013-08-23T00: 00: 00Z" en todos los casos.
@@ -188,37 +285,30 @@ Por defecto, este número único es definido por 4D y corresponde al orden de cr
- El modo con pestañas ofrece información adicional y utiliza un formato más compacto con pestañas en el archivo. Los tiempos de ejecución se expresan en microsegundos.
-**Valores posibles**: Entero largo contiene un campo de bits: valor = bit1(1)+bit2(2)+bit3(4)+bit4(8)+…).
+**Valores posibles**: entero largo contiene un campo de bits: valor = bit1(1)+bit2(2)+bit3(4)+bit4(8)+…).
- Bit 0 (valor 1) permite activar el archivo (note que cualquier otro valor no nulo también lo activará)
-
- Bit 1 (valor 2) permite solicitar los parámetros de llamada a los métodos y comandos.
-
- Bit 2 (valor 4) permite activar el nuevo formato tabulado.
-
- Bit 3 (valor 8) permite desactivar la escritura inmediata de cada operación en el disco (activado por defecto). La escritura inmediata es menor rápida y más eficaz por ejemplo para buscar las causas de un fallo.Si desactiva este modo, el contenido del archivo será generado más rápidamente.
-
- Bit 4 (valor 16) desactiva el registro de llamadas de plug-ins (activado por defecto).
-
- Bit 5 (valor 32) desactiva el registro de las funciones miembros.
Ejemplos:
+```4d
SET DATABASE PARAMETER (34;1) // activa el modo estándar sin los parámetros, con las duraciones
-
SET DATABASE PARAMETER (34;2) // activa el modo estándar con los parámetros y las duraciones
-
SET DATABASE PARAMETER (34;2+4) // activa el modo tabulado con los parámetros y las duraciones
+SET DATABASE PARAMETER (34;0) // desactiva el archivo
+```
-SET DATABASE PARAMETER (34;0) // desactiva el archivo Para todo tipo de aplicación 4D interpretada o compilada (4D todos los modos, 4D Server, 4D Volume Desktop), puede evitar que un archivo registre demasiada información:
+Para todo tipo de aplicación 4D interpretada o compilada (4D todos los modos, 4D Server, 4D Volume Desktop), puede evitar que un archivo registre demasiada información:
- restringiendo los comandos 4D que se examinan utilizando Log command list (selector 80), o
-
- restringiéndolo sólo al proceso actual con Current process debug log recording (selector 111). Esto añadirá la letra "p" y el número de proceso al nombre del archivo: *4DDebugLog\[\_pn\_n\].txt* o *4DDebugLogServer\[\_pn\_n\].txt*
-
-
-Para más información sobre este formato y sobre el uso del archivo *4DDebugLog*, consulte la sección *Descripción de archivos de historial*.
+*Para más información sobre este formato y sobre el uso del archivo *4DDebugLog*, consulte la sección *Descripción de archivos de historial*.
Este selector se ofrece únicamente con fines de depuración y debe utilizarse con cuidado, ya que puede afectar al rendimiento de la aplicación.
@@ -228,484 +318,419 @@ Este selector se ofrece únicamente con fines de depuración y debe utilizarse c
-### Client Server port ID (35)
+### Diagnostic log level (86)
-**Alcance**: base de datos
+**Hilo seguro**: sí
-**Se conserva entre dos sesiones**: sí
+**Alcance**: aplicación 4D
-**Valores posibles**: 0 a 65535
+**Se conserva entre dos sesiones**: no
-**Descripción**: número de puerto TCP donde el servidor 4D publica la base de datos (para conexión remota 4D). Por defecto, el valor es 19813\.
+**Descripción**: nivel(es) de los mensajes que se incluirán en el registro de diagnóstico cuando esté habilitado (ver selector Diagnostic log recording). Cada nivel designa una categoría de mensajes de diagnóstico e incluye automáticamente las categorías más importantes. Para una descripción de las categorías, consulte la sección *Niveles de registro de diagnóstico* en *developer.4d.com*.
-La personalización de este valor permite utilizar varias aplicaciones 4D cliente-servidor en la misma máquina con el protocolo TCP; en este caso, debe indicar un número de puerto diferente para cada aplicación.
+**Valores posibles**: una de las siguientes constantes (Log info por defecto): Log trace: activa ERROR, WARN, INFO, DEBUG, TRACE (nivel más detallado) Log debug: activa ERROR, WARN, INFO, DEBUG Log info: activa ERROR, WARN, INFO (por defecto) Log warn: activa ERROR, WARN Log error: activa ERROR (nivel menos detallado)
-El valor se guarda en el archivo de estructura de la base. Puede definirse con 4D en modo local pero sólo se tiene en cuenta en configuración cliente servidor.
-Cuando modifica este valor, es necesario reiniciar el equipo servidor para que el nuevo valor sea tenido en cuenta.
+### Diagnostic log recording (79)
+**Hilo seguro**: sí
-### HTTPS Port ID (39)
+**Alcance**: aplicación 4D
-**Alcance**: 4D local, 4D Server
+**Se conserva entre dos sesiones**: no
-**Se conserva entre dos sesiones**: sí
+**Valores posibles**: 0 ó 1 (0 = no guardar, 1 = guardar)
-**Descripción**: *Constante obsoleta (se conserva por compatibilidad únicamente).* Se recomienda utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
+**Descripción**: inicio o detención del registro del archivo de diagnóstico de 4D. Por defecto, el valor es 0 (no guarda).
+4D permite guardar de manera continua en un archivo de diagnóstico un conjunto de eventos relativos al funcionamiento interno de la aplicación. La información contenida en este archivo está destinada a la actualización de las aplicaciones 4D y puede ser analizada con ayuda de los servicios técnicos de 4D. Cuando pasa 1 en este selector, el archivo de diagnóstico, llamado *NomBase.txt*, se crea automáticamente (o abre) en la carpeta **Logs** de la base. Una vez el archivo alcance un tamaño de 10 MB, se cierra y se genera un nuevo archivo *NomBase\_N.txt*, con un número secuencial N incrementado.
+Note que es posible incluir la información personalizada en este archivo con ayuda del comando [LOG EVENT](log-event.md).
-### Client HTTPS port ID (40)
-**Alcance**: todos los equipos 4D remotos
- **Se conserva entre dos sesiones**: sí
+### Direct2D get active status (74)
- **Valores posibles**: 0 a 65535
+**Nota**: sólo puede utilizar este selector con el comando [Get database parameter](get-database-parameter.md "Get database parameter") y su valor no puede definirse.
-**Descripción**: número de puerto TCP utilizado por los servidores web de los equipos clientes para conexiones seguras vía SSL (protocolo HTTPS). Por defecto, el valor es 443 (valor estándar).
+**Descripción**: devuelve la implementación activa de Direct2D bajo Windows.
-Este selector puede utilizarse para modificar por programación el puerto TCP utilizado por los servidores web de los equipos clientes para las conexiones seguras vía SSL (protocolo HTTPS). Por defecto, el valor es 443 (valor estándar).
+**Valores posibles**: 0, 1, 2, 3, 4 o 5 (ver los valores del selector 69). El valor devuelto depende de la disponibilidad de Direct2D, del hardware y de la calidad Direct2D soportado por el sistema operativo.
-Este selector funciona exactamente igual que el selector 39; sin embargo, aplica a todos los equipos 4D remotos utilizados como servidores web. Si quiere modificar el valor de ciertos equipos clientes únicamente, utilice la caja de diálogo de Preferencias de 4D remoto.
+Por ejemplo, si ejecuta:
+```4d
+SET DATABASE PARAMETER(Direct2D status;Direct2D Hardware)
+$mode:=Get database parameter(Direct2D get active status)
+```
+- En Windows 7 y superiores, $mode vale 1 cuando el sistema detecta un hardware compatible con Direct2D; de lo contrario, $mode valdrá 3 (contexto software).
+- En Windows Vista, $mode valdrá 1 si el sistema detecta un hardware compatible con Direct2D; de lo contrario, $mode toma el valor 0 (desactivando Direct2D).
+- En Windows XP, $mode siempre valdrá 0 (no compatible con Direct2D).
-### SQL Autocommit (43)
-**Alcance**:base de datos
- **Se conserva entre dos sesiones**: sí
+### Direct2D status (69)
- **Posibles valores**: 0 (desactivación) o 1 (activación)
+**Alcance**: aplicación 4D
-**Descripción**: activación o desactivación del modo SQL auto-commit. Por defecto, el valor es 0 (modo desactivado)
+**Se conserva entre dos sesiones**: no
- El modo auto-commit permite reforzar la integridad referencial de la base. Cuando este modo está activo, las peticiones *SELECT*, INSERT, UPDATE y *DELETE* (SIUD) se incluyen automáticamente en las transacciones cuando no se han ejecutado dentro de una transacción. Este modo igualmente puede definirse en las Preferencias de la base.
+**Descripción**: modo de activación de Direct2D bajo Windows.
+**Valores posibles**: una de las siguientes constantes (modo 3 por defecto):
+- Direct2D Disabled (0): el modo Direct2D no está habilitado y la base de datos funciona en el modo anterior (GDI/GDIPlus).
+- Direct2D Hardware (1): utilice Direct2D como contexto de hardware de gráficos para toda la aplicación 4D. Si este contexto no está disponible, use el contexto del software de gráficos Direct2D.
+- Direct2D Software (3) (modo predeterminado): a partir de Windows 7, utilice el contexto del software de gráficos Direct2D para toda la aplicación 4D.
-### SQL Engine case sensitivity (44)
+***Advertencia*: este selector se ofrece solo para fines de depuración. Dado que varias funciones 4D se basan en Direct2D, no se debe desactivar en las aplicaciones implementadas. Solo el modo predeterminado (Direct2D Software)* **está aprobado para las aplicaciones desplegadas.*
-**Alcance**: base de datos
- **Se conserva entre dos sesiones**: sí
- **Valores posibles**: 0 (no se tienen en cuenta las mayúsculas y minúsculas) ó 1 (sensible a las mayúsculas y minúsculas)
+### HTTP compression level (50)
-**Descripción**: activación o desactivación de la sensibilidad a mayúsculas y minúsculas para comparaciones de cadenas efectuadas por el motor SQL.
+**Alcance**: aplicación 4D
-Por defecto, el valor es 1 (sensible a las mayúsculas y minúsculas): el motor SQL diferencia entre mayúsculas y minúsculas y entre caracteres acentuados al comparar cadenas (ordenaciones y búsquedas). Por ejemplo “ABC”= “ABC” pero “ABC” # “Abc.” En algunos casos, por ejemplo para alinear el funcionamiento del motor SQL con el del motor 4D, podría querer que las comparaciones de cadenas no tengan en cuenta las mayúsculas y minúsculas (“ABC”=“Abc”).
+**Se conserva entre dos sesiones**: no
-**Atención:* como esta opción Modifica el archivo de estructura de la base de datos y todos los procesos. Por motivos de rendimiento, se recomienda encarecidamente configurarlo solo al iniciar la base de datos.* Esta opción también se puede configurar en los ajustes de la base de datos.
+**Descripción**: *constante obsoleta (se conserva por compatibilidad únicamente).* Se recomienda utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
-### Client log recording (45)
+### HTTP compression threshold (51)
-**Alcance**: equipo 4D remoto
+**Alcance**: aplicación 4D
- Se conserva entre dos **sesiones**: no
+**Se conserva entre dos sesiones**: no
- **Valores posibles**: 0 ó de 1 a X (0 = no grabar, 1 a X = número secuencial, asociado al nombre del archivo).
+**Descripción**: *constante obsoleta (se conserva por compatibilidad únicamente).* Se recomienda utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
-**Descripción**: inicia o detiene la grabación de peticiones estándar efectuadas por el equipo cliente 4D que ejecutó el comando (excluyendo las peticiones web). Por defecto, el valor es 0 (no se graban las peticiones).
-4D le permite registrar el historial de peticiones realizadas por el equipo cliente. Cuando este mecanismo se activa, se crean dos archivos en el equipo cliente, en la subcarpeta Logs de la carpeta local de la base. Son llamados 4DRequestsLog\_X y 4DRequestsLog\_ProcessInfo\_X, donde X es el número secuencial del historial. Una vez el archivo 4DRequestsLog alcanza un tamaño de 10 MB, se cierra y se genera uno nuevo, con un número secuencial incrementado. Si ya existe un archivo con el mismo nombre, se reemplaza directamente. Puede definir el número de inicio para la secuencia utilizando el parámetro *valor*.
-Estos archivos texto almacenan en formato tabulado simple diferente información relacionada con cada petición: hora, número de proceso, tamaño de la petición, duración del proceso, etc. Esta información es particularmente útil durante la fase de desarrollo de la aplicación o con fines estadísticos.
+### HTTPS Port ID (39)
+**Alcance**: 4D local, 4D Server
+**Se conserva entre dos sesiones**: sí
-### Query by formula on server (46)
+**Descripción**: *constante obsoleta (se conserva por compatibilidad únicamente).* Se recomienda utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
-**Alcance**: tabla y procesos actuales
- **Se conserva entre dos sesiones**: no
- **Valores posibles**: 0 (utilizar la configuración de la base), 1 (ejecutar en cliente) o 2 (ejecutar en servidor)
+### Idle connections timeout (54)
-**Descripción**: ubicación de la ejecución de los comandos [QUERY BY FORMULA](query-by-formula.md "QUERY BY FORMULA") y [QUERY SELECTION BY FORMULA](query-selection-by-formula.md "QUERY SELECTION BY FORMULA") para la *tabla* pasada en parámetro.
+**Alcance**: aplicación 4D a menos que valor sea negativo
-Cuando se utiliza una base en modo cliente-servidor, los comandos de búsqueda "por fórmula" pueden ejecutarse en el servidor o en el equipo cliente:
+**Se conserva entre dos sesiones:** no
-en bases creadas con 4D v11 SQL, estos comandos se ejecutan en el servidor.en bases convertidas, estos comandos se ejecutan en el equipo cliente, como en las versiones anteriores de 4D.en las bases convertidas, una preferencia específica permite modificar globalmente la ubicación de ejecución de estos comandos.Esta diferencia en ubicación de ejecución influye no sólo en el rendimiento de la aplicación (la ejecución en el servidor es generalmente más rápida) sino también en la programación. En efecto, el valor de los componentes de la fórmula (en particular las variables llamadas vía un método) varía de acuerdo al contexto de ejecución. Puede utilizar este selector para adaptar puntualmente el funcionamiento de su aplicación.
+**Valores posibles:** valor entero que expresa una duración en segundos. El valor puede ser positivo (nuevas conexiones) o negativo (conexiones existentes). Por defecto, el valor es 20.
-Si pasa 0 en el parámetro *valor*, la ubicación de ejecución de los comandos de búsqueda "por fórmula" dependerá de la configuración de la base: en bases creadas con 4D v11 SQL, estos comandos se ejecutarán en el servidor. En bases convertidas, se ejecutarán en el equipo cliente o en el servidor en función de las preferencias de la base. Pase 1 ó 2 en *valor* para "forzar" la ejecución de estos comandos respectivamente en el equipo cliente o en el servidor.
+**Descripción**: máximo periodo de inactividad (timeout) para conexiones al motor de la base 4D, el motor SQL y el servidor de aplicaciones 4D (capa de red *ServerNet* únicamente, ignorado en *QUIC*). Cuando una conexión inactiva alcanza este límite, se pone en espera automáticamente, lo cual congela la sesión cliente/servidor y cierra el socket de red. En la ventana de administración del servidor, el estado del proceso del usuario se indica como "Postponed". Este funcionamiento es totalmente transparente para el usuario: tan pronto como hay una nueva actividad en la conexión que está en espera, el socket se reabre automáticamente y la sesión cliente/servidor se restaura.
-Consulte el ejemplo 2.
-
-**Nota:** si quiere activar las uniones "tipo SQL" (consulte el selector QUERY BY FORMULA Joins selector), siempre debe ejecutar las fórmulas en el servidor de manera que tengan acceso a los registros. Atención, en este contexto, la fórmula no debe contener llamadas a un método, de lo contrario pasará automáticamente al equipo remoto.
-
-
-
-### Order by formula on server (47)
-
-**Alcance**: tabla y procesos actuales
-
- **Se conserva entre dos sesiones**: no
-
- **Valores posibles**: 0 (utilizar la configuración de la base), 1 (ejecutar en el cliente) o 2 (ejecutar en el servidor)
-
-**Descripción**: ubicación de la ejecución del comando [ORDER BY FORMULA](order-by-formula.md "ORDER BY FORMULA") para la tabla pasada en parámetro.
-
-Al utilizar una base en modo cliente-servidor, el comando [ORDER BY FORMULA](order-by-formula.md "ORDER BY FORMULA") puede ejecutarse bien sea en el equipo servidor o en el cliente. Este selector puede utilizarse para especificar la ubicación de la ejecución de este comando (servidor o cliente). Este modo también puede definirse en las preferencias de la base. Para mayor información, consulte la descripción del selector 46, Query By Formula On Server.
-
-**Nota:** si quiere activar las uniones "tipo SQL" (consulte el selector QUERY BY FORMULA Joins selector), siempre debe ejecutar las fórmulas en el servidor de manera que tengan acceso a los registros. Atención, en este contexto, la fórmula no debe contener llamadas a un método, de lo contrario pasará automáticamente al equipo remoto.
-
-
-
-### Auto synchro resources folder (48)
-
-**Alcance**: equipo 4D remoto
-
- **Se conserva entre dos sesiones**: no
+Este parámetro permite, por una parte, economizar los recursos en el servidor: las conexiones en espera cierran el socket y liberan un proceso en el servidor. Por otra parte, esto le permite evitar pérdida de conexiones por el cierre de sockets por parte del firewall. Por esta razón, el valor del timeout para conexiones inactivas deber ser menor que el del firewall en este caso.
- **Valores posibles**: 0 (sin sincronización), 1 (auto sincronización) ó 2 (preguntar).
+Si pasa un valor positivo en *valor*, se aplicará a todas las nuevas conexiones en todos los procesos. Si pasa un valor negativo, se aplicará a las conexiones que se abran en el proceso actual. Si pasa 0, las conexiones inactivas no serán sometidas a un timeout.
-**Descripción**: modo de sincronización dinámico de la carpeta *Resources* del equipo cliente 4D que ejecuta el comando con el servidor.
+Este parámetro puede definirse del lado del cliente. Por lo general, no necesita cambiar este valor.
-Cuando el contenido de la carpeta *Resources* en el servidor se ha modificado o un usuario ha solicitado la sincronización (por ejemplo vía el explorador de recursos o siguiendo la ejecución del comando [NOTIFY RESOURCES FOLDER MODIFICATION](notify-resources-folder-modification.md "NOTIFY RESOURCES FOLDER MODIFICATION")), el servidor notifica a los equipos cliente conectados.
-Tres modos de sincronización son posibles del lado del cliente. El selector Auto Synchro Resources Folder se utiliza para especificar el modo a utilizar por el equipo cliente para la sesión actual:
-0 (valor por defecto): sin sincronización dinámica (la petición de sincronización se ignora) 1: sincronización dinámica automática2: visualización de una caja de diálogo en los equipos clientes, con la posibilidad de efectuar o rechazar la sincronización.El modo de sincronización también puede definirse globalmente en las Preferencias de la aplicación.
+### IMAP Log (119)
+**Hilo seguro**: sí
+**Alcance**: 4D local, 4D Server
-### Query by formula joins (49)
+**Se conserva entre dos sesiones**: no
-**Alcance**: proceso actual
+**Valores posibles**: 0 o de 1 a X (0 = no grabar, 1 a X = número secuencial, añadido al nombre del archivo). Por defecto, el valor es 0 (los intercambios IMAP no se registran).
- Se conserva entre dos **sesiones**: no
+**Descripción**: inicia o detiene la grabación de los intercambios entre 4D y el servidor IMAP, cuando se procesa un objeto transportador a través de *IMAP\_transporter.getMail( )* o *IMAP\_transporter.checkConnection( )*. Por defecto, el valor es 0 (intercambios no registrados). Cuando se activa este mecanismo, se crea un archivo de registro en la carpeta Logs de la base. Se llama 4DIMAPLog\_X.txt, donde X es el número secuencial del registro. Una vez que el archivo 4DIMAPLog ha alcanzado un tamaño de 10 MB, se cierra y se genera uno nuevo, con un número secuencial incrementado. Si ya existe un archivo con el mismo nombre, se sustituye directamente. Se puede definir el número inicial de la secuencia mediante el parámetro valor. Por defecto, se conservan todos los archivos, pero puede controlar el número de archivos a conservar utilizando el parámetro Circular log limitation.
- **Valores posibles**: 0 (utilizar configuración de la base), 1 (siempre utilizar relaciones automáticas) o 2 (utilizar las uniones SQL si es posible).
+Para más información sobre los archivos 4DIMAPLog\_X.txt, consulte la sección *Descripción de archivos de historial*.
-**Descripción**: modo de funcionamiento de los comandos [QUERY BY FORMULA](query-by-formula.md "QUERY BY FORMULA") y [QUERY SELECTION BY FORMULA](query-selection-by-formula.md "QUERY SELECTION BY FORMULA") relativos al uso de "uniones SQL."
-En las bases de datos creadas a partir de la versión 11.2 de 4D v11 SQL, estos comandos efectúan uniones basados en el modelo de uniones SQL. Este mecanismo permite modificar la selección de una tabla en función de una búsqueda efectuada en otra tabla sin que las tablas estén conectadas por una relación automática (condición necesaria en las versiones anteriores de 4D).
-El selector QUERY BY FORMULA Joins permite definir el modo de funcionamiento de los comandos de búsqueda por fórmula para el proceso actual:
+### Is current database a project (112)
-0: Utilizar los parámetros actuales de la base (valor por defecto). En bases creadas a partir de la versión 11.2 de 4D v11 SQL, las "uniones SQL" siempre se activan para las búsquedas por fórmula. En bases de datos convertidas, este mecanismo no se activa por defecto por razones de compatibilidad pero puede implementarse vía una preferencia.1: Siempre utilizar relaciones automáticas (= funcionamiento de versiones anteriores de 4D). En este modo, una relación es necesaria para definir la selección de una tabla en función de búsquedas efectuadas en otra tabla. 4D no efectúa más "uniones SQL."2: Utilizar las uniones SQL si es posible (= funcionamiento o defecto de las bases creadas en versión 11.2 y superiores de 4D v11 SQL). En este modo, 4D establece "uniones SQL" para las búsquedas por fórmula cuando la fórmula se ajusta para ello (con dos excepciones, ver la descripción del comando [QUERY BY FORMULA](query-by-formula.md "QUERY BY FORMULA") o [QUERY SELECTION BY FORMULA](query-selection-by-formula.md "QUERY SELECTION BY FORMULA")).**Nota:** si quiere activar las uniones "tipo SQL" (consulte el selector QUERY BY FORMULA Joins selector), siempre debe ejecutar las fórmulas en el servidor de manera que tengan acceso a los registros. Atención, en este contexto, la fórmula no debe contener llamadas a un método, de lo contrario pasará automáticamente al equipo remoto.
+**Nota:** solo puede utilizar este selector con el comando [Get database parameter](get-database-parameter.md) y su valor no se puede definir.
+**Alcance**: aplicación 4D
+**Descripción**: devuelve 1 si la arquitectura de la base actual es un proyecto y 0 en caso contrario. Para más información, consulte la sección *Base proyecto vs base binaria*.
-### HTTP compression level (50)
-**Alcance**: aplicación 4D
-Se conserva entre dos **sesiones**: no
+### Is host database a project (113)
-**Descripción**: Constante obsoleta (se conserva por compatibilidad únicamente). Se recomienda utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
+**Nota:** solo puede utilizar este selector con el comando [Get database parameter](get-database-parameter.md) y su valor no se puede definir.
+**Alcance**: aplicación 4D
+**Descripción**: devuelve 1 si la arquitectura de la base local es un proyecto y 0 en caso contrario. Para más información, consulte la sección *Base proyecto vs base binaria*.
-### HTTP compression threshold (51)
-**Alcance**: aplicación 4D
-Se conserva entre dos **sesiones**: no
+### Is host database writable (117)
-**Descripción**: *Constante obsoleta (se conserva por compatibilidad únicamente).* Se recomienda utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
+**Nota**: solo puede utilizar este selector con el comando [Get database parameter](get-database-parameter.md) y su valor no se puede definir.
+**Alcance**: aplicación 4D
+**Descripción**: devuelve 1 si el archivo estructura/archivo proyecto local es editable y 0 si es de solo lectura.
-### Server base process stack size (53)
-**Alcance**: 4D Server
- Se conserva entre dos **sesiones**: no
+### Libldap version (114)
- **Valores posibles**: entero largo positivo.
+**Alcance**: máquina 4D actual
-**Descripción**: tamaño de la pila asignada a cada proceso del sistema preferente en el servidor, expresado en bytes. El tamaño por defecto es determinado por el sistema.
+**Se conserva entre dos sesiones**: no
-Los procesos sistema preferente (procesos de tipo Proceso base 4D client) se cargan para controlar los procesos cliente 4D principales. El tamaño asignado por defecto a la pila de cada proceso preferente da facilidad de ejecución pero puede resultar consecuente cuando se crea un gran número de procesos (varios cientos).
+**Descripción**: devuelve el número de versión de la librería LDAP en la aplicación 4D en la máquina actual. (Solo lectura)
-Por razones de optimización, este tamaño puede reducirse considerablemente si las operaciones efectuadas por la base lo permiten (por ejemplo si la base no efectúa ordenaciones de grandes cantidades de registros). Son posibles valores de 512 o incluso 256 KB. Sea cuidadoso, subdimensionar la pila es critico y puede afectar la operación de 4D Server. La definición de este parámetro debe hacerse con precaución y tener en cuenta las condiciones de uso de la base (número de registros, tipo de operaciones, etc.).
-Para que sea tenido en cuenta, este parámetro debe ejecutarse en el equipo servidor (por ejemplo en el *Método base On Server Startup*).
+### Libsasl version (115)
+**Alcance**: máquina 4D actual
-### Idle connections timeout (54)
+**Se conserva entre dos sesiones**: no
-**Alcance**: aplicación 4D a menos que valor sea negativo
+**Descripción**: devuelve el número de versión de la librería SASL en la aplicación 4D en la máquina actual. (Solo lectura)
-**Se conserva entre dos sesiones:** no
-**Valores posibles:** valor entero que expresa una duración en segundos. El valor puede ser positivo (nuevas conexiones) o negativo (conexiones existentes). Por defecto, el valor es 20.
-**Descripción**: máximo periodo de inactividad para conexiones al motor de la base 4D, el motor SQL y el servidor de aplicaciones 4D (capa de red *ServerNet* únicamente, ignorado en *QUIC*). Cuando una conexión inactiva alcanza este límite, se pone en espera automáticamente, lo cual congela la sesión cliente/servidor y cierra el socket de red. En la ventana de administración del servidor, el estado del proceso del usuario se indica como "Postponed". Este funcionamiento es totalmente transparente para el usuario: tan pronto como hay una nueva actividad en la conexión que está en espera, el socket se reabre automáticamente y la sesión cliente/servidor se restaura.
+### Libzip version (120)
-Este parámetro permite, por una parte, economizar los recursos en el servidor: las conexiones en espera cierran el socket y liberan un proceso en el servidor. Por otra parte, esto le permite evitar pérdida de conexiones por el cierre de sockets por parte del firewall. Por esta razón, el valor del timeout para conexiones inactivas deber ser menor que el del firewall en este caso.
+**Alcance**: máquina 4D actual
-Si pasa un valor positivo en *valor*, se aplicará a todas las nuevas conexiones en todos los procesos. Si pasa un valor negativo, se aplicará a las conexiones que se abran en el proceso actual. Si pasa 0, las conexiones inactivas no serán sometidas a un timeout.
+**Se conserva entre dos sesiones**: n/a
-Este parámetro puede definirse del lado del cliente. Por lo general, no necesita cambiar este valor.
+**Descripción**: devuelve el número de versión de la librería libzip en la aplicación 4D en la máquina actual. (Sólo lectura)
-### PHP interpreter IP address (55)
+### Log command list (80)
**Alcance**: aplicación 4D
-Se conserva entre dos **sesiones**: no
-
-**Valores**: cadena formateada del tipo "nnn.nnn.nnn.nnn" (por ejemplo "127.0.0.1").
-
-**Descripción**: dirección IP utilizada localmente por 4D para comunicarse con el intérprete PHP vía FastCGI. Por defecto, el valor es "127.0.0.1". Esta dirección debe corresponder a la máquina donde en encuentra 4D. Este parámetro también puede definirse globalmente para todas las máquinas vía las Propiedades de la base.
-
-Para mayor información sobre el intérprete PHP, por favor consulte el manual de *Diseño*.
-
-
+**Se conserva entre dos sesiones**: no
-### PHP interpreter port (56)
+**Valores posibles**: cadena que contiene la lista de números de los comandos 4D a guardar (separados por dos puntos), "all" para guardar todos los comandos o "" (cadena vacía) para no guardar ninguno.
-**Alcance**: aplicación 4D
+**Descripción**: la lista de comandos 4D a guardar en el archivo de depuración (ver el selector 34, Debug Log Recording). Por defecto, se guardan todos los comandos 4D.
- **Se conserva entre dos sesiones**: no
+Este selector restringe la cantidad de información guardada en el archivo de depuración limitando los comandos 4D cuya ejecución desea registrar o excluir del registro. Por ejemplo, puede escribir:
-**Valores**: valor de tipo entero largo positivo. Por defecto, el valor es 8002\.
+```4d
+ SET DATABASE PARAMETER(Log command list;"277;341") //Graba solo los comandos QUERY y QUERY SELECTION
+ SET DATABASE PARAMETER(Log command list;"-1666;-323") //Excluye los comandos SET USER ALIAS y DELAY PROCESS de ser grabados
+```
-**Descripción**: número de puerto TCP utilizado o por el intérprete PHP de 4D. Este parámetro también puede modificarse globalmente para todos los equipos vía las Propiedades de la base. Para mayor información sobre el intérprete PHP, consulte el manual de *Diseño*.
+### Max concurrent Web processes (18)
+**Alcance**: 4D local, 4D Server
-### SSL cipher list (64)
+**Se conserva entre dos sesiones**: sí
-**Alcance**: Aplicación 4D
+**Descripción**: *constante obsoleta (se conserva por compatibilidad únicamente).* Se recomienda utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
-Se conserva entre dos sesiones: No
-**Valores posibles**: secuencia de cadenas separadas por dos puntos.
-**Descripción:** lista de cifrado (*cipher list*) utilizada por 4D para el protocolo seguro. Esta lista modifica la prioridad de los algoritmos de cifrado implementados por 4D. Por ejemplo, puede pasar la siguiente cadena en el parámetro *valor*: "HIGH:!aNULL:!MD5:!3DES:!CAMELLIA:!AES128:!RSA:!DH:!RC4". Para una descripción completa de la sintaxis para la lista cifrada, consulte la *página de cifrado del sitio OpenSSL*.
+### Maximum Web requests size (27)
-Esta configuración se aplica al servidor web principal (excluyendo los objetos del servidor web), al servidor SQL, a las conexiones cliente/servidor, así como al cliente HTTP y a todos los comandos 4D que hacen uso del protocolo seguro. Es temporal (no se mantiene entre sesiones).
+**Alcance**: 4D local, 4D Server
-Cuando la lista de cifrado se modifica, debe reiniciar el servidor correspondiente para que los nuevos parámetros sean tenidos en cuenta.
+**Se conserva entre dos sesiones**: sí
-Para reinicializar la lista de cifrado a su valor por defecto (guardado permanentemente en el archivo SLI), llame al comando [SET DATABASE PARAMETER](set-database-parameter.md) y pase una cadena vacía ("") en el parámetro *valor*.
+**Descripción**: Constante obsoleta (se conserva por compatibilidad únicamente). Se recomienda utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
-**Nota:** con el comando [Get database parameter](get-database-parameter.md), la lista de cifrado se devuelve en el parámetro opcional *valorAlfa* y el parámetro de retorno es siempre 0.
+### Min TLS version (105)
-### Cache unload minimum size (66)
+**Alcance**: 4D Server, 4D Web Server y 4D SQL Server
-**Alcance**: aplicación 4D
+**Conservar entre dos sesiones**: no
-**Se conserva entre dos sesiones**: no
+**Descripción**: se utiliza para especificar el nivel TLS (Transport Layer Security), que ofrece cifrado y autenticación de datos entre aplicaciones y servidores. Se rechazarán los intentos de conexión de clientes que sólo soporten versiones inferiores a la mínima. La configuración se aplica globalmente a la capa de red. Una vez modificado, el servidor debe reiniciarse para utilizar el nuevo valor.
-**Valores posibles**: Entero largo positivo > 1.
+**Valor por defecto**: TLSv1\_3
-**Descripción**: tamaño mínimo de memoria a liberar del caché de la base de datos cuando el motor necesita hacer espacio para ubicar un objeto (valor en bytes).
+**Valores posibles**:
+- TLSv1\_2 (TLS 1.2, introducido en 2008)
+- TLSv1\_3 (TLS 1.3, introducido en 2018)
-El propósito de este selector es reducir el número de liberaciones de datos de la caché con el fin de obtener un mejor rendimiento. Puede hacer variar este parámetro en función del tamaño de la caché y del de los bloques de datos manipulados en su base.
+**NOTAS**:
-Por defecto, si este selector no se utiliza, 4D descarga mínimo 10% de la caché en caso de que se necesite espacio.
+- El plugin 4D Internet Commands utiliza una capa de red diferente, por lo que este selector no tendrá ningún impacto en su versión TLS.
+- Se ignorarán los intentos de aplicar TLS a la capa de red heredada.
-### Direct2D status (69)
+### Number of formulas in cache (92)
**Alcance**: aplicación 4D
-**Se conserva entre dos sesiones**: no
-
-**Descripción**: modo de activación de Direct2D bajo Windows.
-
-**Valores posibles**: una de las siguientes constantes (modo 3 por defecto):
-
-Direct2D Disabled (0): el modo Direct2D no está habilitado y la base de datos funciona en el modo anterior (GDI/GDIPlus).
-
-Direct2D Hardware (1): utilice Direct2D como contexto de hardware de gráficos para toda la aplicación 4D. Si este contexto no está disponible, use el contexto del software de gráficos Direct2D.
-
-Direct2D Software (3) (modo predeterminado): a partir de Windows 7, utilice el contexto del software de gráficos Direct2D para toda la aplicación 4D.
-
-***Advertencia* : este selector se proporciona solo para fines de depuración. Dado que varias funciones 4D se basan en Direct2D, no se debe desactivar en las aplicaciones implementadas. Solo el modo predeterminado (Direct2D Software)* **está aprobado para las aplicaciones desplegadas.*
-
+**Se conserva entre dos sesiones:** no
+**Valores posibles**: enteros largos positivos
-### Direct2D get active status (74)
+**Valor por defecto**: 0 (sin caché)
-**Nota**: sólo puede utilizar este selector con el comando Get database parameter y su valor no puede definirse.
+**Descripción**: establece u obtiene el número máximo de fórmulas a conservar en la memoria caché de fórmulas, que es utilizado por el comando [EXECUTE FORMULA](execute-formula.md). Este límite se aplica a todos los procesos, pero cada proceso tiene su propia caché de fórmulas. Ubicar las fórmulas en la caché acelera la ejecución del comando [EXECUTE FORMULA](execute-formula.md) en modo compilado, ya que cada fórmula en caché se tokeniza sólo una vez en este caso.Cuando se cambia el valor de la memoria caché, el contenido existente se restablecen incluso si el nuevo tamaño es más grande que el anterior. Una vez se alcanza el número máximo de fórmulas en la memoria caché, una nueva fórmula ejecutada borrará a la más antigua de la memoria caché (modo FIFO). Este parámetro sólo se tiene en cuenta en las bases o componentes compilados.
-**Descripción**: devuelve la implementación activa de Direct2D bajo Windows.
-**Valores posibles**: 0, 1, 2, 3, 4 o 5 (ver los valores del selector 69). El valor devuelto depende de la disponibilidad de Direct2D, del hardware y de la calidad Direct2D soportado por el sistema operativo.
-Por ejemplo, si ejecuta:
-
- SET DATABASE PARAMETER(Direct2D status;Direct2D Hardware) $mode:=Get database parameter(Direct2D get active status)
+### OpenSSL version (94)
-- En Windows 7 y superiores, $mode vale 1 cuando el sistema detecta un hardware compatible con Direct2D; de lo contrario, $mode valdrá 3 (contexto software).
+**Alcance**: todas las máquinas 4D
-- En Windows Vista, $mode valdrá 1 si el sistema detecta un hardware compatible con Direct2D; de lo contrario, $mode toma el valor 0 (desactivando Direct2D).
+**Se conserva entre dos sesiones**: no
-- En Windows XP, $mode siempre valdrá 0 (no compatible con Direct2D).
+**Descripción**: devuelve el número de versión de la librería OpenSSL que se utiliza en la máquina. (Solo lectura)
-### Diagnostic log recording (79)
+### Order by formula on server (47)
-**Hilo seguro**: sí
+**Alcance**: tabla y procesos actuales
-**Alcance**: Aplicación 4D
+ **Se conserva entre dos sesiones**: no
-**Se conserva entre dos sesiones**: No
+ **Valores posibles**: 0 (utilizar la configuración de la base), 1 (ejecutar en el cliente) o 2 (ejecutar en el servidor)
-**Valores posibles**: 0 ó 1 (0 = no guardar,1 = guardar)
+**Descripción**: ubicación de la ejecución del comando [ORDER BY FORMULA](order-by-formula.md "ORDER BY FORMULA") para la tabla pasada en parámetro.
-**Descripción**: inicio o detención del registro del archivo de diagnóstico de 4D. Por defecto, el valor es 0 (no guarda).
+Al utilizar una base en modo cliente-servidor, el comando [ORDER BY FORMULA](order-by-formula.md "ORDER BY FORMULA") puede ejecutarse bien sea en el equipo servidor o en el cliente. Este selector puede utilizarse para especificar la ubicación de la ejecución de este comando (servidor o cliente). Este modo también puede definirse en las preferencias de la base. Para mayor información, consulte la descripción del selector 46, Query By Formula On Server.
-4D permite guardar de manera continua en un archivo de diagnóstico un conjunto de eventos relativos al funcionamiento interno de la aplicación. La información contenida en este archivo está destinada a la actualización de las aplicaciones 4D y puede ser analizada con ayuda de los servicios técnicos de 4D. Cuando pasa 1 en este selector, el archivo de diagnóstico, llamado *NomBase.txt*, se crea automáticamente (o abre) en la carpeta **Logs** de la base. Una vez el archivo alcance un tamaño de 10 MB, se cierra y se genera un nuevo archivo *NomBase\_N.txt*, con un número secuencial N incrementado.
+**Nota:** si quiere activar las uniones "tipo SQL" (consulte el selector QUERY BY FORMULA Joins selector), siempre debe ejecutar las fórmulas en el servidor de manera que tengan acceso a los registros. Atención, en este contexto, la fórmula no debe contener llamadas a un método, de lo contrario pasará automáticamente al equipo remoto.
-Note que es posible incluir la información personalizada en este archivo con ayuda del comando [LOG EVENT](log-event.md).
+### Pause logging (121)
-### Log command list (80)
+**Hilo seguro**: sí
**Alcance**: aplicación 4D
-**Se conserva entre dos sesiones**: no
+**Se mantiene entre dos sesiones**: no
-**Valores posibles**: cadena que contiene la lista de números de los comandos 4D a guardar (separados por dos puntos), "all" para guardar todos los comandos o "" (cadena vacía) para no guardar ninguno.
+**Valores posibles**: 0 (reanudar historial), 1 (pausar historial)
-**Descripción**: la lista de comandos 4D a guardar en el archivo de depuración (ver el selector 34, Debug Log Recording). Por defecto, se guardan todos los comandos 4D.
+Este selector permite suspender/reanudar todas las operaciones de registro iniciadas en la aplicación (excepto los registros ORDA). Esta función puede ser útil para aligerar temporalmente las tareas de la aplicación 4D o programar las operaciones de registro.
-Este selector restringe la cantidad de información guardada en el archivo de depuración limitando los comandos 4D cuya ejecución desea registrar o excluir del registro. Por ejemplo, puede escribir:
- SET DATABASE PARAMETER(Log command list;"277;341") //Grabar solo los comandos QUERY y QUERY SELECTION O SET DATABASE PARAMETER(Log command list;"-1666;-323") //Excluir SET USER ALIAS y DELAY PROCESS commands from being recorded
-
-
-### Spellchecker (81)
+### PHP interpreter IP address (55)
**Alcance**: Aplicación 4D
- **Se conserva entre dos sesiones**: No
-
- **Valores posibles**: 0 (por defecto) = corrector macOS nativo (Hunspell desactivado), 1 = corrector Hunspell activo.
+**Se conserva entre dos sesiones**: no
-**Descripción**: permite activar el corrector ortográfico Hunspell bajo macOS. Por defecto, en esta plataforma el corrector nativo está activo. Puede preferir utilizar el corrector Hunspell, por ejemplo, para unificar la interfaz de sus aplicaciones multiplataformas (bajo Windows, sólo el corrector Hunspell está disponible). Para mayor información, consulte *Corrección ortográfica*.
+**Valores**: cadena formateada del tipo "nnn.nnn.nnn.nnn" (por ejemplo "127.0.0.1").
+**Descripción**: dirección IP utilizada localmente por 4D para comunicarse con el intérprete PHP vía FastCGI. Por defecto, el valor es "127.0.0.1". Esta dirección debe corresponder a la máquina donde en encuentra 4D. Este parámetro también puede definirse globalmente para todas las máquinas vía las Propiedades de la base.
+Para mayor información sobre el intérprete PHP, por favor consulte el manual de *Diseño*.
-### Dates inside objects (85)
-**Alcance**: proceso actual
- **Se conserva entre dos sesiones**: no
+### PHP interpreter port (56)
- **Valores posibles**: String type without time zone (0), String type with time zone (1), Date type (2) (por defecto)
+**Alcance**: aplicación 4D
-**Descripción**: define la forma en que se almacenan las fechas dentro de los objetos, así como también cómo se importan / exportan en JSON.
+ **Se conserva entre dos sesiones**: no
-Cuando el valor del selector es Date type (valor predeterminado para las bases creadas con 4D v17 y superior), las fechas 4D se almacenan con el tipo de fecha dentro de los objetos, con respecto a la configuración de fecha local. Cuando se convierte a formato JSON, los atributos de fecha se convertirán en cadenas que no incluyen un tiempo. (**Nota:** esta configuración se puede definir mediante la opción "Utilizar tipo de fecha en lugar del formato de fecha ISO en objetos" que se encuentra en *Página Compatibilidad* de la configuración de la base).
+**Valores**: valor de tipo entero largo positivo. Por defecto, el valor es 8002\.
-Si pasa String type with time zone en este selector, convertirá las fechas 4D en cadenas ISO y tendrá en cuenta la zona horaria local. Por ejemplo, la conversión de la fecha 23/08/2013 le da "2013-08-22T22: 00: 000Z" en formato JSON cuando la operación se realiza en Francia durante el horario de verano (GMT+ 2). Este principio se ajusta al funcionamiento estándar de JavaScript. Esto puede ser una fuente de errores cuando desea enviar valores de fecha JSON a alguien en un huso horario diferente. Por ejemplo, cuando exporta una tabla usando [Selection to JSON](selection-to-json.md) en Francia que se debe reimportar en los EE. UU. utilizando [JSON TO SELECTION](json-to-selection.md). Dado que las fechas se vuelven a interpretar en cada zona horaria, los valores almacenados en la base de datos serán diferentes. En este caso, puede modificar el modo de conversión de las fechas para que no tengan en cuenta la zona horaria pasando String type without time zone en este selector. La conversión de la fecha 23/08/2013 le dará "2013-08-23T00: 00: 00Z" en todos los casos.
+**Descripción**: número de puerto TCP utilizado o por el intérprete PHP de 4D. Este parámetro también puede modificarse globalmente para todos los equipos vía las Propiedades de la base. Para mayor información sobre el intérprete PHP, consulte el manual de *Diseño*.
-### Diagnostic log level (86)
+### POP3 Log (116)
**Hilo seguro**: sí
-**Alcance**: aplicación 4D
+**Alcance:** 4D local, 4D Server
**Se conserva entre dos sesiones**: no
-**Descripción**: nivel(es) de los mensajes que se incluirán en el registro de diagnóstico cuando esté habilitado (ver selector Diagnostic log recording). Cada nivel designa una categoría de mensajes de diagnóstico e incluye automáticamente las categorías más importantes. Para una descripción de las categorías, consulte la sección *Niveles de registro de diagnóstico* en *developer.4d.com*.
-
-**Valores posibles**: una de las siguientes constantes (Log info por defecto): Log trace: activa ERROR, WARN, INFO, DEBUG, TRACE (nivel más detallado) Log debug: activa ERROR, WARN, INFO, DEBUG Log info: activa ERROR, WARN, INFO (por defecto) Log warn: activa ERROR, WARN Log error: activa ERROR (nivel menos detallado)
-
-
-
-### Use legacy network layer (87)
-
-**Alcance:** 4D en modo local, 4D Server**
-
-**Se conserva entre dos sesiones:** sí**
-
- **Descripción:** fija u obtiene el estado actual de la capa de red antigua para las conexiones cliente/servidor. La capa de red antigua es obsoleta a partir de 4D v14 R5 y debe ser reemplazada progresivamente en sus aplicaciones por la capa de red *ServerNet*. *ServerNet* será requerida en próximas versiones 4D con el fin de beneficiarse de las futuras evoluciones de la red. Por razones de compatibilidad, la capa de red antigua aún se soporta para permitir una transición sin problemas para las aplicaciones existentes; (se usa por defecto en aplicaciones convertidas de una versión anterior a v14 R5). Pase 1 en este parámetro para utilizar la capa de red antigua (y desactivar *ServerNet*) para las conexiones cliente/servidor, y pase 0 para deshabilitar la red antigua (y utilizar *ServerNet*).
-
-Esta propiedad también se puede definir mediante la opción "Usar capa de red antigua " que se encuentran en *Página Compatibilidad* de las Propiedades de la base (ver *Opciones red y cliente-servidor*). En esta sección, también puede encontrar una discusión sobre la estrategia de migración. Le recomendamos que active *ServerNet* tan pronto como sea posible. Deberá reiniciar la aplicación para que este parámetro sea tenido en cuenta. No está disponible en 4D Server v14 R5 64-bit versión para macOS, que sólo soporta el *ServetNet*; (siempre devuelve 0).
-
-**Valores posibles:** 0 o 1 (0 = no utilizan capa de red antigua, 1 = uso capa de red antigua)
-
-**Valor por defecto:** 0 en bases de datos creadas con 4D v14 R5 o superior, 1 en bases de datos convertidas de 4D v14 R4 o anteriores.
-
+**Valores posibles:** 0 o de 1 a X (0 = no registrar, 1 a X = número secuencial, agregado al nombre del archivo). Por defecto, el valor es 0 (intercambios POP3 no registrados).
+**Descripción**: inicia o detiene la grabación de intercambios entre 4D y el servidor POP3, cuando un objeto transportador se procesa a través de *POP3\_transporter.getMail( )* o *POP3\_transporter.checkConnection( )*. Por defecto, el valor es 0 (intercambios no registrados). Cuando este mecanismo está habilitado, se crea un archivo de registro en la carpeta Logs de la base. Se llama 4DPOP3Log\_X.txt, donde X es el número secuencial del registro. Una vez que el archivo 4DPOP3Log ha alcanzado un tamaño de 10 MB, se cierra y se genera uno nuevo, con un número secuencial incrementado. Si ya existe un archivo con el mismo nombre, se reemplaza directamente. Puede establecer el número inicial de la secuencia utilizando el parámetro valor. De manera predeterminada, todos los archivos se mantienen, pero puede controlar la cantidad de archivos que se deben seguir utilizando el parámetro Circular log limitation.
-### SQL Server Port ID (88)
+Para más información sobre los archivos 4DPOP3Log\_X.txt, consulte la sección *Descripción de archivos de historial*.
-**Alcance**: 4D modo local y 4D Server.
-**Se conserva entre dos sesiones:** sí**
-**Descripción**: permite leer o definir el número del puerto TCP utilizado por el servidor SQL integrado de 4D en modo local o 4D Server. Por defecto, el valor es 19812\. Cuando se define este selector, la configuración de la base se actualiza. También puede definir el número del puerto TCP en la página "SQL" de la caja de diálogo de Propiedades de la base.
+### Port ID (15)
-**Valores posibles:** 0 a 65535.
+**Alcance**: 4D local, 4D Server
-**Valor por defecto:** 19812
+**Se conserva entre dos sesiones**: no
+**Descripción**: Command SET DATABASE Número de puerto TCP utilizado por el servidor web 4D con 4D en modo local y 4D Server. El valor por defecto, que puede ser definido en la página "Web/Configuración" de la caja de diálogo Preferencias, es 80. Puede utilizar las constantes del tema *Números de puerto TCP* para el parámetro *valor*.
+El selector Port ID se utiliza en el marco de servidores web 4D compilados y fusionados con 4D Desktop (sin acceso al modo Diseño). Para mayor información sobre el número de puerto TCP, consulte la sección *Parámetros del servidor web*
-### Circular log limitation (90)
-**Hilo seguro**: sí
-**Alcance**: 4D local, 4D Server.
+### Query by formula joins (49)
-**Se conserva entre dos sesiones:** no
+**Alcance**: proceso actual
-**Valores posibles**: todo valor entero, 0 = conservar todos los registros
+ **Se conserva entre dos sesiones**: no
-**Descripción**: número máximo de archivos a conservar en rotación para cada tipo de registro. Por defecto, todos los archivos se conservan. Si pasa un valor *X*, solo los *X* archivos más recientes se conservan, el más antiguo se borra automáticamente cuando se crea uno nuevo. Esta parametrización se aplica a cada uno de los siguientes archivos de registro: registros de peticiones (selectores 28 y 45), registro de depuración (selector 34), registro de eventos (selector 79), así como el historial de peticiones web (selectores 29 y 84 del comando [WEB SET OPTION](web-set-option.md)), etc.
+ **Valores posibles**: 0 (utilizar configuración de la base), 1 (siempre utilizar relaciones automáticas) o 2 (utilizar las uniones SQL si es posible).
+**Descripción**: modo de funcionamiento de los comandos [QUERY BY FORMULA](query-by-formula.md "QUERY BY FORMULA") y [QUERY SELECTION BY FORMULA](query-selection-by-formula.md "QUERY SELECTION BY FORMULA") relativos al uso de "uniones SQL."
+En las bases de datos creadas a partir de la versión 11.2 de 4D v11 SQL, estos comandos efectúan uniones basados en el modelo de uniones SQL. Este mecanismo permite modificar la selección de una tabla en función de una búsqueda efectuada en otra tabla sin que las tablas estén conectadas por una relación automática (condición necesaria en las versiones anteriores de 4D).
-### Number of formulas in cache (92)
+El selector QUERY BY FORMULA Joins permite definir el modo de funcionamiento de los comandos de búsqueda por fórmula para el proceso actual:
-**Alcance**: aplicación 4D
+- 0: Utilizar los parámetros actuales de la base (valor por defecto). En bases creadas a partir de la versión 11.2 de 4D v11 SQL, las "uniones SQL" siempre se activan para las búsquedas por fórmula. En bases de datos convertidas, este mecanismo no se activa por defecto por razones de compatibilidad pero puede implementarse vía una preferencia.
+- 1: Siempre utilizar relaciones automáticas (= funcionamiento de versiones anteriores de 4D). En este modo, una relación es necesaria para definir la selección de una tabla en función de búsquedas efectuadas en otra tabla. 4D no efectúa más "uniones SQL."2: Utilizar las uniones SQL si es posible (= funcionamiento o defecto de las bases creadas en versión 11.
+- 2 y superiores de 4D v11 SQL). En este modo, 4D establece "uniones SQL" para las búsquedas por fórmula cuando la fórmula se ajusta para ello (con dos excepciones, ver la descripción del comando [QUERY BY FORMULA](query-by-formula.md "QUERY BY FORMULA") o [QUERY SELECTION BY FORMULA](query-selection-by-formula.md "QUERY SELECTION BY FORMULA")).**Nota:** si quiere activar las uniones "tipo SQL" (consulte el selector QUERY BY FORMULA Joins selector), siempre debe ejecutar las fórmulas en el servidor de manera que tengan acceso a los registros. Atención, en este contexto, la fórmula no debe contener llamadas a un método, de lo contrario pasará automáticamente al equipo remoto.
-**Se conserva entre dos sesiones:** no
-**Valores posibles**: enteros largos positivos
-**Valor por defecto**: 0 (sin caché)
+### Query by formula on server (46)
-**Descripción**: establece u obtiene el número máximo de fórmulas a conservar en la memoria caché de fórmulas, que es utilizado por el comando [EXECUTE FORMULA](execute-formula.md). Este límite se aplica a todos los procesos, pero cada proceso tiene su propia caché de fórmulas. Ubicar las fórmulas en la caché acelera la ejecución del comando [EXECUTE FORMULA](execute-formula.md) en modo compilado, ya que cada fórmula en caché se tokeniza sólo una vez en este caso.Cuando se cambia el valor de la memoria caché, el contenido existente se restablecen incluso si el nuevo tamaño es más grande que el anterior. Una vez se alcanza el número máximo de fórmulas en la memoria caché, una nueva fórmula ejecutada borrará a la más antigua de la memoria caché (modo FIFO). Este parámetro sólo se tiene en cuenta en las bases o componentes compilados.
+**Alcance**: tabla y procesos actuales
+ **Se conserva entre dos sesiones**: no
+ **Valores posibles**: 0 (utilizar la configuración de la base), 1 (ejecutar en cliente) o 2 (ejecutar en servidor)
-### OpenSSL version (94)
+**Descripción**: ubicación de la ejecución de los comandos [QUERY BY FORMULA](query-by-formula.md "QUERY BY FORMULA") y [QUERY SELECTION BY FORMULA](query-selection-by-formula.md "QUERY SELECTION BY FORMULA") para la *tabla* pasada en parámetro.
-**Alcance**: todas las máquinas 4D
+Cuando se utiliza una base en modo cliente-servidor, los comandos de búsqueda "por fórmula" pueden ejecutarse en el servidor o en el equipo cliente:
-**Se conserva entre dos sesiones**: no
+en bases creadas con 4D v11 SQL, estos comandos se ejecutan en el servidor.en bases convertidas, estos comandos se ejecutan en el equipo cliente, como en las versiones anteriores de 4D.en las bases convertidas, una preferencia específica permite modificar globalmente la ubicación de ejecución de estos comandos.Esta diferencia en ubicación de ejecución influye no sólo en el rendimiento de la aplicación (la ejecución en el servidor es generalmente más rápida) sino también en la programación. En efecto, el valor de los componentes de la fórmula (en particular las variables llamadas vía un método) varía de acuerdo al contexto de ejecución. Puede utilizar este selector para adaptar puntualmente el funcionamiento de su aplicación.
-**Descripción**: devuelve el número de versión de la librería OpenSSL que se utiliza en la máquina. (Solo lectura)
+Si pasa 0 en el parámetro *valor*, la ubicación de ejecución de los comandos de búsqueda "por fórmula" dependerá de la configuración de la base: en bases creadas con 4D v11 SQL, estos comandos se ejecutarán en el servidor. En bases convertidas, se ejecutarán en el equipo cliente o en el servidor en función de las preferencias de la base. Pase 1 ó 2 en *valor* para "forzar" la ejecución de estos comandos respectivamente en el equipo cliente o en el servidor.
+Consulte el ejemplo 2.
+**Nota:** si quiere activar las uniones "tipo SQL" (consulte el selector QUERY BY FORMULA Joins selector), siempre debe ejecutar las fórmulas en el servidor de manera que tengan acceso a los registros. Atención, en este contexto, la fórmula no debe contener llamadas a un método, de lo contrario pasará automáticamente al equipo remoto.
-### Cache flush periodicity (95)
-**Hilo seguro**: sí
+### RDP optimization (133)
-**Alcance**: 4D local, 4D Server
+**Alcance:** aplicación 4D
-**Se conserva entre dos sesiones:** no
+**Se mantiene entre dos sesiones**: no
-**Valores posibles:** entero largo > 1 (segundos)
+**Valores posibles:** `0`: activado (por defecto), `1`: desactivado.
-**Descripción**: obtiene o establece la periodicidad del vaciado de la caché, expresado en segundos. La modificación de este valor prevalece sobre la opción **Vaciar caché cada X segundos** en [XML DECODE](xml-decode.md) de la configuración de la base para la sesión (que no se almacena en las Propiedades de la base).
+**Descripción:** activa o desactiva las optimizaciones para RDP (Protocolo de escritorio remoto). Cuando está activado, optimiza en particular el uso del portapapeles compartido en las conexiones RDP, que de otro modo pueden provocar problemas de congelación. Tenga en cuenta que este selector desactiva la compatibilidad en el portapapeles para imágenes codificadas como URI de datos en texto sin formato (solo afecta a las imágenes que se sueltan o se copian explícitamente como texto desde un navegador).
@@ -723,249 +748,223 @@ El tiempo de espera de la conexión remota se aplica después de que una máquin
-### Tips enabled (101)
-
-**Alcance**: aplicación 4D
-
-**Se conserva entre dos sesiones**: no
-
-**Valores posibles**: 0 = consejos desactivados, 1 = consejos activados (predeterminado)
-
-**Descripción**: define u obtiene el estado de visualización actual de los consejos para la aplicación 4D. De forma predeterminada, las sugerencias están activadas.
-
-Tenga en cuenta que este parámetro define todos los consejos 4D, es decir, los mensajes de ayuda de formulario y las sugerencias del editor de modo Diseño.
-
+### Server base process stack size (53)
+**Alcance**: 4D Server
-### Tips delay (102)
+ **Se conserva entre dos sesiones**: no
-**Alcance**: aplicación 4D
+ **Valores posibles**: entero largo positivo.
-**Se conserva entre dos sesiones**: No
+**Descripción**: tamaño de la pila asignada a cada proceso del sistema preferente en el servidor, expresado en bytes. El tamaño por defecto es determinado por el sistema.
-**Valores posibles**: entero largo >= 0 (tics)
+Los procesos sistema preferente (procesos de tipo Proceso base 4D client) se cargan para controlar los procesos cliente 4D principales. El tamaño asignado por defecto a la pila de cada proceso preferente da facilidad de ejecución pero puede resultar consecuente cuando se crea un gran número de procesos (varios cientos).
-**Descripción**: retraso antes de que se muestren las sugerencias una vez que el cursor del ratón se haya detenido en objetos con mensajes de ayuda adjuntos. El valor se expresa en tics (1/60 de segundo). El valor predeterminado es 45 tics (0.75 segundos).
+Por razones de optimización, este tamaño puede reducirse considerablemente si las operaciones efectuadas por la base lo permiten (por ejemplo si la base no efectúa ordenaciones de grandes cantidades de registros). Son posibles valores de 512 o incluso 256 KB. Sea cuidadoso, subdimensionar la pila es critico y puede afectar la operación de 4D Server. La definición de este parámetro debe hacerse con precaución y tener en cuenta las condiciones de uso de la base (número de registros, tipo de operaciones, etc.).
+Para que sea tenido en cuenta, este parámetro debe ejecutarse en el equipo servidor (por ejemplo en el *Método base On Server Startup*).
-### Tips duration (103)
-**Alcance**: aplicación 4D
+### SMTP Log (110)
-**Se conserva entre dos sesiones**: No
+**Hilo seguro**: sí
-**Valores posibles**: entero largo >= 60 (tics)
+**Alcance**: 4D local, 4D Server*
-**Descripción**: duración máxima de visualización de una sugerencia. El valor se expresa en tics (1/60 de segundo). El valor predeterminado es 720 tics (12 segundos).
+* **Se conserva entre dos sesiones**: no
+ **Valores posibles**: 0 o de 1 a X (0 = no grabar, 1 a X = número secuencial, agregado al nombre del archivo). De forma predeterminada, el valor es 0 (intercambios SMTP no registrados).
+**Descripción**: inicia o detiene la grabación de intercambios entre 4D y el servidor SMTP, cuando un objeto *transportador* se procesa a través de *transporter.send( )* o *SMTP\_transporter.checkConnection( )*. Por defecto, el valor es 0 (intercambios no registrados). Cuando este mecanismo está habilitado, se crea un archivo de registro en la carpeta Logs de la base. Se llama 4DSMTPLog\_X.txt, donde X es el número secuencial del registro. Una vez que el archivo 4DSMTPLog ha alcanzado un tamaño de 10 MB, se cierra y se genera uno nuevo, con un número secuencial incrementado. Si ya existe un archivo con el mismo nombre, se reemplaza directamente. Puede definir el número de inicio de la secuencia utilizando el parámetro *valor*. De forma predeterminada, todos los archivos se conservan, pero puede controlar la cantidad de archivos a seguir utilizando el parámetro Circular log limitation.
-### Min TLS version (105)
+Para obtener más información sobre los archivos 4DSMTPLog\_X.txt, consulte la sección *Descripción de archivos de historial*.
-**Alcance**: 4D Server, 4D Web Server y 4D SQL Server
-**Conservar entre dos sesiones**: No
-**Descripción**: se utiliza para especificar el nivel TLS (Transport Layer Security), que ofrece cifrado y autenticación de datos entre aplicaciones y servidores. Se rechazarán los intentos de conexión de clientes que sólo soporten versiones inferiores a la mínima. La configuración se aplica globalmente a la capa de red. Una vez modificado, el servidor debe reiniciarse para utilizar el nuevo valor.
+### Spellchecker (81)
-**Valor por defecto**: TLSv1\_3
+**Alcance**: aplicación 4D
-**Valores posibles**: TLSv1\_2 (TLS 1.2, introducido en 2008) TLSv1\_3 (TLS 1.3, introducido en 2018) **NOTAS**:
+ **Se conserva entre dos sesiones**: no
-- El plugin 4D Internet Commands utiliza una capa de red diferente, por lo que este selector no tendrá ningún impacto en su versión TLS.
+ **Valores posibles**: 0 (por defecto) = corrector macOS nativo (Hunspell desactivado), 1 = corrector Hunspell activo.
-- Se ignorarán los intentos de aplicar TLS a la capa de red heredada.
+**Descripción**: permite activar el corrector ortográfico Hunspell bajo macOS. Por defecto, en esta plataforma el corrector nativo está activo. Puede preferir utilizar el corrector Hunspell, por ejemplo, para unificar la interfaz de sus aplicaciones multiplataformas (bajo Windows, sólo el corrector Hunspell está disponible). Para mayor información, consulte *Corrección ortográfica*.
-### User param value (108)
+### SQL Autocommit (43)
-**Alcance**: 4D local, 4D Server
+**Alcance**: base de datos
-**Se conserva entre dos sesiones**: no
+ **Se conserva entre dos sesiones**: sí
-**Valores posibles**: toda cadena personalizada
+ **Posibles valores**: 0 (desactivación) o 1 (activación)
-**Descripción:** cadena personalizada pasada de una sesión a la siguiente cuando se reinicia la aplicación 4D. Este selector es útil en el contexto de pruebas unitarias automatizadas que requieren que las aplicaciones se reinicien con diferentes parámetros.
+**Descripción**: activación o desactivación del modo SQL auto-commit. Por defecto, el valor es 0 (modo desactivado)
-Cuando se utiliza con [SET DATABASE PARAMETER](set-database-parameter.md), define un nuevo valor que estará disponible en la próxima base de datos abierta después de que 4D se reinicie manualmente o utilizando los comandos [OPEN DATABASE](open-database.md)(\*), [OPEN DATA FILE](open-data-file.md), o [RESTART 4D](restart-4d.md). Cuando se utiliza con [Get database parameter](get-database-parameter.md), obtiene el valor del parámetro de usuario actualmente disponible, definido mediante una línea de comando (ver *Interfaz de línea de comando*), el archivo .4DLink (ver *Usar un archivo 4DLink*), o una llamada a [SET DATABASE PARAMETER](set-database-parameter.md) durante la sesión anterior. (\*) Si [SET DATABASE PARAMETER](set-database-parameter.md) define un User param value antes de una llamada a [OPEN DATABASE](open-database.md) con un archivo .4DLink que también contiene un atributo xml user-param, 4D 4D tiene en cuenta solo el parámetro ofrecido por [SET DATABASE PARAMETER](set-database-parameter.md).
+ El modo auto-commit permite reforzar la integridad referencial de la base. Cuando este modo está activo, las peticiones *SELECT*, INSERT, UPDATE y *DELETE* (SIUD) se incluyen automáticamente en las transacciones cuando no se han ejecutado dentro de una transacción. Este modo igualmente puede definirse en las Preferencias de la base.
-### Times inside objects (109)
+### SQL Engine case sensitivity (44)
-Alcance: 4D local, 4D Server (todos los procesos)
+**Alcance**: base de datos
- Se conserva entre dos **sesiones**: No
+ **Se conserva entre dos sesiones**: sí
- **Valores posibles**: Times in seconds (0) (predeterminado), Times in milliseconds (1)
+ **Valores posibles**: 0 (no se tienen en cuenta las mayúsculas y minúsculas) ó 1 (sensible a las mayúsculas y minúsculas)
-**Descripción**: define la forma en que los valores de tipo hora se convierten y almacenan dentro de las propiedades de los objetos y los elementos de la colección, así como la forma en que se importan/exportan en JSON y en las áreas web. Por defecto, a partir de 4D v17, las horas se convierten y almacenan en número de segundos en los objetos.
+**Descripción**: activación o desactivación de la sensibilidad a mayúsculas y minúsculas para comparaciones de cadenas efectuadas por el motor SQL.
-En versiones anteriores, los valores de tiempo se convertían y almacenaban como cantidad de milisegundos en esos contextos. Usar este selector puede ayudarlo a migrar sus aplicaciones volviendo a la configuración anterior si es necesario.
+Por defecto, el valor es 1 (sensible a las mayúsculas y minúsculas): el motor SQL diferencia entre mayúsculas y minúsculas y entre caracteres acentuados al comparar cadenas (ordenaciones y búsquedas). Por ejemplo “ABC”= “ABC” pero “ABC” # “Abc.” En algunos casos, por ejemplo para alinear el funcionamiento del motor SQL con el del motor 4D, podría querer que las comparaciones de cadenas no tengan en cuenta las mayúsculas y minúsculas (“ABC”=“Abc”).
-**Nota**: los métodos ORDA y el motor SQL ignoran esta configuración, siempre suponen que los valores de tiempo son números de segundos.
+Esta opción también puede definirse en la [CALL SUBFORM CONTAINER](call-subform-container.md) de las Preferencias de la base.
-### SMTP Log (110)
+### SQL Server Port ID (88)
-**Hilo seguro**: sí
+**Alcance**: 4D modo local y 4D Server.
-**Alcance**: 4D local, 4D Server*
+: Sí
-* **Se conserva entre dos sesiones**: no
+**Descripción**: permite leer o definir el número del puerto TCP utilizado por el servidor SQL integrado de 4D en modo local o 4D Server. Por defecto, el valor es 19812\. Cuando se define este selector, la configuración de la base se actualiza. También puede definir el número del puerto TCP en la página "SQL" de la caja de diálogo de Propiedades de la base.
- **Valores posibles**: 0 o de 1 a X (0 = no grabar, 1 a X = número secuencial, agregado al nombre del archivo). De forma predeterminada, el valor es 0 (intercambios SMTP no registrados).
+**Valores posibles:** 0 a 65535.
-**Descripción**: inicia o detiene la grabación de intercambios entre 4D y el servidor SMTP, cuando un objeto *transportador* se procesa a través de *transporter.send( )* o *SMTP\_transporter.checkConnection( )*. Por defecto, el valor es 0 (intercambios no registrados). Cuando este mecanismo está habilitado, se crea un archivo de registro en la carpeta Logs de la base. Se llama 4DSMTPLog\_X.txt, donde X es el número secuencial del registro. Una vez que el archivo 4DSMTPLog ha alcanzado un tamaño de 10 MB, se cierra y se genera uno nuevo, con un número secuencial incrementado. Si ya existe un archivo con el mismo nombre, se reemplaza directamente. Puede definir el número de inicio de la secuencia utilizando el parámetro *valor*. De forma predeterminada, todos los archivos se conservan, pero puede controlar la cantidad de archivos a seguir utilizando el parámetro Circular log limitation.
+**Valor por defecto:** 19812
-Para obtener más información sobre los archivos 4DSMTPLog\_X.txt, consulte la sección *Descripción de archivos de historial*.
+### SSL cipher list (64)
-### Current process debug log recording (111)
+**Alcance**: Aplicación 4D
-**Alcance:** Aplicación 4D
+Se conserva entre dos sesiones: No
-**Se conserva entre dos sesiones:** No
+**Valores posibles**: secuencia de cadenas separadas por dos puntos.
-**Descripción**: inicia o detiene el registro secuencial de eventos de programación **del proceso actual** en un archivo de historial separado. Este historial es similar al Debug log recording (selector 34) pero se enfoca solo en el proceso actual. El nombre del archivo de historial incluye la letra "p" y el número del proceso: 4DDebugLog\[\_p*N*_*n*].txt, donde N es el ID único del proceso.
+**Descripción:** lista de cifrado (*cipher list*) utilizada por 4D para el protocolo seguro. Esta lista modifica la prioridad de los algoritmos de cifrado implementados por 4D. Por ejemplo, puede pasar la siguiente cadena en el parámetro *valor*: "HIGH:!aNULL:!MD5:!3DES:!CAMELLIA:!AES128:!RSA:!DH:!RC4".
-Para más información sobre este formato y sobre el uso del archivo *4DDebugLog*, consulte *Descripción de archivos de historial* en el Modo Diseño.
+Para una descripción completa de la sintaxis para la lista cifrada, consulte la *página de cifrado del sitio OpenSSL*.
-**Notas:** Este selector se proporciona únicamente con el fin de depurar y debe utilizarse con cuidado. En particular, no debe ponerse en producción, ya que puede tener un impacto en el rendimiento de la aplicación. Puede utilizarar ambos selectores Debug log recording y Current process debug log recording simultáneamente, en cuyo caso las acciones del proceso actual no se registrarán en el archivo de historial principal.
+Esta configuración se aplica al servidor web principal (excluyendo los objetos del servidor web), al servidor SQL, a las conexiones cliente/servidor, así como al cliente HTTP y a todos los comandos 4D que hacen uso del protocolo seguro. Es temporal (no se mantiene entre sesiones).
+Cuando la lista de cifrado se modifica, debe reiniciar el servidor correspondiente para que los nuevos parámetros sean tenidos en cuenta.
+Para reinicializar la lista de cifrado a su valor por defecto (guardado permanentemente en el archivo SLI), llame al comando [SET DATABASE PARAMETER](set-database-parameter.md) y pase una cadena vacía ("") en el parámetro *valor*.
-### Is current database a project (112)
+**Nota:** con el comando [Get database parameter](get-database-parameter.md), la lista de cifrado se devuelve en el parámetro opcional *valorAlfa* y el parámetro de retorno es siempre 0.
-**Nota:** solo puede utilizar este selector con el comando [Get database parameter](get-database-parameter.md) y su valor no se puede definir.
+### Table sequence number (31)
**Alcance**: aplicación 4D
-**Descripción**: devuelve 1 si la arquitectura de la base actual es un proyecto y 0 en caso contrario. Para más información, consulte la sección *Base proyecto vs base binaria*.
-
-
+ **Se conserva entre dos sesiones**: sí
-### Is host database a project (113)
+ **Valores posibles**: todo valor de tipo entero largo.
-**Nota:** solo puede utilizar este selector con el comando [Get database parameter](get-database-parameter.md) y su valor no se puede definir.
+**Descripción**: este selector se utiliza para modificar o modificar u obtener el número único actual de los registros de la tabla pasada en parámetro. "Número actual" significa "último número utilizado": si modifica este valor utilizando SET DATABASE PARAMETER, el siguiente registro será el valor pasado + 1\. Este nuevo número es el número devuelto por el comando Sequence number [](http://doc.tmp.4d.fr/Database-Parameters/4Dv11.4/ConstantTheme/4870/CMU00244.HTM) como también en todo campo de la tabla a la cual se asigna la propiedad "Autoincrementar" en el editor de estructura o vía SQL.
-**Alcance**: aplicación 4D
+Por defecto, este número único es definido por 4D y corresponde al orden de creación de los registros. Para información adicional, por favor consulte la documentación del comando [Sequence number](sequence-number.md "Sequence number").
-**Descripción**: devuelve 1 si la arquitectura de la base local es un proyecto y 0 en caso contrario. Para más información, consulte la sección *Base proyecto vs base binaria*.
+### TCPUDP log recording (131)
-### Libldap version (114)
+**Alcance:** aplicación 4D
-**Alcance**: máquina 4D actual
+**Se mantiene entre dos sesiones**: no
-**Se conserva entre dos sesiones**: no
+**Valores posibles:** `0`: Logging desactivado (por defecto), `1`: Logging activado.
-**Descripción**: devuelve el número de versión de la librería LDAP en la aplicación 4D en la máquina actual. (Solo lectura)
+**Descripción:** activa o desactiva el archivo `4DTCPUDPLog.txt` para registrar eventos TCP.
-### Libsasl version (115)
+### Times inside objects (109)
-**Alcance**: máquina 4D actual
+**Alcance**: 4D local, 4D Server (todos los procesos)
-**Se conserva entre dos sesiones**: no
+ **Se conserva entre dos sesiones**: no
-**Descripción**: devuelve el número de versión de la librería SASL en la aplicación 4D en la máquina actual. (Solo lectura)
+ **Valores posibles**: Times in seconds (0) (predeterminado), Times in milliseconds (1)
+**Descripción**: define la forma en que los valores de tipo hora se convierten y almacenan dentro de las propiedades de los objetos y los elementos de la colección, así como la forma en que se importan/exportan en JSON y en las áreas web. Por defecto, a partir de 4D v17, las horas se convierten y almacenan en número de segundos en los objetos.
+En versiones anteriores, los valores de tiempo se convertían y almacenaban como cantidad de milisegundos en esos contextos. Usar este selector puede ayudarlo a migrar sus aplicaciones volviendo a la configuración anterior si es necesario.
-### POP3 Log (116)
+**Nota**: los métodos ORDA y el motor SQL ignoran esta configuración, siempre suponen que los valores de tiempo son números de segundos.
-**Hilo seguro**: sí
-**Alcance:** 4D local, 4D Server
-**Se conserva entre dos sesiones**: no
+### Tips delay (102)
-**Valores posibles:** 0 o de 1 a X (0 = no registrar, 1 a X = número secuencial, agregado al nombre del archivo). Por defecto, el valor es 0 (intercambios POP3 no registrados).
+**Alcance**: aplicación 4D
-**Descripción**: inicia o detiene la grabación de intercambios entre 4D y el servidor POP3, cuando un objeto transportador se procesa a través de *POP3\_transporter.getMail( )* o *POP3\_transporter.checkConnection( )*. Por defecto, el valor es 0 (intercambios no registrados). Cuando este mecanismo está habilitado, se crea un archivo de registro en la carpeta Logs de la base. Se llama 4DPOP3Log\_X.txt, donde X es el número secuencial del registro. Una vez que el archivo 4DPOP3Log ha alcanzado un tamaño de 10 MB, se cierra y se genera uno nuevo, con un número secuencial incrementado. Si ya existe un archivo con el mismo nombre, se reemplaza directamente. Puede establecer el número inicial de la secuencia utilizando el parámetro valor. De manera predeterminada, todos los archivos se mantienen, pero puede controlar la cantidad de archivos que se deben seguir utilizando el parámetro Circular log limitation.
+**Se conserva entre dos sesiones**: No
-Para más información sobre los archivos 4DPOP3Log\_X.txt, consulte la sección *Descripción de archivos de historial*.
+**Valores posibles**: entero largo >= 0 (tics)
+**Descripción**: retraso antes de que se muestren las sugerencias una vez que el cursor del ratón se haya detenido en objetos con mensajes de ayuda adjuntos. El valor se expresa en tics (1/60 de segundo). El valor predeterminado es 45 tics (0.75 segundos).
-### Is host database writable (117)
-**Nota**: solo puede utilizar este selector con el comando [Get database parameter](get-database-parameter.md) y su valor no se puede definir.
+### Tips duration (103)
**Alcance**: aplicación 4D
-**Descripción**: devuelve 1 si el archivo estructura/archivo proyecto local es editable y 0 si es de solo lectura.
-
-
-
-### IMAP Log (119)
-
-**Hilo seguro**: sí
-
-**Alcance**: 4D local, 4D Server
-
**Se conserva entre dos sesiones**: No
-**Valores posibles**: 0 o de 1 a X (0 = no grabar, 1 a X = número secuencial, añadido al nombre del archivo). Por defecto, el valor es 0 (los intercambios IMAP no se registran).
-
-**Descripción**: inicia o detiene la grabación de los intercambios entre 4D y el servidor IMAP, cuando se procesa un objeto transportador a través de *IMAP\_transporter.getMail( )* o *IMAP\_transporter.checkConnection( )*. Por defecto, el valor es 0 (intercambios no registrados). Cuando se activa este mecanismo, se crea un archivo de registro en la carpeta Logs de la base. Se llama 4DIMAPLog\_X.txt, donde X es el número secuencial del registro. Una vez que el archivo 4DIMAPLog ha alcanzado un tamaño de 10 MB, se cierra y se genera uno nuevo, con un número secuencial incrementado. Si ya existe un archivo con el mismo nombre, se sustituye directamente. Se puede definir el número inicial de la secuencia mediante el parámetro valor. Por defecto, se conservan todos los archivos, pero puede controlar el número de archivos a conservar utilizando el parámetro Circular log limitation.
-
-Para más información sobre los archivos 4DIMAPLog\_X.txt, consulte la sección *Descripción de archivos de historial*.
-
+**Valores posibles**: entero largo >= 60 (tics)
+**Descripción**: duración máxima de visualización de una sugerencia. El valor se expresa en tics (1/60 de segundo). El valor predeterminado es 720 tics (12 segundos).
-### Libzip version (120)
-**Alcance**: máquina 4D actual
-**Se conserva entre dos sesiones**: n/a
-
-**Descripción**: devuelve el número de versión de la librería libzip en la aplicación 4D en la máquina actual. (Sólo lectura)
+### Tips enabled (101)
+**Alcance**: aplicación 4D
+**Se conserva entre dos sesiones**: no
-### Pause logging (121)
+**Valores posibles**: 0 = consejos desactivados, 1 = consejos activados (predeterminado)
-**Hilo seguro**: sí
+**Descripción**: define u obtiene el estado de visualización actual de los consejos para la aplicación 4D. De forma predeterminada, las sugerencias están activadas.
-**Alcance**: aplicación 4D
+Tenga en cuenta que este parámetro define todos los consejos 4D, es decir, los mensajes de ayuda de formulario y las sugerencias del editor de modo Diseño.
-**Se mantiene entre dos sesiones**: no
-**Valores posibles**: 0 (reanudar historial), 1 (pausar historial)
-Este selector permite suspender/reanudar todas las operaciones de registro iniciadas en la aplicación (excepto los registros ORDA). Esta función puede ser útil para aligerar temporalmente las tareas de la aplicación 4D o programar las operaciones de registro.
+### Use legacy network layer (87)
+**Alcance:** 4D en modo local, 4D Server**
+**Se conserva entre dos sesiones:** sí
-### TCPUDP log recording (131)
+**Descripción:** fija u obtiene el estado actual de la capa de red antigua para las conexiones cliente/servidor. La capa de red antigua es obsoleta a partir de 4D v14 R5 y debe ser reemplazada progresivamente en sus aplicaciones por la capa de red *ServerNet*. *ServerNet* será requerida en próximas versiones 4D con el fin de beneficiarse de las futuras evoluciones de la red. Por razones de compatibilidad, la capa de red antigua aún se soporta para permitir una transición sin problemas para las aplicaciones existentes; (se usa por defecto en aplicaciones convertidas de una versión anterior a v14 R5). Pase 1 en este parámetro para utilizar la capa de red antigua (y desactivar *ServerNet*) para las conexiones cliente/servidor, y pase 0 para deshabilitar la red antigua (y utilizar *ServerNet*).
-**Alcance**: aplicación 4D
+Esta propiedad también se puede definir mediante la opción "Usar capa de red antigua " que se encuentran en *Página Compatibilidad* de las Propiedades de la base (ver *Opciones red y cliente-servidor*). En esta sección, también puede encontrar una discusión sobre la estrategia de migración. Le recomendamos que active *ServerNet* tan pronto como sea posible. Deberá reiniciar la aplicación para que este parámetro sea tenido en cuenta. No está disponible en 4D Server v14 R5 64-bit versión para macOS, que sólo soporta el *ServetNet*; (siempre devuelve 0).
-**Se mantiene entre dos sesiones**: no
+**Valores posibles:** 0 o 1 (0 = no utilizan capa de red antigua, 1 = uso capa de red antigua)
-**Valores posibles:** `0`: Logging desactivado (por defecto), `1`: Logging activado.
+**Valor por defecto:** 0 en bases de datos creadas con 4D v14 R5 o superior, 1 en bases de datos convertidas de 4D v14 R4 o anteriores.
-**Descripción:** activa o desactiva el archivo `4DTCPUDPLog.txt` para los eventos logging TCP.
+### User param value (108)
-### RDP optimization
+**Alcance**: 4D local, 4D Server
-**Alcance**: aplicación 4D
+**Se conserva entre dos sesiones**: no
-**Se mantiene entre dos sesiones**: no
+**Valores posibles**: toda cadena personalizada
-**Valores posibles:** `0`: Disabled (default), `1`: Enabled.
+**Descripción:** cadena personalizada pasada de una sesión a la siguiente cuando se reinicia la aplicación 4D. Este selector es útil en el contexto de pruebas unitarias automatizadas que requieren que las aplicaciones se reinicien con diferentes parámetros.
-**Descripción:** Activa o desactiva las optimizaciones para RDP (Protocolo de escritorio remoto). Cuando está activado, optimiza en particular el uso del portapapeles compartido en las conexiones RDP, que de otro modo pueden provocar problemas de congelación. Tenga en cuenta que este selector desactiva la compatibilidad en el portapapeles para imágenes codificadas como URI de datos en texto sin formato (solo afecta a las imágenes que se sueltan o se copian explícitamente como texto desde un navegador).
+Cuando se utiliza con [SET DATABASE PARAMETER](set-database-parameter.md), define un nuevo valor que estará disponible en la próxima base de datos abierta después de que 4D se reinicie manualmente o utilizando los comandos [OPEN DATABASE](open-database.md)(\*), [OPEN DATA FILE](open-data-file.md), o [RESTART 4D](restart-4d.md). Cuando se utiliza con [Get database parameter](get-database-parameter.md), obtiene el valor del parámetro de usuario actualmente disponible, definido mediante una línea de comando (ver *Interfaz de línea de comando*), el archivo .4DLink (ver *Usar un archivo 4DLink*), o una llamada a [SET DATABASE PARAMETER](set-database-parameter.md) durante la sesión anterior. (\*) Si [SET DATABASE PARAMETER](set-database-parameter.md) define un User param value antes de una llamada a [OPEN DATABASE](open-database.md) con un archivo .4DLink que también contiene un atributo xml user-param, 4D 4D tiene en cuenta solo el parámetro ofrecido por [SET DATABASE PARAMETER](set-database-parameter.md).
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/commands-legacy/license-usage.md b/i18n/es/docusaurus-plugin-content-docs/version-21/commands-legacy/license-usage.md
index 3a43b060b8b66a..167f02e795b993 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/commands-legacy/license-usage.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/commands-legacy/license-usage.md
@@ -17,6 +17,12 @@ displayed_sidebar: docs
El comando **License usage** devuelve una colección de objetos que contienen información sobre las licencias retenidas.
+:::note
+
+Este comando solo se puede ejecutar en 4D Server. Devuelve `null` cuando se llama desde otro contexto.
+
+:::
+
Cada objeto de la colección devuelta tiene los siguientes atributos:
| **Nombre de la propiedad** | **Tipo** | **Descripción** |
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/commands-legacy/open-window.md b/i18n/es/docusaurus-plugin-content-docs/version-21/commands-legacy/open-window.md
index ccb1ec0d250f12..dec072d5bf6ea7 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/commands-legacy/open-window.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/commands-legacy/open-window.md
@@ -38,7 +38,30 @@ Si pasa -1 en *derecha* e *inferior,* le indica a 4D que redimensione automátic
**Importante:** este dimensionamiento automático de la ventana ocurrirá únicamente si realiza una llamada previa a [FORM SET INPUT](form-set-input.md) para el formulario a mostrar en la ventana y si le pasa el parámetro opcional \* a [FORM SET INPUT](form-set-input.md).
-* El parámetro *tipo* es opcional y define el tipo de ventana que quiere mostrar, y corresponde a las diferentes ventanas presentadas en la sección . Si el tipo pasado es negativo, la ventana será flotante. Si el tipo no se especifica, el tipo 1 se utiliza por defecto.
+El parámetro *tipo* es opcional. Representa el tipo de ventana que desea mostrar. Si el tipo de ventana es negativo, la ventana creada es una ventana flotante (si es compatible). Si no se especifica el tipo, se utiliza el tipo 1 de forma predeterminada. Se admiten las siguientes constantes del tema *Abrir ventana*:
+
+|Constante|Comentario|
+|---|---|
+|Alternate dialog box|Puede utilizarse en ventana flotante|
+|Has full screen mode Mac|Opción para añadir a una ventana de tipo documento solo en macOS (por ejemplo: `Plain form window+Form has full screen mode Mac`)|
+|Modal dialog box ||
+|Movable dialog box |Puede utilizarse en ventana flotante|
+|Palette window|Can be a floating windowNo redimensionable: `-(Palette window+2)` (Windows) o ` -Palette window` (macOS)Redimensionable: `-(Palette window+6)`|
+|Plain dialog box |Puede utilizarse en ventana flotante|
+|Plain fixed size window||
+|Plain no zoom box window||
+|Pop up window||
+|Plain window||
+|Resizable sheet window||
+|Round corner window ||
+|Sheet window||
+|Texture appearance|Opción que se añadirá a un tipo de ventana solo en macOS. Tipos soportados: `Plain window`, `Plain no zoom box window`, `Plain fixed size window`, `Movable dialog box`, `Round corner window`|
+
+
+
+
+
+
* El parámetro *titulo* indica el título opcional de la ventana
Si pasa una cadena vacía ("") en *titulo,* le indica a 4D que utilice los valores de introducidos en el área Nombre de la ventana de la ventana de Propiedades del formulario en el entorno Diseño para el título del formulario a mostrar en la ventana.
@@ -47,7 +70,7 @@ Si pasa una cadena vacía ("") en *titulo,* le indica a 4D que utilice los valor
* El parámetro *casillaCerrar* es opcional y designa el método para cerrar la ventana. Si se especifica este parámetro, la casilla del menú Control (Windows) o la casilla Cerrar (Macintosh) se añade a la ventana. Cuando el usuario hace doble clic en la casilla de menú Control (Windows) o clic en la Casilla cerrar (Macintosh), se llama al método pasado en *casillaCerrar*.
-**Nota:** también puede administrar el cierre de la ventana desde el método del formulario mostrado en la ventana cuando ocurre un evento On Close Box. Para mayor información, consulte el comando [Form event code](../commands/form-event-code.md).
+**Nota:** también puede administrar el cierre de la ventana desde el método del formulario mostrado en la ventana cuando ocurre un evento `On Close Box`. Para mayor información, consulte el comando [Form event code](../commands/form-event-code.md).
Si se abre más de una ventana para un proceso, la última ventana abierta es la ventana activa (del primer plano) para ese proceso. Sólo puede modificarse la información dentro de la ventana activa. Todas las demás ventanas pueden ser visualizadas. Cuando el usuario digita, la ventana activa siempre pasará al primer plano, si aún no está ahí.
@@ -60,22 +83,20 @@ Los formularios se muestran al interior de una ventana abierta. El texto pasado
El siguiente método de proyecto abre una ventana centrada en la ventana en la ventana principal (Windows) o en la pantalla principal (Macintosh). Note que puede aceptar dos, tres, o cuatro parámetros:
```4d
- // Método de proyecto OPEN CENTERED WINDOW
- // $1 – Ancho de la ventana
- // $2 – Alto de la ventana
- // $3 – Tipo de la ventana (opcional)
- // $4 – Título de la ventana (opcional)
+ // Método proyecto OPEN CENTERED WINDOW
+ #DECLARE($width : Integer; $height : Integer; $type : Integer; $title : Text)
+ var $SW; $SH; $WW; $WH : Integer
$SW:=Screen width\2
$SH:=(Screen height\2)
- $WW:=$1\2
- $WH:=$2\2
+ $WW:=$width\2
+ $WH:=$height\2
Case of
:(Count parameters=2)
Open window($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH)
:(Count parameters=3)
- Open window($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH;$3)
+ Open window($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH;$type)
:(Count parameters=4)
- Open window($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH;$3;$4)
+ Open window($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH;$type;$title)
End case
```
@@ -95,7 +116,8 @@ Una vez escrito el método de proyecto, puede utilizarlo de esta forma:
El siguiente ejemplo abre una ventana flotante que tiene un casilla de menú Control (Windows) o una casilla de cerrar (Macintosh). La ventana se abre en la esquina superior derecha de la ventana de la aplicación.
```4d
- $myWindow:=Open window(Screen width-149;33;Screen width-4;178;-Palette window;"";"CloseColorPalette")
+var $myWindow : Integer
+ $myWindow:=Open window(Screen width-149;33;Screen width-4;178;-Palette window;"";"CloseColorPalette")
DIALOG([Dialogs];"Color Palette")
```
@@ -105,20 +127,19 @@ El método CloseColorPalette llama al comando [CANCEL](cancel.md):
CANCEL
```
-
## Ejemplo 3
El siguiente ejemplo abre una ventana cuyo tamaño y título provienen de las propiedades del formulario mostrado en la ventana:
```4d
- ORM SET INPUT([Customers];"Add Records";*)
- $myWindow:=Open window(10;80;-1;-1;Plain window;"")
+ var $myWindow : Integer
+ FORM SET INPUT([Customers];"Add Records";*)
+ $myWindow:=Open window(10;80;-1;-1;Plain window;"")
Repeat
ADD RECORD([Customers])
Until(OK=0)
```
-
**Recuerde**: para que la función **Open window** utilice automáticamente las propiedades del formulario, debe llamar a [FORM SET INPUT](form-set-input.md) con el parámetro opcional *\** y las propiedades del formulario deben haber sido definidas en función de esta utilización en el entorno Diseño.
## Ejemplo 4
@@ -126,23 +147,23 @@ El siguiente ejemplo abre una ventana cuyo tamaño y título provienen de las pr
Este ejemplo ilustra el mecanismo de “retraso” de mostrar ventanas bajo macOS:
```4d
- $miVentana:=Open window(10;10;400;400;Sheet window)
+ var $myWindow : Integer
+ $myWindow:=Open window(10;10;400;400;Sheet window)
//Por el momento, se crea la ventana pero permanece oculta
- DIALOG([Tabla];"formDial")
- //El evento On Load se genera luego se muestra la ventana; "desciende" de debajo de la barra de título
+ DIALOG([Table];"dialForm")
+ //El evento On Load se genera luego se muestra la ventana; "desciende" de debajo de
+ //la barra de título
```
## Ver también
[CLOSE WINDOW](close-window.md)
-*Crear ventana*
[Open form window](open-form-window.md)
+
## Propiedades
| | |
| --- | --- |
| Número de comando | 153 |
| Hilo seguro | ✗ |
-
-
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/commands-legacy/query-by-attribute.md b/i18n/es/docusaurus-plugin-content-docs/version-21/commands-legacy/query-by-attribute.md
index 8381b78bbc201e..b2559925b25235 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/commands-legacy/query-by-attribute.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/commands-legacy/query-by-attribute.md
@@ -10,12 +10,12 @@ displayed_sidebar: docs
| Parámetro | Tipo | | Descripción |
| --- | --- | --- | --- |
| tabla | Table | → | Tabla para la cual devolver una selección de registros o Tabla por defecto si se omite |
-| opConj | * | → | Operador de conjunción ausar para combinar varias búsquedas (si las hay) |
+| opConj | Operator | → | Operador de conjunción a usar para combinar varias búsquedas (si las hay) |
| campoObjeto | Field | → | Campo objeto cuyos atributos utilizar para la búsqueda |
| rutaAtributo | Text | → | Nombre o ruta de atributo |
-| opBusq | Text, * | → | Operador de búsqueda (comparador) |
+| opBusq | Text, Operator | → | Operador de búsqueda (comparador) |
| valor | Text, Number, Date, Time | → | Valor a comparar |
-| * | Operador | → | Espera de ejecución de la búsqueda |
+| * | Operator | → | Espera de ejecución de la búsqueda |
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/commands-legacy/query-selection-by-attribute.md b/i18n/es/docusaurus-plugin-content-docs/version-21/commands-legacy/query-selection-by-attribute.md
index a7edbed92609a3..9e34f09cbdfff0 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/commands-legacy/query-selection-by-attribute.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/commands-legacy/query-selection-by-attribute.md
@@ -5,17 +5,17 @@ slug: /commands/query-selection-by-attribute
displayed_sidebar: docs
---
-**QUERY SELECTION BY ATTRIBUTE** ( {*tabla*}{;}{*conjOp* ;} *campoObjeto* ; *rutaAtributo* ; *opBusq* ; *valor* {; *} )
+**QUERY SELECTION BY ATTRIBUTE** ( {*tabla*}{;}{*opConj* ;} *campoObjeto* ; *rutaAtributo* ; *opBusq* ; *valor* {; *} )
| Parámetro | Tipo | | Descripción |
| --- | --- | --- | --- |
-| tabla | Table | → | Tabla para la cual devolver una selección de registros o tabla por defecto si se omite |
-| conjOp | * | → | Operador de conjunción a utilizar ara unir múltiples búsquedas (si las hay) |
-| campoObjeto | Field | → | Campo objeto para buscar atributos |
+| tabla | Table | → | Tabla para la cual devolver una selección de registros o Tabla por defecto si se omite |
+| opConj | Operator | → | Operador de conjunción a usar para combinar varias búsquedas (si las hay) |
+| campoObjeto | Field | → | Campo objeto cuyos atributos utilizar para la búsqueda |
| rutaAtributo | Text | → | Nombre o ruta de atributo |
-| opBusq | *, Text | → | Operador de búsqueda (comparador) |
+| opBusq | Text, Operator | → | Operador de búsqueda (comparador) |
| valor | Text, Number, Date, Time | → | Valor a comparar |
-| * | Operador | → | Continuar bandera de búsqueda |
+| * | Operator | → | Espera de ejecución de la búsqueda |
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/commands-legacy/set-database-parameter.md b/i18n/es/docusaurus-plugin-content-docs/version-21/commands-legacy/set-database-parameter.md
index b2223dee64a5c1..e266448f1d160a 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/commands-legacy/set-database-parameter.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/commands-legacy/set-database-parameter.md
@@ -21,6 +21,34 @@ displayed_sidebar: docs
El *selector* designa el parámetro a modificar. 4D ofrece constantes predefinidas, las cuales se ubican en el tema *Parámetros de la base*. La siguiente tabla lista cada constante, describe su alcance e indica si los cambios realizados se conservan entre dos sesiones:
+### 4D Remote mode timeout (14)
+
+**Alcance** (antigua capa de red únicamente): aplicación 4D si valor positivo
+
+**Se conserva entre dos sesiones**: sí si *valor* positivo
+
+**Descripción**: a utilizar en casos muy específicos. Valor del timeout otorgado por el equipo 4D remoto a la máquina 4D Server. Por defecto, este valor se define en la página "Cliente-Servidor/Configuración" de la caja de diálogo de Preferencias en el equipo remoto.
+
+El selector Timeout 4D mode distant no se tiene en cuenta si utiliza la antigua capa de red. Con la capa 4D *ServerNet* activada, se ignora: esta configuración es administrada por el selector Timeout 4D Server (13).
+
+
+
+### 4D Server log recording (28)
+
+**Hilo seguro**: sí
+
+**Alcance**: 4D Server, 4D remoto*
+
+**Se conserva entre dos sesiones**: no
+
+ **Valores posibles**: 0 ó de 1 a X (0 = no grabar, 1 a X = número secuencial, añadido al nombre del archivo).
+
+**Descripción**: inicia o detiene la grabación de las peticiones estándar recibidas por 4D Server (excluyendo las peticiones web). Por defecto, el valor es 0 (no se graban las peticiones).
+
+4D Server le permite grabar cada petición recibida por el equipo servidor en un archivo de historial. Cuando este mecanismo está activo, el archivo de historial se crea junto al archivo de estructura de la base. Su nombre es "4DRequestsLog\_X," donde X es el número secuencial del historial. Una vez el archivo alcanza un tamaño de 10 MB, se cierra y se genera un nuevo archivo, con un número secuencial incrementado. Si existe un archivo con el mismo nombre, se reemplaza directamente. Puede definir el número de inicio de la secuencia utilizando el parámetro *valor*.
+
+Este archivo texto almacena en formato tabulado simple diferente información sobre cada petición: hora, número de proceso, usuario, tamaño de la petición, duración del proceso, etc. Esta información puede ser útil particularmente durante la fase de afinamiento de la aplicación o con fines estadísticos. Por ejemplo puede importarse, en un software de hoja de cálculo para procesarse.
+
### 4D Server timeout (13)
**Alcance**: aplicación 4D si *valor* positivo
@@ -39,27 +67,52 @@ Si pasa un valor **positivo** en el parámetro *valor*, define un timeout global
-### 4D Remote mode timeout (14)
+### Auto synchro resources folder (48)
-**Alcance** (antigua capa de red únicamente): aplicación 4D si valor positivo
+**Alcance**:equipo 4D remoto
-**Se conserva entre dos sesiones**: sí si *valor* positivo
+ **Se conserva entre dos sesiones**: no
-**Descripción**: a utilizar en casos muy específicos. Valor del timeout otorgado por el equipo 4D remoto a la máquina 4D Server. Por defecto, este valor se define en la página "Cliente-Servidor/Configuración" de la caja de diálogo de Preferencias en el equipo remoto.
+ **Valores posibles**: 0 (sin sincronización), 1 (auto sincronización) ó 2 (preguntar).
-El selector Timeout 4D mode distant no se tiene en cuenta si utiliza la antigua capa de red. Con la capa 4D *ServerNet* activada, se ignora: esta configuración es administrada por el selector Timeout 4D Server (13).
+**Descripción**: modo de sincronización dinámico de la carpeta *Resources* del equipo cliente 4D que ejecuta el comando con el servidor.
+
+Cuando el contenido de la carpeta *Resources* en el servidor se ha modificado o un usuario ha solicitado la sincronización (por ejemplo vía el explorador de recursos o siguiendo la ejecución del comando [NOTIFY RESOURCES FOLDER MODIFICATION](notify-resources-folder-modification.md "NOTIFY RESOURCES FOLDER MODIFICATION")), el servidor notifica a los equipos cliente conectados.
+Tres modos de sincronización son posibles del lado del cliente. El selector Auto Synchro Resources Folder se utiliza para especificar el modo a utilizar por el equipo cliente para la sesión actual:
+
+0 (valor por defecto): sin sincronización dinámica (la petición de sincronización se ignora) 1: sincronización dinámica automática2: visualización de una caja de diálogo en los equipos clientes, con la posibilidad de efectuar o rechazar la sincronización.El modo de sincronización también puede definirse globalmente en las Preferencias de la aplicación.
-### Port ID (15)
+
+### Cache flush periodicity (95)
+
+**Hilo seguro**: sí
+
**Alcance**: 4D local, 4D Server
+**Se conserva entre dos sesiones:** no
+
+**Valores posibles:** entero largo > 1 (segundos)
+
+**Descripción**: obtiene o establece la periodicidad del vaciado de la caché, expresado en segundos. La modificación de este valor prevalece sobre la opción **Vaciar caché cada X segundos** en [XML DECODE](xml-decode.md) de la configuración de la base para la sesión (que no se almacena en las Propiedades de la base).
+
+
+
+### Cache unload minimum size (66)
+
+**Alcance**: aplicación 4D
+
**Se conserva entre dos sesiones**: no
-**Descripción**: Command SET DATABASE Número de puerto TCP utilizado por el servidor web 4D con 4D en modo local y 4D Server. El valor por defecto, que puede ser definido en la página "Web/Configuración" de la caja de diálogo Preferencias, es 80. Puede utilizar las constantes del tema *Números de puerto TCP* para el parámetro *valor*.
+**Valores posibles**: entero largo positivo > 1.
-El selector Port ID se utiliza en el marco de servidores web 4D compilados y fusionados con 4D Desktop (sin acceso al modo Diseño). Para mayor información sobre el número de puerto TCP, consulte la sección *Parámetros del servidor web*
+**Descripción**: tamaño mínimo de memoria a liberar del caché de la base de datos cuando el motor necesita hacer espacio para ubicar un objeto (valor en bytes).
+
+El propósito de este selector es reducir el número de liberaciones de datos de la caché con el fin de obtener un mejor rendimiento. Puede hacer variar este parámetro en función del tamaño de la caché y del de los bloques de datos manipulados en su base.
+
+Por defecto, si este selector no se utiliza, 4D descarga mínimo 10% de la caché en caso de que se necesite espacio.Alcance: Aplicación 4D
@@ -73,37 +126,61 @@ El selector Port ID se utiliza en el marco de servidores web 4D compilados y fus
-### Max concurrent Web processes (18)
+### Circular log limitation (90)
-**Alcance**: 4D local, 4D Server
+**Hilo seguro**: sí
-**Se conserva entre dos sesiones**: sí
+**Alcance**: 4D local, 4D Server.
-**Descripción**: *constante obsoleta (se conserva por compatibilidad únicamente).* Se recomienda utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
+**Se conserva entre dos sesiones:** no
+**Valores posibles**: todo valor entero, 0 = conservar todos los registros
+**Descripción**: número máximo de archivos a conservar en rotación para cada tipo de registro. Por defecto, todos los archivos se conservan. Si pasa un valor *X*, solo los *X* archivos más recientes se conservan, el más antiguo se borra automáticamente cuando se crea uno nuevo. Esta parametrización se aplica a cada uno de los siguientes archivos de registro: registros de peticiones (selectores 28 y 45), registro de depuración (selector 34), registro de eventos (selector 79), así como el historial de peticiones web (selectores 29 y 84 del comando [WEB SET OPTION](web-set-option.md)), etc.
-### Client port ID (22)
+
+
+### Client character set (24)
**Alcance**: todos los equipos 4D remotos
**Se conserva entre dos sesiones**: sí
- **Valores posibles**: ver selector 15
+ **Valores posibles**: ver selector 17
-**Descripción**: permite especificar este parámetro para todos los equipos 4D remotos utilizados como servidores web. Los valores definidos utilizando estos selectores se aplican a todos los equipos remotos utilizados como servidores web. Si quiere definir valores sólo para ciertos equipos remotos, utilice la caja de diálogo de Preferencias de 4D en modo remoto.
+**Descripción**: permite especificar este parámetro para todos los equipos 4D remotos utilizados como servidores web. Los valores definidos utilizando estos selectores se aplican a todos los equipos remotos utilizados como servidores web. Si quiere definir los valores sólo para algunos equipos remotos, utilice la caja de diálogo de Preferencias de 4D en modo remoto.
-### Client character set (24)
+### Client HTTPS port ID (40)
**Alcance**: todos los equipos 4D remotos
**Se conserva entre dos sesiones**: sí
- **Valores posibles**: ver selector 17
+ **Valores posibles**: 0 a 65535
-**Descripción**: permite especificar este parámetro para todos los equipos 4D remotos utilizados como servidores web. Los valores definidos utilizando estos selectores se aplican a todos los equipos remotos utilizados como servidores web. Si quiere definir los valores sólo para algunos equipos remotos, utilice la caja de diálogo de Preferencias de 4D en modo remoto.
+**Descripción**: número de puerto TCP utilizado por los servidores web de los equipos clientes para conexiones seguras vía SSL (protocolo HTTPS). Por defecto, el valor es 443 (valor estándar).
+
+Este selector puede utilizarse para modificar por programación el puerto TCP utilizado por los servidores web de los equipos clientes para las conexiones seguras vía SSL (protocolo HTTPS). Por defecto, el valor es 443 (valor estándar).
+
+Este selector funciona exactamente igual que el selector 39; sin embargo, aplica a todos los equipos 4D remotos utilizados como servidores web. Si quiere modificar el valor de ciertos equipos clientes únicamente, utilice la caja de diálogo de Preferencias de 4D remoto.
+
+
+
+### Client log recording (45)
+
+**Alcance**:equipo 4D remoto
+
+ **Se conserva entre dos sesiones**: no
+
+ **Valores posibles**: 0 ó de 1 a X (0 = no grabar, 1 a X = número secuencial, asociado al nombre del archivo).
+
+**Descripción**: inicia o detiene la grabación de peticiones estándar efectuadas por el equipo cliente 4D que ejecutó el comando (excluyendo las peticiones web). Por defecto, el valor es 0 (no se graban las peticiones).
+
+4D le permite registrar el historial de peticiones realizadas por el equipo cliente. Cuando este mecanismo se activa, se crean dos archivos en el equipo cliente, en la subcarpeta Logs de la carpeta local de la base. Son llamados 4DRequestsLog\_X y 4DRequestsLog\_ProcessInfo\_X, donde X es el número secuencial del historial. Una vez el archivo 4DRequestsLog alcanza un tamaño de 10 MB, se cierra y se genera uno nuevo, con un número secuencial incrementado. Si ya existe un archivo con el mismo nombre, se reemplaza directamente. Puede definir el número de inicio para la secuencia utilizando el parámetro *valor*.
+
+Estos archivos texto almacenan en formato tabulado simple diferente información relacionada con cada petición: hora, número de proceso, tamaño de la petición, duración del proceso, etc. Esta información es particularmente útil durante la fase de desarrollo de la aplicación o con fines estadísticos.
@@ -119,31 +196,35 @@ El selector Port ID se utiliza en el marco de servidores web 4D compilados y fus
-### Maximum Web requests size (27)
+### Client port ID (22)
-**Alcance**: 4D local, 4D Server
+**Alcance**: todos los equipos 4D remotos
-**Se conserva entre dos sesiones**: sí
+ **Se conserva entre dos sesiones**: sí
-**Descripción**: Constante obsoleta (se conserva por compatibilidad únicamente). Se recomienda utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
+ **Valores posibles**: ver selector 15
+**Descripción**: permite especificar este parámetro para todos los equipos 4D remotos utilizados como servidores web. Los valores definidos utilizando estos selectores se aplican a todos los equipos remotos utilizados como servidores web. Si quiere definir valores sólo para ciertos equipos remotos, utilice la caja de diálogo de Preferencias de 4D en modo remoto.
-### 4D Server log recording (28)
-**Hilo seguro**: sí
+### Client Server port ID (35)
-**Alcance**: 4D Server, 4D remoto*
+**Alcance**: base de datos
-**Se conserva entre dos sesiones**: no
+**Se conserva entre dos sesiones**: sí
- **Valores posibles**: 0 ó de 1 a X (0 = no grabar, 1 a X = número secuencial, añadido al nombre del archivo).
+**Valores posibles**: 0 a 65535
-**Descripción**: inicia o detiene la grabación de las peticiones estándar recibidas por 4D Server (excluyendo las peticiones web). Por defecto, el valor es 0 (no se graban las peticiones).
+**Descripción**: número de puerto TCP donde el servidor 4D publica la base de datos (para conexión remota 4D). Por defecto, el valor es 19813\.
+
+La personalización de este valor permite utilizar varias aplicaciones 4D cliente-servidor en la misma máquina con el protocolo TCP; en este caso, debe indicar un número de puerto diferente para cada aplicación.
+
+El valor se guarda en el archivo de estructura de la base. Puede definirse con 4D en modo local pero sólo se tiene en cuenta en configuración cliente servidor.
+
+Cuando modifica este valor, es necesario reiniciar el equipo servidor para que el nuevo valor sea tenido en cuenta.
-4D Server le permite grabar cada petición recibida por el equipo servidor en un archivo de historial. Cuando este mecanismo está activo, el archivo de historial se crea junto al archivo de estructura de la base. Su nombre es "4DRequestsLog\_X," donde X es el número secuencial del historial. Una vez el archivo alcanza un tamaño de 10 MB, se cierra y se genera un nuevo archivo, con un número secuencial incrementado. Si existe un archivo con el mismo nombre, se reemplaza directamente. Puede definir el número de inicio de la secuencia utilizando el parámetro *valor*.
-Este archivo texto almacena en formato tabulado simple diferente información sobre cada petición: hora, número de proceso, usuario, tamaño de la petición, duración del proceso, etc. Esta información puede ser útil particularmente durante la fase de afinamiento de la aplicación o con fines estadísticos. Por ejemplo puede importarse, en un software de hoja de cálculo para procesarse.
### Client Web log recording (30)
@@ -159,17 +240,33 @@ El funcionamiento de este selector es idéntico al del selector 29; sin embargo,
-### Table sequence number (31)
+### Current process debug log recording (111)
-**Alcance**: aplicación 4D
+**Alcance:** Aplicación 4D
- **Se conserva entre dos sesiones**: sí
+**Se conserva entre dos sesiones:** no
- **Valores posibles**: todo valor de tipo entero largo.
+**Descripción**: inicia o detiene el registro secuencial de eventos de programación **del proceso actual** en un archivo de historial separado. Este historial es similar al Debug log recording (selector 34) pero se enfoca solo en el proceso actual. El nombre del archivo de historial incluye la letra "p" y el número del proceso: 4DDebugLog\[\_p*N*_*n*].txt, donde N es el ID único del proceso.
-**Descripción**: este selector se utiliza para modificar o modificar u obtener el número único actual de los registros de la tabla pasada en parámetro. "Número actual" significa "último número utilizado": si modifica este valor utilizando SET DATABASE PARAMETER, el siguiente registro será el valor pasado + 1\. Este nuevo número es el número devuelto por el comando Sequence number [](http://doc.tmp.4d.fr/Database-Parameters/4Dv11.4/ConstantTheme/4870/CMU00244.HTM) como también en todo campo de la tabla a la cual se asigna la propiedad "Autoincrementar" en el editor de estructura o vía SQL.
+Para más información sobre este formato y sobre el uso del archivo *4DDebugLog*, consulte *Descripción de archivos de historial* en el Modo Diseño.
-Por defecto, este número único es definido por 4D y corresponde al orden de creación de los registros. Para información adicional, por favor consulte la documentación del comando [Sequence number](sequence-number.md "Sequence number").
+**Notas:** Este selector se proporciona únicamente con el fin de depurar y debe utilizarse con cuidado. En particular, no debe ponerse en producción, ya que puede tener un impacto en el rendimiento de la aplicación. Puede utilizarar ambos selectores Debug log recording y Current process debug log recording simultáneamente, en cuyo caso las acciones del proceso actual no se registrarán en el archivo de historial principal.
+
+
+
+### Dates inside objects (85)
+
+**Alcance**: proceso actual
+
+ **Se conserva entre dos sesiones:** no
+
+ **Valores posibles**: Tipo cadena sin zona horaria (0), tipo cadena con zona horaria (1), tipo fecha (2) (por defecto)
+
+**Descripción**: define la forma en que se almacenan las fechas dentro de los objetos, así como también cómo se importan / exportan en JSON.
+
+Cuando el valor del selector es Date type (valor predeterminado para las bases creadas con 4D v17 y superior), las fechas 4D se almacenan con el tipo de fecha dentro de los objetos, con respecto a la configuración de fecha local. Cuando se convierte a formato JSON, los atributos de fecha se convertirán en cadenas que no incluyen un tiempo. (**Nota:** esta configuración se puede definir mediante la opción "Utilizar tipo de fecha en lugar del formato de fecha ISO en objetos" que se encuentra en *Página Compatibilidad* de la configuración de la base).
+
+Si pasa String type with time zone en este selector, convertirá las fechas 4D en cadenas ISO y tendrá en cuenta la zona horaria local. Por ejemplo, la conversión de la fecha 23/08/2013 le da "2013-08-22T22: 00: 000Z" en formato JSON cuando la operación se realiza en Francia durante el horario de verano (GMT+ 2). Este principio se ajusta al funcionamiento estándar de JavaScript. Esto puede ser una fuente de errores cuando desea enviar valores de fecha JSON a alguien en un huso horario diferente. Por ejemplo, cuando exporta una tabla usando [Selection to JSON](selection-to-json.md) en Francia que se debe reimportar en los EE. UU. utilizando [JSON TO SELECTION](json-to-selection.md). Dado que las fechas se vuelven a interpretar en cada zona horaria, los valores almacenados en la base de datos serán diferentes. En este caso, puede modificar el modo de conversión de las fechas para que no tengan en cuenta la zona horaria pasando String type without time zone en este selector. La conversión de la fecha 23/08/2013 le dará "2013-08-23T00: 00: 00Z" en todos los casos.
@@ -190,31 +287,24 @@ Por defecto, este número único es definido por 4D y corresponde al orden de cr
**Valores posibles**: entero largo contiene un campo de bits: valor = bit1(1)+bit2(2)+bit3(4)+bit4(8)+…).
- Bit 0 (valor 1) permite activar el archivo (note que cualquier otro valor no nulo también lo activará)
-
- Bit 1 (valor 2) permite solicitar los parámetros de llamada a los métodos y comandos.
-
- Bit 2 (valor 4) permite activar el nuevo formato tabulado.
-
- Bit 3 (valor 8) permite desactivar la escritura inmediata de cada operación en el disco (activado por defecto). La escritura inmediata es menor rápida y más eficaz por ejemplo para buscar las causas de un fallo.Si desactiva este modo, el contenido del archivo será generado más rápidamente.
-
- Bit 4 (valor 16) desactiva el registro de llamadas de plug-ins (activado por defecto).
-
- Bit 5 (valor 32) desactiva el registro de las funciones miembros.
Ejemplos:
+```4d
SET DATABASE PARAMETER (34;1) // activa el modo estándar sin los parámetros, con las duraciones
-
SET DATABASE PARAMETER (34;2) // activa el modo estándar con los parámetros y las duraciones
-
SET DATABASE PARAMETER (34;2+4) // activa el modo tabulado con los parámetros y las duraciones
-
SET DATABASE PARAMETER (34;0) // desactiva el archivo
+```
Para todo tipo de aplicación 4D interpretada o compilada (4D todos los modos, 4D Server, 4D Volume Desktop), puede evitar que un archivo registre demasiada información:
- restringiendo los comandos 4D que se examinan utilizando Log command list (selector 80), o
-
- restringiéndolo sólo al proceso actual con Current process debug log recording (selector 111). Esto añadirá la letra "p" y el número de proceso al nombre del archivo: *4DDebugLog\[\_pn\_n\].txt* o *4DDebugLogServer\[\_pn\_n\].txt*
*Para más información sobre este formato y sobre el uso del archivo *4DDebugLog*, consulte la sección *Descripción de archivos de historial*.
@@ -227,568 +317,569 @@ Este selector se ofrece únicamente con fines de depuración y debe utilizarse c
-### Client Server port ID (35)
+### Diagnostic log level (86)
-**Alcance**: base de datos
+**Hilo seguro**: sí
-**Se conserva entre dos sesiones**: sí
+**Alcance**: aplicación 4D
-**Valores posibles**: 0 a 65535
+**Se conserva entre dos sesiones**: no
-**Descripción**: número de puerto TCP donde el servidor 4D publica la base de datos (para conexión remota 4D). Por defecto, el valor es 19813\.
+**Descripción**: nivel(es) de los mensajes que se incluirán en el registro de diagnóstico cuando esté habilitado (ver selector Diagnostic log recording). Cada nivel designa una categoría de mensajes de diagnóstico e incluye automáticamente las categorías más importantes. Para una descripción de las categorías, consulte la sección *Niveles de registro de diagnóstico* en *developer.4d.com*.
-La personalización de este valor permite utilizar varias aplicaciones 4D cliente-servidor en la misma máquina con el protocolo TCP; en este caso, debe indicar un número de puerto diferente para cada aplicación.
+**Valores posibles**: una de las siguientes constantes (Log info por defecto): Log trace: activa ERROR, WARN, INFO, DEBUG, TRACE (nivel más detallado) Log debug: activa ERROR, WARN, INFO, DEBUG Log info: activa ERROR, WARN, INFO (por defecto) Log warn: activa ERROR, WARN Log error: activa ERROR (nivel menos detallado)
-El valor se guarda en el archivo de estructura de la base. Puede definirse con 4D en modo local pero sólo se tiene en cuenta en configuración cliente servidor.
-Cuando modifica este valor, es necesario reiniciar el equipo servidor para que el nuevo valor sea tenido en cuenta.
+### Diagnostic log recording (79)
+**Hilo seguro**: sí
-### HTTPS Port ID (39)
+**Alcance**: aplicación 4D
-**Alcance**: 4D local, 4D Server
+**Se conserva entre dos sesiones**: no
-**Se conserva entre dos sesiones**: sí
+**Valores posibles**: 0 ó 1 (0 = no guardar, 1 = guardar)
-**Descripción**: *constante obsoleta (se conserva por compatibilidad únicamente).* Se recomienda utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
+**Descripción**: inicio o detención del registro del archivo de diagnóstico de 4D. Por defecto, el valor es 0 (no guarda).
+4D permite guardar de manera continua en un archivo de diagnóstico un conjunto de eventos relativos al funcionamiento interno de la aplicación. La información contenida en este archivo está destinada a la actualización de las aplicaciones 4D y puede ser analizada con ayuda de los servicios técnicos de 4D. Cuando pasa 1 en este selector, el archivo de diagnóstico, llamado *NomBase.txt*, se crea automáticamente (o abre) en la carpeta **Logs** de la base. Una vez el archivo alcance un tamaño de 10 MB, se cierra y se genera un nuevo archivo *NomBase\_N.txt*, con un número secuencial N incrementado.
+Note que es posible incluir la información personalizada en este archivo con ayuda del comando [LOG EVENT](log-event.md).
-### Client HTTPS port ID (40)
-**Alcance**: todos los equipos 4D remotos
- **Se conserva entre dos sesiones**: sí
+### Direct2D get active status (74)
- **Valores posibles**: 0 a 65535
+**Nota**: sólo puede utilizar este selector con el comando [Get database parameter](get-database-parameter.md "Get database parameter") y su valor no puede definirse.
-**Descripción**: número de puerto TCP utilizado por los servidores web de los equipos clientes para conexiones seguras vía SSL (protocolo HTTPS). Por defecto, el valor es 443 (valor estándar).
+**Descripción**: devuelve la implementación activa de Direct2D bajo Windows.
-Este selector puede utilizarse para modificar por programación el puerto TCP utilizado por los servidores web de los equipos clientes para las conexiones seguras vía SSL (protocolo HTTPS). Por defecto, el valor es 443 (valor estándar).
+**Valores posibles**: 0, 1, 2, 3, 4 o 5 (ver los valores del selector 69). El valor devuelto depende de la disponibilidad de Direct2D, del hardware y de la calidad Direct2D soportado por el sistema operativo.
-Este selector funciona exactamente igual que el selector 39; sin embargo, aplica a todos los equipos 4D remotos utilizados como servidores web. Si quiere modificar el valor de ciertos equipos clientes únicamente, utilice la caja de diálogo de Preferencias de 4D remoto.
+Por ejemplo, si ejecuta:
+```4d
+SET DATABASE PARAMETER(Direct2D status;Direct2D Hardware)
+$mode:=Get database parameter(Direct2D get active status)
+```
+- En Windows 7 y superiores, $mode vale 1 cuando el sistema detecta un hardware compatible con Direct2D; de lo contrario, $mode valdrá 3 (contexto software).
+- En Windows Vista, $mode valdrá 1 si el sistema detecta un hardware compatible con Direct2D; de lo contrario, $mode toma el valor 0 (desactivando Direct2D).
+- En Windows XP, $mode siempre valdrá 0 (no compatible con Direct2D).
-### SQL Autocommit (43)
-**Alcance**: base de datos
- **Se conserva entre dos sesiones**: sí
+### Direct2D status (69)
- **Posibles valores**: 0 (desactivación) o 1 (activación)
+**Alcance**: aplicación 4D
-**Descripción**: activación o desactivación del modo SQL auto-commit. Por defecto, el valor es 0 (modo desactivado)
+**Se conserva entre dos sesiones**: no
- El modo auto-commit permite reforzar la integridad referencial de la base. Cuando este modo está activo, las peticiones *SELECT*, INSERT, UPDATE y *DELETE* (SIUD) se incluyen automáticamente en las transacciones cuando no se han ejecutado dentro de una transacción. Este modo igualmente puede definirse en las Preferencias de la base.
+**Descripción**: modo de activación de Direct2D bajo Windows.
+**Valores posibles**: una de las siguientes constantes (modo 3 por defecto):
+- Direct2D Disabled (0): el modo Direct2D no está habilitado y la base de datos funciona en el modo anterior (GDI/GDIPlus).
+- Direct2D Hardware (1): utilice Direct2D como contexto de hardware de gráficos para toda la aplicación 4D. Si este contexto no está disponible, use el contexto del software de gráficos Direct2D.
+- Direct2D Software (3) (modo predeterminado): a partir de Windows 7, utilice el contexto del software de gráficos Direct2D para toda la aplicación 4D.
-### SQL Engine case sensitivity (44)
+***Advertencia*: este selector se ofrece solo para fines de depuración. Dado que varias funciones 4D se basan en Direct2D, no se debe desactivar en las aplicaciones implementadas. Solo el modo predeterminado (Direct2D Software)* **está aprobado para las aplicaciones desplegadas.*
-**Alcance**: base de datos
- **Se conserva entre dos sesiones**: sí
- **Valores posibles**: 0 (no se tienen en cuenta las mayúsculas y minúsculas) ó 1 (sensible a las mayúsculas y minúsculas)
+### HTTP compression level (50)
-**Descripción**: activación o desactivación de la sensibilidad a mayúsculas y minúsculas para comparaciones de cadenas efectuadas por el motor SQL.
+**Alcance**: aplicación 4D
-Por defecto, el valor es 1 (sensible a las mayúsculas y minúsculas): el motor SQL diferencia entre mayúsculas y minúsculas y entre caracteres acentuados al comparar cadenas (ordenaciones y búsquedas). Por ejemplo “ABC”= “ABC” pero “ABC” # “Abc.” En algunos casos, por ejemplo para alinear el funcionamiento del motor SQL con el del motor 4D, podría querer que las comparaciones de cadenas no tengan en cuenta las mayúsculas y minúsculas (“ABC”=“Abc”).
+**Se conserva entre dos sesiones**: no
-Esta opción también puede definirse en la [CALL SUBFORM CONTAINER](call-subform-container.md) de las Preferencias de la base.
+**Descripción**: *constante obsoleta (se conserva por compatibilidad únicamente).* Se recomienda utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
-### Client log recording (45)
+### HTTP compression threshold (51)
-**Alcance**:equipo 4D remoto
+**Alcance**: aplicación 4D
- **Se conserva entre dos sesiones**: no
+**Se conserva entre dos sesiones**: no
- **Valores posibles**: 0 ó de 1 a X (0 = no grabar, 1 a X = número secuencial, asociado al nombre del archivo).
+**Descripción**: *constante obsoleta (se conserva por compatibilidad únicamente).* Se recomienda utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
-**Descripción**: inicia o detiene la grabación de peticiones estándar efectuadas por el equipo cliente 4D que ejecutó el comando (excluyendo las peticiones web). Por defecto, el valor es 0 (no se graban las peticiones).
-4D le permite registrar el historial de peticiones realizadas por el equipo cliente. Cuando este mecanismo se activa, se crean dos archivos en el equipo cliente, en la subcarpeta Logs de la carpeta local de la base. Son llamados 4DRequestsLog\_X y 4DRequestsLog\_ProcessInfo\_X, donde X es el número secuencial del historial. Una vez el archivo 4DRequestsLog alcanza un tamaño de 10 MB, se cierra y se genera uno nuevo, con un número secuencial incrementado. Si ya existe un archivo con el mismo nombre, se reemplaza directamente. Puede definir el número de inicio para la secuencia utilizando el parámetro *valor*.
-
-Estos archivos texto almacenan en formato tabulado simple diferente información relacionada con cada petición: hora, número de proceso, tamaño de la petición, duración del proceso, etc. Esta información es particularmente útil durante la fase de desarrollo de la aplicación o con fines estadísticos.
+### HTTPS Port ID (39)
+**Alcance**: 4D local, 4D Server
-### Query by formula on server (46)
+**Se conserva entre dos sesiones**: sí
-**Alcance**: tabla y procesos actuales
+**Descripción**: *constante obsoleta (se conserva por compatibilidad únicamente).* Se recomienda utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
- **Se conserva entre dos sesiones**: no
- **Valores posibles**: 0 (utilizar la configuración de la base), 1 (ejecutar en cliente) o 2 (ejecutar en servidor)
-**Descripción**: ubicación de la ejecución de los comandos [QUERY BY FORMULA](query-by-formula.md "QUERY BY FORMULA") y [QUERY SELECTION BY FORMULA](query-selection-by-formula.md "QUERY SELECTION BY FORMULA") para la *tabla* pasada en parámetro.
+### Idle connections timeout (54)
-Cuando se utiliza una base en modo cliente-servidor, los comandos de búsqueda "por fórmula" pueden ejecutarse en el servidor o en el equipo cliente:
+**Alcance**: aplicación 4D a menos que valor sea negativo
-en bases creadas con 4D v11 SQL, estos comandos se ejecutan en el servidor.en bases convertidas, estos comandos se ejecutan en el equipo cliente, como en las versiones anteriores de 4D.en las bases convertidas, una preferencia específica permite modificar globalmente la ubicación de ejecución de estos comandos.Esta diferencia en ubicación de ejecución influye no sólo en el rendimiento de la aplicación (la ejecución en el servidor es generalmente más rápida) sino también en la programación. En efecto, el valor de los componentes de la fórmula (en particular las variables llamadas vía un método) varía de acuerdo al contexto de ejecución. Puede utilizar este selector para adaptar puntualmente el funcionamiento de su aplicación.
+**Se conserva entre dos sesiones:** no
-Si pasa 0 en el parámetro *valor*, la ubicación de ejecución de los comandos de búsqueda "por fórmula" dependerá de la configuración de la base: en bases creadas con 4D v11 SQL, estos comandos se ejecutarán en el servidor. En bases convertidas, se ejecutarán en el equipo cliente o en el servidor en función de las preferencias de la base. Pase 1 ó 2 en *valor* para "forzar" la ejecución de estos comandos respectivamente en el equipo cliente o en el servidor.
+**Valores posibles:** valor entero que expresa una duración en segundos. El valor puede ser positivo (nuevas conexiones) o negativo (conexiones existentes). Por defecto, el valor es 20.
-Consulte el ejemplo 2.
+**Descripción**: máximo periodo de inactividad (timeout) para conexiones al motor de la base 4D, el motor SQL y el servidor de aplicaciones 4D (capa de red *ServerNet* únicamente, ignorado en *QUIC*). Cuando una conexión inactiva alcanza este límite, se pone en espera automáticamente, lo cual congela la sesión cliente/servidor y cierra el socket de red. En la ventana de administración del servidor, el estado del proceso del usuario se indica como "Postponed". Este funcionamiento es totalmente transparente para el usuario: tan pronto como hay una nueva actividad en la conexión que está en espera, el socket se reabre automáticamente y la sesión cliente/servidor se restaura.
-**Nota:** si quiere activar las uniones "tipo SQL" (consulte el selector QUERY BY FORMULA Joins selector), siempre debe ejecutar las fórmulas en el servidor de manera que tengan acceso a los registros. Atención, en este contexto, la fórmula no debe contener llamadas a un método, de lo contrario pasará automáticamente al equipo remoto.
+Este parámetro permite, por una parte, economizar los recursos en el servidor: las conexiones en espera cierran el socket y liberan un proceso en el servidor. Por otra parte, esto le permite evitar pérdida de conexiones por el cierre de sockets por parte del firewall. Por esta razón, el valor del timeout para conexiones inactivas deber ser menor que el del firewall en este caso.
+Si pasa un valor positivo en *valor*, se aplicará a todas las nuevas conexiones en todos los procesos. Si pasa un valor negativo, se aplicará a las conexiones que se abran en el proceso actual. Si pasa 0, las conexiones inactivas no serán sometidas a un timeout.
+Este parámetro puede definirse del lado del cliente. Por lo general, no necesita cambiar este valor.
-### Order by formula on server (47)
-**Alcance**: tabla y procesos actuales
- **Se conserva entre dos sesiones**: no
+### IMAP Log (119)
- **Valores posibles**: 0 (utilizar la configuración de la base), 1 (ejecutar en el cliente) o 2 (ejecutar en el servidor)
+**Hilo seguro**: sí
-**Descripción**: ubicación de la ejecución del comando [ORDER BY FORMULA](order-by-formula.md "ORDER BY FORMULA") para la tabla pasada en parámetro.
+**Alcance**: 4D local, 4D Server
-Al utilizar una base en modo cliente-servidor, el comando [ORDER BY FORMULA](order-by-formula.md "ORDER BY FORMULA") puede ejecutarse bien sea en el equipo servidor o en el cliente. Este selector puede utilizarse para especificar la ubicación de la ejecución de este comando (servidor o cliente). Este modo también puede definirse en las preferencias de la base. Para mayor información, consulte la descripción del selector 46, Query By Formula On Server.
+**Se conserva entre dos sesiones**: no
-**Nota:** si quiere activar las uniones "tipo SQL" (consulte el selector QUERY BY FORMULA Joins selector), siempre debe ejecutar las fórmulas en el servidor de manera que tengan acceso a los registros. Atención, en este contexto, la fórmula no debe contener llamadas a un método, de lo contrario pasará automáticamente al equipo remoto.
+**Valores posibles**: 0 o de 1 a X (0 = no grabar, 1 a X = número secuencial, añadido al nombre del archivo). Por defecto, el valor es 0 (los intercambios IMAP no se registran).
+**Descripción**: inicia o detiene la grabación de los intercambios entre 4D y el servidor IMAP, cuando se procesa un objeto transportador a través de *IMAP\_transporter.getMail( )* o *IMAP\_transporter.checkConnection( )*. Por defecto, el valor es 0 (intercambios no registrados). Cuando se activa este mecanismo, se crea un archivo de registro en la carpeta Logs de la base. Se llama 4DIMAPLog\_X.txt, donde X es el número secuencial del registro. Una vez que el archivo 4DIMAPLog ha alcanzado un tamaño de 10 MB, se cierra y se genera uno nuevo, con un número secuencial incrementado. Si ya existe un archivo con el mismo nombre, se sustituye directamente. Se puede definir el número inicial de la secuencia mediante el parámetro valor. Por defecto, se conservan todos los archivos, pero puede controlar el número de archivos a conservar utilizando el parámetro Circular log limitation.
+Para más información sobre los archivos 4DIMAPLog\_X.txt, consulte la sección *Descripción de archivos de historial*.
-### Auto synchro resources folder (48)
-**Alcance**:equipo 4D remoto
- **Se conserva entre dos sesiones**: no
+### Is current database a project (112)
- **Valores posibles**: 0 (sin sincronización), 1 (auto sincronización) ó 2 (preguntar).
+**Nota:** solo puede utilizar este selector con el comando [Get database parameter](get-database-parameter.md) y su valor no se puede definir.
-**Descripción**: modo de sincronización dinámico de la carpeta *Resources* del equipo cliente 4D que ejecuta el comando con el servidor.
+**Alcance**: aplicación 4D
-Cuando el contenido de la carpeta *Resources* en el servidor se ha modificado o un usuario ha solicitado la sincronización (por ejemplo vía el explorador de recursos o siguiendo la ejecución del comando [NOTIFY RESOURCES FOLDER MODIFICATION](notify-resources-folder-modification.md "NOTIFY RESOURCES FOLDER MODIFICATION")), el servidor notifica a los equipos cliente conectados.
+**Descripción**: devuelve 1 si la arquitectura de la base actual es un proyecto y 0 en caso contrario. Para más información, consulte la sección *Base proyecto vs base binaria*.
-Tres modos de sincronización son posibles del lado del cliente. El selector Auto Synchro Resources Folder se utiliza para especificar el modo a utilizar por el equipo cliente para la sesión actual:
-0 (valor por defecto): sin sincronización dinámica (la petición de sincronización se ignora) 1: sincronización dinámica automática2: visualización de una caja de diálogo en los equipos clientes, con la posibilidad de efectuar o rechazar la sincronización.El modo de sincronización también puede definirse globalmente en las Preferencias de la aplicación.
+### Is host database a project (113)
+**Nota:** solo puede utilizar este selector con el comando [Get database parameter](get-database-parameter.md) y su valor no se puede definir.
-### Query by formula joins (49)
+**Alcance**: aplicación 4D
-**Alcance**: proceso actual
+**Descripción**: devuelve 1 si la arquitectura de la base local es un proyecto y 0 en caso contrario. Para más información, consulte la sección *Base proyecto vs base binaria*.
- **Se conserva entre dos sesiones**: no
- **Valores posibles**: 0 (utilizar configuración de la base), 1 (siempre utilizar relaciones automáticas) o 2 (utilizar las uniones SQL si es posible).
-**Descripción**: modo de funcionamiento de los comandos [QUERY BY FORMULA](query-by-formula.md "QUERY BY FORMULA") y [QUERY SELECTION BY FORMULA](query-selection-by-formula.md "QUERY SELECTION BY FORMULA") relativos al uso de "uniones SQL."
+### Is host database writable (117)
-En las bases de datos creadas a partir de la versión 11.2 de 4D v11 SQL, estos comandos efectúan uniones basados en el modelo de uniones SQL. Este mecanismo permite modificar la selección de una tabla en función de una búsqueda efectuada en otra tabla sin que las tablas estén conectadas por una relación automática (condición necesaria en las versiones anteriores de 4D).
+**Nota**: solo puede utilizar este selector con el comando [Get database parameter](get-database-parameter.md) y su valor no se puede definir.
-El selector QUERY BY FORMULA Joins permite definir el modo de funcionamiento de los comandos de búsqueda por fórmula para el proceso actual:
+**Alcance**: aplicación 4D
-0: Utilizar los parámetros actuales de la base (valor por defecto). En bases creadas a partir de la versión 11.2 de 4D v11 SQL, las "uniones SQL" siempre se activan para las búsquedas por fórmula. En bases de datos convertidas, este mecanismo no se activa por defecto por razones de compatibilidad pero puede implementarse vía una preferencia.1: Siempre utilizar relaciones automáticas (= funcionamiento de versiones anteriores de 4D). En este modo, una relación es necesaria para definir la selección de una tabla en función de búsquedas efectuadas en otra tabla. 4D no efectúa más "uniones SQL."2: Utilizar las uniones SQL si es posible (= funcionamiento o defecto de las bases creadas en versión 11.2 y superiores de 4D v11 SQL). En este modo, 4D establece "uniones SQL" para las búsquedas por fórmula cuando la fórmula se ajusta para ello (con dos excepciones, ver la descripción del comando [QUERY BY FORMULA](query-by-formula.md "QUERY BY FORMULA") o [QUERY SELECTION BY FORMULA](query-selection-by-formula.md "QUERY SELECTION BY FORMULA")).**Nota:** si quiere activar las uniones "tipo SQL" (consulte el selector QUERY BY FORMULA Joins selector), siempre debe ejecutar las fórmulas en el servidor de manera que tengan acceso a los registros. Atención, en este contexto, la fórmula no debe contener llamadas a un método, de lo contrario pasará automáticamente al equipo remoto.
+**Descripción**: devuelve 1 si el archivo estructura/archivo proyecto local es editable y 0 si es de solo lectura.
-### HTTP compression level (50)
+### Libldap version (114)
-**Alcance**: aplicación 4D
+**Alcance**: máquina 4D actual
**Se conserva entre dos sesiones**: no
-**Descripción**: *constante obsoleta (se conserva por compatibilidad únicamente).* Se recomienda utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
+**Descripción**: devuelve el número de versión de la librería LDAP en la aplicación 4D en la máquina actual. (Solo lectura)
-### HTTP compression threshold (51)
+### Libsasl version (115)
-**Alcance**: aplicación 4D
+**Alcance**: máquina 4D actual
**Se conserva entre dos sesiones**: no
-**Descripción**: *constante obsoleta (se conserva por compatibilidad únicamente).* Se recomienda utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
-
+**Descripción**: devuelve el número de versión de la librería SASL en la aplicación 4D en la máquina actual. (Solo lectura)
-### Server base process stack size (53)
-**Alcance**: 4D Server
+### Libzip version (120)
- **Se conserva entre dos sesiones**: no
+**Alcance**: máquina 4D actual
- **Valores posibles**: entero largo positivo.
+**Se conserva entre dos sesiones**: n/a
-**Descripción**: tamaño de la pila asignada a cada proceso del sistema preferente en el servidor, expresado en bytes. El tamaño por defecto es determinado por el sistema.
+**Descripción**: devuelve el número de versión de la librería libzip en la aplicación 4D en la máquina actual. (Sólo lectura)
-Los procesos sistema preferente (procesos de tipo Proceso base 4D client) se cargan para controlar los procesos cliente 4D principales. El tamaño asignado por defecto a la pila de cada proceso preferente da facilidad de ejecución pero puede resultar consecuente cuando se crea un gran número de procesos (varios cientos).
-Por razones de optimización, este tamaño puede reducirse considerablemente si las operaciones efectuadas por la base lo permiten (por ejemplo si la base no efectúa ordenaciones de grandes cantidades de registros). Son posibles valores de 512 o incluso 256 KB. Sea cuidadoso, subdimensionar la pila es critico y puede afectar la operación de 4D Server. La definición de este parámetro debe hacerse con precaución y tener en cuenta las condiciones de uso de la base (número de registros, tipo de operaciones, etc.).
-Para que sea tenido en cuenta, este parámetro debe ejecutarse en el equipo servidor (por ejemplo en el *Método base On Server Startup*).
+### Log command list (80)
+**Alcance**: aplicación 4D
+**Se conserva entre dos sesiones**: no
-### Idle connections timeout (54)
+**Valores posibles**: cadena que contiene la lista de números de los comandos 4D a guardar (separados por dos puntos), "all" para guardar todos los comandos o "" (cadena vacía) para no guardar ninguno.
-**Alcance**: aplicación 4D a menos que valor sea negativo
+**Descripción**: la lista de comandos 4D a guardar en el archivo de depuración (ver el selector 34, Debug Log Recording). Por defecto, se guardan todos los comandos 4D.
-**Se conserva entre dos sesiones:** no
+Este selector restringe la cantidad de información guardada en el archivo de depuración limitando los comandos 4D cuya ejecución desea registrar o excluir del registro. Por ejemplo, puede escribir:
-**Valores posibles:** valor entero que expresa una duración en segundos. El valor puede ser positivo (nuevas conexiones) o negativo (conexiones existentes). Por defecto, el valor es 20.
+```4d
+ SET DATABASE PARAMETER(Log command list;"277;341") //Graba solo los comandos QUERY y QUERY SELECTION
+ SET DATABASE PARAMETER(Log command list;"-1666;-323") //Excluye los comandos SET USER ALIAS y DELAY PROCESS de ser grabados
+```
-**Descripción**: máximo periodo de inactividad (timeout) para conexiones al motor de la base 4D, el motor SQL y el servidor de aplicaciones 4D (capa de red *ServerNet* únicamente, ignorado en *QUIC*). Cuando una conexión inactiva alcanza este límite, se pone en espera automáticamente, lo cual congela la sesión cliente/servidor y cierra el socket de red. En la ventana de administración del servidor, el estado del proceso del usuario se indica como "Postponed". Este funcionamiento es totalmente transparente para el usuario: tan pronto como hay una nueva actividad en la conexión que está en espera, el socket se reabre automáticamente y la sesión cliente/servidor se restaura.
-Este parámetro permite, por una parte, economizar los recursos en el servidor: las conexiones en espera cierran el socket y liberan un proceso en el servidor. Por otra parte, esto le permite evitar pérdida de conexiones por el cierre de sockets por parte del firewall. Por esta razón, el valor del timeout para conexiones inactivas deber ser menor que el del firewall en este caso.
+### Max concurrent Web processes (18)
-Si pasa un valor positivo en *valor*, se aplicará a todas las nuevas conexiones en todos los procesos. Si pasa un valor negativo, se aplicará a las conexiones que se abran en el proceso actual. Si pasa 0, las conexiones inactivas no serán sometidas a un timeout.
+**Alcance**: 4D local, 4D Server
-Este parámetro puede definirse del lado del cliente. Por lo general, no necesita cambiar este valor.
+**Se conserva entre dos sesiones**: sí
+**Descripción**: *constante obsoleta (se conserva por compatibilidad únicamente).* Se recomienda utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
-### PHP interpreter IP address (55)
-**Alcance**: Aplicación 4D
+### Maximum Web requests size (27)
-**Se conserva entre dos sesiones**: no
+**Alcance**: 4D local, 4D Server
-**Valores**: cadena formateada del tipo "nnn.nnn.nnn.nnn" (por ejemplo "127.0.0.1").
+**Se conserva entre dos sesiones**: sí
-**Descripción**: dirección IP utilizada localmente por 4D para comunicarse con el intérprete PHP vía FastCGI. Por defecto, el valor es "127.0.0.1". Esta dirección debe corresponder a la máquina donde en encuentra 4D. Este parámetro también puede definirse globalmente para todas las máquinas vía las Propiedades de la base.
+**Descripción**: Constante obsoleta (se conserva por compatibilidad únicamente). Se recomienda utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
-Para mayor información sobre el intérprete PHP, por favor consulte el manual de *Diseño*.
+### Min TLS version (105)
-### PHP interpreter port (56)
+**Alcance**: 4D Server, 4D Web Server y 4D SQL Server
-**Alcance**: aplicación 4D
+**Conservar entre dos sesiones**: no
- **Se conserva entre dos sesiones**: no
+**Descripción**: se utiliza para especificar el nivel TLS (Transport Layer Security), que ofrece cifrado y autenticación de datos entre aplicaciones y servidores. Se rechazarán los intentos de conexión de clientes que sólo soporten versiones inferiores a la mínima. La configuración se aplica globalmente a la capa de red. Una vez modificado, el servidor debe reiniciarse para utilizar el nuevo valor.
-**Valores**: valor de tipo entero largo positivo. Por defecto, el valor es 8002\.
+**Valor por defecto**: TLSv1\_3
-**Descripción**: número de puerto TCP utilizado o por el intérprete PHP de 4D. Este parámetro también puede modificarse globalmente para todos los equipos vía las Propiedades de la base. Para mayor información sobre el intérprete PHP, consulte el manual de *Diseño*.
+**Valores posibles**:
+- TLSv1\_2 (TLS 1.2, introducido en 2008)
+- TLSv1\_3 (TLS 1.3, introducido en 2018)
+**NOTAS**:
+- El plugin 4D Internet Commands utiliza una capa de red diferente, por lo que este selector no tendrá ningún impacto en su versión TLS.
+- Se ignorarán los intentos de aplicar TLS a la capa de red heredada.
-### SSL cipher list (64)
-**Alcance**: Aplicación 4D
-Se conserva entre dos sesiones: No
+### Number of formulas in cache (92)
-**Valores posibles**: secuencia de cadenas separadas por dos puntos.
+**Alcance**: aplicación 4D
-**Descripción:** lista de cifrado (*cipher list*) utilizada por 4D para el protocolo seguro. Esta lista modifica la prioridad de los algoritmos de cifrado implementados por 4D. Por ejemplo, puede pasar la siguiente cadena en el parámetro *valor*: "HIGH:!aNULL:!MD5:!3DES:!CAMELLIA:!AES128:!RSA:!DH:!RC4".
+**Se conserva entre dos sesiones:** no
-Para una descripción completa de la sintaxis para la lista cifrada, consulte la *página de cifrado del sitio OpenSSL*.
+**Valores posibles**: enteros largos positivos
-Esta configuración se aplica al servidor web principal (excluyendo los objetos del servidor web), al servidor SQL, a las conexiones cliente/servidor, así como al cliente HTTP y a todos los comandos 4D que hacen uso del protocolo seguro. Es temporal (no se mantiene entre sesiones).
+**Valor por defecto**: 0 (sin caché)
-Cuando la lista de cifrado se modifica, debe reiniciar el servidor correspondiente para que los nuevos parámetros sean tenidos en cuenta.
+**Descripción**: establece u obtiene el número máximo de fórmulas a conservar en la memoria caché de fórmulas, que es utilizado por el comando [EXECUTE FORMULA](execute-formula.md). Este límite se aplica a todos los procesos, pero cada proceso tiene su propia caché de fórmulas. Ubicar las fórmulas en la caché acelera la ejecución del comando [EXECUTE FORMULA](execute-formula.md) en modo compilado, ya que cada fórmula en caché se tokeniza sólo una vez en este caso.Cuando se cambia el valor de la memoria caché, el contenido existente se restablecen incluso si el nuevo tamaño es más grande que el anterior. Una vez se alcanza el número máximo de fórmulas en la memoria caché, una nueva fórmula ejecutada borrará a la más antigua de la memoria caché (modo FIFO). Este parámetro sólo se tiene en cuenta en las bases o componentes compilados.
-Para reinicializar la lista de cifrado a su valor por defecto (guardado permanentemente en el archivo SLI), llame al comando [SET DATABASE PARAMETER](set-database-parameter.md) y pase una cadena vacía ("") en el parámetro *valor*.
-**Nota:** con el comando [Get database parameter](get-database-parameter.md), la lista de cifrado se devuelve en el parámetro opcional *valorAlfa* y el parámetro de retorno es siempre 0.
-### Cache unload minimum size (66)
+### OpenSSL version (94)
-**Alcance**: aplicación 4D
+**Alcance**: todas las máquinas 4D
**Se conserva entre dos sesiones**: no
-**Valores posibles**: entero largo positivo > 1.
-
-**Descripción**: tamaño mínimo de memoria a liberar del caché de la base de datos cuando el motor necesita hacer espacio para ubicar un objeto (valor en bytes).
+**Descripción**: devuelve el número de versión de la librería OpenSSL que se utiliza en la máquina. (Solo lectura)
-El propósito de este selector es reducir el número de liberaciones de datos de la caché con el fin de obtener un mejor rendimiento. Puede hacer variar este parámetro en función del tamaño de la caché y del de los bloques de datos manipulados en su base.
-Por defecto, si este selector no se utiliza, 4D descarga mínimo 10% de la caché en caso de que se necesite espacio.Alcance: Aplicación 4D
+### Order by formula on server (47)
+**Alcance**: tabla y procesos actuales
-### Direct2D status (69)
+ **Se conserva entre dos sesiones**: no
-**Alcance**: aplicación 4D
+ **Valores posibles**: 0 (utilizar la configuración de la base), 1 (ejecutar en el cliente) o 2 (ejecutar en el servidor)
-**Se conserva entre dos sesiones**: no
+**Descripción**: ubicación de la ejecución del comando [ORDER BY FORMULA](order-by-formula.md "ORDER BY FORMULA") para la tabla pasada en parámetro.
-**Descripción**: modo de activación de Direct2D bajo Windows.
+Al utilizar una base en modo cliente-servidor, el comando [ORDER BY FORMULA](order-by-formula.md "ORDER BY FORMULA") puede ejecutarse bien sea en el equipo servidor o en el cliente. Este selector puede utilizarse para especificar la ubicación de la ejecución de este comando (servidor o cliente). Este modo también puede definirse en las preferencias de la base. Para mayor información, consulte la descripción del selector 46, Query By Formula On Server.
-**Valores posibles**: una de las siguientes constantes (modo 3 por defecto):
+**Nota:** si quiere activar las uniones "tipo SQL" (consulte el selector QUERY BY FORMULA Joins selector), siempre debe ejecutar las fórmulas en el servidor de manera que tengan acceso a los registros. Atención, en este contexto, la fórmula no debe contener llamadas a un método, de lo contrario pasará automáticamente al equipo remoto.
-Direct2D Disabled (0): el modo Direct2D no está habilitado y la base de datos funciona en el modo anterior (GDI/GDIPlus).
-Direct2D Hardware (1): utilice Direct2D como contexto de hardware de gráficos para toda la aplicación 4D. Si este contexto no está disponible, use el contexto del software de gráficos Direct2D.
-Direct2D Software (3) (modo predeterminado): a partir de Windows 7, utilice el contexto del software de gráficos Direct2D para toda la aplicación 4D.
+### Pause logging (121)
-***Advertencia*: este selector se ofrece solo para fines de depuración. Dado que varias funciones 4D se basan en Direct2D, no se debe desactivar en las aplicaciones implementadas. Solo el modo predeterminado (Direct2D Software)* **está aprobado para las aplicaciones desplegadas.*
+**Hilo seguro**: sí
+**Alcance**: aplicación 4D
+**Se mantiene entre dos sesiones**: no
-### Direct2D get active status (74)
+**Valores posibles**: 0 (reanudar historial), 1 (pausar historial)
-**Nota**: sólo puede utilizar este selector con el comando [Get database parameter](get-database-parameter.md "Get database parameter") y su valor no puede definirse.
+Este selector permite suspender/reanudar todas las operaciones de registro iniciadas en la aplicación (excepto los registros ORDA). Esta función puede ser útil para aligerar temporalmente las tareas de la aplicación 4D o programar las operaciones de registro.
-**Descripción**: devuelve la implementación activa de Direct2D bajo Windows.
-**Valores posibles**: 0, 1, 2, 3, 4 o 5 (ver los valores del selector 69). El valor devuelto depende de la disponibilidad de Direct2D, del hardware y de la calidad Direct2D soportado por el sistema operativo.
-Por ejemplo, si ejecuta:
+### PHP interpreter IP address (55)
- SET DATABASE PARAMETER(Direct2D status;Direct2D Hardware) $mode:=Get database parameter(Direct2D get active status)
+**Alcance**: Aplicación 4D
-- En Windows 7 y superiores, $mode vale 1 cuando el sistema detecta un hardware compatible con Direct2D; de lo contrario, $mode valdrá 3 (contexto software).
+**Se conserva entre dos sesiones**: no
-- En Windows Vista, $mode valdrá 1 si el sistema detecta un hardware compatible con Direct2D; de lo contrario, $mode toma el valor 0 (desactivando Direct2D).
+**Valores**: cadena formateada del tipo "nnn.nnn.nnn.nnn" (por ejemplo "127.0.0.1").
-- En Windows XP, $mode siempre valdrá 0 (no compatible con Direct2D).
+**Descripción**: dirección IP utilizada localmente por 4D para comunicarse con el intérprete PHP vía FastCGI. Por defecto, el valor es "127.0.0.1". Esta dirección debe corresponder a la máquina donde en encuentra 4D. Este parámetro también puede definirse globalmente para todas las máquinas vía las Propiedades de la base.
+Para mayor información sobre el intérprete PHP, por favor consulte el manual de *Diseño*.
-### Diagnostic log recording (79)
-**Hilo seguro**: sí
+### PHP interpreter port (56)
**Alcance**: aplicación 4D
-**Se conserva entre dos sesiones**: no
-
-**Valores posibles**: 0 ó 1 (0 = no guardar, 1 = guardar)
+ **Se conserva entre dos sesiones**: no
-**Descripción**: inicio o detención del registro del archivo de diagnóstico de 4D. Por defecto, el valor es 0 (no guarda).
+**Valores**: valor de tipo entero largo positivo. Por defecto, el valor es 8002\.
-4D permite guardar de manera continua en un archivo de diagnóstico un conjunto de eventos relativos al funcionamiento interno de la aplicación. La información contenida en este archivo está destinada a la actualización de las aplicaciones 4D y puede ser analizada con ayuda de los servicios técnicos de 4D. Cuando pasa 1 en este selector, el archivo de diagnóstico, llamado *NomBase.txt*, se crea automáticamente (o abre) en la carpeta **Logs** de la base. Una vez el archivo alcance un tamaño de 10 MB, se cierra y se genera un nuevo archivo *NomBase\_N.txt*, con un número secuencial N incrementado.
+**Descripción**: número de puerto TCP utilizado o por el intérprete PHP de 4D. Este parámetro también puede modificarse globalmente para todos los equipos vía las Propiedades de la base. Para mayor información sobre el intérprete PHP, consulte el manual de *Diseño*.
-Note que es posible incluir la información personalizada en este archivo con ayuda del comando [LOG EVENT](log-event.md).
+### POP3 Log (116)
-### Log command list (80)
+**Hilo seguro**: sí
-**Alcance**: aplicación 4D
+**Alcance:** 4D local, 4D Server
**Se conserva entre dos sesiones**: no
-**Valores posibles**: cadena que contiene la lista de números de los comandos 4D a guardar (separados por dos puntos), "all" para guardar todos los comandos o "" (cadena vacía) para no guardar ninguno.
+**Valores posibles:** 0 o de 1 a X (0 = no registrar, 1 a X = número secuencial, agregado al nombre del archivo). Por defecto, el valor es 0 (intercambios POP3 no registrados).
-**Descripción**: la lista de comandos 4D a guardar en el archivo de depuración (ver el selector 34, Debug Log Recording). Por defecto, se guardan todos los comandos 4D.
+**Descripción**: inicia o detiene la grabación de intercambios entre 4D y el servidor POP3, cuando un objeto transportador se procesa a través de *POP3\_transporter.getMail( )* o *POP3\_transporter.checkConnection( )*. Por defecto, el valor es 0 (intercambios no registrados). Cuando este mecanismo está habilitado, se crea un archivo de registro en la carpeta Logs de la base. Se llama 4DPOP3Log\_X.txt, donde X es el número secuencial del registro. Una vez que el archivo 4DPOP3Log ha alcanzado un tamaño de 10 MB, se cierra y se genera uno nuevo, con un número secuencial incrementado. Si ya existe un archivo con el mismo nombre, se reemplaza directamente. Puede establecer el número inicial de la secuencia utilizando el parámetro valor. De manera predeterminada, todos los archivos se mantienen, pero puede controlar la cantidad de archivos que se deben seguir utilizando el parámetro Circular log limitation.
-Este selector restringe la cantidad de información guardada en el archivo de depuración limitando los comandos 4D cuya ejecución desea registrar o excluir del registro. Por ejemplo, puede escribir:
+Para más información sobre los archivos 4DPOP3Log\_X.txt, consulte la sección *Descripción de archivos de historial*.
- SET DATABASE PARAMETER(Log command list;"277;341") //Graba solo los comandos QUERY y QUERY SELECTION O SET DATABASE PARAMETER(Log command list;"-1666;-323") //Excluye los comandos SET USER ALIAS y DELAY PROCESS de ser grabados
-
-### Spellchecker (81)
+### Port ID (15)
-**Alcance**: aplicación 4D
+**Alcance**: 4D local, 4D Server
- **Se conserva entre dos sesiones**: no
+**Se conserva entre dos sesiones**: no
- **Valores posibles**: 0 (por defecto) = corrector macOS nativo (Hunspell desactivado), 1 = corrector Hunspell activo.
+**Descripción**: Command SET DATABASE Número de puerto TCP utilizado por el servidor web 4D con 4D en modo local y 4D Server. El valor por defecto, que puede ser definido en la página "Web/Configuración" de la caja de diálogo Preferencias, es 80. Puede utilizar las constantes del tema *Números de puerto TCP* para el parámetro *valor*.
-**Descripción**: permite activar el corrector ortográfico Hunspell bajo macOS. Por defecto, en esta plataforma el corrector nativo está activo. Puede preferir utilizar el corrector Hunspell, por ejemplo, para unificar la interfaz de sus aplicaciones multiplataformas (bajo Windows, sólo el corrector Hunspell está disponible). Para mayor información, consulte *Corrección ortográfica*.
+El selector Port ID se utiliza en el marco de servidores web 4D compilados y fusionados con 4D Desktop (sin acceso al modo Diseño). Para mayor información sobre el número de puerto TCP, consulte la sección *Parámetros del servidor web*
-### Dates inside objects (85)
+### Query by formula joins (49)
**Alcance**: proceso actual
- **Se conserva entre dos sesiones:** no
+ **Se conserva entre dos sesiones**: no
- **Valores posibles**: Tipo cadena sin zona horaria (0), tipo cadena con zona horaria (1), tipo fecha (2) (por defecto)
+ **Valores posibles**: 0 (utilizar configuración de la base), 1 (siempre utilizar relaciones automáticas) o 2 (utilizar las uniones SQL si es posible).
-**Descripción**: define la forma en que se almacenan las fechas dentro de los objetos, así como también cómo se importan / exportan en JSON.
+**Descripción**: modo de funcionamiento de los comandos [QUERY BY FORMULA](query-by-formula.md "QUERY BY FORMULA") y [QUERY SELECTION BY FORMULA](query-selection-by-formula.md "QUERY SELECTION BY FORMULA") relativos al uso de "uniones SQL."
-Cuando el valor del selector es Date type (valor predeterminado para las bases creadas con 4D v17 y superior), las fechas 4D se almacenan con el tipo de fecha dentro de los objetos, con respecto a la configuración de fecha local. Cuando se convierte a formato JSON, los atributos de fecha se convertirán en cadenas que no incluyen un tiempo. (**Nota:** esta configuración se puede definir mediante la opción "Utilizar tipo de fecha en lugar del formato de fecha ISO en objetos" que se encuentra en *Página Compatibilidad* de la configuración de la base).
+En las bases de datos creadas a partir de la versión 11.2 de 4D v11 SQL, estos comandos efectúan uniones basados en el modelo de uniones SQL. Este mecanismo permite modificar la selección de una tabla en función de una búsqueda efectuada en otra tabla sin que las tablas estén conectadas por una relación automática (condición necesaria en las versiones anteriores de 4D).
-Si pasa String type with time zone en este selector, convertirá las fechas 4D en cadenas ISO y tendrá en cuenta la zona horaria local. Por ejemplo, la conversión de la fecha 23/08/2013 le da "2013-08-22T22: 00: 000Z" en formato JSON cuando la operación se realiza en Francia durante el horario de verano (GMT+ 2). Este principio se ajusta al funcionamiento estándar de JavaScript. Esto puede ser una fuente de errores cuando desea enviar valores de fecha JSON a alguien en un huso horario diferente. Por ejemplo, cuando exporta una tabla usando [Selection to JSON](selection-to-json.md) en Francia que se debe reimportar en los EE. UU. utilizando [JSON TO SELECTION](json-to-selection.md). Dado que las fechas se vuelven a interpretar en cada zona horaria, los valores almacenados en la base de datos serán diferentes. En este caso, puede modificar el modo de conversión de las fechas para que no tengan en cuenta la zona horaria pasando String type without time zone en este selector. La conversión de la fecha 23/08/2013 le dará "2013-08-23T00: 00: 00Z" en todos los casos.
+El selector QUERY BY FORMULA Joins permite definir el modo de funcionamiento de los comandos de búsqueda por fórmula para el proceso actual:
+- 0: Utilizar los parámetros actuales de la base (valor por defecto). En bases creadas a partir de la versión 11.2 de 4D v11 SQL, las "uniones SQL" siempre se activan para las búsquedas por fórmula. En bases de datos convertidas, este mecanismo no se activa por defecto por razones de compatibilidad pero puede implementarse vía una preferencia.
+- 1: Siempre utilizar relaciones automáticas (= funcionamiento de versiones anteriores de 4D). En este modo, una relación es necesaria para definir la selección de una tabla en función de búsquedas efectuadas en otra tabla. 4D no efectúa más "uniones SQL."2: Utilizar las uniones SQL si es posible (= funcionamiento o defecto de las bases creadas en versión 11.
+- 2 y superiores de 4D v11 SQL). En este modo, 4D establece "uniones SQL" para las búsquedas por fórmula cuando la fórmula se ajusta para ello (con dos excepciones, ver la descripción del comando [QUERY BY FORMULA](query-by-formula.md "QUERY BY FORMULA") o [QUERY SELECTION BY FORMULA](query-selection-by-formula.md "QUERY SELECTION BY FORMULA")).**Nota:** si quiere activar las uniones "tipo SQL" (consulte el selector QUERY BY FORMULA Joins selector), siempre debe ejecutar las fórmulas en el servidor de manera que tengan acceso a los registros. Atención, en este contexto, la fórmula no debe contener llamadas a un método, de lo contrario pasará automáticamente al equipo remoto.
-### Diagnostic log level (86)
-**Hilo seguro**: sí
+### Query by formula on server (46)
-**Alcance**: aplicación 4D
+**Alcance**: tabla y procesos actuales
-**Se conserva entre dos sesiones**: no
+ **Se conserva entre dos sesiones**: no
-**Descripción**: nivel(es) de los mensajes que se incluirán en el registro de diagnóstico cuando esté habilitado (ver selector Diagnostic log recording). Cada nivel designa una categoría de mensajes de diagnóstico e incluye automáticamente las categorías más importantes. Para una descripción de las categorías, consulte la sección *Niveles de registro de diagnóstico* en *developer.4d.com*.
+ **Valores posibles**: 0 (utilizar la configuración de la base), 1 (ejecutar en cliente) o 2 (ejecutar en servidor)
-**Valores posibles**: una de las siguientes constantes (Log info por defecto): Log trace: activa ERROR, WARN, INFO, DEBUG, TRACE (nivel más detallado) Log debug: activa ERROR, WARN, INFO, DEBUG Log info: activa ERROR, WARN, INFO (por defecto) Log warn: activa ERROR, WARN Log error: activa ERROR (nivel menos detallado)
+**Descripción**: ubicación de la ejecución de los comandos [QUERY BY FORMULA](query-by-formula.md "QUERY BY FORMULA") y [QUERY SELECTION BY FORMULA](query-selection-by-formula.md "QUERY SELECTION BY FORMULA") para la *tabla* pasada en parámetro.
+Cuando se utiliza una base en modo cliente-servidor, los comandos de búsqueda "por fórmula" pueden ejecutarse en el servidor o en el equipo cliente:
+en bases creadas con 4D v11 SQL, estos comandos se ejecutan en el servidor.en bases convertidas, estos comandos se ejecutan en el equipo cliente, como en las versiones anteriores de 4D.en las bases convertidas, una preferencia específica permite modificar globalmente la ubicación de ejecución de estos comandos.Esta diferencia en ubicación de ejecución influye no sólo en el rendimiento de la aplicación (la ejecución en el servidor es generalmente más rápida) sino también en la programación. En efecto, el valor de los componentes de la fórmula (en particular las variables llamadas vía un método) varía de acuerdo al contexto de ejecución. Puede utilizar este selector para adaptar puntualmente el funcionamiento de su aplicación.
-### Use legacy network layer (87)
+Si pasa 0 en el parámetro *valor*, la ubicación de ejecución de los comandos de búsqueda "por fórmula" dependerá de la configuración de la base: en bases creadas con 4D v11 SQL, estos comandos se ejecutarán en el servidor. En bases convertidas, se ejecutarán en el equipo cliente o en el servidor en función de las preferencias de la base. Pase 1 ó 2 en *valor* para "forzar" la ejecución de estos comandos respectivamente en el equipo cliente o en el servidor.
-**Alcance:** 4D en modo local, 4D Server**
+Consulte el ejemplo 2.
-**Se conserva entre dos sesiones:** sí
+**Nota:** si quiere activar las uniones "tipo SQL" (consulte el selector QUERY BY FORMULA Joins selector), siempre debe ejecutar las fórmulas en el servidor de manera que tengan acceso a los registros. Atención, en este contexto, la fórmula no debe contener llamadas a un método, de lo contrario pasará automáticamente al equipo remoto.
-**Descripción:** fija u obtiene el estado actual de la capa de red antigua para las conexiones cliente/servidor. La capa de red antigua es obsoleta a partir de 4D v14 R5 y debe ser reemplazada progresivamente en sus aplicaciones por la capa de red *ServerNet*. *ServerNet* será requerida en próximas versiones 4D con el fin de beneficiarse de las futuras evoluciones de la red. Por razones de compatibilidad, la capa de red antigua aún se soporta para permitir una transición sin problemas para las aplicaciones existentes; (se usa por defecto en aplicaciones convertidas de una versión anterior a v14 R5). Pase 1 en este parámetro para utilizar la capa de red antigua (y desactivar *ServerNet*) para las conexiones cliente/servidor, y pase 0 para deshabilitar la red antigua (y utilizar *ServerNet*).
-Esta propiedad también se puede definir mediante la opción "Usar capa de red antigua " que se encuentran en *Página Compatibilidad* de las Propiedades de la base (ver *Opciones red y cliente-servidor*). En esta sección, también puede encontrar una discusión sobre la estrategia de migración. Le recomendamos que active *ServerNet* tan pronto como sea posible. Deberá reiniciar la aplicación para que este parámetro sea tenido en cuenta. No está disponible en 4D Server v14 R5 64-bit versión para macOS, que sólo soporta el *ServetNet*; (siempre devuelve 0).
-**Valores posibles:** 0 o 1 (0 = no utilizan capa de red antigua, 1 = uso capa de red antigua)
+### RDP optimization (133)
-**Valor por defecto:** 0 en bases de datos creadas con 4D v14 R5 o superior, 1 en bases de datos convertidas de 4D v14 R4 o anteriores.
+**Alcance:** aplicación 4D
+**Se mantiene entre dos sesiones**: no
+**Valores posibles:** `0`: activado (por defecto), `1`: desactivado.
-### SQL Server Port ID (88)
+**Descripción:** activa o desactiva las optimizaciones para RDP (Protocolo de escritorio remoto). Cuando está activado, optimiza en particular el uso del portapapeles compartido en las conexiones RDP, que de otro modo pueden provocar problemas de congelación. Tenga en cuenta que este selector desactiva la compatibilidad en el portapapeles para imágenes codificadas como URI de datos en texto sin formato (solo afecta a las imágenes que se sueltan o se copian explícitamente como texto desde un navegador).
-**Alcance**: 4D modo local y 4D Server.
-: Sí
-**Descripción**: permite leer o definir el número del puerto TCP utilizado por el servidor SQL integrado de 4D en modo local o 4D Server. Por defecto, el valor es 19812\. Cuando se define este selector, la configuración de la base se actualiza. También puede definir el número del puerto TCP en la página "SQL" de la caja de diálogo de Propiedades de la base.
+### Remote connection sleep timeout (98)
-**Valores posibles:** 0 a 65535.
+**Alcance**: aplicación 4D Server
-**Valor por defecto:** 19812
+**Se mantiene entre dos sesiones**: no
+**Valores posibles**: entero largo positivo
+**Descripción**: tiempo de espera actual de la conexión remota en segundos. Por defecto, el valor es 172800 (48 horas).
-### Circular log limitation (90)
+El tiempo de espera de la conexión remota se aplica después de que una máquina que ejecuta una aplicación remota 4D haya pasado al modo de reposo. En este caso, su sesión es mantenida por 4D Server (ver la descripción de la funcionalidad ). 4D Server verifica cada 5 minutos si algún 4D remoto en reposo ha superado el tiempo de espera de reposo, en cuyo caso se abandona. Por lo tanto, el máximo tiempo de espera permitido es *el tiempo de espera actual* \+ 300\. En algunos casos, es posible que desee modificar el tiempo de espera, por ejemplo para liberar los registros/licencias bloqueados más rápidamente.
-**Hilo seguro**: sí
-**Alcance**: 4D local, 4D Server.
-**Se conserva entre dos sesiones:** no
+### Server base process stack size (53)
-**Valores posibles**: todo valor entero, 0 = conservar todos los registros
+**Alcance**: 4D Server
-**Descripción**: número máximo de archivos a conservar en rotación para cada tipo de registro. Por defecto, todos los archivos se conservan. Si pasa un valor *X*, solo los *X* archivos más recientes se conservan, el más antiguo se borra automáticamente cuando se crea uno nuevo. Esta parametrización se aplica a cada uno de los siguientes archivos de registro: registros de peticiones (selectores 28 y 45), registro de depuración (selector 34), registro de eventos (selector 79), así como el historial de peticiones web (selectores 29 y 84 del comando [WEB SET OPTION](web-set-option.md)), etc.
+ **Se conserva entre dos sesiones**: no
+ **Valores posibles**: entero largo positivo.
+**Descripción**: tamaño de la pila asignada a cada proceso del sistema preferente en el servidor, expresado en bytes. El tamaño por defecto es determinado por el sistema.
-### Number of formulas in cache (92)
+Los procesos sistema preferente (procesos de tipo Proceso base 4D client) se cargan para controlar los procesos cliente 4D principales. El tamaño asignado por defecto a la pila de cada proceso preferente da facilidad de ejecución pero puede resultar consecuente cuando se crea un gran número de procesos (varios cientos).
-**Alcance**: aplicación 4D
+Por razones de optimización, este tamaño puede reducirse considerablemente si las operaciones efectuadas por la base lo permiten (por ejemplo si la base no efectúa ordenaciones de grandes cantidades de registros). Son posibles valores de 512 o incluso 256 KB. Sea cuidadoso, subdimensionar la pila es critico y puede afectar la operación de 4D Server. La definición de este parámetro debe hacerse con precaución y tener en cuenta las condiciones de uso de la base (número de registros, tipo de operaciones, etc.).
-**Se conserva entre dos sesiones:** no
+Para que sea tenido en cuenta, este parámetro debe ejecutarse en el equipo servidor (por ejemplo en el *Método base On Server Startup*).
-**Valores posibles**: enteros largos positivos
-**Valor por defecto**: 0 (sin caché)
-**Descripción**: establece u obtiene el número máximo de fórmulas a conservar en la memoria caché de fórmulas, que es utilizado por el comando [EXECUTE FORMULA](execute-formula.md). Este límite se aplica a todos los procesos, pero cada proceso tiene su propia caché de fórmulas. Ubicar las fórmulas en la caché acelera la ejecución del comando [EXECUTE FORMULA](execute-formula.md) en modo compilado, ya que cada fórmula en caché se tokeniza sólo una vez en este caso.Cuando se cambia el valor de la memoria caché, el contenido existente se restablecen incluso si el nuevo tamaño es más grande que el anterior. Una vez se alcanza el número máximo de fórmulas en la memoria caché, una nueva fórmula ejecutada borrará a la más antigua de la memoria caché (modo FIFO). Este parámetro sólo se tiene en cuenta en las bases o componentes compilados.
+### SMTP Log (110)
+**Hilo seguro**: sí
+**Alcance**: 4D local, 4D Server*
-### OpenSSL version (94)
+* **Se conserva entre dos sesiones**: no
-**Alcance**: todas las máquinas 4D
+ **Valores posibles**: 0 o de 1 a X (0 = no grabar, 1 a X = número secuencial, agregado al nombre del archivo). De forma predeterminada, el valor es 0 (intercambios SMTP no registrados).
-**Se conserva entre dos sesiones**: no
+**Descripción**: inicia o detiene la grabación de intercambios entre 4D y el servidor SMTP, cuando un objeto *transportador* se procesa a través de *transporter.send( )* o *SMTP\_transporter.checkConnection( )*. Por defecto, el valor es 0 (intercambios no registrados). Cuando este mecanismo está habilitado, se crea un archivo de registro en la carpeta Logs de la base. Se llama 4DSMTPLog\_X.txt, donde X es el número secuencial del registro. Una vez que el archivo 4DSMTPLog ha alcanzado un tamaño de 10 MB, se cierra y se genera uno nuevo, con un número secuencial incrementado. Si ya existe un archivo con el mismo nombre, se reemplaza directamente. Puede definir el número de inicio de la secuencia utilizando el parámetro *valor*. De forma predeterminada, todos los archivos se conservan, pero puede controlar la cantidad de archivos a seguir utilizando el parámetro Circular log limitation.
-**Descripción**: devuelve el número de versión de la librería OpenSSL que se utiliza en la máquina. (Solo lectura)
+Para obtener más información sobre los archivos 4DSMTPLog\_X.txt, consulte la sección *Descripción de archivos de historial*.
-### Cache flush periodicity (95)
+### Spellchecker (81)
-**Hilo seguro**: sí
+**Alcance**: aplicación 4D
+ **Se conserva entre dos sesiones**: no
-**Alcance**: 4D local, 4D Server
+ **Valores posibles**: 0 (por defecto) = corrector macOS nativo (Hunspell desactivado), 1 = corrector Hunspell activo.
-**Se conserva entre dos sesiones:** no
+**Descripción**: permite activar el corrector ortográfico Hunspell bajo macOS. Por defecto, en esta plataforma el corrector nativo está activo. Puede preferir utilizar el corrector Hunspell, por ejemplo, para unificar la interfaz de sus aplicaciones multiplataformas (bajo Windows, sólo el corrector Hunspell está disponible). Para mayor información, consulte *Corrección ortográfica*.
-**Valores posibles:** entero largo > 1 (segundos)
-**Descripción**: obtiene o establece la periodicidad del vaciado de la caché, expresado en segundos. La modificación de este valor prevalece sobre la opción **Vaciar caché cada X segundos** en [XML DECODE](xml-decode.md) de la configuración de la base para la sesión (que no se almacena en las Propiedades de la base).
+### SQL Autocommit (43)
+**Alcance**: base de datos
-### Remote connection sleep timeout (98)
+ **Se conserva entre dos sesiones**: sí
-**Alcance**: aplicación 4D Server
+ **Posibles valores**: 0 (desactivación) o 1 (activación)
-**Se mantiene entre dos sesiones**: no
+**Descripción**: activación o desactivación del modo SQL auto-commit. Por defecto, el valor es 0 (modo desactivado)
-**Valores posibles**: entero largo positivo
+ El modo auto-commit permite reforzar la integridad referencial de la base. Cuando este modo está activo, las peticiones *SELECT*, INSERT, UPDATE y *DELETE* (SIUD) se incluyen automáticamente en las transacciones cuando no se han ejecutado dentro de una transacción. Este modo igualmente puede definirse en las Preferencias de la base.
-**Descripción**: tiempo de espera actual de la conexión remota en segundos. Por defecto, el valor es 172800 (48 horas).
-El tiempo de espera de la conexión remota se aplica después de que una máquina que ejecuta una aplicación remota 4D haya pasado al modo de reposo. En este caso, su sesión es mantenida por 4D Server (ver la descripción de la funcionalidad ). 4D Server verifica cada 5 minutos si algún 4D remoto en reposo ha superado el tiempo de espera de reposo, en cuyo caso se abandona. Por lo tanto, el máximo tiempo de espera permitido es *el tiempo de espera actual* \+ 300\. En algunos casos, es posible que desee modificar el tiempo de espera, por ejemplo para liberar los registros/licencias bloqueados más rápidamente.
+### SQL Engine case sensitivity (44)
+**Alcance**: base de datos
-### Tips enabled (101)
+ **Se conserva entre dos sesiones**: sí
-**Alcance**: aplicación 4D
+ **Valores posibles**: 0 (no se tienen en cuenta las mayúsculas y minúsculas) ó 1 (sensible a las mayúsculas y minúsculas)
-**Se conserva entre dos sesiones**: no
+**Descripción**: activación o desactivación de la sensibilidad a mayúsculas y minúsculas para comparaciones de cadenas efectuadas por el motor SQL.
-**Valores posibles**: 0 = consejos desactivados, 1 = consejos activados (predeterminado)
+Por defecto, el valor es 1 (sensible a las mayúsculas y minúsculas): el motor SQL diferencia entre mayúsculas y minúsculas y entre caracteres acentuados al comparar cadenas (ordenaciones y búsquedas). Por ejemplo “ABC”= “ABC” pero “ABC” # “Abc.” En algunos casos, por ejemplo para alinear el funcionamiento del motor SQL con el del motor 4D, podría querer que las comparaciones de cadenas no tengan en cuenta las mayúsculas y minúsculas (“ABC”=“Abc”).
-**Descripción**: define u obtiene el estado de visualización actual de los consejos para la aplicación 4D. De forma predeterminada, las sugerencias están activadas.
+Esta opción también puede definirse en la [CALL SUBFORM CONTAINER](call-subform-container.md) de las Preferencias de la base.
-Tenga en cuenta que este parámetro define todos los consejos 4D, es decir, los mensajes de ayuda de formulario y las sugerencias del editor de modo Diseño.
+### SQL Server Port ID (88)
-### Tips delay (102)
+**Alcance**: 4D modo local y 4D Server.
-**Alcance**: aplicación 4D
+: Sí
-**Se conserva entre dos sesiones**: No
+**Descripción**: permite leer o definir el número del puerto TCP utilizado por el servidor SQL integrado de 4D en modo local o 4D Server. Por defecto, el valor es 19812\. Cuando se define este selector, la configuración de la base se actualiza. También puede definir el número del puerto TCP en la página "SQL" de la caja de diálogo de Propiedades de la base.
-**Valores posibles**: entero largo >= 0 (tics)
+**Valores posibles:** 0 a 65535.
-**Descripción**: retraso antes de que se muestren las sugerencias una vez que el cursor del ratón se haya detenido en objetos con mensajes de ayuda adjuntos. El valor se expresa en tics (1/60 de segundo). El valor predeterminado es 45 tics (0.75 segundos).
+**Valor por defecto:** 19812
-### Tips duration (103)
+### SSL cipher list (64)
-**Alcance**: aplicación 4D
+**Alcance**: Aplicación 4D
-**Se conserva entre dos sesiones**: No
+Se conserva entre dos sesiones: No
-**Valores posibles**: entero largo >= 60 (tics)
+**Valores posibles**: secuencia de cadenas separadas por dos puntos.
-**Descripción**: duración máxima de visualización de una sugerencia. El valor se expresa en tics (1/60 de segundo). El valor predeterminado es 720 tics (12 segundos).
+**Descripción:** lista de cifrado (*cipher list*) utilizada por 4D para el protocolo seguro. Esta lista modifica la prioridad de los algoritmos de cifrado implementados por 4D. Por ejemplo, puede pasar la siguiente cadena en el parámetro *valor*: "HIGH:!aNULL:!MD5:!3DES:!CAMELLIA:!AES128:!RSA:!DH:!RC4".
+Para una descripción completa de la sintaxis para la lista cifrada, consulte la *página de cifrado del sitio OpenSSL*.
+Esta configuración se aplica al servidor web principal (excluyendo los objetos del servidor web), al servidor SQL, a las conexiones cliente/servidor, así como al cliente HTTP y a todos los comandos 4D que hacen uso del protocolo seguro. Es temporal (no se mantiene entre sesiones).
-### Min TLS version (105)
+Cuando la lista de cifrado se modifica, debe reiniciar el servidor correspondiente para que los nuevos parámetros sean tenidos en cuenta.
-**Alcance**: 4D Server, 4D Web Server y 4D SQL Server
+Para reinicializar la lista de cifrado a su valor por defecto (guardado permanentemente en el archivo SLI), llame al comando [SET DATABASE PARAMETER](set-database-parameter.md) y pase una cadena vacía ("") en el parámetro *valor*.
-**Conservar entre dos sesiones**: no
+**Nota:** con el comando [Get database parameter](get-database-parameter.md), la lista de cifrado se devuelve en el parámetro opcional *valorAlfa* y el parámetro de retorno es siempre 0.
-**Descripción**: se utiliza para especificar el nivel TLS (Transport Layer Security), que ofrece cifrado y autenticación de datos entre aplicaciones y servidores. Se rechazarán los intentos de conexión de clientes que sólo soporten versiones inferiores a la mínima. La configuración se aplica globalmente a la capa de red. Una vez modificado, el servidor debe reiniciarse para utilizar el nuevo valor.
+### Table sequence number (31)
-**Valor por defecto**: TLSv1\_3
+**Alcance**: aplicación 4D
-**Valores posibles**: TLSv1\_2 (TLS 1.2, introducido en 2008) TLSv1\_3 (TLS 1.3, introducido en 2018) **NOTAS**:
+ **Se conserva entre dos sesiones**: sí
-- El plugin 4D Internet Commands utiliza una capa de red diferente, por lo que este selector no tendrá ningún impacto en su versión TLS.
+ **Valores posibles**: todo valor de tipo entero largo.
-- Se ignorarán los intentos de aplicar TLS a la capa de red heredada.
+**Descripción**: este selector se utiliza para modificar o modificar u obtener el número único actual de los registros de la tabla pasada en parámetro. "Número actual" significa "último número utilizado": si modifica este valor utilizando SET DATABASE PARAMETER, el siguiente registro será el valor pasado + 1\. Este nuevo número es el número devuelto por el comando Sequence number [](http://doc.tmp.4d.fr/Database-Parameters/4Dv11.4/ConstantTheme/4870/CMU00244.HTM) como también en todo campo de la tabla a la cual se asigna la propiedad "Autoincrementar" en el editor de estructura o vía SQL.
+Por defecto, este número único es definido por 4D y corresponde al orden de creación de los registros. Para información adicional, por favor consulte la documentación del comando [Sequence number](sequence-number.md "Sequence number").
-### User param value (108)
-**Alcance**: 4D local, 4D Server
+### TCPUDP log recording (131)
-**Se conserva entre dos sesiones**: no
+**Alcance:** aplicación 4D
-**Valores posibles**: toda cadena personalizada
+**Se mantiene entre dos sesiones**: no
-**Descripción:** cadena personalizada pasada de una sesión a la siguiente cuando se reinicia la aplicación 4D. Este selector es útil en el contexto de pruebas unitarias automatizadas que requieren que las aplicaciones se reinicien con diferentes parámetros.
+**Valores posibles:** `0`: Logging desactivado (por defecto), `1`: Logging activado.
-Cuando se utiliza con [SET DATABASE PARAMETER](set-database-parameter.md), define un nuevo valor que estará disponible en la próxima base de datos abierta después de que 4D se reinicie manualmente o utilizando los comandos [OPEN DATABASE](open-database.md)(\*), [OPEN DATA FILE](open-data-file.md), o [RESTART 4D](restart-4d.md). Cuando se utiliza con [Get database parameter](get-database-parameter.md), obtiene el valor del parámetro de usuario actualmente disponible, definido mediante una línea de comando (ver *Interfaz de línea de comando*), el archivo .4DLink (ver *Usar un archivo 4DLink*), o una llamada a [SET DATABASE PARAMETER](set-database-parameter.md) durante la sesión anterior. (\*) Si [SET DATABASE PARAMETER](set-database-parameter.md) define un User param value antes de una llamada a [OPEN DATABASE](open-database.md) con un archivo .4DLink que también contiene un atributo xml user-param, 4D 4D tiene en cuenta solo el parámetro ofrecido por [SET DATABASE PARAMETER](set-database-parameter.md).
+**Descripción:** activa o desactiva el archivo `4DTCPUDPLog.txt` para registrar eventos TCP.
@@ -808,163 +899,71 @@ En versiones anteriores, los valores de tiempo se convertían y almacenaban como
-### SMTP Log (110)
-
-**Hilo seguro**: sí
-
-**Alcance**: 4D local, 4D Server*
-
-* **Se conserva entre dos sesiones**: no
-
- **Valores posibles**: 0 o de 1 a X (0 = no grabar, 1 a X = número secuencial, agregado al nombre del archivo). De forma predeterminada, el valor es 0 (intercambios SMTP no registrados).
-
-**Descripción**: inicia o detiene la grabación de intercambios entre 4D y el servidor SMTP, cuando un objeto *transportador* se procesa a través de *transporter.send( )* o *SMTP\_transporter.checkConnection( )*. Por defecto, el valor es 0 (intercambios no registrados). Cuando este mecanismo está habilitado, se crea un archivo de registro en la carpeta Logs de la base. Se llama 4DSMTPLog\_X.txt, donde X es el número secuencial del registro. Una vez que el archivo 4DSMTPLog ha alcanzado un tamaño de 10 MB, se cierra y se genera uno nuevo, con un número secuencial incrementado. Si ya existe un archivo con el mismo nombre, se reemplaza directamente. Puede definir el número de inicio de la secuencia utilizando el parámetro *valor*. De forma predeterminada, todos los archivos se conservan, pero puede controlar la cantidad de archivos a seguir utilizando el parámetro Circular log limitation.
-
-Para obtener más información sobre los archivos 4DSMTPLog\_X.txt, consulte la sección *Descripción de archivos de historial*.
-
-
-
-### Current process debug log recording (111)
-
-**Alcance:** Aplicación 4D
-
-**Se conserva entre dos sesiones:** no
-
-**Descripción**: inicia o detiene el registro secuencial de eventos de programación **del proceso actual** en un archivo de historial separado. Este historial es similar al Debug log recording (selector 34) pero se enfoca solo en el proceso actual. El nombre del archivo de historial incluye la letra "p" y el número del proceso: 4DDebugLog\[\_p*N*_*n*].txt, donde N es el ID único del proceso.
-
-Para más información sobre este formato y sobre el uso del archivo *4DDebugLog*, consulte *Descripción de archivos de historial* en el Modo Diseño.
-
-**Notas:** Este selector se proporciona únicamente con el fin de depurar y debe utilizarse con cuidado. En particular, no debe ponerse en producción, ya que puede tener un impacto en el rendimiento de la aplicación. Puede utilizarar ambos selectores Debug log recording y Current process debug log recording simultáneamente, en cuyo caso las acciones del proceso actual no se registrarán en el archivo de historial principal.
-
-
-
-### Is current database a project (112)
-
-**Nota:** solo puede utilizar este selector con el comando [Get database parameter](get-database-parameter.md) y su valor no se puede definir.
+### Tips delay (102)
**Alcance**: aplicación 4D
-**Descripción**: devuelve 1 si la arquitectura de la base actual es un proyecto y 0 en caso contrario. Para más información, consulte la sección *Base proyecto vs base binaria*.
-
-
-
-### Is host database a project (113)
+**Se conserva entre dos sesiones**: No
-**Nota:** solo puede utilizar este selector con el comando [Get database parameter](get-database-parameter.md) y su valor no se puede definir.
+**Valores posibles**: entero largo >= 0 (tics)
-**Alcance**: aplicación 4D
+**Descripción**: retraso antes de que se muestren las sugerencias una vez que el cursor del ratón se haya detenido en objetos con mensajes de ayuda adjuntos. El valor se expresa en tics (1/60 de segundo). El valor predeterminado es 45 tics (0.75 segundos).
-**Descripción**: devuelve 1 si la arquitectura de la base local es un proyecto y 0 en caso contrario. Para más información, consulte la sección *Base proyecto vs base binaria*.
+### Tips duration (103)
-### Libldap version (114)
+**Alcance**: aplicación 4D
-**Alcance**: máquina 4D actual
+**Se conserva entre dos sesiones**: No
-**Se conserva entre dos sesiones**: no
+**Valores posibles**: entero largo >= 60 (tics)
-**Descripción**: devuelve el número de versión de la librería LDAP en la aplicación 4D en la máquina actual. (Solo lectura)
+**Descripción**: duración máxima de visualización de una sugerencia. El valor se expresa en tics (1/60 de segundo). El valor predeterminado es 720 tics (12 segundos).
-### Libsasl version (115)
+### Tips enabled (101)
-**Alcance**: máquina 4D actual
+**Alcance**: aplicación 4D
**Se conserva entre dos sesiones**: no
-**Descripción**: devuelve el número de versión de la librería SASL en la aplicación 4D en la máquina actual. (Solo lectura)
-
-
-
-### POP3 Log (116)
-
-**Hilo seguro**: sí
+**Valores posibles**: 0 = consejos desactivados, 1 = consejos activados (predeterminado)
-**Alcance:** 4D local, 4D Server
+**Descripción**: define u obtiene el estado de visualización actual de los consejos para la aplicación 4D. De forma predeterminada, las sugerencias están activadas.
-**Se conserva entre dos sesiones**: no
+Tenga en cuenta que este parámetro define todos los consejos 4D, es decir, los mensajes de ayuda de formulario y las sugerencias del editor de modo Diseño.
-**Valores posibles:** 0 o de 1 a X (0 = no registrar, 1 a X = número secuencial, agregado al nombre del archivo). Por defecto, el valor es 0 (intercambios POP3 no registrados).
-**Descripción**: inicia o detiene la grabación de intercambios entre 4D y el servidor POP3, cuando un objeto transportador se procesa a través de *POP3\_transporter.getMail( )* o *POP3\_transporter.checkConnection( )*. Por defecto, el valor es 0 (intercambios no registrados). Cuando este mecanismo está habilitado, se crea un archivo de registro en la carpeta Logs de la base. Se llama 4DPOP3Log\_X.txt, donde X es el número secuencial del registro. Una vez que el archivo 4DPOP3Log ha alcanzado un tamaño de 10 MB, se cierra y se genera uno nuevo, con un número secuencial incrementado. Si ya existe un archivo con el mismo nombre, se reemplaza directamente. Puede establecer el número inicial de la secuencia utilizando el parámetro valor. De manera predeterminada, todos los archivos se mantienen, pero puede controlar la cantidad de archivos que se deben seguir utilizando el parámetro Circular log limitation.
-
-Para más información sobre los archivos 4DPOP3Log\_X.txt, consulte la sección *Descripción de archivos de historial*.
+### Use legacy network layer (87)
+**Alcance:** 4D en modo local, 4D Server**
-### Is host database writable (117)
+**Se conserva entre dos sesiones:** sí
-**Nota**: solo puede utilizar este selector con el comando [Get database parameter](get-database-parameter.md) y su valor no se puede definir.
+**Descripción:** fija u obtiene el estado actual de la capa de red antigua para las conexiones cliente/servidor. La capa de red antigua es obsoleta a partir de 4D v14 R5 y debe ser reemplazada progresivamente en sus aplicaciones por la capa de red *ServerNet*. *ServerNet* será requerida en próximas versiones 4D con el fin de beneficiarse de las futuras evoluciones de la red. Por razones de compatibilidad, la capa de red antigua aún se soporta para permitir una transición sin problemas para las aplicaciones existentes; (se usa por defecto en aplicaciones convertidas de una versión anterior a v14 R5). Pase 1 en este parámetro para utilizar la capa de red antigua (y desactivar *ServerNet*) para las conexiones cliente/servidor, y pase 0 para deshabilitar la red antigua (y utilizar *ServerNet*).
-**Alcance**: aplicación 4D
+Esta propiedad también se puede definir mediante la opción "Usar capa de red antigua " que se encuentran en *Página Compatibilidad* de las Propiedades de la base (ver *Opciones red y cliente-servidor*). En esta sección, también puede encontrar una discusión sobre la estrategia de migración. Le recomendamos que active *ServerNet* tan pronto como sea posible. Deberá reiniciar la aplicación para que este parámetro sea tenido en cuenta. No está disponible en 4D Server v14 R5 64-bit versión para macOS, que sólo soporta el *ServetNet*; (siempre devuelve 0).
-**Descripción**: devuelve 1 si el archivo estructura/archivo proyecto local es editable y 0 si es de solo lectura.
+**Valores posibles:** 0 o 1 (0 = no utilizan capa de red antigua, 1 = uso capa de red antigua)
+**Valor por defecto:** 0 en bases de datos creadas con 4D v14 R5 o superior, 1 en bases de datos convertidas de 4D v14 R4 o anteriores.
-### IMAP Log (119)
-**Hilo seguro**: sí
+### User param value (108)
**Alcance**: 4D local, 4D Server
**Se conserva entre dos sesiones**: no
-**Valores posibles**: 0 o de 1 a X (0 = no grabar, 1 a X = número secuencial, añadido al nombre del archivo). Por defecto, el valor es 0 (los intercambios IMAP no se registran).
-
-**Descripción**: inicia o detiene la grabación de los intercambios entre 4D y el servidor IMAP, cuando se procesa un objeto transportador a través de *IMAP\_transporter.getMail( )* o *IMAP\_transporter.checkConnection( )*. Por defecto, el valor es 0 (intercambios no registrados). Cuando se activa este mecanismo, se crea un archivo de registro en la carpeta Logs de la base. Se llama 4DIMAPLog\_X.txt, donde X es el número secuencial del registro. Una vez que el archivo 4DIMAPLog ha alcanzado un tamaño de 10 MB, se cierra y se genera uno nuevo, con un número secuencial incrementado. Si ya existe un archivo con el mismo nombre, se sustituye directamente. Se puede definir el número inicial de la secuencia mediante el parámetro valor. Por defecto, se conservan todos los archivos, pero puede controlar el número de archivos a conservar utilizando el parámetro Circular log limitation.
-
-Para más información sobre los archivos 4DIMAPLog\_X.txt, consulte la sección *Descripción de archivos de historial*.
-
-
-
-### Libzip version (120)
-
-**Alcance**: máquina 4D actual
-
-**Se conserva entre dos sesiones**: n/a
-
-**Descripción**: devuelve el número de versión de la librería libzip en la aplicación 4D en la máquina actual. (Sólo lectura)
-
-
-
-### Pause logging (121)
-
-**Hilo seguro**: sí
-
-**Alcance**: aplicación 4D
-
-**Se mantiene entre dos sesiones**: no
-
-**Valores posibles**: 0 (reanudar historial), 1 (pausar historial)
-
-Este selector permite suspender/reanudar todas las operaciones de registro iniciadas en la aplicación (excepto los registros ORDA). Esta función puede ser útil para aligerar temporalmente las tareas de la aplicación 4D o programar las operaciones de registro.
-
-
-
-### TCPUDP log recording (131)
-
-**Alcance:** aplicación 4D
-
-**Se mantiene entre dos sesiones**: no
-
-**Valores posibles:** `0`: Logging desactivado (por defecto), `1`: Logging activado.
-
-**Descripción:** activa o desactiva el archivo `4DTCPUDPLog.txt` para registrar eventos TCP.
-
-
-
-### RDP optimization (133)
-
-**Alcance:** aplicación 4D
-
-**Se mantiene entre dos sesiones**: no
+**Valores posibles**: toda cadena personalizada
-**Valores posibles:** `0`: activado (por defecto), `1`: desactivado.
+**Descripción:** cadena personalizada pasada de una sesión a la siguiente cuando se reinicia la aplicación 4D. Este selector es útil en el contexto de pruebas unitarias automatizadas que requieren que las aplicaciones se reinicien con diferentes parámetros.
-**Descripción:** activa o desactiva las optimizaciones para RDP (Protocolo de escritorio remoto). Cuando está activado, optimiza en particular el uso del portapapeles compartido en las conexiones RDP, que de otro modo pueden provocar problemas de congelación. Tenga en cuenta que este selector desactiva la compatibilidad en el portapapeles para imágenes codificadas como URI de datos en texto sin formato (solo afecta a las imágenes que se sueltan o se copian explícitamente como texto desde un navegador).
+Cuando se utiliza con [SET DATABASE PARAMETER](set-database-parameter.md), define un nuevo valor que estará disponible en la próxima base de datos abierta después de que 4D se reinicie manualmente o utilizando los comandos [OPEN DATABASE](open-database.md)(\*), [OPEN DATA FILE](open-data-file.md), o [RESTART 4D](restart-4d.md). Cuando se utiliza con [Get database parameter](get-database-parameter.md), obtiene el valor del parámetro de usuario actualmente disponible, definido mediante una línea de comando (ver *Interfaz de línea de comando*), el archivo .4DLink (ver *Usar un archivo 4DLink*), o una llamada a [SET DATABASE PARAMETER](set-database-parameter.md) durante la sesión anterior. (\*) Si [SET DATABASE PARAMETER](set-database-parameter.md) define un User param value antes de una llamada a [OPEN DATABASE](open-database.md) con un archivo .4DLink que también contiene un atributo xml user-param, 4D 4D tiene en cuenta solo el parámetro ofrecido por [SET DATABASE PARAMETER](set-database-parameter.md).
:::nota
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/commands-legacy/verify-data-file.md b/i18n/es/docusaurus-plugin-content-docs/version-21/commands-legacy/verify-data-file.md
index 1c6ae986f13232..251b195c1212ad 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/commands-legacy/verify-data-file.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/commands-legacy/verify-data-file.md
@@ -19,7 +19,7 @@ displayed_sidebar: docs
-## Descripción
+## Descripción
El comando VERIFY DATA FILE efectúa una verificación estructural de los objetos contenidos en el archivo de datos 4D designado por *rutaEstructura* y *rutaDatos*.para mayor información sobre el proceso de verificación de datos, consulte el Manual de Diseño. *rutaEstructura* designa el archivo de estructura (compilado o no) asociado con el archivo de datos a verificar. Puede tratarse del archivo de estructura abierto o de cualquier otro archivo de estructura. Usted debe pasar un nombre de ruta completo, expresado con la sintaxis del sistema operativo. También puede pasar una cadena vacía, en este caso aparece una caja de diálogo estándar de apertura de archivos que permite al usuario designar el archivo de estructura a utilizar.
@@ -37,6 +37,7 @@ El parámetro *objetos* se utiliza para designar los tipos de objetos a verifica
| Verify indexes | Entero largo | 8 | Esta opción verifica la consistencia física de los índices, sin enlace a los datos. Señala llaves inválidas pero no le permite detectar llaves duplicadas (dos índices que apuntan al mismo registro). Este tipo de error sólo puede detectarse con la opción Verificar todos. |
| Verify records | Entero largo | 4 | |
+
Para verificar los registros y los índices, pase el total de Verify Records+Verify Indexes. El valor 0 (cero) también puede ser utilizado para obtener el mismo resultado. La opción Verify All realiza una verificación interna completa. Esta verificación es compatible con la creación de un historial.
El parámetro *opciones* se utiliza para definir las opciones de verificación. Las siguientes opciones están disponibles, accesibles vía las constantes del tema “*Mantenimiento archivo de datos*”:
@@ -51,44 +52,44 @@ Generalmente, el comando VERIFY DATA FILE crea un archivo de historial en format
El parámetro *metodo* permite definir un método de retrollamada que será llamado regularmente durante la verificación. Si pasa una cadena vacía o un nombre de método invalido, este parámetro se ignora (no se llama el método). Cuando se llama, este método recibe hasta 5 parámetros en función de los objetos verificados y del tipo de evento que origina la llamada (ver la tabla de llamadas). Es imperativo declarar estos parámetros en el método:
-| \- $1 | Entero largo | Tipo de mensaje (ver tabla) |
+
+| Parámetro | Tipo | Descripción |
| ----- | ------------ | --------------------------- |
-| \- $2 | Entero largo | Tipo de objeto |
-| \- $3 | Text | Mensaje |
-| \- $4 | Entero largo | Número de tabla |
-| \- $5 | Entero largo | Reservado |
+| $messageType | Integer | Tipo de mensaje (ver tabla) |
+| $objectType | Integer | Tipo de objeto |
+| $messageText | Text | Mensaje |
+| $table | Integer | Número de tabla |
+| $reserved | Integer | Reservado |
La siguiente tabla describe el contenido de los parámetros en función del tipo de evento:
-| **Evento** | **$1 (Entero largo)** | **$2 (Entero largo)** | **$3 (Texto)** | **$4 (Entero largo)** | **$5 (Entero largo)** |
-| --------------------------- | --------------------- | --------------------- | -------------- | --------------------- | --------------------- |
-| Mensaje | 1 | 0 | Progresión | Porcentaje | Reservado |
-| mensaje | hecho (0-100) | | | | |
-| Fin de la verificación (\*) | 2 | Tipo de objeto (\*\*) | Mensaje OK | Tabla o índice | Reservado |
-| prueba | número | | | | |
-| Error | 3 | Tipo de objeto (\*\*) | Texto de error | Tabla o índice | Reservado |
-| mensaje | número | | | | |
-| Fin de ejecución | 4 | 0 | DONE | 0 | Reservado |
-| Advertencia | 5 | Tipo de objeto (\*\*) | Texto de error | Tabla o índice | Reservado |
-| mensaje | número | | | | |
-
-(\*) El evento *Fin de la verificación* ($1=2) no se devuelve nunca cuando el modo de verificación es Verify All. Sólo se utiliza en modo Verify Records o Verify Indexes.
-(\*\*) *Tipo de objeto*: cuando un objeto se verifica, puede enviarse un mensaje "terminado" ($1=2), error ($1=3) o terminado ($1=5). El tipo de objeto devuelto en $2 puede ser uno de los siguientes:
+| **Event** | **$messageType** | **$objectType** | **$messageText** | **$table** | **$reserved** |
+| ------- | ---------------- | ------------------ | -------------- | ---------------- | ---------------- |
+| Mensaje | 1 | 0 | Mensaje de progresión | Porcentaje (0-100) | Reservado |
+| Fin de la verificación (\*) | 2 | Tipo de objeto (\*\*) | Mensaje de prueba OK | Tabla o número de índice | Reservado |
+| Error | 3 | Tipo de objeto (\*\*) | Texto de mensaje de error | Tabla o número de índice | Reservado |
+| Fin de la ejecución | 4 | 0 | DONE | 0 | Reservado |
+| Advertencia | 5 | Tipo de objeto (\*\*) | Texto de error | Tabla o índice | Reservado |
+|||| mensaje | número |
+
+(\*) El evento *Fin de la verificación* ($messageType=2) no se devuelve nunca cuando el modo de verificación es Verify All. Sólo se utiliza en modo Verify Records o Verify Indexes.
+(\*\*) *Tipo de objeto*: cuando un objeto se verifica, puede enviarse un mensaje "terminado" ($messageType=2), error ($messageType=3) o terminado ($messageType=5). El tipo de objeto devuelto en $2 puede ser uno de los siguientes:
* 0 = indeterminado
* 4 = registro
* 8 = índice
* 16 = objeto estructura (control preliminar del archivo de datos).
-*Caso especial*: cuando $4 = 0 para $1=2, 3 ó 5, el mensaje no concierne a una tabla sino a un archivo de datos en su conjunto.
+*Caso especial*: cuando $table = 0 para $messageType=2, 3 ó 5, el mensaje no concierne a una tabla sino a un archivo de datos en su conjunto.
-El método de retrollamada también debe retornar un valor en $0 (Entero largo), permitiendo controlar la ejecución de la operación:
+El método de retrollamada también debe retornar un valor entero *$result*, permitiendo controlar la ejecución de la operación:
-* Si $0 = 0, la operación continúa normalmente
-* Si $0 = -128, la operación se detiene sin que se genere error
-* Si $0 = otro valor, la operación se detiene y el valor pasado en $0 se devuelve como número de error. Este error puede ser interceptado por un método de gestión de errores.
+* Si $result = 0, la operación continúa normalmente
+* Si $result = -128, la operación se detiene sin que se genere error
+* Si $result = otro valor, la operación se detiene y el valor pasado en $result se devuelve como número de error. Este error puede ser interceptado por un método de gestión de errores.
+
+**Nota**: no es posible interrumpir la ejecución vía $result luego de que el evento se haya generado *Fin de ejecución* ($1=4).
-**Nota**: no es posible interrumpir la ejecución vía $0 luego de que el evento se haya generado *Fin de ejecución* ($4=1).
Dos arrays opcionales también pueden ser utilizados por este comando:
@@ -176,5 +177,3 @@ Si el método de retrollamada no existe, la verificación no se efectúa, se gen
| Número de comando | 939 |
| Hilo seguro | ✓ |
| Modifica variables | OK, Document, error |
-
-
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/commands/call-chain.md b/i18n/es/docusaurus-plugin-content-docs/version-21/commands/call-chain.md
index fdbd960b6e8acd..e24fcfe496ce30 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/commands/call-chain.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/commands/call-chain.md
@@ -9,9 +9,9 @@ displayed_sidebar: docs
-| Parámetros | Tipo | | Descripción |
-| ---------- | ---------- | --------------------------- | ---------------------------------------------------------------- |
-| Resultado | Collection | ← | Collection of objects describing the call chain within a process |
+| Parámetros | Tipo | | Descripción |
+| ---------- | ---------- | --------------------------- | ----------------------------------------------------------------------------- |
+| Resultado | Collection | ← | Colección de objetos que describen la cadena de llamadas dentro de un proceso |
@@ -31,7 +31,7 @@ The command facilitates debugging by enabling the identification of the method o
| **Propiedad** | **Tipo** | **Description** | **Ejemplo** |
| ------------- | ----------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------- |
-| database | Text | Name of the database calling the method (to distinguish host methods and component methods) | "database":"contactInfo" |
+| database | Text | Nombre de la base de datos que llama al método (para distinguir los métodos locales de los métodos del componente) | "database":"contactInfo" |
| formula | Text (si lo hay) | Contenido de la línea actual de código en el nivel actual de la cadena de llamadas (texto bruto). Corresponde al contenido de la línea referenciada por la propiedad `line` en el archivo fuente indicado por el método. Si el código fuente no está disponible, la propiedad `formula` se omite (Undefined). | "var $stack:=Call chain" |
| línea | Integer | Número de línea de llamada al método | "line":6 |
| name | Text | Nombre del método llamado | "name":"On Load" |
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/commands/command-index.md b/i18n/es/docusaurus-plugin-content-docs/version-21/commands/command-index.md
index 5d47e3630c0ef4..16ae77a333a7b0 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/commands/command-index.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/commands/command-index.md
@@ -1288,6 +1288,8 @@ title: Comandos por nombre
[`WA STOP LOADING URL`](../commands-legacy/wa-stop-loading-url.md)
[`WA ZOOM IN`](../commands-legacy/wa-zoom-in.md)
[`WA ZOOM OUT`](../commands-legacy/wa-zoom-out.md)
+[`Web Event`](web-event.md)
+[`Web Form`](web-form.md)
[`WEB GET BODY PART`](../commands-legacy/web-get-body-part.md)
[`WEB Get body part count`](../commands-legacy/web-get-body-part-count.md)
[`WEB Get current session ID`](../commands-legacy/web-get-current-session-id.md)
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/commands/command-name.md b/i18n/es/docusaurus-plugin-content-docs/version-21/commands/command-name.md
index 8198b5151245b1..70558cdac5b7a6 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/commands/command-name.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/commands/command-name.md
@@ -34,8 +34,8 @@ The **Command name** command returns t
Hay dos parámetros opcionales:
-- *info*: propiedades del comando. The returned value is a *bit field*, where the following bits are meaningful:
- - Primer bit (bit 0): definido en 1 si el comando es [**hilo-seguro**](../Develop/preemptive.md#thread-safe-vs-thread-unsafe-code) (es decir, compatible con la ejecución en un proceso apropiativo) y 0 si es **hilo-inseguro**. Only thread-safe commands can be used in [preemptive processes](../Develop/preemptive.md).
+- *info*: propiedades del comando. El valor devuelto es un *campo de bits*, donde los siguientes bits son significativos:
+ - Primer bit (bit 0): definido en 1 si el comando es [**hilo-seguro**](../Develop/preemptive.md#thread-safe-vs-thread-unsafe-code) (es decir, compatible con la ejecución en un proceso apropiativo) y 0 si es **hilo-inseguro**. Solo se pueden usar comandos hilo seguro en [procesos preventivos](../Develop/preemptive.md).
- Segundo bit (bit 1): se define en 1 si el comando es **obsoleto**, y en 0 si no lo es. A deprecated command will continue to work normally as long as it is supported, but should be replaced whenever possible and must no longer be used in new code. Los comandos obsoletos en su código generan advertencias en el [Live Checker y el compilador](../code-editor/write-class-method.md#warnings-and-errors).
*theme*: nombre del tema del lenguaje 4D para el comando.
@@ -80,7 +80,7 @@ En un formulario, quiere una lista desplegable con los comandos básicos de info
End case
```
-En la versión inglesa de 4D, la lista desplegable leerá: Sum, Average, Min y Max. In the French version\*, the drop-down list will read: Somme, Moyenne, Min, and Max.
+En la versión inglesa de 4D, la lista desplegable leerá: Sum, Average, Min y Max. En la versión francésa \*, la lista desplegable dirá: Somme, Moyenne, Min, y Max.
\*con una aplicación 4D configurada para usar el lenguaje de programación en francés (ver nota de compatibilidad)
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/commands/license-info.md b/i18n/es/docusaurus-plugin-content-docs/version-21/commands/license-info.md
index 8a4db22e4f7d89..c0840cd6de402c 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/commands/license-info.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/commands/license-info.md
@@ -25,7 +25,7 @@ Si el comando se ejecuta en una aplicación 4D que no utiliza localmente una lic
Este comando recarga los archivos de licencia desde el disco y actualiza los derechos asociados si han sido modificados.
:::
-The returned object contains the following properties:
+El objeto devuelto contiene las siguientes propiedades:
```json
{
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/commands/listbox-set-property.md b/i18n/es/docusaurus-plugin-content-docs/version-21/commands/listbox-set-property.md
index d6641157210542..26236b6a1d6836 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/commands/listbox-set-property.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/commands/listbox-set-property.md
@@ -77,7 +77,7 @@ Quiere que todas las columnas del list box "MyListbox" sean redimensionables:
## Ejemplo 2
-You want to set a maximum width for the column whose name is "ProductNumber":
+Desea definir un ancho máximo para la columna cuyo nombre es "ProductNumber":
```4d
LISTBOX SET PROPERTY(*; "ProductNumber";lk column max width;200) //Esta columna tendrá un ancho máximo de 200
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/commands/select-log-file.md b/i18n/es/docusaurus-plugin-content-docs/version-21/commands/select-log-file.md
index 05b28a5eb1d550..4a6b78734f3cf7 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/commands/select-log-file.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/commands/select-log-file.md
@@ -19,13 +19,13 @@ displayed_sidebar: docs
El comando **SELECT LOG FILE** crea o cierra el archivo de historial de acuerdo al valor que pase en el parámetro.
-En *logFile*, pase el nombre o la ruta completa del archivo de registro a ser creado. If you only pass a name, the file will be created in the "Logs" folder of the database located next to the database structure file.
+En *logFile*, pase el nombre o la ruta completa del archivo de registro a ser creado. Si solo pasa un nombre, el archivo se creará en la carpeta "Logs" de la base de datos situada junto al archivo de estructura de la base de datos.
-If you pass an empty string in *logFile*, **SELECT LOG FILE** presents an Save File dialog box, allowing the user to choose the name and location of the log file to be created. Si el archivo se crea correctamente, la variable OK toma el valor 1. De lo contrario, si el usuario hace clic en Cancelar o si el archivo de registro no pudo ser creado, OK toma el valor 0.
+Si se pasa una cadena vacía en *logFile*, **SELECT LOG FILE** presenta un cuadro de diálogo Save File, que permite al usuario elegir el nombre y la ubicación del archivo de registro que se va a crear. Si el archivo se crea correctamente, la variable OK toma el valor 1. De lo contrario, si el usuario hace clic en Cancelar o si el archivo de registro no pudo ser creado, OK toma el valor 0.
-**Note:** The new log file is not generated immediately after execution of the command, but after the next backup (the parameter is kept in the data file and will be taken into account even if the database is closed in the meantime) or a call to the [New log file](new-log-file.md) command. Puede llamar al comando [BACKUP](../commands-legacy/backup.md) para activar la creación del archivo de registro.
+**Nota:** el nuevo archivo de registro no se genera inmediatamente después de la ejecución del comando, sino después de la siguiente copia de seguridad (el parámetro se mantiene en el archivo de datos y se tendrá en cuenta aunque la base de datos se cierre mientras tanto) o de una llamada al comando [New log file](new-log-file.md). Puede llamar al comando [BACKUP](../commands-legacy/backup.md) para activar la creación del archivo de registro.
-If you pass *\** in *logFile*, **SELECT LOG FILE** closes the current log file for the database. La variable OK toma el valor 1 cuando se cierra el archivo de registro.
+Si pasa *\** en *logFile*, **SELECT LOG FILE** cierra el archivo de registro actual para la base de datos. La variable OK toma el valor 1 cuando se cierra el archivo de registro.
## Variables y conjuntos sistema
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/commands/string.md b/i18n/es/docusaurus-plugin-content-docs/version-21/commands/string.md
index 80dd73a149d5ca..fd7055d12e54d3 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/commands/string.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/commands/string.md
@@ -90,7 +90,7 @@ Si pasa 0 en *base*, el comando determina la base dependiendo del valor de *expr
:::info
- Esta sintaxis sigue estrictamente la especificación [`toString` EcmaScript sobre el manejo del radix](https://tc39.es/ecma262/multipage/numbers-and-dates.html#sec-number.prototype.tostring).
-- Utilizar esta sintaxis con *base*=10 no dará exactamente los mismos resultados que utilizar la sintaxis sin el parámetro *base*. For example, if the specified number value is not a number, the "NaN" string is returned.
+- Utilizar esta sintaxis con *base*=10 no dará exactamente los mismos resultados que utilizar la sintaxis sin el parámetro *base*. Por ejemplo, si el valor numérico especificado no es un número, se devuelve la cadena "NaN".
:::
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/commands/theme/Web_Server.md b/i18n/es/docusaurus-plugin-content-docs/version-21/commands/theme/Web_Server.md
index 9a392d36ecc364..3a6f378477ddc9 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/commands/theme/Web_Server.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/commands/theme/Web_Server.md
@@ -7,6 +7,8 @@ slug: /commands/theme/Web-Server
| |
| --------------------------------------------------------------------------------------------------------------------------------------- |
+| [](../../commands/web-event.md)
|
+| [](../../commands/web-form.md)
|
| [](../../commands-legacy/web-get-body-part.md)
|
| [](../../commands-legacy/web-get-body-part-count.md)
|
| [](../../commands-legacy/web-get-current-session-id.md)
|
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/commands/web-event.md b/i18n/es/docusaurus-plugin-content-docs/version-21/commands/web-event.md
new file mode 100644
index 00000000000000..d152985e83fc99
--- /dev/null
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/commands/web-event.md
@@ -0,0 +1,97 @@
+---
+id: web-event
+title: Web Event
+displayed_sidebar: docs
+---
+
+**Web Event** : object
+
+
+
+| Parámetros | Tipo | | Descripción |
+| ---------- | ------ | :-------------------------: | ------------------------------------ |
+| Resultado | Object | ← | Información sobre el evento activado |
+
+
+
+## Descripción
+
+`Web Event` returns an object with information on a triggered event linked to a web page component.
+
+The command must be called in the context of a web page handled by the 4D web server.
+
+**Resultado**
+
+El objeto devuelto contiene las siguientes propiedades:
+
+| Propiedad | | Tipo | Descripción |
+| --------- | ----- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| caller | | string | [Server-side reference](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/pageLoaderOverview#data-access-category) of the component triggering the event |
+| eventType | | string | Type of event:onbluronfocusonclickonauxclickonmouseenteronmouseleaveonkeyuponkeydownonchangeunloadonload - triggered when the `Page` loads |
+| data | | object | Información adicional en función del componente implicado |
+| | index | number | Tabs component: index of the tab (indexing starts at 0)Data Table component: column number |
+| | row | number | Componente de la tabla de datos: número de línea |
+| | name | string | Data Table component: qodlysource name of the column (e.g. "firstname", "address.city") |
+
+#### Ejemplo
+
+The objective is to display/hide a help text when the user hovers over the component:
+
+
+
+This is done by attaching `onmouseenter` and `onmouseleave` events to a **Text input** component that displays the information stored in a **Text** component (displaying "This is the help text").
+
+
+
+En este escenario:
+
+- The Text input component has `orderNumber` as Server side reference.
+ 
+- El componente Texto tiene `helpOn_orderNumber` como referencia del lado Servidor.
+ 
+- The [exposed](../ORDA/ordaClasses.md#exposed-vs-non-exposed-functions) function `help()` is attached to both the `onmouseenter` and `onmouseleave` events and contains the following code:
+
+```4d
+shared singleton Class constructor()
+exposed Function help()
+
+ var event : Object
+ var myForm : 4D.WebForm
+ var componentRef : Text
+
+ myForm:=web Form
+ event:=web Event
+ componentRef:=event.caller
+
+ Case of
+ : (event.eventType="onmouseenter") // event is onmouseenter
+ myForm["helpOn_"+componentRef].show() // show the help on "orderNumber" by showing
+ // the text component with reference "helpOn_orderNumber"
+ : (event.eventType="onmouseleave") // event is onmouseleave
+ myForm["helpOn_"+componentRef].hide() // hide the help on orderNumber
+
+ End case
+
+```
+
+To open the web page with the help on `orderNumber` hidden, you can associate this function to the `onload` event of the web page:
+
+```4d
+exposed function hideOnLoad()
+ webForm.helpOn_orderNumber.hide()
+
+```
+
+## Ver también
+
+[Web Form](web-form.md)
+[WebForm class](../API/WebFormClass.md)
+[WebFormItem class](../API/WebFormItemClass.md)
+
+## Propiedades
+
+| | |
+| ----------------- | --------------------------- |
+| Número de comando | 1734 |
+| Hilo seguro | ✗ |
+
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/commands/web-form.md b/i18n/es/docusaurus-plugin-content-docs/version-21/commands/web-form.md
new file mode 100644
index 00000000000000..11a368e5bc0f4d
--- /dev/null
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/commands/web-form.md
@@ -0,0 +1,46 @@
+---
+id: web-form
+title: Web Form
+displayed_sidebar: docs
+---
+
+**Web Form** : 4D.WebForm
+
+
+
+| Parámetros | Tipo | | Descripción |
+| ---------- | -------------------------- | :-------------------------: | ----------------------------- |
+| Resultado | 4D.WebForm | ← | Nuevo objeto proxy `Web Form` |
+
+
+
+## Descripción
+
+The `Web Form` command returns a `4D.WebForm` proxy object, providing a means to work with and effectively emulates the Page's properties and functions.
+
+:::info
+
+Keep in mind that a `4D.WebForm` object is a **proxy object**, and not a direct reference to the web form object itself. As a consequence for example, the `4D.WebForm` object does not expose all Page properties in the Debugger.
+
+:::
+
+Each property of the returned object is an object of the [4D.WebFormItem](../API/WebFormItemClass.md) class.
+
+The command returns `null` if it is called in a request that does not originate from Qodly Studio.
+
+## Ver también
+
+[Web Event](web-event.md)
+[WebForm class](../API/WebFormClass.md)
+[WebFormItem class](../API/WebFormItemClass.md)
+
+## Propiedades
+
+| | |
+| ----------------- | --------------------------- |
+| Número de comando | 1735 |
+| Hilo seguro | ✗ |
+
+
+
+
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/settings/web.md b/i18n/es/docusaurus-plugin-content-docs/version-21/settings/web.md
index d827ba37fa6121..6cea9f5a1781b0 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/settings/web.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/settings/web.md
@@ -126,7 +126,7 @@ Define el sistema de autenticación que desea aplicar a su servidor web. Se prop
Se recomienda utilizar la autenticación **personalizada**. Ver la sección[**autenticación**](../WebServer/authentication.md).
-#### Generic Web User
+#### Usuario web genérico
Ver [Propiedades obsoletas](../WebServer/webServerConfig.md#deprecated-settings).
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/API/CollectionClass.md b/i18n/fr/docusaurus-plugin-content-docs/current/API/CollectionClass.md
index d035141d566951..5bc241cd9071ec 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/current/API/CollectionClass.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/API/CollectionClass.md
@@ -3,7 +3,7 @@ id: CollectionClass
title: Collection
---
-La classe Collection gère les variables de type [Collection](Concepts/dt_collection.md).
+La classe Collection gère les expressions de type [Collection](Concepts/dt_collection.md).
Une collection est initialisée avec les commandes [`New collection`](../commands/new-collection.md) ou [`New shared collection`](../commands/new-shared-collection.md).
@@ -271,14 +271,14 @@ $c.combine($fruits;3) //[1,2,3,"Orange","Banana","Apple","Grape",4,5,6]
-**.concat**( *value* : any { *;...valueN* } ) : Collection
+**.concat**( *value* : any { ; *...valueN* } ) : Collection
-| Paramètres | Type | | Description |
-| ---------- | -------------------------------------------------------------- | :-------------------------: | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| value | Number, Text, Object, Collection, Date, Time, Boolean, Picture | -> | Valeur(s) à concaténer. Si *value* est une collection, tous ses éléments sont ajoutés comme de nouveaux éléments à la fin de la collection d'origine. |
-| Résultat | Collection | <- | Nouvelle collection contenant les valeurs d'origine et les valeurs ajoutées |
+| Paramètres | Type | | Description |
+| ---------- | ---------- | :-------------------------: | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| value | any | -> | Valeur(s) à concaténer. Si *value* est une collection, tous ses éléments sont ajoutés comme de nouveaux éléments à la fin de la collection d'origine. |
+| Résultat | Collection | <- | Nouvelle collection contenant les valeurs d'origine et les valeurs ajoutées |
@@ -3218,14 +3218,12 @@ La fonction `.sort()` trie les éléments
Si `.sort()` est appelé sans paramètres, seules les valeurs scalaires (nombres, textes, dates, booléens) sont triées. Les éléments sont triés par défaut par ordre croissant, en fonction de leur type.
Vous pouvez également passer une des constantes suivantes dans le paramètre *ascOrDesc* :
-```
-|Constante| Type|Valeur|Comment|
-|---|---|---|
-|ck ascending|Integer|0|Les éléments sont classés par ordre croissant (par défaut)|
-|ck descending|Integer|1|Les éléments sont classés par ordre décroissant|
+| Constante | Type | Valeur | Commentaire |
+| ------------- | ------- | ------ | ----------------------------------------------------------------------- |
+| ck ascending | Integer | 0 | Les éléments sont triés par ordre croissant (défaut) |
+| ck descending | Integer | 1 | Les éléments sont triés par ordre décroissant |
-Cette syntaxe ordonne uniquement les valeurs scalaires dans la collection (les autres types d'éléments tels que les objets ou les collections sont renvoyés non ordonnés).
-```
+Cette syntaxe trie uniquement les valeurs scalaires de la collection (les autres types d'éléments comme les objets ou les collections sont retournés non triés).
Si la collection contient des éléments de différents types, ils sont d'abord groupés par type et triés par la suite. Les types sont renvoyés dans l'ordre suivant :
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/API/DataClassClass.md b/i18n/fr/docusaurus-plugin-content-docs/current/API/DataClassClass.md
index ecfcf0fc149e70..61f05df1675a24 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/current/API/DataClassClass.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/API/DataClassClass.md
@@ -939,7 +939,7 @@ Les formules contenues dans les requêtes peuvent recevoir des paramètres via $
- Constantes de type **date** : "YYYY-MM-DD" format
- Constantes **null** : en utilisant le mot-clé "null", la recherche trouvera les propriétés ayant la valeur **null** et **undefined**.
- dans le cas d'une recherche avec un comparateur IN, *value* doit être une collection ou des valeurs correspondant au type de l'attribut path entre \[ ] séparés par des virgules (pour les chaînes, les caractères `"` doivent être échappés avec `\`).
- - **objet** : seuls les objets [4D.Vector](../API/VectorClass.md) sont pris en charge, dans le contexte des **recherches de similarité vectorielle** (*attributePath* doit également contenir des objets 4D.Vector valides).
+ - **object** : seuls les objets [4D.Vector](../API/VectorClass.md) sont pris en charge dans le contexte des [**requêtes de similarité vectorielle**](#query-by-vector-similarity) (*attributePath* doit également contenir des objets 4D.Vector valides).
- **logicalOperator** : utilisé pour relier des conditions multiples dans la recherche (optionnel). Vous pouvez utiliser un des opérateurs logiques suivants (le nom ou le symbole peut être passé) :
| Conjonction | Symbole(s) |
@@ -1205,6 +1205,20 @@ var $comparisonVector := {vector : $myVector; metric : mk euclidean ; threshold
var $results := ds.MyClass.query("myVectorField <= :1" ; $comparisonVector)
```
+L'instruction **order by** est prise en charge dans la chaîne de requête afin que les entités de l'entity selection résultante soient triées par similarité. Par exemple :
+
+```4d
+var $results := ds.MyClass.query("myVectorField > :1 order by myVectorField" ; $comparisonVector)
+ //ordre par défaut, la première entité est la plus similaire
+```
+
+Si le même vecteur apparaît plusieurs fois dans la chaîne de requête, l'ordre par sera appliqué aux résultats du premier, par exemple :
+
+```4d
+var $results := ds.MyClass.query("myVectorField > :1 and myVectorField > :2 order by myVectorField" desc ; /
+ {vector : $myVector1 };{vector : $myVector2 }) //myVectorField > :1 est utilisé pour le tri
+```
+
Voir [plus d'exemples ci-dessous](#example-4-2) (exemples 4 et 5).
:::tip Articles de blog sur le sujet
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/API/EntitySelectionClass.md b/i18n/fr/docusaurus-plugin-content-docs/current/API/EntitySelectionClass.md
index 7ea04e6a8a87a5..5fb15d7ce18c73 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/current/API/EntitySelectionClass.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/API/EntitySelectionClass.md
@@ -1738,11 +1738,13 @@ Dans cet exemple, le champ objet "marks" de la dataclass **Students** contient l
Historique
-| Release | Modifications |
-| ------- | ------------------------------------------------- |
-| 17 R6 | Prise en charge des paramètres Formula |
-| 17 R5 | Prise en charge des placeholders pour les valeurs |
-| 17 | Ajout |
+| Release | Modifications |
+| ------- | ------------------------------------------------------------------------- |
+| 21 R2 | Prise en charge du tri dans les recherches avec 4D.Vector |
+| 21 | Prise en charge des objets 4D.Vector |
+| 17 R6 | Prise en charge des paramètres Formula |
+| 17 R5 | Prise en charge des placeholders pour les valeurs |
+| 17 | Ajout |
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/API/WebFormClass.md b/i18n/fr/docusaurus-plugin-content-docs/current/API/WebFormClass.md
index d16c4e85d76af2..404e64bc1bcbb8 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/current/API/WebFormClass.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/API/WebFormClass.md
@@ -3,7 +3,7 @@ id: WebFormClass
title: WebForm
---
-La classe `WebForm` contient des fonctions et des propriétés permettant de gérer vos composants de webforms Qodly. Cette classe est décrite en détail dans la [documentation de Qodly](https://developer.qodly.com/docs/language/WebFormClass).
+La classe `WebForm` contient des fonctions et des propriétés permettant de gérer vos composants de pages Qodly. Les objets `4D.WebForm` sont instanciés avec la commande [`webForm`](../commands/web-form.md).
Historique
@@ -18,14 +18,12 @@ La classe `WebForm` contient des fonctions et des propriétés permettant de gé
| |
| ------------------------------------------------------------------------------------------------------------------------------- |
-| [](#componentname)
|
+| [](#componentname)
|
| [](#disablestate)
|
| [](#enablestate)
|
| [](#seterror)
|
| [](#setmessage)
|
| [](#setwarning)
|
-| [](#web-form)
|
-| [](#web-event)
|
### *.componentName*
@@ -33,9 +31,28 @@ La classe `WebForm` contient des fonctions et des propriétés permettant de gé
#### Description
-Les composants des webforms sont des objets disponibles directement en tant que propriétés de ces webforms.
+Les composants des pages web sont des objets qui sont disponibles directement en tant que propriétés de ces pages web.
-Pour plus d'informations, veuillez vous référer à la description de [`.componentName` dans la documentation de Qodly](https://developer.qodly.com/docs/language/WebFormClass#componentname).
+Les objets retournés sont de la classe [`4D.WebFormItem`](WebFormItemClass.md). Ces objets possèdent des fonctions que vous pouvez utiliser pour gérer vos composants de manière dynamique.
+
+#### Exemple
+
+```4d
+shared singleton Class constructor()
+
+ var myForm : 4D.WebForm
+ var component : 4D.WebFormItem
+
+ myForm:=webForm //renvoie la page web en tant qu'objet, chaque propriété est un composant
+ component:=myForm.myImage //renvoie le composant myImage de la page web
+
+```
+
+:::info
+
+Bien que `myForm` n'affiche pas les propriétés typiques de l'objet lorsqu'il est examiné dans le débogueur, il se comporte comme s'il s'agissait de l'objet `webForm` réel. Vous pouvez interagir avec les propriétés et les fonctions de l'objet sous-jacent `webForm` à travers `myForm`. Par exemple, vous pouvez manipuler dynamiquement des composants de page ou transmettre des messages à des pages web en utilisant des fonctions spécialisées comme `myForm.setMessage()`.
+
+:::
### .disableState()
@@ -43,24 +60,24 @@ Pour plus d'informations, veuillez vous référer à la description de [`.compon
-| Paramètres | Type | | Description |
-| ---------- | ------ | :-: | ------------------------------------------------- |
-| state | string | -> | Nom de l'état à désactiver dans le formulaire web |
+| Paramètres | Type | | Description |
+| ---------- | ------ | :-: | ------------------------------------------- |
+| state | string | -> | Nom de l'état à désactiver dans la page web |
#### Description
-La fonction `.disableState()` désactive le rendu de l'*état* dans le formulaire web courant.
+La fonction `.disableState()` désactive le rendu de l'état *state* dans la page web courante.
Cette fonction ne fait rien si :
-- l'*état* n'est actuellement pas activé dans le formulaire web,
-- l'*état* n'existe pas pour le formulaire web.
+- le *state* n'est actuellement pas activé dans la page web,
+- le *state* n'existe pas pour la page web.
Si vous [activez](#enablestate) ou désactivez plusieurs états dans la même fonction utilisateur, toutes les modifications sont envoyées en même temps au client une fois que la fonction se termine.
-Pour plus d'informations sur les états des pages Qodly, veuillez consulter [developer.qodly.com](https://developer.qodly.com/docs/studio/pageLoaders/states).
+Pour plus d'informations sur les états des pages web, veuillez vous référer à la [section States dans la documentation de Qodly](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/states/stateOverview).
### .enableState()
@@ -68,24 +85,24 @@ Pour plus d'informations sur les états des pages Qodly, veuillez consulter [dev
-| Paramètres | Type | | Description |
-| ---------- | ------ | :-: | --------------------------------------------- |
-| state | string | -> | Nom de l'état à activer sur le formulaire web |
+| Paramètres | Type | | Description |
+| ---------- | ------ | :-: | ----------------------------------------- |
+| state | string | -> | Nom de l'état à activer sur les pages web |
#### Description
-La fonction `.enableState()` active le rendu de l'*état* dans le formulaire web courant.
+La fonction `.enableState()` active le rendu de l'état *state* dans la page web courante.
Cette fonction ne fait rien si :
-- l'*état* a déjà été activé sur le formulaire web,
-- l'*état* n'existe pas pour le formulaire web.
+- le *state* a déjà été activé sur la page web,
+- le *state* n'existe pas pour la page web.
Si vous activez ou [désactivez](#disablestate) plusieurs états dans la même fonction utilisateur, toutes les modifications sont envoyées en même temps au client une fois que la fonction se termine.
-Pour plus d'informations sur les états des pages Qodly, veuillez consulter [developer.qodly.com](https://developer.qodly.com/docs/studio/pageLoaders/states).
+Pour plus d'informations sur les états des pages web, veuillez vous référer à la [section States dans la documentation de Qodly](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/states/stateOverview).
#### Exemple
@@ -104,17 +121,34 @@ Function authenticationError()
-| Paramètres | Type | | Description |
-| ---------- | ------ | :-: | ------------------------------------------- |
-| msg | string | -> | Message d'erreur à afficher dans le webform |
+| Paramètres | Type | | Description |
+| ---------- | ------ | :-: | -------------------------------------------- |
+| msg | string | -> | Message d'erreur à afficher dans la page web |
#### Description
-La fonction `.setError()` envoie *msg* en tant que message d'erreur vers le formulaire web.
+La fonction `.setError()` envoie *msg* comme message d'erreur à la page web.
+
+La fonction renvoie une réponse avec un statut `200 OK` et un objet `__WEBFORM` dans le corps avec une propriété `__NOTIFICATION.message` fixée à *msg* et un `__NOTIFICATION.type` fixé à "error".
+
+#### Exemple
-Pour plus d'informations, veuillez vous référer à la [description de la fonction `.setError()` dans la documentation de Qodly](https://developer.qodly.com/docs/language/WebFormClass#seterror).
+```4d
+shared singleton Class constructor()
+exposed function myError()
+
+var myForm : 4D.WebForm
+myForm:=web Form
+
+myForm.setError("My error message")
+
+```
+
+Si la fonctionnalité [**Provide feedback**](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/events/bindingActionToEvents#providing-feedback) est activée pour l'événement, le message *msg* s'affiche en *toast* rouge au bas de la page web et disparaît automatiquement après 5 secondes :
+
+
### .setMessage()
@@ -122,68 +156,72 @@ Pour plus d'informations, veuillez vous référer à la [description de la fonct
-| Paramètres | Type | | Description |
-| ---------- | ------ | :-: | ------------------------------------------------ |
-| msg | string | -> | Message d'information à afficher dans le webform |
+| Paramètres | Type | | Description |
+| ---------- | ------ | :-: | ------------------------------------------------- |
+| msg | string | -> | Message d'information à afficher dans la page web |
#### Description
-La fonction `.setMessage()` envoie *msg* en tant que message d'information au formulaire web.
-
-Pour plus d'informations, veuillez vous référer à la [description de la méthode `.setMessage()` dans la documentation de Qodly](https://developer.qodly.com/docs/language/WebFormClass#setmessage).
+La fonction `.setMessage()` envoie *msg* comme message d'information à la page web.
-### .setWarning()
+La fonction renvoie une réponse avec un statut `200 OK` et un objet `__WEBFORM` dans le corps avec une propriété `__NOTIFICATION.message` fixée à *msg* et un `__NOTIFICATION.type` fixé à "message".
-**.setWarning**( *msg* : string)
+#### Exemple
-
+```4d
+shared singleton Class constructor()
+exposed function myMessage()
-| Paramètres | Type | | Description |
-| ---------- | ------ | :-: | -------------------------------------------------- |
-| msg | string | -> | Message d'avertissement à afficher dans le webform |
+var myForm : 4D.WebForm
+myForm:=web Form
-
+myForm.setMessage("My information message")
-#### Description
+```
-La fonction `.setWarning()` envoie *msg* en tant que message d'avertissement au formulaire web.
+Si la fonctionnalité [**Provide feedback**](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/events/bindingActionToEvents#providing-feedback) est activée pour l'événement, le message *msg* s'affiche en *toast* vert au bas de la page web et disparaît automatiquement après 5 secondes :
-Pour plus d'informations, veuillez vous référer à la [description de la méthode `.setWarning()` dans la documentation de Qodly](https://developer.qodly.com/docs/language/WebFormClass#setwarning).
+
-## Web Form
+### .setWarning()
-**Web Form** : 4D.WebForm
+**.setWarning**( *msg* : string)
-
+
-| Paramètres | Type | | Description |
-| ---------- | -------------------------- | :-------------------------: | ---------------------------- |
-| Résultat | 4D.WebForm | <- | Nouvel objet proxy `WebForm` |
+| Paramètres | Type | | Description |
+| ---------- | ------ | :-: | --------------------------------------------------- |
+| msg | string | -> | Message d'avertissement à afficher dans la page web |
#### Description
-La commande `Web Form` renvoie un objet proxy `4D.WebForm` qui vous permet d'interagir avec le formulaire web.
+La fonction `.setWarning()` envoie *msg* comme message d'avertissement à la page web.
-Pour plus d'informations, veuillez vous référer à la [description de la commande `webForm` dans la documentation de Qodly](https://developer.qodly.com/docs/language/WebFormClass#webform).
+La fonction renvoie une réponse avec un statut `200 OK` et un objet `__WEBFORM` dans le corps avec une propriété `__NOTIFICATION.message` fixée à *msg* et un `__NOTIFICATION.type` fixé à "warning".
-## Web Event
+#### Exemple
-**Web Event** : Object
+```4d
+shared singleton Class constructor()
+exposed function myWarning()
-
+var myForm : 4D.WebForm
+myForm:=web Form
-| Paramètres | Type | | Description |
-| ---------- | ------ | :-------------------------: | ----------- |
-| Résultat | object | <- | object |
+myForm.setWarning("My warning message")
-
+```
-#### Description
+Si la fonctionnalité [**Provide feedback**](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/events/bindingActionToEvents#providing-feedback) est activée pour l'événement, le message *msg* s'affiche en *toast* jaune au bas de la page web et disparaît automatiquement après 5 secondes :
+
+
-La commande `Web Event` renvoie un objet contenant des informations sur un événement déclenché lié à un composant de formulaire web.
+## Voir également
-Pour plus d'informations, veuillez vous référer à la [description de la commande `webEvent` dans la documentation de Qodly](https://developer.qodly.com/docs/language/WebFormClass#webevent).
+[Web Form](../commands/web-form.md)
+[Web Event](../commands/web-event.md)
+[WebFormItem class](../API/WebFormItemClass.md)
\ No newline at end of file
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/API/WebFormItemClass.md b/i18n/fr/docusaurus-plugin-content-docs/current/API/WebFormItemClass.md
index f50c3db0c62b08..a35d30e6be8215 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/current/API/WebFormItemClass.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/API/WebFormItemClass.md
@@ -3,9 +3,13 @@ id: WebFormItemClass
title: WebFormItem
---
-Les objets `4D.WebFormItem` sont des propriétés de l'objet [`4D.WebForm`](WebFormItemClass.md) renvoyé par la commande [`Web Form`](WebFormClass.md#web-form).
+La classe `4D.WebFormItem` vous permet de gérer le comportement de vos composants dans les pages web Qodly.
-La classe `WebFormItem` est décrite en détail dans la [documentation de Qodly](https://developer.qodly.com/docs/language/WebFormItemClass).
+Les objets `4D.WebFormItem` sont des propriétés de l'objet [`4D.WebForm`](WebFormClass.md) renvoyé par la commande [`Web Form`](../commands/web-form.md).
+
+Lorsque vous appelez la commande [`Web Form`](../commands/web-form.md), l'objet proxy `4D.WebForm` retourné contient autant de `4D.WebFormItems` qu'il y a de composants avec [**références serveur**](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/pageLoaderOverview#server-side) dans votre page Qodly.
+
+Par exemple, `WebFormObject.myImage` fait référence au composant image avec `myImage` comme référence serveur.
Historique
@@ -24,29 +28,27 @@ La classe `WebFormItem` est décrite en détail dans la [documentation de Qodly]
| [](#removecssclass)
|
| [](#show)
|
-### .hide()
+### .addCSSClass()
-**.hide**()
+**.addCSSClass**(*className* : string)
-
+
-| Paramètres | Type | | Description |
-| ---------- | ---- | :-: | --------------------------- |
-| | | | Ne requiert aucun paramètre |
+| Paramètres | Type | | Description |
+| ---------- | ------ | :-: | ------------------------------------------- |
+| className | string | -> | Nom de la classe CSS à ajouter au composant |
#### Description
-La fonction `.hide()` masque le composant.
-
-Pour plus d'informations, veuillez vous référer à la [description de `.hide()` dans la documentation de Qodly](https://developer.qodly.com/docs/language/WebFormItemClass#hide).
+La fonction `.addCSSClass` ajoute la classe *className* au composant.
-### .show()
+### .hide()
-**.show**()
+**.hide**()
-
+
| Paramètres | Type | | Description |
| ---------- | ---- | :-: | --------------------------- |
@@ -56,27 +58,27 @@ Pour plus d'informations, veuillez vous référer à la [description de `.hide()
#### Description
-La fonction `.show()` rend le composant visible.
-
-Pour plus d'informations, veuillez vous référer à la [description de `.show()` dans la documentation de Qodly](https://developer.qodly.com/docs/language/WebFormItemClass#show).
-
-### .addCSSClass()
-
-**.addCSSClass**(*className* : string)
+La fonction `.hide()` masque le composant.
-
+#### Exemple
-| Paramètres | Type | | Description |
-| ---------- | ------ | :-: | ------------------------------------------- |
-| className | string | -> | Nom de la classe CSS à ajouter au composant |
+Pour appeler une fonction qui masque une image lorsque l'utilisateur clique sur un bouton :
-
+1. Créez une fonction [exposed](../ORDA/ordaClasses.md#exposed-vs-non-exposed-functions) à l'intérieur d'une classe singleton partagée nommée `isHidden` qui contient le code suivant :
-#### Description
+```4d
-La fonction `.addCSSClass` ajoute la classe *className* au composant.
+shared singleton Class constructor()
+exposed Function isHidden()
+ var myComponent : 4D.WebFormItem
+
+ myComponent:=Web Form.myImage
+ myComponent.hide() // Cache le composant qui a "myImage" comme référence serveur
+```
-Pour plus d'informations, veuillez vous référer à la [description de `.addCSSClass` dans la documentation de Qodly](https://developer.qodly.com/docs/language/WebFormItemClass#addcssclass).
+2. Dans Qodly Studio : Sélectionnez le composant image dans la page et entrez une référence côté serveur dans le panneau Properties > Server Side, par exemple "myImage".
+3. Sélectionnez le composant Button et ajoutez-lui un événement `onclick`.
+4. Attachez la fonction `isHidden` à l'événement.
### .removeCSSClass()
@@ -94,7 +96,27 @@ Pour plus d'informations, veuillez vous référer à la [description de `.addCSS
La fonction `.removeCSSClass()` supprime la classe *className* du composant.
-Pour plus d'informations, veuillez vous référer à la [description de `.removeCSSClass()` dans la documentation de Qodly](https://developer.qodly.com/docs/language/WebFormItemClass#removecssclass).
+### .show()
+
+**.show**()
+
+
+
+| Paramètres | Type | | Description |
+| ---------- | ---- | :-: | --------------------------- |
+| | | | Ne requiert aucun paramètre |
+
+
+
+#### Description
+
+La fonction `.show()` rend le composant visible. Si le composant était déjà visible, la fonction ne fait rien.
+
+## Voir également
+
+[Web Form](../commands/web-form.md)
+[Web Event](../commands/web-event.md)
+[WebForm class](WebFormClass.md)
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/classes.md b/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/classes.md
index 798a8fe4178877..d49d519a782652 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/classes.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/classes.md
@@ -741,7 +741,7 @@ Les singletons sont utiles pour définir des valeurs qui doivent être disponibl
- un **singleton process** a une instance unique pour le process dans lequel il est instancié,
- un **singleton partagé** a une instance unique pour tous les process sur la machine.
-- une **singleton session** est un singleton partagé, mais avec une instance unique pour tous les process de la [session](../API/SessionClass.md). Les singletons de session sont partagés au sein d'une session entière mais varient d'une session à l'autre. Dans le contexte d'un client-serveur ou d'une application web, les singletons de session permettent de créer et d'utiliser une instance différente pour chaque session, et donc pour chaque utilisateur. Session singletons are particularly appropriate with [Qodly applications](https://developer.4d.com/qodly/).
+- une **singleton session** est un singleton partagé, mais avec une instance unique pour tous les process de la [session](../API/SessionClass.md). Les singletons de session sont partagés au sein d'une session entière mais varient d'une session à l'autre. Dans le contexte d'un client-serveur ou d'une application web, les singletons de session permettent de créer et d'utiliser une instance différente pour chaque session, et donc pour chaque utilisateur. Les singletons de session sont particulièrement appropriés pour les [applications Qodly](https://developer.4d.com/qodly/).
:::info
@@ -782,9 +782,9 @@ La propriété [`.isSingleton`](../API/ClassClass.md#issingleton) des objets de
La propriété [`.isSessionSingleton`](../API/ClassClass.md#issessionsingleton) des objets de classe permet de savoir si la classe est un singleton de session.
-### Exposed singleton functions
+### Fonctions singleton exposées
-Shared and session singleton functions support the [`exposed` keyword](../ORDA/ordaClasses.md#exposed-vs-non-exposed-functions). An exposed singleton function can be directly called by REST requests. This feature is useful to design [Qodly pages calling 4D functions](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/events/bindingActionToEvents#class-functions).
+Les fonctions singleton partagées et de session prennent en charge le mot-clé [`exposed`](../ORDA/ordaClasses.md#exposed-vs-non-exposed-functions). Une fonction singleton exposée peut être directement appelée par des requêtes REST. Cette fonction est utile pour la conception de [pages Qodly appelant des fonctions 4D](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/events/bindingActionToEvents#class-functions).
### Exemples
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/dt_number.md b/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/dt_number.md
index 1104e812cfeb76..d4892d4922001f 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/dt_number.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/dt_number.md
@@ -49,7 +49,7 @@ Les nombres négatifs s’écrivent précédés du signe moins (-). Par exemple
| Soustraction | Nombre - Nombre | Number | 3 – 2 | 1 |
| Multiplication | Number \* Number | Number | 5 \* 2 | 10 |
| Division | Number / Number | Number | 5 / 2 | 2.5 |
-| Division entière | Nombre \ Nombre | Number | 5 \ 2 | 2 |
+| Integer division | Nombre \ Nombre | Number | 5 \ 2 | 2 |
| Modulo | Nombre % Nombre | Number | 5 % 2 | 1 |
| Exponentiation | Nombre ^ Nombre | Number | 2 ^ 3 | 8 |
| Egalité | Nombre = Nombre | Boolean | 10 = 10 | True |
@@ -79,9 +79,9 @@ L'opérateur modulo % retourne des valeurs significatives avec des nombres appar
:::
-### Division entière
+### Integer division
-L'opérateur division entière \ retourne des valeurs significatives avec des nombres entiers uniquement.
+The integer division operator divides one number by another and returns the whole number part of the result, discarding any remainder. `a\b` is equivalent to `Int(a/b)`. This operator returns significant values with integer numbers only.
### Comparaison des réels
@@ -125,16 +125,16 @@ Comme un bit peut valoir 0 (zéro) ou 1, vous pouvez également considérer une
Une expression qui utilise un opérateur bit à bit renvoie une valeur de type Long, à l'exception de l'opérateur Bit Test, pour lequel l'expression renvoie une valeur booléenne. Le tableau suivant fournit la liste des opérateurs sur les bits et leur syntaxe :
-| Opération | Opérateur | Syntaxe | Retourne |
-| -------------------------------- | ---------------------------------------------------- | --------------------------------------------------------------------------------- | ------------------------------------------ |
-| ET | & | Long & Long | E. long |
-| OU (inclusif) | | | long | E. long | E. long |
-| OU (exclusif) | ^ | | Long ^ | Long | E. long |
-| Décaler bits à gauche | << | long << E. long | long (voir note n°1) |
-| Décaler bits à droite | > > | long >> E. long | long (voir note n°1) |
-| Mettre bit à 1 | ?+ | long ?+ E. E. long | long (voir note n°2) |
-| Mettre bit à 0 | ?- | long ?? | long (voir note n°2) |
-| Tester bit | ?? | long \^| E. E. long | Booléen (voir note n°2) |
+| Opération | Opérateur | Syntaxe | Retourne |
+| -------------------------------- | ----------------------------------------------------- | --------------------------------------------------------------------------------- | ------------------------------------------ |
+| ET | & | Long & Long | E. long |
+| OU (inclusif) | | | long | E. long | E. long |
+| OU (exclusif) | ^ | | Long ^ | Long | E. long |
+| Décaler bits à gauche | << | long << E. long | long (voir note n°1) |
+| Décaler bits à droite | > > | long >> E. long | long (voir note n°1) |
+| Mettre bit à 1 | ?+ | long ?+ E. E. long | long (voir note n°2) |
+| Mettre bit à 0 | ?- | long ?? | long (voir note n°2) |
+| Tester bit | ?? | long \^| E. E. long | Booléen (voir note n°2) |
#### Notes
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/quick-tour.md b/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/quick-tour.md
index b26831bdde0d2e..9016addcd074f7 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/quick-tour.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/quick-tour.md
@@ -310,7 +310,7 @@ Vous vous référez à une expression via le type de données qu’elle retourne
| Col[5] | Élément de collection | Un élément de collection est une expression qui peut être de tout type |
| $entitySel[0] | Entity | Un élément d'une sélection d'entité ORDA est une expression de type entité. Ce type d'expression n'est **pas affectable** |
-### Expressions assignables et non-assignables
+### Assignable vs non-assignable expressions {#assignable-vs-non-assignable-expressions} {#assignable-vs-non-assignable-expressions}
Une expression peut simplement être une constante littérale, telle que le chiffre 4 ou la chaîne "Hello", ou une variable telle que `$myButton`. Elle peut également utiliser des opérateurs. Par exemple, 4 + 2 est une expression qui utilise l'opérateur d'addition pour additionner deux nombres et renvoyer le résultat 6. Dans tous les cas, ces expressions sont **non-assignables**, ce qui signifie que vous ne pouvez pas leur affecter de valeur.
Dans 4D, les expressions peuvent être **assignables**. Une expression est assignable quand elle peut être utilisée à gauche de l'opérateur d'assignation. Par exemple :
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/variables.md b/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/variables.md
index a1b7c382575f99..a4914290a1e1f1 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/variables.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/variables.md
@@ -250,17 +250,18 @@ Le langage 4D gère plusieurs **variables système**, qui permettent de contrôl
Les variables système sont utilisées par les [commandes 4D](../commands/command-index.md). Reportez-vous au paragraphe "Variables et ensembles système" dans la description d'une commande pour savoir si elle affecte une variable système.
-| Nom de variable système | Type | Description |
-| ------------------------------------------------------ | ------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `OK` | Integer | Généralement fixée à 1 lorsqu'une commande a affiché une boîte de dialogue et que l'utilisateur a cliqué sur le bouton **OK**, et à 0 s'il a cliqué sur **Cancel**. Certaines commandes modifient également la valeur de la variable système `OK` lorsqu'une opération est exécutée avec succès. |
-| `Document` | Text | Contient le "nom long" (chemin complet + nom) du dernier fichier ouvert ou créé à l'aide de commandes telles que [Open document](../commands-legacy/open-document.md) ou [SELECT LOG FILE](../commands/select-log-file.md). |
-| `FldDelimit`, `RecDelimit` | Text | Contiennent les codes de caractères qui seront utilisés respectivement comme séparateur de champs (par défaut **Tab** (9)) et séparateur d'enregistrements (par défaut **retour chariot** (13)) lors de l'importation ou de l'exportation de texte. Pour utiliser un séparateur différent, attribuez une nouvelle valeur à la variable système. |
-| `Error`, `Error method`, `Error line`, `Error formula` | Text, Longint | Utilisées dans une méthode d'interception d'erreurs installée par la commande [`ON ERR CALL`](../commands-legacy/on-err-call.md). Voir [Gestion des erreurs dans la méthode](../Concepts/error-handling.md#handling-errors-within-the-method). |
-| `MouseDown` | Integer | Utilisée dans une méthode installée par la commande [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Prend la valeur 1 si le bouton de la souris a été enfoncé, sinon prend la valeur 0. |
-| `MouseX`, `MouseY` | Integer | Utilisée dans une méthode installée par la commande [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Dans un événement `MouseDown=1`, `MouseX` et `MouseY` reçoivent respectivement les coordonnées verticales et horizontales du clic. Les deux valeurs sont exprimées en pixels et avec le système de coordonnées locales de la fenêtre. Dans le cas d'un champ ou d'une variable image, `MouseX` et `MouseY` reçoivent les coordonnées locales d'un clic de souris dans les événements de formulaire [`On Clicked`](../Events/onClicked.md), [`On Double Clicked`](../Events/onDoubleClicked.md) et [`On Mouse Up`](../Events/onMouseUp.md). Les coordonnées locales du curseur de la souris sont également retournées dans les événements [`On Mouse Enter`](../Events/onMouseEnter.md) et [`On Mouse Move`](../Events/onMouseMove.md) . Pour plus d'informations, voir la section [Coordonnées de la souris dans une image](../FormEditor/pictures.md#mouse-coordinates-in-a-picture). |
-| `KeyCode` | Integer | Utilisée dans une méthode installée par la commande [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Définit le code de caractère de la touche qui vient d'être pressée. Si la touche est une touche de fonction, `KeyCode` prend la valeur d'un code spécial. |
-| `Modifiers` | Integer | Utilisée dans une méthode installée par la commande [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Contient les codes des modifiers du clavier (Ctrl/Commande, Alt/Option, Maj, Verr. |
-| `MouseProc` | Integer | Utilisée dans une méthode installée par la commande [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Contient le numéro du process dans lequel le dernier événement a eu lieu |
+| Nom de variable système | Type | Description |
+| ------------------------------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `OK` | Integer | Généralement fixée à 1 lorsqu'une commande a affiché une boîte de dialogue et que l'utilisateur a cliqué sur le bouton **OK**, et à 0 s'il a cliqué sur **Cancel**. Certaines commandes modifient également la valeur de la variable système `OK` lorsqu'une opération est exécutée avec succès. |
+| `Document` | Text | Contient le "nom long" (chemin complet + nom) du dernier fichier ouvert ou créé à l'aide de commandes telles que [Open document](../commands-legacy/open-document.md) ou [SELECT LOG FILE](../commands/select-log-file.md). |
+| `FldDelimit`, `RecDelimit` | Integer | Contiennent les codes de caractères qui seront utilisés respectivement comme séparateur de champs (par défaut **Tab** (9)) et séparateur d'enregistrements (par défaut **retour chariot** (13)) lors de l'importation ou de l'exportation de texte. Pour utiliser un séparateur différent, attribuez une nouvelle valeur à la variable système. |
+| `Error`, `Error line` | Integer | Utilisées dans une méthode d'interception d'erreurs installée par la commande [`ON ERR CALL`](../commands-legacy/on-err-call.md). Voir [Gestion des erreurs dans la méthode](../Concepts/error-handling.md#handling-errors-within-the-method). |
+| `Error method`, `Error formula` | Text | Utilisées dans une méthode d'interception d'erreurs installée par la commande [`ON ERR CALL`](../commands-legacy/on-err-call.md). Voir [Gestion des erreurs dans la méthode](../Concepts/error-handling.md#handling-errors-within-the-method). |
+| `MouseDown` | Integer | Utilisée dans une méthode installée par la commande [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Prend la valeur 1 si le bouton de la souris a été enfoncé, sinon prend la valeur 0. |
+| `MouseX`, `MouseY` | Integer | Utilisée dans une méthode installée par la commande [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Dans un événement `MouseDown=1`, `MouseX` et `MouseY` reçoivent respectivement les coordonnées verticales et horizontales du clic. Les deux valeurs sont exprimées en pixels et avec le système de coordonnées locales de la fenêtre. Dans le cas d'un champ ou d'une variable image, `MouseX` et `MouseY` reçoivent les coordonnées locales d'un clic de souris dans les événements de formulaire [`On Clicked`](../Events/onClicked.md), [`On Double Clicked`](../Events/onDoubleClicked.md) et [`On Mouse Up`](../Events/onMouseUp.md). Les coordonnées locales du curseur de la souris sont également retournées dans les événements [`On Mouse Enter`](../Events/onMouseEnter.md) et [`On Mouse Move`](../Events/onMouseMove.md) . Pour plus d'informations, voir la section [Coordonnées de la souris dans une image](../FormEditor/pictures.md#mouse-coordinates-in-a-picture). |
+| `KeyCode` | Integer | Utilisée dans une méthode installée par la commande [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Définit le code de caractère de la touche qui vient d'être pressée. Si la touche est une touche de fonction, `KeyCode` prend la valeur d'un code spécial. |
+| `Modifiers` | Integer | Utilisée dans une méthode installée par la commande [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Contient les codes des modifiers du clavier (Ctrl/Commande, Alt/Option, Maj, Verr. |
+| `MouseProc` | Integer | Utilisée dans une méthode installée par la commande [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Contient le numéro du process dans lequel le dernier événement a eu lieu |
:::note
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/Extensions/develop-components.md b/i18n/fr/docusaurus-plugin-content-docs/current/Extensions/develop-components.md
index fad07747e0ff2b..134abd41deac79 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/current/Extensions/develop-components.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/Extensions/develop-components.md
@@ -114,6 +114,12 @@ Les fonctionnalités standard de l'IDE 4D sont disponibles pour le composant. Vo
- exécuter des méthodes,
- restaurer à partir de la corbeille ou vider la corbeille.
+### Search and replace
+
+You can use the [**Search and replace** features](../Project/search-replace.md) of the host project to search elements within the code or the forms of your editable components. The **Search in project** menu allows you to select one or all components as search target:
+
+
+
## Portée des commandes du langage
Hormis les [commandes non utilisables](#unusable-commands), un composant peut utiliser toute commande du langage 4D.
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/FormEditor/forms.md b/i18n/fr/docusaurus-plugin-content-docs/current/FormEditor/forms.md
index 7b7946358c6eac..0c5ab01f402f6c 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/current/FormEditor/forms.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/FormEditor/forms.md
@@ -112,9 +112,9 @@ La prise en charge de Fluent UI est actuellement en phase d'aperçu pour les dé
:::
-:::info macOS
+:::info Disponibilité
-Cette fonctionnalité ne peut être utilisée que sous Windows. Sous macOS, elle est ignorée.
+This feature can be used **in 4D projects on Windows**. It is not available on macOS or in binary 4D databases on Windows.
:::
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/FormObjects/webArea_overview.md b/i18n/fr/docusaurus-plugin-content-docs/current/FormObjects/webArea_overview.md
index 1f47e1e9918d0c..3eec516ac20cfe 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/current/FormObjects/webArea_overview.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/FormObjects/webArea_overview.md
@@ -24,7 +24,7 @@ Deux variables spécifiques sont automatiquement associées à chaque zone web :
- [`URL`](properties_WebArea.md#url) --pour contrôler l'URL affichée par la zone web
- [`Progression`](properties_WebArea.md#progression) -- pour contrôler le pourcentage de chargement de la page affichée dans la zone web.
-> Depuis 4D 19 R5, la variable Progression n'est plus mise à jour dans les zones Web utilisant le [moteur de rendu système Windows](./webArea_overview.md#web-rendering-engine).
+> As of 4D 19 R5, the Progression variable is no longer updated in Web Areas using the [Windows system rendering engine](./webArea_overview.md#web-rendering-engine).
### Moteur de rendu Web
@@ -338,9 +338,11 @@ Le fichier 4DCEFParameters.json par défaut contient les commutateurs suivants :
}
```
-### Voir également
+:::info Article(s) de blog sur le sujet
-[Spécifiez vos propres paramètres pour initialiser la zone web intégrée (article de blog)](https://blog.4d.com/specify-your-own-parameters-to-initialize-the-embedded-web-area)
+[Custom Parameters for Initializing Embedded Web Area](https://blog.4d.com/custom-parameters-for-initializing-embedded-web-area/)
+
+:::
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/Notes/updates.md b/i18n/fr/docusaurus-plugin-content-docs/current/Notes/updates.md
index 9f34bdb1d64094..be4ca530e72ed2 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/current/Notes/updates.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/Notes/updates.md
@@ -10,6 +10,10 @@ Lisez [**Les nouveautés de 4D 21 R2**](https://blog.4d.com/fr-whats-new-in-4d-v
#### Points forts
- [Code Live Checker](../code-editor/write-class-method.md#warnings-and-errors) has been enhanced to provide greater precision in error detection (see [this blog post](https://blog.4d.com/better-error-handling-and-type-inference-for-4d-developers) for more information).
+- [4D Write Pro standard actions](../WritePro/user-legacy/standard-actions.md) that apply [lists](../WritePro/user-legacy/using-a-4d-write-pro-area.md#lists) now automatically adjust paragraph margins to keep markers positioned inside it.
+- Built-in support of `order by` in query strings for AI vector searches using [`query()`](../API/DataClassClass.md#query-by-vector-similarity) functions and the [REST API](../REST/$orderby.md).
+- 4D AIKit component: new [File API](../aikit/Classes/OpenAIFilesAPI.md) class to implement **file upload** features.
+- [**Find in Design**](../Project/search-replace.md#search-in-components) and [**Replace in contents**](../Project/search-replace.md#replace-in-contents) features can now support editable components.
- [**Liste des bugs corrigés**](https://bugs.4d.fr/fixedbugslist?version=21_R2) : liste de tous les bugs qui ont été corrigés dans 4D 21 R2.
#### Changements de comportement
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/ORDA/orda-events.md b/i18n/fr/docusaurus-plugin-content-docs/current/ORDA/orda-events.md
index cebaba79eccf23..ddd14e1fbaa77c 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/current/ORDA/orda-events.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/ORDA/orda-events.md
@@ -24,7 +24,7 @@ Vous ne pouvez pas déclencher directement l'exécution d'une fonction d'événe
:::info Note de compatibilité
-Les événements d'entité ORDA dans le magasin de données sont équivalents aux triggers dans la base de données 4D. Cependant, les actions déclenchées au niveau de la base de données 4D à l'aide des commandes du langage classique 4D ou des actions standard ne déclenchent pas les événements ORDA.
+Les événements d'entité ORDA dans le magasin de données sont équivalents aux triggers dans la base de données 4D. Cependant, les actions déclenchées au niveau de la base de données 4D à l'aide des commandes du langage classique 4D ou des actions standard ne déclenchent pas les événements ORDA. Note also that, unlike triggers, ORDA entity events do not lock the entire underlying table of a dataclass while saving or dropping entities. Several events can run in parallel as long as they involve distinct entities (i.e. records).
:::
@@ -420,7 +420,9 @@ If (This.userManualPath#"")
// The user manual document file is created on the disk
// This may fail if no more space is available
Try
- $fileCreated:=$userManualFile.create()
+ // The file content has been generated and stored in a map in Storage.docMap previously
+ $docInfo:=Storage.docMap.query("name = :1"; This.name).first()
+ $userManualFile.setContent($docInfo.content)
Catch
// No more room on disk for example
$result:={/
@@ -434,6 +436,12 @@ return $result
```
+:::note
+
+The content of the file is generated outside the `saving` event because it can be time consuming.
+
+:::
+
### `Function event afterSave`
#### Syntaxe
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/ORDA/ordaClasses.md b/i18n/fr/docusaurus-plugin-content-docs/current/ORDA/ordaClasses.md
index 7418c2de73301d..61d3207ff17bd4 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/current/ORDA/ordaClasses.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/ORDA/ordaClasses.md
@@ -928,18 +928,18 @@ $arch.save() //courseName et name sont "Archaeology II"
## Fonctions exposées et non exposées
-For security reasons, all of your data model class functions, including [computed attributes](#computed-attributes-1) and [alias attributes](#alias-attributes-1), as well as [shared singleton functions](../Concepts/classes.md#shared-singleton) are **not exposed** (i.e., private) by default to **remote requests**.
+Pour des raisons de sécurité, toutes vos fonctions de classe du modèle de données, y compris les [attributs calculés](#computed-attributes-1), les [attributs alias](#alias-attributes-1) et les [fonctions singleton partagées](../Concepts/classes.md#shared-singleton) ne sont **pas exposées** par défaut aux **requêtes distantes** (elles sont donc privées).
-Remote requests are:
+Les requêtes distantes incluent :
- Les requêtes envoyées par des applications 4D distantes connectées via `Open datastore`
-- REST requests, including requests from [Qodly pages](https://developer.4d.com/qodly/)
+- Les requêtes REST, y compris les requêtes provenant de [pages Qodly](https://developer.4d.com/qodly/)
> Les requêtes client/serveur 4D standard ne sont pas impactées. Les fonctions de classe de modèle de données sont toujours disponibles dans cette architecture.
Une fonction qui n'est pas exposée n'est pas disponible sur les applications distantes et ne peut être appelée sur aucune instance d'objet à partir d'une requête REST. Si une application distante tente d'accéder à une fonction non exposée, l'erreur «-10729 - Méthode membre inconnue» est retournée.
-To allow a function or an attribute to be called by a remote request, you must explicitly declare it using the `exposed` keyword. La syntaxe formelle est la suivante :
+Pour permettre à une fonction de classe du modèle de données d'être appelée par une requête distante, vous devez la déclarer explicitement à l'aide du mot-clé `exposed`. La syntaxe formelle est la suivante :
```4d
// déclarer une fonction exposée
@@ -947,24 +947,24 @@ exposed Function
```
```4d
-// declare an exposed alias
+// déclarer un alias exposé
exposed Alias
```
```4d
-// declare an exposed computed attribute
+// déclarer un attribut calculé exposé
exposed Function get
```
```4d
-// declare a shared singleton function
+// déclarer une fonction singleton partagée exposée
shared singleton Class constructor()
exposed Function
```
:::note
-The `exposed` keyword can only be used with the objects decribed above. S'il est utilisé avec une fonction de [classe utilisateur standard](Concepts/classes.md), il est ignoré et une erreur est retournée par le compilateur.
+Le mot-clé `exposed` ne peut être utilisé qu'avec les objets décrits ci-dessus. S'il est utilisé avec une fonction de [classe utilisateur standard](Concepts/classes.md), il est ignoré et une erreur est retournée par le compilateur.
:::
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/Project/project-method-properties.md b/i18n/fr/docusaurus-plugin-content-docs/current/Project/project-method-properties.md
index 944f2218c7c3f0..f8d096c75e32fa 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/current/Project/project-method-properties.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/Project/project-method-properties.md
@@ -22,9 +22,9 @@ Le nouveau nom doit respecter les règles de nommage 4D (voir [Identifiants](../
:::caution
-Changer le nom d'une méthode déjà utilisée dans la base de données peut invalider toutes les méthodes ou formules qui utilisent l'ancien nom de méthode et risque de perturber le fonctionnement de l'application. Changer le nom d'une méthode déjà utilisée dans la base de données peut invalider toutes les méthodes ou formules qui utilisent l'ancien nom de méthode et risque de perturber le fonctionnement de l'application. Avec cette fonction, vous pouvez mettre à jour automatiquement le nom où la méthode partout où elle est appelée dans l'environnement de développement.
+Changing the name of a method already used in the project can invalidate any methods or formulas that use the old method name and runs the risk of disrupting application functioning. It is strongly recommended to use the [renaming function for project methods](../Project/search-replace.md#renaming-project-methods-and-variables). Avec cette fonction, vous pouvez mettre à jour automatiquement le nom où la méthode partout où elle est appelée dans l'environnement de développement.
-Avec 4D Server, le nom de la méthode est changé sur le serveur lorsque vous avez fini de le modifier. Si plus d'un utilisateur modifie le nom de la méthode en même temps, le nom final de la méthode sera le nom spécifié par le dernier utilisateur ayant terminé de l'éditer. Vous pouvez désigner un propriétaire de la méthode pour que seuls certains utilisateurs puissent changer son nom.
+Avec 4D Server, le nom de la méthode est changé sur le serveur lorsque vous avez fini de le modifier. Si plus d'un utilisateur modifie le nom de la méthode en même temps, le nom final de la méthode sera le nom spécifié par le dernier utilisateur ayant terminé de l'éditer. You may want to specify a method owner so that only certain users can change the method's name.
:::
@@ -103,7 +103,7 @@ Pour plus d’informations, reportez-vous à la section [Implémentations du mot
_Cette option est obsolète. L'appel de code par le biais d'appels REST n'est possible qu'avec les [fonctions de classe du modèle de données ORDA](../REST/ClassFunctions.md).\*
-### Modifier attributs globalement
+## Modifier attributs globalement
La boîte de dialogue "Attributs des méthodes" permet de modifier un attribut (Invisible, Disponible via Web Services etc.) pour tout ou partie des méthodes projet de la base de données en une seule opération. Cette fonction est très utile pour modifier les attributs d’un grand nombre de méthodes projet. Elle peut également être utilisée en cours de développement pour appliquer rapidement des attributs communs à des groupes homogènes de méthodes.
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/Project/search-replace.md b/i18n/fr/docusaurus-plugin-content-docs/current/Project/search-replace.md
new file mode 100644
index 00000000000000..d0448e0bcd01b6
--- /dev/null
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/Project/search-replace.md
@@ -0,0 +1,283 @@
+---
+id: search-replace
+title: Search and Replace
+---
+
+4D provides several search and replace functions for elements in all of the Design environment.
+
+- You can search for a string or a type of object (variable, comment, expression, etc.) in part of or in the entire project on the basis of custom criteria ("starts with", "contains", etc.). You can, for example, search for all the variables containing the string "MyVar", only in methods whose name begins with "HR_".
+- The results are displayed in a results window, where it is possible to perform replacements in the contents. You can also export these results in a text file that can be imported into a spreadsheet.
+- You can detect variables and methods that are not used in your code and then remove them to free up memory.
+- You can rename a project method or a variable throughout the Design environment in a single operation.
+
+:::note
+
+There are also functions for searching among the methods of your project in the context menu of the Methods Page in the Explorer: **Search Callers** (aussi available in the [Code editor](../code-editor/write-class-method.md#search-callers) and **Search Dependencies**. Both functions display the items found in a [Results window](#results-window).
+
+:::
+
+## Search Location
+
+When you search the Design environment, the following elements are searched:
+
+- Names of project methods and classes
+- Contents of all methods and classes
+- Names of tables, fields and forms
+- Contents of forms:
+ - object names and titles
+ - names of help tips, pictures, variables, style sheets,
+ - formatting strings
+ - expressions
+- Menus (names and items) and commands associated with menu items
+- Choice lists (names and items)
+- Help tips (names and content)
+- Formats / filters (names and content)
+- Comments in the Explorer and in the code
+
+## Find in Design
+
+### Starting a search
+
+Specify your search criteria in the "Find in design" window:
+
+1. Click on the Search button () in the 4D toolbar.
+ OR
+ Select the **Find in Design...** command from the **Edit** menu.
+
+The "Find in design" window appears:
+
+
+
+The areas of the "Find in design" vary dynamically depending on the selections made in the menus. You can expand this window so that all options are visible:
+
+
+
+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).
+
+4. Click **OK** or press the **Enter** key.
+ When the search is finished, the [Results window](#results-window) appears, listing the elements found.
+
+:::note
+
+You can cancel an extensive search that is underway using the **x** button; this does not close the window or remove any results that were found.
+
+:::
+
+Once you have executed a search, the value entered in the search area is saved in memory. This value, as well as all the other values entered during the same session, can be selected from the combo box.
+
+### Chercher
+
+You specify the type of element to look for using the **Find** menu. The following choices are available:
+
+- **Text**: In this case, 4D looks for a character string throughout the Design environment. The search is done in plain text mode, without taking the context into account. For example, you can look for the text "ALERT("Error number:"+" or "button27". In this mode, you cannot use the wildcard character because "@" is considered to be a standard character.
+- **Comment**: This search is basically the same as the previous one, but it is restricted to the contents of comments (lines beginning with //) in the code and in the Explorer window. For example, you can search for any comments containing the string "To be verified".
+
+:::note
+
+The end result of both types of searches depends on the [search mode](#search-mode) selected.
+
+:::
+
+- **Language expression**: Used to search for any valid 4D expression; the search is performed in the "contains" search mode. Validity is important because 4D must be able to evaluate an expression to be able to search for it. For example, a search for "[clients" (invalid expression) will not return any result whereas "[clients]" is correct. This option is particularly suitable for searches for value assignments and comparisons. Par exemple :
+ - Search for "myvar:=" (assignment)
+ - Search for "myvar=" (comparison)
+- **Language element**: Used to search for a specific language element by its name. 4D can distinguish between the following elements:
+ - **Any language element**: Any element from the list below.
+ - **Project method or Class**: Name of a project method or class, for example "M_Add" or "EmployeeEntity".
+ - **Form:** Form name, for example "Input". The command searches among project forms and table forms.
+ - **Field or Table**: Name of a table or field, for example "Customers".
+ - **Variable**: Any variable name, such as "$myvar".
+ **4D constant**: Any constant, such as "Is Picture".
+ **String in quotes**: Literal text constant; i.e. any value within quotes in the code editor or inserted into text areas of the Form editor (static text or group boxes). For example, a search for "Martin" will return results if your code contains the line: `ds.Customer.query("name = :1"; "Martin")`
+ - **4D command**: Any 4D command, for example "Alert".
+ - **Plug-in command**: Plug-in command installed in the application.
+ - **Properties**: An object property name (includes ORDA attribute names). For example "lastname" will find "$o.lastname" and "ds.Employee.lastname".
+- **Any object**: This option searches among all the elements in the Design environment. Only the modification date filter is available. Use this option, for example, to search for "anything modified today".
+
+### Search mode
+
+The search mode menu (i.e. "which", "that is" or "whose name") specifies how to search for the value that is entered. The contents of this menu vary according to the type of element to search for as selected in the **Find** dropdown list.
+
+- Search options for Text or Comment:
+ - **contains**: Searches all text in the Design environment for the specified string. Search results for "var" can include "myvar", "variable1" or "aVariable".
+ - **contains whole word**: Searches all text of the Design environment for the string as a whole word. Search results for "var" only include exact occurrences. They will not include "myvar" but will include, for example, "var:=10" or "ID+var" because the symbols : or + are word separators.
+ - **begins with / ends with**: Searches for the string at the beginning or end of the word (text search) or at the beginning or end of the comment line (comment search). In "Text ends with" mode, searching for "var" will find "myvar".
+- Search options for Language element: The menu offers standard options (matches, contains, begins with, ends with). Note that you can use the search wildcard (@) with the matches option (returns all objects of the type specified).
+
+### Search in components
+
+When your current project references [editable components](../Extensions/develop-components.md#editing-components), you can designate one or all your components as a target for the search. By default, a search is executed in the host only. To modify the target for a search, deploy the **in the project** menu:
+
+
+
+You can select as target:
+
+- the **host project** (default option, top of the list): the search will only be executed within the host project code and forms, excluding components.
+- the **host project and all its components**: the search will be executed in the host project and in all its loaded components.
+- a **specific component**, among the list of all searchable components: the search will be restricted to this component only, excluding the host and other components.
+
+:::note
+
+When no searchable component is found, no menu is available.
+
+:::
+
+The **in the folder** menu (see below) is updated when you select a project since the availability of folders depends on the selected search target(s). The menu is hidden when you select the "host project and all its components" option.
+
+### Folder
+
+The **in the folder** menu restricts the search to a specific folder of the project. By default ("Top Level" option), the search takes place in all the folders.
+
+:::note
+
+Folders are defined on the Home Page of the Explorer.
+
+:::
+
+### Modification date of the parent
+
+This menu restricts the search with respect to the creation/modification date of its parent (for example, the method containing the string being searched for). In addition to standard date criteria (is, is before, is after, is not), this menu also contains several options to let you quickly specify a standard search period:
+
+- **is today**: Period beginning at midnight (00:00 h) of the current day.
+- **is since yesterday**: Period including the current day and the previous one.
+- **is this week**: Period beginning on Monday of the current week.
+- **is this month**: Period beginning on the 1st day of the current month.
+
+### Searching options
+
+You can select options that can help speed up your searches:
+
+- **Search in forms**: When this option is deselected, the search is done throughout the project, except in forms.
+- **Search in methods**: When this option is deselected, the search is done throughout the project, except in methods.
+- **Case Sensitive**: When this option is selected, the search uses the case of the characters as they have been entered in the Find area.
+
+## Results window
+
+The Results window lists all elements found that match the search criteria set using different types of searches:
+
+- [standard search](#starting-a-search)
+- [search for unused elements](#find-unused-methods-and-global-variables)
+- [search for callers](../code-editor/write-class-method.md#search-callers)
+- search for dependencies
+- [renaming of project methods and variables](#renaming-project-methods-and-variables)
+
+It shows the results as a hierarchical list organized by type of elements found. You can expand or collapse all the hierarchical items in the list using the options menu (found at the bottom left of the window) or in the context menu.
+
+
+
+You can double-click on a line in this window to view the element in its editor, such as the [code editor](../code-editor/write-class-method.md). If you do several searches, each search opens its own result window, leaving previous result windows open.
+
+When more than one occurrence has been found, the list indicates their **count** next to the element name.
+
+Each line can display a tip that provides additional information, for example the element property that matches the criteria, or the number of the form page that contains the occurrence.
+
+When an element found belongs to a component, the **component name** is displayed in parenthesis at the right side of the element name:
+
+
+
+Once a search is completed, you can use the  button to perform the search again with the same criteria and options.
+
+### Options menu
+
+You can perform various actions using the options menu:
+
+
+
+- **Remove from list**: removes selected item(s) from the results window. More specifically, this lets you keep only items targeted by a replacement operation in the contents or used for drag and drop between applications.
+- **Remove all items from list except selection**: clears everything from the results window except for the selected item(s).
+- [**Replace in content**](#replace-in-contents): replaces a character string within the selected item(s).
+- **Select >**: selects one type of item (project methods, object names, and so on) from among all the items found in the Results window. The hierarchical sub-menu also provides commands to select (All) or deselect (None) all the items at once.
+- **Collapse all/Expand all**: expands or collapses all the hierarchical items in the list of results.
+- **Export Results**: exports information about the search criteria and elements listed in the Results window. This text file can then be imported into a spreadsheet such as Excel, for example. For each item, the following information is exported as tab-separated values in a text file:
+ - Host project or component name
+ - Type (method, Class, formObject, trigger...)
+ - Path
+ - Property (if accurate): provides the property of the object that matches the criteria. For example, a string could be found in a variable name (variable property) and an object name (name property) within in the same form. This field is empty when the matching element is the object itself.
+ - Contents (if accurate): provides the contents that actually matches the criteria; for example, the code line that contains the requested string.
+ - Line number (for code) or page number (for form objects)
+
+## Replace in content
+
+The Replace in content function allows you to replace one character string with another within the listed objects in the Results window. It is available in the [options menu](#options-menu) of the window.
+
+:::note
+
+The **Replace in content** menu item is disabled if you work in a read-only database (e.g. in a .4dz file).
+
+:::
+
+When you select this command, a dialog box appears where you enter the character string that will replace all the occurrences found by the initial search:
+
+
+
+Replacing operations work as follows:
+
+- Replacing is always carried out among all items found in the list and not just for a selection. However, it is possible to narrow the replacing operation by first reducing the contents of the list using the **Remove from list** or **Remove all items from list except selection** commands in the [options menu](#options-menu) or the contextual menu.
+- If the Results window includes elements from components, the replacing will be done in the component(s) also.
+- Only the occurrences shown in the list will be replaced and only after checking the initial search criteria for cases where objects were modified between the initial search and the replacing operation.
+- Replacing is done in the code, properties of form objects, contents of help messages, entry filters, menu items (item text and method calls), choice lists, comments.
+- For each object modified, 4D checks whether it is already loaded by another machine or in another window. In the case of conflict, a standard dialog box appears indicating that the object is locked. You can close the object and then try again or cancel its replacement. The replacing operation will then continue with the other objects in the list.
+- If a method or form concerned by a "replace in content" operation is currently being edited by the same 4D application, it will be modified directly in the open editor (no warning appears). Forms and methods modified in this way are not saved automatically: you will need to use the **Save** or **Save All** command explicitly to validate the changes.
+- After a replacement is made in a list item, it will appear in italics. A count of replacements made in real time appears at the bottom of the window.
+- Elements are never renamed themselves by the **Replace in content** feature, except for form objects. Hence it is possible that certain items in the list may not be affected by the replacing operation. This can occur when only the item name corresponds to the initial search criteria. In this case, the list items do not necessarily all appear in italics and the final replacement count may be less than the number of occurrences found by the initial search.
+
+## Renaming project methods and variables
+
+4D provides a dedicated renaming function with distribution throughout the entire project for project methods and variables.
+
+The **Rename...** command is available from the [Code editor] (for project methods and variables) and the Explorer context menu (for project methods).
+
+
+
+When you select this command, a dialog box appears where you enter the new name for the object:
+
+
+
+The new name must comply with [naming rules](../Concepts/identifiers.md); otherwise a warning appears when you validate the dialog box. For example, you cannot rename a method with a command name such as "Alert".
+
+Depending on the type of object you are renaming (project method or variable), the renaming dialog box may also contain a distribution option:
+
+- Project method: The **Update callers in whole database** option renames the method in all the project code that references it. You can also uncheck this option in order, for example, to rename the method only in the Explorer itself.
+- Process variable: The **Rename variable in whole database** option renames the variable in all the project code that references it. If you uncheck this option, the variable is only renamed in the current method.
+- Local variable: No distribution option for this object; the variable is only renamed in the current method or class.
+
+## Searching for unused elements
+
+Two specific search commands allow you to detect variables and methods that are not used in the code of your host project. You can then remove them to free up memory. These commands are found in the **Edit** menu of the Design environment.
+
+### Find Unused Methods and Global Variables
+
+This command looks for project methods as well as "global" variables (process and interprocess variables) that are declared but not used. The search results appear in a standard [Results window](#results-window).
+
+A project method is considered to be unused when:
+
+- it is not in the Trash,
+- it is not called anywhere in the 4D code,
+- it is not called by a menu command,
+- it is not called as a string constant in the 4D code (4D detects a method name in a string even when it is followed by parameters in parentheses).
+
+A process or interprocess variable is considered to be unused when:
+
+- it is [declared](../Concepts/variables.md#declaring-variables) in the 4D code,
+- it is not used anywhere else in the 4D code,
+- it is not used in any form object.
+
+Note that certain uses cannot be detected by the function - i.e. an element considered unused may in fact be used. This is the case in the following code:
+
+```4d
+var v : Text :="method"
+EXECUTE FORMULA("my"+v+String(42))
+```
+
+This code builds a method name. The *mymethod42* project method is considered unused when in fact it is called. Therefore, it is advisable to check that the elements declared as unused are in fact unnecessary before you remove them.
+
+### Find Unused Local Variables
+
+This command looks for local variables that are declared but not used. The search results appear in a standard [Results window](#results-window).
+
+A local variable is considered to be unused when:
+
+- it is [declared](../Concepts/variables.md#declaring-variables) in the 4D code,
+- it is not used anywhere else within the same method.
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/REST/$filter.md b/i18n/fr/docusaurus-plugin-content-docs/current/REST/$filter.md
index 1554518504d886..bab137899b9215 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/current/REST/$filter.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/REST/$filter.md
@@ -3,7 +3,7 @@ id: filter
title: $filter
---
-Permet de rechercher les données d'une dataclass ou d'une méthode (par exemple, `$filter="firstName!='' AND salary>30000"`)
+Allows to query the data in a dataclass or method (*e.g.*, `$filter="firstName!='' AND salary>30000"`)
## Description
@@ -96,7 +96,7 @@ Le paramètre *vectorComparison* est une collection des éléments suivants :
| [].metric | Text | Optionnel. [Calcul vectoriel](../API/VectorClass.md#understanding-the-different-vector-computations) à utiliser pour la recherche. Valeurs prises en charge :"cosine" (valeur par défaut en cas d'omission) : calcule la similarité cosinus entre les vecteurs. "dot" : calcule la similarité en points entre les vecteurs."euclidean" : calcule la distance euclidienne entre les vecteurs. |
| [].threshold | Real | Facultatif (valeur par défaut : 0,5). Valeur seuil utilisée pour filtrer les comparaisons de vecteurs sur la base de leur score de similarité cosinus, point ou euclidienne selon la "métrique" sélectionnée. Il est fortement recommandé de choisir une similitude qui corresponde le mieux à votre cas d'utilisation spécifique pour des résultats optimaux. |
-Seul un sous-ensemble de **comparateurs** est pris en charge pour les comparaisons vectorielles. Notez qu'ils comparent les résultats à la valeur de seuil (threshold) :
+Only a subset of **comparator** symbols is supported with vector comparisons. Notez qu'ils comparent les résultats à la valeur de seuil (threshold) :
| Comparateur | Symbole(s) | Commentaire |
| ------------------- | ----------------------------- | -------------------------- |
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/REST/$orderby.md b/i18n/fr/docusaurus-plugin-content-docs/current/REST/$orderby.md
index 3735484bb4389d..2599947db2b9f0 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/current/REST/$orderby.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/REST/$orderby.md
@@ -9,7 +9,7 @@ Trie les données retournées par l'attribut et l'ordre de tri définis (par exe
`$orderby` ordonne les entités retournées par la requête REST. Pour chaque attribut, définissez l'ordre sur `ASC` (ou `asc`) pour l'ordre croissant et sur `DESC` (`desc`) pour l'ordre décroissant. Par défaut, les données sont triées par ordre croissant. Si vous souhaitez spécifier plusieurs attributs, vous pouvez les délimiter avec une virgule, *par exemple*, `$orderby="lastName desc, firstName asc"`.
-## Exemple
+## Exemple 1
Dans cet exemple, nous récupérons les entités et les trions en même temps :
@@ -47,3 +47,10 @@ L'exemple ci-dessous trie l'entité définie par l'attribut lastName dans l'ordr
}
```
+## Exemple 2
+
+`$orderby` statement is supported in [vector similarity filters](./$filter.md#vector-similarity):
+
+```
+GET /rest/Person?$filter="Vector>=:1"&$params=[{"vector":[1,2,3],"metric":"cosine","threshold":0.95}]&$orderby="Vector desc"
+```
\ No newline at end of file
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/REST/authUsers.md b/i18n/fr/docusaurus-plugin-content-docs/current/REST/authUsers.md
index 71ec910a321054..beaaf5033918d5 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/current/REST/authUsers.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/REST/authUsers.md
@@ -18,7 +18,7 @@ Une session est ouverte après que l'utilisateur a été connecté avec succès
:::note Compatibilité
-L'ancien mode de connexion basé sur la méthode base `On REST Authentication` est **déprécié** à partir de 4D 20 R6. Dans les projets convertis, [un bouton dans la boîte de dialogue des Paramètres](../settings/web.md#activate-rest-authentication-through-dsauthentify-function) vous aide à mettre à niveau votre configuration. Il est maintenant recommandé d'[utiliser le **mode Force login**](../ORDA/privileges.md#fichier-rolesjson) (automatiquement activé dans les nouveaux projets) et de mettre en œuvre la fonction [`ds.authentify()`](#function-authentify). Dans Qodly Studio for 4D, le mode peut être défini en utilisant l'option [**Force login**](../WebServer/qodly-studio.md#force-login) dans l'onglet Privileges.
+L'ancien mode de connexion basé sur la méthode base `On REST Authentication` est **déprécié** à partir de 4D 20 R6. Dans les projets convertis, [un bouton dans la boîte de dialogue des Paramètres](../settings/web.md#activate-rest-authentication-through-dsauthentify-function) vous aide à mettre à niveau votre configuration. Il est maintenant recommandé d'[utiliser le **mode Force login**](../ORDA/privileges.md#fichier-rolesjson) (automatiquement activé dans les nouveaux projets) et de mettre en œuvre la fonction [`ds.authentify()`](#function-authentify). Dans Qodly Studio for 4D, le mode peut être défini en utilisant l'option [**Force login**](https://developer.4d.com/qodly/4DQodlyPro/force-login) dans l'onglet Privileges.
:::
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/WebServer/sessions.md b/i18n/fr/docusaurus-plugin-content-docs/current/WebServer/sessions.md
index 20caa69023fa0f..7f76d591b5639f 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/current/WebServer/sessions.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/WebServer/sessions.md
@@ -25,7 +25,7 @@ Les sessions Web sont utilisées par :
- les [applications Web](gettingStarted.md) envoyant des requêtes http (y compris les [Web services SOAP](../commands/theme/Web_Services_Server.md) et les requêtes [/4DACTION](../WebServer/httpRequests.md#4daction)),
- les appels à l'[API REST](../REST/authUsers.md), qui sont effectués par les [datastores distants](../ORDA/remoteDatastores.md) et les [pages Qodly](qodly-studio.md).
-## Activation des sessions web
+## Enabling web sessions {#enabling-web-sessions}
La gestion de session peut être activée et désactivée sur votre serveur Web 4D. Il y a différentes façons d'activer la gestion de session :
@@ -201,7 +201,7 @@ Else
End if
```
-:::tips Articles de blog sur le sujet
+:::tip Articles de blog sur le sujet
[Sessions évolutives pour applications web avancées](https://blog.4d.com/scalable-sessions-for-advanced-web-applications/)
@@ -213,7 +213,7 @@ Le serveur web 4D vous permet de générer, de partager et d'utiliser des tokens
Dans 4D, les tokens de session OTP sont utiles pour appeler des URL externes et être rappelé dans un autre navigateur ou appareil (mobile/ordinateur). Généralement, une application tierce envoie un courriel de confirmation contenant un lien de rappel sur lequel l'utilisateur doit cliquer. Le lien de rappel inclut le token OTP, de sorte que la session qui a déclenché le rappel est chargée avec ses données et ses privilèges. Ce principe vous permet de partager la même session sur plusieurs appareils. Grâce à cette architecture, le [cookie de session] (#session-implementation) n'est pas exposé sur le réseau, ce qui élimine le risque d'une attaque de type "man-in-the-middle".
-:::tips Articles de blog sur le sujet
+:::tip Articles de blog sur le sujet
[Connectez vos applications Web à des systèmes tiers](https://blog.4d.com/connect-your-web-apps-to-third-party-systems/)
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/WritePro/commands-legacy/4d-write-pro-attributes.md b/i18n/fr/docusaurus-plugin-content-docs/current/WritePro/commands-legacy/4d-write-pro-attributes.md
index 39a275e9ef4a92..af870bb464693c 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/current/WritePro/commands-legacy/4d-write-pro-attributes.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/WritePro/commands-legacy/4d-write-pro-attributes.md
@@ -252,7 +252,7 @@ Les attributs des liens sont utilisés pour définir ou lire des URLs dans les p
### Listes
-4D Write Pro prend en charge deux principaux types de listes :
+4D Write Pro prend en charge deux principaux [types de listes](../user-legacy/using-a-4d-write-pro-area.md#lists) :
* les listes non ordonnées : listes aussi appelées "listes à puces"
* les listes ordonnées : listes dont les "marqueurs" d'éléments sont des chiffres ou des lettres et sont incrémentés
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/WritePro/user-legacy/defining-a-4d-write-pro-area.md b/i18n/fr/docusaurus-plugin-content-docs/current/WritePro/user-legacy/defining-a-4d-write-pro-area.md
index 64df79f13be0c7..726e7aa1a73796 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/current/WritePro/user-legacy/defining-a-4d-write-pro-area.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/WritePro/user-legacy/defining-a-4d-write-pro-area.md
@@ -77,173 +77,3 @@ Le mode d'affichage peut être configuré via le menu contextuel de la zone :
Pour les zones incluses dans les formulaires 4D, le mode d'affichage peut également être défini par défaut à l'aide de la Liste des propriétés. Dans ce cas, le mode d'affichage est une propriété de l'objet de formulaire 4D Write Pro (pour plus d'informations, veuillez vous reporter au paragraphe *Configurer les propriétés d'affichage*).
-
-
-## Les actions standard
-
-L'interface utilisateur des zones 4D Write Pro peut être gérée grâce à un grand nombre d'**actions standard**. Les actions standard peuvent être assignées :
-
-* aux commandes de menu, disponibles via une **barre de menu** ou la commande [Pop up menu dynamique](../../commands/pop-up-menu-dynamique),
-* aux éléments de listes, disponibles via des pop-ups/listes déroulantes ou des pop-up menus hiérarchiques,
-* aux boutons, cases à cocher,
-* ou exécutées avec la commande [APPELER ACTION](../../commands/appeler-action).
-
-Lorsqu'elles sont assignées à des objets d'interface, les actions standard gèrent les activations/désactivations de l'objet en fonction du contexte. Pour plus d'informations, référez-vous à la section [Actions standard](#standard-actions).
-
-Deux catégories d'actions sont disponibles pour les zones 4D Write Pro :
-
-* des actions spécifiques à 4D Write Pro, qui ne peuvent être utilisées qu'avec les zones 4D Write Pro,
-* des *[Autres actions](#other-actions)* plus génériques de gestion des polices, expressions, du correcteur orthographique et des opérations d'édition, qui peuvent être utilisées avec les zones 4D Write Pro et les autres zones 4D. Ces actions sont détaillées dans la section [Actions standard](#standard-actions).
-
-### Actions 4D Write Pro
-
-Les actions standard ci-dessous sont disponibles pour les zones 4D Write Pro :
-
-**Notes :**
-
-* Les actions qui affichent un menu/une liste automatique peuvent uniquement être attachées aux commandes de menus ou aux objets pop-ups/liste déroulantes et pop-up menus hiérarchiques (voir *Sous-menu*).
-* Les cases à cocher et cases à cocher 3D doivent être associées à des actions de statut, telles que "section/differentFirstPage" ou "visibleHorizontalRuler". L'option "Trois états" est prise en charge avec les cases à cocher standard uniquement.
-* Un statut d'action de section est toujours égal au statut courant de la section sélectionnée (statut hérité si l'attribut est hérité de la section parente ou de l'attribut par défaut) car il doit refléter le statut de la section sélectionnée (le statut qui est actuellement appliqué à la section). Cependant, modifier un attribut de section avec une action standard surchargera uniquement l'attribut de la section sélectionnée.
-* *Sous-menu* : Lorsqu'elles sont utilisées sans paramètres et associées à une commande de menu, un objet pop-up/Liste déroulante ou pop-up menu hiérarchqiue, ces actions affichent un sous-menu automatique. Par exemple, si vous assignez l'action "backgroundColor" à une commande de menu, la sélection de cette commande de menu à l'exécution affichera automatiquement les commandes du sous-menu "couleur de fond". Si vous assignez l'action "zoom" à un pop-up menu hiérarchique, il contiendra automatiquement une liste de valeurs de zoom prédéfinies. A noter que ces actions ne peuvent pas être assignées à des boutons.
-* *showDialog* : Ajouter la chaîne "/showDialog**"** au nom de l'action permet d'afficher la boîte de dialogue standard associée à l'action. Par exemple, vous pouvez utiliser "paragraph/styleSheet/showDialog" pour ouvrir le dialogue permettant de saisir le nom d'une nouvelle feuille de style.
-
-| **Nom de l'action** | **Syntaxe** | **Disponible avec** | **Description** |
-|----------------------|-------------|----------------------|------------------|
-| anchorHorizontalAlign | {image \| textBox}/anchorHorizontalAlign?value={left | center | right} | Image,
zone de texte,
*Sous-menu* | Définit l'alignement horizontal de l'élément, relatif à **anchorOrigin** pour les images/zones de texte en page ou à la zone de format pour les images/zones de texte en mode inclus. Cette action réinitialise à 0 le décalage horizontal. (non activée pour les images en ligne). |
-| anchoring | {image \| textBox}/anchoring | *Sous-menu* | Sous-menu par défaut avec des actions de paramètres d'ancrage pour les images ou les zones de texte |
-| anchorLayout | image/anchorLayout?value={front \| behind | wrapTopBottom | wrapSquareLeft | wrapSquareRight | wrapSquareLargest | wrapSquare | inline}
textBox/anchorLayout?value={front | behind | wrapTopBottom | wrapSquareLeft | wrapSquareRight | wrapSquareLargest | wrapSquare} | Image,
zone de texte,
*Sous-menu* | Définit le type de position d'ancre pour une image ou une zone de texte. Peut être utilisée pour transformer une image en ligne en image ancrée, ou l'inverse.
Note : Si une image ancrée est transformée en image en ligne, elle est insérée au début du texte sélectionné.
La valeur " en ligne " n'est pas supportée pour les zones de texte.
|
-| anchorOrigin | {image \| textBox}/anchorOrigin?value={paper-box | header-box | footer-box} | Image,
zone de texte,
*Sous-menu* |
Définit la zone relative à la position absolue d'une image ancrée ou d'une zone de texte. Si l'élément est relative à la zone d'en-tête ou de pied (header-box/footer-box) qui n'est pas visible sur une page, l'image n'est pas affichée. Cette action remet à zéro les valeurs de décalage horizontal et vertical.
Mode Page uniquement, non activée pour les images en ligne.
|
-| anchorPage | {image \| textBox}/anchorPage?value={all | current | currentSubSection} | Image,
zone de texte,
*Sous-menu* |
Définit la ou les page(s) où l'image ou la zone de texte sélectionnée est affichée (non activée pour les images en ligne).
Mode page uniquement.
|
-| anchorSection | {image \| textBox}/anchorSection?value={all | current} | Image,
zone de texte,
*Sous-menu* |
Définit la ou les section(s) où l'image ou la zone de texte sélectionnée est affichée (non activée pour les images en ligne).
Mode page uniquement.
|
-| anchorVerticalAlign | {image \| textBox}/anchorVerticalAlign?value={top | center | bottom} | Image,
zone de texte,
*Sous-menu* |
Définit l'alignement vertical de l'image ou la zone de texte, relatif à **anchorOrigin** pour une image ou une zone texte en page, ou à la zone de format pour une image ou une zone texte en mode inclus. Cette action réinitialise à 0 le décalage vertical (non activée pour les images en ligne).
Note : Voir l'action "verticalAlign" pour l'alignement vertical à l'intérieur de la zone de texte.
|
-| avoidPageBreakInside | {paragraph/}avoidPageBreakInside | Paragraphe |
|
-| background | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}background | Document, Paragraphe, Image, zone de texte, Section, En-tête, Pied, Table, Ligne, Colonne, Cellule, *Sous-menu* | Pour les commandes de menu uniquement. Sous-menu par défaut pour tous les attributs de fond. |
-| backgroundClip | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}backgroundClip?value={paper-box \| border-box \| padding-box \| content-box} | Document, Paragraphe, Image, zone de texte, Section, En-tête, Pied, Tableau, Ligne, Colonne, Cellule, *Sous-menu* | Modifie la zone de découpe du fond de la cible (par défaut, la cible est le paragraphe). Paper-box est disponible uniquement avec doc et section. |
-| backgroundColor | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}backgroundColor?value={ \| transparent} | Document, Paragraphe, Image, zone de texte, Section, En-tête, Pied, Tableau, Ligne, Colonne, Cellule, *Sous-menu*, *showDialog* | Modifie l'arrière-plan de la cible. |
-| backgroundDisplayMode | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}backgroundDisplayMode?value=scaledToFit \| truncated \| truncatedCentered \| proportional \| proportionalCentered \| replicated \| replicatedCentered | Document, Paragraphe, Image, zone de texte, Section, En-tête, Pied, Tableau, Ligne, Colonne, Cellule, *Sous-menu* | Définit le mode d'affichage des images utilisées comme arrière-plan. |
-| backgroundImage | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}backgroundImage?value=none | Document, Paragraphe, Image, zone de texte, Section, En-tête, Pied, Tableau, Ligne, Colonne, Cellule, *Sous-menu*, *showDialog* | Efface l'image d'arrière-plan de la cible (par défaut, la cible est le paragraphe). |
-| backgroundOrigin | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}backgroundOrigin?value={paper-box \| border-box \| padding-box \| content-box} | Document, Paragraphe, Image, zone de texte, Section, En-tête, Pied, Tableau, Ligne, Colonne, Cellule, *Sous-menu* | Modifie l'origine de l'image d'arrière-plan de la cible (la cible par défaut est le paragraphe). Paper-box est disponible uniquement avec doc et section. |
-| backgroundPositionH | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}backgroundPositionH?value={left \| right \| center} | Document, Paragraphe, Image, zone de texte, Section, En-tête, Pied, Tableau, Ligne, Colonne, Cellule, *Sous-menu* | Modifie l'alignement horizontal de l'image d'arrière-plan de la cible (la cible par défaut est le paragraphe).
Ex: `paragraph/backgroundPositionH?value=left` |
-| backgroundPositionV | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}backgroundPositionV?value={top \| bottom \| center} | Document, Paragraphe, Image, zone de texte, Section, En-tête, Pied, Tableau, Ligne, Colonne, Cellule, *Sous-menu* | Modifie l'alignement vertical de l'image d'arrière-plan de la cible (la cible par défaut est le paragraphe).
Ex: `paragraph/backgroundPositionV?value=top` |
-| backgroundRepeat | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}backgroundRepeat?value={no-repeat \| repeat \| repeat-x \| repeat-y} | Document, Paragraphe, Image, zone de texte, Section, En-tête, Pied, Tableau, Ligne, Colonne, Cellule, *Sous-menu* | Modifie le mode de répétition de l'image d'arrière-plan de la cible (la cible par défaut est le paragraphe). |
-| backgroundSizeH | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}backgroundSizeH?value={ \| \| auto \| cover \| contain} | Document, Paragraphe, Image, zone de texte, Section, En-tête, Pied, Tableau, Ligne, Colonne, Cellule, *Sous-menu* | Modifie la largeur de l'image d'arrière-plan de la cible (la cible par défaut est le paragraphe).
Ex: `paragraph/backgroundSizeH?value=100%`, `section/backgroundSizeH?value=cover` |
-| backgroundSizeV | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}backgroundSizeV?value={ \| \| auto} | Document, Paragraphe, Image, zone de texte, Section, En-tête, Pied, Tableau, Ligne, Colonne, Cellule, *Sous-menu* | Modifie la hauteur de l'image d'arrière-plan de la cible (la cible par défaut est le paragraphe).
Ex: `paragraph/backgroundSizeV?value=50%`, `section/backgroundSizeV?value=40pt` |
-| bookmark | bookmark?index=\ | *Sous-menu* | Sélectionne le Nième signet.
Ex: *bookmark?index=2 // sélectionne le deuxième signet* |
-| borderCollapse | borderCollapse | Paragraphe | Fusionne les bordures de paragraphes et les marges intérieures (padding). |
-| borderColor | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}{inside \| outside/}{borderColor \| borderColorLeft \| borderColorRight \| borderColorTop \| borderColorBottom \| borderColorLeftRight \| borderColorTopBottom}?value=\ | Document,
Paragraphe,
Image,
zone de texte,
Section,
En-tête,
Pied,
Tableau,
Ligne,
Colonne,
Cellule,
*Sous-menu*,
*showDialog* | Modifie la couleur de la bordure de la cible (la cible par défaut est le paragraphe).
Ex: *paragraph/borderColorLeft?value=green* |
-| borderRadius | {doc \| paragraph \| image \| textBox \| section \| header \| footer/}borderRadius?value=\ | Document,
Paragraphe,
Image,
zone de texte,
Section,
En-tête,
Pied,
*Sous-menu* | Change le rayon pour les coins arrondis de la cible (par défaut la cible est le paragraphe).
Ex: *paragraph/borderRadius?value=4pt* |
-| borders | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}{inside \| outside/}borders | Document,
Paragraphe,
Image,
zone de texte,
Section,
En-tête,
Pied,
Table,
Ligne,
Colonne,
Cellule,
*Sous-menu* | Sous-menu par défaut pour les bordures de la cible. |
-| borderStyle | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}{inside \| outside/}{borderStyle \| borderStyleLeft \| borderStyleRight \| borderStyleTop \| borderStyleBottom \| borderStyleLeftRight \| borderStyleTopBottom}?value={none \| hidden \| dotted \| dashed \| solid \| double \| groove \| ridge \| inset \| outset} | Document,
Paragraphe,
Image,
zone de texte,
Section,
En-tête,
Pied,
Tableau,
Ligne,
Colonne,
Cellule,
*Sous-menu* | Modifie le style de la bordure de la cible (par défaut la cible est le paragraphe).
Ex: *paragraph/borderStyleLeft?value=double*
Ex: *outside/borderStyle?value=solid*
Ex: *inside/borderStyle?value=none* |
-| borderWidth | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}{inside \| outside/}{borderWidth \| borderWidthLeft \| borderWidthRight \| borderWidthTop \| borderWidthBottom \| borderWidthLeftRight \| borderWidthTopBottom}?value=\ | Document,
Paragraphe,
Image,
zone de texte,
Section,
En-tête,
Pied,
Tableau,
Ligne,
Colonne,
Cellule,
*Sous-menu* | Modifie la largeur de la bordure de la cible (par défaut la cible est le paragraphe).
Ex: *paragraph/borderWidthLeft?value=4pt* |
-| columnCount | {section/}columnCount?value={1<=number<=20} | Document,
Section,
*Sous-menu* | Nombre de colonnes dans le document et/ou la section courante (la cible par défaut est le document).
Ex: *section/columnCount?value=3* |
-| columnRuleColor | {section/}columnRuleColor?value={CSS color} | Document,
Section,
*Sous-menu*,
*showDialog* | Couleur de la ligne de séparation verticale entre les colonnes du document ou de la section.
Ex: *columnRuleColor?value="#FFFFFF"* |
-| columnRuleStyle | {section/}columnRuleStyle?value={none \| dotted \| dashed \| solid \| double \| groove \| ridge \| inset \| outset} | Document,
Section,
*Sous-menu* | Style de la ligne de séparation verticale entre les colonnes du document ou de la section.
Ex: *columnRuleStyle?value=solid* |
-| columnRuleWidth | {section/}columnRuleWidth?value={CSS length} | Document,
Section,
*Sous-menu* | Largeur de la ligne de séparation verticale entre les colonnes du document ou de la section.
Ex: *columnRuleWidth?value=2pt* |
-| columns | {section/}columns | Document,
Section,
*Sous-menu* | Pour les commandes de menu uniquement. Crée automatiquement un sous-menu **Colonnes** complet avec tous les sous-menus d'action de colonne (hormis *insertColumnBreak*). |
-| columnSpacing | {section/}columnSpacing?value={CSS length} | Document,
Section,
*Sous-menu* | Espacement entre deux colonnes dans le document et/ou la section courante.
Ex: *columnSpacing?value=1cm* |
-| deleteColumns | deleteColumns | Table | Supprime toutes les colonnes sélectionnées. |
-| deleteRows | deleteRows | Table | Supprime toutes les lignes sélectionnées. |
-| deleteStyleSheet | {paragraph \| image/}deleteStyleSheet?index={1<= number <= number of target style sheets} | Paragraphe,
Image,
*Sous-menu* | Supprime la Nième feuille de style parmi les feuilles de style stockées pour la cible sélectionnée (par défaut la cible est le paragraphe). Le nom de l'élément de menu est remplacé, au moment de l'exécution, par le nom de la feuille de style sur le point d'être supprimée. |
-| direction | direction?value={ltr \| rtl} | Paragraphe,
*Sous-menu* | Sens de l'écriture du paragraphe (ltr : left to right - rtl : right to left). |
-| displayFormulaAsSymbol | displayFormulaAsSymbol | Document | Affiche les références de formules sous la forme d'un symbole . Ne peut être utilisé que lorsque les formules sont affichées en tant que références. |
-| doc | doc | Document,
*Sous-menu* | Sous-menu par défaut pour la disposition du corps du document (attributs du mode inclus ou attributs par défaut des sections - mais pour la marge réservée au mode inclus seulement). |
-| dpi | dpi?value=\ | *Sous-menu* | Modifie le dpi de la vue courante (indépendant de l'attribut de document wk dpi utilisé en interne pour la conversion pixels <-> points).
Ex: *dpi?value=72* |
-| emptyDatasource | {table}/emptyDatasource?value={showDataRow \| hideDataRow \| showPlaceholderRow \| hideTable} | Table,
*Sous-menu* | Définit la manière dont la table est affichée lorsque sa source de données est vide. |
-| fontStyleWrite | fontStyleWrite | *Sous-menu* | Pour les commandes de menu uniquement. Affiche le sous-menu Style de police par défaut de 4D Write Pro. |
-| fontSubscript | fontSubscript | | Bascule l'attribut de police indice. |
-| fontSuperscript | fontSuperscript | | Bascule l'attribut de police exposant. |
-| footer | footer | *Sous-menu* | Affiche le sous-menu Pied de page. |
-| footer/remove | footer/remove | Pied | Supprime le pied de page sélectionné. |
-| formulaHighlight | formulaHighlight?value={values \| references \| always \| never} | Document, *Sous-menu* | Mode de surbrillance de formule pour le document. Peut être utilisé avec un menu déroulant ou un bouton. |
-| formulaHighlightColor | formulaHighlightColor?value= | Document, *Sous-menu*, *showDialog* | Couleur de surbrillance de la formule pour le document. |
-| formulaHighlightReferences | formulaHighlightReferences | Document | Bascule la surbrillance des références de formule. Peut être utilisé avec une case à cocher ou un élément de menu. |
-| formulaHighlightValues | formulaHighlightValues | Document | Active ou désactive la mise en surbrillance des valeurs de formule. Peut être utilisé avec une case à cocher ou un élément de menu. |
-| header | header | *Sous-menu* | Affiche le sous-menu En-tête. |
-| header/remove | header/remove | En-tête | Supprime l'en-tête sélectionné. |
-| height | {image \| textBox \| row}/height?value={ \| auto} | Image, zone de texte, Ligne, *Sous-menu* | Hauteur de la cible.
Ex : image/height?value=50pt.
Pour image/width, voir width.
Ex : row/height?value=12pt |
-| headerRowCount | {table}/headerRowCount | Tableau, *Sous-menu* | Définit le nombre de lignes d’en-tête dans un tableau (5 au maximum). |
-| htmlWYSIWIGEnabled | htmlWYSIWIGEnabled | Document | Bascule du mode html au mode wysiwyg. |
-| image | image | Image, *Sous-menu* | Affiche le sous-menu Image. |
-| image/displayMode | image/displayMode?value=scaledToFit \| truncated \| truncatedCentered \| proportional \| proportionalCentered \| replicated \| replicatedCentered | Image, *Sous-menu* | Définit le mode d'affichage des images ancrées et des images en ligne.
Ex : image/displayMode?value=scaledToFit |
-| image/verticalAlign | image/verticalAlign?value={top \| middle \| bottom \| baseline \| super \| sub} | Image, *Sous-menu* | Alignement vertical de l'image.
Ex: image/verticalAlign?value=super |
-| insertColumnBreak | insertColumnBreak | Paragraphe | Insère un saut de colonne dans la sélection. |
-| insertColumnToTheLeft | insertColumnToTheLeft | Table | Insère une colonne à gauche de la première colonne sélectionnée. |
-| insertColumnToTheRight | insertColumnToTheRight | Table | Insère une colonne à droite de la dernière colonne sélectionnée. |
-| insertContinuousSectionBreak | insertContinuousSectionBreak | Paragraphe | Insère un saut de section continu à la sélection. |
-| insertImage | insertImage | | Ouvre une boîte de dialogue de sélection d'image et insère l'image sélectionnée (le cas échéant) en tant que caractère dans la zone. |
-| insertPageBreak | insertPageBreak | Paragraphe | Insère un saut de page à l'endroit sélectionné. |
-| insertRowAbove | insertRowAbove | Table | Insère une ligne au-dessus de la ligne ou des lignes sélectionnée(s). |
-| insertRowBelow | insertRowBelow | Table | Insère une ligne en-dessous de la ligne ou des lignes sélectionnée(s). |
-| insertSectionBreak | insertSectionBreak | Paragraphe | Insère un saut de section à l'endroit sélectionné. |
-| insertSoftHyphen | insertSoftHyphen | | Insère un trait d'union au niveau du curseur. |
-| keepWithNext | keepWithNext | Paragraphe | Relie un paragraphe au suivant afin qu'ils ne puissent pas être séparés par des sauts de page ou de colonne automatiques.
Si cette action est appliquée au dernier paragraphe de la dernière cellule d'un tableau, la dernière ligne du tableau est reliée au paragraphe suivant. |
-| lineHeight | lineHeight?value={ \| } | Paragraphe, *Sous-menu* | Hauteur de ligne du paragraphe.
Ex: lineHeight?value=120% |
-| listStartNumber | listStartNumber?value={ (longint) \| auto} | Paragraphe, *Sous-menu* | Numéro de départ de la liste.
Ex: listStartNumber?value=10 |
-| listStyleImage | listStyleImage/showDialog | Paragraphe, *showDialog* | Ouvre un dialogue d'ouverture de fichier pour choisir une image à afficher en tant que puce pour une liste ; définit également un élément de liste sous forme de disque – style à utiliser si l'image n'est pas trouvée. |
-| listStyleType | listStyleType?value={none \| disc \| circle \| square \| hollow-square \| diamond \| club \| decimal \| decimal-leading-zero \| lower-latin \| lower-roman \| upper-latin \| upper-roman \| lower-greek \| decimal-greek \| armenian \| georgian \| hebrew \| hiragana \| katakana \| cjk-ideographic} | Paragraphe, *Sous-menu* | Type de style de liste de paragraphes. |
-| margin | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table}/{inside \| outside}/{margin \| marginLeft \| marginRight \| marginTop \| marginBottom \| marginLeftRight \| marginTopBottom}?value={ \| auto} | Document, Paragraphe, Image, zone de texte, Section, En-tête, Pied, Tableau, *Sous-menu* | Modifie la marge de la cible (la cible par défaut est le paragraphe).
Ex : `margin?value=4pt` – définit toutes les marges du paragraphe sur 4pt.
Ex : `outside/margin?value=4pt` – définit les marges extérieures du paragraphe sur 4pt.
Ex : `doc/marginLeft?value=1cm` – définit la marge gauche à 1cm pour le document, comme dans le mode intégré.
Ex : `section/marginLeft?value=1cm` – définit la marge gauche à 1cm pour les pages de la première section sélectionnée. |
-| merge | {paragraph/}merge cell/merge | Paragraphe, cellule | Utilisé avec les paragraphes : fusionne les paragraphes. Utilisé avec les cellules : fusionne les cellules sélectionnées. |
-| minHeight | {paragraph \| image}/minHeight?value= | Paragraphe, Image, *Sous-menu* | Hauteur minimum de la cible (la cible par défaut est le paragraphe).
Ex: paragraph/minHeight?value=50pt |
-| minWidth | {paragraph \| image}/minWidth?value= | Paragraphe, Image, *Sous-menu* | Largeur minimum de la cible (la cible par défaut est le paragraphe).
Ex: paragraph/minWidth?value=50pt |
-| moveToFront | moveToFront | Image | Place l'image au premier plan (non activée pour les images en ligne). |
-| moveToBack | moveToBack | Image | Place l'image à l'arrière-plan (non activée pour les images en ligne). |
-| newLineStyleSheet | newLineStyleSheet?index={1<=number<=nombre de feuilles de style paragraphe} \| newLineStyleSheet?value=auto | Paragraphe, *Sous-menu* | Les éléments du paragraphe sélectionné utiliseront la Nième feuille de style pour les nouveaux paragraphes créés par Retour Chariot ou lors d'un fractionnement de paragraphes. Si value=auto, les nouveaux paragraphes utiliseront la même feuille de style (fonctionnement par défaut).
(Le libellé de la ligne de menu est remplacé, à l'exécution, par le nom de la feuille de style.) |
-| padding | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| column \| row \| cell}/{inside \| outside}/{padding \| paddingLeft \| paddingRight \| paddingTop \| paddingBottom \| paddingLeftRight \| paddingTopBottom}?value= | Document, Paragraphe, Image, zone de texte, Section, En-tête, Pied, Ligne, Colonne, Cellule, *Sous-menu* | Modifie le padding de la cible (la cible par défaut est le paragraphe). |
-| pageMode | pageMode?value={embedded \| page \| draft} | *Sous-menu* | Change le mode d'affichage.
Ex: pageMode?value=page |
-| pageOrientation | {section}/pageOrientation?value={landscape \| portrait} | Section, *Sous-menu* | Modifie l'orientation de la page de la première section sélectionnée.
Si la section n'est pas spécifiée, l'orientation s'applique à toutes les sections.
Ex: pageOrientation?value=portrait // change l'orientation en Portrait pour tout le document.
Ex: section/pageOrientation?value=landscape // change l'orientation en Paysage pour la première section sélectionnée. |
-| pageSize | pageSize?index= | *Sous-menu* | Modifie la taille de la page du document. `` est la Nième taille de page dans la liste des tailles disponibles.
La liste contient les formats courants de l'imprimante, les formats ISO et les formats personnalisés définis par l'utilisateur. |
-| paragraph | paragraph | Paragraphe, *Sous-menu* | Sous-menu par défaut pour le paragraphe. |
-| print | print | Document | Imprime le document en mode Page avec les paramètres de vue courants de la zone 4D Write Pro qui a le focus. |
-| refreshImages | refreshImages | Image | Recharge les images du réseau pour les images avec URLs. |
-| removeSoftHyphens | removeSoftHyphens | | Supprime tous les traits d'union conditionnels de la sélection courante. Si la sélection est vide, supprime le trait d'union conditionnel avant ou après le curseur, le cas échéant. |
-| row/avoidPageBreakInside | row/avoidPageBreakInside | Tableau, Ligne | Autorise ou désactive les sauts de page à l'intérieur des lignes du tableau.
Cette action est désactivée si :
- la sélection courante ne contient pas de tableau
- le tableau n'autorise pas les sauts de page
- le tableau se trouve dans un en-tête ou un pied de page.
Note : si plusieurs tableaux sont sélectionnés et que certains n'autorisent pas les sauts de page, cette option sera activée mais ne s'appliquera qu'aux tableaux qui les autorisent. |
-| section | section | Section, *Sous-menu* | Sous-menu par défaut de disposition de la page pour la première section sélectionnée. |
-| section/differentFirstPage | section/differentFirstPage | Section | Active ou désactive une première page différente pour la section. |
-| section/differentLeftRightPages | section/differentLeftRightPages | Section | Active ou désactive des pages droites et gauches différentes pour la section. |
-| section/name/showDialog | section/name/showDialog | Section, *showDialog* | Affiche un dialogue permettant d'entrer le nom de la première section sélectionnée. |
-| section/reset | section/reset | Section | Réinitialise tous les attributs de la première section sélectionnée pour les remplacer par les valeurs par défaut :
- héritées du document pour l'arrière-plan, la bordure et les marges intérieures (même en mode inclus)
- 2,5 cm pour les marges de page.
Les propriétés de colonnes de la première section sélectionnée sont également réinitialisées (seules les propriétés par défaut sont appliquées). |
-| split | {paragraph}/split \| cell/split | Paragraphe, Cellule | Utilisé avec un paragraphe : fractionne le paragraphe.
Utilisé avec une cellule : fractionne les cellules sélectionnées (seules les cellules préalablement fusionnées peuvent être fractionnées). |
-| styleSheet | {paragraph \| image}/styleSheet?value={1<=number<=nombre de feuilles de style} | Paragraphe, Image, *Sous-menu*, *showDialog* | Applique la Nième feuille de style aux éléments sélectionnés de la cible.
Avec la boîte de dialogue, la nouvelle feuille de style utilise les attributs courants de la prem
-| tabDecimalSeparator | tabDecimalSeparator?value={point \| comma \| pointOrComma \| system} | Document, *Sous-menu* | Définit le caractère utilisé comme séparateur décimal par les tabulations décimales. |
-| tableAlign | tableAlign?value={left \| center \| right}
ou
table/tableAlign?value={left \| center \| right} | Tableau, *Sous-menu* | Indique l'alignement horizontal d'un tableau. |
-| table/avoidPageBreakInside | table/avoidPageBreakInside | Table | Active ou désactive les sauts de page dans les tableaux.
Désactivée si :
- la sélection courante ne contient pas de tableau
- le tableau se trouve dans un en-tête ou un pied de page |
-| table/bottomCarryOverRow | table/bottomCarryOverRow | Table | Bascule l'affichage des lignes à reporter en bas (voir *Carry-over rows*). |
-| textAlign | textAlign?value={left \| right \| center \| justify \| initial} | Paragraphe | Alignement du texte du paragraphe.
(`initial` utilise `right` pour la direction RTL ou `left` pour la direction LTR). |
-| textBox | textBox | *Sous-menu* | Sous-menu avec toutes les actions disponibles pour la zone de texte ciblée ou sélectionnée. |
-| textBox/remove | textBox/remove | Zone de texte | Supprime la zone de texte sélectionnée. |
-| textIndent | textIndent?value= (peut être négatif) | Paragraphe, *Sous-menu* | Indentation de la première ligne du paragraphe.
Ex: textIndent?value=2cm |
-| textLinethrough | textLinethrough | *Sous-menu* | Pour les commandes de menu uniquement. Sous-menu Texte barré (avec style et couleur). |
-| textLinethroughColor | textLinethroughColor?value={ \| currentColor} | *Sous-menu*, *showDialog* | Définit la couleur du texte barré.
Ex: textLinethroughColor?value=red |
-| textLinethroughStyle | textLinethroughStyle?value={none \| solid \| dotted \| dashed \| double \| semi-transparent \| word} | *Sous-menu* | Définit le style du texte barré.
Ex: textLinethroughStyle?value=dotted |
-| textShadow | textShadow | *Sous-menu* | Pour les commandes de menu uniquement. Sous-menu Texte ombré (avec couleur et décalage). |
-| textShadowColor | textShadowColor?value={ \| none} | *Sous-menu*, *showDialog* | Modifie la couleur de l'ombre du texte.
Ex: textShadowColor?value=green |
-| textShadowOffset | textShadowOffset?value= | *Sous-menu* | Définit le décalage de l'ombre (uniquement en points).
Ex: textShadowOffset?value=2pt |
-| textTransform | textTransform?value={none \| capitalize \| uppercase \| lowercase \| small-uppercase} | *Sous-menu* | Formate le texte.
Ex: textTransform?value=capitalize |
-| textUnderline | textUnderline | *Sous-menu* | Pour les commandes de menu uniquement. Sous-menu Texte souligné (avec style et couleur). |
-| textUnderlineColor | textUnderlineColor?value={ \| currentColor} | *Sous-menu*, *showDialog* | Définit la couleur du soulignement.
Ex: textUnderlineColor?value=red |
-| textUnderlineStyle | textUnderlineStyle?value={none \| solid \| dotted \| dashed \| double \| semi-transparent \| word} | *Sous-menu* | Définit le style du soulignement.
Ex: textUnderlineStyle?value=dotted |
-| updateStyleSheet | {paragraph \| image}/updateStyleSheet | Paragraphe, Image, *Sous-menu* | Met à jour la première feuille de style de la cible sélectionnée (la cible par défaut est le paragraphe). |
-| userUnit | userUnit?value={cm \| mm \| in \| pt} | *Sous-menu* | Modifie l'unité de mise en page du document (répercutée sur les règles). |
-| verticalAlign | {paragraph \| row \| column \| cell \| textBox}/verticalAlign?value={top \| middle \| bottom} | Paragraphe, Ligne, Colonne, Cellule, zone de texte, *Sous-menu* | Alignement vertical de la cible (par défaut le paragraphe).
Ex: verticalAlign?value=top
L'effet dépend de la valeur `minHeight` de la cible. |
-| view | view | *Sous-menu* | Pour les commandes de menu uniquement. Sous-menu par défaut pour les paramétrages de vue. |
-| visibleBackground | visibleBackground | Document | Affiche ou masque l'arrière-plan, les images ancrées et les zones de texte. |
-| visibleEmptyImages | visibleEmptyImages | Document | Affiche ou masque un rectangle noir par défaut pour les images qui ne peuvent pas être chargées ou calculées (images vides ou dans un format non supporté). |
-| visibleFooters | visibleFooters | Document | Affiche ou masque les pieds de page. |
-| visibleHeaders | visibleHeaders | Document | Affiche ou masque les en-têtes. |
-| visibleHiddenChars | visibleHiddenChars | Document | Affiche ou masque les caractères cachés. |
-| visibleHorizontalRuler | visibleHorizontalRuler | Document | Affiche ou masque la règle horizontale. |
-| visiblePageFrames | visiblePageFrames | Document | Affiche ou masque les cadres des pages. |
-| visibleVerticalRuler | visibleVerticalRuler | Document | Affiche ou masque la règle verticale (Mode Page uniquement). |
-| widowAndOrphanControlEnabled | widowAndOrphanControlEnabled | Paragraphe | Active ou désactive le contrôle des veuves et orphelines. |
-| width | {paragraph \| image \| textBox \| column}/width?value={ \| auto} | Paragraphe, Image, zone de texte, Colonne, *Sous-menu* | Largeur de la cible (par défaut le paragraphe).
La valeur `auto` n'est pas disponible pour les zones de texte (converties en 8 cm) et pour les colonnes.
Ex: image/width?value=50pt |
-| zoom | zoom?value={25% <= percentage <= 400%} | Document, *Sous-menu* | Modifie le zoom du document.
Ex: zoom?value=120% |
-
-
-### Autres actions
-
-De nombreuses autres actions standard proposées avec les formulaires 4D peuvent être utilisées dans les zones 4D Write Pro :
-
-* *Actions d'édition*, comme les actions Copier/Coller.
-* Actions sur la *Police*, telles que **fontBold** ou **fontSize**.
-* Actions sur les *Expressions dynamiques*, permettant de gérer l'insertion d'expressions.
-* Actions du *Correcteur orthographique*.
\ No newline at end of file
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/WritePro/user-legacy/standard-actions.md b/i18n/fr/docusaurus-plugin-content-docs/current/WritePro/user-legacy/standard-actions.md
new file mode 100644
index 00000000000000..15d39e1cc7f1ce
--- /dev/null
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/WritePro/user-legacy/standard-actions.md
@@ -0,0 +1,174 @@
+---
+id: standard-actions
+title: Actions standard
+displayed_sidebar: docs
+slug: /WritePro/standard-actions
+---
+
+
+L'interface utilisateur des zones 4D Write Pro peut être gérée grâce à un grand nombre d'**actions standard**. Les actions standard peuvent être assignées :
+
+* aux commandes de menu, disponibles via une **barre de menu** ou la commande [Pop up menu dynamique](../../commands/pop-up-menu-dynamique),
+* aux éléments de listes, disponibles via des pop-ups/listes déroulantes ou des pop-up menus hiérarchiques,
+* aux boutons, cases à cocher,
+* ou exécutées avec la commande [APPELER ACTION](../../commands/appeler-action).
+
+Lorsqu'elles sont assignées à des objets d'interface, les actions standard gèrent les activations/désactivations de l'objet en fonction du contexte. Pour plus d'informations, référez-vous à la section [Actions standard](#standard-actions).
+
+Deux catégories d'actions sont disponibles pour les zones 4D Write Pro :
+
+* des actions spécifiques à 4D Write Pro, qui ne peuvent être utilisées qu'avec les zones 4D Write Pro,
+* des *[Autres actions](#other-actions)* plus génériques de gestion des polices, expressions, du correcteur orthographique et des opérations d'édition, qui peuvent être utilisées avec les zones 4D Write Pro et les autres zones 4D. Ces actions sont détaillées dans la section [Actions standard](#standard-actions).
+
+### Actions 4D Write Pro
+
+Les actions standard ci-dessous sont disponibles pour les zones 4D Write Pro :
+
+**Notes :**
+
+* Les actions qui affichent un menu/une liste automatique peuvent uniquement être attachées aux commandes de menus ou aux objets pop-ups/liste déroulantes et pop-up menus hiérarchiques (voir *Sous-menu*).
+* Les cases à cocher et cases à cocher 3D doivent être associées à des actions de statut, telles que "section/differentFirstPage" ou "visibleHorizontalRuler". L'option "Trois états" est prise en charge avec les cases à cocher standard uniquement.
+* Un statut d'action de section est toujours égal au statut courant de la section sélectionnée (statut hérité si l'attribut est hérité de la section parente ou de l'attribut par défaut) car il doit refléter le statut de la section sélectionnée (le statut qui est actuellement appliqué à la section). Cependant, modifier un attribut de section avec une action standard surchargera uniquement l'attribut de la section sélectionnée.
+* *Sous-menu* : Lorsqu'elles sont utilisées sans paramètres et associées à une commande de menu, un objet pop-up/Liste déroulante ou pop-up menu hiérarchqiue, ces actions affichent un sous-menu automatique. Par exemple, si vous assignez l'action "backgroundColor" à une commande de menu, la sélection de cette commande de menu à l'exécution affichera automatiquement les commandes du sous-menu "couleur de fond". Si vous assignez l'action "zoom" à un pop-up menu hiérarchique, il contiendra automatiquement une liste de valeurs de zoom prédéfinies. A noter que ces actions ne peuvent pas être assignées à des boutons.
+* *showDialog* : Ajouter la chaîne "/showDialog**"** au nom de l'action permet d'afficher la boîte de dialogue standard associée à l'action. Par exemple, vous pouvez utiliser "paragraph/styleSheet/showDialog" pour ouvrir le dialogue permettant de saisir le nom d'une nouvelle feuille de style.
+
+| **Nom de l'action** | **Syntaxe** | **Disponible avec** | **Description** |
+|----------------------|-------------|----------------------|------------------|
+| anchorHorizontalAlign | {image \| textBox}/anchorHorizontalAlign?value={left | center | right} | Image,
zone de texte,
*Sous-menu* | Définit l'alignement horizontal de l'élément, relatif à **anchorOrigin** pour les images/zones de texte en page ou à la zone de format pour les images/zones de texte en mode inclus. Cette action réinitialise à 0 le décalage horizontal. (non activée pour les images en ligne). |
+| anchoring | {image \| textBox}/anchoring | *Sous-menu* | Sous-menu par défaut avec des actions de paramètres d'ancrage pour les images ou les zones de texte |
+| anchorLayout | image/anchorLayout?value={front \| behind | wrapTopBottom | wrapSquareLeft | wrapSquareRight | wrapSquareLargest | wrapSquare | inline}
textBox/anchorLayout?value={front | behind | wrapTopBottom | wrapSquareLeft | wrapSquareRight | wrapSquareLargest | wrapSquare} | Image,
zone de texte,
*Sous-menu* | Définit le type de position d'ancre pour une image ou une zone de texte. Peut être utilisée pour transformer une image en ligne en image ancrée, ou l'inverse.
Note : Si une image ancrée est transformée en image en ligne, elle est insérée au début du texte sélectionné.
La valeur " en ligne " n'est pas supportée pour les zones de texte.
|
+| anchorOrigin | {image \| textBox}/anchorOrigin?value={paper-box | header-box | footer-box} | Image,
zone de texte,
*Sous-menu* |
Définit la zone relative à la position absolue d'une image ancrée ou d'une zone de texte. Si l'élément est relative à la zone d'en-tête ou de pied (header-box/footer-box) qui n'est pas visible sur une page, l'image n'est pas affichée. Cette action remet à zéro les valeurs de décalage horizontal et vertical.
Mode Page uniquement, non activée pour les images en ligne.
|
+| anchorPage | {image \| textBox}/anchorPage?value={all | current | currentSubSection} | Image,
zone de texte,
*Sous-menu* |
Définit la ou les page(s) où l'image ou la zone de texte sélectionnée est affichée (non activée pour les images en ligne).
Mode page uniquement.
|
+| anchorSection | {image \| textBox}/anchorSection?value={all | current} | Image,
zone de texte,
*Sous-menu* |
Définit la ou les section(s) où l'image ou la zone de texte sélectionnée est affichée (non activée pour les images en ligne).
Mode page uniquement.
|
+| anchorVerticalAlign | {image \| textBox}/anchorVerticalAlign?value={top | center | bottom} | Image,
zone de texte,
*Sous-menu* |
Définit l'alignement vertical de l'image ou la zone de texte, relatif à **anchorOrigin** pour une image ou une zone texte en page, ou à la zone de format pour une image ou une zone texte en mode inclus. Cette action réinitialise à 0 le décalage vertical (non activée pour les images en ligne).
Note : Voir l'action "verticalAlign" pour l'alignement vertical à l'intérieur de la zone de texte.
|
+| avoidPageBreakInside | {paragraph/}avoidPageBreakInside | Paragraphe |
|
+| background | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}background | Document, Paragraphe, Image, zone de texte, Section, En-tête, Pied, Table, Ligne, Colonne, Cellule, *Sous-menu* | Pour les commandes de menu uniquement. Sous-menu par défaut pour tous les attributs de fond. |
+| backgroundClip | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}backgroundClip?value={paper-box \| border-box \| padding-box \| content-box} | Document, Paragraphe, Image, zone de texte, Section, En-tête, Pied, Tableau, Ligne, Colonne, Cellule, *Sous-menu* | Modifie la zone de découpe du fond de la cible (par défaut, la cible est le paragraphe). Paper-box est disponible uniquement avec doc et section. |
+| backgroundColor | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}backgroundColor?value={ \| transparent} | Document, Paragraphe, Image, zone de texte, Section, En-tête, Pied, Tableau, Ligne, Colonne, Cellule, *Sous-menu*, *showDialog* | Modifie l'arrière-plan de la cible. |
+| backgroundDisplayMode | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}backgroundDisplayMode?value=scaledToFit \| truncated \| truncatedCentered \| proportional \| proportionalCentered \| replicated \| replicatedCentered | Document, Paragraphe, Image, zone de texte, Section, En-tête, Pied, Tableau, Ligne, Colonne, Cellule, *Sous-menu* | Définit le mode d'affichage des images utilisées comme arrière-plan. |
+| backgroundImage | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}backgroundImage?value=none | Document, Paragraphe, Image, zone de texte, Section, En-tête, Pied, Tableau, Ligne, Colonne, Cellule, *Sous-menu*, *showDialog* | Efface l'image d'arrière-plan de la cible (par défaut, la cible est le paragraphe). |
+| backgroundOrigin | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}backgroundOrigin?value={paper-box \| border-box \| padding-box \| content-box} | Document, Paragraphe, Image, zone de texte, Section, En-tête, Pied, Tableau, Ligne, Colonne, Cellule, *Sous-menu* | Modifie l'origine de l'image d'arrière-plan de la cible (la cible par défaut est le paragraphe). Paper-box est disponible uniquement avec doc et section. |
+| backgroundPositionH | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}backgroundPositionH?value={left \| right \| center} | Document, Paragraphe, Image, zone de texte, Section, En-tête, Pied, Tableau, Ligne, Colonne, Cellule, *Sous-menu* | Modifie l'alignement horizontal de l'image d'arrière-plan de la cible (la cible par défaut est le paragraphe).
Ex: `paragraph/backgroundPositionH?value=left` |
+| backgroundPositionV | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}backgroundPositionV?value={top \| bottom \| center} | Document, Paragraphe, Image, zone de texte, Section, En-tête, Pied, Tableau, Ligne, Colonne, Cellule, *Sous-menu* | Modifie l'alignement vertical de l'image d'arrière-plan de la cible (la cible par défaut est le paragraphe).
Ex: `paragraph/backgroundPositionV?value=top` |
+| backgroundRepeat | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}backgroundRepeat?value={no-repeat \| repeat \| repeat-x \| repeat-y} | Document, Paragraphe, Image, zone de texte, Section, En-tête, Pied, Tableau, Ligne, Colonne, Cellule, *Sous-menu* | Modifie le mode de répétition de l'image d'arrière-plan de la cible (la cible par défaut est le paragraphe). |
+| backgroundSizeH | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}backgroundSizeH?value={ \| \| auto \| cover \| contain} | Document, Paragraphe, Image, zone de texte, Section, En-tête, Pied, Tableau, Ligne, Colonne, Cellule, *Sous-menu* | Modifie la largeur de l'image d'arrière-plan de la cible (la cible par défaut est le paragraphe).
Ex: `paragraph/backgroundSizeH?value=100%`, `section/backgroundSizeH?value=cover` |
+| backgroundSizeV | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}backgroundSizeV?value={ \| \| auto} | Document, Paragraphe, Image, zone de texte, Section, En-tête, Pied, Tableau, Ligne, Colonne, Cellule, *Sous-menu* | Modifie la hauteur de l'image d'arrière-plan de la cible (la cible par défaut est le paragraphe).
Ex: `paragraph/backgroundSizeV?value=50%`, `section/backgroundSizeV?value=40pt` |
+| bookmark | bookmark?index=\ | *Sous-menu* | Sélectionne le Nième signet.
Ex: *bookmark?index=2 // sélectionne le deuxième signet* |
+| borderCollapse | borderCollapse | Paragraphe | Fusionne les bordures de paragraphes et les marges intérieures (padding). |
+| borderColor | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}{inside \| outside/}{borderColor \| borderColorLeft \| borderColorRight \| borderColorTop \| borderColorBottom \| borderColorLeftRight \| borderColorTopBottom}?value=\ | Document,
Paragraphe,
Image,
zone de texte,
Section,
En-tête,
Pied,
Tableau,
Ligne,
Colonne,
Cellule,
*Sous-menu*,
*showDialog* | Modifie la couleur de la bordure de la cible (la cible par défaut est le paragraphe).
Ex: *paragraph/borderColorLeft?value=green* |
+| borderRadius | {doc \| paragraph \| image \| textBox \| section \| header \| footer/}borderRadius?value=\ | Document,
Paragraphe,
Image,
zone de texte,
Section,
En-tête,
Pied,
*Sous-menu* | Change le rayon pour les coins arrondis de la cible (par défaut la cible est le paragraphe).
Ex: *paragraph/borderRadius?value=4pt* |
+| borders | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}{inside \| outside/}borders | Document,
Paragraphe,
Image,
zone de texte,
Section,
En-tête,
Pied,
Table,
Ligne,
Colonne,
Cellule,
*Sous-menu* | Sous-menu par défaut pour les bordures de la cible. |
+| borderStyle | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}{inside \| outside/}{borderStyle \| borderStyleLeft \| borderStyleRight \| borderStyleTop \| borderStyleBottom \| borderStyleLeftRight \| borderStyleTopBottom}?value={none \| hidden \| dotted \| dashed \| solid \| double \| groove \| ridge \| inset \| outset} | Document,
Paragraphe,
Image,
zone de texte,
Section,
En-tête,
Pied,
Tableau,
Ligne,
Colonne,
Cellule,
*Sous-menu* | Modifie le style de la bordure de la cible (par défaut la cible est le paragraphe).
Ex: *paragraph/borderStyleLeft?value=double*
Ex: *outside/borderStyle?value=solid*
Ex: *inside/borderStyle?value=none* |
+| borderWidth | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}{inside \| outside/}{borderWidth \| borderWidthLeft \| borderWidthRight \| borderWidthTop \| borderWidthBottom \| borderWidthLeftRight \| borderWidthTopBottom}?value=\ | Document,
Paragraphe,
Image,
zone de texte,
Section,
En-tête,
Pied,
Tableau,
Ligne,
Colonne,
Cellule,
*Sous-menu* | Modifie la largeur de la bordure de la cible (par défaut la cible est le paragraphe).
Ex: *paragraph/borderWidthLeft?value=4pt* |
+| columnCount | {section/}columnCount?value={1<=number<=20} | Document,
Section,
*Sous-menu* | Nombre de colonnes dans le document et/ou la section courante (la cible par défaut est le document).
Ex: *section/columnCount?value=3* |
+| columnRuleColor | {section/}columnRuleColor?value={CSS color} | Document,
Section,
*Sous-menu*,
*showDialog* | Couleur de la ligne de séparation verticale entre les colonnes du document ou de la section.
Ex: *columnRuleColor?value="#FFFFFF"* |
+| columnRuleStyle | {section/}columnRuleStyle?value={none \| dotted \| dashed \| solid \| double \| groove \| ridge \| inset \| outset} | Document,
Section,
*Sous-menu* | Style de la ligne de séparation verticale entre les colonnes du document ou de la section.
Ex: *columnRuleStyle?value=solid* |
+| columnRuleWidth | {section/}columnRuleWidth?value={CSS length} | Document,
Section,
*Sous-menu* | Largeur de la ligne de séparation verticale entre les colonnes du document ou de la section.
Ex: *columnRuleWidth?value=2pt* |
+| columns | {section/}columns | Document,
Section,
*Sous-menu* | Pour les commandes de menu uniquement. Crée automatiquement un sous-menu **Colonnes** complet avec tous les sous-menus d'action de colonne (hormis *insertColumnBreak*). |
+| columnSpacing | {section/}columnSpacing?value={CSS length} | Document,
Section,
*Sous-menu* | Espacement entre deux colonnes dans le document et/ou la section courante.
Ex: *columnSpacing?value=1cm* |
+| deleteColumns | deleteColumns | Table | Supprime toutes les colonnes sélectionnées. |
+| deleteRows | deleteRows | Table | Supprime toutes les lignes sélectionnées. |
+| deleteStyleSheet | {paragraph \| image/}deleteStyleSheet?index={1<= number <= number of target style sheets} | Paragraphe,
Image,
*Sous-menu* | Supprime la Nième feuille de style parmi les feuilles de style stockées pour la cible sélectionnée (par défaut la cible est le paragraphe). Le nom de l'élément de menu est remplacé, au moment de l'exécution, par le nom de la feuille de style sur le point d'être supprimée. |
+| direction | direction?value={ltr \| rtl} | Paragraphe,
*Sous-menu* | Sens de l'écriture du paragraphe (ltr : left to right - rtl : right to left). |
+| displayFormulaAsSymbol | displayFormulaAsSymbol | Document | Affiche les références de formules sous la forme d'un symbole . Ne peut être utilisé que lorsque les formules sont affichées en tant que références. |
+| doc | doc | Document,
*Sous-menu* | Sous-menu par défaut pour la disposition du corps du document (attributs du mode inclus ou attributs par défaut des sections - mais pour la marge réservée au mode inclus seulement). |
+| dpi | dpi?value=\ | *Sous-menu* | Modifie le dpi de la vue courante (indépendant de l'attribut de document wk dpi utilisé en interne pour la conversion pixels <-> points).
Ex: *dpi?value=72* |
+| emptyDatasource | {table}/emptyDatasource?value={showDataRow \| hideDataRow \| showPlaceholderRow \| hideTable} | Table,
*Sous-menu* | Définit la manière dont la table est affichée lorsque sa source de données est vide. |
+| fontStyleWrite | fontStyleWrite | *Sous-menu* | Pour les commandes de menu uniquement. Affiche le sous-menu Style de police par défaut de 4D Write Pro. |
+| fontSubscript | fontSubscript | | Bascule l'attribut de police indice. |
+| fontSuperscript | fontSuperscript | | Bascule l'attribut de police exposant. |
+| footer | footer | *Sous-menu* | Affiche le sous-menu Pied de page. |
+| footer/remove | footer/remove | Pied | Supprime le pied de page sélectionné. |
+| formulaHighlight | formulaHighlight?value={values \| references \| always \| never} | Document, *Sous-menu* | Mode de surbrillance de formule pour le document. Peut être utilisé avec un menu déroulant ou un bouton. |
+| formulaHighlightColor | formulaHighlightColor?value= | Document, *Sous-menu*, *showDialog* | Couleur de surbrillance de la formule pour le document. |
+| formulaHighlightReferences | formulaHighlightReferences | Document | Bascule la surbrillance des références de formule. Peut être utilisé avec une case à cocher ou un élément de menu. |
+| formulaHighlightValues | formulaHighlightValues | Document | Active ou désactive la mise en surbrillance des valeurs de formule. Peut être utilisé avec une case à cocher ou un élément de menu. |
+| header | header | *Sous-menu* | Affiche le sous-menu En-tête. |
+| header/remove | header/remove | En-tête | Supprime l'en-tête sélectionné. |
+| height | {image \| textBox \| row}/height?value={ \| auto} | Image, zone de texte, Ligne, *Sous-menu* | Hauteur de la cible.
Ex : image/height?value=50pt.
Pour image/width, voir width.
Ex : row/height?value=12pt |
+| headerRowCount | {table}/headerRowCount | Tableau, *Sous-menu* | Définit le nombre de lignes d’en-tête dans un tableau (5 au maximum). |
+| htmlWYSIWIGEnabled | htmlWYSIWIGEnabled | Document | Bascule du mode html au mode wysiwyg. |
+| image | image | Image, *Sous-menu* | Affiche le sous-menu Image. |
+| image/displayMode | image/displayMode?value=scaledToFit \| truncated \| truncatedCentered \| proportional \| proportionalCentered \| replicated \| replicatedCentered | Image, *Sous-menu* | Définit le mode d'affichage des images ancrées et des images en ligne.
Ex : image/displayMode?value=scaledToFit |
+| image/verticalAlign | image/verticalAlign?value={top \| middle \| bottom \| baseline \| super \| sub} | Image, *Sous-menu* | Alignement vertical de l'image.
Ex: image/verticalAlign?value=super |
+| insertColumnBreak | insertColumnBreak | Paragraphe | Insère un saut de colonne dans la sélection. |
+| insertColumnToTheLeft | insertColumnToTheLeft | Table | Insère une colonne à gauche de la première colonne sélectionnée. |
+| insertColumnToTheRight | insertColumnToTheRight | Table | Insère une colonne à droite de la dernière colonne sélectionnée. |
+| insertContinuousSectionBreak | insertContinuousSectionBreak | Paragraphe | Insère un saut de section continu à la sélection. |
+| insertImage | insertImage | | Ouvre une boîte de dialogue de sélection d'image et insère l'image sélectionnée (le cas échéant) en tant que caractère dans la zone. |
+| insertPageBreak | insertPageBreak | Paragraphe | Insère un saut de page à l'endroit sélectionné. |
+| insertRowAbove | insertRowAbove | Table | Insère une ligne au-dessus de la ligne ou des lignes sélectionnée(s). |
+| insertRowBelow | insertRowBelow | Table | Insère une ligne en-dessous de la ligne ou des lignes sélectionnée(s). |
+| insertSectionBreak | insertSectionBreak | Paragraphe | Insère un saut de section à l'endroit sélectionné. |
+| insertSoftHyphen | insertSoftHyphen | | Insère un trait d'union au niveau du curseur. |
+| keepWithNext | keepWithNext | Paragraphe | Relie un paragraphe au suivant afin qu'ils ne puissent pas être séparés par des sauts de page ou de colonne automatiques.
Si cette action est appliquée au dernier paragraphe de la dernière cellule d'un tableau, la dernière ligne du tableau est reliée au paragraphe suivant. |
+| lineHeight | lineHeight?value={ \| } | Paragraphe, *Sous-menu* | Hauteur de ligne du paragraphe.
Ex: lineHeight?value=120% |
+| listStartNumber | listStartNumber?value={ (longint) \| auto} | Paragraphe, *Sous-menu* | Numéro de départ de la liste.
Ex: listStartNumber?value=10 |
+| listStyleImage | listStyleImage/showDialog | Paragraphe, *showDialog* | Ouvre un dialogue d'ouverture de fichier pour choisir une image à afficher en tant que puce pour une liste ; définit également un élément de liste sous forme de disque – style à utiliser si l'image n'est pas trouvée. |
+| listStyleType | listStyleType?value={none \| disc \| circle \| square \| hollow-square \| diamond \| club \| decimal \| decimal-leading-zero \| lower-latin \| lower-roman \| upper-latin \| upper-roman \| lower-greek \| decimal-greek \| armenian \| georgian \| hebrew \| hiragana \| katakana \| cjk-ideographic} | Paragraphe, *Sous-menu* | Type de style de liste de paragraphes. |
+| margin | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table}/{inside \| outside}/{margin \| marginLeft \| marginRight \| marginTop \| marginBottom \| marginLeftRight \| marginTopBottom}?value={ \| auto} | Document, Paragraphe, Image, zone de texte, Section, En-tête, Pied, Tableau, *Sous-menu* | Modifie la marge de la cible (la cible par défaut est le paragraphe).
Ex : `margin?value=4pt` – définit toutes les marges du paragraphe sur 4pt.
Ex : `outside/margin?value=4pt` – définit les marges extérieures du paragraphe sur 4pt.
Ex : `doc/marginLeft?value=1cm` – définit la marge gauche à 1cm pour le document, comme dans le mode intégré.
Ex : `section/marginLeft?value=1cm` – définit la marge gauche à 1cm pour les pages de la première section sélectionnée. |
+| merge | {paragraph/}merge cell/merge | Paragraphe, cellule | Utilisé avec les paragraphes : fusionne les paragraphes. Utilisé avec les cellules : fusionne les cellules sélectionnées. |
+| minHeight | {paragraph \| image}/minHeight?value= | Paragraphe, Image, *Sous-menu* | Hauteur minimum de la cible (la cible par défaut est le paragraphe).
Ex: paragraph/minHeight?value=50pt |
+| minWidth | {paragraph \| image}/minWidth?value= | Paragraphe, Image, *Sous-menu* | Largeur minimum de la cible (la cible par défaut est le paragraphe).
Ex: paragraph/minWidth?value=50pt |
+| moveToFront | moveToFront | Image | Place l'image au premier plan (non activée pour les images en ligne). |
+| moveToBack | moveToBack | Image | Place l'image à l'arrière-plan (non activée pour les images en ligne). |
+| newLineStyleSheet | newLineStyleSheet?index={1<=number<=nombre de feuilles de style paragraphe} \| newLineStyleSheet?value=auto | Paragraphe, *Sous-menu* | Les éléments du paragraphe sélectionné utiliseront la Nième feuille de style pour les nouveaux paragraphes créés par Retour Chariot ou lors d'un fractionnement de paragraphes. Si value=auto, les nouveaux paragraphes utiliseront la même feuille de style (fonctionnement par défaut).
(Le libellé de la ligne de menu est remplacé, à l'exécution, par le nom de la feuille de style.) |
+| padding | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| column \| row \| cell}/{inside \| outside}/{padding \| paddingLeft \| paddingRight \| paddingTop \| paddingBottom \| paddingLeftRight \| paddingTopBottom}?value= | Document, Paragraphe, Image, zone de texte, Section, En-tête, Pied, Ligne, Colonne, Cellule, *Sous-menu* | Modifie le padding de la cible (la cible par défaut est le paragraphe). |
+| pageMode | pageMode?value={embedded \| page \| draft} | *Sous-menu* | Change le mode d'affichage.
Ex: pageMode?value=page |
+| pageOrientation | {section}/pageOrientation?value={landscape \| portrait} | Section, *Sous-menu* | Modifie l'orientation de la page de la première section sélectionnée.
Si la section n'est pas spécifiée, l'orientation s'applique à toutes les sections.
Ex: pageOrientation?value=portrait // change l'orientation en Portrait pour tout le document.
Ex: section/pageOrientation?value=landscape // change l'orientation en Paysage pour la première section sélectionnée. |
+| pageSize | pageSize?index= | *Sous-menu* | Modifie la taille de la page du document. `` est la Nième taille de page dans la liste des tailles disponibles.
La liste contient les formats courants de l'imprimante, les formats ISO et les formats personnalisés définis par l'utilisateur. |
+| paragraph | paragraph | Paragraphe, *Sous-menu* | Sous-menu par défaut pour le paragraphe. |
+| print | print | Document | Imprime le document en mode Page avec les paramètres de vue courants de la zone 4D Write Pro qui a le focus. |
+| refreshImages | refreshImages | Image | Recharge les images du réseau pour les images avec URLs. |
+| removeSoftHyphens | removeSoftHyphens | | Supprime tous les traits d'union conditionnels de la sélection courante. Si la sélection est vide, supprime le trait d'union conditionnel avant ou après le curseur, le cas échéant. |
+| row/avoidPageBreakInside | row/avoidPageBreakInside | Tableau, Ligne | Autorise ou désactive les sauts de page à l'intérieur des lignes du tableau.
Cette action est désactivée si :
- la sélection courante ne contient pas de tableau
- le tableau n'autorise pas les sauts de page
- le tableau se trouve dans un en-tête ou un pied de page.
Note : si plusieurs tableaux sont sélectionnés et que certains n'autorisent pas les sauts de page, cette option sera activée mais ne s'appliquera qu'aux tableaux qui les autorisent. |
+| section | section | Section, *Sous-menu* | Sous-menu par défaut de disposition de la page pour la première section sélectionnée. |
+| section/differentFirstPage | section/differentFirstPage | Section | Active ou désactive une première page différente pour la section. |
+| section/differentLeftRightPages | section/differentLeftRightPages | Section | Active ou désactive des pages droites et gauches différentes pour la section. |
+| section/name/showDialog | section/name/showDialog | Section, *showDialog* | Affiche un dialogue permettant d'entrer le nom de la première section sélectionnée. |
+| section/reset | section/reset | Section | Réinitialise tous les attributs de la première section sélectionnée pour les remplacer par les valeurs par défaut :
- héritées du document pour l'arrière-plan, la bordure et les marges intérieures (même en mode inclus)
- 2,5 cm pour les marges de page.
Les propriétés de colonnes de la première section sélectionnée sont également réinitialisées (seules les propriétés par défaut sont appliquées). |
+| split | {paragraph}/split \| cell/split | Paragraphe, Cellule | Utilisé avec un paragraphe : fractionne le paragraphe.
Utilisé avec une cellule : fractionne les cellules sélectionnées (seules les cellules préalablement fusionnées peuvent être fractionnées). |
+| styleSheet | {paragraph \| image}/styleSheet?value={1<=number<=nombre de feuilles de style} | Paragraphe, Image, *Sous-menu*, *showDialog* | Applique la Nième feuille de style aux éléments sélectionnés de la cible.
Avec la boîte de dialogue, la nouvelle feuille de style utilise les attributs courants de la prem
+| tabDecimalSeparator | tabDecimalSeparator?value={point \| comma \| pointOrComma \| system} | Document, *Sous-menu* | Définit le caractère utilisé comme séparateur décimal par les tabulations décimales. |
+| tableAlign | tableAlign?value={left \| center \| right}
ou
table/tableAlign?value={left \| center \| right} | Tableau, *Sous-menu* | Indique l'alignement horizontal d'un tableau. |
+| table/avoidPageBreakInside | table/avoidPageBreakInside | Table | Active ou désactive les sauts de page dans les tableaux.
Désactivée si :
- la sélection courante ne contient pas de tableau
- le tableau se trouve dans un en-tête ou un pied de page |
+| table/bottomCarryOverRow | table/bottomCarryOverRow | Table | Bascule l'affichage des lignes à reporter en bas (voir *Carry-over rows*). |
+| textAlign | textAlign?value={left \| right \| center \| justify \| initial} | Paragraphe | Alignement du texte du paragraphe.
(`initial` utilise `right` pour la direction RTL ou `left` pour la direction LTR). |
+| textBox | textBox | *Sous-menu* | Sous-menu avec toutes les actions disponibles pour la zone de texte ciblée ou sélectionnée. |
+| textBox/remove | textBox/remove | Zone de texte | Supprime la zone de texte sélectionnée. |
+| textIndent | textIndent?value= (peut être négatif) | Paragraphe, *Sous-menu* | Indentation de la première ligne du paragraphe.
Ex: textIndent?value=2cm |
+| textLinethrough | textLinethrough | *Sous-menu* | Pour les commandes de menu uniquement. Sous-menu Texte barré (avec style et couleur). |
+| textLinethroughColor | textLinethroughColor?value={ \| currentColor} | *Sous-menu*, *showDialog* | Définit la couleur du texte barré.
Ex: textLinethroughColor?value=red |
+| textLinethroughStyle | textLinethroughStyle?value={none \| solid \| dotted \| dashed \| double \| semi-transparent \| word} | *Sous-menu* | Définit le style du texte barré.
Ex: textLinethroughStyle?value=dotted |
+| textShadow | textShadow | *Sous-menu* | Pour les commandes de menu uniquement. Sous-menu Texte ombré (avec couleur et décalage). |
+| textShadowColor | textShadowColor?value={ \| none} | *Sous-menu*, *showDialog* | Modifie la couleur de l'ombre du texte.
Ex: textShadowColor?value=green |
+| textShadowOffset | textShadowOffset?value= | *Sous-menu* | Définit le décalage de l'ombre (uniquement en points).
Ex: textShadowOffset?value=2pt |
+| textTransform | textTransform?value={none \| capitalize \| uppercase \| lowercase \| small-uppercase} | *Sous-menu* | Formate le texte.
Ex: textTransform?value=capitalize |
+| textUnderline | textUnderline | *Sous-menu* | Pour les commandes de menu uniquement. Sous-menu Texte souligné (avec style et couleur). |
+| textUnderlineColor | textUnderlineColor?value={ \| currentColor} | *Sous-menu*, *showDialog* | Définit la couleur du soulignement.
Ex: textUnderlineColor?value=red |
+| textUnderlineStyle | textUnderlineStyle?value={none \| solid \| dotted \| dashed \| double \| semi-transparent \| word} | *Sous-menu* | Définit le style du soulignement.
Ex: textUnderlineStyle?value=dotted |
+| updateStyleSheet | {paragraph \| image}/updateStyleSheet | Paragraphe, Image, *Sous-menu* | Met à jour la première feuille de style de la cible sélectionnée (la cible par défaut est le paragraphe). |
+| userUnit | userUnit?value={cm \| mm \| in \| pt} | *Sous-menu* | Modifie l'unité de mise en page du document (répercutée sur les règles). |
+| verticalAlign | {paragraph \| row \| column \| cell \| textBox}/verticalAlign?value={top \| middle \| bottom} | Paragraphe, Ligne, Colonne, Cellule, zone de texte, *Sous-menu* | Alignement vertical de la cible (par défaut le paragraphe).
Ex: verticalAlign?value=top
L'effet dépend de la valeur `minHeight` de la cible. |
+| view | view | *Sous-menu* | Pour les commandes de menu uniquement. Sous-menu par défaut pour les paramétrages de vue. |
+| visibleBackground | visibleBackground | Document | Affiche ou masque l'arrière-plan, les images ancrées et les zones de texte. |
+| visibleEmptyImages | visibleEmptyImages | Document | Affiche ou masque un rectangle noir par défaut pour les images qui ne peuvent pas être chargées ou calculées (images vides ou dans un format non supporté). |
+| visibleFooters | visibleFooters | Document | Affiche ou masque les pieds de page. |
+| visibleHeaders | visibleHeaders | Document | Affiche ou masque les en-têtes. |
+| visibleHiddenChars | visibleHiddenChars | Document | Affiche ou masque les caractères cachés. |
+| visibleHorizontalRuler | visibleHorizontalRuler | Document | Affiche ou masque la règle horizontale. |
+| visiblePageFrames | visiblePageFrames | Document | Affiche ou masque les cadres des pages. |
+| visibleVerticalRuler | visibleVerticalRuler | Document | Affiche ou masque la règle verticale (Mode Page uniquement). |
+| widowAndOrphanControlEnabled | widowAndOrphanControlEnabled | Paragraphe | Active ou désactive le contrôle des veuves et orphelines. |
+| width | {paragraph \| image \| textBox \| column}/width?value={ \| auto} | Paragraphe, Image, zone de texte, Colonne, *Sous-menu* | Largeur de la cible (par défaut le paragraphe).
La valeur `auto` n'est pas disponible pour les zones de texte (converties en 8 cm) et pour les colonnes.
Ex: image/width?value=50pt |
+| zoom | zoom?value={25% <= percentage <= 400%} | Document, *Sous-menu* | Modifie le zoom du document.
Ex: zoom?value=120% |
+
+
+### Autres actions
+
+De nombreuses autres actions standard proposées avec les formulaires 4D peuvent être utilisées dans les zones 4D Write Pro :
+
+* *Actions d'édition*, comme les actions Copier/Coller.
+* Actions sur la *Police*, telles que **fontBold** ou **fontSize**.
+* Actions sur les *Expressions dynamiques*, permettant de gérer l'insertion d'expressions.
+* Actions du *Correcteur orthographique*.
\ No newline at end of file
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/WritePro/user-legacy/using-a-4d-write-pro-area.md b/i18n/fr/docusaurus-plugin-content-docs/current/WritePro/user-legacy/using-a-4d-write-pro-area.md
index 7120168f047e1d..ea3471b1dab461 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/current/WritePro/user-legacy/using-a-4d-write-pro-area.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/WritePro/user-legacy/using-a-4d-write-pro-area.md
@@ -48,6 +48,8 @@ Vous pouvez contrôler les sauts de paragraphe automatiques à l'aide des foncti
Ces options peuvent être définies à l'aide du menu contextuel, ou des [attributs](../commands-legacy/4d-write-pro-attributes.md) (`wk avoid widows and orphans`, `wk page break inside paragraph`, ou des [actions standard](./defining-a-4d-write-pro-area.md#standard-actions) *widowAndOrphanControlEnabled* et *avoidPageBreakInsidev*).
+
+
## Fond
L'arrière-plan (le fond) des documents et des éléments de documents de 4D Write Pro (tableaux, paragraphes, sections, en-têtes/pieds de pages, etc.) peut être défini à l'aide des attributs suivants :
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/WritePro/user/user-new.md b/i18n/fr/docusaurus-plugin-content-docs/current/WritePro/user/user-new.md
new file mode 100644
index 00000000000000..09990ca4034c8f
--- /dev/null
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/WritePro/user/user-new.md
@@ -0,0 +1,34 @@
+---
+id: user-new
+title: user WP
+---
+
+to import
+
+
+
+## Lists
+
+4D Write Pro supports two main types of lists:
+
+* unordered lists: where list items are marked with bullets, custom bullets, or images used as markers.
+* ordered lists: where list items are marked with numbers or letters
+
+They can be created using:
+* the toolbar or sidebar of the [4D Write Pro interface](https://doc.4d.com/4Dv20/4D/20.2/Entry-areas.300-6750367.en.html#5865253)
+* the `listStyleType` or `listStyleImage` [standard actions](./standard-actions.md) ,
+* or [programmatically](../commands-legacy/4d-write-pro-attributes.md#lists) using [WP SET ATTRIBUTE](../commands/wp-set-attributes.md).
+
+When a list is created using a standard action (`listStyleType` or `listStyleImage`) or the toolbar/sidebar, 4D Write Pro automatically inserts a margin before the text so that the marker is positioned inside it. The value of the inserted margin corresponds to the offset of the default tab (`wk tab default`).
+
+
+
+When the list is created using [the WP SET ATTRIBUTE command](../commands-legacy/4d-write-pro-attributes.md#lists), no specific margin is managed, by default the marker is added at the left boundary of the paragraph. The developer can add a custom margin if necessary.
+
+:::info Related blog post
+
+[4D Write Pro – Adding a margin automatically when bullets are set using standard actions]()
+
+:::
+
+
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAI.md b/i18n/fr/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAI.md
index 4c7c9e0216982f..4e67f7e2e7bc9c 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAI.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAI.md
@@ -67,11 +67,13 @@ L'API donne accès à de multiples ressources qui permettent une interaction tra
| `images` | [OpenAIImagesAPI](OpenAIImagesAPI.md) | Accès à l'API Images. |
| `moderations` | [OpenAIModerationsAPI](OpenAIModerationsAPI.md) | Accès à l'API des modérations. |
| `embeddings` | [OpenAIEmbeddingsAPI](OpenAIEmbeddingsAPI.md) | Accès à l'API Embeddings (vectorisation). |
+| `files` | [OpenAIFilesAPI](OpenAIFilesAPI.md) | Accès à l'API Files. |
### Exemple d'utilisation
```4d
$client.chat.completions.create(...)
$client.images.generate(...)
+$client.files.create(...)
$client.model.lists(...)
```
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFile.md b/i18n/fr/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFile.md
new file mode 100644
index 00000000000000..b481930f8e4fe2
--- /dev/null
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFile.md
@@ -0,0 +1,29 @@
+---
+id: openaifile
+title: OpenAIFile
+---
+
+# OpenAIFile
+
+La classe `OpenAIFile` représente un objet fichier dans l'API OpenAI. Les fichiers peuvent être téléversés et utilisés à partir de différents points de terminaison, notamment les APIs Assistants, Fine-tuning, Batch et Vision.
+
+## Propriétés
+
+| Nom de propriété | Type | Description |
+| ---------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `id` | Text | L'identifiant du fichier, qui peut être référencé dans les points de terminaison de l'API. |
+| `bytes` | Integer | La taille du fichier en octets. |
+| `created_at` | Integer | L'horodatage Unix (en secondes) de la création du fichier. |
+| `expires_at` | Integer | L'horodatage Unix (en secondes) de la date d'expiration du fichier. |
+| `filename` | Text | Le nom du fichier. |
+| `object` | Text | Le type d'objet, qui est toujours "file". |
+| `purpose` | Text | L'objectif visé par le fichier. Valeurs prises en charge : `assistants`, `assistants_output`, `batch`, `batch_output`, `fine-tune`, `fine-tune-results`, `vision`, et `user_data`. |
+| `status` | Text | **Obsolète.** Le statut actuel du fichier, qui peut être `uploaded`, `processed`, ou `error`. |
+| `status_details` | Text | **Obsolète.** Pour des détails sur la raison de l'échec de la validation d'un fichier d'entraînement fine-tuning, voir le champ d'erreur sur `fine_tuning.job`. |
+
+## Voir également
+
+- [OpenAIFileResult](OpenAIFileResult.md)
+- [OpenAIFileListResult](OpenAIFileListResult.md)
+- [OpenAIFilesAPI](OpenAIFilesAPI.md)
+- [OpenAIFileParameters](OpenAIFileParameters.md)
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileDeleted.md b/i18n/fr/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileDeleted.md
new file mode 100644
index 00000000000000..628d66b953eefa
--- /dev/null
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileDeleted.md
@@ -0,0 +1,34 @@
+---
+id: openaifiledeleted
+title: OpenAIFileDeleted
+---
+
+# OpenAIFileDeleted
+
+La classe `OpenAIFileDeleted` représente le statut de suppression d'un fichier dans l'API OpenAI.
+
+## Propriétés
+
+| Nom de propriété | Type | Description |
+| ---------------- | ------- | -------------------------------------------------------------------------------------------------------------------- |
+| `id` | Text | L'identifiant du fichier supprimé (par exemple, "file-abc123"). |
+| `deleted` | Boolean | Indique si le fichier a été supprimé avec succès. `True` si la suppression a réussi. |
+| `object` | Text | Le type d'objet, qui est toujours "file". |
+
+## Exemple de réponse
+
+```json
+{
+ "id": "file-abc123",
+ "object": "file",
+ "deleted": true
+}
+```
+
+## Utilisé par
+
+- [OpenAIFileDeletedResult](OpenAIFileDeletedResult.md)
+
+## Voir également
+
+- [OpenAIFilesAPI](OpenAIFilesAPI.md)
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileDeletedResult.md b/i18n/fr/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileDeletedResult.md
new file mode 100644
index 00000000000000..d29dd1f4d6cc77
--- /dev/null
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileDeletedResult.md
@@ -0,0 +1,38 @@
+---
+id: openaifiledeletedresult
+title: OpenAIFileDeletedResult
+---
+
+# OpenAIFileDeletedResult
+
+La classe `OpenAIFileDeletedResult` contient le résultat d'une opération de suppression de fichier.
+
+## Hérite de
+
+[OpenAIResult](OpenAIResult.md)
+
+## Propriétés calculées
+
+| Propriété | Type | Description |
+| --------- | ----------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `deleted` | [OpenAIFileDeleted](OpenAIFileDeleted.md) | Renvoie le résultat de la suppression du fichier à partir de la réponse de l'API. Renvoie `Null` si la réponse ne contient pas de résultat valide. |
+
+## Exemple d'utilisation
+
+```4d
+// Supprimer un fichier
+var $fileId:= "file-abc123"
+var $result:=$client.files.delete($fileId; Null)
+var $deletionStatus:=$result.deleted
+
+If ($deletionStatus.deleted)
+ ALERT("File "+$deletionStatus.id+" was successfully deleted")
+Else
+ ALERT("Failed to delete file")
+End if
+```
+
+## Voir également
+
+- [OpenAIFilesAPI](OpenAIFilesAPI.md)
+- [OpenAIFileDeleted](OpenAIFileDeleted.md)
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileListParameters.md b/i18n/fr/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileListParameters.md
new file mode 100644
index 00000000000000..001ddaf03859a5
--- /dev/null
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileListParameters.md
@@ -0,0 +1,38 @@
+---
+id: openaifilelistparameters
+title: OpenAIFileListParameters
+---
+
+# OpenAIFileListParameters
+
+La classe `OpenAIFileListParameters` contient des paramètres pour lister les fichiers dans l'API OpenAI.
+
+## Hérite de
+
+[OpenAIParameters](OpenAIParameters.md)
+
+## Propriétés
+
+| Nom de propriété | Type | Obligatoire | Par défaut | Description |
+| ---------------- | ------- | ----------- | ---------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `after` | Text | Optionnel | - | Un curseur à utiliser pour la pagination. `after` est un ID d'objet qui définit votre place dans la liste. Par exemple, si vous faites une requête de liste et que vous recevez 100 objets se terminant par `obj_foo`, votre appel suivant peut inclure `after=obj_foo` afin de récupérer la page suivante de la liste. |
+| `limit` | Integer | Optionnel | 10000 | Limite du nombre d'objets à renvoyer. La limite peut être comprise entre 1 et 10 000, la valeur par défaut étant 10 000. |
+| `order` | Text | Optionnel | desc | Ordre de tri par l'horodatage `created_at` des objets. Utilisez `asc` pour l'ordre croissant et `desc` pour l'ordre décroissant. |
+| `purpose` | Text | Optionnel | - | Ne renvoie que les fichiers ayant l'objet indiqué. |
+
+## Exemple d'utilisation
+
+```4d
+// Récupère les 100 premiers fichiers avec l'objet "fine-tune"
+var $params:=cs.AIKit.OpenAIFileListParameters.new()
+$params.limit:=100
+$params.purpose:="fine-tune"
+$params.order:="desc"
+
+var $result:=$client.files.list($params)
+```
+
+## Voir également
+
+- [OpenAIFilesAPI](OpenAIFilesAPI.md)
+- [OpenAIFileListResult](OpenAIFileListResult.md)
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileListResult.md b/i18n/fr/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileListResult.md
new file mode 100644
index 00000000000000..755034a146a30e
--- /dev/null
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileListResult.md
@@ -0,0 +1,66 @@
+---
+id: openaifilelistresult
+title: OpenAIFileListResult
+---
+
+# OpenAIFileListResult
+
+La classe `OpenAIFileListResult` contient le résultat de la liste des fichiers de l'API OpenAI.
+
+## Hérite de
+
+[OpenAIResult](OpenAIResult.md)
+
+## Propriétés calculées
+
+| Propriété | Type | Description |
+| ---------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `files` | Collection | Renvoie une collection d'objets [OpenAIFile](OpenAIFile.md) depuis la réponse de l'API, ou une collection vide si aucun fichier n'est trouvé. |
+| `first_id` | Text | Renvoie l'ID du premier fichier de la liste, ou une chaîne vide s'il n'est pas disponible. |
+| `last_id` | Text | Renvoie l'ID du dernier fichier de la liste, ou une chaîne vide s'il n'est pas disponible. |
+| `has_more` | Boolean | Indique s'il y a d'autres fichiers au-delà de cette page. `True` s'il y a plus de fichiers à récupérer, `False` sinon. |
+
+## Exemple d'utilisation
+
+### Utilisation de base
+
+```4d
+var $params:=cs.AIKit.OpenAIFileListParameters.new()
+$params.purpose:="assistants"
+$params.limit:=50
+
+var $result:=$client.files.list($params)
+var $files:=$result.files
+
+For each ($file; $files)
+ // Traiter chaque objet OpenAIFile
+ // $file.filename -> "salesOverview.pdf"
+ // $file.bytes -> 175
+ // $file.purpose -> "assistants"
+End for each
+```
+
+### Exemple de pagination
+
+```4d
+var $params:=cs.AIKit.OpenAIFileListParameters.new()
+$params.limit:=100
+
+var $result:=$client.files.list($params)
+var $allFiles:=$allFiles.combine($result.files)
+
+// Continuer de récupérer des fichiers tant qu'il y en a
+While ($result.has_more)
+ $params.after:=$result.last_id
+ $result:=$client.files.list($params)
+ $allFiles:=$allFiles.combine($result.files)
+End while
+
+// $allFiles contient maintenant tous les fichiers de l'organisation
+```
+
+## Voir également
+
+- [OpenAIFilesAPI](OpenAIFilesAPI.md)
+- [OpenAIFile](OpenAIFile.md)
+- [OpenAIFileListParameters](OpenAIFileListParameters.md)
\ No newline at end of file
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileParameters.md b/i18n/fr/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileParameters.md
new file mode 100644
index 00000000000000..50bf1895c0f8a6
--- /dev/null
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileParameters.md
@@ -0,0 +1,43 @@
+---
+id: openaifileparameters
+title: OpenAIFileParameters
+---
+
+# OpenAIFileParameters
+
+La classe `OpenAIFileParameters` gère les paramètres des opérations de téléversement de fichiers.
+
+## Hérite de
+
+[OpenAIParameters](OpenAIParameters.md)
+
+## Propriétés
+
+| Nom de propriété | Type | Obligatoire | Description |
+| ---------------- | ------ | ----------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `expires_after` | Object | Optionnel | La politique d'expiration d'un fichier. Par défaut, les fichiers avec `purpose=batch` expirent après 30 jours et tous les autres fichiers sont conservés jusqu'à ce qu'ils soient supprimés manuellement. |
+
+### Structure de l'objet `expires_after`
+
+L'objet `expires_after` contient les propriétés suivantes :
+
+| Nom de propriété | Type | Description |
+| ---------------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `anchor` | Text | Horodatage de référence à partir duquel la politique d’expiration s’applique. Références prises en charge : `created_at`. |
+| `seconds` | Integer | Délai en secondes après l'horodatage de référence avant que le fichier n’expire. Doit être compris entre 3600 (1 heure) et 2592000 (30 jours). |
+
+## Exemple d'utilisation
+
+```4d
+var $params:=cs.AIKit.OpenAIFileParameters.new()
+
+// Fixe l'expiration après 7 jours
+$params.expires_after:={}
+$params.expires_after.anchor:="created_at"
+$params.expires_after.seconds:=604800 // 7 jours
+```
+
+## Voir également
+
+- [OpenAIFilesAPI](OpenAIFilesAPI.md)
+- [OpenAIFileResult](OpenAIFileResult.md)
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileResult.md b/i18n/fr/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileResult.md
new file mode 100644
index 00000000000000..7b2ddaf5519d5b
--- /dev/null
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileResult.md
@@ -0,0 +1,36 @@
+---
+id: openaifileresult
+title: OpenAIFileResult
+---
+
+# OpenAIFileResult
+
+La classe `OpenAIFileResult` contient le résultat d'une opération de fichier (upload ou retrieve).
+
+## Hérite de
+
+[OpenAIResult](OpenAIResult.md)
+
+## Propriétés calculées
+
+| Propriété | Type | Description |
+| --------- | --------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `file` | [OpenAIFile](OpenAIFile.md) | Renvoie l'objet fichier à partir de la réponse de l'API. Renvoie `Null` si la réponse ne contient pas de fichier valide. |
+
+## Exemple d'utilisation
+
+```4d
+// Téléversement d'un fichier
+var $file:=File("/RESOURCES/training-data.jsonl")
+
+var $result:=$client.files.create($file; "user_data")
+var $uploadedFile:=$result.file
+
+// Récupération des informations du fichier
+var $retrieveResult:=$client.files.retrieve($uploadedFile.id)
+```
+
+## Voir également
+
+- [OpenAIFilesAPI](OpenAIFilesAPI.md)
+- [OpenAIFile](OpenAIFile.md)
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFilesAPI.md b/i18n/fr/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFilesAPI.md
new file mode 100644
index 00000000000000..9867c6fd6556e4
--- /dev/null
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFilesAPI.md
@@ -0,0 +1,204 @@
+---
+id: openaifilesapi
+title: OpenAIFilesAPI
+---
+
+# OpenAIFilesAPI
+
+La classe `OpenAIFilesAPI` fournit des fonctionnalités pour gérer les fichiers en utilisant l'API d'OpenAI. Les fichiers peuvent être téléversés et utilisés à partir de différents points de terminaison, y compris [Fine-tuning](https://platform.openai.com/docs/api-reference/fine-tuning), traitement [Batch](https://platform.openai.com/docs/api-reference/batch) et Vision.
+
+> **Note:** Cette API est uniquement compatible avec OpenAI. Les autres fournisseurs listés dans la page [fournisseurs compatibles](../compatible-openai.md) ne prennent pas en charge les opérations de gestion de fichiers.
+
+Référence API :
+
+## Limites de taille des fichiers
+
+- **Fichiers individuels :** jusqu'à 512 Mo par fichier
+- **Total de l'organisation :** jusqu'à 1 To (taille cumulée de tous les fichiers téléversés par votre [organization](https://platform.openai.com/docs/guides/production-best-practices/setting-up-your-organization))
+
+## Fonctions
+
+### create()
+
+**create**(*file* : 4D.File | 4D.Blob; *purpose* : Text; *parameters* : cs.OpenAIFileParameters) : cs.OpenAIFileResult
+
+Téléverser un fichier qui peut être utilisé par différents points de terminaison (*endpoints*).
+
+**Endpoint:** `POST https://api.openai.com/v1/files`
+
+| Paramètres | Type | Description |
+| ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ |
+| `file` | [4D.File](https://developer.4d.com/docs/API/FileClass) ou [4D.Blob](https://developer.4d.com/docs/API/BlobClass) | L'objet Fichier ou Blob (et non nom du fichier) à téléverser. |
+| `purpose` | Text | **Obligatoire.** L'objectif visé du fichier téléversé. |
+| `parameters` | [OpenAIFileParameters](OpenAIFileParameters.md) | Paramètres optionnels incluant la politique d'expiration. |
+| Résultat | [OpenAIFileResult](OpenAIFileResult.md) | Le résultat du fichier |
+
+**Erreur:** Génère une erreur si `file` n'est pas un 4D.File ou un 4D.Blob, ou si `purpose` est vide.
+
+#### Objectifs pris en charge
+
+- `assistants` : Utilisé dans l'API Assistants (⚠️ [déprécié by OpenAI](https://platform.openai.com/docs/assistants/whats-new))
+- `batch` : Utilisé dans l'[API Batch](https://platform.openai.com/docs/api-reference/batch) (expire après 30 jours par défaut)
+- `fine-tune` : Utilisé pour le [réglage fin](https://platform.openai.com/docs/api-reference/fine-tuning)
+- `vision` : Images utilisées pour le réglage fin de vision
+- `user_data` : Type de fichier flexible pour n'importe quel usage
+- `evals` : Utilisé pour les ensembles de données d'évaluation
+
+#### Formats de fichiers requis
+
+- **API Fine-tuning API :** Ne prend en charge que les fichiers `.jsonl` avec des formats spécifiques requis
+- **API Batch :** Ne prend en charge que les fichiers `.jsonl` jusqu'à 200 Mo avec un format spécifique requis
+- **API Assistants :** Prend en charge des types de fichiers spécifiques (voir le guide Assistants Tools)
+- **API de complétions de Chat :** Seuls les PDF sont pris en charge
+
+#### Exemple synchrone
+
+```4d
+var $file:=File("/RESOURCES/training-data.jsonl")
+
+var $params:=cs.AIKit.OpenAIFileParameters.new()
+$params.expires_after:={}
+$params.expires_after.anchor:="created_at"
+$params.expires_after.seconds:=2592000 // 30 jours
+
+var $result:=$client.files.create($file; "fine-tune"; $params)
+
+If ($result.success)
+ var $uploadedFile:=$result.file
+ // $uploadedFile.id -> "file-abc123"
+ // $uploadedFile.filename -> "training-data.jsonl"
+ // $uploadedFile.bytes -> 120000
+End if
+```
+
+#### Exemple asynchrone
+
+Étant donné que les téléversements de fichiers peuvent être des opérations longues (en particulier pour les fichiers volumineux jusqu'à 512 Mo), il est recommandé d'utiliser des appels asynchrones pour éviter de bloquer votre application. Voir [Appels asynchrones](../asynchronous-call.md) pour plus de détails.
+
+```4d
+var $file:=File("/RESOURCES/large-training-data.jsonl")
+
+var $params:=cs.AIKit.OpenAIFileParameters.new()
+$params.onTerminate:=Formula(MyFileUploadCallback($1))
+
+// Cet appel retourne immédiatement sans blocage
+$client.files.create($file; "fine-tune" ; $params)
+```
+
+La fonction de rappel reçoit un [OpenAIFileResult](OpenAIFileResult.md) :
+
+```4d
+// MyFileUploadCallback
+#DECLARE($result: cs.AIKit.OpenAIFileResult)
+
+If ($result.success)
+ var $uploadedFile:=$result.file
+
+ ALERT("File uploaded successfully : "+$uploadedFile.filename)
+ // Stocker l'ID du fichier pour une utilisation ultérieure
+ Form.uploadedFileId:=$uploadedFile.id
+Else
+ ALERT("Upload failed : "+Formula(JSON Stringify($result.errors)))
+End if
+```
+
+### retrieve()
+
+**retrieve**(*fileId* : Text; *parameters* : cs.OpenAIParameters) : cs.OpenAIFileResult
+
+Retourne des informations sur un fichier spécifique.
+
+**Endpoint:** `GET https://api.openai.com/v1/files/{file_id}`
+
+| Paramètres | Type | Description |
+| ------------ | --------------------------------------- | ----------------------------------------------------------------------------- |
+| `fileId` | Text | **Obligatoire.** L'ID du fichier à récupérer. |
+| `parameters` | [OpenAIParameters](OpenAIParameters.md) | Paramètres optionnels pour la requête. |
+| Résultat | [OpenAIFileResult](OpenAIFileResult.md) | Le résultat du fichier |
+
+**Erreur:** Génère une erreur si `fileId` est vide.
+
+#### Exemple
+
+```4d
+var $result:=$client.files.retrieve("file-abc123")
+
+If ($result.success)
+ var $file:=$result.file
+ // $file.filename -> "mydata.jsonl"
+ // $file.bytes -> 120000
+ // $file.purpose -> "fine-tune"
+End if
+```
+
+### list()
+
+**list**(*parameters* : cs.OpenAIFileListParameters) : cs.OpenAIFileListResult
+
+Renvoie une liste de fichiers appartenant à l'organisation de l'utilisateur.
+
+**Endpoint:** `GET https://api.openai.com/v1/files`
+
+| Paramètres | Type | Description |
+| ------------ | ------------------------------------------------------- | ------------------------------------------------------------------------ |
+| `parameters` | [OpenAIFileListParameters](OpenAIFileListParameters.md) | Paramètres optionnels pour le filtrage et la pagination. |
+| Résultat | [OpenAIFileListResult](OpenAIFileListResult.md) | Liste des fichiers |
+
+#### Exemple
+
+```4d
+var $params:=cs.AIKit.OpenAIFileListParameters.new()
+$params.purpose:="assistants"
+$params.limit:=50
+$params.order:="desc"
+
+var $result:=$client.files.list($params)
+
+If ($result.success)
+ var $files:=$result.files
+ // $files.length -> 2
+
+ For each ($file; $files)
+ // $file.filename -> "salesOverview.pdf", "puppy.jsonl", etc.
+ End for each
+End if
+```
+
+### delete()
+
+**delete**(*fileId* : Text; *parameters* : cs.OpenAIParameters) : cs.OpenAIFileDeletedResult
+
+Supprime un fichier.
+
+**Endpoint:** `DELETE https://api.openai.com/v1/files/{file_id}`
+
+| Paramètres | Type | Description |
+| ------------ | ----------------------------------------------------- | ----------------------------------------------------------------------------- |
+| `fileId` | Text | **Obligatoire.** L'ID du fichier à supprimer. |
+| `parameters` | [OpenAIParameters](OpenAIParameters.md) | Paramètres optionnels pour la requête. |
+| Résultat | [OpenAIFileDeletedResult](OpenAIFileDeletedResult.md) | Le résultat de la suppression du fichier |
+
+**Erreur:** Génère une erreur si `fileId` est vide.
+
+#### Exemple
+
+```4d
+var $result:=$client.files.delete("file-abc123")
+
+If ($result.success)
+ var $status:=$result.deleted
+
+ If ($status.deleted)
+ ALERT("File deleted successfully")
+ End if
+End if
+```
+
+## Voir également
+
+- [OpenAIFile](OpenAIFile.md)
+- [OpenAIFileParameters](OpenAIFileParameters.md)
+- [OpenAIFileListParameters](OpenAIFileListParameters.md)
+- [OpenAIFileResult](OpenAIFileResult.md)
+- [OpenAIFileListResult](OpenAIFileListResult.md)
+- [OpenAIFileDeletedResult](OpenAIFileDeletedResult.md)
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIMessage.md b/i18n/fr/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIMessage.md
index 360f1c425489f5..97361744d394d7 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIMessage.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIMessage.md
@@ -36,18 +36,52 @@ La classe `OpenAIMessage` représente un message structuré contenant un rôle,
Ajoute une URL d'image au contenu du message.
+### addFileId()
+
+**addFileId**(*fileId* : Text)
+
+| Paramètres | Type | Description |
+| ---------- | ---- | ----------------------------------------------------- |
+| *fileId* | Text | L'ID du fichier à ajouter au message. |
+
+Ajoute une référence de fichier au contenu du message. Si le contenu est actuellement du texte, il sera converti en un format de collection.
+
## Exemple d'utilisation
-### Créer un message simple et joindre une image
+### Message texte de base
```4d
// Créer une instance d'OpenAIMessage
-var $message:=cs.AIKit.OpenAIMessage({role : "user" ; content : "Hello !"})
+var $message:=cs.AIKit.OpenAIMessage.new({role : "user" ; content : "Hello !"})
+```
+
+### Ajout d'images
-// Ajouter une image URL avec des détails
+```4d
+var $message:=cs.AIKit.OpenAIMessage.new({role : "user" ; content : "Please analyze this image :"})
+
+// Ajouter une URL d'image avec des détails
$message.addImageURL("http://example.com/image.jpg" ; "high")
```
+### Ajout de fichier
+
+```4d
+// Téléverser un fichier avec l'objectif user_data
+var $file:=File("/RESOURCES/document.pdf")
+var $uploadResult:=$client.files.create($file; "user_data")
+
+If ($uploadResult.success)
+ var $uploadedFile:=$uploadResult.file
+
+ // Créer un message et joindre le fichier en utilisant son ID
+ var $message:=cs.AIKit.OpenAIMessage.new({role : "user" ; content : "Please analyze this document :"})
+ $message.addFileId($uploadedFile.id)
+
+ // $message.content -> [{type : "text" ; text : "Please analyze this document :"} ; {type : "file" ; file_id : "file-abc123"}]
+End if
+```
+
### Répondre à un message d'appel d'outil
Lorsqu'un assistant doit utiliser des fonctions externes, il génère un message avec `tool_calls` pour demander l'exécution de la fonction.
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/aikit/overview.md b/i18n/fr/docusaurus-plugin-content-docs/current/aikit/overview.md
index 27f37b8f05b508..12961ff2dc0d11 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/current/aikit/overview.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/aikit/overview.md
@@ -103,6 +103,42 @@ Obtenir une information de modèle par id
var $model:=$client.models.retrieve("a model id").model
```
+#### Fichiers
+
+https://platform.openai.com/docs/api-reference/files
+
+Téléverser un fichier pour l'utiliser avec d'autres points de terminaison (*endpoints*)
+
+```4d
+var $file:=File("/path/to/your/file.jsonl")
+var $result:=$client.files.create($file; "fine-tune")
+var $fileId:=$result.file.id
+```
+
+Lister tous les fichiers
+
+```4d
+var $files:=$client.files.list().files
+```
+
+Récupérer les informations du fichier
+
+```4d
+var $fileInfo:=$client.files.retrieve($fileId).file
+```
+
+Supprimer un fichier
+
+```4d
+var $deleteResult:=$client.files.delete($fileId)
+```
+
+:::tip Article(s) de blog sur le sujet
+
+[Transformer des documents statiques en connaissances exploitables avec 4D AIKit](https://blog.4d.com/transform-static-documents-into-actionable-knowledge-with-4d-aikit).
+
+:::
+
#### Modérations
https://platform.openai.com/docs/api-reference/moderations
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/assets/en/API/webformClass-pic1.png b/i18n/fr/docusaurus-plugin-content-docs/current/assets/en/API/webformClass-pic1.png
new file mode 100644
index 00000000000000..5c3de142c5af11
Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/current/assets/en/API/webformClass-pic1.png differ
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/assets/en/API/webformClass-pic2.png b/i18n/fr/docusaurus-plugin-content-docs/current/assets/en/API/webformClass-pic2.png
new file mode 100644
index 00000000000000..7f1ec3a19a8764
Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/current/assets/en/API/webformClass-pic2.png differ
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/assets/en/API/webformClass-pic3.png b/i18n/fr/docusaurus-plugin-content-docs/current/assets/en/API/webformClass-pic3.png
new file mode 100644
index 00000000000000..9c128642916f95
Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/current/assets/en/API/webformClass-pic3.png differ
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/assets/en/Project/find-components-results.png b/i18n/fr/docusaurus-plugin-content-docs/current/assets/en/Project/find-components-results.png
new file mode 100644
index 00000000000000..96a5080c02477c
Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/current/assets/en/Project/find-components-results.png differ
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/assets/en/Project/find-components.png b/i18n/fr/docusaurus-plugin-content-docs/current/assets/en/Project/find-components.png
new file mode 100644
index 00000000000000..0b42697051581c
Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/current/assets/en/Project/find-components.png differ
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/assets/en/Project/find-in-design-expanded.png b/i18n/fr/docusaurus-plugin-content-docs/current/assets/en/Project/find-in-design-expanded.png
new file mode 100644
index 00000000000000..9cc45790ffc92d
Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/current/assets/en/Project/find-in-design-expanded.png differ
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/assets/en/Project/find-in-design.png b/i18n/fr/docusaurus-plugin-content-docs/current/assets/en/Project/find-in-design.png
new file mode 100644
index 00000000000000..daf7ed8279c6d7
Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/current/assets/en/Project/find-in-design.png differ
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/assets/en/Project/rename-dial.png b/i18n/fr/docusaurus-plugin-content-docs/current/assets/en/Project/rename-dial.png
new file mode 100644
index 00000000000000..441f7c8c38a0b1
Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/current/assets/en/Project/rename-dial.png differ
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/assets/en/Project/rename.png b/i18n/fr/docusaurus-plugin-content-docs/current/assets/en/Project/rename.png
new file mode 100644
index 00000000000000..7c62a165255313
Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/current/assets/en/Project/rename.png differ
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/assets/en/Project/replace-content.png b/i18n/fr/docusaurus-plugin-content-docs/current/assets/en/Project/replace-content.png
new file mode 100644
index 00000000000000..cf973c42e8bce2
Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/current/assets/en/Project/replace-content.png differ
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/assets/en/Project/result-window-menu.png b/i18n/fr/docusaurus-plugin-content-docs/current/assets/en/Project/result-window-menu.png
new file mode 100644
index 00000000000000..efc22783c719a5
Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/current/assets/en/Project/result-window-menu.png differ
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/assets/en/Project/result-window-re.png b/i18n/fr/docusaurus-plugin-content-docs/current/assets/en/Project/result-window-re.png
new file mode 100644
index 00000000000000..e2754097d149a7
Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/current/assets/en/Project/result-window-re.png differ
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/assets/en/Project/result-window.png b/i18n/fr/docusaurus-plugin-content-docs/current/assets/en/Project/result-window.png
new file mode 100644
index 00000000000000..4c6aab5bbe6c63
Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/current/assets/en/Project/result-window.png differ
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/assets/en/Project/search-icon.png b/i18n/fr/docusaurus-plugin-content-docs/current/assets/en/Project/search-icon.png
new file mode 100644
index 00000000000000..900fefa1a484d2
Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/current/assets/en/Project/search-icon.png differ
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/assets/en/WritePro/margin-bullet.png b/i18n/fr/docusaurus-plugin-content-docs/current/assets/en/WritePro/margin-bullet.png
new file mode 100644
index 00000000000000..52737ade4cdf7c
Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/current/assets/en/WritePro/margin-bullet.png differ
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/assets/en/WritePro/margin-bullets.png b/i18n/fr/docusaurus-plugin-content-docs/current/assets/en/WritePro/margin-bullets.png
new file mode 100644
index 00000000000000..de7143eb050741
Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/current/assets/en/WritePro/margin-bullets.png differ
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/assets/en/commands/web-event1.png b/i18n/fr/docusaurus-plugin-content-docs/current/assets/en/commands/web-event1.png
new file mode 100644
index 00000000000000..f31f769f39a37d
Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/current/assets/en/commands/web-event1.png differ
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/assets/en/commands/web-event2.png b/i18n/fr/docusaurus-plugin-content-docs/current/assets/en/commands/web-event2.png
new file mode 100644
index 00000000000000..8e3e2e7c50ca69
Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/current/assets/en/commands/web-event2.png differ
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/assets/en/commands/web-event3.png b/i18n/fr/docusaurus-plugin-content-docs/current/assets/en/commands/web-event3.png
new file mode 100644
index 00000000000000..d7182a677d75a3
Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/current/assets/en/commands/web-event3.png differ
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/assets/en/commands/web-event4.png b/i18n/fr/docusaurus-plugin-content-docs/current/assets/en/commands/web-event4.png
new file mode 100644
index 00000000000000..3dee994804d176
Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/current/assets/en/commands/web-event4.png differ
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/code-editor/write-class-method.md b/i18n/fr/docusaurus-plugin-content-docs/current/code-editor/write-class-method.md
index 22f9966c247845..df45206ff31dcc 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/current/code-editor/write-class-method.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/code-editor/write-class-method.md
@@ -680,6 +680,10 @@ L'élément courant est soit celui sélectionné, soit celui où se trouve le cu
Cette commande affiche ses résultats dans une nouvelle fenêtre.
+## Rename
+
+Une fonction de renommage global peut être utilisée avec les **variables** et les **méthodes projet**, ce qui vous permet de les renommer en toute sécurité dans l'ensemble du projet. Pour cela, surlignez le nom de la variable ou de la méthode du projet dans l'éditeur et sélectionnez **Renommer...** dans le menu **Méthode** ou dans le menu contextuel. Une boîte de dialogue s'affiche alors, vous permettant de saisir le nouveau nom. Pour plus d'informations, reportez-vous à la section [Renommer les méthodes projet et les variables](../Project/search-replace.md#renaming-project-methods-and-variables).
+
## Liste des macros
Vous pouvez utiliser des macro-commandes dans vos méthodes. Les macro-commandes permettent de gagner beaucoup de temps lors de la saisie de code.
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/commands-legacy/get-database-parameter.md b/i18n/fr/docusaurus-plugin-content-docs/current/commands-legacy/get-database-parameter.md
index 408256a6f92ce3..e8375316d3a77b 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/current/commands-legacy/get-database-parameter.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/commands-legacy/get-database-parameter.md
@@ -22,26 +22,6 @@ displayed_sidebar: docs
Le paramètre *sélecteur* désigne le paramètre à lire. 4D vous propose les constantes prédéfinies suivantes, placées dans le thème *Paramètres de la base* :
-### 4D Server timeout (13)
-
-**Portée** : Application 4D si *valeur* positive
-
-**Conservé entre deux sessions** : Oui si *valeur* positive
-
-**Valeurs possibles** : 0 -> 32 767
-
-**Description** : Valeur du délai avant déconnexion (timeout) accordé par 4D Server aux postes clients.
-
-Par défaut, cette valeur est définie dans la page “Client-Serveur/Options réseau” des Propriétés de la base, sur le poste serveur.
-
-Le timeout serveur définit la période maximale de non-réponse du client "autorisée", par exemple s'il effectue une opération bloquante. A l'issue de cette période, 4D Server déconnecte le client. Le sélecteur 4D Server timeout vous permet de fixer un nouveau timeout, exprimé en minutes. Cette possibilité permet en particulier d’augmenter la valeur du timeout avant l’exécution sur le poste client d’une opération bloquante de longue durée, risquant d’entraîner une déconnexion ; par exemple, l’impression d’un grand nombre de pages.
-
-Vous disposez en outre de deux possibilités :
-
-effectuer une modification globale et permanente : la nouvelle valeur s’applique à tous les process et est stockée dans les préférences de l’application (équivaut à une modification de la valeur dans la boîte de dialogue des Préférences). Pour cela, passez une valeur **positive** dans le paramètre *valeur*.effectuer une modification restreinte et temporaire : la nouvelle valeur ne s’applique qu’au process appelant (les autres process conservant la valeur d’origine), et est abandonnée dès que le serveur reçoit un signe d’activité du poste client — par exemple, dès que l’opération est terminée. Cette possibilité est utile pour gérer les opérations longues initiées par des plug-ins. Pour cela, passez une valeur **négative** dans le paramètre *valeur*. Pour définir une connexion “Ouverte en permanence”, passez 0 dans *valeur*. Reportez-vous à l’exemple 1.
-
-
-
### 4D Remote mode timeout (14)
**Portée** (ancienne couche réseau uniquement) : Application 4D si *valeur* positive
@@ -54,85 +34,6 @@ Le sélecteur 4D Remote mode timeout n'est pris en compte que si vous utilisez l
-### Port ID (15)
-
-**Portée** : 4D local, 4D Server
-
-**Conservé entre deux sessions** : Non
-
-**Description** : Numéro du port TCP utilisé par le serveur Web 4D avec 4D en mode local et 4D Server. Par défaut, la valeur est 80\.
-
-Le numéro de port TCP est défini dans la page “Web/Configuration” de la boîte de dialogue des Propriétés de la base. Vous pouvez utiliser les constantes du thème *Numéros de port TCP* pour le paramètre *valeur*.
-
-Le sélecteur Port ID est utile dans le cadre de serveurs Web 4D compilés et fusionnés avec 4D Desktop (pas d’accès au mode Développement). Pour plus d’informations sur le numéro de port TCP, reportez-vous à la section *Paramétrages du serveur Web*.
-
-
-
-### Character set (17)
-
-**Portée** : 4D local, 4D Server
-
-**Conservé entre deux sessions** : Oui
-
-**Description** : *Constante obsolète (conservée par compatibilité uniquement).* Il est désormais conseillé d'utiliser les commandes [WEB SET OPTION](web-set-option.md) et [WEB GET OPTION](web-get-option.md) pour le paramétrage du serveur HTTP.
-
-
-
-### Max concurrent Web processes (18)
-
-**Portée** : 4D local, 4D Server
-
-**Conservé entre deux sessions** : Oui
-
-**Description** : *Constante obsolète (conservée par compatibilité uniquement).* Il est désormais conseillé d'utiliser les commandes [WEB SET OPTION](web-set-option.md) et [WEB GET OPTION](web-get-option.md) pour le paramétrage du serveur HTTP.
-
-
-
-### Client port ID (22)
-
-**Portée** : Tous postes 4D distants
-
- **Conservé** **entre deux sessions** : Oui
-
- **Valeurs possibles** : Voir sélecteur 15
-
-**Description** : Permet de spécifier ce paramètre pour les postes 4D distants utilisés en tant que serveurs Web. La valeur définie via ce sélecteur est appliquée à tous les postes distants utilisés comme serveurs Web. Si vous souhaitez définir cette valeur pour certains postes distants uniquement, utilisez la boîte de dialogue des Préférences de 4D en mode distant.
-
-
-
-### Client character set (24)
-
-**Portée** : Tous postes 4D distants
-
- **Conservé** **entre deux sessions** : Oui
-
- **Valeurs possibles** : Voir sélecteur 17
-
-**Description** : Permet de spécifier ce paramètre pour les postes 4D distants utilisés en tant que serveurs Web. La valeur définie via ce sélecteur est appliquée à tous les postes distants utilisés comme serveurs Web. Si vous souhaitez définir cette valeur pour certains postes distants uniquement, utilisez la boîte de dialogue des Préférences de 4D en mode distant.
-
-
-
-### Client max concurrent Web proc (25)
-
-**Portée** : Tous postes 4D distants
-
- **Conservé** **entre deux sessions** : Oui
-
- **Valeurs possibles** : Voir sélecteur 18
-
-**Description** : Permet de spécifier ce paramètre pour les postes 4D distants utilisés en tant que serveurs Web. La valeur définie via ce sélecteur est appliquée à tous les postes distants utilisés comme serveurs Web. Si vous souhaitez définir cette valeur pour certains postes distants uniquement, utilisez la boîte de dialogue des Préférences de 4D en mode distant.
-
-
-
-### Maximum Web requests size (27)
-
-**Portée** : 4D local, 4D Server
-
- **Conservé** **entre deux sessions** : Oui
-
- **Description** : *Constante obsolète (conservée par compatibilité uniquement).* Il est désormais conseillé d'utiliser les commandes [WEB SET OPTION](web-set-option.md) et [WEB GET OPTION](web-get-option.md) pour le paramétrage du serveur HTTP.
-
-
### 4D Server log recording (28)
@@ -150,153 +51,131 @@ Le sélecteur Port ID est utile dans le cadre de serveurs Web 4D compilés et fu
-### Client Web log recording (30)
-
-**Portée** :Tous postes 4D distants
-
- **Conservé** **entre deux sessions** : Oui
-
- **Valeurs possibles** : 0 = Ne pas enregistrer (défaut), 1 = Enregistrer au format CLF, 2 = Enregistrer au format DLF, 3 = Enregistrer au format ELF, 4 = Enregistrer au format WLF.
-
-**Description** : Démarrage ou arrêt de l’enregistrement des requêtes Web reçues par les serveurs Web de tous les postes clients. Par défaut, la valeur est 0 (pas d’enregistrement des requêtes).
-
-Le fonctionnement de ce sélecteur est identique à celui du sélecteur 29 ; il s’applique toutefois à tous les postes 4D clients utilisés en tant que serveurs Web. Le fichier “logweb.txt” est dans ce cas automatiquement placé dans le sous-dossier Logs du dossier base 4D client (dossier de cache). Si vous souhaitez définir des valeurs pour certains postes clients uniquement, utilisez la boîte de dialogue des Préférences de 4D en mode distant.
-
+### 4D Server timeout (13)
-### Table sequence number (31)
+**Portée** : Application 4D si *valeur* positive
-**Portée** :Application 4D
+**Conservé entre deux sessions** : Oui si *valeur* positive
- **Conservé** **entre deux sessions** : Oui
+**Valeurs possibles** : 0 -> 32 767
- **Valeurs possibles** : Toute valeur de type entier long.
+**Description** : Valeur du délai avant déconnexion (timeout) accordé par 4D Server aux postes clients.
-**Description** : Ce sélecteur permet de modifier ou de lire le numéro unique courant des enregistrements de la table passée en paramètre. “Numéro courant” signifie “dernier numéro utilisé” : si vous modifiez cette valeur à l’aide de [SET DATABASE PARAMETER](set-database-parameter.md), le prochain enregistrement sera créé avec comme numéro la valeur passée + 1\. Ce nouveau numéro est, lui, retourné par la commande [Sequence number](sequence-number.md) ainsi que dans tout champ de la table auquel la propriété "Incrémentation auto" a été affectée en Structure ou via le SQL.
+Par défaut, cette valeur est définie dans la page “Client-Serveur/Options réseau” des Propriétés de la base, sur le poste serveur.
-Par défaut, le numéro unique est défini par 4D et correspond à l’ordre de création des enregistrements.
+Le timeout serveur définit la période maximale de non-réponse du client "autorisée", par exemple s'il effectue une opération bloquante. A l'issue de cette période, 4D Server déconnecte le client. Le sélecteur 4D Server timeout vous permet de fixer un nouveau timeout, exprimé en minutes. Cette possibilité permet en particulier d’augmenter la valeur du timeout avant l’exécution sur le poste client d’une opération bloquante de longue durée, risquant d’entraîner une déconnexion ; par exemple, l’impression d’un grand nombre de pages.
-Pour des informations supplémentaires, reportez-vous à la documentation de la commande [Sequence number](sequence-number.md).
+Vous disposez en outre de deux possibilités :
+effectuer une modification globale et permanente : la nouvelle valeur s’applique à tous les process et est stockée dans les préférences de l’application (équivaut à une modification de la valeur dans la boîte de dialogue des Préférences). Pour cela, passez une valeur **positive** dans le paramètre *valeur*.effectuer une modification restreinte et temporaire : la nouvelle valeur ne s’applique qu’au process appelant (les autres process conservant la valeur d’origine), et est abandonnée dès que le serveur reçoit un signe d’activité du poste client — par exemple, dès que l’opération est terminée. Cette possibilité est utile pour gérer les opérations longues initiées par des plug-ins. Pour cela, passez une valeur **négative** dans le paramètre *valeur*. Pour définir une connexion “Ouverte en permanence”, passez 0 dans *valeur*. Reportez-vous à l’exemple 1.
-### Debug log recording (34)
-**Thread-safe** : Yes
-**Portée** : Application 4D
+### Auto synchro resources folder (48)
-**Conservé** **entre deux sessions** : Non
+**Portée** :Poste 4D distant
-**Description** : Démarrage ou arrêt de l’enregistrement séquentiel des événements de programmation de 4D dans le fichier *4DDebugLogServer* *\[\_pN\_n\].txt* (où \_n est le numéro de segment du fichier).
+ **Conservé** **entre deux sessions** : Non
-Deux modes sont possibles :
+ **Valeurs possibles** : 0 (pas de synchronisation), 1 (synchronisation auto) ou 2 (demander).
-- Le mode standard propose une vue basique des événements et le fichier est automatiquement placé dans le sous-dossier Logs de la base, à côté du fichier de structure. Les durées d'exécution sont exprimées en millisecondes avec la valeur "< ms" qui s'affiche lorsqu'une opération dure moins d'une milliseconde.
+**Description** : Mode de synchronisation dynamique du dossier *Resources* du poste client 4D ayant exécuté la commande avec celui du serveur.
-- Le mode tabulé fournit des informations supplémentaires et utilise un format tabulé plus compact dans le fichier. Les durées d'exécution sont exprimées en millisecondes. **Valeurs possibles** : Entier long contenant un champ de bits (bit field) : valeur = bit1(1)+bit2(2)+bit3(4)+bit4(8)+…).
+Lorsque le contenu du dossier *Resources* sur le serveur a été modifié ou qu’une demande de synchronisation a été émise (via l’explorateur de ressources ou suite à l'exécution de la commande [NOTIFY RESOURCES FOLDER MODIFICATION](notify-resources-folder-modification.md)), le serveur notifie les clients connectés.
-- Le bit 0 (valeur 1) permet de demander à activer le fichier (à noter que toute autre valeur non nulle l’activera également)
+Trois modes de synchronisation sont alors possibles côté client. Le sélecteur Auto synchro resources folder vous permet de définir le mode à utiliser pour le poste client et la session courante :
-- Le bit 1 (valeur 2) permet de demander les paramètres d’appel aux commandes et (mode interprété uniquement) aux méthodes.
+0 (valeur par défaut) : pas de synchronisation dynamique (la demande de synchronisation est ignorée) 1 : synchronisation dynamique automatique2 : affichage d’une boîte de dialogue sur les postes clients, avec possibilité d’effectuer ou de refuser la synchronisation.Le mode de synchronisation peut également être défini globalement dans les Propriétés de la base.
-- Le bit 2 (valeur 4) permet d’activer le format tabulé.
-- Le bit 3 (valeur 8) permet de désactiver l’écriture immédiate de chaque opération sur disque (activée par défaut). L’écriture immédiate est moins rapide mais plus efficace par exemple pour rechercher les causes d’un plantage. Si vous désactivez ce mode, le fichier sera généré plus rapidement.
-- Le bit 4 (valeur 16) permet de désactiver l’enregistrement des appels de plug-ins (activé par défaut).
-- Le bit 5 (valeur 32) permet de désactiver l'enregistrement des fonctions membres.
+### Cache flush periodicity (95)
-Exemples :
+**Thread-safe** : Yes
-FIXER PARAMETRE BASE(34;1) // active le mode standard sans les paramètres, avec les durées
-FIXER PARAMETRE BASE(34;2) // active le mode standard avec les paramètres et les durées
+Portée : 4D local, 4D Server
-FIXER PARAMETRE BASE(34;2+4) // active le mode tabulé avec les paramètres et les durées
+**Conservé entre deux sessions** : Non
-FIXER PARAMETRE BASE(34;0) // désactive le fichier
+**Valeurs possibles** : entier long > 1 (secondes)
-Dans tout type d'application 4D (4D tous modes, 4D Server, 4D Volume Desktop), en interprété ou en compilé, vous pouvez éviter que le fichier n’enregistre une trop grande quantité d’informations :
+**Description** : Permet de lire ou de fixer la valeur courante de périodicité de l'écriture du cache de données sur le disque, exprimée en secondes. Si elle est modifiée, cette valeur remplace la valeur définie par l'option **Ecriture cache toutes les secondes/minutes** dans la [XML DECODE](xml-decode.md) des Propriétés de la base durant la session courante (elle n'est pas stockée dans les Propriétés de la base).
-- en restreignant les commandes 4D examinées à l'aide de Log command list (sélecteur 80), ou
-- en le restreignant au process courant uniquement à l'aide de Current process debug log recording (sélecteur 111). Cela ajoutera la lettre "p" et le numéro de process au nom du fichier : *4DDebugLog* *\[\_pN\_n\].txt ou* *4DDebugLogServer\[\_pn\_n\].txt.* Pour plus d’informations sur le format et l’exploitation du fichier 4DDebugLog, veuillez consulter la *Description des fichiers d'historique* dans le Manuel Développement.
-**Note :** Ce sélecteur est proposé uniquement à des fins de débogage et doit être utilisé avec précaution car il peut entraîner une dégradation des performances de l'application.
+### Cache unload minimum size (66)
+**Portée** : Application 4D
-### Client Server port ID (35)
+**Conservé entre deux sessions** : Non
-**Portée** :Base de données
+**Valeurs possibles** : Entier long positif > 1.
- **Conservé** **entre deux sessions** : Oui
+**Description** : Taille minimum de mémoire à libérer du cache de la base de données lorsque le moteur a besoin d’y faire de la place pour y allouer un objet (valeur en octets).
- **Valeurs possibles** : 0 à 65535
+Ce sélecteur a pour but de permettre de réduire le nombre de libérations de données du cache afin d’obtenir des gains de performances. Vous pouvez faire varier ce paramétrage en fonction de la taille du cache et de celle des blocs de données manipulées dans votre base.
-**Description** : Numéro de port TCP sur lequel 4D Server publie la base de données (à destination des postes 4D distants). Par défaut, la valeur est 19813\.
+Par défaut, si ce sélecteur n’est pas utilisé, 4D décharge au minimum 10 % du cache en cas de besoin de place.
-La personnalisation de cette valeur permet d’utiliser plusieurs applications 4D client-serveur sur la même machine avec le protocole TCP ; dans ce cas, vous devez spécifier un numéro de port différent pour chaque application.
-La valeur est stockée dans le fichier de structure de la base. Elle peut être définie avec 4D en mode local mais n’est prise en compte qu’en configuration client-serveur.
-Lorsque vous modifiez cette valeur, il est nécessaire de redémarrer le poste serveur afin que la nouvelle valeur soit prise en compte.
+### Character set (17)
+**Portée** : 4D local, 4D Server
-### HTTPS Port ID (39)
+**Conservé entre deux sessions** : Oui
-**Portée** :4D local, 4D Server
+**Description** : *Constante obsolète (conservée par compatibilité uniquement).* Il est désormais conseillé d'utiliser les commandes [WEB SET OPTION](web-set-option.md) et [WEB GET OPTION](web-get-option.md) pour le paramétrage du serveur HTTP.
- **Conservé** **entre deux sessions** : Oui
- **Description** : *Constante obsolète (conservée par compatibilité uniquement).* Il est désormais conseillé d'utiliser les commandes [WEB SET OPTION](web-set-option.md) et [WEB GET OPTION](web-get-option.md) pour le paramétrage du serveur HTTP.
+### Circular log limitation (90)
-### Client HTTPS port ID (40)
+**Thread-safe** : Yes
-**Portée** :Tous postes 4D distants
+**Portée** : 4D local, 4D Server.
- **Conservé** **entre deux sessions** : Oui
+**Conservé entre deux sessions** : Non
- **Valeurs possibles** : 0 à 65535
+**Valeurs possibles** : Toute valeur entière, 0 = conserver tous les journaux
-**Description** : Numéro du port TCP utilisé par les serveurs Web des postes clients pour les connexions sécurisées via SSL (protocole HTTPS). Par défaut, la valeur est 443 (valeur standard).
+**Description** : Nombre maximum de fichiers à conserver par roulement pour chaque type de journal. Par défaut, les 50 fichiers les plus récents sont conservés. Si vous passez une valeur N, seuls les N fichiers les plus récents seront conservés, le plus ancien étant automatiquement effacé à la création d'un nouveau. Ce paramétrage s'applique à tous les fichiers journaux, notamment le journal des requêtes (sélecteurs 28 et 45), le journal de débogage (sélecteur 34), le journal des événements (sélecteur 79), l'historique des requêtes Web (sélecteurs 29 et 84 de la commande [WEB SET OPTION](web-set-option.md)), etc.
-Le fonctionnement de ce sélecteur est identique à celui du sélecteur 39 ; il s’applique toutefois à tous les postes 4D distants utilisés en tant que serveurs Web. Si vous souhaitez modifier la valeur de certains postes clients uniquement, utilisez la boîte de dialogue des Préférences de 4D distant.
-### SQL Autocommit (43)
+### Client character set (24)
-**Portée** :Base de données
+**Portée** : Tous postes 4D distants
**Conservé** **entre deux sessions** : Oui
- **Valeurs possibles** : 0 (désactivation) ou 1 (activation)
+ **Valeurs possibles** : Voir sélecteur 17
-**Description** : Activation ou désactivation du mode SQL auto-commit. Par défaut, la valeur est 0 (mode désactivé)
+**Description** : Permet de spécifier ce paramètre pour les postes 4D distants utilisés en tant que serveurs Web. La valeur définie via ce sélecteur est appliquée à tous les postes distants utilisés comme serveurs Web. Si vous souhaitez définir cette valeur pour certains postes distants uniquement, utilisez la boîte de dialogue des Préférences de 4D en mode distant.
-Le mode auto-commit permet de renforcer l'intégrité référentielle de la base. Lorsque ce mode est actif, les requêtes *SELECT*, *INSERT*, *UPDATE*, *DELETE* (SIUD) sont automatiquement incluses dans des transactions lorsqu'elles sont exécutées en-dehors de toute transaction. Ce mode peut également être défini dans les préférences de la base.
-### SQL Engine case sensitivity (44)
+### Client HTTPS port ID (40)
-**Portée** : Base de données
+**Portée** :Tous postes 4D distants
-**Conservé** **entre deux sessions** : Oui
+ **Conservé** **entre deux sessions** : Oui
-**Valeurs possibles** : 0 (casse non prise en compte) ou 1 (casse prise en compte)
+ **Valeurs possibles** : 0 à 65535
-**Description** : Activation ou désactivation de la prise en compte de la casse des caractères pour les comparaisons de chaînes effectuées par le moteur SQL.
+**Description** : Numéro du port TCP utilisé par les serveurs Web des postes clients pour les connexions sécurisées via SSL (protocole HTTPS). Par défaut, la valeur est 443 (valeur standard).
-Par défaut, la valeur est 1 (casse prise en compte) : le moteur SQL établit une différence entre les majuscules et les minuscules ainsi qu'entre les caractères accentués lors des comparaisons de chaînes (tris et recherches). Par exemple "ABC" = "ABC" mais "ABC" # "Abc" et "abc" # "âbc" . Dans certains cas, par exemple pour aligner le fonctionnement du moteur SQL sur celui du moteur 4D, vous pourrez souhaiter que les comparaisons de chaînes ne tiennent pas compte de la casse ("ABC"="Abc"="âbc").
+Le fonctionnement de ce sélecteur est identique à celui du sélecteur 39 ; il s’applique toutefois à tous les postes 4D distants utilisés en tant que serveurs Web. Si vous souhaitez modifier la valeur de certains postes clients uniquement, utilisez la boîte de dialogue des Préférences de 4D distant.
-**Attention :** *Étant donné que cette option modifie le fichier de structure de la base de données et tous les process, il est fortement recommandé,* *pour des raisons de performances,* *de la définir uniquement au démarrage de la base de données.* Cette option peut également être définie dans la [CALL SUBFORM CONTAINER](call-subform-container.md) des Propriétés de la base.
@@ -316,215 +195,173 @@ Ces fichiers texte stockent dans un format tabulé simple diverses informations
-### Query by formula on server (46)
-
-**Portée** :Table et process courants
- **Conservé** **entre deux sessions** : Non
+### Client max concurrent Web proc (25)
- **Valeurs possibles** : 0 (utiliser le paramétrage de la base), 1 (exécuter sur le client) ou 2 (exécuter sur le serveur)
+**Portée** : Tous postes 4D distants
-**Description** : Emplacement de l’exécution des commandes [QUERY BY FORMULA](query-by-formula.md) et [QUERY SELECTION BY FORMULA](query-selection-by-formula.md) pour la *table* passée en paramètre.
+ **Conservé** **entre deux sessions** : Oui
-Dans le cadre de l’exploitation d’une base en client-serveur, les commandes de recherche "par formule" peuvent exécutées soit sur le serveur soit sur le client :
+ **Valeurs possibles** : Voir sélecteur 18
-dans les bases de données créées à partir de 4D v11 SQL, ces commandes sont exécutées sur le serveur. dans les bases de données converties, ces commandes sont exécutées sur le client, comme dans les versions précédentes de 4D.dans les bases de données converties, une préférence spécifique permet de modifier globalement le lieu d’exécution de ces commandes.Cette différence de lieu d’exécution influe sur les performances de l’application (l’exécution sur le serveur est généralement plus rapide) mais également sur la programmation. En effet, la valeur des composantes de la formule (notamment les variables appelées via une méthode) diffère suivant le contexte d’exécution. Vous pouvez utiliser ce sélecteur pour adapter ponctuellement le fonctionnement de votre application.
+**Description** : Permet de spécifier ce paramètre pour les postes 4D distants utilisés en tant que serveurs Web. La valeur définie via ce sélecteur est appliquée à tous les postes distants utilisés comme serveurs Web. Si vous souhaitez définir cette valeur pour certains postes distants uniquement, utilisez la boîte de dialogue des Préférences de 4D en mode distant.
-Si vous passez 0 dans le paramètre *valeur*, l’emplacement d’exécution des commandes de recherche "par formule" dépendra de la configuration de la base : dans les bases créées avec 4D v11 SQL, les commandes seront exécutées sur le serveur. Dans les bases converties, elles seront exécutées sur le client ou le serveur en fonction des préférences de la base. Passez 1 ou 2 dans *valeur* pour "forcer" l’exécution des commandes respectivement sur le client ou sur le serveur.
-Reportez-vous à l'exemple 2.
-**Note :** Si vous souhaitez pouvoir activer les jointures "type SQL" (cf. sélecteur Query by formula joins), vous devez toujours exécuter les formules sur le serveur afin qu'elle ait accès aux enregistrements. Attention, dans ce contexte, la formule ne doit pas contenir d'appel à une méthode, sinon elle est automatiquement basculée sur le poste distant.
+### Client port ID (22)
+**Portée** : Tous postes 4D distants
-### Order by formula on server (47)
+ **Conservé** **entre deux sessions** : Oui
-**Portée** :Table et process courants
+ **Valeurs possibles** : Voir sélecteur 15
- **Conservé** **entre deux sessions** : Non
+**Description** : Permet de spécifier ce paramètre pour les postes 4D distants utilisés en tant que serveurs Web. La valeur définie via ce sélecteur est appliquée à tous les postes distants utilisés comme serveurs Web. Si vous souhaitez définir cette valeur pour certains postes distants uniquement, utilisez la boîte de dialogue des Préférences de 4D en mode distant.
- **Valeurs possibles** : 0 (utiliser le paramétrage de la base), 1 (exécuter sur le client) ou 2 (exécuter sur le serveur)
-**Description** : Emplacement de l’exécution de la commande [ORDER BY FORMULA](order-by-formula.md) pour la table passée en paramètre.
-Dans le cadre de l’exploitation d’une base en client-serveur, la commande [ORDER BY FORMULA](order-by-formula.md) peut être exécutée soit sur le serveur soit sur le client. Ce sélecteur permet de définir l’emplacement de l’exécution de cette commande (serveur ou client). Ce mode peut également être défini dans les préférences de la base. Pour plus d’informations, reportez-vous à la description du sélecteur 46, Query by formula on server.
-
-**Note :** Si vous souhaitez pouvoir activer les jointures "type SQL" (cf. sélecteur Query by formula joins), vous devez toujours exécuter les formules sur le serveur afin qu'elle ait accès aux enregistrements. Attention, dans ce contexte, la formule ne doit pas contenir d'appel à une méthode, sinon elle est automatiquement basculée sur le poste distant.
+### Client Server port ID (35)
+**Portée** :Base de données
-### Auto synchro resources folder (48)
+ **Conservé** **entre deux sessions** : Oui
-**Portée** :Poste 4D distant
+ **Valeurs possibles** : 0 à 65535
- **Conservé** **entre deux sessions** : Non
+**Description** : Numéro de port TCP sur lequel 4D Server publie la base de données (à destination des postes 4D distants). Par défaut, la valeur est 19813\.
- **Valeurs possibles** : 0 (pas de synchronisation), 1 (synchronisation auto) ou 2 (demander).
+La personnalisation de cette valeur permet d’utiliser plusieurs applications 4D client-serveur sur la même machine avec le protocole TCP ; dans ce cas, vous devez spécifier un numéro de port différent pour chaque application.
-**Description** : Mode de synchronisation dynamique du dossier *Resources* du poste client 4D ayant exécuté la commande avec celui du serveur.
+La valeur est stockée dans le fichier de structure de la base. Elle peut être définie avec 4D en mode local mais n’est prise en compte qu’en configuration client-serveur.
-Lorsque le contenu du dossier *Resources* sur le serveur a été modifié ou qu’une demande de synchronisation a été émise (via l’explorateur de ressources ou suite à l'exécution de la commande [NOTIFY RESOURCES FOLDER MODIFICATION](notify-resources-folder-modification.md)), le serveur notifie les clients connectés.
+Lorsque vous modifiez cette valeur, il est nécessaire de redémarrer le poste serveur afin que la nouvelle valeur soit prise en compte.
-Trois modes de synchronisation sont alors possibles côté client. Le sélecteur Auto synchro resources folder vous permet de définir le mode à utiliser pour le poste client et la session courante :
-0 (valeur par défaut) : pas de synchronisation dynamique (la demande de synchronisation est ignorée) 1 : synchronisation dynamique automatique2 : affichage d’une boîte de dialogue sur les postes clients, avec possibilité d’effectuer ou de refuser la synchronisation.Le mode de synchronisation peut également être défini globalement dans les Propriétés de la base.
+### Client Web log recording (30)
-### Query by formula joins (49)
+**Portée** :Tous postes 4D distants
-**Portée** :Process courant
+ **Conservé** **entre deux sessions** : Oui
- **Conservé** **entre deux sessions** : Non
+ **Valeurs possibles** : 0 = Ne pas enregistrer (défaut), 1 = Enregistrer au format CLF, 2 = Enregistrer au format DLF, 3 = Enregistrer au format ELF, 4 = Enregistrer au format WLF.
- **Valeurs possibles** : 0 (utiliser paramétrages de la base), 1 (toujours utiliser les liens auto) ou 2 (utiliser les jointures SQL si possible).
+**Description** : Démarrage ou arrêt de l’enregistrement des requêtes Web reçues par les serveurs Web de tous les postes clients. Par défaut, la valeur est 0 (pas d’enregistrement des requêtes).
-**Description** : Mode de fonctionnement des commandes [QUERY BY FORMULA](query-by-formula.md) et [QUERY SELECTION BY FORMULA](query-selection-by-formula.md) relatif à l’utilisation de "jointures SQL".
+Le fonctionnement de ce sélecteur est identique à celui du sélecteur 29 ; il s’applique toutefois à tous les postes 4D clients utilisés en tant que serveurs Web. Le fichier “logweb.txt” est dans ce cas automatiquement placé dans le sous-dossier Logs du dossier base 4D client (dossier de cache). Si vous souhaitez définir des valeurs pour certains postes clients uniquement, utilisez la boîte de dialogue des Préférences de 4D en mode distant.
-Dans les bases de données créées à compter de la version 11.2 de 4D v11 SQL, ces commandes effectuent des jointures sur le modèle des jointures SQL. Ce mécanisme permet de modifier la sélection d’une table en fonction d’une recherche effectuée sur une autre table sans que les tables soient reliées par un lien automatique (condition nécessaire dans les versions précédentes de 4D).
-Le sélecteur Query by formula joins vous permet de définir le mode de fonctionnement des commandes de recherche par formule pour le process courant :
-0 : utiliser les paramètres courants de la base (valeur par défaut). Dans les bases de données créées à compter de la version 11.2 de 4D v11 SQL, les "jointures SQL" sont toujours activées pour les recherches par formule. Dans les bases de données converties, ce mécanisme est inactivé par défaut pour des raisons des compatibilité mais peut être mis en oeuvre via une préférence.1 : toujours utiliser les liens auto (= fonctionnement des versions précédentes de 4D). Dans ce mode, un lien est nécessaire pour définir la sélection d’une table en fonction de recherches effectuées dans une autre table. 4D n’effectue pas de "jointures SQL".2 : utiliser les jointures SQL si possible (= fonctionnement par défaut des bases créées en version 11.2 et suivantes de 4D v11 SQL). Dans ce mode, 4D établit des "jointures SQL" pour les recherches par formule lorsque la formule s’y prête (à deux exceptions près, voir la description de la commande commandes [QUERY BY FORMULA](query-by-formula.md) ou [QUERY SELECTION BY FORMULA](query-selection-by-formula.md). **Note :** Avec 4D en mode distant, les "jointures SQL" ne peuvent être utilisées que si les formules sont exécutées sur le serveur (elles doivent avoir accès aux enregistrements). Pour configurer le lieu d'exécution des formules, reportez-vous aux sélecteurs 46 et 47.
+### Current process debug log recording (111)
+**Portée :** Application 4D
-### HTTP compression level (50)
+**Conservé entre deux sessions :** Non
-**Portée** : Application 4D
+**Description** : Démarrage ou arrêt de l'enregistrement séquentiel des événements de programmation **du process courant** dans un fichier d'historique séparé. Cet historique est semblable à Debug log recording (sélecteur 34) mais il ne porte que sur le process courant. Le nom du fichier d'historique inclut la lettre "p" et le numéro du process : 4DDebugLog\[\_p*N*_*n*].txt, où N est l'ID unique du process. Pour plus d'informations sur ce format et sur l'utilisation du fichier *4DDebugLog*, veuillez consulter la *Description des fichiers d'historique* dans le Mode Développement.
- **Conservé** **entre deux sessions** : Non
+**Notes :** Ce sélecteur est fourni uniquement à des fins de débogage et doit être utilisé avec précaution. Plus particulièrement, il ne doit pas être utilisé en production, étant donné qu'il peut avoir une incidence sur les performances de l'application. Vous pouvez utiliser simultanément les sélecteurs Debug log recording et Current process debug log recording, auquel cas les actions liées au process courant ne seront pas enregistrées dans le fichier d'historique principal.
- **Description** : *Constante obsolète (conservée par compatibilité uniquement).* Il est désormais conseillé d'utiliser les commandes [WEB SET OPTION](web-set-option.md) et [WEB GET OPTION](web-get-option.md) pour le paramétrage du serveur HTTP.
-### HTTP compression threshold (51)
+### Dates inside objects (85)
-**Portée** : Application 4D
+**Portée** : Process courant
**Conservé** **entre deux sessions** : Non
- **Description** : *Constante obsolète (conservée par compatibilité uniquement).* Il est désormais conseillé d'utiliser les commandes [WEB SET OPTION](web-set-option.md) et [WEB GET OPTION](web-get-option.md) pour le paramétrage du serveur HTTP.
-
-
-
-### Server base process stack size (53)
-
-**Portée** : 4D Server
+ **Valeurs possibles** : String type without time zone (0), String type with time zone (1), Date type (2) (défaut)
- **Conservé** **entre deux sessions** : Non
+**Description** : Définit la manière dont les dates sont stockées dans les objets, ainsi que leur traitement en cas d'importation/exportation en JSON.
- **Valeurs possibles** : Entier long positif.
+Lorsque ce sélecteur vaut Date type (valeur par défaut dans les bases créées à compter de 4D v17), les dates 4D sont stockées avec le type date dans les objets, en tenant compte des paramétrages de date locaux. Lorsqu'ils sont exportés au format JSON, les attributs date seront convertis en chaînes qui ne contiennent pas l'heure (**Note :** ce paramétrage peut être défini au niveau des paramètres de la base via l'option "Utiliser le type date au lieu du format date ISO dans les objets" dans la *Page Compatibilité*).
-**Description** : Taille de la pile allouée à chaque process système préemptif sur le serveur, exprimée en octets. La taille par défaut est déterminée par le système.
+Si vous passez String type with time zone dans ce sélecteur, les dates 4D seront converties en chaînes ISO en tenant compte du fuseau horaire local. Par exemple, la conversion de la date !23/08/2013! donne "2013-08-22T22:00:00Z" au format JSON lorsque l’opération est effectuée en France en été (GMT+2). Ce principe est conforme au fonctionnement standard de JavaScript. Ce fonctionnement peut être source d’erreurs si vous souhaitez envoyer des valeurs de date en JSON à une personne qui se trouve dans un autre fuseau horaire. C’est le cas par exemple pour l’exportation d’une table avec [Selection to JSON](selection-to-json.md) en France destiné à être réimporté aux USA avec [JSON TO SELECTION](json-to-selection.md). Par défaut, les dates étant réinterprétées dans chaque fuseau horaire, les valeurs stockées dans la base seront différentes. Dans ce cas, vous pouvez modifier le mode de conversion des dates afin qu’il ne tienne pas compte du fuseau horaire en passant String type without time zone dans ce sélecteur. La conversion de la date !23/08/2013! donnera alors "2013-08-23T00:00:00Z" dans tous les cas.
-Les process système préemptifs (process de type Process base 4D client) sont chargés de contrôler les process clients 4D principaux. La taille allouée par défaut à la pile de chaque process préemptif permet un bon confort d’exécution mais peut s’avérer conséquente lorsque de très nombreux process (plusieurs centaines) sont créés.
-A des fins d’optimisation, cette taille peut être diminuée sensiblement si les opérations effectuées par la base s'y prêtent (par exemple si la base n’effectue pas de tris sur de grosses quantités d’enregistrements). Des valeurs de 512 voire de 256 Ko sont possibles. Attention, le sous-dimensionnement de la pile est critique et peut nuire au fonctionnement de 4D Server. Le réglage de ce paramètre est à effectuer avec précaution et doit tenir compte des conditions d’utilisation de la base (nombre d’enregistrements, types d’opérations, etc.). Pour être pris en compte, ce paramétrage doit être exécuté sur le poste serveur (par exemple dans la méthode base Sur démarrage serveur).
+### Debug log recording (34)
-### Idle connections timeout (54)
+**Thread-safe** : Yes
-**Portée** : Application 4D sauf si valeur négative
+**Portée** : Application 4D
**Conservé** **entre deux sessions** : Non
-**Valeurs possibles** : Valeur entière exprimant une durée en secondes. La valeur peut être positive (nouvelles connexions) ou négative (connexions existantes). Par défaut, la valeur est 20.
+**Description** : Démarrage ou arrêt de l’enregistrement séquentiel des événements de programmation de 4D dans le fichier *4DDebugLogServer* *\[\_pN\_n\].txt* (où \_n est le numéro de segment du fichier).
-**Description** : Délai maximum d’inactivité (timeout) des connexions au moteur de base de données, au serveur SQL de 4D ainsi qu'au serveur d'applications 4D (mode *ServerNet* uniquement, ignoré en *QUIC*). Lorsqu’une connexion inactive atteint ce délai, elle est automatiquement mise en veille, ce qui se traduit par le gel de la session client/serveur et la fermeture du socket réseau. Dans la fenêtre d'administration du serveur, le process utilisateur prend l'état "Postponed". Ce fonctionnement est entièrement transparent pour l’utilisateur : dès qu’il y a reprise d’activité sur la connexion mise en veille, le socket est automatiquement rouvert et la session client/serveur restaurée.
+Deux modes sont possibles :
-Ce paramétrage permet, d’une part, d’économiser des ressources sur le serveur : les connexions mises en veille referment le socket et libèrent un processus sur le serveur. D’autre part, il permet d’éviter les pertes de connexions dues aux fermetures par les pare-feux des sockets inactifs. La valeur de timeout des connexions inactives doit pour cela être inférieure à celle du pare-feu.
+- Le mode standard propose une vue basique des événements et le fichier est automatiquement placé dans le sous-dossier Logs de la base, à côté du fichier de structure. Les durées d'exécution sont exprimées en millisecondes avec la valeur "< ms" qui s'affiche lorsqu'une opération dure moins d'une milliseconde.
-Si vous passez une valeur positive dans *valeur*, elle s'applique à toutes les nouvelles connexions dans tous les process. Si vous passez une valeur négative, elle s’applique aux connexions ouvertes dans le process courant. Si vous passez 0, les connexions inactives ne sont pas soumises à un timeout.
+- Le mode tabulé fournit des informations supplémentaires et utilise un format tabulé plus compact dans le fichier. Les durées d'exécution sont exprimées en millisecondes. **Valeurs possibles** : Entier long contenant un champ de bits (bit field) : valeur = bit1(1)+bit2(2)+bit3(4)+bit4(8)+…).
+- Le bit 0 (valeur 1) permet de demander à activer le fichier (à noter que toute autre valeur non nulle l’activera également)
+- Le bit 1 (valeur 2) permet de demander les paramètres d’appel aux commandes et (mode interprété uniquement) aux méthodes.
+- Le bit 2 (valeur 4) permet d’activer le format tabulé.
+- Le bit 3 (valeur 8) permet de désactiver l’écriture immédiate de chaque opération sur disque (activée par défaut). L’écriture immédiate est moins rapide mais plus efficace par exemple pour rechercher les causes d’un plantage. Si vous désactivez ce mode, le fichier sera généré plus rapidement.
+- Le bit 4 (valeur 16) permet de désactiver l’enregistrement des appels de plug-ins (activé par défaut).
+- Le bit 5 (valeur 32) permet de désactiver l'enregistrement des fonctions membres.
-Ce paramètre doit être défini côté client. Généralement, vous n'aurez pas besoin de modifier cette valeur.
+Exemples :
+```4d
+SET DATABASE PARAMETER(34;1) // active le mode standard sans les paramètres, avec les durées
+SET DATABASE PARAMETER(34;2) // active le mode standard avec les paramètres et les durées
+SET DATABASE PARAMETER(34;2+4) // active le mode tabulé avec les paramètres et les durées
+SET DATABASE PARAMETER(34;0) // désactive le fichier
+```
+Dans tout type d'application 4D (4D tous modes, 4D Server, 4D Volume Desktop), en interprété ou en compilé, vous pouvez éviter que le fichier n’enregistre une trop grande quantité d’informations :
-### PHP interpreter IP address (55)
+- en restreignant les commandes 4D examinées à l'aide de Log command list (sélecteur 80), ou
+- en le restreignant au process courant uniquement à l'aide de Current process debug log recording (sélecteur 111). Cela ajoutera la lettre "p" et le numéro de process au nom du fichier : *4DDebugLog* *\[\_pN\_n\].txt ou* *4DDebugLogServer\[\_pn\_n\].txt.* Pour plus d’informations sur le format et l’exploitation du fichier 4DDebugLog, veuillez consulter la *Description des fichiers d'historique* dans le Manuel Développement.
-**Portée** :Application 4D
+**Note :** Ce sélecteur est proposé uniquement à des fins de débogage et doit être utilisé avec précaution car il peut entraîner une dégradation des performances de l'application.
- **Conservé** **entre deux sessions** : Non
-**Valeurs** : Chaîne formatée en IPv4 (par exemple "127.0.0.1") ou en IPv6 (par exemple "2001:0db8:0000:0000:0000:ff00:0042:8329")
-**Description** : Adresse IP utilisée localement par 4D pour communiquer avec l’interpéteur PHP via fastcgi. Par défaut, la valeur est "127.0.0.1" (les adresses au format IPv6 sont prises en charge à compter de 4D v16R4).. Cette adresse doit correspondre à la machine sur laquelle se trouve 4D. Ce paramètre peut également être défini globalement pour tous les postes via les Propriétés de la base.
-Pour plus d’informations sur l’interpréteur PHP de 4D, reportez-vous au manuel *Mode Développement*.
+### Diagnostic log level (86)
+**Thread-safe** : Yes
+**Portée :** Application 4D
-### PHP interpreter port (56)
+**Conservé entre deux sessions :** Non
-**Portée** :Application 4D
+**Description :** Niveau(x) de messages à inclure dans le journal de diagnostic lorsqu'il est activé (voir le sélecteur Diagnostic log recording). Chaque niveau désigne une catégorie de messages de diagnostic et inclut automatiquement la ou les catégories plus importantes. Pour une description des catégories, consultez la section *Log niveau diagnostic* sur le site *developer.4d.com*.
- **Conservé** **entre deux sessions** : Non
+**Valeurs possibles** **:** L'une des constantes suivantes (Log info par défaut):
+- Log trace: active ERROR, WARN, INFO, DEBUG, TRACE (niveau le plus détaillé)
+- Log debug: active ERROR, WARN, INFO, DEBUG
+- Log info: active ERROR, WARN, INFO (par défaut)
+- Log warn: active ERROR, WARN Log error: active ERROR (niveau le moins détaillé)
-**Valeurs** : Valeur de type entier long positif. Par défaut, la valeur est 8002\.
-**Description** : Numéro du port TCP utilisé par l’interpréteur PHP de 4D. Ce paramètre peut également être défini globalement pour tous les postes via les Propriétés de la base. Pour plus d’informations sur l’interpréteur PHP de 4D, reportez-vous au manuel *Mode Développement*.
+### Diagnostic log recording (79)
-### SSL cipher list (64)
+**Thread-safe** : Yes
**Portée** : Application 4D
-**Conservé entre deux sessions** : Non
-
-**Valeurs possibles** : Suite de chaînes séparées par des deux-points.
-
-**Description :** Liste de chiffrement (*cipher list*) utilisée par 4D pour le protocole sécurisé. Cette liste permet de modifier la priorité des algorithmes de chiffrement mis en oeuvre par 4D.
-
-Par exemple, vous pouvez passer la chaîne suivante dans le paramètre *valeur* : "HIGH:!aNULL:!MD5:!3DES:!CAMELLIA:!AES128:!RSA:!DH:!RC4". Pour une description complète de la syntaxe de la liste de chiffrement, reportez-vous à la *page ciphers sur le site de OpenSSL*.
-
-Ce paramétrage s'applique au principal serveur Web (à l'exclusion des objets Web server), au serveur SQL, aux connexions client/serveur ainsi qu'au client HTTP et aux commandes 4D faisant appel au protocole sécurisé. Ce paramétrage est temporaire (il n'est pas maintenu entre les sessions).
-
-Lorsque la liste de chiffrement a été modifiée, vous devez redémarrer le serveur concerné pour que le nouveau paramétrage soit pris en compte.
-
-Pour réinitialiser la liste de chiffrement à sa valeur par défaut (stockée en dur dans le fichier SLI), appelez la commande [SET DATABASE PARAMETER](set-database-parameter.md) et passez une chaîne vide ("") dans le paramètre *valeur*.
-
-**Note :** Avec la commande [Get database parameter](get-database-parameter.md), la liste de chiffrement est retournée dans le paramètre optionnel *valeurAlpha* et le paramètre de retour vaut toujours 0.
-
-
-
-### Cache unload minimum size (66)
-
-**Portée** : Application 4D
-
-**Conservé entre deux sessions** : Non
-
-**Valeurs possibles** : Entier long positif > 1.
-
-**Description** : Taille minimum de mémoire à libérer du cache de la base de données lorsque le moteur a besoin d’y faire de la place pour y allouer un objet (valeur en octets).
-
-Ce sélecteur a pour but de permettre de réduire le nombre de libérations de données du cache afin d’obtenir des gains de performances. Vous pouvez faire varier ce paramétrage en fonction de la taille du cache et de celle des blocs de données manipulées dans votre base.
-
-Par défaut, si ce sélecteur n’est pas utilisé, 4D décharge au minimum 10 % du cache en cas de besoin de place.
-
-
-
-### Direct2D status (69)
-
-**Portée**: Application 4D
-
-**Conservé entre deux sessions** : Non
-
-**Description** : Mode d’activation de l’implémentation de Direct2D sous Windows.
+**Conservé** **entre deux sessions** : Non
-**Valeurs possibles** : Une des constantes suivantes (mode 3 par défaut) :
+**Valeurs possibles** : 0 ou 1 (0 = ne pas enregistrer, 1 = enregistrer)
-Direct2D disabled (0) : le mode Direct2D n’est pas activé, la base fonctionne dans le mode précédent (GDI/GDIPlus).
+**Description** : Démarrage ou arrêt de l’enregistrement du fichier de diagnostic de 4D. Par défaut, la valeur est 0 (pas d’enregistrement).
-Direct2D hardware (1) : utilisation de Direct2D en contexte graphique matériel dans toute l’application 4D. Si ce contexte n’est pas disponible, utilisation du contexte graphique Direct2D logiciel.
+4D vous permet d’enregistrer de manière continue dans un fichier de diagnostic un ensemble d’événements relatifs au fonctionnement interne de l’application. Les informations contenues dans ce fichier sont destinées à la mise au point des applications 4D et pourront être analysées avec l’aide des services techniques de 4D (pour plus d'informations, reportez-vous à la section *Description des fichiers d'historique* sur *developer.4d.com*). Lorsque vous passez 1 dans ce sélecteur, un fichier de diagnostic est automatiquement créé (ou ouvert) dans le dossier **Logs** de la base. Le fichier est nommé *4DDiagnosticLog\_N*.txt (ou *4DDiagnosticLogServer\_N.*txt s'il est généré sur le serveur). Une fois que le fichier atteint une taille de 10 Mo, il est refermé et un nouveau fichier est généré, avec un numéro séquentiel N incrémenté.
-Direct2D software (3) (Mode par défaut) : à partir de Windows 7, utilisation de Direct2D en contexte graphique logiciel dans toute l’application 4D.
+A noter qu’il est possible d’inclure des informations personnalisées dans ce fichier à l’aide de la commande [LOG EVENT](log-event.md).
-**Attention :* Ce sélecteur est fourni uniquement à des fins de débogage. Etant donné que plusieurs fonctionnalités de 4D dépendent de Direct2D, il ne doit pas être désactivé dans les applications déployées. Seul le mode par défaut (Direct2D software) est approuvé pour les applications déployées.*
@@ -537,221 +374,214 @@ Direct2D software (3) (Mode par défaut) : à partir de Windows 7, utilisation d
**Valeurs possibles** : 0, 1, 2, 3, 4 ou 5 (cf. valeurs du sélecteur 69). La valeur retournée dépend de la disponibilité de Direct2D, du matériel et de la qualité de la prise en charge de Direct2D par le système d’exploitation.
Par exemple, si vous exécutez :
-
+```4d
SET DATABASE PARAMETER(;Direct2D Hardware) $mode:=Get database parameter()
+```
- sur Windows 7 et suivants, *$mode* vaudra 1 si le système détecte un matériel compatible Direct2D, sinon *$mode* vaudra 3 (contexte logiciel).
-
- sur Windows Vista, *$mode* vaudra 1 si le système détecte un matériel compatible Direct2D, sinon *$mode* vaudra 0 (désactivation de Direct2D).
-
- sur Windows XP, *$mode* vaudra toujours 0 (incompatibilité avec Direct2D).
-### Diagnostic log recording (79)
-**Thread-safe** : Yes
+### Direct2D status (69)
-**Portée** : Application 4D
+**Portée**: Application 4D
-**Conservé** **entre deux sessions** : Non
+**Conservé entre deux sessions** : Non
-**Valeurs possibles** : 0 ou 1 (0 = ne pas enregistrer, 1 = enregistrer)
+**Description** : Mode d’activation de l’implémentation de Direct2D sous Windows.
-**Description** : Démarrage ou arrêt de l’enregistrement du fichier de diagnostic de 4D. Par défaut, la valeur est 0 (pas d’enregistrement).
+**Valeurs possibles** : Une des constantes suivantes (mode 3 par défaut) :
-4D vous permet d’enregistrer de manière continue dans un fichier de diagnostic un ensemble d’événements relatifs au fonctionnement interne de l’application. Les informations contenues dans ce fichier sont destinées à la mise au point des applications 4D et pourront être analysées avec l’aide des services techniques de 4D (pour plus d'informations, reportez-vous à la section *Description des fichiers d'historique* sur *developer.4d.com*). Lorsque vous passez 1 dans ce sélecteur, un fichier de diagnostic est automatiquement créé (ou ouvert) dans le dossier **Logs** de la base. Le fichier est nommé *4DDiagnosticLog\_N*.txt (ou *4DDiagnosticLogServer\_N.*txt s'il est généré sur le serveur). Une fois que le fichier atteint une taille de 10 Mo, il est refermé et un nouveau fichier est généré, avec un numéro séquentiel N incrémenté.
+Direct2D disabled (0) : le mode Direct2D n’est pas activé, la base fonctionne dans le mode précédent (GDI/GDIPlus).
-A noter qu’il est possible d’inclure des informations personnalisées dans ce fichier à l’aide de la commande [LOG EVENT](log-event.md).
+Direct2D hardware (1) : utilisation de Direct2D en contexte graphique matériel dans toute l’application 4D. Si ce contexte n’est pas disponible, utilisation du contexte graphique Direct2D logiciel.
+Direct2D software (3) (Mode par défaut) : à partir de Windows 7, utilisation de Direct2D en contexte graphique logiciel dans toute l’application 4D.
+**Attention :* Ce sélecteur est fourni uniquement à des fins de débogage. Etant donné que plusieurs fonctionnalités de 4D dépendent de Direct2D, il ne doit pas être désactivé dans les applications déployées. Seul le mode par défaut (Direct2D software) est approuvé pour les applications déployées.*
-### Log command list (80)
-**Portée** : Application 4D
-**Conservé** **entre deux sessions** : Non
-**Valeurs possibles** : Chaîne contenant la liste des numéros des commandes 4D à enregistrer (séparées par des points-virgules), ou "all" pour enregistrer toutes les commande, ou "" (chaîne vide) pour n’enregistrer aucune commande, ou le préfixe "-" pour exclure des commandes spécifiques.
+### HTTP compression level (50)
-**Description** : Liste des commandes 4D à enregistrer dans le fichier de débogage ou à exclure du fichier de débogage (cf. sélecteur 34, Debug log recording). Par défaut, toutes les commandes 4D sont enregistrées. Ce sélecteur vous permet de restreindre la quantité d’informations stockées dans le fichier de débogage en limitant les commandes 4D dont vous souhaitez enregistrer l’exécution ou bien que vous souhaitez exclure de l'enregistrement. Par exemple, vous pouvez écrire : SET DATABASE PARAMETER(Log command list;"277;341") //enregistrer uniquement les commandes CHERCHER et CHERCHER DANS SELECTION OU SET DATABASE PARAMETER(Log command list;"-1666;-323") //exclure les commandes FIXER ALIAS UTILISATEUR et ENDORMIR PROCESS de l'enregistrement
+**Portée** : Application 4D
+ **Conservé** **entre deux sessions** : Non
+ **Description** : *Constante obsolète (conservée par compatibilité uniquement).* Il est désormais conseillé d'utiliser les commandes [WEB SET OPTION](web-set-option.md) et [WEB GET OPTION](web-get-option.md) pour le paramétrage du serveur HTTP.
-### Spellchecker (81)
-**Portée** : Application 4D
- **Conservé** **entre deux sessions** : Non
- **Valeurs possibles** : 0 (défaut) = correcteur macOS (Hunspell désactivé), 1 = correcteur Hunspell actif.
+### HTTP compression threshold (51)
-**Description** : Permet d’activer le correcteur orthographique Hunspell sous macOS. Par défaut, sur cette plate-forme le correcteur natif est activé. Vous pouvez souhaiter utiliser le correcteur Hunspell par exemple pour unifier l’interface de vos applications multiplates-formes (sous Windows, seul le correcteur Hunspell est disponible). Pour plus d’informations, reportez-vous à la page *Correction orthographique*.
+**Portée** : Application 4D
+ **Conservé** **entre deux sessions** : Non
+ **Description** : *Constante obsolète (conservée par compatibilité uniquement).* Il est désormais conseillé d'utiliser les commandes [WEB SET OPTION](web-set-option.md) et [WEB GET OPTION](web-get-option.md) pour le paramétrage du serveur HTTP.
-### Dates inside objects (85)
-**Portée** : Process courant
- **Conservé** **entre deux sessions** : Non
- **Valeurs possibles** : String type without time zone (0), String type with time zone (1), Date type (2) (défaut)
+### HTTPS Port ID (39)
-**Description** : Définit la manière dont les dates sont stockées dans les objets, ainsi que leur traitement en cas d'importation/exportation en JSON.
+**Portée** :4D local, 4D Server
-Lorsque ce sélecteur vaut Date type (valeur par défaut dans les bases créées à compter de 4D v17), les dates 4D sont stockées avec le type date dans les objets, en tenant compte des paramétrages de date locaux. Lorsqu'ils sont exportés au format JSON, les attributs date seront convertis en chaînes qui ne contiennent pas l'heure (**Note :** ce paramétrage peut être défini au niveau des paramètres de la base via l'option "Utiliser le type date au lieu du format date ISO dans les objets" dans la *Page Compatibilité*).
+ **Conservé** **entre deux sessions** : Oui
-Si vous passez String type with time zone dans ce sélecteur, les dates 4D seront converties en chaînes ISO en tenant compte du fuseau horaire local. Par exemple, la conversion de la date !23/08/2013! donne "2013-08-22T22:00:00Z" au format JSON lorsque l’opération est effectuée en France en été (GMT+2). Ce principe est conforme au fonctionnement standard de JavaScript. Ce fonctionnement peut être source d’erreurs si vous souhaitez envoyer des valeurs de date en JSON à une personne qui se trouve dans un autre fuseau horaire. C’est le cas par exemple pour l’exportation d’une table avec [Selection to JSON](selection-to-json.md) en France destiné à être réimporté aux USA avec [JSON TO SELECTION](json-to-selection.md). Par défaut, les dates étant réinterprétées dans chaque fuseau horaire, les valeurs stockées dans la base seront différentes. Dans ce cas, vous pouvez modifier le mode de conversion des dates afin qu’il ne tienne pas compte du fuseau horaire en passant String type without time zone dans ce sélecteur. La conversion de la date !23/08/2013! donnera alors "2013-08-23T00:00:00Z" dans tous les cas.
+ **Description** : *Constante obsolète (conservée par compatibilité uniquement).* Il est désormais conseillé d'utiliser les commandes [WEB SET OPTION](web-set-option.md) et [WEB GET OPTION](web-get-option.md) pour le paramétrage du serveur HTTP.
-### Diagnostic log level (86)
-**Thread-safe** : Yes
+### Idle connections timeout (54)
-**Portée :** Application 4D
+**Portée** : Application 4D sauf si valeur négative
-**Conservé entre deux sessions :** Non
+**Conservé** **entre deux sessions** : Non
-**Description :** Niveau(x) de messages à inclure dans le journal de diagnostic lorsqu'il est activé (voir le sélecteur Diagnostic log recording). Chaque niveau désigne une catégorie de messages de diagnostic et inclut automatiquement la ou les catégories plus importantes. Pour une description des catégories, consultez la section *Log niveau diagnostic* sur le site *developer.4d.com*.
+**Valeurs possibles** : Valeur entière exprimant une durée en secondes. La valeur peut être positive (nouvelles connexions) ou négative (connexions existantes). Par défaut, la valeur est 20.
-**Valeurs possibles** **:** L'une des constantes suivantes (Log info par défaut): Log trace: active ERROR, WARN, INFO, DEBUG, TRACE (niveau le plus détaillé) Log debug: active ERROR, WARN, INFO, DEBUG Log info: active ERROR, WARN, INFO (par défaut) Log warn: active ERROR, WARN Log error: active ERROR (niveau le moins détaillé)
+**Description** : Délai maximum d’inactivité (timeout) des connexions au moteur de base de données, au serveur SQL de 4D ainsi qu'au serveur d'applications 4D (mode *ServerNet* uniquement, ignoré en *QUIC*). Lorsqu’une connexion inactive atteint ce délai, elle est automatiquement mise en veille, ce qui se traduit par le gel de la session client/serveur et la fermeture du socket réseau. Dans la fenêtre d'administration du serveur, le process utilisateur prend l'état "Postponed". Ce fonctionnement est entièrement transparent pour l’utilisateur : dès qu’il y a reprise d’activité sur la connexion mise en veille, le socket est automatiquement rouvert et la session client/serveur restaurée.
+Ce paramétrage permet, d’une part, d’économiser des ressources sur le serveur : les connexions mises en veille referment le socket et libèrent un processus sur le serveur. D’autre part, il permet d’éviter les pertes de connexions dues aux fermetures par les pare-feux des sockets inactifs. La valeur de timeout des connexions inactives doit pour cela être inférieure à celle du pare-feu.
+Si vous passez une valeur positive dans *valeur*, elle s'applique à toutes les nouvelles connexions dans tous les process. Si vous passez une valeur négative, elle s’applique aux connexions ouvertes dans le process courant. Si vous passez 0, les connexions inactives ne sont pas soumises à un timeout.
-### Use legacy network layer (87)
+Ce paramètre doit être défini côté client. Généralement, vous n'aurez pas besoin de modifier cette valeur.
-**Portée :** 4D local, 4D Server.
-**Conservé entre deux sessions :** Oui
-**Description :** Fixe ou lit le statut courant de l'ancienne couche réseau pour les connexions client/serveur. L'ancienne couche réseau est obsolète à compter de 4D v14 R5 et doit être progressivement remplacée dans vos applications par la couche réseau *ServerNet*. *ServerNet* sera nécessaire dans les prochaines versions de 4D afin de permettre aux applications 4D de tirer parti des futures évolutions réseau. Pour des raisons de compatibilité, l'ancienne couche réseau est toujours prise en charge afin de faciliter la transition des applications existantes (elle reste utilisée par défaut dans les applications converties depuis des versions antérieures à la v14 R5). Passez 1 dans ce paramètre pour utiliser l'ancienne couche réseau (et désactiver *ServerNet*), et passez 0 pour désactiver l'ancienne couche réseau (et utiliser *ServerNet*).
-Cette propriété peut également être définie à l'aide de l'option "Utiliser l'ancienne couche réseau" présente dans la *Page Compatibilité* des Propriétés de la base (voir section *Options réseau et Client-serveur* ; dans cette section, vous trouverez aussi un paragraphe décrivant la stratégie de migration. Nous vous recommandons d'activer *ServerNet* dès que possible).
+### IMAP Log (119)
-Il est nécessaire de redémarrer l'application pour que ce paramètre soit pris en compte.
+**Thread-safe** : Yes
-**Valeurs possibles :** 0 ou 1 (0 = ne pas utiliser l'ancienne couche, 1 = utiliser l'ancienne couche)
+**Portée** : 4D local, 4D Server
-**Valeur par défaut :** 0 dans les applications créées avec 4D v14 R5 ou suivantes, 1 dans les applications converties depuis 4D v14 R4 ou précédentes.
+**Conservé entre deux sessions :** Non
+**Valeurs possibles :** 0 ou de 1 à N (0 = ne pas enregistrer, 1 à N = numéro séquentiel, ajouté au nom du fichier). Par défaut, la valeur est 0 (échanges IMAP non enregistrés).
+**Description :** Démarre ou stoppe l'enregistrement des échanges entre 4D et le serveur IMAP, lorsqu'un objet transporteur est traité via *IMAP\_transporteur.getMail( )* ou *IMAP\_transporteur.checkConnection( )*. Par défaut, la valeur est 0 (échanges non enregistrés). Lorsque ce mécanisme est activé, un fichier journal est créé dans le dossier Journaux de la base de données. Il est nommé 4DIMAPLog\_N.txt, où N est le numéro séquentiel du journal. Une fois que le fichier 4DIMAPLog a atteint une taille de 10 Mo, il est fermé et un nouveau est généré, avec un numéro séquentiel incrémenté. Si un fichier du même nom existe déjà, il est directement remplacé. Vous pouvez définir le numéro de départ de la séquence à l'aide du paramètre value. Par défaut, tous les fichiers sont conservés, mais vous pouvez contrôler le nombre de fichiers à conserver en utilisant le paramètre Circular log limitation.
-### SQL Server Port ID (88)
+Pour plus d'informations sur les fichiers 4DIMAPLog\_N.txt, reportez-vous à la section *Description des fichiers d'historique*.
-**Portée** : 4D mode local et 4D Server.
-**Conservé entre deux sessions** : Oui
-**Description** : Permet de lire ou de fixer le numéro du port TCP utilisé par le serveur SQL intégré de 4D en mode local ou de 4D Server. Par défaut, la valeur est 19812\. Le numéro de port TCP peut également être défini dans la page "SQL" de la boîte de dialogue des Propriétés de la base. Lorsque ce sélecteur est utilisé en écriture, la propriété de la base est mise à jour.
-**Valeurs possibles** : 0 à 65535.
+### Is current database a project (112)
-**Valeur par défaut** : 19812
+**Note :** Vous pouvez utiliser ce sélecteur uniquement à l'aide de la commande [Get database parameter](get-database-parameter.md) et ses valeurs ne peuvent pas être définies.
+**Portée** : Application 4D
+**Description** : Retourne 1 si l'architecture de la base courante est un projet, sinon elle retourne 0\. Pour plus d'informations, veuillez consulter la section *Base projet VS base binaire*.
-### Circular log limitation (90)
-**Thread-safe** : Yes
-**Portée** : 4D local, 4D Server.
-**Conservé entre deux sessions** : Non
+### Is host database a project (113)
-**Valeurs possibles** : Toute valeur entière, 0 = conserver tous les journaux
+**Note :** Vous pouvez utiliser ce sélecteur uniquement à l'aide de la commande [Get database parameter](get-database-parameter.md) et ses valeurs ne peuvent pas être définies.
-**Description** : Nombre maximum de fichiers à conserver par roulement pour chaque type de journal. Par défaut, les 50 fichiers les plus récents sont conservés. Si vous passez une valeur N, seuls les N fichiers les plus récents seront conservés, le plus ancien étant automatiquement effacé à la création d'un nouveau. Ce paramétrage s'applique à tous les fichiers journaux, notamment le journal des requêtes (sélecteurs 28 et 45), le journal de débogage (sélecteur 34), le journal des événements (sélecteur 79), l'historique des requêtes Web (sélecteurs 29 et 84 de la commande [WEB SET OPTION](web-set-option.md)), etc.
+**Portée** : Application 4D
+**Description** : Retourne 1 si l'architecture de la base hôte est un projet, sinon elle retourne 0\. Pour plus d'informations, veuillez consulter la section *Base projet VS base binaire*.
-### Number of formulas in cache (92)
-**Portée** : Application 4D.
-**Conservé entre deux sessions** : Non
+### Is host database writable (117)
-**Valeurs possibles** : Entier long positif
+**Note :** Vous pouvez utiliser ce sélecteur uniquement avec la commande [Get database parameter](get-database-parameter.md) et sa valeur ne peut pas être définie.
-**Valeur par défaut** : 0 (pas de cache)
+**Portée** : Application 4D
-**Description** : Fixe ou lit le nombre maximum de formules à conserver dans le cache des formules, qui est utilisé par la commande [EXECUTE FORMULA](execute-formula.md). Cette limite est appliquée à tous les process, mais chaque process dispose de son propre cache de formules. Placer des formules dans le cache accélère l'exécution de la commande [EXECUTE FORMULA](execute-formula.md) en mode compilé puisque chaque formule en cache est tokenisée une seule fois dans ce cas. Lorsque vous modifiez la valeur du cache, son contenu est réinitialisé même si la nouvelle valeur est supérieure à la précédente. Une fois le nombre maximum de formules en cache atteint, toute nouvelle formule exécutée écrase la plus ancienne dans le cache (mode FIFO). Ce paramètre est pris en compte uniquement dans les bases ou les composants compilés.
+**Description** : Retourne 1 si le fichier de structure ou le fichier de projet de l'hôte est en écriture, et retourne 0 s'il est en lecture seule.
-### OpenSSL version (94)
-**Portée** : Tous postes 4D
+### Libldap version (114)
- **Conservé entre deux sessions** : Non
+**Portée** : Machine 4D courante
-**Description**: Retourne le numéro de version de la bibliothèque OpenSSL utilisée sur le poste. (Lecture seule)
+**Conservé entre deux sessions** : Non
+**Description** : Retourne le numéro de version de la bibliothèque LDAP dans l'application 4D sur la machine locale. (Lecture seule)
-### Cache flush periodicity (95)
-**Thread-safe** : Yes
+### Libsasl version (115)
-Portée : 4D local, 4D Server
+**Portée** : Machine 4D courante
**Conservé entre deux sessions** : Non
-**Valeurs possibles** : entier long > 1 (secondes)
+**Description** : Retourne le numéro de version de la bibliothèque SASL dans l'application 4D sur la machine locale. (Lecture seule)
-**Description** : Permet de lire ou de fixer la valeur courante de périodicité de l'écriture du cache de données sur le disque, exprimée en secondes. Si elle est modifiée, cette valeur remplace la valeur définie par l'option **Ecriture cache toutes les secondes/minutes** dans la [XML DECODE](xml-decode.md) des Propriétés de la base durant la session courante (elle n'est pas stockée dans les Propriétés de la base).
-### Remote connection sleep timeout (98)
+### Libzip version (120)
-**Portée** : Application 4D Server
+**Portée :** Machine 4D courante
-**Conservé entre deux sessions** : Non
+**Conservé entre deux sessions :** n/a
-**Valeurs possibles** : Entier long positif
+**Description :** Retourne le numéro de version de la bibliothèque libzip dans l'application 4D sur la machine courante. (Lecture seule)
-**Description** : Timeout de la connexion à distance en veille, exprimé en secondes. Par défaut, la valeur est 172800 (48 heures). Le délai de mise en veille est appliqué une fois qu'une machine exécutant une application distante 4D est passée en mode veille. Dans ce cas, sa session est maintenue par 4D Server (voir la description de la fonctionnalité ). 4D Server vérifie toutes les 5 minutes si un 4D distant en veille a dépassé le délai de veille, auquel cas il est abandonné. Ainsi, la durée de veille maximale autorisée est la *timeout mise en veille actuel + 300*. Dans certains cas, vous souhaiterez peut-être modifier le délai de mise en veille, pour libérer, par exemple, les enregistrements/licences verrouillés plus rapidement.
-### Tips enabled (101)
+### Log command list (80)
-**Portée :** Application 4D
+**Portée** : Application 4D
-**Conservé entre deux sessions :** Non
+**Conservé** **entre deux sessions** : Non
-**Valeurs possibles :** 0 = message d'aide désactivés, 1 = messages d'aide activés (défaut)
+**Valeurs possibles** : Chaîne contenant la liste des numéros des commandes 4D à enregistrer (séparées par des points-virgules), ou "all" pour enregistrer toutes les commande, ou "" (chaîne vide) pour n’enregistrer aucune commande, ou le préfixe "-" pour exclure des commandes spécifiques.
-**Description :** Définit ou récupère l'état d'affichage des messages d'aide dans l'application 4D. Par défaut, les messages d'aide sont activées.
+**Description** : Liste des commandes 4D à enregistrer dans le fichier de débogage ou à exclure du fichier de débogage (cf. sélecteur 34, Debug log recording). Par défaut, toutes les commandes 4D sont enregistrées. Ce sélecteur vous permet de restreindre la quantité d’informations stockées dans le fichier de débogage en limitant les commandes 4D dont vous souhaitez enregistrer l’exécution ou bien que vous souhaitez exclure de l'enregistrement. Par exemple, vous pouvez écrire :
- Notez que ce paramètre fixe tous les messages d'aides, c'est-à-dire les messages d'aide des formulaires et ceux de l'éditeur du mode Développement.
+```4d
+//enregistrer uniquement les commandes QUERY et QUERY SELECTION
+SET DATABASE PARAMETER(Log command list;"277;341")
+```
+OU
+```4d
+//exclure les commandes SET USER ALIAS et DELAY PROCESS de l'enregistrement
+SET DATABASE PARAMETER(Log command list;"-1666;-323")
+```
-### Tips delay (102)
+### Max concurrent Web processes (18)
-**Portée :** Application 4D
+**Portée** : 4D local, 4D Server
-**Conservé entre deux sessions :** Non
+**Conservé entre deux sessions** : Oui
-**Valeurs possibles :** entier long >= 0 (ticks)
+**Description** : *Constante obsolète (conservée par compatibilité uniquement).* Il est désormais conseillé d'utiliser les commandes [WEB SET OPTION](web-set-option.md) et [WEB GET OPTION](web-get-option.md) pour le paramétrage du serveur HTTP.
-**Description :** délai avant que les messages d'aide soient affichés une fois que le curseur de la souris est arrêté sur les objets avec message d'aide. La valeur est exprimée en ticks (1/60e de seconde). La valeur par défaut est de 45 ticks (0,75 seconde).
-### Tips duration (103)
+### Maximum Web requests size (27)
-**Portée :** Application 4D
+**Portée** : 4D local, 4D Server
-**Conservé entre deux sessions :** Non
+ **Conservé** **entre deux sessions** : Oui
-**Valeurs possibles :** entier long >= 60 (ticks)
+ **Description** : *Constante obsolète (conservée par compatibilité uniquement).* Il est désormais conseillé d'utiliser les commandes [WEB SET OPTION](web-set-option.md) et [WEB GET OPTION](web-get-option.md) pour le paramétrage du serveur HTTP.
-**Description :** Durée maximum de l'affichage du message d'aide. La valeur est exprimée en ticks (1/60e de seconde). La valeur par défaut est de 720 ticks (12 secondes).
@@ -773,166 +603,173 @@ Portée : 4D local, 4D Server
-### User param value (108)
-**Portée :** 4D local, 4D Server
+### Number of formulas in cache (92)
+
+**Portée** : Application 4D.
-**Conservé entre deux sessions :** Non
+**Conservé entre deux sessions** : Non
-**Valeurs possibles** : Toute chaîne personnalisée
+**Valeurs possibles** : Entier long positif
-**Description :** Chaîne personnalisée passée d'une session à la suivante lorsque l'application 4D est redémarrée. Ce sélecteur est utile dans les cas où des tests unitaires automatisés nécessitent que les applications redémarrent avec des paramètres différents.
+**Valeur par défaut** : 0 (pas de cache)
-Avec [SET DATABASE PARAMETER](set-database-parameter.md), définit une nouvelle valeur qui sera disponible dans la prochaine base de données ouverte après le redémarrage manuel de 4D or l'utilisation des commandes [OPEN DATABASE](open-database.md)(\*), [OPEN DATA FILE](open-data-file.md), ou [RESTART 4D](restart-4d.md). Avec [Get database parameter](get-database-parameter.md), retourne la valeur User param courante définie à l'aide d'une ligne de commande (voir *Interface ligne de commande*), un fichier .4DLink (voir *Utiliser un fichier 4DLink*), ou un appel à [SET DATABASE PARAMETER](set-database-parameter.md) durant la session précédente. (\*) Si [SET DATABASE PARAMETER](set-database-parameter.md) fixe une User param value avant d'appeler [OPEN DATABASE](open-database.md) à l'aide d'un fichier .4DLink contenant également un attribut xml user-param xml, 4D ne tient compte que du paramètre fourni par [SET DATABASE PARAMETER](set-database-parameter.md).
+**Description** : Fixe ou lit le nombre maximum de formules à conserver dans le cache des formules, qui est utilisé par la commande [EXECUTE FORMULA](execute-formula.md). Cette limite est appliquée à tous les process, mais chaque process dispose de son propre cache de formules. Placer des formules dans le cache accélère l'exécution de la commande [EXECUTE FORMULA](execute-formula.md) en mode compilé puisque chaque formule en cache est tokenisée une seule fois dans ce cas. Lorsque vous modifiez la valeur du cache, son contenu est réinitialisé même si la nouvelle valeur est supérieure à la précédente. Une fois le nombre maximum de formules en cache atteint, toute nouvelle formule exécutée écrase la plus ancienne dans le cache (mode FIFO). Ce paramètre est pris en compte uniquement dans les bases ou les composants compilés.
-### Times inside objects (109)
-Portée : 4D local, 4D Server (tous process)
+### OpenSSL version (94)
-**Conservé entre deux sessions** : Oui
+**Portée** : Tous postes 4D
- **Valeurs possibles** : Times in seconds (0) (défaut), Times in milliseconds (1)
+ **Conservé entre deux sessions** : Non
-**Description** : Définit la manière dont les valeurs de type heure sont converties et stockées dans les propriétés d'objets et les éléments de collections, ainsi que lors des imports/exports JSON et via les zones Web. Par défaut, à compter de 4D v17, les heures sont converties et stockées en nombre de secondes.
+**Description**: Retourne le numéro de version de la bibliothèque OpenSSL utilisée sur le poste. (Lecture seule)
-Dans les versions précédentes, les heures étaient converties et stockées en nombre de millisecondes dans ces contextes. L'utilisation de ce sélecteur peut vous aider lors de la migration de vos applications en rétablissant le fonctionnement précédent lorsque c'est nécessaire.
-**Note** : Les méthodes ORDA et le moteur SQL ne tiennent pas compte de ce paramétrage, ces deux environnements manipulent toujours les heures en nombre de secondes.
+### Order by formula on server (47)
-### SMTP Log (110)
+**Portée** :Table et process courants
-**Thread-safe** : Yes
+ **Conservé** **entre deux sessions** : Non
-Portée : 4D local, 4D Server*
+ **Valeurs possibles** : 0 (utiliser le paramétrage de la base), 1 (exécuter sur le client) ou 2 (exécuter sur le serveur)
+
+**Description** : Emplacement de l’exécution de la commande [ORDER BY FORMULA](order-by-formula.md) pour la table passée en paramètre.
-* **Conservé entre deux sessions** : Non
+Dans le cadre de l’exploitation d’une base en client-serveur, la commande [ORDER BY FORMULA](order-by-formula.md) peut être exécutée soit sur le serveur soit sur le client. Ce sélecteur permet de définir l’emplacement de l’exécution de cette commande (serveur ou client). Ce mode peut également être défini dans les préférences de la base. Pour plus d’informations, reportez-vous à la description du sélecteur 46, Query by formula on server.
-**Valeurs possibles** : 0 ou de 1 à N (0 = ne pas enregistrer, 1 à N = numéro séquentiel, accolé au nom du fichier). Par défaut, la valeur est 0 (pas d'enregistrement des échanges SMTP).
+**Note :** Si vous souhaitez pouvoir activer les jointures "type SQL" (cf. sélecteur Query by formula joins), vous devez toujours exécuter les formules sur le serveur afin qu'elle ait accès aux enregistrements. Attention, dans ce contexte, la formule ne doit pas contenir d'appel à une méthode, sinon elle est automatiquement basculée sur le poste distant.
-**Description** : Démarrage ou arrêt de l'enregistrement des échanges entre 4D et le serveur SMTP, lorsqu'un objet *transporteur* est traité par *transporteur.send( )* ou *SMTP\_transporteur.checkConnection( )*. Par défaut, la valeur est 0 (pas d'enregistrement des échanges SMTP). Lorsque ce mécanisme est activé, un fichier d'historique est créé dans le dossier Logs de la base. Il est nommé 4DSMTPLog\_X.txt, *où N* est le numéro séquentiel de l'historique. Une fois qu'un fichier atteint une taille de 10 Mo, il est refermé et un nouveau fichier est généré, avec un numéro séquentiel incrémenté. Si un fichier du même nom existe déjà, il est directement remplacé. Vous pouvez définir le numéro de départ de la séquence à l'aide du paramètre *valeur*. Par défaut, tous les fichiers sont conservés, mais vous pouvez gérer le nombre de fichier à conserver à l'aide du paramètre Circular log limitation.
-Pour plus d'informations sur les fichiers 4DSMTPLog\_X.txt, veuillez consulter la section *Description des fichiers d'historique*.
+### Pause logging (121)
-### Current process debug log recording (111)
+**Thread-safe** : Yes
**Portée :** Application 4D
**Conservé entre deux sessions :** Non
-**Description** : Démarrage ou arrêt de l'enregistrement séquentiel des événements de programmation **du process courant** dans un fichier d'historique séparé. Cet historique est semblable à Debug log recording (sélecteur 34) mais il ne porte que sur le process courant. Le nom du fichier d'historique inclut la lettre "p" et le numéro du process : 4DDebugLog\[\_p*N*_*n*].txt, où N est l'ID unique du process. Pour plus d'informations sur ce format et sur l'utilisation du fichier *4DDebugLog*, veuillez consulter la *Description des fichiers d'historique* dans le Mode Développement.
+**Valeurs possibles :** 0 (reprise des journaux), 1 (pause des journaux)
-**Notes :** Ce sélecteur est fourni uniquement à des fins de débogage et doit être utilisé avec précaution. Plus particulièrement, il ne doit pas être utilisé en production, étant donné qu'il peut avoir une incidence sur les performances de l'application. Vous pouvez utiliser simultanément les sélecteurs Debug log recording et Current process debug log recording, auquel cas les actions liées au process courant ne seront pas enregistrées dans le fichier d'historique principal.
+Ce sélecteur permet de suspendre/reprendre toutes les opérations de journalisation lancées sur l'application (à l'exception des journaux ORDA). Cette fonction peut être utile pour alléger temporairement les tâches de l'application 4D ou pour planifier les opérations des journaux.
-### Is current database a project (112)
+### PHP interpreter IP address (55)
-**Note :** Vous pouvez utiliser ce sélecteur uniquement à l'aide de la commande [Get database parameter](get-database-parameter.md) et ses valeurs ne peuvent pas être définies.
+**Portée** :Application 4D
-**Portée** : Application 4D
+ **Conservé** **entre deux sessions** : Non
-**Description** : Retourne 1 si l'architecture de la base courante est un projet, sinon elle retourne 0\. Pour plus d'informations, veuillez consulter la section *Base projet VS base binaire*.
+**Valeurs** : Chaîne formatée en IPv4 (par exemple "127.0.0.1") ou en IPv6 (par exemple "2001:0db8:0000:0000:0000:ff00:0042:8329")
+**Description** : Adresse IP utilisée localement par 4D pour communiquer avec l’interpéteur PHP via fastcgi. Par défaut, la valeur est "127.0.0.1" (les adresses au format IPv6 sont prises en charge à compter de 4D v16R4).. Cette adresse doit correspondre à la machine sur laquelle se trouve 4D. Ce paramètre peut également être défini globalement pour tous les postes via les Propriétés de la base.
+Pour plus d’informations sur l’interpréteur PHP de 4D, reportez-vous au manuel *Mode Développement*.
-### Is host database a project (113)
-**Note :** Vous pouvez utiliser ce sélecteur uniquement à l'aide de la commande [Get database parameter](get-database-parameter.md) et ses valeurs ne peuvent pas être définies.
-**Portée** : Application 4D
-**Description** : Retourne 1 si l'architecture de la base hôte est un projet, sinon elle retourne 0\. Pour plus d'informations, veuillez consulter la section *Base projet VS base binaire*.
+### PHP interpreter port (56)
+**Portée** :Application 4D
+ **Conservé** **entre deux sessions** : Non
-### Libldap version (114)
+**Valeurs** : Valeur de type entier long positif. Par défaut, la valeur est 8002\.
-**Portée** : Machine 4D courante
+**Description** : Numéro du port TCP utilisé par l’interpréteur PHP de 4D. Ce paramètre peut également être défini globalement pour tous les postes via les Propriétés de la base. Pour plus d’informations sur l’interpréteur PHP de 4D, reportez-vous au manuel *Mode Développement*.
-**Conservé entre deux sessions** : Non
-**Description** : Retourne le numéro de version de la bibliothèque LDAP dans l'application 4D sur la machine locale. (Lecture seule)
+### POP3 Log (116)
-### Libsasl version (115)
+**Thread-safe** : Yes
-**Portée** : Machine 4D courante
+Portée : 4D local, 4D Server
**Conservé entre deux sessions** : Non
-**Description** : Retourne le numéro de version de la bibliothèque SASL dans l'application 4D sur la machine locale. (Lecture seule)
+**Valeurs possibles** : 0 ou de 1 à N (0 = ne pas enregistrer, 1 à N = numéro séquentiel, accolé au nom du fichier). Par défaut, la valeur est 0 (pas d'enregistrement des échanges POP3).
+**Description** : Démarrage ou arrêt de l'enregistrement des échanges entre 4D et le serveur POP3, lorsqu'un objet *transporteur* est traité par *POP3\_transporteur.getMail( )* ou *POP3\_transporteur.checkConnection( )*. Par défaut, la valeur est 0 (pas d'enregistrement des échanges POP3). Lorsque ce mécanisme est activé, un fichier d'historique est créé dans le dossier Logs de la base. Il est nommé 4DPOP3Log\_X.txt, *où N* est le numéro séquentiel de l'historique. Une fois qu'un fichier atteint une taille de 10 Mo, il est refermé et un nouveau fichier est généré, avec un numéro séquentiel incrémenté. Si un fichier du même nom existe déjà, il est directement remplacé. Vous pouvez définir le numéro de départ de la séquence à l'aide du paramètre *valeur*. Par défaut, tous les fichiers sont conservés, mais vous pouvez gérer le nombre de fichier à conserver à l'aide du paramètre Circular log limitation. Pour plus d'informations sur les fichiers 4DPOP3Log\_X.txt, veuillez consulter la section *Description des fichiers d'historique*.
-### POP3 Log (116)
-**Thread-safe** : Yes
-Portée : 4D local, 4D Server
+### Port ID (15)
+
+**Portée** : 4D local, 4D Server
**Conservé entre deux sessions** : Non
-**Valeurs possibles** : 0 ou de 1 à N (0 = ne pas enregistrer, 1 à N = numéro séquentiel, accolé au nom du fichier). Par défaut, la valeur est 0 (pas d'enregistrement des échanges POP3).
+**Description** : Numéro du port TCP utilisé par le serveur Web 4D avec 4D en mode local et 4D Server. Par défaut, la valeur est 80\.
-**Description** : Démarrage ou arrêt de l'enregistrement des échanges entre 4D et le serveur POP3, lorsqu'un objet *transporteur* est traité par *POP3\_transporteur.getMail( )* ou *POP3\_transporteur.checkConnection( )*. Par défaut, la valeur est 0 (pas d'enregistrement des échanges POP3). Lorsque ce mécanisme est activé, un fichier d'historique est créé dans le dossier Logs de la base. Il est nommé 4DPOP3Log\_X.txt, *où N* est le numéro séquentiel de l'historique. Une fois qu'un fichier atteint une taille de 10 Mo, il est refermé et un nouveau fichier est généré, avec un numéro séquentiel incrémenté. Si un fichier du même nom existe déjà, il est directement remplacé. Vous pouvez définir le numéro de départ de la séquence à l'aide du paramètre *valeur*. Par défaut, tous les fichiers sont conservés, mais vous pouvez gérer le nombre de fichier à conserver à l'aide du paramètre Circular log limitation. Pour plus d'informations sur les fichiers 4DPOP3Log\_X.txt, veuillez consulter la section *Description des fichiers d'historique*.
+Le numéro de port TCP est défini dans la page “Web/Configuration” de la boîte de dialogue des Propriétés de la base. Vous pouvez utiliser les constantes du thème *Numéros de port TCP* pour le paramètre *valeur*.
+Le sélecteur Port ID est utile dans le cadre de serveurs Web 4D compilés et fusionnés avec 4D Desktop (pas d’accès au mode Développement). Pour plus d’informations sur le numéro de port TCP, reportez-vous à la section *Paramétrages du serveur Web*.
-### Is host database writable (117)
-**Note :** Vous pouvez utiliser ce sélecteur uniquement avec la commande [Get database parameter](get-database-parameter.md) et sa valeur ne peut pas être définie.
-**Portée** : Application 4D
+### Query by formula joins (49)
-**Description** : Retourne 1 si le fichier de structure ou le fichier de projet de l'hôte est en écriture, et retourne 0 s'il est en lecture seule.
+**Portée** :Process courant
+ **Conservé** **entre deux sessions** : Non
+ **Valeurs possibles** : 0 (utiliser paramétrages de la base), 1 (toujours utiliser les liens auto) ou 2 (utiliser les jointures SQL si possible).
-### IMAP Log (119)
+**Description** : Mode de fonctionnement des commandes [QUERY BY FORMULA](query-by-formula.md) et [QUERY SELECTION BY FORMULA](query-selection-by-formula.md) relatif à l’utilisation de "jointures SQL".
-**Thread-safe** : Yes
+Dans les bases de données créées à compter de la version 11.2 de 4D v11 SQL, ces commandes effectuent des jointures sur le modèle des jointures SQL. Ce mécanisme permet de modifier la sélection d’une table en fonction d’une recherche effectuée sur une autre table sans que les tables soient reliées par un lien automatique (condition nécessaire dans les versions précédentes de 4D).
-**Portée** : 4D local, 4D Server
+Le sélecteur Query by formula joins vous permet de définir le mode de fonctionnement des commandes de recherche par formule pour le process courant :
-**Conservé entre deux sessions :** Non
+0 : utiliser les paramètres courants de la base (valeur par défaut). Dans les bases de données créées à compter de la version 11.2 de 4D v11 SQL, les "jointures SQL" sont toujours activées pour les recherches par formule. Dans les bases de données converties, ce mécanisme est inactivé par défaut pour des raisons des compatibilité mais peut être mis en oeuvre via une préférence.1 : toujours utiliser les liens auto (= fonctionnement des versions précédentes de 4D). Dans ce mode, un lien est nécessaire pour définir la sélection d’une table en fonction de recherches effectuées dans une autre table. 4D n’effectue pas de "jointures SQL".2 : utiliser les jointures SQL si possible (= fonctionnement par défaut des bases créées en version 11.2 et suivantes de 4D v11 SQL). Dans ce mode, 4D établit des "jointures SQL" pour les recherches par formule lorsque la formule s’y prête (à deux exceptions près, voir la description de la commande commandes [QUERY BY FORMULA](query-by-formula.md) ou [QUERY SELECTION BY FORMULA](query-selection-by-formula.md). **Note :** Avec 4D en mode distant, les "jointures SQL" ne peuvent être utilisées que si les formules sont exécutées sur le serveur (elles doivent avoir accès aux enregistrements). Pour configurer le lieu d'exécution des formules, reportez-vous aux sélecteurs 46 et 47.
-**Valeurs possibles :** 0 ou de 1 à N (0 = ne pas enregistrer, 1 à N = numéro séquentiel, ajouté au nom du fichier). Par défaut, la valeur est 0 (échanges IMAP non enregistrés).
-**Description :** Démarre ou stoppe l'enregistrement des échanges entre 4D et le serveur IMAP, lorsqu'un objet transporteur est traité via *IMAP\_transporteur.getMail( )* ou *IMAP\_transporteur.checkConnection( )*. Par défaut, la valeur est 0 (échanges non enregistrés). Lorsque ce mécanisme est activé, un fichier journal est créé dans le dossier Journaux de la base de données. Il est nommé 4DIMAPLog\_N.txt, où N est le numéro séquentiel du journal. Une fois que le fichier 4DIMAPLog a atteint une taille de 10 Mo, il est fermé et un nouveau est généré, avec un numéro séquentiel incrémenté. Si un fichier du même nom existe déjà, il est directement remplacé. Vous pouvez définir le numéro de départ de la séquence à l'aide du paramètre value. Par défaut, tous les fichiers sont conservés, mais vous pouvez contrôler le nombre de fichiers à conserver en utilisant le paramètre Circular log limitation.
-Pour plus d'informations sur les fichiers 4DIMAPLog\_N.txt, reportez-vous à la section *Description des fichiers d'historique*.
+### Query by formula on server (46)
+**Portée** :Table et process courants
-### Libzip version (120)
+ **Conservé** **entre deux sessions** : Non
-**Portée :** Machine 4D courante
+ **Valeurs possibles** : 0 (utiliser le paramétrage de la base), 1 (exécuter sur le client) ou 2 (exécuter sur le serveur)
-**Conservé entre deux sessions :** n/a
+**Description** : Emplacement de l’exécution des commandes [QUERY BY FORMULA](query-by-formula.md) et [QUERY SELECTION BY FORMULA](query-selection-by-formula.md) pour la *table* passée en paramètre.
-**Description :** Retourne le numéro de version de la bibliothèque libzip dans l'application 4D sur la machine courante. (Lecture seule)
+Dans le cadre de l’exploitation d’une base en client-serveur, les commandes de recherche "par formule" peuvent exécutées soit sur le serveur soit sur le client :
+dans les bases de données créées à partir de 4D v11 SQL, ces commandes sont exécutées sur le serveur. dans les bases de données converties, ces commandes sont exécutées sur le client, comme dans les versions précédentes de 4D.dans les bases de données converties, une préférence spécifique permet de modifier globalement le lieu d’exécution de ces commandes.Cette différence de lieu d’exécution influe sur les performances de l’application (l’exécution sur le serveur est généralement plus rapide) mais également sur la programmation. En effet, la valeur des composantes de la formule (notamment les variables appelées via une méthode) diffère suivant le contexte d’exécution. Vous pouvez utiliser ce sélecteur pour adapter ponctuellement le fonctionnement de votre application.
+
+Si vous passez 0 dans le paramètre *valeur*, l’emplacement d’exécution des commandes de recherche "par formule" dépendra de la configuration de la base : dans les bases créées avec 4D v11 SQL, les commandes seront exécutées sur le serveur. Dans les bases converties, elles seront exécutées sur le client ou le serveur en fonction des préférences de la base. Passez 1 ou 2 dans *valeur* pour "forcer" l’exécution des commandes respectivement sur le client ou sur le serveur.
+
+Reportez-vous à l'exemple 2.
+
+**Note :** Si vous souhaitez pouvoir activer les jointures "type SQL" (cf. sélecteur Query by formula joins), vous devez toujours exécuter les formules sur le serveur afin qu'elle ait accès aux enregistrements. Attention, dans ce contexte, la formule ne doit pas contenir d'appel à une méthode, sinon elle est automatiquement basculée sur le poste distant.
-### Pause logging (121)
-**Thread-safe** : Yes
+
+### RDP optimization (133)
**Portée :** Application 4D
**Conservé entre deux sessions :** Non
-**Valeurs possibles :** 0 (reprise des journaux), 1 (pause des journaux)
-
-Ce sélecteur permet de suspendre/reprendre toutes les opérations de journalisation lancées sur l'application (à l'exception des journaux ORDA). Cette fonction peut être utile pour alléger temporairement les tâches de l'application 4D ou pour planifier les opérations des journaux.
+**Valeurs possibles :** `0`: Désactivé (défaut), `1`: Activé.
+**Description :** Active ou désactive les optimisations pour RDP (Remote Desktop Protocol). Lorsqu'il est activé, optimise en particulier l'utilisation du presse-papiers partagé dans les connexions RDP, qui peut sinon entraîner des problèmes de blocage. Notez que ce sélecteur désactive la prise en charge dans le presse-papiers des images encodées en tant que data uri dans du texte brut (concerne uniquement les images déposées ou copiées explicitement en tant que texte à partir d'un navigateur).
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/commands-legacy/open-window.md b/i18n/fr/docusaurus-plugin-content-docs/current/commands-legacy/open-window.md
index 0a7eb940767333..9f4b980fa4a6ae 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/current/commands-legacy/open-window.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/commands-legacy/open-window.md
@@ -38,7 +38,24 @@ Si vous passez -1 dans *droite* et *bas*, vous indiquez à 4D qu'il faut redimen
**Important :** Ce dimensionnement automatique de la fenêtre n'aura lieu que si vous avez au préalable appelé la commande [FORM SET INPUT](form-set-input.md) pour le formulaire que vous allez afficher dans la fenêtre, et si vous lui avez passé le paramètre optionnel \*.
-* Le paramètre *type* est optionnel. Il définit le type de fenêtre que vous souhaitez afficher, et correspond aux différentes fenêtres présentées dans la section *Types de fenêtres (compatibilité)* (constantes du thème *Creer fenetre*). Si le type passé est négatif, la fenêtre sera flottante. Si le type n'est pas spécifié, le type 1 est utilisé par défaut.
+* Le paramètre *type* est optionnel. Il définit le type de fenêtre que vous souhaitez afficher. Si le type passé est négatif, la fenêtre sera flottante (si pris en charge). Si le type n'est pas spécifié, le type 1 est utilisé par défaut. Les constantes suivantes du thème "Open window" sont utilisables :
+
+|Constante|Commentaire|
+|---|---|
+|Alternate dialog box|Utilisable en fenêtre flottante|
+|Has full screen mode Mac|Option à ajouter aux fenêtres de type document sur macOS uniquement (ex : `Plain form window+Form has full screen mode Mac`)|
+|Modal dialog box ||
+|Movable dialog box |Utilisable en fenêtre flottante|
+|Palette window|Utilisable en fenêtre flottanteNon redimensionnable : `-(Palette window+2)` (Windows) ou ` -Palette window` (macOS)Redimensionnable : `-(Palette window+6)`|
+|Plain dialog box |Utilisable en fenêtre flottante|
+|Plain fixed size window||
+|Plain no zoom box window||
+|Pop up window||
+|Plain window||
+|Resizable sheet window||
+|Round corner window ||
+|Sheet window||
+|Texture appearance|Option à ajouter à un type de fenêtre sur macOS uniquement. Types compatibles : `Plain window`, `Plain no zoom box window`, `Plain fixed size window`, `Movable dialog box`, `Round corner window`|
* Le paramètre *titre* indique le titre (optionnel) de la fenêtre.
Si vous passez une chaîne de caractères vide ("") dans *titre*, vous indiquez à 4D d'utiliser les valeurs saisies dans la zone **Nom de la fenêtre** de la fenêtre des Propriétés du formulaire en mode Développement pour le titre du formulaire que vous allez afficher dans la fenêtre.
@@ -58,21 +75,19 @@ La méthode projet suivante ouvre une fenêtre centrée dans la fenêtre princip
```4d
// Méthode projet OUVRIR FENETRE CENTREE
- // $1 – Largeur de la fenêtre
- // $2 – Hauteur de la fenêtre
- // $3 – Type de la fenêtre (optionnel)
- // $4 – Titre de la fenêtre (optionnel)
- $SW:=Screen width\2
+ #DECLARE($width : Integer; $height : Integer; $type : Integer; $title : Text)
+ var $SW; $SH; $WW; $WH : Integer
+ $SW:=Screen width\2
$SH:=(Screen height\2)-10
- $WW:=$1\2
- $WH:=$2\2
+ $WW:=$width\2
+ $WH:=$height\2
Case of
:(Count parameters=2)
Open window($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH)
:(Count parameters=3)
- Open window($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH;$3)
+ Open window($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH;$type)
:(Count parameters=4)
- Open window($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH;$3;$4)
+ Open window($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH;$type;$title)
End case
```
@@ -92,7 +107,8 @@ Une fois que cette méthode projet est écrite, vous pouvez l'utiliser de la man
L'exemple suivant crée une fenêtre flottante comportant une case de menu système (sous Windows) ou une case de fermeture (sous Mac OS). La fenêtre est créée dans le coin supérieur droit de la fenêtre de l'application.
```4d
- $mafenetre:=Open window(Screen width-149;33;Screen width-4;178;-Palette window;"";"caseFermeture")
+var $mafenetre : Integer
+$mafenetre:=Open window(Screen width-149;33;Screen width-4;178;-Palette window;"";"caseFermeture")
DIALOG([Dialogues];"Palette de couleurs")
```
@@ -107,7 +123,8 @@ La méthode *caseFermeture* appelle la commande [CANCEL](cancel.md) :
L'exemple suivant ouvre une fenêtre dont le titre et la taille proviennent des propriétés du formulaire affiché dans la fenêtre :
```4d
- FORM SET INPUT([Clients];"Ajout d'enregistrements";*)
+ var $mafenetre : Integer
+ FORM SET INPUT([Clients];"Ajout d'enregistrements";*)
$mafenetre:=Open window(10;80;-1;-1;Plain window;"")
Repeat
ADD RECORD([Clients])
@@ -123,7 +140,8 @@ L'exemple suivant ouvre une fenêtre dont le titre et la taille proviennent des
Cet exemple illustre le mécanisme de “retard” d’affichage des fenêtres feuille sous macOS :
```4d
- $maFenêtre:=Open window(10;10;400;400;Sheet window)
+ var $mafenetre : Integer
+ $mafenetre:=Open window(10;10;400;400;Sheet window)
//A cet instant la fenêtre est créée mais reste invisible
DIALOG([Table];"formDial")
//L’événement Sur chargement est généré puis la fenêtre feuille est affichée, elle "descend"
@@ -133,7 +151,6 @@ Cet exemple illustre le mécanisme de “retard” d’affichage des fenêtres f
## Voir aussi
[CLOSE WINDOW](close-window.md)
-*Creer fenetre*
[Open form window](open-form-window.md)
## Propriétés
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/commands-legacy/query-by-attribute.md b/i18n/fr/docusaurus-plugin-content-docs/current/commands-legacy/query-by-attribute.md
index 409a9a671ef5d0..fd62c5cf520e20 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/current/commands-legacy/query-by-attribute.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/commands-legacy/query-by-attribute.md
@@ -10,10 +10,10 @@ displayed_sidebar: docs
| Paramètre | Type | | Description |
| --- | --- | --- | --- |
| laTable | Table | → | Table dans laquelle la sélection est créée ou Table par défaut si ce paramètre est omis |
-| opConj | * | → | Opérateur à utiliser pour combiner plusieurs requêtes (le cas échéant) |
+| opConj | Operator | → | Opérateur à utiliser pour combiner plusieurs requêtes (le cas échéant) |
| champObjet | Field | → | Champ objet dont les attributs sont à utiliser pour la recherche |
| cheminAttribut | Text | → | Nom ou chemin d'attribut |
-| opRech | Text, * | → | Opérateur de recherche (comparateur) |
+| opRech | Text, Operator | → | Opérateur de recherche (comparateur) |
| valeur | Text, Number, Date, Time | → | Valeur à comparer |
| * | Opérateur | → | Attente d'exécution de la recherche |
@@ -65,7 +65,7 @@ La *valeur* représente ce qui va être comparé au contenu de *cheminAttribut*.
Voici la structure type d'une recherche par attribut :
```4d
- QUERY BY ATTRIBUTE([Table] ;[Table]ChampObjet ;"attribut1.attribut2";=;valeur)
+ QUERY BY ATTRIBUTE([Table] ;[Table]ChampObjet ;"attribut1.attribut2";=;valeur)
```
**Note :** La présence de l'attribut dans le champ objet est un critère implicite pour tous les opérateurs (hormis #). En revanche, pour l'opérateur #, il peut être indéfini (cf. ci-dessous).
@@ -75,7 +75,7 @@ Voici la structure type d'une recherche par attribut :
Lorsque vous effectuez une recherche par attribut à l'aide de l'opérateur #, vous devez prendre en considération les cas où un attribut n'est pas présent dans un enregistrement. Considérons par exemple ce qui suit :
```4d
- QUERY BY ATTRIBUTE([Personnes];[Personnes]Animaux;"chien.nom";#;"Médor")
+ QUERY BY ATTRIBUTE([Personnes];[Personnes]Animaux;"chien.nom";#;"Médor")
```
Cette recherche retournera les enregistrements des personnes ayant un chien dont le nom n'est pas "Médor", mais ne retournera PAS les les enregistrements des personnes n'ayant pas de chien, ou ayant un chien sans nom, c'est-à-dire les enregistrements pour lesquels la valeur de la proprité "chien.nom" est **null**. Le concept est le suivant : le moteur de recherche ne peut pas comparer l'incomparable, à savoir les données manquantes ou inexistantes. Ainsi, les enregistrements qui ne peuvent pas être comparés aux critères de recherche sont exclus de la recherche.
@@ -83,7 +83,7 @@ Cette recherche retournera les enregistrements des personnes ayant un chien dont
Voici un exemple plus générique :
```4d
- QUERY BY ATTRIBUTE([Table];[Table]ChampObjet;"attribut1.attribut2";#;valeur)
+ QUERY BY ATTRIBUTE([Table];[Table]ChampObjet;"attribut1.attribut2";#;valeur)
```
@@ -95,7 +95,7 @@ Cette recherche retournera tous les enregistrements pour lesquels *\[Table\]Cham
Ce principe s'applique également aux attributs tableaux. Par exemple, la recherche retournera les enregistrements des personnes ayant une ou plusieurs adresses, mais n'ayant aucune adresse à Paris.
```4d
- QUERY BY ATTRIBUTE([Personnes];[Personnes]OB_Field;"locations[].city";#;"paris")
+ QUERY BY ATTRIBUTE([Personnes];[Personnes]OB_Field;"locations[].city";#;"paris")
```
@@ -129,20 +129,20 @@ Les dates sont stockées dans les objets en fonction des paramètres de la base
Ce paramétrage est également respecté durant les recherches, donc vous n'avez pas à vous en préoccuper si vous utilisez toujours votre base dans la même zone et si les paramètres sont identiques sur chaque machine qui accède aux données. Dans ce contexte, la recherche suivante retournera bien les enregistrements dont l'attribut Anniversaire est égal à !1973-05-22! (stocké "1973-05-21T23:00:00.00Z") :
```4d
- QUERY BY ATTRIBUTE([Personnes];[Personnes]OB_Info;"Anniversaire";=;!1973-05-22!)
+ QUERY BY ATTRIBUTE([Personnes];[Personnes]OB_Info;"Anniversaire";=;!1973-05-22!)
```
Si vous ne souhaitez pas utiliser le paramétrage GMT, vous pouvez exécuter l'instruction suivante :
```4d
- SET DATABASE PARAMETER(JSON use local time;0)
+ SET DATABASE PARAMETER(JSON use local time;0)
```
Attention, la portée de ce paramètre est limitée au process. Si vous exécutez cette instruction, le 1er Octobre 1965 sera stocké "1965-10-01T00:00:00.000Z" mais vous devrez fixer le même paramètre avant de lancer vos recherches :
```4d
- SET DATABASE PARAMETER(JSON use local time;0)
- QUERY BY ATTRIBUTE([Personnes];[Personnes]OB_Info;"Anniversaire";=;1976-11-27!)
+ SET DATABASE PARAMETER(JSON use local time;0)
+ QUERY BY ATTRIBUTE([Personnes];[Personnes]OB_Info;"Anniversaire";=;1976-11-27!)
```
### Utilisation de la propriété virtuelle length
@@ -177,8 +177,8 @@ Par exemple, avec les deux enregistrements suivants :
Vous souhaitez trouver les personnes qui ont un type d'adresse "home" dans la ville "Paris". Si vous écrivez :
```4d
- QUERY BY ATTRIBUTE([Personnes];[Personnes]OB_Field;"locations[].city";=;"Paris";*)
- QUERY BY ATTRIBUTE([Personnes];[Personnes]OB_Field;"locations[].kind";=;"home")
+ QUERY BY ATTRIBUTE([Personnes];[Personnes]OB_Field;"locations[].city";=;"Paris";*)
+ QUERY BY ATTRIBUTE([Personnes];[Personnes]OB_Field;"locations[].kind";=;"home")
```
... la recherche retournera "Martin" et "Smith" car "Smith" a un élément "locations" dont le "kind" est "home" et un (autre) élément "locations" dont la "city" est "Paris".
@@ -191,8 +191,8 @@ Vous souhaitez trouver les personnes qui ont un type d'adresse "home" dans la vi
Avec les mêmes enregistrements que précédemment, si vous écrivez :
```4d
- QUERY BY ATTRIBUTE([Personnes];[Personnes]OB_Field;"locations[a].city";=;"Paris";*)
- QUERY BY ATTRIBUTE([Personnes];[Personnes]OB_Field;"locations[a].kind";=;"home")
+ QUERY BY ATTRIBUTE([Personnes];[Personnes]OB_Field;"locations[a].city";=;"Paris";*)
+ QUERY BY ATTRIBUTE([Personnes];[Personnes]OB_Field;"locations[a].kind";=;"home")
```
... la recherche retournera uniquement "Martin" car il a un élément "locations" dont le "kind" est "home" et dont la "city" est "Paris". La recherche ne retournera pas "Smith" car les valeurs "Paris" et "home" ne se trouvent pas dans le même élément de tableau. Reportez-vous ci-dessous pour plus d'exemples d'utilisations de cette fonctionnalité.
@@ -204,10 +204,10 @@ Avec les mêmes enregistrements que précédemment, si vous écrivez :
Dans cet exemple, l'attribut "age" est soit une chaîne soit un entier et nous souhaitons trouver les personnes dont l'âge est situé entre 20 et 29\. Les deux premières lignes interrogent l'attribut en tant qu'entier (>=20 et < 30) et les suivantes interrogent l'attribut en tant que chaîne (débute par "2" mais est différent de "2").
```4d
- QUERY BY ATTRIBUTE([Personnes];[Personnes]OB_Info;"age";>=;20;*)
- QUERY BY ATTRIBUTE([Personnes];&;[Personnes]OB_Info;"age";<;30;*)
- QUERY BY ATTRIBUTE([Personnes];|;[Personnes]OB_Info;"age";=;"2@";*)
- QUERY BY ATTRIBUTE([Personnes];&;[Personnes]OB_Info;"age";#;"2") //pas de * final pour lancer l'exécution
+ QUERY BY ATTRIBUTE([Personnes];[Personnes]OB_Info;"age";>=;20;*)
+ QUERY BY ATTRIBUTE([Personnes];&;[Personnes]OB_Info;"age";<;30;*)
+ QUERY BY ATTRIBUTE([Personnes];|;[Personnes]OB_Info;"age";=;"2@";*)
+ QUERY BY ATTRIBUTE([Personnes];&;[Personnes]OB_Info;"age";#;"2") //pas de * final pour lancer l'exécution
```
## Exemple 2
@@ -215,15 +215,15 @@ Dans cet exemple, l'attribut "age" est soit une chaîne soit un entier et nous s
La commande **QUERY BY ATTRIBUTE** peut être utilisée pour rechercher des enregistrements dans lesquels certains attributs sont définis (ou non définis). Pour cela, vous devez utiliser un objet vide :
```4d
- //Trouver les enregistrements où l'email est défini dans le champ objet
- var $undefined : Object
- QUERY BY ATTRIBUTE([Personnes];[Personnes]Info;"email";#;$undefined)
+ //Trouver les enregistrements où l'email est défini dans le champ objet
+ var $undefined : Object
+ QUERY BY ATTRIBUTE([Personnes];[Personnes]Info;"email";#;$undefined)
```
```4d
- //Trouver les enregistrements où le zip code n'est PAS défini dans le champ objet
- var $undefined : Object
- QUERY BY ATTRIBUTE([Personnes];[Personnes]Info;"zip code";=;$undefined)
+ //Trouver les enregistrements où le zip code n'est PAS défini dans le champ objet
+ var $undefined : Object
+ QUERY BY ATTRIBUTE([Personnes];[Personnes]Info;"zip code";=;$undefined)
```
**Note :** Cette syntaxe spécifique n'est pas prise en charge avec les attributs de type tableau. La recherche de valeurs NULL dans les attributs de tableau donne des résultats invalides.
@@ -254,17 +254,17 @@ Vous voulez chercher un champ contenant des attributs tableaux. Avec les deux en
... **QUERY BY ATTRIBUTE** trouvera les personnes ayant une localisation à "paris" par cette recherche :
```4d
- //on indique l'attribut tableau avec la syntaxe "[]"
- QUERY BY ATTRIBUTE([Personnes];[Personnes]OB_Field;"locations[].city";=;"paris")
- //trouve "martin" et "smith"
+ //on indique l'attribut tableau avec la syntaxe "[]"
+ QUERY BY ATTRIBUTE([Personnes];[Personnes]OB_Field;"locations[].city";=;"paris")
+ //trouve "martin" et "smith"
```
**Note :** Si vous avez défini plusieurs critères sur le même attribut tableau, les critères correspondants ne s'appliqueront pas nécessairement au même élément de tableau. Dans l'exemple ci-dessous, la recherche retournera "smith" car l'attribut a un élément "locations" dont le "kind" est "home" et un élément "locations" dont le "city" est "paris", même s'il ne s'agit pas du même élément :
```4d
- QUERY BY ATTRIBUTE([Personnes];[Personnes]OB_Field;"locations[].kind";=;"home";*)
- QUERY BY ATTRIBUTE([Personnes];&;[Personnes]OB_Field;"locations[].city";=;"paris")
- //trouve "smith"
+ QUERY BY ATTRIBUTE([Personnes];[Personnes]OB_Field;"locations[].kind";=;"home";*)
+ QUERY BY ATTRIBUTE([Personnes];&;[Personnes]OB_Field;"locations[].city";=;"paris")
+ //trouve "smith"
```
## Exemple 4
@@ -276,7 +276,7 @@ Cet exemple illustre l'utilisation de la propriété virtuelle "length". Votre b
Vous souhaitez obtenir les enregistrements des clients qui ont deux enfants ou plus. Vous pouvez écrire :
```4d
- QUERY BY ATTRIBUTE([Customer];[Customer]full_Data;"Children.length";>=;2)
+ QUERY BY ATTRIBUTE([Customer];[Customer]full_Data;"Children.length";>=;2)
```
## Exemple 5
@@ -355,45 +355,45 @@ Ces exemples illustrent les différentes combinaisons de liaisons de critères d
Recherche des personnes qui ont un enfant de 15 ans nommé "Betty" :
```4d
- QUERY BY ATTRIBUTE([Personnes];[Personnes]OBField;"Enfants[a].Nom";=;"Betty";*)
- QUERY BY ATTRIBUTE([Personnes];&;[Personnes]OBField;"Enfants[a].Age";=;"15")
- //retourne "Victor"
-
- QUERY BY ATTRIBUTE([Personnes];[Personnes]OBField;"Enfants[].Nom";=;"Betty";*)
- QUERY BY ATTRIBUTE([Personnes];&;[Personnes]OBField;"Enfants[].Age";=;"15")
- //retourne "Sam", "Louis" et "Victor"
+ QUERY BY ATTRIBUTE([Personnes];[Personnes]OBField;"Enfants[a].Nom";=;"Betty";*)
+ QUERY BY ATTRIBUTE([Personnes];&;[Personnes]OBField;"Enfants[a].Age";=;"15")
+ //retourne "Victor"
+
+ QUERY BY ATTRIBUTE([Personnes];[Personnes]OBField;"Enfants[].Nom";=;"Betty";*)
+ QUERY BY ATTRIBUTE([Personnes];&;[Personnes]OBField;"Enfants[].Age";=;"15")
+ //retourne "Sam", "Louis" et "Victor"
```
Recherche des personnes qui ont un enfant de 15 ans nommé "Betty" et un enfant de 9 ans nommé "Harry" :
```4d
- QUERY BY ATTRIBUTE([Personnes];[Personnes]OBField;"Enfants[a].Nom";=;"Betty";*)
- QUERY BY ATTRIBUTE([Personnes];&;[Personnes]OBField;"Enfants[a].Age";=;"15";*)
- QUERY BY ATTRIBUTE([Personnes];[Personnes]OBField;"Enfants[b].Nom";=;"Harry";*)
- QUERY BY ATTRIBUTE([Personnes];&;[Personnes]OBField;"Enfants[b].Age";=;"9")
- //retourne "Victor"
-
- QUERY BY ATTRIBUTE([Personnes];[Personnes]OBField;"Enfants[].Nom";=;"Betty";*)
- QUERY BY ATTRIBUTE([Personnes];&;[Personnes]OBField;"Enfants[].Age";=;"15";*)
- QUERY BY ATTRIBUTE([Personnes];[Personnes]OBField;"Enfants[].Nom";=;"Harry";*)
- QUERY BY ATTRIBUTE([Personnes];&;[Personnes]OBField;"Enfants[].Age";=;"9")
- //retourne "Sam" et "Victor"
+ QUERY BY ATTRIBUTE([Personnes];[Personnes]OBField;"Enfants[a].Nom";=;"Betty";*)
+ QUERY BY ATTRIBUTE([Personnes];&;[Personnes]OBField;"Enfants[a].Age";=;"15";*)
+ QUERY BY ATTRIBUTE([Personnes];[Personnes]OBField;"Enfants[b].Nom";=;"Harry";*)
+ QUERY BY ATTRIBUTE([Personnes];&;[Personnes]OBField;"Enfants[b].Age";=;"9")
+ //retourne "Victor"
+
+ QUERY BY ATTRIBUTE([Personnes];[Personnes]OBField;"Enfants[].Nom";=;"Betty";*)
+ QUERY BY ATTRIBUTE([Personnes];&;[Personnes]OBField;"Enfants[].Age";=;"15";*)
+ QUERY BY ATTRIBUTE([Personnes];[Personnes]OBField;"Enfants[].Nom";=;"Harry";*)
+ QUERY BY ATTRIBUTE([Personnes];&;[Personnes]OBField;"Enfants[].Age";=;"9")
+ //retourne "Sam" et "Victor"
```
Recherche des personnes qui ont un enfant de 15 ans nommé "Harry" qui a une voiture bleue en jouet (recherche dans un tableau de tableaux):
```4d
- QUERY BY ATTRIBUTE([Personnes];[Personnes]OBField;"Enfants[a].Nom";=;"Harry";*)
- QUERY BY ATTRIBUTE([Personnes];&;[Personnes]OBField;"Enfants[a].Age";=;"15";*)
- QUERY BY ATTRIBUTE([Personnes];&;[Personnes]OBField;"Enfants[a].Jouets[b].Nom";=;"Voiture";*)
- QUERY BY ATTRIBUTE([Personnes];&;[Personnes]OBField;"Enfants[a].Jouets[b].Coul";=;"Bleu")
- //retourne "Sam"
-
- QUERY BY ATTRIBUTE([Personnes];[Personnes]OBField;"Enfants[].Nom";=;"Harry";*)
- QUERY BY ATTRIBUTE([Personnes];&;[Personnes]OBField;"Enfants[].Age";=;"15";*)
- QUERY BY ATTRIBUTE([Personnes];&;[Personnes]OBField;"Enfants[].Jouets[].Nom";=;"Voiture";*)
- QUERY BY ATTRIBUTE([Personnes];&;[Personnes]OBField;"Enfants[].Jouets[].Coul";=;"Bleu")
- //retourne "Sam" et "Louis"
+ QUERY BY ATTRIBUTE([Personnes];[Personnes]OBField;"Enfants[a].Nom";=;"Harry";*)
+ QUERY BY ATTRIBUTE([Personnes];&;[Personnes]OBField;"Enfants[a].Age";=;"15";*)
+ QUERY BY ATTRIBUTE([Personnes];&;[Personnes]OBField;"Enfants[a].Jouets[b].Nom";=;"Voiture";*)
+ QUERY BY ATTRIBUTE([Personnes];&;[Personnes]OBField;"Enfants[a].Jouets[b].Coul";=;"Bleu")
+ //retourne "Sam"
+
+ QUERY BY ATTRIBUTE([Personnes];[Personnes]OBField;"Enfants[].Nom";=;"Harry";*)
+ QUERY BY ATTRIBUTE([Personnes];&;[Personnes]OBField;"Enfants[].Age";=;"15";*)
+ QUERY BY ATTRIBUTE([Personnes];&;[Personnes]OBField;"Enfants[].Jouets[].Nom";=;"Voiture";*)
+ QUERY BY ATTRIBUTE([Personnes];&;[Personnes]OBField;"Enfants[].Jouets[].Coul";=;"Bleu")
+ //retourne "Sam" et "Louis"
```
## Variables et ensembles système
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/commands-legacy/query-selection-by-attribute.md b/i18n/fr/docusaurus-plugin-content-docs/current/commands-legacy/query-selection-by-attribute.md
index 89f8c3ea0a0ecd..923d4aa9384664 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/current/commands-legacy/query-selection-by-attribute.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/commands-legacy/query-selection-by-attribute.md
@@ -10,10 +10,10 @@ displayed_sidebar: docs
| Paramètre | Type | | Description |
| --- | --- | --- | --- |
| laTable | Table | → | Table dans laquelle la sélection est créée ou Table par défaut si ce paramètre est omis |
-| opConj | * | → | Opérateur à utiliser pour combiner plusieurs requêtes (le cas échéant) |
+| opConj | Operator | → | Opérateur à utiliser pour combiner plusieurs requêtes (le cas échéant) |
| champObjet | Field | → | Champ objet dont les attributs sont à utiliser pour la recherche |
| cheminAttribut | Text | → | Nom ou chemin d'attribut |
-| opRecherche | *, Text | → | Opérateur de recherche (comparateur) |
+| opRecherche | Text, Operator | → | Opérateur de recherche (comparateur) |
| valeur | Text, Number, Date, Time | → | Valeur à comparer |
| * | Opérateur | → | Attente d'exécution de la recherche |
@@ -37,9 +37,9 @@ La commande **QUERY SELECTION BY ATTRIBUTE** est utile lorsqu'une recherche ne p
Vous souhaitez trouver les personnes âgées entre 20 et 30 ans parmi les enregistrements sélectionnés par l'utilisateur :
```4d
- USE SET("UserSet") // crée une nouvelle sélection courante
- QUERY SELECTION BY ATTRIBUTE([People];[People]OB_Info;"age";>;20;*)
- QUERY SELECTION BY ATTRIBUTE([People];&;[People]OB_Info;"age";<;30) //déclenche la recherche
+ USE SET("UserSet") // crée une nouvelle sélection courante
+ QUERY SELECTION BY ATTRIBUTE([People];[People]OB_Info;"age";>;20;*)
+ QUERY SELECTION BY ATTRIBUTE([People];&;[People]OB_Info;"age";<;30) //déclenche la recherche
```
## Voir aussi
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/commands-legacy/set-database-parameter.md b/i18n/fr/docusaurus-plugin-content-docs/current/commands-legacy/set-database-parameter.md
index cc438fb9687309..2a4ca5c7524977 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/current/commands-legacy/set-database-parameter.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/commands-legacy/set-database-parameter.md
@@ -21,26 +21,6 @@ displayed_sidebar: docs
*sélecteur* désigne le paramètre à modifier. 4D vous propose des constantes prédéfinies, placées dans le thème *Paramètres de la base*. Le tableau suivant décrit chaque constante et indique sa portée et sa persistance entre deux sessions :
-### 4D Server timeout (13)
-
-**Portée** : Application 4D si *valeur* positive
-
-**Conservé entre deux sessions** : Oui si *valeur* positive
-
-**Valeurs possibles** : 0 -> 32 767
-
-**Description** : Valeur du délai avant déconnexion (timeout) accordé par 4D Server aux postes clients.
-
-Par défaut, cette valeur est définie dans la page “Client-Serveur/Options réseau” des Propriétés de la base, sur le poste serveur.
-
-Le timeout serveur définit la période maximale de non-réponse du client "autorisée", par exemple s'il effectue une opération bloquante. A l'issue de cette période, 4D Server déconnecte le client. Le sélecteur 4D Server timeout vous permet de fixer un nouveau timeout, exprimé en minutes. Cette possibilité permet en particulier d’augmenter la valeur du timeout avant l’exécution sur le poste client d’une opération bloquante de longue durée, risquant d’entraîner une déconnexion ; par exemple, l’impression d’un grand nombre de pages.
-
-Vous disposez en outre de deux possibilités :
-
-effectuer une modification globale et permanente : la nouvelle valeur s’applique à tous les process et est stockée dans les préférences de l’application (équivaut à une modification de la valeur dans la boîte de dialogue des Préférences). Pour cela, passez une valeur **positive** dans le paramètre *valeur*.effectuer une modification restreinte et temporaire : la nouvelle valeur ne s’applique qu’au process appelant (les autres process conservant la valeur d’origine), et est abandonnée dès que le serveur reçoit un signe d’activité du poste client — par exemple, dès que l’opération est terminée. Cette possibilité est utile pour gérer les opérations longues initiées par des plug-ins. Pour cela, passez une valeur **négative** dans le paramètre *valeur*. Pour définir une connexion “Ouverte en permanence”, passez 0 dans *valeur*. Reportez-vous à l’exemple 1.
-
-
-
### 4D Remote mode timeout (14)
**Portée** (ancienne couche réseau uniquement) : Application 4D si *valeur* positive
@@ -53,85 +33,6 @@ Le sélecteur 4D Remote mode timeout n'est pris en compte que si vous utilisez l
-### Port ID (15)
-
-**Portée** : 4D local, 4D Server
-
-**Conservé entre deux sessions** : Non
-
-**Description** : Numéro du port TCP utilisé par le serveur Web 4D avec 4D en mode local et 4D Server. Par défaut, la valeur est 80\.
-
-Le numéro de port TCP est défini dans la page “Web/Configuration” de la boîte de dialogue des Propriétés de la base. Vous pouvez utiliser les constantes du thème *Numéros de port TCP* pour le paramètre *valeur*.
-
-Le sélecteur Port ID est utile dans le cadre de serveurs Web 4D compilés et fusionnés avec 4D Desktop (pas d’accès au mode Développement). Pour plus d’informations sur le numéro de port TCP, reportez-vous à la section *Paramétrages du serveur Web*.
-
-
-
-### Character set (17)
-
-**Portée** : 4D local, 4D Server
-
-**Conservé entre deux sessions** : Oui
-
-**Description** : *Constante obsolète (conservée par compatibilité uniquement).* Il est désormais conseillé d'utiliser les commandes [WEB SET OPTION](web-set-option.md) et [WEB GET OPTION](web-get-option.md) pour le paramétrage du serveur HTTP.
-
-
-
-### Max concurrent Web processes (18)
-
-**Portée** : 4D local, 4D Server
-
-**Conservé entre deux sessions** : Oui
-
-**Description** : *Constante obsolète (conservée par compatibilité uniquement).* Il est désormais conseillé d'utiliser les commandes [WEB SET OPTION](web-set-option.md) et [WEB GET OPTION](web-get-option.md) pour le paramétrage du serveur HTTP.
-
-
-
-### Client port ID (22)
-
-**Portée** : Tous postes 4D distants
-
- **Conservé** **entre deux sessions** : Oui
-
- **Valeurs possibles** : Voir sélecteur 15
-
-**Description** : Permet de spécifier ce paramètre pour les postes 4D distants utilisés en tant que serveurs Web. La valeur définie via ce sélecteur est appliquée à tous les postes distants utilisés comme serveurs Web. Si vous souhaitez définir cette valeur pour certains postes distants uniquement, utilisez la boîte de dialogue des Préférences de 4D en mode distant.
-
-
-
-### Client character set (24)
-
-**Portée** : Tous postes 4D distants
-
- **Conservé** **entre deux sessions** : Oui
-
- **Valeurs possibles** : Voir sélecteur 17
-
-**Description** : Permet de spécifier ce paramètre pour les postes 4D distants utilisés en tant que serveurs Web. La valeur définie via ce sélecteur est appliquée à tous les postes distants utilisés comme serveurs Web. Si vous souhaitez définir cette valeur pour certains postes distants uniquement, utilisez la boîte de dialogue des Préférences de 4D en mode distant.
-
-
-
-### Client max concurrent Web proc (25)
-
-**Portée** : Tous postes 4D distants
-
- **Conservé** **entre deux sessions** : Oui
-
- **Valeurs possibles** : Voir sélecteur 18
-
-**Description** : Permet de spécifier ce paramètre pour les postes 4D distants utilisés en tant que serveurs Web. La valeur définie via ce sélecteur est appliquée à tous les postes distants utilisés comme serveurs Web. Si vous souhaitez définir cette valeur pour certains postes distants uniquement, utilisez la boîte de dialogue des Préférences de 4D en mode distant.
-
-
-
-### Maximum Web requests size (27)
-
-**Portée** : 4D local, 4D Server
-
- **Conservé** **entre deux sessions** : Oui
-
- **Description** : *Constante obsolète (conservée par compatibilité uniquement).* Il est désormais conseillé d'utiliser les commandes [WEB SET OPTION](web-set-option.md) et [WEB GET OPTION](web-get-option.md) pour le paramétrage du serveur HTTP.
-
-
### 4D Server log recording (28)
@@ -149,153 +50,131 @@ Le sélecteur Port ID est utile dans le cadre de serveurs Web 4D compilés et fu
-### Client Web log recording (30)
-
-**Portée** :Tous postes 4D distants
-
- **Conservé** **entre deux sessions** : Oui
-
- **Valeurs possibles** : 0 = Ne pas enregistrer (défaut), 1 = Enregistrer au format CLF, 2 = Enregistrer au format DLF, 3 = Enregistrer au format ELF, 4 = Enregistrer au format WLF.
-
-**Description** : Démarrage ou arrêt de l’enregistrement des requêtes Web reçues par les serveurs Web de tous les postes clients. Par défaut, la valeur est 0 (pas d’enregistrement des requêtes).
-
-Le fonctionnement de ce sélecteur est identique à celui du sélecteur 29 ; il s’applique toutefois à tous les postes 4D clients utilisés en tant que serveurs Web. Le fichier “logweb.txt” est dans ce cas automatiquement placé dans le sous-dossier Logs du dossier base 4D client (dossier de cache). Si vous souhaitez définir des valeurs pour certains postes clients uniquement, utilisez la boîte de dialogue des Préférences de 4D en mode distant.
-
+### 4D Server timeout (13)
-### Table sequence number (31)
+**Portée** : Application 4D si *valeur* positive
-**Portée** :Application 4D
+**Conservé entre deux sessions** : Oui si *valeur* positive
- **Conservé** **entre deux sessions** : Oui
+**Valeurs possibles** : 0 -> 32 767
- **Valeurs possibles** : Toute valeur de type entier long.
+**Description** : Valeur du délai avant déconnexion (timeout) accordé par 4D Server aux postes clients.
-**Description** : Ce sélecteur permet de modifier ou de lire le numéro unique courant des enregistrements de la table passée en paramètre. “Numéro courant” signifie “dernier numéro utilisé” : si vous modifiez cette valeur à l’aide de [SET DATABASE PARAMETER](set-database-parameter.md), le prochain enregistrement sera créé avec comme numéro la valeur passée + 1\. Ce nouveau numéro est, lui, retourné par la commande [Sequence number](sequence-number.md) ainsi que dans tout champ de la table auquel la propriété "Incrémentation auto" a été affectée en Structure ou via le SQL.
+Par défaut, cette valeur est définie dans la page “Client-Serveur/Options réseau” des Propriétés de la base, sur le poste serveur.
-Par défaut, le numéro unique est défini par 4D et correspond à l’ordre de création des enregistrements.
+Le timeout serveur définit la période maximale de non-réponse du client "autorisée", par exemple s'il effectue une opération bloquante. A l'issue de cette période, 4D Server déconnecte le client. Le sélecteur 4D Server timeout vous permet de fixer un nouveau timeout, exprimé en minutes. Cette possibilité permet en particulier d’augmenter la valeur du timeout avant l’exécution sur le poste client d’une opération bloquante de longue durée, risquant d’entraîner une déconnexion ; par exemple, l’impression d’un grand nombre de pages.
-Pour des informations supplémentaires, reportez-vous à la documentation de la commande [Sequence number](sequence-number.md).
+Vous disposez en outre de deux possibilités :
+effectuer une modification globale et permanente : la nouvelle valeur s’applique à tous les process et est stockée dans les préférences de l’application (équivaut à une modification de la valeur dans la boîte de dialogue des Préférences). Pour cela, passez une valeur **positive** dans le paramètre *valeur*.effectuer une modification restreinte et temporaire : la nouvelle valeur ne s’applique qu’au process appelant (les autres process conservant la valeur d’origine), et est abandonnée dès que le serveur reçoit un signe d’activité du poste client — par exemple, dès que l’opération est terminée. Cette possibilité est utile pour gérer les opérations longues initiées par des plug-ins. Pour cela, passez une valeur **négative** dans le paramètre *valeur*. Pour définir une connexion “Ouverte en permanence”, passez 0 dans *valeur*. Reportez-vous à l’exemple 1.
-### Debug log recording (34)
-**Thread-safe** : Yes
-**Portée** : Application 4D
+### Auto synchro resources folder (48)
-**Conservé** **entre deux sessions** : Non
+**Portée** :Poste 4D distant
-**Description** : Démarrage ou arrêt de l’enregistrement séquentiel des événements de programmation de 4D dans le fichier *4DDebugLogServer* *\[\_pN\_n\].txt* (où \_n est le numéro de segment du fichier).
+ **Conservé** **entre deux sessions** : Non
-Deux modes sont possibles :
+ **Valeurs possibles** : 0 (pas de synchronisation), 1 (synchronisation auto) ou 2 (demander).
-- Le mode standard propose une vue basique des événements et le fichier est automatiquement placé dans le sous-dossier Logs de la base, à côté du fichier de structure. Les durées d'exécution sont exprimées en millisecondes avec la valeur "< ms" qui s'affiche lorsqu'une opération dure moins d'une milliseconde.
+**Description** : Mode de synchronisation dynamique du dossier *Resources* du poste client 4D ayant exécuté la commande avec celui du serveur.
-- Le mode tabulé fournit des informations supplémentaires et utilise un format tabulé plus compact dans le fichier. Les durées d'exécution sont exprimées en millisecondes. **Valeurs possibles** : Entier long contenant un champ de bits (bit field) : valeur = bit1(1)+bit2(2)+bit3(4)+bit4(8)+…).
+Lorsque le contenu du dossier *Resources* sur le serveur a été modifié ou qu’une demande de synchronisation a été émise (via l’explorateur de ressources ou suite à l'exécution de la commande [NOTIFY RESOURCES FOLDER MODIFICATION](notify-resources-folder-modification.md)), le serveur notifie les clients connectés.
-- Le bit 0 (valeur 1) permet de demander à activer le fichier (à noter que toute autre valeur non nulle l’activera également)
+Trois modes de synchronisation sont alors possibles côté client. Le sélecteur Auto synchro resources folder vous permet de définir le mode à utiliser pour le poste client et la session courante :
-- Le bit 1 (valeur 2) permet de demander les paramètres d’appel aux commandes et (mode interprété uniquement) aux méthodes.
+0 (valeur par défaut) : pas de synchronisation dynamique (la demande de synchronisation est ignorée) 1 : synchronisation dynamique automatique2 : affichage d’une boîte de dialogue sur les postes clients, avec possibilité d’effectuer ou de refuser la synchronisation.Le mode de synchronisation peut également être défini globalement dans les Propriétés de la base.
-- Le bit 2 (valeur 4) permet d’activer le format tabulé.
-- Le bit 3 (valeur 8) permet de désactiver l’écriture immédiate de chaque opération sur disque (activée par défaut). L’écriture immédiate est moins rapide mais plus efficace par exemple pour rechercher les causes d’un plantage. Si vous désactivez ce mode, le fichier sera généré plus rapidement.
-- Le bit 4 (valeur 16) permet de désactiver l’enregistrement des appels de plug-ins (activé par défaut).
-- Le bit 5 (valeur 32) permet de désactiver l'enregistrement des fonctions membres.
+### Cache flush periodicity (95)
-Exemples :
+**Thread-safe** : Yes
-FIXER PARAMETRE BASE(34;1) // active le mode standard sans les paramètres, avec les durées
-FIXER PARAMETRE BASE(34;2) // active le mode standard avec les paramètres et les durées
+Portée : 4D local, 4D Server
-FIXER PARAMETRE BASE(34;2+4) // active le mode tabulé avec les paramètres et les durées
+**Conservé entre deux sessions** : Non
-FIXER PARAMETRE BASE(34;0) // désactive le fichier
+**Valeurs possibles** : entier long > 1 (secondes)
-Dans tout type d'application 4D (4D tous modes, 4D Server, 4D Volume Desktop), en interprété ou en compilé, vous pouvez éviter que le fichier n’enregistre une trop grande quantité d’informations :
+**Description** : Permet de lire ou de fixer la valeur courante de périodicité de l'écriture du cache de données sur le disque, exprimée en secondes. Si elle est modifiée, cette valeur remplace la valeur définie par l'option **Ecriture cache toutes les secondes/minutes** dans la [XML DECODE](xml-decode.md) des Propriétés de la base durant la session courante (elle n'est pas stockée dans les Propriétés de la base).
-- en restreignant les commandes 4D examinées à l'aide de Log command list (sélecteur 80), ou
-- en le restreignant au process courant uniquement à l'aide de Current process debug log recording (sélecteur 111). Cela ajoutera la lettre "p" et le numéro de process au nom du fichier : *4DDebugLog* *\[\_pN\_n\].txt ou* *4DDebugLogServer\[\_pn\_n\].txt.* Pour plus d’informations sur le format et l’exploitation du fichier 4DDebugLog, veuillez consulter la *Description des fichiers d'historique* dans le Manuel Développement.
-**Note :** Ce sélecteur est proposé uniquement à des fins de débogage et doit être utilisé avec précaution car il peut entraîner une dégradation des performances de l'application.
+### Cache unload minimum size (66)
+**Portée** : Application 4D
-### Client Server port ID (35)
+**Conservé entre deux sessions** : Non
-**Portée** :Base de données
+**Valeurs possibles** : Entier long positif > 1.
- **Conservé** **entre deux sessions** : Oui
+**Description** : Taille minimum de mémoire à libérer du cache de la base de données lorsque le moteur a besoin d’y faire de la place pour y allouer un objet (valeur en octets).
- **Valeurs possibles** : 0 à 65535
+Ce sélecteur a pour but de permettre de réduire le nombre de libérations de données du cache afin d’obtenir des gains de performances. Vous pouvez faire varier ce paramétrage en fonction de la taille du cache et de celle des blocs de données manipulées dans votre base.
-**Description** : Numéro de port TCP sur lequel 4D Server publie la base de données (à destination des postes 4D distants). Par défaut, la valeur est 19813\.
+Par défaut, si ce sélecteur n’est pas utilisé, 4D décharge au minimum 10 % du cache en cas de besoin de place.
-La personnalisation de cette valeur permet d’utiliser plusieurs applications 4D client-serveur sur la même machine avec le protocole TCP ; dans ce cas, vous devez spécifier un numéro de port différent pour chaque application.
-La valeur est stockée dans le fichier de structure de la base. Elle peut être définie avec 4D en mode local mais n’est prise en compte qu’en configuration client-serveur.
-Lorsque vous modifiez cette valeur, il est nécessaire de redémarrer le poste serveur afin que la nouvelle valeur soit prise en compte.
+### Character set (17)
+**Portée** : 4D local, 4D Server
-### HTTPS Port ID (39)
+**Conservé entre deux sessions** : Oui
-**Portée** :4D local, 4D Server
+**Description** : *Constante obsolète (conservée par compatibilité uniquement).* Il est désormais conseillé d'utiliser les commandes [WEB SET OPTION](web-set-option.md) et [WEB GET OPTION](web-get-option.md) pour le paramétrage du serveur HTTP.
- **Conservé** **entre deux sessions** : Oui
- **Description** : *Constante obsolète (conservée par compatibilité uniquement).* Il est désormais conseillé d'utiliser les commandes [WEB SET OPTION](web-set-option.md) et [WEB GET OPTION](web-get-option.md) pour le paramétrage du serveur HTTP.
+### Circular log limitation (90)
-### Client HTTPS port ID (40)
+**Thread-safe** : Yes
-**Portée** :Tous postes 4D distants
+**Portée** : 4D local, 4D Server.
- **Conservé** **entre deux sessions** : Oui
+**Conservé entre deux sessions** : Non
- **Valeurs possibles** : 0 à 65535
+**Valeurs possibles** : Toute valeur entière, 0 = conserver tous les journaux
-**Description** : Numéro du port TCP utilisé par les serveurs Web des postes clients pour les connexions sécurisées via SSL (protocole HTTPS). Par défaut, la valeur est 443 (valeur standard).
+**Description** : Nombre maximum de fichiers à conserver par roulement pour chaque type de journal. Par défaut, les 50 fichiers les plus récents sont conservés. Si vous passez une valeur N, seuls les N fichiers les plus récents seront conservés, le plus ancien étant automatiquement effacé à la création d'un nouveau. Ce paramétrage s'applique à tous les fichiers journaux, notamment le journal des requêtes (sélecteurs 28 et 45), le journal de débogage (sélecteur 34), le journal des événements (sélecteur 79), l'historique des requêtes Web (sélecteurs 29 et 84 de la commande [WEB SET OPTION](web-set-option.md)), etc.
-Le fonctionnement de ce sélecteur est identique à celui du sélecteur 39 ; il s’applique toutefois à tous les postes 4D distants utilisés en tant que serveurs Web. Si vous souhaitez modifier la valeur de certains postes clients uniquement, utilisez la boîte de dialogue des Préférences de 4D distant.
-### SQL Autocommit (43)
+### Client character set (24)
-**Portée** :Base de données
+**Portée** : Tous postes 4D distants
**Conservé** **entre deux sessions** : Oui
- **Valeurs possibles** : 0 (désactivation) ou 1 (activation)
+ **Valeurs possibles** : Voir sélecteur 17
-**Description** : Activation ou désactivation du mode SQL auto-commit. Par défaut, la valeur est 0 (mode désactivé)
+**Description** : Permet de spécifier ce paramètre pour les postes 4D distants utilisés en tant que serveurs Web. La valeur définie via ce sélecteur est appliquée à tous les postes distants utilisés comme serveurs Web. Si vous souhaitez définir cette valeur pour certains postes distants uniquement, utilisez la boîte de dialogue des Préférences de 4D en mode distant.
-Le mode auto-commit permet de renforcer l'intégrité référentielle de la base. Lorsque ce mode est actif, les requêtes *SELECT*, *INSERT*, *UPDATE*, *DELETE* (SIUD) sont automatiquement incluses dans des transactions lorsqu'elles sont exécutées en-dehors de toute transaction. Ce mode peut également être défini dans les préférences de la base.
-### SQL Engine case sensitivity (44)
+### Client HTTPS port ID (40)
-**Portée** : Base de données
+**Portée** :Tous postes 4D distants
-**Conservé** **entre deux sessions** : Oui
+ **Conservé** **entre deux sessions** : Oui
-**Valeurs possibles** : 0 (casse non prise en compte) ou 1 (casse prise en compte)
+ **Valeurs possibles** : 0 à 65535
-**Description** : Activation ou désactivation de la prise en compte de la casse des caractères pour les comparaisons de chaînes effectuées par le moteur SQL.
+**Description** : Numéro du port TCP utilisé par les serveurs Web des postes clients pour les connexions sécurisées via SSL (protocole HTTPS). Par défaut, la valeur est 443 (valeur standard).
-Par défaut, la valeur est 1 (casse prise en compte) : le moteur SQL établit une différence entre les majuscules et les minuscules ainsi qu'entre les caractères accentués lors des comparaisons de chaînes (tris et recherches). Par exemple "ABC" = "ABC" mais "ABC" # "Abc" et "abc" # "âbc" . Dans certains cas, par exemple pour aligner le fonctionnement du moteur SQL sur celui du moteur 4D, vous pourrez souhaiter que les comparaisons de chaînes ne tiennent pas compte de la casse ("ABC"="Abc"="âbc").
+Le fonctionnement de ce sélecteur est identique à celui du sélecteur 39 ; il s’applique toutefois à tous les postes 4D distants utilisés en tant que serveurs Web. Si vous souhaitez modifier la valeur de certains postes clients uniquement, utilisez la boîte de dialogue des Préférences de 4D distant.
-**Attention :** *Étant donné que cette option modifie le fichier de structure de la base de données et tous les process, il est fortement recommandé,* *pour des raisons de performances,* *de la définir uniquement au démarrage de la base de données.* Cette option peut également être définie dans la [CALL SUBFORM CONTAINER](call-subform-container.md) des Propriétés de la base.
@@ -315,215 +194,173 @@ Ces fichiers texte stockent dans un format tabulé simple diverses informations
-### Query by formula on server (46)
-**Portée** :Table et process courants
-
- **Conservé** **entre deux sessions** : Non
+### Client max concurrent Web proc (25)
- **Valeurs possibles** : 0 (utiliser le paramétrage de la base), 1 (exécuter sur le client) ou 2 (exécuter sur le serveur)
+**Portée** : Tous postes 4D distants
-**Description** : Emplacement de l’exécution des commandes [QUERY BY FORMULA](query-by-formula.md) et [QUERY SELECTION BY FORMULA](query-selection-by-formula.md) pour la *table* passée en paramètre.
+ **Conservé** **entre deux sessions** : Oui
-Dans le cadre de l’exploitation d’une base en client-serveur, les commandes de recherche "par formule" peuvent exécutées soit sur le serveur soit sur le client :
+ **Valeurs possibles** : Voir sélecteur 18
-dans les bases de données créées à partir de 4D v11 SQL, ces commandes sont exécutées sur le serveur. dans les bases de données converties, ces commandes sont exécutées sur le client, comme dans les versions précédentes de 4D.dans les bases de données converties, une préférence spécifique permet de modifier globalement le lieu d’exécution de ces commandes.Cette différence de lieu d’exécution influe sur les performances de l’application (l’exécution sur le serveur est généralement plus rapide) mais également sur la programmation. En effet, la valeur des composantes de la formule (notamment les variables appelées via une méthode) diffère suivant le contexte d’exécution. Vous pouvez utiliser ce sélecteur pour adapter ponctuellement le fonctionnement de votre application.
+**Description** : Permet de spécifier ce paramètre pour les postes 4D distants utilisés en tant que serveurs Web. La valeur définie via ce sélecteur est appliquée à tous les postes distants utilisés comme serveurs Web. Si vous souhaitez définir cette valeur pour certains postes distants uniquement, utilisez la boîte de dialogue des Préférences de 4D en mode distant.
-Si vous passez 0 dans le paramètre *valeur*, l’emplacement d’exécution des commandes de recherche "par formule" dépendra de la configuration de la base : dans les bases créées avec 4D v11 SQL, les commandes seront exécutées sur le serveur. Dans les bases converties, elles seront exécutées sur le client ou le serveur en fonction des préférences de la base. Passez 1 ou 2 dans *valeur* pour "forcer" l’exécution des commandes respectivement sur le client ou sur le serveur.
-Reportez-vous à l'exemple 2.
-**Note :** Si vous souhaitez pouvoir activer les jointures "type SQL" (cf. sélecteur Query by formula joins), vous devez toujours exécuter les formules sur le serveur afin qu'elle ait accès aux enregistrements. Attention, dans ce contexte, la formule ne doit pas contenir d'appel à une méthode, sinon elle est automatiquement basculée sur le poste distant.
+### Client port ID (22)
+**Portée** : Tous postes 4D distants
-### Order by formula on server (47)
+ **Conservé** **entre deux sessions** : Oui
-**Portée** :Table et process courants
+ **Valeurs possibles** : Voir sélecteur 15
- **Conservé** **entre deux sessions** : Non
+**Description** : Permet de spécifier ce paramètre pour les postes 4D distants utilisés en tant que serveurs Web. La valeur définie via ce sélecteur est appliquée à tous les postes distants utilisés comme serveurs Web. Si vous souhaitez définir cette valeur pour certains postes distants uniquement, utilisez la boîte de dialogue des Préférences de 4D en mode distant.
- **Valeurs possibles** : 0 (utiliser le paramétrage de la base), 1 (exécuter sur le client) ou 2 (exécuter sur le serveur)
-**Description** : Emplacement de l’exécution de la commande [ORDER BY FORMULA](order-by-formula.md) pour la table passée en paramètre.
-Dans le cadre de l’exploitation d’une base en client-serveur, la commande [ORDER BY FORMULA](order-by-formula.md) peut être exécutée soit sur le serveur soit sur le client. Ce sélecteur permet de définir l’emplacement de l’exécution de cette commande (serveur ou client). Ce mode peut également être défini dans les préférences de la base. Pour plus d’informations, reportez-vous à la description du sélecteur 46, Query by formula on server.
-
-**Note :** Si vous souhaitez pouvoir activer les jointures "type SQL" (cf. sélecteur Query by formula joins), vous devez toujours exécuter les formules sur le serveur afin qu'elle ait accès aux enregistrements. Attention, dans ce contexte, la formule ne doit pas contenir d'appel à une méthode, sinon elle est automatiquement basculée sur le poste distant.
+### Client Server port ID (35)
+**Portée** :Base de données
-### Auto synchro resources folder (48)
+ **Conservé** **entre deux sessions** : Oui
-**Portée** :Poste 4D distant
+ **Valeurs possibles** : 0 à 65535
- **Conservé** **entre deux sessions** : Non
+**Description** : Numéro de port TCP sur lequel 4D Server publie la base de données (à destination des postes 4D distants). Par défaut, la valeur est 19813\.
- **Valeurs possibles** : 0 (pas de synchronisation), 1 (synchronisation auto) ou 2 (demander).
+La personnalisation de cette valeur permet d’utiliser plusieurs applications 4D client-serveur sur la même machine avec le protocole TCP ; dans ce cas, vous devez spécifier un numéro de port différent pour chaque application.
-**Description** : Mode de synchronisation dynamique du dossier *Resources* du poste client 4D ayant exécuté la commande avec celui du serveur.
+La valeur est stockée dans le fichier de structure de la base. Elle peut être définie avec 4D en mode local mais n’est prise en compte qu’en configuration client-serveur.
-Lorsque le contenu du dossier *Resources* sur le serveur a été modifié ou qu’une demande de synchronisation a été émise (via l’explorateur de ressources ou suite à l'exécution de la commande [NOTIFY RESOURCES FOLDER MODIFICATION](notify-resources-folder-modification.md)), le serveur notifie les clients connectés.
+Lorsque vous modifiez cette valeur, il est nécessaire de redémarrer le poste serveur afin que la nouvelle valeur soit prise en compte.
-Trois modes de synchronisation sont alors possibles côté client. Le sélecteur Auto synchro resources folder vous permet de définir le mode à utiliser pour le poste client et la session courante :
-0 (valeur par défaut) : pas de synchronisation dynamique (la demande de synchronisation est ignorée) 1 : synchronisation dynamique automatique2 : affichage d’une boîte de dialogue sur les postes clients, avec possibilité d’effectuer ou de refuser la synchronisation.Le mode de synchronisation peut également être défini globalement dans les Propriétés de la base.
+### Client Web log recording (30)
-### Query by formula joins (49)
+**Portée** :Tous postes 4D distants
-**Portée** :Process courant
+ **Conservé** **entre deux sessions** : Oui
- **Conservé** **entre deux sessions** : Non
+ **Valeurs possibles** : 0 = Ne pas enregistrer (défaut), 1 = Enregistrer au format CLF, 2 = Enregistrer au format DLF, 3 = Enregistrer au format ELF, 4 = Enregistrer au format WLF.
- **Valeurs possibles** : 0 (utiliser paramétrages de la base), 1 (toujours utiliser les liens auto) ou 2 (utiliser les jointures SQL si possible).
+**Description** : Démarrage ou arrêt de l’enregistrement des requêtes Web reçues par les serveurs Web de tous les postes clients. Par défaut, la valeur est 0 (pas d’enregistrement des requêtes).
-**Description** : Mode de fonctionnement des commandes [QUERY BY FORMULA](query-by-formula.md) et [QUERY SELECTION BY FORMULA](query-selection-by-formula.md) relatif à l’utilisation de "jointures SQL".
+Le fonctionnement de ce sélecteur est identique à celui du sélecteur 29 ; il s’applique toutefois à tous les postes 4D clients utilisés en tant que serveurs Web. Le fichier “logweb.txt” est dans ce cas automatiquement placé dans le sous-dossier Logs du dossier base 4D client (dossier de cache). Si vous souhaitez définir des valeurs pour certains postes clients uniquement, utilisez la boîte de dialogue des Préférences de 4D en mode distant.
-Dans les bases de données créées à compter de la version 11.2 de 4D v11 SQL, ces commandes effectuent des jointures sur le modèle des jointures SQL. Ce mécanisme permet de modifier la sélection d’une table en fonction d’une recherche effectuée sur une autre table sans que les tables soient reliées par un lien automatique (condition nécessaire dans les versions précédentes de 4D).
-Le sélecteur Query by formula joins vous permet de définir le mode de fonctionnement des commandes de recherche par formule pour le process courant :
-0 : utiliser les paramètres courants de la base (valeur par défaut). Dans les bases de données créées à compter de la version 11.2 de 4D v11 SQL, les "jointures SQL" sont toujours activées pour les recherches par formule. Dans les bases de données converties, ce mécanisme est inactivé par défaut pour des raisons des compatibilité mais peut être mis en oeuvre via une préférence.1 : toujours utiliser les liens auto (= fonctionnement des versions précédentes de 4D). Dans ce mode, un lien est nécessaire pour définir la sélection d’une table en fonction de recherches effectuées dans une autre table. 4D n’effectue pas de "jointures SQL".2 : utiliser les jointures SQL si possible (= fonctionnement par défaut des bases créées en version 11.2 et suivantes de 4D v11 SQL). Dans ce mode, 4D établit des "jointures SQL" pour les recherches par formule lorsque la formule s’y prête (à deux exceptions près, voir la description de la commande commandes [QUERY BY FORMULA](query-by-formula.md) ou [QUERY SELECTION BY FORMULA](query-selection-by-formula.md). **Note :** Avec 4D en mode distant, les "jointures SQL" ne peuvent être utilisées que si les formules sont exécutées sur le serveur (elles doivent avoir accès aux enregistrements). Pour configurer le lieu d'exécution des formules, reportez-vous aux sélecteurs 46 et 47.
+### Current process debug log recording (111)
+**Portée :** Application 4D
-### HTTP compression level (50)
+**Conservé entre deux sessions :** Non
-**Portée** : Application 4D
+**Description** : Démarrage ou arrêt de l'enregistrement séquentiel des événements de programmation **du process courant** dans un fichier d'historique séparé. Cet historique est semblable à Debug log recording (sélecteur 34) mais il ne porte que sur le process courant. Le nom du fichier d'historique inclut la lettre "p" et le numéro du process : 4DDebugLog\[\_p*N*_*n*].txt, où N est l'ID unique du process. Pour plus d'informations sur ce format et sur l'utilisation du fichier *4DDebugLog*, veuillez consulter la *Description des fichiers d'historique* dans le Mode Développement.
- **Conservé** **entre deux sessions** : Non
+**Notes :** Ce sélecteur est fourni uniquement à des fins de débogage et doit être utilisé avec précaution. Plus particulièrement, il ne doit pas être utilisé en production, étant donné qu'il peut avoir une incidence sur les performances de l'application. Vous pouvez utiliser simultanément les sélecteurs Debug log recording et Current process debug log recording, auquel cas les actions liées au process courant ne seront pas enregistrées dans le fichier d'historique principal.
- **Description** : *Constante obsolète (conservée par compatibilité uniquement).* Il est désormais conseillé d'utiliser les commandes [WEB SET OPTION](web-set-option.md) et [WEB GET OPTION](web-get-option.md) pour le paramétrage du serveur HTTP.
-### HTTP compression threshold (51)
+### Dates inside objects (85)
-**Portée** : Application 4D
+**Portée** : Process courant
**Conservé** **entre deux sessions** : Non
- **Description** : *Constante obsolète (conservée par compatibilité uniquement).* Il est désormais conseillé d'utiliser les commandes [WEB SET OPTION](web-set-option.md) et [WEB GET OPTION](web-get-option.md) pour le paramétrage du serveur HTTP.
-
-
-
-### Server base process stack size (53)
-
-**Portée** : 4D Server
+ **Valeurs possibles** : String type without time zone (0), String type with time zone (1), Date type (2) (défaut)
- **Conservé** **entre deux sessions** : Non
+**Description** : Définit la manière dont les dates sont stockées dans les objets, ainsi que leur traitement en cas d'importation/exportation en JSON.
- **Valeurs possibles** : Entier long positif.
+Lorsque ce sélecteur vaut Date type (valeur par défaut dans les bases créées à compter de 4D v17), les dates 4D sont stockées avec le type date dans les objets, en tenant compte des paramétrages de date locaux. Lorsqu'ils sont exportés au format JSON, les attributs date seront convertis en chaînes qui ne contiennent pas l'heure (**Note :** ce paramétrage peut être défini au niveau des paramètres de la base via l'option "Utiliser le type date au lieu du format date ISO dans les objets" dans la *Page Compatibilité*).
-**Description** : Taille de la pile allouée à chaque process système préemptif sur le serveur, exprimée en octets. La taille par défaut est déterminée par le système.
+Si vous passez String type with time zone dans ce sélecteur, les dates 4D seront converties en chaînes ISO en tenant compte du fuseau horaire local. Par exemple, la conversion de la date !23/08/2013! donne "2013-08-22T22:00:00Z" au format JSON lorsque l’opération est effectuée en France en été (GMT+2). Ce principe est conforme au fonctionnement standard de JavaScript. Ce fonctionnement peut être source d’erreurs si vous souhaitez envoyer des valeurs de date en JSON à une personne qui se trouve dans un autre fuseau horaire. C’est le cas par exemple pour l’exportation d’une table avec [Selection to JSON](selection-to-json.md) en France destiné à être réimporté aux USA avec [JSON TO SELECTION](json-to-selection.md). Par défaut, les dates étant réinterprétées dans chaque fuseau horaire, les valeurs stockées dans la base seront différentes. Dans ce cas, vous pouvez modifier le mode de conversion des dates afin qu’il ne tienne pas compte du fuseau horaire en passant String type without time zone dans ce sélecteur. La conversion de la date !23/08/2013! donnera alors "2013-08-23T00:00:00Z" dans tous les cas.
-Les process système préemptifs (process de type Process base 4D client) sont chargés de contrôler les process clients 4D principaux. La taille allouée par défaut à la pile de chaque process préemptif permet un bon confort d’exécution mais peut s’avérer conséquente lorsque de très nombreux process (plusieurs centaines) sont créés.
-A des fins d’optimisation, cette taille peut être diminuée sensiblement si les opérations effectuées par la base s'y prêtent (par exemple si la base n’effectue pas de tris sur de grosses quantités d’enregistrements). Des valeurs de 512 voire de 256 Ko sont possibles. Attention, le sous-dimensionnement de la pile est critique et peut nuire au fonctionnement de 4D Server. Le réglage de ce paramètre est à effectuer avec précaution et doit tenir compte des conditions d’utilisation de la base (nombre d’enregistrements, types d’opérations, etc.). Pour être pris en compte, ce paramétrage doit être exécuté sur le poste serveur (par exemple dans la méthode base Sur démarrage serveur).
+### Debug log recording (34)
-### Idle connections timeout (54)
+**Thread-safe** : Yes
-**Portée** : Application 4D sauf si valeur négative
+**Portée** : Application 4D
**Conservé** **entre deux sessions** : Non
-**Valeurs possibles** : Valeur entière exprimant une durée en secondes. La valeur peut être positive (nouvelles connexions) ou négative (connexions existantes). Par défaut, la valeur est 20.
+**Description** : Démarrage ou arrêt de l’enregistrement séquentiel des événements de programmation de 4D dans le fichier *4DDebugLogServer* *\[\_pN\_n\].txt* (où \_n est le numéro de segment du fichier).
-**Description** : Délai maximum d’inactivité (timeout) des connexions au moteur de base de données, au serveur SQL de 4D ainsi qu'au serveur d'applications 4D (mode *ServerNet* uniquement, ignoré en *QUIC*). Lorsqu’une connexion inactive atteint ce délai, elle est automatiquement mise en veille, ce qui se traduit par le gel de la session client/serveur et la fermeture du socket réseau. Dans la fenêtre d'administration du serveur, le process utilisateur prend l'état "Postponed". Ce fonctionnement est entièrement transparent pour l’utilisateur : dès qu’il y a reprise d’activité sur la connexion mise en veille, le socket est automatiquement rouvert et la session client/serveur restaurée.
+Deux modes sont possibles :
-Ce paramétrage permet, d’une part, d’économiser des ressources sur le serveur : les connexions mises en veille referment le socket et libèrent un processus sur le serveur. D’autre part, il permet d’éviter les pertes de connexions dues aux fermetures par les pare-feux des sockets inactifs. La valeur de timeout des connexions inactives doit pour cela être inférieure à celle du pare-feu.
+- Le mode standard propose une vue basique des événements et le fichier est automatiquement placé dans le sous-dossier Logs de la base, à côté du fichier de structure. Les durées d'exécution sont exprimées en millisecondes avec la valeur "< ms" qui s'affiche lorsqu'une opération dure moins d'une milliseconde.
-Si vous passez une valeur positive dans *valeur*, elle s'applique à toutes les nouvelles connexions dans tous les process. Si vous passez une valeur négative, elle s’applique aux connexions ouvertes dans le process courant. Si vous passez 0, les connexions inactives ne sont pas soumises à un timeout.
+- Le mode tabulé fournit des informations supplémentaires et utilise un format tabulé plus compact dans le fichier. Les durées d'exécution sont exprimées en millisecondes. **Valeurs possibles** : Entier long contenant un champ de bits (bit field) : valeur = bit1(1)+bit2(2)+bit3(4)+bit4(8)+…).
+- Le bit 0 (valeur 1) permet de demander à activer le fichier (à noter que toute autre valeur non nulle l’activera également)
+- Le bit 1 (valeur 2) permet de demander les paramètres d’appel aux commandes et (mode interprété uniquement) aux méthodes.
+- Le bit 2 (valeur 4) permet d’activer le format tabulé.
+- Le bit 3 (valeur 8) permet de désactiver l’écriture immédiate de chaque opération sur disque (activée par défaut). L’écriture immédiate est moins rapide mais plus efficace par exemple pour rechercher les causes d’un plantage. Si vous désactivez ce mode, le fichier sera généré plus rapidement.
+- Le bit 4 (valeur 16) permet de désactiver l’enregistrement des appels de plug-ins (activé par défaut).
+- Le bit 5 (valeur 32) permet de désactiver l'enregistrement des fonctions membres.
-Ce paramètre doit être défini côté client. Généralement, vous n'aurez pas besoin de modifier cette valeur.
+Exemples :
+```4d
+SET DATABASE PARAMETER(34;1) // active le mode standard sans les paramètres, avec les durées
+SET DATABASE PARAMETER(34;2) // active le mode standard avec les paramètres et les durées
+SET DATABASE PARAMETER(34;2+4) // active le mode tabulé avec les paramètres et les durées
+SET DATABASE PARAMETER(34;0) // désactive le fichier
+```
+Dans tout type d'application 4D (4D tous modes, 4D Server, 4D Volume Desktop), en interprété ou en compilé, vous pouvez éviter que le fichier n’enregistre une trop grande quantité d’informations :
-### PHP interpreter IP address (55)
+- en restreignant les commandes 4D examinées à l'aide de Log command list (sélecteur 80), ou
+- en le restreignant au process courant uniquement à l'aide de Current process debug log recording (sélecteur 111). Cela ajoutera la lettre "p" et le numéro de process au nom du fichier : *4DDebugLog* *\[\_pN\_n\].txt ou* *4DDebugLogServer\[\_pn\_n\].txt.* Pour plus d’informations sur le format et l’exploitation du fichier 4DDebugLog, veuillez consulter la *Description des fichiers d'historique* dans le Manuel Développement.
-**Portée** :Application 4D
+**Note :** Ce sélecteur est proposé uniquement à des fins de débogage et doit être utilisé avec précaution car il peut entraîner une dégradation des performances de l'application.
- **Conservé** **entre deux sessions** : Non
-**Valeurs** : Chaîne formatée en IPv4 (par exemple "127.0.0.1") ou en IPv6 (par exemple "2001:0db8:0000:0000:0000:ff00:0042:8329")
-**Description** : Adresse IP utilisée localement par 4D pour communiquer avec l’interpéteur PHP via fastcgi. Par défaut, la valeur est "127.0.0.1" (les adresses au format IPv6 sont prises en charge à compter de 4D v16R4).. Cette adresse doit correspondre à la machine sur laquelle se trouve 4D. Ce paramètre peut également être défini globalement pour tous les postes via les Propriétés de la base.
-Pour plus d’informations sur l’interpréteur PHP de 4D, reportez-vous au manuel *Mode Développement*.
+### Diagnostic log level (86)
+**Thread-safe** : Yes
+**Portée :** Application 4D
-### PHP interpreter port (56)
+**Conservé entre deux sessions :** Non
-**Portée** :Application 4D
+**Description :** Niveau(x) de messages à inclure dans le journal de diagnostic lorsqu'il est activé (voir le sélecteur Diagnostic log recording). Chaque niveau désigne une catégorie de messages de diagnostic et inclut automatiquement la ou les catégories plus importantes. Pour une description des catégories, consultez la section *Log niveau diagnostic* sur le site *developer.4d.com*.
- **Conservé** **entre deux sessions** : Non
+**Valeurs possibles** **:** L'une des constantes suivantes (Log info par défaut):
+- Log trace: active ERROR, WARN, INFO, DEBUG, TRACE (niveau le plus détaillé)
+- Log debug: active ERROR, WARN, INFO, DEBUG
+- Log info: active ERROR, WARN, INFO (par défaut)
+- Log warn: active ERROR, WARN Log error: active ERROR (niveau le moins détaillé)
-**Valeurs** : Valeur de type entier long positif. Par défaut, la valeur est 8002\.
-**Description** : Numéro du port TCP utilisé par l’interpréteur PHP de 4D. Ce paramètre peut également être défini globalement pour tous les postes via les Propriétés de la base. Pour plus d’informations sur l’interpréteur PHP de 4D, reportez-vous au manuel *Mode Développement*.
+### Diagnostic log recording (79)
-### SSL cipher list (64)
+**Thread-safe** : Yes
**Portée** : Application 4D
-**Conservé entre deux sessions** : Non
-
-**Valeurs possibles** : Suite de chaînes séparées par des deux-points.
-
-**Description :** Liste de chiffrement (*cipher list*) utilisée par 4D pour le protocole sécurisé. Cette liste permet de modifier la priorité des algorithmes de chiffrement mis en oeuvre par 4D.
-
-Par exemple, vous pouvez passer la chaîne suivante dans le paramètre *valeur* : "HIGH:!aNULL:!MD5:!3DES:!CAMELLIA:!AES128:!RSA:!DH:!RC4". Pour une description complète de la syntaxe de la liste de chiffrement, reportez-vous à la *page ciphers sur le site de OpenSSL*.
-
-Ce paramétrage s'applique au principal serveur Web (à l'exclusion des objets Web server), au serveur SQL, aux connexions client/serveur ainsi qu'au client HTTP et aux commandes 4D faisant appel au protocole sécurisé. Ce paramétrage est temporaire (il n'est pas maintenu entre les sessions).
-
-Lorsque la liste de chiffrement a été modifiée, vous devez redémarrer le serveur concerné pour que le nouveau paramétrage soit pris en compte.
-
-Pour réinitialiser la liste de chiffrement à sa valeur par défaut (stockée en dur dans le fichier SLI), appelez la commande [SET DATABASE PARAMETER](set-database-parameter.md) et passez une chaîne vide ("") dans le paramètre *valeur*.
-
-**Note :** Avec la commande [Get database parameter](get-database-parameter.md), la liste de chiffrement est retournée dans le paramètre optionnel *valeurAlpha* et le paramètre de retour vaut toujours 0.
-
-
-
-### Cache unload minimum size (66)
-
-**Portée** : Application 4D
-
-**Conservé entre deux sessions** : Non
-
-**Valeurs possibles** : Entier long positif > 1.
-
-**Description** : Taille minimum de mémoire à libérer du cache de la base de données lorsque le moteur a besoin d’y faire de la place pour y allouer un objet (valeur en octets).
-
-Ce sélecteur a pour but de permettre de réduire le nombre de libérations de données du cache afin d’obtenir des gains de performances. Vous pouvez faire varier ce paramétrage en fonction de la taille du cache et de celle des blocs de données manipulées dans votre base.
-
-Par défaut, si ce sélecteur n’est pas utilisé, 4D décharge au minimum 10 % du cache en cas de besoin de place.
-
-
-
-### Direct2D status (69)
-
-**Portée**: Application 4D
-
-**Conservé entre deux sessions** : Non
-
-**Description** : Mode d’activation de l’implémentation de Direct2D sous Windows.
+**Conservé** **entre deux sessions** : Non
-**Valeurs possibles** : Une des constantes suivantes (mode 3 par défaut) :
+**Valeurs possibles** : 0 ou 1 (0 = ne pas enregistrer, 1 = enregistrer)
-Direct2D disabled (0) : le mode Direct2D n’est pas activé, la base fonctionne dans le mode précédent (GDI/GDIPlus).
+**Description** : Démarrage ou arrêt de l’enregistrement du fichier de diagnostic de 4D. Par défaut, la valeur est 0 (pas d’enregistrement).
-Direct2D hardware (1) : utilisation de Direct2D en contexte graphique matériel dans toute l’application 4D. Si ce contexte n’est pas disponible, utilisation du contexte graphique Direct2D logiciel.
+4D vous permet d’enregistrer de manière continue dans un fichier de diagnostic un ensemble d’événements relatifs au fonctionnement interne de l’application. Les informations contenues dans ce fichier sont destinées à la mise au point des applications 4D et pourront être analysées avec l’aide des services techniques de 4D (pour plus d'informations, reportez-vous à la section *Description des fichiers d'historique* sur *developer.4d.com*). Lorsque vous passez 1 dans ce sélecteur, un fichier de diagnostic est automatiquement créé (ou ouvert) dans le dossier **Logs** de la base. Le fichier est nommé *4DDiagnosticLog\_N*.txt (ou *4DDiagnosticLogServer\_N.*txt s'il est généré sur le serveur). Une fois que le fichier atteint une taille de 10 Mo, il est refermé et un nouveau fichier est généré, avec un numéro séquentiel N incrémenté.
-Direct2D software (3) (Mode par défaut) : à partir de Windows 7, utilisation de Direct2D en contexte graphique logiciel dans toute l’application 4D.
+A noter qu’il est possible d’inclure des informations personnalisées dans ce fichier à l’aide de la commande [LOG EVENT](log-event.md).
-**Attention :* Ce sélecteur est fourni uniquement à des fins de débogage. Etant donné que plusieurs fonctionnalités de 4D dépendent de Direct2D, il ne doit pas être désactivé dans les applications déployées. Seul le mode par défaut (Direct2D software) est approuvé pour les applications déployées.*
@@ -536,221 +373,214 @@ Direct2D software (3) (Mode par défaut) : à partir de Windows 7, utilisation d
**Valeurs possibles** : 0, 1, 2, 3, 4 ou 5 (cf. valeurs du sélecteur 69). La valeur retournée dépend de la disponibilité de Direct2D, du matériel et de la qualité de la prise en charge de Direct2D par le système d’exploitation.
Par exemple, si vous exécutez :
-
+```4d
SET DATABASE PARAMETER(;Direct2D Hardware) $mode:=Get database parameter()
+```
- sur Windows 7 et suivants, *$mode* vaudra 1 si le système détecte un matériel compatible Direct2D, sinon *$mode* vaudra 3 (contexte logiciel).
-
- sur Windows Vista, *$mode* vaudra 1 si le système détecte un matériel compatible Direct2D, sinon *$mode* vaudra 0 (désactivation de Direct2D).
-
- sur Windows XP, *$mode* vaudra toujours 0 (incompatibilité avec Direct2D).
-### Diagnostic log recording (79)
-**Thread-safe** : Yes
+### Direct2D status (69)
-**Portée** : Application 4D
+**Portée**: Application 4D
-**Conservé** **entre deux sessions** : Non
+**Conservé entre deux sessions** : Non
-**Valeurs possibles** : 0 ou 1 (0 = ne pas enregistrer, 1 = enregistrer)
+**Description** : Mode d’activation de l’implémentation de Direct2D sous Windows.
-**Description** : Démarrage ou arrêt de l’enregistrement du fichier de diagnostic de 4D. Par défaut, la valeur est 0 (pas d’enregistrement).
+**Valeurs possibles** : Une des constantes suivantes (mode 3 par défaut) :
-4D vous permet d’enregistrer de manière continue dans un fichier de diagnostic un ensemble d’événements relatifs au fonctionnement interne de l’application. Les informations contenues dans ce fichier sont destinées à la mise au point des applications 4D et pourront être analysées avec l’aide des services techniques de 4D (pour plus d'informations, reportez-vous à la section *Description des fichiers d'historique* sur *developer.4d.com*). Lorsque vous passez 1 dans ce sélecteur, un fichier de diagnostic est automatiquement créé (ou ouvert) dans le dossier **Logs** de la base. Le fichier est nommé *4DDiagnosticLog\_N*.txt (ou *4DDiagnosticLogServer\_N.*txt s'il est généré sur le serveur). Une fois que le fichier atteint une taille de 10 Mo, il est refermé et un nouveau fichier est généré, avec un numéro séquentiel N incrémenté.
+Direct2D disabled (0) : le mode Direct2D n’est pas activé, la base fonctionne dans le mode précédent (GDI/GDIPlus).
-A noter qu’il est possible d’inclure des informations personnalisées dans ce fichier à l’aide de la commande [LOG EVENT](log-event.md).
+Direct2D hardware (1) : utilisation de Direct2D en contexte graphique matériel dans toute l’application 4D. Si ce contexte n’est pas disponible, utilisation du contexte graphique Direct2D logiciel.
+Direct2D software (3) (Mode par défaut) : à partir de Windows 7, utilisation de Direct2D en contexte graphique logiciel dans toute l’application 4D.
+**Attention :* Ce sélecteur est fourni uniquement à des fins de débogage. Etant donné que plusieurs fonctionnalités de 4D dépendent de Direct2D, il ne doit pas être désactivé dans les applications déployées. Seul le mode par défaut (Direct2D software) est approuvé pour les applications déployées.*
-### Log command list (80)
-**Portée** : Application 4D
-**Conservé** **entre deux sessions** : Non
-**Valeurs possibles** : Chaîne contenant la liste des numéros des commandes 4D à enregistrer (séparées par des points-virgules), ou "all" pour enregistrer toutes les commande, ou "" (chaîne vide) pour n’enregistrer aucune commande, ou le préfixe "-" pour exclure des commandes spécifiques.
+### HTTP compression level (50)
-**Description** : Liste des commandes 4D à enregistrer dans le fichier de débogage ou à exclure du fichier de débogage (cf. sélecteur 34, Debug log recording). Par défaut, toutes les commandes 4D sont enregistrées. Ce sélecteur vous permet de restreindre la quantité d’informations stockées dans le fichier de débogage en limitant les commandes 4D dont vous souhaitez enregistrer l’exécution ou bien que vous souhaitez exclure de l'enregistrement. Par exemple, vous pouvez écrire : SET DATABASE PARAMETER(Log command list;"277;341") //enregistrer uniquement les commandes CHERCHER et CHERCHER DANS SELECTION OU SET DATABASE PARAMETER(Log command list;"-1666;-323") //exclure les commandes FIXER ALIAS UTILISATEUR et ENDORMIR PROCESS de l'enregistrement
+**Portée** : Application 4D
+ **Conservé** **entre deux sessions** : Non
+ **Description** : *Constante obsolète (conservée par compatibilité uniquement).* Il est désormais conseillé d'utiliser les commandes [WEB SET OPTION](web-set-option.md) et [WEB GET OPTION](web-get-option.md) pour le paramétrage du serveur HTTP.
-### Spellchecker (81)
-**Portée** : Application 4D
- **Conservé** **entre deux sessions** : Non
- **Valeurs possibles** : 0 (défaut) = correcteur macOS (Hunspell désactivé), 1 = correcteur Hunspell actif.
+### HTTP compression threshold (51)
-**Description** : Permet d’activer le correcteur orthographique Hunspell sous macOS. Par défaut, sur cette plate-forme le correcteur natif est activé. Vous pouvez souhaiter utiliser le correcteur Hunspell par exemple pour unifier l’interface de vos applications multiplates-formes (sous Windows, seul le correcteur Hunspell est disponible). Pour plus d’informations, reportez-vous à la page *Correction orthographique*.
+**Portée** : Application 4D
+ **Conservé** **entre deux sessions** : Non
+ **Description** : *Constante obsolète (conservée par compatibilité uniquement).* Il est désormais conseillé d'utiliser les commandes [WEB SET OPTION](web-set-option.md) et [WEB GET OPTION](web-get-option.md) pour le paramétrage du serveur HTTP.
-### Dates inside objects (85)
-**Portée** : Process courant
- **Conservé** **entre deux sessions** : Non
- **Valeurs possibles** : String type without time zone (0), String type with time zone (1), Date type (2) (défaut)
+### HTTPS Port ID (39)
-**Description** : Définit la manière dont les dates sont stockées dans les objets, ainsi que leur traitement en cas d'importation/exportation en JSON.
+**Portée** :4D local, 4D Server
-Lorsque ce sélecteur vaut Date type (valeur par défaut dans les bases créées à compter de 4D v17), les dates 4D sont stockées avec le type date dans les objets, en tenant compte des paramétrages de date locaux. Lorsqu'ils sont exportés au format JSON, les attributs date seront convertis en chaînes qui ne contiennent pas l'heure (**Note :** ce paramétrage peut être défini au niveau des paramètres de la base via l'option "Utiliser le type date au lieu du format date ISO dans les objets" dans la *Page Compatibilité*).
+ **Conservé** **entre deux sessions** : Oui
-Si vous passez String type with time zone dans ce sélecteur, les dates 4D seront converties en chaînes ISO en tenant compte du fuseau horaire local. Par exemple, la conversion de la date !23/08/2013! donne "2013-08-22T22:00:00Z" au format JSON lorsque l’opération est effectuée en France en été (GMT+2). Ce principe est conforme au fonctionnement standard de JavaScript. Ce fonctionnement peut être source d’erreurs si vous souhaitez envoyer des valeurs de date en JSON à une personne qui se trouve dans un autre fuseau horaire. C’est le cas par exemple pour l’exportation d’une table avec [Selection to JSON](selection-to-json.md) en France destiné à être réimporté aux USA avec [JSON TO SELECTION](json-to-selection.md). Par défaut, les dates étant réinterprétées dans chaque fuseau horaire, les valeurs stockées dans la base seront différentes. Dans ce cas, vous pouvez modifier le mode de conversion des dates afin qu’il ne tienne pas compte du fuseau horaire en passant String type without time zone dans ce sélecteur. La conversion de la date !23/08/2013! donnera alors "2013-08-23T00:00:00Z" dans tous les cas.
+ **Description** : *Constante obsolète (conservée par compatibilité uniquement).* Il est désormais conseillé d'utiliser les commandes [WEB SET OPTION](web-set-option.md) et [WEB GET OPTION](web-get-option.md) pour le paramétrage du serveur HTTP.
-### Diagnostic log level (86)
-**Thread-safe** : Yes
+### Idle connections timeout (54)
-**Portée :** Application 4D
+**Portée** : Application 4D sauf si valeur négative
-**Conservé entre deux sessions :** Non
+**Conservé** **entre deux sessions** : Non
-**Description :** Niveau(x) de messages à inclure dans le journal de diagnostic lorsqu'il est activé (voir le sélecteur Diagnostic log recording). Chaque niveau désigne une catégorie de messages de diagnostic et inclut automatiquement la ou les catégories plus importantes. Pour une description des catégories, consultez la section *Log niveau diagnostic* sur le site *developer.4d.com*.
+**Valeurs possibles** : Valeur entière exprimant une durée en secondes. La valeur peut être positive (nouvelles connexions) ou négative (connexions existantes). Par défaut, la valeur est 20.
-**Valeurs possibles** **:** L'une des constantes suivantes (Log info par défaut): Log trace: active ERROR, WARN, INFO, DEBUG, TRACE (niveau le plus détaillé) Log debug: active ERROR, WARN, INFO, DEBUG Log info: active ERROR, WARN, INFO (par défaut) Log warn: active ERROR, WARN Log error: active ERROR (niveau le moins détaillé)
+**Description** : Délai maximum d’inactivité (timeout) des connexions au moteur de base de données, au serveur SQL de 4D ainsi qu'au serveur d'applications 4D (mode *ServerNet* uniquement, ignoré en *QUIC*). Lorsqu’une connexion inactive atteint ce délai, elle est automatiquement mise en veille, ce qui se traduit par le gel de la session client/serveur et la fermeture du socket réseau. Dans la fenêtre d'administration du serveur, le process utilisateur prend l'état "Postponed". Ce fonctionnement est entièrement transparent pour l’utilisateur : dès qu’il y a reprise d’activité sur la connexion mise en veille, le socket est automatiquement rouvert et la session client/serveur restaurée.
+Ce paramétrage permet, d’une part, d’économiser des ressources sur le serveur : les connexions mises en veille referment le socket et libèrent un processus sur le serveur. D’autre part, il permet d’éviter les pertes de connexions dues aux fermetures par les pare-feux des sockets inactifs. La valeur de timeout des connexions inactives doit pour cela être inférieure à celle du pare-feu.
+Si vous passez une valeur positive dans *valeur*, elle s'applique à toutes les nouvelles connexions dans tous les process. Si vous passez une valeur négative, elle s’applique aux connexions ouvertes dans le process courant. Si vous passez 0, les connexions inactives ne sont pas soumises à un timeout.
-### Use legacy network layer (87)
+Ce paramètre doit être défini côté client. Généralement, vous n'aurez pas besoin de modifier cette valeur.
-**Portée :** 4D local, 4D Server.
-**Conservé entre deux sessions :** Oui
-**Description :** Fixe ou lit le statut courant de l'ancienne couche réseau pour les connexions client/serveur. L'ancienne couche réseau est obsolète à compter de 4D v14 R5 et doit être progressivement remplacée dans vos applications par la couche réseau *ServerNet*. *ServerNet* sera nécessaire dans les prochaines versions de 4D afin de permettre aux applications 4D de tirer parti des futures évolutions réseau. Pour des raisons de compatibilité, l'ancienne couche réseau est toujours prise en charge afin de faciliter la transition des applications existantes (elle reste utilisée par défaut dans les applications converties depuis des versions antérieures à la v14 R5). Passez 1 dans ce paramètre pour utiliser l'ancienne couche réseau (et désactiver *ServerNet*), et passez 0 pour désactiver l'ancienne couche réseau (et utiliser *ServerNet*).
-Cette propriété peut également être définie à l'aide de l'option "Utiliser l'ancienne couche réseau" présente dans la *Page Compatibilité* des Propriétés de la base (voir section *Options réseau et Client-serveur* ; dans cette section, vous trouverez aussi un paragraphe décrivant la stratégie de migration. Nous vous recommandons d'activer *ServerNet* dès que possible).
+### IMAP Log (119)
-Il est nécessaire de redémarrer l'application pour que ce paramètre soit pris en compte.
+**Thread-safe** : Yes
-**Valeurs possibles :** 0 ou 1 (0 = ne pas utiliser l'ancienne couche, 1 = utiliser l'ancienne couche)
+**Portée** : 4D local, 4D Server
-**Valeur par défaut :** 0 dans les applications créées avec 4D v14 R5 ou suivantes, 1 dans les applications converties depuis 4D v14 R4 ou précédentes.
+**Conservé entre deux sessions :** Non
+**Valeurs possibles :** 0 ou de 1 à N (0 = ne pas enregistrer, 1 à N = numéro séquentiel, ajouté au nom du fichier). Par défaut, la valeur est 0 (échanges IMAP non enregistrés).
+**Description :** Démarre ou stoppe l'enregistrement des échanges entre 4D et le serveur IMAP, lorsqu'un objet transporteur est traité via *IMAP\_transporteur.getMail( )* ou *IMAP\_transporteur.checkConnection( )*. Par défaut, la valeur est 0 (échanges non enregistrés). Lorsque ce mécanisme est activé, un fichier journal est créé dans le dossier Journaux de la base de données. Il est nommé 4DIMAPLog\_N.txt, où N est le numéro séquentiel du journal. Une fois que le fichier 4DIMAPLog a atteint une taille de 10 Mo, il est fermé et un nouveau est généré, avec un numéro séquentiel incrémenté. Si un fichier du même nom existe déjà, il est directement remplacé. Vous pouvez définir le numéro de départ de la séquence à l'aide du paramètre value. Par défaut, tous les fichiers sont conservés, mais vous pouvez contrôler le nombre de fichiers à conserver en utilisant le paramètre Circular log limitation.
-### SQL Server Port ID (88)
+Pour plus d'informations sur les fichiers 4DIMAPLog\_N.txt, reportez-vous à la section *Description des fichiers d'historique*.
-**Portée** : 4D mode local et 4D Server.
-**Conservé entre deux sessions** : Oui
-**Description** : Permet de lire ou de fixer le numéro du port TCP utilisé par le serveur SQL intégré de 4D en mode local ou de 4D Server. Par défaut, la valeur est 19812\. Le numéro de port TCP peut également être défini dans la page "SQL" de la boîte de dialogue des Propriétés de la base. Lorsque ce sélecteur est utilisé en écriture, la propriété de la base est mise à jour.
-**Valeurs possibles** : 0 à 65535.
+### Is current database a project (112)
-**Valeur par défaut** : 19812
+**Note :** Vous pouvez utiliser ce sélecteur uniquement à l'aide de la commande [Get database parameter](get-database-parameter.md) et ses valeurs ne peuvent pas être définies.
+**Portée** : Application 4D
+**Description** : Retourne 1 si l'architecture de la base courante est un projet, sinon elle retourne 0\. Pour plus d'informations, veuillez consulter la section *Base projet VS base binaire*.
-### Circular log limitation (90)
-**Thread-safe** : Yes
-**Portée** : 4D local, 4D Server.
-**Conservé entre deux sessions** : Non
+### Is host database a project (113)
-**Valeurs possibles** : Toute valeur entière, 0 = conserver tous les journaux
+**Note :** Vous pouvez utiliser ce sélecteur uniquement à l'aide de la commande [Get database parameter](get-database-parameter.md) et ses valeurs ne peuvent pas être définies.
-**Description** : Nombre maximum de fichiers à conserver par roulement pour chaque type de journal. Par défaut, les 50 fichiers les plus récents sont conservés. Si vous passez une valeur N, seuls les N fichiers les plus récents seront conservés, le plus ancien étant automatiquement effacé à la création d'un nouveau. Ce paramétrage s'applique à tous les fichiers journaux, notamment le journal des requêtes (sélecteurs 28 et 45), le journal de débogage (sélecteur 34), le journal des événements (sélecteur 79), l'historique des requêtes Web (sélecteurs 29 et 84 de la commande [WEB SET OPTION](web-set-option.md)), etc.
+**Portée** : Application 4D
+**Description** : Retourne 1 si l'architecture de la base hôte est un projet, sinon elle retourne 0\. Pour plus d'informations, veuillez consulter la section *Base projet VS base binaire*.
-### Number of formulas in cache (92)
-**Portée** : Application 4D.
-**Conservé entre deux sessions** : Non
+### Is host database writable (117)
-**Valeurs possibles** : Entier long positif
+**Note :** Vous pouvez utiliser ce sélecteur uniquement avec la commande [Get database parameter](get-database-parameter.md) et sa valeur ne peut pas être définie.
-**Valeur par défaut** : 0 (pas de cache)
+**Portée** : Application 4D
-**Description** : Fixe ou lit le nombre maximum de formules à conserver dans le cache des formules, qui est utilisé par la commande [EXECUTE FORMULA](execute-formula.md). Cette limite est appliquée à tous les process, mais chaque process dispose de son propre cache de formules. Placer des formules dans le cache accélère l'exécution de la commande [EXECUTE FORMULA](execute-formula.md) en mode compilé puisque chaque formule en cache est tokenisée une seule fois dans ce cas. Lorsque vous modifiez la valeur du cache, son contenu est réinitialisé même si la nouvelle valeur est supérieure à la précédente. Une fois le nombre maximum de formules en cache atteint, toute nouvelle formule exécutée écrase la plus ancienne dans le cache (mode FIFO). Ce paramètre est pris en compte uniquement dans les bases ou les composants compilés.
+**Description** : Retourne 1 si le fichier de structure ou le fichier de projet de l'hôte est en écriture, et retourne 0 s'il est en lecture seule.
-### OpenSSL version (94)
-**Portée** : Tous postes 4D
+### Libldap version (114)
- **Conservé entre deux sessions** : Non
+**Portée** : Machine 4D courante
-**Description**: Retourne le numéro de version de la bibliothèque OpenSSL utilisée sur le poste. (Lecture seule)
+**Conservé entre deux sessions** : Non
+**Description** : Retourne le numéro de version de la bibliothèque LDAP dans l'application 4D sur la machine locale. (Lecture seule)
-### Cache flush periodicity (95)
-**Thread-safe** : Yes
+### Libsasl version (115)
-Portée : 4D local, 4D Server
+**Portée** : Machine 4D courante
**Conservé entre deux sessions** : Non
-**Valeurs possibles** : entier long > 1 (secondes)
+**Description** : Retourne le numéro de version de la bibliothèque SASL dans l'application 4D sur la machine locale. (Lecture seule)
-**Description** : Permet de lire ou de fixer la valeur courante de périodicité de l'écriture du cache de données sur le disque, exprimée en secondes. Si elle est modifiée, cette valeur remplace la valeur définie par l'option **Ecriture cache toutes les secondes/minutes** dans la [XML DECODE](xml-decode.md) des Propriétés de la base durant la session courante (elle n'est pas stockée dans les Propriétés de la base).
-### Remote connection sleep timeout (98)
+### Libzip version (120)
-**Portée** : Application 4D Server
+**Portée :** Machine 4D courante
-**Conservé entre deux sessions** : Non
+**Conservé entre deux sessions :** n/a
-**Valeurs possibles** : Entier long positif
+**Description :** Retourne le numéro de version de la bibliothèque libzip dans l'application 4D sur la machine courante. (Lecture seule)
-**Description** : Timeout de la connexion à distance en veille, exprimé en secondes. Par défaut, la valeur est 172800 (48 heures). Le délai de mise en veille est appliqué une fois qu'une machine exécutant une application distante 4D est passée en mode veille. Dans ce cas, sa session est maintenue par 4D Server (voir la description de la fonctionnalité ). 4D Server vérifie toutes les 5 minutes si un 4D distant en veille a dépassé le délai de veille, auquel cas il est abandonné. Ainsi, la durée de veille maximale autorisée est la *timeout mise en veille actuel + 300*. Dans certains cas, vous souhaiterez peut-être modifier le délai de mise en veille, pour libérer, par exemple, les enregistrements/licences verrouillés plus rapidement.
-### Tips enabled (101)
+### Log command list (80)
-**Portée :** Application 4D
+**Portée** : Application 4D
-**Conservé entre deux sessions :** Non
+**Conservé** **entre deux sessions** : Non
-**Valeurs possibles :** 0 = message d'aide désactivés, 1 = messages d'aide activés (défaut)
+**Valeurs possibles** : Chaîne contenant la liste des numéros des commandes 4D à enregistrer (séparées par des points-virgules), ou "all" pour enregistrer toutes les commande, ou "" (chaîne vide) pour n’enregistrer aucune commande, ou le préfixe "-" pour exclure des commandes spécifiques.
-**Description :** Définit ou récupère l'état d'affichage des messages d'aide dans l'application 4D. Par défaut, les messages d'aide sont activées.
+**Description** : Liste des commandes 4D à enregistrer dans le fichier de débogage ou à exclure du fichier de débogage (cf. sélecteur 34, Debug log recording). Par défaut, toutes les commandes 4D sont enregistrées. Ce sélecteur vous permet de restreindre la quantité d’informations stockées dans le fichier de débogage en limitant les commandes 4D dont vous souhaitez enregistrer l’exécution ou bien que vous souhaitez exclure de l'enregistrement. Par exemple, vous pouvez écrire :
- Notez que ce paramètre fixe tous les messages d'aides, c'est-à-dire les messages d'aide des formulaires et ceux de l'éditeur du mode Développement.
+```4d
+//enregistrer uniquement les commandes QUERY et QUERY SELECTION
+SET DATABASE PARAMETER(Log command list;"277;341")
+```
+OU
+```4d
+//exclure les commandes SET USER ALIAS et DELAY PROCESS de l'enregistrement
+SET DATABASE PARAMETER(Log command list;"-1666;-323")
+```
-### Tips delay (102)
+### Max concurrent Web processes (18)
-**Portée :** Application 4D
+**Portée** : 4D local, 4D Server
-**Conservé entre deux sessions :** Non
+**Conservé entre deux sessions** : Oui
-**Valeurs possibles :** entier long >= 0 (ticks)
+**Description** : *Constante obsolète (conservée par compatibilité uniquement).* Il est désormais conseillé d'utiliser les commandes [WEB SET OPTION](web-set-option.md) et [WEB GET OPTION](web-get-option.md) pour le paramétrage du serveur HTTP.
-**Description :** délai avant que les messages d'aide soient affichés une fois que le curseur de la souris est arrêté sur les objets avec message d'aide. La valeur est exprimée en ticks (1/60e de seconde). La valeur par défaut est de 45 ticks (0,75 seconde).
-### Tips duration (103)
+### Maximum Web requests size (27)
-**Portée :** Application 4D
+**Portée** : 4D local, 4D Server
-**Conservé entre deux sessions :** Non
+ **Conservé** **entre deux sessions** : Oui
-**Valeurs possibles :** entier long >= 60 (ticks)
+ **Description** : *Constante obsolète (conservée par compatibilité uniquement).* Il est désormais conseillé d'utiliser les commandes [WEB SET OPTION](web-set-option.md) et [WEB GET OPTION](web-get-option.md) pour le paramétrage du serveur HTTP.
-**Description :** Durée maximum de l'affichage du message d'aide. La valeur est exprimée en ticks (1/60e de seconde). La valeur par défaut est de 720 ticks (12 secondes).
@@ -772,101 +602,89 @@ Portée : 4D local, 4D Server
-### User param value (108)
-
-**Portée :** 4D local, 4D Server
-
-**Conservé entre deux sessions :** Non
-
-**Valeurs possibles** : Toute chaîne personnalisée
-
-**Description :** Chaîne personnalisée passée d'une session à la suivante lorsque l'application 4D est redémarrée. Ce sélecteur est utile dans les cas où des tests unitaires automatisés nécessitent que les applications redémarrent avec des paramètres différents.
-
-Avec [SET DATABASE PARAMETER](set-database-parameter.md), définit une nouvelle valeur qui sera disponible dans la prochaine base de données ouverte après le redémarrage manuel de 4D or l'utilisation des commandes [OPEN DATABASE](open-database.md)(\*), [OPEN DATA FILE](open-data-file.md), ou [RESTART 4D](restart-4d.md). Avec [Get database parameter](get-database-parameter.md), retourne la valeur User param courante définie à l'aide d'une ligne de commande (voir *Interface ligne de commande*), un fichier .4DLink (voir *Utiliser un fichier 4DLink*), ou un appel à [SET DATABASE PARAMETER](set-database-parameter.md) durant la session précédente. (\*) Si [SET DATABASE PARAMETER](set-database-parameter.md) fixe une User param value avant d'appeler [OPEN DATABASE](open-database.md) à l'aide d'un fichier .4DLink contenant également un attribut xml user-param xml, 4D ne tient compte que du paramètre fourni par [SET DATABASE PARAMETER](set-database-parameter.md).
+### Number of formulas in cache (92)
+**Portée** : Application 4D.
-### Times inside objects (109)
+**Conservé entre deux sessions** : Non
-Portée : 4D local, 4D Server (tous process)
+**Valeurs possibles** : Entier long positif
-**Conservé entre deux sessions** : Oui
+**Valeur par défaut** : 0 (pas de cache)
- **Valeurs possibles** : Times in seconds (0) (défaut), Times in milliseconds (1)
+**Description** : Fixe ou lit le nombre maximum de formules à conserver dans le cache des formules, qui est utilisé par la commande [EXECUTE FORMULA](execute-formula.md). Cette limite est appliquée à tous les process, mais chaque process dispose de son propre cache de formules. Placer des formules dans le cache accélère l'exécution de la commande [EXECUTE FORMULA](execute-formula.md) en mode compilé puisque chaque formule en cache est tokenisée une seule fois dans ce cas. Lorsque vous modifiez la valeur du cache, son contenu est réinitialisé même si la nouvelle valeur est supérieure à la précédente. Une fois le nombre maximum de formules en cache atteint, toute nouvelle formule exécutée écrase la plus ancienne dans le cache (mode FIFO). Ce paramètre est pris en compte uniquement dans les bases ou les composants compilés.
-**Description** : Définit la manière dont les valeurs de type heure sont converties et stockées dans les propriétés d'objets et les éléments de collections, ainsi que lors des imports/exports JSON et via les zones Web. Par défaut, à compter de 4D v17, les heures sont converties et stockées en nombre de secondes.
-Dans les versions précédentes, les heures étaient converties et stockées en nombre de millisecondes dans ces contextes. L'utilisation de ce sélecteur peut vous aider lors de la migration de vos applications en rétablissant le fonctionnement précédent lorsque c'est nécessaire.
-**Note** : Les méthodes ORDA et le moteur SQL ne tiennent pas compte de ce paramétrage, ces deux environnements manipulent toujours les heures en nombre de secondes.
+### OpenSSL version (94)
+**Portée** : Tous postes 4D
-### SMTP Log (110)
+ **Conservé entre deux sessions** : Non
-**Thread-safe** : Yes
+**Description**: Retourne le numéro de version de la bibliothèque OpenSSL utilisée sur le poste. (Lecture seule)
-Portée : 4D local, 4D Server*
-* **Conservé entre deux sessions** : Non
-**Valeurs possibles** : 0 ou de 1 à N (0 = ne pas enregistrer, 1 à N = numéro séquentiel, accolé au nom du fichier). Par défaut, la valeur est 0 (pas d'enregistrement des échanges SMTP).
-**Description** : Démarrage ou arrêt de l'enregistrement des échanges entre 4D et le serveur SMTP, lorsqu'un objet *transporteur* est traité par *transporteur.send( )* ou *SMTP\_transporteur.checkConnection( )*. Par défaut, la valeur est 0 (pas d'enregistrement des échanges SMTP). Lorsque ce mécanisme est activé, un fichier d'historique est créé dans le dossier Logs de la base. Il est nommé 4DSMTPLog\_X.txt, *où N* est le numéro séquentiel de l'historique. Une fois qu'un fichier atteint une taille de 10 Mo, il est refermé et un nouveau fichier est généré, avec un numéro séquentiel incrémenté. Si un fichier du même nom existe déjà, il est directement remplacé. Vous pouvez définir le numéro de départ de la séquence à l'aide du paramètre *valeur*. Par défaut, tous les fichiers sont conservés, mais vous pouvez gérer le nombre de fichier à conserver à l'aide du paramètre Circular log limitation.
+### Order by formula on server (47)
-Pour plus d'informations sur les fichiers 4DSMTPLog\_X.txt, veuillez consulter la section *Description des fichiers d'historique*.
+**Portée** :Table et process courants
+ **Conservé** **entre deux sessions** : Non
+ **Valeurs possibles** : 0 (utiliser le paramétrage de la base), 1 (exécuter sur le client) ou 2 (exécuter sur le serveur)
-### Current process debug log recording (111)
+**Description** : Emplacement de l’exécution de la commande [ORDER BY FORMULA](order-by-formula.md) pour la table passée en paramètre.
-**Portée :** Application 4D
+Dans le cadre de l’exploitation d’une base en client-serveur, la commande [ORDER BY FORMULA](order-by-formula.md) peut être exécutée soit sur le serveur soit sur le client. Ce sélecteur permet de définir l’emplacement de l’exécution de cette commande (serveur ou client). Ce mode peut également être défini dans les préférences de la base. Pour plus d’informations, reportez-vous à la description du sélecteur 46, Query by formula on server.
-**Conservé entre deux sessions :** Non
+**Note :** Si vous souhaitez pouvoir activer les jointures "type SQL" (cf. sélecteur Query by formula joins), vous devez toujours exécuter les formules sur le serveur afin qu'elle ait accès aux enregistrements. Attention, dans ce contexte, la formule ne doit pas contenir d'appel à une méthode, sinon elle est automatiquement basculée sur le poste distant.
-**Description** : Démarrage ou arrêt de l'enregistrement séquentiel des événements de programmation **du process courant** dans un fichier d'historique séparé. Cet historique est semblable à Debug log recording (sélecteur 34) mais il ne porte que sur le process courant. Le nom du fichier d'historique inclut la lettre "p" et le numéro du process : 4DDebugLog\[\_p*N*_*n*].txt, où N est l'ID unique du process. Pour plus d'informations sur ce format et sur l'utilisation du fichier *4DDebugLog*, veuillez consulter la *Description des fichiers d'historique* dans le Mode Développement.
-**Notes :** Ce sélecteur est fourni uniquement à des fins de débogage et doit être utilisé avec précaution. Plus particulièrement, il ne doit pas être utilisé en production, étant donné qu'il peut avoir une incidence sur les performances de l'application. Vous pouvez utiliser simultanément les sélecteurs Debug log recording et Current process debug log recording, auquel cas les actions liées au process courant ne seront pas enregistrées dans le fichier d'historique principal.
+### Pause logging (121)
-### Is current database a project (112)
+**Thread-safe** : Yes
-**Note :** Vous pouvez utiliser ce sélecteur uniquement à l'aide de la commande [Get database parameter](get-database-parameter.md) et ses valeurs ne peuvent pas être définies.
+**Portée :** Application 4D
-**Portée** : Application 4D
+**Conservé entre deux sessions :** Non
-**Description** : Retourne 1 si l'architecture de la base courante est un projet, sinon elle retourne 0\. Pour plus d'informations, veuillez consulter la section *Base projet VS base binaire*.
+**Valeurs possibles :** 0 (reprise des journaux), 1 (pause des journaux)
+Ce sélecteur permet de suspendre/reprendre toutes les opérations de journalisation lancées sur l'application (à l'exception des journaux ORDA). Cette fonction peut être utile pour alléger temporairement les tâches de l'application 4D ou pour planifier les opérations des journaux.
-### Is host database a project (113)
-**Note :** Vous pouvez utiliser ce sélecteur uniquement à l'aide de la commande [Get database parameter](get-database-parameter.md) et ses valeurs ne peuvent pas être définies.
+### PHP interpreter IP address (55)
-**Portée** : Application 4D
+**Portée** :Application 4D
-**Description** : Retourne 1 si l'architecture de la base hôte est un projet, sinon elle retourne 0\. Pour plus d'informations, veuillez consulter la section *Base projet VS base binaire*.
+ **Conservé** **entre deux sessions** : Non
+**Valeurs** : Chaîne formatée en IPv4 (par exemple "127.0.0.1") ou en IPv6 (par exemple "2001:0db8:0000:0000:0000:ff00:0042:8329")
+**Description** : Adresse IP utilisée localement par 4D pour communiquer avec l’interpéteur PHP via fastcgi. Par défaut, la valeur est "127.0.0.1" (les adresses au format IPv6 sont prises en charge à compter de 4D v16R4).. Cette adresse doit correspondre à la machine sur laquelle se trouve 4D. Ce paramètre peut également être défini globalement pour tous les postes via les Propriétés de la base.
-### Libldap version (114)
+Pour plus d’informations sur l’interpréteur PHP de 4D, reportez-vous au manuel *Mode Développement*.
-**Portée** : Machine 4D courante
-**Conservé entre deux sessions** : Non
-**Description** : Retourne le numéro de version de la bibliothèque LDAP dans l'application 4D sur la machine locale. (Lecture seule)
+### PHP interpreter port (56)
+**Portée** :Application 4D
-### Libsasl version (115)
+ **Conservé** **entre deux sessions** : Non
-**Portée** : Machine 4D courante
+**Valeurs** : Valeur de type entier long positif. Par défaut, la valeur est 8002\.
-**Conservé entre deux sessions** : Non
+**Description** : Numéro du port TCP utilisé par l’interpréteur PHP de 4D. Ce paramètre peut également être défini globalement pour tous les postes via les Propriétés de la base. Pour plus d’informations sur l’interpréteur PHP de 4D, reportez-vous au manuel *Mode Développement*.
-**Description** : Retourne le numéro de version de la bibliothèque SASL dans l'application 4D sur la machine locale. (Lecture seule)
@@ -884,64 +702,61 @@ Portée : 4D local, 4D Server
-### Is host database writable (117)
-
-**Note :** Vous pouvez utiliser ce sélecteur uniquement avec la commande [Get database parameter](get-database-parameter.md) et sa valeur ne peut pas être définie.
-**Portée** : Application 4D
+### Port ID (15)
-**Description** : Retourne 1 si le fichier de structure ou le fichier de projet de l'hôte est en écriture, et retourne 0 s'il est en lecture seule.
+**Portée** : 4D local, 4D Server
+**Conservé entre deux sessions** : Non
+**Description** : Numéro du port TCP utilisé par le serveur Web 4D avec 4D en mode local et 4D Server. Par défaut, la valeur est 80\.
-### IMAP Log (119)
+Le numéro de port TCP est défini dans la page “Web/Configuration” de la boîte de dialogue des Propriétés de la base. Vous pouvez utiliser les constantes du thème *Numéros de port TCP* pour le paramètre *valeur*.
-**Thread-safe** : Yes
+Le sélecteur Port ID est utile dans le cadre de serveurs Web 4D compilés et fusionnés avec 4D Desktop (pas d’accès au mode Développement). Pour plus d’informations sur le numéro de port TCP, reportez-vous à la section *Paramétrages du serveur Web*.
-**Portée** : 4D local, 4D Server
-**Conservé entre deux sessions :** Non
-**Valeurs possibles :** 0 ou de 1 à N (0 = ne pas enregistrer, 1 à N = numéro séquentiel, ajouté au nom du fichier). Par défaut, la valeur est 0 (échanges IMAP non enregistrés).
-**Description :** Démarre ou stoppe l'enregistrement des échanges entre 4D et le serveur IMAP, lorsqu'un objet transporteur est traité via *IMAP\_transporteur.getMail( )* ou *IMAP\_transporteur.checkConnection( )*. Par défaut, la valeur est 0 (échanges non enregistrés). Lorsque ce mécanisme est activé, un fichier journal est créé dans le dossier Journaux de la base de données. Il est nommé 4DIMAPLog\_N.txt, où N est le numéro séquentiel du journal. Une fois que le fichier 4DIMAPLog a atteint une taille de 10 Mo, il est fermé et un nouveau est généré, avec un numéro séquentiel incrémenté. Si un fichier du même nom existe déjà, il est directement remplacé. Vous pouvez définir le numéro de départ de la séquence à l'aide du paramètre value. Par défaut, tous les fichiers sont conservés, mais vous pouvez contrôler le nombre de fichiers à conserver en utilisant le paramètre Circular log limitation.
+### Query by formula joins (49)
-Pour plus d'informations sur les fichiers 4DIMAPLog\_N.txt, reportez-vous à la section *Description des fichiers d'historique*.
+**Portée** :Process courant
+ **Conservé** **entre deux sessions** : Non
+ **Valeurs possibles** : 0 (utiliser paramétrages de la base), 1 (toujours utiliser les liens auto) ou 2 (utiliser les jointures SQL si possible).
-### Libzip version (120)
+**Description** : Mode de fonctionnement des commandes [QUERY BY FORMULA](query-by-formula.md) et [QUERY SELECTION BY FORMULA](query-selection-by-formula.md) relatif à l’utilisation de "jointures SQL".
-**Portée :** Machine 4D courante
+Dans les bases de données créées à compter de la version 11.2 de 4D v11 SQL, ces commandes effectuent des jointures sur le modèle des jointures SQL. Ce mécanisme permet de modifier la sélection d’une table en fonction d’une recherche effectuée sur une autre table sans que les tables soient reliées par un lien automatique (condition nécessaire dans les versions précédentes de 4D).
-**Conservé entre deux sessions :** n/a
+Le sélecteur Query by formula joins vous permet de définir le mode de fonctionnement des commandes de recherche par formule pour le process courant :
-**Description :** Retourne le numéro de version de la bibliothèque libzip dans l'application 4D sur la machine courante. (Lecture seule)
+0 : utiliser les paramètres courants de la base (valeur par défaut). Dans les bases de données créées à compter de la version 11.2 de 4D v11 SQL, les "jointures SQL" sont toujours activées pour les recherches par formule. Dans les bases de données converties, ce mécanisme est inactivé par défaut pour des raisons des compatibilité mais peut être mis en oeuvre via une préférence.1 : toujours utiliser les liens auto (= fonctionnement des versions précédentes de 4D). Dans ce mode, un lien est nécessaire pour définir la sélection d’une table en fonction de recherches effectuées dans une autre table. 4D n’effectue pas de "jointures SQL".2 : utiliser les jointures SQL si possible (= fonctionnement par défaut des bases créées en version 11.2 et suivantes de 4D v11 SQL). Dans ce mode, 4D établit des "jointures SQL" pour les recherches par formule lorsque la formule s’y prête (à deux exceptions près, voir la description de la commande commandes [QUERY BY FORMULA](query-by-formula.md) ou [QUERY SELECTION BY FORMULA](query-selection-by-formula.md). **Note :** Avec 4D en mode distant, les "jointures SQL" ne peuvent être utilisées que si les formules sont exécutées sur le serveur (elles doivent avoir accès aux enregistrements). Pour configurer le lieu d'exécution des formules, reportez-vous aux sélecteurs 46 et 47.
-### Pause logging (121)
-**Thread-safe** : Yes
+### Query by formula on server (46)
-**Portée :** Application 4D
+**Portée** :Table et process courants
-**Conservé entre deux sessions :** Non
+ **Conservé** **entre deux sessions** : Non
-**Valeurs possibles :** 0 (reprise des journaux), 1 (pause des journaux)
+ **Valeurs possibles** : 0 (utiliser le paramétrage de la base), 1 (exécuter sur le client) ou 2 (exécuter sur le serveur)
-Ce sélecteur permet de suspendre/reprendre toutes les opérations de journalisation lancées sur l'application (à l'exception des journaux ORDA). Cette fonction peut être utile pour alléger temporairement les tâches de l'application 4D ou pour planifier les opérations des journaux.
+**Description** : Emplacement de l’exécution des commandes [QUERY BY FORMULA](query-by-formula.md) et [QUERY SELECTION BY FORMULA](query-selection-by-formula.md) pour la *table* passée en paramètre.
+Dans le cadre de l’exploitation d’une base en client-serveur, les commandes de recherche "par formule" peuvent exécutées soit sur le serveur soit sur le client :
-### TCPUDP log recording (131)
+dans les bases de données créées à partir de 4D v11 SQL, ces commandes sont exécutées sur le serveur. dans les bases de données converties, ces commandes sont exécutées sur le client, comme dans les versions précédentes de 4D.dans les bases de données converties, une préférence spécifique permet de modifier globalement le lieu d’exécution de ces commandes.Cette différence de lieu d’exécution influe sur les performances de l’application (l’exécution sur le serveur est généralement plus rapide) mais également sur la programmation. En effet, la valeur des composantes de la formule (notamment les variables appelées via une méthode) diffère suivant le contexte d’exécution. Vous pouvez utiliser ce sélecteur pour adapter ponctuellement le fonctionnement de votre application.
-**Portée :** Application 4D
+Si vous passez 0 dans le paramètre *valeur*, l’emplacement d’exécution des commandes de recherche "par formule" dépendra de la configuration de la base : dans les bases créées avec 4D v11 SQL, les commandes seront exécutées sur le serveur. Dans les bases converties, elles seront exécutées sur le client ou le serveur en fonction des préférences de la base. Passez 1 ou 2 dans *valeur* pour "forcer" l’exécution des commandes respectivement sur le client ou sur le serveur.
-**Conservé entre deux sessions :** Non
+Reportez-vous à l'exemple 2.
-**Valeurs possibles :** `0`: Enregistrement désactivé (défaut), `1`: Enregistrement activé.
+**Note :** Si vous souhaitez pouvoir activer les jointures "type SQL" (cf. sélecteur Query by formula joins), vous devez toujours exécuter les formules sur le serveur afin qu'elle ait accès aux enregistrements. Attention, dans ce contexte, la formule ne doit pas contenir d'appel à une méthode, sinon elle est automatiquement basculée sur le poste distant.
-**Description :** Active ou désactive le fichier `4DTCPUDPLog.txt` pour l'enregistrement des événements TCP et UDP.
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/commands-legacy/verify-data-file.md b/i18n/fr/docusaurus-plugin-content-docs/current/commands-legacy/verify-data-file.md
index 3f32968a214cb7..ca87c17b217edd 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/current/commands-legacy/verify-data-file.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/commands-legacy/verify-data-file.md
@@ -52,45 +52,43 @@ Pour créer l’historique, passez 0 dans *options*.
Le paramètre *méthode* permet de définir une méthode de rétro-appel qui sera régulièrement appelée durant la vérification. Si vous passez une chaîne vide ou un nom de méthode non valide, ce paramètre est ignoré (aucune méthode n’est appelée). Lorsqu’elle est appelée, la méthode reçoit jusqu’à 5 paramètres en fonction des objets vérifiés et du type d’événement à l’origine de l’appel (cf. tableau des appels). Vous devez impérativement déclarer ces paramètres dans la méthode :
-| $1 | Entier long | Type de message (cf. tableau) |
-| -- | ----------- | ----------------------------- |
-| $2 | Entier long | Type d’objet |
-| $3 | Texte | Message |
-| $4 | Entier long | Numéro de table |
-| $5 | Entier long | Réservé |
+| Paramètre | Type | Description |
+| ------------ | ----------- | ----------------------------- |
+| $messageType | Entier long | Type de message (cf. tableau) |
+| $objectType | Entier long | Type d’objet |
+| $messageText | Texte | Message |
+| $table | Entier long | Numéro de table |
+| $reserved | Entier long | Réservé |
Le tableau suivant décrit le contenu des paramètres en fonction du type d’événement :
-| **Evénement** | **$1 (Entier long)** | **$2 (** **Entier** **long)** | **$3 (Texte)** | **$4 (** **Entier** **long)** | **$5 (** **Entier** **long)** |
-| ------------------------- | -------------------- | ------------------------------- | -------------- | ------------------------------- | ------------------------------- |
-| Message | 1 | 0 | Progression | Pourcentage | Réservé |
-| message | réalisé (0-100) | | | | |
-| Vérification terminée(\*) | 2 | Type d’objet(\*\*) | Message OK | Table ou index | Réservé |
-| test | numéro | | | | |
-| Erreur | 3 | Type d’objet(\*\*) | Texte d’erreur | Table ou index | Réservé |
-| message | numéro | | | | |
-| Fin d’exécution | 4 | 0 | DONE | 0 | Réservé |
-| Warning | 5 | Type d'objet(\*\*) | Texte d'erreur | Table ou index | Réservé |
-| message | numéro | | | | |
+| **Evénement** | **$messageType** | **$objectType** | **$messageText** | **$table** | **$reserved** |
+| ------------------------- | ---------------- | ----------------- | --------------------- | ------------------------------- | ------------------------------- |
+| Message | 1 | 0 | Progression message | Pourcentage réalisé (0-100) | Réservé |
+| Vérification terminée(\*) | 2 | Type d’objet(\*\*)| Message OK test | Table ou index numéro | Réservé |
+| Erreur | 3 | Type d’objet(\*\*)| Texte d’erreur message| Table ou index numéro | Réservé |
+| Fin d’exécution | 4 | 0 | DONE | 0 | Réservé |
+| Warning | 5 | Type d'objet(\*\*)| Texte d'erreur | Table ou index | Réservé |
+| | | | | message | numéro |
-(\*) L'événement *Vérification terminée* ($1=2) n'est jamais renvoyé lorsque le mode de vérification est Verify all. Il n'est utilisé qu'en mode Verify records ou Verify indexes.
+(\*) L'événement *Vérification terminée* ($messageType=2) n'est jamais renvoyé lorsque le mode de vérification est Verify all. Il n'est utilisé qu'en mode Verify records ou Verify indexes.
-(\*\*) *Type d’objet* : Lorsqu’un objet est vérifié, un message "terminé" ($1=2), erreur ($1=3) ou warning ($1=5) peut être envoyé. Le type d’objet retourné dans $2 peut être l’un des suivants :
+(\*\*) *Type d’objet* : Lorsqu’un objet est vérifié, un message "terminé" ($messageType=2), erreur ($messageType=3) ou warning ($messageType=5) peut être envoyé. Le type d’objet retourné dans $objectType peut être l’un des suivants :
* 0 = indéterminé
* 4 = enregistrement
* 8 = index
* 16 = objet structure (contrôle préliminaire du fichier de données).
-*Cas particulier* : lorsque $4 = 0 pour $1 = 2, 3 ou 5, le message ne concerne pas une table mais le fichier de données dans son ensemble.
+*Cas particulier* : lorsque $table = 0 pour $messageType = 2, 3 ou 5, le message ne concerne pas une table mais le fichier de données dans son ensemble.
-La méthode de rétro-appel doit également retourner une valeur dans $0 (Entier long), permettant de contrôler l’exécution de l’opération :
+La méthode de rétro-appel doit également retourner une valeur entière *$result*, permettant de contrôler l’exécution de l’opération :
-* si $0 = 0, l’opération continue normalement
-* si $0 = -128, l’opération est stoppée sans erreur générée
-* si $0 = autre valeur, l’opération est stoppée et la valeur passée dans $0 est retournée en tant que numéro d’erreur. Cette erreur peut être interceptée par une méthode d’appel sur erreur.
+* si $result = 0, l’opération continue normalement
+* si $result = -128, l’opération est stoppée sans erreur générée
+* si $result = autre valeur, l’opération est stoppée et la valeur passée dans $result est retournée en tant que numéro d’erreur. Cette erreur peut être interceptée par une méthode d’appel sur erreur.
-**Note :** Il n'est pas possible d'interrompre l'exécution via $0 après que l'événement *Fin d'exécution* ($4=1) a été généré.
+**Note :** Il n'est pas possible d'interrompre l'exécution via $result après que l'événement *Fin d'exécution* ($1=4) a été généré.
Deux tableaux facultatifs peuvent également être utilisés par la commande :
@@ -109,7 +107,7 @@ Quelle que soit l'option sélectionnée, dès lors qu'un fichier d'historique es
Vérification simple des données et des index :
```4d
- VERIFY DATA FILE($NomStruct;$NomData;Verify indexes+Verify records;Ne pas créer d’historique;"")
+ VERIFY DATA FILE($NomStruct;$NomData;Verify indexes+Verify records;Ne pas créer d’historique;"")
```
## Exemple 2
@@ -117,7 +115,7 @@ Vérification simple des données et des index :
Vérification complète avec historique :
```4d
- VERIFY DATA FILE($NomStruct;$NomData;Verify all;0;"")
+ VERIFY DATA FILE($NomStruct;$NomData;Verify all;0;"")
```
## Exemple 3
@@ -125,7 +123,7 @@ Vérification complète avec historique :
Vérification des enregistrements uniquement :
```4d
- VERIFY DATA FILE($NomStruct;$NomData;Verify records;0;"")
+ VERIFY DATA FILE($NomStruct;$NomData;Verify records;0;"")
```
## Exemple 4
@@ -133,10 +131,10 @@ Vérification des enregistrements uniquement :
Vérification des enregistrements des tables 3 et 7 uniquement :
```4d
- ARRAY LONGINT($tnumTables;2)
- $tnumTables{1}:=3
- $tnumTables{2}:=7
- VERIFY DATA FILE($NomStruct;$NomData;Verify records;0;"FollowScan";$tnumTables)
+ ARRAY LONGINT($tnumTables;2)
+ $tnumTables{1}:=3
+ $tnumTables{2}:=7
+ VERIFY DATA FILE($NomStruct;$NomData;Verify records;0;"FollowScan";$tnumTables)
```
## Exemple 5
@@ -144,14 +142,14 @@ Vérification des enregistrements des tables 3 et 7 uniquement :
Vérification d’index spécifiques (index du champ 1 de la table 4 et index des champs 2 et 3 de la table 5) :
```4d
- ARRAY LONGINT($tnumTables;0) //non utilisé mais obligatoire
- ARRAY LONGINT($tindex;2;0) //2 lignes (colonnes ajoutées ensuite)
- $tindex{1}{0}:=4 // numéro de table dans l’élément 0
- APPEND TO ARRAY($tindex{1};1) // numéro du 1er champ à vérifier
- $tindex{2}{0}:=5 // numéro de table dans l’élément 0
- APPEND TO ARRAY($tindex{2};2) // numéro du 1er champ à vérifier
- APPEND TO ARRAY($tindex{2};3) // numéro du 2e champ à vérifier
- VERIFY DATA FILE($NomStruct;$NomData;Verify indexes;0;"FollowScan";$tnumTables;$tindex)
+ ARRAY LONGINT($tnumTables;0) //non utilisé mais obligatoire
+ ARRAY LONGINT($tindex;2;0) //2 lignes (colonnes ajoutées ensuite)
+ $tindex{1}{0}:=4 // numéro de table dans l’élément 0
+ APPEND TO ARRAY($tindex{1};1) // numéro du 1er champ à vérifier
+ $tindex{2}{0}:=5 // numéro de table dans l’élément 0
+ APPEND TO ARRAY($tindex{2};2) // numéro du 1er champ à vérifier
+ APPEND TO ARRAY($tindex{2};3) // numéro du 2e champ à vérifier
+ VERIFY DATA FILE($NomStruct;$NomData;Verify indexes;0;"FollowScan";$tnumTables;$tindex)
```
## Exemple 6
@@ -159,8 +157,8 @@ Vérification d’index spécifiques (index du champ 1 de la table 4 et index de
Vérification du fichier de données, création et affichage du fichier d'historique :
```4d
- VERIFY DATA FILE(Structure file;Data file;Tout vérifier;0;"")
- SHOW ON DISK(File(Fichier log vérification).platformPath)
+ VERIFY DATA FILE(Structure file;Data file;Tout vérifier;0;"")
+ SHOW ON DISK(File(Fichier log vérification).platformPath)
```
## Variables et ensembles système
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/commands/command-index.md b/i18n/fr/docusaurus-plugin-content-docs/current/commands/command-index.md
index 1a06efeaf1fba5..d11e797ed66392 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/current/commands/command-index.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/commands/command-index.md
@@ -1264,7 +1264,7 @@ title: Commandes par nom
[`WA Evaluate JavaScript`](../commands-legacy/wa-evaluate-javascript.md)
[`WA EXECUTE JAVASCRIPT FUNCTION`](../commands-legacy/wa-execute-javascript-function.md)
[`WA Forward URL available`](../commands-legacy/wa-forward-url-available.md)
-[`WA Get context`](../commands/wa-get-context.md) **nouveau 4D 20 R9**
+[`WA Get context`](../commands/wa-get-context.md) **new 4D 20 R9**
[`WA Get current URL`](../commands-legacy/wa-get-current-url.md)
[`WA GET EXTERNAL LINKS FILTERS`](../commands-legacy/wa-get-external-links-filters.md)
[`WA Get last filtered URL`](../commands-legacy/wa-get-last-filtered-url.md)
@@ -1280,7 +1280,7 @@ title: Commandes par nom
[`WA OPEN WEB INSPECTOR`](../commands-legacy/wa-open-web-inspector.md)
[`WA REFRESH CURRENT URL`](../commands-legacy/wa-refresh-current-url.md)
[`WA Run offscreen area`](../commands-legacy/wa-run-offscreen-area.md)
-[`WA SET CONTEXT`](../commands/wa-set-context.md) **nouveau 4D 20 R9**
+[`WA SET CONTEXT`](../commands/wa-set-context.md) **new 4D 20 R9**
[`WA SET EXTERNAL LINKS FILTERS`](../commands-legacy/wa-set-external-links-filters.md)
[`WA SET PAGE CONTENT`](../commands-legacy/wa-set-page-content.md)
[`WA SET PREFERENCE`](../commands-legacy/wa-set-preference.md)
@@ -1288,6 +1288,8 @@ title: Commandes par nom
[`WA STOP LOADING URL`](../commands-legacy/wa-stop-loading-url.md)
[`WA ZOOM IN`](../commands-legacy/wa-zoom-in.md)
[`WA ZOOM OUT`](../commands-legacy/wa-zoom-out.md)
+[`Web Event`](web-event.md)
+[`Web Form`](web-form.md)
[`WEB GET BODY PART`](../commands-legacy/web-get-body-part.md)
[`WEB Get body part count`](../commands-legacy/web-get-body-part-count.md)
[`WEB Get current session ID`](../commands-legacy/web-get-current-session-id.md)
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/commands/license-info.md b/i18n/fr/docusaurus-plugin-content-docs/current/commands/license-info.md
index 8765ced21a1c9f..d57f0133be1575 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/current/commands/license-info.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/commands/license-info.md
@@ -22,7 +22,7 @@ Si la commande est exécutée sur une application 4D qui n'utilise pas de licenc
:::note
-This command reloads the license files from the disk and updates the associated rights if they have been modified.
+Cette commande recharge les fichiers de licence à partir du disque et met à jour les droits associés s'ils ont été modifiés.
:::
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/commands/theme/Web_Server.md b/i18n/fr/docusaurus-plugin-content-docs/current/commands/theme/Web_Server.md
index 411ace58073db0..d616c373a5bca1 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/current/commands/theme/Web_Server.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/commands/theme/Web_Server.md
@@ -7,6 +7,8 @@ slug: /commands/theme/Web-Server
| |
| --------------------------------------------------------------------------------------------------------------------------------------- |
+| [](../../commands/web-event.md)
|
+| [](../../commands/web-form.md)
|
| [](../../commands-legacy/web-get-body-part.md)
|
| [](../../commands-legacy/web-get-body-part-count.md)
|
| [](../../commands-legacy/web-get-current-session-id.md)
|
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/commands/web-event.md b/i18n/fr/docusaurus-plugin-content-docs/current/commands/web-event.md
new file mode 100644
index 00000000000000..9baae253729677
--- /dev/null
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/commands/web-event.md
@@ -0,0 +1,97 @@
+---
+id: web-event
+title: Web Event
+displayed_sidebar: docs
+---
+
+**Web Event** : object
+
+
+
+| Paramètres | Type | | Description |
+| ---------- | ------ | :-------------------------: | -------------------------------------- |
+| Résultat | Object | ← | Informations sur l'événement déclenché |
+
+
+
+## Description
+
+La commande `Web Event` renvoie un objet contenant des informations sur un événement déclenché lié à un composant de formulaire web Qodly.
+
+La commande doit être appelée dans le contexte d'une page web gérée par le serveur web 4D.
+
+**Résultat**
+
+L'objet retourné contient les propriétés suivantes :
+
+| Propriété | | Type | Description |
+| --------- | ----- | ------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| caller | | string | [Référence serveur](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/pageLoaderOverview#data-access-category) du composant qui déclenche l'événement |
+| eventType | | string | Type d'événement :onbluronfocusonclickonauxclickonmouseenteronmouseleaveonkeyuponkeydownonchangeunloadonload - déclenché au chargement de la `Page` |
+| data | | object | Informations supplémentaires dépendantes du composant concerné |
+| | index | number | Composant Tabs : indice de l'onglet (les indices commencent à 0)Composant Data Table : numéro de colonne |
+| | row | number | Composant Data Table : numéro de ligne |
+| | name | string | Composant Data Table : nom qodlysource de la colonne (par exemple "firstname", "address.city") |
+
+#### Exemple
+
+L'objectif est d'afficher/masquer un texte d'aide lorsque l'utilisateur survole le composant :
+
+
+
+Pour ce faire, les événements `onmouseenter` et `onmouseleave` sont attachés à un composant **Text input** qui affiche les informations stockées dans un composant **Text** (en affichant "This is the help text").
+
+
+
+Pour ce scénario :
+
+- Le composant Text input a pour référence serveur `orderNumber`.
+ 
+- Le composant Text a pour référence serveur `helpOn_orderNumber`.
+ 
+- La fonction [exposée](../ORDA/ordaClasses.md#exposed-vs-non-exposed-functions) `help()` est attachée aux événements `onmouseenter` et `onmouseleave` et contient le code suivant :
+
+```4d
+shared singleton Class constructor()
+exposed Function help()
+
+ var event : Object
+ var myForm : 4D.WebForm
+ var componentRef : Text
+
+ myForm:=web Form
+ event:=web Event
+ componentRef:=event.caller
+
+ Au cas ou
+ : (event.eventType="onmouseenter") // l'événement est onmouseenter
+ myForm["helpOn_"+componentRef].show() // montre l'aide sur "orderNumber" en affichant
+ // le composant texte avec la référence "helpOn_orderNumber"
+ : (event.eventType="onmouseleave") // l'événement est onmouseleave
+ myForm["helpOn_"+componentRef].hide() // masquel'aide sur orderNumber
+
+ End case
+
+```
+
+Pour ouvrir la page web avec l'aide de `orderNumber` masqué, vous pouvez associer cette fonction à l'événement `onload` de la page web :
+
+```4d
+exposed function hideOnLoad()
+ webForm.helpOn_orderNumber.hide()
+
+```
+
+## Voir également
+
+[Web Form](web-form.md)
+[WebForm class](../API/WebFormClass.md)
+[WebFormItem class](../API/WebFormItemClass.md)
+
+## Propriétés
+
+| | |
+| ------------------ | --------------------------- |
+| Numéro de commande | 1734 |
+| Thread safe | ✗ |
+
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/commands/web-form.md b/i18n/fr/docusaurus-plugin-content-docs/current/commands/web-form.md
new file mode 100644
index 00000000000000..4b003a0fb14f55
--- /dev/null
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/commands/web-form.md
@@ -0,0 +1,46 @@
+---
+id: web-form
+title: Web Form
+displayed_sidebar: docs
+---
+
+**Web Form** : 4D.WebForm
+
+
+
+| Paramètres | Type | | Description |
+| ---------- | -------------------------- | :-------------------------: | ---------------------------- |
+| Résultat | 4D.WebForm | ← | Nouvel objet proxy `WebForm` |
+
+
+
+## Description
+
+La commande `Web Form` renvoie un objet proxy `4D.WebForm`, qui permet de travailler avec les propriétés et les fonctions de la page et de les émuler efficacement.
+
+:::info
+
+Gardez à l'esprit qu'un objet `4D.WebForm` est un **objet proxy**, et non une référence directe à l'objet page web lui-même. En conséquence, par exemple, l'objet `4D.WebForm` n'expose pas toutes les propriétés de la page dans le débogueur.
+
+:::
+
+Chaque propriété de l'objet renvoyé est un objet de la classe [4D.WebFormItem](../API/WebFormItemClass.md).
+
+La commande renvoie `null` si elle est appelée dans une requête qui ne provient pas de Qodly Studio.
+
+## Voir également
+
+[Web Event](web-event.md)
+[WebForm class](../API/WebFormClass.md)
+[WebFormItem class](../API/WebFormItemClass.md)
+
+## Propriétés
+
+| | |
+| ------------------ | --------------------------- |
+| Numéro de commande | 1735 |
+| Thread safe | ✗ |
+
+
+
+
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-19/API/CollectionClass.md b/i18n/fr/docusaurus-plugin-content-docs/version-19/API/CollectionClass.md
index 5ab160b59cdd3b..0ee203d1670692 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-19/API/CollectionClass.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-19/API/CollectionClass.md
@@ -4,7 +4,7 @@ title: Collection
---
-La classe Collection gère les variables de type [Collection](Concepts/dt_collection.md).
+The Collection class manages [Collection](Concepts/dt_collection.md) type expressions.
Une collection est initialisée avec :
@@ -349,14 +349,14 @@ $c.combine($fruits;3) //[1,2,3,"Orange","Banana","Apple","Grape",4,5,6]
-**.concat**( *value* : any { *;...valueN* } ) : Collection
+**.concat**( *value* : any { ; *...valueN* } ) : Collection
-| Paramètres | Type | | Description |
-| ---------- | -------------------------------------------------------------- |:--:| -------------------------------------------------------------------------------------------------------------------------------- |
-| value | Number, Text, Object, Collection, Date, Time, Boolean, Picture | -> | Valeur(s) à concaténer. Si *value* est une collection, tous les éléments de la collection sont ajoutés à la collection d'origine |
-| Résultat | Collection | <- | Nouvelle collection contenant les valeurs d'origine et les valeurs ajoutées|
+| Paramètres | Type | | Description |
+| ---------- | ---------- |:--:| -------------------------------------------------------------------------------------------------------------------------------- |
+| value | any | -> | Valeur(s) à concaténer. Si *value* est une collection, tous les éléments de la collection sont ajoutés à la collection d'origine |
+| Résultat | Collection | <- | Nouvelle collection contenant les valeurs d'origine et les valeurs ajoutées|
|
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-19/Concepts/dt_number.md b/i18n/fr/docusaurus-plugin-content-docs/version-19/Concepts/dt_number.md
index 8dfdbe211af6b4..f2b473e17d67e4 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-19/Concepts/dt_number.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-19/Concepts/dt_number.md
@@ -73,9 +73,9 @@ L'opérateur modulo % retourne des valeurs significatives avec des nombres appar
:::
-### Division entière
+### Integer division
-L'opérateur division entière \ retourne des valeurs significatives avec des nombres entiers uniquement.
+The integer division operator divides one number by another and returns the whole number part of the result, discarding any remainder. `a\b` is equivalent to `Int(a/b)`. This operator returns significant values with integer numbers only.
### Comparaison des réels
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-19/Concepts/quick-tour.md b/i18n/fr/docusaurus-plugin-content-docs/version-19/Concepts/quick-tour.md
index 3c01d2531565b4..3e15b4938baf5a 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-19/Concepts/quick-tour.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-19/Concepts/quick-tour.md
@@ -314,7 +314,7 @@ Vous vous référez à une expression via le type de données qu’elle retourne
| Col[5] | Élément de collection | Un élément de collection est une expression qui peut être de tout type |
| $entitySel[0] | Entity | Un élément d'une sélection d'entité ORDA est une expression de type entité. Ce type d'expression n'est **pas affectable** |
-### Expressions assignables et non-assignables
+### Expressions assignables et non-assignables {#assignable-vs-non-assignable-expressions}
Une expression peut simplement être une constante littérale, telle que le chiffre 4 ou la chaîne "Hello", ou une variable telle que `$myButton`. Elle peut également utiliser des opérateurs. Par exemple, 4 + 2 est une expression qui utilise l'opérateur d'addition pour additionner deux nombres et renvoyer le résultat 6. Dans tous les cas, ces expressions sont **non-assignables**, ce qui signifie que vous ne pouvez pas leur affecter de valeur. Dans 4D, les expressions peuvent être **assignables**. Une expression est assignable quand elle peut être utilisée à gauche de l'opérateur d'assignation. Par exemple :
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-19/Concepts/variables.md b/i18n/fr/docusaurus-plugin-content-docs/version-19/Concepts/variables.md
index 3a7c5321a9bac5..b726927cd5e139 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-19/Concepts/variables.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-19/Concepts/variables.md
@@ -242,7 +242,7 @@ Les variables système sont utilisées par les commandes 4D. Reportez-vous au pa
| ------------------------------------------------------ | ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `OK` | Integer | Prend généralement la valeur 1 après qu'une commande a affiché une boîte de dialogue et l'utilisateur a cliqué sur le bouton **OK** , et 0 s'il a cliqué sur **Annuler**. Certaines commandes modifient également la valeur de la variable système `OK` lorsqu'une opération est exécutée avec succès. |
| `Document` | Text | Contient le "long nom" (chemin complet +nom) du dernier fichier ouvert ou créé à l'aide de commandes telles que [Open document](https://doc.4d.com/4dv20/help/command/en/page264.html) ou [SELECT LOG FILE](https://doc.4d.com/4dv20/help/command/en/page345.html). |
-| `FldDelimit`, `RecDelimit` | Text | Contient les codes de caractères qui seront utilisés respectivement comme séparateur de champ (par défaut **Tab** (9)) et séparateur d'enregistrement (par défaut **retour chariot** (13)) lors de l'importation ou de l'exportation de texte. Pour utiliser un séparateur différent, attribuez une nouvelle valeur à la variable système. |
+| `FldDelimit`, `RecDelimit` | Integer | Contient les codes de caractères qui seront utilisés respectivement comme séparateur de champ (par défaut **Tab** (9)) et séparateur d'enregistrement (par défaut **retour chariot** (13)) lors de l'importation ou de l'exportation de texte. Pour utiliser un séparateur différent, attribuez une nouvelle valeur à la variable système. |
| `Error`, `Error method`, `Error line`, `Error formula` | Text, Longint | Utilisées dans une méthode de gestion d'erreurs installée par la commande [`ON ERR CALL`](https://doc.4d.com/4dv20/help/command/en/page155.html). Voir [Gestion des erreurs dans la méthode](../Concepts/error-handling.md#handling-errors-within-the-method). |
| `MouseDown` | Integer | Utilisée dans une méthode installée par la commande [`ON EVENT CALL`](https://doc.4d.com/4dv20/help/command/en/page190.html). Prend la valeur 1 si le bouton de la souris a été enfoncé, sinon prend la valeur 0. |
| `MouseX`, `MouseY` | Integer | Utilisée dans une méthode installée par la commande [`ON EVENT CALL`](https://doc.4d.com/4dv20/help/command/en/page190.html). Dans un événement `MouseDown=1`, `MouseX` et `MouseY` sont respectivement définis sur les coordonnées verticales et horizontales du clic. Les deux valeurs sont exprimées en pixels et avec le système de coordonnées locales de la fenêtre. Dans le cas d'un champ ou d'une variable image, `MouseX` et `MouseY` retournent les coordonnées locales du clic de souris dans les événements formulaire [`On Clicked`](.. Events/onClicked.md), [`On Double Clicked`](../Events/onDoubleClicked.md) et [`On Mouse Up`](../Events/onMouseUp.md). Les coordonnées locales du curseur de la souris sont également retournées dans les événements [`On Mouse Enter`](../Events/onMouseEnter.md) et [`On Mouse Move`](../Events/onMouseMove.md) . Pour plus d'informations, voir la section [Coordonnées de la souris dans une image](../FormEditor/pictures.md#mouse-coordinates-in-a-picture). |
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/API/CollectionClass.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/API/CollectionClass.md
index 4988f47bd80d77..5bc241cd9071ec 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/API/CollectionClass.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/API/CollectionClass.md
@@ -3,7 +3,7 @@ id: CollectionClass
title: Collection
---
-La classe Collection gère les variables de type [Collection](Concepts/dt_collection.md).
+La classe Collection gère les expressions de type [Collection](Concepts/dt_collection.md).
Une collection est initialisée avec les commandes [`New collection`](../commands/new-collection.md) ou [`New shared collection`](../commands/new-shared-collection.md).
@@ -271,14 +271,14 @@ $c.combine($fruits;3) //[1,2,3,"Orange","Banana","Apple","Grape",4,5,6]
-**.concat**( *value* : any { *;...valueN* } ) : Collection
+**.concat**( *value* : any { ; *...valueN* } ) : Collection
-| Paramètres | Type | | Description |
-| ---------- | -------------------------------------------------------------- | :-------------------------: | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| value | Number, Text, Object, Collection, Date, Time, Boolean, Picture | -> | Valeur(s) à concaténer. Si *value* est une collection, tous ses éléments sont ajoutés comme de nouveaux éléments à la fin de la collection d'origine. |
-| Résultat | Collection | <- | Nouvelle collection contenant les valeurs d'origine et les valeurs ajoutées |
+| Paramètres | Type | | Description |
+| ---------- | ---------- | :-------------------------: | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| value | any | -> | Valeur(s) à concaténer. Si *value* est une collection, tous ses éléments sont ajoutés comme de nouveaux éléments à la fin de la collection d'origine. |
+| Résultat | Collection | <- | Nouvelle collection contenant les valeurs d'origine et les valeurs ajoutées |
@@ -3218,14 +3218,12 @@ La fonction `.sort()` trie les éléments
Si `.sort()` est appelé sans paramètres, seules les valeurs scalaires (nombres, textes, dates, booléens) sont triées. Les éléments sont triés par défaut par ordre croissant, en fonction de leur type.
Vous pouvez également passer une des constantes suivantes dans le paramètre *ascOrDesc* :
- ```
- |Constante| Type|Valeur|Comment|
- |---|---|---|
- |ck ascending|Integer|0|Les éléments sont classés par ordre croissant (par défaut)|
- |ck descending|Integer|1|Les éléments sont classés par ordre décroissant|
-
- Cette syntaxe ordonne uniquement les valeurs scalaires dans la collection (les autres types d'éléments tels que les objets ou les collections sont renvoyés non ordonnés).
- ```
+| Constante | Type | Valeur | Commentaire |
+| ------------- | ------- | ------ | ----------------------------------------------------------------------- |
+| ck ascending | Integer | 0 | Les éléments sont triés par ordre croissant (défaut) |
+| ck descending | Integer | 1 | Les éléments sont triés par ordre décroissant |
+
+Cette syntaxe trie uniquement les valeurs scalaires de la collection (les autres types d'éléments comme les objets ou les collections sont retournés non triés).
Si la collection contient des éléments de différents types, ils sont d'abord groupés par type et triés par la suite. Les types sont renvoyés dans l'ordre suivant :
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Concepts/classes.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Concepts/classes.md
index 7c9c753141b23c..7b302992762342 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Concepts/classes.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Concepts/classes.md
@@ -741,7 +741,7 @@ Les singletons sont utiles pour définir des valeurs qui doivent être disponibl
- un **singleton process** a une instance unique pour le process dans lequel il est instancié,
- un **singleton partagé** a une instance unique pour tous les process sur la machine.
-- une **singleton session** est un singleton partagé, mais avec une instance unique pour tous les process de la [session](../API/SessionClass.md). Les singletons de session sont partagés au sein d'une session entière mais varient d'une session à l'autre. Dans le contexte d'un client-serveur ou d'une application web, les singletons de session permettent de créer et d'utiliser une instance différente pour chaque session, et donc pour chaque utilisateur. Session singletons are particularly appropriate with [Qodly applications](https://developer.4d.com/qodly/).
+- une **singleton session** est un singleton partagé, mais avec une instance unique pour tous les process de la [session](../API/SessionClass.md). Les singletons de session sont partagés au sein d'une session entière mais varient d'une session à l'autre. Dans le contexte d'un client-serveur ou d'une application web, les singletons de session permettent de créer et d'utiliser une instance différente pour chaque session, et donc pour chaque utilisateur. Les singletons de session sont particulièrement appropriés pour les [applications Qodly](https://developer.4d.com/qodly/).
:::info
@@ -782,9 +782,9 @@ La propriété [`.isSingleton`](../API/ClassClass.md#issingleton) des objets de
La propriété [`.isSessionSingleton`](../API/ClassClass.md#issessionsingleton) des objets de classe permet de savoir si la classe est un singleton de session.
-### Exposed singleton functions
+### Fonctions singleton exposées
-Shared and session singleton functions support the [`exposed` keyword](../ORDA/ordaClasses.md#exposed-vs-non-exposed-functions). An exposed singleton function can be directly called by REST requests. This feature is useful to design [Qodly pages calling 4D functions](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/events/bindingActionToEvents#class-functions).
+Les fonctions singleton partagées et de session prennent en charge le mot-clé [`exposed`](../ORDA/ordaClasses.md#exposed-vs-non-exposed-functions). Une fonction singleton exposée peut être directement appelée par des requêtes REST. Cette fonction est utile pour la conception de [pages Qodly appelant des fonctions 4D](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/events/bindingActionToEvents#class-functions).
### Exemples
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Concepts/dt_number.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Concepts/dt_number.md
index c1c4c8d456648a..e8de0b63b25b94 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Concepts/dt_number.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Concepts/dt_number.md
@@ -79,9 +79,9 @@ L'opérateur modulo % retourne des valeurs significatives avec des nombres appar
:::
-### Division entière
+### Integer division
-L'opérateur division entière \ retourne des valeurs significatives avec des nombres entiers uniquement.
+The integer division operator divides one number by another and returns the whole number part of the result, discarding any remainder. `a\b` is equivalent to `Int(a/b)`. This operator returns significant values with integer numbers only.
### Comparaison des réels
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Concepts/quick-tour.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Concepts/quick-tour.md
index 2251a72ff5479f..4a592b9f1cb1f0 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Concepts/quick-tour.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Concepts/quick-tour.md
@@ -310,7 +310,7 @@ Vous vous référez à une expression via le type de données qu’elle retourne
| Col[5] | Élément de collection | Un élément de collection est une expression qui peut être de tout type |
| $entitySel[0] | Entity | Un élément d'une sélection d'entité ORDA est une expression de type entité. Ce type d'expression n'est **pas affectable** |
-### Expressions assignables et non-assignables
+### Assignable vs non-assignable expressions {#assignable-vs-non-assignable-expressions}
Une expression peut simplement être une constante littérale, telle que le chiffre 4 ou la chaîne "Hello", ou une variable telle que `$myButton`. Elle peut également utiliser des opérateurs. Par exemple, 4 + 2 est une expression qui utilise l'opérateur d'addition pour additionner deux nombres et renvoyer le résultat 6. Dans tous les cas, ces expressions sont **non-assignables**, ce qui signifie que vous ne pouvez pas leur affecter de valeur.
Dans 4D, les expressions peuvent être **assignables**. Une expression est assignable quand elle peut être utilisée à gauche de l'opérateur d'assignation. Par exemple :
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Concepts/variables.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Concepts/variables.md
index a1b7c382575f99..a4914290a1e1f1 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Concepts/variables.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Concepts/variables.md
@@ -250,17 +250,18 @@ Le langage 4D gère plusieurs **variables système**, qui permettent de contrôl
Les variables système sont utilisées par les [commandes 4D](../commands/command-index.md). Reportez-vous au paragraphe "Variables et ensembles système" dans la description d'une commande pour savoir si elle affecte une variable système.
-| Nom de variable système | Type | Description |
-| ------------------------------------------------------ | ------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `OK` | Integer | Généralement fixée à 1 lorsqu'une commande a affiché une boîte de dialogue et que l'utilisateur a cliqué sur le bouton **OK**, et à 0 s'il a cliqué sur **Cancel**. Certaines commandes modifient également la valeur de la variable système `OK` lorsqu'une opération est exécutée avec succès. |
-| `Document` | Text | Contient le "nom long" (chemin complet + nom) du dernier fichier ouvert ou créé à l'aide de commandes telles que [Open document](../commands-legacy/open-document.md) ou [SELECT LOG FILE](../commands/select-log-file.md). |
-| `FldDelimit`, `RecDelimit` | Text | Contiennent les codes de caractères qui seront utilisés respectivement comme séparateur de champs (par défaut **Tab** (9)) et séparateur d'enregistrements (par défaut **retour chariot** (13)) lors de l'importation ou de l'exportation de texte. Pour utiliser un séparateur différent, attribuez une nouvelle valeur à la variable système. |
-| `Error`, `Error method`, `Error line`, `Error formula` | Text, Longint | Utilisées dans une méthode d'interception d'erreurs installée par la commande [`ON ERR CALL`](../commands-legacy/on-err-call.md). Voir [Gestion des erreurs dans la méthode](../Concepts/error-handling.md#handling-errors-within-the-method). |
-| `MouseDown` | Integer | Utilisée dans une méthode installée par la commande [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Prend la valeur 1 si le bouton de la souris a été enfoncé, sinon prend la valeur 0. |
-| `MouseX`, `MouseY` | Integer | Utilisée dans une méthode installée par la commande [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Dans un événement `MouseDown=1`, `MouseX` et `MouseY` reçoivent respectivement les coordonnées verticales et horizontales du clic. Les deux valeurs sont exprimées en pixels et avec le système de coordonnées locales de la fenêtre. Dans le cas d'un champ ou d'une variable image, `MouseX` et `MouseY` reçoivent les coordonnées locales d'un clic de souris dans les événements de formulaire [`On Clicked`](../Events/onClicked.md), [`On Double Clicked`](../Events/onDoubleClicked.md) et [`On Mouse Up`](../Events/onMouseUp.md). Les coordonnées locales du curseur de la souris sont également retournées dans les événements [`On Mouse Enter`](../Events/onMouseEnter.md) et [`On Mouse Move`](../Events/onMouseMove.md) . Pour plus d'informations, voir la section [Coordonnées de la souris dans une image](../FormEditor/pictures.md#mouse-coordinates-in-a-picture). |
-| `KeyCode` | Integer | Utilisée dans une méthode installée par la commande [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Définit le code de caractère de la touche qui vient d'être pressée. Si la touche est une touche de fonction, `KeyCode` prend la valeur d'un code spécial. |
-| `Modifiers` | Integer | Utilisée dans une méthode installée par la commande [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Contient les codes des modifiers du clavier (Ctrl/Commande, Alt/Option, Maj, Verr. |
-| `MouseProc` | Integer | Utilisée dans une méthode installée par la commande [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Contient le numéro du process dans lequel le dernier événement a eu lieu |
+| Nom de variable système | Type | Description |
+| ------------------------------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `OK` | Integer | Généralement fixée à 1 lorsqu'une commande a affiché une boîte de dialogue et que l'utilisateur a cliqué sur le bouton **OK**, et à 0 s'il a cliqué sur **Cancel**. Certaines commandes modifient également la valeur de la variable système `OK` lorsqu'une opération est exécutée avec succès. |
+| `Document` | Text | Contient le "nom long" (chemin complet + nom) du dernier fichier ouvert ou créé à l'aide de commandes telles que [Open document](../commands-legacy/open-document.md) ou [SELECT LOG FILE](../commands/select-log-file.md). |
+| `FldDelimit`, `RecDelimit` | Integer | Contiennent les codes de caractères qui seront utilisés respectivement comme séparateur de champs (par défaut **Tab** (9)) et séparateur d'enregistrements (par défaut **retour chariot** (13)) lors de l'importation ou de l'exportation de texte. Pour utiliser un séparateur différent, attribuez une nouvelle valeur à la variable système. |
+| `Error`, `Error line` | Integer | Utilisées dans une méthode d'interception d'erreurs installée par la commande [`ON ERR CALL`](../commands-legacy/on-err-call.md). Voir [Gestion des erreurs dans la méthode](../Concepts/error-handling.md#handling-errors-within-the-method). |
+| `Error method`, `Error formula` | Text | Utilisées dans une méthode d'interception d'erreurs installée par la commande [`ON ERR CALL`](../commands-legacy/on-err-call.md). Voir [Gestion des erreurs dans la méthode](../Concepts/error-handling.md#handling-errors-within-the-method). |
+| `MouseDown` | Integer | Utilisée dans une méthode installée par la commande [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Prend la valeur 1 si le bouton de la souris a été enfoncé, sinon prend la valeur 0. |
+| `MouseX`, `MouseY` | Integer | Utilisée dans une méthode installée par la commande [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Dans un événement `MouseDown=1`, `MouseX` et `MouseY` reçoivent respectivement les coordonnées verticales et horizontales du clic. Les deux valeurs sont exprimées en pixels et avec le système de coordonnées locales de la fenêtre. Dans le cas d'un champ ou d'une variable image, `MouseX` et `MouseY` reçoivent les coordonnées locales d'un clic de souris dans les événements de formulaire [`On Clicked`](../Events/onClicked.md), [`On Double Clicked`](../Events/onDoubleClicked.md) et [`On Mouse Up`](../Events/onMouseUp.md). Les coordonnées locales du curseur de la souris sont également retournées dans les événements [`On Mouse Enter`](../Events/onMouseEnter.md) et [`On Mouse Move`](../Events/onMouseMove.md) . Pour plus d'informations, voir la section [Coordonnées de la souris dans une image](../FormEditor/pictures.md#mouse-coordinates-in-a-picture). |
+| `KeyCode` | Integer | Utilisée dans une méthode installée par la commande [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Définit le code de caractère de la touche qui vient d'être pressée. Si la touche est une touche de fonction, `KeyCode` prend la valeur d'un code spécial. |
+| `Modifiers` | Integer | Utilisée dans une méthode installée par la commande [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Contient les codes des modifiers du clavier (Ctrl/Commande, Alt/Option, Maj, Verr. |
+| `MouseProc` | Integer | Utilisée dans une méthode installée par la commande [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Contient le numéro du process dans lequel le dernier événement a eu lieu |
:::note
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/FormObjects/properties_Action.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/FormObjects/properties_Action.md
index dd45d9e4f5398e..f0d67502894c54 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/FormObjects/properties_Action.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/FormObjects/properties_Action.md
@@ -191,15 +191,15 @@ Dans d'autres cas (list box basées sur des sélections nommées, colonnes assoc
## Action standard
-Les actions types effectuées par les objets actifs (par exemple, permettre à l'utilisateur d'accepter, d'annuler ou de supprimer des enregistrements, de passer d'un enregistrement à l'autre ou d'une page à l'autre dans un formulaire à plusieurs pages, etc.) ont été prédéfinies par 4D comme des actions standard. Elles sont décrites en détail dans la section [Actions standard](https://doc.4d.com/4Dv20/4D/20.2/Standard-actions.300-6750239.en.html) du *manuel de développement*. Il existe également des [actions standard spécifiques aux zones 4D Write Pro](../WritePro/user-legacy/defining-a-4d-write-pro-area.md#standard-actions).
+Les actions types effectuées par les objets actifs (par exemple, permettre à l'utilisateur d'accepter, d'annuler ou de supprimer des enregistrements, de passer d'un enregistrement à l'autre ou d'une page à l'autre dans un formulaire à plusieurs pages, etc.) ont été prédéfinies par 4D comme des actions standard. Elles sont décrites en détail dans la section [Actions standard](https://doc.4d.com/4Dv20/4D/20.2/Standard-actions.300-6750239.en.html) du *manuel de développement*. There are also standard actions specific to 4D Write Pro areas.
Vous pouvez associer à la fois une action standard et une méthode projet à un objet. Dans ce cas, l'action standard est généralement exécutée après la méthode et 4D utilise cette action pour activer/désactiver l'objet en fonction du contexte courant. Lorsqu’un objet est désactivé, la méthode projet associée ne peut être exécutée.
#### Grammaire JSON
-| Nom | Type de données | Valeurs possibles |
-| ------ | --------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| action | string | Le nom d'une [action standard](https://doc.4d.com/4Dv20/4D/20.2/Standard-actions.300-6750239.en.html) ou d'une [action standard 4D Write Pro](../WritePro/user-legacy/defining-a-4d-write-pro-area.md#standard-actions) valide. |
+| Nom | Type de données | Valeurs possibles |
+| ------ | --------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| action | string | The name of a valid [standard action](https://doc.4d.com/4Dv20/4D/20.2/Standard-actions.300-6750239.en.html) or 4D Write Pro standard action]. |
#### Objets pris en charge
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/FormObjects/webArea_overview.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/FormObjects/webArea_overview.md
index 1746d5553ed594..4de88a0d4c1b6b 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/FormObjects/webArea_overview.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/FormObjects/webArea_overview.md
@@ -18,7 +18,7 @@ Deux variables spécifiques sont automatiquement associées à chaque zone web :
- [`URL`](properties_WebArea.md#url) --pour contrôler l'URL affichée par la zone web
- [`Progression`](properties_WebArea.md#progression) -- pour contrôler le pourcentage de chargement de la page affichée dans la zone web.
-> Depuis 4D 19 R5, la variable Progression n'est plus mise à jour dans les zones Web utilisant le [moteur de rendu système Windows](./webArea_overview.md#web-rendering-engine).
+> As of 4D 19 R5, the Progression variable is no longer updated in Web Areas using the [Windows system rendering engine](./webArea_overview.md#web-rendering-engine).
### Moteur de rendu Web
@@ -332,9 +332,11 @@ Le fichier 4DCEFParameters.json par défaut contient les commutateurs suivants :
}
```
-### Voir également
+:::info Article(s) de blog sur le sujet
-[Spécifiez vos propres paramètres pour initialiser la zone web intégrée (article de blog)](https://blog.4d.com/specify-your-own-parameters-to-initialize-the-embedded-web-area)
+[Custom Parameters for Initializing Embedded Web Area](https://blog.4d.com/custom-parameters-for-initializing-embedded-web-area/)
+
+:::
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/ORDA/orda-events.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/ORDA/orda-events.md
index f70ffbbad5dfdb..609c544ec80483 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/ORDA/orda-events.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/ORDA/orda-events.md
@@ -17,7 +17,7 @@ Vous ne pouvez pas déclencher directement l'exécution d'une fonction d'événe
:::info Note de compatibilité
-Les événements d'entité ORDA dans le magasin de données sont équivalents aux triggers dans la base de données 4D. Cependant, les actions déclenchées au niveau de la base de données 4D à l'aide des commandes du langage classique 4D ou des actions standard ne déclenchent pas les événements ORDA.
+Les événements d'entité ORDA dans le magasin de données sont équivalents aux triggers dans la base de données 4D. Cependant, les actions déclenchées au niveau de la base de données 4D à l'aide des commandes du langage classique 4D ou des actions standard ne déclenchent pas les événements ORDA. Note also that, unlike triggers, ORDA entity events do not lock the entire underlying table of a dataclass while saving or dropping entities. Several events can run in parallel as long as they involve distinct entities (i.e. records).
:::
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/ORDA/ordaClasses.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/ORDA/ordaClasses.md
index 7418c2de73301d..61d3207ff17bd4 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/ORDA/ordaClasses.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/ORDA/ordaClasses.md
@@ -928,18 +928,18 @@ $arch.save() //courseName et name sont "Archaeology II"
## Fonctions exposées et non exposées
-For security reasons, all of your data model class functions, including [computed attributes](#computed-attributes-1) and [alias attributes](#alias-attributes-1), as well as [shared singleton functions](../Concepts/classes.md#shared-singleton) are **not exposed** (i.e., private) by default to **remote requests**.
+Pour des raisons de sécurité, toutes vos fonctions de classe du modèle de données, y compris les [attributs calculés](#computed-attributes-1), les [attributs alias](#alias-attributes-1) et les [fonctions singleton partagées](../Concepts/classes.md#shared-singleton) ne sont **pas exposées** par défaut aux **requêtes distantes** (elles sont donc privées).
-Remote requests are:
+Les requêtes distantes incluent :
- Les requêtes envoyées par des applications 4D distantes connectées via `Open datastore`
-- REST requests, including requests from [Qodly pages](https://developer.4d.com/qodly/)
+- Les requêtes REST, y compris les requêtes provenant de [pages Qodly](https://developer.4d.com/qodly/)
> Les requêtes client/serveur 4D standard ne sont pas impactées. Les fonctions de classe de modèle de données sont toujours disponibles dans cette architecture.
Une fonction qui n'est pas exposée n'est pas disponible sur les applications distantes et ne peut être appelée sur aucune instance d'objet à partir d'une requête REST. Si une application distante tente d'accéder à une fonction non exposée, l'erreur «-10729 - Méthode membre inconnue» est retournée.
-To allow a function or an attribute to be called by a remote request, you must explicitly declare it using the `exposed` keyword. La syntaxe formelle est la suivante :
+Pour permettre à une fonction de classe du modèle de données d'être appelée par une requête distante, vous devez la déclarer explicitement à l'aide du mot-clé `exposed`. La syntaxe formelle est la suivante :
```4d
// déclarer une fonction exposée
@@ -947,24 +947,24 @@ exposed Function
```
```4d
-// declare an exposed alias
+// déclarer un alias exposé
exposed Alias
```
```4d
-// declare an exposed computed attribute
+// déclarer un attribut calculé exposé
exposed Function get
```
```4d
-// declare a shared singleton function
+// déclarer une fonction singleton partagée exposée
shared singleton Class constructor()
exposed Function
```
:::note
-The `exposed` keyword can only be used with the objects decribed above. S'il est utilisé avec une fonction de [classe utilisateur standard](Concepts/classes.md), il est ignoré et une erreur est retournée par le compilateur.
+Le mot-clé `exposed` ne peut être utilisé qu'avec les objets décrits ci-dessus. S'il est utilisé avec une fonction de [classe utilisateur standard](Concepts/classes.md), il est ignoré et une erreur est retournée par le compilateur.
:::
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/ORDA/privileges.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/ORDA/privileges.md
index 0d01dfc46e883a..83be4005d95245 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/ORDA/privileges.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/ORDA/privileges.md
@@ -165,7 +165,7 @@ Dans les versions précédentes, le fichier `roles.json` n'était pas créé par
:::note Qodly Studio
-Dans Qodly Studio for 4D, le mode peut être défini en utilisant l'option [**Force login**](../WebServer/qodly-studio.md#force-login) dans l'onglet Privileges.
+Dans Qodly Studio for 4D, le mode peut être défini en utilisant l'option [**Force login**](https://developer.4d.com/qodly/4DQodlyPro/force-login) dans l'onglet Privileges.
:::
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/REST/authUsers.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/REST/authUsers.md
index 662926c0cc5714..c36a93c732f654 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/REST/authUsers.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/REST/authUsers.md
@@ -18,7 +18,7 @@ Une session est ouverte après que l'utilisateur a été connecté avec succès
:::note Compatibilité
-L'ancien mode de connexion basé sur la méthode base `On REST Authentication` est **déprécié** à partir de 4D 20 R6. Dans les projets convertis, [un bouton dans la boîte de dialogue des Paramètres](../settings/web.md#activate-rest-authentication-through-dsauthentify-function) vous aide à mettre à niveau votre configuration. Il est maintenant recommandé d'[utiliser le **mode Force login**](../ORDA/privileges.md#fichier-rolesjson) (automatiquement activé dans les nouveaux projets) et de mettre en œuvre la fonction [`ds.authentify()`](#function-authentify). Dans Qodly Studio for 4D, le mode peut être défini en utilisant l'option [**Force login**](../WebServer/qodly-studio.md#force-login) dans l'onglet Privileges.
+L'ancien mode de connexion basé sur la méthode base `On REST Authentication` est **déprécié** à partir de 4D 20 R6. Dans les projets convertis, [un bouton dans la boîte de dialogue des Paramètres](../settings/web.md#activate-rest-authentication-through-dsauthentify-function) vous aide à mettre à niveau votre configuration. Il est maintenant recommandé d'[utiliser le **mode Force login**](../ORDA/privileges.md#fichier-rolesjson) (automatiquement activé dans les nouveaux projets) et de mettre en œuvre la fonction [`ds.authentify()`](#function-authentify). Dans Qodly Studio for 4D, le mode peut être défini en utilisant l'option [**Force login**](https://developer.4d.com/qodly/4DQodlyPro/force-login) dans l'onglet Privileges.
:::
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/WebServer/sessions.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/WebServer/sessions.md
index 4e83fc460e136d..116968db797f9b 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/WebServer/sessions.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/WebServer/sessions.md
@@ -25,7 +25,7 @@ Les sessions Web sont utilisées par :
- les [applications web](gettingStarted.md) qui envoient des requêtes http,
- les appels à l'[API REST](../REST/authUsers.md), qui sont effectués par les [datastores distants](../ORDA/remoteDatastores.md) et les [pages Qodly](qodly-studio.md).
-## Activation des sessions web
+## Enabling web sessions {#enabling-web-sessions}
La gestion de session peut être activée et désactivée sur votre serveur Web 4D. Il y a différentes façons d'activer la gestion de session :
@@ -201,7 +201,7 @@ Else
End if
```
-:::tips Articles de blog sur le sujet
+:::tip Articles de blog sur le sujet
[Sessions évolutives pour applications web avancées](https://blog.4d.com/scalable-sessions-for-advanced-web-applications/)
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/commands-legacy/open-window.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/commands-legacy/open-window.md
index 0a7eb940767333..9f4b980fa4a6ae 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/commands-legacy/open-window.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/commands-legacy/open-window.md
@@ -38,7 +38,24 @@ Si vous passez -1 dans *droite* et *bas*, vous indiquez à 4D qu'il faut redimen
**Important :** Ce dimensionnement automatique de la fenêtre n'aura lieu que si vous avez au préalable appelé la commande [FORM SET INPUT](form-set-input.md) pour le formulaire que vous allez afficher dans la fenêtre, et si vous lui avez passé le paramètre optionnel \*.
-* Le paramètre *type* est optionnel. Il définit le type de fenêtre que vous souhaitez afficher, et correspond aux différentes fenêtres présentées dans la section *Types de fenêtres (compatibilité)* (constantes du thème *Creer fenetre*). Si le type passé est négatif, la fenêtre sera flottante. Si le type n'est pas spécifié, le type 1 est utilisé par défaut.
+* Le paramètre *type* est optionnel. Il définit le type de fenêtre que vous souhaitez afficher. Si le type passé est négatif, la fenêtre sera flottante (si pris en charge). Si le type n'est pas spécifié, le type 1 est utilisé par défaut. Les constantes suivantes du thème "Open window" sont utilisables :
+
+|Constante|Commentaire|
+|---|---|
+|Alternate dialog box|Utilisable en fenêtre flottante|
+|Has full screen mode Mac|Option à ajouter aux fenêtres de type document sur macOS uniquement (ex : `Plain form window+Form has full screen mode Mac`)|
+|Modal dialog box ||
+|Movable dialog box |Utilisable en fenêtre flottante|
+|Palette window|Utilisable en fenêtre flottanteNon redimensionnable : `-(Palette window+2)` (Windows) ou ` -Palette window` (macOS)Redimensionnable : `-(Palette window+6)`|
+|Plain dialog box |Utilisable en fenêtre flottante|
+|Plain fixed size window||
+|Plain no zoom box window||
+|Pop up window||
+|Plain window||
+|Resizable sheet window||
+|Round corner window ||
+|Sheet window||
+|Texture appearance|Option à ajouter à un type de fenêtre sur macOS uniquement. Types compatibles : `Plain window`, `Plain no zoom box window`, `Plain fixed size window`, `Movable dialog box`, `Round corner window`|
* Le paramètre *titre* indique le titre (optionnel) de la fenêtre.
Si vous passez une chaîne de caractères vide ("") dans *titre*, vous indiquez à 4D d'utiliser les valeurs saisies dans la zone **Nom de la fenêtre** de la fenêtre des Propriétés du formulaire en mode Développement pour le titre du formulaire que vous allez afficher dans la fenêtre.
@@ -58,21 +75,19 @@ La méthode projet suivante ouvre une fenêtre centrée dans la fenêtre princip
```4d
// Méthode projet OUVRIR FENETRE CENTREE
- // $1 – Largeur de la fenêtre
- // $2 – Hauteur de la fenêtre
- // $3 – Type de la fenêtre (optionnel)
- // $4 – Titre de la fenêtre (optionnel)
- $SW:=Screen width\2
+ #DECLARE($width : Integer; $height : Integer; $type : Integer; $title : Text)
+ var $SW; $SH; $WW; $WH : Integer
+ $SW:=Screen width\2
$SH:=(Screen height\2)-10
- $WW:=$1\2
- $WH:=$2\2
+ $WW:=$width\2
+ $WH:=$height\2
Case of
:(Count parameters=2)
Open window($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH)
:(Count parameters=3)
- Open window($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH;$3)
+ Open window($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH;$type)
:(Count parameters=4)
- Open window($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH;$3;$4)
+ Open window($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH;$type;$title)
End case
```
@@ -92,7 +107,8 @@ Une fois que cette méthode projet est écrite, vous pouvez l'utiliser de la man
L'exemple suivant crée une fenêtre flottante comportant une case de menu système (sous Windows) ou une case de fermeture (sous Mac OS). La fenêtre est créée dans le coin supérieur droit de la fenêtre de l'application.
```4d
- $mafenetre:=Open window(Screen width-149;33;Screen width-4;178;-Palette window;"";"caseFermeture")
+var $mafenetre : Integer
+$mafenetre:=Open window(Screen width-149;33;Screen width-4;178;-Palette window;"";"caseFermeture")
DIALOG([Dialogues];"Palette de couleurs")
```
@@ -107,7 +123,8 @@ La méthode *caseFermeture* appelle la commande [CANCEL](cancel.md) :
L'exemple suivant ouvre une fenêtre dont le titre et la taille proviennent des propriétés du formulaire affiché dans la fenêtre :
```4d
- FORM SET INPUT([Clients];"Ajout d'enregistrements";*)
+ var $mafenetre : Integer
+ FORM SET INPUT([Clients];"Ajout d'enregistrements";*)
$mafenetre:=Open window(10;80;-1;-1;Plain window;"")
Repeat
ADD RECORD([Clients])
@@ -123,7 +140,8 @@ L'exemple suivant ouvre une fenêtre dont le titre et la taille proviennent des
Cet exemple illustre le mécanisme de “retard” d’affichage des fenêtres feuille sous macOS :
```4d
- $maFenêtre:=Open window(10;10;400;400;Sheet window)
+ var $mafenetre : Integer
+ $mafenetre:=Open window(10;10;400;400;Sheet window)
//A cet instant la fenêtre est créée mais reste invisible
DIALOG([Table];"formDial")
//L’événement Sur chargement est généré puis la fenêtre feuille est affichée, elle "descend"
@@ -133,7 +151,6 @@ Cet exemple illustre le mécanisme de “retard” d’affichage des fenêtres f
## Voir aussi
[CLOSE WINDOW](close-window.md)
-*Creer fenetre*
[Open form window](open-form-window.md)
## Propriétés
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/commands-legacy/query-by-attribute.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/commands-legacy/query-by-attribute.md
index 409a9a671ef5d0..fd62c5cf520e20 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/commands-legacy/query-by-attribute.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/commands-legacy/query-by-attribute.md
@@ -10,10 +10,10 @@ displayed_sidebar: docs
| Paramètre | Type | | Description |
| --- | --- | --- | --- |
| laTable | Table | → | Table dans laquelle la sélection est créée ou Table par défaut si ce paramètre est omis |
-| opConj | * | → | Opérateur à utiliser pour combiner plusieurs requêtes (le cas échéant) |
+| opConj | Operator | → | Opérateur à utiliser pour combiner plusieurs requêtes (le cas échéant) |
| champObjet | Field | → | Champ objet dont les attributs sont à utiliser pour la recherche |
| cheminAttribut | Text | → | Nom ou chemin d'attribut |
-| opRech | Text, * | → | Opérateur de recherche (comparateur) |
+| opRech | Text, Operator | → | Opérateur de recherche (comparateur) |
| valeur | Text, Number, Date, Time | → | Valeur à comparer |
| * | Opérateur | → | Attente d'exécution de la recherche |
@@ -65,7 +65,7 @@ La *valeur* représente ce qui va être comparé au contenu de *cheminAttribut*.
Voici la structure type d'une recherche par attribut :
```4d
- QUERY BY ATTRIBUTE([Table] ;[Table]ChampObjet ;"attribut1.attribut2";=;valeur)
+ QUERY BY ATTRIBUTE([Table] ;[Table]ChampObjet ;"attribut1.attribut2";=;valeur)
```
**Note :** La présence de l'attribut dans le champ objet est un critère implicite pour tous les opérateurs (hormis #). En revanche, pour l'opérateur #, il peut être indéfini (cf. ci-dessous).
@@ -75,7 +75,7 @@ Voici la structure type d'une recherche par attribut :
Lorsque vous effectuez une recherche par attribut à l'aide de l'opérateur #, vous devez prendre en considération les cas où un attribut n'est pas présent dans un enregistrement. Considérons par exemple ce qui suit :
```4d
- QUERY BY ATTRIBUTE([Personnes];[Personnes]Animaux;"chien.nom";#;"Médor")
+ QUERY BY ATTRIBUTE([Personnes];[Personnes]Animaux;"chien.nom";#;"Médor")
```
Cette recherche retournera les enregistrements des personnes ayant un chien dont le nom n'est pas "Médor", mais ne retournera PAS les les enregistrements des personnes n'ayant pas de chien, ou ayant un chien sans nom, c'est-à-dire les enregistrements pour lesquels la valeur de la proprité "chien.nom" est **null**. Le concept est le suivant : le moteur de recherche ne peut pas comparer l'incomparable, à savoir les données manquantes ou inexistantes. Ainsi, les enregistrements qui ne peuvent pas être comparés aux critères de recherche sont exclus de la recherche.
@@ -83,7 +83,7 @@ Cette recherche retournera les enregistrements des personnes ayant un chien dont
Voici un exemple plus générique :
```4d
- QUERY BY ATTRIBUTE([Table];[Table]ChampObjet;"attribut1.attribut2";#;valeur)
+ QUERY BY ATTRIBUTE([Table];[Table]ChampObjet;"attribut1.attribut2";#;valeur)
```
@@ -95,7 +95,7 @@ Cette recherche retournera tous les enregistrements pour lesquels *\[Table\]Cham
Ce principe s'applique également aux attributs tableaux. Par exemple, la recherche retournera les enregistrements des personnes ayant une ou plusieurs adresses, mais n'ayant aucune adresse à Paris.
```4d
- QUERY BY ATTRIBUTE([Personnes];[Personnes]OB_Field;"locations[].city";#;"paris")
+ QUERY BY ATTRIBUTE([Personnes];[Personnes]OB_Field;"locations[].city";#;"paris")
```
@@ -129,20 +129,20 @@ Les dates sont stockées dans les objets en fonction des paramètres de la base
Ce paramétrage est également respecté durant les recherches, donc vous n'avez pas à vous en préoccuper si vous utilisez toujours votre base dans la même zone et si les paramètres sont identiques sur chaque machine qui accède aux données. Dans ce contexte, la recherche suivante retournera bien les enregistrements dont l'attribut Anniversaire est égal à !1973-05-22! (stocké "1973-05-21T23:00:00.00Z") :
```4d
- QUERY BY ATTRIBUTE([Personnes];[Personnes]OB_Info;"Anniversaire";=;!1973-05-22!)
+ QUERY BY ATTRIBUTE([Personnes];[Personnes]OB_Info;"Anniversaire";=;!1973-05-22!)
```
Si vous ne souhaitez pas utiliser le paramétrage GMT, vous pouvez exécuter l'instruction suivante :
```4d
- SET DATABASE PARAMETER(JSON use local time;0)
+ SET DATABASE PARAMETER(JSON use local time;0)
```
Attention, la portée de ce paramètre est limitée au process. Si vous exécutez cette instruction, le 1er Octobre 1965 sera stocké "1965-10-01T00:00:00.000Z" mais vous devrez fixer le même paramètre avant de lancer vos recherches :
```4d
- SET DATABASE PARAMETER(JSON use local time;0)
- QUERY BY ATTRIBUTE([Personnes];[Personnes]OB_Info;"Anniversaire";=;1976-11-27!)
+ SET DATABASE PARAMETER(JSON use local time;0)
+ QUERY BY ATTRIBUTE([Personnes];[Personnes]OB_Info;"Anniversaire";=;1976-11-27!)
```
### Utilisation de la propriété virtuelle length
@@ -177,8 +177,8 @@ Par exemple, avec les deux enregistrements suivants :
Vous souhaitez trouver les personnes qui ont un type d'adresse "home" dans la ville "Paris". Si vous écrivez :
```4d
- QUERY BY ATTRIBUTE([Personnes];[Personnes]OB_Field;"locations[].city";=;"Paris";*)
- QUERY BY ATTRIBUTE([Personnes];[Personnes]OB_Field;"locations[].kind";=;"home")
+ QUERY BY ATTRIBUTE([Personnes];[Personnes]OB_Field;"locations[].city";=;"Paris";*)
+ QUERY BY ATTRIBUTE([Personnes];[Personnes]OB_Field;"locations[].kind";=;"home")
```
... la recherche retournera "Martin" et "Smith" car "Smith" a un élément "locations" dont le "kind" est "home" et un (autre) élément "locations" dont la "city" est "Paris".
@@ -191,8 +191,8 @@ Vous souhaitez trouver les personnes qui ont un type d'adresse "home" dans la vi
Avec les mêmes enregistrements que précédemment, si vous écrivez :
```4d
- QUERY BY ATTRIBUTE([Personnes];[Personnes]OB_Field;"locations[a].city";=;"Paris";*)
- QUERY BY ATTRIBUTE([Personnes];[Personnes]OB_Field;"locations[a].kind";=;"home")
+ QUERY BY ATTRIBUTE([Personnes];[Personnes]OB_Field;"locations[a].city";=;"Paris";*)
+ QUERY BY ATTRIBUTE([Personnes];[Personnes]OB_Field;"locations[a].kind";=;"home")
```
... la recherche retournera uniquement "Martin" car il a un élément "locations" dont le "kind" est "home" et dont la "city" est "Paris". La recherche ne retournera pas "Smith" car les valeurs "Paris" et "home" ne se trouvent pas dans le même élément de tableau. Reportez-vous ci-dessous pour plus d'exemples d'utilisations de cette fonctionnalité.
@@ -204,10 +204,10 @@ Avec les mêmes enregistrements que précédemment, si vous écrivez :
Dans cet exemple, l'attribut "age" est soit une chaîne soit un entier et nous souhaitons trouver les personnes dont l'âge est situé entre 20 et 29\. Les deux premières lignes interrogent l'attribut en tant qu'entier (>=20 et < 30) et les suivantes interrogent l'attribut en tant que chaîne (débute par "2" mais est différent de "2").
```4d
- QUERY BY ATTRIBUTE([Personnes];[Personnes]OB_Info;"age";>=;20;*)
- QUERY BY ATTRIBUTE([Personnes];&;[Personnes]OB_Info;"age";<;30;*)
- QUERY BY ATTRIBUTE([Personnes];|;[Personnes]OB_Info;"age";=;"2@";*)
- QUERY BY ATTRIBUTE([Personnes];&;[Personnes]OB_Info;"age";#;"2") //pas de * final pour lancer l'exécution
+ QUERY BY ATTRIBUTE([Personnes];[Personnes]OB_Info;"age";>=;20;*)
+ QUERY BY ATTRIBUTE([Personnes];&;[Personnes]OB_Info;"age";<;30;*)
+ QUERY BY ATTRIBUTE([Personnes];|;[Personnes]OB_Info;"age";=;"2@";*)
+ QUERY BY ATTRIBUTE([Personnes];&;[Personnes]OB_Info;"age";#;"2") //pas de * final pour lancer l'exécution
```
## Exemple 2
@@ -215,15 +215,15 @@ Dans cet exemple, l'attribut "age" est soit une chaîne soit un entier et nous s
La commande **QUERY BY ATTRIBUTE** peut être utilisée pour rechercher des enregistrements dans lesquels certains attributs sont définis (ou non définis). Pour cela, vous devez utiliser un objet vide :
```4d
- //Trouver les enregistrements où l'email est défini dans le champ objet
- var $undefined : Object
- QUERY BY ATTRIBUTE([Personnes];[Personnes]Info;"email";#;$undefined)
+ //Trouver les enregistrements où l'email est défini dans le champ objet
+ var $undefined : Object
+ QUERY BY ATTRIBUTE([Personnes];[Personnes]Info;"email";#;$undefined)
```
```4d
- //Trouver les enregistrements où le zip code n'est PAS défini dans le champ objet
- var $undefined : Object
- QUERY BY ATTRIBUTE([Personnes];[Personnes]Info;"zip code";=;$undefined)
+ //Trouver les enregistrements où le zip code n'est PAS défini dans le champ objet
+ var $undefined : Object
+ QUERY BY ATTRIBUTE([Personnes];[Personnes]Info;"zip code";=;$undefined)
```
**Note :** Cette syntaxe spécifique n'est pas prise en charge avec les attributs de type tableau. La recherche de valeurs NULL dans les attributs de tableau donne des résultats invalides.
@@ -254,17 +254,17 @@ Vous voulez chercher un champ contenant des attributs tableaux. Avec les deux en
... **QUERY BY ATTRIBUTE** trouvera les personnes ayant une localisation à "paris" par cette recherche :
```4d
- //on indique l'attribut tableau avec la syntaxe "[]"
- QUERY BY ATTRIBUTE([Personnes];[Personnes]OB_Field;"locations[].city";=;"paris")
- //trouve "martin" et "smith"
+ //on indique l'attribut tableau avec la syntaxe "[]"
+ QUERY BY ATTRIBUTE([Personnes];[Personnes]OB_Field;"locations[].city";=;"paris")
+ //trouve "martin" et "smith"
```
**Note :** Si vous avez défini plusieurs critères sur le même attribut tableau, les critères correspondants ne s'appliqueront pas nécessairement au même élément de tableau. Dans l'exemple ci-dessous, la recherche retournera "smith" car l'attribut a un élément "locations" dont le "kind" est "home" et un élément "locations" dont le "city" est "paris", même s'il ne s'agit pas du même élément :
```4d
- QUERY BY ATTRIBUTE([Personnes];[Personnes]OB_Field;"locations[].kind";=;"home";*)
- QUERY BY ATTRIBUTE([Personnes];&;[Personnes]OB_Field;"locations[].city";=;"paris")
- //trouve "smith"
+ QUERY BY ATTRIBUTE([Personnes];[Personnes]OB_Field;"locations[].kind";=;"home";*)
+ QUERY BY ATTRIBUTE([Personnes];&;[Personnes]OB_Field;"locations[].city";=;"paris")
+ //trouve "smith"
```
## Exemple 4
@@ -276,7 +276,7 @@ Cet exemple illustre l'utilisation de la propriété virtuelle "length". Votre b
Vous souhaitez obtenir les enregistrements des clients qui ont deux enfants ou plus. Vous pouvez écrire :
```4d
- QUERY BY ATTRIBUTE([Customer];[Customer]full_Data;"Children.length";>=;2)
+ QUERY BY ATTRIBUTE([Customer];[Customer]full_Data;"Children.length";>=;2)
```
## Exemple 5
@@ -355,45 +355,45 @@ Ces exemples illustrent les différentes combinaisons de liaisons de critères d
Recherche des personnes qui ont un enfant de 15 ans nommé "Betty" :
```4d
- QUERY BY ATTRIBUTE([Personnes];[Personnes]OBField;"Enfants[a].Nom";=;"Betty";*)
- QUERY BY ATTRIBUTE([Personnes];&;[Personnes]OBField;"Enfants[a].Age";=;"15")
- //retourne "Victor"
-
- QUERY BY ATTRIBUTE([Personnes];[Personnes]OBField;"Enfants[].Nom";=;"Betty";*)
- QUERY BY ATTRIBUTE([Personnes];&;[Personnes]OBField;"Enfants[].Age";=;"15")
- //retourne "Sam", "Louis" et "Victor"
+ QUERY BY ATTRIBUTE([Personnes];[Personnes]OBField;"Enfants[a].Nom";=;"Betty";*)
+ QUERY BY ATTRIBUTE([Personnes];&;[Personnes]OBField;"Enfants[a].Age";=;"15")
+ //retourne "Victor"
+
+ QUERY BY ATTRIBUTE([Personnes];[Personnes]OBField;"Enfants[].Nom";=;"Betty";*)
+ QUERY BY ATTRIBUTE([Personnes];&;[Personnes]OBField;"Enfants[].Age";=;"15")
+ //retourne "Sam", "Louis" et "Victor"
```
Recherche des personnes qui ont un enfant de 15 ans nommé "Betty" et un enfant de 9 ans nommé "Harry" :
```4d
- QUERY BY ATTRIBUTE([Personnes];[Personnes]OBField;"Enfants[a].Nom";=;"Betty";*)
- QUERY BY ATTRIBUTE([Personnes];&;[Personnes]OBField;"Enfants[a].Age";=;"15";*)
- QUERY BY ATTRIBUTE([Personnes];[Personnes]OBField;"Enfants[b].Nom";=;"Harry";*)
- QUERY BY ATTRIBUTE([Personnes];&;[Personnes]OBField;"Enfants[b].Age";=;"9")
- //retourne "Victor"
-
- QUERY BY ATTRIBUTE([Personnes];[Personnes]OBField;"Enfants[].Nom";=;"Betty";*)
- QUERY BY ATTRIBUTE([Personnes];&;[Personnes]OBField;"Enfants[].Age";=;"15";*)
- QUERY BY ATTRIBUTE([Personnes];[Personnes]OBField;"Enfants[].Nom";=;"Harry";*)
- QUERY BY ATTRIBUTE([Personnes];&;[Personnes]OBField;"Enfants[].Age";=;"9")
- //retourne "Sam" et "Victor"
+ QUERY BY ATTRIBUTE([Personnes];[Personnes]OBField;"Enfants[a].Nom";=;"Betty";*)
+ QUERY BY ATTRIBUTE([Personnes];&;[Personnes]OBField;"Enfants[a].Age";=;"15";*)
+ QUERY BY ATTRIBUTE([Personnes];[Personnes]OBField;"Enfants[b].Nom";=;"Harry";*)
+ QUERY BY ATTRIBUTE([Personnes];&;[Personnes]OBField;"Enfants[b].Age";=;"9")
+ //retourne "Victor"
+
+ QUERY BY ATTRIBUTE([Personnes];[Personnes]OBField;"Enfants[].Nom";=;"Betty";*)
+ QUERY BY ATTRIBUTE([Personnes];&;[Personnes]OBField;"Enfants[].Age";=;"15";*)
+ QUERY BY ATTRIBUTE([Personnes];[Personnes]OBField;"Enfants[].Nom";=;"Harry";*)
+ QUERY BY ATTRIBUTE([Personnes];&;[Personnes]OBField;"Enfants[].Age";=;"9")
+ //retourne "Sam" et "Victor"
```
Recherche des personnes qui ont un enfant de 15 ans nommé "Harry" qui a une voiture bleue en jouet (recherche dans un tableau de tableaux):
```4d
- QUERY BY ATTRIBUTE([Personnes];[Personnes]OBField;"Enfants[a].Nom";=;"Harry";*)
- QUERY BY ATTRIBUTE([Personnes];&;[Personnes]OBField;"Enfants[a].Age";=;"15";*)
- QUERY BY ATTRIBUTE([Personnes];&;[Personnes]OBField;"Enfants[a].Jouets[b].Nom";=;"Voiture";*)
- QUERY BY ATTRIBUTE([Personnes];&;[Personnes]OBField;"Enfants[a].Jouets[b].Coul";=;"Bleu")
- //retourne "Sam"
-
- QUERY BY ATTRIBUTE([Personnes];[Personnes]OBField;"Enfants[].Nom";=;"Harry";*)
- QUERY BY ATTRIBUTE([Personnes];&;[Personnes]OBField;"Enfants[].Age";=;"15";*)
- QUERY BY ATTRIBUTE([Personnes];&;[Personnes]OBField;"Enfants[].Jouets[].Nom";=;"Voiture";*)
- QUERY BY ATTRIBUTE([Personnes];&;[Personnes]OBField;"Enfants[].Jouets[].Coul";=;"Bleu")
- //retourne "Sam" et "Louis"
+ QUERY BY ATTRIBUTE([Personnes];[Personnes]OBField;"Enfants[a].Nom";=;"Harry";*)
+ QUERY BY ATTRIBUTE([Personnes];&;[Personnes]OBField;"Enfants[a].Age";=;"15";*)
+ QUERY BY ATTRIBUTE([Personnes];&;[Personnes]OBField;"Enfants[a].Jouets[b].Nom";=;"Voiture";*)
+ QUERY BY ATTRIBUTE([Personnes];&;[Personnes]OBField;"Enfants[a].Jouets[b].Coul";=;"Bleu")
+ //retourne "Sam"
+
+ QUERY BY ATTRIBUTE([Personnes];[Personnes]OBField;"Enfants[].Nom";=;"Harry";*)
+ QUERY BY ATTRIBUTE([Personnes];&;[Personnes]OBField;"Enfants[].Age";=;"15";*)
+ QUERY BY ATTRIBUTE([Personnes];&;[Personnes]OBField;"Enfants[].Jouets[].Nom";=;"Voiture";*)
+ QUERY BY ATTRIBUTE([Personnes];&;[Personnes]OBField;"Enfants[].Jouets[].Coul";=;"Bleu")
+ //retourne "Sam" et "Louis"
```
## Variables et ensembles système
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/commands-legacy/query-selection-by-attribute.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/commands-legacy/query-selection-by-attribute.md
index 89f8c3ea0a0ecd..923d4aa9384664 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/commands-legacy/query-selection-by-attribute.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/commands-legacy/query-selection-by-attribute.md
@@ -10,10 +10,10 @@ displayed_sidebar: docs
| Paramètre | Type | | Description |
| --- | --- | --- | --- |
| laTable | Table | → | Table dans laquelle la sélection est créée ou Table par défaut si ce paramètre est omis |
-| opConj | * | → | Opérateur à utiliser pour combiner plusieurs requêtes (le cas échéant) |
+| opConj | Operator | → | Opérateur à utiliser pour combiner plusieurs requêtes (le cas échéant) |
| champObjet | Field | → | Champ objet dont les attributs sont à utiliser pour la recherche |
| cheminAttribut | Text | → | Nom ou chemin d'attribut |
-| opRecherche | *, Text | → | Opérateur de recherche (comparateur) |
+| opRecherche | Text, Operator | → | Opérateur de recherche (comparateur) |
| valeur | Text, Number, Date, Time | → | Valeur à comparer |
| * | Opérateur | → | Attente d'exécution de la recherche |
@@ -37,9 +37,9 @@ La commande **QUERY SELECTION BY ATTRIBUTE** est utile lorsqu'une recherche ne p
Vous souhaitez trouver les personnes âgées entre 20 et 30 ans parmi les enregistrements sélectionnés par l'utilisateur :
```4d
- USE SET("UserSet") // crée une nouvelle sélection courante
- QUERY SELECTION BY ATTRIBUTE([People];[People]OB_Info;"age";>;20;*)
- QUERY SELECTION BY ATTRIBUTE([People];&;[People]OB_Info;"age";<;30) //déclenche la recherche
+ USE SET("UserSet") // crée une nouvelle sélection courante
+ QUERY SELECTION BY ATTRIBUTE([People];[People]OB_Info;"age";>;20;*)
+ QUERY SELECTION BY ATTRIBUTE([People];&;[People]OB_Info;"age";<;30) //déclenche la recherche
```
## Voir aussi
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/commands-legacy/verify-data-file.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/commands-legacy/verify-data-file.md
index 3f32968a214cb7..ca87c17b217edd 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/commands-legacy/verify-data-file.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/commands-legacy/verify-data-file.md
@@ -52,45 +52,43 @@ Pour créer l’historique, passez 0 dans *options*.
Le paramètre *méthode* permet de définir une méthode de rétro-appel qui sera régulièrement appelée durant la vérification. Si vous passez une chaîne vide ou un nom de méthode non valide, ce paramètre est ignoré (aucune méthode n’est appelée). Lorsqu’elle est appelée, la méthode reçoit jusqu’à 5 paramètres en fonction des objets vérifiés et du type d’événement à l’origine de l’appel (cf. tableau des appels). Vous devez impérativement déclarer ces paramètres dans la méthode :
-| $1 | Entier long | Type de message (cf. tableau) |
-| -- | ----------- | ----------------------------- |
-| $2 | Entier long | Type d’objet |
-| $3 | Texte | Message |
-| $4 | Entier long | Numéro de table |
-| $5 | Entier long | Réservé |
+| Paramètre | Type | Description |
+| ------------ | ----------- | ----------------------------- |
+| $messageType | Entier long | Type de message (cf. tableau) |
+| $objectType | Entier long | Type d’objet |
+| $messageText | Texte | Message |
+| $table | Entier long | Numéro de table |
+| $reserved | Entier long | Réservé |
Le tableau suivant décrit le contenu des paramètres en fonction du type d’événement :
-| **Evénement** | **$1 (Entier long)** | **$2 (** **Entier** **long)** | **$3 (Texte)** | **$4 (** **Entier** **long)** | **$5 (** **Entier** **long)** |
-| ------------------------- | -------------------- | ------------------------------- | -------------- | ------------------------------- | ------------------------------- |
-| Message | 1 | 0 | Progression | Pourcentage | Réservé |
-| message | réalisé (0-100) | | | | |
-| Vérification terminée(\*) | 2 | Type d’objet(\*\*) | Message OK | Table ou index | Réservé |
-| test | numéro | | | | |
-| Erreur | 3 | Type d’objet(\*\*) | Texte d’erreur | Table ou index | Réservé |
-| message | numéro | | | | |
-| Fin d’exécution | 4 | 0 | DONE | 0 | Réservé |
-| Warning | 5 | Type d'objet(\*\*) | Texte d'erreur | Table ou index | Réservé |
-| message | numéro | | | | |
+| **Evénement** | **$messageType** | **$objectType** | **$messageText** | **$table** | **$reserved** |
+| ------------------------- | ---------------- | ----------------- | --------------------- | ------------------------------- | ------------------------------- |
+| Message | 1 | 0 | Progression message | Pourcentage réalisé (0-100) | Réservé |
+| Vérification terminée(\*) | 2 | Type d’objet(\*\*)| Message OK test | Table ou index numéro | Réservé |
+| Erreur | 3 | Type d’objet(\*\*)| Texte d’erreur message| Table ou index numéro | Réservé |
+| Fin d’exécution | 4 | 0 | DONE | 0 | Réservé |
+| Warning | 5 | Type d'objet(\*\*)| Texte d'erreur | Table ou index | Réservé |
+| | | | | message | numéro |
-(\*) L'événement *Vérification terminée* ($1=2) n'est jamais renvoyé lorsque le mode de vérification est Verify all. Il n'est utilisé qu'en mode Verify records ou Verify indexes.
+(\*) L'événement *Vérification terminée* ($messageType=2) n'est jamais renvoyé lorsque le mode de vérification est Verify all. Il n'est utilisé qu'en mode Verify records ou Verify indexes.
-(\*\*) *Type d’objet* : Lorsqu’un objet est vérifié, un message "terminé" ($1=2), erreur ($1=3) ou warning ($1=5) peut être envoyé. Le type d’objet retourné dans $2 peut être l’un des suivants :
+(\*\*) *Type d’objet* : Lorsqu’un objet est vérifié, un message "terminé" ($messageType=2), erreur ($messageType=3) ou warning ($messageType=5) peut être envoyé. Le type d’objet retourné dans $objectType peut être l’un des suivants :
* 0 = indéterminé
* 4 = enregistrement
* 8 = index
* 16 = objet structure (contrôle préliminaire du fichier de données).
-*Cas particulier* : lorsque $4 = 0 pour $1 = 2, 3 ou 5, le message ne concerne pas une table mais le fichier de données dans son ensemble.
+*Cas particulier* : lorsque $table = 0 pour $messageType = 2, 3 ou 5, le message ne concerne pas une table mais le fichier de données dans son ensemble.
-La méthode de rétro-appel doit également retourner une valeur dans $0 (Entier long), permettant de contrôler l’exécution de l’opération :
+La méthode de rétro-appel doit également retourner une valeur entière *$result*, permettant de contrôler l’exécution de l’opération :
-* si $0 = 0, l’opération continue normalement
-* si $0 = -128, l’opération est stoppée sans erreur générée
-* si $0 = autre valeur, l’opération est stoppée et la valeur passée dans $0 est retournée en tant que numéro d’erreur. Cette erreur peut être interceptée par une méthode d’appel sur erreur.
+* si $result = 0, l’opération continue normalement
+* si $result = -128, l’opération est stoppée sans erreur générée
+* si $result = autre valeur, l’opération est stoppée et la valeur passée dans $result est retournée en tant que numéro d’erreur. Cette erreur peut être interceptée par une méthode d’appel sur erreur.
-**Note :** Il n'est pas possible d'interrompre l'exécution via $0 après que l'événement *Fin d'exécution* ($4=1) a été généré.
+**Note :** Il n'est pas possible d'interrompre l'exécution via $result après que l'événement *Fin d'exécution* ($1=4) a été généré.
Deux tableaux facultatifs peuvent également être utilisés par la commande :
@@ -109,7 +107,7 @@ Quelle que soit l'option sélectionnée, dès lors qu'un fichier d'historique es
Vérification simple des données et des index :
```4d
- VERIFY DATA FILE($NomStruct;$NomData;Verify indexes+Verify records;Ne pas créer d’historique;"")
+ VERIFY DATA FILE($NomStruct;$NomData;Verify indexes+Verify records;Ne pas créer d’historique;"")
```
## Exemple 2
@@ -117,7 +115,7 @@ Vérification simple des données et des index :
Vérification complète avec historique :
```4d
- VERIFY DATA FILE($NomStruct;$NomData;Verify all;0;"")
+ VERIFY DATA FILE($NomStruct;$NomData;Verify all;0;"")
```
## Exemple 3
@@ -125,7 +123,7 @@ Vérification complète avec historique :
Vérification des enregistrements uniquement :
```4d
- VERIFY DATA FILE($NomStruct;$NomData;Verify records;0;"")
+ VERIFY DATA FILE($NomStruct;$NomData;Verify records;0;"")
```
## Exemple 4
@@ -133,10 +131,10 @@ Vérification des enregistrements uniquement :
Vérification des enregistrements des tables 3 et 7 uniquement :
```4d
- ARRAY LONGINT($tnumTables;2)
- $tnumTables{1}:=3
- $tnumTables{2}:=7
- VERIFY DATA FILE($NomStruct;$NomData;Verify records;0;"FollowScan";$tnumTables)
+ ARRAY LONGINT($tnumTables;2)
+ $tnumTables{1}:=3
+ $tnumTables{2}:=7
+ VERIFY DATA FILE($NomStruct;$NomData;Verify records;0;"FollowScan";$tnumTables)
```
## Exemple 5
@@ -144,14 +142,14 @@ Vérification des enregistrements des tables 3 et 7 uniquement :
Vérification d’index spécifiques (index du champ 1 de la table 4 et index des champs 2 et 3 de la table 5) :
```4d
- ARRAY LONGINT($tnumTables;0) //non utilisé mais obligatoire
- ARRAY LONGINT($tindex;2;0) //2 lignes (colonnes ajoutées ensuite)
- $tindex{1}{0}:=4 // numéro de table dans l’élément 0
- APPEND TO ARRAY($tindex{1};1) // numéro du 1er champ à vérifier
- $tindex{2}{0}:=5 // numéro de table dans l’élément 0
- APPEND TO ARRAY($tindex{2};2) // numéro du 1er champ à vérifier
- APPEND TO ARRAY($tindex{2};3) // numéro du 2e champ à vérifier
- VERIFY DATA FILE($NomStruct;$NomData;Verify indexes;0;"FollowScan";$tnumTables;$tindex)
+ ARRAY LONGINT($tnumTables;0) //non utilisé mais obligatoire
+ ARRAY LONGINT($tindex;2;0) //2 lignes (colonnes ajoutées ensuite)
+ $tindex{1}{0}:=4 // numéro de table dans l’élément 0
+ APPEND TO ARRAY($tindex{1};1) // numéro du 1er champ à vérifier
+ $tindex{2}{0}:=5 // numéro de table dans l’élément 0
+ APPEND TO ARRAY($tindex{2};2) // numéro du 1er champ à vérifier
+ APPEND TO ARRAY($tindex{2};3) // numéro du 2e champ à vérifier
+ VERIFY DATA FILE($NomStruct;$NomData;Verify indexes;0;"FollowScan";$tnumTables;$tindex)
```
## Exemple 6
@@ -159,8 +157,8 @@ Vérification d’index spécifiques (index du champ 1 de la table 4 et index de
Vérification du fichier de données, création et affichage du fichier d'historique :
```4d
- VERIFY DATA FILE(Structure file;Data file;Tout vérifier;0;"")
- SHOW ON DISK(File(Fichier log vérification).platformPath)
+ VERIFY DATA FILE(Structure file;Data file;Tout vérifier;0;"")
+ SHOW ON DISK(File(Fichier log vérification).platformPath)
```
## Variables et ensembles système
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/commands/license-info.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/commands/license-info.md
index f85ef8794fd123..5202784c21cfaa 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/commands/license-info.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/commands/license-info.md
@@ -22,7 +22,7 @@ Si la commande est exécutée sur une application 4D qui n'utilise pas de licenc
:::note
-This command reloads the license files from the disk and updates the associated rights if they have been modified.
+Cette commande recharge les fichiers de licence à partir du disque et met à jour les droits associés s'ils ont été modifiés.
:::
The returned object contains the following properties:
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20/API/CollectionClass.md b/i18n/fr/docusaurus-plugin-content-docs/version-20/API/CollectionClass.md
index 2981dadefa5b67..0977fd38b0cc0c 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-20/API/CollectionClass.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-20/API/CollectionClass.md
@@ -4,7 +4,7 @@ title: Collection
---
-La classe Collection gère les variables de type [Collection](Concepts/dt_collection.md).
+The Collection class manages [Collection](Concepts/dt_collection.md) type expressions.
Une collection est initialisée avec :
@@ -453,14 +453,14 @@ $c.combine($fruits;3) //[1,2,3,"Orange","Banana","Apple","Grape",4,5,6]
-**.concat**( *value* : any { *;...valueN* } ) : Collection
+**.concat**( *value* : any { ; *...valueN* } ) : Collection
-| Paramètres | Type | | Description |
-| ---------- | -------------------------------------------------------------- |:--:| -------------------------------------------------------------------------------------------------------------------------------- |
-| value | Number, Text, Object, Collection, Date, Time, Boolean, Picture | -> | Valeur(s) à concaténer. Si *value* est une collection, tous les éléments de la collection sont ajoutés à la collection d'origine |
-| Résultat | Collection | <- | Nouvelle collection contenant les valeurs d'origine et les valeurs ajoutées|
+| Paramètres | Type | | Description |
+| ---------- | ---------- |:--:| -------------------------------------------------------------------------------------------------------------------------------- |
+| value | any | -> | Valeur(s) à concaténer. Si *value* est une collection, tous les éléments de la collection sont ajoutés à la collection d'origine |
+| Résultat | Collection | <- | Nouvelle collection contenant les valeurs d'origine et les valeurs ajoutées|
|
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20/Concepts/dt_number.md b/i18n/fr/docusaurus-plugin-content-docs/version-20/Concepts/dt_number.md
index 8dfdbe211af6b4..f2b473e17d67e4 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-20/Concepts/dt_number.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-20/Concepts/dt_number.md
@@ -73,9 +73,9 @@ L'opérateur modulo % retourne des valeurs significatives avec des nombres appar
:::
-### Division entière
+### Integer division
-L'opérateur division entière \ retourne des valeurs significatives avec des nombres entiers uniquement.
+The integer division operator divides one number by another and returns the whole number part of the result, discarding any remainder. `a\b` is equivalent to `Int(a/b)`. This operator returns significant values with integer numbers only.
### Comparaison des réels
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20/Concepts/quick-tour.md b/i18n/fr/docusaurus-plugin-content-docs/version-20/Concepts/quick-tour.md
index 2ec5ca24eac22c..cdf67501192640 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-20/Concepts/quick-tour.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-20/Concepts/quick-tour.md
@@ -317,7 +317,7 @@ Vous vous référez à une expression via le type de données qu’elle retourne
| Col[5] | Élément de collection | Un élément de collection est une expression qui peut être de tout type |
| $entitySel[0] | Entity | Un élément d'une sélection d'entité ORDA est une expression de type entité. Ce type d'expression n'est **pas affectable** |
-### Expressions assignables et non-assignables
+### Expressions assignables et non-assignables {#assignable-vs-non-assignable-expressions}
Une expression peut simplement être une constante littérale, telle que le chiffre 4 ou la chaîne "Hello", ou une variable telle que `$myButton`. Elle peut également utiliser des opérateurs. Par exemple, 4 + 2 est une expression qui utilise l'opérateur d'addition pour additionner deux nombres et renvoyer le résultat 6. Dans tous les cas, ces expressions sont **non-assignables**, ce qui signifie que vous ne pouvez pas leur affecter de valeur. Dans 4D, les expressions peuvent être **assignables**. Une expression est assignable quand elle peut être utilisée à gauche de l'opérateur d'assignation. Par exemple :
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20/Concepts/variables.md b/i18n/fr/docusaurus-plugin-content-docs/version-20/Concepts/variables.md
index 71d9b0f917b259..92a7754bc3e737 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-20/Concepts/variables.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-20/Concepts/variables.md
@@ -241,7 +241,7 @@ Les variables système sont utilisées par les [commandes 4D](commands.md). Repo
| ------------------------------------------------------ | ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `OK` | Integer | Prend généralement la valeur 1 après qu'une commande a affiché une boîte de dialogue et l'utilisateur a cliqué sur le bouton **OK** , et 0 s'il a cliqué sur **Annuler**. Certaines commandes modifient également la valeur de la variable système `OK` lorsqu'une opération est exécutée avec succès. |
| `Document` | Text | Contient le "long nom" (chemin complet +nom) du dernier fichier ouvert ou créé à l'aide de commandes telles que [Open document](https://doc.4d.com/4dv20/help/command/en/page264.html) ou [SELECT LOG FILE](https://doc.4d.com/4dv20/help/command/en/page345.html). |
-| `FldDelimit`, `RecDelimit` | Text | Contient les codes de caractères qui seront utilisés respectivement comme séparateur de champ (par défaut **Tab** (9)) et séparateur d'enregistrement (par défaut **retour chariot** (13)) lors de l'importation ou de l'exportation de texte. Pour utiliser un séparateur différent, attribuez une nouvelle valeur à la variable système. |
+| `FldDelimit`, `RecDelimit` | Integer | Contient les codes de caractères qui seront utilisés respectivement comme séparateur de champ (par défaut **Tab** (9)) et séparateur d'enregistrement (par défaut **retour chariot** (13)) lors de l'importation ou de l'exportation de texte. Pour utiliser un séparateur différent, attribuez une nouvelle valeur à la variable système. |
| `Error`, `Error method`, `Error line`, `Error formula` | Text, Longint | Utilisées dans une méthode de gestion d'erreurs installée par la commande [`ON ERR CALL`](https://doc.4d.com/4dv20/help/command/en/page155.html). Voir [Gestion des erreurs dans la méthode](../Concepts/error-handling.md#handling-errors-within-the-method). |
| `MouseDown` | Integer | Utilisée dans une méthode installée par la commande [`ON EVENT CALL`](https://doc.4d.com/4dv20/help/command/en/page190.html). Prend la valeur 1 si le bouton de la souris a été enfoncé, sinon prend la valeur 0. |
| `MouseX`, `MouseY` | Integer | Utilisée dans une méthode installée par la commande [`ON EVENT CALL`](https://doc.4d.com/4dv20/help/command/en/page190.html). Dans un événement `MouseDown=1`, `MouseX` et `MouseY` sont respectivement définis sur les coordonnées verticales et horizontales du clic. Les deux valeurs sont exprimées en pixels et avec le système de coordonnées locales de la fenêtre. Dans le cas d'un champ ou d'une variable image, `MouseX` et `MouseY` retournent les coordonnées locales du clic de souris dans les événements formulaire [`On Clicked`](.. Events/onClicked.md), [`On Double Clicked`](../Events/onDoubleClicked.md) et [`On Mouse Up`](../Events/onMouseUp.md). Les coordonnées locales du curseur de la souris sont également retournées dans les événements [`On Mouse Enter`](../Events/onMouseEnter.md) et [`On Mouse Move`](../Events/onMouseMove.md) . Pour plus d'informations, voir la section [Coordonnées de la souris dans une image](../FormEditor/pictures.md#mouse-coordinates-in-a-picture). |
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/API/CollectionClass.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/API/CollectionClass.md
index 4988f47bd80d77..5bc241cd9071ec 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-21/API/CollectionClass.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/API/CollectionClass.md
@@ -3,7 +3,7 @@ id: CollectionClass
title: Collection
---
-La classe Collection gère les variables de type [Collection](Concepts/dt_collection.md).
+La classe Collection gère les expressions de type [Collection](Concepts/dt_collection.md).
Une collection est initialisée avec les commandes [`New collection`](../commands/new-collection.md) ou [`New shared collection`](../commands/new-shared-collection.md).
@@ -271,14 +271,14 @@ $c.combine($fruits;3) //[1,2,3,"Orange","Banana","Apple","Grape",4,5,6]
-**.concat**( *value* : any { *;...valueN* } ) : Collection
+**.concat**( *value* : any { ; *...valueN* } ) : Collection
-| Paramètres | Type | | Description |
-| ---------- | -------------------------------------------------------------- | :-------------------------: | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| value | Number, Text, Object, Collection, Date, Time, Boolean, Picture | -> | Valeur(s) à concaténer. Si *value* est une collection, tous ses éléments sont ajoutés comme de nouveaux éléments à la fin de la collection d'origine. |
-| Résultat | Collection | <- | Nouvelle collection contenant les valeurs d'origine et les valeurs ajoutées |
+| Paramètres | Type | | Description |
+| ---------- | ---------- | :-------------------------: | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| value | any | -> | Valeur(s) à concaténer. Si *value* est une collection, tous ses éléments sont ajoutés comme de nouveaux éléments à la fin de la collection d'origine. |
+| Résultat | Collection | <- | Nouvelle collection contenant les valeurs d'origine et les valeurs ajoutées |
@@ -3218,14 +3218,12 @@ La fonction `.sort()` trie les éléments
Si `.sort()` est appelé sans paramètres, seules les valeurs scalaires (nombres, textes, dates, booléens) sont triées. Les éléments sont triés par défaut par ordre croissant, en fonction de leur type.
Vous pouvez également passer une des constantes suivantes dans le paramètre *ascOrDesc* :
- ```
- |Constante| Type|Valeur|Comment|
- |---|---|---|
- |ck ascending|Integer|0|Les éléments sont classés par ordre croissant (par défaut)|
- |ck descending|Integer|1|Les éléments sont classés par ordre décroissant|
-
- Cette syntaxe ordonne uniquement les valeurs scalaires dans la collection (les autres types d'éléments tels que les objets ou les collections sont renvoyés non ordonnés).
- ```
+| Constante | Type | Valeur | Commentaire |
+| ------------- | ------- | ------ | ----------------------------------------------------------------------- |
+| ck ascending | Integer | 0 | Les éléments sont triés par ordre croissant (défaut) |
+| ck descending | Integer | 1 | Les éléments sont triés par ordre décroissant |
+
+Cette syntaxe trie uniquement les valeurs scalaires de la collection (les autres types d'éléments comme les objets ou les collections sont retournés non triés).
Si la collection contient des éléments de différents types, ils sont d'abord groupés par type et triés par la suite. Les types sont renvoyés dans l'ordre suivant :
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/API/WebFormClass.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/API/WebFormClass.md
index d16c4e85d76af2..404e64bc1bcbb8 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-21/API/WebFormClass.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/API/WebFormClass.md
@@ -3,7 +3,7 @@ id: WebFormClass
title: WebForm
---
-La classe `WebForm` contient des fonctions et des propriétés permettant de gérer vos composants de webforms Qodly. Cette classe est décrite en détail dans la [documentation de Qodly](https://developer.qodly.com/docs/language/WebFormClass).
+La classe `WebForm` contient des fonctions et des propriétés permettant de gérer vos composants de pages Qodly. Les objets `4D.WebForm` sont instanciés avec la commande [`webForm`](../commands/web-form.md).
Historique
@@ -18,14 +18,12 @@ La classe `WebForm` contient des fonctions et des propriétés permettant de gé
| |
| ------------------------------------------------------------------------------------------------------------------------------- |
-| [](#componentname)
|
+| [](#componentname)
|
| [](#disablestate)
|
| [](#enablestate)
|
| [](#seterror)
|
| [](#setmessage)
|
| [](#setwarning)
|
-| [](#web-form)
|
-| [](#web-event)
|
### *.componentName*
@@ -33,9 +31,28 @@ La classe `WebForm` contient des fonctions et des propriétés permettant de gé
#### Description
-Les composants des webforms sont des objets disponibles directement en tant que propriétés de ces webforms.
+Les composants des pages web sont des objets qui sont disponibles directement en tant que propriétés de ces pages web.
-Pour plus d'informations, veuillez vous référer à la description de [`.componentName` dans la documentation de Qodly](https://developer.qodly.com/docs/language/WebFormClass#componentname).
+Les objets retournés sont de la classe [`4D.WebFormItem`](WebFormItemClass.md). Ces objets possèdent des fonctions que vous pouvez utiliser pour gérer vos composants de manière dynamique.
+
+#### Exemple
+
+```4d
+shared singleton Class constructor()
+
+ var myForm : 4D.WebForm
+ var component : 4D.WebFormItem
+
+ myForm:=webForm //renvoie la page web en tant qu'objet, chaque propriété est un composant
+ component:=myForm.myImage //renvoie le composant myImage de la page web
+
+```
+
+:::info
+
+Bien que `myForm` n'affiche pas les propriétés typiques de l'objet lorsqu'il est examiné dans le débogueur, il se comporte comme s'il s'agissait de l'objet `webForm` réel. Vous pouvez interagir avec les propriétés et les fonctions de l'objet sous-jacent `webForm` à travers `myForm`. Par exemple, vous pouvez manipuler dynamiquement des composants de page ou transmettre des messages à des pages web en utilisant des fonctions spécialisées comme `myForm.setMessage()`.
+
+:::
### .disableState()
@@ -43,24 +60,24 @@ Pour plus d'informations, veuillez vous référer à la description de [`.compon
-| Paramètres | Type | | Description |
-| ---------- | ------ | :-: | ------------------------------------------------- |
-| state | string | -> | Nom de l'état à désactiver dans le formulaire web |
+| Paramètres | Type | | Description |
+| ---------- | ------ | :-: | ------------------------------------------- |
+| state | string | -> | Nom de l'état à désactiver dans la page web |
#### Description
-La fonction `.disableState()` désactive le rendu de l'*état* dans le formulaire web courant.
+La fonction `.disableState()` désactive le rendu de l'état *state* dans la page web courante.
Cette fonction ne fait rien si :
-- l'*état* n'est actuellement pas activé dans le formulaire web,
-- l'*état* n'existe pas pour le formulaire web.
+- le *state* n'est actuellement pas activé dans la page web,
+- le *state* n'existe pas pour la page web.
Si vous [activez](#enablestate) ou désactivez plusieurs états dans la même fonction utilisateur, toutes les modifications sont envoyées en même temps au client une fois que la fonction se termine.
-Pour plus d'informations sur les états des pages Qodly, veuillez consulter [developer.qodly.com](https://developer.qodly.com/docs/studio/pageLoaders/states).
+Pour plus d'informations sur les états des pages web, veuillez vous référer à la [section States dans la documentation de Qodly](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/states/stateOverview).
### .enableState()
@@ -68,24 +85,24 @@ Pour plus d'informations sur les états des pages Qodly, veuillez consulter [dev
-| Paramètres | Type | | Description |
-| ---------- | ------ | :-: | --------------------------------------------- |
-| state | string | -> | Nom de l'état à activer sur le formulaire web |
+| Paramètres | Type | | Description |
+| ---------- | ------ | :-: | ----------------------------------------- |
+| state | string | -> | Nom de l'état à activer sur les pages web |
#### Description
-La fonction `.enableState()` active le rendu de l'*état* dans le formulaire web courant.
+La fonction `.enableState()` active le rendu de l'état *state* dans la page web courante.
Cette fonction ne fait rien si :
-- l'*état* a déjà été activé sur le formulaire web,
-- l'*état* n'existe pas pour le formulaire web.
+- le *state* a déjà été activé sur la page web,
+- le *state* n'existe pas pour la page web.
Si vous activez ou [désactivez](#disablestate) plusieurs états dans la même fonction utilisateur, toutes les modifications sont envoyées en même temps au client une fois que la fonction se termine.
-Pour plus d'informations sur les états des pages Qodly, veuillez consulter [developer.qodly.com](https://developer.qodly.com/docs/studio/pageLoaders/states).
+Pour plus d'informations sur les états des pages web, veuillez vous référer à la [section States dans la documentation de Qodly](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/states/stateOverview).
#### Exemple
@@ -104,17 +121,34 @@ Function authenticationError()
-| Paramètres | Type | | Description |
-| ---------- | ------ | :-: | ------------------------------------------- |
-| msg | string | -> | Message d'erreur à afficher dans le webform |
+| Paramètres | Type | | Description |
+| ---------- | ------ | :-: | -------------------------------------------- |
+| msg | string | -> | Message d'erreur à afficher dans la page web |
#### Description
-La fonction `.setError()` envoie *msg* en tant que message d'erreur vers le formulaire web.
+La fonction `.setError()` envoie *msg* comme message d'erreur à la page web.
+
+La fonction renvoie une réponse avec un statut `200 OK` et un objet `__WEBFORM` dans le corps avec une propriété `__NOTIFICATION.message` fixée à *msg* et un `__NOTIFICATION.type` fixé à "error".
+
+#### Exemple
-Pour plus d'informations, veuillez vous référer à la [description de la fonction `.setError()` dans la documentation de Qodly](https://developer.qodly.com/docs/language/WebFormClass#seterror).
+```4d
+shared singleton Class constructor()
+exposed function myError()
+
+var myForm : 4D.WebForm
+myForm:=web Form
+
+myForm.setError("My error message")
+
+```
+
+Si la fonctionnalité [**Provide feedback**](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/events/bindingActionToEvents#providing-feedback) est activée pour l'événement, le message *msg* s'affiche en *toast* rouge au bas de la page web et disparaît automatiquement après 5 secondes :
+
+
### .setMessage()
@@ -122,68 +156,72 @@ Pour plus d'informations, veuillez vous référer à la [description de la fonct
-| Paramètres | Type | | Description |
-| ---------- | ------ | :-: | ------------------------------------------------ |
-| msg | string | -> | Message d'information à afficher dans le webform |
+| Paramètres | Type | | Description |
+| ---------- | ------ | :-: | ------------------------------------------------- |
+| msg | string | -> | Message d'information à afficher dans la page web |
#### Description
-La fonction `.setMessage()` envoie *msg* en tant que message d'information au formulaire web.
-
-Pour plus d'informations, veuillez vous référer à la [description de la méthode `.setMessage()` dans la documentation de Qodly](https://developer.qodly.com/docs/language/WebFormClass#setmessage).
+La fonction `.setMessage()` envoie *msg* comme message d'information à la page web.
-### .setWarning()
+La fonction renvoie une réponse avec un statut `200 OK` et un objet `__WEBFORM` dans le corps avec une propriété `__NOTIFICATION.message` fixée à *msg* et un `__NOTIFICATION.type` fixé à "message".
-**.setWarning**( *msg* : string)
+#### Exemple
-
+```4d
+shared singleton Class constructor()
+exposed function myMessage()
-| Paramètres | Type | | Description |
-| ---------- | ------ | :-: | -------------------------------------------------- |
-| msg | string | -> | Message d'avertissement à afficher dans le webform |
+var myForm : 4D.WebForm
+myForm:=web Form
-
+myForm.setMessage("My information message")
-#### Description
+```
-La fonction `.setWarning()` envoie *msg* en tant que message d'avertissement au formulaire web.
+Si la fonctionnalité [**Provide feedback**](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/events/bindingActionToEvents#providing-feedback) est activée pour l'événement, le message *msg* s'affiche en *toast* vert au bas de la page web et disparaît automatiquement après 5 secondes :
-Pour plus d'informations, veuillez vous référer à la [description de la méthode `.setWarning()` dans la documentation de Qodly](https://developer.qodly.com/docs/language/WebFormClass#setwarning).
+
-## Web Form
+### .setWarning()
-**Web Form** : 4D.WebForm
+**.setWarning**( *msg* : string)
-
+
-| Paramètres | Type | | Description |
-| ---------- | -------------------------- | :-------------------------: | ---------------------------- |
-| Résultat | 4D.WebForm | <- | Nouvel objet proxy `WebForm` |
+| Paramètres | Type | | Description |
+| ---------- | ------ | :-: | --------------------------------------------------- |
+| msg | string | -> | Message d'avertissement à afficher dans la page web |
#### Description
-La commande `Web Form` renvoie un objet proxy `4D.WebForm` qui vous permet d'interagir avec le formulaire web.
+La fonction `.setWarning()` envoie *msg* comme message d'avertissement à la page web.
-Pour plus d'informations, veuillez vous référer à la [description de la commande `webForm` dans la documentation de Qodly](https://developer.qodly.com/docs/language/WebFormClass#webform).
+La fonction renvoie une réponse avec un statut `200 OK` et un objet `__WEBFORM` dans le corps avec une propriété `__NOTIFICATION.message` fixée à *msg* et un `__NOTIFICATION.type` fixé à "warning".
-## Web Event
+#### Exemple
-**Web Event** : Object
+```4d
+shared singleton Class constructor()
+exposed function myWarning()
-
+var myForm : 4D.WebForm
+myForm:=web Form
-| Paramètres | Type | | Description |
-| ---------- | ------ | :-------------------------: | ----------- |
-| Résultat | object | <- | object |
+myForm.setWarning("My warning message")
-
+```
-#### Description
+Si la fonctionnalité [**Provide feedback**](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/events/bindingActionToEvents#providing-feedback) est activée pour l'événement, le message *msg* s'affiche en *toast* jaune au bas de la page web et disparaît automatiquement après 5 secondes :
+
+
-La commande `Web Event` renvoie un objet contenant des informations sur un événement déclenché lié à un composant de formulaire web.
+## Voir également
-Pour plus d'informations, veuillez vous référer à la [description de la commande `webEvent` dans la documentation de Qodly](https://developer.qodly.com/docs/language/WebFormClass#webevent).
+[Web Form](../commands/web-form.md)
+[Web Event](../commands/web-event.md)
+[WebFormItem class](../API/WebFormItemClass.md)
\ No newline at end of file
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/API/WebFormItemClass.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/API/WebFormItemClass.md
index f50c3db0c62b08..a35d30e6be8215 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-21/API/WebFormItemClass.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/API/WebFormItemClass.md
@@ -3,9 +3,13 @@ id: WebFormItemClass
title: WebFormItem
---
-Les objets `4D.WebFormItem` sont des propriétés de l'objet [`4D.WebForm`](WebFormItemClass.md) renvoyé par la commande [`Web Form`](WebFormClass.md#web-form).
+La classe `4D.WebFormItem` vous permet de gérer le comportement de vos composants dans les pages web Qodly.
-La classe `WebFormItem` est décrite en détail dans la [documentation de Qodly](https://developer.qodly.com/docs/language/WebFormItemClass).
+Les objets `4D.WebFormItem` sont des propriétés de l'objet [`4D.WebForm`](WebFormClass.md) renvoyé par la commande [`Web Form`](../commands/web-form.md).
+
+Lorsque vous appelez la commande [`Web Form`](../commands/web-form.md), l'objet proxy `4D.WebForm` retourné contient autant de `4D.WebFormItems` qu'il y a de composants avec [**références serveur**](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/pageLoaderOverview#server-side) dans votre page Qodly.
+
+Par exemple, `WebFormObject.myImage` fait référence au composant image avec `myImage` comme référence serveur.
Historique
@@ -24,29 +28,27 @@ La classe `WebFormItem` est décrite en détail dans la [documentation de Qodly]
| [](#removecssclass)
|
| [](#show)
|
-### .hide()
+### .addCSSClass()
-**.hide**()
+**.addCSSClass**(*className* : string)
-
+
-| Paramètres | Type | | Description |
-| ---------- | ---- | :-: | --------------------------- |
-| | | | Ne requiert aucun paramètre |
+| Paramètres | Type | | Description |
+| ---------- | ------ | :-: | ------------------------------------------- |
+| className | string | -> | Nom de la classe CSS à ajouter au composant |
#### Description
-La fonction `.hide()` masque le composant.
-
-Pour plus d'informations, veuillez vous référer à la [description de `.hide()` dans la documentation de Qodly](https://developer.qodly.com/docs/language/WebFormItemClass#hide).
+La fonction `.addCSSClass` ajoute la classe *className* au composant.
-### .show()
+### .hide()
-**.show**()
+**.hide**()
-
+
| Paramètres | Type | | Description |
| ---------- | ---- | :-: | --------------------------- |
@@ -56,27 +58,27 @@ Pour plus d'informations, veuillez vous référer à la [description de `.hide()
#### Description
-La fonction `.show()` rend le composant visible.
-
-Pour plus d'informations, veuillez vous référer à la [description de `.show()` dans la documentation de Qodly](https://developer.qodly.com/docs/language/WebFormItemClass#show).
-
-### .addCSSClass()
-
-**.addCSSClass**(*className* : string)
+La fonction `.hide()` masque le composant.
-
+#### Exemple
-| Paramètres | Type | | Description |
-| ---------- | ------ | :-: | ------------------------------------------- |
-| className | string | -> | Nom de la classe CSS à ajouter au composant |
+Pour appeler une fonction qui masque une image lorsque l'utilisateur clique sur un bouton :
-
+1. Créez une fonction [exposed](../ORDA/ordaClasses.md#exposed-vs-non-exposed-functions) à l'intérieur d'une classe singleton partagée nommée `isHidden` qui contient le code suivant :
-#### Description
+```4d
-La fonction `.addCSSClass` ajoute la classe *className* au composant.
+shared singleton Class constructor()
+exposed Function isHidden()
+ var myComponent : 4D.WebFormItem
+
+ myComponent:=Web Form.myImage
+ myComponent.hide() // Cache le composant qui a "myImage" comme référence serveur
+```
-Pour plus d'informations, veuillez vous référer à la [description de `.addCSSClass` dans la documentation de Qodly](https://developer.qodly.com/docs/language/WebFormItemClass#addcssclass).
+2. Dans Qodly Studio : Sélectionnez le composant image dans la page et entrez une référence côté serveur dans le panneau Properties > Server Side, par exemple "myImage".
+3. Sélectionnez le composant Button et ajoutez-lui un événement `onclick`.
+4. Attachez la fonction `isHidden` à l'événement.
### .removeCSSClass()
@@ -94,7 +96,27 @@ Pour plus d'informations, veuillez vous référer à la [description de `.addCSS
La fonction `.removeCSSClass()` supprime la classe *className* du composant.
-Pour plus d'informations, veuillez vous référer à la [description de `.removeCSSClass()` dans la documentation de Qodly](https://developer.qodly.com/docs/language/WebFormItemClass#removecssclass).
+### .show()
+
+**.show**()
+
+
+
+| Paramètres | Type | | Description |
+| ---------- | ---- | :-: | --------------------------- |
+| | | | Ne requiert aucun paramètre |
+
+
+
+#### Description
+
+La fonction `.show()` rend le composant visible. Si le composant était déjà visible, la fonction ne fait rien.
+
+## Voir également
+
+[Web Form](../commands/web-form.md)
+[Web Event](../commands/web-event.md)
+[WebForm class](WebFormClass.md)
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/Concepts/classes.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/Concepts/classes.md
index 7c9c753141b23c..7b302992762342 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-21/Concepts/classes.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/Concepts/classes.md
@@ -741,7 +741,7 @@ Les singletons sont utiles pour définir des valeurs qui doivent être disponibl
- un **singleton process** a une instance unique pour le process dans lequel il est instancié,
- un **singleton partagé** a une instance unique pour tous les process sur la machine.
-- une **singleton session** est un singleton partagé, mais avec une instance unique pour tous les process de la [session](../API/SessionClass.md). Les singletons de session sont partagés au sein d'une session entière mais varient d'une session à l'autre. Dans le contexte d'un client-serveur ou d'une application web, les singletons de session permettent de créer et d'utiliser une instance différente pour chaque session, et donc pour chaque utilisateur. Session singletons are particularly appropriate with [Qodly applications](https://developer.4d.com/qodly/).
+- une **singleton session** est un singleton partagé, mais avec une instance unique pour tous les process de la [session](../API/SessionClass.md). Les singletons de session sont partagés au sein d'une session entière mais varient d'une session à l'autre. Dans le contexte d'un client-serveur ou d'une application web, les singletons de session permettent de créer et d'utiliser une instance différente pour chaque session, et donc pour chaque utilisateur. Les singletons de session sont particulièrement appropriés pour les [applications Qodly](https://developer.4d.com/qodly/).
:::info
@@ -782,9 +782,9 @@ La propriété [`.isSingleton`](../API/ClassClass.md#issingleton) des objets de
La propriété [`.isSessionSingleton`](../API/ClassClass.md#issessionsingleton) des objets de classe permet de savoir si la classe est un singleton de session.
-### Exposed singleton functions
+### Fonctions singleton exposées
-Shared and session singleton functions support the [`exposed` keyword](../ORDA/ordaClasses.md#exposed-vs-non-exposed-functions). An exposed singleton function can be directly called by REST requests. This feature is useful to design [Qodly pages calling 4D functions](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/events/bindingActionToEvents#class-functions).
+Les fonctions singleton partagées et de session prennent en charge le mot-clé [`exposed`](../ORDA/ordaClasses.md#exposed-vs-non-exposed-functions). Une fonction singleton exposée peut être directement appelée par des requêtes REST. Cette fonction est utile pour la conception de [pages Qodly appelant des fonctions 4D](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/events/bindingActionToEvents#class-functions).
### Exemples
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/Concepts/dt_number.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/Concepts/dt_number.md
index c1c4c8d456648a..e8de0b63b25b94 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-21/Concepts/dt_number.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/Concepts/dt_number.md
@@ -79,9 +79,9 @@ L'opérateur modulo % retourne des valeurs significatives avec des nombres appar
:::
-### Division entière
+### Integer division
-L'opérateur division entière \ retourne des valeurs significatives avec des nombres entiers uniquement.
+The integer division operator divides one number by another and returns the whole number part of the result, discarding any remainder. `a\b` is equivalent to `Int(a/b)`. This operator returns significant values with integer numbers only.
### Comparaison des réels
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/Concepts/quick-tour.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/Concepts/quick-tour.md
index b26831bdde0d2e..ef8af59770420b 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-21/Concepts/quick-tour.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/Concepts/quick-tour.md
@@ -310,7 +310,7 @@ Vous vous référez à une expression via le type de données qu’elle retourne
| Col[5] | Élément de collection | Un élément de collection est une expression qui peut être de tout type |
| $entitySel[0] | Entity | Un élément d'une sélection d'entité ORDA est une expression de type entité. Ce type d'expression n'est **pas affectable** |
-### Expressions assignables et non-assignables
+### Assignable vs non-assignable expressions {#assignable-vs-non-assignable-expressions}
Une expression peut simplement être une constante littérale, telle que le chiffre 4 ou la chaîne "Hello", ou une variable telle que `$myButton`. Elle peut également utiliser des opérateurs. Par exemple, 4 + 2 est une expression qui utilise l'opérateur d'addition pour additionner deux nombres et renvoyer le résultat 6. Dans tous les cas, ces expressions sont **non-assignables**, ce qui signifie que vous ne pouvez pas leur affecter de valeur.
Dans 4D, les expressions peuvent être **assignables**. Une expression est assignable quand elle peut être utilisée à gauche de l'opérateur d'assignation. Par exemple :
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/Concepts/variables.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/Concepts/variables.md
index a1b7c382575f99..a4914290a1e1f1 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-21/Concepts/variables.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/Concepts/variables.md
@@ -250,17 +250,18 @@ Le langage 4D gère plusieurs **variables système**, qui permettent de contrôl
Les variables système sont utilisées par les [commandes 4D](../commands/command-index.md). Reportez-vous au paragraphe "Variables et ensembles système" dans la description d'une commande pour savoir si elle affecte une variable système.
-| Nom de variable système | Type | Description |
-| ------------------------------------------------------ | ------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `OK` | Integer | Généralement fixée à 1 lorsqu'une commande a affiché une boîte de dialogue et que l'utilisateur a cliqué sur le bouton **OK**, et à 0 s'il a cliqué sur **Cancel**. Certaines commandes modifient également la valeur de la variable système `OK` lorsqu'une opération est exécutée avec succès. |
-| `Document` | Text | Contient le "nom long" (chemin complet + nom) du dernier fichier ouvert ou créé à l'aide de commandes telles que [Open document](../commands-legacy/open-document.md) ou [SELECT LOG FILE](../commands/select-log-file.md). |
-| `FldDelimit`, `RecDelimit` | Text | Contiennent les codes de caractères qui seront utilisés respectivement comme séparateur de champs (par défaut **Tab** (9)) et séparateur d'enregistrements (par défaut **retour chariot** (13)) lors de l'importation ou de l'exportation de texte. Pour utiliser un séparateur différent, attribuez une nouvelle valeur à la variable système. |
-| `Error`, `Error method`, `Error line`, `Error formula` | Text, Longint | Utilisées dans une méthode d'interception d'erreurs installée par la commande [`ON ERR CALL`](../commands-legacy/on-err-call.md). Voir [Gestion des erreurs dans la méthode](../Concepts/error-handling.md#handling-errors-within-the-method). |
-| `MouseDown` | Integer | Utilisée dans une méthode installée par la commande [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Prend la valeur 1 si le bouton de la souris a été enfoncé, sinon prend la valeur 0. |
-| `MouseX`, `MouseY` | Integer | Utilisée dans une méthode installée par la commande [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Dans un événement `MouseDown=1`, `MouseX` et `MouseY` reçoivent respectivement les coordonnées verticales et horizontales du clic. Les deux valeurs sont exprimées en pixels et avec le système de coordonnées locales de la fenêtre. Dans le cas d'un champ ou d'une variable image, `MouseX` et `MouseY` reçoivent les coordonnées locales d'un clic de souris dans les événements de formulaire [`On Clicked`](../Events/onClicked.md), [`On Double Clicked`](../Events/onDoubleClicked.md) et [`On Mouse Up`](../Events/onMouseUp.md). Les coordonnées locales du curseur de la souris sont également retournées dans les événements [`On Mouse Enter`](../Events/onMouseEnter.md) et [`On Mouse Move`](../Events/onMouseMove.md) . Pour plus d'informations, voir la section [Coordonnées de la souris dans une image](../FormEditor/pictures.md#mouse-coordinates-in-a-picture). |
-| `KeyCode` | Integer | Utilisée dans une méthode installée par la commande [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Définit le code de caractère de la touche qui vient d'être pressée. Si la touche est une touche de fonction, `KeyCode` prend la valeur d'un code spécial. |
-| `Modifiers` | Integer | Utilisée dans une méthode installée par la commande [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Contient les codes des modifiers du clavier (Ctrl/Commande, Alt/Option, Maj, Verr. |
-| `MouseProc` | Integer | Utilisée dans une méthode installée par la commande [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Contient le numéro du process dans lequel le dernier événement a eu lieu |
+| Nom de variable système | Type | Description |
+| ------------------------------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `OK` | Integer | Généralement fixée à 1 lorsqu'une commande a affiché une boîte de dialogue et que l'utilisateur a cliqué sur le bouton **OK**, et à 0 s'il a cliqué sur **Cancel**. Certaines commandes modifient également la valeur de la variable système `OK` lorsqu'une opération est exécutée avec succès. |
+| `Document` | Text | Contient le "nom long" (chemin complet + nom) du dernier fichier ouvert ou créé à l'aide de commandes telles que [Open document](../commands-legacy/open-document.md) ou [SELECT LOG FILE](../commands/select-log-file.md). |
+| `FldDelimit`, `RecDelimit` | Integer | Contiennent les codes de caractères qui seront utilisés respectivement comme séparateur de champs (par défaut **Tab** (9)) et séparateur d'enregistrements (par défaut **retour chariot** (13)) lors de l'importation ou de l'exportation de texte. Pour utiliser un séparateur différent, attribuez une nouvelle valeur à la variable système. |
+| `Error`, `Error line` | Integer | Utilisées dans une méthode d'interception d'erreurs installée par la commande [`ON ERR CALL`](../commands-legacy/on-err-call.md). Voir [Gestion des erreurs dans la méthode](../Concepts/error-handling.md#handling-errors-within-the-method). |
+| `Error method`, `Error formula` | Text | Utilisées dans une méthode d'interception d'erreurs installée par la commande [`ON ERR CALL`](../commands-legacy/on-err-call.md). Voir [Gestion des erreurs dans la méthode](../Concepts/error-handling.md#handling-errors-within-the-method). |
+| `MouseDown` | Integer | Utilisée dans une méthode installée par la commande [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Prend la valeur 1 si le bouton de la souris a été enfoncé, sinon prend la valeur 0. |
+| `MouseX`, `MouseY` | Integer | Utilisée dans une méthode installée par la commande [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Dans un événement `MouseDown=1`, `MouseX` et `MouseY` reçoivent respectivement les coordonnées verticales et horizontales du clic. Les deux valeurs sont exprimées en pixels et avec le système de coordonnées locales de la fenêtre. Dans le cas d'un champ ou d'une variable image, `MouseX` et `MouseY` reçoivent les coordonnées locales d'un clic de souris dans les événements de formulaire [`On Clicked`](../Events/onClicked.md), [`On Double Clicked`](../Events/onDoubleClicked.md) et [`On Mouse Up`](../Events/onMouseUp.md). Les coordonnées locales du curseur de la souris sont également retournées dans les événements [`On Mouse Enter`](../Events/onMouseEnter.md) et [`On Mouse Move`](../Events/onMouseMove.md) . Pour plus d'informations, voir la section [Coordonnées de la souris dans une image](../FormEditor/pictures.md#mouse-coordinates-in-a-picture). |
+| `KeyCode` | Integer | Utilisée dans une méthode installée par la commande [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Définit le code de caractère de la touche qui vient d'être pressée. Si la touche est une touche de fonction, `KeyCode` prend la valeur d'un code spécial. |
+| `Modifiers` | Integer | Utilisée dans une méthode installée par la commande [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Contient les codes des modifiers du clavier (Ctrl/Commande, Alt/Option, Maj, Verr. |
+| `MouseProc` | Integer | Utilisée dans une méthode installée par la commande [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Contient le numéro du process dans lequel le dernier événement a eu lieu |
:::note
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/FormEditor/forms.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/FormEditor/forms.md
index 7b7946358c6eac..0c5ab01f402f6c 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-21/FormEditor/forms.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/FormEditor/forms.md
@@ -112,9 +112,9 @@ La prise en charge de Fluent UI est actuellement en phase d'aperçu pour les dé
:::
-:::info macOS
+:::info Disponibilité
-Cette fonctionnalité ne peut être utilisée que sous Windows. Sous macOS, elle est ignorée.
+This feature can be used **in 4D projects on Windows**. It is not available on macOS or in binary 4D databases on Windows.
:::
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/FormObjects/webArea_overview.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/FormObjects/webArea_overview.md
index 1f47e1e9918d0c..3eec516ac20cfe 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-21/FormObjects/webArea_overview.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/FormObjects/webArea_overview.md
@@ -24,7 +24,7 @@ Deux variables spécifiques sont automatiquement associées à chaque zone web :
- [`URL`](properties_WebArea.md#url) --pour contrôler l'URL affichée par la zone web
- [`Progression`](properties_WebArea.md#progression) -- pour contrôler le pourcentage de chargement de la page affichée dans la zone web.
-> Depuis 4D 19 R5, la variable Progression n'est plus mise à jour dans les zones Web utilisant le [moteur de rendu système Windows](./webArea_overview.md#web-rendering-engine).
+> As of 4D 19 R5, the Progression variable is no longer updated in Web Areas using the [Windows system rendering engine](./webArea_overview.md#web-rendering-engine).
### Moteur de rendu Web
@@ -338,9 +338,11 @@ Le fichier 4DCEFParameters.json par défaut contient les commutateurs suivants :
}
```
-### Voir également
+:::info Article(s) de blog sur le sujet
-[Spécifiez vos propres paramètres pour initialiser la zone web intégrée (article de blog)](https://blog.4d.com/specify-your-own-parameters-to-initialize-the-embedded-web-area)
+[Custom Parameters for Initializing Embedded Web Area](https://blog.4d.com/custom-parameters-for-initializing-embedded-web-area/)
+
+:::
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/Notes/updates.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/Notes/updates.md
index e9ad2cdebdf87d..dfec26067fc6ec 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-21/Notes/updates.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/Notes/updates.md
@@ -28,6 +28,7 @@ Lisez [**Les nouveautés de 4D 21**](https://blog.4d.com/fe-whats-new-in-4d-v21/
- Nouvelles commandes "trim" pour supprimer les espaces de début et de fin d'une chaîne : [`Trim`](../commands/trim.md), [`Trim start`](../commands/trim-start.md), et [`Trim end`](../commands/trim-end.md).
- Les commandes [`Num`](../commands/num.md) et [`String`](../commands/string.md) ont été mises à jour pour prendre en charge des conversions dans différentes bases (radix).
- [**Liste des bugs corrigés**](https://bugs.4d.fr/fixedbugslist?version=21) : liste de tous les bugs qui ont été corrigés dans 4D 21.
+- [**4D Qodly Pro Release notes**](https://developer.4d.com/qodly/4DQodlyPro/release-notes) : les nouveautés de Qodly Studio.
#### Developer Preview
@@ -41,7 +42,7 @@ Le [rendu **Fluent UI** pour les formulaires 4D](../FormEditor/forms.md#fluent-u
:::
-- Services web (SOAP) : lorsque les [sessions évolutives](../WebServer/sessions.md#enabling-web-sessions) sont activées, les services web s'exécutent désormais dans des [**process préemptifs**](../Develop/preemptive.md) en mode compilé. Assurez-vous que votre code SOAP est thread-safe.
+- Services web (SOAP) : lorsque les [sessions évolutives](../WebServer/sessions.md#enabling-web-sessions) sont activées, les services web s'exécutent désormais dans des [**process préemptifs**](../Develop/preemptive.md) en mode compilé. Make sure that your SOAP code is thread-safe and that the session in which it runs has appropriate [privileges](../API/SessionClass.md#setprivileges).
- Serveur web : la prise en charge des URLs dépréciés `4DSYNC/` et `4DCGI/` est supprimée. Plus aucun traitement spécifique n'est effectué sur ces URLs.
- Les sessions utilisateurs Web sont désormais renvoyées par [`Process activity`](../commands/process-activity.md).
- La commande [`HIGHLIGHT TEXT`](../commands/highlight-text) est maintenant prise en charge dans le contexte des sous-formulaires.
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/ORDA/orda-events.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/ORDA/orda-events.md
index 427c5b2a049eff..bf3fab6666e51c 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-21/ORDA/orda-events.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/ORDA/orda-events.md
@@ -24,7 +24,7 @@ Vous ne pouvez pas déclencher directement l'exécution d'une fonction d'événe
:::info Note de compatibilité
-Les événements d'entité ORDA dans le magasin de données sont équivalents aux triggers dans la base de données 4D. Cependant, les actions déclenchées au niveau de la base de données 4D à l'aide des commandes du langage classique 4D ou des actions standard ne déclenchent pas les événements ORDA.
+Les événements d'entité ORDA dans le magasin de données sont équivalents aux triggers dans la base de données 4D. Cependant, les actions déclenchées au niveau de la base de données 4D à l'aide des commandes du langage classique 4D ou des actions standard ne déclenchent pas les événements ORDA. Note also that, unlike triggers, ORDA entity events do not lock the entire underlying table of a dataclass while saving or dropping entities. Several events can run in parallel as long as they involve distinct entities (i.e. records).
:::
@@ -420,7 +420,9 @@ If (This.userManualPath#"")
// The user manual document file is created on the disk
// This may fail if no more space is available
Try
- $fileCreated:=$userManualFile.create()
+ // The file content has been generated and stored in a map in Storage.docMap previously
+ $docInfo:=Storage.docMap.query("name = :1"; This.name).first()
+ $userManualFile.setContent($docInfo.content)
Catch
// No more room on disk for example
$result:={/
@@ -434,6 +436,12 @@ return $result
```
+:::note
+
+The content of the file is generated outside the `saving` event because it can be time consuming.
+
+:::
+
### `Function event afterSave`
#### Syntaxe
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/ORDA/ordaClasses.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/ORDA/ordaClasses.md
index 7418c2de73301d..61d3207ff17bd4 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-21/ORDA/ordaClasses.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/ORDA/ordaClasses.md
@@ -928,18 +928,18 @@ $arch.save() //courseName et name sont "Archaeology II"
## Fonctions exposées et non exposées
-For security reasons, all of your data model class functions, including [computed attributes](#computed-attributes-1) and [alias attributes](#alias-attributes-1), as well as [shared singleton functions](../Concepts/classes.md#shared-singleton) are **not exposed** (i.e., private) by default to **remote requests**.
+Pour des raisons de sécurité, toutes vos fonctions de classe du modèle de données, y compris les [attributs calculés](#computed-attributes-1), les [attributs alias](#alias-attributes-1) et les [fonctions singleton partagées](../Concepts/classes.md#shared-singleton) ne sont **pas exposées** par défaut aux **requêtes distantes** (elles sont donc privées).
-Remote requests are:
+Les requêtes distantes incluent :
- Les requêtes envoyées par des applications 4D distantes connectées via `Open datastore`
-- REST requests, including requests from [Qodly pages](https://developer.4d.com/qodly/)
+- Les requêtes REST, y compris les requêtes provenant de [pages Qodly](https://developer.4d.com/qodly/)
> Les requêtes client/serveur 4D standard ne sont pas impactées. Les fonctions de classe de modèle de données sont toujours disponibles dans cette architecture.
Une fonction qui n'est pas exposée n'est pas disponible sur les applications distantes et ne peut être appelée sur aucune instance d'objet à partir d'une requête REST. Si une application distante tente d'accéder à une fonction non exposée, l'erreur «-10729 - Méthode membre inconnue» est retournée.
-To allow a function or an attribute to be called by a remote request, you must explicitly declare it using the `exposed` keyword. La syntaxe formelle est la suivante :
+Pour permettre à une fonction de classe du modèle de données d'être appelée par une requête distante, vous devez la déclarer explicitement à l'aide du mot-clé `exposed`. La syntaxe formelle est la suivante :
```4d
// déclarer une fonction exposée
@@ -947,24 +947,24 @@ exposed Function
```
```4d
-// declare an exposed alias
+// déclarer un alias exposé
exposed Alias
```
```4d
-// declare an exposed computed attribute
+// déclarer un attribut calculé exposé
exposed Function get
```
```4d
-// declare a shared singleton function
+// déclarer une fonction singleton partagée exposée
shared singleton Class constructor()
exposed Function
```
:::note
-The `exposed` keyword can only be used with the objects decribed above. S'il est utilisé avec une fonction de [classe utilisateur standard](Concepts/classes.md), il est ignoré et une erreur est retournée par le compilateur.
+Le mot-clé `exposed` ne peut être utilisé qu'avec les objets décrits ci-dessus. S'il est utilisé avec une fonction de [classe utilisateur standard](Concepts/classes.md), il est ignoré et une erreur est retournée par le compilateur.
:::
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/REST/authUsers.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/REST/authUsers.md
index 662926c0cc5714..c36a93c732f654 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-21/REST/authUsers.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/REST/authUsers.md
@@ -18,7 +18,7 @@ Une session est ouverte après que l'utilisateur a été connecté avec succès
:::note Compatibilité
-L'ancien mode de connexion basé sur la méthode base `On REST Authentication` est **déprécié** à partir de 4D 20 R6. Dans les projets convertis, [un bouton dans la boîte de dialogue des Paramètres](../settings/web.md#activate-rest-authentication-through-dsauthentify-function) vous aide à mettre à niveau votre configuration. Il est maintenant recommandé d'[utiliser le **mode Force login**](../ORDA/privileges.md#fichier-rolesjson) (automatiquement activé dans les nouveaux projets) et de mettre en œuvre la fonction [`ds.authentify()`](#function-authentify). Dans Qodly Studio for 4D, le mode peut être défini en utilisant l'option [**Force login**](../WebServer/qodly-studio.md#force-login) dans l'onglet Privileges.
+L'ancien mode de connexion basé sur la méthode base `On REST Authentication` est **déprécié** à partir de 4D 20 R6. Dans les projets convertis, [un bouton dans la boîte de dialogue des Paramètres](../settings/web.md#activate-rest-authentication-through-dsauthentify-function) vous aide à mettre à niveau votre configuration. Il est maintenant recommandé d'[utiliser le **mode Force login**](../ORDA/privileges.md#fichier-rolesjson) (automatiquement activé dans les nouveaux projets) et de mettre en œuvre la fonction [`ds.authentify()`](#function-authentify). Dans Qodly Studio for 4D, le mode peut être défini en utilisant l'option [**Force login**](https://developer.4d.com/qodly/4DQodlyPro/force-login) dans l'onglet Privileges.
:::
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/WebServer/sessions.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/WebServer/sessions.md
index 20caa69023fa0f..7f76d591b5639f 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-21/WebServer/sessions.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/WebServer/sessions.md
@@ -25,7 +25,7 @@ Les sessions Web sont utilisées par :
- les [applications Web](gettingStarted.md) envoyant des requêtes http (y compris les [Web services SOAP](../commands/theme/Web_Services_Server.md) et les requêtes [/4DACTION](../WebServer/httpRequests.md#4daction)),
- les appels à l'[API REST](../REST/authUsers.md), qui sont effectués par les [datastores distants](../ORDA/remoteDatastores.md) et les [pages Qodly](qodly-studio.md).
-## Activation des sessions web
+## Enabling web sessions {#enabling-web-sessions}
La gestion de session peut être activée et désactivée sur votre serveur Web 4D. Il y a différentes façons d'activer la gestion de session :
@@ -201,7 +201,7 @@ Else
End if
```
-:::tips Articles de blog sur le sujet
+:::tip Articles de blog sur le sujet
[Sessions évolutives pour applications web avancées](https://blog.4d.com/scalable-sessions-for-advanced-web-applications/)
@@ -213,7 +213,7 @@ Le serveur web 4D vous permet de générer, de partager et d'utiliser des tokens
Dans 4D, les tokens de session OTP sont utiles pour appeler des URL externes et être rappelé dans un autre navigateur ou appareil (mobile/ordinateur). Généralement, une application tierce envoie un courriel de confirmation contenant un lien de rappel sur lequel l'utilisateur doit cliquer. Le lien de rappel inclut le token OTP, de sorte que la session qui a déclenché le rappel est chargée avec ses données et ses privilèges. Ce principe vous permet de partager la même session sur plusieurs appareils. Grâce à cette architecture, le [cookie de session] (#session-implementation) n'est pas exposé sur le réseau, ce qui élimine le risque d'une attaque de type "man-in-the-middle".
-:::tips Articles de blog sur le sujet
+:::tip Articles de blog sur le sujet
[Connectez vos applications Web à des systèmes tiers](https://blog.4d.com/connect-your-web-apps-to-third-party-systems/)
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/assets/en/API/webformClass-pic1.png b/i18n/fr/docusaurus-plugin-content-docs/version-21/assets/en/API/webformClass-pic1.png
new file mode 100644
index 00000000000000..5c3de142c5af11
Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-21/assets/en/API/webformClass-pic1.png differ
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/assets/en/API/webformClass-pic2.png b/i18n/fr/docusaurus-plugin-content-docs/version-21/assets/en/API/webformClass-pic2.png
new file mode 100644
index 00000000000000..7f1ec3a19a8764
Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-21/assets/en/API/webformClass-pic2.png differ
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/assets/en/API/webformClass-pic3.png b/i18n/fr/docusaurus-plugin-content-docs/version-21/assets/en/API/webformClass-pic3.png
new file mode 100644
index 00000000000000..9c128642916f95
Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-21/assets/en/API/webformClass-pic3.png differ
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/assets/en/commands/web-event1.png b/i18n/fr/docusaurus-plugin-content-docs/version-21/assets/en/commands/web-event1.png
new file mode 100644
index 00000000000000..f31f769f39a37d
Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-21/assets/en/commands/web-event1.png differ
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/assets/en/commands/web-event2.png b/i18n/fr/docusaurus-plugin-content-docs/version-21/assets/en/commands/web-event2.png
new file mode 100644
index 00000000000000..8e3e2e7c50ca69
Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-21/assets/en/commands/web-event2.png differ
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/assets/en/commands/web-event3.png b/i18n/fr/docusaurus-plugin-content-docs/version-21/assets/en/commands/web-event3.png
new file mode 100644
index 00000000000000..d7182a677d75a3
Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-21/assets/en/commands/web-event3.png differ
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/assets/en/commands/web-event4.png b/i18n/fr/docusaurus-plugin-content-docs/version-21/assets/en/commands/web-event4.png
new file mode 100644
index 00000000000000..3dee994804d176
Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-21/assets/en/commands/web-event4.png differ
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/commands-legacy/get-database-parameter.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/commands-legacy/get-database-parameter.md
index 408256a6f92ce3..e8375316d3a77b 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-21/commands-legacy/get-database-parameter.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/commands-legacy/get-database-parameter.md
@@ -22,26 +22,6 @@ displayed_sidebar: docs
Le paramètre *sélecteur* désigne le paramètre à lire. 4D vous propose les constantes prédéfinies suivantes, placées dans le thème *Paramètres de la base* :
-### 4D Server timeout (13)
-
-**Portée** : Application 4D si *valeur* positive
-
-**Conservé entre deux sessions** : Oui si *valeur* positive
-
-**Valeurs possibles** : 0 -> 32 767
-
-**Description** : Valeur du délai avant déconnexion (timeout) accordé par 4D Server aux postes clients.
-
-Par défaut, cette valeur est définie dans la page “Client-Serveur/Options réseau” des Propriétés de la base, sur le poste serveur.
-
-Le timeout serveur définit la période maximale de non-réponse du client "autorisée", par exemple s'il effectue une opération bloquante. A l'issue de cette période, 4D Server déconnecte le client. Le sélecteur 4D Server timeout vous permet de fixer un nouveau timeout, exprimé en minutes. Cette possibilité permet en particulier d’augmenter la valeur du timeout avant l’exécution sur le poste client d’une opération bloquante de longue durée, risquant d’entraîner une déconnexion ; par exemple, l’impression d’un grand nombre de pages.
-
-Vous disposez en outre de deux possibilités :
-
-effectuer une modification globale et permanente : la nouvelle valeur s’applique à tous les process et est stockée dans les préférences de l’application (équivaut à une modification de la valeur dans la boîte de dialogue des Préférences). Pour cela, passez une valeur **positive** dans le paramètre *valeur*.effectuer une modification restreinte et temporaire : la nouvelle valeur ne s’applique qu’au process appelant (les autres process conservant la valeur d’origine), et est abandonnée dès que le serveur reçoit un signe d’activité du poste client — par exemple, dès que l’opération est terminée. Cette possibilité est utile pour gérer les opérations longues initiées par des plug-ins. Pour cela, passez une valeur **négative** dans le paramètre *valeur*. Pour définir une connexion “Ouverte en permanence”, passez 0 dans *valeur*. Reportez-vous à l’exemple 1.
-
-
-
### 4D Remote mode timeout (14)
**Portée** (ancienne couche réseau uniquement) : Application 4D si *valeur* positive
@@ -54,85 +34,6 @@ Le sélecteur 4D Remote mode timeout n'est pris en compte que si vous utilisez l
-### Port ID (15)
-
-**Portée** : 4D local, 4D Server
-
-**Conservé entre deux sessions** : Non
-
-**Description** : Numéro du port TCP utilisé par le serveur Web 4D avec 4D en mode local et 4D Server. Par défaut, la valeur est 80\.
-
-Le numéro de port TCP est défini dans la page “Web/Configuration” de la boîte de dialogue des Propriétés de la base. Vous pouvez utiliser les constantes du thème *Numéros de port TCP* pour le paramètre *valeur*.
-
-Le sélecteur Port ID est utile dans le cadre de serveurs Web 4D compilés et fusionnés avec 4D Desktop (pas d’accès au mode Développement). Pour plus d’informations sur le numéro de port TCP, reportez-vous à la section *Paramétrages du serveur Web*.
-
-
-
-### Character set (17)
-
-**Portée** : 4D local, 4D Server
-
-**Conservé entre deux sessions** : Oui
-
-**Description** : *Constante obsolète (conservée par compatibilité uniquement).* Il est désormais conseillé d'utiliser les commandes [WEB SET OPTION](web-set-option.md) et [WEB GET OPTION](web-get-option.md) pour le paramétrage du serveur HTTP.
-
-
-
-### Max concurrent Web processes (18)
-
-**Portée** : 4D local, 4D Server
-
-**Conservé entre deux sessions** : Oui
-
-**Description** : *Constante obsolète (conservée par compatibilité uniquement).* Il est désormais conseillé d'utiliser les commandes [WEB SET OPTION](web-set-option.md) et [WEB GET OPTION](web-get-option.md) pour le paramétrage du serveur HTTP.
-
-
-
-### Client port ID (22)
-
-**Portée** : Tous postes 4D distants
-
- **Conservé** **entre deux sessions** : Oui
-
- **Valeurs possibles** : Voir sélecteur 15
-
-**Description** : Permet de spécifier ce paramètre pour les postes 4D distants utilisés en tant que serveurs Web. La valeur définie via ce sélecteur est appliquée à tous les postes distants utilisés comme serveurs Web. Si vous souhaitez définir cette valeur pour certains postes distants uniquement, utilisez la boîte de dialogue des Préférences de 4D en mode distant.
-
-
-
-### Client character set (24)
-
-**Portée** : Tous postes 4D distants
-
- **Conservé** **entre deux sessions** : Oui
-
- **Valeurs possibles** : Voir sélecteur 17
-
-**Description** : Permet de spécifier ce paramètre pour les postes 4D distants utilisés en tant que serveurs Web. La valeur définie via ce sélecteur est appliquée à tous les postes distants utilisés comme serveurs Web. Si vous souhaitez définir cette valeur pour certains postes distants uniquement, utilisez la boîte de dialogue des Préférences de 4D en mode distant.
-
-
-
-### Client max concurrent Web proc (25)
-
-**Portée** : Tous postes 4D distants
-
- **Conservé** **entre deux sessions** : Oui
-
- **Valeurs possibles** : Voir sélecteur 18
-
-**Description** : Permet de spécifier ce paramètre pour les postes 4D distants utilisés en tant que serveurs Web. La valeur définie via ce sélecteur est appliquée à tous les postes distants utilisés comme serveurs Web. Si vous souhaitez définir cette valeur pour certains postes distants uniquement, utilisez la boîte de dialogue des Préférences de 4D en mode distant.
-
-
-
-### Maximum Web requests size (27)
-
-**Portée** : 4D local, 4D Server
-
- **Conservé** **entre deux sessions** : Oui
-
- **Description** : *Constante obsolète (conservée par compatibilité uniquement).* Il est désormais conseillé d'utiliser les commandes [WEB SET OPTION](web-set-option.md) et [WEB GET OPTION](web-get-option.md) pour le paramétrage du serveur HTTP.
-
-
### 4D Server log recording (28)
@@ -150,153 +51,131 @@ Le sélecteur Port ID est utile dans le cadre de serveurs Web 4D compilés et fu
-### Client Web log recording (30)
-
-**Portée** :Tous postes 4D distants
-
- **Conservé** **entre deux sessions** : Oui
-
- **Valeurs possibles** : 0 = Ne pas enregistrer (défaut), 1 = Enregistrer au format CLF, 2 = Enregistrer au format DLF, 3 = Enregistrer au format ELF, 4 = Enregistrer au format WLF.
-
-**Description** : Démarrage ou arrêt de l’enregistrement des requêtes Web reçues par les serveurs Web de tous les postes clients. Par défaut, la valeur est 0 (pas d’enregistrement des requêtes).
-
-Le fonctionnement de ce sélecteur est identique à celui du sélecteur 29 ; il s’applique toutefois à tous les postes 4D clients utilisés en tant que serveurs Web. Le fichier “logweb.txt” est dans ce cas automatiquement placé dans le sous-dossier Logs du dossier base 4D client (dossier de cache). Si vous souhaitez définir des valeurs pour certains postes clients uniquement, utilisez la boîte de dialogue des Préférences de 4D en mode distant.
-
+### 4D Server timeout (13)
-### Table sequence number (31)
+**Portée** : Application 4D si *valeur* positive
-**Portée** :Application 4D
+**Conservé entre deux sessions** : Oui si *valeur* positive
- **Conservé** **entre deux sessions** : Oui
+**Valeurs possibles** : 0 -> 32 767
- **Valeurs possibles** : Toute valeur de type entier long.
+**Description** : Valeur du délai avant déconnexion (timeout) accordé par 4D Server aux postes clients.
-**Description** : Ce sélecteur permet de modifier ou de lire le numéro unique courant des enregistrements de la table passée en paramètre. “Numéro courant” signifie “dernier numéro utilisé” : si vous modifiez cette valeur à l’aide de [SET DATABASE PARAMETER](set-database-parameter.md), le prochain enregistrement sera créé avec comme numéro la valeur passée + 1\. Ce nouveau numéro est, lui, retourné par la commande [Sequence number](sequence-number.md) ainsi que dans tout champ de la table auquel la propriété "Incrémentation auto" a été affectée en Structure ou via le SQL.
+Par défaut, cette valeur est définie dans la page “Client-Serveur/Options réseau” des Propriétés de la base, sur le poste serveur.
-Par défaut, le numéro unique est défini par 4D et correspond à l’ordre de création des enregistrements.
+Le timeout serveur définit la période maximale de non-réponse du client "autorisée", par exemple s'il effectue une opération bloquante. A l'issue de cette période, 4D Server déconnecte le client. Le sélecteur 4D Server timeout vous permet de fixer un nouveau timeout, exprimé en minutes. Cette possibilité permet en particulier d’augmenter la valeur du timeout avant l’exécution sur le poste client d’une opération bloquante de longue durée, risquant d’entraîner une déconnexion ; par exemple, l’impression d’un grand nombre de pages.
-Pour des informations supplémentaires, reportez-vous à la documentation de la commande [Sequence number](sequence-number.md).
+Vous disposez en outre de deux possibilités :
+effectuer une modification globale et permanente : la nouvelle valeur s’applique à tous les process et est stockée dans les préférences de l’application (équivaut à une modification de la valeur dans la boîte de dialogue des Préférences). Pour cela, passez une valeur **positive** dans le paramètre *valeur*.effectuer une modification restreinte et temporaire : la nouvelle valeur ne s’applique qu’au process appelant (les autres process conservant la valeur d’origine), et est abandonnée dès que le serveur reçoit un signe d’activité du poste client — par exemple, dès que l’opération est terminée. Cette possibilité est utile pour gérer les opérations longues initiées par des plug-ins. Pour cela, passez une valeur **négative** dans le paramètre *valeur*. Pour définir une connexion “Ouverte en permanence”, passez 0 dans *valeur*. Reportez-vous à l’exemple 1.
-### Debug log recording (34)
-**Thread-safe** : Yes
-**Portée** : Application 4D
+### Auto synchro resources folder (48)
-**Conservé** **entre deux sessions** : Non
+**Portée** :Poste 4D distant
-**Description** : Démarrage ou arrêt de l’enregistrement séquentiel des événements de programmation de 4D dans le fichier *4DDebugLogServer* *\[\_pN\_n\].txt* (où \_n est le numéro de segment du fichier).
+ **Conservé** **entre deux sessions** : Non
-Deux modes sont possibles :
+ **Valeurs possibles** : 0 (pas de synchronisation), 1 (synchronisation auto) ou 2 (demander).
-- Le mode standard propose une vue basique des événements et le fichier est automatiquement placé dans le sous-dossier Logs de la base, à côté du fichier de structure. Les durées d'exécution sont exprimées en millisecondes avec la valeur "< ms" qui s'affiche lorsqu'une opération dure moins d'une milliseconde.
+**Description** : Mode de synchronisation dynamique du dossier *Resources* du poste client 4D ayant exécuté la commande avec celui du serveur.
-- Le mode tabulé fournit des informations supplémentaires et utilise un format tabulé plus compact dans le fichier. Les durées d'exécution sont exprimées en millisecondes. **Valeurs possibles** : Entier long contenant un champ de bits (bit field) : valeur = bit1(1)+bit2(2)+bit3(4)+bit4(8)+…).
+Lorsque le contenu du dossier *Resources* sur le serveur a été modifié ou qu’une demande de synchronisation a été émise (via l’explorateur de ressources ou suite à l'exécution de la commande [NOTIFY RESOURCES FOLDER MODIFICATION](notify-resources-folder-modification.md)), le serveur notifie les clients connectés.
-- Le bit 0 (valeur 1) permet de demander à activer le fichier (à noter que toute autre valeur non nulle l’activera également)
+Trois modes de synchronisation sont alors possibles côté client. Le sélecteur Auto synchro resources folder vous permet de définir le mode à utiliser pour le poste client et la session courante :
-- Le bit 1 (valeur 2) permet de demander les paramètres d’appel aux commandes et (mode interprété uniquement) aux méthodes.
+0 (valeur par défaut) : pas de synchronisation dynamique (la demande de synchronisation est ignorée) 1 : synchronisation dynamique automatique2 : affichage d’une boîte de dialogue sur les postes clients, avec possibilité d’effectuer ou de refuser la synchronisation.Le mode de synchronisation peut également être défini globalement dans les Propriétés de la base.
-- Le bit 2 (valeur 4) permet d’activer le format tabulé.
-- Le bit 3 (valeur 8) permet de désactiver l’écriture immédiate de chaque opération sur disque (activée par défaut). L’écriture immédiate est moins rapide mais plus efficace par exemple pour rechercher les causes d’un plantage. Si vous désactivez ce mode, le fichier sera généré plus rapidement.
-- Le bit 4 (valeur 16) permet de désactiver l’enregistrement des appels de plug-ins (activé par défaut).
-- Le bit 5 (valeur 32) permet de désactiver l'enregistrement des fonctions membres.
+### Cache flush periodicity (95)
-Exemples :
+**Thread-safe** : Yes
-FIXER PARAMETRE BASE(34;1) // active le mode standard sans les paramètres, avec les durées
-FIXER PARAMETRE BASE(34;2) // active le mode standard avec les paramètres et les durées
+Portée : 4D local, 4D Server
-FIXER PARAMETRE BASE(34;2+4) // active le mode tabulé avec les paramètres et les durées
+**Conservé entre deux sessions** : Non
-FIXER PARAMETRE BASE(34;0) // désactive le fichier
+**Valeurs possibles** : entier long > 1 (secondes)
-Dans tout type d'application 4D (4D tous modes, 4D Server, 4D Volume Desktop), en interprété ou en compilé, vous pouvez éviter que le fichier n’enregistre une trop grande quantité d’informations :
+**Description** : Permet de lire ou de fixer la valeur courante de périodicité de l'écriture du cache de données sur le disque, exprimée en secondes. Si elle est modifiée, cette valeur remplace la valeur définie par l'option **Ecriture cache toutes les secondes/minutes** dans la [XML DECODE](xml-decode.md) des Propriétés de la base durant la session courante (elle n'est pas stockée dans les Propriétés de la base).
-- en restreignant les commandes 4D examinées à l'aide de Log command list (sélecteur 80), ou
-- en le restreignant au process courant uniquement à l'aide de Current process debug log recording (sélecteur 111). Cela ajoutera la lettre "p" et le numéro de process au nom du fichier : *4DDebugLog* *\[\_pN\_n\].txt ou* *4DDebugLogServer\[\_pn\_n\].txt.* Pour plus d’informations sur le format et l’exploitation du fichier 4DDebugLog, veuillez consulter la *Description des fichiers d'historique* dans le Manuel Développement.
-**Note :** Ce sélecteur est proposé uniquement à des fins de débogage et doit être utilisé avec précaution car il peut entraîner une dégradation des performances de l'application.
+### Cache unload minimum size (66)
+**Portée** : Application 4D
-### Client Server port ID (35)
+**Conservé entre deux sessions** : Non
-**Portée** :Base de données
+**Valeurs possibles** : Entier long positif > 1.
- **Conservé** **entre deux sessions** : Oui
+**Description** : Taille minimum de mémoire à libérer du cache de la base de données lorsque le moteur a besoin d’y faire de la place pour y allouer un objet (valeur en octets).
- **Valeurs possibles** : 0 à 65535
+Ce sélecteur a pour but de permettre de réduire le nombre de libérations de données du cache afin d’obtenir des gains de performances. Vous pouvez faire varier ce paramétrage en fonction de la taille du cache et de celle des blocs de données manipulées dans votre base.
-**Description** : Numéro de port TCP sur lequel 4D Server publie la base de données (à destination des postes 4D distants). Par défaut, la valeur est 19813\.
+Par défaut, si ce sélecteur n’est pas utilisé, 4D décharge au minimum 10 % du cache en cas de besoin de place.
-La personnalisation de cette valeur permet d’utiliser plusieurs applications 4D client-serveur sur la même machine avec le protocole TCP ; dans ce cas, vous devez spécifier un numéro de port différent pour chaque application.
-La valeur est stockée dans le fichier de structure de la base. Elle peut être définie avec 4D en mode local mais n’est prise en compte qu’en configuration client-serveur.
-Lorsque vous modifiez cette valeur, il est nécessaire de redémarrer le poste serveur afin que la nouvelle valeur soit prise en compte.
+### Character set (17)
+**Portée** : 4D local, 4D Server
-### HTTPS Port ID (39)
+**Conservé entre deux sessions** : Oui
-**Portée** :4D local, 4D Server
+**Description** : *Constante obsolète (conservée par compatibilité uniquement).* Il est désormais conseillé d'utiliser les commandes [WEB SET OPTION](web-set-option.md) et [WEB GET OPTION](web-get-option.md) pour le paramétrage du serveur HTTP.
- **Conservé** **entre deux sessions** : Oui
- **Description** : *Constante obsolète (conservée par compatibilité uniquement).* Il est désormais conseillé d'utiliser les commandes [WEB SET OPTION](web-set-option.md) et [WEB GET OPTION](web-get-option.md) pour le paramétrage du serveur HTTP.
+### Circular log limitation (90)
-### Client HTTPS port ID (40)
+**Thread-safe** : Yes
-**Portée** :Tous postes 4D distants
+**Portée** : 4D local, 4D Server.
- **Conservé** **entre deux sessions** : Oui
+**Conservé entre deux sessions** : Non
- **Valeurs possibles** : 0 à 65535
+**Valeurs possibles** : Toute valeur entière, 0 = conserver tous les journaux
-**Description** : Numéro du port TCP utilisé par les serveurs Web des postes clients pour les connexions sécurisées via SSL (protocole HTTPS). Par défaut, la valeur est 443 (valeur standard).
+**Description** : Nombre maximum de fichiers à conserver par roulement pour chaque type de journal. Par défaut, les 50 fichiers les plus récents sont conservés. Si vous passez une valeur N, seuls les N fichiers les plus récents seront conservés, le plus ancien étant automatiquement effacé à la création d'un nouveau. Ce paramétrage s'applique à tous les fichiers journaux, notamment le journal des requêtes (sélecteurs 28 et 45), le journal de débogage (sélecteur 34), le journal des événements (sélecteur 79), l'historique des requêtes Web (sélecteurs 29 et 84 de la commande [WEB SET OPTION](web-set-option.md)), etc.
-Le fonctionnement de ce sélecteur est identique à celui du sélecteur 39 ; il s’applique toutefois à tous les postes 4D distants utilisés en tant que serveurs Web. Si vous souhaitez modifier la valeur de certains postes clients uniquement, utilisez la boîte de dialogue des Préférences de 4D distant.
-### SQL Autocommit (43)
+### Client character set (24)
-**Portée** :Base de données
+**Portée** : Tous postes 4D distants
**Conservé** **entre deux sessions** : Oui
- **Valeurs possibles** : 0 (désactivation) ou 1 (activation)
+ **Valeurs possibles** : Voir sélecteur 17
-**Description** : Activation ou désactivation du mode SQL auto-commit. Par défaut, la valeur est 0 (mode désactivé)
+**Description** : Permet de spécifier ce paramètre pour les postes 4D distants utilisés en tant que serveurs Web. La valeur définie via ce sélecteur est appliquée à tous les postes distants utilisés comme serveurs Web. Si vous souhaitez définir cette valeur pour certains postes distants uniquement, utilisez la boîte de dialogue des Préférences de 4D en mode distant.
-Le mode auto-commit permet de renforcer l'intégrité référentielle de la base. Lorsque ce mode est actif, les requêtes *SELECT*, *INSERT*, *UPDATE*, *DELETE* (SIUD) sont automatiquement incluses dans des transactions lorsqu'elles sont exécutées en-dehors de toute transaction. Ce mode peut également être défini dans les préférences de la base.
-### SQL Engine case sensitivity (44)
+### Client HTTPS port ID (40)
-**Portée** : Base de données
+**Portée** :Tous postes 4D distants
-**Conservé** **entre deux sessions** : Oui
+ **Conservé** **entre deux sessions** : Oui
-**Valeurs possibles** : 0 (casse non prise en compte) ou 1 (casse prise en compte)
+ **Valeurs possibles** : 0 à 65535
-**Description** : Activation ou désactivation de la prise en compte de la casse des caractères pour les comparaisons de chaînes effectuées par le moteur SQL.
+**Description** : Numéro du port TCP utilisé par les serveurs Web des postes clients pour les connexions sécurisées via SSL (protocole HTTPS). Par défaut, la valeur est 443 (valeur standard).
-Par défaut, la valeur est 1 (casse prise en compte) : le moteur SQL établit une différence entre les majuscules et les minuscules ainsi qu'entre les caractères accentués lors des comparaisons de chaînes (tris et recherches). Par exemple "ABC" = "ABC" mais "ABC" # "Abc" et "abc" # "âbc" . Dans certains cas, par exemple pour aligner le fonctionnement du moteur SQL sur celui du moteur 4D, vous pourrez souhaiter que les comparaisons de chaînes ne tiennent pas compte de la casse ("ABC"="Abc"="âbc").
+Le fonctionnement de ce sélecteur est identique à celui du sélecteur 39 ; il s’applique toutefois à tous les postes 4D distants utilisés en tant que serveurs Web. Si vous souhaitez modifier la valeur de certains postes clients uniquement, utilisez la boîte de dialogue des Préférences de 4D distant.
-**Attention :** *Étant donné que cette option modifie le fichier de structure de la base de données et tous les process, il est fortement recommandé,* *pour des raisons de performances,* *de la définir uniquement au démarrage de la base de données.* Cette option peut également être définie dans la [CALL SUBFORM CONTAINER](call-subform-container.md) des Propriétés de la base.
@@ -316,215 +195,173 @@ Ces fichiers texte stockent dans un format tabulé simple diverses informations
-### Query by formula on server (46)
-
-**Portée** :Table et process courants
- **Conservé** **entre deux sessions** : Non
+### Client max concurrent Web proc (25)
- **Valeurs possibles** : 0 (utiliser le paramétrage de la base), 1 (exécuter sur le client) ou 2 (exécuter sur le serveur)
+**Portée** : Tous postes 4D distants
-**Description** : Emplacement de l’exécution des commandes [QUERY BY FORMULA](query-by-formula.md) et [QUERY SELECTION BY FORMULA](query-selection-by-formula.md) pour la *table* passée en paramètre.
+ **Conservé** **entre deux sessions** : Oui
-Dans le cadre de l’exploitation d’une base en client-serveur, les commandes de recherche "par formule" peuvent exécutées soit sur le serveur soit sur le client :
+ **Valeurs possibles** : Voir sélecteur 18
-dans les bases de données créées à partir de 4D v11 SQL, ces commandes sont exécutées sur le serveur. dans les bases de données converties, ces commandes sont exécutées sur le client, comme dans les versions précédentes de 4D.dans les bases de données converties, une préférence spécifique permet de modifier globalement le lieu d’exécution de ces commandes.Cette différence de lieu d’exécution influe sur les performances de l’application (l’exécution sur le serveur est généralement plus rapide) mais également sur la programmation. En effet, la valeur des composantes de la formule (notamment les variables appelées via une méthode) diffère suivant le contexte d’exécution. Vous pouvez utiliser ce sélecteur pour adapter ponctuellement le fonctionnement de votre application.
+**Description** : Permet de spécifier ce paramètre pour les postes 4D distants utilisés en tant que serveurs Web. La valeur définie via ce sélecteur est appliquée à tous les postes distants utilisés comme serveurs Web. Si vous souhaitez définir cette valeur pour certains postes distants uniquement, utilisez la boîte de dialogue des Préférences de 4D en mode distant.
-Si vous passez 0 dans le paramètre *valeur*, l’emplacement d’exécution des commandes de recherche "par formule" dépendra de la configuration de la base : dans les bases créées avec 4D v11 SQL, les commandes seront exécutées sur le serveur. Dans les bases converties, elles seront exécutées sur le client ou le serveur en fonction des préférences de la base. Passez 1 ou 2 dans *valeur* pour "forcer" l’exécution des commandes respectivement sur le client ou sur le serveur.
-Reportez-vous à l'exemple 2.
-**Note :** Si vous souhaitez pouvoir activer les jointures "type SQL" (cf. sélecteur Query by formula joins), vous devez toujours exécuter les formules sur le serveur afin qu'elle ait accès aux enregistrements. Attention, dans ce contexte, la formule ne doit pas contenir d'appel à une méthode, sinon elle est automatiquement basculée sur le poste distant.
+### Client port ID (22)
+**Portée** : Tous postes 4D distants
-### Order by formula on server (47)
+ **Conservé** **entre deux sessions** : Oui
-**Portée** :Table et process courants
+ **Valeurs possibles** : Voir sélecteur 15
- **Conservé** **entre deux sessions** : Non
+**Description** : Permet de spécifier ce paramètre pour les postes 4D distants utilisés en tant que serveurs Web. La valeur définie via ce sélecteur est appliquée à tous les postes distants utilisés comme serveurs Web. Si vous souhaitez définir cette valeur pour certains postes distants uniquement, utilisez la boîte de dialogue des Préférences de 4D en mode distant.
- **Valeurs possibles** : 0 (utiliser le paramétrage de la base), 1 (exécuter sur le client) ou 2 (exécuter sur le serveur)
-**Description** : Emplacement de l’exécution de la commande [ORDER BY FORMULA](order-by-formula.md) pour la table passée en paramètre.
-Dans le cadre de l’exploitation d’une base en client-serveur, la commande [ORDER BY FORMULA](order-by-formula.md) peut être exécutée soit sur le serveur soit sur le client. Ce sélecteur permet de définir l’emplacement de l’exécution de cette commande (serveur ou client). Ce mode peut également être défini dans les préférences de la base. Pour plus d’informations, reportez-vous à la description du sélecteur 46, Query by formula on server.
-
-**Note :** Si vous souhaitez pouvoir activer les jointures "type SQL" (cf. sélecteur Query by formula joins), vous devez toujours exécuter les formules sur le serveur afin qu'elle ait accès aux enregistrements. Attention, dans ce contexte, la formule ne doit pas contenir d'appel à une méthode, sinon elle est automatiquement basculée sur le poste distant.
+### Client Server port ID (35)
+**Portée** :Base de données
-### Auto synchro resources folder (48)
+ **Conservé** **entre deux sessions** : Oui
-**Portée** :Poste 4D distant
+ **Valeurs possibles** : 0 à 65535
- **Conservé** **entre deux sessions** : Non
+**Description** : Numéro de port TCP sur lequel 4D Server publie la base de données (à destination des postes 4D distants). Par défaut, la valeur est 19813\.
- **Valeurs possibles** : 0 (pas de synchronisation), 1 (synchronisation auto) ou 2 (demander).
+La personnalisation de cette valeur permet d’utiliser plusieurs applications 4D client-serveur sur la même machine avec le protocole TCP ; dans ce cas, vous devez spécifier un numéro de port différent pour chaque application.
-**Description** : Mode de synchronisation dynamique du dossier *Resources* du poste client 4D ayant exécuté la commande avec celui du serveur.
+La valeur est stockée dans le fichier de structure de la base. Elle peut être définie avec 4D en mode local mais n’est prise en compte qu’en configuration client-serveur.
-Lorsque le contenu du dossier *Resources* sur le serveur a été modifié ou qu’une demande de synchronisation a été émise (via l’explorateur de ressources ou suite à l'exécution de la commande [NOTIFY RESOURCES FOLDER MODIFICATION](notify-resources-folder-modification.md)), le serveur notifie les clients connectés.
+Lorsque vous modifiez cette valeur, il est nécessaire de redémarrer le poste serveur afin que la nouvelle valeur soit prise en compte.
-Trois modes de synchronisation sont alors possibles côté client. Le sélecteur Auto synchro resources folder vous permet de définir le mode à utiliser pour le poste client et la session courante :
-0 (valeur par défaut) : pas de synchronisation dynamique (la demande de synchronisation est ignorée) 1 : synchronisation dynamique automatique2 : affichage d’une boîte de dialogue sur les postes clients, avec possibilité d’effectuer ou de refuser la synchronisation.Le mode de synchronisation peut également être défini globalement dans les Propriétés de la base.
+### Client Web log recording (30)
-### Query by formula joins (49)
+**Portée** :Tous postes 4D distants
-**Portée** :Process courant
+ **Conservé** **entre deux sessions** : Oui
- **Conservé** **entre deux sessions** : Non
+ **Valeurs possibles** : 0 = Ne pas enregistrer (défaut), 1 = Enregistrer au format CLF, 2 = Enregistrer au format DLF, 3 = Enregistrer au format ELF, 4 = Enregistrer au format WLF.
- **Valeurs possibles** : 0 (utiliser paramétrages de la base), 1 (toujours utiliser les liens auto) ou 2 (utiliser les jointures SQL si possible).
+**Description** : Démarrage ou arrêt de l’enregistrement des requêtes Web reçues par les serveurs Web de tous les postes clients. Par défaut, la valeur est 0 (pas d’enregistrement des requêtes).
-**Description** : Mode de fonctionnement des commandes [QUERY BY FORMULA](query-by-formula.md) et [QUERY SELECTION BY FORMULA](query-selection-by-formula.md) relatif à l’utilisation de "jointures SQL".
+Le fonctionnement de ce sélecteur est identique à celui du sélecteur 29 ; il s’applique toutefois à tous les postes 4D clients utilisés en tant que serveurs Web. Le fichier “logweb.txt” est dans ce cas automatiquement placé dans le sous-dossier Logs du dossier base 4D client (dossier de cache). Si vous souhaitez définir des valeurs pour certains postes clients uniquement, utilisez la boîte de dialogue des Préférences de 4D en mode distant.
-Dans les bases de données créées à compter de la version 11.2 de 4D v11 SQL, ces commandes effectuent des jointures sur le modèle des jointures SQL. Ce mécanisme permet de modifier la sélection d’une table en fonction d’une recherche effectuée sur une autre table sans que les tables soient reliées par un lien automatique (condition nécessaire dans les versions précédentes de 4D).
-Le sélecteur Query by formula joins vous permet de définir le mode de fonctionnement des commandes de recherche par formule pour le process courant :
-0 : utiliser les paramètres courants de la base (valeur par défaut). Dans les bases de données créées à compter de la version 11.2 de 4D v11 SQL, les "jointures SQL" sont toujours activées pour les recherches par formule. Dans les bases de données converties, ce mécanisme est inactivé par défaut pour des raisons des compatibilité mais peut être mis en oeuvre via une préférence.1 : toujours utiliser les liens auto (= fonctionnement des versions précédentes de 4D). Dans ce mode, un lien est nécessaire pour définir la sélection d’une table en fonction de recherches effectuées dans une autre table. 4D n’effectue pas de "jointures SQL".2 : utiliser les jointures SQL si possible (= fonctionnement par défaut des bases créées en version 11.2 et suivantes de 4D v11 SQL). Dans ce mode, 4D établit des "jointures SQL" pour les recherches par formule lorsque la formule s’y prête (à deux exceptions près, voir la description de la commande commandes [QUERY BY FORMULA](query-by-formula.md) ou [QUERY SELECTION BY FORMULA](query-selection-by-formula.md). **Note :** Avec 4D en mode distant, les "jointures SQL" ne peuvent être utilisées que si les formules sont exécutées sur le serveur (elles doivent avoir accès aux enregistrements). Pour configurer le lieu d'exécution des formules, reportez-vous aux sélecteurs 46 et 47.
+### Current process debug log recording (111)
+**Portée :** Application 4D
-### HTTP compression level (50)
+**Conservé entre deux sessions :** Non
-**Portée** : Application 4D
+**Description** : Démarrage ou arrêt de l'enregistrement séquentiel des événements de programmation **du process courant** dans un fichier d'historique séparé. Cet historique est semblable à Debug log recording (sélecteur 34) mais il ne porte que sur le process courant. Le nom du fichier d'historique inclut la lettre "p" et le numéro du process : 4DDebugLog\[\_p*N*_*n*].txt, où N est l'ID unique du process. Pour plus d'informations sur ce format et sur l'utilisation du fichier *4DDebugLog*, veuillez consulter la *Description des fichiers d'historique* dans le Mode Développement.
- **Conservé** **entre deux sessions** : Non
+**Notes :** Ce sélecteur est fourni uniquement à des fins de débogage et doit être utilisé avec précaution. Plus particulièrement, il ne doit pas être utilisé en production, étant donné qu'il peut avoir une incidence sur les performances de l'application. Vous pouvez utiliser simultanément les sélecteurs Debug log recording et Current process debug log recording, auquel cas les actions liées au process courant ne seront pas enregistrées dans le fichier d'historique principal.
- **Description** : *Constante obsolète (conservée par compatibilité uniquement).* Il est désormais conseillé d'utiliser les commandes [WEB SET OPTION](web-set-option.md) et [WEB GET OPTION](web-get-option.md) pour le paramétrage du serveur HTTP.
-### HTTP compression threshold (51)
+### Dates inside objects (85)
-**Portée** : Application 4D
+**Portée** : Process courant
**Conservé** **entre deux sessions** : Non
- **Description** : *Constante obsolète (conservée par compatibilité uniquement).* Il est désormais conseillé d'utiliser les commandes [WEB SET OPTION](web-set-option.md) et [WEB GET OPTION](web-get-option.md) pour le paramétrage du serveur HTTP.
-
-
-
-### Server base process stack size (53)
-
-**Portée** : 4D Server
+ **Valeurs possibles** : String type without time zone (0), String type with time zone (1), Date type (2) (défaut)
- **Conservé** **entre deux sessions** : Non
+**Description** : Définit la manière dont les dates sont stockées dans les objets, ainsi que leur traitement en cas d'importation/exportation en JSON.
- **Valeurs possibles** : Entier long positif.
+Lorsque ce sélecteur vaut Date type (valeur par défaut dans les bases créées à compter de 4D v17), les dates 4D sont stockées avec le type date dans les objets, en tenant compte des paramétrages de date locaux. Lorsqu'ils sont exportés au format JSON, les attributs date seront convertis en chaînes qui ne contiennent pas l'heure (**Note :** ce paramétrage peut être défini au niveau des paramètres de la base via l'option "Utiliser le type date au lieu du format date ISO dans les objets" dans la *Page Compatibilité*).
-**Description** : Taille de la pile allouée à chaque process système préemptif sur le serveur, exprimée en octets. La taille par défaut est déterminée par le système.
+Si vous passez String type with time zone dans ce sélecteur, les dates 4D seront converties en chaînes ISO en tenant compte du fuseau horaire local. Par exemple, la conversion de la date !23/08/2013! donne "2013-08-22T22:00:00Z" au format JSON lorsque l’opération est effectuée en France en été (GMT+2). Ce principe est conforme au fonctionnement standard de JavaScript. Ce fonctionnement peut être source d’erreurs si vous souhaitez envoyer des valeurs de date en JSON à une personne qui se trouve dans un autre fuseau horaire. C’est le cas par exemple pour l’exportation d’une table avec [Selection to JSON](selection-to-json.md) en France destiné à être réimporté aux USA avec [JSON TO SELECTION](json-to-selection.md). Par défaut, les dates étant réinterprétées dans chaque fuseau horaire, les valeurs stockées dans la base seront différentes. Dans ce cas, vous pouvez modifier le mode de conversion des dates afin qu’il ne tienne pas compte du fuseau horaire en passant String type without time zone dans ce sélecteur. La conversion de la date !23/08/2013! donnera alors "2013-08-23T00:00:00Z" dans tous les cas.
-Les process système préemptifs (process de type Process base 4D client) sont chargés de contrôler les process clients 4D principaux. La taille allouée par défaut à la pile de chaque process préemptif permet un bon confort d’exécution mais peut s’avérer conséquente lorsque de très nombreux process (plusieurs centaines) sont créés.
-A des fins d’optimisation, cette taille peut être diminuée sensiblement si les opérations effectuées par la base s'y prêtent (par exemple si la base n’effectue pas de tris sur de grosses quantités d’enregistrements). Des valeurs de 512 voire de 256 Ko sont possibles. Attention, le sous-dimensionnement de la pile est critique et peut nuire au fonctionnement de 4D Server. Le réglage de ce paramètre est à effectuer avec précaution et doit tenir compte des conditions d’utilisation de la base (nombre d’enregistrements, types d’opérations, etc.). Pour être pris en compte, ce paramétrage doit être exécuté sur le poste serveur (par exemple dans la méthode base Sur démarrage serveur).
+### Debug log recording (34)
-### Idle connections timeout (54)
+**Thread-safe** : Yes
-**Portée** : Application 4D sauf si valeur négative
+**Portée** : Application 4D
**Conservé** **entre deux sessions** : Non
-**Valeurs possibles** : Valeur entière exprimant une durée en secondes. La valeur peut être positive (nouvelles connexions) ou négative (connexions existantes). Par défaut, la valeur est 20.
+**Description** : Démarrage ou arrêt de l’enregistrement séquentiel des événements de programmation de 4D dans le fichier *4DDebugLogServer* *\[\_pN\_n\].txt* (où \_n est le numéro de segment du fichier).
-**Description** : Délai maximum d’inactivité (timeout) des connexions au moteur de base de données, au serveur SQL de 4D ainsi qu'au serveur d'applications 4D (mode *ServerNet* uniquement, ignoré en *QUIC*). Lorsqu’une connexion inactive atteint ce délai, elle est automatiquement mise en veille, ce qui se traduit par le gel de la session client/serveur et la fermeture du socket réseau. Dans la fenêtre d'administration du serveur, le process utilisateur prend l'état "Postponed". Ce fonctionnement est entièrement transparent pour l’utilisateur : dès qu’il y a reprise d’activité sur la connexion mise en veille, le socket est automatiquement rouvert et la session client/serveur restaurée.
+Deux modes sont possibles :
-Ce paramétrage permet, d’une part, d’économiser des ressources sur le serveur : les connexions mises en veille referment le socket et libèrent un processus sur le serveur. D’autre part, il permet d’éviter les pertes de connexions dues aux fermetures par les pare-feux des sockets inactifs. La valeur de timeout des connexions inactives doit pour cela être inférieure à celle du pare-feu.
+- Le mode standard propose une vue basique des événements et le fichier est automatiquement placé dans le sous-dossier Logs de la base, à côté du fichier de structure. Les durées d'exécution sont exprimées en millisecondes avec la valeur "< ms" qui s'affiche lorsqu'une opération dure moins d'une milliseconde.
-Si vous passez une valeur positive dans *valeur*, elle s'applique à toutes les nouvelles connexions dans tous les process. Si vous passez une valeur négative, elle s’applique aux connexions ouvertes dans le process courant. Si vous passez 0, les connexions inactives ne sont pas soumises à un timeout.
+- Le mode tabulé fournit des informations supplémentaires et utilise un format tabulé plus compact dans le fichier. Les durées d'exécution sont exprimées en millisecondes. **Valeurs possibles** : Entier long contenant un champ de bits (bit field) : valeur = bit1(1)+bit2(2)+bit3(4)+bit4(8)+…).
+- Le bit 0 (valeur 1) permet de demander à activer le fichier (à noter que toute autre valeur non nulle l’activera également)
+- Le bit 1 (valeur 2) permet de demander les paramètres d’appel aux commandes et (mode interprété uniquement) aux méthodes.
+- Le bit 2 (valeur 4) permet d’activer le format tabulé.
+- Le bit 3 (valeur 8) permet de désactiver l’écriture immédiate de chaque opération sur disque (activée par défaut). L’écriture immédiate est moins rapide mais plus efficace par exemple pour rechercher les causes d’un plantage. Si vous désactivez ce mode, le fichier sera généré plus rapidement.
+- Le bit 4 (valeur 16) permet de désactiver l’enregistrement des appels de plug-ins (activé par défaut).
+- Le bit 5 (valeur 32) permet de désactiver l'enregistrement des fonctions membres.
-Ce paramètre doit être défini côté client. Généralement, vous n'aurez pas besoin de modifier cette valeur.
+Exemples :
+```4d
+SET DATABASE PARAMETER(34;1) // active le mode standard sans les paramètres, avec les durées
+SET DATABASE PARAMETER(34;2) // active le mode standard avec les paramètres et les durées
+SET DATABASE PARAMETER(34;2+4) // active le mode tabulé avec les paramètres et les durées
+SET DATABASE PARAMETER(34;0) // désactive le fichier
+```
+Dans tout type d'application 4D (4D tous modes, 4D Server, 4D Volume Desktop), en interprété ou en compilé, vous pouvez éviter que le fichier n’enregistre une trop grande quantité d’informations :
-### PHP interpreter IP address (55)
+- en restreignant les commandes 4D examinées à l'aide de Log command list (sélecteur 80), ou
+- en le restreignant au process courant uniquement à l'aide de Current process debug log recording (sélecteur 111). Cela ajoutera la lettre "p" et le numéro de process au nom du fichier : *4DDebugLog* *\[\_pN\_n\].txt ou* *4DDebugLogServer\[\_pn\_n\].txt.* Pour plus d’informations sur le format et l’exploitation du fichier 4DDebugLog, veuillez consulter la *Description des fichiers d'historique* dans le Manuel Développement.
-**Portée** :Application 4D
+**Note :** Ce sélecteur est proposé uniquement à des fins de débogage et doit être utilisé avec précaution car il peut entraîner une dégradation des performances de l'application.
- **Conservé** **entre deux sessions** : Non
-**Valeurs** : Chaîne formatée en IPv4 (par exemple "127.0.0.1") ou en IPv6 (par exemple "2001:0db8:0000:0000:0000:ff00:0042:8329")
-**Description** : Adresse IP utilisée localement par 4D pour communiquer avec l’interpéteur PHP via fastcgi. Par défaut, la valeur est "127.0.0.1" (les adresses au format IPv6 sont prises en charge à compter de 4D v16R4).. Cette adresse doit correspondre à la machine sur laquelle se trouve 4D. Ce paramètre peut également être défini globalement pour tous les postes via les Propriétés de la base.
-Pour plus d’informations sur l’interpréteur PHP de 4D, reportez-vous au manuel *Mode Développement*.
+### Diagnostic log level (86)
+**Thread-safe** : Yes
+**Portée :** Application 4D
-### PHP interpreter port (56)
+**Conservé entre deux sessions :** Non
-**Portée** :Application 4D
+**Description :** Niveau(x) de messages à inclure dans le journal de diagnostic lorsqu'il est activé (voir le sélecteur Diagnostic log recording). Chaque niveau désigne une catégorie de messages de diagnostic et inclut automatiquement la ou les catégories plus importantes. Pour une description des catégories, consultez la section *Log niveau diagnostic* sur le site *developer.4d.com*.
- **Conservé** **entre deux sessions** : Non
+**Valeurs possibles** **:** L'une des constantes suivantes (Log info par défaut):
+- Log trace: active ERROR, WARN, INFO, DEBUG, TRACE (niveau le plus détaillé)
+- Log debug: active ERROR, WARN, INFO, DEBUG
+- Log info: active ERROR, WARN, INFO (par défaut)
+- Log warn: active ERROR, WARN Log error: active ERROR (niveau le moins détaillé)
-**Valeurs** : Valeur de type entier long positif. Par défaut, la valeur est 8002\.
-**Description** : Numéro du port TCP utilisé par l’interpréteur PHP de 4D. Ce paramètre peut également être défini globalement pour tous les postes via les Propriétés de la base. Pour plus d’informations sur l’interpréteur PHP de 4D, reportez-vous au manuel *Mode Développement*.
+### Diagnostic log recording (79)
-### SSL cipher list (64)
+**Thread-safe** : Yes
**Portée** : Application 4D
-**Conservé entre deux sessions** : Non
-
-**Valeurs possibles** : Suite de chaînes séparées par des deux-points.
-
-**Description :** Liste de chiffrement (*cipher list*) utilisée par 4D pour le protocole sécurisé. Cette liste permet de modifier la priorité des algorithmes de chiffrement mis en oeuvre par 4D.
-
-Par exemple, vous pouvez passer la chaîne suivante dans le paramètre *valeur* : "HIGH:!aNULL:!MD5:!3DES:!CAMELLIA:!AES128:!RSA:!DH:!RC4". Pour une description complète de la syntaxe de la liste de chiffrement, reportez-vous à la *page ciphers sur le site de OpenSSL*.
-
-Ce paramétrage s'applique au principal serveur Web (à l'exclusion des objets Web server), au serveur SQL, aux connexions client/serveur ainsi qu'au client HTTP et aux commandes 4D faisant appel au protocole sécurisé. Ce paramétrage est temporaire (il n'est pas maintenu entre les sessions).
-
-Lorsque la liste de chiffrement a été modifiée, vous devez redémarrer le serveur concerné pour que le nouveau paramétrage soit pris en compte.
-
-Pour réinitialiser la liste de chiffrement à sa valeur par défaut (stockée en dur dans le fichier SLI), appelez la commande [SET DATABASE PARAMETER](set-database-parameter.md) et passez une chaîne vide ("") dans le paramètre *valeur*.
-
-**Note :** Avec la commande [Get database parameter](get-database-parameter.md), la liste de chiffrement est retournée dans le paramètre optionnel *valeurAlpha* et le paramètre de retour vaut toujours 0.
-
-
-
-### Cache unload minimum size (66)
-
-**Portée** : Application 4D
-
-**Conservé entre deux sessions** : Non
-
-**Valeurs possibles** : Entier long positif > 1.
-
-**Description** : Taille minimum de mémoire à libérer du cache de la base de données lorsque le moteur a besoin d’y faire de la place pour y allouer un objet (valeur en octets).
-
-Ce sélecteur a pour but de permettre de réduire le nombre de libérations de données du cache afin d’obtenir des gains de performances. Vous pouvez faire varier ce paramétrage en fonction de la taille du cache et de celle des blocs de données manipulées dans votre base.
-
-Par défaut, si ce sélecteur n’est pas utilisé, 4D décharge au minimum 10 % du cache en cas de besoin de place.
-
-
-
-### Direct2D status (69)
-
-**Portée**: Application 4D
-
-**Conservé entre deux sessions** : Non
-
-**Description** : Mode d’activation de l’implémentation de Direct2D sous Windows.
+**Conservé** **entre deux sessions** : Non
-**Valeurs possibles** : Une des constantes suivantes (mode 3 par défaut) :
+**Valeurs possibles** : 0 ou 1 (0 = ne pas enregistrer, 1 = enregistrer)
-Direct2D disabled (0) : le mode Direct2D n’est pas activé, la base fonctionne dans le mode précédent (GDI/GDIPlus).
+**Description** : Démarrage ou arrêt de l’enregistrement du fichier de diagnostic de 4D. Par défaut, la valeur est 0 (pas d’enregistrement).
-Direct2D hardware (1) : utilisation de Direct2D en contexte graphique matériel dans toute l’application 4D. Si ce contexte n’est pas disponible, utilisation du contexte graphique Direct2D logiciel.
+4D vous permet d’enregistrer de manière continue dans un fichier de diagnostic un ensemble d’événements relatifs au fonctionnement interne de l’application. Les informations contenues dans ce fichier sont destinées à la mise au point des applications 4D et pourront être analysées avec l’aide des services techniques de 4D (pour plus d'informations, reportez-vous à la section *Description des fichiers d'historique* sur *developer.4d.com*). Lorsque vous passez 1 dans ce sélecteur, un fichier de diagnostic est automatiquement créé (ou ouvert) dans le dossier **Logs** de la base. Le fichier est nommé *4DDiagnosticLog\_N*.txt (ou *4DDiagnosticLogServer\_N.*txt s'il est généré sur le serveur). Une fois que le fichier atteint une taille de 10 Mo, il est refermé et un nouveau fichier est généré, avec un numéro séquentiel N incrémenté.
-Direct2D software (3) (Mode par défaut) : à partir de Windows 7, utilisation de Direct2D en contexte graphique logiciel dans toute l’application 4D.
+A noter qu’il est possible d’inclure des informations personnalisées dans ce fichier à l’aide de la commande [LOG EVENT](log-event.md).
-**Attention :* Ce sélecteur est fourni uniquement à des fins de débogage. Etant donné que plusieurs fonctionnalités de 4D dépendent de Direct2D, il ne doit pas être désactivé dans les applications déployées. Seul le mode par défaut (Direct2D software) est approuvé pour les applications déployées.*
@@ -537,221 +374,214 @@ Direct2D software (3) (Mode par défaut) : à partir de Windows 7, utilisation d
**Valeurs possibles** : 0, 1, 2, 3, 4 ou 5 (cf. valeurs du sélecteur 69). La valeur retournée dépend de la disponibilité de Direct2D, du matériel et de la qualité de la prise en charge de Direct2D par le système d’exploitation.
Par exemple, si vous exécutez :
-
+```4d
SET DATABASE PARAMETER(;Direct2D Hardware) $mode:=Get database parameter()
+```
- sur Windows 7 et suivants, *$mode* vaudra 1 si le système détecte un matériel compatible Direct2D, sinon *$mode* vaudra 3 (contexte logiciel).
-
- sur Windows Vista, *$mode* vaudra 1 si le système détecte un matériel compatible Direct2D, sinon *$mode* vaudra 0 (désactivation de Direct2D).
-
- sur Windows XP, *$mode* vaudra toujours 0 (incompatibilité avec Direct2D).
-### Diagnostic log recording (79)
-**Thread-safe** : Yes
+### Direct2D status (69)
-**Portée** : Application 4D
+**Portée**: Application 4D
-**Conservé** **entre deux sessions** : Non
+**Conservé entre deux sessions** : Non
-**Valeurs possibles** : 0 ou 1 (0 = ne pas enregistrer, 1 = enregistrer)
+**Description** : Mode d’activation de l’implémentation de Direct2D sous Windows.
-**Description** : Démarrage ou arrêt de l’enregistrement du fichier de diagnostic de 4D. Par défaut, la valeur est 0 (pas d’enregistrement).
+**Valeurs possibles** : Une des constantes suivantes (mode 3 par défaut) :
-4D vous permet d’enregistrer de manière continue dans un fichier de diagnostic un ensemble d’événements relatifs au fonctionnement interne de l’application. Les informations contenues dans ce fichier sont destinées à la mise au point des applications 4D et pourront être analysées avec l’aide des services techniques de 4D (pour plus d'informations, reportez-vous à la section *Description des fichiers d'historique* sur *developer.4d.com*). Lorsque vous passez 1 dans ce sélecteur, un fichier de diagnostic est automatiquement créé (ou ouvert) dans le dossier **Logs** de la base. Le fichier est nommé *4DDiagnosticLog\_N*.txt (ou *4DDiagnosticLogServer\_N.*txt s'il est généré sur le serveur). Une fois que le fichier atteint une taille de 10 Mo, il est refermé et un nouveau fichier est généré, avec un numéro séquentiel N incrémenté.
+Direct2D disabled (0) : le mode Direct2D n’est pas activé, la base fonctionne dans le mode précédent (GDI/GDIPlus).
-A noter qu’il est possible d’inclure des informations personnalisées dans ce fichier à l’aide de la commande [LOG EVENT](log-event.md).
+Direct2D hardware (1) : utilisation de Direct2D en contexte graphique matériel dans toute l’application 4D. Si ce contexte n’est pas disponible, utilisation du contexte graphique Direct2D logiciel.
+Direct2D software (3) (Mode par défaut) : à partir de Windows 7, utilisation de Direct2D en contexte graphique logiciel dans toute l’application 4D.
+**Attention :* Ce sélecteur est fourni uniquement à des fins de débogage. Etant donné que plusieurs fonctionnalités de 4D dépendent de Direct2D, il ne doit pas être désactivé dans les applications déployées. Seul le mode par défaut (Direct2D software) est approuvé pour les applications déployées.*
-### Log command list (80)
-**Portée** : Application 4D
-**Conservé** **entre deux sessions** : Non
-**Valeurs possibles** : Chaîne contenant la liste des numéros des commandes 4D à enregistrer (séparées par des points-virgules), ou "all" pour enregistrer toutes les commande, ou "" (chaîne vide) pour n’enregistrer aucune commande, ou le préfixe "-" pour exclure des commandes spécifiques.
+### HTTP compression level (50)
-**Description** : Liste des commandes 4D à enregistrer dans le fichier de débogage ou à exclure du fichier de débogage (cf. sélecteur 34, Debug log recording). Par défaut, toutes les commandes 4D sont enregistrées. Ce sélecteur vous permet de restreindre la quantité d’informations stockées dans le fichier de débogage en limitant les commandes 4D dont vous souhaitez enregistrer l’exécution ou bien que vous souhaitez exclure de l'enregistrement. Par exemple, vous pouvez écrire : SET DATABASE PARAMETER(Log command list;"277;341") //enregistrer uniquement les commandes CHERCHER et CHERCHER DANS SELECTION OU SET DATABASE PARAMETER(Log command list;"-1666;-323") //exclure les commandes FIXER ALIAS UTILISATEUR et ENDORMIR PROCESS de l'enregistrement
+**Portée** : Application 4D
+ **Conservé** **entre deux sessions** : Non
+ **Description** : *Constante obsolète (conservée par compatibilité uniquement).* Il est désormais conseillé d'utiliser les commandes [WEB SET OPTION](web-set-option.md) et [WEB GET OPTION](web-get-option.md) pour le paramétrage du serveur HTTP.
-### Spellchecker (81)
-**Portée** : Application 4D
- **Conservé** **entre deux sessions** : Non
- **Valeurs possibles** : 0 (défaut) = correcteur macOS (Hunspell désactivé), 1 = correcteur Hunspell actif.
+### HTTP compression threshold (51)
-**Description** : Permet d’activer le correcteur orthographique Hunspell sous macOS. Par défaut, sur cette plate-forme le correcteur natif est activé. Vous pouvez souhaiter utiliser le correcteur Hunspell par exemple pour unifier l’interface de vos applications multiplates-formes (sous Windows, seul le correcteur Hunspell est disponible). Pour plus d’informations, reportez-vous à la page *Correction orthographique*.
+**Portée** : Application 4D
+ **Conservé** **entre deux sessions** : Non
+ **Description** : *Constante obsolète (conservée par compatibilité uniquement).* Il est désormais conseillé d'utiliser les commandes [WEB SET OPTION](web-set-option.md) et [WEB GET OPTION](web-get-option.md) pour le paramétrage du serveur HTTP.
-### Dates inside objects (85)
-**Portée** : Process courant
- **Conservé** **entre deux sessions** : Non
- **Valeurs possibles** : String type without time zone (0), String type with time zone (1), Date type (2) (défaut)
+### HTTPS Port ID (39)
-**Description** : Définit la manière dont les dates sont stockées dans les objets, ainsi que leur traitement en cas d'importation/exportation en JSON.
+**Portée** :4D local, 4D Server
-Lorsque ce sélecteur vaut Date type (valeur par défaut dans les bases créées à compter de 4D v17), les dates 4D sont stockées avec le type date dans les objets, en tenant compte des paramétrages de date locaux. Lorsqu'ils sont exportés au format JSON, les attributs date seront convertis en chaînes qui ne contiennent pas l'heure (**Note :** ce paramétrage peut être défini au niveau des paramètres de la base via l'option "Utiliser le type date au lieu du format date ISO dans les objets" dans la *Page Compatibilité*).
+ **Conservé** **entre deux sessions** : Oui
-Si vous passez String type with time zone dans ce sélecteur, les dates 4D seront converties en chaînes ISO en tenant compte du fuseau horaire local. Par exemple, la conversion de la date !23/08/2013! donne "2013-08-22T22:00:00Z" au format JSON lorsque l’opération est effectuée en France en été (GMT+2). Ce principe est conforme au fonctionnement standard de JavaScript. Ce fonctionnement peut être source d’erreurs si vous souhaitez envoyer des valeurs de date en JSON à une personne qui se trouve dans un autre fuseau horaire. C’est le cas par exemple pour l’exportation d’une table avec [Selection to JSON](selection-to-json.md) en France destiné à être réimporté aux USA avec [JSON TO SELECTION](json-to-selection.md). Par défaut, les dates étant réinterprétées dans chaque fuseau horaire, les valeurs stockées dans la base seront différentes. Dans ce cas, vous pouvez modifier le mode de conversion des dates afin qu’il ne tienne pas compte du fuseau horaire en passant String type without time zone dans ce sélecteur. La conversion de la date !23/08/2013! donnera alors "2013-08-23T00:00:00Z" dans tous les cas.
+ **Description** : *Constante obsolète (conservée par compatibilité uniquement).* Il est désormais conseillé d'utiliser les commandes [WEB SET OPTION](web-set-option.md) et [WEB GET OPTION](web-get-option.md) pour le paramétrage du serveur HTTP.
-### Diagnostic log level (86)
-**Thread-safe** : Yes
+### Idle connections timeout (54)
-**Portée :** Application 4D
+**Portée** : Application 4D sauf si valeur négative
-**Conservé entre deux sessions :** Non
+**Conservé** **entre deux sessions** : Non
-**Description :** Niveau(x) de messages à inclure dans le journal de diagnostic lorsqu'il est activé (voir le sélecteur Diagnostic log recording). Chaque niveau désigne une catégorie de messages de diagnostic et inclut automatiquement la ou les catégories plus importantes. Pour une description des catégories, consultez la section *Log niveau diagnostic* sur le site *developer.4d.com*.
+**Valeurs possibles** : Valeur entière exprimant une durée en secondes. La valeur peut être positive (nouvelles connexions) ou négative (connexions existantes). Par défaut, la valeur est 20.
-**Valeurs possibles** **:** L'une des constantes suivantes (Log info par défaut): Log trace: active ERROR, WARN, INFO, DEBUG, TRACE (niveau le plus détaillé) Log debug: active ERROR, WARN, INFO, DEBUG Log info: active ERROR, WARN, INFO (par défaut) Log warn: active ERROR, WARN Log error: active ERROR (niveau le moins détaillé)
+**Description** : Délai maximum d’inactivité (timeout) des connexions au moteur de base de données, au serveur SQL de 4D ainsi qu'au serveur d'applications 4D (mode *ServerNet* uniquement, ignoré en *QUIC*). Lorsqu’une connexion inactive atteint ce délai, elle est automatiquement mise en veille, ce qui se traduit par le gel de la session client/serveur et la fermeture du socket réseau. Dans la fenêtre d'administration du serveur, le process utilisateur prend l'état "Postponed". Ce fonctionnement est entièrement transparent pour l’utilisateur : dès qu’il y a reprise d’activité sur la connexion mise en veille, le socket est automatiquement rouvert et la session client/serveur restaurée.
+Ce paramétrage permet, d’une part, d’économiser des ressources sur le serveur : les connexions mises en veille referment le socket et libèrent un processus sur le serveur. D’autre part, il permet d’éviter les pertes de connexions dues aux fermetures par les pare-feux des sockets inactifs. La valeur de timeout des connexions inactives doit pour cela être inférieure à celle du pare-feu.
+Si vous passez une valeur positive dans *valeur*, elle s'applique à toutes les nouvelles connexions dans tous les process. Si vous passez une valeur négative, elle s’applique aux connexions ouvertes dans le process courant. Si vous passez 0, les connexions inactives ne sont pas soumises à un timeout.
-### Use legacy network layer (87)
+Ce paramètre doit être défini côté client. Généralement, vous n'aurez pas besoin de modifier cette valeur.
-**Portée :** 4D local, 4D Server.
-**Conservé entre deux sessions :** Oui
-**Description :** Fixe ou lit le statut courant de l'ancienne couche réseau pour les connexions client/serveur. L'ancienne couche réseau est obsolète à compter de 4D v14 R5 et doit être progressivement remplacée dans vos applications par la couche réseau *ServerNet*. *ServerNet* sera nécessaire dans les prochaines versions de 4D afin de permettre aux applications 4D de tirer parti des futures évolutions réseau. Pour des raisons de compatibilité, l'ancienne couche réseau est toujours prise en charge afin de faciliter la transition des applications existantes (elle reste utilisée par défaut dans les applications converties depuis des versions antérieures à la v14 R5). Passez 1 dans ce paramètre pour utiliser l'ancienne couche réseau (et désactiver *ServerNet*), et passez 0 pour désactiver l'ancienne couche réseau (et utiliser *ServerNet*).
-Cette propriété peut également être définie à l'aide de l'option "Utiliser l'ancienne couche réseau" présente dans la *Page Compatibilité* des Propriétés de la base (voir section *Options réseau et Client-serveur* ; dans cette section, vous trouverez aussi un paragraphe décrivant la stratégie de migration. Nous vous recommandons d'activer *ServerNet* dès que possible).
+### IMAP Log (119)
-Il est nécessaire de redémarrer l'application pour que ce paramètre soit pris en compte.
+**Thread-safe** : Yes
-**Valeurs possibles :** 0 ou 1 (0 = ne pas utiliser l'ancienne couche, 1 = utiliser l'ancienne couche)
+**Portée** : 4D local, 4D Server
-**Valeur par défaut :** 0 dans les applications créées avec 4D v14 R5 ou suivantes, 1 dans les applications converties depuis 4D v14 R4 ou précédentes.
+**Conservé entre deux sessions :** Non
+**Valeurs possibles :** 0 ou de 1 à N (0 = ne pas enregistrer, 1 à N = numéro séquentiel, ajouté au nom du fichier). Par défaut, la valeur est 0 (échanges IMAP non enregistrés).
+**Description :** Démarre ou stoppe l'enregistrement des échanges entre 4D et le serveur IMAP, lorsqu'un objet transporteur est traité via *IMAP\_transporteur.getMail( )* ou *IMAP\_transporteur.checkConnection( )*. Par défaut, la valeur est 0 (échanges non enregistrés). Lorsque ce mécanisme est activé, un fichier journal est créé dans le dossier Journaux de la base de données. Il est nommé 4DIMAPLog\_N.txt, où N est le numéro séquentiel du journal. Une fois que le fichier 4DIMAPLog a atteint une taille de 10 Mo, il est fermé et un nouveau est généré, avec un numéro séquentiel incrémenté. Si un fichier du même nom existe déjà, il est directement remplacé. Vous pouvez définir le numéro de départ de la séquence à l'aide du paramètre value. Par défaut, tous les fichiers sont conservés, mais vous pouvez contrôler le nombre de fichiers à conserver en utilisant le paramètre Circular log limitation.
-### SQL Server Port ID (88)
+Pour plus d'informations sur les fichiers 4DIMAPLog\_N.txt, reportez-vous à la section *Description des fichiers d'historique*.
-**Portée** : 4D mode local et 4D Server.
-**Conservé entre deux sessions** : Oui
-**Description** : Permet de lire ou de fixer le numéro du port TCP utilisé par le serveur SQL intégré de 4D en mode local ou de 4D Server. Par défaut, la valeur est 19812\. Le numéro de port TCP peut également être défini dans la page "SQL" de la boîte de dialogue des Propriétés de la base. Lorsque ce sélecteur est utilisé en écriture, la propriété de la base est mise à jour.
-**Valeurs possibles** : 0 à 65535.
+### Is current database a project (112)
-**Valeur par défaut** : 19812
+**Note :** Vous pouvez utiliser ce sélecteur uniquement à l'aide de la commande [Get database parameter](get-database-parameter.md) et ses valeurs ne peuvent pas être définies.
+**Portée** : Application 4D
+**Description** : Retourne 1 si l'architecture de la base courante est un projet, sinon elle retourne 0\. Pour plus d'informations, veuillez consulter la section *Base projet VS base binaire*.
-### Circular log limitation (90)
-**Thread-safe** : Yes
-**Portée** : 4D local, 4D Server.
-**Conservé entre deux sessions** : Non
+### Is host database a project (113)
-**Valeurs possibles** : Toute valeur entière, 0 = conserver tous les journaux
+**Note :** Vous pouvez utiliser ce sélecteur uniquement à l'aide de la commande [Get database parameter](get-database-parameter.md) et ses valeurs ne peuvent pas être définies.
-**Description** : Nombre maximum de fichiers à conserver par roulement pour chaque type de journal. Par défaut, les 50 fichiers les plus récents sont conservés. Si vous passez une valeur N, seuls les N fichiers les plus récents seront conservés, le plus ancien étant automatiquement effacé à la création d'un nouveau. Ce paramétrage s'applique à tous les fichiers journaux, notamment le journal des requêtes (sélecteurs 28 et 45), le journal de débogage (sélecteur 34), le journal des événements (sélecteur 79), l'historique des requêtes Web (sélecteurs 29 et 84 de la commande [WEB SET OPTION](web-set-option.md)), etc.
+**Portée** : Application 4D
+**Description** : Retourne 1 si l'architecture de la base hôte est un projet, sinon elle retourne 0\. Pour plus d'informations, veuillez consulter la section *Base projet VS base binaire*.
-### Number of formulas in cache (92)
-**Portée** : Application 4D.
-**Conservé entre deux sessions** : Non
+### Is host database writable (117)
-**Valeurs possibles** : Entier long positif
+**Note :** Vous pouvez utiliser ce sélecteur uniquement avec la commande [Get database parameter](get-database-parameter.md) et sa valeur ne peut pas être définie.
-**Valeur par défaut** : 0 (pas de cache)
+**Portée** : Application 4D
-**Description** : Fixe ou lit le nombre maximum de formules à conserver dans le cache des formules, qui est utilisé par la commande [EXECUTE FORMULA](execute-formula.md). Cette limite est appliquée à tous les process, mais chaque process dispose de son propre cache de formules. Placer des formules dans le cache accélère l'exécution de la commande [EXECUTE FORMULA](execute-formula.md) en mode compilé puisque chaque formule en cache est tokenisée une seule fois dans ce cas. Lorsque vous modifiez la valeur du cache, son contenu est réinitialisé même si la nouvelle valeur est supérieure à la précédente. Une fois le nombre maximum de formules en cache atteint, toute nouvelle formule exécutée écrase la plus ancienne dans le cache (mode FIFO). Ce paramètre est pris en compte uniquement dans les bases ou les composants compilés.
+**Description** : Retourne 1 si le fichier de structure ou le fichier de projet de l'hôte est en écriture, et retourne 0 s'il est en lecture seule.
-### OpenSSL version (94)
-**Portée** : Tous postes 4D
+### Libldap version (114)
- **Conservé entre deux sessions** : Non
+**Portée** : Machine 4D courante
-**Description**: Retourne le numéro de version de la bibliothèque OpenSSL utilisée sur le poste. (Lecture seule)
+**Conservé entre deux sessions** : Non
+**Description** : Retourne le numéro de version de la bibliothèque LDAP dans l'application 4D sur la machine locale. (Lecture seule)
-### Cache flush periodicity (95)
-**Thread-safe** : Yes
+### Libsasl version (115)
-Portée : 4D local, 4D Server
+**Portée** : Machine 4D courante
**Conservé entre deux sessions** : Non
-**Valeurs possibles** : entier long > 1 (secondes)
+**Description** : Retourne le numéro de version de la bibliothèque SASL dans l'application 4D sur la machine locale. (Lecture seule)
-**Description** : Permet de lire ou de fixer la valeur courante de périodicité de l'écriture du cache de données sur le disque, exprimée en secondes. Si elle est modifiée, cette valeur remplace la valeur définie par l'option **Ecriture cache toutes les secondes/minutes** dans la [XML DECODE](xml-decode.md) des Propriétés de la base durant la session courante (elle n'est pas stockée dans les Propriétés de la base).
-### Remote connection sleep timeout (98)
+### Libzip version (120)
-**Portée** : Application 4D Server
+**Portée :** Machine 4D courante
-**Conservé entre deux sessions** : Non
+**Conservé entre deux sessions :** n/a
-**Valeurs possibles** : Entier long positif
+**Description :** Retourne le numéro de version de la bibliothèque libzip dans l'application 4D sur la machine courante. (Lecture seule)
-**Description** : Timeout de la connexion à distance en veille, exprimé en secondes. Par défaut, la valeur est 172800 (48 heures). Le délai de mise en veille est appliqué une fois qu'une machine exécutant une application distante 4D est passée en mode veille. Dans ce cas, sa session est maintenue par 4D Server (voir la description de la fonctionnalité ). 4D Server vérifie toutes les 5 minutes si un 4D distant en veille a dépassé le délai de veille, auquel cas il est abandonné. Ainsi, la durée de veille maximale autorisée est la *timeout mise en veille actuel + 300*. Dans certains cas, vous souhaiterez peut-être modifier le délai de mise en veille, pour libérer, par exemple, les enregistrements/licences verrouillés plus rapidement.
-### Tips enabled (101)
+### Log command list (80)
-**Portée :** Application 4D
+**Portée** : Application 4D
-**Conservé entre deux sessions :** Non
+**Conservé** **entre deux sessions** : Non
-**Valeurs possibles :** 0 = message d'aide désactivés, 1 = messages d'aide activés (défaut)
+**Valeurs possibles** : Chaîne contenant la liste des numéros des commandes 4D à enregistrer (séparées par des points-virgules), ou "all" pour enregistrer toutes les commande, ou "" (chaîne vide) pour n’enregistrer aucune commande, ou le préfixe "-" pour exclure des commandes spécifiques.
-**Description :** Définit ou récupère l'état d'affichage des messages d'aide dans l'application 4D. Par défaut, les messages d'aide sont activées.
+**Description** : Liste des commandes 4D à enregistrer dans le fichier de débogage ou à exclure du fichier de débogage (cf. sélecteur 34, Debug log recording). Par défaut, toutes les commandes 4D sont enregistrées. Ce sélecteur vous permet de restreindre la quantité d’informations stockées dans le fichier de débogage en limitant les commandes 4D dont vous souhaitez enregistrer l’exécution ou bien que vous souhaitez exclure de l'enregistrement. Par exemple, vous pouvez écrire :
- Notez que ce paramètre fixe tous les messages d'aides, c'est-à-dire les messages d'aide des formulaires et ceux de l'éditeur du mode Développement.
+```4d
+//enregistrer uniquement les commandes QUERY et QUERY SELECTION
+SET DATABASE PARAMETER(Log command list;"277;341")
+```
+OU
+```4d
+//exclure les commandes SET USER ALIAS et DELAY PROCESS de l'enregistrement
+SET DATABASE PARAMETER(Log command list;"-1666;-323")
+```
-### Tips delay (102)
+### Max concurrent Web processes (18)
-**Portée :** Application 4D
+**Portée** : 4D local, 4D Server
-**Conservé entre deux sessions :** Non
+**Conservé entre deux sessions** : Oui
-**Valeurs possibles :** entier long >= 0 (ticks)
+**Description** : *Constante obsolète (conservée par compatibilité uniquement).* Il est désormais conseillé d'utiliser les commandes [WEB SET OPTION](web-set-option.md) et [WEB GET OPTION](web-get-option.md) pour le paramétrage du serveur HTTP.
-**Description :** délai avant que les messages d'aide soient affichés une fois que le curseur de la souris est arrêté sur les objets avec message d'aide. La valeur est exprimée en ticks (1/60e de seconde). La valeur par défaut est de 45 ticks (0,75 seconde).
-### Tips duration (103)
+### Maximum Web requests size (27)
-**Portée :** Application 4D
+**Portée** : 4D local, 4D Server
-**Conservé entre deux sessions :** Non
+ **Conservé** **entre deux sessions** : Oui
-**Valeurs possibles :** entier long >= 60 (ticks)
+ **Description** : *Constante obsolète (conservée par compatibilité uniquement).* Il est désormais conseillé d'utiliser les commandes [WEB SET OPTION](web-set-option.md) et [WEB GET OPTION](web-get-option.md) pour le paramétrage du serveur HTTP.
-**Description :** Durée maximum de l'affichage du message d'aide. La valeur est exprimée en ticks (1/60e de seconde). La valeur par défaut est de 720 ticks (12 secondes).
@@ -773,166 +603,173 @@ Portée : 4D local, 4D Server
-### User param value (108)
-**Portée :** 4D local, 4D Server
+### Number of formulas in cache (92)
+
+**Portée** : Application 4D.
-**Conservé entre deux sessions :** Non
+**Conservé entre deux sessions** : Non
-**Valeurs possibles** : Toute chaîne personnalisée
+**Valeurs possibles** : Entier long positif
-**Description :** Chaîne personnalisée passée d'une session à la suivante lorsque l'application 4D est redémarrée. Ce sélecteur est utile dans les cas où des tests unitaires automatisés nécessitent que les applications redémarrent avec des paramètres différents.
+**Valeur par défaut** : 0 (pas de cache)
-Avec [SET DATABASE PARAMETER](set-database-parameter.md), définit une nouvelle valeur qui sera disponible dans la prochaine base de données ouverte après le redémarrage manuel de 4D or l'utilisation des commandes [OPEN DATABASE](open-database.md)(\*), [OPEN DATA FILE](open-data-file.md), ou [RESTART 4D](restart-4d.md). Avec [Get database parameter](get-database-parameter.md), retourne la valeur User param courante définie à l'aide d'une ligne de commande (voir *Interface ligne de commande*), un fichier .4DLink (voir *Utiliser un fichier 4DLink*), ou un appel à [SET DATABASE PARAMETER](set-database-parameter.md) durant la session précédente. (\*) Si [SET DATABASE PARAMETER](set-database-parameter.md) fixe une User param value avant d'appeler [OPEN DATABASE](open-database.md) à l'aide d'un fichier .4DLink contenant également un attribut xml user-param xml, 4D ne tient compte que du paramètre fourni par [SET DATABASE PARAMETER](set-database-parameter.md).
+**Description** : Fixe ou lit le nombre maximum de formules à conserver dans le cache des formules, qui est utilisé par la commande [EXECUTE FORMULA](execute-formula.md). Cette limite est appliquée à tous les process, mais chaque process dispose de son propre cache de formules. Placer des formules dans le cache accélère l'exécution de la commande [EXECUTE FORMULA](execute-formula.md) en mode compilé puisque chaque formule en cache est tokenisée une seule fois dans ce cas. Lorsque vous modifiez la valeur du cache, son contenu est réinitialisé même si la nouvelle valeur est supérieure à la précédente. Une fois le nombre maximum de formules en cache atteint, toute nouvelle formule exécutée écrase la plus ancienne dans le cache (mode FIFO). Ce paramètre est pris en compte uniquement dans les bases ou les composants compilés.
-### Times inside objects (109)
-Portée : 4D local, 4D Server (tous process)
+### OpenSSL version (94)
-**Conservé entre deux sessions** : Oui
+**Portée** : Tous postes 4D
- **Valeurs possibles** : Times in seconds (0) (défaut), Times in milliseconds (1)
+ **Conservé entre deux sessions** : Non
-**Description** : Définit la manière dont les valeurs de type heure sont converties et stockées dans les propriétés d'objets et les éléments de collections, ainsi que lors des imports/exports JSON et via les zones Web. Par défaut, à compter de 4D v17, les heures sont converties et stockées en nombre de secondes.
+**Description**: Retourne le numéro de version de la bibliothèque OpenSSL utilisée sur le poste. (Lecture seule)
-Dans les versions précédentes, les heures étaient converties et stockées en nombre de millisecondes dans ces contextes. L'utilisation de ce sélecteur peut vous aider lors de la migration de vos applications en rétablissant le fonctionnement précédent lorsque c'est nécessaire.
-**Note** : Les méthodes ORDA et le moteur SQL ne tiennent pas compte de ce paramétrage, ces deux environnements manipulent toujours les heures en nombre de secondes.
+### Order by formula on server (47)
-### SMTP Log (110)
+**Portée** :Table et process courants
-**Thread-safe** : Yes
+ **Conservé** **entre deux sessions** : Non
-Portée : 4D local, 4D Server*
+ **Valeurs possibles** : 0 (utiliser le paramétrage de la base), 1 (exécuter sur le client) ou 2 (exécuter sur le serveur)
+
+**Description** : Emplacement de l’exécution de la commande [ORDER BY FORMULA](order-by-formula.md) pour la table passée en paramètre.
-* **Conservé entre deux sessions** : Non
+Dans le cadre de l’exploitation d’une base en client-serveur, la commande [ORDER BY FORMULA](order-by-formula.md) peut être exécutée soit sur le serveur soit sur le client. Ce sélecteur permet de définir l’emplacement de l’exécution de cette commande (serveur ou client). Ce mode peut également être défini dans les préférences de la base. Pour plus d’informations, reportez-vous à la description du sélecteur 46, Query by formula on server.
-**Valeurs possibles** : 0 ou de 1 à N (0 = ne pas enregistrer, 1 à N = numéro séquentiel, accolé au nom du fichier). Par défaut, la valeur est 0 (pas d'enregistrement des échanges SMTP).
+**Note :** Si vous souhaitez pouvoir activer les jointures "type SQL" (cf. sélecteur Query by formula joins), vous devez toujours exécuter les formules sur le serveur afin qu'elle ait accès aux enregistrements. Attention, dans ce contexte, la formule ne doit pas contenir d'appel à une méthode, sinon elle est automatiquement basculée sur le poste distant.
-**Description** : Démarrage ou arrêt de l'enregistrement des échanges entre 4D et le serveur SMTP, lorsqu'un objet *transporteur* est traité par *transporteur.send( )* ou *SMTP\_transporteur.checkConnection( )*. Par défaut, la valeur est 0 (pas d'enregistrement des échanges SMTP). Lorsque ce mécanisme est activé, un fichier d'historique est créé dans le dossier Logs de la base. Il est nommé 4DSMTPLog\_X.txt, *où N* est le numéro séquentiel de l'historique. Une fois qu'un fichier atteint une taille de 10 Mo, il est refermé et un nouveau fichier est généré, avec un numéro séquentiel incrémenté. Si un fichier du même nom existe déjà, il est directement remplacé. Vous pouvez définir le numéro de départ de la séquence à l'aide du paramètre *valeur*. Par défaut, tous les fichiers sont conservés, mais vous pouvez gérer le nombre de fichier à conserver à l'aide du paramètre Circular log limitation.
-Pour plus d'informations sur les fichiers 4DSMTPLog\_X.txt, veuillez consulter la section *Description des fichiers d'historique*.
+### Pause logging (121)
-### Current process debug log recording (111)
+**Thread-safe** : Yes
**Portée :** Application 4D
**Conservé entre deux sessions :** Non
-**Description** : Démarrage ou arrêt de l'enregistrement séquentiel des événements de programmation **du process courant** dans un fichier d'historique séparé. Cet historique est semblable à Debug log recording (sélecteur 34) mais il ne porte que sur le process courant. Le nom du fichier d'historique inclut la lettre "p" et le numéro du process : 4DDebugLog\[\_p*N*_*n*].txt, où N est l'ID unique du process. Pour plus d'informations sur ce format et sur l'utilisation du fichier *4DDebugLog*, veuillez consulter la *Description des fichiers d'historique* dans le Mode Développement.
+**Valeurs possibles :** 0 (reprise des journaux), 1 (pause des journaux)
-**Notes :** Ce sélecteur est fourni uniquement à des fins de débogage et doit être utilisé avec précaution. Plus particulièrement, il ne doit pas être utilisé en production, étant donné qu'il peut avoir une incidence sur les performances de l'application. Vous pouvez utiliser simultanément les sélecteurs Debug log recording et Current process debug log recording, auquel cas les actions liées au process courant ne seront pas enregistrées dans le fichier d'historique principal.
+Ce sélecteur permet de suspendre/reprendre toutes les opérations de journalisation lancées sur l'application (à l'exception des journaux ORDA). Cette fonction peut être utile pour alléger temporairement les tâches de l'application 4D ou pour planifier les opérations des journaux.
-### Is current database a project (112)
+### PHP interpreter IP address (55)
-**Note :** Vous pouvez utiliser ce sélecteur uniquement à l'aide de la commande [Get database parameter](get-database-parameter.md) et ses valeurs ne peuvent pas être définies.
+**Portée** :Application 4D
-**Portée** : Application 4D
+ **Conservé** **entre deux sessions** : Non
-**Description** : Retourne 1 si l'architecture de la base courante est un projet, sinon elle retourne 0\. Pour plus d'informations, veuillez consulter la section *Base projet VS base binaire*.
+**Valeurs** : Chaîne formatée en IPv4 (par exemple "127.0.0.1") ou en IPv6 (par exemple "2001:0db8:0000:0000:0000:ff00:0042:8329")
+**Description** : Adresse IP utilisée localement par 4D pour communiquer avec l’interpéteur PHP via fastcgi. Par défaut, la valeur est "127.0.0.1" (les adresses au format IPv6 sont prises en charge à compter de 4D v16R4).. Cette adresse doit correspondre à la machine sur laquelle se trouve 4D. Ce paramètre peut également être défini globalement pour tous les postes via les Propriétés de la base.
+Pour plus d’informations sur l’interpréteur PHP de 4D, reportez-vous au manuel *Mode Développement*.
-### Is host database a project (113)
-**Note :** Vous pouvez utiliser ce sélecteur uniquement à l'aide de la commande [Get database parameter](get-database-parameter.md) et ses valeurs ne peuvent pas être définies.
-**Portée** : Application 4D
-**Description** : Retourne 1 si l'architecture de la base hôte est un projet, sinon elle retourne 0\. Pour plus d'informations, veuillez consulter la section *Base projet VS base binaire*.
+### PHP interpreter port (56)
+**Portée** :Application 4D
+ **Conservé** **entre deux sessions** : Non
-### Libldap version (114)
+**Valeurs** : Valeur de type entier long positif. Par défaut, la valeur est 8002\.
-**Portée** : Machine 4D courante
+**Description** : Numéro du port TCP utilisé par l’interpréteur PHP de 4D. Ce paramètre peut également être défini globalement pour tous les postes via les Propriétés de la base. Pour plus d’informations sur l’interpréteur PHP de 4D, reportez-vous au manuel *Mode Développement*.
-**Conservé entre deux sessions** : Non
-**Description** : Retourne le numéro de version de la bibliothèque LDAP dans l'application 4D sur la machine locale. (Lecture seule)
+### POP3 Log (116)
-### Libsasl version (115)
+**Thread-safe** : Yes
-**Portée** : Machine 4D courante
+Portée : 4D local, 4D Server
**Conservé entre deux sessions** : Non
-**Description** : Retourne le numéro de version de la bibliothèque SASL dans l'application 4D sur la machine locale. (Lecture seule)
+**Valeurs possibles** : 0 ou de 1 à N (0 = ne pas enregistrer, 1 à N = numéro séquentiel, accolé au nom du fichier). Par défaut, la valeur est 0 (pas d'enregistrement des échanges POP3).
+**Description** : Démarrage ou arrêt de l'enregistrement des échanges entre 4D et le serveur POP3, lorsqu'un objet *transporteur* est traité par *POP3\_transporteur.getMail( )* ou *POP3\_transporteur.checkConnection( )*. Par défaut, la valeur est 0 (pas d'enregistrement des échanges POP3). Lorsque ce mécanisme est activé, un fichier d'historique est créé dans le dossier Logs de la base. Il est nommé 4DPOP3Log\_X.txt, *où N* est le numéro séquentiel de l'historique. Une fois qu'un fichier atteint une taille de 10 Mo, il est refermé et un nouveau fichier est généré, avec un numéro séquentiel incrémenté. Si un fichier du même nom existe déjà, il est directement remplacé. Vous pouvez définir le numéro de départ de la séquence à l'aide du paramètre *valeur*. Par défaut, tous les fichiers sont conservés, mais vous pouvez gérer le nombre de fichier à conserver à l'aide du paramètre Circular log limitation. Pour plus d'informations sur les fichiers 4DPOP3Log\_X.txt, veuillez consulter la section *Description des fichiers d'historique*.
-### POP3 Log (116)
-**Thread-safe** : Yes
-Portée : 4D local, 4D Server
+### Port ID (15)
+
+**Portée** : 4D local, 4D Server
**Conservé entre deux sessions** : Non
-**Valeurs possibles** : 0 ou de 1 à N (0 = ne pas enregistrer, 1 à N = numéro séquentiel, accolé au nom du fichier). Par défaut, la valeur est 0 (pas d'enregistrement des échanges POP3).
+**Description** : Numéro du port TCP utilisé par le serveur Web 4D avec 4D en mode local et 4D Server. Par défaut, la valeur est 80\.
-**Description** : Démarrage ou arrêt de l'enregistrement des échanges entre 4D et le serveur POP3, lorsqu'un objet *transporteur* est traité par *POP3\_transporteur.getMail( )* ou *POP3\_transporteur.checkConnection( )*. Par défaut, la valeur est 0 (pas d'enregistrement des échanges POP3). Lorsque ce mécanisme est activé, un fichier d'historique est créé dans le dossier Logs de la base. Il est nommé 4DPOP3Log\_X.txt, *où N* est le numéro séquentiel de l'historique. Une fois qu'un fichier atteint une taille de 10 Mo, il est refermé et un nouveau fichier est généré, avec un numéro séquentiel incrémenté. Si un fichier du même nom existe déjà, il est directement remplacé. Vous pouvez définir le numéro de départ de la séquence à l'aide du paramètre *valeur*. Par défaut, tous les fichiers sont conservés, mais vous pouvez gérer le nombre de fichier à conserver à l'aide du paramètre Circular log limitation. Pour plus d'informations sur les fichiers 4DPOP3Log\_X.txt, veuillez consulter la section *Description des fichiers d'historique*.
+Le numéro de port TCP est défini dans la page “Web/Configuration” de la boîte de dialogue des Propriétés de la base. Vous pouvez utiliser les constantes du thème *Numéros de port TCP* pour le paramètre *valeur*.
+Le sélecteur Port ID est utile dans le cadre de serveurs Web 4D compilés et fusionnés avec 4D Desktop (pas d’accès au mode Développement). Pour plus d’informations sur le numéro de port TCP, reportez-vous à la section *Paramétrages du serveur Web*.
-### Is host database writable (117)
-**Note :** Vous pouvez utiliser ce sélecteur uniquement avec la commande [Get database parameter](get-database-parameter.md) et sa valeur ne peut pas être définie.
-**Portée** : Application 4D
+### Query by formula joins (49)
-**Description** : Retourne 1 si le fichier de structure ou le fichier de projet de l'hôte est en écriture, et retourne 0 s'il est en lecture seule.
+**Portée** :Process courant
+ **Conservé** **entre deux sessions** : Non
+ **Valeurs possibles** : 0 (utiliser paramétrages de la base), 1 (toujours utiliser les liens auto) ou 2 (utiliser les jointures SQL si possible).
-### IMAP Log (119)
+**Description** : Mode de fonctionnement des commandes [QUERY BY FORMULA](query-by-formula.md) et [QUERY SELECTION BY FORMULA](query-selection-by-formula.md) relatif à l’utilisation de "jointures SQL".
-**Thread-safe** : Yes
+Dans les bases de données créées à compter de la version 11.2 de 4D v11 SQL, ces commandes effectuent des jointures sur le modèle des jointures SQL. Ce mécanisme permet de modifier la sélection d’une table en fonction d’une recherche effectuée sur une autre table sans que les tables soient reliées par un lien automatique (condition nécessaire dans les versions précédentes de 4D).
-**Portée** : 4D local, 4D Server
+Le sélecteur Query by formula joins vous permet de définir le mode de fonctionnement des commandes de recherche par formule pour le process courant :
-**Conservé entre deux sessions :** Non
+0 : utiliser les paramètres courants de la base (valeur par défaut). Dans les bases de données créées à compter de la version 11.2 de 4D v11 SQL, les "jointures SQL" sont toujours activées pour les recherches par formule. Dans les bases de données converties, ce mécanisme est inactivé par défaut pour des raisons des compatibilité mais peut être mis en oeuvre via une préférence.1 : toujours utiliser les liens auto (= fonctionnement des versions précédentes de 4D). Dans ce mode, un lien est nécessaire pour définir la sélection d’une table en fonction de recherches effectuées dans une autre table. 4D n’effectue pas de "jointures SQL".2 : utiliser les jointures SQL si possible (= fonctionnement par défaut des bases créées en version 11.2 et suivantes de 4D v11 SQL). Dans ce mode, 4D établit des "jointures SQL" pour les recherches par formule lorsque la formule s’y prête (à deux exceptions près, voir la description de la commande commandes [QUERY BY FORMULA](query-by-formula.md) ou [QUERY SELECTION BY FORMULA](query-selection-by-formula.md). **Note :** Avec 4D en mode distant, les "jointures SQL" ne peuvent être utilisées que si les formules sont exécutées sur le serveur (elles doivent avoir accès aux enregistrements). Pour configurer le lieu d'exécution des formules, reportez-vous aux sélecteurs 46 et 47.
-**Valeurs possibles :** 0 ou de 1 à N (0 = ne pas enregistrer, 1 à N = numéro séquentiel, ajouté au nom du fichier). Par défaut, la valeur est 0 (échanges IMAP non enregistrés).
-**Description :** Démarre ou stoppe l'enregistrement des échanges entre 4D et le serveur IMAP, lorsqu'un objet transporteur est traité via *IMAP\_transporteur.getMail( )* ou *IMAP\_transporteur.checkConnection( )*. Par défaut, la valeur est 0 (échanges non enregistrés). Lorsque ce mécanisme est activé, un fichier journal est créé dans le dossier Journaux de la base de données. Il est nommé 4DIMAPLog\_N.txt, où N est le numéro séquentiel du journal. Une fois que le fichier 4DIMAPLog a atteint une taille de 10 Mo, il est fermé et un nouveau est généré, avec un numéro séquentiel incrémenté. Si un fichier du même nom existe déjà, il est directement remplacé. Vous pouvez définir le numéro de départ de la séquence à l'aide du paramètre value. Par défaut, tous les fichiers sont conservés, mais vous pouvez contrôler le nombre de fichiers à conserver en utilisant le paramètre Circular log limitation.
-Pour plus d'informations sur les fichiers 4DIMAPLog\_N.txt, reportez-vous à la section *Description des fichiers d'historique*.
+### Query by formula on server (46)
+**Portée** :Table et process courants
-### Libzip version (120)
+ **Conservé** **entre deux sessions** : Non
-**Portée :** Machine 4D courante
+ **Valeurs possibles** : 0 (utiliser le paramétrage de la base), 1 (exécuter sur le client) ou 2 (exécuter sur le serveur)
-**Conservé entre deux sessions :** n/a
+**Description** : Emplacement de l’exécution des commandes [QUERY BY FORMULA](query-by-formula.md) et [QUERY SELECTION BY FORMULA](query-selection-by-formula.md) pour la *table* passée en paramètre.
-**Description :** Retourne le numéro de version de la bibliothèque libzip dans l'application 4D sur la machine courante. (Lecture seule)
+Dans le cadre de l’exploitation d’une base en client-serveur, les commandes de recherche "par formule" peuvent exécutées soit sur le serveur soit sur le client :
+dans les bases de données créées à partir de 4D v11 SQL, ces commandes sont exécutées sur le serveur. dans les bases de données converties, ces commandes sont exécutées sur le client, comme dans les versions précédentes de 4D.dans les bases de données converties, une préférence spécifique permet de modifier globalement le lieu d’exécution de ces commandes.Cette différence de lieu d’exécution influe sur les performances de l’application (l’exécution sur le serveur est généralement plus rapide) mais également sur la programmation. En effet, la valeur des composantes de la formule (notamment les variables appelées via une méthode) diffère suivant le contexte d’exécution. Vous pouvez utiliser ce sélecteur pour adapter ponctuellement le fonctionnement de votre application.
+
+Si vous passez 0 dans le paramètre *valeur*, l’emplacement d’exécution des commandes de recherche "par formule" dépendra de la configuration de la base : dans les bases créées avec 4D v11 SQL, les commandes seront exécutées sur le serveur. Dans les bases converties, elles seront exécutées sur le client ou le serveur en fonction des préférences de la base. Passez 1 ou 2 dans *valeur* pour "forcer" l’exécution des commandes respectivement sur le client ou sur le serveur.
+
+Reportez-vous à l'exemple 2.
+
+**Note :** Si vous souhaitez pouvoir activer les jointures "type SQL" (cf. sélecteur Query by formula joins), vous devez toujours exécuter les formules sur le serveur afin qu'elle ait accès aux enregistrements. Attention, dans ce contexte, la formule ne doit pas contenir d'appel à une méthode, sinon elle est automatiquement basculée sur le poste distant.
-### Pause logging (121)
-**Thread-safe** : Yes
+
+### RDP optimization (133)
**Portée :** Application 4D
**Conservé entre deux sessions :** Non
-**Valeurs possibles :** 0 (reprise des journaux), 1 (pause des journaux)
-
-Ce sélecteur permet de suspendre/reprendre toutes les opérations de journalisation lancées sur l'application (à l'exception des journaux ORDA). Cette fonction peut être utile pour alléger temporairement les tâches de l'application 4D ou pour planifier les opérations des journaux.
+**Valeurs possibles :** `0`: Désactivé (défaut), `1`: Activé.
+**Description :** Active ou désactive les optimisations pour RDP (Remote Desktop Protocol). Lorsqu'il est activé, optimise en particulier l'utilisation du presse-papiers partagé dans les connexions RDP, qui peut sinon entraîner des problèmes de blocage. Notez que ce sélecteur désactive la prise en charge dans le presse-papiers des images encodées en tant que data uri dans du texte brut (concerne uniquement les images déposées ou copiées explicitement en tant que texte à partir d'un navigateur).
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/commands-legacy/open-window.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/commands-legacy/open-window.md
index 0a7eb940767333..b5c2a5a2d8ccd2 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-21/commands-legacy/open-window.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/commands-legacy/open-window.md
@@ -38,7 +38,24 @@ Si vous passez -1 dans *droite* et *bas*, vous indiquez à 4D qu'il faut redimen
**Important :** Ce dimensionnement automatique de la fenêtre n'aura lieu que si vous avez au préalable appelé la commande [FORM SET INPUT](form-set-input.md) pour le formulaire que vous allez afficher dans la fenêtre, et si vous lui avez passé le paramètre optionnel \*.
-* Le paramètre *type* est optionnel. Il définit le type de fenêtre que vous souhaitez afficher, et correspond aux différentes fenêtres présentées dans la section *Types de fenêtres (compatibilité)* (constantes du thème *Creer fenetre*). Si le type passé est négatif, la fenêtre sera flottante. Si le type n'est pas spécifié, le type 1 est utilisé par défaut.
+* Le paramètre *type* est optionnel. Il définit le type de fenêtre que vous souhaitez afficher. Si le type passé est négatif, la fenêtre sera flottante (si pris en charge). Si le type n'est pas spécifié, le type 1 est utilisé par défaut. Les constantes suivantes du thème "Open window" sont utilisables :
+
+|Constante|Commentaire|
+|---|---|
+|Alternate dialog box|Utilisable en fenêtre flottante|
+|Has full screen mode Mac|Option à ajouter aux fenêtres de type document sur macOS uniquement (ex : `Plain form window+Form has full screen mode Mac`)|
+|Modal dialog box ||
+|Movable dialog box |Utilisable en fenêtre flottante|
+|Palette window|Utilisable en fenêtre flottanteNon redimensionnable : `-(Palette window+2)` (Windows) ou ` -Palette window` (macOS)Redimensionnable : `-(Palette window+6)`|
+|Plain dialog box |Utilisable en fenêtre flottante|
+|Plain fixed size window||
+|Plain no zoom box window||
+|Pop up window||
+|Plain window||
+|Resizable sheet window||
+|Round corner window ||
+|Sheet window||
+|Texture appearance|Option à ajouter à un type de fenêtre sur macOS uniquement. Types compatibles : `Plain window`, `Plain no zoom box window`, `Plain fixed size window`, `Movable dialog box`, `Round corner window`|
* Le paramètre *titre* indique le titre (optionnel) de la fenêtre.
Si vous passez une chaîne de caractères vide ("") dans *titre*, vous indiquez à 4D d'utiliser les valeurs saisies dans la zone **Nom de la fenêtre** de la fenêtre des Propriétés du formulaire en mode Développement pour le titre du formulaire que vous allez afficher dans la fenêtre.
@@ -46,7 +63,7 @@ Si vous passez une chaîne de caractères vide ("") dans *titre*, vous indiquez
* Le paramètre *caseFermeture*, optionnel, désigne la méthode de gestion de la fermeture de la fenêtre. Si ce paramètre est passé, la case du menu Système (sous Windows) ou une case de fermeture (sous Mac OS) est ajoutée à la fenêtre. Lorsque l'utilisateur Windows double-clique sur la case du menu Système ou que l'utilisateur Mac OS clique sur la case de fermeture, la méthode passée dans *caseFermeture* est exécutée.
-**Note :** Vous pouvez aussi gérer la fermeture à partir de la méthode du formulaire affiché dans la fenêtre pendant l'événement On Close Box. Pour plus d'informations sur ce point, reportez-vous à la commande [Form event code](../commands/form-event-code.md).
+**Note :** Vous pouvez aussi gérer la fermeture à partir de la méthode du formulaire affiché dans la fenêtre pendant l'événement `On Close Box`. Pour plus d'informations sur ce point, reportez-vous à la commande [Form event code](../commands/form-event-code.md).
Si plusieurs fenêtres sont ouvertes dans le même process, la dernière fenêtre créée est la fenêtre active (de premier plan) du process. Seules les informations situées dans la fenêtre active peuvent être modifiées. Toutes les autres fenêtres peuvent être visualisées. Lorsque l'utilisateur tape une touche du clavier, la fenêtre active vient toujours se placer au premier plan, si elle n'y est pas déjà.
@@ -58,21 +75,19 @@ La méthode projet suivante ouvre une fenêtre centrée dans la fenêtre princip
```4d
// Méthode projet OUVRIR FENETRE CENTREE
- // $1 – Largeur de la fenêtre
- // $2 – Hauteur de la fenêtre
- // $3 – Type de la fenêtre (optionnel)
- // $4 – Titre de la fenêtre (optionnel)
- $SW:=Screen width\2
+ #DECLARE($width : Integer; $height : Integer; $type : Integer; $title : Text)
+ var $SW; $SH; $WW; $WH : Integer
+ $SW:=Screen width\2
$SH:=(Screen height\2)-10
- $WW:=$1\2
- $WH:=$2\2
+ $WW:=$width\2
+ $WH:=$height\2
Case of
:(Count parameters=2)
Open window($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH)
:(Count parameters=3)
- Open window($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH;$3)
+ Open window($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH;$type)
:(Count parameters=4)
- Open window($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH;$3;$4)
+ Open window($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH;$type;$title)
End case
```
@@ -92,7 +107,8 @@ Une fois que cette méthode projet est écrite, vous pouvez l'utiliser de la man
L'exemple suivant crée une fenêtre flottante comportant une case de menu système (sous Windows) ou une case de fermeture (sous Mac OS). La fenêtre est créée dans le coin supérieur droit de la fenêtre de l'application.
```4d
- $mafenetre:=Open window(Screen width-149;33;Screen width-4;178;-Palette window;"";"caseFermeture")
+var $mafenetre : Integer
+$mafenetre:=Open window(Screen width-149;33;Screen width-4;178;-Palette window;"";"caseFermeture")
DIALOG([Dialogues];"Palette de couleurs")
```
@@ -107,7 +123,8 @@ La méthode *caseFermeture* appelle la commande [CANCEL](cancel.md) :
L'exemple suivant ouvre une fenêtre dont le titre et la taille proviennent des propriétés du formulaire affiché dans la fenêtre :
```4d
- FORM SET INPUT([Clients];"Ajout d'enregistrements";*)
+ var $mafenetre : Integer
+ FORM SET INPUT([Clients];"Ajout d'enregistrements";*)
$mafenetre:=Open window(10;80;-1;-1;Plain window;"")
Repeat
ADD RECORD([Clients])
@@ -123,7 +140,8 @@ L'exemple suivant ouvre une fenêtre dont le titre et la taille proviennent des
Cet exemple illustre le mécanisme de “retard” d’affichage des fenêtres feuille sous macOS :
```4d
- $maFenêtre:=Open window(10;10;400;400;Sheet window)
+ var $mafenetre : Integer
+ $mafenetre:=Open window(10;10;400;400;Sheet window)
//A cet instant la fenêtre est créée mais reste invisible
DIALOG([Table];"formDial")
//L’événement Sur chargement est généré puis la fenêtre feuille est affichée, elle "descend"
@@ -133,7 +151,6 @@ Cet exemple illustre le mécanisme de “retard” d’affichage des fenêtres f
## Voir aussi
[CLOSE WINDOW](close-window.md)
-*Creer fenetre*
[Open form window](open-form-window.md)
## Propriétés
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/commands-legacy/query-by-attribute.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/commands-legacy/query-by-attribute.md
index 409a9a671ef5d0..fd62c5cf520e20 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-21/commands-legacy/query-by-attribute.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/commands-legacy/query-by-attribute.md
@@ -10,10 +10,10 @@ displayed_sidebar: docs
| Paramètre | Type | | Description |
| --- | --- | --- | --- |
| laTable | Table | → | Table dans laquelle la sélection est créée ou Table par défaut si ce paramètre est omis |
-| opConj | * | → | Opérateur à utiliser pour combiner plusieurs requêtes (le cas échéant) |
+| opConj | Operator | → | Opérateur à utiliser pour combiner plusieurs requêtes (le cas échéant) |
| champObjet | Field | → | Champ objet dont les attributs sont à utiliser pour la recherche |
| cheminAttribut | Text | → | Nom ou chemin d'attribut |
-| opRech | Text, * | → | Opérateur de recherche (comparateur) |
+| opRech | Text, Operator | → | Opérateur de recherche (comparateur) |
| valeur | Text, Number, Date, Time | → | Valeur à comparer |
| * | Opérateur | → | Attente d'exécution de la recherche |
@@ -65,7 +65,7 @@ La *valeur* représente ce qui va être comparé au contenu de *cheminAttribut*.
Voici la structure type d'une recherche par attribut :
```4d
- QUERY BY ATTRIBUTE([Table] ;[Table]ChampObjet ;"attribut1.attribut2";=;valeur)
+ QUERY BY ATTRIBUTE([Table] ;[Table]ChampObjet ;"attribut1.attribut2";=;valeur)
```
**Note :** La présence de l'attribut dans le champ objet est un critère implicite pour tous les opérateurs (hormis #). En revanche, pour l'opérateur #, il peut être indéfini (cf. ci-dessous).
@@ -75,7 +75,7 @@ Voici la structure type d'une recherche par attribut :
Lorsque vous effectuez une recherche par attribut à l'aide de l'opérateur #, vous devez prendre en considération les cas où un attribut n'est pas présent dans un enregistrement. Considérons par exemple ce qui suit :
```4d
- QUERY BY ATTRIBUTE([Personnes];[Personnes]Animaux;"chien.nom";#;"Médor")
+ QUERY BY ATTRIBUTE([Personnes];[Personnes]Animaux;"chien.nom";#;"Médor")
```
Cette recherche retournera les enregistrements des personnes ayant un chien dont le nom n'est pas "Médor", mais ne retournera PAS les les enregistrements des personnes n'ayant pas de chien, ou ayant un chien sans nom, c'est-à-dire les enregistrements pour lesquels la valeur de la proprité "chien.nom" est **null**. Le concept est le suivant : le moteur de recherche ne peut pas comparer l'incomparable, à savoir les données manquantes ou inexistantes. Ainsi, les enregistrements qui ne peuvent pas être comparés aux critères de recherche sont exclus de la recherche.
@@ -83,7 +83,7 @@ Cette recherche retournera les enregistrements des personnes ayant un chien dont
Voici un exemple plus générique :
```4d
- QUERY BY ATTRIBUTE([Table];[Table]ChampObjet;"attribut1.attribut2";#;valeur)
+ QUERY BY ATTRIBUTE([Table];[Table]ChampObjet;"attribut1.attribut2";#;valeur)
```
@@ -95,7 +95,7 @@ Cette recherche retournera tous les enregistrements pour lesquels *\[Table\]Cham
Ce principe s'applique également aux attributs tableaux. Par exemple, la recherche retournera les enregistrements des personnes ayant une ou plusieurs adresses, mais n'ayant aucune adresse à Paris.
```4d
- QUERY BY ATTRIBUTE([Personnes];[Personnes]OB_Field;"locations[].city";#;"paris")
+ QUERY BY ATTRIBUTE([Personnes];[Personnes]OB_Field;"locations[].city";#;"paris")
```
@@ -129,20 +129,20 @@ Les dates sont stockées dans les objets en fonction des paramètres de la base
Ce paramétrage est également respecté durant les recherches, donc vous n'avez pas à vous en préoccuper si vous utilisez toujours votre base dans la même zone et si les paramètres sont identiques sur chaque machine qui accède aux données. Dans ce contexte, la recherche suivante retournera bien les enregistrements dont l'attribut Anniversaire est égal à !1973-05-22! (stocké "1973-05-21T23:00:00.00Z") :
```4d
- QUERY BY ATTRIBUTE([Personnes];[Personnes]OB_Info;"Anniversaire";=;!1973-05-22!)
+ QUERY BY ATTRIBUTE([Personnes];[Personnes]OB_Info;"Anniversaire";=;!1973-05-22!)
```
Si vous ne souhaitez pas utiliser le paramétrage GMT, vous pouvez exécuter l'instruction suivante :
```4d
- SET DATABASE PARAMETER(JSON use local time;0)
+ SET DATABASE PARAMETER(JSON use local time;0)
```
Attention, la portée de ce paramètre est limitée au process. Si vous exécutez cette instruction, le 1er Octobre 1965 sera stocké "1965-10-01T00:00:00.000Z" mais vous devrez fixer le même paramètre avant de lancer vos recherches :
```4d
- SET DATABASE PARAMETER(JSON use local time;0)
- QUERY BY ATTRIBUTE([Personnes];[Personnes]OB_Info;"Anniversaire";=;1976-11-27!)
+ SET DATABASE PARAMETER(JSON use local time;0)
+ QUERY BY ATTRIBUTE([Personnes];[Personnes]OB_Info;"Anniversaire";=;1976-11-27!)
```
### Utilisation de la propriété virtuelle length
@@ -177,8 +177,8 @@ Par exemple, avec les deux enregistrements suivants :
Vous souhaitez trouver les personnes qui ont un type d'adresse "home" dans la ville "Paris". Si vous écrivez :
```4d
- QUERY BY ATTRIBUTE([Personnes];[Personnes]OB_Field;"locations[].city";=;"Paris";*)
- QUERY BY ATTRIBUTE([Personnes];[Personnes]OB_Field;"locations[].kind";=;"home")
+ QUERY BY ATTRIBUTE([Personnes];[Personnes]OB_Field;"locations[].city";=;"Paris";*)
+ QUERY BY ATTRIBUTE([Personnes];[Personnes]OB_Field;"locations[].kind";=;"home")
```
... la recherche retournera "Martin" et "Smith" car "Smith" a un élément "locations" dont le "kind" est "home" et un (autre) élément "locations" dont la "city" est "Paris".
@@ -191,8 +191,8 @@ Vous souhaitez trouver les personnes qui ont un type d'adresse "home" dans la vi
Avec les mêmes enregistrements que précédemment, si vous écrivez :
```4d
- QUERY BY ATTRIBUTE([Personnes];[Personnes]OB_Field;"locations[a].city";=;"Paris";*)
- QUERY BY ATTRIBUTE([Personnes];[Personnes]OB_Field;"locations[a].kind";=;"home")
+ QUERY BY ATTRIBUTE([Personnes];[Personnes]OB_Field;"locations[a].city";=;"Paris";*)
+ QUERY BY ATTRIBUTE([Personnes];[Personnes]OB_Field;"locations[a].kind";=;"home")
```
... la recherche retournera uniquement "Martin" car il a un élément "locations" dont le "kind" est "home" et dont la "city" est "Paris". La recherche ne retournera pas "Smith" car les valeurs "Paris" et "home" ne se trouvent pas dans le même élément de tableau. Reportez-vous ci-dessous pour plus d'exemples d'utilisations de cette fonctionnalité.
@@ -204,10 +204,10 @@ Avec les mêmes enregistrements que précédemment, si vous écrivez :
Dans cet exemple, l'attribut "age" est soit une chaîne soit un entier et nous souhaitons trouver les personnes dont l'âge est situé entre 20 et 29\. Les deux premières lignes interrogent l'attribut en tant qu'entier (>=20 et < 30) et les suivantes interrogent l'attribut en tant que chaîne (débute par "2" mais est différent de "2").
```4d
- QUERY BY ATTRIBUTE([Personnes];[Personnes]OB_Info;"age";>=;20;*)
- QUERY BY ATTRIBUTE([Personnes];&;[Personnes]OB_Info;"age";<;30;*)
- QUERY BY ATTRIBUTE([Personnes];|;[Personnes]OB_Info;"age";=;"2@";*)
- QUERY BY ATTRIBUTE([Personnes];&;[Personnes]OB_Info;"age";#;"2") //pas de * final pour lancer l'exécution
+ QUERY BY ATTRIBUTE([Personnes];[Personnes]OB_Info;"age";>=;20;*)
+ QUERY BY ATTRIBUTE([Personnes];&;[Personnes]OB_Info;"age";<;30;*)
+ QUERY BY ATTRIBUTE([Personnes];|;[Personnes]OB_Info;"age";=;"2@";*)
+ QUERY BY ATTRIBUTE([Personnes];&;[Personnes]OB_Info;"age";#;"2") //pas de * final pour lancer l'exécution
```
## Exemple 2
@@ -215,15 +215,15 @@ Dans cet exemple, l'attribut "age" est soit une chaîne soit un entier et nous s
La commande **QUERY BY ATTRIBUTE** peut être utilisée pour rechercher des enregistrements dans lesquels certains attributs sont définis (ou non définis). Pour cela, vous devez utiliser un objet vide :
```4d
- //Trouver les enregistrements où l'email est défini dans le champ objet
- var $undefined : Object
- QUERY BY ATTRIBUTE([Personnes];[Personnes]Info;"email";#;$undefined)
+ //Trouver les enregistrements où l'email est défini dans le champ objet
+ var $undefined : Object
+ QUERY BY ATTRIBUTE([Personnes];[Personnes]Info;"email";#;$undefined)
```
```4d
- //Trouver les enregistrements où le zip code n'est PAS défini dans le champ objet
- var $undefined : Object
- QUERY BY ATTRIBUTE([Personnes];[Personnes]Info;"zip code";=;$undefined)
+ //Trouver les enregistrements où le zip code n'est PAS défini dans le champ objet
+ var $undefined : Object
+ QUERY BY ATTRIBUTE([Personnes];[Personnes]Info;"zip code";=;$undefined)
```
**Note :** Cette syntaxe spécifique n'est pas prise en charge avec les attributs de type tableau. La recherche de valeurs NULL dans les attributs de tableau donne des résultats invalides.
@@ -254,17 +254,17 @@ Vous voulez chercher un champ contenant des attributs tableaux. Avec les deux en
... **QUERY BY ATTRIBUTE** trouvera les personnes ayant une localisation à "paris" par cette recherche :
```4d
- //on indique l'attribut tableau avec la syntaxe "[]"
- QUERY BY ATTRIBUTE([Personnes];[Personnes]OB_Field;"locations[].city";=;"paris")
- //trouve "martin" et "smith"
+ //on indique l'attribut tableau avec la syntaxe "[]"
+ QUERY BY ATTRIBUTE([Personnes];[Personnes]OB_Field;"locations[].city";=;"paris")
+ //trouve "martin" et "smith"
```
**Note :** Si vous avez défini plusieurs critères sur le même attribut tableau, les critères correspondants ne s'appliqueront pas nécessairement au même élément de tableau. Dans l'exemple ci-dessous, la recherche retournera "smith" car l'attribut a un élément "locations" dont le "kind" est "home" et un élément "locations" dont le "city" est "paris", même s'il ne s'agit pas du même élément :
```4d
- QUERY BY ATTRIBUTE([Personnes];[Personnes]OB_Field;"locations[].kind";=;"home";*)
- QUERY BY ATTRIBUTE([Personnes];&;[Personnes]OB_Field;"locations[].city";=;"paris")
- //trouve "smith"
+ QUERY BY ATTRIBUTE([Personnes];[Personnes]OB_Field;"locations[].kind";=;"home";*)
+ QUERY BY ATTRIBUTE([Personnes];&;[Personnes]OB_Field;"locations[].city";=;"paris")
+ //trouve "smith"
```
## Exemple 4
@@ -276,7 +276,7 @@ Cet exemple illustre l'utilisation de la propriété virtuelle "length". Votre b
Vous souhaitez obtenir les enregistrements des clients qui ont deux enfants ou plus. Vous pouvez écrire :
```4d
- QUERY BY ATTRIBUTE([Customer];[Customer]full_Data;"Children.length";>=;2)
+ QUERY BY ATTRIBUTE([Customer];[Customer]full_Data;"Children.length";>=;2)
```
## Exemple 5
@@ -355,45 +355,45 @@ Ces exemples illustrent les différentes combinaisons de liaisons de critères d
Recherche des personnes qui ont un enfant de 15 ans nommé "Betty" :
```4d
- QUERY BY ATTRIBUTE([Personnes];[Personnes]OBField;"Enfants[a].Nom";=;"Betty";*)
- QUERY BY ATTRIBUTE([Personnes];&;[Personnes]OBField;"Enfants[a].Age";=;"15")
- //retourne "Victor"
-
- QUERY BY ATTRIBUTE([Personnes];[Personnes]OBField;"Enfants[].Nom";=;"Betty";*)
- QUERY BY ATTRIBUTE([Personnes];&;[Personnes]OBField;"Enfants[].Age";=;"15")
- //retourne "Sam", "Louis" et "Victor"
+ QUERY BY ATTRIBUTE([Personnes];[Personnes]OBField;"Enfants[a].Nom";=;"Betty";*)
+ QUERY BY ATTRIBUTE([Personnes];&;[Personnes]OBField;"Enfants[a].Age";=;"15")
+ //retourne "Victor"
+
+ QUERY BY ATTRIBUTE([Personnes];[Personnes]OBField;"Enfants[].Nom";=;"Betty";*)
+ QUERY BY ATTRIBUTE([Personnes];&;[Personnes]OBField;"Enfants[].Age";=;"15")
+ //retourne "Sam", "Louis" et "Victor"
```
Recherche des personnes qui ont un enfant de 15 ans nommé "Betty" et un enfant de 9 ans nommé "Harry" :
```4d
- QUERY BY ATTRIBUTE([Personnes];[Personnes]OBField;"Enfants[a].Nom";=;"Betty";*)
- QUERY BY ATTRIBUTE([Personnes];&;[Personnes]OBField;"Enfants[a].Age";=;"15";*)
- QUERY BY ATTRIBUTE([Personnes];[Personnes]OBField;"Enfants[b].Nom";=;"Harry";*)
- QUERY BY ATTRIBUTE([Personnes];&;[Personnes]OBField;"Enfants[b].Age";=;"9")
- //retourne "Victor"
-
- QUERY BY ATTRIBUTE([Personnes];[Personnes]OBField;"Enfants[].Nom";=;"Betty";*)
- QUERY BY ATTRIBUTE([Personnes];&;[Personnes]OBField;"Enfants[].Age";=;"15";*)
- QUERY BY ATTRIBUTE([Personnes];[Personnes]OBField;"Enfants[].Nom";=;"Harry";*)
- QUERY BY ATTRIBUTE([Personnes];&;[Personnes]OBField;"Enfants[].Age";=;"9")
- //retourne "Sam" et "Victor"
+ QUERY BY ATTRIBUTE([Personnes];[Personnes]OBField;"Enfants[a].Nom";=;"Betty";*)
+ QUERY BY ATTRIBUTE([Personnes];&;[Personnes]OBField;"Enfants[a].Age";=;"15";*)
+ QUERY BY ATTRIBUTE([Personnes];[Personnes]OBField;"Enfants[b].Nom";=;"Harry";*)
+ QUERY BY ATTRIBUTE([Personnes];&;[Personnes]OBField;"Enfants[b].Age";=;"9")
+ //retourne "Victor"
+
+ QUERY BY ATTRIBUTE([Personnes];[Personnes]OBField;"Enfants[].Nom";=;"Betty";*)
+ QUERY BY ATTRIBUTE([Personnes];&;[Personnes]OBField;"Enfants[].Age";=;"15";*)
+ QUERY BY ATTRIBUTE([Personnes];[Personnes]OBField;"Enfants[].Nom";=;"Harry";*)
+ QUERY BY ATTRIBUTE([Personnes];&;[Personnes]OBField;"Enfants[].Age";=;"9")
+ //retourne "Sam" et "Victor"
```
Recherche des personnes qui ont un enfant de 15 ans nommé "Harry" qui a une voiture bleue en jouet (recherche dans un tableau de tableaux):
```4d
- QUERY BY ATTRIBUTE([Personnes];[Personnes]OBField;"Enfants[a].Nom";=;"Harry";*)
- QUERY BY ATTRIBUTE([Personnes];&;[Personnes]OBField;"Enfants[a].Age";=;"15";*)
- QUERY BY ATTRIBUTE([Personnes];&;[Personnes]OBField;"Enfants[a].Jouets[b].Nom";=;"Voiture";*)
- QUERY BY ATTRIBUTE([Personnes];&;[Personnes]OBField;"Enfants[a].Jouets[b].Coul";=;"Bleu")
- //retourne "Sam"
-
- QUERY BY ATTRIBUTE([Personnes];[Personnes]OBField;"Enfants[].Nom";=;"Harry";*)
- QUERY BY ATTRIBUTE([Personnes];&;[Personnes]OBField;"Enfants[].Age";=;"15";*)
- QUERY BY ATTRIBUTE([Personnes];&;[Personnes]OBField;"Enfants[].Jouets[].Nom";=;"Voiture";*)
- QUERY BY ATTRIBUTE([Personnes];&;[Personnes]OBField;"Enfants[].Jouets[].Coul";=;"Bleu")
- //retourne "Sam" et "Louis"
+ QUERY BY ATTRIBUTE([Personnes];[Personnes]OBField;"Enfants[a].Nom";=;"Harry";*)
+ QUERY BY ATTRIBUTE([Personnes];&;[Personnes]OBField;"Enfants[a].Age";=;"15";*)
+ QUERY BY ATTRIBUTE([Personnes];&;[Personnes]OBField;"Enfants[a].Jouets[b].Nom";=;"Voiture";*)
+ QUERY BY ATTRIBUTE([Personnes];&;[Personnes]OBField;"Enfants[a].Jouets[b].Coul";=;"Bleu")
+ //retourne "Sam"
+
+ QUERY BY ATTRIBUTE([Personnes];[Personnes]OBField;"Enfants[].Nom";=;"Harry";*)
+ QUERY BY ATTRIBUTE([Personnes];&;[Personnes]OBField;"Enfants[].Age";=;"15";*)
+ QUERY BY ATTRIBUTE([Personnes];&;[Personnes]OBField;"Enfants[].Jouets[].Nom";=;"Voiture";*)
+ QUERY BY ATTRIBUTE([Personnes];&;[Personnes]OBField;"Enfants[].Jouets[].Coul";=;"Bleu")
+ //retourne "Sam" et "Louis"
```
## Variables et ensembles système
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/commands-legacy/query-selection-by-attribute.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/commands-legacy/query-selection-by-attribute.md
index 89f8c3ea0a0ecd..923d4aa9384664 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-21/commands-legacy/query-selection-by-attribute.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/commands-legacy/query-selection-by-attribute.md
@@ -10,10 +10,10 @@ displayed_sidebar: docs
| Paramètre | Type | | Description |
| --- | --- | --- | --- |
| laTable | Table | → | Table dans laquelle la sélection est créée ou Table par défaut si ce paramètre est omis |
-| opConj | * | → | Opérateur à utiliser pour combiner plusieurs requêtes (le cas échéant) |
+| opConj | Operator | → | Opérateur à utiliser pour combiner plusieurs requêtes (le cas échéant) |
| champObjet | Field | → | Champ objet dont les attributs sont à utiliser pour la recherche |
| cheminAttribut | Text | → | Nom ou chemin d'attribut |
-| opRecherche | *, Text | → | Opérateur de recherche (comparateur) |
+| opRecherche | Text, Operator | → | Opérateur de recherche (comparateur) |
| valeur | Text, Number, Date, Time | → | Valeur à comparer |
| * | Opérateur | → | Attente d'exécution de la recherche |
@@ -37,9 +37,9 @@ La commande **QUERY SELECTION BY ATTRIBUTE** est utile lorsqu'une recherche ne p
Vous souhaitez trouver les personnes âgées entre 20 et 30 ans parmi les enregistrements sélectionnés par l'utilisateur :
```4d
- USE SET("UserSet") // crée une nouvelle sélection courante
- QUERY SELECTION BY ATTRIBUTE([People];[People]OB_Info;"age";>;20;*)
- QUERY SELECTION BY ATTRIBUTE([People];&;[People]OB_Info;"age";<;30) //déclenche la recherche
+ USE SET("UserSet") // crée une nouvelle sélection courante
+ QUERY SELECTION BY ATTRIBUTE([People];[People]OB_Info;"age";>;20;*)
+ QUERY SELECTION BY ATTRIBUTE([People];&;[People]OB_Info;"age";<;30) //déclenche la recherche
```
## Voir aussi
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/commands-legacy/set-database-parameter.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/commands-legacy/set-database-parameter.md
index cc438fb9687309..2a4ca5c7524977 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-21/commands-legacy/set-database-parameter.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/commands-legacy/set-database-parameter.md
@@ -21,26 +21,6 @@ displayed_sidebar: docs
*sélecteur* désigne le paramètre à modifier. 4D vous propose des constantes prédéfinies, placées dans le thème *Paramètres de la base*. Le tableau suivant décrit chaque constante et indique sa portée et sa persistance entre deux sessions :
-### 4D Server timeout (13)
-
-**Portée** : Application 4D si *valeur* positive
-
-**Conservé entre deux sessions** : Oui si *valeur* positive
-
-**Valeurs possibles** : 0 -> 32 767
-
-**Description** : Valeur du délai avant déconnexion (timeout) accordé par 4D Server aux postes clients.
-
-Par défaut, cette valeur est définie dans la page “Client-Serveur/Options réseau” des Propriétés de la base, sur le poste serveur.
-
-Le timeout serveur définit la période maximale de non-réponse du client "autorisée", par exemple s'il effectue une opération bloquante. A l'issue de cette période, 4D Server déconnecte le client. Le sélecteur 4D Server timeout vous permet de fixer un nouveau timeout, exprimé en minutes. Cette possibilité permet en particulier d’augmenter la valeur du timeout avant l’exécution sur le poste client d’une opération bloquante de longue durée, risquant d’entraîner une déconnexion ; par exemple, l’impression d’un grand nombre de pages.
-
-Vous disposez en outre de deux possibilités :
-
-effectuer une modification globale et permanente : la nouvelle valeur s’applique à tous les process et est stockée dans les préférences de l’application (équivaut à une modification de la valeur dans la boîte de dialogue des Préférences). Pour cela, passez une valeur **positive** dans le paramètre *valeur*.effectuer une modification restreinte et temporaire : la nouvelle valeur ne s’applique qu’au process appelant (les autres process conservant la valeur d’origine), et est abandonnée dès que le serveur reçoit un signe d’activité du poste client — par exemple, dès que l’opération est terminée. Cette possibilité est utile pour gérer les opérations longues initiées par des plug-ins. Pour cela, passez une valeur **négative** dans le paramètre *valeur*. Pour définir une connexion “Ouverte en permanence”, passez 0 dans *valeur*. Reportez-vous à l’exemple 1.
-
-
-
### 4D Remote mode timeout (14)
**Portée** (ancienne couche réseau uniquement) : Application 4D si *valeur* positive
@@ -53,85 +33,6 @@ Le sélecteur 4D Remote mode timeout n'est pris en compte que si vous utilisez l
-### Port ID (15)
-
-**Portée** : 4D local, 4D Server
-
-**Conservé entre deux sessions** : Non
-
-**Description** : Numéro du port TCP utilisé par le serveur Web 4D avec 4D en mode local et 4D Server. Par défaut, la valeur est 80\.
-
-Le numéro de port TCP est défini dans la page “Web/Configuration” de la boîte de dialogue des Propriétés de la base. Vous pouvez utiliser les constantes du thème *Numéros de port TCP* pour le paramètre *valeur*.
-
-Le sélecteur Port ID est utile dans le cadre de serveurs Web 4D compilés et fusionnés avec 4D Desktop (pas d’accès au mode Développement). Pour plus d’informations sur le numéro de port TCP, reportez-vous à la section *Paramétrages du serveur Web*.
-
-
-
-### Character set (17)
-
-**Portée** : 4D local, 4D Server
-
-**Conservé entre deux sessions** : Oui
-
-**Description** : *Constante obsolète (conservée par compatibilité uniquement).* Il est désormais conseillé d'utiliser les commandes [WEB SET OPTION](web-set-option.md) et [WEB GET OPTION](web-get-option.md) pour le paramétrage du serveur HTTP.
-
-
-
-### Max concurrent Web processes (18)
-
-**Portée** : 4D local, 4D Server
-
-**Conservé entre deux sessions** : Oui
-
-**Description** : *Constante obsolète (conservée par compatibilité uniquement).* Il est désormais conseillé d'utiliser les commandes [WEB SET OPTION](web-set-option.md) et [WEB GET OPTION](web-get-option.md) pour le paramétrage du serveur HTTP.
-
-
-
-### Client port ID (22)
-
-**Portée** : Tous postes 4D distants
-
- **Conservé** **entre deux sessions** : Oui
-
- **Valeurs possibles** : Voir sélecteur 15
-
-**Description** : Permet de spécifier ce paramètre pour les postes 4D distants utilisés en tant que serveurs Web. La valeur définie via ce sélecteur est appliquée à tous les postes distants utilisés comme serveurs Web. Si vous souhaitez définir cette valeur pour certains postes distants uniquement, utilisez la boîte de dialogue des Préférences de 4D en mode distant.
-
-
-
-### Client character set (24)
-
-**Portée** : Tous postes 4D distants
-
- **Conservé** **entre deux sessions** : Oui
-
- **Valeurs possibles** : Voir sélecteur 17
-
-**Description** : Permet de spécifier ce paramètre pour les postes 4D distants utilisés en tant que serveurs Web. La valeur définie via ce sélecteur est appliquée à tous les postes distants utilisés comme serveurs Web. Si vous souhaitez définir cette valeur pour certains postes distants uniquement, utilisez la boîte de dialogue des Préférences de 4D en mode distant.
-
-
-
-### Client max concurrent Web proc (25)
-
-**Portée** : Tous postes 4D distants
-
- **Conservé** **entre deux sessions** : Oui
-
- **Valeurs possibles** : Voir sélecteur 18
-
-**Description** : Permet de spécifier ce paramètre pour les postes 4D distants utilisés en tant que serveurs Web. La valeur définie via ce sélecteur est appliquée à tous les postes distants utilisés comme serveurs Web. Si vous souhaitez définir cette valeur pour certains postes distants uniquement, utilisez la boîte de dialogue des Préférences de 4D en mode distant.
-
-
-
-### Maximum Web requests size (27)
-
-**Portée** : 4D local, 4D Server
-
- **Conservé** **entre deux sessions** : Oui
-
- **Description** : *Constante obsolète (conservée par compatibilité uniquement).* Il est désormais conseillé d'utiliser les commandes [WEB SET OPTION](web-set-option.md) et [WEB GET OPTION](web-get-option.md) pour le paramétrage du serveur HTTP.
-
-
### 4D Server log recording (28)
@@ -149,153 +50,131 @@ Le sélecteur Port ID est utile dans le cadre de serveurs Web 4D compilés et fu
-### Client Web log recording (30)
-
-**Portée** :Tous postes 4D distants
-
- **Conservé** **entre deux sessions** : Oui
-
- **Valeurs possibles** : 0 = Ne pas enregistrer (défaut), 1 = Enregistrer au format CLF, 2 = Enregistrer au format DLF, 3 = Enregistrer au format ELF, 4 = Enregistrer au format WLF.
-
-**Description** : Démarrage ou arrêt de l’enregistrement des requêtes Web reçues par les serveurs Web de tous les postes clients. Par défaut, la valeur est 0 (pas d’enregistrement des requêtes).
-
-Le fonctionnement de ce sélecteur est identique à celui du sélecteur 29 ; il s’applique toutefois à tous les postes 4D clients utilisés en tant que serveurs Web. Le fichier “logweb.txt” est dans ce cas automatiquement placé dans le sous-dossier Logs du dossier base 4D client (dossier de cache). Si vous souhaitez définir des valeurs pour certains postes clients uniquement, utilisez la boîte de dialogue des Préférences de 4D en mode distant.
-
+### 4D Server timeout (13)
-### Table sequence number (31)
+**Portée** : Application 4D si *valeur* positive
-**Portée** :Application 4D
+**Conservé entre deux sessions** : Oui si *valeur* positive
- **Conservé** **entre deux sessions** : Oui
+**Valeurs possibles** : 0 -> 32 767
- **Valeurs possibles** : Toute valeur de type entier long.
+**Description** : Valeur du délai avant déconnexion (timeout) accordé par 4D Server aux postes clients.
-**Description** : Ce sélecteur permet de modifier ou de lire le numéro unique courant des enregistrements de la table passée en paramètre. “Numéro courant” signifie “dernier numéro utilisé” : si vous modifiez cette valeur à l’aide de [SET DATABASE PARAMETER](set-database-parameter.md), le prochain enregistrement sera créé avec comme numéro la valeur passée + 1\. Ce nouveau numéro est, lui, retourné par la commande [Sequence number](sequence-number.md) ainsi que dans tout champ de la table auquel la propriété "Incrémentation auto" a été affectée en Structure ou via le SQL.
+Par défaut, cette valeur est définie dans la page “Client-Serveur/Options réseau” des Propriétés de la base, sur le poste serveur.
-Par défaut, le numéro unique est défini par 4D et correspond à l’ordre de création des enregistrements.
+Le timeout serveur définit la période maximale de non-réponse du client "autorisée", par exemple s'il effectue une opération bloquante. A l'issue de cette période, 4D Server déconnecte le client. Le sélecteur 4D Server timeout vous permet de fixer un nouveau timeout, exprimé en minutes. Cette possibilité permet en particulier d’augmenter la valeur du timeout avant l’exécution sur le poste client d’une opération bloquante de longue durée, risquant d’entraîner une déconnexion ; par exemple, l’impression d’un grand nombre de pages.
-Pour des informations supplémentaires, reportez-vous à la documentation de la commande [Sequence number](sequence-number.md).
+Vous disposez en outre de deux possibilités :
+effectuer une modification globale et permanente : la nouvelle valeur s’applique à tous les process et est stockée dans les préférences de l’application (équivaut à une modification de la valeur dans la boîte de dialogue des Préférences). Pour cela, passez une valeur **positive** dans le paramètre *valeur*.effectuer une modification restreinte et temporaire : la nouvelle valeur ne s’applique qu’au process appelant (les autres process conservant la valeur d’origine), et est abandonnée dès que le serveur reçoit un signe d’activité du poste client — par exemple, dès que l’opération est terminée. Cette possibilité est utile pour gérer les opérations longues initiées par des plug-ins. Pour cela, passez une valeur **négative** dans le paramètre *valeur*. Pour définir une connexion “Ouverte en permanence”, passez 0 dans *valeur*. Reportez-vous à l’exemple 1.
-### Debug log recording (34)
-**Thread-safe** : Yes
-**Portée** : Application 4D
+### Auto synchro resources folder (48)
-**Conservé** **entre deux sessions** : Non
+**Portée** :Poste 4D distant
-**Description** : Démarrage ou arrêt de l’enregistrement séquentiel des événements de programmation de 4D dans le fichier *4DDebugLogServer* *\[\_pN\_n\].txt* (où \_n est le numéro de segment du fichier).
+ **Conservé** **entre deux sessions** : Non
-Deux modes sont possibles :
+ **Valeurs possibles** : 0 (pas de synchronisation), 1 (synchronisation auto) ou 2 (demander).
-- Le mode standard propose une vue basique des événements et le fichier est automatiquement placé dans le sous-dossier Logs de la base, à côté du fichier de structure. Les durées d'exécution sont exprimées en millisecondes avec la valeur "< ms" qui s'affiche lorsqu'une opération dure moins d'une milliseconde.
+**Description** : Mode de synchronisation dynamique du dossier *Resources* du poste client 4D ayant exécuté la commande avec celui du serveur.
-- Le mode tabulé fournit des informations supplémentaires et utilise un format tabulé plus compact dans le fichier. Les durées d'exécution sont exprimées en millisecondes. **Valeurs possibles** : Entier long contenant un champ de bits (bit field) : valeur = bit1(1)+bit2(2)+bit3(4)+bit4(8)+…).
+Lorsque le contenu du dossier *Resources* sur le serveur a été modifié ou qu’une demande de synchronisation a été émise (via l’explorateur de ressources ou suite à l'exécution de la commande [NOTIFY RESOURCES FOLDER MODIFICATION](notify-resources-folder-modification.md)), le serveur notifie les clients connectés.
-- Le bit 0 (valeur 1) permet de demander à activer le fichier (à noter que toute autre valeur non nulle l’activera également)
+Trois modes de synchronisation sont alors possibles côté client. Le sélecteur Auto synchro resources folder vous permet de définir le mode à utiliser pour le poste client et la session courante :
-- Le bit 1 (valeur 2) permet de demander les paramètres d’appel aux commandes et (mode interprété uniquement) aux méthodes.
+0 (valeur par défaut) : pas de synchronisation dynamique (la demande de synchronisation est ignorée) 1 : synchronisation dynamique automatique2 : affichage d’une boîte de dialogue sur les postes clients, avec possibilité d’effectuer ou de refuser la synchronisation.Le mode de synchronisation peut également être défini globalement dans les Propriétés de la base.
-- Le bit 2 (valeur 4) permet d’activer le format tabulé.
-- Le bit 3 (valeur 8) permet de désactiver l’écriture immédiate de chaque opération sur disque (activée par défaut). L’écriture immédiate est moins rapide mais plus efficace par exemple pour rechercher les causes d’un plantage. Si vous désactivez ce mode, le fichier sera généré plus rapidement.
-- Le bit 4 (valeur 16) permet de désactiver l’enregistrement des appels de plug-ins (activé par défaut).
-- Le bit 5 (valeur 32) permet de désactiver l'enregistrement des fonctions membres.
+### Cache flush periodicity (95)
-Exemples :
+**Thread-safe** : Yes
-FIXER PARAMETRE BASE(34;1) // active le mode standard sans les paramètres, avec les durées
-FIXER PARAMETRE BASE(34;2) // active le mode standard avec les paramètres et les durées
+Portée : 4D local, 4D Server
-FIXER PARAMETRE BASE(34;2+4) // active le mode tabulé avec les paramètres et les durées
+**Conservé entre deux sessions** : Non
-FIXER PARAMETRE BASE(34;0) // désactive le fichier
+**Valeurs possibles** : entier long > 1 (secondes)
-Dans tout type d'application 4D (4D tous modes, 4D Server, 4D Volume Desktop), en interprété ou en compilé, vous pouvez éviter que le fichier n’enregistre une trop grande quantité d’informations :
+**Description** : Permet de lire ou de fixer la valeur courante de périodicité de l'écriture du cache de données sur le disque, exprimée en secondes. Si elle est modifiée, cette valeur remplace la valeur définie par l'option **Ecriture cache toutes les secondes/minutes** dans la [XML DECODE](xml-decode.md) des Propriétés de la base durant la session courante (elle n'est pas stockée dans les Propriétés de la base).
-- en restreignant les commandes 4D examinées à l'aide de Log command list (sélecteur 80), ou
-- en le restreignant au process courant uniquement à l'aide de Current process debug log recording (sélecteur 111). Cela ajoutera la lettre "p" et le numéro de process au nom du fichier : *4DDebugLog* *\[\_pN\_n\].txt ou* *4DDebugLogServer\[\_pn\_n\].txt.* Pour plus d’informations sur le format et l’exploitation du fichier 4DDebugLog, veuillez consulter la *Description des fichiers d'historique* dans le Manuel Développement.
-**Note :** Ce sélecteur est proposé uniquement à des fins de débogage et doit être utilisé avec précaution car il peut entraîner une dégradation des performances de l'application.
+### Cache unload minimum size (66)
+**Portée** : Application 4D
-### Client Server port ID (35)
+**Conservé entre deux sessions** : Non
-**Portée** :Base de données
+**Valeurs possibles** : Entier long positif > 1.
- **Conservé** **entre deux sessions** : Oui
+**Description** : Taille minimum de mémoire à libérer du cache de la base de données lorsque le moteur a besoin d’y faire de la place pour y allouer un objet (valeur en octets).
- **Valeurs possibles** : 0 à 65535
+Ce sélecteur a pour but de permettre de réduire le nombre de libérations de données du cache afin d’obtenir des gains de performances. Vous pouvez faire varier ce paramétrage en fonction de la taille du cache et de celle des blocs de données manipulées dans votre base.
-**Description** : Numéro de port TCP sur lequel 4D Server publie la base de données (à destination des postes 4D distants). Par défaut, la valeur est 19813\.
+Par défaut, si ce sélecteur n’est pas utilisé, 4D décharge au minimum 10 % du cache en cas de besoin de place.
-La personnalisation de cette valeur permet d’utiliser plusieurs applications 4D client-serveur sur la même machine avec le protocole TCP ; dans ce cas, vous devez spécifier un numéro de port différent pour chaque application.
-La valeur est stockée dans le fichier de structure de la base. Elle peut être définie avec 4D en mode local mais n’est prise en compte qu’en configuration client-serveur.
-Lorsque vous modifiez cette valeur, il est nécessaire de redémarrer le poste serveur afin que la nouvelle valeur soit prise en compte.
+### Character set (17)
+**Portée** : 4D local, 4D Server
-### HTTPS Port ID (39)
+**Conservé entre deux sessions** : Oui
-**Portée** :4D local, 4D Server
+**Description** : *Constante obsolète (conservée par compatibilité uniquement).* Il est désormais conseillé d'utiliser les commandes [WEB SET OPTION](web-set-option.md) et [WEB GET OPTION](web-get-option.md) pour le paramétrage du serveur HTTP.
- **Conservé** **entre deux sessions** : Oui
- **Description** : *Constante obsolète (conservée par compatibilité uniquement).* Il est désormais conseillé d'utiliser les commandes [WEB SET OPTION](web-set-option.md) et [WEB GET OPTION](web-get-option.md) pour le paramétrage du serveur HTTP.
+### Circular log limitation (90)
-### Client HTTPS port ID (40)
+**Thread-safe** : Yes
-**Portée** :Tous postes 4D distants
+**Portée** : 4D local, 4D Server.
- **Conservé** **entre deux sessions** : Oui
+**Conservé entre deux sessions** : Non
- **Valeurs possibles** : 0 à 65535
+**Valeurs possibles** : Toute valeur entière, 0 = conserver tous les journaux
-**Description** : Numéro du port TCP utilisé par les serveurs Web des postes clients pour les connexions sécurisées via SSL (protocole HTTPS). Par défaut, la valeur est 443 (valeur standard).
+**Description** : Nombre maximum de fichiers à conserver par roulement pour chaque type de journal. Par défaut, les 50 fichiers les plus récents sont conservés. Si vous passez une valeur N, seuls les N fichiers les plus récents seront conservés, le plus ancien étant automatiquement effacé à la création d'un nouveau. Ce paramétrage s'applique à tous les fichiers journaux, notamment le journal des requêtes (sélecteurs 28 et 45), le journal de débogage (sélecteur 34), le journal des événements (sélecteur 79), l'historique des requêtes Web (sélecteurs 29 et 84 de la commande [WEB SET OPTION](web-set-option.md)), etc.
-Le fonctionnement de ce sélecteur est identique à celui du sélecteur 39 ; il s’applique toutefois à tous les postes 4D distants utilisés en tant que serveurs Web. Si vous souhaitez modifier la valeur de certains postes clients uniquement, utilisez la boîte de dialogue des Préférences de 4D distant.
-### SQL Autocommit (43)
+### Client character set (24)
-**Portée** :Base de données
+**Portée** : Tous postes 4D distants
**Conservé** **entre deux sessions** : Oui
- **Valeurs possibles** : 0 (désactivation) ou 1 (activation)
+ **Valeurs possibles** : Voir sélecteur 17
-**Description** : Activation ou désactivation du mode SQL auto-commit. Par défaut, la valeur est 0 (mode désactivé)
+**Description** : Permet de spécifier ce paramètre pour les postes 4D distants utilisés en tant que serveurs Web. La valeur définie via ce sélecteur est appliquée à tous les postes distants utilisés comme serveurs Web. Si vous souhaitez définir cette valeur pour certains postes distants uniquement, utilisez la boîte de dialogue des Préférences de 4D en mode distant.
-Le mode auto-commit permet de renforcer l'intégrité référentielle de la base. Lorsque ce mode est actif, les requêtes *SELECT*, *INSERT*, *UPDATE*, *DELETE* (SIUD) sont automatiquement incluses dans des transactions lorsqu'elles sont exécutées en-dehors de toute transaction. Ce mode peut également être défini dans les préférences de la base.
-### SQL Engine case sensitivity (44)
+### Client HTTPS port ID (40)
-**Portée** : Base de données
+**Portée** :Tous postes 4D distants
-**Conservé** **entre deux sessions** : Oui
+ **Conservé** **entre deux sessions** : Oui
-**Valeurs possibles** : 0 (casse non prise en compte) ou 1 (casse prise en compte)
+ **Valeurs possibles** : 0 à 65535
-**Description** : Activation ou désactivation de la prise en compte de la casse des caractères pour les comparaisons de chaînes effectuées par le moteur SQL.
+**Description** : Numéro du port TCP utilisé par les serveurs Web des postes clients pour les connexions sécurisées via SSL (protocole HTTPS). Par défaut, la valeur est 443 (valeur standard).
-Par défaut, la valeur est 1 (casse prise en compte) : le moteur SQL établit une différence entre les majuscules et les minuscules ainsi qu'entre les caractères accentués lors des comparaisons de chaînes (tris et recherches). Par exemple "ABC" = "ABC" mais "ABC" # "Abc" et "abc" # "âbc" . Dans certains cas, par exemple pour aligner le fonctionnement du moteur SQL sur celui du moteur 4D, vous pourrez souhaiter que les comparaisons de chaînes ne tiennent pas compte de la casse ("ABC"="Abc"="âbc").
+Le fonctionnement de ce sélecteur est identique à celui du sélecteur 39 ; il s’applique toutefois à tous les postes 4D distants utilisés en tant que serveurs Web. Si vous souhaitez modifier la valeur de certains postes clients uniquement, utilisez la boîte de dialogue des Préférences de 4D distant.
-**Attention :** *Étant donné que cette option modifie le fichier de structure de la base de données et tous les process, il est fortement recommandé,* *pour des raisons de performances,* *de la définir uniquement au démarrage de la base de données.* Cette option peut également être définie dans la [CALL SUBFORM CONTAINER](call-subform-container.md) des Propriétés de la base.
@@ -315,215 +194,173 @@ Ces fichiers texte stockent dans un format tabulé simple diverses informations
-### Query by formula on server (46)
-**Portée** :Table et process courants
-
- **Conservé** **entre deux sessions** : Non
+### Client max concurrent Web proc (25)
- **Valeurs possibles** : 0 (utiliser le paramétrage de la base), 1 (exécuter sur le client) ou 2 (exécuter sur le serveur)
+**Portée** : Tous postes 4D distants
-**Description** : Emplacement de l’exécution des commandes [QUERY BY FORMULA](query-by-formula.md) et [QUERY SELECTION BY FORMULA](query-selection-by-formula.md) pour la *table* passée en paramètre.
+ **Conservé** **entre deux sessions** : Oui
-Dans le cadre de l’exploitation d’une base en client-serveur, les commandes de recherche "par formule" peuvent exécutées soit sur le serveur soit sur le client :
+ **Valeurs possibles** : Voir sélecteur 18
-dans les bases de données créées à partir de 4D v11 SQL, ces commandes sont exécutées sur le serveur. dans les bases de données converties, ces commandes sont exécutées sur le client, comme dans les versions précédentes de 4D.dans les bases de données converties, une préférence spécifique permet de modifier globalement le lieu d’exécution de ces commandes.Cette différence de lieu d’exécution influe sur les performances de l’application (l’exécution sur le serveur est généralement plus rapide) mais également sur la programmation. En effet, la valeur des composantes de la formule (notamment les variables appelées via une méthode) diffère suivant le contexte d’exécution. Vous pouvez utiliser ce sélecteur pour adapter ponctuellement le fonctionnement de votre application.
+**Description** : Permet de spécifier ce paramètre pour les postes 4D distants utilisés en tant que serveurs Web. La valeur définie via ce sélecteur est appliquée à tous les postes distants utilisés comme serveurs Web. Si vous souhaitez définir cette valeur pour certains postes distants uniquement, utilisez la boîte de dialogue des Préférences de 4D en mode distant.
-Si vous passez 0 dans le paramètre *valeur*, l’emplacement d’exécution des commandes de recherche "par formule" dépendra de la configuration de la base : dans les bases créées avec 4D v11 SQL, les commandes seront exécutées sur le serveur. Dans les bases converties, elles seront exécutées sur le client ou le serveur en fonction des préférences de la base. Passez 1 ou 2 dans *valeur* pour "forcer" l’exécution des commandes respectivement sur le client ou sur le serveur.
-Reportez-vous à l'exemple 2.
-**Note :** Si vous souhaitez pouvoir activer les jointures "type SQL" (cf. sélecteur Query by formula joins), vous devez toujours exécuter les formules sur le serveur afin qu'elle ait accès aux enregistrements. Attention, dans ce contexte, la formule ne doit pas contenir d'appel à une méthode, sinon elle est automatiquement basculée sur le poste distant.
+### Client port ID (22)
+**Portée** : Tous postes 4D distants
-### Order by formula on server (47)
+ **Conservé** **entre deux sessions** : Oui
-**Portée** :Table et process courants
+ **Valeurs possibles** : Voir sélecteur 15
- **Conservé** **entre deux sessions** : Non
+**Description** : Permet de spécifier ce paramètre pour les postes 4D distants utilisés en tant que serveurs Web. La valeur définie via ce sélecteur est appliquée à tous les postes distants utilisés comme serveurs Web. Si vous souhaitez définir cette valeur pour certains postes distants uniquement, utilisez la boîte de dialogue des Préférences de 4D en mode distant.
- **Valeurs possibles** : 0 (utiliser le paramétrage de la base), 1 (exécuter sur le client) ou 2 (exécuter sur le serveur)
-**Description** : Emplacement de l’exécution de la commande [ORDER BY FORMULA](order-by-formula.md) pour la table passée en paramètre.
-Dans le cadre de l’exploitation d’une base en client-serveur, la commande [ORDER BY FORMULA](order-by-formula.md) peut être exécutée soit sur le serveur soit sur le client. Ce sélecteur permet de définir l’emplacement de l’exécution de cette commande (serveur ou client). Ce mode peut également être défini dans les préférences de la base. Pour plus d’informations, reportez-vous à la description du sélecteur 46, Query by formula on server.
-
-**Note :** Si vous souhaitez pouvoir activer les jointures "type SQL" (cf. sélecteur Query by formula joins), vous devez toujours exécuter les formules sur le serveur afin qu'elle ait accès aux enregistrements. Attention, dans ce contexte, la formule ne doit pas contenir d'appel à une méthode, sinon elle est automatiquement basculée sur le poste distant.
+### Client Server port ID (35)
+**Portée** :Base de données
-### Auto synchro resources folder (48)
+ **Conservé** **entre deux sessions** : Oui
-**Portée** :Poste 4D distant
+ **Valeurs possibles** : 0 à 65535
- **Conservé** **entre deux sessions** : Non
+**Description** : Numéro de port TCP sur lequel 4D Server publie la base de données (à destination des postes 4D distants). Par défaut, la valeur est 19813\.
- **Valeurs possibles** : 0 (pas de synchronisation), 1 (synchronisation auto) ou 2 (demander).
+La personnalisation de cette valeur permet d’utiliser plusieurs applications 4D client-serveur sur la même machine avec le protocole TCP ; dans ce cas, vous devez spécifier un numéro de port différent pour chaque application.
-**Description** : Mode de synchronisation dynamique du dossier *Resources* du poste client 4D ayant exécuté la commande avec celui du serveur.
+La valeur est stockée dans le fichier de structure de la base. Elle peut être définie avec 4D en mode local mais n’est prise en compte qu’en configuration client-serveur.
-Lorsque le contenu du dossier *Resources* sur le serveur a été modifié ou qu’une demande de synchronisation a été émise (via l’explorateur de ressources ou suite à l'exécution de la commande [NOTIFY RESOURCES FOLDER MODIFICATION](notify-resources-folder-modification.md)), le serveur notifie les clients connectés.
+Lorsque vous modifiez cette valeur, il est nécessaire de redémarrer le poste serveur afin que la nouvelle valeur soit prise en compte.
-Trois modes de synchronisation sont alors possibles côté client. Le sélecteur Auto synchro resources folder vous permet de définir le mode à utiliser pour le poste client et la session courante :
-0 (valeur par défaut) : pas de synchronisation dynamique (la demande de synchronisation est ignorée) 1 : synchronisation dynamique automatique2 : affichage d’une boîte de dialogue sur les postes clients, avec possibilité d’effectuer ou de refuser la synchronisation.Le mode de synchronisation peut également être défini globalement dans les Propriétés de la base.
+### Client Web log recording (30)
-### Query by formula joins (49)
+**Portée** :Tous postes 4D distants
-**Portée** :Process courant
+ **Conservé** **entre deux sessions** : Oui
- **Conservé** **entre deux sessions** : Non
+ **Valeurs possibles** : 0 = Ne pas enregistrer (défaut), 1 = Enregistrer au format CLF, 2 = Enregistrer au format DLF, 3 = Enregistrer au format ELF, 4 = Enregistrer au format WLF.
- **Valeurs possibles** : 0 (utiliser paramétrages de la base), 1 (toujours utiliser les liens auto) ou 2 (utiliser les jointures SQL si possible).
+**Description** : Démarrage ou arrêt de l’enregistrement des requêtes Web reçues par les serveurs Web de tous les postes clients. Par défaut, la valeur est 0 (pas d’enregistrement des requêtes).
-**Description** : Mode de fonctionnement des commandes [QUERY BY FORMULA](query-by-formula.md) et [QUERY SELECTION BY FORMULA](query-selection-by-formula.md) relatif à l’utilisation de "jointures SQL".
+Le fonctionnement de ce sélecteur est identique à celui du sélecteur 29 ; il s’applique toutefois à tous les postes 4D clients utilisés en tant que serveurs Web. Le fichier “logweb.txt” est dans ce cas automatiquement placé dans le sous-dossier Logs du dossier base 4D client (dossier de cache). Si vous souhaitez définir des valeurs pour certains postes clients uniquement, utilisez la boîte de dialogue des Préférences de 4D en mode distant.
-Dans les bases de données créées à compter de la version 11.2 de 4D v11 SQL, ces commandes effectuent des jointures sur le modèle des jointures SQL. Ce mécanisme permet de modifier la sélection d’une table en fonction d’une recherche effectuée sur une autre table sans que les tables soient reliées par un lien automatique (condition nécessaire dans les versions précédentes de 4D).
-Le sélecteur Query by formula joins vous permet de définir le mode de fonctionnement des commandes de recherche par formule pour le process courant :
-0 : utiliser les paramètres courants de la base (valeur par défaut). Dans les bases de données créées à compter de la version 11.2 de 4D v11 SQL, les "jointures SQL" sont toujours activées pour les recherches par formule. Dans les bases de données converties, ce mécanisme est inactivé par défaut pour des raisons des compatibilité mais peut être mis en oeuvre via une préférence.1 : toujours utiliser les liens auto (= fonctionnement des versions précédentes de 4D). Dans ce mode, un lien est nécessaire pour définir la sélection d’une table en fonction de recherches effectuées dans une autre table. 4D n’effectue pas de "jointures SQL".2 : utiliser les jointures SQL si possible (= fonctionnement par défaut des bases créées en version 11.2 et suivantes de 4D v11 SQL). Dans ce mode, 4D établit des "jointures SQL" pour les recherches par formule lorsque la formule s’y prête (à deux exceptions près, voir la description de la commande commandes [QUERY BY FORMULA](query-by-formula.md) ou [QUERY SELECTION BY FORMULA](query-selection-by-formula.md). **Note :** Avec 4D en mode distant, les "jointures SQL" ne peuvent être utilisées que si les formules sont exécutées sur le serveur (elles doivent avoir accès aux enregistrements). Pour configurer le lieu d'exécution des formules, reportez-vous aux sélecteurs 46 et 47.
+### Current process debug log recording (111)
+**Portée :** Application 4D
-### HTTP compression level (50)
+**Conservé entre deux sessions :** Non
-**Portée** : Application 4D
+**Description** : Démarrage ou arrêt de l'enregistrement séquentiel des événements de programmation **du process courant** dans un fichier d'historique séparé. Cet historique est semblable à Debug log recording (sélecteur 34) mais il ne porte que sur le process courant. Le nom du fichier d'historique inclut la lettre "p" et le numéro du process : 4DDebugLog\[\_p*N*_*n*].txt, où N est l'ID unique du process. Pour plus d'informations sur ce format et sur l'utilisation du fichier *4DDebugLog*, veuillez consulter la *Description des fichiers d'historique* dans le Mode Développement.
- **Conservé** **entre deux sessions** : Non
+**Notes :** Ce sélecteur est fourni uniquement à des fins de débogage et doit être utilisé avec précaution. Plus particulièrement, il ne doit pas être utilisé en production, étant donné qu'il peut avoir une incidence sur les performances de l'application. Vous pouvez utiliser simultanément les sélecteurs Debug log recording et Current process debug log recording, auquel cas les actions liées au process courant ne seront pas enregistrées dans le fichier d'historique principal.
- **Description** : *Constante obsolète (conservée par compatibilité uniquement).* Il est désormais conseillé d'utiliser les commandes [WEB SET OPTION](web-set-option.md) et [WEB GET OPTION](web-get-option.md) pour le paramétrage du serveur HTTP.
-### HTTP compression threshold (51)
+### Dates inside objects (85)
-**Portée** : Application 4D
+**Portée** : Process courant
**Conservé** **entre deux sessions** : Non
- **Description** : *Constante obsolète (conservée par compatibilité uniquement).* Il est désormais conseillé d'utiliser les commandes [WEB SET OPTION](web-set-option.md) et [WEB GET OPTION](web-get-option.md) pour le paramétrage du serveur HTTP.
-
-
-
-### Server base process stack size (53)
-
-**Portée** : 4D Server
+ **Valeurs possibles** : String type without time zone (0), String type with time zone (1), Date type (2) (défaut)
- **Conservé** **entre deux sessions** : Non
+**Description** : Définit la manière dont les dates sont stockées dans les objets, ainsi que leur traitement en cas d'importation/exportation en JSON.
- **Valeurs possibles** : Entier long positif.
+Lorsque ce sélecteur vaut Date type (valeur par défaut dans les bases créées à compter de 4D v17), les dates 4D sont stockées avec le type date dans les objets, en tenant compte des paramétrages de date locaux. Lorsqu'ils sont exportés au format JSON, les attributs date seront convertis en chaînes qui ne contiennent pas l'heure (**Note :** ce paramétrage peut être défini au niveau des paramètres de la base via l'option "Utiliser le type date au lieu du format date ISO dans les objets" dans la *Page Compatibilité*).
-**Description** : Taille de la pile allouée à chaque process système préemptif sur le serveur, exprimée en octets. La taille par défaut est déterminée par le système.
+Si vous passez String type with time zone dans ce sélecteur, les dates 4D seront converties en chaînes ISO en tenant compte du fuseau horaire local. Par exemple, la conversion de la date !23/08/2013! donne "2013-08-22T22:00:00Z" au format JSON lorsque l’opération est effectuée en France en été (GMT+2). Ce principe est conforme au fonctionnement standard de JavaScript. Ce fonctionnement peut être source d’erreurs si vous souhaitez envoyer des valeurs de date en JSON à une personne qui se trouve dans un autre fuseau horaire. C’est le cas par exemple pour l’exportation d’une table avec [Selection to JSON](selection-to-json.md) en France destiné à être réimporté aux USA avec [JSON TO SELECTION](json-to-selection.md). Par défaut, les dates étant réinterprétées dans chaque fuseau horaire, les valeurs stockées dans la base seront différentes. Dans ce cas, vous pouvez modifier le mode de conversion des dates afin qu’il ne tienne pas compte du fuseau horaire en passant String type without time zone dans ce sélecteur. La conversion de la date !23/08/2013! donnera alors "2013-08-23T00:00:00Z" dans tous les cas.
-Les process système préemptifs (process de type Process base 4D client) sont chargés de contrôler les process clients 4D principaux. La taille allouée par défaut à la pile de chaque process préemptif permet un bon confort d’exécution mais peut s’avérer conséquente lorsque de très nombreux process (plusieurs centaines) sont créés.
-A des fins d’optimisation, cette taille peut être diminuée sensiblement si les opérations effectuées par la base s'y prêtent (par exemple si la base n’effectue pas de tris sur de grosses quantités d’enregistrements). Des valeurs de 512 voire de 256 Ko sont possibles. Attention, le sous-dimensionnement de la pile est critique et peut nuire au fonctionnement de 4D Server. Le réglage de ce paramètre est à effectuer avec précaution et doit tenir compte des conditions d’utilisation de la base (nombre d’enregistrements, types d’opérations, etc.). Pour être pris en compte, ce paramétrage doit être exécuté sur le poste serveur (par exemple dans la méthode base Sur démarrage serveur).
+### Debug log recording (34)
-### Idle connections timeout (54)
+**Thread-safe** : Yes
-**Portée** : Application 4D sauf si valeur négative
+**Portée** : Application 4D
**Conservé** **entre deux sessions** : Non
-**Valeurs possibles** : Valeur entière exprimant une durée en secondes. La valeur peut être positive (nouvelles connexions) ou négative (connexions existantes). Par défaut, la valeur est 20.
+**Description** : Démarrage ou arrêt de l’enregistrement séquentiel des événements de programmation de 4D dans le fichier *4DDebugLogServer* *\[\_pN\_n\].txt* (où \_n est le numéro de segment du fichier).
-**Description** : Délai maximum d’inactivité (timeout) des connexions au moteur de base de données, au serveur SQL de 4D ainsi qu'au serveur d'applications 4D (mode *ServerNet* uniquement, ignoré en *QUIC*). Lorsqu’une connexion inactive atteint ce délai, elle est automatiquement mise en veille, ce qui se traduit par le gel de la session client/serveur et la fermeture du socket réseau. Dans la fenêtre d'administration du serveur, le process utilisateur prend l'état "Postponed". Ce fonctionnement est entièrement transparent pour l’utilisateur : dès qu’il y a reprise d’activité sur la connexion mise en veille, le socket est automatiquement rouvert et la session client/serveur restaurée.
+Deux modes sont possibles :
-Ce paramétrage permet, d’une part, d’économiser des ressources sur le serveur : les connexions mises en veille referment le socket et libèrent un processus sur le serveur. D’autre part, il permet d’éviter les pertes de connexions dues aux fermetures par les pare-feux des sockets inactifs. La valeur de timeout des connexions inactives doit pour cela être inférieure à celle du pare-feu.
+- Le mode standard propose une vue basique des événements et le fichier est automatiquement placé dans le sous-dossier Logs de la base, à côté du fichier de structure. Les durées d'exécution sont exprimées en millisecondes avec la valeur "< ms" qui s'affiche lorsqu'une opération dure moins d'une milliseconde.
-Si vous passez une valeur positive dans *valeur*, elle s'applique à toutes les nouvelles connexions dans tous les process. Si vous passez une valeur négative, elle s’applique aux connexions ouvertes dans le process courant. Si vous passez 0, les connexions inactives ne sont pas soumises à un timeout.
+- Le mode tabulé fournit des informations supplémentaires et utilise un format tabulé plus compact dans le fichier. Les durées d'exécution sont exprimées en millisecondes. **Valeurs possibles** : Entier long contenant un champ de bits (bit field) : valeur = bit1(1)+bit2(2)+bit3(4)+bit4(8)+…).
+- Le bit 0 (valeur 1) permet de demander à activer le fichier (à noter que toute autre valeur non nulle l’activera également)
+- Le bit 1 (valeur 2) permet de demander les paramètres d’appel aux commandes et (mode interprété uniquement) aux méthodes.
+- Le bit 2 (valeur 4) permet d’activer le format tabulé.
+- Le bit 3 (valeur 8) permet de désactiver l’écriture immédiate de chaque opération sur disque (activée par défaut). L’écriture immédiate est moins rapide mais plus efficace par exemple pour rechercher les causes d’un plantage. Si vous désactivez ce mode, le fichier sera généré plus rapidement.
+- Le bit 4 (valeur 16) permet de désactiver l’enregistrement des appels de plug-ins (activé par défaut).
+- Le bit 5 (valeur 32) permet de désactiver l'enregistrement des fonctions membres.
-Ce paramètre doit être défini côté client. Généralement, vous n'aurez pas besoin de modifier cette valeur.
+Exemples :
+```4d
+SET DATABASE PARAMETER(34;1) // active le mode standard sans les paramètres, avec les durées
+SET DATABASE PARAMETER(34;2) // active le mode standard avec les paramètres et les durées
+SET DATABASE PARAMETER(34;2+4) // active le mode tabulé avec les paramètres et les durées
+SET DATABASE PARAMETER(34;0) // désactive le fichier
+```
+Dans tout type d'application 4D (4D tous modes, 4D Server, 4D Volume Desktop), en interprété ou en compilé, vous pouvez éviter que le fichier n’enregistre une trop grande quantité d’informations :
-### PHP interpreter IP address (55)
+- en restreignant les commandes 4D examinées à l'aide de Log command list (sélecteur 80), ou
+- en le restreignant au process courant uniquement à l'aide de Current process debug log recording (sélecteur 111). Cela ajoutera la lettre "p" et le numéro de process au nom du fichier : *4DDebugLog* *\[\_pN\_n\].txt ou* *4DDebugLogServer\[\_pn\_n\].txt.* Pour plus d’informations sur le format et l’exploitation du fichier 4DDebugLog, veuillez consulter la *Description des fichiers d'historique* dans le Manuel Développement.
-**Portée** :Application 4D
+**Note :** Ce sélecteur est proposé uniquement à des fins de débogage et doit être utilisé avec précaution car il peut entraîner une dégradation des performances de l'application.
- **Conservé** **entre deux sessions** : Non
-**Valeurs** : Chaîne formatée en IPv4 (par exemple "127.0.0.1") ou en IPv6 (par exemple "2001:0db8:0000:0000:0000:ff00:0042:8329")
-**Description** : Adresse IP utilisée localement par 4D pour communiquer avec l’interpéteur PHP via fastcgi. Par défaut, la valeur est "127.0.0.1" (les adresses au format IPv6 sont prises en charge à compter de 4D v16R4).. Cette adresse doit correspondre à la machine sur laquelle se trouve 4D. Ce paramètre peut également être défini globalement pour tous les postes via les Propriétés de la base.
-Pour plus d’informations sur l’interpréteur PHP de 4D, reportez-vous au manuel *Mode Développement*.
+### Diagnostic log level (86)
+**Thread-safe** : Yes
+**Portée :** Application 4D
-### PHP interpreter port (56)
+**Conservé entre deux sessions :** Non
-**Portée** :Application 4D
+**Description :** Niveau(x) de messages à inclure dans le journal de diagnostic lorsqu'il est activé (voir le sélecteur Diagnostic log recording). Chaque niveau désigne une catégorie de messages de diagnostic et inclut automatiquement la ou les catégories plus importantes. Pour une description des catégories, consultez la section *Log niveau diagnostic* sur le site *developer.4d.com*.
- **Conservé** **entre deux sessions** : Non
+**Valeurs possibles** **:** L'une des constantes suivantes (Log info par défaut):
+- Log trace: active ERROR, WARN, INFO, DEBUG, TRACE (niveau le plus détaillé)
+- Log debug: active ERROR, WARN, INFO, DEBUG
+- Log info: active ERROR, WARN, INFO (par défaut)
+- Log warn: active ERROR, WARN Log error: active ERROR (niveau le moins détaillé)
-**Valeurs** : Valeur de type entier long positif. Par défaut, la valeur est 8002\.
-**Description** : Numéro du port TCP utilisé par l’interpréteur PHP de 4D. Ce paramètre peut également être défini globalement pour tous les postes via les Propriétés de la base. Pour plus d’informations sur l’interpréteur PHP de 4D, reportez-vous au manuel *Mode Développement*.
+### Diagnostic log recording (79)
-### SSL cipher list (64)
+**Thread-safe** : Yes
**Portée** : Application 4D
-**Conservé entre deux sessions** : Non
-
-**Valeurs possibles** : Suite de chaînes séparées par des deux-points.
-
-**Description :** Liste de chiffrement (*cipher list*) utilisée par 4D pour le protocole sécurisé. Cette liste permet de modifier la priorité des algorithmes de chiffrement mis en oeuvre par 4D.
-
-Par exemple, vous pouvez passer la chaîne suivante dans le paramètre *valeur* : "HIGH:!aNULL:!MD5:!3DES:!CAMELLIA:!AES128:!RSA:!DH:!RC4". Pour une description complète de la syntaxe de la liste de chiffrement, reportez-vous à la *page ciphers sur le site de OpenSSL*.
-
-Ce paramétrage s'applique au principal serveur Web (à l'exclusion des objets Web server), au serveur SQL, aux connexions client/serveur ainsi qu'au client HTTP et aux commandes 4D faisant appel au protocole sécurisé. Ce paramétrage est temporaire (il n'est pas maintenu entre les sessions).
-
-Lorsque la liste de chiffrement a été modifiée, vous devez redémarrer le serveur concerné pour que le nouveau paramétrage soit pris en compte.
-
-Pour réinitialiser la liste de chiffrement à sa valeur par défaut (stockée en dur dans le fichier SLI), appelez la commande [SET DATABASE PARAMETER](set-database-parameter.md) et passez une chaîne vide ("") dans le paramètre *valeur*.
-
-**Note :** Avec la commande [Get database parameter](get-database-parameter.md), la liste de chiffrement est retournée dans le paramètre optionnel *valeurAlpha* et le paramètre de retour vaut toujours 0.
-
-
-
-### Cache unload minimum size (66)
-
-**Portée** : Application 4D
-
-**Conservé entre deux sessions** : Non
-
-**Valeurs possibles** : Entier long positif > 1.
-
-**Description** : Taille minimum de mémoire à libérer du cache de la base de données lorsque le moteur a besoin d’y faire de la place pour y allouer un objet (valeur en octets).
-
-Ce sélecteur a pour but de permettre de réduire le nombre de libérations de données du cache afin d’obtenir des gains de performances. Vous pouvez faire varier ce paramétrage en fonction de la taille du cache et de celle des blocs de données manipulées dans votre base.
-
-Par défaut, si ce sélecteur n’est pas utilisé, 4D décharge au minimum 10 % du cache en cas de besoin de place.
-
-
-
-### Direct2D status (69)
-
-**Portée**: Application 4D
-
-**Conservé entre deux sessions** : Non
-
-**Description** : Mode d’activation de l’implémentation de Direct2D sous Windows.
+**Conservé** **entre deux sessions** : Non
-**Valeurs possibles** : Une des constantes suivantes (mode 3 par défaut) :
+**Valeurs possibles** : 0 ou 1 (0 = ne pas enregistrer, 1 = enregistrer)
-Direct2D disabled (0) : le mode Direct2D n’est pas activé, la base fonctionne dans le mode précédent (GDI/GDIPlus).
+**Description** : Démarrage ou arrêt de l’enregistrement du fichier de diagnostic de 4D. Par défaut, la valeur est 0 (pas d’enregistrement).
-Direct2D hardware (1) : utilisation de Direct2D en contexte graphique matériel dans toute l’application 4D. Si ce contexte n’est pas disponible, utilisation du contexte graphique Direct2D logiciel.
+4D vous permet d’enregistrer de manière continue dans un fichier de diagnostic un ensemble d’événements relatifs au fonctionnement interne de l’application. Les informations contenues dans ce fichier sont destinées à la mise au point des applications 4D et pourront être analysées avec l’aide des services techniques de 4D (pour plus d'informations, reportez-vous à la section *Description des fichiers d'historique* sur *developer.4d.com*). Lorsque vous passez 1 dans ce sélecteur, un fichier de diagnostic est automatiquement créé (ou ouvert) dans le dossier **Logs** de la base. Le fichier est nommé *4DDiagnosticLog\_N*.txt (ou *4DDiagnosticLogServer\_N.*txt s'il est généré sur le serveur). Une fois que le fichier atteint une taille de 10 Mo, il est refermé et un nouveau fichier est généré, avec un numéro séquentiel N incrémenté.
-Direct2D software (3) (Mode par défaut) : à partir de Windows 7, utilisation de Direct2D en contexte graphique logiciel dans toute l’application 4D.
+A noter qu’il est possible d’inclure des informations personnalisées dans ce fichier à l’aide de la commande [LOG EVENT](log-event.md).
-**Attention :* Ce sélecteur est fourni uniquement à des fins de débogage. Etant donné que plusieurs fonctionnalités de 4D dépendent de Direct2D, il ne doit pas être désactivé dans les applications déployées. Seul le mode par défaut (Direct2D software) est approuvé pour les applications déployées.*
@@ -536,221 +373,214 @@ Direct2D software (3) (Mode par défaut) : à partir de Windows 7, utilisation d
**Valeurs possibles** : 0, 1, 2, 3, 4 ou 5 (cf. valeurs du sélecteur 69). La valeur retournée dépend de la disponibilité de Direct2D, du matériel et de la qualité de la prise en charge de Direct2D par le système d’exploitation.
Par exemple, si vous exécutez :
-
+```4d
SET DATABASE PARAMETER(;Direct2D Hardware) $mode:=Get database parameter()
+```
- sur Windows 7 et suivants, *$mode* vaudra 1 si le système détecte un matériel compatible Direct2D, sinon *$mode* vaudra 3 (contexte logiciel).
-
- sur Windows Vista, *$mode* vaudra 1 si le système détecte un matériel compatible Direct2D, sinon *$mode* vaudra 0 (désactivation de Direct2D).
-
- sur Windows XP, *$mode* vaudra toujours 0 (incompatibilité avec Direct2D).
-### Diagnostic log recording (79)
-**Thread-safe** : Yes
+### Direct2D status (69)
-**Portée** : Application 4D
+**Portée**: Application 4D
-**Conservé** **entre deux sessions** : Non
+**Conservé entre deux sessions** : Non
-**Valeurs possibles** : 0 ou 1 (0 = ne pas enregistrer, 1 = enregistrer)
+**Description** : Mode d’activation de l’implémentation de Direct2D sous Windows.
-**Description** : Démarrage ou arrêt de l’enregistrement du fichier de diagnostic de 4D. Par défaut, la valeur est 0 (pas d’enregistrement).
+**Valeurs possibles** : Une des constantes suivantes (mode 3 par défaut) :
-4D vous permet d’enregistrer de manière continue dans un fichier de diagnostic un ensemble d’événements relatifs au fonctionnement interne de l’application. Les informations contenues dans ce fichier sont destinées à la mise au point des applications 4D et pourront être analysées avec l’aide des services techniques de 4D (pour plus d'informations, reportez-vous à la section *Description des fichiers d'historique* sur *developer.4d.com*). Lorsque vous passez 1 dans ce sélecteur, un fichier de diagnostic est automatiquement créé (ou ouvert) dans le dossier **Logs** de la base. Le fichier est nommé *4DDiagnosticLog\_N*.txt (ou *4DDiagnosticLogServer\_N.*txt s'il est généré sur le serveur). Une fois que le fichier atteint une taille de 10 Mo, il est refermé et un nouveau fichier est généré, avec un numéro séquentiel N incrémenté.
+Direct2D disabled (0) : le mode Direct2D n’est pas activé, la base fonctionne dans le mode précédent (GDI/GDIPlus).
-A noter qu’il est possible d’inclure des informations personnalisées dans ce fichier à l’aide de la commande [LOG EVENT](log-event.md).
+Direct2D hardware (1) : utilisation de Direct2D en contexte graphique matériel dans toute l’application 4D. Si ce contexte n’est pas disponible, utilisation du contexte graphique Direct2D logiciel.
+Direct2D software (3) (Mode par défaut) : à partir de Windows 7, utilisation de Direct2D en contexte graphique logiciel dans toute l’application 4D.
+**Attention :* Ce sélecteur est fourni uniquement à des fins de débogage. Etant donné que plusieurs fonctionnalités de 4D dépendent de Direct2D, il ne doit pas être désactivé dans les applications déployées. Seul le mode par défaut (Direct2D software) est approuvé pour les applications déployées.*
-### Log command list (80)
-**Portée** : Application 4D
-**Conservé** **entre deux sessions** : Non
-**Valeurs possibles** : Chaîne contenant la liste des numéros des commandes 4D à enregistrer (séparées par des points-virgules), ou "all" pour enregistrer toutes les commande, ou "" (chaîne vide) pour n’enregistrer aucune commande, ou le préfixe "-" pour exclure des commandes spécifiques.
+### HTTP compression level (50)
-**Description** : Liste des commandes 4D à enregistrer dans le fichier de débogage ou à exclure du fichier de débogage (cf. sélecteur 34, Debug log recording). Par défaut, toutes les commandes 4D sont enregistrées. Ce sélecteur vous permet de restreindre la quantité d’informations stockées dans le fichier de débogage en limitant les commandes 4D dont vous souhaitez enregistrer l’exécution ou bien que vous souhaitez exclure de l'enregistrement. Par exemple, vous pouvez écrire : SET DATABASE PARAMETER(Log command list;"277;341") //enregistrer uniquement les commandes CHERCHER et CHERCHER DANS SELECTION OU SET DATABASE PARAMETER(Log command list;"-1666;-323") //exclure les commandes FIXER ALIAS UTILISATEUR et ENDORMIR PROCESS de l'enregistrement
+**Portée** : Application 4D
+ **Conservé** **entre deux sessions** : Non
+ **Description** : *Constante obsolète (conservée par compatibilité uniquement).* Il est désormais conseillé d'utiliser les commandes [WEB SET OPTION](web-set-option.md) et [WEB GET OPTION](web-get-option.md) pour le paramétrage du serveur HTTP.
-### Spellchecker (81)
-**Portée** : Application 4D
- **Conservé** **entre deux sessions** : Non
- **Valeurs possibles** : 0 (défaut) = correcteur macOS (Hunspell désactivé), 1 = correcteur Hunspell actif.
+### HTTP compression threshold (51)
-**Description** : Permet d’activer le correcteur orthographique Hunspell sous macOS. Par défaut, sur cette plate-forme le correcteur natif est activé. Vous pouvez souhaiter utiliser le correcteur Hunspell par exemple pour unifier l’interface de vos applications multiplates-formes (sous Windows, seul le correcteur Hunspell est disponible). Pour plus d’informations, reportez-vous à la page *Correction orthographique*.
+**Portée** : Application 4D
+ **Conservé** **entre deux sessions** : Non
+ **Description** : *Constante obsolète (conservée par compatibilité uniquement).* Il est désormais conseillé d'utiliser les commandes [WEB SET OPTION](web-set-option.md) et [WEB GET OPTION](web-get-option.md) pour le paramétrage du serveur HTTP.
-### Dates inside objects (85)
-**Portée** : Process courant
- **Conservé** **entre deux sessions** : Non
- **Valeurs possibles** : String type without time zone (0), String type with time zone (1), Date type (2) (défaut)
+### HTTPS Port ID (39)
-**Description** : Définit la manière dont les dates sont stockées dans les objets, ainsi que leur traitement en cas d'importation/exportation en JSON.
+**Portée** :4D local, 4D Server
-Lorsque ce sélecteur vaut Date type (valeur par défaut dans les bases créées à compter de 4D v17), les dates 4D sont stockées avec le type date dans les objets, en tenant compte des paramétrages de date locaux. Lorsqu'ils sont exportés au format JSON, les attributs date seront convertis en chaînes qui ne contiennent pas l'heure (**Note :** ce paramétrage peut être défini au niveau des paramètres de la base via l'option "Utiliser le type date au lieu du format date ISO dans les objets" dans la *Page Compatibilité*).
+ **Conservé** **entre deux sessions** : Oui
-Si vous passez String type with time zone dans ce sélecteur, les dates 4D seront converties en chaînes ISO en tenant compte du fuseau horaire local. Par exemple, la conversion de la date !23/08/2013! donne "2013-08-22T22:00:00Z" au format JSON lorsque l’opération est effectuée en France en été (GMT+2). Ce principe est conforme au fonctionnement standard de JavaScript. Ce fonctionnement peut être source d’erreurs si vous souhaitez envoyer des valeurs de date en JSON à une personne qui se trouve dans un autre fuseau horaire. C’est le cas par exemple pour l’exportation d’une table avec [Selection to JSON](selection-to-json.md) en France destiné à être réimporté aux USA avec [JSON TO SELECTION](json-to-selection.md). Par défaut, les dates étant réinterprétées dans chaque fuseau horaire, les valeurs stockées dans la base seront différentes. Dans ce cas, vous pouvez modifier le mode de conversion des dates afin qu’il ne tienne pas compte du fuseau horaire en passant String type without time zone dans ce sélecteur. La conversion de la date !23/08/2013! donnera alors "2013-08-23T00:00:00Z" dans tous les cas.
+ **Description** : *Constante obsolète (conservée par compatibilité uniquement).* Il est désormais conseillé d'utiliser les commandes [WEB SET OPTION](web-set-option.md) et [WEB GET OPTION](web-get-option.md) pour le paramétrage du serveur HTTP.
-### Diagnostic log level (86)
-**Thread-safe** : Yes
+### Idle connections timeout (54)
-**Portée :** Application 4D
+**Portée** : Application 4D sauf si valeur négative
-**Conservé entre deux sessions :** Non
+**Conservé** **entre deux sessions** : Non
-**Description :** Niveau(x) de messages à inclure dans le journal de diagnostic lorsqu'il est activé (voir le sélecteur Diagnostic log recording). Chaque niveau désigne une catégorie de messages de diagnostic et inclut automatiquement la ou les catégories plus importantes. Pour une description des catégories, consultez la section *Log niveau diagnostic* sur le site *developer.4d.com*.
+**Valeurs possibles** : Valeur entière exprimant une durée en secondes. La valeur peut être positive (nouvelles connexions) ou négative (connexions existantes). Par défaut, la valeur est 20.
-**Valeurs possibles** **:** L'une des constantes suivantes (Log info par défaut): Log trace: active ERROR, WARN, INFO, DEBUG, TRACE (niveau le plus détaillé) Log debug: active ERROR, WARN, INFO, DEBUG Log info: active ERROR, WARN, INFO (par défaut) Log warn: active ERROR, WARN Log error: active ERROR (niveau le moins détaillé)
+**Description** : Délai maximum d’inactivité (timeout) des connexions au moteur de base de données, au serveur SQL de 4D ainsi qu'au serveur d'applications 4D (mode *ServerNet* uniquement, ignoré en *QUIC*). Lorsqu’une connexion inactive atteint ce délai, elle est automatiquement mise en veille, ce qui se traduit par le gel de la session client/serveur et la fermeture du socket réseau. Dans la fenêtre d'administration du serveur, le process utilisateur prend l'état "Postponed". Ce fonctionnement est entièrement transparent pour l’utilisateur : dès qu’il y a reprise d’activité sur la connexion mise en veille, le socket est automatiquement rouvert et la session client/serveur restaurée.
+Ce paramétrage permet, d’une part, d’économiser des ressources sur le serveur : les connexions mises en veille referment le socket et libèrent un processus sur le serveur. D’autre part, il permet d’éviter les pertes de connexions dues aux fermetures par les pare-feux des sockets inactifs. La valeur de timeout des connexions inactives doit pour cela être inférieure à celle du pare-feu.
+Si vous passez une valeur positive dans *valeur*, elle s'applique à toutes les nouvelles connexions dans tous les process. Si vous passez une valeur négative, elle s’applique aux connexions ouvertes dans le process courant. Si vous passez 0, les connexions inactives ne sont pas soumises à un timeout.
-### Use legacy network layer (87)
+Ce paramètre doit être défini côté client. Généralement, vous n'aurez pas besoin de modifier cette valeur.
-**Portée :** 4D local, 4D Server.
-**Conservé entre deux sessions :** Oui
-**Description :** Fixe ou lit le statut courant de l'ancienne couche réseau pour les connexions client/serveur. L'ancienne couche réseau est obsolète à compter de 4D v14 R5 et doit être progressivement remplacée dans vos applications par la couche réseau *ServerNet*. *ServerNet* sera nécessaire dans les prochaines versions de 4D afin de permettre aux applications 4D de tirer parti des futures évolutions réseau. Pour des raisons de compatibilité, l'ancienne couche réseau est toujours prise en charge afin de faciliter la transition des applications existantes (elle reste utilisée par défaut dans les applications converties depuis des versions antérieures à la v14 R5). Passez 1 dans ce paramètre pour utiliser l'ancienne couche réseau (et désactiver *ServerNet*), et passez 0 pour désactiver l'ancienne couche réseau (et utiliser *ServerNet*).
-Cette propriété peut également être définie à l'aide de l'option "Utiliser l'ancienne couche réseau" présente dans la *Page Compatibilité* des Propriétés de la base (voir section *Options réseau et Client-serveur* ; dans cette section, vous trouverez aussi un paragraphe décrivant la stratégie de migration. Nous vous recommandons d'activer *ServerNet* dès que possible).
+### IMAP Log (119)
-Il est nécessaire de redémarrer l'application pour que ce paramètre soit pris en compte.
+**Thread-safe** : Yes
-**Valeurs possibles :** 0 ou 1 (0 = ne pas utiliser l'ancienne couche, 1 = utiliser l'ancienne couche)
+**Portée** : 4D local, 4D Server
-**Valeur par défaut :** 0 dans les applications créées avec 4D v14 R5 ou suivantes, 1 dans les applications converties depuis 4D v14 R4 ou précédentes.
+**Conservé entre deux sessions :** Non
+**Valeurs possibles :** 0 ou de 1 à N (0 = ne pas enregistrer, 1 à N = numéro séquentiel, ajouté au nom du fichier). Par défaut, la valeur est 0 (échanges IMAP non enregistrés).
+**Description :** Démarre ou stoppe l'enregistrement des échanges entre 4D et le serveur IMAP, lorsqu'un objet transporteur est traité via *IMAP\_transporteur.getMail( )* ou *IMAP\_transporteur.checkConnection( )*. Par défaut, la valeur est 0 (échanges non enregistrés). Lorsque ce mécanisme est activé, un fichier journal est créé dans le dossier Journaux de la base de données. Il est nommé 4DIMAPLog\_N.txt, où N est le numéro séquentiel du journal. Une fois que le fichier 4DIMAPLog a atteint une taille de 10 Mo, il est fermé et un nouveau est généré, avec un numéro séquentiel incrémenté. Si un fichier du même nom existe déjà, il est directement remplacé. Vous pouvez définir le numéro de départ de la séquence à l'aide du paramètre value. Par défaut, tous les fichiers sont conservés, mais vous pouvez contrôler le nombre de fichiers à conserver en utilisant le paramètre Circular log limitation.
-### SQL Server Port ID (88)
+Pour plus d'informations sur les fichiers 4DIMAPLog\_N.txt, reportez-vous à la section *Description des fichiers d'historique*.
-**Portée** : 4D mode local et 4D Server.
-**Conservé entre deux sessions** : Oui
-**Description** : Permet de lire ou de fixer le numéro du port TCP utilisé par le serveur SQL intégré de 4D en mode local ou de 4D Server. Par défaut, la valeur est 19812\. Le numéro de port TCP peut également être défini dans la page "SQL" de la boîte de dialogue des Propriétés de la base. Lorsque ce sélecteur est utilisé en écriture, la propriété de la base est mise à jour.
-**Valeurs possibles** : 0 à 65535.
+### Is current database a project (112)
-**Valeur par défaut** : 19812
+**Note :** Vous pouvez utiliser ce sélecteur uniquement à l'aide de la commande [Get database parameter](get-database-parameter.md) et ses valeurs ne peuvent pas être définies.
+**Portée** : Application 4D
+**Description** : Retourne 1 si l'architecture de la base courante est un projet, sinon elle retourne 0\. Pour plus d'informations, veuillez consulter la section *Base projet VS base binaire*.
-### Circular log limitation (90)
-**Thread-safe** : Yes
-**Portée** : 4D local, 4D Server.
-**Conservé entre deux sessions** : Non
+### Is host database a project (113)
-**Valeurs possibles** : Toute valeur entière, 0 = conserver tous les journaux
+**Note :** Vous pouvez utiliser ce sélecteur uniquement à l'aide de la commande [Get database parameter](get-database-parameter.md) et ses valeurs ne peuvent pas être définies.
-**Description** : Nombre maximum de fichiers à conserver par roulement pour chaque type de journal. Par défaut, les 50 fichiers les plus récents sont conservés. Si vous passez une valeur N, seuls les N fichiers les plus récents seront conservés, le plus ancien étant automatiquement effacé à la création d'un nouveau. Ce paramétrage s'applique à tous les fichiers journaux, notamment le journal des requêtes (sélecteurs 28 et 45), le journal de débogage (sélecteur 34), le journal des événements (sélecteur 79), l'historique des requêtes Web (sélecteurs 29 et 84 de la commande [WEB SET OPTION](web-set-option.md)), etc.
+**Portée** : Application 4D
+**Description** : Retourne 1 si l'architecture de la base hôte est un projet, sinon elle retourne 0\. Pour plus d'informations, veuillez consulter la section *Base projet VS base binaire*.
-### Number of formulas in cache (92)
-**Portée** : Application 4D.
-**Conservé entre deux sessions** : Non
+### Is host database writable (117)
-**Valeurs possibles** : Entier long positif
+**Note :** Vous pouvez utiliser ce sélecteur uniquement avec la commande [Get database parameter](get-database-parameter.md) et sa valeur ne peut pas être définie.
-**Valeur par défaut** : 0 (pas de cache)
+**Portée** : Application 4D
-**Description** : Fixe ou lit le nombre maximum de formules à conserver dans le cache des formules, qui est utilisé par la commande [EXECUTE FORMULA](execute-formula.md). Cette limite est appliquée à tous les process, mais chaque process dispose de son propre cache de formules. Placer des formules dans le cache accélère l'exécution de la commande [EXECUTE FORMULA](execute-formula.md) en mode compilé puisque chaque formule en cache est tokenisée une seule fois dans ce cas. Lorsque vous modifiez la valeur du cache, son contenu est réinitialisé même si la nouvelle valeur est supérieure à la précédente. Une fois le nombre maximum de formules en cache atteint, toute nouvelle formule exécutée écrase la plus ancienne dans le cache (mode FIFO). Ce paramètre est pris en compte uniquement dans les bases ou les composants compilés.
+**Description** : Retourne 1 si le fichier de structure ou le fichier de projet de l'hôte est en écriture, et retourne 0 s'il est en lecture seule.
-### OpenSSL version (94)
-**Portée** : Tous postes 4D
+### Libldap version (114)
- **Conservé entre deux sessions** : Non
+**Portée** : Machine 4D courante
-**Description**: Retourne le numéro de version de la bibliothèque OpenSSL utilisée sur le poste. (Lecture seule)
+**Conservé entre deux sessions** : Non
+**Description** : Retourne le numéro de version de la bibliothèque LDAP dans l'application 4D sur la machine locale. (Lecture seule)
-### Cache flush periodicity (95)
-**Thread-safe** : Yes
+### Libsasl version (115)
-Portée : 4D local, 4D Server
+**Portée** : Machine 4D courante
**Conservé entre deux sessions** : Non
-**Valeurs possibles** : entier long > 1 (secondes)
+**Description** : Retourne le numéro de version de la bibliothèque SASL dans l'application 4D sur la machine locale. (Lecture seule)
-**Description** : Permet de lire ou de fixer la valeur courante de périodicité de l'écriture du cache de données sur le disque, exprimée en secondes. Si elle est modifiée, cette valeur remplace la valeur définie par l'option **Ecriture cache toutes les secondes/minutes** dans la [XML DECODE](xml-decode.md) des Propriétés de la base durant la session courante (elle n'est pas stockée dans les Propriétés de la base).
-### Remote connection sleep timeout (98)
+### Libzip version (120)
-**Portée** : Application 4D Server
+**Portée :** Machine 4D courante
-**Conservé entre deux sessions** : Non
+**Conservé entre deux sessions :** n/a
-**Valeurs possibles** : Entier long positif
+**Description :** Retourne le numéro de version de la bibliothèque libzip dans l'application 4D sur la machine courante. (Lecture seule)
-**Description** : Timeout de la connexion à distance en veille, exprimé en secondes. Par défaut, la valeur est 172800 (48 heures). Le délai de mise en veille est appliqué une fois qu'une machine exécutant une application distante 4D est passée en mode veille. Dans ce cas, sa session est maintenue par 4D Server (voir la description de la fonctionnalité ). 4D Server vérifie toutes les 5 minutes si un 4D distant en veille a dépassé le délai de veille, auquel cas il est abandonné. Ainsi, la durée de veille maximale autorisée est la *timeout mise en veille actuel + 300*. Dans certains cas, vous souhaiterez peut-être modifier le délai de mise en veille, pour libérer, par exemple, les enregistrements/licences verrouillés plus rapidement.
-### Tips enabled (101)
+### Log command list (80)
-**Portée :** Application 4D
+**Portée** : Application 4D
-**Conservé entre deux sessions :** Non
+**Conservé** **entre deux sessions** : Non
-**Valeurs possibles :** 0 = message d'aide désactivés, 1 = messages d'aide activés (défaut)
+**Valeurs possibles** : Chaîne contenant la liste des numéros des commandes 4D à enregistrer (séparées par des points-virgules), ou "all" pour enregistrer toutes les commande, ou "" (chaîne vide) pour n’enregistrer aucune commande, ou le préfixe "-" pour exclure des commandes spécifiques.
-**Description :** Définit ou récupère l'état d'affichage des messages d'aide dans l'application 4D. Par défaut, les messages d'aide sont activées.
+**Description** : Liste des commandes 4D à enregistrer dans le fichier de débogage ou à exclure du fichier de débogage (cf. sélecteur 34, Debug log recording). Par défaut, toutes les commandes 4D sont enregistrées. Ce sélecteur vous permet de restreindre la quantité d’informations stockées dans le fichier de débogage en limitant les commandes 4D dont vous souhaitez enregistrer l’exécution ou bien que vous souhaitez exclure de l'enregistrement. Par exemple, vous pouvez écrire :
- Notez que ce paramètre fixe tous les messages d'aides, c'est-à-dire les messages d'aide des formulaires et ceux de l'éditeur du mode Développement.
+```4d
+//enregistrer uniquement les commandes QUERY et QUERY SELECTION
+SET DATABASE PARAMETER(Log command list;"277;341")
+```
+OU
+```4d
+//exclure les commandes SET USER ALIAS et DELAY PROCESS de l'enregistrement
+SET DATABASE PARAMETER(Log command list;"-1666;-323")
+```
-### Tips delay (102)
+### Max concurrent Web processes (18)
-**Portée :** Application 4D
+**Portée** : 4D local, 4D Server
-**Conservé entre deux sessions :** Non
+**Conservé entre deux sessions** : Oui
-**Valeurs possibles :** entier long >= 0 (ticks)
+**Description** : *Constante obsolète (conservée par compatibilité uniquement).* Il est désormais conseillé d'utiliser les commandes [WEB SET OPTION](web-set-option.md) et [WEB GET OPTION](web-get-option.md) pour le paramétrage du serveur HTTP.
-**Description :** délai avant que les messages d'aide soient affichés une fois que le curseur de la souris est arrêté sur les objets avec message d'aide. La valeur est exprimée en ticks (1/60e de seconde). La valeur par défaut est de 45 ticks (0,75 seconde).
-### Tips duration (103)
+### Maximum Web requests size (27)
-**Portée :** Application 4D
+**Portée** : 4D local, 4D Server
-**Conservé entre deux sessions :** Non
+ **Conservé** **entre deux sessions** : Oui
-**Valeurs possibles :** entier long >= 60 (ticks)
+ **Description** : *Constante obsolète (conservée par compatibilité uniquement).* Il est désormais conseillé d'utiliser les commandes [WEB SET OPTION](web-set-option.md) et [WEB GET OPTION](web-get-option.md) pour le paramétrage du serveur HTTP.
-**Description :** Durée maximum de l'affichage du message d'aide. La valeur est exprimée en ticks (1/60e de seconde). La valeur par défaut est de 720 ticks (12 secondes).
@@ -772,101 +602,89 @@ Portée : 4D local, 4D Server
-### User param value (108)
-
-**Portée :** 4D local, 4D Server
-
-**Conservé entre deux sessions :** Non
-
-**Valeurs possibles** : Toute chaîne personnalisée
-
-**Description :** Chaîne personnalisée passée d'une session à la suivante lorsque l'application 4D est redémarrée. Ce sélecteur est utile dans les cas où des tests unitaires automatisés nécessitent que les applications redémarrent avec des paramètres différents.
-
-Avec [SET DATABASE PARAMETER](set-database-parameter.md), définit une nouvelle valeur qui sera disponible dans la prochaine base de données ouverte après le redémarrage manuel de 4D or l'utilisation des commandes [OPEN DATABASE](open-database.md)(\*), [OPEN DATA FILE](open-data-file.md), ou [RESTART 4D](restart-4d.md). Avec [Get database parameter](get-database-parameter.md), retourne la valeur User param courante définie à l'aide d'une ligne de commande (voir *Interface ligne de commande*), un fichier .4DLink (voir *Utiliser un fichier 4DLink*), ou un appel à [SET DATABASE PARAMETER](set-database-parameter.md) durant la session précédente. (\*) Si [SET DATABASE PARAMETER](set-database-parameter.md) fixe une User param value avant d'appeler [OPEN DATABASE](open-database.md) à l'aide d'un fichier .4DLink contenant également un attribut xml user-param xml, 4D ne tient compte que du paramètre fourni par [SET DATABASE PARAMETER](set-database-parameter.md).
+### Number of formulas in cache (92)
+**Portée** : Application 4D.
-### Times inside objects (109)
+**Conservé entre deux sessions** : Non
-Portée : 4D local, 4D Server (tous process)
+**Valeurs possibles** : Entier long positif
-**Conservé entre deux sessions** : Oui
+**Valeur par défaut** : 0 (pas de cache)
- **Valeurs possibles** : Times in seconds (0) (défaut), Times in milliseconds (1)
+**Description** : Fixe ou lit le nombre maximum de formules à conserver dans le cache des formules, qui est utilisé par la commande [EXECUTE FORMULA](execute-formula.md). Cette limite est appliquée à tous les process, mais chaque process dispose de son propre cache de formules. Placer des formules dans le cache accélère l'exécution de la commande [EXECUTE FORMULA](execute-formula.md) en mode compilé puisque chaque formule en cache est tokenisée une seule fois dans ce cas. Lorsque vous modifiez la valeur du cache, son contenu est réinitialisé même si la nouvelle valeur est supérieure à la précédente. Une fois le nombre maximum de formules en cache atteint, toute nouvelle formule exécutée écrase la plus ancienne dans le cache (mode FIFO). Ce paramètre est pris en compte uniquement dans les bases ou les composants compilés.
-**Description** : Définit la manière dont les valeurs de type heure sont converties et stockées dans les propriétés d'objets et les éléments de collections, ainsi que lors des imports/exports JSON et via les zones Web. Par défaut, à compter de 4D v17, les heures sont converties et stockées en nombre de secondes.
-Dans les versions précédentes, les heures étaient converties et stockées en nombre de millisecondes dans ces contextes. L'utilisation de ce sélecteur peut vous aider lors de la migration de vos applications en rétablissant le fonctionnement précédent lorsque c'est nécessaire.
-**Note** : Les méthodes ORDA et le moteur SQL ne tiennent pas compte de ce paramétrage, ces deux environnements manipulent toujours les heures en nombre de secondes.
+### OpenSSL version (94)
+**Portée** : Tous postes 4D
-### SMTP Log (110)
+ **Conservé entre deux sessions** : Non
-**Thread-safe** : Yes
+**Description**: Retourne le numéro de version de la bibliothèque OpenSSL utilisée sur le poste. (Lecture seule)
-Portée : 4D local, 4D Server*
-* **Conservé entre deux sessions** : Non
-**Valeurs possibles** : 0 ou de 1 à N (0 = ne pas enregistrer, 1 à N = numéro séquentiel, accolé au nom du fichier). Par défaut, la valeur est 0 (pas d'enregistrement des échanges SMTP).
-**Description** : Démarrage ou arrêt de l'enregistrement des échanges entre 4D et le serveur SMTP, lorsqu'un objet *transporteur* est traité par *transporteur.send( )* ou *SMTP\_transporteur.checkConnection( )*. Par défaut, la valeur est 0 (pas d'enregistrement des échanges SMTP). Lorsque ce mécanisme est activé, un fichier d'historique est créé dans le dossier Logs de la base. Il est nommé 4DSMTPLog\_X.txt, *où N* est le numéro séquentiel de l'historique. Une fois qu'un fichier atteint une taille de 10 Mo, il est refermé et un nouveau fichier est généré, avec un numéro séquentiel incrémenté. Si un fichier du même nom existe déjà, il est directement remplacé. Vous pouvez définir le numéro de départ de la séquence à l'aide du paramètre *valeur*. Par défaut, tous les fichiers sont conservés, mais vous pouvez gérer le nombre de fichier à conserver à l'aide du paramètre Circular log limitation.
+### Order by formula on server (47)
-Pour plus d'informations sur les fichiers 4DSMTPLog\_X.txt, veuillez consulter la section *Description des fichiers d'historique*.
+**Portée** :Table et process courants
+ **Conservé** **entre deux sessions** : Non
+ **Valeurs possibles** : 0 (utiliser le paramétrage de la base), 1 (exécuter sur le client) ou 2 (exécuter sur le serveur)
-### Current process debug log recording (111)
+**Description** : Emplacement de l’exécution de la commande [ORDER BY FORMULA](order-by-formula.md) pour la table passée en paramètre.
-**Portée :** Application 4D
+Dans le cadre de l’exploitation d’une base en client-serveur, la commande [ORDER BY FORMULA](order-by-formula.md) peut être exécutée soit sur le serveur soit sur le client. Ce sélecteur permet de définir l’emplacement de l’exécution de cette commande (serveur ou client). Ce mode peut également être défini dans les préférences de la base. Pour plus d’informations, reportez-vous à la description du sélecteur 46, Query by formula on server.
-**Conservé entre deux sessions :** Non
+**Note :** Si vous souhaitez pouvoir activer les jointures "type SQL" (cf. sélecteur Query by formula joins), vous devez toujours exécuter les formules sur le serveur afin qu'elle ait accès aux enregistrements. Attention, dans ce contexte, la formule ne doit pas contenir d'appel à une méthode, sinon elle est automatiquement basculée sur le poste distant.
-**Description** : Démarrage ou arrêt de l'enregistrement séquentiel des événements de programmation **du process courant** dans un fichier d'historique séparé. Cet historique est semblable à Debug log recording (sélecteur 34) mais il ne porte que sur le process courant. Le nom du fichier d'historique inclut la lettre "p" et le numéro du process : 4DDebugLog\[\_p*N*_*n*].txt, où N est l'ID unique du process. Pour plus d'informations sur ce format et sur l'utilisation du fichier *4DDebugLog*, veuillez consulter la *Description des fichiers d'historique* dans le Mode Développement.
-**Notes :** Ce sélecteur est fourni uniquement à des fins de débogage et doit être utilisé avec précaution. Plus particulièrement, il ne doit pas être utilisé en production, étant donné qu'il peut avoir une incidence sur les performances de l'application. Vous pouvez utiliser simultanément les sélecteurs Debug log recording et Current process debug log recording, auquel cas les actions liées au process courant ne seront pas enregistrées dans le fichier d'historique principal.
+### Pause logging (121)
-### Is current database a project (112)
+**Thread-safe** : Yes
-**Note :** Vous pouvez utiliser ce sélecteur uniquement à l'aide de la commande [Get database parameter](get-database-parameter.md) et ses valeurs ne peuvent pas être définies.
+**Portée :** Application 4D
-**Portée** : Application 4D
+**Conservé entre deux sessions :** Non
-**Description** : Retourne 1 si l'architecture de la base courante est un projet, sinon elle retourne 0\. Pour plus d'informations, veuillez consulter la section *Base projet VS base binaire*.
+**Valeurs possibles :** 0 (reprise des journaux), 1 (pause des journaux)
+Ce sélecteur permet de suspendre/reprendre toutes les opérations de journalisation lancées sur l'application (à l'exception des journaux ORDA). Cette fonction peut être utile pour alléger temporairement les tâches de l'application 4D ou pour planifier les opérations des journaux.
-### Is host database a project (113)
-**Note :** Vous pouvez utiliser ce sélecteur uniquement à l'aide de la commande [Get database parameter](get-database-parameter.md) et ses valeurs ne peuvent pas être définies.
+### PHP interpreter IP address (55)
-**Portée** : Application 4D
+**Portée** :Application 4D
-**Description** : Retourne 1 si l'architecture de la base hôte est un projet, sinon elle retourne 0\. Pour plus d'informations, veuillez consulter la section *Base projet VS base binaire*.
+ **Conservé** **entre deux sessions** : Non
+**Valeurs** : Chaîne formatée en IPv4 (par exemple "127.0.0.1") ou en IPv6 (par exemple "2001:0db8:0000:0000:0000:ff00:0042:8329")
+**Description** : Adresse IP utilisée localement par 4D pour communiquer avec l’interpéteur PHP via fastcgi. Par défaut, la valeur est "127.0.0.1" (les adresses au format IPv6 sont prises en charge à compter de 4D v16R4).. Cette adresse doit correspondre à la machine sur laquelle se trouve 4D. Ce paramètre peut également être défini globalement pour tous les postes via les Propriétés de la base.
-### Libldap version (114)
+Pour plus d’informations sur l’interpréteur PHP de 4D, reportez-vous au manuel *Mode Développement*.
-**Portée** : Machine 4D courante
-**Conservé entre deux sessions** : Non
-**Description** : Retourne le numéro de version de la bibliothèque LDAP dans l'application 4D sur la machine locale. (Lecture seule)
+### PHP interpreter port (56)
+**Portée** :Application 4D
-### Libsasl version (115)
+ **Conservé** **entre deux sessions** : Non
-**Portée** : Machine 4D courante
+**Valeurs** : Valeur de type entier long positif. Par défaut, la valeur est 8002\.
-**Conservé entre deux sessions** : Non
+**Description** : Numéro du port TCP utilisé par l’interpréteur PHP de 4D. Ce paramètre peut également être défini globalement pour tous les postes via les Propriétés de la base. Pour plus d’informations sur l’interpréteur PHP de 4D, reportez-vous au manuel *Mode Développement*.
-**Description** : Retourne le numéro de version de la bibliothèque SASL dans l'application 4D sur la machine locale. (Lecture seule)
@@ -884,64 +702,61 @@ Portée : 4D local, 4D Server
-### Is host database writable (117)
-
-**Note :** Vous pouvez utiliser ce sélecteur uniquement avec la commande [Get database parameter](get-database-parameter.md) et sa valeur ne peut pas être définie.
-**Portée** : Application 4D
+### Port ID (15)
-**Description** : Retourne 1 si le fichier de structure ou le fichier de projet de l'hôte est en écriture, et retourne 0 s'il est en lecture seule.
+**Portée** : 4D local, 4D Server
+**Conservé entre deux sessions** : Non
+**Description** : Numéro du port TCP utilisé par le serveur Web 4D avec 4D en mode local et 4D Server. Par défaut, la valeur est 80\.
-### IMAP Log (119)
+Le numéro de port TCP est défini dans la page “Web/Configuration” de la boîte de dialogue des Propriétés de la base. Vous pouvez utiliser les constantes du thème *Numéros de port TCP* pour le paramètre *valeur*.
-**Thread-safe** : Yes
+Le sélecteur Port ID est utile dans le cadre de serveurs Web 4D compilés et fusionnés avec 4D Desktop (pas d’accès au mode Développement). Pour plus d’informations sur le numéro de port TCP, reportez-vous à la section *Paramétrages du serveur Web*.
-**Portée** : 4D local, 4D Server
-**Conservé entre deux sessions :** Non
-**Valeurs possibles :** 0 ou de 1 à N (0 = ne pas enregistrer, 1 à N = numéro séquentiel, ajouté au nom du fichier). Par défaut, la valeur est 0 (échanges IMAP non enregistrés).
-**Description :** Démarre ou stoppe l'enregistrement des échanges entre 4D et le serveur IMAP, lorsqu'un objet transporteur est traité via *IMAP\_transporteur.getMail( )* ou *IMAP\_transporteur.checkConnection( )*. Par défaut, la valeur est 0 (échanges non enregistrés). Lorsque ce mécanisme est activé, un fichier journal est créé dans le dossier Journaux de la base de données. Il est nommé 4DIMAPLog\_N.txt, où N est le numéro séquentiel du journal. Une fois que le fichier 4DIMAPLog a atteint une taille de 10 Mo, il est fermé et un nouveau est généré, avec un numéro séquentiel incrémenté. Si un fichier du même nom existe déjà, il est directement remplacé. Vous pouvez définir le numéro de départ de la séquence à l'aide du paramètre value. Par défaut, tous les fichiers sont conservés, mais vous pouvez contrôler le nombre de fichiers à conserver en utilisant le paramètre Circular log limitation.
+### Query by formula joins (49)
-Pour plus d'informations sur les fichiers 4DIMAPLog\_N.txt, reportez-vous à la section *Description des fichiers d'historique*.
+**Portée** :Process courant
+ **Conservé** **entre deux sessions** : Non
+ **Valeurs possibles** : 0 (utiliser paramétrages de la base), 1 (toujours utiliser les liens auto) ou 2 (utiliser les jointures SQL si possible).
-### Libzip version (120)
+**Description** : Mode de fonctionnement des commandes [QUERY BY FORMULA](query-by-formula.md) et [QUERY SELECTION BY FORMULA](query-selection-by-formula.md) relatif à l’utilisation de "jointures SQL".
-**Portée :** Machine 4D courante
+Dans les bases de données créées à compter de la version 11.2 de 4D v11 SQL, ces commandes effectuent des jointures sur le modèle des jointures SQL. Ce mécanisme permet de modifier la sélection d’une table en fonction d’une recherche effectuée sur une autre table sans que les tables soient reliées par un lien automatique (condition nécessaire dans les versions précédentes de 4D).
-**Conservé entre deux sessions :** n/a
+Le sélecteur Query by formula joins vous permet de définir le mode de fonctionnement des commandes de recherche par formule pour le process courant :
-**Description :** Retourne le numéro de version de la bibliothèque libzip dans l'application 4D sur la machine courante. (Lecture seule)
+0 : utiliser les paramètres courants de la base (valeur par défaut). Dans les bases de données créées à compter de la version 11.2 de 4D v11 SQL, les "jointures SQL" sont toujours activées pour les recherches par formule. Dans les bases de données converties, ce mécanisme est inactivé par défaut pour des raisons des compatibilité mais peut être mis en oeuvre via une préférence.1 : toujours utiliser les liens auto (= fonctionnement des versions précédentes de 4D). Dans ce mode, un lien est nécessaire pour définir la sélection d’une table en fonction de recherches effectuées dans une autre table. 4D n’effectue pas de "jointures SQL".2 : utiliser les jointures SQL si possible (= fonctionnement par défaut des bases créées en version 11.2 et suivantes de 4D v11 SQL). Dans ce mode, 4D établit des "jointures SQL" pour les recherches par formule lorsque la formule s’y prête (à deux exceptions près, voir la description de la commande commandes [QUERY BY FORMULA](query-by-formula.md) ou [QUERY SELECTION BY FORMULA](query-selection-by-formula.md). **Note :** Avec 4D en mode distant, les "jointures SQL" ne peuvent être utilisées que si les formules sont exécutées sur le serveur (elles doivent avoir accès aux enregistrements). Pour configurer le lieu d'exécution des formules, reportez-vous aux sélecteurs 46 et 47.
-### Pause logging (121)
-**Thread-safe** : Yes
+### Query by formula on server (46)
-**Portée :** Application 4D
+**Portée** :Table et process courants
-**Conservé entre deux sessions :** Non
+ **Conservé** **entre deux sessions** : Non
-**Valeurs possibles :** 0 (reprise des journaux), 1 (pause des journaux)
+ **Valeurs possibles** : 0 (utiliser le paramétrage de la base), 1 (exécuter sur le client) ou 2 (exécuter sur le serveur)
-Ce sélecteur permet de suspendre/reprendre toutes les opérations de journalisation lancées sur l'application (à l'exception des journaux ORDA). Cette fonction peut être utile pour alléger temporairement les tâches de l'application 4D ou pour planifier les opérations des journaux.
+**Description** : Emplacement de l’exécution des commandes [QUERY BY FORMULA](query-by-formula.md) et [QUERY SELECTION BY FORMULA](query-selection-by-formula.md) pour la *table* passée en paramètre.
+Dans le cadre de l’exploitation d’une base en client-serveur, les commandes de recherche "par formule" peuvent exécutées soit sur le serveur soit sur le client :
-### TCPUDP log recording (131)
+dans les bases de données créées à partir de 4D v11 SQL, ces commandes sont exécutées sur le serveur. dans les bases de données converties, ces commandes sont exécutées sur le client, comme dans les versions précédentes de 4D.dans les bases de données converties, une préférence spécifique permet de modifier globalement le lieu d’exécution de ces commandes.Cette différence de lieu d’exécution influe sur les performances de l’application (l’exécution sur le serveur est généralement plus rapide) mais également sur la programmation. En effet, la valeur des composantes de la formule (notamment les variables appelées via une méthode) diffère suivant le contexte d’exécution. Vous pouvez utiliser ce sélecteur pour adapter ponctuellement le fonctionnement de votre application.
-**Portée :** Application 4D
+Si vous passez 0 dans le paramètre *valeur*, l’emplacement d’exécution des commandes de recherche "par formule" dépendra de la configuration de la base : dans les bases créées avec 4D v11 SQL, les commandes seront exécutées sur le serveur. Dans les bases converties, elles seront exécutées sur le client ou le serveur en fonction des préférences de la base. Passez 1 ou 2 dans *valeur* pour "forcer" l’exécution des commandes respectivement sur le client ou sur le serveur.
-**Conservé entre deux sessions :** Non
+Reportez-vous à l'exemple 2.
-**Valeurs possibles :** `0`: Enregistrement désactivé (défaut), `1`: Enregistrement activé.
+**Note :** Si vous souhaitez pouvoir activer les jointures "type SQL" (cf. sélecteur Query by formula joins), vous devez toujours exécuter les formules sur le serveur afin qu'elle ait accès aux enregistrements. Attention, dans ce contexte, la formule ne doit pas contenir d'appel à une méthode, sinon elle est automatiquement basculée sur le poste distant.
-**Description :** Active ou désactive le fichier `4DTCPUDPLog.txt` pour l'enregistrement des événements TCP et UDP.
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/commands-legacy/verify-data-file.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/commands-legacy/verify-data-file.md
index 3f32968a214cb7..ca87c17b217edd 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-21/commands-legacy/verify-data-file.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/commands-legacy/verify-data-file.md
@@ -52,45 +52,43 @@ Pour créer l’historique, passez 0 dans *options*.
Le paramètre *méthode* permet de définir une méthode de rétro-appel qui sera régulièrement appelée durant la vérification. Si vous passez une chaîne vide ou un nom de méthode non valide, ce paramètre est ignoré (aucune méthode n’est appelée). Lorsqu’elle est appelée, la méthode reçoit jusqu’à 5 paramètres en fonction des objets vérifiés et du type d’événement à l’origine de l’appel (cf. tableau des appels). Vous devez impérativement déclarer ces paramètres dans la méthode :
-| $1 | Entier long | Type de message (cf. tableau) |
-| -- | ----------- | ----------------------------- |
-| $2 | Entier long | Type d’objet |
-| $3 | Texte | Message |
-| $4 | Entier long | Numéro de table |
-| $5 | Entier long | Réservé |
+| Paramètre | Type | Description |
+| ------------ | ----------- | ----------------------------- |
+| $messageType | Entier long | Type de message (cf. tableau) |
+| $objectType | Entier long | Type d’objet |
+| $messageText | Texte | Message |
+| $table | Entier long | Numéro de table |
+| $reserved | Entier long | Réservé |
Le tableau suivant décrit le contenu des paramètres en fonction du type d’événement :
-| **Evénement** | **$1 (Entier long)** | **$2 (** **Entier** **long)** | **$3 (Texte)** | **$4 (** **Entier** **long)** | **$5 (** **Entier** **long)** |
-| ------------------------- | -------------------- | ------------------------------- | -------------- | ------------------------------- | ------------------------------- |
-| Message | 1 | 0 | Progression | Pourcentage | Réservé |
-| message | réalisé (0-100) | | | | |
-| Vérification terminée(\*) | 2 | Type d’objet(\*\*) | Message OK | Table ou index | Réservé |
-| test | numéro | | | | |
-| Erreur | 3 | Type d’objet(\*\*) | Texte d’erreur | Table ou index | Réservé |
-| message | numéro | | | | |
-| Fin d’exécution | 4 | 0 | DONE | 0 | Réservé |
-| Warning | 5 | Type d'objet(\*\*) | Texte d'erreur | Table ou index | Réservé |
-| message | numéro | | | | |
+| **Evénement** | **$messageType** | **$objectType** | **$messageText** | **$table** | **$reserved** |
+| ------------------------- | ---------------- | ----------------- | --------------------- | ------------------------------- | ------------------------------- |
+| Message | 1 | 0 | Progression message | Pourcentage réalisé (0-100) | Réservé |
+| Vérification terminée(\*) | 2 | Type d’objet(\*\*)| Message OK test | Table ou index numéro | Réservé |
+| Erreur | 3 | Type d’objet(\*\*)| Texte d’erreur message| Table ou index numéro | Réservé |
+| Fin d’exécution | 4 | 0 | DONE | 0 | Réservé |
+| Warning | 5 | Type d'objet(\*\*)| Texte d'erreur | Table ou index | Réservé |
+| | | | | message | numéro |
-(\*) L'événement *Vérification terminée* ($1=2) n'est jamais renvoyé lorsque le mode de vérification est Verify all. Il n'est utilisé qu'en mode Verify records ou Verify indexes.
+(\*) L'événement *Vérification terminée* ($messageType=2) n'est jamais renvoyé lorsque le mode de vérification est Verify all. Il n'est utilisé qu'en mode Verify records ou Verify indexes.
-(\*\*) *Type d’objet* : Lorsqu’un objet est vérifié, un message "terminé" ($1=2), erreur ($1=3) ou warning ($1=5) peut être envoyé. Le type d’objet retourné dans $2 peut être l’un des suivants :
+(\*\*) *Type d’objet* : Lorsqu’un objet est vérifié, un message "terminé" ($messageType=2), erreur ($messageType=3) ou warning ($messageType=5) peut être envoyé. Le type d’objet retourné dans $objectType peut être l’un des suivants :
* 0 = indéterminé
* 4 = enregistrement
* 8 = index
* 16 = objet structure (contrôle préliminaire du fichier de données).
-*Cas particulier* : lorsque $4 = 0 pour $1 = 2, 3 ou 5, le message ne concerne pas une table mais le fichier de données dans son ensemble.
+*Cas particulier* : lorsque $table = 0 pour $messageType = 2, 3 ou 5, le message ne concerne pas une table mais le fichier de données dans son ensemble.
-La méthode de rétro-appel doit également retourner une valeur dans $0 (Entier long), permettant de contrôler l’exécution de l’opération :
+La méthode de rétro-appel doit également retourner une valeur entière *$result*, permettant de contrôler l’exécution de l’opération :
-* si $0 = 0, l’opération continue normalement
-* si $0 = -128, l’opération est stoppée sans erreur générée
-* si $0 = autre valeur, l’opération est stoppée et la valeur passée dans $0 est retournée en tant que numéro d’erreur. Cette erreur peut être interceptée par une méthode d’appel sur erreur.
+* si $result = 0, l’opération continue normalement
+* si $result = -128, l’opération est stoppée sans erreur générée
+* si $result = autre valeur, l’opération est stoppée et la valeur passée dans $result est retournée en tant que numéro d’erreur. Cette erreur peut être interceptée par une méthode d’appel sur erreur.
-**Note :** Il n'est pas possible d'interrompre l'exécution via $0 après que l'événement *Fin d'exécution* ($4=1) a été généré.
+**Note :** Il n'est pas possible d'interrompre l'exécution via $result après que l'événement *Fin d'exécution* ($1=4) a été généré.
Deux tableaux facultatifs peuvent également être utilisés par la commande :
@@ -109,7 +107,7 @@ Quelle que soit l'option sélectionnée, dès lors qu'un fichier d'historique es
Vérification simple des données et des index :
```4d
- VERIFY DATA FILE($NomStruct;$NomData;Verify indexes+Verify records;Ne pas créer d’historique;"")
+ VERIFY DATA FILE($NomStruct;$NomData;Verify indexes+Verify records;Ne pas créer d’historique;"")
```
## Exemple 2
@@ -117,7 +115,7 @@ Vérification simple des données et des index :
Vérification complète avec historique :
```4d
- VERIFY DATA FILE($NomStruct;$NomData;Verify all;0;"")
+ VERIFY DATA FILE($NomStruct;$NomData;Verify all;0;"")
```
## Exemple 3
@@ -125,7 +123,7 @@ Vérification complète avec historique :
Vérification des enregistrements uniquement :
```4d
- VERIFY DATA FILE($NomStruct;$NomData;Verify records;0;"")
+ VERIFY DATA FILE($NomStruct;$NomData;Verify records;0;"")
```
## Exemple 4
@@ -133,10 +131,10 @@ Vérification des enregistrements uniquement :
Vérification des enregistrements des tables 3 et 7 uniquement :
```4d
- ARRAY LONGINT($tnumTables;2)
- $tnumTables{1}:=3
- $tnumTables{2}:=7
- VERIFY DATA FILE($NomStruct;$NomData;Verify records;0;"FollowScan";$tnumTables)
+ ARRAY LONGINT($tnumTables;2)
+ $tnumTables{1}:=3
+ $tnumTables{2}:=7
+ VERIFY DATA FILE($NomStruct;$NomData;Verify records;0;"FollowScan";$tnumTables)
```
## Exemple 5
@@ -144,14 +142,14 @@ Vérification des enregistrements des tables 3 et 7 uniquement :
Vérification d’index spécifiques (index du champ 1 de la table 4 et index des champs 2 et 3 de la table 5) :
```4d
- ARRAY LONGINT($tnumTables;0) //non utilisé mais obligatoire
- ARRAY LONGINT($tindex;2;0) //2 lignes (colonnes ajoutées ensuite)
- $tindex{1}{0}:=4 // numéro de table dans l’élément 0
- APPEND TO ARRAY($tindex{1};1) // numéro du 1er champ à vérifier
- $tindex{2}{0}:=5 // numéro de table dans l’élément 0
- APPEND TO ARRAY($tindex{2};2) // numéro du 1er champ à vérifier
- APPEND TO ARRAY($tindex{2};3) // numéro du 2e champ à vérifier
- VERIFY DATA FILE($NomStruct;$NomData;Verify indexes;0;"FollowScan";$tnumTables;$tindex)
+ ARRAY LONGINT($tnumTables;0) //non utilisé mais obligatoire
+ ARRAY LONGINT($tindex;2;0) //2 lignes (colonnes ajoutées ensuite)
+ $tindex{1}{0}:=4 // numéro de table dans l’élément 0
+ APPEND TO ARRAY($tindex{1};1) // numéro du 1er champ à vérifier
+ $tindex{2}{0}:=5 // numéro de table dans l’élément 0
+ APPEND TO ARRAY($tindex{2};2) // numéro du 1er champ à vérifier
+ APPEND TO ARRAY($tindex{2};3) // numéro du 2e champ à vérifier
+ VERIFY DATA FILE($NomStruct;$NomData;Verify indexes;0;"FollowScan";$tnumTables;$tindex)
```
## Exemple 6
@@ -159,8 +157,8 @@ Vérification d’index spécifiques (index du champ 1 de la table 4 et index de
Vérification du fichier de données, création et affichage du fichier d'historique :
```4d
- VERIFY DATA FILE(Structure file;Data file;Tout vérifier;0;"")
- SHOW ON DISK(File(Fichier log vérification).platformPath)
+ VERIFY DATA FILE(Structure file;Data file;Tout vérifier;0;"")
+ SHOW ON DISK(File(Fichier log vérification).platformPath)
```
## Variables et ensembles système
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/commands/command-index.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/commands/command-index.md
index 1a06efeaf1fba5..d11e797ed66392 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-21/commands/command-index.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/commands/command-index.md
@@ -1264,7 +1264,7 @@ title: Commandes par nom
[`WA Evaluate JavaScript`](../commands-legacy/wa-evaluate-javascript.md)
[`WA EXECUTE JAVASCRIPT FUNCTION`](../commands-legacy/wa-execute-javascript-function.md)
[`WA Forward URL available`](../commands-legacy/wa-forward-url-available.md)
-[`WA Get context`](../commands/wa-get-context.md) **nouveau 4D 20 R9**
+[`WA Get context`](../commands/wa-get-context.md) **new 4D 20 R9**
[`WA Get current URL`](../commands-legacy/wa-get-current-url.md)
[`WA GET EXTERNAL LINKS FILTERS`](../commands-legacy/wa-get-external-links-filters.md)
[`WA Get last filtered URL`](../commands-legacy/wa-get-last-filtered-url.md)
@@ -1280,7 +1280,7 @@ title: Commandes par nom
[`WA OPEN WEB INSPECTOR`](../commands-legacy/wa-open-web-inspector.md)
[`WA REFRESH CURRENT URL`](../commands-legacy/wa-refresh-current-url.md)
[`WA Run offscreen area`](../commands-legacy/wa-run-offscreen-area.md)
-[`WA SET CONTEXT`](../commands/wa-set-context.md) **nouveau 4D 20 R9**
+[`WA SET CONTEXT`](../commands/wa-set-context.md) **new 4D 20 R9**
[`WA SET EXTERNAL LINKS FILTERS`](../commands-legacy/wa-set-external-links-filters.md)
[`WA SET PAGE CONTENT`](../commands-legacy/wa-set-page-content.md)
[`WA SET PREFERENCE`](../commands-legacy/wa-set-preference.md)
@@ -1288,6 +1288,8 @@ title: Commandes par nom
[`WA STOP LOADING URL`](../commands-legacy/wa-stop-loading-url.md)
[`WA ZOOM IN`](../commands-legacy/wa-zoom-in.md)
[`WA ZOOM OUT`](../commands-legacy/wa-zoom-out.md)
+[`Web Event`](web-event.md)
+[`Web Form`](web-form.md)
[`WEB GET BODY PART`](../commands-legacy/web-get-body-part.md)
[`WEB Get body part count`](../commands-legacy/web-get-body-part-count.md)
[`WEB Get current session ID`](../commands-legacy/web-get-current-session-id.md)
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/commands/license-info.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/commands/license-info.md
index f85ef8794fd123..5202784c21cfaa 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-21/commands/license-info.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/commands/license-info.md
@@ -22,7 +22,7 @@ Si la commande est exécutée sur une application 4D qui n'utilise pas de licenc
:::note
-This command reloads the license files from the disk and updates the associated rights if they have been modified.
+Cette commande recharge les fichiers de licence à partir du disque et met à jour les droits associés s'ils ont été modifiés.
:::
The returned object contains the following properties:
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/commands/theme/Web_Server.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/commands/theme/Web_Server.md
index 411ace58073db0..d616c373a5bca1 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-21/commands/theme/Web_Server.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/commands/theme/Web_Server.md
@@ -7,6 +7,8 @@ slug: /commands/theme/Web-Server
| |
| --------------------------------------------------------------------------------------------------------------------------------------- |
+| [](../../commands/web-event.md)
|
+| [](../../commands/web-form.md)
|
| [](../../commands-legacy/web-get-body-part.md)
|
| [](../../commands-legacy/web-get-body-part-count.md)
|
| [](../../commands-legacy/web-get-current-session-id.md)
|
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/commands/web-event.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/commands/web-event.md
new file mode 100644
index 00000000000000..9baae253729677
--- /dev/null
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/commands/web-event.md
@@ -0,0 +1,97 @@
+---
+id: web-event
+title: Web Event
+displayed_sidebar: docs
+---
+
+**Web Event** : object
+
+
+
+| Paramètres | Type | | Description |
+| ---------- | ------ | :-------------------------: | -------------------------------------- |
+| Résultat | Object | ← | Informations sur l'événement déclenché |
+
+
+
+## Description
+
+La commande `Web Event` renvoie un objet contenant des informations sur un événement déclenché lié à un composant de formulaire web Qodly.
+
+La commande doit être appelée dans le contexte d'une page web gérée par le serveur web 4D.
+
+**Résultat**
+
+L'objet retourné contient les propriétés suivantes :
+
+| Propriété | | Type | Description |
+| --------- | ----- | ------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| caller | | string | [Référence serveur](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/pageLoaderOverview#data-access-category) du composant qui déclenche l'événement |
+| eventType | | string | Type d'événement :onbluronfocusonclickonauxclickonmouseenteronmouseleaveonkeyuponkeydownonchangeunloadonload - déclenché au chargement de la `Page` |
+| data | | object | Informations supplémentaires dépendantes du composant concerné |
+| | index | number | Composant Tabs : indice de l'onglet (les indices commencent à 0)Composant Data Table : numéro de colonne |
+| | row | number | Composant Data Table : numéro de ligne |
+| | name | string | Composant Data Table : nom qodlysource de la colonne (par exemple "firstname", "address.city") |
+
+#### Exemple
+
+L'objectif est d'afficher/masquer un texte d'aide lorsque l'utilisateur survole le composant :
+
+
+
+Pour ce faire, les événements `onmouseenter` et `onmouseleave` sont attachés à un composant **Text input** qui affiche les informations stockées dans un composant **Text** (en affichant "This is the help text").
+
+
+
+Pour ce scénario :
+
+- Le composant Text input a pour référence serveur `orderNumber`.
+ 
+- Le composant Text a pour référence serveur `helpOn_orderNumber`.
+ 
+- La fonction [exposée](../ORDA/ordaClasses.md#exposed-vs-non-exposed-functions) `help()` est attachée aux événements `onmouseenter` et `onmouseleave` et contient le code suivant :
+
+```4d
+shared singleton Class constructor()
+exposed Function help()
+
+ var event : Object
+ var myForm : 4D.WebForm
+ var componentRef : Text
+
+ myForm:=web Form
+ event:=web Event
+ componentRef:=event.caller
+
+ Au cas ou
+ : (event.eventType="onmouseenter") // l'événement est onmouseenter
+ myForm["helpOn_"+componentRef].show() // montre l'aide sur "orderNumber" en affichant
+ // le composant texte avec la référence "helpOn_orderNumber"
+ : (event.eventType="onmouseleave") // l'événement est onmouseleave
+ myForm["helpOn_"+componentRef].hide() // masquel'aide sur orderNumber
+
+ End case
+
+```
+
+Pour ouvrir la page web avec l'aide de `orderNumber` masqué, vous pouvez associer cette fonction à l'événement `onload` de la page web :
+
+```4d
+exposed function hideOnLoad()
+ webForm.helpOn_orderNumber.hide()
+
+```
+
+## Voir également
+
+[Web Form](web-form.md)
+[WebForm class](../API/WebFormClass.md)
+[WebFormItem class](../API/WebFormItemClass.md)
+
+## Propriétés
+
+| | |
+| ------------------ | --------------------------- |
+| Numéro de commande | 1734 |
+| Thread safe | ✗ |
+
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/commands/web-form.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/commands/web-form.md
new file mode 100644
index 00000000000000..4b003a0fb14f55
--- /dev/null
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/commands/web-form.md
@@ -0,0 +1,46 @@
+---
+id: web-form
+title: Web Form
+displayed_sidebar: docs
+---
+
+**Web Form** : 4D.WebForm
+
+
+
+| Paramètres | Type | | Description |
+| ---------- | -------------------------- | :-------------------------: | ---------------------------- |
+| Résultat | 4D.WebForm | ← | Nouvel objet proxy `WebForm` |
+
+
+
+## Description
+
+La commande `Web Form` renvoie un objet proxy `4D.WebForm`, qui permet de travailler avec les propriétés et les fonctions de la page et de les émuler efficacement.
+
+:::info
+
+Gardez à l'esprit qu'un objet `4D.WebForm` est un **objet proxy**, et non une référence directe à l'objet page web lui-même. En conséquence, par exemple, l'objet `4D.WebForm` n'expose pas toutes les propriétés de la page dans le débogueur.
+
+:::
+
+Chaque propriété de l'objet renvoyé est un objet de la classe [4D.WebFormItem](../API/WebFormItemClass.md).
+
+La commande renvoie `null` si elle est appelée dans une requête qui ne provient pas de Qodly Studio.
+
+## Voir également
+
+[Web Event](web-event.md)
+[WebForm class](../API/WebFormClass.md)
+[WebFormItem class](../API/WebFormItemClass.md)
+
+## Propriétés
+
+| | |
+| ------------------ | --------------------------- |
+| Numéro de commande | 1735 |
+| Thread safe | ✗ |
+
+
+
+
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/API/CollectionClass.md b/i18n/ja/docusaurus-plugin-content-docs/current/API/CollectionClass.md
index 490bac9a2b2ca8..f567db353de9bb 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/API/CollectionClass.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/API/CollectionClass.md
@@ -3,7 +3,7 @@ id: CollectionClass
title: Collection
---
-Collectionクラスは [コレクション](Concepts/dt_collection.md) 型の変数を扱います。
+Collectionクラスは [コレクション](Concepts/dt_collection.md) 型の式を扱います。
コレクションは [`New collection`](../commands/new-collection.md) または [`New shared collection`](../commands/new-shared-collection.md) コマンドで初期化されます。
@@ -271,14 +271,14 @@ $c.combine($fruits;3) //[1,2,3,"Orange","Banana","Apple","Grape",4,5,6]
-**.concat**( *value* : any { *;...valueN* } ) : Collection
+**.concat**( *value* : any { ; *...valueN* } ) : Collection
-| 引数 | 型 | | 説明 |
-| ----- | -------------------------------------------------------------- | :-------------------------: | ----------------------------------------------------- |
-| value | Number, Text, Object, Collection, Date, Time, Boolean, Picture | -> | 連結する値。 *value* がコレクションの場合、コレクションの全要素が元のコレクションに追加されます。 |
-| 戻り値 | Collection | <- | 元のコレクションに値が追加された新規コレクション |
+| 引数 | 型 | | 説明 |
+| ----- | ---------- | :-------------------------: | ----------------------------------------------------- |
+| value | any | -> | 連結する値。 *value* がコレクションの場合、コレクションの全要素が元のコレクションに追加されます。 |
+| 戻り値 | Collection | <- | 元のコレクションに値が追加された新規コレクション |
@@ -3222,14 +3222,12 @@ $r:=$c.reduceRight(Formula($1.accumulator*=$1.value); 1) // 戻り値は 86400
引数もなしに呼び出された場合、`.sort()` はスカラー値 (数値、テキスト、日付、ブール) のみを並べ替えます。 デフォルトでは、要素はそれぞれの型に応じて昇順で並べ替えられます。
*ascOrDesc* 引数には、以下の定数のいずれか一つを渡すことができます:
-```
-|定数| 型|値|詳細|
-|---|---|---|---|
-|ck ascending|Integer|0|要素は昇順に並んでいます(デフォルト)|
-|ck descending|Integer|1|要素は降順に並んでいます|
+| 定数 | 型 | 値 | 説明 |
+| ------------- | ------- | - | --------------------------------------- |
+| ck ascending | Integer | 0 | 要素は昇順に並べられます (デフォルト) |
+| ck descending | Integer | 1 | 要素は降順に並べられます |
-このシンタックスはコレクション内のスカラー値のみを並び替えます(オブジェクトやコレクションなどの他の型の要素は並べ替えされません)。
-```
+このシンタックスは、コレクション内のスカラー値のみを並べ替えます (オブジェクトやコレクションなどの他の型は並べ替えされないまま返されます)。
コレクションが異なる型の要素を格納している場合、それらはまず型ごとにグループ分けされ、そのあとで並べ替えられます。 型は以下の順番で返されます:
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/API/DataClassClass.md b/i18n/ja/docusaurus-plugin-content-docs/current/API/DataClassClass.md
index 8212f0fcefa73a..74e2b3e5e9b0da 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/API/DataClassClass.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/API/DataClassClass.md
@@ -50,24 +50,24 @@ title: DataClass
返される属性オブジェクトには以下のプロパティが格納されています:
-| プロパティ | 型 | 説明 |
-| ---------------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| autoFilled | Boolean | 属性値が 4D によって自動生成される場合に true です。 このプロパティは次の 4Dフィールドプロパティに対応しています: 数値型フィールドの "自動インクリメント" および UUID (文字型)フィールドの "自動UUID"。 `.kind` が "relatedEntity" または "relatedEntities" の場合には、このプロパティは返されません。 |
-| exposed | Boolean | 属性が REST で公開されている場合に trueです |
-| fieldNumber | integer | 属性の内部的な 4Dフィールド番号。 `.kind` が "relatedEntity" または "relatedEntities" の場合には、このプロパティは返されません。 |
-| fieldType | Integer | 属性の 4Dデータベースフィールドタイプ。 これは属性の種類 (`kind`) によります。 とりうる値:`.kind` = "storage" の場合は、対応する 4Dフィールドタイプ ([`Value type`](../commands-legacy/value-type.md) 参照)`.kind` = "relatedEntity" の場合: 38 (`is object`)`.kind` = "relatedEntities" の場合: 42 (`is collection`)`.kind` = "calculated" または "alias" の場合: 結果の値 (フィールドタイプ、relatedEntity または relatedEntities) に応じて、上に同じ |
-| indexed | Boolean | 属性に対して B-tree もしくは クラスターB-Tree インデックスが設定されている場合に true です。 `.kind` が "relatedEntity" または "relatedEntities" の場合には、このプロパティは返されません。 |
-| inverseName | Text | リレーション先の属性名。 `.kind` = "relatedEntity" または "relatedEntities" の場合にのみ返されます。 |
-| keywordIndexed | Boolean | 属性にキーワードインデックスが存在すれば true です。 `.kind` が "relatedEntity" または "relatedEntities" の場合には、このプロパティは返されません。 |
-| kind | Text | 属性の種類。 とりうる値:"storage": ストレージ (あるいはスカラー) 属性。つまり、属性は値を保存しており、他の属性への参照ではありません。"calculated": 計算属性。[`get`](../ORDA/ordaClasses.md#function-get-attributename) 関数 によって定義されます。"alias": [他の属性](../ORDA/ordaClasses.md#エイリアス属性-1) を指し示す属性。"relatedEntity": N対1 リレーション属性 (エンティティへの参照) "relatedEntities": 1対N リレーション属性 (エンティティセレクションへの参照) |
-| 必須 | Boolean | 属性において Null値の入力が拒否されている場合に true です。 `.kind` が "relatedEntity" または "relatedEntities" の場合には、このプロパティは返されません。 注記: このプロパティは、4Dデータベースレベルの "Null値の入力を拒否" フィールドプロパティと対応しています。 フィールドのデータ入力制御オプションである既存の "必須入力" プロパティとは無関係です。 |
-| name | Text | 属性名 (文字列) |
-| path | Text | リレーションに基づく [エイリアス属性](../ORDA/ordaClasses.md#エイリアス属性-1) のパス。 |
-| readOnly | Boolean | 読み取り専用属性の場合に trueです。 読み取り専用属性の場合に trueです。 たとえば、[`set` 関数](../ORDA/ordaClasses.md#function-set-attributename) を持たない計算属性は読み取り専用です。 |
-| relatedDataClass | Text | 属性にリレートされているデータクラスの名称。 `.kind` = "relatedEntity" または "relatedEntities" の場合にのみ返されます。 |
-| type | Text | 属性の概念的な値タイプ。汎用的なプログラミングに有用です。 これは属性の種類 (`kind`) によります。 とりうる値: `.kind` = "storage" の場合: "blob", "bool", "date", "image", "number", "object", または "string"。 属性の概念的な値タイプ。汎用的なプログラミングに有用です。 これは属性の種類 (`kind`) によります。 とりうる値: `.kind` = "storage" の場合: "blob", "bool", "date", "image", "number", "object", または "string"。 数値型の場合 "number" が返されます (時間を含む)。UUID、文字およびテキスト型フィールドの場合 "string" が返されます。"blob" 属性は [BLOB オブジェクト](../Concepts/dt_blob.md#blob-の種類) です。`.kind` = "relatedEntity" の場合: リレートされたデータクラス名`.kind` = "relatedEntities" の場合: リレートされたデータクラス名 + "Selection" 接尾辞`.kind` = "calculated" または "alias" の場合: 結果の値に応じて、上に同じ |
-| unique | Boolean | 属性値が重複不可の場合に true です。 `.kind` が "relatedEntity" または "relatedEntities" の場合には、このプロパティは返されません。 |
-| classID | Text | `.type = "object"` でかつクラスがストラクチャーエディター内で指定されていた場合にのみ利用可能です。 オブジェクトのインスタンス下に使用したクラスの名前を返します。 |
+| プロパティ | 型 | 説明 |
+| ---------------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| autoFilled | Boolean | 属性値が 4D によって自動生成される場合に true です。 このプロパティは次の 4Dフィールドプロパティに対応しています: 数値型フィールドの "自動インクリメント" および UUID (文字型)フィールドの "自動UUID"。 `.kind` が "relatedEntity" または "relatedEntities" の場合には、このプロパティは返されません。 |
+| exposed | Boolean | 属性が REST で公開されている場合に trueです |
+| fieldNumber | integer | 属性の内部的な 4Dフィールド番号。 `.kind` が "relatedEntity" または "relatedEntities" の場合には、このプロパティは返されません。 |
+| fieldType | Integer | 属性の 4Dデータベースフィールドタイプ。 これは属性の種類 (`kind`) によります。 とりうる値:`.kind` = "storage" の場合は、対応する 4Dフィールドタイプ ([`Value type`](../commands-legacy/value-type.md) 参照)`.kind` = "relatedEntity" の場合: 38 (`is object`)`.kind` = "relatedEntities" の場合: 42 (`is collection`)`.kind` = "calculated" または "alias" の場合: 結果の値 (フィールドタイプ、relatedEntity または relatedEntities) に応じて、上に同じ |
+| indexed | Boolean | 属性に対して B-tree もしくは クラスターB-Tree インデックスが設定されている場合に true です。 `.kind` が "relatedEntity" または "relatedEntities" の場合には、このプロパティは返されません。 |
+| inverseName | Text | リレーション先の属性名。 `.kind` = "relatedEntity" または "relatedEntities" の場合にのみ返されます。 |
+| keywordIndexed | Boolean | 属性にキーワードインデックスが存在すれば true です。 `.kind` が "relatedEntity" または "relatedEntities" の場合には、このプロパティは返されません。 |
+| kind | Text | 属性の種類。 とりうる値:"storage": ストレージ (あるいはスカラー) 属性。つまり、属性は値を保存しており、他の属性への参照ではありません。"calculated": 計算属性。[`get`](../ORDA/ordaClasses.md#function-get-attributename) 関数 によって定義されます。"alias": [他の属性](../ORDA/ordaClasses.md#エイリアス属性-1) を指し示す属性。"relatedEntity": N対1 リレーション属性 (エンティティへの参照) "relatedEntities": 1対N リレーション属性 (エンティティセレクションへの参照) |
+| 必須 | Boolean | 属性において Null値の入力が拒否されている場合に true です。 `.kind` が "relatedEntity" または "relatedEntities" の場合には、このプロパティは返されません。 注記: このプロパティは、4Dデータベースレベルの "Null値の入力を拒否" フィールドプロパティと対応しています。 フィールドのデータ入力制御オプションである既存の "必須入力" プロパティとは無関係です。 |
+| name | Text | 属性名 (文字列) |
+| path | Text | リレーションに基づく [エイリアス属性](../ORDA/ordaClasses.md#エイリアス属性-1) のパス。 |
+| readOnly | Boolean | 読み取り専用属性の場合に trueです。 読み取り専用属性の場合に trueです。 たとえば、[`set` 関数](../ORDA/ordaClasses.md#function-set-attributename) を持たない計算属性は読み取り専用です。 |
+| relatedDataClass | Text | 属性にリレートされているデータクラスの名称。 `.kind` = "relatedEntity" または "relatedEntities" の場合にのみ返されます。 |
+| type | Text | 属性の概念的な値タイプ。汎用的なプログラミングに有用です。 これは属性の種類 (`kind`) によります。 とりうる値: `.kind` = "storage" の場合: "blob", "bool", "date", "image", "number", "object", または "string"。 数値型の場合 "number" が返されます (時間を含む)。UUID、文字およびテキスト型フィールドの場合 "string" が返されます。"blob" 属性は [BLOB オブジェクト](../Concepts/dt_blob.md#blob-の種類) です。`.kind` = "relatedEntity" の場合: リレートされたデータクラス名`.kind` = "relatedEntities" の場合: リレートされたデータクラス名 + "Selection" 接尾辞`.kind` = "calculated" または "alias" の場合: 結果の値に応じて、上に同じ |
+| unique | Boolean | 属性値が重複不可の場合に true です。 `.kind` が "relatedEntity" または "relatedEntities" の場合には、このプロパティは返されません。 |
+| classID | Text | `.type = "object"` でかつクラスがストラクチャーエディター内で指定されていた場合にのみ利用可能です。 オブジェクトのインスタンス下に使用したクラスの名前を返します。 |
:::tip
@@ -945,7 +945,7 @@ attributePath|formula 比較演算子 値
- **日付** 型の定数値: "YYYY-MM-DD" フォーマット。
- **null** 定数値: "null" キーワードを使用した場合、**null** と **undefined** プロパティの両方が検索されます。
- IN 記号を使用したクエリの場合、*値* はコレクションか、attributePath の型に合致する、\[ ] でくくられたカンマ区切りの値である必要があります (文字列においては、`"` の記号は `\` でエスケープする必要があります)。
- - **オブジェクト**: **ベクトル類似度クエリ** のコンテキストにおいて [4D.Vector](../API/VectorClass.md) オブジェクトのみがサポートされます。(*attributePath* に有効な4D.Vector オブジェクトが格納されている必要があります)
+ - **オブジェクト**: [**ベクトル類似度クエリ**](#ベクトル類似度クエリ) のコンテキストにおいて [4D.Vector](../API/VectorClass.md) オブジェクトのみがサポートされます。(*attributePath* に有効な4D.Vector オブジェクトが格納されている必要があります)。
- **論理演算子**: 複数の条件をクエリ内で結合させるのに使用します(任意)。 以下の論理演算子のいずれか一つを使用できます (名前あるいは記号のどちらかを渡します):
| 結合 | 記号 |
@@ -1211,6 +1211,20 @@ var $comparisonVector := {vector: $myVector; metric: mk euclidean; threshold: 1.
var $results := ds.MyClass.query("myVectorField <= :1"; $comparisonVector)
```
+**order by** 宣言はクエリ文字列でサポートされており、これによって返されるエンティティセレクション内でエンティティは類似度順にソートされます。 例:
+
+```4d
+var $results := ds.MyClass.query("myVectorField > :1 order by myVectorField"; $comparisonVector)
+ // デフォルト順、最初のエンティティは最も類似したもの
+```
+
+同じベクトルがクエリ文字列内に複数回出現した場合、order by は最初のものの結果に適用されます。例:
+
+```4d
+var $results := ds.MyClass.query("myVectorField > :1 and myVectorField > :2 order by myVectorField" desc; /
+ {vector : $myVector1 };{vector : $myVector2 }) //myVectorField > :1 は order by に使用されます。
+```
+
詳細については[以下の例題](#例題-4-2)を参照してください (例題 4 と 5)。
:::tip 関連したblog 記事
@@ -1602,14 +1616,6 @@ var $vector1Comparison:={vector: $myvector; metric: mk cosine; threshold: 0.4}
var $vector2Comparison:={vector: $myvector; metric: mk euclidean; threshold:1}
// embedding 属性は、4D.Vector クラスオブジェクトを格納している4D フィールドに基づいています
-ds.VectorTable.query("embedding>:1 and embedding<:2";$vector1Comparison;$vector2Comparison)\
- .orderByFormula(Formula(This.embedding.cosineSimilarity($vector1Comparison)))
-
- // 比較ベクトルを作成
-var $vector1Comparison:={vector: $myvector; metric: mk cosine; threshold: 0.4}
-var $vector2Comparison:={vector: $myvector; metric: mk euclidean; threshold:1}
-
- //embedding 属性は、4D.Vector クラスオブジェクトを格納している4D フィールドに基づいています
ds.VectorTable.query("embedding>:1 and embedding<:2";$vector1Comparison;$vector2Comparison)\
.orderByFormula(Formula(This.embedding.cosineSimilarity($vector1Comparison)))
```
@@ -1661,9 +1667,9 @@ ds.VectorTable.query("embedding>:1 and embedding<:2";$vector1Comparison;$vector2
`timeout` プロパティを設定すると、すでにキャッシュに存在するエンティティに新しいタイムアウトが設定されます。 これは頻繁に変更されないデータを扱う場合、つまり、サーバーへの新たな要求が必要ない場合に便利です。
-`maxEntries` は、ORDAキャッシュ内のエンティティの最大数を設定します。 デフォルトは 30,000 です。 デフォルトは 30,000 です。 デフォルトは 30,000 です。 デフォルトは 30,000 です。 デフォルトは 30,000 です。 デフォルトは 30,000 です。
+`maxEntries` は、ORDAキャッシュ内のエンティティの最大数を設定します。 デフォルトは 30,000 です。
-最小エントリー数は 300 のため、`maxEntries` の値は 300以上でなくてはなりません。 それ以外の場合は無視され、最大エントリー数は 300 に設定されます。 それ以外の場合は無視され、最大エントリー数は 300 に設定されます。 それ以外の場合は無視され、最大エントリー数は 300 に設定されます。
+最小エントリー数は 300 のため、`maxEntries` の値は 300以上でなくてはなりません。 それ以外の場合は無視され、最大エントリー数は 300 に設定されます。
`timeout` および `maxEntries` として有効なプロパティが渡されない場合、キャッシュはデフォルト値または以前に設定された値のまま変更されません。
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/API/EntitySelectionClass.md b/i18n/ja/docusaurus-plugin-content-docs/current/API/EntitySelectionClass.md
index 55e058d85bd076..fd9f07e22bf44c 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/API/EntitySelectionClass.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/API/EntitySelectionClass.md
@@ -1741,11 +1741,13 @@ pathObjects コレクションには必要な数だけオブジェクトを追
履歴
-| リリース | 内容 |
-| ----- | ------------------- |
-| 17 R6 | Formula パラメーターをサポート |
-| 17 R5 | 値のプレースホルダーをサポート |
-| 17 | 追加 |
+| リリース | 内容 |
+| ----- | ---------------------------------------------- |
+| 21 R2 | 4D.Vector 検索におけるorder by のサポート |
+| 21 | 4D.Vector オブジェクトのサポート |
+| 17 R6 | Formula パラメーターをサポート |
+| 17 R5 | 値のプレースホルダーをサポート |
+| 17 | 追加 |
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/API/WebFormClass.md b/i18n/ja/docusaurus-plugin-content-docs/current/API/WebFormClass.md
index 5cab3d46d6789e..ffe3bbb2a96872 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/API/WebFormClass.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/API/WebFormClass.md
@@ -3,7 +3,7 @@ id: WebFormClass
title: WebForm
---
-`WebForm` クラスには、Qodly の Webフォームコンポーネント (Webフォームの構成要素) を処理するための関数とプロパティが含まれています。 このクラスについては、[Qodly ドキュメンテーション](https://developer.qodly.com/docs/language/WebFormClass) (英語) で詳しく説明されています。
+`WebForm` クラスには、Qodly の Web ページコンポーネントを処理するための関数とプロパティが含まれています。 `4D.WebForm` オブジェクトは [`webForm`](../commands/web-form.md) コマンドによってインスタンス化されます。
履歴
@@ -18,14 +18,12 @@ title: WebForm
| |
| ------------------------------------------------------------------------------------------------------------------------------- |
-| [](#componentname)
|
+| [](#componentname)
|
| [](#disablestate)
|
| [](#enablestate)
|
| [](#seterror)
|
| [](#setmessage)
|
| [](#setwarning)
|
-| [](#web-form)
|
-| [](#web-event)
|
### *.componentName*
@@ -33,9 +31,28 @@ title: WebForm
#### 説明
-Webフォームのコンポーネント (構成要素) とは、これらの Webフォームのプロパティとして直接利用可能なオブジェクトです。
+Web ページのコンポーネント (構成要素) とは、これらの Web ページのプロパティとして直接利用可能なオブジェクトです。
-詳細については、[Qodly ドキュメンテーションの `.componentName` の説明](https://developer.qodly.com/docs/language/WebFormClass#componentname) を参照ください。
+返されるオブジェクトは、[`4D.WebFormItem`](WebFormItemClass.md) クラスのものです。 これらのオブジェクトは、コンポーネントを動的に管理するために使用できる関数を持っています。
+
+#### 例題
+
+```4d
+shared singleton Class constructor()
+
+ var myForm : 4D.WebForm
+ var component : 4D.WebFormItem
+
+ myForm:=webForm // Web ページをオブジェクト返し、各プロパティがコンポーネントを表す
+ component:=myForm.myImage // Web ページの myImage コンポーネントを返す
+
+```
+
+:::info
+
+`myForm` はデバッガの中で調べる場合には一般的なオブジェクトのプロパティを表示しないかもしれませんが、実際の`webForm` オブジェクトであるかのように振る舞います。 `myForm` を通して、下地となる`webForm` オブジェクトのプロパティと関数を操作することができます。 例えば、ページのコンテンツを動的に操作したり、あるいは `myForm.setMessage()` のような特殊な関数を使用してWebページにメッセージを送信したりすることができます。
+
+:::
### .disableState()
@@ -43,25 +60,24 @@ Webフォームのコンポーネント (構成要素) とは、これらの Web
-| 引数 | 型 | | 説明 |
-| ----- | ------ | :-: | ------------------------ |
-| state | string | -> | Webフォーム上で無効化する state の名称 |
+| 引数 | 型 | | 説明 |
+| ----- | ------ | :-: | ----------------------- |
+| state | string | -> | Web ページ上で無効化するstate の名前 |
#### 説明
-`.disableState()` 関数は、カレントWeb
-フォーム上の *state* のレンダリングを無効化します。
+`.disableState()` 関数は、カレントのWeb ページ内の *state* の状態のレンダリングを無効化します。
この関数は、以下の場合には何もしません:
-- Webフォーム上で *state* が現在有効ではない。
-- Webフォーム上で *state* が存在しない。
+- *state* 引数のステートが現在Web ページ内で有効化されていない
+- Web ページに対して *state* 引数のステートが存在しない。
同じユーザー関数内で複数の state を [有効化](#enablestate) または無効化した場合、すべての変更は関数の終了時に一括してクライアントに送信されます。
-Webフォームの state に関する詳細については、[developer.qodly.com](https://developer.qodly.com/docs/studio/pageLoaders/states) を参照ください。
+Web ページのステートについての詳細な情報については、[Qodly ドキュメンテーションのStates の章](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/states/stateOverview) を参照してください。
### .enableState()
@@ -71,23 +87,22 @@ Webフォームの state に関する詳細については、[developer.qodly.co
| 引数 | 型 | | 説明 |
| ----- | ------ | :-: | ------------------------ |
-| state | string | -> | Webフォーム上で有効化する state の名称 |
+| state | string | -> | Web ページ上で有効化する state の名前 |
#### 説明
-`.enableState()` 関数は、カレントWeb
-フォーム上の *state* のレンダリングを有効化します。
+`.enableState()` 関数は、カレントのWeb ページ内の *state* の状態のレンダリングを有効化します。
この関数は、以下の場合には何もしません:
-- Webフォーム上で *state* がすでに有効である。
-- Webフォーム上で *state* が存在しない。
+- *state* 引数のステートが現在Web ページ内で有効化されている
+- Web ページに対して *state* 引数のステートが存在しない。
同じユーザー関数内で複数の state を有効化または [無効化](#disablestate)した場合、すべての変更は関数の終了時に一括してクライアントに送信されます。
-Webフォームの state に関する詳細については、[developer.qodly.com](https://developer.qodly.com/docs/studio/pageLoaders/states) を参照ください。
+Web ページのステートについての詳細な情報については、[Qodly ドキュメンテーションのStates の章](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/states/stateOverview) を参照してください。
#### 例題
@@ -108,15 +123,32 @@ Function authenticationError()
| 引数 | 型 | | 説明 |
| --- | ------ | :-: | -------------------- |
-| msg | string | -> | Webフォームに表示するエラーメッセージ |
+| msg | string | -> | Web ページに表示するエラーメッセージ |
#### 説明
-`.setError()` 関数は、*msg* をエラーメッセージとして Webフォームに送信します。
+`.setError()` 関数は、*msg* 引数のメッセージを、エラーメッセージとしてWeb ページに送信します。
-詳細については、[Qodly ドキュメンテーションの `.setError()` の説明](https://developer.qodly.com/docs/language/WebFormClass#seterror) を参照ください。
+この関数は、`__NOTIFICATION.message` プロパティが *msg* に、そして `__NOTIFICATION.type` が "error" に設定されている `__WEBFORM` オブジェクトと、 `200 OK` ステータスが本文に含まれているレスポンスを返します。
+
+#### 例題
+
+```4d
+shared singleton Class constructor()
+exposed function myError()
+
+var myForm : 4D.WebForm
+myForm:=web Form
+
+myForm.setError("My error message")
+
+```
+
+イベントに対して [**Provide feedback**](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/events/bindingActionToEvents#providing-feedback) 機能が有効化されていた場合、 *message* 引数のメッセージは自動的に赤い *toast* としてページ下部に表示され、5秒後に自動的に消滅します:
+
+
### .setMessage()
@@ -126,66 +158,70 @@ Function authenticationError()
| 引数 | 型 | | 説明 |
| --- | ------ | :-: | ------------------- |
-| msg | string | -> | Webフォームに表示する情報メッセージ |
+| msg | string | -> | Web ページに表示する情報メッセージ |
#### 説明
-`.setMessage()` 関数は、*msg* を情報メッセージとして Webフォームに送信します。
+`.setMessage()` 関数は、*msg* を情報メッセージとしてWeb ページに送信します。
-詳細については、[Qodly ドキュメンテーションの `.setMessage()` の説明](https://developer.qodly.com/docs/language/WebFormClass#setmessage) を参照ください。
+この関数は、`__NOTIFICATION.message` プロパティが *msg* に、そして `__NOTIFICATION.type` が "message" に設定されている `__WEBFORM` オブジェクトと、 `200 OK` ステータスが本文に含まれているレスポンスを返します。
-### .setWarning()
+#### 例題
-**.setWarning**( *msg* : string)
+```4d
+shared singleton Class constructor()
+exposed function myMessage()
-
+var myForm : 4D.WebForm
+myForm:=web Form
-| 引数 | 型 | | 説明 |
-| --- | ------ | :-: | ------------------- |
-| msg | string | -> | Webフォームに表示する警告メッセージ |
+myForm.setMessage("My information message")
-
-
-#### 説明
+```
-`.setWarning()` 関数は、*msg* を警告メッセージとして Webフォームに送信します。
+イベントに対して [**Provide feedback**](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/events/bindingActionToEvents#providing-feedback) 機能が有効化されていた場合、 *message* 引数のメッセージは自動的に緑の *toast* としてページ下部に表示され、5秒後に自動的に消滅します:
-詳細については、[Qodly ドキュメンテーションの `.setWarning()` の説明](https://developer.qodly.com/docs/language/WebFormClass#setwarning) を参照ください。
+
-## Web Form
+### .setWarning()
-**Web Form** : 4D.WebForm
+**.setWarning**( *msg* : string)
-
+
-| 引数 | 型 | | 説明 |
-| --- | -------------------------- | :-------------------------: | ------------------------ |
-| 戻り値 | 4D.WebForm | <- | 新しい `WebForm` プロキシオブジェクト |
+| 引数 | 型 | | 説明 |
+| --- | ------ | :-: | ------------------- |
+| msg | string | -> | Web ページに表示する警告メッセージ |
#### 説明
-`Web Form` コマンドは、Webフォームとの対話を可能にする `4D.WebForm` プロキシオブジェクトを返します。
+`.setWarning()` 関数は、*msg* 引数のメッセージを警告メッセージとしてWeb ページに送信します。
+
+この関数は、`__NOTIFICATION.message` プロパティが *msg* に、そして `__NOTIFICATION.type` が "warning" に設定されている `__WEBFORM` オブジェクトと、 `200 OK` ステータスが本文に含まれているレスポンスを返します。
-詳細については、[Qodly ドキュメンテーションの `webForm` コマンドの説明](https://developer.qodly.com/docs/language/WebFormClass#webform) を参照ください。
+#### 例題
-## Web Event
+```4d
+shared singleton Class constructor()
+exposed function myWarning()
-**Web Event** : Object
+var myForm : 4D.WebForm
+myForm:=web Form
-
+myForm.setWarning("My warning message")
-| 引数 | 型 | | 説明 |
-| --- | ------ | :-------------------------: | ------ |
-| 戻り値 | object | <- | object |
+```
-
+イベントに対して [**Provide feedback**](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/events/bindingActionToEvents#providing-feedback) 機能が有効化されていた場合、 *message* 引数のメッセージは自動的に黄色の *toast* としてページ下部に表示され、5秒後に自動的に消滅します:
-#### 説明
+
-`Web Event` コマンドは、Webフォームコンポーネントにリンクして発生したイベントの情報を持つオブジェクトを返します。
+## 参照
-詳細については、[Qodly ドキュメンテーションの `webEvent` コマンドの説明](https://developer.qodly.com/docs/language/WebFormClass#webevent) を参照ください。
+[Web Form](../commands/web-form.md)
+[Web Event](../commands/web-event.md)
+[WebFormItem class](../API/WebFormItemClass.md)
\ No newline at end of file
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/API/WebFormItemClass.md b/i18n/ja/docusaurus-plugin-content-docs/current/API/WebFormItemClass.md
index b8b7be9fcc552e..629252e50f8b37 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/API/WebFormItemClass.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/API/WebFormItemClass.md
@@ -3,9 +3,13 @@ id: WebFormItemClass
title: WebFormItem
---
-`4D.WebFormItem` オブジェクトは、[`Web Form`](WebFormClass.md#web-form) コマンドによって返される [`4D.WebForm`](WebFormItemClass.md) オブジェクトのプロパティです。
+`4D.WebFormItem` クラスを使用すると、Qodly webform コンポーネントの振る舞いを管理できるようになります。
-`WebFormItem` クラスについては、[Qodly ドキュメンテーション](https://developer.qodly.com/docs/language/WebFormItemClass) (英語) で詳しく説明しています。
+`4D.WebFormItem` オブジェクトは、[`Web Form`](../commands/web-form.md) コマンドによって返される [`4D.WebForm`](WebFormClass.md) オブジェクトのプロパティです。
+
+[`Web Form`](../commands/web-form.md) コマンドを呼び出すと、返された`4D.WebForm` プロキシオブジェクトには[**サーバー側参照**](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/pageLoaderOverview#server-side) を持った、Webフォーム内のコンポーネントと同数の `4D.WebFormItems` が格納されます。
+
+例えば、 `WebFormObject.myImage` は `myImage` をサーバー側参照として持っている画像コンポーネントを参照します。
履歴
@@ -24,29 +28,27 @@ title: WebFormItem
| [](#removecssclass)
|
| [](#show)
|
-### .hide()
+### .addCSSClass()
-**.hide**()
+**.addCSSClass**(*className* : string)
-
+
-| 引数 | 型 | | 説明 |
-| -- | - | :-: | ---------- |
-| | | | 引数を必要としません |
+| 引数 | 型 | | 説明 |
+| --------- | ------ | :-: | ----------------------- |
+| className | string | -> | コンポーネントに追加する CSSクラスの名前。 |
#### 説明
-`.hide()` 関数は、コンポーネントを非表示にします。
-
-詳細については、[Qodly ドキュメンテーションの `.hide()` の説明](https://developer.qodly.com/docs/language/WebFormItemClass#hide) を参照ください。
+`.addCSSClass` 関数は、*className* で指定されたクラスをコンポーネントに追加します。
-### .show()
+### .hide()
-**.show**()
+**.hide**()
-
+
| 引数 | 型 | | 説明 |
| -- | - | :-: | ---------- |
@@ -56,27 +58,27 @@ title: WebFormItem
#### 説明
-`.show()` 関数は、コンポーネントを表示状態にします。
-
-詳細については、[Qodly ドキュメンテーションの `.show()` の説明](https://developer.qodly.com/docs/language/WebFormItemClass#show) を参照ください。
-
-### .addCSSClass()
-
-**.addCSSClass**(*className* : string)
+`.hide()` 関数は、コンポーネントを非表示にします。
-
+#### 例題
-| 引数 | 型 | | 説明 |
-| --------- | ------ | :-: | ----------------------- |
-| className | string | -> | コンポーネントに追加する CSSクラスの名前。 |
+ユーザーがボタンをクリックした時に画像を非表示にする関数を呼び出すには以下のようにします:
-
+1. `isHidden` という名前の共有シングルトンクラス内に、以下のコードをもった、[exposed](../ORDA/ordaClasses.md#exposed-vs-non-exposed-functions) 関数を作成します:
-#### 説明
+```4d
-`.addCSSClass` 関数は、*className* で指定されたクラスをコンポーネントに追加します。
+shared singleton Class constructor()
+exposed Function isHidden()
+ var myComponent : 4D.WebFormItem
+
+ myComponent:=Web Form.myImage
+ myComponent.hide() // "myImage" をサーバー側参照として持つコンポーネントを非表示にします
+```
-詳細については、[Qodly ドキュメンテーションの `.addCSSClass()` の説明](https://developer.qodly.com/docs/language/WebFormItemClass#addcssclass) を参照ください。
+2. Qodly Studioにて: キャンバス上で画像コンポーネントを選択し、プロパティパネル > Server Side 内に、例えば "myImage" というサーバー側参照を入力します。
+3. ボタンコンポーネントを選択し、そこに `onclick` イベントを追加します。
+4. そのイベントに `isHidden` 関数を追加します。
### .removeCSSClass()
@@ -94,7 +96,27 @@ title: WebFormItem
`.removeCSSClass()` 関数は、*className* で指定されたクラスをコンポーネントから削除します。
-詳細については、[Qodly ドキュメンテーションの `.removeCSSClass()` の説明](https://developer.qodly.com/docs/language/WebFormItemClass#removecssclass) を参照ください。
+### .show()
+
+**.show**()
+
+
+
+| 引数 | 型 | | 説明 |
+| -- | - | :-: | ---------- |
+| | | | 引数を必要としません |
+
+
+
+#### 説明
+
+`.show()` 関数は、コンポーネントを表示状態にします。コンポーネントがすでに表示状態だった場合、この関数は何もしません。
+
+## 参照
+
+[Web Form](../commands/web-form.md)
+[Web Event](../commands/web-event.md)
+[WebForm class](WebFormClass.md)
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/Concepts/dt_number.md b/i18n/ja/docusaurus-plugin-content-docs/current/Concepts/dt_number.md
index 82f839a96dd6d6..b084846582dd1d 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/Concepts/dt_number.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/Concepts/dt_number.md
@@ -49,7 +49,7 @@ title: 数値(実数、整数)
| 減算 (引き算) | Number - Number | Number | 3 – 2 | 1 |
| 乗算 (かけ算) | Number \* Number | Number | 5 \* 2 | 10 |
| 除算 (割り算) | Number / Number | Number | 5 / 2 | 2.5 |
-| 倍長整数を返す除算 | Number \ Number | Number | 5 \ 2 | 2 |
+| Integer division | Number \ Number | Number | 5 \ 2 | 2 |
| モジューロ | Number % Number | Number | 5 % 2 | 1 |
| 指数 | Number ^ Number | Number | 2 ^ 3 | 8 |
| 等しい | Number = Number | Boolean | 10 = 10 | true |
@@ -79,9 +79,9 @@ title: 数値(実数、整数)
:::
-### 倍長整数を返す除算
+### Integer division
-倍長整数を返す除算演算子 \ は、整数値の有効値を返します。
+The integer division operator divides one number by another and returns the whole number part of the result, discarding any remainder. `a\b` is equivalent to `Int(a/b)`. This operator returns significant values with integer numbers only.
### 実数の比較
@@ -125,16 +125,16 @@ title: 数値(実数、整数)
ビットワイズ演算子を使用する式は倍長整数値を返します。 Bit Test 演算子の場合、式は例外的にブール値を返します。 次の表にビットワイズ演算子とそのシンタックスを示します: 次の表にビットワイズ演算子とそのシンタックスを示します: 次の表にビットワイズ演算子とそのシンタックスを示します:
-| 演算 | 演算子 | シンタックス | 戻り値 |
-| ----------------------------------------- | ---------------------------------------------------- | --------------------------------------------------------------- | ----------------------------------- |
-| Bitwise AND | & | Long & Long | Long |
-| Bitwise OR (inclusive) | | | Long | Long | Long |
-| Bitwise OR (exclusive) | ^ | | Long ^ | Long | Long |
-| Left Bit Shift | << | Long << Long | Long (注記1 参照) |
-| Right Bit Shift | > > | Long >> Long | Long (注記1 参照) |
-| Bit Set | ?+ | Long ?+ Long | Long (注記2 参照) |
-| Bit Clear | ?- | Long ?- Long | Long (注記2 参照) |
-| Bit Test | ?? | Long ?? Long | Boolean (注記2 参照) |
+| 演算 | 演算子 | シンタックス | 戻り値 |
+| ----------------------------------------- | ----------------------------------------------------- | --------------------------------------------------------------- | ----------------------------------- |
+| Bitwise AND | & | Long & Long | Long |
+| Bitwise OR (inclusive) | | | Long | Long | Long |
+| Bitwise OR (exclusive) | ^ | | Long ^ | Long | Long |
+| Left Bit Shift | << | Long << Long | Long (注記1 参照) |
+| Right Bit Shift | > > | Long >> Long | Long (注記1 参照) |
+| Bit Set | ?+ | Long ?+ Long | Long (注記2 参照) |
+| Bit Clear | ?- | Long ?- Long | Long (注記2 参照) |
+| Bit Test | ?? | Long ?? Long | Boolean (注記2 参照) |
#### 注記
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/Concepts/quick-tour.md b/i18n/ja/docusaurus-plugin-content-docs/current/Concepts/quick-tour.md
index f5a3c668406cb6..9caacdaa469a2d 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/Concepts/quick-tour.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/Concepts/quick-tour.md
@@ -310,7 +310,7 @@ This.name:="Square"
| Col[5] | コレクション要素 | コレクション要素は式として、サポートされているいずれのタイプでもありえます。 |
| $entitySel[0] | Entity | ORDA のエンティティセレクションの要素である、エンティティを返します。 これは **代入不可の式** です。 |
-### 代入可 vs 代入不可の式
+### Assignable vs non-assignable expressions {#assignable-vs-non-assignable-expressions} {#assignable-vs-non-assignable-expressions}
式は、数値の4や"Hello" の文字列のようなリテラル定数であったり、`$myButton` のような変数であったりします。 式には演算子も含められます。 たとえば、4 + 2 という式は加算演算子を使って二つの数値を加算し、結果の 6 を返します。 リテラル定数や演算子を使った式は **代入不可の式**で、式に値を代入することはできません。
**代入可能な式** も存在します。 代入演算子の左側に使えるものが、代入可能な式です。 例:
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/Concepts/variables.md b/i18n/ja/docusaurus-plugin-content-docs/current/Concepts/variables.md
index bf38f56c24bd72..e353105188d538 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/Concepts/variables.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/Concepts/variables.md
@@ -251,17 +251,18 @@ MyNumber:=3
システム変数は [4Dコマンド](../commands/command-index.md) によって使用されます。 コマンドがシステム変数に影響を与えるかどうかを確認するには、コマンドの説明の "システム変数およびセット" の項目を参照ください。
-| システム変数名 | 型 | 説明 |
-| ------------------------------------------------------ | ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| `OK` | Integer | 通常、コマンドがダイアログボックスを表示して、ユーザーが **OK** ボタンをクリックすると 1 に、**キャンセル** ボタンをクリックした場合は 0 に設定されます。 一部のコマンドは、処理が成功すると `OK` システム変数の値を変更します。 |
-| `Document` | Text | [Open document](../commands-legacy/open-document.md) や [SELECT LOG FILE](../commands/select-log-file.md) などのコマンドを使用して最後に開かれた、または作成されたファイルの「長い名前」(完全パス名)が格納されています。 |
-| `FldDelimit`, `RecDelimit` | Text | テキストを読み込んだり書き出したりする際に、フィールドの区切りとして (デフォルトは **タブ** (9))、あるいはレコードの区切り文字として (デフォルトは **キャリッジリターン** (13)) 使用する文字コードが格納されています。 区切り文字を変更する場合は、システム変数の値を変更します。 |
-| `Error`, `Error method`, `Error line`, `Error formula` | Text, Longint | [`ON ERR CALL`](../commands-legacy/on-err-call.md) コマンドによって実装されるエラー処理メソッド内で使用されます。 [メソッド内でのエラー処理](../Concepts/error-handling.md#メソッド内でのエラー処理)参照。 |
-| `MouseDown` | Integer | [`ON EVENT CALL`](../commands-legacy/on-event-call.md) コマンドによって実装されるエラー処理メソッド内で使用されます。 マウスボタンが押されたときに 1 が、それ以外の場合は 0 に設定されます。 |
-| `MouseX`, `MouseY` | Integer | [`ON EVENT CALL`](../commands-legacy/on-event-call.md) コマンドによって実装されるエラー処理メソッド内で使用されます。 `MouseDown=1` イベントの時、`MouseX` と `MouseY` にはクリックされた場所の水平 / 垂直座標がそれぞれ代入されます。 両方の値ともピクセル単位で表わされ、ウィンドウのローカルな座標システムを使用します。 ピクチャーフィールドや変数の場合は、[`On Clicked`](../Events/onClicked.md) や [`On Double Clicked`](../Events/onDoubleClicked.md)、および [`On Mouse Up`](../Events/onMouseUp.md) フォームイベント内で、クリックのローカル座標が `MouseX` と `MouseY` に返されます。 また、[`On Mouse Enter`](../Events/onMouseEnter.md) および [`On Mouse Move`](../Events/onMouseMove.md) フォームイベントでもマウスカーソルのローカル座標が返されます。 詳細については、[ピクチャー上のマウス座標](../FormEditor/pictures.md#ピクチャー上のマウス座標) を参照ください。 |
-| `KeyCode` | Integer | [`ON EVENT CALL`](../commands-legacy/on-event-call.md) コマンドによって実装されるエラー処理メソッド内で使用されます。 押されたキーの文字コードが代入されます。 押されたキーがファンクションキーの場合、`KeyCode` には特殊コードがセットされます。 |
-| `Modifiers` | Integer | [`ON EVENT CALL`](../commands-legacy/on-event-call.md) コマンドによって実装されるエラー処理メソッド内で使用されます。 キーボードのモディファイアキーの値を格納します (Ctrl/Command、Alt/Option、Shift、Caps Lock)。 |
-| `MouseProc` | Integer | [`ON EVENT CALL`](../commands-legacy/on-event-call.md) コマンドによって実装されるエラー処理メソッド内で使用されます。 最後のイベントが発生したプロセス番号を格納します。 |
+| システム変数名 | 型 | 説明 |
+| ------------------------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| `OK` | Integer | 通常、コマンドがダイアログボックスを表示して、ユーザーが **OK** ボタンをクリックすると 1 に、**キャンセル** ボタンをクリックした場合は 0 に設定されます。 一部のコマンドは、処理が成功すると `OK` システム変数の値を変更します。 |
+| `Document` | Text | [Open document](../commands-legacy/open-document.md) や [SELECT LOG FILE](../commands/select-log-file.md) などのコマンドを使用して最後に開かれた、または作成されたファイルの「長い名前」(完全パス名)が格納されています。 |
+| `FldDelimit`, `RecDelimit` | Integer | テキストを読み込んだり書き出したりする際に、フィールドの区切りとして (デフォルトは **タブ** (9))、あるいはレコードの区切り文字として (デフォルトは **キャリッジリターン** (13)) 使用する文字コードが格納されています。 区切り文字を変更する場合は、システム変数の値を変更します。 |
+| `Error`, `Error line` | Integer | [`ON ERR CALL`](../commands-legacy/on-err-call.md) コマンドによって実装されるエラー処理メソッド内で使用されます。 [メソッド内でのエラー処理](../Concepts/error-handling.md#メソッド内でのエラー処理)参照。 |
+| `Error method`, `Error formula` | Text | [`ON ERR CALL`](../commands-legacy/on-err-call.md) コマンドによって実装されるエラー処理メソッド内で使用されます。 [メソッド内でのエラー処理](../Concepts/error-handling.md#メソッド内でのエラー処理)参照。 |
+| `MouseDown` | Integer | [`ON EVENT CALL`](../commands-legacy/on-event-call.md) コマンドによって実装されるエラー処理メソッド内で使用されます。 マウスボタンが押されたときに 1 が、それ以外の場合は 0 に設定されます。 |
+| `MouseX`, `MouseY` | Integer | [`ON EVENT CALL`](../commands-legacy/on-event-call.md) コマンドによって実装されるエラー処理メソッド内で使用されます。 `MouseDown=1` イベントの時、`MouseX` と `MouseY` にはクリックされた場所の水平 / 垂直座標がそれぞれ代入されます。 両方の値ともピクセル単位で表わされ、ウィンドウのローカルな座標システムを使用します。 ピクチャーフィールドや変数の場合は、[`On Clicked`](../Events/onClicked.md) や [`On Double Clicked`](../Events/onDoubleClicked.md)、および [`On Mouse Up`](../Events/onMouseUp.md) フォームイベント内で、クリックのローカル座標が `MouseX` と `MouseY` に返されます。 また、[`On Mouse Enter`](../Events/onMouseEnter.md) および [`On Mouse Move`](../Events/onMouseMove.md) フォームイベントでもマウスカーソルのローカル座標が返されます。 詳細については、[ピクチャー上のマウス座標](../FormEditor/pictures.md#ピクチャー上のマウス座標) を参照ください。 |
+| `KeyCode` | Integer | [`ON EVENT CALL`](../commands-legacy/on-event-call.md) コマンドによって実装されるエラー処理メソッド内で使用されます。 押されたキーの文字コードが代入されます。 押されたキーがファンクションキーの場合、`KeyCode` には特殊コードがセットされます。 |
+| `Modifiers` | Integer | [`ON EVENT CALL`](../commands-legacy/on-event-call.md) コマンドによって実装されるエラー処理メソッド内で使用されます。 キーボードのモディファイアキーの値を格納します (Ctrl/Command、Alt/Option、Shift、Caps Lock)。 |
+| `MouseProc` | Integer | [`ON EVENT CALL`](../commands-legacy/on-event-call.md) コマンドによって実装されるエラー処理メソッド内で使用されます。 最後のイベントが発生したプロセス番号を格納します。 |
:::note
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/Desktop/clientServer.md b/i18n/ja/docusaurus-plugin-content-docs/current/Desktop/clientServer.md
index 740429e4ec9d80..d2fb494d4bbf85 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/Desktop/clientServer.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/Desktop/clientServer.md
@@ -128,7 +128,7 @@ Note that [privileges](../ORDA/privileges.md) should be set in the session befor
Shared sessions are handled through [OTP tokens](../WebServer/sessions.md#session-token-otp). After you created an OTP token on the server for the user session, you add the token (through the `$4DSID` parameter value) to web requests sent from web areas containing Qodly pages so that the user session on the server is identified and shared. On the web server side, if a web request contains an *OTP id* in the $4DSID parameter, the session corresponding to this OTP token is used.
-:::tip Related blog post
+:::tip 関連したblog 記事
[Share your 4D remote client session with web accesses](https://blog.4d.com/share-your-4d-remote-client-session-with-web-accesses)
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/Extensions/develop-components.md b/i18n/ja/docusaurus-plugin-content-docs/current/Extensions/develop-components.md
index 60ca8369b6076c..48b66b1a723731 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/Extensions/develop-components.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/Extensions/develop-components.md
@@ -114,6 +114,12 @@ title: コンポーネントの開発
- メソッドの実行
- ゴミ箱からの復元、あるいはゴミ箱を空にする。
+### Search and replace
+
+You can use the [**Search and replace** features](../Project/search-replace.md) of the host project to search elements within the code or the forms of your editable components. The **Search in project** menu allows you to select one or all components as search target:
+
+
+
## ランゲージコマンドのスコープ
[使用できないコマンド](#使用できないコマンド) を除き、コンポーネントではすべての 4D ランゲージコマンドが使用できます。
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/FormEditor/forms.md b/i18n/ja/docusaurus-plugin-content-docs/current/FormEditor/forms.md
index d460a48eb79567..810beed2ab330c 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/FormEditor/forms.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/FormEditor/forms.md
@@ -112,13 +112,13 @@ Fluent UI support is currently in the Developer Preview phase. 本番環境で
:::
-:::info macOS
+:::info 利用可能性
-This feature can only be used on Windows. On macOS, it is ignored.
+This feature can be used **in 4D projects on Windows**. It is not available on macOS or in binary 4D databases on Windows.
:::
-:::tip Related blog post
+:::tip 関連したblog 記事
[Modernize your 4D interfaces with Fluent UI](https://blog.4d.com/modernize-your-4d-interfaces-with-fluent-ui)
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/FormObjects/webArea_overview.md b/i18n/ja/docusaurus-plugin-content-docs/current/FormObjects/webArea_overview.md
index d6396cd9496efe..6c9da5c5740b5f 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/FormObjects/webArea_overview.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/FormObjects/webArea_overview.md
@@ -24,7 +24,7 @@ Webエリアには 2つの特別な変数が自動で割り当てられます:
- [`URL`](properties_WebArea.md#url) --Web エリアが表示するURL をコントロールします。
- [`Progression`](properties_WebArea.md#progression) -- Web エリア内に表示されているページのロード率をコントロールします。
-> 4D v19 R5 以降、Progression 変数は、[Windows のシステムレンダリングエンジン](./webArea_overview.md#Webレンダリングエンジン) を使用しているWeb エリアにおいては更新されなくなりました。
+> As of 4D 19 R5, the Progression variable is no longer updated in Web Areas using the [Windows system rendering engine](./webArea_overview.md#web-rendering-engine).
### Webレンダリングエンジン
@@ -338,9 +338,11 @@ Webインスペクターを表示させるには、`WA OPEN WEB INSPECTOR` コ
}
```
-### 参照
+:::info 関連したblog 記事
-[Specify your own parameters to initialize the embedded web area (blog 記事)](https://blog.4d.com/specify-your-own-parameters-to-initialize-the-embedded-web-area)
+[Custom Parameters for Initializing Embedded Web Area](https://blog.4d.com/custom-parameters-for-initializing-embedded-web-area/)
+
+:::
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/Notes/updates.md b/i18n/ja/docusaurus-plugin-content-docs/current/Notes/updates.md
index ce361cd5f3dab8..417772bfc32c86 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/Notes/updates.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/Notes/updates.md
@@ -10,6 +10,10 @@ title: リリースノート
#### ハイライト
- [Code Live Checker](../code-editor/write-class-method.md#warnings-and-errors) has been enhanced to provide greater precision in error detection (see [this blog post](https://blog.4d.com/better-error-handling-and-type-inference-for-4d-developers) for more information).
+- [4D Write Pro standard actions](../WritePro/user-legacy/standard-actions.md) that apply [lists](../WritePro/user-legacy/using-a-4d-write-pro-area.md#lists) now automatically adjust paragraph margins to keep markers positioned inside it.
+- Built-in support of `order by` in query strings for AI vector searches using [`query()`](../API/DataClassClass.md#query-by-vector-similarity) functions and the [REST API](../REST/$orderby.md).
+- 4D AIKit component: new [File API](../aikit/Classes/OpenAIFilesAPI.md) class to implement **file upload** features.
+- [**Find in Design**](../Project/search-replace.md#search-in-components) and [**Replace in contents**](../Project/search-replace.md#replace-in-contents) features can now support editable components.
- [**修正リスト**](https://bugs.4d.fr/fixedbugslist?version=21_R2): 4D 21 R2 で修正されたバグのリストです ([日本語版はこちら](https://4d-jp.github.io/2023/178/release-note-version-20r2/))。
#### 動作の変更
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/ORDA/glossary.md b/i18n/ja/docusaurus-plugin-content-docs/current/ORDA/glossary.md
index ce31a26ca023c4..bb8df81f97df04 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/ORDA/glossary.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/ORDA/glossary.md
@@ -105,7 +105,7 @@ ORDA データモデルクラスの関数。
## 汎用クラス
-エンティティやデータクラスなどの ORDA オブジェクト用のビルトインクラス。 エンティティやデータクラスなどの ORDA オブジェクト用のビルトインクラス。 汎用クラスのプロパティや関数は、ユーザー拡張クラス (例: `EmployeeEntity`) において自動で利用可能です。
+エンティティやデータクラスなどの ORDA オブジェクト用のビルトインクラス。 汎用クラスのプロパティや関数は、ユーザー拡張クラス (例: `EmployeeEntity`) において自動で利用可能です。
## レイジーローディング
@@ -119,7 +119,7 @@ ORDA データモデルクラスの関数。
データストア、データクラス、エンティティセレクション、エンティティなどの ORDA オブジェクトは、オブジェクトのクラスを定義します。 これらのクラスには、オブジェクトを直接操作するための専用のメソッドが提供されています。 これらのメソッドはメンバー関数とも呼ばれます。 このメソッドを使用するには、オブジェクトのインスタンスに対して呼び出します。
-たとえば、`query()` メソッドはデータクラスのメンバー関数です。 たとえば、`query()` メソッドはデータクラスのメンバー関数です。 たとえば、`query()` メソッドはデータクラスのメンバー関数です。 `$myClass` 変数にデータクラスオブジェクトを格納している場合、次のように書くことができます: たとえば、`query()` メソッドはデータクラスのメンバー関数です。 たとえば、`query()` メソッドはデータクラスのメンバー関数です。 `$myClass` 変数にデータクラスオブジェクトを格納している場合、次のように書くことができます: たとえば、`query()` メソッドはデータクラスのメンバー関数です。 たとえば、`query()` メソッドはデータクラスのメンバー関数です。 `$myClass` 変数にデータクラスオブジェクトを格納している場合、次のように書くことができます: たとえば、`query()` メソッドはデータクラスのメンバー関数です。 たとえば、`query()` メソッドはデータクラスのメンバー関数です。 `$myClass` 変数にデータクラスオブジェクトを格納している場合、次のように書くことができます: たとえば、`query()` メソッドはデータクラスのメンバー関数です。 たとえば、`query()` メソッドはデータクラスのメンバー関数です。 `$myClass` 変数にデータクラスオブジェクトを格納している場合、次のように書くことができます: たとえば、`query()` メソッドはデータクラスのメンバー関数です。 たとえば、`query()` メソッドはデータクラスのメンバー関数です。 `$myClass` 変数にデータクラスオブジェクトを格納している場合、次のように書くことができます:
+たとえば、`query()` メソッドはデータクラスのメンバー関数です。 `$myClass` 変数にデータクラスオブジェクトを格納している場合、次のように書くことができます:
```code4d
$myClass.query("name = smith")
@@ -150,7 +150,7 @@ $myClass.query("name = smith")
## 権限
-The ability to run one or more [actions](#action) on [resources](#resource). ビジネスロジックに応じて、複数の権限を [ロール](#ロール) としてまとめることができます。
+[リソース](#リソース) に対する実行が許可された [アクション](#アクション) の範囲のことです。 ビジネスロジックに応じて、複数の権限を [ロール](#ロール) としてまとめることができます。
## プロパティ
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/ORDA/orda-events.md b/i18n/ja/docusaurus-plugin-content-docs/current/ORDA/orda-events.md
index ea892330827279..9af378952d1c87 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/ORDA/orda-events.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/ORDA/orda-events.md
@@ -1,122 +1,122 @@
---
id: orda-events
-title: Entity Events
+title: エンティティイベント
---
履歴
-| リリース | 内容 |
-| ------ | ----------------------------------------------------------------------------------------------------- |
-| 21 | Added events: validateSave / saving / afterSave / validateDrop / dropping / afterDrop |
-| 20 R10 | touched event added |
+| リリース | 内容 |
+| ------ | -------------------------------------------------------------------------------------------------- |
+| 21 | 追加されたイベント: validateSave / saving / afterSave / validateDrop / dropping / afterDrop |
+| 20 R10 | touched イベント追加 |
-Entity events are functions that are automatically invoked by ORDA each time entities and entity attributes are manipulated (added, deleted, or modified). You can write very simple events, and then make them more sophisticated.
+エンティティイベントとは、エンティティやエンティティ属性が操作(追加、削除、変更)されるたびに ORDA によって自動的に呼び出される関数です。 シンプルなイベントを書き、それをより洗練されたものに変えていくことができます。
-You cannot directly trigger event function execution. Events are called automatically by ORDA based on user actions or operations performed through code on entities and their attributes.
+イベント関数の実行は直接トリガーすることはできません。 イベントは、ユーザーアクションや、エンティティまたはその属性に対するコードを通して実行された操作に基づいて、ORDA によって自動的に呼び出されます。
-:::tip Related blog post
+:::tip 関連したblog 記事
[ORDA – Handle an event-driven logic during data persistence actions](https://blog.4d.com/orda-handle-an-event-driven-logic-during-database-operations)
:::
-:::info note Compatibility note
+:::info 互換性に関する注意
-ORDA entity events in the datastore are equivalent to triggers in the 4D database. However, actions triggered at the 4D database level using the 4D classic language commands or standard actions do not trigger ORDA events.
+データストアにおける ORDA エンティティイベントは、4D データベースにおけるトリガに相当します。 しかしながら、4D クラシックランゲージコマンドを使用して 4D データベースレベルでトリガーされたアクション、あるいは標準アクションは、ORDA イベントをトリガーしません。 また、トリガとは異なり、ORDA エンティティイベントはエンティティを保存または削除する際に、データクラスの元となるテーブル全体をロックしないことに注意して下さい。 個別のエンティティ(つまりレコード)に起因している限りは、複数のイベントが同時に実行されることが可能です。
:::
## 概要
-### Event level
+### イベントレベル
-A event function is always defined in the [Entity class](../ORDA/ordaClasses.md#entity-class).
+イベント関数は必ず[Entity クラス](../ORDA/ordaClasses.md#エンティティクラス) 内で定義されます。
-It can be set at the **entity** level and/or the **attribute** level (it includes [**computed attributes**](../ORDA/ordaClasses.md#computed-attributes)). In the first case, it will be triggered for any attributes of the entity; on the other case, it will only be triggered for the targeted attribute.
+イベントは **エンティティ** レベルまたは **属性** レベルで設定することができます(属性には [**計算属性**](../ORDA/ordaClasses.md#計算属性) も含まれます)。 前者の場合、エンティティのあらゆる属性でイベントがトリガーされます。それ以外の場合、イベントは対象となる属性に対してのみトリガーされます。
-For the same event, you can define different functions for different attributes.
+同じイベントに対して、異なる属性に対して異なる関数を定義することができます。
-You can also define the same event at both attribute and entity levels. The attribute event is called first and then the entity event.
+また同じイベントを属性レベルとエンティティレベルの両方で定義することも可能です。 その場合、属性イベントが先に呼ばれ、その後にエンティティイベントが呼ばれます。
-### Execution in remote configurations
+### リモート構成における実行
-Usually, ORDA events are executed on the server.
+一般的に、ORDA イベントはサーバー上で実行されます。
-In client/server configuration however, the `touched()` event function can be executed on the **server or the client**, depending on the use of [`local`](./ordaClasses.md#local-functions) keyword. A specific implementation on the client side allows the triggering of the event on the client.
+しかしながらクライアント/サーバー構成においては、[`local`](./ordaClasses.md#local-functions) キーワードの使用によっては、`touched()` イベント関数を**サーバーまたはクライアント**で実行することが可能です。 クライアント側で特定の実装をすることにより、イベントをクライアント上でトリガーすることができるようになります。
:::note
-ORDA [`constructor()`](./ordaClasses.md#class-constructor) functions are always executed on the client.
+ORDA [`constructor()`](./ordaClasses.md#class-constructor) 関数は必ずクライアント上で実行されます。
:::
-With other remote configurations (i.e. [Qodly applications](https://developer.4d.com/qodly), [REST API requests](../REST/REST_requests.md), or requests through [`Open datastore`](../commands/open-datastore.md)), the `touched()` event function is always executed **server-side**. It means that you have to make sure the server can "see" that an attribute has been touched to trigger the event (see below).
+他のリモート構成(例: [Qodly アプリケーション](https://developer.4d.com/qodly)、[REST API リクエスト](../REST/REST_requests.md)、あるいは[`Open datastore`](../commands/open-datastore.md) を通したリクエスト)においては、イベント関数は必ず**サーバー側**で実行されます。 これはつまりイベントをトリガーするためには、属性がタッチされたことがサーバーから"見える"ようにしておくようにしなければならいことを意味します(以下参照)。
-### Summary table
+### 概要表
-The following table lists ORDA events along with their rules.
+以下の表は、ORDA イベントの一覧とそのルールをまとめたものです。
-| イベント | レベル | Function name | (C/S) Executed on | Can stop action by returning an error |
-| :------------------------ | :----- | :------------------------------------------------------ | :------------------------------------------------------------------: | ------------------------------------- |
-| Entity instantiation | Entity | [`constructor()`](./ordaClasses.md#class-constructor-1) | client | × |
-| Attribute touched | 属性 | `event touched ()` | Depends on [`local`](../ORDA/ordaClasses.md#local-functions) keyword | × |
-| | Entity | `event touched()` | Depends on [`local`](../ORDA/ordaClasses.md#local-functions) keyword | × |
-| Before saving an entity | 属性 | `validateSave ()` | server | ◯ |
-| | Entity | `validateSave()` | server | ◯ |
-| When saving an entity | 属性 | `saving ()` | server | ◯ |
-| | Entity | `saving()` | server | ◯ |
-| After saving an entity | Entity | `afterSave()` | server | × |
-| Before dropping an entity | 属性 | `validateDrop ()` | server | ◯ |
-| | Entity | `validateDrop()` | server | ◯ |
-| When dropping an entity | 属性 | `dropping ()` | server | ◯ |
-| | Entity | `dropping()` | server | ◯ |
-| After dropping an entity | Entity | `afterDrop()` | server | × |
+| イベント | レベル | 関数名 | (C/S の場合) 実行される場所 | エラーを返すことでアクションを停止できる |
+| :------------------------------------ | :----- | :------------------------------------------------------ | :--------------------------------------------------------: | -------------------- |
+| エンティティのインスタンス化 | Entity | [`constructor()`](./ordaClasses.md#class-constructor-1) | client | × |
+| 属性がタッチされた | 属性 | `event touched ()` | [`local`](../ORDA/ordaClasses.md#local-functions) キーワードによる | × |
+| | Entity | `event touched()` | [`local`](../ORDA/ordaClasses.md#local-functions) キーワードによる | × |
+| エンティティを保存する前 | 属性 | `validateSave ()` | server | ◯ |
+| | Entity | `validateSave()` | server | ◯ |
+| エンティティの保存時 | 属性 | `saving ()` | server | ◯ |
+| | Entity | `saving()` | server | ◯ |
+| エンティティを保存した後 | Entity | `afterSave()` | server | × |
+| エンティティをドロップ(削除)する前 | 属性 | `validateDrop ()` | server | ◯ |
+| | Entity | `validateDrop()` | server | ◯ |
+| エンティティのドロップ(削除)時 | 属性 | `dropping ()` | server | ◯ |
+| | Entity | `dropping()` | server | ◯ |
+| エンティティをドロップした後 | Entity | `afterDrop()` | server | × |
:::note
-The [`constructor()`](./ordaClasses.md#class-constructor-1) function is not actually an event function but is always called when a new entity is instantiated.
+[`constructor()`](./ordaClasses.md#class-constructor-1) 関数は実際にはイベント関数ではありませんが、エンティティがインスタンス化される際に必ず呼び出されます。
:::
-## *event* parameter
+## *event* 引数
-Event functions accept a single *event* object as parameter. When the function is called, the parameter is filled with several properties:
+イベント関数は、単一の *event* オブジェクトを引数として受け取ります。 関数が呼び出されると、引数には複数のプロパティに値が入れられます:
-| プロパティ名 | 利用可能性 | 型 | 説明 | |
-| :------------------ | :----------------------------------------------------------------------------------------------------------------------- | :------------------- | :-------------------------------------------------------------------------------------------------------------------- | - |
-| "kind" | Always | 文字列 | Event name: "touched", "validateSave", "saving", "afterSave", "validateDrop", "dropping", "afterDrop" | |
-| *attributeName* | Only for events implemented at attribute level ("validateSave", "saving", "validateDrop", "dropping") | 文字列 | Attribute name (*e.g.* "firstname") | |
-| *dataClassName* | Always | 文字列 | Dataclass name (*e.g.* "Company") | |
-| "savedAttributes" | Only in [`afterSave()`](#function-event-aftersave) | Collection of String | Names of attributes properly saved | |
-| "droppedAttributes" | Only in [`afterDrop()`](#function-event-afterdrop) | Collection of String | Names of attributes properly dropped | |
-| "saveStatus" | Only in [`afterSave()`](#function-event-aftersave) | 文字列 | "success" if the save was successful, "failed" otherwise | |
-| "dropStatus" | Only in [`afterDrop()`](#function-event-afterdrop) | 文字列 | "success" if the drop was successful, "failed" otherwise | |
+| プロパティ名 | 利用可能性 | 型 | 説明 | |
+| :------------------ | :-------------------------------------------------------------------------------------------- | :--------- | :--------------------------------------------------------------------------------------------------------- | - |
+| "kind" | 常に | 文字列 | イベント名: "touched"、"validateSave"、"saving"、"afterSave"、"validateDrop"、"dropping"、"afterDrop" | |
+| *attributeName* | 属性レベルで実装されているイベントに対してのみ("validateSave"、"saving"、"validateDrop"、"dropping") | 文字列 | 属性名 (*例* "firstname") | |
+| *dataClassName* | 常に | 文字列 | データクラス名 (*例* "Company") | |
+| "savedAttributes" | [`afterSave()`](#function-event-aftersave) でのみ | 文字列のコレクション | 正常に保存された属性名 | |
+| "droppedAttributes" | [`afterDrop()`](#function-event-afterdrop) でのみ | 文字列のコレクション | 正常にドロップ(削除)された属性名 | |
+| "saveStatus" | [`afterSave()`](#function-event-aftersave) でのみ | 文字列 | 保存が正常であれば "success"、それ以外の場合には "failed" | |
+| "dropStatus" | [`afterDrop()`](#function-event-afterdrop) でのみ | 文字列 | ドロップ(削除)が正常であれば "success"、それ以外の場合には "failed" | |
-## Error object
+## エラーオブジェクト
-[Some event functions](#summary-table) can return an **error object** to raise an error and stop the running action.
+[一部のイベント関数](#概要表) は **エラーオブジェクト** を返すことでエラーを生成し実行中のアクションを停止することができます。
-When an error occurs in an event, the other events are stopped at the first raised error and the action (save or drop) is also stopped. This error is sent before other potential errors like [stamp has changed, entity locked](../API/EntityClass.md#save), etc.
+イベント中にエラーが発生した場合、他のイベントも最初にエラーが生成された時点で停止し、アクション(保存やドロップ)も停止します。 このエラーは[スタンプが変更された、エンティティがロックされていた](../API/EntityClass.md#save) などの潜在的なエラーの前に送信されます。
-### Error object properties
+### エラーオブジェクトのプロパティ
-| プロパティ | 型 | 説明 | Set by the developer |
-| ------------------ | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------- |
-| errCode | Integer | Same as for [`Last errors`](../commands/last-errors.md) command | ◯ |
-| message | Text | Same as for [`Last errors`](../commands/last-errors.md) command | ◯ |
-| extraDescription | Object | Free information to set up | ◯ |
-| seriousError | Boolean | Used only with validate events (see below). `True`: creates a [serious (unpredictable) error](../Concepts/error-handling.md#predictable-vs-unpredictable-errors) and triggers an exception. Adds the `dk status serious validation error` status`False`: creates only a [silent (predictable) error](../Concepts/error-handling.md#predictable-vs-unpredictable-errors). Adds the `dk status validation failed` status | Yes (default is false) |
-| componentSignature | Text | Always "DBEV" | × |
+| プロパティ | 型 | 説明 | 開発者によって設定 |
+| ------------------ | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------- |
+| errCode | Integer | [`Last errors`](../commands/last-errors.md) コマンドと同じ | ◯ |
+| message | Text | [`Last errors`](../commands/last-errors.md) コマンドと同じ | ◯ |
+| extraDescription | Object | 自由に設定可能な情報 | ◯ |
+| seriousError | Boolean | validate イベントでのみ使用されます(以下参照)。 `True`: [深刻(予測不能)なエラー](../Concepts/error-handling.md#予測可能なエラーvs予測不能なエラー) を作成し、例外をトリガーします。 `dk status serious validation error` ステータスを追加します`False`: creates only a [静か(予測可能) なエラー](../Concepts/error-handling.md#予測可能なエラーvs予測不可なエラー) のみを作成します。 `dk status validation failed` ステータスを追加します | 可能(デフォルトはfalse) |
+| componentSignature | Text | 常に "DBEV" | × |
-- [Serious errors](../Concepts/error-handling.md#predictable-vs-unpredictable-errors) are stacked in the `errors` collection property of the **Result object** returned by the [`save()`](../API/EntityClass.md#save) or [`drop()`](../API/EntityClass.md#drop) functions.
-- In case of an error triggered by a **validate** event, the `seriousError` property allows you to choose the level of the error to generate:
- - If **true**: a serious error is thrown and should be handled by the [error processing code](../Concepts/error-handling.md#predictable-vs-unpredictable-errors), such as a [try catch](../Concepts/error-handling.md#trycatchend-try). In the result object of the calling function, `status` gets `dk status serious validation error` and `statusText` gets "Serious Validation Error". The error is raised at the end of the event and reach the client requesting the save/drop action (REST client for example).
- - If **false** (default): a [silent (predictable) error is generated](../Concepts/error-handling.md#predictable-vs-unpredictable-errors). It does not trigger any exception and is not stacked in the errors returned by the [`Last errors`](../commands/last-errors.md) command. In the result object of the calling function, `status` gets `dk status validation failed` and `statusText` gets "Mild Validation Error".
-- In case of an error triggered by a **saving/dropping** event, when an error object is returned, the error is always raised as a serious error whatever the `seriousError` property value.
+- [深刻なエラー](../Concepts/error-handling.md#予測可能なエラーvs予測不可なエラー) は[`save()`](../API/EntityClass.md#save) または [`drop()`](../API/EntityClass.md#drop) 関数から返される **Result オブジェクト** の `errors` コレクションプロパティにスタックされます。
+- **validate** イベントによってトリガーされたエラーの場合、 `seriousError` プロパティを使用することで生成するエラーのレベルを選択することができます:
+ - **true** の場合: 深刻なエラーが生成され、[try catch](../Concepts/error-handling.md#trycatchend-try)などの[エラー処理コード](../Concepts/error-handling.md#予測可能なエラーvs予測不可なエラー) によって管理される必要があります。 呼び出した関数のresult オブジェクトでは、`status` には `dk status serious validation error` が入り、 `statusText` には "Serious Validation Error" が入ります。 エラーはイベントの終わりに生成され、保存/ドロップアクションをリクエストしているクライアント(例えばREST クライアントなど)に届きます。
+ - **false** (デフォルト)の場合: [静か(予測可能) なエラーが生成されます](../Concepts/error-handling.md#予測可能なエラーvs予測不可なエラー)。 これは例外はトリガーせず、また[`Last errors`](../commands/last-errors.md) コマンドから返されるエラーの中にはスタックされません。 呼び出した関数のresult オブジェクトでは、`status` には `dk status validation failed` が入り、 `statusText` には "Mild Validation Error" が入ります。
+- **保存時/ドロップ時** のイベントによってトリガーされたエラーの場合、エラーオブジェクトが返されると、 `seriousError` プロパティの値に関わらず、エラーは常に深刻なエラーとして生成されます。
-## Event function description
+## イベント関数の詳細
### `Function event touched`
@@ -125,39 +125,39 @@ When an error occurs in an event, the other events are stopped at the first rais
```4d
{local} Function event touched($event : Object)
{local} Function event touched ($event : Object)
-// code
+// コード
```
-This event is triggered each time a value is modified in the entity.
+このイベントはエンティティ内の値が編集されるたびにトリガーされます。
-- If you defined the function at the entity level (first syntax), it is triggered for modifications on any attribute of the entity.
-- If you defined the function at the attribute level (second syntax), it is triggered only for modifications on this attribute.
+- 関数をエンティティレベルで定義していた場合(第一シンタックス)、その関数はエンティティの任意の属性における変更に対してトリガーされます。
+- 関数を属性レベルで定義していた場合(第二シンタックス)、関数はその属性に対する変更に対してのみトリガーされます。
-This event is triggered as soon as the 4D Server / 4D engine can detect a modification of attribute value which can be due to the following actions:
+このイベントは4D Server / 4Dエンジンが属性値の変更を検知するとすぐにトリガーされます。この変更は、以下のようなアクションによって引き起こされます:
-- in **client/server with the [`local` keyword](../ORDA/ordaClasses.md#local-functions)** or in **4D single-user**:
- - the user sets a value on a 4D form,
- - the 4D code makes an assignment with the `:=` operator. The event is also triggered in case of self-assignment (`$entity.attribute:=$entity.attribute`).
-- in **client/server without the `local` keyword**: some 4D code that makes an assignment with the `:=` operator is [executed on the server](../commands-legacy/execute-on-server.md).
-- **`local` キーワードを使用しないクライアント/サーバー**、**[Qodly アプリケーション](https://developer.4d.com/qodly)** および **[リモートデータストア](../commands/open-datastore.md)**: ORDA 関数(エンティティ上の関数あるいはエンティティを引数として使用する関数)を呼び出した場合にはエンティティは4D Server 受信されます。 It means that you might have to implement a *refresh* or *preview* function on the remote application that sends an ORDA request to the server and triggers the event.
-- with the REST server: the value is received on the REST server with a [REST request](../REST/$method.md#methodupdate) (`$method=update`)
+- **[`local` キーワード](../ORDA/ordaClasses.md#local関数) を使用したクライアント/サーバー** あるいは **シングルユーザーモードの4D**:
+ - ユーザーが4D フォーム上で値を設定した
+ - 4D コードが `:=` 演算子によって代入を行った。 このイベントは自己代入の場合にもトリガーされます(`$entity.attribute:=$entity.attribute`)。
+- **`local` キーワード を使用しないクライアント/サーバー**: `:=` 演算子によって代入を行う一部の4D コードは、[サーバー上で実行されます](../commands-legacy/execute-on-server.md)。
+- **`local` キーワードを使用しないクライアント/サーバー**、**[Qodly アプリケーション](https://developer.4d.com/qodly)** および **[リモートデータストア](../commands/open-datastore.md)**: ORDA 関数(エンティティ上の関数あるいはエンティティを引数として使用する関数)を呼び出した場合にはエンティティは4D Server 受信されます。 これはつまり、リモートアプリケーション側に*refresh* あるいは *preview* 関数を実装することでORDA リクエストをサーバーに送信し、イベントをトリガーするようにする必要があるかもしれない、ということです。
+- REST サーバー: 値は REST サーバーに、[REST リクエスト](../REST/$method.md#methodupdate) (`$method=update`) とともに受信されます。
-The function receives an [*event* object](#event-parameter) as parameter.
+関数は [*event* オブジェクト](#event-引数) を引数として受け取ります。
-If this function [throws](../commands/throw) an error, it will not stop the undergoing action.
+この関数がエラーを[throw](../commands/throw) する場合でも、進行中のアクションは停止しません。
:::note
-This event is also triggered:
+このイベントは以下の場合にもトリガーされます:
-- when attributes are assigned by the [`constructor()`](./ordaClasses.md#class-constructor-1) event,
-- when attributes are edited through the [Data Explorer](../Admin/dataExplorer.md).
+- 属性の値が [`constructor()`](./ordaClasses.md#class-constructor-1) イベントによって代入された場合
+- 属性の値が [データエクスプローラー](../Admin/dataExplorer.md) を通して編集された場合。
:::
#### 例題 1
-You want to uppercase all text attributes of an entity when it is updated.
+エンティティが更新されたときに、エンティティ内のテキスト属性を全て大文字に変換したい場合を考えます。
```4d
//ProductsEntity class
@@ -170,11 +170,11 @@ Function event touched($event : Object)
#### 例題 2
-The "touched" event is useful when it is not possible to write indexed query code in [`Function query()`](./ordaClasses.md#function-query-attributename) for a [computed attribute](./ordaClasses.md#computed-attributes).
+"touched" イベントは、[計算属性](./ordaClasses.md#計算属性)に対して[`Function query()`](./ordaClasses.md#function-query-attributename) 内でインデックスクエリコードを書くことが不可能な場合にとても有用です。
-This is the case for example, when your [`query`](./ordaClasses.md#function-query-attributename) function has to compare the value of different attributes from the same entity with each other. You must use formulas in the returned ORDA query -- which triggers sequential queries.
+これは例えば、[`query`](./ordaClasses.md#function-query-attributename) 関数が同じエンティティの異なる属性の値どうしを比較したいような場合です。 これは返されたORDA クエリ内でフォーミュラを使う必要があり、結果としてシーケンシャルクエリをトリガーすることになります。
-To fully understand this case, let's examine the following two calculated attributes:
+このような場合を完全に理解するために、以下の2つの計算属性について調べてみましょう:
```4d
Function get onGoing() : Boolean
@@ -184,9 +184,9 @@ Function get sameDay() : Boolean
return (This.departureDate=This.arrivalDate)
```
-Even though they are very similar, these functions cannot be associated with identical queries because they do not compare the same types of values. The first compares attributes to a given value, while the second compares attributes to each other.
+たとえ非常に似ていたとしても、これらのクエリは同じ型の値を比較している訳ではないため、これらの関数を同一のクエリと関連づけることはできません。 前者は属性を与えられた値と比較する一方、後者は属性どうしを比較します。
-- For the *onGoing* attribute, the [`query`](./ordaClasses.md#function-query-attributename) function is simple to write and uses indexed attributes:
+- *onGoing* 属性に対しては、[`query`](./ordaClasses.md#function-query-attributename) 関数をシンプルに書くことができ、またインデックス付きの属性を使用します:
```4d
Function query onGoing($event : Object) : Object
@@ -207,12 +207,12 @@ Function query onGoing($event : Object) : Object
End case
$myQuery:=($onGoingValue) ? "departureDate <= :1 AND arrivalDate >= :1" : "departureDate > :1 OR arrivalDate < :1"
- // the ORDA query string uses indexed attributes, it will be indexed
+ // ORDA クエリ文字列はインデックス付き属性を使用するので、インデックスがつけられます
$parameters.push(Current date)
return {query: $myQuery; parameters: $parameters}
```
-- For the *sameDay* attribute, the [`query`](./ordaClasses.md#function-query-attributename) function requires an ORDA query based on formulas and will be sequential:
+- *sameDay* 属性に対しては、[`query`](./ordaClasses.md#function-query-attributename) 関数はフォーミュラに基づいたORDA クエリを必要とするため、検索はシーケンシャルに行われます:
```4d
Function query sameDay($event : Object) : Text
@@ -230,11 +230,11 @@ Function query sameDay($event : Object) : Text
End case
return ($sameDayValue) ? "eval(This.departureDate = This.arrivalDate)" : "eval(This.departureDate != This.arrivalDate)"
- // the ORDA query string uses a formula, it will not be indexed
+ // ORDA クエリ文字列はフォーミュラを使用するため、インデックスはつけられません
```
-- Using a **scalar** *sameDay* attribute updated when other attributes are "touched" will save time:
+- しかし他の属性が"タッチ"されたときに更新される**スカラー値の** *sameDay* 属性を使用することで、時間を節約することができます:
```4d
//BookingEntity class
@@ -250,7 +250,7 @@ Function event touched arrivalDate($event : Object)
```
-#### Example 3 (diagram): Client/server with the `local` keyword:
+#### 例題 3 (図): `local` キーワードを用いたクライアント/サーバー:
```mermaid
@@ -261,15 +261,15 @@ sequenceDiagram
Client->>+Client: $people.lastname:="Brown"
Note over Client: local Function event touched lastname($event : Object)
This.lastname:=Uppercase(This.lastname)
-Note over Client:$people.lastname is uppercased
+Note over Client:$people.lastname は大文字に変換されます
Client->>+Server: $people.apply()
- Note over Server: The $people entity is received with the lastname attribute uppercased
+ Note over Server: $people エンティティは lastname 属性が大文字に変換された状態で受信されます
```
-#### Example 4 (diagram): Client/server without the `local` keyword
+#### 例題 4 (図): `local` キーワードを用いないクライアント/サーバー
```mermaid
@@ -279,37 +279,36 @@ sequenceDiagram
Client->>+Client: $people.lastname:="Brown"
- Note over Client:$people.lastname is not uppercased
+ Note over Client:$people.lastname は大文字に変換されません
Client->>+Server: $people.apply()
Note over Server: Function event touched lastname($event : Object)
This.lastname:=Uppercase(This.lastname)
- Server-->>-Client: The $people entity is updated
-
- Note over Client:$people.lastname is uppercased
+ Server-->>-Client: $people エンティティが更新されます
+ Note over Client:$people.lastname は大文字に変換されます。
```
-#### Example 5 (diagram): Qodly application
+#### 例題 5 (図): Qodly アプリケーション
```mermaid
sequenceDiagram
-Qodly page->>+ Server: Get an entity into the People Qodly source
+Qodly page->>+ Server: エンティティをPeople Qodlyソースへと受け取る
-Qodly page->>+Qodly page: The user updates People.lastname
+Qodly page->>+Qodly page: ユーザーが People.lastname を更新する
-Note over Qodly page: The People Qodly source lastname attribute is not uppercased
+Note over Qodly page: People Qodly ソースの lastname 属性は大文字に変換されていません
Qodly page->>+ Server: Function call People.apply()
Note over Server: Function event touched lastname($event : Object)
This.lastname:=Uppercase(This.lastname)
-Server-->>-Qodly page: The People Qodly source is updated
-Note over Qodly page: The People Qodly source lastname attribute is uppercased
+Server-->>-Qodly page: People Qodly ソースが更新されます
+Note over Qodly page: People Qodly ソースの lastname 属性が大文字に変換されます
```
@@ -321,47 +320,47 @@ Note over Qodly page: The People Qodly source lastname attribute is uppercased
```4d
Function event validateSave($event : Object)
Function event validateSave ($event : Object)
-// code
+// コード
```
-This event is triggered each time an entity is about to be saved.
+このイベントは、エンティティが保存されようとするたびに毎回トリガーされます。
-- if you defined the function at the entity level (first syntax), it is called for any attribute of the entity.
-- if you defined the function at the attribute level (second syntax), it is called only for this attribute. This function is **not** executed if the attribute has not been touched in the entity.
+- 関数をエンティティレベルで定義していた場合(第一シンタックス)、その関数はエンティティの任意の属性に対して呼び出されます。
+- 関数を属性レベルで定義していた場合(第二シンタックス)、関数はその属性に対してのみ呼び出されます。 この関数は、エンティティ内の指定した属性がタッチされていない場合には、実行**されません**。
-The function receives an [*event* object](#event-parameter) as parameter.
+関数は [*event* オブジェクト](#event-引数) を引数として受け取ります。
-This event is triggered by the following functions:
+このイベントは、以下の関数によってトリガーされます:
- [`entity.save()`](../API/EntityClass.md#save)
- [`dataClass.fromCollection()`](../API/DataClassClass.md#fromcollection)
-This event is triggered **before** the entity is actually saved and lets you check data consistency so that you can stop the action if needed. For example, you can check in this event that "departure date" < "arrival date".
+このイベントは、エンティティが実際に保存される **前に** トリガーされるため、データの一貫性をチェックし、必要であればアクションを停止することができます。 例えば、このイベントを使用して、 "出発日" < "到着日" であることをチェックすることができます。
-To stop the action, the code of the function must return an [error object](#error-object).
+アクションを停止するためには、関数のコードで[エラーオブジェクト](#エラーオブジェクト) を返す必要があります。
:::note
-It is not recommended to update the entity within this function (using `This`).
+この関数内において(`This` を使用して)エンティティを更新することは推奨されません。
:::
#### 例題
-In this example, it is not allowed to save a product with a margin lower than 50%. In case of an invalid price attribute, you return an error object and thus, stop the save action.
+この例では、マージンが50% 未満の製品を保存することは許可されていません。 無効な price 属性の場合、エラーオブジェクトを換えし、保存アクションを停止します。
```4d
// ProductsEntity class
//
-// validateSave event at attribute level
+// 属性レベルの validateSave イベント
Function event validateSave margin($event : Object) : Object
var $result : Object
-//The user can't create a product whose margin is < 50%
+// ユーザーは margin が50% 未満の製品を作成することはできません
If (This.margin<50)
- $result:={errCode: 1; message: "The validation of this product failed"; \
- extraDescription: {info: "The margin of this product ("+String(This.margin)+") is lower than 50%"}; seriousError: False}
+ $result:={errCode: 1; message: "製品の検証に失敗しました"; \
+ extraDescription: {info: "この製品のマージンの ("+String(This.margin)+") が 50%" 未満になっています}; seriousError: False}
End if
return $result
@@ -374,40 +373,40 @@ return $result
```4d
Function event saving($event : Object)
Function event saving ($event : Object)
-// code
+// コード
```
-This event is triggered each time an entity is being saved.
+このイベントはエンティティが保存されるたびにトリガーされます。
-- If you defined the function at the entity level (first syntax), it is called for any attribute of the entity. The function is executed even if no attribute has been touched in the entity (e.g. in case of sending data to an external app each time a save is done).
-- If you defined the function at the attribute level (second syntax), it is called only for this attribute. The function is **not** executed if the attribute has not been touched in the entity.
+- 関数をエンティティレベルで定義していた場合(第一シンタックス)、その関数はエンティティの任意の属性に対して呼び出されます。 この関数はエンティティ内でどの属性もタッチされていない場合でも実行されます(例: 保存されるたびに外部アプリへとデータを送信する場合など)。
+- 関数を属性レベルで定義していた場合(第二シンタックス)、関数はその属性に対してのみ呼び出されます。 この関数は、エンティティ内の指定した属性がタッチされていない場合には、実行**されません**。
-The function receives an [*event* object](#event-parameter) as parameter.
+関数は [*event* オブジェクト](#event-引数) を引数として受け取ります。
-This event is triggered by the following functions:
+このイベントは、以下の関数によってトリガーされます:
- [`entity.save()`](../API/EntityClass.md#save)
- [`dataClass.fromCollection()`](../API/DataClassClass.md#fromcollection)
-This event is triggered **while** the entity is actually saved. If a [`validateSave()`](#function-event-validatesave) event function was defined, the `saving()` event function is called if no error was triggered by `validateSave()`. For example, you can use this event to create a document on a Google Drive account.
+このイベントはエンティティが実際に保存されている**最中に**トリガーされます。 [`validateSave()`](#function-event-validatesave) イベント関数が定義されていると場合、 `saving()` イベント関数は、 `validateSave()`がエラーを何もトリガーしなかった場合に呼び出されます。 例えば、このイベントを使用して、Google Drive アカウントにドキュメントを作成することができます。
:::note
-The business logic should raise errors which can't be detected during the `validateSave()` events, e.g. a network error
+このビジネスロジックは `validateSave()` イベントで検知できないエラーを生成する必要があります(例: ネットワークエラー)
:::
-During the save action, 4D engine errors can be raised (index, stamp has changed, not enough space on disk).
+保存アクション中、4D エンジンのエラー(インデックスやスタンプが変更された、ディスク上に十分なスペースがありません、など)が生成されることがあります。
-To stop the action, the code of the function must return an [error object](#error-object).
+アクションを停止するためには、関数のコードで[エラーオブジェクト](#エラーオブジェクト) を返す必要があります。
#### 例題
-When a file is saved on disk, catch errors related to disk space for example.
+ファイルがディスク上に保存されると、例えばディスクの要領に関連したエラーをキャッチします。
```4d
// ProductsEntity class
-// saving event at attribute level
+// 属性レベルでの保存イベント
Function event saving userManualPath($event : Object) : Object
var $result : Object
@@ -417,15 +416,17 @@ var $fileCreated : Boolean
If (This.userManualPath#"")
$userManualFile:=File(This.userManualPath)
- // The user manual document file is created on the disk
- // This may fail if no more space is available
+ // ユーザーマニュアルドキュメントファイルがディスク上に作成されます
+ // これはディスク上に空き容量がない場合には失敗する可能性があります
Try
- $fileCreated:=$userManualFile.create()
+ // ファイルのコンテンツは事前に生成され Storage.docMap に保存されています
+ $docInfo:=Storage.docMap.query("name = :1"; This.name).first()
+ $userManualFile.setContent($docInfo.content)
Catch
- // No more room on disk for example
+ // 例えばディスク上に要領が空いてない場合
$result:={/
- errCode: 1; message: "Error during the save action for this product"; /
- extraDescription: {info: "There is no available space on disk to store the user manual"}/
+ errCode: 1; message: "この製品の保存アクション中にエラー発生"; /
+ extraDescription: {info: "このディスク上にはユーザーマニュアルを保存するスペースがありません"}/
}
End try
End if
@@ -434,37 +435,43 @@ return $result
```
+:::note
+
+この例ではファイルの中身は `saving` イベントの外で生成されています。時間がかなりかかる可能性があるからです。
+
+:::
+
### `Function event afterSave`
#### シンタックス
```4d
Function event afterSave($event : Object)
-// code
+// コード
```
-This event is triggered just after an entity is saved in the data file, when at least one attribute was modified. It is not executed if no attribute has been touched in the entity.
+このイベントは、少なくとも一つの属性が編集されていたエンティティがデータファイルに保存された直後にトリガーされます。 エンティティ内でどの属性もタッチされていない場合には、これは実行されません。
-This event is useful after saving data to propagate the save action outside the application or to execute administration tasks. For example, it can be used to send a confirmation email after data have been saved. Or, in case of error while saving data, it can make a rollback to restore a consistent state of data.
+このイベントは、データを保存した後に、アプリケーション外に保存アクションを電波させたい場合や、管理タスクを実行したりするのに有用です。 例えばこれを使用して、データが保存された後に確認メールを送信することができます。 あるいは、データ保存中にエラーが発生した場合、これを使用してロールバックを行い、データの一貫性を復元することもできます。
-The function receives an [*event* object](#event-parameter) as parameter.
+関数は [*event* オブジェクト](#event-引数) を引数として受け取ります。
-- To avoid infinite loops, calling a [`save()`](../API/EntityClass.md#save) on the current entity (through `This`) in this function is **not allowed**. It will raise an error.
-- Throwing an [error object](#error-object) is **not supported** by this function.
+- 無限ループに陥るのを避けるため、この関数内でカレントのエンティティ上で(`This` を通して) [`save()`](../API/EntityClass.md#save) を呼び出すのは**許可されていません**。 これはエラーを発生させます。
+- この関数では[エラーオブジェクト](#エラーオブジェクト) をスローすることは**サポートされていません**。
#### 例題
-If an error occurred in the above saving event, the attribute value is reset accordingly in the `afterSave` event:
+上記の保存イベント中にエラーが発生した場合、属性値は `afterSave` イベントでリセットされます:
```4d
// ProductsEntity class
Function event afterSave($event : Object)
If (($event.status.success=False) && ($event.status.errors=Null))
- // $event.status.errors is filled if the error comes from the validateSave event
+ // エラーがvalidateSave イベントから来た場合には$event.status.errors に値が入れられます
- // The userManualPath attribute has not been properly saved
- // Its value is reset
+ // userManualPath 属性は適切には保存されていません
+ // その値はリセットされます
If ($event.savedAttributes.indexOf("userManualPath")=-1)
This.userManualPath:=""
This.status:="KO"
@@ -480,29 +487,29 @@ End if
```4d
Function event validateDrop($event : Object)
Function event validateDrop ($event : Object)
-// code
+// コード
```
-This event is triggered each time an entity is about to be dropped.
+このイベントはエンティティがドロップ(削除)されようとするたびに毎回トリガーされます。
-- If you defined the function at the entity level (first syntax), it is called for any attribute of the entity.
-- If you defined the function at the attribute level (second syntax), it is called only for this attribute.
+- 関数をエンティティレベルで定義していた場合(第一シンタックス)、その関数はエンティティの任意の属性に対して呼び出されます。
+- 関数を属性レベルで定義していた場合(第二シンタックス)、関数はその属性に対してのみ呼び出されます。
-The function receives an [*event* object](#event-parameter) as parameter.
+関数は [*event* オブジェクト](#event-引数) を引数として受け取ります。
-This event is triggered by the following features:
+このイベントは以下の機能によってトリガーされます:
- [`entity.drop()`](../API/EntityClass.md#drop)
- [`entitySelection.drop()`](../API/DataClassClass.md#fromcollection)
-- [deletion control rules](https://doc.4d.com/4Dv20/4D/20.2/Relation-properties.300-6750290.en.html#107320) that can be defined at the database structure level.
+- データベースストラクチャーレベルで定義されている可能性のある[削除制御](https://doc.4d.com/4Dv20/4D/20.2/Relation-properties.300-6750290.ja.html#107320)。
-This event is triggered **before** the entity is actually dropped, allowing you to check data consistency and if necessary, to stop the drop action.
+このイベントはエンティティが実際にドロップされる**前に**トリガーされるため、データの一貫性をチェックし、必要であればドロップアクションを停止することができます。
-To stop the action, the code of the function must return an [error object](#error-object).
+アクションを停止するためには、関数のコードで[エラーオブジェクト](#エラーオブジェクト) を返す必要があります。
#### 例題
-In this example, it is not allowed to drop a product that is not labelled "TO DELETE". In this case, you return an error object and thus, stop the drop action.
+この例では、"TO DELETE" とラベルのついていない製品をドロップすることはできません。 この場合、エラーオブジェクトを返すことで、ドロップアクションを停止することができます。
```4d
// ProductsEntity class
@@ -511,10 +518,10 @@ Function event validateDrop status($event : Object) : Object
var $result : Object
-// Products must be marked as TO DELETE to be dropped
+// ドロップするためには、製品は TO DELETE と記録されている必要があります
If (This.status#"TO DELETE")
- $result:={errCode: 1; message: "You can't drop this product"; \
- extraDescription: {info: "This product must be marked as To Delete"}; seriousError: False}
+ $result:={errCode: 1; message: "この製品は削除できません"; \
+ extraDescription: {info: "この製品はTo Delete と記録されていなければなりません"}; seriousError: False}
End if
return $result
@@ -527,35 +534,35 @@ return $result
```4d
Function event dropping($event : Object)
Function event dropping ($event : Object)
-// code
+// コード
```
-This event is triggered each time an entity is being dropped.
+このイベントはエンティティがドロップ(削除)されるたびにトリガーされます。
-- If you defined the function at the entity level (first syntax), it is called for any attribute of the entity.
-- If you defined the function at the attribute level (second syntax), it is called only for this attribute.
+- 関数をエンティティレベルで定義していた場合(第一シンタックス)、その関数はエンティティの任意の属性に対して呼び出されます。
+- 関数を属性レベルで定義していた場合(第二シンタックス)、関数はその属性に対してのみ呼び出されます。
-The function receives an [*event* object](#event-parameter) as parameter.
+関数は [*event* オブジェクト](#event-引数) を引数として受け取ります。
-This event is triggered by the following features:
+このイベントは以下の機能によってトリガーされます:
- [`entity.drop()`](../API/EntityClass.md#drop)
- [`entitySelection.drop()`](../API/DataClassClass.md#fromcollection)
-- [deletion control rules](https://doc.4d.com/4Dv20/4D/20.2/Relation-properties.300-6750290.en.html#107320) that can be defined at the database structure level.
+- データベースストラクチャーレベルで定義されている可能性のある[削除制御](https://doc.4d.com/4Dv20/4D/20.2/Relation-properties.300-6750290.ja.html#107320)。
-This event is triggered **while** the entity is actually dropped. If a [`validateDrop()`](#function-event-validatedrop) event function was defined, the `dropping()` event function is called if no error was triggered by `validateDrop()`.
+このイベントはエンティティが実際にドロップされている**最中に**トリガーされます。 [`validateDrop()`](#function-event-validatedrop) イベント関数が定義されている場合、 `dropping()` イベント関数は、 `validateDrop()` がエラーを何もトリガーしなかった場合に呼び出されます。
:::note
-The business logic should raise errors which cannot be detected during the `validateDrop()` events, e.g. a network error.
+このビジネスロジックは `validateDrop()` イベントで検知できないエラーを生成する必要があります(例: ネットワークエラー)。
:::
-To stop the action, the code of the function must return an [error object](#error-object).
+アクションを停止するためには、関数のコードで[エラーオブジェクト](#エラーオブジェクト) を返す必要があります。
#### 例題
-Here is an example of `dropping` event at entity level:
+これはエンティティレベルでの `dropping` イベントの一例です:
```4d
// ProductsEntity class
@@ -566,14 +573,14 @@ var $userManualFile : 4D.File
$userManualFile:=File(This.userManualPath)
- // When dropping a product, its user manual is also deleted on the disk
- // This action may fail
+ // 製品をドロップする場合、そのユーザーマニュアルもディスク上から削除されます
+ // このアクションは失敗する可能性があります
Try
If ($userManualFile.exists)
$userManualFile.delete()
End if
Catch
- // Dropping the user manual failed
+ // ユーザーマニュアルのドロップに失敗した場合
$result:={errCode: 1; message: "Drop failed"; extraDescription: {info: "The user manual can't be dropped"}}
End try
@@ -586,27 +593,27 @@ return $result
```4d
Function event afterDrop($event : Object)
-// code
+// コード
```
-This event is triggered just after an entity is dropped.
+このイベントはエンティティがドロップ(削除)された直後にトリガーされます。
-This event is useful after dropping data to propagate the drop action outside the application or to execute administration tasks. For example, it can be used to send a cancellation email after data have been dropped. Or, in case of error while dropping data, it can log an information for the administrator to check data consistency.
+このイベントは、データをドロップした後に、アプリケーション外にドロップアクションを伝播させたい場合や、管理タスクを実行したりするのに有用です。 例えばこれを使用して、データがドロップされたあとにキャンセルメールを送信することができます。 あるいは、データのドロップ中にエラーが発生した場合、あとで管理者がデータの一貫性をチェックできるように情報を記録することができます。
-The function receives an [*event* object](#event-parameter) as parameter.
+関数は [*event* オブジェクト](#event-引数) を引数として受け取ります。
-- To avoid infinite loops, calling a [`drop()`](../API/EntityClass.md#drop) on the current entity (through `This`) in this function is **not allowed**. It will raise an error.
-- Throwing an [error object](#error-object) is **not supported** by this function.
+- 無限ループに陥るのを避けるため、この関数内でカレントのエンティティ上で(`This` を通して) [`drop()`](../API/EntityClass.md#drop) を呼び出すのは**許可されていません**。 これはエラーを発生させます。
+- この関数では[エラーオブジェクト](#エラーオブジェクト) をスローすることは**サポートされていません**。
:::note
-The dropped entity is referenced by `This` and still exists in memory.
+ドロップされたエンティティは `This` を通して参照され、メモリー内に引き続き存在します。
:::
#### 例題
-If the drop action failed, then the product must be checked manually:
+ドロップアクションが失敗した場合、製品は手動でチェックされる必要があります:
```4d
Function event afterDrop($event : Object)
@@ -614,8 +621,8 @@ Function event afterDrop($event : Object)
var $status : Object
If (($event.status.success=False) && ($event.status.errors=Null))
- //$event.status.errors is filled
- //if the error comes from the validateDrop event
+ //$event.status.errors には、
+ //エラーが validateDrop イベントから来た場合には値が入れられます
This.status:="Check this product - Drop action failed"
$status:=This.save()
End if
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/ORDA/ordaClasses.md b/i18n/ja/docusaurus-plugin-content-docs/current/ORDA/ordaClasses.md
index a49e8ce5d07ead..ff642548a8b4d2 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/ORDA/ordaClasses.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/ORDA/ordaClasses.md
@@ -3,7 +3,7 @@ id: ordaClasses
title: データモデルクラス
---
-ORDA allows you to create high-level class functions above the [data model](https://doc.4d.com/4Dv20/4D/20.2/Creating-a-database-structure.200-6750097.en.html). これによってビジネス指向のコードを書き、APIのように "公開" することができます。 データストア、データクラス、エンティティ、およびエンティティセレクションはそれぞれ、関数を持つことのできるクラスオブジェクトとして提供されています。
+ORDAでは、[データモデル](https://doc.4d.com/4Dv20/4D/20.2/Creating-a-database-structure.200-6750097.ja.html)の上に高レベルクラス関数を作成することができます。 これによってビジネス指向のコードを書き、APIのように "公開" することができます。 データストア、データクラス、エンティティ、およびエンティティセレクションはそれぞれ、関数を持つことのできるクラスオブジェクトとして提供されています。
たとえば、選択中の社員より給与の高い社員一覧を返す `getNextWithHigherSalary()` 関数を `EmployeeEntity` クラスに作成したとします。 この関数は簡単に呼び出すことができます:
@@ -214,9 +214,9 @@ ORDA で公開されるテーブル毎に、Entity クラスが `cs` クラス
#### Class constructor
-You can define a **class constructor** for an Entity class. The class constructor is called whenever an entity is created in memory and can be used to initialize some values.
+エンティティクラスに対して **class constructor** を定義することができます。 クラスコンストラクターはエンティティがメモリ内に作成されるたびに呼び出され、これを使用して一部の値を初期化することができます。
-For information, please refer to the [Class constructor](#class-constructor-1) section.
+詳細な情報については[Class constructor](#class-constructor-1) を参照してください。
#### 計算属性
@@ -278,7 +278,7 @@ End if
- クラス定義の際、[`Class extends`](../Concepts/classes.md#class-extends-classname) ステートメントに使用する親クラスの名前は完全に合致するものでなくてはいけません (文字の大小が区別されます)。 たとえば、EntitySelection クラスを継承するには `Class extends EntitySelection` と書きます。
-- データモデルクラスオブジェクトのインスタンス化に `new()` キーワードは使えません (エラーが返されます)。 You must use a regular function as listed in the [`Instantiated by` column of the ORDA class table](#architecture).
+- データモデルクラスオブジェクトのインスタンス化に `new()` キーワードは使えません (エラーが返されます)。 上述の ORDA クラステーブルに一覧化されている、通常の [インスタンス化の方法](#アーキテクチャー) を使う必要があります。
- **`4D`** [クラスストア](Concepts/classes.md#クラスストア) のネイティブな ORDA クラス関数を、データモデルユーザークラス関数でオーバーライドすることはできません。
@@ -306,7 +306,7 @@ End if
```4d
// Entity class
Class constructor()
-// code
+// コード
```
:::note
@@ -315,48 +315,48 @@ Class constructor()
:::
-An ORDA class constructor function is triggered just after a new entity is created in memory, [whatever the way it is created](#commands-that-trigger-the-class-constructor-functions). It is useful to set initial values for entity instantiation, for example a custom ID.
+ORDA クラスコンストラクター関数は、[作成された方法に関わらず](#クラス関数をトリガーするコマンド)、新規エンティティがメモリ内に作成された直後にトリガーされます。 これは例えばカスタムのID など、エンティティインスタンス化時に初期値を設定するのに有用です。
-This function can only be set at the [entity level](#entity-class). There can only be one constructor function in an entity class (otherwise an error is returned).
+この関数は [エンティティレベル](#entity-クラス) でのみ設定可能です。 コンストラクター関数は、1つのエンティティクラスに 1つしか存在できません (そうでない場合はエラーが返されます)。
-This ORDA class constructor function does not receive or return parameters. However, you can use it to initialize attribute values using [`This`](../commands/this.md). Note that values initialized by the constructor are overriden if corresponding attributes are filled by the code.
+ORDA クラスコンストラクター関数は、引数を受け取ることも返すこともしません。 しかし、 [`This`](../commands/this.md).を使用して属性値を初期化することができます。 コンストラクターによって初期化された値は、対応する属性がコードによって値が入力される場合にはそれによって上書きされるということに注意してください。
:::note
-An ORDA class constructor function is similar to a [user class constructor function](../Concepts/classes.md#class-constructor), with the following differences:
+ORDA クラスコンストラクター関数は、[ユーザークラスコンストラクター関数](../Concepts/classes.md#class-constructor) と似ていますが、以下の点において違います:
-- you cannot pass parameters to the constructor,
-- you cannot use `shared`, `session`, or `singleton` keywords,
-- you cannot call the [`Super`](../Concepts/classes.md#super) keyword within the function,
-- the class constructor cannot be called using the `new()` function on an entity (entities can only be created by specific functions, see below).
+- コンストラクターには引数を渡すことはできません
+- `shared`、 `session` または `singleton` キーワードを使用することはできません
+- 関数内で [`Super`](../Concepts/classes.md#super) キーワードを呼び出すことはできません
+- クラスコンストラクターは、エンティティに `new()` 関数を使用することでは呼び出せません(エンティティは特定の関数でしか作成することはできません、以下参照)。
:::
-#### Commands that trigger the Class constructor functions
+#### クラスコンストラクター関数をトリガーするコマンド
-The `Class constructor` function is triggered by the following commands and features:
+`Class constructor` 関数は、以下のコマンドと機能によってトリガーされます:
- [`dataClass.new()`](../API/DataClassClass.md#new)
- [`dataClass.fromCollection()`](../API/DataClassClass#fromcollection)
-- [REST API $method=update](../REST/$method.md#methodupdate) in a POST without the `__KEY` and `__STAMP` parameters
-- the [Data Explorer](../Admin/dataExplorer.md#editing-data).
+- `__KEY` および `__STAMP` 引数のない POST での[REST API $method=update](../REST/$method.md#methodupdate)
+- [データエクスプローラー](../Admin/dataExplorer.md#editing-data)
:::note 注記
-- The [`entity.clone()`](../API/EntityClass.md#clone) function does not trigger the entity Class constructor.
-- Records created at the 4D database level using 4D classic language commands or standard actions do not trigger the entity Class constructor.
+- [`entity.clone()`](../API/EntityClass.md#clone) 関数はエンティティクラスコンストラクターをトリガーしません。
+- 4D クラシックランゲージ言語コマンドまたは標準アクションを使用して4D データベースレベルで作成されたレコードは、エンティティクラスコンストラクターをトリガーしません。
:::
-#### Remote configurations
+#### リモート構成
-When using a remote configurations, you need to pay attention to the following principles:
+リモート構成を使用している場合、以下の原則に対して注意する必要があります:
-- In **client/server** the function can be called on the client or on the server, depending on the location of the calling code. When it is called on the client, it is not triggered again when the client attempts to save the new entity and sends an update request to the server to create in memory on the server.
+- **クライアント/サーバー** では、コードを呼び出した場所によっては関数はクライアントまたはサーバーのどちらでも呼び出すことができます。 クライアント上で呼び出された場合、クライアントが新規エンティティを保存しようとして、サーバーのメモリ上に作成するために更新リクエストを送信したときにはもう一度トリガーされることはありません。
:::warning
-Since functions such as [`dataClass.fromCollection()`](../API/DataClassClass.md#fromcollection) can create a large number of entities and thus trigger the entity Class constructor consequently, you need to make sure the constructor code does not execute excessive time-consuming processings, for performance reasons. In remote configurations (see below), the code should not trigger multiple requests to the server.
+[`dataClass.fromCollection()`](../API/DataClassClass.md#fromcollection) のような関数は大量のエンティティを一度を作成し、結果としてエンティティクラスコンストラクターをトリガーしうるため、パフォーマンス上の理由から、コンストラクターコードに過度に時間を消費するような処理を実行しないように注意する必要があります。 リモート設定においては(以下参照)、コードはサーバーに対して複数のリクエストをトリガーしてはいけません。
:::
@@ -372,7 +372,7 @@ Class constructor()
```
-#### Example 2 (diagram): Client/server
+#### 例題 2 (図): クライアント/サーバー
```mermaid
@@ -382,7 +382,7 @@ Client->>+Client: Form.product:=ds.Products.new()
Note over Client: Class constructor
This.creationDate:=Current date()
This.comment:="Automatic comment"
-Note over Client: Form.product.creationDate is "06/17/25"
Form.product.comment is "Automatic comment"
+Note over Client: Form.product.creationDate は "25/06/17"
Form.product.comment は "Automatic comment"
Client->>+Server: Form.product.save()
@@ -391,47 +391,47 @@ Server-->>-Client: Success
```
-#### Example 3 (diagram): Qodly - Standard action
+#### 例題 3 (図): Qodly - 標準アクション
```mermaid
sequenceDiagram
- Qodly page->>+ Qodly page: Standard action Create a new entity (product Qodly source)
+ Qodly page->>+ Qodly page: 標準アクションで新規エンティティを作成 (product Qodlyソース)
- Qodly page->>+Server: Function call product.apply() OR Save standard action for the product Qodly source
+ Qodly page->>+Server: 関数がproduct Qodly ソースに対して product.apply() または Save 標準アクション を呼び出し
Note over Server: Class constructor
This.creationDate:=Current date()
This.comment:="Automatic comment"
- Server-->>-Qodly page: The product Qodly source creationDate and comment attributes are filled
+ Server-->>-Qodly page: product Qodlyソースの creationDate と comment 属性に値が入れられる
- Note over Qodly page: product.creationDate is "06/17/25"
and product.comment is "Automatic comment"
+ Note over Qodly page: product.creationDate は "06/17/25"
そして product.comment は "Automatic comment"
```
-#### Example 4 (diagram): Qodly - Standard action and update value on the newly created entity
+#### 例題 4 (図): Qodly - 標準アクションと新規作成エンティティの値を更新
```mermaid
sequenceDiagram
-Qodly page->>+ Qodly page: Standard action Create a new entity (product Qodly source)
+Qodly page->>+ Qodly page: 標準アクションで新規エンティティを作成(product Qodlyソース)
-Qodly page->>+ Qodly page: Update product comment with "Front end comment"
+Qodly page->>+ Qodly page: product の comment を "Front end comment" で更新
-Qodly page->>+Server: Function call product.apply() OR Save standard action for the product Qodly source
+Qodly page->>+Server: 関数が product Qodlyソースに対して product.apply() またはSave 標準アクションを呼び出し
Note over Server: Class constructor
This.creationDate:=Current date()
This.comment:="Automatic comment"
-Note over Server: The comment attribute is set with "Front end comment"
+Note over Server: comment 属性は "Front end comment" に設定
-Server-->>-Qodly page: The product Qodly source creationDate and comment attributes are filled
+Server-->>-Qodly page: product Qodlyソースの creationDate と comment 属性には値が入る
-Note over Qodly page: product.creationDate is "06/17/25"
and product.comment is "Front end comment"
+Note over Qodly page: product.creationDate は "25/06/17"
そして product.comment は "Front end comment"
```
-#### Example 5 (diagram): Qodly - Entity instanciated in a function
+#### 例題 5 (図): Qodly - 関数内でインスタンス化されたエンティティ
```mermaid
@@ -439,13 +439,13 @@ sequenceDiagram
Qodly page->>+Server: product Qodly source := Function call Products.createNew()
-Note over Server: CreateNew() function on the Products class
return This.new()
+Note over Server: Products クラスのCreateNew() 関数は
This.new() を返す
Note over Server: Class constructor
This.creationDate:=Current date()
This.comment:="Automatic comment"
-Server-->>-Qodly page: The product entity creationDate and comment attributes are filled
+Server-->>-Qodly page: product エンティティの creationDate と comment 属性には値が入れられる
-Note over Qodly page: product.creationDate is "06/17/25"
and product.comment is "Automatic comment"
+Note over Qodly page: product.creationDate は "25/06/17"
そして product.comment は "Automatic comment"
```
@@ -936,18 +936,18 @@ $arch.save() //courseName と name は "Archaeology II" に変更されます
## 公開vs非公開関数
-For security reasons, all of your data model class functions, including [computed attributes](#computed-attributes-1) and [alias attributes](#alias-attributes-1), as well as [shared singleton functions](../Concepts/classes.md#shared-singleton) are **not exposed** (i.e., private) by default to **remote requests**.
+セキュリティ上の理由から、[計算属性](#計算属性-1) と [エイリアス属性](#エイリアス属性-1) と、[共有シングルトン関数](../Concepts/classes.md#共有シングルトン) を含めたデータモデルクラス関数は**リモートリクエスト**に対してはデフォルトでは**公開されていません** (つまり非公開です)。
-Remote requests are:
+リモートリクエストとは以下のものを指します:
- `Open datastore` によって接続されたリモートの 4Dアプリケーションが送信するリクエスト
-- REST requests, including requests from [Qodly pages](https://developer.4d.com/qodly/)
+- REST リクエスト、[Qodly ページ](https://developer.4d.com/qodly/) からのリクエストも含める
> 通常の 4Dクライアント/サーバーリクエストは影響されません。 このアーキテクチャーにおいては、データモデルクラス関数は常に利用可能です。
公開されていない関数はリモートアプリケーションで利用することができず、RESTリクエストによるオブジェクトインスタンスに対して呼び出すこともできません。 リモートアプリケーションが非公開関数をアクセスしようとすると、"-10729 (未知のメンバー機能です)" エラーが返されます。
-To allow a function or an attribute to be called by a remote request, you must explicitly declare it using the `exposed` keyword. シンタックスは次の通りです:
+関数あるいは属性がリモートリクエストから呼び出されるのを許可するためには、`exposed` キーワードを使って明示的に宣言する必要があります。 シンタックスは次の通りです:
```4d
// 公開関数の宣言
@@ -956,24 +956,24 @@ exposed Function
```
```4d
-// declare an exposed alias
+// 公開されたエイリアスの宣言
exposed Alias
```
```4d
-// declare an exposed computed attribute
+// 公開された計算属性の宣言
exposed Function get
```
```4d
-// declare a shared singleton function
+// 共有シングルトン関数の宣言
shared singleton Class constructor()
exposed Function
```
:::note
-The `exposed` keyword can only be used with the objects decribed above. [通常のユーザークラス](Concepts/classes.md) 関数に対して使った場合、キーワードは無視され、コンパイラーはエラーを返します。
+`exposed` キーワードは上記で説明されているオブジェクトでのみ使用できます。 [通常のユーザークラス](Concepts/classes.md) 関数に対して使った場合、キーワードは無視され、コンパイラーはエラーを返します。
:::
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/ORDA/privileges.md b/i18n/ja/docusaurus-plugin-content-docs/current/ORDA/privileges.md
index cd4fbfc0254764..c61a659924f96b 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/ORDA/privileges.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/ORDA/privileges.md
@@ -1,6 +1,6 @@
---
id: privileges
-title: Roles and Privileges
+title: ロールと権限
---
データ保護と、承認ユーザーによる迅速かつ容易なデータアクセスを両立することは、Webアプリケーションにとって大きな課題です。 ORDA のセキュリティアーキテクチャーはデータストアの中心に実装されており、プロジェクト内のさまざまなリソース (データストア、データクラス、関数など) に対して、すべての Web または REST ユーザーセッションに特定の権限を定義することができます。
@@ -17,7 +17,7 @@ Webユーザーまたは RESTユーザーがログインすると、そのセッ

-:::tip Related Blog posts
+:::tip 関連したBlog 記事
[**Filter access to your data with a complete system of permissions**](https://blog.4d.com/filter-access-to-your-data-with-a-complete-system-of-permissions/)
@@ -27,11 +27,11 @@ Webユーザーまたは RESTユーザーがログインすると、そのセッ
プロジェクト内の以下のリソースに対して、許諾アクションと権限名を割り当てることができます (この設定をパーミッションと呼びます):
-- the [datastore](../ORDA/dsMapping.md#datastore)
-- the [dataclasses](../ORDA/dsMapping.md#dataclass)
-- [attributes](../ORDA/dsMapping.md#attribute) (including [computed](./ordaClasses.md#computed-attributes-1) and [alias](./ordaClasses.md#alias-attributes-1))
-- functions of the [data model classes](../ORDA/ordaClasses.md)
-- [singleton](../REST/$singleton.md) functions
+- [データストア](../ORDA/dsMapping.md#データストア)
+- [データクラス](../ORDA/dsMapping.md#データクラス)
+- [属性](../ORDA/dsMapping.md#属性) ([計算属性](./ordaClasses.md#計算属性-1) および [エイリアス属性](./ordaClasses.md#エイリアス属性-1)を含む)
+- [データモデルクラス](../ORDA/ordaClasses.md) の関数
+- [シングルトン](../REST/$singleton.md) 関数
セッションがリソースにアクセスするたびに (アクセス形式に関係なく)、4D はセッションの権限を確認し、許可されていない場合にはアクセスを拒否します。
@@ -128,11 +128,11 @@ It means that you cannot use the same function names in the various ORDA classes
## 権限とロール
-**権限** とは、**リソース** に対して **アクション** を実行する技術的な能力であり、**ロール** は、管理者が使用するために公開された権限のことです。 基本的にロールとは、ビジネスユーザーのプロフィールを定義するためにいくつかの権限を集めたものです。 たとえば、"manageInvoices" (請求書管理) は権限の例で、"secretary" (秘書) は ("manageInvoices" および他の権限を持つ) ロールの例です。 基本的にロールとは、ビジネスユーザーのプロフィールを定義するためにいくつかの権限を集めたものです。 たとえば、"manageInvoices" (請求書管理) は権限の例で、"secretary" (秘書) は ("manageInvoices" および他の権限を持つ) ロールの例です。
+**権限** とは、**リソース** に対して **アクション** を実行する技術的な能力であり、**ロール** は、管理者が使用するために公開された権限のことです。 基本的にロールとは、ビジネスユーザーのプロフィールを定義するためにいくつかの権限を集めたものです。 たとえば、"manageInvoices" (請求書管理) は権限の例で、"secretary" (秘書) は ("manageInvoices" および他の権限を持つ) ロールの例です。
権限は、複数の "リソース+アクション" の組み合わせと関連付けることができます。 また、一つのアクションに複数の権限を関連付けることができます。 権限は、他の権限を含むことができます。
-- 権限やロールの **作成** は `roles.json` ファイル内にておこないます (後述参照)。 アクセス権の範囲を **設定** するには、リソースに適用される許諾アクションに権限名を割り当てます。 アクセス権の範囲を **設定** するには、リソースに適用される許諾アクションに権限名を割り当てます。 アクセス権の範囲を **設定** するには、リソースに適用される許諾アクションに権限名を割り当てます。 アクセス権の範囲を **設定** するには、リソースに適用される許諾アクションに権限名を割り当てます。 アクセス権の範囲を **設定** するには、リソースに適用される許諾アクションに権限名を割り当てます。 アクセス権の範囲を **設定** するには、リソースに適用される許諾アクションに権限名を割り当てます。 アクセス権の範囲を **設定** するには、リソースに適用される許諾アクションに権限名を割り当てます。 アクセス権の範囲を **設定** するには、リソースに適用される許諾アクションに権限名を割り当てます。 アクセス権の範囲を **設定** するには、リソースに適用される許諾アクションに権限名を割り当てます。
+- 権限やロールの **作成** は `roles.json` ファイル内にておこないます (後述参照)。 アクセス権の範囲を **設定** するには、リソースに適用される許諾アクションに権限名を割り当てます。
- 各ユーザーセッションに権限やロールを **許可** するには、`Session` クラスの [`.setPrivileges()`](../API/SessionClass.md#setprivileges) 関数を使用します。
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/Project/project-method-properties.md b/i18n/ja/docusaurus-plugin-content-docs/current/Project/project-method-properties.md
index cca7ea78f5692d..743181b1c2adac 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/Project/project-method-properties.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/Project/project-method-properties.md
@@ -22,9 +22,9 @@ title: Project Method Properties
:::caution
-プロジェクトメソッドの名前を変更すると、そのメソッドを旧名称で呼び出している他のメソッドやフォーミュラなど、アプリケーションの機能が無効になるリスクがあります。 You can rename the method manually but it is strongly recommended to use the renaming function for project methods, described in [Renaming](https://doc.4d.com/4Dv20/4D/20.2/Renaming.300-6750165.en.html). この機能を使用すれば、デザイン環境における当該メソッドの呼び出し箇所がすべて自動的に更新されます (ただし EXECUTE METHOD など、文字列としてメソッド名が参照されている個所を除きます)。
+Changing the name of a method already used in the project can invalidate any methods or formulas that use the old method name and runs the risk of disrupting application functioning. It is strongly recommended to use the [renaming function for project methods](../Project/search-replace.md#renaming-project-methods-and-variables). この機能を使用すれば、デザイン環境における当該メソッドの呼び出し箇所がすべて自動的に更新されます (ただし EXECUTE METHOD など、文字列としてメソッド名が参照されている個所を除きます)。
-4D Server の場合、名称変更は変更終了後にサーバーに反映されます。 複数のユーザーが同時に名称を変更しようとすると、最後におこなわれた名称変更が適用されます。 メソッドのオーナーを指定すれば特定のユーザー以外はメソッド名を変更できないようにできます。
+4D Server の場合、名称変更は変更終了後にサーバーに反映されます。 複数のユーザーが同時に名称を変更しようとすると、最後におこなわれた名称変更が適用されます。 You may want to specify a method owner so that only certain users can change the method's name.
:::
@@ -103,7 +103,7 @@ For more information, refer to [4D SQL engine implementation](https://doc.4d.com
*このオプションは廃止されます。 RESTコールによるコードの呼び出しは、[ORDAデータモデルクラス関数](../REST/ClassFunctions.md) でのみサポートされます。*
-### 属性の一括設定
+## 属性の一括設定
"メソッド属性" ダイアログボックスを使用して、一回の操作で複数のプロジェクトメソッドに対して属性 (非表示、Webサービスで公開、等) を設定することができます。 この機能は、多数のプロジェクトメソッドの属性を一括して変更する場合に便利です。 また、開発の段階で、類似のメソッド群に共通の属性を素早く適用するのに使用することもできます。
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/Project/search-replace.md b/i18n/ja/docusaurus-plugin-content-docs/current/Project/search-replace.md
new file mode 100644
index 00000000000000..0d4492c012f012
--- /dev/null
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/Project/search-replace.md
@@ -0,0 +1,283 @@
+---
+id: search-replace
+title: Search and Replace
+---
+
+4D provides several search and replace functions for elements in all of the Design environment.
+
+- You can search for a string or a type of object (variable, comment, expression, etc.) in part of or in the entire project on the basis of custom criteria ("starts with", "contains", etc.). You can, for example, search for all the variables containing the string "MyVar", only in methods whose name begins with "HR_".
+- The results are displayed in a results window, where it is possible to perform replacements in the contents. You can also export these results in a text file that can be imported into a spreadsheet.
+- You can detect variables and methods that are not used in your code and then remove them to free up memory.
+- You can rename a project method or a variable throughout the Design environment in a single operation.
+
+:::note
+
+There are also functions for searching among the methods of your project in the context menu of the Methods Page in the Explorer: **Search Callers** (aussi available in the [Code editor](../code-editor/write-class-method.md#search-callers) and **Search Dependencies**. Both functions display the items found in a [Results window](#results-window).
+
+:::
+
+## Search Location
+
+When you search the Design environment, the following elements are searched:
+
+- Names of project methods and classes
+- Contents of all methods and classes
+- Names of tables, fields and forms
+- Contents of forms:
+ - object names and titles
+ - names of help tips, pictures, variables, style sheets,
+ - formatting strings
+ - 式
+- Menus (names and items) and commands associated with menu items
+- Choice lists (names and items)
+- Help tips (names and content)
+- Formats / filters (names and content)
+- Comments in the Explorer and in the code
+
+## Find in Design
+
+### Starting a search
+
+Specify your search criteria in the "Find in design" window:
+
+1. Click on the Search button () in the 4D toolbar.
+ OR
+ Select the **Find in Design...** command from the **Edit** menu.
+
+The "Find in design" window appears:
+
+
+
+The areas of the "Find in design" vary dynamically depending on the selections made in the menus. You can expand this window so that all options are visible:
+
+
+
+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).
+
+4. Click **OK** or press the **Enter** key.
+ When the search is finished, the [Results window](#results-window) appears, listing the elements found.
+
+:::note
+
+You can cancel an extensive search that is underway using the **x** button; this does not close the window or remove any results that were found.
+
+:::
+
+Once you have executed a search, the value entered in the search area is saved in memory. This value, as well as all the other values entered during the same session, can be selected from the combo box.
+
+### 検索
+
+You specify the type of element to look for using the **Find** menu. The following choices are available:
+
+- **Text**: In this case, 4D looks for a character string throughout the Design environment. The search is done in plain text mode, without taking the context into account. For example, you can look for the text "ALERT("Error number:"+" or "button27". In this mode, you cannot use the wildcard character because "@" is considered to be a standard character.
+- **Comment**: This search is basically the same as the previous one, but it is restricted to the contents of comments (lines beginning with //) in the code and in the Explorer window. For example, you can search for any comments containing the string "To be verified".
+
+:::note
+
+The end result of both types of searches depends on the [search mode](#search-mode) selected.
+
+:::
+
+- **Language expression**: Used to search for any valid 4D expression; the search is performed in the "contains" search mode. Validity is important because 4D must be able to evaluate an expression to be able to search for it. For example, a search for "[clients" (invalid expression) will not return any result whereas "[clients]" is correct. This option is particularly suitable for searches for value assignments and comparisons. 例:
+ - Search for "myvar:=" (assignment)
+ - Search for "myvar=" (comparison)
+- **Language element**: Used to search for a specific language element by its name. 4D can distinguish between the following elements:
+ - **Any language element**: Any element from the list below.
+ - **Project method or Class**: Name of a project method or class, for example "M_Add" or "EmployeeEntity".
+ - **Form:** Form name, for example "Input". The command searches among project forms and table forms.
+ - **Field or Table**: Name of a table or field, for example "Customers".
+ - **Variable**: Any variable name, such as "$myvar".
+ **4D constant**: Any constant, such as "Is Picture".
+ **String in quotes**: Literal text constant; i.e. any value within quotes in the code editor or inserted into text areas of the Form editor (static text or group boxes). For example, a search for "Martin" will return results if your code contains the line: `ds.Customer.query("name = :1"; "Martin")`
+ - **4D command**: Any 4D command, for example "Alert".
+ - **Plug-in command**: Plug-in command installed in the application.
+ - **Properties**: An object property name (includes ORDA attribute names). For example "lastname" will find "$o.lastname" and "ds.Employee.lastname".
+- **Any object**: This option searches among all the elements in the Design environment. Only the modification date filter is available. Use this option, for example, to search for "anything modified today".
+
+### Search mode
+
+The search mode menu (i.e. "which", "that is" or "whose name") specifies how to search for the value that is entered. The contents of this menu vary according to the type of element to search for as selected in the **Find** dropdown list.
+
+- Search options for Text or Comment:
+ - **contains**: Searches all text in the Design environment for the specified string. Search results for "var" can include "myvar", "variable1" or "aVariable".
+ - **contains whole word**: Searches all text of the Design environment for the string as a whole word. Search results for "var" only include exact occurrences. They will not include "myvar" but will include, for example, "var:=10" or "ID+var" because the symbols : or + are word separators.
+ - **begins with / ends with**: Searches for the string at the beginning or end of the word (text search) or at the beginning or end of the comment line (comment search). In "Text ends with" mode, searching for "var" will find "myvar".
+- Search options for Language element: The menu offers standard options (matches, contains, begins with, ends with). Note that you can use the search wildcard (@) with the matches option (returns all objects of the type specified).
+
+### Search in components
+
+When your current project references [editable components](../Extensions/develop-components.md#editing-components), you can designate one or all your components as a target for the search. By default, a search is executed in the host only. To modify the target for a search, deploy the **in the project** menu:
+
+
+
+You can select as target:
+
+- the **host project** (default option, top of the list): the search will only be executed within the host project code and forms, excluding components.
+- the **host project and all its components**: the search will be executed in the host project and in all its loaded components.
+- a **specific component**, among the list of all searchable components: the search will be restricted to this component only, excluding the host and other components.
+
+:::note
+
+When no searchable component is found, no menu is available.
+
+:::
+
+The **in the folder** menu (see below) is updated when you select a project since the availability of folders depends on the selected search target(s). The menu is hidden when you select the "host project and all its components" option.
+
+### Folder
+
+The **in the folder** menu restricts the search to a specific folder of the project. By default ("Top Level" option), the search takes place in all the folders.
+
+:::note
+
+Folders are defined on the Home Page of the Explorer.
+
+:::
+
+### Modification date of the parent
+
+This menu restricts the search with respect to the creation/modification date of its parent (for example, the method containing the string being searched for). In addition to standard date criteria (is, is before, is after, is not), this menu also contains several options to let you quickly specify a standard search period:
+
+- **is today**: Period beginning at midnight (00:00 h) of the current day.
+- **is since yesterday**: Period including the current day and the previous one.
+- **is this week**: Period beginning on Monday of the current week.
+- **is this month**: Period beginning on the 1st day of the current month.
+
+### Searching options
+
+You can select options that can help speed up your searches:
+
+- **Search in forms**: When this option is deselected, the search is done throughout the project, except in forms.
+- **Search in methods**: When this option is deselected, the search is done throughout the project, except in methods.
+- **Case Sensitive**: When this option is selected, the search uses the case of the characters as they have been entered in the Find area.
+
+## Results window
+
+The Results window lists all elements found that match the search criteria set using different types of searches:
+
+- [standard search](#starting-a-search)
+- [search for unused elements](#find-unused-methods-and-global-variables)
+- [search for callers](../code-editor/write-class-method.md#search-callers)
+- search for dependencies
+- [renaming of project methods and variables](#renaming-project-methods-and-variables)
+
+It shows the results as a hierarchical list organized by type of elements found. You can expand or collapse all the hierarchical items in the list using the options menu (found at the bottom left of the window) or in the context menu.
+
+
+
+You can double-click on a line in this window to view the element in its editor, such as the [code editor](../code-editor/write-class-method.md). If you do several searches, each search opens its own result window, leaving previous result windows open.
+
+When more than one occurrence has been found, the list indicates their **count** next to the element name.
+
+Each line can display a tip that provides additional information, for example the element property that matches the criteria, or the number of the form page that contains the occurrence.
+
+When an element found belongs to a component, the **component name** is displayed in parenthesis at the right side of the element name:
+
+
+
+Once a search is completed, you can use the  button to perform the search again with the same criteria and options.
+
+### Options menu
+
+You can perform various actions using the options menu:
+
+
+
+- **Remove from list**: removes selected item(s) from the results window. More specifically, this lets you keep only items targeted by a replacement operation in the contents or used for drag and drop between applications.
+- **Remove all items from list except selection**: clears everything from the results window except for the selected item(s).
+- [**Replace in content**](#replace-in-contents): replaces a character string within the selected item(s).
+- **Select >**: selects one type of item (project methods, object names, and so on) from among all the items found in the Results window. The hierarchical sub-menu also provides commands to select (All) or deselect (None) all the items at once.
+- **Collapse all/Expand all**: expands or collapses all the hierarchical items in the list of results.
+- **Export Results**: exports information about the search criteria and elements listed in the Results window. This text file can then be imported into a spreadsheet such as Excel, for example. For each item, the following information is exported as tab-separated values in a text file:
+ - Host project or component name
+ - Type (method, Class, formObject, trigger...)
+ - Path
+ - Property (if accurate): provides the property of the object that matches the criteria. For example, a string could be found in a variable name (variable property) and an object name (name property) within in the same form. This field is empty when the matching element is the object itself.
+ - Contents (if accurate): provides the contents that actually matches the criteria; for example, the code line that contains the requested string.
+ - Line number (for code) or page number (for form objects)
+
+## Replace in content
+
+The Replace in content function allows you to replace one character string with another within the listed objects in the Results window. It is available in the [options menu](#options-menu) of the window.
+
+:::note
+
+The **Replace in content** menu item is disabled if you work in a read-only database (e.g. in a .4dz file).
+
+:::
+
+When you select this command, a dialog box appears where you enter the character string that will replace all the occurrences found by the initial search:
+
+
+
+Replacing operations work as follows:
+
+- Replacing is always carried out among all items found in the list and not just for a selection. However, it is possible to narrow the replacing operation by first reducing the contents of the list using the **Remove from list** or **Remove all items from list except selection** commands in the [options menu](#options-menu) or the contextual menu.
+- If the Results window includes elements from components, the replacing will be done in the component(s) also.
+- Only the occurrences shown in the list will be replaced and only after checking the initial search criteria for cases where objects were modified between the initial search and the replacing operation.
+- Replacing is done in the code, properties of form objects, contents of help messages, entry filters, menu items (item text and method calls), choice lists, comments.
+- For each object modified, 4D checks whether it is already loaded by another machine or in another window. In the case of conflict, a standard dialog box appears indicating that the object is locked. You can close the object and then try again or cancel its replacement. The replacing operation will then continue with the other objects in the list.
+- If a method or form concerned by a "replace in content" operation is currently being edited by the same 4D application, it will be modified directly in the open editor (no warning appears). Forms and methods modified in this way are not saved automatically: you will need to use the **Save** or **Save All** command explicitly to validate the changes.
+- After a replacement is made in a list item, it will appear in italics. A count of replacements made in real time appears at the bottom of the window.
+- Elements are never renamed themselves by the **Replace in content** feature, except for form objects. Hence it is possible that certain items in the list may not be affected by the replacing operation. This can occur when only the item name corresponds to the initial search criteria. In this case, the list items do not necessarily all appear in italics and the final replacement count may be less than the number of occurrences found by the initial search.
+
+## Renaming project methods and variables
+
+4D provides a dedicated renaming function with distribution throughout the entire project for project methods and variables.
+
+The **Rename...** command is available from the [Code editor] (for project methods and variables) and the Explorer context menu (for project methods).
+
+
+
+When you select this command, a dialog box appears where you enter the new name for the object:
+
+
+
+The new name must comply with [naming rules](../Concepts/identifiers.md); otherwise a warning appears when you validate the dialog box. For example, you cannot rename a method with a command name such as "Alert".
+
+Depending on the type of object you are renaming (project method or variable), the renaming dialog box may also contain a distribution option:
+
+- Project method: The **Update callers in whole database** option renames the method in all the project code that references it. You can also uncheck this option in order, for example, to rename the method only in the Explorer itself.
+- Process variable: The **Rename variable in whole database** option renames the variable in all the project code that references it. If you uncheck this option, the variable is only renamed in the current method.
+- Local variable: No distribution option for this object; the variable is only renamed in the current method or class.
+
+## Searching for unused elements
+
+Two specific search commands allow you to detect variables and methods that are not used in the code of your host project. You can then remove them to free up memory. These commands are found in the **Edit** menu of the Design environment.
+
+### Find Unused Methods and Global Variables
+
+This command looks for project methods as well as "global" variables (process and interprocess variables) that are declared but not used. The search results appear in a standard [Results window](#results-window).
+
+A project method is considered to be unused when:
+
+- it is not in the Trash,
+- it is not called anywhere in the 4D code,
+- it is not called by a menu command,
+- it is not called as a string constant in the 4D code (4D detects a method name in a string even when it is followed by parameters in parentheses).
+
+A process or interprocess variable is considered to be unused when:
+
+- it is [declared](../Concepts/variables.md#declaring-variables) in the 4D code,
+- it is not used anywhere else in the 4D code,
+- it is not used in any form object.
+
+Note that certain uses cannot be detected by the function - i.e. an element considered unused may in fact be used. This is the case in the following code:
+
+```4d
+var v : Text :="method"
+EXECUTE FORMULA("my"+v+String(42))
+```
+
+This code builds a method name. The *mymethod42* project method is considered unused when in fact it is called. Therefore, it is advisable to check that the elements declared as unused are in fact unnecessary before you remove them.
+
+### Find Unused Local Variables
+
+This command looks for local variables that are declared but not used. The search results appear in a standard [Results window](#results-window).
+
+A local variable is considered to be unused when:
+
+- it is [declared](../Concepts/variables.md#declaring-variables) in the 4D code,
+- it is not used anywhere else within the same method.
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/REST/$filter.md b/i18n/ja/docusaurus-plugin-content-docs/current/REST/$filter.md
index e7d79b10f1bfdd..f0db0ecae759fb 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/REST/$filter.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/REST/$filter.md
@@ -3,7 +3,7 @@ id: filter
title: $filter
---
-データクラスまたはメソッドが返すデータをフィルターします *(例*: `$filter="firstName!='' AND salary>30000"`)
+Allows to query the data in a dataclass or method (*e.g.*, `$filter="firstName!='' AND salary>30000"`)
## 説明
@@ -95,7 +95,7 @@ The *vectorComparison* parameter is a collection of the following elements:
| [].metric | Text | 任意。 クエリに使用する[ベクトル計算](../API/VectorClass.md#ことなるベクトル計算を理解する)。 Supported values:"cosine" (default if omitted): calculates the cosine similarity between vectors."dot": calculates the dot similarity of vectors."euclidean": calculates the Euclidean distance between vectors. |
| [].threshold | Real | 任意(デフォルト: 0.5)。 選択された"metric"に従って、コサイン、ドット、またはユークリッド類似度に基づいたベクトル比較をフィルタリングするために使用されるしきい値。 最適な結果を得るためには、特定の用途に最適な類似度のしきい値をきちんと選択することが強く推奨されます。 |
-Only a subset of **comparator** symbols are supported with vector comparisons. これらの比較記号は、結果としきい値を比較するのに使用されるという点に注意してください:
+Only a subset of **comparator** symbols is supported with vector comparisons. これらの比較記号は、結果としきい値を比較するのに使用されるという点に注意してください:
| 比較演算子 | 記号 | 説明 |
| ----- | --------------------------- | --------- |
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/REST/$orderby.md b/i18n/ja/docusaurus-plugin-content-docs/current/REST/$orderby.md
index e5c4f397210f16..2eb61653b66cb3 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/REST/$orderby.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/REST/$orderby.md
@@ -9,7 +9,7 @@ title: $orderby
`$orderby` は RESTリクエストによって返されるエンティティを並べ替えます。 並べ替えの基準とする各属性について、並べ替え順を指定します。`ASC` ( `asc`) が昇順、`DESC` (`desc`) が降順です。 デフォルトでは、データは昇順に並べ替えられます。 属性を複数指定するには、カンマ区切りにします。*例*: `$orderby="lastName desc, firstName asc"`。
-## 例題
+## 例題 1
取得と同時にエンティティを並べ替えます:
@@ -47,3 +47,10 @@ title: $orderby
}
```
+## 例題 2
+
+`$orderby` statement is supported in [vector similarity filters](./$filter.md#vector-similarity):
+
+```
+GET /rest/Person?$filter="Vector>=:1"&$params=[{"vector":[1,2,3],"metric":"cosine","threshold":0.95}]&$orderby="Vector desc"
+```
\ No newline at end of file
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/REST/authUsers.md b/i18n/ja/docusaurus-plugin-content-docs/current/REST/authUsers.md
index e8c77d4aa0bc56..5036a5b85ab9a1 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/REST/authUsers.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/REST/authUsers.md
@@ -18,7 +18,7 @@ When [scalable sessions are enabled](WebServer/sessions.md#enabling-web-sessions
:::note 互換性
-4D 20 R6 以降、`On REST Authentication` データベースメソッドに基づく従来のログインモードは **非推奨** となりました。 現在は、[**強制ログインモード**](../ORDA/privileges.md#rolesjson-ファイル) の使用 (新規プロジェクトでは自動的に有効) および [`ds.authentify()`関数](#function-authentify) の実装が推奨されています。 変換されたプロジェクトでは、[設定ダイアログボックスのボタン](../settings/web.md#dsauthentify-関数によって-rest認証を有効化する) を使用して、構成をアップグレードすることができます。 Qodly Studio for 4D では、権限パネルの [**強制ログイン**オプション](../WebServer/qodly-studio.md#force-login) を使用してログインモードを設定することができます。
+4D 20 R6 以降、`On REST Authentication` データベースメソッドに基づく従来のログインモードは **非推奨** となりました。 現在は、[**強制ログインモード**](../ORDA/privileges.md#rolesjson-ファイル) の使用 (新規プロジェクトでは自動的に有効) および [`ds.authentify()`関数](#function-authentify) の実装が推奨されています。 変換されたプロジェクトでは、[設定ダイアログボックスのボタン](../settings/web.md#dsauthentify-関数によって-rest認証を有効化する) を使用して、構成をアップグレードすることができます。 Qodly Studio for 4D では、権限パネルの [**強制ログイン**オプション](https://developer.4d.com/qodly/4DQodlyPro/force-login) を使用してログインモードを設定することができます。
:::
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/WebServer/http-rules.md b/i18n/ja/docusaurus-plugin-content-docs/current/WebServer/http-rules.md
index 6f6e8aacb4e491..9b152c29bb5728 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/WebServer/http-rules.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/WebServer/http-rules.md
@@ -220,7 +220,7 @@ $return:=WEB Server.start($settings)
```
-:::tip Related blog post
+:::tip 関連したblog 記事
[New Way to Control Your HTTP Responses](https://blog.4d.com/new-way-to-control-your-http-responses/)
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/WebServer/sessions.md b/i18n/ja/docusaurus-plugin-content-docs/current/WebServer/sessions.md
index aec14fa9fb346b..8c11c9b7e09f45 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/WebServer/sessions.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/WebServer/sessions.md
@@ -12,7 +12,7 @@ Webセッションでは、以下のことが可能です:
- セッションの [.storage](../API/SessionClass.md#storage) を使用して、Webクライアントのプロセス間でデータを保存および共有。
- セッションを実行しているユーザーに権限を関連付ける。
-:::tip Related blog post
+:::tip 関連したblog 記事
[高度な Webアプリケーションに対応したスケーラブルセッション](https://blog.4d.com/ja/scalable-sessions-for-advanced-web-applications/)
@@ -25,7 +25,7 @@ Webセッションは次のものに使用されます:
- [Web applications](gettingStarted.md) sending http requests (including [SOAP Web services](../commands/theme/Web_Services_Server.md) and [/4DACTION](../WebServer/httpRequests.md#4daction) requests),
- [リモートデータストア](../ORDA/remoteDatastores.md) や [Qodlyフォーム](qodly-studio.md) が使用する [REST API](../REST/authUsers.md) への呼び出し
-## Webセッションの有効化
+## Enabling web sessions {#enabling-web-sessions}
セッション管理機能は、4D Webサーバー上で有効または無効にすることができます。 セッション管理を有効化する方法は複数あります:
@@ -201,7 +201,7 @@ Else
End if
```
-:::tips 関連したblog 記事
+:::tip 関連したblog 記事
[高度な Webアプリケーションに対応したスケーラブルセッション](https://blog.4d.com/ja/scalable-sessions-for-advanced-web-applications/)
@@ -213,7 +213,7 @@ End if
4D では、OTP セッショントークンは外部URL を呼び出して、それが他のブラウザや他のデバイス(モバイル/PC) でコールバックされる場合に特に有用です。 通常、こういったサードパーティアプリケーションはコールバックリンクが入った確認メールを送信してきて、ユーザーはこれをクリックする必要があります。 コールバックリンクにはOTP トークンが含まれており、そのコールバックをトリガーしたセッションは、そのデータと権限とともにロードされます。 この原理により、同じセッションを複数のデバイス間で共有することができます。 このアーキテクチャーのおかげで、[セッションクッキー](#session-implementation) はネットワークに公開されることはないため、中間者攻撃のリスクを排除することができます。
-:::tips 関連したblog 記事
+:::tip 関連したblog 記事
[Connect Your Web Apps to Third-Party Systems](https://blog.4d.com/connect-your-web-apps-to-third-party-systems/)
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/WritePro/commands-legacy/4d-write-pro-attributes.md b/i18n/ja/docusaurus-plugin-content-docs/current/WritePro/commands-legacy/4d-write-pro-attributes.md
index 6fbb540112b1c5..78f312a53208b5 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/WritePro/commands-legacy/4d-write-pro-attributes.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/WritePro/commands-legacy/4d-write-pro-attributes.md
@@ -18,12 +18,12 @@ slug: /WritePro/4d-write-pro-attributes
* オブジェクト記法(\*) - 例えば、以下の二つの宣言は非常に似ています:
```4d
- $bcol:=$range[wk background color]
- $bcol:=$range.backgroundColor //同じ結果を得る
+ $bcol:=$range[wk background color]
+ $bcol:=$range.backgroundColor //同じ結果を得る
```
* [OB SET](../../commands-legacy/ob-set.md) および [OB Get](../../commands-legacy/ob-get.md) コマンドを使用します。例:
```4d
- $bcol:=OB Get($range;wk background color)
+ $bcol:=OB Get($range;wk background color)
```
:::
@@ -253,7 +253,7 @@ slug: /WritePro/4d-write-pro-attributes
### リスト
-4D Write Proは主に二つのタイプのリストをサポートしています:
+4D Write Proは主に二つのタイプの[リスト](../user-legacy/using-a-4d-write-pro-area.md#lists)をサポートしています:
* 順番付けのないリスト: リスト項目が中点と記されているリスト
* 順番付けされているリスト: リスト項目が番号あるいは文字で記されているリスト
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/WritePro/user-legacy/defining-a-4d-write-pro-area.md b/i18n/ja/docusaurus-plugin-content-docs/current/WritePro/user-legacy/defining-a-4d-write-pro-area.md
index 09f6b2cda29023..54dd7785a5001e 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/WritePro/user-legacy/defining-a-4d-write-pro-area.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/WritePro/user-legacy/defining-a-4d-write-pro-area.md
@@ -83,176 +83,3 @@ slug: /WritePro/configuring-4d-write-pro-areas
4Dフォームに埋め込まれたエリアについては、プロパティリストを使用してデフォルトのビューモードを設定することができます。この場合、ビューモードは 4D Write Proフォームオブジェクトのプロパティとして保存されます (より詳細な情報については、*ビュープロパティの設定* の章を参照してください)。
-## 標準アクション
-
-4D Write Proエリアのユーザーインターフェースは、多様な**標準アクション**を使用して管理することができます。標準アクションは次のようなものに割り当てることが可能です:
-
-* **メニューバー**あるいは[Dynamic pop up menu](../../commands/dynamic-pop-up-menu) コマンドを通して利用可能なメニューコマンド
-* ポップアップ・ドロップダウンリストや階層ポップアップメニューを通して利用可能なリスト項目
-* ボタン、チェックボックス
-* あるいは[INVOKE ACTION](../../commands/invoke-action) コマンドによって実行
-
-インターフェースオブジェクトに割り当てた場合、標準アクションはコンテキストに応じてオブジェクトの有効化/無効化を管理します。詳細な情報については*標準アクション* の章を参照してください。
-
-4D Write Proエリアでは二種類のアクションが利用可能です:
-
-* 4D Write Pro 特有の、4D Write Proエリアに対してのみ使用可能なアクション
-* フォント、式、スペルチェック、編集アクションを含む、4D Write Proエリアと他の4Dエリアで使用可能な*その他のアクション*(*標準アクション*参照)。
-
-### 4D Write Pro アクション
-
-4D Write Proエリアでは以下の標準アクションが利用可能です。
-
-**注:**
-
-* 自動メニュー/リストを表示するアクションは、メニューコマンド、ポップアップ/ドロップダウンリスト、あるいは階層ポップアップメニューオブジェクトにのみ割り当て可能です(*サブメニュー* 参照)。
-* チェックボックスと3Dチェックボックスはステータスアクション("section/differentFirstPage" あるいは "visibleHorizontalRuler"など)を割り当てて下さい。スリーステートオプションは標準のチェックボックスでのみサポートされます。
-* セクションのアクションステータスは、常にその選択されたセクションの実際のステータスと一致します(属性が親セクションあるいはデフォルト属性から継承される場合にはステータスが継承されます)。選択されたセクションのステータス(セクションに現在適用されているステータス)を反映する必要があるからです。しかしながら標準アクションを使用してセクション属性を変更した場合には、選択されたセクションの属性のみが上書きされます。
-* *サブメニュー*: 引数を渡さず、メニューコマンド、ポップアップ/ドロップダウンリスト、あるいは階層ポップアップメニューに割り当てて使用した場合、これらのアクションは自動サブメニュー/リストを表示します。例えば、"backgroundColor"アクションをメニューコマンドに割り当てた場合、このメニューコマンドをランタイムで選択するとBackground color サブメニュー項目が表示されます。"zoom"アクションを階層ポップアップメニューに割り当てた場合、このメニューには既定のズーム値の一覧が自動的に含まれます。これらのアクションはボタンに対しては割り当てられない点に注意してください。
-* *showDialog*: アクション名に"/showDialog " の文字列を追加することで、アクションに割り当てられた標準のダイアログボックスを表示します。例えば、"paragraph/styleSheet/showDialog"と入力することで新しいスタイルシート名を入力する入力ダイアログを開くことができます。
-
-| アクション名 | シンタックス | 割り当て可能オブジェクト | 詳細 |
-|---|---|---|---|
-| anchorHorizontalAlign | {image \| textBox}/anchorHorizontalAlign?value={left \| center \| right} | Image, Textbox, Submenu | Defines the horizontal alignment of the element, relative to the anchorOrigin for images/text boxes in page, or to the layout box for images/text box in embedded mode. This action will reset the horizontal offset to 0. (not enabled for inline images). |
-| anchoring | {image \| textBox}/anchoring | Submenu | Default submenu with anchor settings actions for images or text boxes |
-| anchorLayout | image/anchorLayout?value={front \| behind \| wrapTopBottom \| wrapSquareLeft \| wrapSquareRight \| wrapSquareLargest \| wrapSquare \| inline}
textBox/anchorLayout?value={front \| behind \| wrapTopBottom \| wrapSquareLeft \| wrapSquareRight \| wrapSquareLargest \| wrapSquare} | Image, Textbox, Submenu | Defines the anchor layout type for an image or a text box. Can be used to transform an inline image to an anchored image, or the reverse. Note: If an image is moved from an anchored mode to inline, the image is inserted at the beginning of the current selected text. "inline" value is not supported for text boxes |
-| anchorOrigin | {image \| textBox}/anchorOrigin?value={paper-box \| header-box \| footer-box} | Image, TextBox, Submenu | Defines the area relative to the absolute position of an anchored image or text box. If the element is relative to the header-box/footer-box which is not visible on a page, the element is not displayed. This action will reset horizontal and vertical offsets to 0. Page mode only, not enabled for inline images. |
-| anchorPage | {image \| textBox}/anchorPage?value={all \| current \| currentSubSection} | Image, TextBox, Submenu | Defines the page(s) where the selected image or text box is displayed (not enabled for inline images). Page mode only. |
-| anchorSection | {image \| textBox}/anchorSection?value={all \| current} | Image, TextBox, Submenu | Defines the section(s) where the selected image or text box is displayed. (not enabled for inline images). Page mode only. |
-| anchorVerticalAlign | {image \| textBox}/anchorVerticalAlign?value={top \| center \| bottom} | Image, TextBox Submenu | Defines the vertical alignment of the image or text box, relative to the anchorOrgin for an image or text box in page, or to the layout box for an image or text box in embedded mode. This action will reset the vertical offset to 0 (not enabled for inline images). Note: See "verticalAlign" action for the vertical alignment inside the text box |
-| avoidPageBreakInside | {paragraph/}avoidPageBreakInside | Paragraph | |
-| background | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}background | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu | For menu commands only. Default submenu for all background attributes. |
-| backgroundClip | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}backgroundClip?value={paper-box \| border-box \| padding-box \| content-box} | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu | Changes target background clipping box (default target is paragraph). Paper-box targets document and section only. |
-| backgroundColor | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}backgroundColor?value={ \| transparent} | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu, showDialog | Changes target background. |
-| backgroundDisplayMode | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}backgroundDisplayMode?value=scaledToFit \| truncated \| truncatedCentered \| proportional \| proportionalCentered \| replicated \| replicatedCentered | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu | Sets the display mode of images used as background. |
-| backgroundImage | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}backgroundImage?value=none | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu, showDialog | Clears target background image. (default target is paragraph) |
-| backgroundOrigin | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}backgroundOrigin?value={paper-box \| border-box \| padding-box \| content-box} | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu | Changes target background image origin box (default target is paragraph). Paper-box targets document and section only. |
-| backgroundPositionH | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}backgroundPositionH?value={left \| right \| center} | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu | Changes target background image horizontal alignment (default target is paragraph). Ex: paragraph/backgroundPositionH?value=left |
-| backgroundPositionV | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}backgroundPositionV?value={top \| bottom \| center} | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu | Changes target background image vertical alignment (default target is paragraph). Ex: paragraph/backgroundPositionV?value=top |
-| backgroundRepeat | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}backgroundRepeat?value={no-repeat \| repeat \| repeat-x \| repeat-y} | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu | Changes target background image repeat mode. (default target is paragraph) |
-| backgroundSizeH | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}backgroundSizeH?value={ \| \| auto \| cover \| contain} | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu | Changes target background image width (default target is paragraph). Ex: paragraph/backgroundSizeH?value=100%. section/backgroundSizeH?value=cover |
-| backgroundSizeV | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell}/backgroundSizeV?value={ \| \| auto} | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu | Changes target background image height (default target is paragraph). Ex: paragraph/backgroundSizeV?value=50%. Ex: section/backgroundSizeV?value=40pt |
-| bookmark | bookmark?index= | Submenu | Selects the Nth bookmark. Ex: bookmark?index=2 // selects the second bookmark |
-| borderCollapse | borderCollapse | Paragraph | Collapses selected paragraph borders and interior margins. |
-| borderColor | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}{inside \| outside/}{borderColor \| borderColorLeft \| borderColorRight \| borderColorTop \| borderColorBottom \| borderColorLeftRight \| borderColorTopBottom}?value= | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu, showDialog | Changes target border color (default target is paragraph). Ex: paragraph/borderColorLeft?value=green |
-| borderRadius | {doc \| paragraph \| image \| textBox \| section \| header \| footer/}borderRadius?value= | Document, Paragraph, Image, TextBox, Section, Header, Footer, Submenu | Changes target border radius (default target is paragraph). Ex: paragraph/borderRadius?value=4pt |
-| borders | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}{inside \| outside/}borders | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu | Default submenu for target borders. |
-| borderStyle | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}{inside \| outside/}{borderStyle \| borderStyleLeft \| borderStyleRight \| borderStyleTop \| borderStyleBottom \| borderStyleLeftRight \| borderStyleTopBottom}?value={none \| hidden \| dotted \| dashed \| solid \| double \| groove \| ridge \| inset \| outset} | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu | Changes target border style (default target is paragraph). Ex: paragraph/borderStyleLeft?value=double. Ex: outside/borderStyle?value=solid //set selected paragraphs exterior borders to style solid. Ex: inside/borderStyle?value=none //remove selected paragraphs interior borders |
-| borderWidth | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}{inside \| outside/}{borderWidth \| borderWidthLeft \| borderWidthRight \| borderWidthTop \| borderWidthBottom \| borderWidthLeftRight \| borderWidthTopBottom}?value= | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu | Changes target border width (default target is paragraph). Ex: paragraph/borderWidthLeft?value=4pt |
-| columnCount | {section/}columnCount?value={1<=number<=20} | Document, Section, Submenu | Number of columns in the current document and/or section. (default target is doc) Ex: section/columnCount?value=3 |
-| columnRuleColor | {section/}columnRuleColor?value={CSS color} | Document, Section, Submenu, showDialog | Color for the decorative line between document or section columns. Ex: columnRuleColor?value="#FFFFFF" |
-| columnRuleStyle | {section/}columnRuleStyle?value={none \| dotted \| dashed \| solid \| double \| groove \| ridge \| inset \| outset} | Document, Section, Submenu | Style for the decorative line between document or section columns. Ex: columnRuleStyle?value="solid" |
-| columnRuleWidth | {section/}columnRuleWidth?value={CSS length} | Document, Section, Submenu | Width of the decorative line between document or section columns. Ex: columnRuleWidth?value="2pt" |
-| columns | {section/}columns | Document, Section, Submenu | Only for a menu item: creates automatically a complete Columns sub-menu with all column actions sub-menus (except insertColumnBreak) |
-| columnSpacing | {section/}columnSpacing?value={CSS length} | Document, Section, Submenu | Space between two columns in the current document and/or section. Ex: columnSpacing?value="1cm" |
-| deleteColumns | deleteColumns | Table | Deletes all selected columns. |
-| deleteRows | deleteRows | Table | Deletes all selected rows. |
-| deleteStyleSheet | {paragraph \| image/}deleteStyleSheet?index={1<= number <= number of target style sheets} | Paragraph, Image, Submenu | Removes the Nth stylesheet from the stored stylesheets for the selected target (default target is paragraph). Menu item name is replaced at runtime with style sheet name. |
-| direction | direction?value={ltr \| rtl} | Paragraph, Submenu | Paragraph direction. |
-| displayFormulaAsSymbol | displayFormulaAsSymbol | Document | Displays formula references as a # symbol. Can only be used when formulas are displayed as references. |
-| doc | doc | Document, Submenu | Default submenu for document body layout (embedded mode attributes or default attributes for sections – but for margin which is reserved for embedded mode only). |
-| dpi | Modifies the dpi of the current view (independent of the document attribute wk dpi used internally for pixel conversion <-> points). | Submenu | Change view dpi. Ex: dpi?value=72 |
-| emptyDatasource | {table}/emptyDatasource?value={showDataRow \| hideDataRow \| showPlaceholderRow \| hideTable } | Table, Submenu | Defines how the table is displayed when its datasource is empty. |
-| fontStyleWrite | fontStyleWrite | Submenu | For menu commands only. Displays default font styles submenu for 4D Write Pro. |
-| fontSubscript | fontSubscript | | Toggles subscript font attribute. |
-| fontSuperscript | fontSuperscript | | Toggles superscript font attribute. |
-| footer | footer | Submenu | Displays the Footer submenu. |
-| footer/remove | footer/remove | Footer | Removes the selected footer. |
-| formulaHighlight | formulaHighlight?value={values \| references \| always \| never} | Document, Submenu | Formula highlight mode for the document. Can be used with a dropdown menu or a button |
-| formulaHighlightColor | formulaHighlightColor?value= | Document, Submenu,showDialog | Formula highlight color for the document |
-| formulaHighlightReferences | formulaHighlightReferences | Document | Toggles formula references highlighting. Can be used with a check box or a menu item |
-| formulaHighlightValues | formulaHighlightValues | Document | Toggles formula values highlighting. Can be used with a check box or a menu item |
-| header | header | Submenu | Displays the Header submenu. |
-| header/remove | header/remove | Header | Removes the selected header. |
-| height | {image \| textBox \| row}/height?value={ \| auto} | Image, TextBox Row, Submenu | Target height. Ex: image/height?value=50pt. For image/width, see width. Ex: row/height?value=12pt |
-| headerRowCount | {table/}headerRowCount | Table, Submenu | Sets the number of header rows in a table. Maximum is 5. |
-| htmlWYSIWIGEnabled | htmlWYSIWIGEnabled | Document | Toggles between html wysiwyg mode. |
-| image | image | Image, Submenu | Displays image layout submenu. |
-| image/displayMode | image/displayMode?value=scaledToFit \| truncated \| truncatedCentered \| proportional \| proportionalCentered \| replicated \| replicatedCentered | Image, Submenu | Sets the display mode of anchored and inline images. Ex: image/displayMode?value=scaledToFit |
-| image/verticalAlign | image/verticalAlign?value={top \| middle \| bottom \| baseline \| super \| sub} | Image, Submenu | Image vertical alignment. Ex: image/verticalAlign?value=super |
-| insertColumnBreak | insertColumnBreak | Paragraph | Inserts a column break at the selection. |
-| insertColumnToTheLeft | insertColumnToTheLeft | Table | Inserts a column to the left of the first selected column(s). |
-| insertColumnToTheRight | insertColumnToTheRight | Table | Inserts a column to the right of the last selected column(s). |
-| insertContinuousSectionBreak | insertContinuousSectionBreak | Paragraph | Inserts a continuous section break at the selection. |
-| insertImage | insertImage | | Opens a picture selection dialog box and inserts the selected picture (if any) as a character in the area. |
-| insertPageBreak | insertPageBreak | Paragraph | Inserts a page break at the selection. |
-| insertRowAbove | insertRowAbove | Table | Inserts a row above the selected row(s). |
-| insertRowBelow | insertRowBelow | Table | Inserts a row below the selected row(s). |
-| insertSectionBreak | insertSectionBreak | Paragraph | Inserts a section break at the selection. |
-| insertSoftHyphen | insertSoftHyphen | | Inserts a soft hyphen at the cursor position. |
-| insertTextBox | insertTextBox | Document | Inserts a text box near the current selection, anchored to the first selected page (page mode). |
-| keepWithNext | keepWithNext | Paragraph | Links a paragraph with the next so that they cannot be separated by automatic page or column breaks. If applied to the last paragraph of the last cell in a table, the last row of the table is linked to the following paragraph. |
-| lineHeight | lineHeight?value={ \| } | Paragraph, Submenu | Paragraph line height. Ex: lineHeight?value=120% |
-| layer | {image \| textBox}/layer | Submenu | Default submenu with layering actions for images or text boxes |
-| listStartNumber | listStartNumber?value={ (longint) \| auto} | Paragraph, Submenu | List start number. Ex: listStartNumber?value=10 |
-| listStyleImage | listStyleImage/showDialog | Paragraph, showDialog | Opens a file dialog to choose a image to display as list style bullet; it will set also list style type to disc – style to be used if image is not found. |
-| listStyleType | listStyleType?value={none \| disc \| circle \| square \| hollow-square \| diamond \| club \| decimal \| decimal-leading- zero \| lower-latin \| lower-roman \| upper-latin \| upper-roman \| lower-greek \| decimal-greek \| armenian \| georgian \| hebrew \| hiragana \| katakana \| cjk-ideographic} | Paragraph, Submenu | Paragraph list style type. |
-| margin | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table/}{inside \| outside/}{margin \| marginLeft \| marginRight \| marginTop \| marginBottom \| marginLeftRight \| marginTopBottom}?value={ \| auto} | Document, Paragraph, Image, Textbox, Section, Header, Footer, Table, Submenu | Changes target margin (default target is paragraph). Ex: margin?value=4pt //sets all paragraph margins to 4pt. Ex: outside/margin?value=4pt //set exterior paragraph margins to 4pt. Ex: doc/marginLeft?value=1cm //sets left margin to 1cm for the document as used in embedded mode. Ex: section/marginLeft?value=1cm //sets left margin to 1cm for the pages of the first selected section |
-| merge | {paragraph/}merge
cell/merge | Paragraph, Cell | Used with paragraphs: merges paragraphs. Used with cells: merges the selected cells. |
-| minHeight | {paragraph \| image/}minHeight?value= | Paragraph, Image, Submenu | Target min height (default target is paragraph). Ex: paragraph/minHeight?value=50pt |
-| minWidth | {paragraph \| image/}minWidth?value= | Paragraph, Image, Submenu | Target min width (default target is paragraph). Ex: paragraph/minWidth?value=50pt |
-| moveToBack | moveToBack | Image | Moves image to the back. (not enabled for inline images) |
-| moveToFront | moveToFront | Image | Moves image to the front. (not enabled for inline images) |
-| newLineStyleSheet | newLineStyleSheet?index={1<=number<=number of paragraph stylesheets \| newLineStyleSheet}?value=auto | Paragraph, Submenu | Selected paragraph elements will use Nth stylesheet as stylesheet to use for new paragraphs created on Return or while splitting paragraphs; If value=auto, new paragraphs will use the same stylesheet (default). (menu item name is replaced at runtime with stylesheet name) |
-| padding | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| column \| row\| cell/}{inside \| outside/}{padding \| paddingLeft \| paddingRight \| paddingTop \| paddingBottom \| paddingLeftRight \| paddingTopBottom }?value= | Document, Paragraph, Image, TextBox, Section, Header, Footer, Row, Column, Cell, Submenu | Changes target padding. (default target is paragraph) |
-| pageMode | pageMode?value={embedded \| page \| draft} | Submenu | Changes view mode. Ex: pageMode?value=page |
-| pageOrientation | {section/}pageOrientation?value={landscape \| portrait} | Section, Submenu | Changes document or first selected section page orientation (if section is not specified, it will apply to all sections otherwise to the first selected section). Ex: pageOrientation?value=portrait //change orientation to portrait for the whole document. Ex: section/pageOrientation?value=landscape //change orientation to landscape for the first selected section |
-| pageSize | pageSize?index= | Submenu | Changes document page size: number is Nth page size in the list of available pages sizes. The list contains the current printer page sizes, ISO page sizes and the custom page sizes defined by the user. |
-| paragraph | paragraph | Paragraph, Submenu | Default submenu for paragraph layout. |
-| paragraph/avoidPageBreakInside | {paragraph/}avoidPageBreakInside | Paragraph | Allows/disallows page breaks inside paragraphs. |
-| print | print | Document | Prints document as rendered in page mode with view settings of the focused 4D Write Pro area. |
-| refreshImages | refreshImages | Image | Reloads images from the network for images with URLs. |
-| removeSoftHyphens | removeSoftHyphens | | Removes all soft hyphens in the current selection (if the selection is empty, removes soft hyphen before or after the caret if any) |
-| row/avoidPageBreakInside | row/avoidPageBreakInside | Table, Row | Allows/disallows page breaks inside table rows. This action is disabled if: the current selection does not contain a table the table does not allow page breaks the table is inside a header or footer Note: If several tables are selected and some of them don't allow page breaks, this option will be enabled but only applied to the tables that allow page breaks. |
-| section | section | Section, Submenu | Default submenu for page layout for the first selected section. |
-| section/differentFirstPage | section/differentFirstPage | Section | Section has different first page or not. |
-| section/differentLeftRightPages | section/differentLeftRightPages | Section | Section has different left and right pages or not. |
-| section/name/showDialog | section/name/showDialog | Section, showDialog | Displays a dialog allowing to enter the first selected section name. |
-| section/remove | section/remove | Section | Deletes the first section that intersects the user’s selection regardless if the user has selected one or multiple sections. Disabled when only one section remains in the document. |
-| section/reset | section/reset | Section | Resets all first selected section attributes to default attributes - which are inherited from doc attributes for background, border and padding (same as for embedded mode) and 2.5cm for page margins. First selected section column properties are also removed (so only default section properties will apply). |
-| split | {paragraph/}split
cell/split | Paragraph, Cell | Used with paragraph: splits paragraph. Used with cells: splits the selected cells (only cells that have been already merged may be split). |
-| styleSheet | {paragraph \| image/}styleSheet?value={1<=number<=number of target style sheets} | Paragraph, Image, Submenu, showDialog | Applies Nth stylesheet to the selected target elements. With dialog, new stylesheet will use current attributes from the first selected target. (default target is paragraph) Ex: styleSheet?value=1 //apply first paragraph style sheet to the selected paragraphs and set it as paragraph stylesheets. |
-| styleSheets | {paragraph \| image/}styleSheets | Paragraph, Image, Submenu | Default submenu for editing target stylesheets. |
-| tabDecimalSeparator | tabDecimalSeparator?value={point \| comma \| pointOrComma \| system} | Document, Submenu | Defines the character used as decimal separator by decimal tabulations. |
-| tableAlign | tableAlign?value={left \| center \| right}
or
table/tableAlign?value={left \| center \| right} | Table, Submenu | Specifies horizontal alignment for a table. |
-| table/avoidPageBreakInside | table/avoidPageBreakInside | Table | Allows/disallows page breaks inside tables. Disabled if: the current selection does not contain at least one table the table is in a header or a footer |
-| table/bottomCarryOverRow | table/bottomCarryOverRow | Table | Toggles between display/not display of carry-over rows (see Carry-over rows). |
-| textAlign | textAlign?value={left \| right \| center \| justify \| initial} | Paragraph | Paragraph text alignment (initial=use right for rtl or left for ltr direction). |
-| textBox | textBox | Submenu | Submenu with all actions available for the focused/selected text box |
-| textBox/remove | textBox/remove | TextBox | Removes the selected text box |
-| textIndent | textIndent?value= (may be negative) | Paragraph, Submenu | Paragraph text indentation (first line indentation). Ex: textIndent?value=2cm |
-| textLinethrough | textLinethrough | Submenu | For menu commands only. Linethrough submenu (with style and color). |
-| textLinethroughColor | textLinethroughColor?value={ \| currentColor} | Submenu, showDialog | Ex: textLinethroughColor?value=red |
-| textLinethroughStyle | textLinethroughStyle?value={none \| solid \| dotted \| dashed \| double \| semi-transparent \| word} | Submenu | Ex: textLinethroughStyle?value=dotted |
-| textShadow | textShadow | Submenu | For menu commands only. Default submenu for text shadow (with color and offset). |
-| textShadowColor | textShadowColor?value={ \| none} | Submenu, showDialog | Changes shadow status or color for characters. Ex: textShadowColor?value=green |
-| textShadowOffset | textShadowOffset?value= | Submenu | Only length in pt is supported. Ex: textShadowOffset?value=2pt |
-| textTransform | textTransform?value={none \| capitalize \| uppercase \| lowercase \| small-uppercase} | Submenu | Formats text. Ex: textTransform?value=capitalize |
-| textUnderline | textUnderline | Submenu | For menu commands only. Underline submenu (with style and color) |
-| textUnderlineColor | textUnderlineColor?value={ \| currentColor} | Submenu, showDialog | Ex: textUnderlineColor?value=red |
-| textUnderlineStyle | textUnderlineStyle?value={none \| solid \| dotted \| dashed \| double \| semi-transparent \| word} | Submenu | Ex: textUnderlineStyle?value=dotted |
-| updateStyleSheet | {paragraph \| image/}updateStyleSheet | Paragraph, Image, Submenu | Updates first selected target stylesheet with first selected target current attributes (default target is paragraph) |
-| userUnit | userUnit?value={cm \| mm \| in \| pt} | Submenu | Changes document layout unit (will be reflected on rulers). |
-| verticalAlign | {paragraph \| row \| column \| cell \| textBox/}verticalAlign?value={top \| middle \| bottom} | Paragraph, Row, Column, Cell, TextBox, Submenu | Paragraph vertical alignment. Ex: verticalAlign?value=top. The effect depends on the minHeight value of the paragraph. |
-| view | view | Submenu | For menu commands only. Default submenu for view settings. |
-| visibleBackground | visibleBackground | Document | Shows/hides background, anchored pictures and text boxes |
-| visibleEmptyImages | visibleEmptyImages | Document | Shows/hides a default black rectangle for images that cannot be loaded or computed (empty images or images in an unsupported format). |
-| visibleFooters | visibleFooters | Document | Shows/hides footers. |
-| visibleHeaders | visibleHeaders | Document | Shows/hides headers. |
-| visibleHiddenChars | visibleHiddenChars | Document | Shows/hides hidden characters |
-| visibleHorizontalRuler | visibleHorizontalRuler | Document | Shows/hides horizontal ruler. |
-| visiblePageFrames | visiblePageFrames | Document | Shows/hides page frames. |
-| visibleVerticalRuler | visibleVerticalRuler | Document | Shows/hides vertical ruler (Page mode only). |
-| visibleTableBorders | visibleTableBorders | Document | Shows/hides internal and external table borders as dashed lines where no borders are defined. |
-| widowAndOrphanControlEnabled | widowAndOrphanControlEnabled | Paragraph | Toggles between widow and orphan control mode. |
-| width | {paragraph \| image \| textBox \| column/}width?value= \| auto | Paragraph, Image, TextBox, Column, Submenu | Target width (default target is paragraph). Auto value not available for text boxes (converted to 8 cm) and columns. Ex: image/width?value=50pt |
-| zoom | zoom?value={25% <= percentage in Css <= 400%} | Document, Submenu | Changes document view zoom. Ex: zoom?value=120% |
-
-### その他のアクション
-
-4D フォームで使用可能な他の複数の標準アクションも、4D Write Proエリアで使用することができます:
-
-* *編集アクション*、例えばコピー/ペーストアクションなど
-* *フォント* アクション、例えばfontBold あるいは fontSize など
-* *動的な式* アクション。挿入された式などを管理することができます。
-* *スペルチェック* アクション。
\ No newline at end of file
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/WritePro/user-legacy/standard-actions.md b/i18n/ja/docusaurus-plugin-content-docs/current/WritePro/user-legacy/standard-actions.md
new file mode 100644
index 00000000000000..1d38388f241997
--- /dev/null
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/WritePro/user-legacy/standard-actions.md
@@ -0,0 +1,179 @@
+---
+id: standard-actions
+title: 標準アクション
+displayed_sidebar: docs
+slug: /WritePro/standard-actions
+---
+
+
+4D Write Proエリアのユーザーインターフェースは、多様な**標準アクション**を使用して管理することができます。標準アクションは次のようなものに割り当てることが可能です:
+
+* **メニューバー**あるいは[Dynamic pop up menu](../../commands/dynamic-pop-up-menu) コマンドを通して利用可能なメニューコマンド
+* ポップアップ・ドロップダウンリストや階層ポップアップメニューを通して利用可能なリスト項目
+* ボタン、チェックボックス
+* あるいは[INVOKE ACTION](../../commands/invoke-action) コマンドによって実行
+
+インターフェースオブジェクトに割り当てた場合、標準アクションはコンテキストに応じてオブジェクトの有効化/無効化を管理します。詳細な情報については*標準アクション* の章を参照してください。
+
+4D Write Proエリアでは二種類のアクションが利用可能です:
+
+* 4D Write Pro 特有の、4D Write Proエリアに対してのみ使用可能なアクション
+* フォント、式、スペルチェック、編集アクションを含む、4D Write Proエリアと他の4Dエリアで使用可能な*その他のアクション*(*標準アクション*参照)。
+
+### 4D Write Pro アクション
+
+4D Write Proエリアでは以下の標準アクションが利用可能です。
+
+**注:**
+
+* 自動メニュー/リストを表示するアクションは、メニューコマンド、ポップアップ/ドロップダウンリスト、あるいは階層ポップアップメニューオブジェクトにのみ割り当て可能です(*サブメニュー* 参照)。
+* チェックボックスと3Dチェックボックスはステータスアクション("section/differentFirstPage" あるいは "visibleHorizontalRuler"など)を割り当てて下さい。スリーステートオプションは標準のチェックボックスでのみサポートされます。
+* セクションのアクションステータスは、常にその選択されたセクションの実際のステータスと一致します(属性が親セクションあるいはデフォルト属性から継承される場合にはステータスが継承されます)。選択されたセクションのステータス(セクションに現在適用されているステータス)を反映する必要があるからです。しかしながら標準アクションを使用してセクション属性を変更した場合には、選択されたセクションの属性のみが上書きされます。
+* *サブメニュー*: 引数を渡さず、メニューコマンド、ポップアップ/ドロップダウンリスト、あるいは階層ポップアップメニューに割り当てて使用した場合、これらのアクションは自動サブメニュー/リストを表示します。例えば、"backgroundColor"アクションをメニューコマンドに割り当てた場合、このメニューコマンドをランタイムで選択するとBackground color サブメニュー項目が表示されます。"zoom"アクションを階層ポップアップメニューに割り当てた場合、このメニューには既定のズーム値の一覧が自動的に含まれます。これらのアクションはボタンに対しては割り当てられない点に注意してください。
+* *showDialog*: アクション名に"/showDialog " の文字列を追加することで、アクションに割り当てられた標準のダイアログボックスを表示します。例えば、"paragraph/styleSheet/showDialog"と入力することで新しいスタイルシート名を入力する入力ダイアログを開くことができます。
+
+| アクション名 | シンタックス | 割り当て可能オブジェクト | 詳細 |
+|---|---|---|---|
+| anchorHorizontalAlign | {image \| textBox}/anchorHorizontalAlign?value={left \| center \| right} | Image, Textbox, Submenu | Defines the horizontal alignment of the element, relative to the anchorOrigin for images/text boxes in page, or to the layout box for images/text box in embedded mode. This action will reset the horizontal offset to 0. (not enabled for inline images). |
+| anchoring | {image \| textBox}/anchoring | Submenu | Default submenu with anchor settings actions for images or text boxes |
+| anchorLayout | image/anchorLayout?value={front \| behind \| wrapTopBottom \| wrapSquareLeft \| wrapSquareRight \| wrapSquareLargest \| wrapSquare \| inline}
textBox/anchorLayout?value={front \| behind \| wrapTopBottom \| wrapSquareLeft \| wrapSquareRight \| wrapSquareLargest \| wrapSquare} | Image, Textbox, Submenu | Defines the anchor layout type for an image or a text box. Can be used to transform an inline image to an anchored image, or the reverse. Note: If an image is moved from an anchored mode to inline, the image is inserted at the beginning of the current selected text. "inline" value is not supported for text boxes |
+| anchorOrigin | {image \| textBox}/anchorOrigin?value={paper-box \| header-box \| footer-box} | Image, TextBox, Submenu | Defines the area relative to the absolute position of an anchored image or text box. If the element is relative to the header-box/footer-box which is not visible on a page, the element is not displayed. This action will reset horizontal and vertical offsets to 0. Page mode only, not enabled for inline images. |
+| anchorPage | {image \| textBox}/anchorPage?value={all \| current \| currentSubSection} | Image, TextBox, Submenu | Defines the page(s) where the selected image or text box is displayed (not enabled for inline images). Page mode only. |
+| anchorSection | {image \| textBox}/anchorSection?value={all \| current} | Image, TextBox, Submenu | Defines the section(s) where the selected image or text box is displayed. (not enabled for inline images). Page mode only. |
+| anchorVerticalAlign | {image \| textBox}/anchorVerticalAlign?value={top \| center \| bottom} | Image, TextBox Submenu | Defines the vertical alignment of the image or text box, relative to the anchorOrgin for an image or text box in page, or to the layout box for an image or text box in embedded mode. This action will reset the vertical offset to 0 (not enabled for inline images). Note: See "verticalAlign" action for the vertical alignment inside the text box |
+| avoidPageBreakInside | {paragraph/}avoidPageBreakInside | Paragraph | |
+| background | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}background | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu | For menu commands only. Default submenu for all background attributes. |
+| backgroundClip | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}backgroundClip?value={paper-box \| border-box \| padding-box \| content-box} | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu | Changes target background clipping box (default target is paragraph). Paper-box targets document and section only. |
+| backgroundColor | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}backgroundColor?value={ \| transparent} | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu, showDialog | Changes target background. |
+| backgroundDisplayMode | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}backgroundDisplayMode?value=scaledToFit \| truncated \| truncatedCentered \| proportional \| proportionalCentered \| replicated \| replicatedCentered | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu | Sets the display mode of images used as background. |
+| backgroundImage | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}backgroundImage?value=none | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu, showDialog | Clears target background image. (default target is paragraph) |
+| backgroundOrigin | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}backgroundOrigin?value={paper-box \| border-box \| padding-box \| content-box} | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu | Changes target background image origin box (default target is paragraph). Paper-box targets document and section only. |
+| backgroundPositionH | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}backgroundPositionH?value={left \| right \| center} | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu | Changes target background image horizontal alignment (default target is paragraph). Ex: paragraph/backgroundPositionH?value=left |
+| backgroundPositionV | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}backgroundPositionV?value={top \| bottom \| center} | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu | Changes target background image vertical alignment (default target is paragraph). Ex: paragraph/backgroundPositionV?value=top |
+| backgroundRepeat | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}backgroundRepeat?value={no-repeat \| repeat \| repeat-x \| repeat-y} | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu | Changes target background image repeat mode. (default target is paragraph) |
+| backgroundSizeH | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}backgroundSizeH?value={ \| \| auto \| cover \| contain} | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu | Changes target background image width (default target is paragraph). Ex: paragraph/backgroundSizeH?value=100%. section/backgroundSizeH?value=cover |
+| backgroundSizeV | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell}/backgroundSizeV?value={ \| \| auto} | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu | Changes target background image height (default target is paragraph). Ex: paragraph/backgroundSizeV?value=50%. Ex: section/backgroundSizeV?value=40pt |
+| bookmark | bookmark?index= | Submenu | Selects the Nth bookmark. Ex: bookmark?index=2 // selects the second bookmark |
+| borderCollapse | borderCollapse | Paragraph | Collapses selected paragraph borders and interior margins. |
+| borderColor | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}{inside \| outside/}{borderColor \| borderColorLeft \| borderColorRight \| borderColorTop \| borderColorBottom \| borderColorLeftRight \| borderColorTopBottom}?value= | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu, showDialog | Changes target border color (default target is paragraph). Ex: paragraph/borderColorLeft?value=green |
+| borderRadius | {doc \| paragraph \| image \| textBox \| section \| header \| footer/}borderRadius?value= | Document, Paragraph, Image, TextBox, Section, Header, Footer, Submenu | Changes target border radius (default target is paragraph). Ex: paragraph/borderRadius?value=4pt |
+| borders | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}{inside \| outside/}borders | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu | Default submenu for target borders. |
+| borderStyle | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}{inside \| outside/}{borderStyle \| borderStyleLeft \| borderStyleRight \| borderStyleTop \| borderStyleBottom \| borderStyleLeftRight \| borderStyleTopBottom}?value={none \| hidden \| dotted \| dashed \| solid \| double \| groove \| ridge \| inset \| outset} | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu | Changes target border style (default target is paragraph). Ex: paragraph/borderStyleLeft?value=double. Ex: outside/borderStyle?value=solid //set selected paragraphs exterior borders to style solid. Ex: inside/borderStyle?value=none //remove selected paragraphs interior borders |
+| borderWidth | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}{inside \| outside/}{borderWidth \| borderWidthLeft \| borderWidthRight \| borderWidthTop \| borderWidthBottom \| borderWidthLeftRight \| borderWidthTopBottom}?value= | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu | Changes target border width (default target is paragraph). Ex: paragraph/borderWidthLeft?value=4pt |
+| columnCount | {section/}columnCount?value={1<=number<=20} | Document, Section, Submenu | Number of columns in the current document and/or section. (default target is doc) Ex: section/columnCount?value=3 |
+| columnRuleColor | {section/}columnRuleColor?value={CSS color} | Document, Section, Submenu, showDialog | Color for the decorative line between document or section columns. Ex: columnRuleColor?value="#FFFFFF" |
+| columnRuleStyle | {section/}columnRuleStyle?value={none \| dotted \| dashed \| solid \| double \| groove \| ridge \| inset \| outset} | Document, Section, Submenu | Style for the decorative line between document or section columns. Ex: columnRuleStyle?value="solid" |
+| columnRuleWidth | {section/}columnRuleWidth?value={CSS length} | Document, Section, Submenu | Width of the decorative line between document or section columns. Ex: columnRuleWidth?value="2pt" |
+| columns | {section/}columns | Document, Section, Submenu | Only for a menu item: creates automatically a complete Columns sub-menu with all column actions sub-menus (except insertColumnBreak) |
+| columnSpacing | {section/}columnSpacing?value={CSS length} | Document, Section, Submenu | Space between two columns in the current document and/or section. Ex: columnSpacing?value="1cm" |
+| deleteColumns | deleteColumns | Table | Deletes all selected columns. |
+| deleteRows | deleteRows | Table | Deletes all selected rows. |
+| deleteStyleSheet | {paragraph \| image/}deleteStyleSheet?index={1<= number <= number of target style sheets} | Paragraph, Image, Submenu | Removes the Nth stylesheet from the stored stylesheets for the selected target (default target is paragraph). Menu item name is replaced at runtime with style sheet name. |
+| direction | direction?value={ltr \| rtl} | Paragraph, Submenu | Paragraph direction. |
+| displayFormulaAsSymbol | displayFormulaAsSymbol | Document | Displays formula references as a # symbol. Can only be used when formulas are displayed as references. |
+| doc | doc | Document, Submenu | Default submenu for document body layout (embedded mode attributes or default attributes for sections – but for margin which is reserved for embedded mode only). |
+| dpi | Modifies the dpi of the current view (independent of the document attribute wk dpi used internally for pixel conversion <-> points). | Submenu | Change view dpi. Ex: dpi?value=72 |
+| emptyDatasource | {table}/emptyDatasource?value={showDataRow \| hideDataRow \| showPlaceholderRow \| hideTable } | Table, Submenu | Defines how the table is displayed when its datasource is empty. |
+| fontStyleWrite | fontStyleWrite | Submenu | For menu commands only. Displays default font styles submenu for 4D Write Pro. |
+| fontSubscript | fontSubscript | | Toggles subscript font attribute. |
+| fontSuperscript | fontSuperscript | | Toggles superscript font attribute. |
+| footer | footer | Submenu | Displays the Footer submenu. |
+| footer/remove | footer/remove | Footer | Removes the selected footer. |
+| formulaHighlight | formulaHighlight?value={values \| references \| always \| never} | Document, Submenu | Formula highlight mode for the document. Can be used with a dropdown menu or a button |
+| formulaHighlightColor | formulaHighlightColor?value= | Document, Submenu,showDialog | Formula highlight color for the document |
+| formulaHighlightReferences | formulaHighlightReferences | Document | Toggles formula references highlighting. Can be used with a check box or a menu item |
+| formulaHighlightValues | formulaHighlightValues | Document | Toggles formula values highlighting. Can be used with a check box or a menu item |
+| header | header | Submenu | Displays the Header submenu. |
+| header/remove | header/remove | Header | Removes the selected header. |
+| height | {image \| textBox \| row}/height?value={ \| auto} | Image, TextBox Row, Submenu | Target height. Ex: image/height?value=50pt. For image/width, see width. Ex: row/height?value=12pt |
+| headerRowCount | {table/}headerRowCount | Table, Submenu | Sets the number of header rows in a table. Maximum is 5. |
+| htmlWYSIWIGEnabled | htmlWYSIWIGEnabled | Document | Toggles between html wysiwyg mode. |
+| image | image | Image, Submenu | Displays image layout submenu. |
+| image/displayMode | image/displayMode?value=scaledToFit \| truncated \| truncatedCentered \| proportional \| proportionalCentered \| replicated \| replicatedCentered | Image, Submenu | Sets the display mode of anchored and inline images. Ex: image/displayMode?value=scaledToFit |
+| image/verticalAlign | image/verticalAlign?value={top \| middle \| bottom \| baseline \| super \| sub} | Image, Submenu | Image vertical alignment. Ex: image/verticalAlign?value=super |
+| insertColumnBreak | insertColumnBreak | Paragraph | Inserts a column break at the selection. |
+| insertColumnToTheLeft | insertColumnToTheLeft | Table | Inserts a column to the left of the first selected column(s). |
+| insertColumnToTheRight | insertColumnToTheRight | Table | Inserts a column to the right of the last selected column(s). |
+| insertContinuousSectionBreak | insertContinuousSectionBreak | Paragraph | Inserts a continuous section break at the selection. |
+| insertImage | insertImage | | Opens a picture selection dialog box and inserts the selected picture (if any) as a character in the area. |
+| insertPageBreak | insertPageBreak | Paragraph | Inserts a page break at the selection. |
+| insertRowAbove | insertRowAbove | Table | Inserts a row above the selected row(s). |
+| insertRowBelow | insertRowBelow | Table | Inserts a row below the selected row(s). |
+| insertSectionBreak | insertSectionBreak | Paragraph | Inserts a section break at the selection. |
+| insertSoftHyphen | insertSoftHyphen | | Inserts a soft hyphen at the cursor position. |
+| insertTextBox | insertTextBox | Document | Inserts a text box near the current selection, anchored to the first selected page (page mode). |
+| keepWithNext | keepWithNext | Paragraph | Links a paragraph with the next so that they cannot be separated by automatic page or column breaks. If applied to the last paragraph of the last cell in a table, the last row of the table is linked to the following paragraph. |
+| lineHeight | lineHeight?value={ \| } | Paragraph, Submenu | Paragraph line height. Ex: lineHeight?value=120% |
+| layer | {image \| textBox}/layer | Submenu | Default submenu with layering actions for images or text boxes |
+| listStartNumber | listStartNumber?value={ (longint) \| auto} | Paragraph, Submenu | List start number. Ex: listStartNumber?value=10 |
+| listStyleImage | listStyleImage/showDialog | Paragraph, showDialog | Opens a file dialog to choose a image to display as list style bullet; it will set also list style type to disc – style to be used if image is not found. |
+| listStyleType | listStyleType?value={none \| disc \| circle \| square \| hollow-square \| diamond \| club \| decimal \| decimal-leading- zero \| lower-latin \| lower-roman \| upper-latin \| upper-roman \| lower-greek \| decimal-greek \| armenian \| georgian \| hebrew \| hiragana \| katakana \| cjk-ideographic} | Paragraph, Submenu | Paragraph list style type. |
+| margin | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table/}{inside \| outside/}{margin \| marginLeft \| marginRight \| marginTop \| marginBottom \| marginLeftRight \| marginTopBottom}?value={ \| auto} | Document, Paragraph, Image, Textbox, Section, Header, Footer, Table, Submenu | Changes target margin (default target is paragraph). Ex: margin?value=4pt //sets all paragraph margins to 4pt. Ex: outside/margin?value=4pt //set exterior paragraph margins to 4pt. Ex: doc/marginLeft?value=1cm //sets left margin to 1cm for the document as used in embedded mode. Ex: section/marginLeft?value=1cm //sets left margin to 1cm for the pages of the first selected section |
+| merge | {paragraph/}merge
cell/merge | Paragraph, Cell | Used with paragraphs: merges paragraphs. Used with cells: merges the selected cells. |
+| minHeight | {paragraph \| image/}minHeight?value= | Paragraph, Image, Submenu | Target min height (default target is paragraph). Ex: paragraph/minHeight?value=50pt |
+| minWidth | {paragraph \| image/}minWidth?value= | Paragraph, Image, Submenu | Target min width (default target is paragraph). Ex: paragraph/minWidth?value=50pt |
+| moveToBack | moveToBack | Image | Moves image to the back. (not enabled for inline images) |
+| moveToFront | moveToFront | Image | Moves image to the front. (not enabled for inline images) |
+| newLineStyleSheet | newLineStyleSheet?index={1<=number<=number of paragraph stylesheets \| newLineStyleSheet}?value=auto | Paragraph, Submenu | Selected paragraph elements will use Nth stylesheet as stylesheet to use for new paragraphs created on Return or while splitting paragraphs; If value=auto, new paragraphs will use the same stylesheet (default). (menu item name is replaced at runtime with stylesheet name) |
+| padding | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| column \| row\| cell/}{inside \| outside/}{padding \| paddingLeft \| paddingRight \| paddingTop \| paddingBottom \| paddingLeftRight \| paddingTopBottom }?value= | Document, Paragraph, Image, TextBox, Section, Header, Footer, Row, Column, Cell, Submenu | Changes target padding. (default target is paragraph) |
+| pageMode | pageMode?value={embedded \| page \| draft} | Submenu | Changes view mode. Ex: pageMode?value=page |
+| pageOrientation | {section/}pageOrientation?value={landscape \| portrait} | Section, Submenu | Changes document or first selected section page orientation (if section is not specified, it will apply to all sections otherwise to the first selected section). Ex: pageOrientation?value=portrait //change orientation to portrait for the whole document. Ex: section/pageOrientation?value=landscape //change orientation to landscape for the first selected section |
+| pageSize | pageSize?index= | Submenu | Changes document page size: number is Nth page size in the list of available pages sizes. The list contains the current printer page sizes, ISO page sizes and the custom page sizes defined by the user. |
+| paragraph | paragraph | Paragraph, Submenu | Default submenu for paragraph layout. |
+| paragraph/avoidPageBreakInside | {paragraph/}avoidPageBreakInside | Paragraph | Allows/disallows page breaks inside paragraphs. |
+| print | print | Document | Prints document as rendered in page mode with view settings of the focused 4D Write Pro area. |
+| refreshImages | refreshImages | Image | Reloads images from the network for images with URLs. |
+| removeSoftHyphens | removeSoftHyphens | | Removes all soft hyphens in the current selection (if the selection is empty, removes soft hyphen before or after the caret if any) |
+| row/avoidPageBreakInside | row/avoidPageBreakInside | Table, Row | Allows/disallows page breaks inside table rows. This action is disabled if: the current selection does not contain a table the table does not allow page breaks the table is inside a header or footer Note: If several tables are selected and some of them don't allow page breaks, this option will be enabled but only applied to the tables that allow page breaks. |
+| section | section | Section, Submenu | Default submenu for page layout for the first selected section. |
+| section/differentFirstPage | section/differentFirstPage | Section | Section has different first page or not. |
+| section/differentLeftRightPages | section/differentLeftRightPages | Section | Section has different left and right pages or not. |
+| section/name/showDialog | section/name/showDialog | Section, showDialog | Displays a dialog allowing to enter the first selected section name. |
+| section/remove | section/remove | Section | Deletes the first section that intersects the user’s selection regardless if the user has selected one or multiple sections. Disabled when only one section remains in the document. |
+| section/reset | section/reset | Section | Resets all first selected section attributes to default attributes - which are inherited from doc attributes for background, border and padding (same as for embedded mode) and 2.5cm for page margins. First selected section column properties are also removed (so only default section properties will apply). |
+| split | {paragraph/}split
cell/split | Paragraph, Cell | Used with paragraph: splits paragraph. Used with cells: splits the selected cells (only cells that have been already merged may be split). |
+| styleSheet | {paragraph \| image/}styleSheet?value={1<=number<=number of target style sheets} | Paragraph, Image, Submenu, showDialog | Applies Nth stylesheet to the selected target elements. With dialog, new stylesheet will use current attributes from the first selected target. (default target is paragraph) Ex: styleSheet?value=1 //apply first paragraph style sheet to the selected paragraphs and set it as paragraph stylesheets. |
+| styleSheets | {paragraph \| image/}styleSheets | Paragraph, Image, Submenu | Default submenu for editing target stylesheets. |
+| tabDecimalSeparator | tabDecimalSeparator?value={point \| comma \| pointOrComma \| system} | Document, Submenu | Defines the character used as decimal separator by decimal tabulations. |
+| tableAlign | tableAlign?value={left \| center \| right}
or
table/tableAlign?value={left \| center \| right} | Table, Submenu | Specifies horizontal alignment for a table. |
+| table/avoidPageBreakInside | table/avoidPageBreakInside | Table | Allows/disallows page breaks inside tables. Disabled if: the current selection does not contain at least one table the table is in a header or a footer |
+| table/bottomCarryOverRow | table/bottomCarryOverRow | Table | Toggles between display/not display of carry-over rows (see Carry-over rows). |
+| textAlign | textAlign?value={left \| right \| center \| justify \| initial} | Paragraph | Paragraph text alignment (initial=use right for rtl or left for ltr direction). |
+| textBox | textBox | Submenu | Submenu with all actions available for the focused/selected text box |
+| textBox/remove | textBox/remove | TextBox | Removes the selected text box |
+| textIndent | textIndent?value= (may be negative) | Paragraph, Submenu | Paragraph text indentation (first line indentation). Ex: textIndent?value=2cm |
+| textLinethrough | textLinethrough | Submenu | For menu commands only. Linethrough submenu (with style and color). |
+| textLinethroughColor | textLinethroughColor?value={ \| currentColor} | Submenu, showDialog | Ex: textLinethroughColor?value=red |
+| textLinethroughStyle | textLinethroughStyle?value={none \| solid \| dotted \| dashed \| double \| semi-transparent \| word} | Submenu | Ex: textLinethroughStyle?value=dotted |
+| textShadow | textShadow | Submenu | For menu commands only. Default submenu for text shadow (with color and offset). |
+| textShadowColor | textShadowColor?value={ \| none} | Submenu, showDialog | Changes shadow status or color for characters. Ex: textShadowColor?value=green |
+| textShadowOffset | textShadowOffset?value= | Submenu | Only length in pt is supported. Ex: textShadowOffset?value=2pt |
+| textTransform | textTransform?value={none \| capitalize \| uppercase \| lowercase \| small-uppercase} | Submenu | Formats text. Ex: textTransform?value=capitalize |
+| textUnderline | textUnderline | Submenu | For menu commands only. Underline submenu (with style and color) |
+| textUnderlineColor | textUnderlineColor?value={ \| currentColor} | Submenu, showDialog | Ex: textUnderlineColor?value=red |
+| textUnderlineStyle | textUnderlineStyle?value={none \| solid \| dotted \| dashed \| double \| semi-transparent \| word} | Submenu | Ex: textUnderlineStyle?value=dotted |
+| updateStyleSheet | {paragraph \| image/}updateStyleSheet | Paragraph, Image, Submenu | Updates first selected target stylesheet with first selected target current attributes (default target is paragraph) |
+| userUnit | userUnit?value={cm \| mm \| in \| pt} | Submenu | Changes document layout unit (will be reflected on rulers). |
+| verticalAlign | {paragraph \| row \| column \| cell \| textBox/}verticalAlign?value={top \| middle \| bottom} | Paragraph, Row, Column, Cell, TextBox, Submenu | Paragraph vertical alignment. Ex: verticalAlign?value=top. The effect depends on the minHeight value of the paragraph. |
+| view | view | Submenu | For menu commands only. Default submenu for view settings. |
+| visibleBackground | visibleBackground | Document | Shows/hides background, anchored pictures and text boxes |
+| visibleEmptyImages | visibleEmptyImages | Document | Shows/hides a default black rectangle for images that cannot be loaded or computed (empty images or images in an unsupported format). |
+| visibleFooters | visibleFooters | Document | Shows/hides footers. |
+| visibleHeaders | visibleHeaders | Document | Shows/hides headers. |
+| visibleHiddenChars | visibleHiddenChars | Document | Shows/hides hidden characters |
+| visibleHorizontalRuler | visibleHorizontalRuler | Document | Shows/hides horizontal ruler. |
+| visiblePageFrames | visiblePageFrames | Document | Shows/hides page frames. |
+| visibleVerticalRuler | visibleVerticalRuler | Document | Shows/hides vertical ruler (Page mode only). |
+| visibleTableBorders | visibleTableBorders | Document | Shows/hides internal and external table borders as dashed lines where no borders are defined. |
+| widowAndOrphanControlEnabled | widowAndOrphanControlEnabled | Paragraph | Toggles between widow and orphan control mode. |
+| width | {paragraph \| image \| textBox \| column/}width?value= \| auto | Paragraph, Image, TextBox, Column, Submenu | Target width (default target is paragraph). Auto value not available for text boxes (converted to 8 cm) and columns. Ex: image/width?value=50pt |
+| zoom | zoom?value={25% <= percentage in Css <= 400%} | Document, Submenu | Changes document view zoom. Ex: zoom?value=120% |
+
+### その他のアクション
+
+4D フォームで使用可能な他の複数の標準アクションも、4D Write Proエリアで使用することができます:
+
+* *編集アクション*、例えばコピー/ペーストアクションなど
+* *フォント* アクション、例えばfontBold あるいは fontSize など
+* *動的な式* アクション。挿入された式などを管理することができます。
+* *スペルチェック* アクション。
\ No newline at end of file
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/WritePro/user-legacy/using-a-4d-write-pro-area.md b/i18n/ja/docusaurus-plugin-content-docs/current/WritePro/user-legacy/using-a-4d-write-pro-area.md
index ce26fa6371dc91..e89d229add514a 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/WritePro/user-legacy/using-a-4d-write-pro-area.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/WritePro/user-legacy/using-a-4d-write-pro-area.md
@@ -50,6 +50,8 @@ slug: /WritePro/properties
これらのオプションはコンテキストメニューを使用するか、あるいは[属性](../commands-legacy/4d-write-pro-attributes.md)(`wk avoid widows and orphans`、`wk page break inside paragraph`、または[標準アクション](./defining-a-4d-write-pro-area.md#standard-actions)(*widowAndOrphanControlEnabled*、 *avoidPageBreakInside*。
+
+
## 背景
4D Write Pro ドキュメントの背景とドキュメント要素(表、段落、セクション、ヘッダー/フッター等)には、以下のエフェクトを設定することができます:
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/WritePro/user/user-new.md b/i18n/ja/docusaurus-plugin-content-docs/current/WritePro/user/user-new.md
new file mode 100644
index 00000000000000..09990ca4034c8f
--- /dev/null
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/WritePro/user/user-new.md
@@ -0,0 +1,34 @@
+---
+id: user-new
+title: user WP
+---
+
+to import
+
+
+
+## Lists
+
+4D Write Pro supports two main types of lists:
+
+* unordered lists: where list items are marked with bullets, custom bullets, or images used as markers.
+* ordered lists: where list items are marked with numbers or letters
+
+They can be created using:
+* the toolbar or sidebar of the [4D Write Pro interface](https://doc.4d.com/4Dv20/4D/20.2/Entry-areas.300-6750367.en.html#5865253)
+* the `listStyleType` or `listStyleImage` [standard actions](./standard-actions.md) ,
+* or [programmatically](../commands-legacy/4d-write-pro-attributes.md#lists) using [WP SET ATTRIBUTE](../commands/wp-set-attributes.md).
+
+When a list is created using a standard action (`listStyleType` or `listStyleImage`) or the toolbar/sidebar, 4D Write Pro automatically inserts a margin before the text so that the marker is positioned inside it. The value of the inserted margin corresponds to the offset of the default tab (`wk tab default`).
+
+
+
+When the list is created using [the WP SET ATTRIBUTE command](../commands-legacy/4d-write-pro-attributes.md#lists), no specific margin is managed, by default the marker is added at the left boundary of the paragraph. The developer can add a custom margin if necessary.
+
+:::info Related blog post
+
+[4D Write Pro – Adding a margin automatically when bullets are set using standard actions]()
+
+:::
+
+
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAI.md b/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAI.md
index 6c40ad19f207fd..e7600f787ec75f 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAI.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAI.md
@@ -67,11 +67,13 @@ API はOpenAI のサービスとシームレスにやりとりすることを可
| `images` | [OpenAIImagesAPI](OpenAIImagesAPI.md) | 画像 API へのアクセス。 |
| `moderations` | [OpenAIModerationsAPI](OpenAIModerationsAPI.md) | モデレーションAPI へのアクセス。 |
| `embeddings` | [OpenAIEmbeddingsAPI](OpenAIEmbeddingsAPI.md) | 埋め込みAPI へのアクセス。 |
+| `files` | [OpenAIFilesAPI](OpenAIFilesAPI.md) | Files API へのアクセス。 |
### 使用例
```4d
$client.chat.completions.create(...)
$client.images.generate(...)
+$client.files.create(...)
$client.model.lists(...)
```
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFile.md b/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFile.md
new file mode 100644
index 00000000000000..470beca026dfaa
--- /dev/null
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFile.md
@@ -0,0 +1,29 @@
+---
+id: openaifile
+title: OpenAIFile
+---
+
+# OpenAIFile
+
+`OpenAIFile` クラスはOpen AI API 内でのファイルオブジェクトを表します。 ファイルはアップロード可能で、Assistants、Fine-tuning、Batch、および Vision API を含めた様々なエンドポイントにおいて使用することができます。
+
+## プロパティ
+
+| プロパティ名 | 型 | 説明 |
+| ---------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `id` | Text | ファイルの識別子。API エンドポイント内で参照可能です。 |
+| `bytes` | Integer | ファイルのサイズ(バイト単位)。 |
+| `created_at` | Integer | ファイルが作成されたUnix タイムスタンプ(秒)。 |
+| `expires_at` | Integer | ファイルが失効するUnix タイムスタンプ(秒)。 |
+| `filename` | Text | ファイル名。 |
+| `object` | Text | オブジェクトタイプ。常に"file"。 |
+| `purpose` | Text | ファイルの目的。 サポートされる値: `assistants`、 `assistants_output`、 `batch`、 `batch_output`、 `fine-tune`、 `fine-tune-results`、 `vision`、および `user_data`。 |
+| `status` | Text | **廃止予定。** ファイルのカレントのステータス。`uploaded`、 `processed`、 あるいは `error` のいずれか。 |
+| `status_details` | Text | **廃止予定。** ファイルの微調整トレーニングファイルが検証になぜ失敗したかの詳細については、`fine_tuning.job` のerror フィールドを参照してください。 |
+
+## 参照
+
+- [OpenAIFileResult](OpenAIFileResult.md)
+- [OpenAIFileListResult](OpenAIFileListResult.md)
+- [OpenAIFilesAPI](OpenAIFilesAPI.md)
+- [OpenAIFileParameters](OpenAIFileParameters.md)
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileDeleted.md b/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileDeleted.md
new file mode 100644
index 00000000000000..3c24405e9ece42
--- /dev/null
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileDeleted.md
@@ -0,0 +1,34 @@
+---
+id: openaifiledeleted
+title: OpenAIFileDeleted
+---
+
+# OpenAIFileDeleted
+
+The `OpenAIFileDeleted` class represents the deletion status of a file in the OpenAI API.
+
+## プロパティ
+
+| プロパティ名 | 型 | 説明 |
+| --------- | ------- | -------------------------------------------------------------------------------------------------------------------- |
+| `id` | Text | The ID of the deleted file (e.g., "file-abc123"). |
+| `deleted` | Boolean | Whether the file was successfully deleted. `True` if deletion succeeded. |
+| `object` | Text | オブジェクトタイプ。常に"file"。 |
+
+## Example Response
+
+```json
+{
+ "id": "file-abc123",
+ "object": "file",
+ "deleted": true
+}
+```
+
+## Used by
+
+- [OpenAIFileDeletedResult](OpenAIFileDeletedResult.md)
+
+## 参照
+
+- [OpenAIFilesAPI](OpenAIFilesAPI.md)
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileDeletedResult.md b/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileDeletedResult.md
new file mode 100644
index 00000000000000..916370d87586df
--- /dev/null
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileDeletedResult.md
@@ -0,0 +1,38 @@
+---
+id: openaifiledeletedresult
+title: OpenAIFileDeletedResult
+---
+
+# OpenAIFileDeletedResult
+
+`OpenAIFileDeletedResult` クラスは、ファイル削除操作の結果を格納します。
+
+## 継承元
+
+[OpenAIResult](OpenAIResult.md)
+
+## 計算プロパティ
+
+| プロパティ | 型 | 説明 |
+| --------- | ----------------------------------------- | ------------------------------------------------------------------ |
+| `deleted` | [OpenAIFileDeleted](OpenAIFileDeleted.md) | API レスポンスからのファイル削除の結果を返します。 レスポンスに有効な結果が格納されていない場合には `Null` を返します。 |
+
+## 使用例
+
+```4d
+// ファイルを削除する
+var $fileId:="file-abc123"
+var $result:=$client.files.delete($fileId; Null)
+var $deletionStatus:=$result.deleted
+
+If ($deletionStatus.deleted)
+ ALERT("ファイルID "+$deletionStatus.id+" は正常に削除されました")
+Else
+ ALERT("ファイルの削除に失敗しました")
+End if
+```
+
+## 参照
+
+- [OpenAIFilesAPI](OpenAIFilesAPI.md)
+- [OpenAIFileDeleted](OpenAIFileDeleted.md)
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileListParameters.md b/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileListParameters.md
new file mode 100644
index 00000000000000..da01f8dc95912b
--- /dev/null
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileListParameters.md
@@ -0,0 +1,38 @@
+---
+id: openaifilelistparameters
+title: OpenAIFileListParameters
+---
+
+# OpenAIFileListParameters
+
+`OpenAIFileListParameters` クラスはOpenAI API 内でファイルをリストするための引数が格納されています。
+
+## 継承元
+
+[OpenAIParameters](OpenAIParameters.md)
+
+## プロパティ
+
+| プロパティ名 | 型 | 必須 | デフォルト | 説明 |
+| --------- | ------- | -- | ----- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `after` | Text | 任意 | - | ページネーションで使用するためのカーソル。 `after` はリスト内での位置を定義するためのオブジェクト ID です。 例えば、リストをリクエストして100個のオブジェクトを受信し、最後が `obj_foo` だった場合、その次の呼び出しに `after=obj_foo` を含めることでリストの次のページを取得することができます。 |
+| `limit` | Integer | 任意 | 10000 | 返されるオブジェクト数の上限。 上限値は1から10000 を選択でき、デフォルトの値は10000です。 |
+| `order` | Text | 任意 | desc | オブジェクトの `created_at` タイプスタンプ順で並び替えします。 昇順には `asc` を、降順には `desc` を使用します。 |
+| `purpose` | Text | 任意 | - | 特定の目的のファイルのみを返します。 |
+
+## 使用例
+
+```4d
+// purpose が "fine-tune" である最初の100個のファイルを取得
+var $params:=cs.AIKit.OpenAIFileListParameters.new()
+$params.limit:=100
+$params.purpose:="fine-tune"
+$params.order:="desc"
+
+var $result:=$client.files.list($params)
+```
+
+## 参照
+
+- [OpenAIFilesAPI](OpenAIFilesAPI.md)
+- [OpenAIFileListResult](OpenAIFileListResult.md)
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileListResult.md b/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileListResult.md
new file mode 100644
index 00000000000000..dc31bbfade2377
--- /dev/null
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileListResult.md
@@ -0,0 +1,66 @@
+---
+id: openaifilelistresult
+title: OpenAIFileListResult
+---
+
+# OpenAIFileListResult
+
+`OpenAIFileListResult` クラスには、OpenAI API からのファイルをリストアップした結果が格納されています。
+
+## 継承元
+
+[OpenAIResult](OpenAIResult.md)
+
+## 計算プロパティ
+
+| プロパティ | 型 | 説明 |
+| ---------- | ---------- | ------------------------------------------------------------------------------------------- |
+| `files` | Collection | API レスポンスからの[OpenAIFile](OpenAIFile.md) オブジェクトのコレクションを返します。ファイルが何も見つからない場合には空のコレクションが返されます。 |
+| `first_id` | Text | リストの最初のファイルのID を返します。利用できない場合は空の文字列を返します。 |
+| `last_id` | Text | リストの最後のファイルのID を返します。利用できない場合は空の文字列を返します。 |
+| `has_more` | Boolean | このページの後にまだファイルがあるかどうかを示します。 まだ取得するファイルがある場合には `True`、それ以外の場合には `False`。 |
+
+## 使用例
+
+### 基本的な使用法
+
+```4d
+var $params:=cs.AIKit.OpenAIFileListParameters.new()
+$params.purpose:="assistants"
+$params.limit:=50
+
+var $result:=$client.files.list($params)
+var $files:=$result.files
+
+For each ($file; $files)
+ // それぞれの OpenAIFile オブジェクトを処理
+ // $file.filename -> "salesOverview.pdf"
+ // $file.bytes -> 175
+ // $file.purpose -> "assistants"
+End for each
+```
+
+### ページ分けの例
+
+```4d
+var $params:=cs.AIKit.OpenAIFileListParameters.new()
+$params.limit:=100
+
+var $result:=$client.files.list($params)
+var $allFiles:=$allFiles.combine($result.files)
+
+// まだファイルがある場合には取得を継続
+While ($result.has_more)
+ $params.after:=$result.last_id
+ $result:=$client.files.list($params)
+ $allFiles:=$allFiles.combine($result.files)
+End while
+
+// $allFiles には組織からの全てのファイルが格納されています
+```
+
+## 参照
+
+- [OpenAIFilesAPI](OpenAIFilesAPI.md)
+- [OpenAIFile](OpenAIFile.md)
+- [OpenAIFileListParameters](OpenAIFileListParameters.md)
\ No newline at end of file
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileParameters.md b/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileParameters.md
new file mode 100644
index 00000000000000..028c39becaac1b
--- /dev/null
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileParameters.md
@@ -0,0 +1,43 @@
+---
+id: openaifileparameters
+title: OpenAIFileParameters
+---
+
+# OpenAIFileParameters
+
+`OpenAIFileParameters` クラスはファイルアップロード操作のための引数を管理します。
+
+## 継承元
+
+[OpenAIParameters](OpenAIParameters.md)
+
+## プロパティ
+
+| プロパティ名 | 型 | 必須 | 説明 |
+| --------------- | ------ | -- | ------------------------------------------------------------------------------------ |
+| `expires_after` | Object | 任意 | ファイルの失効ポリシー。 デフォルトでは、 `purpose=batch` のファイルは30 日で失効し、それ以外の全てのファイルは手動で削除されるまでは維持されます。 |
+
+### `expires_after` オブジェクト構造
+
+`expires_after` オブジェクトには以下のプロパティが格納されています:
+
+| プロパティ名 | 型 | 説明 |
+| --------- | ------- | ------------------------------------------------------------------------------------------------------------- |
+| `anchor` | Text | 失効ポリシーが適用されるアンカータイムスタンプ。 サポートされるアンカー: `created_at` 。 |
+| `seconds` | Integer | アンカー時間からファイルが有効期限が切れるまでの秒数。 3600 (1 時間) から 2592000 (30 日) の間でなければなりません。 |
+
+## 使用例
+
+```4d
+var $params:=cs.AIKit.OpenAIFileParameters.new()
+
+// 7 日後に執行するように設定する
+$params.expires_after:={}
+$params.expires_after.anchor:="created_at"
+$params.expires_after.seconds:=604800 // 7 日相当
+```
+
+## 参照
+
+- [OpenAIFilesAPI](OpenAIFilesAPI.md)
+- [OpenAIFileResult](OpenAIFileResult.md)
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileResult.md b/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileResult.md
new file mode 100644
index 00000000000000..71ee6187843e84
--- /dev/null
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileResult.md
@@ -0,0 +1,36 @@
+---
+id: openaifileresult
+title: OpenAIFileResult
+---
+
+# OpenAIFileResult
+
+`OpenAIFileResult` クラスには単一のファイル操作(アップロードあるいは取得)の結果が格納されます。
+
+## 継承元
+
+[OpenAIResult](OpenAIResult.md)
+
+## 計算プロパティ
+
+| プロパティ | 型 | 説明 |
+| ------ | --------------------------- | ---------------------------------------------------------------- |
+| `ファイル` | [OpenAIFile](OpenAIFile.md) | API レスポンスからのファイルオブジェクトを返します。 レスポンスに有効なファイルが格納されていない場合には `Null` 。 |
+
+## 使用例
+
+```4d
+// ファイルをアップロードする
+var $file:=File("/RESOURCES/training-data.jsonl")
+
+var $result:=$client.files.create($file; "user_data")
+var $uploadedFile:=$result.file
+
+// ファイル情報を取得
+var $retrieveResult:=$client.files.retrieve($uploadedFile.id)
+```
+
+## 参照
+
+- [OpenAIFilesAPI](OpenAIFilesAPI.md)
+- [OpenAIFile](OpenAIFile.md)
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFilesAPI.md b/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFilesAPI.md
new file mode 100644
index 00000000000000..8984a526a27941
--- /dev/null
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFilesAPI.md
@@ -0,0 +1,204 @@
+---
+id: openaifilesapi
+title: OpenAIFilesAPI
+---
+
+# OpenAIFilesAPI
+
+`OpenAIFilesAPI` クラスはOpenAI のAPI を使用してファイルを管理する機能を提供します。 ファイルをアップロードして、 [Fine-tuning](https://platform.openai.com/docs/api-reference/fine-tuning)、 [Batch](https://platform.openai.com/docs/api-reference/batch) 処理、そしてVision を含む様々なエンドポイントで使用することができます。
+
+> **注意:** この API はOpenAI としか互換性がありません。 [互換性のあるプロバイダー](../compatible-openai.md) ドキュメンテーションに記載されている他のプロバイダーでは、ファイル管理操作をサポートしていません。
+
+API 参照:
+
+## ファイルサイズ上限
+
+- **個別のファイル:** 1ファイルあたり 512 MB まで
+- **組織全体:** 1 TB まで([組織](https://platform.openai.com/docs/guides/production-best-practices/setting-up-your-organization) によってアップロードされたすべてのファイルの累計サイズ)
+
+## 関数
+
+### create()
+
+**create**(*file* : 4D.File | 4D.Blob; *purpose* : Text; *parameters* : cs.OpenAIFileParameters) : cs.OpenAIFileResult
+
+様々なエンドポイントで使用できるファイルをアップロードします。
+
+**エンドポイント:** `POST https://api.openai.com/v1/files`
+
+| 引数 | 型 | 説明 |
+| ------------ | -------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------- |
+| `ファイル` | [4D.File](https://developer.4d.com/docs/API/FileClass) あるいは [4D.Blob](https://developer.4d.com/docs/API/BlobClass) | アップロードするファイルあるいはBlob オブジェクト(ファイル名ではない)。 |
+| `purpose` | Text | **必須。** アップロードされたファイルの目的。 |
+| `parameters` | [OpenAIFileParameters](OpenAIFileParameters.md) | 失効期限のポリシーを含めた、オブションの引数。 |
+| 戻り値 | [OpenAIFileResult](OpenAIFileResult.md) | ファイルの結果 |
+
+**エラーのスロー:** `file` が4D.File あるいは 4D.Blob ではない場合、あるいは`purpose` がからの場合にはエラーがスローされます。
+
+#### サポートされている目的
+
+- `assistants`: Assistants API で使用されます (⚠️ [OpenAI では非推奨](https://platform.openai.com/docs/assistants/whats-new))
+- `batch`: [Batch API](https://platform.openai.com/docs/api-reference/batch) で使用されます (デフォルトでは 30 日後に失効します)
+- `fine-tune`: [微調整](https://platform.openai.com/docs/api-reference/fine-tuning) で使用されます
+- `vision`: ビジョンの微調整に使用される画像
+- `user_data`: 任意の目的のための柔軟なファイルタイプ
+- `evals`: eval データセットに使用する
+
+#### ファイルフォーマットの要件
+
+- **微調整API:** 特定のフォーマットを持つ `.jsonl` ファイルのみがサポートされます
+- **Batch API:** 特定のフォーマットを持つ `.jsonl` ファイルで 200 MB までのものがサポートされます
+- **Assistants API:** 特定のファイルタイプをサポートします(Assistants ツールガイドを参照してください)
+- **チャット補完 API:** PDF のみがサポートされます
+
+#### 同期の例
+
+```4d
+var $file:=File("/RESOURCES/training-data.jsonl")
+
+var $params:=cs.AIKit.OpenAIFileParameters.new()
+$params.expires_after:={}
+$params.expires_after.anchor:="created_at"
+$params.expires_after.seconds:=2592000 // 30 日
+
+var $result:=$client.files.create($file; "fine-tune"; $params)
+
+If ($result.success)
+ var $uploadedFile:=$result.file
+ // $uploadedFile.id -> "file-abc123"
+ // $uploadedFile.filename -> "training-data.jsonl"
+ // $uploadedFile.bytes -> 120000
+End if
+```
+
+#### 非同期の例
+
+ファイルアップロードは(特に512 MBまでの大きなファイルの場合)長時間のオペレーションとなり得るため、アプリケーションをブロックするのを避けるために非同期の呼び出しを使用することが推奨されます。 詳細については[非同期呼び出し](../非同期呼び出し.md) を参照してください。
+
+```4d
+var $file:=File("/RESOURCES/large-training-data.jsonl")
+
+var $params:=cs.AIKit.OpenAIFileParameters.new()
+$params.onTerminate:=Formula(MyFileUploadCallback($1))
+
+// このコードであればブロックすることなく即座に結果を返す
+$client.files.create($file; "fine-tune"; $params)
+```
+
+コールバック関数は[OpenAIFileResult](OpenAIFileResult.md) を受け取ります:
+
+```4d
+// MyFileUploadCallback
+#DECLARE($result: cs.AIKit.OpenAIFileResult)
+
+If ($result.success)
+ var $uploadedFile:=$result.file
+
+ ALERT("File uploaded successfully: "+$uploadedFile.filename)
+ // ファイル ID を後で使うために保存しておく
+ Form.uploadedFileId:=$uploadedFile.id
+Else
+ ALERT("Upload failed: "+Formula(JSON Stringify($result.errors)))
+End if
+```
+
+### retrieve()
+
+**retrieve**(*fileId* : Text; *parameters* : cs.OpenAIParameters) : cs.OpenAIFileResult
+
+特定のファイルに関する情報を返します。
+
+**エンドポイント:** `GET https://api.openai.com/v1/files/{file_id}`
+
+| 引数 | 型 | 説明 |
+| ------------ | --------------------------------------- | ---------------------- |
+| `fileId` | Text | **必須。** 取得するファイルの ID 。 |
+| `parameters` | [OpenAIParameters](OpenAIParameters.md) | リクエスト用のオプションの引数。 |
+| 戻り値 | [OpenAIFileResult](OpenAIFileResult.md) | ファイルの結果 |
+
+**スロー:** `fileId` が空の場合にはエラーをスローします。
+
+#### 例題
+
+```4d
+var $result:=$client.files.retrieve("file-abc123")
+
+If ($result.success)
+ var $file:=$result.file
+ // $file.filename -> "mydata.jsonl"
+ // $file.bytes -> 120000
+ // $file.purpose -> "fine-tune"
+End if
+```
+
+### list()
+
+**list**(*parameters* : cs.OpenAIFileListParameters) : cs.OpenAIFileListResult
+
+ユーザーの組織に属するファイルの一覧を返します。
+
+**エンドポイント:** `GET https://api.openai.com/v1/files`
+
+| 引数 | 型 | 説明 |
+| ------------ | ------------------------------------------------------- | ----------------------------- |
+| `parameters` | [OpenAIFileListParameters](OpenAIFileListParameters.md) | フィルタリングとページネーションに関するオプションの引数。 |
+| 戻り値 | [OpenAIFileListResult](OpenAIFileListResult.md) | ファイルリストの結果 |
+
+#### 例題
+
+```4d
+var $params:=cs.AIKit.OpenAIFileListParameters.new()
+$params.purpose:="assistants"
+$params.limit:=50
+$params.order:="desc"
+
+var $result:=$client.files.list($params)
+
+If ($result.success)
+ var $files:=$result.files
+ // $files.length -> 2
+
+ For each ($file; $files)
+ // $file.filename -> "salesOverview.pdf", "puppy.jsonl", etc.
+ End for each
+End if
+```
+
+### delete()
+
+**delete**(*fileId* : Text; *parameters* : cs.OpenAIParameters) : cs.OpenAIFileDeletedResult
+
+ファイルを削除します。
+
+**エンドポイント:** `DELETE https://api.openai.com/v1/files/{file_id}`
+
+| 引数 | 型 | 説明 |
+| ------------ | ----------------------------------------------------- | ---------------------- |
+| `fileId` | Text | **必須。** 削除するファイルの ID 。 |
+| `parameters` | [OpenAIParameters](OpenAIParameters.md) | リクエスト用のオプションの引数。 |
+| 戻り値 | [OpenAIFileDeletedResult](OpenAIFileDeletedResult.md) | ファイル削除の結果 |
+
+**スロー:** `fileId` が空の場合にはエラーをスローします。
+
+#### 例題
+
+```4d
+var $result:=$client.files.delete("file-abc123")
+
+If ($result.success)
+ var $status:=$result.deleted
+
+ If ($status.deleted)
+ ALERT("File deleted successfully")
+ End if
+End if
+```
+
+## 参照
+
+- [OpenAIFile](OpenAIFile.md)
+- [OpenAIFileParameters](OpenAIFileParameters.md)
+- [OpenAIFileListParameters](OpenAIFileListParameters.md)
+- [OpenAIFileResult](OpenAIFileResult.md)
+- [OpenAIFileListResult](OpenAIFileListResult.md)
+- [OpenAIFileDeletedResult](OpenAIFileDeletedResult.md)
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIMessage.md b/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIMessage.md
index 71ac6fa0763f7e..77358e3f4ca42f 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIMessage.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIMessage.md
@@ -36,18 +36,52 @@ title: OpenAIMessage
メッセージのコンテンツに画像URL を追加します。
+### addFileId()
+
+**addFileId**(*fileId* : Text)
+
+| 引数 | 型 | 説明 |
+| -------- | ---- | -------------------- |
+| *fileId* | Text | メッセージに追加するファイルの ID 。 |
+
+メッセージのコンテンツにファイル参照を追加します。 コンテンツが現在テキストの場合、コレクション形式に変換されます。
+
## 使用例
-### シンプルなメッセージを作成し画像を添付する
+### 基本的なテキストメッセージ
```4d
// OpenAIMessage のインスタンスを作成
-var $message:=cs.AIKit.OpenAIMessage({role: "user"; content: "Hello!"})
+var $message:=cs.AIKit.OpenAIMessage.new({role: "user"; content: "Hello!"})
+```
+
+### 画像の追加
-// 画像 URL と詳細を追加
+```4d
+var $message:=cs.AIKit.OpenAIMessage.new({role: "user"; content: "Please analyze this image:"})
+
+// 詳細とともに画像 URL を追加
$message.addImageURL("http://example.com/image.jpg"; "high")
```
+### ファイルの追加
+
+```4d
+// user_data 目的でファイルをアップロードします
+var $file:=File("/RESOURCES/document.pdf")
+var $uploadResult:=$client.files.create($file; "user_data")
+
+If ($uploadResult.success)
+ var $uploadedFile:=$uploadResult.file
+
+ // メッセージを作成し、ファイルをIDを使用して添付する
+ var $message:=cs.AIKit.OpenAIMessage.new({role: "user"; content: "Please analyze this document:"})
+ $message.addFileId($uploadedFile.id)
+
+ // $message.content -> [{type: "text"; text: "Please analyze this document:"}; {type: "file"; file_id: "file-abc123"}]
+End if
+```
+
### ツール呼び出しメッセージに応答する
アシスタントが外部関数を使用する必要がある場合、関数の実行をリクエストするための、`tool_calls` を持ったメッセージを生成します。
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/aikit/overview.md b/i18n/ja/docusaurus-plugin-content-docs/current/aikit/overview.md
index 06c467d9cc2b7b..b8656789a4680d 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/aikit/overview.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/aikit/overview.md
@@ -103,6 +103,42 @@ IDを使用して一つのモデルの情報を取得する例
var $model:=$client.models.retrieve("a model id").model
```
+#### Files
+
+https://platform.openai.com/docs/api-reference/files
+
+他のエンドポイントで使用するファイルのアップロード
+
+```4d
+var $file:=File("/path/to/your/file.jsonl")
+var $result:=$client.files.create($file; "fine-tune")
+var $fileId:=$result.file.id
+```
+
+全てのファイルをリストする
+
+```4d
+var $files:=$client.files.list().files
+```
+
+ファイル情報を取得する
+
+```4d
+var $fileInfo:=$client.files.retrieve($fileId).file
+```
+
+ファイルを削除する
+
+```4d
+var $deleteResult:=$client.files.delete($fileId)
+```
+
+:::tip 関連したblog 記事
+
+[Transform Static Documents into Actionable Knowledge with 4D AIKit](https://blog.4d.com/transform-static-documents-into-actionable-knowledge-with-4d-aikit)
+
+:::
+
#### モデレーション
https://platform.openai.com/docs/api-reference/moderations
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/assets/en/API/webformClass-pic1.png b/i18n/ja/docusaurus-plugin-content-docs/current/assets/en/API/webformClass-pic1.png
new file mode 100644
index 00000000000000..5c3de142c5af11
Binary files /dev/null and b/i18n/ja/docusaurus-plugin-content-docs/current/assets/en/API/webformClass-pic1.png differ
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/assets/en/API/webformClass-pic2.png b/i18n/ja/docusaurus-plugin-content-docs/current/assets/en/API/webformClass-pic2.png
new file mode 100644
index 00000000000000..7f1ec3a19a8764
Binary files /dev/null and b/i18n/ja/docusaurus-plugin-content-docs/current/assets/en/API/webformClass-pic2.png differ
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/assets/en/API/webformClass-pic3.png b/i18n/ja/docusaurus-plugin-content-docs/current/assets/en/API/webformClass-pic3.png
new file mode 100644
index 00000000000000..9c128642916f95
Binary files /dev/null and b/i18n/ja/docusaurus-plugin-content-docs/current/assets/en/API/webformClass-pic3.png differ
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/assets/en/Project/find-components-results.png b/i18n/ja/docusaurus-plugin-content-docs/current/assets/en/Project/find-components-results.png
new file mode 100644
index 00000000000000..96a5080c02477c
Binary files /dev/null and b/i18n/ja/docusaurus-plugin-content-docs/current/assets/en/Project/find-components-results.png differ
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/assets/en/Project/find-components.png b/i18n/ja/docusaurus-plugin-content-docs/current/assets/en/Project/find-components.png
new file mode 100644
index 00000000000000..0b42697051581c
Binary files /dev/null and b/i18n/ja/docusaurus-plugin-content-docs/current/assets/en/Project/find-components.png differ
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/assets/en/Project/find-in-design-expanded.png b/i18n/ja/docusaurus-plugin-content-docs/current/assets/en/Project/find-in-design-expanded.png
new file mode 100644
index 00000000000000..9cc45790ffc92d
Binary files /dev/null and b/i18n/ja/docusaurus-plugin-content-docs/current/assets/en/Project/find-in-design-expanded.png differ
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/assets/en/Project/find-in-design.png b/i18n/ja/docusaurus-plugin-content-docs/current/assets/en/Project/find-in-design.png
new file mode 100644
index 00000000000000..daf7ed8279c6d7
Binary files /dev/null and b/i18n/ja/docusaurus-plugin-content-docs/current/assets/en/Project/find-in-design.png differ
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/assets/en/Project/rename-dial.png b/i18n/ja/docusaurus-plugin-content-docs/current/assets/en/Project/rename-dial.png
new file mode 100644
index 00000000000000..441f7c8c38a0b1
Binary files /dev/null and b/i18n/ja/docusaurus-plugin-content-docs/current/assets/en/Project/rename-dial.png differ
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/assets/en/Project/rename.png b/i18n/ja/docusaurus-plugin-content-docs/current/assets/en/Project/rename.png
new file mode 100644
index 00000000000000..7c62a165255313
Binary files /dev/null and b/i18n/ja/docusaurus-plugin-content-docs/current/assets/en/Project/rename.png differ
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/assets/en/Project/replace-content.png b/i18n/ja/docusaurus-plugin-content-docs/current/assets/en/Project/replace-content.png
new file mode 100644
index 00000000000000..cf973c42e8bce2
Binary files /dev/null and b/i18n/ja/docusaurus-plugin-content-docs/current/assets/en/Project/replace-content.png differ
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/assets/en/Project/result-window-menu.png b/i18n/ja/docusaurus-plugin-content-docs/current/assets/en/Project/result-window-menu.png
new file mode 100644
index 00000000000000..efc22783c719a5
Binary files /dev/null and b/i18n/ja/docusaurus-plugin-content-docs/current/assets/en/Project/result-window-menu.png differ
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/assets/en/Project/result-window-re.png b/i18n/ja/docusaurus-plugin-content-docs/current/assets/en/Project/result-window-re.png
new file mode 100644
index 00000000000000..e2754097d149a7
Binary files /dev/null and b/i18n/ja/docusaurus-plugin-content-docs/current/assets/en/Project/result-window-re.png differ
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/assets/en/Project/result-window.png b/i18n/ja/docusaurus-plugin-content-docs/current/assets/en/Project/result-window.png
new file mode 100644
index 00000000000000..4c6aab5bbe6c63
Binary files /dev/null and b/i18n/ja/docusaurus-plugin-content-docs/current/assets/en/Project/result-window.png differ
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/assets/en/Project/search-icon.png b/i18n/ja/docusaurus-plugin-content-docs/current/assets/en/Project/search-icon.png
new file mode 100644
index 00000000000000..900fefa1a484d2
Binary files /dev/null and b/i18n/ja/docusaurus-plugin-content-docs/current/assets/en/Project/search-icon.png differ
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/assets/en/WritePro/margin-bullets.png b/i18n/ja/docusaurus-plugin-content-docs/current/assets/en/WritePro/margin-bullets.png
new file mode 100644
index 00000000000000..de7143eb050741
Binary files /dev/null and b/i18n/ja/docusaurus-plugin-content-docs/current/assets/en/WritePro/margin-bullets.png differ
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/assets/en/commands/web-event1.png b/i18n/ja/docusaurus-plugin-content-docs/current/assets/en/commands/web-event1.png
new file mode 100644
index 00000000000000..f31f769f39a37d
Binary files /dev/null and b/i18n/ja/docusaurus-plugin-content-docs/current/assets/en/commands/web-event1.png differ
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/assets/en/commands/web-event2.png b/i18n/ja/docusaurus-plugin-content-docs/current/assets/en/commands/web-event2.png
new file mode 100644
index 00000000000000..8e3e2e7c50ca69
Binary files /dev/null and b/i18n/ja/docusaurus-plugin-content-docs/current/assets/en/commands/web-event2.png differ
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/assets/en/commands/web-event3.png b/i18n/ja/docusaurus-plugin-content-docs/current/assets/en/commands/web-event3.png
new file mode 100644
index 00000000000000..d7182a677d75a3
Binary files /dev/null and b/i18n/ja/docusaurus-plugin-content-docs/current/assets/en/commands/web-event3.png differ
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/assets/en/commands/web-event4.png b/i18n/ja/docusaurus-plugin-content-docs/current/assets/en/commands/web-event4.png
new file mode 100644
index 00000000000000..3dee994804d176
Binary files /dev/null and b/i18n/ja/docusaurus-plugin-content-docs/current/assets/en/commands/web-event4.png differ
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/code-editor/write-class-method.md b/i18n/ja/docusaurus-plugin-content-docs/current/code-editor/write-class-method.md
index 4f13146050034a..e716fbab6260a7 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/code-editor/write-class-method.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/code-editor/write-class-method.md
@@ -681,6 +681,10 @@ Windows では、日本語や中国語を入力するために IME (Input Method
このコマンドの結果は新規ウィンドウに表示されます。
+## Rename
+
+A global renaming feature can be used with **variables** and **project methods**, allowing you to rename them safely throughout the whole project. To do this, highlight the variable or project method name in the editor and select **Rename...** from the **Method** menu or the context menu. A dialog box is then displayed, allowing you to write the new name. For more information, refer to [Renaming project methods and variables](../Project/search-replace.md#renaming-project-methods-and-variables) section.
+
## マクロ
メソッド内でマクロコマンドを利用することができます。 マクロを利用すれば、コードの入力にかかる時間を大幅に短縮することができます。
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/commands-legacy/get-database-parameter.md b/i18n/ja/docusaurus-plugin-content-docs/current/commands-legacy/get-database-parameter.md
index 560a5127fd9c6c..72a44938ecd316 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/commands-legacy/get-database-parameter.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/commands-legacy/get-database-parameter.md
@@ -22,6 +22,36 @@ displayed_sidebar: docs
*selector* 引数には、知りたいパラメーターを指定します。4Dは*Database Parameters* テーマで、定義済み定数を提供しています:
+### 4D Remote mode timeout (14)
+
+**スコープ**(旧式ネットワークレイヤーのみ): *value* が正数の場合4D アプリケーション
+
+**2セッション間で設定を保持**: *value* が正数の場合Yes
+
+**説明**: 非常に特殊な場合においてのみ使用されるべき定数です。この引数を使用して、4D Serverに接続したリモートの4Dマシンが参照するタイムアウト値を設定できます。リモートモードの4Dが使用するデフォルトのタイムアウト値は、リモートマシン上の環境設定の“クライアント-サーバ/設定”ページで設定されます。
+
+4D Remote Mode Timeout セレクターは旧式ネットワークレイヤーを使用している場合のみ考慮されます。*ServerNet* レイヤーが有効化されている場合には無視されます。この設定は4D Server Timeout (13) によって完全に管理されています。
+
+
+
+
+### 4D Server log recording (28)
+
+**Thread-safe** : Yes
+
+**Scope**: 4D Server, 4D リモート
+
+**2セッション間で設定を保持**: No**
+
+とりうる値**: 0 または 1 から X (0 = 記録しない, 1 から X = ファイル名に付加するシーケンス値)。
+
+: 4D Serverが受け取る標準的なリクエスト(Webリクエストを除く)の記録を開始または停止します。デフォルト値は0(リクエストを記録しない)です。
+
+サーバマシンが受信した各リクエストをログファイルに記録するよう、4D Serverに指示することができます。このメカニズムが有効になると、データベースストラクチャと同じ階層に2つのログファイルが作成されます。サーバー側では*4DRequestsLogServer\_X*.txt および *4DRequestsLog\_ProcessInfoServer\_X*.txt 、リモート側では*4DRequestsLog\_X*.txt および *4DRequestsLog\_ProcessInfo\_X*.txt on the と名付けられたファイルが作成されます(Xはログのシーケンシャル番号)。ファイルサイズが10MBに達するとそのファイルは閉じられ、インクリメントしたシーケンス番号を使用して新しいファイルが作成されます。もし同じ名前のファイルが存在する場合は置き換えられます。シーケンシャル番号の開始番号を、*value*引数を使用して指定できます。このテキストファイルにはそれぞれのリクエストに関する様々な情報(時間、プロセス番号、ユーザ、リクエストサイズ、処理時間など)がシンプルな表形式のフォーマットで保存されます。4DRequestLog ファイルのより詳細な情報については、*ログファイルの詳細* の章を参照してください。
+
+
+
+
### 4D Server timeout (13)
**スコープ**: *value* が正数なら4Dアプリケーション
@@ -42,53 +72,76 @@ displayed_sidebar: docs
-### 4D Remote mode timeout (14)
-**スコープ**(旧式ネットワークレイヤーのみ): *value* が正数の場合4D アプリケーション
+### Auto synchro resources folder (48)
-**2セッション間で設定を保持**: *value* が正数の場合Yes
+**スコープ**:4D リモートマシン
-**説明**: 非常に特殊な場合においてのみ使用されるべき定数です。この引数を使用して、4D Serverに接続したリモートの4Dマシンが参照するタイムアウト値を設定できます。リモートモードの4Dが使用するデフォルトのタイムアウト値は、リモートマシン上の環境設定の“クライアント-サーバ/設定”ページで設定されます。
+ **2セッション間で設定を保持**: No
-4D Remote Mode Timeout セレクターは旧式ネットワークレイヤーを使用している場合のみ考慮されます。*ServerNet* レイヤーが有効化されている場合には無視されます。この設定は4D Server Timeout (13) によって完全に管理されています。
+ **とりうる値**: 0 (同期しない), 1 (自動同期) または2 (確認する).
+
+**説明**: このコマンドを実行する4DクライアントマシンのResourcesフォルダの動的な同期モード。
+サーバ上のResourcesフォルダの内容が更新されたり、(リソースエクスプローラや SET DATABASE LOCALIZATION コマンドで) ユーザが同期をリクエストすると、サーバは接続されたユーザに通知を行います。
+クライアント側では3つの同期モードを選択できます。Auto Synchro Resources Folderセレクタはカレントセッションでクライアントマシンが使用するモードを指定できます:
-### Port ID (15)
+0 (デフォルト値): 動的な同期を行わない (同期リクエストは無視される)1: 自動の動的同期2: クライアントマシンにダイアログを表示し、同期の受け入れ回避を確認するアプリケーションの環境設定で、同期モードをグローバルに設定できます。
-**スコープ**: 4D ローカル, 4D Server
-**2セッション間で設定を保持**: No
-**説明**: Command SET DATABASE この引数を使用して、ローカルモードの4Dおよび4D Serverによる4D Webサーバが使用するTCPポートをオンザフライで変更することができます。デフォルト値は80で、この値は環境設定ダイアログボックスの“Web/設定”ページで設定できます。*TCP Port Numbers*テーマの定数を*value*引数に使用できます。
+### Cache flush periodicity (95)
+**Thread-safe** : Yes
-Port IDセレクタは、コンパイルして4D Desktopを組み込んだ4D Webサーバで役立ちます(この場合、デザインモードへのアクセス手段がありません)。TCPポートIDに関する詳細は*Webサーバー設定*を参照してください。
+**スコープ**: 4Dローカル、4D Server
+**異なるセッション間で値を保持**: No
-### Character set (17)
+**取りうる値**: 倍長整数 > 1 (秒)
-**説明**: 廃止 (互換性のために保持)。HTTPサーバー設定を変更するためには[WEB SET OPTION](web-set-option.md)と[WEB GET OPTION](web-get-option.md)コマンドを使用してください。
+**詳細**: 秒単位で指定された、キャッシュ保存頻度を取得あるいは設定します。この値を変更すると、データベース設定の[XML DECODE](xml-decode.md)内の**キャッシュを保存: X秒毎**オプションをセッション中の間上書きします(これはデータベース設定には保存されません)。
-### Max concurrent Web processes (18)
+
+### Cache unload minimum size (66)
+
+**スコープ**:4Dアプリケーション
+
+ **2セッション間で設定を保持**: No
+
+ **とりうる値**: 1より大きい正の倍長整数
+
+**説明**: エンジンがオブジェクトをデータベースキャッシュに配置する際に空き空間を作成する必要が出た場合、データベースキャッシュからリリースするメモリの最小サイズ (バイト単位)。
+
+このセレクタの目的はキャッシュからデータをリリースする時間を減らし、よりパフォーマンスを得ることにあります。キャッシュのサイズやデータベース中で処理されるデータのブロックサイズに応じてこの値を変更できます。
+
+このセレクタが使用されないとデフォルトで、4Dは空間が必要になった時最低10%のキャッシュをアンロードします。
+
+
+
+
+### Character set (17)
**説明**: 廃止 (互換性のために保持)。HTTPサーバー設定を変更するためには[WEB SET OPTION](web-set-option.md)と[WEB GET OPTION](web-get-option.md)コマンドを使用してください。
-### Client port ID (22)
-**スコープ**: すべての4Dリモートマシン
+### Circular log limitation (90)
- **2セッション間で設定を保持**: Yes
+**Thread-safe** : Yes
- **とりうる値**: セレクタ15参照
+**スコープ**: 4Dローカル、4D Server **異なるセッション間で値を保持**: No**
+
+取りうる値**: 任意の整数値、0 = 全てのログを保持**
+
+詳細**: 各タイプのロゴのローテーションに保存するファイル数の最大値。デフォルトでは、直近の50 ファイルが保持されます。*X* という値を渡した場合、直近の*X* 個のファイルのみが保持され、最も古いファイルは新しいファイルが作成されたときに自動的に削除されます。この設定は全てのログファイルに対して適用されます:リクエストログ(セレクター28と45)、デバッグログ(セレクター34)、イベントログ(セレクター79)、Web ログ([WEB SET OPTION](web-set-option.md)コマンドのセレクター29と84)、などです。
-**説明**: このセレクタを使用して、Webサーバとして使用する4Dクライアントマシンの動作パラメタを指定できます。これらのセレクタを用いて指定された値は、 Webサーバとして使用するすべての4D Clientマシンに対して適用されます。特定の4D Clientマシンに対してのみ値を指定したい場合には、4D Clientの環境設定ダイアログボックスを使用してください。
@@ -104,6 +157,43 @@ Port IDセレクタは、コンパイルして4D Desktopを組み込んだ4D Web
+
+### Client HTTPS port ID (40)
+
+**スコープ**:すべての4Dリモートマシン
+
+ **2セッション間で設定を保持**: Yes
+
+ **とりうる値**: 0 ~ 65535
+
+**説明**: このセレクタは、クライアントマシンのWebサーバがSSLによるセキュアな接続(HTTPSプロトコル)で使用するTCP ポート番号を、プログラムで変更するために使用できます。デフォルトの値は443(標準ポート番号)です。
+
+このセレクタの動作はセレクタ39と同じですが、Web サーバとして使用されるすべてのクライアントマシンに適用されます。特定のクライアントマシンの設定だけを変更するのであれば、4Dリモートの環境設定ダイアログ画面を使用してください。
+
+
+
+
+### Client log recording (45)
+
+**スコープ**: リモート4Dマシン
+
+2セッション間で設定を保持: No
+
+**とりうる値**: 0 または 1 から X (0 = 記録しない, 1 から X = ファイル名に付加するシーケンス値)。
+
+**説明**: コマンドを実行した4Dクライアントマシンが実行した標準的なリクエスト(Webリクエストを除く)の記録を開始または停止します。デフォルト値は0(リクエストを記録しない)です。
+
+
+
+クライアントマシンが実行したリクエストをログファイルに記録するよう、4Dに指示することができます。このメカニズムが有効になると、クライアントマシンのデータベースのローカルフォルダ内、Logsサブフォルダに2つのログファイルが作成されます。ファイルには"4DRequestsLog\_X.txt"と"4DRequestsLog\_ProcessInfo\_X.txt"(Xはログのシーケンシャル番号)の名前が付けられます。4DRequestsLogファイルサイズが10MBに達するとそのファイルは閉じられ、インクリメントしたシーケンス番号を使用して新しいファイルが作成されます。もし同じ名前のファイルが存在する場合は置き換えられます。シーケンシャル番号の開始番号を、value引数を使用して指定できます。
+
+
+
+このテキストファイルにはそれぞれのリクエストに関する様々な情報(時間、プロセス番号、リクエストサイズ、処理時間など)がシンプルな表形式のフォーマットで保存されます。4DRequestsLogについての詳細な情報については、*ログファイルの詳細* の章を参照してください。
+
+
+
+
### Client max concurrent Web proc (25)
**スコープ**: すべての4Dリモートマシン
@@ -116,25 +206,42 @@ Port IDセレクタは、コンパイルして4D Desktopを組み込んだ4D Web
-### Maximum Web requests size (27)
-**説明**: 廃止 (互換性のために保持)。HTTPサーバー設定を変更するためには[WEB SET OPTION](web-set-option.md)と[WEB GET OPTION](web-get-option.md)コマンドを使用してください。
+### Client port ID (22)
+**スコープ**: すべての4Dリモートマシン
+ **2セッション間で設定を保持**: Yes
-### 4D Server log recording (28)
+ **とりうる値**: セレクタ15参照
-**Thread-safe** : Yes
+**説明**: このセレクタを使用して、Webサーバとして使用する4Dクライアントマシンの動作パラメタを指定できます。これらのセレクタを用いて指定された値は、 Webサーバとして使用するすべての4D Clientマシンに対して適用されます。特定の4D Clientマシンに対してのみ値を指定したい場合には、4D Clientの環境設定ダイアログボックスを使用してください。
-**Scope**: 4D Server, 4D リモート
-**2セッション間で設定を保持**: No**
-とりうる値**: 0 または 1 から X (0 = 記録しない, 1 から X = ファイル名に付加するシーケンス値)。
-: 4D Serverが受け取る標準的なリクエスト(Webリクエストを除く)の記録を開始または停止します。デフォルト値は0(リクエストを記録しない)です。
+### Client Server port ID (35)
+
+**スコープ**:データベース
+
+ **2セッション間で設定を保持**: Yes
+
+ **とりうる値**: 0~65535
+
+**説明**: 4D Server が(4D Client に対して)データベースを公開するために使用されるTCPポート番号をプログラムで変更するために使用します。デフォルト値は19813 です。
+
+
+
+この値を変更すれば、TCPプロトコルを使用して、複数の4D クライアント/サーバアプリケーションを同じマシンで同時に使用することができます。その場合、それぞれのアプリケーションごとに異なるポート番号を設定します。
+
+
+
+公開ポート番号は、ストラクチャファイルに記録されています。ローカルモードの4Dで設定することもできますが、クライアント/サーバ環境でのみ考慮されます。
+
+
+
+値を変更した場合、新しい設定が有効になるためには、アプリケーションを再起動する必要があります。
-サーバマシンが受信した各リクエストをログファイルに記録するよう、4D Serverに指示することができます。このメカニズムが有効になると、データベースストラクチャと同じ階層に2つのログファイルが作成されます。サーバー側では*4DRequestsLogServer\_X*.txt および *4DRequestsLog\_ProcessInfoServer\_X*.txt 、リモート側では*4DRequestsLog\_X*.txt および *4DRequestsLog\_ProcessInfo\_X*.txt on the と名付けられたファイルが作成されます(Xはログのシーケンシャル番号)。ファイルサイズが10MBに達するとそのファイルは閉じられ、インクリメントしたシーケンス番号を使用して新しいファイルが作成されます。もし同じ名前のファイルが存在する場合は置き換えられます。シーケンシャル番号の開始番号を、*value*引数を使用して指定できます。このテキストファイルにはそれぞれのリクエストに関する様々な情報(時間、プロセス番号、ユーザ、リクエストサイズ、処理時間など)がシンプルな表形式のフォーマットで保存されます。4DRequestLog ファイルのより詳細な情報については、*ログファイルの詳細* の章を参照してください。
@@ -154,19 +261,36 @@ Port IDセレクタは、コンパイルして4D Desktopを組み込んだ4D Web
-### Table sequence number (31)
-**スコープ**:4D アプリケーション
+### Current process debug log recording (111)
- **2セッション間で設定を保持**: Yes
+**スコープ:** 4D アプリケーション
- **とりうる値**: 任意の倍長整数値
+**異なるセッション間で値を保持:** No
-**説明**: Command SET DATABASE PARAMETERこのセレクタは、引数に渡したテーブルのレコードの、カレントのユニーク番号を取得あるいは設定するために使用します。“カレントの数値”とは“最後に使用された数値”を意味します。[SET DATABASE PARAMETER](set-database-parameter.md "SET DATABASE PARAMETER")コマンドを使用してこの値を変更すると、渡された値+1の番号を使用して次のレコードが作成されます。この新しい番号は、[Sequence number](sequence-number.md "Sequence number")コマンドによって返される、さらにはストラクチャエディタやSQLで自動インクリメントが設定されたフィールドに返される番号です。
+**詳細**: **カレントプロセスにおける**プログラミングイベントの、別のログファイルへのシーケンシャルな記録を開始または停止します。このログはDebug log recording (セレクター34)に似ていますが、こちらはカレントプロセスにのみを対象とします。ログファイル名はアルファベットの"p"とプロセス番号を含みます: 4DDebugLog\[\_p*N*_*n*].txt ここでのNはプロセスの固有のIDです。
+このフォーマットと*4DDebugLog* ファイルの使用についての詳細な情報については、デザインリファレンスの*ログファイルの詳細* を参照してください。
+**注:** このセレクターはデバッグ目的のためだけに提供されており、使用する際には注意が必要です。特に、アプリケーションのパフォーマンスに影響しうるため、製品で使用してはいけません。 Debug log recording および Current process debug log recording セレクターは同時に併用することができ、その場合にはメインのログファイルにはカレントプロセスのアクションは記録されません。
+
+
+
+
+### Dates inside objects (85)
+
+スコープ: カレントプロセス
+
+ 2セッション間で設定を保持: No
+
+ **取り得る値**: String type without time zone (0), String type with time zone (1), Date type (2) (デフォルト)
+
+**説明**: 日付がオブジェクトにどのように保存されるかを定義するとともに、どのようにJSON に読み込み/書き出しされるかも定義します。
+
+セレクターの値がDate type (4D v17以降で作成されたデータベースにおけるデフォルト)のとき、4D 日付はオブジェクト内で日付型として保存され、ローカルの日付設定に準拠します。JSON フォーマットに変換された時、日付属性は、時間を含まない文字列へと変換されます(**注:** この設定は、データベース設定のにある"オブジェクト内ではISO日付フォーマットの代わりに日付型を使用"オプションによって設定することができます)。
+
+セレクターにを渡した場合、4D 日付はローカルなタイムゾーンを考慮に入れつつISO 文字列に変換されます。例えば、例えば、23/08/2013という日付の変 換を、フランスのサマータイム(GMT+2)にて実行した場合、JSONフォーマットの"2013-08-22T22:00:00Z"という結 果が返されます。この原理はJavaScriptの標準のオペレーションに従うものです。これは異なるタイムゾーンにいる人にJSON日付の値を 送る場合には、エラーの原因となりかねません。例えば、[Selection to JSON](selection-to-json.md)を使ってフランスでエクスポートされたテーブルを[JSON TO SELECTION](json-to-selection.md) を使用してアメリカで再インポートする、というような場合です。日付の値は、デフォルトではそれぞれのタイムゾーンにおいて再変換 されるため、データベース内に保存された値は異なってしまいます。こういった場合には、このセレクターにString type without time zoneを渡す事によって、タイムゾーンを考慮しないよ うに日付の変換モードを変更することができます。すると、23/08/2013という日付を変換した場合に は、"2013-08-23T00:00:00Z"という値を返すようになります。
-デフォルトで、この固有の番号は4Dが設定し、レコードの作成順に対応します。詳細は[Sequence number](sequence-number.md "Sequence number")コマンドのドキュメントを参照してください。
@@ -218,486 +342,431 @@ SET DATABASE PARAMETER (34;0) // ファイルを無効化
-### Client Server port ID (35)
-**スコープ**:データベース
+### Diagnostic log level (86)
- **2セッション間で設定を保持**: Yes
+**Thread-safe** : Yes
- **とりうる値**: 0~65535
+**スコープ:** 4D アプリケーション**
-**説明**: 4D Server が(4D Client に対して)データベースを公開するために使用されるTCPポート番号をプログラムで変更するために使用します。デフォルト値は19813 です。
+** **異なるセッション間で設定を保持:** No**
+** **説明:** 診断ログが有効化された際に、そこに含まれるメッセージのレベル(Diagnostic log recording セレクターを参照)。各レベルは診断メッセージのカテゴリを指定し、それより重要なカテゴリのメッセージも自動的に含まれます。カテゴリの詳細については、*developer.4d.com* 上の*Diagnostic log levels* の章を参照してください。
+ **取りうる値:** 以下の定数のいづれか(デフォルトは Log info ): Log trace: ERROR、WARN、INFO、DEBUG、TRACE を有効化します(最も詳細なレベル) Log debug: ERROR、WARN、INFO、DEBUG を有効化します Log info: ERROR、WARN、INFO を有効化します(デフォルト) Log warn: ERROR、WARN を有効化します Log error: ERROR を有効化します(最も簡略なレベル)
-この値を変更すれば、TCPプロトコルを使用して、複数の4D クライアント/サーバアプリケーションを同じマシンで同時に使用することができます。その場合、それぞれのアプリケーションごとに異なるポート番号を設定します。
-公開ポート番号は、ストラクチャファイルに記録されています。ローカルモードの4Dで設定することもできますが、クライアント/サーバ環境でのみ考慮されます。
+### Diagnostic log recording (79)
+**Thread-safe** : Yes
+**スコープ**: 4Dアプリケーション
-値を変更した場合、新しい設定が有効になるためには、アプリケーションを再起動する必要があります。
+2セッション間で設定を保持: No
+取りうる値: 0 または 1 (0 = 記録しない, 1 = 記録する)
+: 4D診断ファイルの記録を開始または停止する。デフォルトの値は0(記録しない)です。
-### HTTPS Port ID (39)
+4Dは診断ファイルの中に内部的なアプリケーション処理に関連するイベントを継続的に記録することができます。このファイルに含まれる情報は4Dアプリケーション開発のために使用され、4D社の技術サポート担当により解析されます。このセレクターに1を渡すと、データベースの**Logs** フォルダ内に診断ファイルが自動的に作成されます(またはすでに存在する場合には開かれます)。ファイルには*4DDiagnosticLog\_X*.txt (あるいはサーバー側で生成された場合には *4DDiagnosticLogServer\_X*.txt) という名前が付けられます。このファイルのサイズが10MBに達するとそのファイルは閉じられ、DatabaseName\_N.txtが生成されます (Nは連番)。
-**説明**: 廃止 (互換性のために保持)。HTTPサーバー設定を変更するためには[WEB SET OPTION](web-set-option.md)と[WEB GET OPTION](web-get-option.md)コマンドを使用してください。
+[LOG EVENT](log-event.md)コマンドを使用してカスタム情報をこのファイルに書き込むこともできます。
-### Client HTTPS port ID (40)
-**スコープ**:すべての4Dリモートマシン
+### Direct2D get active status (74)
- **2セッション間で設定を保持**: Yes
+**注:** このセレクターは[Get database parameter](get-database-parameter.md)コマンドでのみ使用することができ、設定することはできません。
- **とりうる値**: 0 ~ 65535
+説明: WindowsにおいてDirect2Dのアクティブな実装を返します。
-**説明**: このセレクタは、クライアントマシンのWebサーバがSSLによるセキュアな接続(HTTPSプロトコル)で使用するTCP ポート番号を、プログラムで変更するために使用できます。デフォルトの値は443(標準ポート番号)です。
+取りうる値: 0, 1, 2, 3, 4 または 5 (セレクター69の値参照)。返される値はDirect2Dが利用可能かどうか、およびハードウェア、OSによってサポートされるDirec2Dの品質に基づきます。
-このセレクタの動作はセレクタ39と同じですが、Web サーバとして使用されるすべてのクライアントマシンに適用されます。特定のクライアントマシンの設定だけを変更するのであれば、4Dリモートの環境設定ダイアログ画面を使用してください。
+例えば以下のコードを実行した場合、
-### SQL Autocommit (43)
+ SET DATABASE PARAMETER(Direct2D status;Direct2D Hardware) $mode:=Get database parameter(Direct2D get active status)
-**スコープ**:データベース
- **2セッション間で設定を保持**: Yes
- **とりうる値**: 0 (無効) または 1 (有効)
+- Windows 7以降、システムがDirect2D互換のハードウェアを検知すると、$modeに1が設定されます。そうでなければ$modeは3に設定されます (ソフトウェアコンテキスト)。
-**説明**: SQLの自動コミットモードを有効または無効にするために使用します。デフォルトは 0 (無効モード) です。
+- Windows Vistaでは、システムがDirect2D互換のハードウェアを検知すると、$modeに1が設定されます。そうでなければ$modeは0に設定されます (Direct2D無効)。
+- Windows XPでは、$modeは常に0です (Direct2D非互換)。
-自動コミットモードは、データベースの参照整合性を強化するために使用されます。このモードが有効の時、すべての*SELECT*, INSERT, *UPDATE* そして *DELETE* (SIUD) クエリは、これらがトランザクション内で実行されていない場合、自動でアドホックなトランザクションに含められます。このモードはデータベースの環境設定でも設定できます。
+### Direct2D status (69)
-### SQL Engine case sensitivity (44)
+**スコープ*: 4Dアプリケーション*
-**スコープ**: データベース**
+ *(Direct2D Software) のみが許可されます。*
-2セッション間で設定を保持**: Yes**
-とりうる値**: 0 (大文字小文字を区別しない) または 1 (区別する)
-: SQLエンジンが文字列比較を行う際に、大文字と小文字の違いを考慮させるかどうかを設定します。 デフォルトで値は1 (大文字小文字を区別する) です。SQLエンジンは文字列比較 (並び替えやクエリ) の際に大文字と小文字とアクセント付き文字を異なる文字として扱います。例えば“ABC”= “ABC”ですが“ABC” # “Abc”であり、"abc" # "âbc"です。SQLエンジンと4Dエンジンの動作をそろえたいなど特定の場合では、大文字と小文字を区別しない文字列比較 (“ABC”=“Abc"="âbc") を使用できます。
-**警告:* このオプションはデータベースのストラクチャーファイルと全てのプロセスを変更するため、パフォーマンス上の観点から、データベースのスタートアップ時にのみ設定することが強く推奨されます。*
+### HTTP compression level (50)
+**説明**: 廃止 (互換性のために保持)。HTTPサーバー設定を変更するためには[WEB SET OPTION](web-set-option.md)と[WEB GET OPTION](web-get-option.md)コマンドを使用してください。
-このオプションはアプリケーション環境設定の[CALL SUBFORM CONTAINER](call-subform-container.md) で設定できます。
+### HTTP compression threshold (51)
-### Client log recording (45)
+**説明**: 廃止 (互換性のために保持)。HTTPサーバー設定を変更するためには[WEB SET OPTION](web-set-option.md)と[WEB GET OPTION](web-get-option.md)コマンドを使用してください。
-**スコープ**: リモート4Dマシン
-2セッション間で設定を保持: No
-**とりうる値**: 0 または 1 から X (0 = 記録しない, 1 から X = ファイル名に付加するシーケンス値)。
-**説明**: コマンドを実行した4Dクライアントマシンが実行した標準的なリクエスト(Webリクエストを除く)の記録を開始または停止します。デフォルト値は0(リクエストを記録しない)です。
+### HTTPS Port ID (39)
+**説明**: 廃止 (互換性のために保持)。HTTPサーバー設定を変更するためには[WEB SET OPTION](web-set-option.md)と[WEB GET OPTION](web-get-option.md)コマンドを使用してください。
-クライアントマシンが実行したリクエストをログファイルに記録するよう、4Dに指示することができます。このメカニズムが有効になると、クライアントマシンのデータベースのローカルフォルダ内、Logsサブフォルダに2つのログファイルが作成されます。ファイルには"4DRequestsLog\_X.txt"と"4DRequestsLog\_ProcessInfo\_X.txt"(Xはログのシーケンシャル番号)の名前が付けられます。4DRequestsLogファイルサイズが10MBに達するとそのファイルは閉じられ、インクリメントしたシーケンス番号を使用して新しいファイルが作成されます。もし同じ名前のファイルが存在する場合は置き換えられます。シーケンシャル番号の開始番号を、value引数を使用して指定できます。
+### Idle connections timeout (54)
-このテキストファイルにはそれぞれのリクエストに関する様々な情報(時間、プロセス番号、リクエストサイズ、処理時間など)がシンプルな表形式のフォーマットで保存されます。4DRequestsLogについての詳細な情報については、*ログファイルの詳細* の章を参照してください。
-
-
-
-### Query by formula on server (46)
-
-**スコープ**: カレントテーブルおよびプロセス
-
- **2セッション間で設定を保持**: No
-
- **とりうる値**: 0 (データベース設定を使用), 1 (クライアント上で実行) または 2 (サーバ上で実行)
-
-**説明**: 引数に渡された*table*に対して実行される[QUERY BY FORMULA](query-by-formula.md "QUERY BY FORMULA")や[QUERY SELECTION BY FORMULA](query-selection-by-formula.md "QUERY SELECTION BY FORMULA")コマンドの実行場所。
+**スコープ**: 値が負数でないなら4Dアプリケーション
-クライアント/サーバモードでデータベースを使用するとき、フォーミュラを使用したクエリをサーバ上またはクライアント上で実行させることができます:
+**2セッション間で設定を保持**: No
-4D v11 SQLで作成されたデータベースでは、これらのコマンドはサーバ上で実行されます。変換されたデータベースでは、これらのコマンドは、以前のバージョンの4Dと同様、クライアントマシン上で実行されます。変換されたデータベースでは、環境設定のアプリケーション/互換性ページで、これらのコマンドの実行場所をグローバルに変更できます。この実行場所の違いは、アプリケーションのパフォーマンス (通常サーバ上で実行したほうが早い) だけでなく、プログラミングにも影響します。実際フォーミュラの部品の値 (特にメソッドから呼ばれる変数) は、実行コンテキストにより異なります。このセレクタを使用して開発者は、アプリケーションの動作を適応させられます。
+**とりうる値**: 持続時間を秒で表す値。値は正数 (新規接続) または負数 (既存の接続)をとることができます。デフォルト値は20です。
-*value* 引数に0を渡すと、フォーミュラを使用するクエリの実行場所は、データベースの設定に基づきます: 4D v11 SQLで作成されたデータベースでは、これらのコマンドはサーバ上で実行されます。変換されたデータベースでは、データベース環境設定に基づき、クライアントマシンまたはサーバマシンで実行されます。*value*に1または2を渡すと、これらのコマンドの実行場所をクライアントマシンまたはサーバマシンに強制できます。
+**説明**: この引数を使用して、4DデータベースエンジンとSQLエンジン両方への動きのない接続の最大時間 (タイムアウト) を設定できます。また*ServerNet* (新しいネットワークレイヤー)モードにおいては4Dアプリケーションサーバーへの接続のタイムアウトも設定します。
-例題2を参照してください。
-**Note:** "SQLタイプ"のJOINを有効にしたい場合 (QUERY BY FORMULA Joins (49) セレクタ参照) は、フォーミュラがレコードにアクセスすることができるよう、常にフォーミュラをサーバ上で実行しなければなりません。このコンテキストでは、フォーミュラはいかなるメソッド呼び出しも含んではいけないことに注意してください。そうでない場合、自動でリモートマシンでの実行に切り替わります。
+動作していない接続がこの制限時間に達すると、接続は自動でスタンバイ状態に置かれます。つまりクライアント/サーバセッションがフリーズされ、ネットワー クソケットが閉じられます。サーバー管理ウィンドウでは、ユーザープロセスの状態は"延期"と表示されます。この動作はユーザに対し完全に透過的です。スタンバイ状態の接続でリクエストが開始されると、ソケットが自動で再び開かれ、クライアント/サーバセッションが再び有効になります。
-### Order by formula on server (47)
-**スコープ**:カレントテーブルおよびプロセス
+この設定によりサーバのリソースを節約できます。スタンバイ状態の接続はソケットを 閉じ、サーバ上のプロセスを解放します。他方これにより、ファイアウォールがアイドルなソケットを閉じてしまうことに伴い接続が失われることを避けること ができます。このためには、アイドル接続のタイムアウト値はファイアウォールのタイムアウト値よりも小さくなくてはなりません。
- **2セッション間で設定を保持**: No
- **とりうる値**: 0 (データベース設定を使用), 1 (クライアント上で実行) または 2 (サーバ上で実行)
-**説明**: 引数に渡されたtableに対して実行される[ORDER BY FORMULA](order-by-formula.md "ORDER BY FORMULA")コマンドの実行場所。
+*value*に正数を渡すと、設定はすべてのプロセスのすべての新規接続に適用されます。負数を渡すと、設定はカレントプロセスの開かれた接続に適用されます。0を渡すと、アイドル接続のタイムアウトは行われません。
-クライアント/サーバモードでデータベースを使用するとき、[ORDER BY FORMULA](order-by-formula.md "ORDER BY FORMULA")コマンドをサーバ上またはクライアント上で実行させることができます。このセレクタを使用して、このコマンドの実行場所 (サーバまたはクライアント) を指定できます。このモードはデータベース環境設定でも設定できます。詳細はセレクタ46、Query By Formula On Serverの説明を参照してください。
+このパラメターはクライアント側で設定する必要があります。通常この値を変更する必要はありません。
-**Note:** "SQLタイプ"のJOINを有効にしたい場合 (QUERY BY FORMULA Joins (49) セレクタ参照) は、フォーミュラがレコードにアクセスすることができるよう、常にフォーミュラをサーバ上で実行しなければなりません。このコンテキストでは、フォーミュ ラはいかなるメソッド呼び出しも含んではいけないことに注意してください。そうでない場合、自動でリモートマシンでの実行に切り替わります。
-### Auto synchro resources folder (48)
+### IMAP Log (119)
-**スコープ**:4D リモートマシン
+**Thread-safe** : Yes
- **2セッション間で設定を保持**: No
+**スコープ**: 4D ローカル、4D Server
- **とりうる値**: 0 (同期しない), 1 (自動同期) または2 (確認する).
+**異なるセッション間で値を保持**: No
-**説明**: このコマンドを実行する4DクライアントマシンのResourcesフォルダの動的な同期モード。
+**取りうる値**: 0 または1 から X(0= 記録しない、1からX= シーケンシャル番号、ファイル名に追加される)。デフォルトでは値は0 です(IMAP の交換は記録されない)。
-サーバ上のResourcesフォルダの内容が更新されたり、(リソースエクスプローラや SET DATABASE LOCALIZATION コマンドで) ユーザが同期をリクエストすると、サーバは接続されたユーザに通知を行います。
+**詳細**: transporter オブジェクトが*IMAP\_transporter.getMail( )* または *IMAP\_transporter.checkConnection( )* で処理される際の4D とIMAP サーバーとの間の通信記録を開始または停止します。デフォルトでは、値は0です(通信は記録されません)。この機構が有効化されている場合、ログファイルがデータベースのLogフォルダに作成されます。ファイルは4DIMAPLog\_X.txt と名前がつけられ、このX はログのシーケンシャル番号です。ファイルのサイズが10MB に到達すると、ファイルは閉じられ、インクリメントされたシーケンシャル番号を持った新しいファイルが生成されます。同じ名前のファイルが既に存在する場合、それは直接置き換えられます。value 引数を使用するとシーケンス番号の開始番号を設定することができます。デフォルトで、全てのファイルは保持されますが、Circular log limitation 引数を使用することで保持するファイルの数をコントロールすることができます。
-クライアント側では3つの同期モードを選択できます。Auto Synchro Resources Folderセレクタはカレントセッションでクライアントマシンが使用するモードを指定できます:
+ファイルの詳細については、*ログファイルの詳細* の章を参照してください。
-0 (デフォルト値): 動的な同期を行わない (同期リクエストは無視される)1: 自動の動的同期2: クライアントマシンにダイアログを表示し、同期の受け入れ回避を確認するアプリケーションの環境設定で、同期モードをグローバルに設定できます。
-### Query by formula joins (49)
+### Is current database a project (112)
-**スコープ**:カレントプロセス
+**注:** このセレクターは[Get database parameter](get-database-parameter.md) コマンドでのみ使用可能で、その値を設定することはできません。
- **2セッション間で設定を保持**: No
+: 4D アプリケーション**
- **とりうる値**: 0 (データベース設定を使用), 1 (常に自動リレーションを使用) または 2 (可能ならSQL JOINを使用)
+詳細**: カレントのデータベースアーキテクチャーがプロジェクトモードなら1を、それ以外の場合には0を返します。詳細な情報については、*データベースのプロジェクトモードとバイナリーモード* の章を参照してください。
-**説明**: "SQL JOIN"の利用に関連する、[QUERY BY FORMULA](query-by-formula.md "QUERY BY FORMULA")と[QUERY SELECTION BY FORMULA](query-selection-by-formula.md "QUERY SELECTION BY FORMULA")コマンドの動作モード。
-4D v11 SQLのバージョン11.2以降で作成されたデータベースでは、これらのコマンドはSQL JOINモデルに基づくJOINを実行します。このメカニズムを使用して、(以前のバージョンでは必要な条件だった) 自動リレーションで接続されていない他のテーブルに対して実行されたクエリに基づき、テーブルのセレクションを変更できます。
-QUERY BY FORMULA Joinsセレクタで、カレントプロセスの、フォーミュラによるクエリの動作モードを指定できます:
-0: データベースの現在の設定を使用する (デフォルト値)。4D v11 SQLのバージョン11.2以降で作成されたデータベースでは、"SQL JOIN"はフォーミュラによるクエリに対し常に有効です。変換されたデータベースでは、互換性のためデフォルトでこのメカニズムは有効になっていません。しかし環境設定で実装できます。1: 常に自動リレーションを使用 (= 以前のバージョンの4Dの動作)。このモードでは、他のテーブルに対して行われたクエリに基づきテーブルのセレクションを作成するためには、リレーションが必要です。4Dは"SQL JOIN"を行いません。2: 可能であればSQL JOINを使用 (= 4D v11 SQLのバージョン11.2以降で作成されたデータベースのデフォルト動作)。このモードでは、フォーミュラが適合する限り、4Dはフォーミュラによるクエリに"SQL JOIN"を使用します (2つの例外があります。[QUERY BY FORMULA](query-by-formula.md "QUERY BY FORMULA")や[QUERY SELECTION BY FORMULA](query-selection-by-formula.md "QUERY SELECTION BY FORMULA") コマンドの説明を参照)。**Note:** 4Dのリモートモードにおいて、"SQL JOIN"はフォーミュラがサーバ上で実行されているときにのみ使用できます (レコードへのアクセスが必要なため)。フォーミュラの実行場所を設定するには、セレクタ46と47を参照してください。
+### Is host database a project (113)
+**注:** このセレクターは[Get database parameter](get-database-parameter.md) コマンドでのみ使用可能で、その値を設定することはできません。
+: 4D アプリケーション**
-### HTTP compression level (50)
+詳細**: ホストデータベースアーキテクチャーがプロジェクトモードなら1を、それ以外の場合には0を返します。詳細な情報については、*データベースのプロジェクトモードとバイナリーモード* の章を参照してください。
-**説明**: 廃止 (互換性のために保持)。HTTPサーバー設定を変更するためには[WEB SET OPTION](web-set-option.md)と[WEB GET OPTION](web-get-option.md)コマンドを使用してください。
-### HTTP compression threshold (51)
+### Is host database writable (117)
-**説明**: 廃止 (互換性のために保持)。HTTPサーバー設定を変更するためには[WEB SET OPTION](web-set-option.md)と[WEB GET OPTION](web-get-option.md)コマンドを使用してください。
+**注:** このセレクターは[Get database parameter](get-database-parameter.md) コマンドでしか使用できず、この値を設定することはできません。
+**スコープ**: 4D アプリケーション
+**詳細**: ホストのプロジェクトファイル/ストラクチャーが書き込み可能なら1を、読み出し専用なら0を返します。
-### Server base process stack size (53)
-**スコープ**: 4D Server
- 2セッション間で設定を保持: No
- **とりうる値**:正の倍長整数
+### Libldap version (114)
-**説明**: サーバ上のプリエンプティブシステムプロセス毎に割り当てるスタックのサイズ (バイト単位) です。デフォルトでの値はシステムによって決定されます。
+**スコープ**: カレント4D マシン
-プ リエンプティブシステムプロセスはメインの4D クライアントプロセスを制御するためにロードされます。デフォルトでそれぞれのプリエンプティブプロセスに割り当てられるサイズはおよその場合最適なサイ ズですが、何百ものプロセスが作成されるようなケースではこのサイズが適切かどうか検討する必要が出てくるかもしれません。
+**異なるセッション間で値を保持**: No
-データベースが実行する処理がそれを許す限り、最適化の目的でこのサイズを大幅に減らすことができます ( 例えばデータベースで大量のレコードの並び替えなどを行わない場合)。512 や256 KB でさえも設定可能です。スタックサイズを小さくしすぎることは致命的であり、4D Server の動作に害を及ぼすことになるので注意してください。このパラメタの設定は注意を持って行い、データベースの利用状況 (レコード数や行う処理など) を考慮しながら行わなければなりません。
+**詳細**: カレントマシン上の4D アプリケーション内のLDAP ライブラリーのバージョン番号を返します(読み出し専用)
-このパラメタの設定を行うには、*On Server Startupデータベースメソッド* などにおいてサーバ上でコマンドが実行されなければなりません。
-### Idle connections timeout (54)
+### Libsasl version (115)
-**スコープ**: 値が負数でないなら4Dアプリケーション
+**スコープ**: カレント4D マシン**
-**2セッション間で設定を保持**: No
+異なるセッション間で値を保持**: No**
-**とりうる値**: 持続時間を秒で表す値。値は正数 (新規接続) または負数 (既存の接続)をとることができます。デフォルト値は20です。
+詳細**: カレントマシン上の4D アプリケーション内のSASL ライブラリーのバージョン番号を返します(読み出し専用)
-**説明**: この引数を使用して、4DデータベースエンジンとSQLエンジン両方への動きのない接続の最大時間 (タイムアウト) を設定できます。また*ServerNet* (新しいネットワークレイヤー)モードにおいては4Dアプリケーションサーバーへの接続のタイムアウトも設定します。
-動作していない接続がこの制限時間に達すると、接続は自動でスタンバイ状態に置かれます。つまりクライアント/サーバセッションがフリーズされ、ネットワー クソケットが閉じられます。サーバー管理ウィンドウでは、ユーザープロセスの状態は"延期"と表示されます。この動作はユーザに対し完全に透過的です。スタンバイ状態の接続でリクエストが開始されると、ソケットが自動で再び開かれ、クライアント/サーバセッションが再び有効になります。
+### Libzip version (120)
+**スコープ:** カレントの4D マシン**
+2セッション間で設定を保持:** n/a**
-この設定によりサーバのリソースを節約できます。スタンバイ状態の接続はソケットを 閉じ、サーバ上のプロセスを解放します。他方これにより、ファイアウォールがアイドルなソケットを閉じてしまうことに伴い接続が失われることを避けること ができます。このためには、アイドル接続のタイムアウト値はファイアウォールのタイムアウト値よりも小さくなくてはなりません。
+説明:** カレントマシン上の4D アプリケーションのlibzip ライブラリのバージョン番号を返します(読み出し専用)
-*value*に正数を渡すと、設定はすべてのプロセスのすべての新規接続に適用されます。負数を渡すと、設定はカレントプロセスの開かれた接続に適用されます。0を渡すと、アイドル接続のタイムアウトは行われません。
+### Log command list (80)
+**スコープ**: 4D アプリケーション
-このパラメターはクライアント側で設定する必要があります。通常この値を変更する必要はありません。
+**2セッション間で設定を保持**: No
+**取りうる値**: 記録する4Dコマンドの番号リスト。型は文字列で各コマンド番号をセミコロンで区切ります。"all"を渡すとすべてのコマンドが記録され、"" (空の文字列) を渡すとなにも記録されません。
+**説明**: デバッグファイルに記録する4Dコマンドのリスト (セレクター 34, Debug Log Recording参照)。デフォルトではすべての4Dコマンドが記録されます。
-### PHP interpreter IP address (55)
+このセレクターを使用すれば、記録に残したい4Dコマンドを指定することで、デバッグファイルに保存される情報の量を制限することができます。例えば以下のようにコードを記述できます:
-**スコープ**: 4D アプリケーション
+ SET DATABASE PARAMETER(Log command list;"277;341") // QUERY および QUERY SELECTION コマンドのみを記録する
-2セッション間で設定を保持: No**
-値**: IPv4 型にフォーマットされた文字列(例 "127.0.0.1") あるいはIPv6 型にフォーマットされた文字列(例 "2001:0db8:0000:0000:0000:ff00:0042:8329")
-: FastCGI を経由してPHPインタプリタと通信を行うために、4D がローカルで使用するIP アドレス。デフォルトで値は"127.0.0.1" です(IPv5 フォーマットのアドレスは4D v16 R4 以降でサポートされます)。このアドレスは4D が配置されているマシンに対応しなければなりません。このパラメタはデータベース設定を使用してすべてのマシン用にグローバルに設定できます。
-PHPインタプリタに関する詳細は*Design Reference*マニュアルを参照してください。
+### Max concurrent Web processes (18)
+**説明**: 廃止 (互換性のために保持)。HTTPサーバー設定を変更するためには[WEB SET OPTION](web-set-option.md)と[WEB GET OPTION](web-get-option.md)コマンドを使用してください。
-### PHP interpreter port (56)
-**スコープ**:4D アプリケーション
- **2セッション間で設定を保持**: No
+### Maximum Web requests size (27)
-**値**: 正の倍長整数値。デフォルト値は8002。
+**説明**: 廃止 (互換性のために保持)。HTTPサーバー設定を変更するためには[WEB SET OPTION](web-set-option.md)と[WEB GET OPTION](web-get-option.md)コマンドを使用してください。
-**説明**: 4DのPHPインタプリタが使用するTCPポート番号。データベース設定でこの値をすべてのマシン用にグローバルに変更できます。PHPインタープリタに関する詳細は*Design Reference* マニュアルを参照してください。
-### SSL cipher list (64)
+### Min TLS version (105)
-**スコープ**: 4Dアプリケーション **2セッション間で設定を保持**: No
+**スコープ**: 4D Server、4D Web サーバーおよび4D SQL サーバー
-**とりうる値**: コロンで区切られた一連の文字列 (例 "ECDHE-RSA-AES128-....")
+**異なるセッション間で値を保持**: No
-**説明**: 安全なプロトコルのために4Dが使用する暗号リストです。このリストを使用して4Dによって実装された暗号化アルゴリズムの順位を変更することができます。例えば、以下の文字列を *value* 引数に渡す事ができます:"HIGH:!aNULL:!MD5:!3DES:!CAMELLIA:!AES128:!RSA:!DH:!RC4". 暗号リストのシンタックスの完全な詳細については、*OpenSSL の暗号ページ* *のサイト* を参照して下さい。
+**詳細**: Transport Layer Security (TLS) レベルを指定するのに使用します。これはデータ暗号化とアプリケーションとサーバー間での認証を可能にします。これによって定義された最小値を下回るバージョンしかサポートしないクライアントからの接続は拒否されます。この設定はネットワークレイヤー全体に適用されます。変更した後にその新しい値を使用するためには、サーバーを再起動する必要があります。
-この設定はメインWebサーバー(ただしWebサーバーオブジェクトは除く)、SQLサーバー、クライアント/サーバー接続、そしてHTTPクライアントと、安全なプロトコルを使用する4D コマンドの全てに対して適用されます。この変更は一時的な物です(つまり異なるセッション間で設定は保持されません)。
+**デフォルトの値**: TLSv1\_3
-暗号リストが変更された場合、新しい設定が使用されるようにするためには関係するサーバーを再起動する必要があります。
+**取りうる値**: TLSv1\_2 (TLS 1.2、2008年に導入) TLSv1\_3 (TLS 1.3、2018年に導入) **注**:
-暗号リストを (SLIファイルに恒久的に格納された) デフォルト値に再設定するには、*value*引数に空の文字列 ("") を渡して [SET DATABASE PARAMETER](set-database-parameter.md) コマンドを呼び出します。
+- 4D Internet Commands プラグインは異るネットワークレイヤーを使用するため、ここのセレクターは4DICのTLSバージョンには影響しません。
-**注**: [Get database parameter](get-database-parameter.md) コマンドで暗号リストはオプションの *stringValue* 引数に返され、戻り値は常に0となります。
+- TLS を旧式ネットワークレイヤーに適用しても反映されません。
-### Cache unload minimum size (66)
-**スコープ**:4Dアプリケーション
+### Number of formulas in cache (92)
- **2セッション間で設定を保持**: No
+**スコープ**: 4Dアプリケーション
- **とりうる値**: 1より大きい正の倍長整数
+**異なるセッション間で保持**: No
-**説明**: エンジンがオブジェクトをデータベースキャッシュに配置する際に空き空間を作成する必要が出た場合、データベースキャッシュからリリースするメモリの最小サイズ (バイト単位)。
+**取りうる値**: 正の倍長整数
-このセレクタの目的はキャッシュからデータをリリースする時間を減らし、よりパフォーマンスを得ることにあります。キャッシュのサイズやデータベース中で処理されるデータのブロックサイズに応じてこの値を変更できます。
+**デフォルト値**: 0 (キャッシュなし)
-このセレクタが使用されないとデフォルトで、4Dは空間が必要になった時最低10%のキャッシュをアンロードします。
+**詳細**: フォーミュラのキャッシュに保存されるフォーミュラの最大数を設定あるいは取得します。これは[EXECUTE FORMULA](execute-formula.md)コマンドで使用されます。この上限は全てのプロセスに適用されますが、各プロセスにはそれぞれ独自のフォーミュラ用キャッシュがあります。フォーミュラをキャッシュすると、それぞれのフォーミュラはこの場合1度しかトークン化されないため、コンパイル済みモードでの[EXECUTE FORMULA](execute-formula.md)コマンドの実行が速くなります。キャッシュ値を変化させると、例え新しいサイズが以前のものより大きくても、既存の中身は全てリセットされます。キャッシュ内のフォーミュラ数が上限値に達すると、その後新しく実行されたフォーミュラはキャッシュ内の一番古いものを消去します(FIFOモード)。この引数は、コンパイルされたデータベース、あるいはコンパイルされたコンポーネントでのみ考慮されます。
-### Direct2D status (69)
-**スコープ*: 4Dアプリケーション*
+### OpenSSL version (94)
- *(Direct2D Software) のみが許可されます。*
+**スコープ**: 4D マシン全体*
+* **2セッション間で設定を保持**: No
+**説明**: マシン上で使用されているOpenSSL ライブラリーのバージョン番号を返します(読み込みのみ)
-### Direct2D get active status (74)
-**注:** このセレクターは[Get database parameter](get-database-parameter.md)コマンドでのみ使用することができ、設定することはできません。
-説明: WindowsにおいてDirect2Dのアクティブな実装を返します。
-取りうる値: 0, 1, 2, 3, 4 または 5 (セレクター69の値参照)。返される値はDirect2Dが利用可能かどうか、およびハードウェア、OSによってサポートされるDirec2Dの品質に基づきます。
+### Order by formula on server (47)
-例えば以下のコードを実行した場合、
+**スコープ**:カレントテーブルおよびプロセス
+ **2セッション間で設定を保持**: No
+ **とりうる値**: 0 (データベース設定を使用), 1 (クライアント上で実行) または 2 (サーバ上で実行)
- SET DATABASE PARAMETER(Direct2D status;Direct2D Hardware) $mode:=Get database parameter(Direct2D get active status)
+**説明**: 引数に渡されたtableに対して実行される[ORDER BY FORMULA](order-by-formula.md "ORDER BY FORMULA")コマンドの実行場所。
-- Windows 7以降、システムがDirect2D互換のハードウェアを検知すると、$modeに1が設定されます。そうでなければ$modeは3に設定されます (ソフトウェアコンテキスト)。
+クライアント/サーバモードでデータベースを使用するとき、[ORDER BY FORMULA](order-by-formula.md "ORDER BY FORMULA")コマンドをサーバ上またはクライアント上で実行させることができます。このセレクタを使用して、このコマンドの実行場所 (サーバまたはクライアント) を指定できます。このモードはデータベース環境設定でも設定できます。詳細はセレクタ46、Query By Formula On Serverの説明を参照してください。
-- Windows Vistaでは、システムがDirect2D互換のハードウェアを検知すると、$modeに1が設定されます。そうでなければ$modeは0に設定されます (Direct2D無効)。
+**Note:** "SQLタイプ"のJOINを有効にしたい場合 (QUERY BY FORMULA Joins (49) セレクタ参照) は、フォーミュラがレコードにアクセスすることができるよう、常にフォーミュラをサーバ上で実行しなければなりません。このコンテキストでは、フォーミュ ラはいかなるメソッド呼び出しも含んではいけないことに注意してください。そうでない場合、自動でリモートマシンでの実行に切り替わります。
-- Windows XPでは、$modeは常に0です (Direct2D非互換)。
-### Diagnostic log recording (79)
+### Pause logging (121)
**Thread-safe** : Yes
-**スコープ**: 4Dアプリケーション
-
-2セッション間で設定を保持: No
+**スコープ**: 4D アプリケーション**
-取りうる値: 0 または 1 (0 = 記録しない, 1 = 記録する)
+異なるセッション間で値を設定を保持**: No**
-: 4D診断ファイルの記録を開始または停止する。デフォルトの値は0(記録しない)です。
+取り得る値**: 0 (ログを再開)、1 (ログを停止)
-4Dは診断ファイルの中に内部的なアプリケーション処理に関連するイベントを継続的に記録することができます。このファイルに含まれる情報は4Dアプリケーション開発のために使用され、4D社の技術サポート担当により解析されます。このセレクターに1を渡すと、データベースの**Logs** フォルダ内に診断ファイルが自動的に作成されます(またはすでに存在する場合には開かれます)。ファイルには*4DDiagnosticLog\_X*.txt (あるいはサーバー側で生成された場合には *4DDiagnosticLogServer\_X*.txt) という名前が付けられます。このファイルのサイズが10MBに達するとそのファイルは閉じられ、DatabaseName\_N.txtが生成されます (Nは連番)。
+このセレクターを使用するとアプリケーション上で開始された全てのログオペレーションを停止/再開させることができます(ただしORDAログは除く)。この機能は4Dアプリケーションのタスクを一時的に軽くしたり、あるいはログオペレーションのスケジュールを設定することに有用です。
-[LOG EVENT](log-event.md)コマンドを使用してカスタム情報をこのファイルに書き込むこともできます。
-### Log command list (80)
+### PHP interpreter IP address (55)
**スコープ**: 4D アプリケーション
-**2セッション間で設定を保持**: No
-
-**取りうる値**: 記録する4Dコマンドの番号リスト。型は文字列で各コマンド番号をセミコロンで区切ります。"all"を渡すとすべてのコマンドが記録され、"" (空の文字列) を渡すとなにも記録されません。
-
-**説明**: デバッグファイルに記録する4Dコマンドのリスト (セレクター 34, Debug Log Recording参照)。デフォルトではすべての4Dコマンドが記録されます。
-
-このセレクターを使用すれば、記録に残したい4Dコマンドを指定することで、デバッグファイルに保存される情報の量を制限することができます。例えば以下のようにコードを記述できます:
-
- SET DATABASE PARAMETER(Log command list;"277;341") // QUERY および QUERY SELECTION コマンドのみを記録する
-
-
-
-### Spellchecker (81)
-
-**スコープ**: 4D アプリケーション**
+2セッション間で設定を保持: No**
-2セッション間で設定を保持**: No
+値**: IPv4 型にフォーマットされた文字列(例 "127.0.0.1") あるいはIPv6 型にフォーマットされた文字列(例 "2001:0db8:0000:0000:0000:ff00:0042:8329")
- **とりうる値**: 0 (default) = macOSのシステムのスペルチェッカー(ハンスペルは無効化されます), 1 = ハンスペルスペルチェッカー有効化**
+: FastCGI を経由してPHPインタプリタと通信を行うために、4D がローカルで使用するIP アドレス。デフォルトで値は"127.0.0.1" です(IPv5 フォーマットのアドレスは4D v16 R4 以降でサポートされます)。このアドレスは4D が配置されているマシンに対応しなければなりません。このパラメタはデータベース設定を使用してすべてのマシン用にグローバルに設定できます。
-説明**: macOS環境下においてハンスペルスペルチェッカーを有効化します。デフォルトでは、このプラットフォームではシステムのスペルチェッカーが有効化されています。例えば、クロスプラットフォームアプリケーションのインターフェースを統一するためにハンスペルを使用したいという場面があるかもしれません(Windowsでは、ハンスペルチェッカーのみが動作します)。詳細な情報に関しては、*スペルチェック*を参照して下さい。
+PHPインタプリタに関する詳細は*Design Reference*マニュアルを参照してください。
-### Dates inside objects (85)
-スコープ: カレントプロセス
+### PHP interpreter port (56)
- 2セッション間で設定を保持: No
+**スコープ**:4D アプリケーション
- **取り得る値**: String type without time zone (0), String type with time zone (1), Date type (2) (デフォルト)
+ **2セッション間で設定を保持**: No
-**説明**: 日付がオブジェクトにどのように保存されるかを定義するとともに、どのようにJSON に読み込み/書き出しされるかも定義します。
+**値**: 正の倍長整数値。デフォルト値は8002。
-セレクターの値がDate type (4D v17以降で作成されたデータベースにおけるデフォルト)のとき、4D 日付はオブジェクト内で日付型として保存され、ローカルの日付設定に準拠します。JSON フォーマットに変換された時、日付属性は、時間を含まない文字列へと変換されます(**注:** この設定は、データベース設定のにある"オブジェクト内ではISO日付フォーマットの代わりに日付型を使用"オプションによって設定することができます)。
+**説明**: 4DのPHPインタプリタが使用するTCPポート番号。データベース設定でこの値をすべてのマシン用にグローバルに変更できます。PHPインタープリタに関する詳細は*Design Reference* マニュアルを参照してください。
-セレクターにを渡した場合、4D 日付はローカルなタイムゾーンを考慮に入れつつISO 文字列に変換されます。例えば、例えば、23/08/2013という日付の変 換を、フランスのサマータイム(GMT+2)にて実行した場合、JSONフォーマットの"2013-08-22T22:00:00Z"という結 果が返されます。この原理はJavaScriptの標準のオペレーションに従うものです。これは異なるタイムゾーンにいる人にJSON日付の値を 送る場合には、エラーの原因となりかねません。例えば、[Selection to JSON](selection-to-json.md)を使ってフランスでエクスポートされたテーブルを[JSON TO SELECTION](json-to-selection.md) を使用してアメリカで再インポートする、というような場合です。日付の値は、デフォルトではそれぞれのタイムゾーンにおいて再変換 されるため、データベース内に保存された値は異なってしまいます。こういった場合には、このセレクターにString type without time zoneを渡す事によって、タイムゾーンを考慮しないよ うに日付の変換モードを変更することができます。すると、23/08/2013という日付を変換した場合に は、"2013-08-23T00:00:00Z"という値を返すようになります。
-### Diagnostic log level (86)
+### POP3 Log (116)
**Thread-safe** : Yes
-**スコープ:** 4D アプリケーション**
-
-** **異なるセッション間で設定を保持:** No**
-
-** **説明:** 診断ログが有効化された際に、そこに含まれるメッセージのレベル(Diagnostic log recording セレクターを参照)。各レベルは診断メッセージのカテゴリを指定し、それより重要なカテゴリのメッセージも自動的に含まれます。カテゴリの詳細については、*developer.4d.com* 上の*Diagnostic log levels* の章を参照してください。
-
- **取りうる値:** 以下の定数のいづれか(デフォルトは Log info ): Log trace: ERROR、WARN、INFO、DEBUG、TRACE を有効化します(最も詳細なレベル) Log debug: ERROR、WARN、INFO、DEBUG を有効化します Log info: ERROR、WARN、INFO を有効化します(デフォルト) Log warn: ERROR、WARN を有効化します Log error: ERROR を有効化します(最も簡略なレベル)
+**スコープ:** 4D ローカル、4D Server
+**2セッション間で設定を保持:** No
+**取りうる値:** 0 または1からXまでの数字(0= 記録を取らない、1からX=シーケンシャルな数字、ファイル名に追加される)。デフォルトでは、値は0です(POP3通信は記録されません)。
-### Use legacy network layer (87)
+**説明**: トランスポーターオブジェクトが*POP3\_transporter.getMail( )* または *POP3\_transporter.checkConnection( )*で処理されたとき、4D とPOP3 サーバー間の通信の記録を開始または停止します。デフォルトでは値は0 です(通信は記録されません)。この機構か有効化されている時、データベースのLogs フォルダにログファイルが作成されます。ファイル名は4DPOP3Log\_X.txt という形式となっており、X はログのシーケンシャル番号です。4DPOP3Log のサイズが10MBに到達すると、そのファイルは閉じられて新しいファイルが生成され、シーケンシャル番号は1つ増加します。同じ名前のファイルが既に存在する場合、それは上書きされます。シーケンシャル番号の開始番号を、value 引数を用いて指定することができます。デフォルトでは全てのファイルが保持されますが、Circular log limitation 定数を使用することで残すファイルの数を制限することもできます。
-**スコープ**: 4D ローカル、4D Server
+4DPOP3Log\_X.txt ファイルの詳細な情報については、*ログファイルの詳細* の章を参照してください。
-**異なるセッション間で値を保持**: Yes
-**詳細:** クライアント/サーバー間の通信のネットワークレイヤーのカレントの状態を設定・取得します。旧式ネットワークレイヤーは4D v14 R5以降廃止予定となり、お使いのアプリケーションにおいて*ServerNet* ネットワークレイヤーへと積極的に置き換えられてい行くべきです。*ServerNet* は、将来のネットワークの進化の恩恵を受けるために、今後の4Dのリリースの中で必須要項となって行きます。互換性の理由から、既存のアプリケーションの速やかな移行をサポートするために、旧式のネットワークレイヤーは引き続きサポートされます(v14 R5以前のリリースから変換されたアプリケーションにおいてはデフォルトで旧式ネットワークレイヤーが使用されます)。クライアント/サーバー通信において旧式ネットワークレイヤーを使用するためにはこの引数に1を渡します(*ServerNet* が無効化されます)。0を渡すと旧式ネットワークレイヤーが無効化されます(そして*ServerNet* が使用されます)。
-このプロパティはデータベース設定の*互換性ページ* の"旧式ネットワークレイヤー"オプションを使用することによっても設定できます(*ネットワーク/クライアント-サーバー通信*参照)。この章では、移行戦略についての議論を読むこともできます。*ServerNet* の速やかな有効化が推奨されます。
-この引数が有効になるためには、アプリケーションを再起動する必要があります。OS X版の4D Server 64-bit 版においては*ServerNet* のみをサポートするため、このオプションはご利用いただけません(常に0を返します)。
+### Port ID (15)
-**取り得る値:** 0 または 1 (0 = 旧式ネットワークレイヤーを使用しない、1 = 旧式ネットワークレイヤーを使用する)
+**スコープ**: 4D ローカル, 4D Server
-**デフォルトの値:** 4D v14 R5以降で作成されたデータベースにおいては0、4D v14 R4以前のものから変換されたデータベースにおいては1
+**2セッション間で設定を保持**: No
+**説明**: Command SET DATABASE この引数を使用して、ローカルモードの4Dおよび4D Serverによる4D Webサーバが使用するTCPポートをオンザフライで変更することができます。デフォルト値は80で、この値は環境設定ダイアログボックスの“Web/設定”ページで設定できます。*TCP Port Numbers*テーマの定数を*value*引数に使用できます。
-### SQL Server Port ID (88)
-**スコープ**: 4D ローカル、4D Server
+Port IDセレクタは、コンパイルして4D Desktopを組み込んだ4D Webサーバで役立ちます(この場合、デザインモードへのアクセス手段がありません)。TCPポートIDに関する詳細は*Webサーバー設定*を参照してください。
-**2セッション間で設定を保持**: Yes
-**説明**: 4Dローカル、または4D Server の統合されたSQLサーバーで使用されるTCPポート番号を取得、または設定します。デフォルトの値は19812です。このセレクターが設定されると、データベース設定は更新されます。TCPポート番号はデータベース設定ダイアログボックスの"SQL"ページにおいても設定可能です。
-**とりうる値**: 0 から 65535
-**デフォルト値**: 19812
+### Query by formula joins (49)
+**スコープ**:カレントプロセス
+ **2セッション間で設定を保持**: No
-### Circular log limitation (90)
+ **とりうる値**: 0 (データベース設定を使用), 1 (常に自動リレーションを使用) または 2 (可能ならSQL JOINを使用)
-**Thread-safe** : Yes
+**説明**: "SQL JOIN"の利用に関連する、[QUERY BY FORMULA](query-by-formula.md "QUERY BY FORMULA")と[QUERY SELECTION BY FORMULA](query-selection-by-formula.md "QUERY SELECTION BY FORMULA")コマンドの動作モード。
-**スコープ**: 4Dローカル、4D Server **異なるセッション間で値を保持**: No**
+4D v11 SQLのバージョン11.2以降で作成されたデータベースでは、これらのコマンドはSQL JOINモデルに基づくJOINを実行します。このメカニズムを使用して、(以前のバージョンでは必要な条件だった) 自動リレーションで接続されていない他のテーブルに対して実行されたクエリに基づき、テーブルのセレクションを変更できます。
-取りうる値**: 任意の整数値、0 = 全てのログを保持**
+QUERY BY FORMULA Joinsセレクタで、カレントプロセスの、フォーミュラによるクエリの動作モードを指定できます:
-詳細**: 各タイプのロゴのローテーションに保存するファイル数の最大値。デフォルトでは、直近の50 ファイルが保持されます。*X* という値を渡した場合、直近の*X* 個のファイルのみが保持され、最も古いファイルは新しいファイルが作成されたときに自動的に削除されます。この設定は全てのログファイルに対して適用されます:リクエストログ(セレクター28と45)、デバッグログ(セレクター34)、イベントログ(セレクター79)、Web ログ([WEB SET OPTION](web-set-option.md)コマンドのセレクター29と84)、などです。
+0: データベースの現在の設定を使用する (デフォルト値)。4D v11 SQLのバージョン11.2以降で作成されたデータベースでは、"SQL JOIN"はフォーミュラによるクエリに対し常に有効です。変換されたデータベースでは、互換性のためデフォルトでこのメカニズムは有効になっていません。しかし環境設定で実装できます。1: 常に自動リレーションを使用 (= 以前のバージョンの4Dの動作)。このモードでは、他のテーブルに対して行われたクエリに基づきテーブルのセレクションを作成するためには、リレーションが必要です。4Dは"SQL JOIN"を行いません。2: 可能であればSQL JOINを使用 (= 4D v11 SQLのバージョン11.2以降で作成されたデータベースのデフォルト動作)。このモードでは、フォーミュラが適合する限り、4Dはフォーミュラによるクエリに"SQL JOIN"を使用します (2つの例外があります。[QUERY BY FORMULA](query-by-formula.md "QUERY BY FORMULA")や[QUERY SELECTION BY FORMULA](query-selection-by-formula.md "QUERY SELECTION BY FORMULA") コマンドの説明を参照)。**Note:** 4Dのリモートモードにおいて、"SQL JOIN"はフォーミュラがサーバ上で実行されているときにのみ使用できます (レコードへのアクセスが必要なため)。フォーミュラの実行場所を設定するには、セレクタ46と47を参照してください。
-### Number of formulas in cache (92)
-**スコープ**: 4Dアプリケーション
+### Query by formula on server (46)
-**異なるセッション間で保持**: No
+**スコープ**: カレントテーブルおよびプロセス
-**取りうる値**: 正の倍長整数
+ **2セッション間で設定を保持**: No
-**デフォルト値**: 0 (キャッシュなし)
+ **とりうる値**: 0 (データベース設定を使用), 1 (クライアント上で実行) または 2 (サーバ上で実行)
-**詳細**: フォーミュラのキャッシュに保存されるフォーミュラの最大数を設定あるいは取得します。これは[EXECUTE FORMULA](execute-formula.md)コマンドで使用されます。この上限は全てのプロセスに適用されますが、各プロセスにはそれぞれ独自のフォーミュラ用キャッシュがあります。フォーミュラをキャッシュすると、それぞれのフォーミュラはこの場合1度しかトークン化されないため、コンパイル済みモードでの[EXECUTE FORMULA](execute-formula.md)コマンドの実行が速くなります。キャッシュ値を変化させると、例え新しいサイズが以前のものより大きくても、既存の中身は全てリセットされます。キャッシュ内のフォーミュラ数が上限値に達すると、その後新しく実行されたフォーミュラはキャッシュ内の一番古いものを消去します(FIFOモード)。この引数は、コンパイルされたデータベース、あるいはコンパイルされたコンポーネントでのみ考慮されます。
+**説明**: 引数に渡された*table*に対して実行される[QUERY BY FORMULA](query-by-formula.md "QUERY BY FORMULA")や[QUERY SELECTION BY FORMULA](query-selection-by-formula.md "QUERY SELECTION BY FORMULA")コマンドの実行場所。
+クライアント/サーバモードでデータベースを使用するとき、フォーミュラを使用したクエリをサーバ上またはクライアント上で実行させることができます:
+4D v11 SQLで作成されたデータベースでは、これらのコマンドはサーバ上で実行されます。変換されたデータベースでは、これらのコマンドは、以前のバージョンの4Dと同様、クライアントマシン上で実行されます。変換されたデータベースでは、環境設定のアプリケーション/互換性ページで、これらのコマンドの実行場所をグローバルに変更できます。この実行場所の違いは、アプリケーションのパフォーマンス (通常サーバ上で実行したほうが早い) だけでなく、プログラミングにも影響します。実際フォーミュラの部品の値 (特にメソッドから呼ばれる変数) は、実行コンテキストにより異なります。このセレクタを使用して開発者は、アプリケーションの動作を適応させられます。
-### OpenSSL version (94)
+*value* 引数に0を渡すと、フォーミュラを使用するクエリの実行場所は、データベースの設定に基づきます: 4D v11 SQLで作成されたデータベースでは、これらのコマンドはサーバ上で実行されます。変換されたデータベースでは、データベース環境設定に基づき、クライアントマシンまたはサーバマシンで実行されます。*value*に1または2を渡すと、これらのコマンドの実行場所をクライアントマシンまたはサーバマシンに強制できます。
-**スコープ**: 4D マシン全体*
+例題2を参照してください。
-* **2セッション間で設定を保持**: No
+**Note:** "SQLタイプ"のJOINを有効にしたい場合 (QUERY BY FORMULA Joins (49) セレクタ参照) は、フォーミュラがレコードにアクセスすることができるよう、常にフォーミュラをサーバ上で実行しなければなりません。このコンテキストでは、フォーミュラはいかなるメソッド呼び出しも含んではいけないことに注意してください。そうでない場合、自動でリモートマシンでの実行に切り替わります。
-**説明**: マシン上で使用されているOpenSSL ライブラリーのバージョン番号を返します(読み込みのみ)
-### Cache flush periodicity (95)
+### RDP optimization (133)
-**Thread-safe** : Yes
+**Scope:** 4D application.
+**Kept between two sessions:** No.
-**スコープ**: 4Dローカル、4D Server
+**Possible values:** `0`: Disabled (default), `1`: Enabled.
-**異なるセッション間で値を保持**: No
+**Description:** Enables or disables optimizations for RDP (Remote Desktop Protocol). When enabled, optimizes in particular the use of shared clipboard in RDP connections, which can otherwise lead to freezing issues. Note that this selector disables the support in clipboard for images encoded as data uri in raw text (only concerns images dropped or explicitly copied as text from a browser).
-**取りうる値**: 倍長整数 > 1 (秒)
-**詳細**: 秒単位で指定された、キャッシュ保存頻度を取得あるいは設定します。この値を変更すると、データベース設定の[XML DECODE](xml-decode.md)内の**キャッシュを保存: X秒毎**オプションをセッション中の間上書きします(これはデータベース設定には保存されません)。
@@ -715,246 +784,243 @@ PHPインタプリタに関する詳細は*Design Reference*マニュアルを
-### Tips enabled (101)
-**スコープ:** 4D アプリケーション
+### Server base process stack size (53)
-**異なるセッション間で値を保持:** No
+**スコープ**: 4D Server
-**取りうる値:** 0 = tips無効化、1 = tips有効化(デフォルト)
+ 2セッション間で設定を保持: No
-**詳細:** 4DアプリケーションのTipsのカレントの表示状態を設定あるいは取得します。デフォルトでは、Tipsは有効化されています。
+ **とりうる値**:正の倍長整数
-この引数は全ての4DTipsに影響するという点に注意してください。つまり、フォームヘルプメッセージとデザインモードのエディターTipsに影響します。
+**説明**: サーバ上のプリエンプティブシステムプロセス毎に割り当てるスタックのサイズ (バイト単位) です。デフォルトでの値はシステムによって決定されます。
+
+プ リエンプティブシステムプロセスはメインの4D クライアントプロセスを制御するためにロードされます。デフォルトでそれぞれのプリエンプティブプロセスに割り当てられるサイズはおよその場合最適なサイ ズですが、何百ものプロセスが作成されるようなケースではこのサイズが適切かどうか検討する必要が出てくるかもしれません。
+データベースが実行する処理がそれを許す限り、最適化の目的でこのサイズを大幅に減らすことができます ( 例えばデータベースで大量のレコードの並び替えなどを行わない場合)。512 や256 KB でさえも設定可能です。スタックサイズを小さくしすぎることは致命的であり、4D Server の動作に害を及ぼすことになるので注意してください。このパラメタの設定は注意を持って行い、データベースの利用状況 (レコード数や行う処理など) を考慮しながら行わなければなりません。
+このパラメタの設定を行うには、*On Server Startupデータベースメソッド* などにおいてサーバ上でコマンドが実行されなければなりません。
-### Tips delay (102)
-**スコープ:** 4Dアプリケーション
-**異なるセッション間で値を保持:** No
-**取りうる値:** 倍調整数 >= 0 (ティック)
+### SMTP Log (110)
-**詳細:** マウスカーソルがヘルプメッセージが関連づけられたオブジェクト内で停止してからTipsが表示されるまでの遅延時間です。値はティック(1/60秒)単位で表現されます。デフォルトの値は45ティック(=0.75秒)です。
+**Thread-safe** : Yes
+**スコープ**: 4D ローカル、4D Server
+**異なるセッション間で値を保持**: しない**
-### Tips duration (103)
+取りうる値**: 0 あるいは1 からX まで(0 = 記録しない、1 から X = ファイル名に追加されるシーケンシャルな数字)。デフォルトでは、値は0(SMTP 通信は記録されない)です。
-**スコープ:** 4Dアプリケーション
+: *transporter* オブジェクトが*transporter.send( )* または *SMTP\_transporter.checkConnection( )* を通して処理される際、4D とSMTP サーバー間の通信の記録を開始、あるいは停止します。デフォルトでは、値は0です(通信は記録されない)。このログが有効化されると、データベースのLogs フォルダ内にログファイルが作成されます。ファイル名は4DSMTPLog\_X.txt で、この*X* はログのシーケンシャルな番号です。4DSMTPLog のファイルのサイズが10MB に達すると、そのファイルは閉じられて新しいファイルが生成され、シーケンシャルな番号は数字がインクリメントされます。同じ名前のファイルが既に存在していた場合、そのファイルは直接上書きされます。*value* 引数を使用してシーケンスの開始番号を設定することができます。デフォルトでは全てのファイルが残されますが、Circular log limitation パラメータを使用することで保存しておくファイルの数を管理することができます。
-**異なるセッション間で値を保持:** No
+4DSMTPLog\_X.txt ファイルの詳細な情報については、*ログファイルの詳細* の章を参照してください。
-**取りうる値:** 倍調整数 >= 60 (ティック)
-**詳細:** Tipsの最大表示時間です。値はティック(1/60秒)単位で表現されます。デフォルトの値は720ティック(=12秒)です。
+### Spellchecker (81)
-### Min TLS version (105)
+**スコープ**: 4D アプリケーション**
-**スコープ**: 4D Server、4D Web サーバーおよび4D SQL サーバー
+2セッション間で設定を保持**: No
-**異なるセッション間で値を保持**: No
+ **とりうる値**: 0 (default) = macOSのシステムのスペルチェッカー(ハンスペルは無効化されます), 1 = ハンスペルスペルチェッカー有効化**
-**詳細**: Transport Layer Security (TLS) レベルを指定するのに使用します。これはデータ暗号化とアプリケーションとサーバー間での認証を可能にします。これによって定義された最小値を下回るバージョンしかサポートしないクライアントからの接続は拒否されます。この設定はネットワークレイヤー全体に適用されます。変更した後にその新しい値を使用するためには、サーバーを再起動する必要があります。
+説明**: macOS環境下においてハンスペルスペルチェッカーを有効化します。デフォルトでは、このプラットフォームではシステムのスペルチェッカーが有効化されています。例えば、クロスプラットフォームアプリケーションのインターフェースを統一するためにハンスペルを使用したいという場面があるかもしれません(Windowsでは、ハンスペルチェッカーのみが動作します)。詳細な情報に関しては、*スペルチェック*を参照して下さい。
-**デフォルトの値**: TLSv1\_3
-**取りうる値**: TLSv1\_2 (TLS 1.2、2008年に導入) TLSv1\_3 (TLS 1.3、2018年に導入) **注**:
-- 4D Internet Commands プラグインは異るネットワークレイヤーを使用するため、ここのセレクターは4DICのTLSバージョンには影響しません。
-- TLS を旧式ネットワークレイヤーに適用しても反映されません。
+### SQL Autocommit (43)
+**スコープ**:データベース
+ **2セッション間で設定を保持**: Yes
-### User param value (108)
+ **とりうる値**: 0 (無効) または 1 (有効)
-**スコープ:** 4D スタンドアロン、4D Server
+**説明**: SQLの自動コミットモードを有効または無効にするために使用します。デフォルトは 0 (無効モード) です。
-**2セッション間で値を保持:** No
-**取りうる値**: 任意のカスタムの文字列
-**説明:** 4D アプリケーションが再起動される際に、ひとつのセッションから次のセッションへと渡されるカスタムの文字列です。このセレクターは異なる引数を使用してアプリケーションを再起動する必要がある、自動化されたユニットテストなどのコンテキストで有用です。[SET DATABASE PARAMETER](set-database-parameter.md) で使用された場合、手動で、あるいは[OPEN DATABASE](open-database.md)(\*)、 [OPEN DATA FILE](open-data-file.md)、 または [RESTART 4D](restart-4d.md) コマンドを使用して4D が再起動したあとに開かれるデータベースで利用可能となる新しい値を定義します。[Get database parameter](get-database-parameter.md) で使用された場合、コマンドライン(*コマンドラインインターフェース* 参照)、4DLink ファイル(*4DLinkファイルを使用する* 参照)、あるいは前のセッションでの[SET DATABASE PARAMETER](set-database-parameter.md) への呼び出しなどを使用して定義された、現在利用可能なユーザー引数値を取得します。(\*) [SET DATABASE PARAMETER](set-database-parameter.md)がUser param value を設定した後に、[OPEN DATABASE](open-database.md)にuser-param xml 属性を含む.4DLink ファイル渡して呼び出した場合、4D は[SET DATABASE PARAMETER](set-database-parameter.md)で提供された引数のみを考慮します。
+自動コミットモードは、データベースの参照整合性を強化するために使用されます。このモードが有効の時、すべての*SELECT*, INSERT, *UPDATE* そして *DELETE* (SIUD) クエリは、これらがトランザクション内で実行されていない場合、自動でアドホックなトランザクションに含められます。このモードはデータベースの環境設定でも設定できます。
-### Times inside objects (109)
-スコープ: 4D ローカル、4D Server (全てのプロセス)
+### SQL Engine case sensitivity (44)
- 異なるセッション間で値を保持: No
+**スコープ**: データベース**
- **取りうる値**: Times in seconds (0) (デフォルト)、 Times in milliseconds (1)
+2セッション間で設定を保持**: Yes**
-**詳細**: オブジェクトプロパティ内およびコレクション要素内で時間値がどのように変換され保存されるかを定義するとともに、JSONおよびWeb エリアへの読込/書出の方法を定義します。デフォルトでは、4D v17 以降、時間はオブジェクト内では秒数として変換・保管されます。
+とりうる値**: 0 (大文字小文字を区別しない) または 1 (区別する)
-以前のリリースでは、時間値はこれらのコンテキストにおいてはミリ秒数として変換・保管されていました。このセレクターを使用することで、必要であれば以前の設定に戻すことで、移行がスムーズになります。
+: SQLエンジンが文字列比較を行う際に、大文字と小文字の違いを考慮させるかどうかを設定します。 デフォルトで値は1 (大文字小文字を区別する) です。SQLエンジンは文字列比較 (並び替えやクエリ) の際に大文字と小文字とアクセント付き文字を異なる文字として扱います。例えば“ABC”= “ABC”ですが“ABC” # “Abc”であり、"abc" # "âbc"です。SQLエンジンと4Dエンジンの動作をそろえたいなど特定の場合では、大文字と小文字を区別しない文字列比較 (“ABC”=“Abc"="âbc") を使用できます。
-**注**: ORDA メソッドとSQL エンジンはこの設定を無視し、時間値は常に秒数であるとみなします。
+**警告:* このオプションはデータベースのストラクチャーファイルと全てのプロセスを変更するため、パフォーマンス上の観点から、データベースのスタートアップ時にのみ設定することが強く推奨されます。*
-### SMTP Log (110)
+このオプションはアプリケーション環境設定の[CALL SUBFORM CONTAINER](call-subform-container.md) で設定できます。
-**Thread-safe** : Yes
+
+
+
+### SQL Server Port ID (88)
**スコープ**: 4D ローカル、4D Server
-**異なるセッション間で値を保持**: しない**
+**2セッション間で設定を保持**: Yes
-取りうる値**: 0 あるいは1 からX まで(0 = 記録しない、1 から X = ファイル名に追加されるシーケンシャルな数字)。デフォルトでは、値は0(SMTP 通信は記録されない)です。
+**説明**: 4Dローカル、または4D Server の統合されたSQLサーバーで使用されるTCPポート番号を取得、または設定します。デフォルトの値は19812です。このセレクターが設定されると、データベース設定は更新されます。TCPポート番号はデータベース設定ダイアログボックスの"SQL"ページにおいても設定可能です。
-: *transporter* オブジェクトが*transporter.send( )* または *SMTP\_transporter.checkConnection( )* を通して処理される際、4D とSMTP サーバー間の通信の記録を開始、あるいは停止します。デフォルトでは、値は0です(通信は記録されない)。このログが有効化されると、データベースのLogs フォルダ内にログファイルが作成されます。ファイル名は4DSMTPLog\_X.txt で、この*X* はログのシーケンシャルな番号です。4DSMTPLog のファイルのサイズが10MB に達すると、そのファイルは閉じられて新しいファイルが生成され、シーケンシャルな番号は数字がインクリメントされます。同じ名前のファイルが既に存在していた場合、そのファイルは直接上書きされます。*value* 引数を使用してシーケンスの開始番号を設定することができます。デフォルトでは全てのファイルが残されますが、Circular log limitation パラメータを使用することで保存しておくファイルの数を管理することができます。
+**とりうる値**: 0 から 65535
-4DSMTPLog\_X.txt ファイルの詳細な情報については、*ログファイルの詳細* の章を参照してください。
+**デフォルト値**: 19812
-### Current process debug log recording (111)
-**スコープ:** 4D アプリケーション
+### SSL cipher list (64)
-**異なるセッション間で値を保持:** No
+**スコープ**: 4Dアプリケーション **2セッション間で設定を保持**: No
-**詳細**: **カレントプロセスにおける**プログラミングイベントの、別のログファイルへのシーケンシャルな記録を開始または停止します。このログはDebug log recording (セレクター34)に似ていますが、こちらはカレントプロセスにのみを対象とします。ログファイル名はアルファベットの"p"とプロセス番号を含みます: 4DDebugLog\[\_p*N*_*n*].txt ここでのNはプロセスの固有のIDです。
+**とりうる値**: コロンで区切られた一連の文字列 (例 "ECDHE-RSA-AES128-....")
-このフォーマットと*4DDebugLog* ファイルの使用についての詳細な情報については、デザインリファレンスの*ログファイルの詳細* を参照してください。
+**説明**: 安全なプロトコルのために4Dが使用する暗号リストです。このリストを使用して4Dによって実装された暗号化アルゴリズムの順位を変更することができます。例えば、以下の文字列を *value* 引数に渡す事ができます:"HIGH:!aNULL:!MD5:!3DES:!CAMELLIA:!AES128:!RSA:!DH:!RC4". 暗号リストのシンタックスの完全な詳細については、*OpenSSL の暗号ページ* *のサイト* を参照して下さい。
-**注:** このセレクターはデバッグ目的のためだけに提供されており、使用する際には注意が必要です。特に、アプリケーションのパフォーマンスに影響しうるため、製品で使用してはいけません。 Debug log recording および Current process debug log recording セレクターは同時に併用することができ、その場合にはメインのログファイルにはカレントプロセスのアクションは記録されません。
+この設定はメインWebサーバー(ただしWebサーバーオブジェクトは除く)、SQLサーバー、クライアント/サーバー接続、そしてHTTPクライアントと、安全なプロトコルを使用する4D コマンドの全てに対して適用されます。この変更は一時的な物です(つまり異なるセッション間で設定は保持されません)。
+暗号リストが変更された場合、新しい設定が使用されるようにするためには関係するサーバーを再起動する必要があります。
+暗号リストを (SLIファイルに恒久的に格納された) デフォルト値に再設定するには、*value*引数に空の文字列 ("") を渡して [SET DATABASE PARAMETER](set-database-parameter.md) コマンドを呼び出します。
-### Is current database a project (112)
+**注**: [Get database parameter](get-database-parameter.md) コマンドで暗号リストはオプションの *stringValue* 引数に返され、戻り値は常に0となります。
-**注:** このセレクターは[Get database parameter](get-database-parameter.md) コマンドでのみ使用可能で、その値を設定することはできません。
-: 4D アプリケーション**
-詳細**: カレントのデータベースアーキテクチャーがプロジェクトモードなら1を、それ以外の場合には0を返します。詳細な情報については、*データベースのプロジェクトモードとバイナリーモード* の章を参照してください。
+### Table sequence number (31)
+**スコープ**:4D アプリケーション
-### Is host database a project (113)
+ **2セッション間で設定を保持**: Yes
-**注:** このセレクターは[Get database parameter](get-database-parameter.md) コマンドでのみ使用可能で、その値を設定することはできません。
+ **とりうる値**: 任意の倍長整数値
-: 4D アプリケーション**
+**説明**: Command SET DATABASE PARAMETERこのセレクタは、引数に渡したテーブルのレコードの、カレントのユニーク番号を取得あるいは設定するために使用します。“カレントの数値”とは“最後に使用された数値”を意味します。SET DATABASE PARAMETERコマンドを使用してこの値を変更すると、渡された値+1の番号を使用して次のレコードが作成されます。この新しい番号は、[Sequence number](sequence-number.md "Sequence number")コマンドによって返される、さらにはストラクチャエディタやSQLで自動インクリメントが設定されたフィールドに返される番号です。
-詳細**: ホストデータベースアーキテクチャーがプロジェクトモードなら1を、それ以外の場合には0を返します。詳細な情報については、*データベースのプロジェクトモードとバイナリーモード* の章を参照してください。
+デフォルトで、この固有の番号は4Dが設定し、レコードの作成順に対応します。詳細は[Sequence number](sequence-number.md "Sequence number")コマンドのドキュメントを参照してください。
-### Libldap version (114)
-**スコープ**: カレント4D マシン
-**異なるセッション間で値を保持**: No
-**詳細**: カレントマシン上の4D アプリケーション内のLDAP ライブラリーのバージョン番号を返します(読み出し専用)
+### TCPUDP log recording (131)
+**Scope:** 4D application.
+**Kept between two sessions:** No.
-### Libsasl version (115)
+**Possible values:** `0`: Logging disabled (default), `1`: Logging enabled.
-**スコープ**: カレント4D マシン**
+**Description:** Enables or disables the `4DTCPUDPLog.txt` file for logging TCP events.
-異なるセッション間で値を保持**: No**
-詳細**: カレントマシン上の4D アプリケーション内のSASL ライブラリーのバージョン番号を返します(読み出し専用)
+### Times inside objects (109)
-### POP3 Log (116)
+スコープ: 4D ローカル、4D Server (全てのプロセス)
-**Thread-safe** : Yes
+ 異なるセッション間で値を保持: No
-**スコープ:** 4D ローカル、4D Server
+ **取りうる値**: Times in seconds (0) (デフォルト)、 Times in milliseconds (1)
-**2セッション間で設定を保持:** No
+**詳細**: オブジェクトプロパティ内およびコレクション要素内で時間値がどのように変換され保存されるかを定義するとともに、JSONおよびWeb エリアへの読込/書出の方法を定義します。デフォルトでは、4D v17 以降、時間はオブジェクト内では秒数として変換・保管されます。
-**取りうる値:** 0 または1からXまでの数字(0= 記録を取らない、1からX=シーケンシャルな数字、ファイル名に追加される)。デフォルトでは、値は0です(POP3通信は記録されません)。
+以前のリリースでは、時間値はこれらのコンテキストにおいてはミリ秒数として変換・保管されていました。このセレクターを使用することで、必要であれば以前の設定に戻すことで、移行がスムーズになります。
-**説明**: トランスポーターオブジェクトが*POP3\_transporter.getMail( )* または *POP3\_transporter.checkConnection( )*で処理されたとき、4D とPOP3 サーバー間の通信の記録を開始または停止します。デフォルトでは値は0 です(通信は記録されません)。この機構か有効化されている時、データベースのLogs フォルダにログファイルが作成されます。ファイル名は4DPOP3Log\_X.txt という形式となっており、X はログのシーケンシャル番号です。4DPOP3Log のサイズが10MBに到達すると、そのファイルは閉じられて新しいファイルが生成され、シーケンシャル番号は1つ増加します。同じ名前のファイルが既に存在する場合、それは上書きされます。シーケンシャル番号の開始番号を、value 引数を用いて指定することができます。デフォルトでは全てのファイルが保持されますが、Circular log limitation 定数を使用することで残すファイルの数を制限することもできます。
+**注**: ORDA メソッドとSQL エンジンはこの設定を無視し、時間値は常に秒数であるとみなします。
-4DPOP3Log\_X.txt ファイルの詳細な情報については、*ログファイルの詳細* の章を参照してください。
-### Is host database writable (117)
+### Tips delay (102)
-**注:** このセレクターは[Get database parameter](get-database-parameter.md) コマンドでしか使用できず、この値を設定することはできません。
+**スコープ:** 4Dアプリケーション
-**スコープ**: 4D アプリケーション
+**異なるセッション間で値を保持:** No
-**詳細**: ホストのプロジェクトファイル/ストラクチャーが書き込み可能なら1を、読み出し専用なら0を返します。
+**取りうる値:** 倍調整数 >= 0 (ティック)
+**詳細:** マウスカーソルがヘルプメッセージが関連づけられたオブジェクト内で停止してからTipsが表示されるまでの遅延時間です。値はティック(1/60秒)単位で表現されます。デフォルトの値は45ティック(=0.75秒)です。
-### IMAP Log (119)
-**Thread-safe** : Yes
-**スコープ**: 4D ローカル、4D Server
+### Tips duration (103)
-**異なるセッション間で値を保持**: No
+**スコープ:** 4Dアプリケーション
-**取りうる値**: 0 または1 から X(0= 記録しない、1からX= シーケンシャル番号、ファイル名に追加される)。デフォルトでは値は0 です(IMAP の交換は記録されない)。
+**異なるセッション間で値を保持:** No
-**詳細**: transporter オブジェクトが*IMAP\_transporter.getMail( )* または *IMAP\_transporter.checkConnection( )* で処理される際の4D とIMAP サーバーとの間の通信記録を開始または停止します。デフォルトでは、値は0です(通信は記録されません)。この機構が有効化されている場合、ログファイルがデータベースのLogフォルダに作成されます。ファイルは4DIMAPLog\_X.txt と名前がつけられ、このX はログのシーケンシャル番号です。ファイルのサイズが10MB に到達すると、ファイルは閉じられ、インクリメントされたシーケンシャル番号を持った新しいファイルが生成されます。同じ名前のファイルが既に存在する場合、それは直接置き換えられます。value 引数を使用するとシーケンス番号の開始番号を設定することができます。デフォルトで、全てのファイルは保持されますが、Circular log limitation 引数を使用することで保持するファイルの数をコントロールすることができます。
+**取りうる値:** 倍調整数 >= 60 (ティック)
-ファイルの詳細については、*ログファイルの詳細* の章を参照してください。
+**詳細:** Tipsの最大表示時間です。値はティック(1/60秒)単位で表現されます。デフォルトの値は720ティック(=12秒)です。
-### Libzip version (120)
-**スコープ:** カレントの4D マシン**
+### Tips enabled (101)
-2セッション間で設定を保持:** n/a**
+**スコープ:** 4D アプリケーション
-説明:** カレントマシン上の4D アプリケーションのlibzip ライブラリのバージョン番号を返します(読み出し専用)
+**異なるセッション間で値を保持:** No
+**取りうる値:** 0 = tips無効化、1 = tips有効化(デフォルト)
+**詳細:** 4DアプリケーションのTipsのカレントの表示状態を設定あるいは取得します。デフォルトでは、Tipsは有効化されています。
-### Pause logging (121)
+この引数は全ての4DTipsに影響するという点に注意してください。つまり、フォームヘルプメッセージとデザインモードのエディターTipsに影響します。
-**Thread-safe** : Yes
-**スコープ**: 4D アプリケーション**
-異なるセッション間で値を設定を保持**: No**
-取り得る値**: 0 (ログを再開)、1 (ログを停止)
+### Use legacy network layer (87)
-このセレクターを使用するとアプリケーション上で開始された全てのログオペレーションを停止/再開させることができます(ただしORDAログは除く)。この機能は4Dアプリケーションのタスクを一時的に軽くしたり、あるいはログオペレーションのスケジュールを設定することに有用です。
+**スコープ**: 4D ローカル、4D Server
+**異なるセッション間で値を保持**: Yes
-### TCPUDP log recording (131)
+**詳細:** クライアント/サーバー間の通信のネットワークレイヤーのカレントの状態を設定・取得します。旧式ネットワークレイヤーは4D v14 R5以降廃止予定となり、お使いのアプリケーションにおいて*ServerNet* ネットワークレイヤーへと積極的に置き換えられてい行くべきです。*ServerNet* は、将来のネットワークの進化の恩恵を受けるために、今後の4Dのリリースの中で必須要項となって行きます。互換性の理由から、既存のアプリケーションの速やかな移行をサポートするために、旧式のネットワークレイヤーは引き続きサポートされます(v14 R5以前のリリースから変換されたアプリケーションにおいてはデフォルトで旧式ネットワークレイヤーが使用されます)。クライアント/サーバー通信において旧式ネットワークレイヤーを使用するためにはこの引数に1を渡します(*ServerNet* が無効化されます)。0を渡すと旧式ネットワークレイヤーが無効化されます(そして*ServerNet* が使用されます)。
-**Scope:** 4D application.
+このプロパティはデータベース設定の*互換性ページ* の"旧式ネットワークレイヤー"オプションを使用することによっても設定できます(*ネットワーク/クライアント-サーバー通信*参照)。この章では、移行戦略についての議論を読むこともできます。*ServerNet* の速やかな有効化が推奨されます。
-**Kept between two sessions:** No.
+この引数が有効になるためには、アプリケーションを再起動する必要があります。OS X版の4D Server 64-bit 版においては*ServerNet* のみをサポートするため、このオプションはご利用いただけません(常に0を返します)。
-**Possible values:** `0`: Logging disabled (default), `1`: Logging enabled.
+**取り得る値:** 0 または 1 (0 = 旧式ネットワークレイヤーを使用しない、1 = 旧式ネットワークレイヤーを使用する)
-**Description:** Enables or disables the `4DTCPUDPLog.txt` file for logging TCP events.
+**デフォルトの値:** 4D v14 R5以降で作成されたデータベースにおいては0、4D v14 R4以前のものから変換されたデータベースにおいては1
-### RDP optimization (133)
-**Scope:** 4D application.
+### User param value (108)
-**Kept between two sessions:** No.
+**スコープ:** 4D スタンドアロン、4D Server
-**Possible values:** `0`: Disabled (default), `1`: Enabled.
+**2セッション間で値を保持:** No
+
+**取りうる値**: 任意のカスタムの文字列
+
+**説明:** 4D アプリケーションが再起動される際に、ひとつのセッションから次のセッションへと渡されるカスタムの文字列です。このセレクターは異なる引数を使用してアプリケーションを再起動する必要がある、自動化されたユニットテストなどのコンテキストで有用です。[SET DATABASE PARAMETER](set-database-parameter.md) で使用された場合、手動で、あるいは[OPEN DATABASE](open-database.md)(\*)、 [OPEN DATA FILE](open-data-file.md)、 または [RESTART 4D](restart-4d.md) コマンドを使用して4D が再起動したあとに開かれるデータベースで利用可能となる新しい値を定義します。[Get database parameter](get-database-parameter.md) で使用された場合、コマンドライン(*コマンドラインインターフェース* 参照)、4DLink ファイル(*4DLinkファイルを使用する* 参照)、あるいは前のセッションでの[SET DATABASE PARAMETER](set-database-parameter.md) への呼び出しなどを使用して定義された、現在利用可能なユーザー引数値を取得します。(\*) [SET DATABASE PARAMETER](set-database-parameter.md)がUser param value を設定した後に、[OPEN DATABASE](open-database.md)にuser-param xml 属性を含む.4DLink ファイル渡して呼び出した場合、4D は[SET DATABASE PARAMETER](set-database-parameter.md)で提供された引数のみを考慮します。
-**Description:** Enables or disables optimizations for RDP (Remote Desktop Protocol). When enabled, optimizes in particular the use of shared clipboard in RDP connections, which can otherwise lead to freezing issues. Note that this selector disables the support in clipboard for images encoded as data uri in raw text (only concerns images dropped or explicitly copied as text from a browser).
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/commands-legacy/set-database-parameter.md b/i18n/ja/docusaurus-plugin-content-docs/current/commands-legacy/set-database-parameter.md
index a65c682040218a..cd85497e741d91 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/commands-legacy/set-database-parameter.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/commands-legacy/set-database-parameter.md
@@ -21,6 +21,36 @@ displayed_sidebar: docs
*selector*には、変更するデータベースのパラメーターを指定します。4Dは*Database Parameters*テーマに定義済の下記のような定数があります。次の表は、各定数とその有効範囲、またその設定が2つの異なるセッションで保持されるかを示しています:
+### 4D Remote mode timeout (14)
+
+**スコープ**(旧式ネットワークレイヤーのみ): *value* が正数の場合4D アプリケーション
+
+**2セッション間で設定を保持**: *value* が正数の場合Yes
+
+**説明**: 非常に特殊な場合においてのみ使用されるべき定数です。この引数を使用して、4D Serverに接続したリモートの4Dマシンが参照するタイムアウト値を設定できます。リモートモードの4Dが使用するデフォルトのタイムアウト値は、リモートマシン上の環境設定の“クライアント-サーバ/設定”ページで設定されます。
+
+4D Remote Mode Timeout セレクターは旧式ネットワークレイヤーを使用している場合のみ考慮されます。*ServerNet* レイヤーが有効化されている場合には無視されます。この設定は4D Server Timeout (13) によって完全に管理されています。
+
+
+
+
+### 4D Server log recording (28)
+
+**Thread-safe** : Yes
+
+**Scope**: 4D Server, 4D リモート
+
+**2セッション間で設定を保持**: No**
+
+とりうる値**: 0 または 1 から X (0 = 記録しない, 1 から X = ファイル名に付加するシーケンス値)。
+
+: 4D Serverが受け取る標準的なリクエスト(Webリクエストを除く)の記録を開始または停止します。デフォルト値は0(リクエストを記録しない)です。
+
+サーバマシンが受信した各リクエストをログファイルに記録するよう、4D Serverに指示することができます。このメカニズムが有効になると、データベースストラクチャと同じ階層に2つのログファイルが作成されます。サーバー側では*4DRequestsLogServer\_X*.txt および *4DRequestsLog\_ProcessInfoServer\_X*.txt 、リモート側では*4DRequestsLog\_X*.txt および *4DRequestsLog\_ProcessInfo\_X*.txt on the と名付けられたファイルが作成されます(Xはログのシーケンシャル番号)。ファイルサイズが10MBに達するとそのファイルは閉じられ、インクリメントしたシーケンス番号を使用して新しいファイルが作成されます。もし同じ名前のファイルが存在する場合は置き換えられます。シーケンシャル番号の開始番号を、*value*引数を使用して指定できます。このテキストファイルにはそれぞれのリクエストに関する様々な情報(時間、プロセス番号、ユーザ、リクエストサイズ、処理時間など)がシンプルな表形式のフォーマットで保存されます。4DRequestLog ファイルのより詳細な情報については、*ログファイルの詳細* の章を参照してください。
+
+
+
+
### 4D Server timeout (13)
**スコープ**: *value* が正数なら4Dアプリケーション
@@ -41,53 +71,76 @@ displayed_sidebar: docs
-### 4D Remote mode timeout (14)
-**スコープ**(旧式ネットワークレイヤーのみ): *value* が正数の場合4D アプリケーション
+### Auto synchro resources folder (48)
-**2セッション間で設定を保持**: *value* が正数の場合Yes
+**スコープ**:4D リモートマシン
-**説明**: 非常に特殊な場合においてのみ使用されるべき定数です。この引数を使用して、4D Serverに接続したリモートの4Dマシンが参照するタイムアウト値を設定できます。リモートモードの4Dが使用するデフォルトのタイムアウト値は、リモートマシン上の環境設定の“クライアント-サーバ/設定”ページで設定されます。
+ **2セッション間で設定を保持**: No
-4D Remote Mode Timeout セレクターは旧式ネットワークレイヤーを使用している場合のみ考慮されます。*ServerNet* レイヤーが有効化されている場合には無視されます。この設定は4D Server Timeout (13) によって完全に管理されています。
+ **とりうる値**: 0 (同期しない), 1 (自動同期) または2 (確認する).
+
+**説明**: このコマンドを実行する4DクライアントマシンのResourcesフォルダの動的な同期モード。
+サーバ上のResourcesフォルダの内容が更新されたり、(リソースエクスプローラや SET DATABASE LOCALIZATION コマンドで) ユーザが同期をリクエストすると、サーバは接続されたユーザに通知を行います。
+クライアント側では3つの同期モードを選択できます。Auto Synchro Resources Folderセレクタはカレントセッションでクライアントマシンが使用するモードを指定できます:
-### Port ID (15)
+0 (デフォルト値): 動的な同期を行わない (同期リクエストは無視される)1: 自動の動的同期2: クライアントマシンにダイアログを表示し、同期の受け入れ回避を確認するアプリケーションの環境設定で、同期モードをグローバルに設定できます。
-**スコープ**: 4D ローカル, 4D Server
-**2セッション間で設定を保持**: No
-**説明**: Command SET DATABASE この引数を使用して、ローカルモードの4Dおよび4D Serverによる4D Webサーバが使用するTCPポートをオンザフライで変更することができます。デフォルト値は80で、この値は環境設定ダイアログボックスの“Web/設定”ページで設定できます。*TCP Port Numbers*テーマの定数を*value*引数に使用できます。
+### Cache flush periodicity (95)
+**Thread-safe** : Yes
-Port IDセレクタは、コンパイルして4D Desktopを組み込んだ4D Webサーバで役立ちます(この場合、デザインモードへのアクセス手段がありません)。TCPポートIDに関する詳細は*Webサーバー設定*を参照してください。
+**スコープ**: 4Dローカル、4D Server
+**異なるセッション間で値を保持**: No
-### Character set (17)
+**取りうる値**: 倍長整数 > 1 (秒)
-**説明**: 廃止 (互換性のために保持)。HTTPサーバー設定を変更するためには[WEB SET OPTION](web-set-option.md)と[WEB GET OPTION](web-get-option.md)コマンドを使用してください。
+**詳細**: 秒単位で指定された、キャッシュ保存頻度を取得あるいは設定します。この値を変更すると、データベース設定の[XML DECODE](xml-decode.md)内の**キャッシュを保存: X秒毎**オプションをセッション中の間上書きします(これはデータベース設定には保存されません)。
-### Max concurrent Web processes (18)
+
+### Cache unload minimum size (66)
+
+**スコープ**:4Dアプリケーション
+
+ **2セッション間で設定を保持**: No
+
+ **とりうる値**: 1より大きい正の倍長整数
+
+**説明**: エンジンがオブジェクトをデータベースキャッシュに配置する際に空き空間を作成する必要が出た場合、データベースキャッシュからリリースするメモリの最小サイズ (バイト単位)。
+
+このセレクタの目的はキャッシュからデータをリリースする時間を減らし、よりパフォーマンスを得ることにあります。キャッシュのサイズやデータベース中で処理されるデータのブロックサイズに応じてこの値を変更できます。
+
+このセレクタが使用されないとデフォルトで、4Dは空間が必要になった時最低10%のキャッシュをアンロードします。
+
+
+
+
+### Character set (17)
**説明**: 廃止 (互換性のために保持)。HTTPサーバー設定を変更するためには[WEB SET OPTION](web-set-option.md)と[WEB GET OPTION](web-get-option.md)コマンドを使用してください。
-### Client port ID (22)
-**スコープ**: すべての4Dリモートマシン
+### Circular log limitation (90)
- **2セッション間で設定を保持**: Yes
+**Thread-safe** : Yes
- **とりうる値**: セレクタ15参照
+**スコープ**: 4Dローカル、4D Server **異なるセッション間で値を保持**: No**
+
+取りうる値**: 任意の整数値、0 = 全てのログを保持**
+
+詳細**: 各タイプのロゴのローテーションに保存するファイル数の最大値。デフォルトでは、直近の50 ファイルが保持されます。*X* という値を渡した場合、直近の*X* 個のファイルのみが保持され、最も古いファイルは新しいファイルが作成されたときに自動的に削除されます。この設定は全てのログファイルに対して適用されます:リクエストログ(セレクター28と45)、デバッグログ(セレクター34)、イベントログ(セレクター79)、Web ログ([WEB SET OPTION](web-set-option.md)コマンドのセレクター29と84)、などです。
-**説明**: このセレクタを使用して、Webサーバとして使用する4Dクライアントマシンの動作パラメタを指定できます。これらのセレクタを用いて指定された値は、 Webサーバとして使用するすべての4D Clientマシンに対して適用されます。特定の4D Clientマシンに対してのみ値を指定したい場合には、4D Clientの環境設定ダイアログボックスを使用してください。
@@ -103,6 +156,43 @@ Port IDセレクタは、コンパイルして4D Desktopを組み込んだ4D Web
+
+### Client HTTPS port ID (40)
+
+**スコープ**:すべての4Dリモートマシン
+
+ **2セッション間で設定を保持**: Yes
+
+ **とりうる値**: 0 ~ 65535
+
+**説明**: このセレクタは、クライアントマシンのWebサーバがSSLによるセキュアな接続(HTTPSプロトコル)で使用するTCP ポート番号を、プログラムで変更するために使用できます。デフォルトの値は443(標準ポート番号)です。
+
+このセレクタの動作はセレクタ39と同じですが、Web サーバとして使用されるすべてのクライアントマシンに適用されます。特定のクライアントマシンの設定だけを変更するのであれば、4Dリモートの環境設定ダイアログ画面を使用してください。
+
+
+
+
+### Client log recording (45)
+
+**スコープ**: リモート4Dマシン
+
+2セッション間で設定を保持: No
+
+**とりうる値**: 0 または 1 から X (0 = 記録しない, 1 から X = ファイル名に付加するシーケンス値)。
+
+**説明**: コマンドを実行した4Dクライアントマシンが実行した標準的なリクエスト(Webリクエストを除く)の記録を開始または停止します。デフォルト値は0(リクエストを記録しない)です。
+
+
+
+クライアントマシンが実行したリクエストをログファイルに記録するよう、4Dに指示することができます。このメカニズムが有効になると、クライアントマシンのデータベースのローカルフォルダ内、Logsサブフォルダに2つのログファイルが作成されます。ファイルには"4DRequestsLog\_X.txt"と"4DRequestsLog\_ProcessInfo\_X.txt"(Xはログのシーケンシャル番号)の名前が付けられます。4DRequestsLogファイルサイズが10MBに達するとそのファイルは閉じられ、インクリメントしたシーケンス番号を使用して新しいファイルが作成されます。もし同じ名前のファイルが存在する場合は置き換えられます。シーケンシャル番号の開始番号を、value引数を使用して指定できます。
+
+
+
+このテキストファイルにはそれぞれのリクエストに関する様々な情報(時間、プロセス番号、リクエストサイズ、処理時間など)がシンプルな表形式のフォーマットで保存されます。4DRequestsLogについての詳細な情報については、*ログファイルの詳細* の章を参照してください。
+
+
+
+
### Client max concurrent Web proc (25)
**スコープ**: すべての4Dリモートマシン
@@ -115,25 +205,42 @@ Port IDセレクタは、コンパイルして4D Desktopを組み込んだ4D Web
-### Maximum Web requests size (27)
-**説明**: 廃止 (互換性のために保持)。HTTPサーバー設定を変更するためには[WEB SET OPTION](web-set-option.md)と[WEB GET OPTION](web-get-option.md)コマンドを使用してください。
+### Client port ID (22)
+**スコープ**: すべての4Dリモートマシン
+ **2セッション間で設定を保持**: Yes
-### 4D Server log recording (28)
+ **とりうる値**: セレクタ15参照
-**Thread-safe** : Yes
+**説明**: このセレクタを使用して、Webサーバとして使用する4Dクライアントマシンの動作パラメタを指定できます。これらのセレクタを用いて指定された値は、 Webサーバとして使用するすべての4D Clientマシンに対して適用されます。特定の4D Clientマシンに対してのみ値を指定したい場合には、4D Clientの環境設定ダイアログボックスを使用してください。
-**Scope**: 4D Server, 4D リモート
-**2セッション間で設定を保持**: No**
-とりうる値**: 0 または 1 から X (0 = 記録しない, 1 から X = ファイル名に付加するシーケンス値)。
-: 4D Serverが受け取る標準的なリクエスト(Webリクエストを除く)の記録を開始または停止します。デフォルト値は0(リクエストを記録しない)です。
+### Client Server port ID (35)
+
+**スコープ**:データベース
+
+ **2セッション間で設定を保持**: Yes
+
+ **とりうる値**: 0~65535
+
+**説明**: 4D Server が(4D Client に対して)データベースを公開するために使用されるTCPポート番号をプログラムで変更するために使用します。デフォルト値は19813 です。
+
+
+
+この値を変更すれば、TCPプロトコルを使用して、複数の4D クライアント/サーバアプリケーションを同じマシンで同時に使用することができます。その場合、それぞれのアプリケーションごとに異なるポート番号を設定します。
+
+
+
+公開ポート番号は、ストラクチャファイルに記録されています。ローカルモードの4Dで設定することもできますが、クライアント/サーバ環境でのみ考慮されます。
+
+
+
+値を変更した場合、新しい設定が有効になるためには、アプリケーションを再起動する必要があります。
-サーバマシンが受信した各リクエストをログファイルに記録するよう、4D Serverに指示することができます。このメカニズムが有効になると、データベースストラクチャと同じ階層に2つのログファイルが作成されます。サーバー側では*4DRequestsLogServer\_X*.txt および *4DRequestsLog\_ProcessInfoServer\_X*.txt 、リモート側では*4DRequestsLog\_X*.txt および *4DRequestsLog\_ProcessInfo\_X*.txt on the と名付けられたファイルが作成されます(Xはログのシーケンシャル番号)。ファイルサイズが10MBに達するとそのファイルは閉じられ、インクリメントしたシーケンス番号を使用して新しいファイルが作成されます。もし同じ名前のファイルが存在する場合は置き換えられます。シーケンシャル番号の開始番号を、*value*引数を使用して指定できます。このテキストファイルにはそれぞれのリクエストに関する様々な情報(時間、プロセス番号、ユーザ、リクエストサイズ、処理時間など)がシンプルな表形式のフォーマットで保存されます。4DRequestLog ファイルのより詳細な情報については、*ログファイルの詳細* の章を参照してください。
@@ -153,19 +260,36 @@ Port IDセレクタは、コンパイルして4D Desktopを組み込んだ4D Web
-### Table sequence number (31)
-**スコープ**:4D アプリケーション
+### Current process debug log recording (111)
- **2セッション間で設定を保持**: Yes
+**スコープ:** 4D アプリケーション
- **とりうる値**: 任意の倍長整数値
+**異なるセッション間で値を保持:** No
-**説明**: Command SET DATABASE PARAMETERこのセレクタは、引数に渡したテーブルのレコードの、カレントのユニーク番号を取得あるいは設定するために使用します。“カレントの数値”とは“最後に使用された数値”を意味します。SET DATABASE PARAMETERコマンドを使用してこの値を変更すると、渡された値+1の番号を使用して次のレコードが作成されます。この新しい番号は、[Sequence number](sequence-number.md "Sequence number")コマンドによって返される、さらにはストラクチャエディタやSQLで自動インクリメントが設定されたフィールドに返される番号です。
+**詳細**: **カレントプロセスにおける**プログラミングイベントの、別のログファイルへのシーケンシャルな記録を開始または停止します。このログはDebug log recording (セレクター34)に似ていますが、こちらはカレントプロセスにのみを対象とします。ログファイル名はアルファベットの"p"とプロセス番号を含みます: 4DDebugLog\[\_p*N*_*n*].txt ここでのNはプロセスの固有のIDです。
+
+このフォーマットと*4DDebugLog* ファイルの使用についての詳細な情報については、デザインリファレンスの*ログファイルの詳細* を参照してください。
+**注:** このセレクターはデバッグ目的のためだけに提供されており、使用する際には注意が必要です。特に、アプリケーションのパフォーマンスに影響しうるため、製品で使用してはいけません。 Debug log recording および Current process debug log recording セレクターは同時に併用することができ、その場合にはメインのログファイルにはカレントプロセスのアクションは記録されません。
-デフォルトで、この固有の番号は4Dが設定し、レコードの作成順に対応します。詳細は[Sequence number](sequence-number.md "Sequence number")コマンドのドキュメントを参照してください。
+
+
+### Dates inside objects (85)
+
+スコープ: カレントプロセス
+
+ 2セッション間で設定を保持: No
+
+ **取り得る値**: String type without time zone (0), String type with time zone (1), Date type (2) (デフォルト)
+
+**説明**: 日付がオブジェクトにどのように保存されるかを定義するとともに、どのようにJSON に読み込み/書き出しされるかも定義します。
+
+セレクターの値がDate type (4D v17以降で作成されたデータベースにおけるデフォルト)のとき、4D 日付はオブジェクト内で日付型として保存され、ローカルの日付設定に準拠します。JSON フォーマットに変換された時、日付属性は、時間を含まない文字列へと変換されます(**注:** この設定は、データベース設定のにある"オブジェクト内ではISO日付フォーマットの代わりに日付型を使用"オプションによって設定することができます)。
+
+セレクターにを渡した場合、4D 日付はローカルなタイムゾーンを考慮に入れつつISO 文字列に変換されます。例えば、例えば、23/08/2013という日付の変 換を、フランスのサマータイム(GMT+2)にて実行した場合、JSONフォーマットの"2013-08-22T22:00:00Z"という結 果が返されます。この原理はJavaScriptの標準のオペレーションに従うものです。これは異なるタイムゾーンにいる人にJSON日付の値を 送る場合には、エラーの原因となりかねません。例えば、[Selection to JSON](selection-to-json.md)を使ってフランスでエクスポートされたテーブルを[JSON TO SELECTION](json-to-selection.md) を使用してアメリカで再インポートする、というような場合です。日付の値は、デフォルトではそれぞれのタイムゾーンにおいて再変換 されるため、データベース内に保存された値は異なってしまいます。こういった場合には、このセレクターにString type without time zoneを渡す事によって、タイムゾーンを考慮しないよ うに日付の変換モードを変更することができます。すると、23/08/2013という日付を変換した場合に は、"2013-08-23T00:00:00Z"という値を返すようになります。
+
@@ -217,486 +341,431 @@ SET DATABASE PARAMETER (34;0) // ファイルを無効化
-### Client Server port ID (35)
-**スコープ**:データベース
+### Diagnostic log level (86)
- **2セッション間で設定を保持**: Yes
+**Thread-safe** : Yes
- **とりうる値**: 0~65535
+**スコープ:** 4D アプリケーション**
-**説明**: 4D Server が(4D Client に対して)データベースを公開するために使用されるTCPポート番号をプログラムで変更するために使用します。デフォルト値は19813 です。
+** **異なるセッション間で設定を保持:** No**
+** **説明:** 診断ログが有効化された際に、そこに含まれるメッセージのレベル(Diagnostic log recording セレクターを参照)。各レベルは診断メッセージのカテゴリを指定し、それより重要なカテゴリのメッセージも自動的に含まれます。カテゴリの詳細については、*developer.4d.com* 上の*Diagnostic log levels* の章を参照してください。
+ **取りうる値:** 以下の定数のいづれか(デフォルトは Log info ): Log trace: ERROR、WARN、INFO、DEBUG、TRACE を有効化します(最も詳細なレベル) Log debug: ERROR、WARN、INFO、DEBUG を有効化します Log info: ERROR、WARN、INFO を有効化します(デフォルト) Log warn: ERROR、WARN を有効化します Log error: ERROR を有効化します(最も簡略なレベル)
-この値を変更すれば、TCPプロトコルを使用して、複数の4D クライアント/サーバアプリケーションを同じマシンで同時に使用することができます。その場合、それぞれのアプリケーションごとに異なるポート番号を設定します。
-公開ポート番号は、ストラクチャファイルに記録されています。ローカルモードの4Dで設定することもできますが、クライアント/サーバ環境でのみ考慮されます。
+### Diagnostic log recording (79)
+**Thread-safe** : Yes
+**スコープ**: 4Dアプリケーション
-値を変更した場合、新しい設定が有効になるためには、アプリケーションを再起動する必要があります。
+2セッション間で設定を保持: No
+取りうる値: 0 または 1 (0 = 記録しない, 1 = 記録する)
+: 4D診断ファイルの記録を開始または停止する。デフォルトの値は0(記録しない)です。
-### HTTPS Port ID (39)
+4Dは診断ファイルの中に内部的なアプリケーション処理に関連するイベントを継続的に記録することができます。このファイルに含まれる情報は4Dアプリケーション開発のために使用され、4D社の技術サポート担当により解析されます。このセレクターに1を渡すと、データベースの**Logs** フォルダ内に診断ファイルが自動的に作成されます(またはすでに存在する場合には開かれます)。ファイルには*4DDiagnosticLog\_X*.txt (あるいはサーバー側で生成された場合には *4DDiagnosticLogServer\_X*.txt) という名前が付けられます。このファイルのサイズが10MBに達するとそのファイルは閉じられ、DatabaseName\_N.txtが生成されます (Nは連番)。
-**説明**: 廃止 (互換性のために保持)。HTTPサーバー設定を変更するためには[WEB SET OPTION](web-set-option.md)と[WEB GET OPTION](web-get-option.md)コマンドを使用してください。
+[LOG EVENT](log-event.md)コマンドを使用してカスタム情報をこのファイルに書き込むこともできます。
-### Client HTTPS port ID (40)
-**スコープ**:すべての4Dリモートマシン
+### Direct2D get active status (74)
- **2セッション間で設定を保持**: Yes
+**注:** このセレクターは[Get database parameter](get-database-parameter.md)コマンドでのみ使用することができ、設定することはできません。
- **とりうる値**: 0 ~ 65535
+説明: WindowsにおいてDirect2Dのアクティブな実装を返します。
-**説明**: このセレクタは、クライアントマシンのWebサーバがSSLによるセキュアな接続(HTTPSプロトコル)で使用するTCP ポート番号を、プログラムで変更するために使用できます。デフォルトの値は443(標準ポート番号)です。
+取りうる値: 0, 1, 2, 3, 4 または 5 (セレクター69の値参照)。返される値はDirect2Dが利用可能かどうか、およびハードウェア、OSによってサポートされるDirec2Dの品質に基づきます。
-このセレクタの動作はセレクタ39と同じですが、Web サーバとして使用されるすべてのクライアントマシンに適用されます。特定のクライアントマシンの設定だけを変更するのであれば、4Dリモートの環境設定ダイアログ画面を使用してください。
+例えば以下のコードを実行した場合、
-### SQL Autocommit (43)
+ SET DATABASE PARAMETER(Direct2D status;Direct2D Hardware) $mode:=Get database parameter(Direct2D get active status)
-**スコープ**:データベース
- **2セッション間で設定を保持**: Yes
- **とりうる値**: 0 (無効) または 1 (有効)
+- Windows 7以降、システムがDirect2D互換のハードウェアを検知すると、$modeに1が設定されます。そうでなければ$modeは3に設定されます (ソフトウェアコンテキスト)。
-**説明**: SQLの自動コミットモードを有効または無効にするために使用します。デフォルトは 0 (無効モード) です。
+- Windows Vistaでは、システムがDirect2D互換のハードウェアを検知すると、$modeに1が設定されます。そうでなければ$modeは0に設定されます (Direct2D無効)。
+- Windows XPでは、$modeは常に0です (Direct2D非互換)。
-自動コミットモードは、データベースの参照整合性を強化するために使用されます。このモードが有効の時、すべての*SELECT*, INSERT, *UPDATE* そして *DELETE* (SIUD) クエリは、これらがトランザクション内で実行されていない場合、自動でアドホックなトランザクションに含められます。このモードはデータベースの環境設定でも設定できます。
+### Direct2D status (69)
-### SQL Engine case sensitivity (44)
+**スコープ*: 4Dアプリケーション*
-**スコープ**: データベース**
+ *(Direct2D Software) のみが許可されます。*
-2セッション間で設定を保持**: Yes**
-とりうる値**: 0 (大文字小文字を区別しない) または 1 (区別する)
-: SQLエンジンが文字列比較を行う際に、大文字と小文字の違いを考慮させるかどうかを設定します。 デフォルトで値は1 (大文字小文字を区別する) です。SQLエンジンは文字列比較 (並び替えやクエリ) の際に大文字と小文字とアクセント付き文字を異なる文字として扱います。例えば“ABC”= “ABC”ですが“ABC” # “Abc”であり、"abc" # "âbc"です。SQLエンジンと4Dエンジンの動作をそろえたいなど特定の場合では、大文字と小文字を区別しない文字列比較 (“ABC”=“Abc"="âbc") を使用できます。
-**警告:* このオプションはデータベースのストラクチャーファイルと全てのプロセスを変更するため、パフォーマンス上の観点から、データベースのスタートアップ時にのみ設定することが強く推奨されます。*
+### HTTP compression level (50)
+**説明**: 廃止 (互換性のために保持)。HTTPサーバー設定を変更するためには[WEB SET OPTION](web-set-option.md)と[WEB GET OPTION](web-get-option.md)コマンドを使用してください。
-このオプションはアプリケーション環境設定の[CALL SUBFORM CONTAINER](call-subform-container.md) で設定できます。
+### HTTP compression threshold (51)
-### Client log recording (45)
+**説明**: 廃止 (互換性のために保持)。HTTPサーバー設定を変更するためには[WEB SET OPTION](web-set-option.md)と[WEB GET OPTION](web-get-option.md)コマンドを使用してください。
-**スコープ**: リモート4Dマシン
-2セッション間で設定を保持: No
-**とりうる値**: 0 または 1 から X (0 = 記録しない, 1 から X = ファイル名に付加するシーケンス値)。
-**説明**: コマンドを実行した4Dクライアントマシンが実行した標準的なリクエスト(Webリクエストを除く)の記録を開始または停止します。デフォルト値は0(リクエストを記録しない)です。
+### HTTPS Port ID (39)
+**説明**: 廃止 (互換性のために保持)。HTTPサーバー設定を変更するためには[WEB SET OPTION](web-set-option.md)と[WEB GET OPTION](web-get-option.md)コマンドを使用してください。
-クライアントマシンが実行したリクエストをログファイルに記録するよう、4Dに指示することができます。このメカニズムが有効になると、クライアントマシンのデータベースのローカルフォルダ内、Logsサブフォルダに2つのログファイルが作成されます。ファイルには"4DRequestsLog\_X.txt"と"4DRequestsLog\_ProcessInfo\_X.txt"(Xはログのシーケンシャル番号)の名前が付けられます。4DRequestsLogファイルサイズが10MBに達するとそのファイルは閉じられ、インクリメントしたシーケンス番号を使用して新しいファイルが作成されます。もし同じ名前のファイルが存在する場合は置き換えられます。シーケンシャル番号の開始番号を、value引数を使用して指定できます。
-
-
-
-このテキストファイルにはそれぞれのリクエストに関する様々な情報(時間、プロセス番号、リクエストサイズ、処理時間など)がシンプルな表形式のフォーマットで保存されます。4DRequestsLogについての詳細な情報については、*ログファイルの詳細* の章を参照してください。
-
-
-
-### Query by formula on server (46)
-
-**スコープ**: カレントテーブルおよびプロセス
- **2セッション間で設定を保持**: No
- **とりうる値**: 0 (データベース設定を使用), 1 (クライアント上で実行) または 2 (サーバ上で実行)
+### Idle connections timeout (54)
-**説明**: 引数に渡された*table*に対して実行される[QUERY BY FORMULA](query-by-formula.md "QUERY BY FORMULA")や[QUERY SELECTION BY FORMULA](query-selection-by-formula.md "QUERY SELECTION BY FORMULA")コマンドの実行場所。
+**スコープ**: 値が負数でないなら4Dアプリケーション
-クライアント/サーバモードでデータベースを使用するとき、フォーミュラを使用したクエリをサーバ上またはクライアント上で実行させることができます:
+**2セッション間で設定を保持**: No
-4D v11 SQLで作成されたデータベースでは、これらのコマンドはサーバ上で実行されます。変換されたデータベースでは、これらのコマンドは、以前のバージョンの4Dと同様、クライアントマシン上で実行されます。変換されたデータベースでは、環境設定のアプリケーション/互換性ページで、これらのコマンドの実行場所をグローバルに変更できます。この実行場所の違いは、アプリケーションのパフォーマンス (通常サーバ上で実行したほうが早い) だけでなく、プログラミングにも影響します。実際フォーミュラの部品の値 (特にメソッドから呼ばれる変数) は、実行コンテキストにより異なります。このセレクタを使用して開発者は、アプリケーションの動作を適応させられます。
+**とりうる値**: 持続時間を秒で表す値。値は正数 (新規接続) または負数 (既存の接続)をとることができます。デフォルト値は20です。
-*value* 引数に0を渡すと、フォーミュラを使用するクエリの実行場所は、データベースの設定に基づきます: 4D v11 SQLで作成されたデータベースでは、これらのコマンドはサーバ上で実行されます。変換されたデータベースでは、データベース環境設定に基づき、クライアントマシンまたはサーバマシンで実行されます。*value*に1または2を渡すと、これらのコマンドの実行場所をクライアントマシンまたはサーバマシンに強制できます。
+**説明**: この引数を使用して、4DデータベースエンジンとSQLエンジン両方への動きのない接続の最大時間 (タイムアウト) を設定できます。また*ServerNet* (新しいネットワークレイヤー)モードにおいては4Dアプリケーションサーバーへの接続のタイムアウトも設定します。
-例題2を参照してください。
-**Note:** "SQLタイプ"のJOINを有効にしたい場合 (QUERY BY FORMULA Joins (49) セレクタ参照) は、フォーミュラがレコードにアクセスすることができるよう、常にフォーミュラをサーバ上で実行しなければなりません。このコンテキストでは、フォーミュラはいかなるメソッド呼び出しも含んではいけないことに注意してください。そうでない場合、自動でリモートマシンでの実行に切り替わります。
+動作していない接続がこの制限時間に達すると、接続は自動でスタンバイ状態に置かれます。つまりクライアント/サーバセッションがフリーズされ、ネットワー クソケットが閉じられます。サーバー管理ウィンドウでは、ユーザープロセスの状態は"延期"と表示されます。この動作はユーザに対し完全に透過的です。スタンバイ状態の接続でリクエストが開始されると、ソケットが自動で再び開かれ、クライアント/サーバセッションが再び有効になります。
-### Order by formula on server (47)
-**スコープ**:カレントテーブルおよびプロセス
+この設定によりサーバのリソースを節約できます。スタンバイ状態の接続はソケットを 閉じ、サーバ上のプロセスを解放します。他方これにより、ファイアウォールがアイドルなソケットを閉じてしまうことに伴い接続が失われることを避けること ができます。このためには、アイドル接続のタイムアウト値はファイアウォールのタイムアウト値よりも小さくなくてはなりません。
- **2セッション間で設定を保持**: No
- **とりうる値**: 0 (データベース設定を使用), 1 (クライアント上で実行) または 2 (サーバ上で実行)
-**説明**: 引数に渡されたtableに対して実行される[ORDER BY FORMULA](order-by-formula.md "ORDER BY FORMULA")コマンドの実行場所。
+*value*に正数を渡すと、設定はすべてのプロセスのすべての新規接続に適用されます。負数を渡すと、設定はカレントプロセスの開かれた接続に適用されます。0を渡すと、アイドル接続のタイムアウトは行われません。
-クライアント/サーバモードでデータベースを使用するとき、[ORDER BY FORMULA](order-by-formula.md "ORDER BY FORMULA")コマンドをサーバ上またはクライアント上で実行させることができます。このセレクタを使用して、このコマンドの実行場所 (サーバまたはクライアント) を指定できます。このモードはデータベース環境設定でも設定できます。詳細はセレクタ46、Query By Formula On Serverの説明を参照してください。
+このパラメターはクライアント側で設定する必要があります。通常この値を変更する必要はありません。
-**Note:** "SQLタイプ"のJOINを有効にしたい場合 (QUERY BY FORMULA Joins (49) セレクタ参照) は、フォーミュラがレコードにアクセスすることができるよう、常にフォーミュラをサーバ上で実行しなければなりません。このコンテキストでは、フォーミュ ラはいかなるメソッド呼び出しも含んではいけないことに注意してください。そうでない場合、自動でリモートマシンでの実行に切り替わります。
-### Auto synchro resources folder (48)
+### IMAP Log (119)
-**スコープ**:4D リモートマシン
+**Thread-safe** : Yes
- **2セッション間で設定を保持**: No
+**スコープ**: 4D ローカル、4D Server
- **とりうる値**: 0 (同期しない), 1 (自動同期) または2 (確認する).
+**異なるセッション間で値を保持**: No
-**説明**: このコマンドを実行する4DクライアントマシンのResourcesフォルダの動的な同期モード。
+**取りうる値**: 0 または1 から X(0= 記録しない、1からX= シーケンシャル番号、ファイル名に追加される)。デフォルトでは値は0 です(IMAP の交換は記録されない)。
-サーバ上のResourcesフォルダの内容が更新されたり、(リソースエクスプローラや SET DATABASE LOCALIZATION コマンドで) ユーザが同期をリクエストすると、サーバは接続されたユーザに通知を行います。
+**詳細**: transporter オブジェクトが*IMAP\_transporter.getMail( )* または *IMAP\_transporter.checkConnection( )* で処理される際の4D とIMAP サーバーとの間の通信記録を開始または停止します。デフォルトでは、値は0です(通信は記録されません)。この機構が有効化されている場合、ログファイルがデータベースのLogフォルダに作成されます。ファイルは4DIMAPLog\_X.txt と名前がつけられ、このX はログのシーケンシャル番号です。ファイルのサイズが10MB に到達すると、ファイルは閉じられ、インクリメントされたシーケンシャル番号を持った新しいファイルが生成されます。同じ名前のファイルが既に存在する場合、それは直接置き換えられます。value 引数を使用するとシーケンス番号の開始番号を設定することができます。デフォルトで、全てのファイルは保持されますが、Circular log limitation 引数を使用することで保持するファイルの数をコントロールすることができます。
-クライアント側では3つの同期モードを選択できます。Auto Synchro Resources Folderセレクタはカレントセッションでクライアントマシンが使用するモードを指定できます:
+ファイルの詳細については、*ログファイルの詳細* の章を参照してください。
-0 (デフォルト値): 動的な同期を行わない (同期リクエストは無視される)1: 自動の動的同期2: クライアントマシンにダイアログを表示し、同期の受け入れ回避を確認するアプリケーションの環境設定で、同期モードをグローバルに設定できます。
-### Query by formula joins (49)
+### Is current database a project (112)
-**スコープ**:カレントプロセス
+**注:** このセレクターは[Get database parameter](get-database-parameter.md) コマンドでのみ使用可能で、その値を設定することはできません。
- **2セッション間で設定を保持**: No
+: 4D アプリケーション**
- **とりうる値**: 0 (データベース設定を使用), 1 (常に自動リレーションを使用) または 2 (可能ならSQL JOINを使用)
+詳細**: カレントのデータベースアーキテクチャーがプロジェクトモードなら1を、それ以外の場合には0を返します。詳細な情報については、*データベースのプロジェクトモードとバイナリーモード* の章を参照してください。
-**説明**: "SQL JOIN"の利用に関連する、[QUERY BY FORMULA](query-by-formula.md "QUERY BY FORMULA")と[QUERY SELECTION BY FORMULA](query-selection-by-formula.md "QUERY SELECTION BY FORMULA")コマンドの動作モード。
-4D v11 SQLのバージョン11.2以降で作成されたデータベースでは、これらのコマンドはSQL JOINモデルに基づくJOINを実行します。このメカニズムを使用して、(以前のバージョンでは必要な条件だった) 自動リレーションで接続されていない他のテーブルに対して実行されたクエリに基づき、テーブルのセレクションを変更できます。
-QUERY BY FORMULA Joinsセレクタで、カレントプロセスの、フォーミュラによるクエリの動作モードを指定できます:
-0: データベースの現在の設定を使用する (デフォルト値)。4D v11 SQLのバージョン11.2以降で作成されたデータベースでは、"SQL JOIN"はフォーミュラによるクエリに対し常に有効です。変換されたデータベースでは、互換性のためデフォルトでこのメカニズムは有効になっていません。しかし環境設定で実装できます。1: 常に自動リレーションを使用 (= 以前のバージョンの4Dの動作)。このモードでは、他のテーブルに対して行われたクエリに基づきテーブルのセレクションを作成するためには、リレーションが必要です。4Dは"SQL JOIN"を行いません。2: 可能であればSQL JOINを使用 (= 4D v11 SQLのバージョン11.2以降で作成されたデータベースのデフォルト動作)。このモードでは、フォーミュラが適合する限り、4Dはフォーミュラによるクエリに"SQL JOIN"を使用します (2つの例外があります。[QUERY BY FORMULA](query-by-formula.md "QUERY BY FORMULA")や[QUERY SELECTION BY FORMULA](query-selection-by-formula.md "QUERY SELECTION BY FORMULA") コマンドの説明を参照)。**Note:** 4Dのリモートモードにおいて、"SQL JOIN"はフォーミュラがサーバ上で実行されているときにのみ使用できます (レコードへのアクセスが必要なため)。フォーミュラの実行場所を設定するには、セレクタ46と47を参照してください。
+### Is host database a project (113)
+**注:** このセレクターは[Get database parameter](get-database-parameter.md) コマンドでのみ使用可能で、その値を設定することはできません。
+: 4D アプリケーション**
-### HTTP compression level (50)
+詳細**: ホストデータベースアーキテクチャーがプロジェクトモードなら1を、それ以外の場合には0を返します。詳細な情報については、*データベースのプロジェクトモードとバイナリーモード* の章を参照してください。
-**説明**: 廃止 (互換性のために保持)。HTTPサーバー設定を変更するためには[WEB SET OPTION](web-set-option.md)と[WEB GET OPTION](web-get-option.md)コマンドを使用してください。
-### HTTP compression threshold (51)
+### Is host database writable (117)
-**説明**: 廃止 (互換性のために保持)。HTTPサーバー設定を変更するためには[WEB SET OPTION](web-set-option.md)と[WEB GET OPTION](web-get-option.md)コマンドを使用してください。
+**注:** このセレクターは[Get database parameter](get-database-parameter.md) コマンドでしか使用できず、この値を設定することはできません。
+**スコープ**: 4D アプリケーション
+**詳細**: ホストのプロジェクトファイル/ストラクチャーが書き込み可能なら1を、読み出し専用なら0を返します。
-### Server base process stack size (53)
-**スコープ**: 4D Server
- 2セッション間で設定を保持: No
- **とりうる値**:正の倍長整数
+### Libldap version (114)
-**説明**: サーバ上のプリエンプティブシステムプロセス毎に割り当てるスタックのサイズ (バイト単位) です。デフォルトでの値はシステムによって決定されます。
+**スコープ**: カレント4D マシン
-プ リエンプティブシステムプロセスはメインの4D クライアントプロセスを制御するためにロードされます。デフォルトでそれぞれのプリエンプティブプロセスに割り当てられるサイズはおよその場合最適なサイ ズですが、何百ものプロセスが作成されるようなケースではこのサイズが適切かどうか検討する必要が出てくるかもしれません。
+**異なるセッション間で値を保持**: No
-データベースが実行する処理がそれを許す限り、最適化の目的でこのサイズを大幅に減らすことができます ( 例えばデータベースで大量のレコードの並び替えなどを行わない場合)。512 や256 KB でさえも設定可能です。スタックサイズを小さくしすぎることは致命的であり、4D Server の動作に害を及ぼすことになるので注意してください。このパラメタの設定は注意を持って行い、データベースの利用状況 (レコード数や行う処理など) を考慮しながら行わなければなりません。
+**詳細**: カレントマシン上の4D アプリケーション内のLDAP ライブラリーのバージョン番号を返します(読み出し専用)
-このパラメタの設定を行うには、*On Server Startupデータベースメソッド* などにおいてサーバ上でコマンドが実行されなければなりません。
-### Idle connections timeout (54)
+### Libsasl version (115)
-**スコープ**: 値が負数でないなら4Dアプリケーション
+**スコープ**: カレント4D マシン**
-**2セッション間で設定を保持**: No
+異なるセッション間で値を保持**: No**
-**とりうる値**: 持続時間を秒で表す値。値は正数 (新規接続) または負数 (既存の接続)をとることができます。デフォルト値は20です。
+詳細**: カレントマシン上の4D アプリケーション内のSASL ライブラリーのバージョン番号を返します(読み出し専用)
-**説明**: この引数を使用して、4DデータベースエンジンとSQLエンジン両方への動きのない接続の最大時間 (タイムアウト) を設定できます。また*ServerNet* (新しいネットワークレイヤー)モードにおいては4Dアプリケーションサーバーへの接続のタイムアウトも設定します。
-動作していない接続がこの制限時間に達すると、接続は自動でスタンバイ状態に置かれます。つまりクライアント/サーバセッションがフリーズされ、ネットワー クソケットが閉じられます。サーバー管理ウィンドウでは、ユーザープロセスの状態は"延期"と表示されます。この動作はユーザに対し完全に透過的です。スタンバイ状態の接続でリクエストが開始されると、ソケットが自動で再び開かれ、クライアント/サーバセッションが再び有効になります。
+### Libzip version (120)
+**スコープ:** カレントの4D マシン**
+2セッション間で設定を保持:** n/a**
-この設定によりサーバのリソースを節約できます。スタンバイ状態の接続はソケットを 閉じ、サーバ上のプロセスを解放します。他方これにより、ファイアウォールがアイドルなソケットを閉じてしまうことに伴い接続が失われることを避けること ができます。このためには、アイドル接続のタイムアウト値はファイアウォールのタイムアウト値よりも小さくなくてはなりません。
+説明:** カレントマシン上の4D アプリケーションのlibzip ライブラリのバージョン番号を返します(読み出し専用)
-*value*に正数を渡すと、設定はすべてのプロセスのすべての新規接続に適用されます。負数を渡すと、設定はカレントプロセスの開かれた接続に適用されます。0を渡すと、アイドル接続のタイムアウトは行われません。
+### Log command list (80)
+**スコープ**: 4D アプリケーション
-このパラメターはクライアント側で設定する必要があります。通常この値を変更する必要はありません。
+**2セッション間で設定を保持**: No
+**取りうる値**: 記録する4Dコマンドの番号リスト。型は文字列で各コマンド番号をセミコロンで区切ります。"all"を渡すとすべてのコマンドが記録され、"" (空の文字列) を渡すとなにも記録されません。
+**説明**: デバッグファイルに記録する4Dコマンドのリスト (セレクター 34, Debug Log Recording参照)。デフォルトではすべての4Dコマンドが記録されます。
-### PHP interpreter IP address (55)
+このセレクターを使用すれば、記録に残したい4Dコマンドを指定することで、デバッグファイルに保存される情報の量を制限することができます。例えば以下のようにコードを記述できます:
-**スコープ**: 4D アプリケーション
+ SET DATABASE PARAMETER(Log command list;"277;341") // QUERY および QUERY SELECTION コマンドのみを記録する
-2セッション間で設定を保持: No**
-値**: IPv4 型にフォーマットされた文字列(例 "127.0.0.1") あるいはIPv6 型にフォーマットされた文字列(例 "2001:0db8:0000:0000:0000:ff00:0042:8329")
-: FastCGI を経由してPHPインタプリタと通信を行うために、4D がローカルで使用するIP アドレス。デフォルトで値は"127.0.0.1" です(IPv5 フォーマットのアドレスは4D v16 R4 以降でサポートされます)。このアドレスは4D が配置されているマシンに対応しなければなりません。このパラメタはデータベース設定を使用してすべてのマシン用にグローバルに設定できます。
-PHPインタプリタに関する詳細は*Design Reference*マニュアルを参照してください。
+### Max concurrent Web processes (18)
+**説明**: 廃止 (互換性のために保持)。HTTPサーバー設定を変更するためには[WEB SET OPTION](web-set-option.md)と[WEB GET OPTION](web-get-option.md)コマンドを使用してください。
-### PHP interpreter port (56)
-**スコープ**:4D アプリケーション
- **2セッション間で設定を保持**: No
+### Maximum Web requests size (27)
-**値**: 正の倍長整数値。デフォルト値は8002。
+**説明**: 廃止 (互換性のために保持)。HTTPサーバー設定を変更するためには[WEB SET OPTION](web-set-option.md)と[WEB GET OPTION](web-get-option.md)コマンドを使用してください。
-**説明**: 4DのPHPインタプリタが使用するTCPポート番号。データベース設定でこの値をすべてのマシン用にグローバルに変更できます。PHPインタープリタに関する詳細は*Design Reference* マニュアルを参照してください。
-### SSL cipher list (64)
+### Min TLS version (105)
-**スコープ**: 4Dアプリケーション **2セッション間で設定を保持**: No
+**スコープ**: 4D Server、4D Web サーバーおよび4D SQL サーバー
-**とりうる値**: コロンで区切られた一連の文字列 (例 "ECDHE-RSA-AES128-....")
+**異なるセッション間で値を保持**: No
-**説明**: 安全なプロトコルのために4Dが使用する暗号リストです。このリストを使用して4Dによって実装された暗号化アルゴリズムの順位を変更することができます。例えば、以下の文字列を *value* 引数に渡す事ができます:"HIGH:!aNULL:!MD5:!3DES:!CAMELLIA:!AES128:!RSA:!DH:!RC4". 暗号リストのシンタックスの完全な詳細については、*OpenSSL の暗号ページ* *のサイト* を参照して下さい。
+**詳細**: Transport Layer Security (TLS) レベルを指定するのに使用します。これはデータ暗号化とアプリケーションとサーバー間での認証を可能にします。これによって定義された最小値を下回るバージョンしかサポートしないクライアントからの接続は拒否されます。この設定はネットワークレイヤー全体に適用されます。変更した後にその新しい値を使用するためには、サーバーを再起動する必要があります。
-この設定はメインWebサーバー(ただしWebサーバーオブジェクトは除く)、SQLサーバー、クライアント/サーバー接続、そしてHTTPクライアントと、安全なプロトコルを使用する4D コマンドの全てに対して適用されます。この変更は一時的な物です(つまり異なるセッション間で設定は保持されません)。
+**デフォルトの値**: TLSv1\_3
-暗号リストが変更された場合、新しい設定が使用されるようにするためには関係するサーバーを再起動する必要があります。
+**取りうる値**: TLSv1\_2 (TLS 1.2、2008年に導入) TLSv1\_3 (TLS 1.3、2018年に導入) **注**:
-暗号リストを (SLIファイルに恒久的に格納された) デフォルト値に再設定するには、*value*引数に空の文字列 ("") を渡して [SET DATABASE PARAMETER](set-database-parameter.md) コマンドを呼び出します。
+- 4D Internet Commands プラグインは異るネットワークレイヤーを使用するため、ここのセレクターは4DICのTLSバージョンには影響しません。
-**注**: [Get database parameter](get-database-parameter.md) コマンドで暗号リストはオプションの *stringValue* 引数に返され、戻り値は常に0となります。
+- TLS を旧式ネットワークレイヤーに適用しても反映されません。
-### Cache unload minimum size (66)
-**スコープ**:4Dアプリケーション
+### Number of formulas in cache (92)
- **2セッション間で設定を保持**: No
+**スコープ**: 4Dアプリケーション
- **とりうる値**: 1より大きい正の倍長整数
+**異なるセッション間で保持**: No
-**説明**: エンジンがオブジェクトをデータベースキャッシュに配置する際に空き空間を作成する必要が出た場合、データベースキャッシュからリリースするメモリの最小サイズ (バイト単位)。
+**取りうる値**: 正の倍長整数
-このセレクタの目的はキャッシュからデータをリリースする時間を減らし、よりパフォーマンスを得ることにあります。キャッシュのサイズやデータベース中で処理されるデータのブロックサイズに応じてこの値を変更できます。
+**デフォルト値**: 0 (キャッシュなし)
-このセレクタが使用されないとデフォルトで、4Dは空間が必要になった時最低10%のキャッシュをアンロードします。
+**詳細**: フォーミュラのキャッシュに保存されるフォーミュラの最大数を設定あるいは取得します。これは[EXECUTE FORMULA](execute-formula.md)コマンドで使用されます。この上限は全てのプロセスに適用されますが、各プロセスにはそれぞれ独自のフォーミュラ用キャッシュがあります。フォーミュラをキャッシュすると、それぞれのフォーミュラはこの場合1度しかトークン化されないため、コンパイル済みモードでの[EXECUTE FORMULA](execute-formula.md)コマンドの実行が速くなります。キャッシュ値を変化させると、例え新しいサイズが以前のものより大きくても、既存の中身は全てリセットされます。キャッシュ内のフォーミュラ数が上限値に達すると、その後新しく実行されたフォーミュラはキャッシュ内の一番古いものを消去します(FIFOモード)。この引数は、コンパイルされたデータベース、あるいはコンパイルされたコンポーネントでのみ考慮されます。
-### Direct2D status (69)
-**スコープ*: 4Dアプリケーション*
+### OpenSSL version (94)
- *(Direct2D Software) のみが許可されます。*
+**スコープ**: 4D マシン全体*
+* **2セッション間で設定を保持**: No
+**説明**: マシン上で使用されているOpenSSL ライブラリーのバージョン番号を返します(読み込みのみ)
-### Direct2D get active status (74)
-**注:** このセレクターは[Get database parameter](get-database-parameter.md)コマンドでのみ使用することができ、設定することはできません。
-説明: WindowsにおいてDirect2Dのアクティブな実装を返します。
-取りうる値: 0, 1, 2, 3, 4 または 5 (セレクター69の値参照)。返される値はDirect2Dが利用可能かどうか、およびハードウェア、OSによってサポートされるDirec2Dの品質に基づきます。
+### Order by formula on server (47)
-例えば以下のコードを実行した場合、
+**スコープ**:カレントテーブルおよびプロセス
+ **2セッション間で設定を保持**: No
+ **とりうる値**: 0 (データベース設定を使用), 1 (クライアント上で実行) または 2 (サーバ上で実行)
- SET DATABASE PARAMETER(Direct2D status;Direct2D Hardware) $mode:=Get database parameter(Direct2D get active status)
+**説明**: 引数に渡されたtableに対して実行される[ORDER BY FORMULA](order-by-formula.md "ORDER BY FORMULA")コマンドの実行場所。
-- Windows 7以降、システムがDirect2D互換のハードウェアを検知すると、$modeに1が設定されます。そうでなければ$modeは3に設定されます (ソフトウェアコンテキスト)。
+クライアント/サーバモードでデータベースを使用するとき、[ORDER BY FORMULA](order-by-formula.md "ORDER BY FORMULA")コマンドをサーバ上またはクライアント上で実行させることができます。このセレクタを使用して、このコマンドの実行場所 (サーバまたはクライアント) を指定できます。このモードはデータベース環境設定でも設定できます。詳細はセレクタ46、Query By Formula On Serverの説明を参照してください。
-- Windows Vistaでは、システムがDirect2D互換のハードウェアを検知すると、$modeに1が設定されます。そうでなければ$modeは0に設定されます (Direct2D無効)。
+**Note:** "SQLタイプ"のJOINを有効にしたい場合 (QUERY BY FORMULA Joins (49) セレクタ参照) は、フォーミュラがレコードにアクセスすることができるよう、常にフォーミュラをサーバ上で実行しなければなりません。このコンテキストでは、フォーミュ ラはいかなるメソッド呼び出しも含んではいけないことに注意してください。そうでない場合、自動でリモートマシンでの実行に切り替わります。
-- Windows XPでは、$modeは常に0です (Direct2D非互換)。
-### Diagnostic log recording (79)
+### Pause logging (121)
**Thread-safe** : Yes
-**スコープ**: 4Dアプリケーション
+**スコープ**: 4D アプリケーション**
-2セッション間で設定を保持: No
+異なるセッション間で値を設定を保持**: No**
-取りうる値: 0 または 1 (0 = 記録しない, 1 = 記録する)
+取り得る値**: 0 (ログを再開)、1 (ログを停止)
-: 4D診断ファイルの記録を開始または停止する。デフォルトの値は0(記録しない)です。
+このセレクターを使用するとアプリケーション上で開始された全てのログオペレーションを停止/再開させることができます(ただしORDAログは除く)。この機能は4Dアプリケーションのタスクを一時的に軽くしたり、あるいはログオペレーションのスケジュールを設定することに有用です。
-4Dは診断ファイルの中に内部的なアプリケーション処理に関連するイベントを継続的に記録することができます。このファイルに含まれる情報は4Dアプリケーション開発のために使用され、4D社の技術サポート担当により解析されます。このセレクターに1を渡すと、データベースの**Logs** フォルダ内に診断ファイルが自動的に作成されます(またはすでに存在する場合には開かれます)。ファイルには*4DDiagnosticLog\_X*.txt (あるいはサーバー側で生成された場合には *4DDiagnosticLogServer\_X*.txt) という名前が付けられます。このファイルのサイズが10MBに達するとそのファイルは閉じられ、DatabaseName\_N.txtが生成されます (Nは連番)。
-[LOG EVENT](log-event.md)コマンドを使用してカスタム情報をこのファイルに書き込むこともできます。
-
-### Log command list (80)
+### PHP interpreter IP address (55)
**スコープ**: 4D アプリケーション
-**2セッション間で設定を保持**: No
-
-**取りうる値**: 記録する4Dコマンドの番号リスト。型は文字列で各コマンド番号をセミコロンで区切ります。"all"を渡すとすべてのコマンドが記録され、"" (空の文字列) を渡すとなにも記録されません。
-
-**説明**: デバッグファイルに記録する4Dコマンドのリスト (セレクター 34, Debug Log Recording参照)。デフォルトではすべての4Dコマンドが記録されます。
-
-このセレクターを使用すれば、記録に残したい4Dコマンドを指定することで、デバッグファイルに保存される情報の量を制限することができます。例えば以下のようにコードを記述できます:
-
- SET DATABASE PARAMETER(Log command list;"277;341") // QUERY および QUERY SELECTION コマンドのみを記録する
-
-
-
-### Spellchecker (81)
-
-**スコープ**: 4D アプリケーション**
+2セッション間で設定を保持: No**
-2セッション間で設定を保持**: No
+値**: IPv4 型にフォーマットされた文字列(例 "127.0.0.1") あるいはIPv6 型にフォーマットされた文字列(例 "2001:0db8:0000:0000:0000:ff00:0042:8329")
- **とりうる値**: 0 (default) = macOSのシステムのスペルチェッカー(ハンスペルは無効化されます), 1 = ハンスペルスペルチェッカー有効化**
+: FastCGI を経由してPHPインタプリタと通信を行うために、4D がローカルで使用するIP アドレス。デフォルトで値は"127.0.0.1" です(IPv5 フォーマットのアドレスは4D v16 R4 以降でサポートされます)。このアドレスは4D が配置されているマシンに対応しなければなりません。このパラメタはデータベース設定を使用してすべてのマシン用にグローバルに設定できます。
-説明**: macOS環境下においてハンスペルスペルチェッカーを有効化します。デフォルトでは、このプラットフォームではシステムのスペルチェッカーが有効化されています。例えば、クロスプラットフォームアプリケーションのインターフェースを統一するためにハンスペルを使用したいという場面があるかもしれません(Windowsでは、ハンスペルチェッカーのみが動作します)。詳細な情報に関しては、*スペルチェック*を参照して下さい。
+PHPインタプリタに関する詳細は*Design Reference*マニュアルを参照してください。
-### Dates inside objects (85)
-スコープ: カレントプロセス
+### PHP interpreter port (56)
- 2セッション間で設定を保持: No
+**スコープ**:4D アプリケーション
- **取り得る値**: String type without time zone (0), String type with time zone (1), Date type (2) (デフォルト)
+ **2セッション間で設定を保持**: No
-**説明**: 日付がオブジェクトにどのように保存されるかを定義するとともに、どのようにJSON に読み込み/書き出しされるかも定義します。
+**値**: 正の倍長整数値。デフォルト値は8002。
-セレクターの値がDate type (4D v17以降で作成されたデータベースにおけるデフォルト)のとき、4D 日付はオブジェクト内で日付型として保存され、ローカルの日付設定に準拠します。JSON フォーマットに変換された時、日付属性は、時間を含まない文字列へと変換されます(**注:** この設定は、データベース設定のにある"オブジェクト内ではISO日付フォーマットの代わりに日付型を使用"オプションによって設定することができます)。
+**説明**: 4DのPHPインタプリタが使用するTCPポート番号。データベース設定でこの値をすべてのマシン用にグローバルに変更できます。PHPインタープリタに関する詳細は*Design Reference* マニュアルを参照してください。
-セレクターにを渡した場合、4D 日付はローカルなタイムゾーンを考慮に入れつつISO 文字列に変換されます。例えば、例えば、23/08/2013という日付の変 換を、フランスのサマータイム(GMT+2)にて実行した場合、JSONフォーマットの"2013-08-22T22:00:00Z"という結 果が返されます。この原理はJavaScriptの標準のオペレーションに従うものです。これは異なるタイムゾーンにいる人にJSON日付の値を 送る場合には、エラーの原因となりかねません。例えば、[Selection to JSON](selection-to-json.md)を使ってフランスでエクスポートされたテーブルを[JSON TO SELECTION](json-to-selection.md) を使用してアメリカで再インポートする、というような場合です。日付の値は、デフォルトではそれぞれのタイムゾーンにおいて再変換 されるため、データベース内に保存された値は異なってしまいます。こういった場合には、このセレクターにString type without time zoneを渡す事によって、タイムゾーンを考慮しないよ うに日付の変換モードを変更することができます。すると、23/08/2013という日付を変換した場合に は、"2013-08-23T00:00:00Z"という値を返すようになります。
-### Diagnostic log level (86)
+### POP3 Log (116)
**Thread-safe** : Yes
-**スコープ:** 4D アプリケーション**
-
-** **異なるセッション間で設定を保持:** No**
-
-** **説明:** 診断ログが有効化された際に、そこに含まれるメッセージのレベル(Diagnostic log recording セレクターを参照)。各レベルは診断メッセージのカテゴリを指定し、それより重要なカテゴリのメッセージも自動的に含まれます。カテゴリの詳細については、*developer.4d.com* 上の*Diagnostic log levels* の章を参照してください。
-
- **取りうる値:** 以下の定数のいづれか(デフォルトは Log info ): Log trace: ERROR、WARN、INFO、DEBUG、TRACE を有効化します(最も詳細なレベル) Log debug: ERROR、WARN、INFO、DEBUG を有効化します Log info: ERROR、WARN、INFO を有効化します(デフォルト) Log warn: ERROR、WARN を有効化します Log error: ERROR を有効化します(最も簡略なレベル)
+**スコープ:** 4D ローカル、4D Server
+**2セッション間で設定を保持:** No
+**取りうる値:** 0 または1からXまでの数字(0= 記録を取らない、1からX=シーケンシャルな数字、ファイル名に追加される)。デフォルトでは、値は0です(POP3通信は記録されません)。
-### Use legacy network layer (87)
+**説明**: トランスポーターオブジェクトが*POP3\_transporter.getMail( )* または *POP3\_transporter.checkConnection( )*で処理されたとき、4D とPOP3 サーバー間の通信の記録を開始または停止します。デフォルトでは値は0 です(通信は記録されません)。この機構か有効化されている時、データベースのLogs フォルダにログファイルが作成されます。ファイル名は4DPOP3Log\_X.txt という形式となっており、X はログのシーケンシャル番号です。4DPOP3Log のサイズが10MBに到達すると、そのファイルは閉じられて新しいファイルが生成され、シーケンシャル番号は1つ増加します。同じ名前のファイルが既に存在する場合、それは上書きされます。シーケンシャル番号の開始番号を、value 引数を用いて指定することができます。デフォルトでは全てのファイルが保持されますが、Circular log limitation 定数を使用することで残すファイルの数を制限することもできます。
-**スコープ**: 4D ローカル、4D Server
+4DPOP3Log\_X.txt ファイルの詳細な情報については、*ログファイルの詳細* の章を参照してください。
-**異なるセッション間で値を保持**: Yes
-**詳細:** クライアント/サーバー間の通信のネットワークレイヤーのカレントの状態を設定・取得します。旧式ネットワークレイヤーは4D v14 R5以降廃止予定となり、お使いのアプリケーションにおいて*ServerNet* ネットワークレイヤーへと積極的に置き換えられてい行くべきです。*ServerNet* は、将来のネットワークの進化の恩恵を受けるために、今後の4Dのリリースの中で必須要項となって行きます。互換性の理由から、既存のアプリケーションの速やかな移行をサポートするために、旧式のネットワークレイヤーは引き続きサポートされます(v14 R5以前のリリースから変換されたアプリケーションにおいてはデフォルトで旧式ネットワークレイヤーが使用されます)。クライアント/サーバー通信において旧式ネットワークレイヤーを使用するためにはこの引数に1を渡します(*ServerNet* が無効化されます)。0を渡すと旧式ネットワークレイヤーが無効化されます(そして*ServerNet* が使用されます)。
-このプロパティはデータベース設定の*互換性ページ* の"旧式ネットワークレイヤー"オプションを使用することによっても設定できます(*ネットワーク/クライアント-サーバー通信*参照)。この章では、移行戦略についての議論を読むこともできます。*ServerNet* の速やかな有効化が推奨されます。
-この引数が有効になるためには、アプリケーションを再起動する必要があります。OS X版の4D Server 64-bit 版においては*ServerNet* のみをサポートするため、このオプションはご利用いただけません(常に0を返します)。
+### Port ID (15)
-**取り得る値:** 0 または 1 (0 = 旧式ネットワークレイヤーを使用しない、1 = 旧式ネットワークレイヤーを使用する)
+**スコープ**: 4D ローカル, 4D Server
-**デフォルトの値:** 4D v14 R5以降で作成されたデータベースにおいては0、4D v14 R4以前のものから変換されたデータベースにおいては1
+**2セッション間で設定を保持**: No
+**説明**: Command SET DATABASE この引数を使用して、ローカルモードの4Dおよび4D Serverによる4D Webサーバが使用するTCPポートをオンザフライで変更することができます。デフォルト値は80で、この値は環境設定ダイアログボックスの“Web/設定”ページで設定できます。*TCP Port Numbers*テーマの定数を*value*引数に使用できます。
-### SQL Server Port ID (88)
-**スコープ**: 4D ローカル、4D Server
+Port IDセレクタは、コンパイルして4D Desktopを組み込んだ4D Webサーバで役立ちます(この場合、デザインモードへのアクセス手段がありません)。TCPポートIDに関する詳細は*Webサーバー設定*を参照してください。
-**2セッション間で設定を保持**: Yes
-**説明**: 4Dローカル、または4D Server の統合されたSQLサーバーで使用されるTCPポート番号を取得、または設定します。デフォルトの値は19812です。このセレクターが設定されると、データベース設定は更新されます。TCPポート番号はデータベース設定ダイアログボックスの"SQL"ページにおいても設定可能です。
-**とりうる値**: 0 から 65535
-**デフォルト値**: 19812
+### Query by formula joins (49)
+**スコープ**:カレントプロセス
+ **2セッション間で設定を保持**: No
-### Circular log limitation (90)
+ **とりうる値**: 0 (データベース設定を使用), 1 (常に自動リレーションを使用) または 2 (可能ならSQL JOINを使用)
-**Thread-safe** : Yes
+**説明**: "SQL JOIN"の利用に関連する、[QUERY BY FORMULA](query-by-formula.md "QUERY BY FORMULA")と[QUERY SELECTION BY FORMULA](query-selection-by-formula.md "QUERY SELECTION BY FORMULA")コマンドの動作モード。
-**スコープ**: 4Dローカル、4D Server **異なるセッション間で値を保持**: No**
+4D v11 SQLのバージョン11.2以降で作成されたデータベースでは、これらのコマンドはSQL JOINモデルに基づくJOINを実行します。このメカニズムを使用して、(以前のバージョンでは必要な条件だった) 自動リレーションで接続されていない他のテーブルに対して実行されたクエリに基づき、テーブルのセレクションを変更できます。
-取りうる値**: 任意の整数値、0 = 全てのログを保持**
+QUERY BY FORMULA Joinsセレクタで、カレントプロセスの、フォーミュラによるクエリの動作モードを指定できます:
-詳細**: 各タイプのロゴのローテーションに保存するファイル数の最大値。デフォルトでは、直近の50 ファイルが保持されます。*X* という値を渡した場合、直近の*X* 個のファイルのみが保持され、最も古いファイルは新しいファイルが作成されたときに自動的に削除されます。この設定は全てのログファイルに対して適用されます:リクエストログ(セレクター28と45)、デバッグログ(セレクター34)、イベントログ(セレクター79)、Web ログ([WEB SET OPTION](web-set-option.md)コマンドのセレクター29と84)、などです。
+0: データベースの現在の設定を使用する (デフォルト値)。4D v11 SQLのバージョン11.2以降で作成されたデータベースでは、"SQL JOIN"はフォーミュラによるクエリに対し常に有効です。変換されたデータベースでは、互換性のためデフォルトでこのメカニズムは有効になっていません。しかし環境設定で実装できます。1: 常に自動リレーションを使用 (= 以前のバージョンの4Dの動作)。このモードでは、他のテーブルに対して行われたクエリに基づきテーブルのセレクションを作成するためには、リレーションが必要です。4Dは"SQL JOIN"を行いません。2: 可能であればSQL JOINを使用 (= 4D v11 SQLのバージョン11.2以降で作成されたデータベースのデフォルト動作)。このモードでは、フォーミュラが適合する限り、4Dはフォーミュラによるクエリに"SQL JOIN"を使用します (2つの例外があります。[QUERY BY FORMULA](query-by-formula.md "QUERY BY FORMULA")や[QUERY SELECTION BY FORMULA](query-selection-by-formula.md "QUERY SELECTION BY FORMULA") コマンドの説明を参照)。**Note:** 4Dのリモートモードにおいて、"SQL JOIN"はフォーミュラがサーバ上で実行されているときにのみ使用できます (レコードへのアクセスが必要なため)。フォーミュラの実行場所を設定するには、セレクタ46と47を参照してください。
-### Number of formulas in cache (92)
-**スコープ**: 4Dアプリケーション
+### Query by formula on server (46)
-**異なるセッション間で保持**: No
+**スコープ**: カレントテーブルおよびプロセス
-**取りうる値**: 正の倍長整数
+ **2セッション間で設定を保持**: No
-**デフォルト値**: 0 (キャッシュなし)
+ **とりうる値**: 0 (データベース設定を使用), 1 (クライアント上で実行) または 2 (サーバ上で実行)
-**詳細**: フォーミュラのキャッシュに保存されるフォーミュラの最大数を設定あるいは取得します。これは[EXECUTE FORMULA](execute-formula.md)コマンドで使用されます。この上限は全てのプロセスに適用されますが、各プロセスにはそれぞれ独自のフォーミュラ用キャッシュがあります。フォーミュラをキャッシュすると、それぞれのフォーミュラはこの場合1度しかトークン化されないため、コンパイル済みモードでの[EXECUTE FORMULA](execute-formula.md)コマンドの実行が速くなります。キャッシュ値を変化させると、例え新しいサイズが以前のものより大きくても、既存の中身は全てリセットされます。キャッシュ内のフォーミュラ数が上限値に達すると、その後新しく実行されたフォーミュラはキャッシュ内の一番古いものを消去します(FIFOモード)。この引数は、コンパイルされたデータベース、あるいはコンパイルされたコンポーネントでのみ考慮されます。
+**説明**: 引数に渡された*table*に対して実行される[QUERY BY FORMULA](query-by-formula.md "QUERY BY FORMULA")や[QUERY SELECTION BY FORMULA](query-selection-by-formula.md "QUERY SELECTION BY FORMULA")コマンドの実行場所。
+クライアント/サーバモードでデータベースを使用するとき、フォーミュラを使用したクエリをサーバ上またはクライアント上で実行させることができます:
+4D v11 SQLで作成されたデータベースでは、これらのコマンドはサーバ上で実行されます。変換されたデータベースでは、これらのコマンドは、以前のバージョンの4Dと同様、クライアントマシン上で実行されます。変換されたデータベースでは、環境設定のアプリケーション/互換性ページで、これらのコマンドの実行場所をグローバルに変更できます。この実行場所の違いは、アプリケーションのパフォーマンス (通常サーバ上で実行したほうが早い) だけでなく、プログラミングにも影響します。実際フォーミュラの部品の値 (特にメソッドから呼ばれる変数) は、実行コンテキストにより異なります。このセレクタを使用して開発者は、アプリケーションの動作を適応させられます。
-### OpenSSL version (94)
+*value* 引数に0を渡すと、フォーミュラを使用するクエリの実行場所は、データベースの設定に基づきます: 4D v11 SQLで作成されたデータベースでは、これらのコマンドはサーバ上で実行されます。変換されたデータベースでは、データベース環境設定に基づき、クライアントマシンまたはサーバマシンで実行されます。*value*に1または2を渡すと、これらのコマンドの実行場所をクライアントマシンまたはサーバマシンに強制できます。
-**スコープ**: 4D マシン全体*
+例題2を参照してください。
-* **2セッション間で設定を保持**: No
+**Note:** "SQLタイプ"のJOINを有効にしたい場合 (QUERY BY FORMULA Joins (49) セレクタ参照) は、フォーミュラがレコードにアクセスすることができるよう、常にフォーミュラをサーバ上で実行しなければなりません。このコンテキストでは、フォーミュラはいかなるメソッド呼び出しも含んではいけないことに注意してください。そうでない場合、自動でリモートマシンでの実行に切り替わります。
-**説明**: マシン上で使用されているOpenSSL ライブラリーのバージョン番号を返します(読み込みのみ)
-### Cache flush periodicity (95)
+### RDP optimization (133)
-**Thread-safe** : Yes
+**Scope:** 4D application.
+**Kept between two sessions:** No.
-**スコープ**: 4Dローカル、4D Server
+**Possible values:** `0`: Disabled (default), `1`: Enabled.
-**異なるセッション間で値を保持**: No
+**Description:** Enables or disables optimizations for RDP (Remote Desktop Protocol). When enabled, optimizes in particular the use of shared clipboard in RDP connections, which can otherwise lead to freezing issues. Note that this selector disables the support in clipboard for images encoded as data uri in raw text (only concerns images dropped or explicitly copied as text from a browser).
-**取りうる値**: 倍長整数 > 1 (秒)
-**詳細**: 秒単位で指定された、キャッシュ保存頻度を取得あるいは設定します。この値を変更すると、データベース設定の[XML DECODE](xml-decode.md)内の**キャッシュを保存: X秒毎**オプションをセッション中の間上書きします(これはデータベース設定には保存されません)。
@@ -714,247 +783,242 @@ PHPインタプリタに関する詳細は*Design Reference*マニュアルを
-### Tips enabled (101)
-**スコープ:** 4D アプリケーション
+### Server base process stack size (53)
-**異なるセッション間で値を保持:** No
+**スコープ**: 4D Server
-**取りうる値:** 0 = tips無効化、1 = tips有効化(デフォルト)
+ 2セッション間で設定を保持: No
-**詳細:** 4DアプリケーションのTipsのカレントの表示状態を設定あるいは取得します。デフォルトでは、Tipsは有効化されています。
+ **とりうる値**:正の倍長整数
-この引数は全ての4DTipsに影響するという点に注意してください。つまり、フォームヘルプメッセージとデザインモードのエディターTipsに影響します。
+**説明**: サーバ上のプリエンプティブシステムプロセス毎に割り当てるスタックのサイズ (バイト単位) です。デフォルトでの値はシステムによって決定されます。
+プ リエンプティブシステムプロセスはメインの4D クライアントプロセスを制御するためにロードされます。デフォルトでそれぞれのプリエンプティブプロセスに割り当てられるサイズはおよその場合最適なサイ ズですが、何百ものプロセスが作成されるようなケースではこのサイズが適切かどうか検討する必要が出てくるかもしれません。
+データベースが実行する処理がそれを許す限り、最適化の目的でこのサイズを大幅に減らすことができます ( 例えばデータベースで大量のレコードの並び替えなどを行わない場合)。512 や256 KB でさえも設定可能です。スタックサイズを小さくしすぎることは致命的であり、4D Server の動作に害を及ぼすことになるので注意してください。このパラメタの設定は注意を持って行い、データベースの利用状況 (レコード数や行う処理など) を考慮しながら行わなければなりません。
-### Tips delay (102)
+このパラメタの設定を行うには、*On Server Startupデータベースメソッド* などにおいてサーバ上でコマンドが実行されなければなりません。
-**スコープ:** 4Dアプリケーション
-**異なるセッション間で値を保持:** No
-**取りうる値:** 倍調整数 >= 0 (ティック)
-**詳細:** マウスカーソルがヘルプメッセージが関連づけられたオブジェクト内で停止してからTipsが表示されるまでの遅延時間です。値はティック(1/60秒)単位で表現されます。デフォルトの値は45ティック(=0.75秒)です。
+### SMTP Log (110)
+**Thread-safe** : Yes
+**スコープ**: 4D ローカル、4D Server
-### Tips duration (103)
+**異なるセッション間で値を保持**: しない**
-**スコープ:** 4Dアプリケーション
+取りうる値**: 0 あるいは1 からX まで(0 = 記録しない、1 から X = ファイル名に追加されるシーケンシャルな数字)。デフォルトでは、値は0(SMTP 通信は記録されない)です。
-**異なるセッション間で値を保持:** No
+: *transporter* オブジェクトが*transporter.send( )* または *SMTP\_transporter.checkConnection( )* を通して処理される際、4D とSMTP サーバー間の通信の記録を開始、あるいは停止します。デフォルトでは、値は0です(通信は記録されない)。このログが有効化されると、データベースのLogs フォルダ内にログファイルが作成されます。ファイル名は4DSMTPLog\_X.txt で、この*X* はログのシーケンシャルな番号です。4DSMTPLog のファイルのサイズが10MB に達すると、そのファイルは閉じられて新しいファイルが生成され、シーケンシャルな番号は数字がインクリメントされます。同じ名前のファイルが既に存在していた場合、そのファイルは直接上書きされます。*value* 引数を使用してシーケンスの開始番号を設定することができます。デフォルトでは全てのファイルが残されますが、Circular log limitation パラメータを使用することで保存しておくファイルの数を管理することができます。
-**取りうる値:** 倍調整数 >= 60 (ティック)
+4DSMTPLog\_X.txt ファイルの詳細な情報については、*ログファイルの詳細* の章を参照してください。
-**詳細:** Tipsの最大表示時間です。値はティック(1/60秒)単位で表現されます。デフォルトの値は720ティック(=12秒)です。
-### Min TLS version (105)
+### Spellchecker (81)
-**スコープ**: 4D Server、4D Web サーバーおよび4D SQL サーバー
+**スコープ**: 4D アプリケーション**
-**異なるセッション間で値を保持**: No
+2セッション間で設定を保持**: No
-**詳細**: Transport Layer Security (TLS) レベルを指定するのに使用します。これはデータ暗号化とアプリケーションとサーバー間での認証を可能にします。これによって定義された最小値を下回るバージョンしかサポートしないクライアントからの接続は拒否されます。この設定はネットワークレイヤー全体に適用されます。変更した後にその新しい値を使用するためには、サーバーを再起動する必要があります。
+ **とりうる値**: 0 (default) = macOSのシステムのスペルチェッカー(ハンスペルは無効化されます), 1 = ハンスペルスペルチェッカー有効化**
-**デフォルトの値**: TLSv1\_3
+説明**: macOS環境下においてハンスペルスペルチェッカーを有効化します。デフォルトでは、このプラットフォームではシステムのスペルチェッカーが有効化されています。例えば、クロスプラットフォームアプリケーションのインターフェースを統一するためにハンスペルを使用したいという場面があるかもしれません(Windowsでは、ハンスペルチェッカーのみが動作します)。詳細な情報に関しては、*スペルチェック*を参照して下さい。
-**取りうる値**: TLSv1\_2 (TLS 1.2、2008年に導入) TLSv1\_3 (TLS 1.3、2018年に導入) **注**:
-- 4D Internet Commands プラグインは異るネットワークレイヤーを使用するため、ここのセレクターは4DICのTLSバージョンには影響しません。
-- TLS を旧式ネットワークレイヤーに適用しても反映されません。
+### SQL Autocommit (43)
+**スコープ**:データベース
-### User param value (108)
+ **2セッション間で設定を保持**: Yes
-**スコープ:** 4D スタンドアロン、4D Server
+ **とりうる値**: 0 (無効) または 1 (有効)
-**2セッション間で値を保持:** No
+**説明**: SQLの自動コミットモードを有効または無効にするために使用します。デフォルトは 0 (無効モード) です。
-**取りうる値**: 任意のカスタムの文字列
-**説明:** 4D アプリケーションが再起動される際に、ひとつのセッションから次のセッションへと渡されるカスタムの文字列です。このセレクターは異なる引数を使用してアプリケーションを再起動する必要がある、自動化されたユニットテストなどのコンテキストで有用です。[SET DATABASE PARAMETER](set-database-parameter.md) で使用された場合、手動で、あるいは[OPEN DATABASE](open-database.md)(\*)、 [OPEN DATA FILE](open-data-file.md)、 または [RESTART 4D](restart-4d.md) コマンドを使用して4D が再起動したあとに開かれるデータベースで利用可能となる新しい値を定義します。[Get database parameter](get-database-parameter.md) で使用された場合、コマンドライン(*コマンドラインインターフェース* 参照)、4DLink ファイル(*4DLinkファイルを使用する* 参照)、あるいは前のセッションでの[SET DATABASE PARAMETER](set-database-parameter.md) への呼び出しなどを使用して定義された、現在利用可能なユーザー引数値を取得します。(\*) [SET DATABASE PARAMETER](set-database-parameter.md)がUser param value を設定した後に、[OPEN DATABASE](open-database.md)にuser-param xml 属性を含む.4DLink ファイル渡して呼び出した場合、4D は[SET DATABASE PARAMETER](set-database-parameter.md)で提供された引数のみを考慮します。
+自動コミットモードは、データベースの参照整合性を強化するために使用されます。このモードが有効の時、すべての*SELECT*, INSERT, *UPDATE* そして *DELETE* (SIUD) クエリは、これらがトランザクション内で実行されていない場合、自動でアドホックなトランザクションに含められます。このモードはデータベースの環境設定でも設定できます。
-### Times inside objects (109)
-スコープ: 4D ローカル、4D Server (全てのプロセス)
- 異なるセッション間で値を保持: No
+### SQL Engine case sensitivity (44)
- **取りうる値**: Times in seconds (0) (デフォルト)、 Times in milliseconds (1)
+**スコープ**: データベース**
-**詳細**: オブジェクトプロパティ内およびコレクション要素内で時間値がどのように変換され保存されるかを定義するとともに、JSONおよびWeb エリアへの読込/書出の方法を定義します。デフォルトでは、4D v17 以降、時間はオブジェクト内では秒数として変換・保管されます。
+2セッション間で設定を保持**: Yes**
-以前のリリースでは、時間値はこれらのコンテキストにおいてはミリ秒数として変換・保管されていました。このセレクターを使用することで、必要であれば以前の設定に戻すことで、移行がスムーズになります。
+とりうる値**: 0 (大文字小文字を区別しない) または 1 (区別する)
-**注**: ORDA メソッドとSQL エンジンはこの設定を無視し、時間値は常に秒数であるとみなします。
+: SQLエンジンが文字列比較を行う際に、大文字と小文字の違いを考慮させるかどうかを設定します。 デフォルトで値は1 (大文字小文字を区別する) です。SQLエンジンは文字列比較 (並び替えやクエリ) の際に大文字と小文字とアクセント付き文字を異なる文字として扱います。例えば“ABC”= “ABC”ですが“ABC” # “Abc”であり、"abc" # "âbc"です。SQLエンジンと4Dエンジンの動作をそろえたいなど特定の場合では、大文字と小文字を区別しない文字列比較 (“ABC”=“Abc"="âbc") を使用できます。
+**警告:* このオプションはデータベースのストラクチャーファイルと全てのプロセスを変更するため、パフォーマンス上の観点から、データベースのスタートアップ時にのみ設定することが強く推奨されます。*
+
+
+
+このオプションはアプリケーション環境設定の[CALL SUBFORM CONTAINER](call-subform-container.md) で設定できます。
-### SMTP Log (110)
-**Thread-safe** : Yes
+
+### SQL Server Port ID (88)
**スコープ**: 4D ローカル、4D Server
-**異なるセッション間で値を保持**: しない**
+**2セッション間で設定を保持**: Yes
-取りうる値**: 0 あるいは1 からX まで(0 = 記録しない、1 から X = ファイル名に追加されるシーケンシャルな数字)。デフォルトでは、値は0(SMTP 通信は記録されない)です。
+**説明**: 4Dローカル、または4D Server の統合されたSQLサーバーで使用されるTCPポート番号を取得、または設定します。デフォルトの値は19812です。このセレクターが設定されると、データベース設定は更新されます。TCPポート番号はデータベース設定ダイアログボックスの"SQL"ページにおいても設定可能です。
-: *transporter* オブジェクトが*transporter.send( )* または *SMTP\_transporter.checkConnection( )* を通して処理される際、4D とSMTP サーバー間の通信の記録を開始、あるいは停止します。デフォルトでは、値は0です(通信は記録されない)。このログが有効化されると、データベースのLogs フォルダ内にログファイルが作成されます。ファイル名は4DSMTPLog\_X.txt で、この*X* はログのシーケンシャルな番号です。4DSMTPLog のファイルのサイズが10MB に達すると、そのファイルは閉じられて新しいファイルが生成され、シーケンシャルな番号は数字がインクリメントされます。同じ名前のファイルが既に存在していた場合、そのファイルは直接上書きされます。*value* 引数を使用してシーケンスの開始番号を設定することができます。デフォルトでは全てのファイルが残されますが、Circular log limitation パラメータを使用することで保存しておくファイルの数を管理することができます。
+**とりうる値**: 0 から 65535
-4DSMTPLog\_X.txt ファイルの詳細な情報については、*ログファイルの詳細* の章を参照してください。
+**デフォルト値**: 19812
-### Current process debug log recording (111)
-**スコープ:** 4D アプリケーション
+### SSL cipher list (64)
-**異なるセッション間で値を保持:** No
+**スコープ**: 4Dアプリケーション **2セッション間で設定を保持**: No
-**詳細**: **カレントプロセスにおける**プログラミングイベントの、別のログファイルへのシーケンシャルな記録を開始または停止します。このログはDebug log recording (セレクター34)に似ていますが、こちらはカレントプロセスにのみを対象とします。ログファイル名はアルファベットの"p"とプロセス番号を含みます: 4DDebugLog\[\_p*N*_*n*].txt ここでのNはプロセスの固有のIDです。
+**とりうる値**: コロンで区切られた一連の文字列 (例 "ECDHE-RSA-AES128-....")
-このフォーマットと*4DDebugLog* ファイルの使用についての詳細な情報については、デザインリファレンスの*ログファイルの詳細* を参照してください。
+**説明**: 安全なプロトコルのために4Dが使用する暗号リストです。このリストを使用して4Dによって実装された暗号化アルゴリズムの順位を変更することができます。例えば、以下の文字列を *value* 引数に渡す事ができます:"HIGH:!aNULL:!MD5:!3DES:!CAMELLIA:!AES128:!RSA:!DH:!RC4". 暗号リストのシンタックスの完全な詳細については、*OpenSSL の暗号ページ* *のサイト* を参照して下さい。
-**注:** このセレクターはデバッグ目的のためだけに提供されており、使用する際には注意が必要です。特に、アプリケーションのパフォーマンスに影響しうるため、製品で使用してはいけません。 Debug log recording および Current process debug log recording セレクターは同時に併用することができ、その場合にはメインのログファイルにはカレントプロセスのアクションは記録されません。
+この設定はメインWebサーバー(ただしWebサーバーオブジェクトは除く)、SQLサーバー、クライアント/サーバー接続、そしてHTTPクライアントと、安全なプロトコルを使用する4D コマンドの全てに対して適用されます。この変更は一時的な物です(つまり異なるセッション間で設定は保持されません)。
+暗号リストが変更された場合、新しい設定が使用されるようにするためには関係するサーバーを再起動する必要があります。
+暗号リストを (SLIファイルに恒久的に格納された) デフォルト値に再設定するには、*value*引数に空の文字列 ("") を渡して [SET DATABASE PARAMETER](set-database-parameter.md) コマンドを呼び出します。
-### Is current database a project (112)
+**注**: [Get database parameter](get-database-parameter.md) コマンドで暗号リストはオプションの *stringValue* 引数に返され、戻り値は常に0となります。
-**注:** このセレクターは[Get database parameter](get-database-parameter.md) コマンドでのみ使用可能で、その値を設定することはできません。
-: 4D アプリケーション**
-詳細**: カレントのデータベースアーキテクチャーがプロジェクトモードなら1を、それ以外の場合には0を返します。詳細な情報については、*データベースのプロジェクトモードとバイナリーモード* の章を参照してください。
+### Table sequence number (31)
+**スコープ**:4D アプリケーション
-### Is host database a project (113)
+ **2セッション間で設定を保持**: Yes
-**注:** このセレクターは[Get database parameter](get-database-parameter.md) コマンドでのみ使用可能で、その値を設定することはできません。
+ **とりうる値**: 任意の倍長整数値
-: 4D アプリケーション**
+**説明**: Command SET DATABASE PARAMETERこのセレクタは、引数に渡したテーブルのレコードの、カレントのユニーク番号を取得あるいは設定するために使用します。“カレントの数値”とは“最後に使用された数値”を意味します。SET DATABASE PARAMETERコマンドを使用してこの値を変更すると、渡された値+1の番号を使用して次のレコードが作成されます。この新しい番号は、[Sequence number](sequence-number.md "Sequence number")コマンドによって返される、さらにはストラクチャエディタやSQLで自動インクリメントが設定されたフィールドに返される番号です。
-詳細**: ホストデータベースアーキテクチャーがプロジェクトモードなら1を、それ以外の場合には0を返します。詳細な情報については、*データベースのプロジェクトモードとバイナリーモード* の章を参照してください。
+デフォルトで、この固有の番号は4Dが設定し、レコードの作成順に対応します。詳細は[Sequence number](sequence-number.md "Sequence number")コマンドのドキュメントを参照してください。
-### Libldap version (114)
-**スコープ**: カレント4D マシン
-**異なるセッション間で値を保持**: No
-**詳細**: カレントマシン上の4D アプリケーション内のLDAP ライブラリーのバージョン番号を返します(読み出し専用)
+### TCPUDP log recording (131)
+**Scope:** 4D application.
+**Kept between two sessions:** No.
-### Libsasl version (115)
+**Possible values:** `0`: Logging disabled (default), `1`: Logging enabled.
-**スコープ**: カレント4D マシン**
+**Description:** Enables or disables the `4DTCPUDPLog.txt` file for logging TCP events.
-異なるセッション間で値を保持**: No**
-詳細**: カレントマシン上の4D アプリケーション内のSASL ライブラリーのバージョン番号を返します(読み出し専用)
+### Times inside objects (109)
-### POP3 Log (116)
+スコープ: 4D ローカル、4D Server (全てのプロセス)
-**Thread-safe** : Yes
+ 異なるセッション間で値を保持: No
-**スコープ:** 4D ローカル、4D Server
+ **取りうる値**: Times in seconds (0) (デフォルト)、 Times in milliseconds (1)
-**2セッション間で設定を保持:** No
+**詳細**: オブジェクトプロパティ内およびコレクション要素内で時間値がどのように変換され保存されるかを定義するとともに、JSONおよびWeb エリアへの読込/書出の方法を定義します。デフォルトでは、4D v17 以降、時間はオブジェクト内では秒数として変換・保管されます。
-**取りうる値:** 0 または1からXまでの数字(0= 記録を取らない、1からX=シーケンシャルな数字、ファイル名に追加される)。デフォルトでは、値は0です(POP3通信は記録されません)。
+以前のリリースでは、時間値はこれらのコンテキストにおいてはミリ秒数として変換・保管されていました。このセレクターを使用することで、必要であれば以前の設定に戻すことで、移行がスムーズになります。
-**説明**: トランスポーターオブジェクトが*POP3\_transporter.getMail( )* または *POP3\_transporter.checkConnection( )*で処理されたとき、4D とPOP3 サーバー間の通信の記録を開始または停止します。デフォルトでは値は0 です(通信は記録されません)。この機構か有効化されている時、データベースのLogs フォルダにログファイルが作成されます。ファイル名は4DPOP3Log\_X.txt という形式となっており、X はログのシーケンシャル番号です。4DPOP3Log のサイズが10MBに到達すると、そのファイルは閉じられて新しいファイルが生成され、シーケンシャル番号は1つ増加します。同じ名前のファイルが既に存在する場合、それは上書きされます。シーケンシャル番号の開始番号を、value 引数を用いて指定することができます。デフォルトでは全てのファイルが保持されますが、Circular log limitation 定数を使用することで残すファイルの数を制限することもできます。
+**注**: ORDA メソッドとSQL エンジンはこの設定を無視し、時間値は常に秒数であるとみなします。
-4DPOP3Log\_X.txt ファイルの詳細な情報については、*ログファイルの詳細* の章を参照してください。
-### Is host database writable (117)
+### Tips delay (102)
-**注:** このセレクターは[Get database parameter](get-database-parameter.md) コマンドでしか使用できず、この値を設定することはできません。
+**スコープ:** 4Dアプリケーション
-**スコープ**: 4D アプリケーション
+**異なるセッション間で値を保持:** No
-**詳細**: ホストのプロジェクトファイル/ストラクチャーが書き込み可能なら1を、読み出し専用なら0を返します。
+**取りうる値:** 倍調整数 >= 0 (ティック)
+**詳細:** マウスカーソルがヘルプメッセージが関連づけられたオブジェクト内で停止してからTipsが表示されるまでの遅延時間です。値はティック(1/60秒)単位で表現されます。デフォルトの値は45ティック(=0.75秒)です。
-### IMAP Log (119)
-**Thread-safe** : Yes
-**スコープ**: 4D ローカル、4D Server
+### Tips duration (103)
-**異なるセッション間で値を保持**: No
+**スコープ:** 4Dアプリケーション
-**取りうる値**: 0 または1 から X(0= 記録しない、1からX= シーケンシャル番号、ファイル名に追加される)。デフォルトでは値は0 です(IMAP の交換は記録されない)。
+**異なるセッション間で値を保持:** No
-**詳細**: transporter オブジェクトが*IMAP\_transporter.getMail( )* または *IMAP\_transporter.checkConnection( )* で処理される際の4D とIMAP サーバーとの間の通信記録を開始または停止します。デフォルトでは、値は0です(通信は記録されません)。この機構が有効化されている場合、ログファイルがデータベースのLogフォルダに作成されます。ファイルは4DIMAPLog\_X.txt と名前がつけられ、このX はログのシーケンシャル番号です。ファイルのサイズが10MB に到達すると、ファイルは閉じられ、インクリメントされたシーケンシャル番号を持った新しいファイルが生成されます。同じ名前のファイルが既に存在する場合、それは直接置き換えられます。value 引数を使用するとシーケンス番号の開始番号を設定することができます。デフォルトで、全てのファイルは保持されますが、Circular log limitation 引数を使用することで保持するファイルの数をコントロールすることができます。
+**取りうる値:** 倍調整数 >= 60 (ティック)
-ファイルの詳細については、*ログファイルの詳細* の章を参照してください。
+**詳細:** Tipsの最大表示時間です。値はティック(1/60秒)単位で表現されます。デフォルトの値は720ティック(=12秒)です。
-### Libzip version (120)
-**スコープ:** カレントの4D マシン**
+### Tips enabled (101)
-2セッション間で設定を保持:** n/a**
+**スコープ:** 4D アプリケーション
-説明:** カレントマシン上の4D アプリケーションのlibzip ライブラリのバージョン番号を返します(読み出し専用)
+**異なるセッション間で値を保持:** No
+**取りうる値:** 0 = tips無効化、1 = tips有効化(デフォルト)
+**詳細:** 4DアプリケーションのTipsのカレントの表示状態を設定あるいは取得します。デフォルトでは、Tipsは有効化されています。
-### Pause logging (121)
+この引数は全ての4DTipsに影響するという点に注意してください。つまり、フォームヘルプメッセージとデザインモードのエディターTipsに影響します。
-**Thread-safe** : Yes
-**スコープ**: 4D アプリケーション**
-異なるセッション間で値を設定を保持**: No**
-取り得る値**: 0 (ログを再開)、1 (ログを停止)
+### Use legacy network layer (87)
-このセレクターを使用するとアプリケーション上で開始された全てのログオペレーションを停止/再開させることができます(ただしORDAログは除く)。この機能は4Dアプリケーションのタスクを一時的に軽くしたり、あるいはログオペレーションのスケジュールを設定することに有用です。
+**スコープ**: 4D ローカル、4D Server
+**異なるセッション間で値を保持**: Yes
+**詳細:** クライアント/サーバー間の通信のネットワークレイヤーのカレントの状態を設定・取得します。旧式ネットワークレイヤーは4D v14 R5以降廃止予定となり、お使いのアプリケーションにおいて*ServerNet* ネットワークレイヤーへと積極的に置き換えられてい行くべきです。*ServerNet* は、将来のネットワークの進化の恩恵を受けるために、今後の4Dのリリースの中で必須要項となって行きます。互換性の理由から、既存のアプリケーションの速やかな移行をサポートするために、旧式のネットワークレイヤーは引き続きサポートされます(v14 R5以前のリリースから変換されたアプリケーションにおいてはデフォルトで旧式ネットワークレイヤーが使用されます)。クライアント/サーバー通信において旧式ネットワークレイヤーを使用するためにはこの引数に1を渡します(*ServerNet* が無効化されます)。0を渡すと旧式ネットワークレイヤーが無効化されます(そして*ServerNet* が使用されます)。
-### TCPUDP log recording (131)
+このプロパティはデータベース設定の*互換性ページ* の"旧式ネットワークレイヤー"オプションを使用することによっても設定できます(*ネットワーク/クライアント-サーバー通信*参照)。この章では、移行戦略についての議論を読むこともできます。*ServerNet* の速やかな有効化が推奨されます。
-**Scope:** 4D application.
+この引数が有効になるためには、アプリケーションを再起動する必要があります。OS X版の4D Server 64-bit 版においては*ServerNet* のみをサポートするため、このオプションはご利用いただけません(常に0を返します)。
-**Kept between two sessions:** No.
+**取り得る値:** 0 または 1 (0 = 旧式ネットワークレイヤーを使用しない、1 = 旧式ネットワークレイヤーを使用する)
-**Possible values:** `0`: Logging disabled (default), `1`: Logging enabled.
+**デフォルトの値:** 4D v14 R5以降で作成されたデータベースにおいては0、4D v14 R4以前のものから変換されたデータベースにおいては1
-**Description:** Enables or disables the `4DTCPUDPLog.txt` file for logging TCP events.
-### RDP optimization (133)
+### User param value (108)
-**Scope:** 4D application.
+**スコープ:** 4D スタンドアロン、4D Server
-**Kept between two sessions:** No.
+**2セッション間で値を保持:** No
-**Possible values:** `0`: Disabled (default), `1`: Enabled.
+**取りうる値**: 任意のカスタムの文字列
-**Description:** Enables or disables optimizations for RDP (Remote Desktop Protocol). When enabled, optimizes in particular the use of shared clipboard in RDP connections, which can otherwise lead to freezing issues. Note that this selector disables the support in clipboard for images encoded as data uri in raw text (only concerns images dropped or explicitly copied as text from a browser).
+**説明:** 4D アプリケーションが再起動される際に、ひとつのセッションから次のセッションへと渡されるカスタムの文字列です。このセレクターは異なる引数を使用してアプリケーションを再起動する必要がある、自動化されたユニットテストなどのコンテキストで有用です。[SET DATABASE PARAMETER](set-database-parameter.md) で使用された場合、手動で、あるいは[OPEN DATABASE](open-database.md)(\*)、 [OPEN DATA FILE](open-data-file.md)、 または [RESTART 4D](restart-4d.md) コマンドを使用して4D が再起動したあとに開かれるデータベースで利用可能となる新しい値を定義します。[Get database parameter](get-database-parameter.md) で使用された場合、コマンドライン(*コマンドラインインターフェース* 参照)、4DLink ファイル(*4DLinkファイルを使用する* 参照)、あるいは前のセッションでの[SET DATABASE PARAMETER](set-database-parameter.md) への呼び出しなどを使用して定義された、現在利用可能なユーザー引数値を取得します。(\*) [SET DATABASE PARAMETER](set-database-parameter.md)がUser param value を設定した後に、[OPEN DATABASE](open-database.md)にuser-param xml 属性を含む.4DLink ファイル渡して呼び出した場合、4D は[SET DATABASE PARAMETER](set-database-parameter.md)で提供された引数のみを考慮します。
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/commands/command-index.md b/i18n/ja/docusaurus-plugin-content-docs/current/commands/command-index.md
index 685285543d6bd3..263bfb90e2d372 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/commands/command-index.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/commands/command-index.md
@@ -1,6 +1,6 @@
---
id: command-index
-title: Commands by name
+title: コマンド(名前順)
---
[4D](#4D) - [A](#A) - [B](#B) - [C](#C) - [D](#D) - [E](#E) - [F](#F) - [G](#G) - [H](#H) - [I](#I) - [J](#J) - [K](#K) - [L](#L) - [M](#M) - [N](#N) - [O](#O) - [P](#P) - [Q](#Q) - [R](#R) - [S](#S) - [T](#T) - [U](#U) - [V](#V) - [W](#W) - [X](#X) - [Y](#Y) - [Z](#Z)
@@ -1288,6 +1288,8 @@ title: Commands by name
[`WA STOP LOADING URL`](../commands-legacy/wa-stop-loading-url.md)
[`WA ZOOM IN`](../commands-legacy/wa-zoom-in.md)
[`WA ZOOM OUT`](../commands-legacy/wa-zoom-out.md)
+[`Web Event`](web-event.md)
+[`Web Form`](web-form.md)
[`WEB GET BODY PART`](../commands-legacy/web-get-body-part.md)
[`WEB Get body part count`](../commands-legacy/web-get-body-part-count.md)
[`WEB Get current session ID`](../commands-legacy/web-get-current-session-id.md)
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/commands/theme/Web_Server.md b/i18n/ja/docusaurus-plugin-content-docs/current/commands/theme/Web_Server.md
index 16b45310bdf94a..612c78eb702313 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/commands/theme/Web_Server.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/commands/theme/Web_Server.md
@@ -7,6 +7,8 @@ slug: /commands/theme/Web-Server
| |
| --------------------------------------------------------------------------------------------------------------------------------------- |
+| [](../../commands/web-event.md)
|
+| [](../../commands/web-form.md)
|
| [](../../commands-legacy/web-get-body-part.md)
|
| [](../../commands-legacy/web-get-body-part-count.md)
|
| [](../../commands-legacy/web-get-current-session-id.md)
|
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/commands/web-event.md b/i18n/ja/docusaurus-plugin-content-docs/current/commands/web-event.md
new file mode 100644
index 00000000000000..c1d03563807c61
--- /dev/null
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/commands/web-event.md
@@ -0,0 +1,97 @@
+---
+id: web-event
+title: Web Event
+displayed_sidebar: docs
+---
+
+**Web Event** : object
+
+
+
+| 引数 | 型 | | 説明 |
+| --- | ------ | :-------------------------: | ---------------------------------- |
+| 戻り値 | Object | ← | Information on the triggered event |
+
+
+
+## 説明
+
+`Web Event` returns an object with information on a triggered event linked to a web page component.
+
+The command must be called in the context of a web page handled by the 4D web server.
+
+**戻り値**
+
+戻り値のオブジェクトには、以下のプロパティが格納されています:
+
+| プロパティ | | 型 | 説明 |
+| --------- | ----- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| caller | | string | [Server-side reference](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/pageLoaderOverview#data-access-category) of the component triggering the event |
+| eventType | | string | Type of event:onbluronfocusonclickonauxclickonmouseenteronmouseleaveonkeyuponkeydownonchangeunloadonload - triggered when the `Page` loads |
+| data | | object | Additional information depending on the involved component |
+| | index | number | Tabs component: index of the tab (indexing starts at 0)Data Table component: column number |
+| | row | number | Data Table component: row number |
+| | name | string | Data Table component: qodlysource name of the column (e.g. "firstname", "address.city") |
+
+#### 例題
+
+The objective is to display/hide a help text when the user hovers over the component:
+
+
+
+This is done by attaching `onmouseenter` and `onmouseleave` events to a **Text input** component that displays the information stored in a **Text** component (displaying "This is the help text").
+
+
+
+In this scenario:
+
+- The Text input component has `orderNumber` as Server side reference.
+ 
+- The Text component has `helpOn_orderNumber` as Server side reference.
+ 
+- The [exposed](../ORDA/ordaClasses.md#exposed-vs-non-exposed-functions) function `help()` is attached to both the `onmouseenter` and `onmouseleave` events and contains the following code:
+
+```4d
+shared singleton Class constructor()
+exposed Function help()
+
+ var event : Object
+ var myForm : 4D.WebForm
+ var componentRef : Text
+
+ myForm:=web Form
+ event:=web Event
+ componentRef:=event.caller
+
+ Case of
+ : (event.eventType="onmouseenter") // event is onmouseenter
+ myForm["helpOn_"+componentRef].show() // show the help on "orderNumber" by showing
+ // the text component with reference "helpOn_orderNumber"
+ : (event.eventType="onmouseleave") // event is onmouseleave
+ myForm["helpOn_"+componentRef].hide() // hide the help on orderNumber
+
+ End case
+
+```
+
+To open the web page with the help on `orderNumber` hidden, you can associate this function to the `onload` event of the web page:
+
+```4d
+exposed function hideOnLoad()
+ webForm.helpOn_orderNumber.hide()
+
+```
+
+## 参照
+
+[Web Form](web-form.md)
+[WebForm class](../API/WebFormClass.md)
+[WebFormItem class](../API/WebFormItemClass.md)
+
+## プロパティ
+
+| | |
+| ------- | --------------------------- |
+| コマンド番号 | 1734 |
+| スレッドセーフ | ✗ |
+
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/commands/web-form.md b/i18n/ja/docusaurus-plugin-content-docs/current/commands/web-form.md
new file mode 100644
index 00000000000000..7a4ad65fe53b96
--- /dev/null
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/commands/web-form.md
@@ -0,0 +1,46 @@
+---
+id: web-form
+title: Web Form
+displayed_sidebar: docs
+---
+
+**Web Form** : 4D.WebForm
+
+
+
+| 引数 | 型 | | 説明 |
+| --- | -------------------------- | :-------------------------: | --------------------------- |
+| 戻り値 | 4D.WebForm | ← | New `Web Form` proxy object |
+
+
+
+## 説明
+
+The `Web Form` command returns a `4D.WebForm` proxy object, providing a means to work with and effectively emulates the Page's properties and functions.
+
+:::info
+
+Keep in mind that a `4D.WebForm` object is a **proxy object**, and not a direct reference to the web form object itself. As a consequence for example, the `4D.WebForm` object does not expose all Page properties in the Debugger.
+
+:::
+
+Each property of the returned object is an object of the [4D.WebFormItem](../API/WebFormItemClass.md) class.
+
+The command returns `null` if it is called in a request that does not originate from Qodly Studio.
+
+## 参照
+
+[Web Event](web-event.md)
+[WebForm class](../API/WebFormClass.md)
+[WebFormItem class](../API/WebFormItemClass.md)
+
+## プロパティ
+
+| | |
+| ------- | --------------------------- |
+| コマンド番号 | 1735 |
+| スレッドセーフ | ✗ |
+
+
+
+
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-19/API/CollectionClass.md b/i18n/ja/docusaurus-plugin-content-docs/version-19/API/CollectionClass.md
index 9c9b73a778df06..e4564b2e20c22b 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-19/API/CollectionClass.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-19/API/CollectionClass.md
@@ -4,7 +4,7 @@ title: Collection
---
-Collectionクラスは [コレクション](Concepts/dt_collection.md) 型の変数を扱います。
+The Collection class manages [Collection](Concepts/dt_collection.md) type expressions.
コレクションは次のように初期化します:
@@ -349,14 +349,14 @@ $c.combine($fruits;3) //[1,2,3,"Orange","Banana","Apple","Grape",4,5,6]
-**.concat**( *value* : any { *;...valueN* } ) : Collection
+**.concat**( *value* : any { ; *...valueN* } ) : Collection
-| 引数 | 型 | | 説明 |
-| ----- | -------------------------------------------------------------- |:--:| ----------------------------------------------------- |
-| value | Number, Text, Object, Collection, Date, Time, Boolean, Picture | -> | 連結する値。 *value* がコレクションの場合、コレクションの全要素が元のコレクションに追加されます。 |
-| 戻り値 | Collection | <- | 元のコレクションに値が追加された新規コレクション|
+| 引数 | 型 | | 説明 |
+| ----- | ---------- |:--:| ----------------------------------------------------- |
+| value | any | -> | 連結する値。 *value* がコレクションの場合、コレクションの全要素が元のコレクションに追加されます。 |
+| 戻り値 | Collection | <- | 元のコレクションに値が追加された新規コレクション|
|
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-19/Concepts/dt_number.md b/i18n/ja/docusaurus-plugin-content-docs/version-19/Concepts/dt_number.md
index d69ccd9af788c8..92393a3eaddeaf 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-19/Concepts/dt_number.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-19/Concepts/dt_number.md
@@ -73,9 +73,9 @@ title: 数値 (実数、倍長整数、整数)
:::
-### 倍長整数を返す除算
+### Integer division
-倍長整数を返す除算演算子 \ は、整数値の有効値を返します。
+The integer division operator divides one number by another and returns the whole number part of the result, discarding any remainder. `a\b` is equivalent to `Int(a/b)`. This operator returns significant values with integer numbers only.
### 実数の比較
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-19/Concepts/quick-tour.md b/i18n/ja/docusaurus-plugin-content-docs/version-19/Concepts/quick-tour.md
index 30703317e15a79..b2f360c90f5fb3 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-19/Concepts/quick-tour.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-19/Concepts/quick-tour.md
@@ -318,7 +318,7 @@ This.name:="Square"
| Col[5] | コレクション要素 | コレクション要素は式として、サポートされているいずれのタイプでもありえます。 |
| $entitySel[0] | Entity | ORDA のエンティティセレクションの要素である、エンティティを返します。 これは **代入不可の式** です。 |
-### 代入可 vs 代入不可の式
+### 代入可 vs 代入不可の式 {#assignable-vs-non-assignable-expressions}
式は、数値の4や"Hello" の文字列のようなリテラル定数であったり、`$myButton` のような変数であったりします。 式には演算子も含められます。 たとえば、4 + 2 という式は加算演算子を使って二つの数値を加算し、結果の 6 を返します。 リテラル定数や演算子を使った式は **代入不可の式**で、式に値を代入することはできません。 **代入可能な式** も存在します。 代入演算子の左側に使えるものが、代入可能な式です。 例:
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-19/Concepts/variables.md b/i18n/ja/docusaurus-plugin-content-docs/version-19/Concepts/variables.md
index 8f3d48ce8cab37..5eed54f80551e0 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-19/Concepts/variables.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-19/Concepts/variables.md
@@ -243,7 +243,7 @@ atNames{1}:="Richard"
| ------------------------------------------------------ | ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `OK` | Integer | 通常、コマンドがダイアログボックスを表示して、ユーザーが **OK** ボタンをクリックすると 1 に、**キャンセル** ボタンをクリックした場合は 0 に設定されます。 一部のコマンドは、処理が成功すると `OK` システム変数の値を変更します。 |
| `Document` | Text | [Open document](https://doc.4d.com/4dv20/help/command/ja/page264.html) や [SELECT LOG FILE](https://doc.4d.com/4dv20/help/command/ja/page345.html) などのコマンドを使用して最後に開いたファイルまたは作成したファイルのパス名 (フルパス + 名前) が含まれます。 |
-| `FldDelimit`, `RecDelimit` | Text | テキストを読み込んだり書き出したりする際に、フィールドの区切りとして (デフォルトは **タブ** (9))、あるいはレコードの区切り文字として (デフォルトは **キャリッジリターン** (13)) 使用する文字コードが格納されています。 区切り文字を変更する場合は、システム変数の値を変更します。 |
+| `FldDelimit`, `RecDelimit` | Integer | テキストを読み込んだり書き出したりする際に、フィールドの区切りとして (デフォルトは **タブ** (9))、あるいはレコードの区切り文字として (デフォルトは **キャリッジリターン** (13)) 使用する文字コードが格納されています。 区切り文字を変更する場合は、システム変数の値を変更します。 |
| `Error`, `Error method`, `Error line`, `Error formula` | Text, Longint | [`ON ERR CALL`](https://doc.4d.com/4dv20/help/command/ja/page155.html) コマンドでインストールされたエラー処理メソッド内で使用されます。 [メソッド内でのエラー処理](../Concepts/error-handling.md#メソッド内でのエラー処理) 参照。 |
| `MouseDown` | Integer | [`ON EVENT CALL`](https://doc.4d.com/4dv20/help/command/ja/page190.html) コマンドでインストールされたメソッド内で使用されます。 マウスボタンが押されたときに 1 が、それ以外の場合は 0 に設定されます。 |
| `MouseX`, `MouseY` | Integer | [`ON EVENT CALL`](https://doc.4d.com/4dv20/help/command/ja/page190.html) コマンドでインストールされたメソッド内で使用されます。 MouseDown=1 イベントの時、MouseX と MouseY にはクリックされた場所の水平 / 垂直座標がそれぞれ代入されます。 両方の値ともピクセル単位で表わされ、ウィンドウのローカルな座標システムを使用します。 ピクチャーフィールドや変数の場合は、On Clicked や On Double Clicked、および On Mouse Up フォームイベント内で、クリックのローカル座標が MouseX と MouseY に返されます。 また、[`On Mouse Enter`](../Events/onMouseEnter.md) および [`On Mouse Move`](../Events/onMouseMove.md) フォームイベントでもマウスカーソルのローカル座標が返されます。 詳細については、[ピクチャー上のマウス座標](../FormEditor/pictures.md#ピクチャー上のマウス座標) を参照ください。 |
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/API/CollectionClass.md b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/API/CollectionClass.md
index a1e68f21ebc952..f567db353de9bb 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/API/CollectionClass.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/API/CollectionClass.md
@@ -3,7 +3,7 @@ id: CollectionClass
title: Collection
---
-Collectionクラスは [コレクション](Concepts/dt_collection.md) 型の変数を扱います。
+Collectionクラスは [コレクション](Concepts/dt_collection.md) 型の式を扱います。
コレクションは [`New collection`](../commands/new-collection.md) または [`New shared collection`](../commands/new-shared-collection.md) コマンドで初期化されます。
@@ -271,14 +271,14 @@ $c.combine($fruits;3) //[1,2,3,"Orange","Banana","Apple","Grape",4,5,6]
-**.concat**( *value* : any { *;...valueN* } ) : Collection
+**.concat**( *value* : any { ; *...valueN* } ) : Collection
-| 引数 | 型 | | 説明 |
-| ----- | -------------------------------------------------------------- | :-------------------------: | ----------------------------------------------------- |
-| value | Number, Text, Object, Collection, Date, Time, Boolean, Picture | -> | 連結する値。 *value* がコレクションの場合、コレクションの全要素が元のコレクションに追加されます。 |
-| 戻り値 | Collection | <- | 元のコレクションに値が追加された新規コレクション |
+| 引数 | 型 | | 説明 |
+| ----- | ---------- | :-------------------------: | ----------------------------------------------------- |
+| value | any | -> | 連結する値。 *value* がコレクションの場合、コレクションの全要素が元のコレクションに追加されます。 |
+| 戻り値 | Collection | <- | 元のコレクションに値が追加された新規コレクション |
@@ -3222,14 +3222,12 @@ $r:=$c.reduceRight(Formula($1.accumulator*=$1.value); 1) // 戻り値は 86400
引数もなしに呼び出された場合、`.sort()` はスカラー値 (数値、テキスト、日付、ブール) のみを並べ替えます。 デフォルトでは、要素はそれぞれの型に応じて昇順で並べ替えられます。
*ascOrDesc* 引数には、以下の定数のいずれか一つを渡すことができます:
- ```
- |定数| 型|値|詳細|
- |---|---|---|---|
- |ck ascending|Integer|0|要素は昇順に並んでいます(デフォルト)|
- |ck descending|Integer|1|要素は降順に並んでいます|
-
- このシンタックスはコレクション内のスカラー値のみを並び替えます(オブジェクトやコレクションなどの他の型の要素は並べ替えされません)。
- ```
+| 定数 | 型 | 値 | 説明 |
+| ------------- | ------- | - | --------------------------------------- |
+| ck ascending | Integer | 0 | 要素は昇順に並べられます (デフォルト) |
+| ck descending | Integer | 1 | 要素は降順に並べられます |
+
+このシンタックスは、コレクション内のスカラー値のみを並べ替えます (オブジェクトやコレクションなどの他の型は並べ替えされないまま返されます)。
コレクションが異なる型の要素を格納している場合、それらはまず型ごとにグループ分けされ、そのあとで並べ替えられます。 型は以下の順番で返されます:
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/API/DataClassClass.md b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/API/DataClassClass.md
index 02d82d720db445..bded8598825499 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/API/DataClassClass.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/API/DataClassClass.md
@@ -1576,9 +1576,9 @@ softwares:{
`timeout` プロパティを設定すると、すでにキャッシュに存在するエンティティに新しいタイムアウトが設定されます。 これは頻繁に変更されないデータを扱う場合、つまり、サーバーへの新たな要求が必要ない場合に便利です。
-`maxEntries` は、ORDAキャッシュ内のエンティティの最大数を設定します。 デフォルトは 30,000 です。 デフォルトは 30,000 です。 デフォルトは 30,000 です。 デフォルトは 30,000 です。 デフォルトは 30,000 です。 デフォルトは 30,000 です。
+`maxEntries` は、ORDAキャッシュ内のエンティティの最大数を設定します。 デフォルトは 30,000 です。
-最小エントリー数は 300 のため、`maxEntries` の値は 300以上でなくてはなりません。 それ以外の場合は無視され、最大エントリー数は 300 に設定されます。 それ以外の場合は無視され、最大エントリー数は 300 に設定されます。 それ以外の場合は無視され、最大エントリー数は 300 に設定されます。
+最小エントリー数は 300 のため、`maxEntries` の値は 300以上でなくてはなりません。 それ以外の場合は無視され、最大エントリー数は 300 に設定されます。
`timeout` および `maxEntries` として有効なプロパティが渡されない場合、キャッシュはデフォルト値または以前に設定された値のまま変更されません。
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/Concepts/dt_number.md b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/Concepts/dt_number.md
index 27599d57aca16f..74bfdc0677c899 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/Concepts/dt_number.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/Concepts/dt_number.md
@@ -79,9 +79,9 @@ title: 数値(実数、整数)
:::
-### 倍長整数を返す除算
+### Integer division
-倍長整数を返す除算演算子 \ は、整数値の有効値を返します。
+The integer division operator divides one number by another and returns the whole number part of the result, discarding any remainder. `a\b` is equivalent to `Int(a/b)`. This operator returns significant values with integer numbers only.
### 実数の比較
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/Concepts/quick-tour.md b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/Concepts/quick-tour.md
index d1671bcd7133e1..395d4cba6c244b 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/Concepts/quick-tour.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/Concepts/quick-tour.md
@@ -310,7 +310,7 @@ This.name:="Square"
| Col[5] | コレクション要素 | コレクション要素は式として、サポートされているいずれのタイプでもありえます。 |
| $entitySel[0] | Entity | ORDA のエンティティセレクションの要素である、エンティティを返します。 これは **代入不可の式** です。 |
-### 代入可 vs 代入不可の式
+### Assignable vs non-assignable expressions {#assignable-vs-non-assignable-expressions}
式は、数値の4や"Hello" の文字列のようなリテラル定数であったり、`$myButton` のような変数であったりします。 式には演算子も含められます。 たとえば、4 + 2 という式は加算演算子を使って二つの数値を加算し、結果の 6 を返します。 リテラル定数や演算子を使った式は **代入不可の式**で、式に値を代入することはできません。
**代入可能な式** も存在します。 代入演算子の左側に使えるものが、代入可能な式です。 例:
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/Concepts/variables.md b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/Concepts/variables.md
index bf38f56c24bd72..e353105188d538 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/Concepts/variables.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/Concepts/variables.md
@@ -251,17 +251,18 @@ MyNumber:=3
システム変数は [4Dコマンド](../commands/command-index.md) によって使用されます。 コマンドがシステム変数に影響を与えるかどうかを確認するには、コマンドの説明の "システム変数およびセット" の項目を参照ください。
-| システム変数名 | 型 | 説明 |
-| ------------------------------------------------------ | ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| `OK` | Integer | 通常、コマンドがダイアログボックスを表示して、ユーザーが **OK** ボタンをクリックすると 1 に、**キャンセル** ボタンをクリックした場合は 0 に設定されます。 一部のコマンドは、処理が成功すると `OK` システム変数の値を変更します。 |
-| `Document` | Text | [Open document](../commands-legacy/open-document.md) や [SELECT LOG FILE](../commands/select-log-file.md) などのコマンドを使用して最後に開かれた、または作成されたファイルの「長い名前」(完全パス名)が格納されています。 |
-| `FldDelimit`, `RecDelimit` | Text | テキストを読み込んだり書き出したりする際に、フィールドの区切りとして (デフォルトは **タブ** (9))、あるいはレコードの区切り文字として (デフォルトは **キャリッジリターン** (13)) 使用する文字コードが格納されています。 区切り文字を変更する場合は、システム変数の値を変更します。 |
-| `Error`, `Error method`, `Error line`, `Error formula` | Text, Longint | [`ON ERR CALL`](../commands-legacy/on-err-call.md) コマンドによって実装されるエラー処理メソッド内で使用されます。 [メソッド内でのエラー処理](../Concepts/error-handling.md#メソッド内でのエラー処理)参照。 |
-| `MouseDown` | Integer | [`ON EVENT CALL`](../commands-legacy/on-event-call.md) コマンドによって実装されるエラー処理メソッド内で使用されます。 マウスボタンが押されたときに 1 が、それ以外の場合は 0 に設定されます。 |
-| `MouseX`, `MouseY` | Integer | [`ON EVENT CALL`](../commands-legacy/on-event-call.md) コマンドによって実装されるエラー処理メソッド内で使用されます。 `MouseDown=1` イベントの時、`MouseX` と `MouseY` にはクリックされた場所の水平 / 垂直座標がそれぞれ代入されます。 両方の値ともピクセル単位で表わされ、ウィンドウのローカルな座標システムを使用します。 ピクチャーフィールドや変数の場合は、[`On Clicked`](../Events/onClicked.md) や [`On Double Clicked`](../Events/onDoubleClicked.md)、および [`On Mouse Up`](../Events/onMouseUp.md) フォームイベント内で、クリックのローカル座標が `MouseX` と `MouseY` に返されます。 また、[`On Mouse Enter`](../Events/onMouseEnter.md) および [`On Mouse Move`](../Events/onMouseMove.md) フォームイベントでもマウスカーソルのローカル座標が返されます。 詳細については、[ピクチャー上のマウス座標](../FormEditor/pictures.md#ピクチャー上のマウス座標) を参照ください。 |
-| `KeyCode` | Integer | [`ON EVENT CALL`](../commands-legacy/on-event-call.md) コマンドによって実装されるエラー処理メソッド内で使用されます。 押されたキーの文字コードが代入されます。 押されたキーがファンクションキーの場合、`KeyCode` には特殊コードがセットされます。 |
-| `Modifiers` | Integer | [`ON EVENT CALL`](../commands-legacy/on-event-call.md) コマンドによって実装されるエラー処理メソッド内で使用されます。 キーボードのモディファイアキーの値を格納します (Ctrl/Command、Alt/Option、Shift、Caps Lock)。 |
-| `MouseProc` | Integer | [`ON EVENT CALL`](../commands-legacy/on-event-call.md) コマンドによって実装されるエラー処理メソッド内で使用されます。 最後のイベントが発生したプロセス番号を格納します。 |
+| システム変数名 | 型 | 説明 |
+| ------------------------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| `OK` | Integer | 通常、コマンドがダイアログボックスを表示して、ユーザーが **OK** ボタンをクリックすると 1 に、**キャンセル** ボタンをクリックした場合は 0 に設定されます。 一部のコマンドは、処理が成功すると `OK` システム変数の値を変更します。 |
+| `Document` | Text | [Open document](../commands-legacy/open-document.md) や [SELECT LOG FILE](../commands/select-log-file.md) などのコマンドを使用して最後に開かれた、または作成されたファイルの「長い名前」(完全パス名)が格納されています。 |
+| `FldDelimit`, `RecDelimit` | Integer | テキストを読み込んだり書き出したりする際に、フィールドの区切りとして (デフォルトは **タブ** (9))、あるいはレコードの区切り文字として (デフォルトは **キャリッジリターン** (13)) 使用する文字コードが格納されています。 区切り文字を変更する場合は、システム変数の値を変更します。 |
+| `Error`, `Error line` | Integer | [`ON ERR CALL`](../commands-legacy/on-err-call.md) コマンドによって実装されるエラー処理メソッド内で使用されます。 [メソッド内でのエラー処理](../Concepts/error-handling.md#メソッド内でのエラー処理)参照。 |
+| `Error method`, `Error formula` | Text | [`ON ERR CALL`](../commands-legacy/on-err-call.md) コマンドによって実装されるエラー処理メソッド内で使用されます。 [メソッド内でのエラー処理](../Concepts/error-handling.md#メソッド内でのエラー処理)参照。 |
+| `MouseDown` | Integer | [`ON EVENT CALL`](../commands-legacy/on-event-call.md) コマンドによって実装されるエラー処理メソッド内で使用されます。 マウスボタンが押されたときに 1 が、それ以外の場合は 0 に設定されます。 |
+| `MouseX`, `MouseY` | Integer | [`ON EVENT CALL`](../commands-legacy/on-event-call.md) コマンドによって実装されるエラー処理メソッド内で使用されます。 `MouseDown=1` イベントの時、`MouseX` と `MouseY` にはクリックされた場所の水平 / 垂直座標がそれぞれ代入されます。 両方の値ともピクセル単位で表わされ、ウィンドウのローカルな座標システムを使用します。 ピクチャーフィールドや変数の場合は、[`On Clicked`](../Events/onClicked.md) や [`On Double Clicked`](../Events/onDoubleClicked.md)、および [`On Mouse Up`](../Events/onMouseUp.md) フォームイベント内で、クリックのローカル座標が `MouseX` と `MouseY` に返されます。 また、[`On Mouse Enter`](../Events/onMouseEnter.md) および [`On Mouse Move`](../Events/onMouseMove.md) フォームイベントでもマウスカーソルのローカル座標が返されます。 詳細については、[ピクチャー上のマウス座標](../FormEditor/pictures.md#ピクチャー上のマウス座標) を参照ください。 |
+| `KeyCode` | Integer | [`ON EVENT CALL`](../commands-legacy/on-event-call.md) コマンドによって実装されるエラー処理メソッド内で使用されます。 押されたキーの文字コードが代入されます。 押されたキーがファンクションキーの場合、`KeyCode` には特殊コードがセットされます。 |
+| `Modifiers` | Integer | [`ON EVENT CALL`](../commands-legacy/on-event-call.md) コマンドによって実装されるエラー処理メソッド内で使用されます。 キーボードのモディファイアキーの値を格納します (Ctrl/Command、Alt/Option、Shift、Caps Lock)。 |
+| `MouseProc` | Integer | [`ON EVENT CALL`](../commands-legacy/on-event-call.md) コマンドによって実装されるエラー処理メソッド内で使用されます。 最後のイベントが発生したプロセス番号を格納します。 |
:::note
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/FormObjects/properties_Action.md b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/FormObjects/properties_Action.md
index 36a6abaf633cf6..d69b3da964c13e 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/FormObjects/properties_Action.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/FormObjects/properties_Action.md
@@ -212,15 +212,15 @@ title: 動作
## 標準アクション
-アクティブオブジェクトにより実行される典型的な処理 (例: レコードの入力・取り消し・削除、レコード間の移動、マルチページフォームでのページ間の移動、など) は、4D より標準アクションとして提供されています。 詳細な情報に関しては、*デザインリファレンス* の [標準アクション](https://doc.4d.com/4Dv20/4D/20.2/Standard-actions.300-6750239.ja.html) の章を参照ください。 There are also [standard actions specific to 4D Write Pro areas](../WritePro/user-legacy/defining-a-4d-write-pro-area.md#standard-actions).
+アクティブオブジェクトにより実行される典型的な処理 (例: レコードの入力・取り消し・削除、レコード間の移動、マルチページフォームでのページ間の移動、など) は、4D より標準アクションとして提供されています。 詳細な情報に関しては、*デザインリファレンス* の [標準アクション](https://doc.4d.com/4Dv20/4D/20.2/Standard-actions.300-6750239.ja.html) の章を参照ください。 There are also standard actions specific to 4D Write Pro areas.
フォームオブジェクトには、標準アクションとメソッドの両方を割り当てることができます。 この場合、標準アクションは通常、メソッドの後に実行されます。また、4D はこのアクションを使用して、カレントコンテキストに応じてオブジェクトを有効化/無効化します。 フォームオブジェクトが無効化されていた場合、関連づけられたメソッドは実行されません。
#### JSON 文法
-| 名称 | データタイプ | とりうる値 |
-| ------ | ------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| action | string | The name of a valid [standard action](https://doc.4d.com/4Dv20/4D/20.2/Standard-actions.300-6750239.en.html) or [4D Write Pro standard action](../WritePro/user-legacy/defining-a-4d-write-pro-area.md#standard-actions). |
+| 名称 | データタイプ | とりうる値 |
+| ------ | ------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| action | string | The name of a valid [standard action](https://doc.4d.com/4Dv20/4D/20.2/Standard-actions.300-6750239.en.html) or 4D Write Pro standard action]. |
#### 対象オブジェクト
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/FormObjects/webArea_overview.md b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/FormObjects/webArea_overview.md
index d094eda7a25d36..0f3cd5d873c008 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/FormObjects/webArea_overview.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/FormObjects/webArea_overview.md
@@ -18,7 +18,7 @@ Webエリアには 2つの特別な変数が自動で割り当てられます:
- [`URL`](properties_WebArea.md#url) --Web エリアが表示するURL をコントロールします。
- [`Progression`](properties_WebArea.md#progression) -- Web エリア内に表示されているページのロード率をコントロールします。
-> 4D v19 R5 以降、Progression 変数は、[Windows のシステムレンダリングエンジン](./webArea_overview.md#Webレンダリングエンジン) を使用しているWeb エリアにおいては更新されなくなりました。
+> As of 4D 19 R5, the Progression variable is no longer updated in Web Areas using the [Windows system rendering engine](./webArea_overview.md#web-rendering-engine).
### Webレンダリングエンジン
@@ -332,9 +332,11 @@ Webインスペクターを表示させるには、`WA OPEN WEB INSPECTOR` コ
}
```
-### 参照
+:::info 関連したblog 記事
-[Specify your own parameters to initialize the embedded web area (blog 記事)](https://blog.4d.com/specify-your-own-parameters-to-initialize-the-embedded-web-area)
+[Custom Parameters for Initializing Embedded Web Area](https://blog.4d.com/custom-parameters-for-initializing-embedded-web-area/)
+
+:::
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/ORDA/glossary.md b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/ORDA/glossary.md
index ce31a26ca023c4..bb8df81f97df04 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/ORDA/glossary.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/ORDA/glossary.md
@@ -105,7 +105,7 @@ ORDA データモデルクラスの関数。
## 汎用クラス
-エンティティやデータクラスなどの ORDA オブジェクト用のビルトインクラス。 エンティティやデータクラスなどの ORDA オブジェクト用のビルトインクラス。 汎用クラスのプロパティや関数は、ユーザー拡張クラス (例: `EmployeeEntity`) において自動で利用可能です。
+エンティティやデータクラスなどの ORDA オブジェクト用のビルトインクラス。 汎用クラスのプロパティや関数は、ユーザー拡張クラス (例: `EmployeeEntity`) において自動で利用可能です。
## レイジーローディング
@@ -119,7 +119,7 @@ ORDA データモデルクラスの関数。
データストア、データクラス、エンティティセレクション、エンティティなどの ORDA オブジェクトは、オブジェクトのクラスを定義します。 これらのクラスには、オブジェクトを直接操作するための専用のメソッドが提供されています。 これらのメソッドはメンバー関数とも呼ばれます。 このメソッドを使用するには、オブジェクトのインスタンスに対して呼び出します。
-たとえば、`query()` メソッドはデータクラスのメンバー関数です。 たとえば、`query()` メソッドはデータクラスのメンバー関数です。 たとえば、`query()` メソッドはデータクラスのメンバー関数です。 `$myClass` 変数にデータクラスオブジェクトを格納している場合、次のように書くことができます: たとえば、`query()` メソッドはデータクラスのメンバー関数です。 たとえば、`query()` メソッドはデータクラスのメンバー関数です。 `$myClass` 変数にデータクラスオブジェクトを格納している場合、次のように書くことができます: たとえば、`query()` メソッドはデータクラスのメンバー関数です。 たとえば、`query()` メソッドはデータクラスのメンバー関数です。 `$myClass` 変数にデータクラスオブジェクトを格納している場合、次のように書くことができます: たとえば、`query()` メソッドはデータクラスのメンバー関数です。 たとえば、`query()` メソッドはデータクラスのメンバー関数です。 `$myClass` 変数にデータクラスオブジェクトを格納している場合、次のように書くことができます: たとえば、`query()` メソッドはデータクラスのメンバー関数です。 たとえば、`query()` メソッドはデータクラスのメンバー関数です。 `$myClass` 変数にデータクラスオブジェクトを格納している場合、次のように書くことができます: たとえば、`query()` メソッドはデータクラスのメンバー関数です。 たとえば、`query()` メソッドはデータクラスのメンバー関数です。 `$myClass` 変数にデータクラスオブジェクトを格納している場合、次のように書くことができます:
+たとえば、`query()` メソッドはデータクラスのメンバー関数です。 `$myClass` 変数にデータクラスオブジェクトを格納している場合、次のように書くことができます:
```code4d
$myClass.query("name = smith")
@@ -150,7 +150,7 @@ $myClass.query("name = smith")
## 権限
-The ability to run one or more [actions](#action) on [resources](#resource). ビジネスロジックに応じて、複数の権限を [ロール](#ロール) としてまとめることができます。
+[リソース](#リソース) に対する実行が許可された [アクション](#アクション) の範囲のことです。 ビジネスロジックに応じて、複数の権限を [ロール](#ロール) としてまとめることができます。
## プロパティ
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/ORDA/orda-events.md b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/ORDA/orda-events.md
index a61deb863753ab..e0488d449e271a 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/ORDA/orda-events.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/ORDA/orda-events.md
@@ -1,79 +1,79 @@
---
id: orda-events
-title: Entity Events
+title: エンティティイベント
---
履歴
-| リリース | 内容 |
-| ------ | ------------------- |
-| 20 R10 | touched event added |
+| リリース | 内容 |
+| ------ | -------------- |
+| 20 R10 | touched イベント追加 |
-Entity events are functions that are automatically invoked by ORDA each time entities and entity attributes are manipulated (added, deleted, or modified). You can write very simple events, and then make them more sophisticated.
+エンティティイベントとは、エンティティやエンティティ属性が操作(追加、削除、変更)されるたびに ORDA によって自動的に呼び出される関数です。 シンプルなイベントを書き、それをより洗練されたものに変えていくことができます。
-You cannot directly trigger event function execution. Events are called automatically by ORDA based on user actions or operations performed through code on entities and their attributes.
+イベント関数の実行は直接トリガーすることはできません。 イベントは、ユーザーアクションや、エンティティまたはその属性に対するコードを通して実行された操作に基づいて、ORDA によって自動的に呼び出されます。
-:::info note Compatibility note
+:::info 互換性に関する注意
-ORDA entity events in the datastore are equivalent to triggers in the 4D database. However, actions triggered at the 4D database level using the 4D classic language commands or standard actions do not trigger ORDA events.
+データストアにおける ORDA エンティティイベントは、4D データベースにおけるトリガに相当します。 しかしながら、4D クラシックランゲージコマンドを使用して 4D データベースレベルでトリガーされたアクション、あるいは標準アクションは、ORDA イベントをトリガーしません。 また、トリガとは異なり、ORDA エンティティイベントはエンティティを保存または削除する際に、データクラスの元となるテーブル全体をロックしないことに注意して下さい。 個別のエンティティ(つまりレコード)に起因している限りは、複数のイベントが同時に実行されることが可能です。
:::
## 概要
-### Event level
+### イベントレベル
エンティティイベント関数は必ず[Entity クラス](../ORDA/ordaClasses.md#entity-class) 内で定義されます。
-It can be set at the **entity** level and/or the **attribute** level (it includes [**computed attributes**](../ORDA/ordaClasses.md#computed-attributes)). In the first case, it will be triggered for any attributes of the entity; on the other case, it will only be triggered for the targeted attribute.
+イベントは **エンティティ** レベルまたは **属性** レベルで設定することができます(属性には [**計算属性**](../ORDA/ordaClasses.md#計算属性) も含まれます)。 前者の場合、エンティティのあらゆる属性でイベントがトリガーされます。それ以外の場合、イベントは対象となる属性に対してのみトリガーされます。
-For the same event, you can define different functions for different attributes.
+同じイベントに対して、異なる属性に対して異なる関数を定義することができます。
-You can also define the same event at both attribute and entity levels. The attribute event is called first and then the entity event.
+また同じイベントを属性レベルとエンティティレベルの両方で定義することも可能です。 その場合、属性イベントが先に呼ばれ、その後にエンティティイベントが呼ばれます。
-### Execution in remote configurations
+### リモート構成における実行
-Usually, ORDA events are executed on the server.
+一般的に、ORDA イベントはサーバー上で実行されます。
-In client/server configuration however, the `touched()` event function can be executed on the **server or the client**, depending on the use of [`local`](./ordaClasses.md#local-functions) keyword. A specific implementation on the client side allows the triggering of the event on the client.
+しかしながらクライアント/サーバー構成においては、[`local`](./ordaClasses.md#local-functions) キーワードの使用によっては、`touched()` イベント関数を**サーバーまたはクライアント**で実行することが可能です。 クライアント側で特定の実装をすることにより、イベントをクライアント上でトリガーすることができるようになります。
:::note
-ORDA [`constructor()`](./ordaClasses.md#class-constructor) functions are always executed on the client.
+ORDA [`constructor()`](./ordaClasses.md#class-constructor) 関数は必ずクライアント上で実行されます。
:::
他のリモート設定(例: Qodly アプリケーション、[REST API リクエスト](../REST/REST_requests.md)、あるいは[`Open datastore`](../commands/open-datastore.md) を通したリクエスト) では、`touched()` イベント関数は必ず**サーバー側**で実行されます。 これはつまり、イベントがトリガーされるためには、属性がタッチされたということを必ずサーバーが"見える"ようにしておかなければならないということを意味します(以下参照)。
-### Summary table
+### 概要表
以下の表は、ORDA エンティティイベントの一覧とそのルールをまとめたものです。
-| イベント | レベル | Function name | (C/S) Executed on |
-| :------------------- | :----- | :------------------------------------------------------ | :------------------------------------------------------------------: |
-| Entity instantiation | Entity | [`constructor()`](./ordaClasses.md#class-constructor-1) | client |
-| Attribute touched | 属性 | `event touched ()` | Depends on [`local`](../ORDA/ordaClasses.md#local-functions) keyword |
-| | Entity | `event touched()` | Depends on [`local`](../ORDA/ordaClasses.md#local-functions) keyword |
+| イベント | レベル | 関数名 | (C/S の場合) 実行される場所 |
+| :------------- | :----- | :------------------------------------------------------ | :--------------------------------------------------------: |
+| エンティティのインスタンス化 | Entity | [`constructor()`](./ordaClasses.md#class-constructor-1) | client |
+| 属性がタッチされた | 属性 | `event touched ()` | [`local`](../ORDA/ordaClasses.md#local-functions) キーワードによる |
+| | Entity | `event touched()` | [`local`](../ORDA/ordaClasses.md#local-functions) キーワードによる |
:::note
-The [`constructor()`](./ordaClasses.md#class-constructor-1) function is not actually an event function but is always called when a new entity is instantiated.
+[`constructor()`](./ordaClasses.md#class-constructor-1) 関数は実際にはイベント関数ではありませんが、エンティティがインスタンス化される際に必ず呼び出されます。
:::
-## *event* parameter
+## *event* 引数
-Event functions accept a single *event* object as parameter. When the function is called, the parameter is filled with several properties:
+イベント関数は、単一の *event* オブジェクトを引数として受け取ります。 関数が呼び出されると、引数には複数のプロパティに値が入れられます:
-| プロパティ名 | 利用可能性 | 型 | 説明 |
-| :-------------- | :----------- | :-- | :------------------------------------------------------------------------------------- |
-| `kind` | Always | 文字列 | イベント名("touched") |
-| *attributeName* | 属性に関するイベントのみ | 文字列 | Attribute name (*e.g.* "firstname") |
-| *dataClassName* | Always | 文字列 | Dataclass name (*e.g.* "Company") |
+| プロパティ名 | 利用可能性 | 型 | 説明 |
+| :-------------- | :----------- | :-- | :----------------------------------------- |
+| `kind` | 常に | 文字列 | イベント名("touched") |
+| *attributeName* | 属性に関するイベントのみ | 文字列 | 属性名 (*例* "firstname") |
+| *dataClassName* | 常に | 文字列 | データクラス名 (*例* "Company") |
-## Event function description
+## イベント関数の詳細
### `Function event touched`
@@ -82,39 +82,39 @@ Event functions accept a single *event* object as parameter. When the function i
```4d
{local} Function event touched($event : Object)
{local} Function event touched ($event : Object)
-// code
+// コード
```
-This event is triggered each time a value is modified in the entity.
+このイベントはエンティティ内の値が編集されるたびにトリガーされます。
- 関数をエンティティレベルで定義していた場合(第一シンタックス)、その関数はエンティティの任意の属性における変更に対してトリガーされます。
- 関数を属性レベルで定義していた場合(第二シンタックス)、関数はその属性に対する変更に対してのみトリガーされます。
-This event is triggered as soon as the 4D Server / 4D engine can detect a modification of attribute value which can be due to the following actions:
+このイベントは4D Server / 4Dエンジンが属性値の変更を検知するとすぐにトリガーされます。この変更は、以下のようなアクションによって引き起こされます:
-- in **client/server with the [`local` keyword](../ORDA/ordaClasses.md#local-functions)** or in **4D single-user**:
- - the user sets a value on a 4D form,
- - the 4D code makes an assignment with the `:=` operator. The event is also triggered in case of self-assignment (`$entity.attribute:=$entity.attribute`).
-- in **client/server without the `local` keyword**: some 4D code that makes an assignment with the `:=` operator is [executed on the server](../commands-legacy/execute-on-server.md).
-- **`local` キーワードを使用しないクライアント/サーバー**、**[Qodly アプリケーション](https://developer.qodly.com/docs)** および **[リモートデータストア](../commands/open-datastore.md)**: ORDA 関数(エンティティ上の関数あるいはエンティティを引数として使用する関数)を呼び出した場合にはエンティティは4D Server に受信されます。 It means that you might have to implement a *refresh* or *preview* function on the remote application that sends an ORDA request to the server and triggers the event.
-- with the REST server: the value is received on the REST server with a [REST request](../REST/$method.md#methodupdate) (`$method=update`)
+- **[`local` キーワード](../ORDA/ordaClasses.md#local関数) を使用したクライアント/サーバー** あるいは **シングルユーザーモードの4D**:
+ - ユーザーが4D フォーム上で値を設定した
+ - 4D コードが `:=` 演算子によって代入を行った。 このイベントは自己代入の場合にもトリガーされます(`$entity.attribute:=$entity.attribute`)。
+- **`local` キーワード を使用しないクライアント/サーバー**: `:=` 演算子によって代入を行う一部の4D コードは、[サーバー上で実行されます](../commands-legacy/execute-on-server.md)。
+- **`local` キーワードを使用しないクライアント/サーバー**、**[Qodly アプリケーション](https://developer.qodly.com/docs)** および **[リモートデータストア](../commands/open-datastore.md)**: ORDA 関数(エンティティ上の関数あるいはエンティティを引数として使用する関数)を呼び出した場合にはエンティティは4D Server に受信されます。 これはつまり、リモートアプリケーション側に*refresh* あるいは *preview* 関数を実装することでORDA リクエストをサーバーに送信し、イベントをトリガーするようにする必要があるかもしれない、ということです。
+- REST サーバー: 値は REST サーバーに、[REST リクエスト](../REST/$method.md#methodupdate) (`$method=update`) とともに受信されます。
-The function receives an [*event* object](#event-parameter) as parameter.
+関数は [*event* オブジェクト](#event-引数) を引数として受け取ります。
このイベントがエラーを[throw](../commands-legacy/throw.md) する場合でも、進行中のアクションは停止しません。
:::note
-This event is also triggered:
+このイベントは以下の場合にもトリガーされます:
-- when attributes are assigned by the [`constructor()`](./ordaClasses.md#class-constructor-1) event,
-- when attributes are edited through the [Data Explorer](../Admin/dataExplorer.md).
+- 属性の値が [`constructor()`](./ordaClasses.md#class-constructor-1) イベントによって代入された場合
+- 属性の値が [データエクスプローラー](../Admin/dataExplorer.md) を通して編集された場合。
:::
#### 例題 1
-You want to uppercase all text attributes of an entity when it is updated.
+エンティティが更新されたときに、エンティティ内のテキスト属性を全て大文字に変換したい場合を考えます。
```4d
//ProductsEntity class
@@ -127,11 +127,11 @@ Function event touched($event : Object)
#### 例題 2
-The "touched" event is useful when it is not possible to write indexed query code in [`Function query()`](./ordaClasses.md#function-query-attributename) for a [computed attribute](./ordaClasses.md#computed-attributes).
+"touched" イベントは、[計算属性](./ordaClasses.md#計算属性)に対して[`Function query()`](./ordaClasses.md#function-query-attributename) 内でインデックスクエリコードを書くことが不可能な場合にとても有用です。
-This is the case for example, when your [`query`](./ordaClasses.md#function-query-attributename) function has to compare the value of different attributes from the same entity with each other. You must use formulas in the returned ORDA query -- which triggers sequential queries.
+これは例えば、[`query`](./ordaClasses.md#function-query-attributename) 関数が同じエンティティの異なる属性の値どうしを比較したいような場合です。 これは返されたORDA クエリ内でフォーミュラを使う必要があり、結果としてシーケンシャルクエリをトリガーすることになります。
-To fully understand this case, let's examine the following two calculated attributes:
+このような場合を完全に理解するために、以下の2つの計算属性について調べてみましょう:
```4d
Function get onGoing() : Boolean
@@ -141,9 +141,9 @@ Function get sameDay() : Boolean
return (This.departureDate=This.arrivalDate)
```
-Even though they are very similar, these functions cannot be associated with identical queries because they do not compare the same types of values. The first compares attributes to a given value, while the second compares attributes to each other.
+たとえ非常に似ていたとしても、これらのクエリは同じ型の値を比較している訳ではないため、これらの関数を同一のクエリと関連づけることはできません。 前者は属性を与えられた値と比較する一方、後者は属性どうしを比較します。
-- For the *onGoing* attribute, the [`query`](./ordaClasses.md#function-query-attributename) function is simple to write and uses indexed attributes:
+- *onGoing* 属性に対しては、[`query`](./ordaClasses.md#function-query-attributename) 関数をシンプルに書くことができ、またインデックス付きの属性を使用します:
```4d
Function query onGoing($event : Object) : Object
@@ -164,12 +164,12 @@ Function query onGoing($event : Object) : Object
End case
$myQuery:=($onGoingValue) ? "departureDate <= :1 AND arrivalDate >= :1" : "departureDate > :1 OR arrivalDate < :1"
- // the ORDA query string uses indexed attributes, it will be indexed
+ // ORDA クエリ文字列はインデックス付き属性を使用するので、インデックスがつけられます
$parameters.push(Current date)
return {query: $myQuery; parameters: $parameters}
```
-- For the *sameDay* attribute, the [`query`](./ordaClasses.md#function-query-attributename) function requires an ORDA query based on formulas and will be sequential:
+- *sameDay* 属性に対しては、[`query`](./ordaClasses.md#function-query-attributename) 関数はフォーミュラに基づいたORDA クエリを必要とするため、検索はシーケンシャルに行われます:
```4d
Function query sameDay($event : Object) : Text
@@ -187,11 +187,11 @@ Function query sameDay($event : Object) : Text
End case
return ($sameDayValue) ? "eval(This.departureDate = This.arrivalDate)" : "eval(This.departureDate != This.arrivalDate)"
- // the ORDA query string uses a formula, it will not be indexed
+ // ORDA クエリ文字列はフォーミュラを使用するため、インデックスはつけられません
```
-- Using a **scalar** *sameDay* attribute updated when other attributes are "touched" will save time:
+- しかし他の属性が"タッチ"されたときに更新される**スカラー値の** *sameDay* 属性を使用することで、時間を節約することができます:
```4d
//BookingEntity class
@@ -207,7 +207,7 @@ Function event touched arrivalDate($event : Object)
```
-#### Example 3 (diagram): Client/server with the `local` keyword:
+#### 例題 3 (図): `local` キーワードを用いたクライアント/サーバー:
```mermaid
@@ -218,15 +218,15 @@ sequenceDiagram
Client->>+Client: $people.lastname:="Brown"
Note over Client: local Function event touched lastname($event : Object)
This.lastname:=Uppercase(This.lastname)
-Note over Client:$people.lastname is uppercased
+Note over Client:$people.lastname は大文字に変換されます
Client->>+Server: $people.apply()
- Note over Server: The $people entity is received with the lastname attribute uppercased
+ Note over Server: $people エンティティは lastname 属性が大文字に変換された状態で受信されます
```
-#### Example 4 (diagram): Client/server without the `local` keyword
+#### 例題 4 (図): `local` キーワードを用いないクライアント/サーバー
```mermaid
@@ -236,37 +236,36 @@ sequenceDiagram
Client->>+Client: $people.lastname:="Brown"
- Note over Client:$people.lastname is not uppercased
+ Note over Client:$people.lastname は大文字に変換されません
Client->>+Server: $people.apply()
Note over Server: Function event touched lastname($event : Object)
This.lastname:=Uppercase(This.lastname)
- Server-->>-Client: The $people entity is updated
-
- Note over Client:$people.lastname is uppercased
+ Server-->>-Client: $people エンティティが更新されます
+ Note over Client:$people.lastname は大文字に変換されます。
```
-#### Example 5 (diagram): Qodly application
+#### 例題 5 (図): Qodly アプリケーション
```mermaid
sequenceDiagram
-Qodly page->>+ Server: Get an entity into the People Qodly source
+Qodly page->>+ Server: エンティティをPeople Qodlyソースへと受け取る
-Qodly page->>+Qodly page: The user updates People.lastname
+Qodly page->>+Qodly page: ユーザーが People.lastname を更新する
-Note over Qodly page: The People Qodly source lastname attribute is not uppercased
+Note over Qodly page: People Qodly ソースの lastname 属性は大文字に変換されていません
Qodly page->>+ Server: Function call People.apply()
Note over Server: Function event touched lastname($event : Object)
This.lastname:=Uppercase(This.lastname)
-Server-->>-Qodly page: The People Qodly source is updated
-Note over Qodly page: The People Qodly source lastname attribute is uppercased
+Server-->>-Qodly page: People Qodly ソースが更新されます
+Note over Qodly page: People Qodly ソースの lastname 属性が大文字に変換されます
```
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/ORDA/ordaClasses.md b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/ORDA/ordaClasses.md
index a49e8ce5d07ead..ff642548a8b4d2 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/ORDA/ordaClasses.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/ORDA/ordaClasses.md
@@ -3,7 +3,7 @@ id: ordaClasses
title: データモデルクラス
---
-ORDA allows you to create high-level class functions above the [data model](https://doc.4d.com/4Dv20/4D/20.2/Creating-a-database-structure.200-6750097.en.html). これによってビジネス指向のコードを書き、APIのように "公開" することができます。 データストア、データクラス、エンティティ、およびエンティティセレクションはそれぞれ、関数を持つことのできるクラスオブジェクトとして提供されています。
+ORDAでは、[データモデル](https://doc.4d.com/4Dv20/4D/20.2/Creating-a-database-structure.200-6750097.ja.html)の上に高レベルクラス関数を作成することができます。 これによってビジネス指向のコードを書き、APIのように "公開" することができます。 データストア、データクラス、エンティティ、およびエンティティセレクションはそれぞれ、関数を持つことのできるクラスオブジェクトとして提供されています。
たとえば、選択中の社員より給与の高い社員一覧を返す `getNextWithHigherSalary()` 関数を `EmployeeEntity` クラスに作成したとします。 この関数は簡単に呼び出すことができます:
@@ -214,9 +214,9 @@ ORDA で公開されるテーブル毎に、Entity クラスが `cs` クラス
#### Class constructor
-You can define a **class constructor** for an Entity class. The class constructor is called whenever an entity is created in memory and can be used to initialize some values.
+エンティティクラスに対して **class constructor** を定義することができます。 クラスコンストラクターはエンティティがメモリ内に作成されるたびに呼び出され、これを使用して一部の値を初期化することができます。
-For information, please refer to the [Class constructor](#class-constructor-1) section.
+詳細な情報については[Class constructor](#class-constructor-1) を参照してください。
#### 計算属性
@@ -278,7 +278,7 @@ End if
- クラス定義の際、[`Class extends`](../Concepts/classes.md#class-extends-classname) ステートメントに使用する親クラスの名前は完全に合致するものでなくてはいけません (文字の大小が区別されます)。 たとえば、EntitySelection クラスを継承するには `Class extends EntitySelection` と書きます。
-- データモデルクラスオブジェクトのインスタンス化に `new()` キーワードは使えません (エラーが返されます)。 You must use a regular function as listed in the [`Instantiated by` column of the ORDA class table](#architecture).
+- データモデルクラスオブジェクトのインスタンス化に `new()` キーワードは使えません (エラーが返されます)。 上述の ORDA クラステーブルに一覧化されている、通常の [インスタンス化の方法](#アーキテクチャー) を使う必要があります。
- **`4D`** [クラスストア](Concepts/classes.md#クラスストア) のネイティブな ORDA クラス関数を、データモデルユーザークラス関数でオーバーライドすることはできません。
@@ -306,7 +306,7 @@ End if
```4d
// Entity class
Class constructor()
-// code
+// コード
```
:::note
@@ -315,48 +315,48 @@ Class constructor()
:::
-An ORDA class constructor function is triggered just after a new entity is created in memory, [whatever the way it is created](#commands-that-trigger-the-class-constructor-functions). It is useful to set initial values for entity instantiation, for example a custom ID.
+ORDA クラスコンストラクター関数は、[作成された方法に関わらず](#クラス関数をトリガーするコマンド)、新規エンティティがメモリ内に作成された直後にトリガーされます。 これは例えばカスタムのID など、エンティティインスタンス化時に初期値を設定するのに有用です。
-This function can only be set at the [entity level](#entity-class). There can only be one constructor function in an entity class (otherwise an error is returned).
+この関数は [エンティティレベル](#entity-クラス) でのみ設定可能です。 コンストラクター関数は、1つのエンティティクラスに 1つしか存在できません (そうでない場合はエラーが返されます)。
-This ORDA class constructor function does not receive or return parameters. However, you can use it to initialize attribute values using [`This`](../commands/this.md). Note that values initialized by the constructor are overriden if corresponding attributes are filled by the code.
+ORDA クラスコンストラクター関数は、引数を受け取ることも返すこともしません。 しかし、 [`This`](../commands/this.md).を使用して属性値を初期化することができます。 コンストラクターによって初期化された値は、対応する属性がコードによって値が入力される場合にはそれによって上書きされるということに注意してください。
:::note
-An ORDA class constructor function is similar to a [user class constructor function](../Concepts/classes.md#class-constructor), with the following differences:
+ORDA クラスコンストラクター関数は、[ユーザークラスコンストラクター関数](../Concepts/classes.md#class-constructor) と似ていますが、以下の点において違います:
-- you cannot pass parameters to the constructor,
-- you cannot use `shared`, `session`, or `singleton` keywords,
-- you cannot call the [`Super`](../Concepts/classes.md#super) keyword within the function,
-- the class constructor cannot be called using the `new()` function on an entity (entities can only be created by specific functions, see below).
+- コンストラクターには引数を渡すことはできません
+- `shared`、 `session` または `singleton` キーワードを使用することはできません
+- 関数内で [`Super`](../Concepts/classes.md#super) キーワードを呼び出すことはできません
+- クラスコンストラクターは、エンティティに `new()` 関数を使用することでは呼び出せません(エンティティは特定の関数でしか作成することはできません、以下参照)。
:::
-#### Commands that trigger the Class constructor functions
+#### クラスコンストラクター関数をトリガーするコマンド
-The `Class constructor` function is triggered by the following commands and features:
+`Class constructor` 関数は、以下のコマンドと機能によってトリガーされます:
- [`dataClass.new()`](../API/DataClassClass.md#new)
- [`dataClass.fromCollection()`](../API/DataClassClass#fromcollection)
-- [REST API $method=update](../REST/$method.md#methodupdate) in a POST without the `__KEY` and `__STAMP` parameters
-- the [Data Explorer](../Admin/dataExplorer.md#editing-data).
+- `__KEY` および `__STAMP` 引数のない POST での[REST API $method=update](../REST/$method.md#methodupdate)
+- [データエクスプローラー](../Admin/dataExplorer.md#editing-data)
:::note 注記
-- The [`entity.clone()`](../API/EntityClass.md#clone) function does not trigger the entity Class constructor.
-- Records created at the 4D database level using 4D classic language commands or standard actions do not trigger the entity Class constructor.
+- [`entity.clone()`](../API/EntityClass.md#clone) 関数はエンティティクラスコンストラクターをトリガーしません。
+- 4D クラシックランゲージ言語コマンドまたは標準アクションを使用して4D データベースレベルで作成されたレコードは、エンティティクラスコンストラクターをトリガーしません。
:::
-#### Remote configurations
+#### リモート構成
-When using a remote configurations, you need to pay attention to the following principles:
+リモート構成を使用している場合、以下の原則に対して注意する必要があります:
-- In **client/server** the function can be called on the client or on the server, depending on the location of the calling code. When it is called on the client, it is not triggered again when the client attempts to save the new entity and sends an update request to the server to create in memory on the server.
+- **クライアント/サーバー** では、コードを呼び出した場所によっては関数はクライアントまたはサーバーのどちらでも呼び出すことができます。 クライアント上で呼び出された場合、クライアントが新規エンティティを保存しようとして、サーバーのメモリ上に作成するために更新リクエストを送信したときにはもう一度トリガーされることはありません。
:::warning
-Since functions such as [`dataClass.fromCollection()`](../API/DataClassClass.md#fromcollection) can create a large number of entities and thus trigger the entity Class constructor consequently, you need to make sure the constructor code does not execute excessive time-consuming processings, for performance reasons. In remote configurations (see below), the code should not trigger multiple requests to the server.
+[`dataClass.fromCollection()`](../API/DataClassClass.md#fromcollection) のような関数は大量のエンティティを一度を作成し、結果としてエンティティクラスコンストラクターをトリガーしうるため、パフォーマンス上の理由から、コンストラクターコードに過度に時間を消費するような処理を実行しないように注意する必要があります。 リモート設定においては(以下参照)、コードはサーバーに対して複数のリクエストをトリガーしてはいけません。
:::
@@ -372,7 +372,7 @@ Class constructor()
```
-#### Example 2 (diagram): Client/server
+#### 例題 2 (図): クライアント/サーバー
```mermaid
@@ -382,7 +382,7 @@ Client->>+Client: Form.product:=ds.Products.new()
Note over Client: Class constructor
This.creationDate:=Current date()
This.comment:="Automatic comment"
-Note over Client: Form.product.creationDate is "06/17/25"
Form.product.comment is "Automatic comment"
+Note over Client: Form.product.creationDate は "25/06/17"
Form.product.comment は "Automatic comment"
Client->>+Server: Form.product.save()
@@ -391,47 +391,47 @@ Server-->>-Client: Success
```
-#### Example 3 (diagram): Qodly - Standard action
+#### 例題 3 (図): Qodly - 標準アクション
```mermaid
sequenceDiagram
- Qodly page->>+ Qodly page: Standard action Create a new entity (product Qodly source)
+ Qodly page->>+ Qodly page: 標準アクションで新規エンティティを作成 (product Qodlyソース)
- Qodly page->>+Server: Function call product.apply() OR Save standard action for the product Qodly source
+ Qodly page->>+Server: 関数がproduct Qodly ソースに対して product.apply() または Save 標準アクション を呼び出し
Note over Server: Class constructor
This.creationDate:=Current date()
This.comment:="Automatic comment"
- Server-->>-Qodly page: The product Qodly source creationDate and comment attributes are filled
+ Server-->>-Qodly page: product Qodlyソースの creationDate と comment 属性に値が入れられる
- Note over Qodly page: product.creationDate is "06/17/25"
and product.comment is "Automatic comment"
+ Note over Qodly page: product.creationDate は "06/17/25"
そして product.comment は "Automatic comment"
```
-#### Example 4 (diagram): Qodly - Standard action and update value on the newly created entity
+#### 例題 4 (図): Qodly - 標準アクションと新規作成エンティティの値を更新
```mermaid
sequenceDiagram
-Qodly page->>+ Qodly page: Standard action Create a new entity (product Qodly source)
+Qodly page->>+ Qodly page: 標準アクションで新規エンティティを作成(product Qodlyソース)
-Qodly page->>+ Qodly page: Update product comment with "Front end comment"
+Qodly page->>+ Qodly page: product の comment を "Front end comment" で更新
-Qodly page->>+Server: Function call product.apply() OR Save standard action for the product Qodly source
+Qodly page->>+Server: 関数が product Qodlyソースに対して product.apply() またはSave 標準アクションを呼び出し
Note over Server: Class constructor
This.creationDate:=Current date()
This.comment:="Automatic comment"
-Note over Server: The comment attribute is set with "Front end comment"
+Note over Server: comment 属性は "Front end comment" に設定
-Server-->>-Qodly page: The product Qodly source creationDate and comment attributes are filled
+Server-->>-Qodly page: product Qodlyソースの creationDate と comment 属性には値が入る
-Note over Qodly page: product.creationDate is "06/17/25"
and product.comment is "Front end comment"
+Note over Qodly page: product.creationDate は "25/06/17"
そして product.comment は "Front end comment"
```
-#### Example 5 (diagram): Qodly - Entity instanciated in a function
+#### 例題 5 (図): Qodly - 関数内でインスタンス化されたエンティティ
```mermaid
@@ -439,13 +439,13 @@ sequenceDiagram
Qodly page->>+Server: product Qodly source := Function call Products.createNew()
-Note over Server: CreateNew() function on the Products class
return This.new()
+Note over Server: Products クラスのCreateNew() 関数は
This.new() を返す
Note over Server: Class constructor
This.creationDate:=Current date()
This.comment:="Automatic comment"
-Server-->>-Qodly page: The product entity creationDate and comment attributes are filled
+Server-->>-Qodly page: product エンティティの creationDate と comment 属性には値が入れられる
-Note over Qodly page: product.creationDate is "06/17/25"
and product.comment is "Automatic comment"
+Note over Qodly page: product.creationDate は "25/06/17"
そして product.comment は "Automatic comment"
```
@@ -936,18 +936,18 @@ $arch.save() //courseName と name は "Archaeology II" に変更されます
## 公開vs非公開関数
-For security reasons, all of your data model class functions, including [computed attributes](#computed-attributes-1) and [alias attributes](#alias-attributes-1), as well as [shared singleton functions](../Concepts/classes.md#shared-singleton) are **not exposed** (i.e., private) by default to **remote requests**.
+セキュリティ上の理由から、[計算属性](#計算属性-1) と [エイリアス属性](#エイリアス属性-1) と、[共有シングルトン関数](../Concepts/classes.md#共有シングルトン) を含めたデータモデルクラス関数は**リモートリクエスト**に対してはデフォルトでは**公開されていません** (つまり非公開です)。
-Remote requests are:
+リモートリクエストとは以下のものを指します:
- `Open datastore` によって接続されたリモートの 4Dアプリケーションが送信するリクエスト
-- REST requests, including requests from [Qodly pages](https://developer.4d.com/qodly/)
+- REST リクエスト、[Qodly ページ](https://developer.4d.com/qodly/) からのリクエストも含める
> 通常の 4Dクライアント/サーバーリクエストは影響されません。 このアーキテクチャーにおいては、データモデルクラス関数は常に利用可能です。
公開されていない関数はリモートアプリケーションで利用することができず、RESTリクエストによるオブジェクトインスタンスに対して呼び出すこともできません。 リモートアプリケーションが非公開関数をアクセスしようとすると、"-10729 (未知のメンバー機能です)" エラーが返されます。
-To allow a function or an attribute to be called by a remote request, you must explicitly declare it using the `exposed` keyword. シンタックスは次の通りです:
+関数あるいは属性がリモートリクエストから呼び出されるのを許可するためには、`exposed` キーワードを使って明示的に宣言する必要があります。 シンタックスは次の通りです:
```4d
// 公開関数の宣言
@@ -956,24 +956,24 @@ exposed Function
```
```4d
-// declare an exposed alias
+// 公開されたエイリアスの宣言
exposed Alias
```
```4d
-// declare an exposed computed attribute
+// 公開された計算属性の宣言
exposed Function get
```
```4d
-// declare a shared singleton function
+// 共有シングルトン関数の宣言
shared singleton Class constructor()
exposed Function
```
:::note
-The `exposed` keyword can only be used with the objects decribed above. [通常のユーザークラス](Concepts/classes.md) 関数に対して使った場合、キーワードは無視され、コンパイラーはエラーを返します。
+`exposed` キーワードは上記で説明されているオブジェクトでのみ使用できます。 [通常のユーザークラス](Concepts/classes.md) 関数に対して使った場合、キーワードは無視され、コンパイラーはエラーを返します。
:::
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/ORDA/privileges.md b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/ORDA/privileges.md
index 8e1688c5125199..e59fbe279356df 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/ORDA/privileges.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/ORDA/privileges.md
@@ -1,6 +1,6 @@
---
id: privileges
-title: Roles and Privileges
+title: ロールと権限
---
データ保護と、承認ユーザーによる迅速かつ容易なデータアクセスを両立することは、Webアプリケーションにとって大きな課題です。 ORDA のセキュリティアーキテクチャーはデータストアの中心に実装されており、プロジェクト内のさまざまなリソース (データストア、データクラス、関数など) に対して、すべての Web または REST ユーザーセッションに特定の権限を定義することができます。
@@ -73,11 +73,11 @@ Webユーザーまたは RESTユーザーがログインすると、そのセッ
## 権限とロール
-**権限** とは、**リソース** に対して **アクション** を実行する技術的な能力であり、**ロール** は、管理者が使用するために公開された権限のことです。 基本的にロールとは、ビジネスユーザーのプロフィールを定義するためにいくつかの権限を集めたものです。 たとえば、"manageInvoices" (請求書管理) は権限の例で、"secretary" (秘書) は ("manageInvoices" および他の権限を持つ) ロールの例です。 基本的にロールとは、ビジネスユーザーのプロフィールを定義するためにいくつかの権限を集めたものです。 たとえば、"manageInvoices" (請求書管理) は権限の例で、"secretary" (秘書) は ("manageInvoices" および他の権限を持つ) ロールの例です。
+**権限** とは、**リソース** に対して **アクション** を実行する技術的な能力であり、**ロール** は、管理者が使用するために公開された権限のことです。 基本的にロールとは、ビジネスユーザーのプロフィールを定義するためにいくつかの権限を集めたものです。 たとえば、"manageInvoices" (請求書管理) は権限の例で、"secretary" (秘書) は ("manageInvoices" および他の権限を持つ) ロールの例です。
権限は、複数の "リソース+アクション" の組み合わせと関連付けることができます。 また、一つのアクションに複数の権限を関連付けることができます。 権限は、他の権限を含むことができます。
-- 権限やロールの **作成** は `roles.json` ファイル内にておこないます (後述参照)。 アクセス権の範囲を **設定** するには、リソースに適用される許諾アクションに権限名を割り当てます。 アクセス権の範囲を **設定** するには、リソースに適用される許諾アクションに権限名を割り当てます。 アクセス権の範囲を **設定** するには、リソースに適用される許諾アクションに権限名を割り当てます。 アクセス権の範囲を **設定** するには、リソースに適用される許諾アクションに権限名を割り当てます。 アクセス権の範囲を **設定** するには、リソースに適用される許諾アクションに権限名を割り当てます。 アクセス権の範囲を **設定** するには、リソースに適用される許諾アクションに権限名を割り当てます。 アクセス権の範囲を **設定** するには、リソースに適用される許諾アクションに権限名を割り当てます。 アクセス権の範囲を **設定** するには、リソースに適用される許諾アクションに権限名を割り当てます。 アクセス権の範囲を **設定** するには、リソースに適用される許諾アクションに権限名を割り当てます。
+- 権限やロールの **作成** は `roles.json` ファイル内にておこないます (後述参照)。 アクセス権の範囲を **設定** するには、リソースに適用される許諾アクションに権限名を割り当てます。
- 各ユーザーセッションに権限やロールを **許可** するには、`Session` クラスの [`.setPrivileges()`](../API/SessionClass.md#setprivileges) 関数を使用します。
@@ -166,7 +166,7 @@ exposed Function authenticate($identifier : Text; $password : Text)->$result : T
:::note Qodly Studio
-Qodly Studio for 4D では、権限パネルの [**強制ログイン**オプション](../WebServer/qodly-studio.md#force-login) を使用してログインモードを設定することができます。
+Qodly Studio for 4D では、権限パネルの [**強制ログイン**オプション](https://developer.4d.com/qodly/4DQodlyPro/force-login) を使用してログインモードを設定することができます。
:::
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/REST/authUsers.md b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/REST/authUsers.md
index 3261d080e8448f..030382ad872a89 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/REST/authUsers.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/REST/authUsers.md
@@ -18,7 +18,7 @@ When [scalable sessions are enabled](WebServer/sessions.md#enabling-web-sessions
:::note 互換性
-4D 20 R6 以降、`On REST Authentication` データベースメソッドに基づく従来のログインモードは **非推奨** となりました。 現在は、[**強制ログインモード**](../ORDA/privileges.md#rolesjson-ファイル) の使用 (新規プロジェクトでは自動的に有効) および [`ds.authentify()`関数](#function-authentify) の実装が推奨されています。 変換されたプロジェクトでは、[設定ダイアログボックスのボタン](../settings/web.md#dsauthentify-関数によって-rest認証を有効化する) を使用して、構成をアップグレードすることができます。 Qodly Studio for 4D では、権限パネルの [**強制ログイン**オプション](../WebServer/qodly-studio.md#force-login) を使用してログインモードを設定することができます。
+4D 20 R6 以降、`On REST Authentication` データベースメソッドに基づく従来のログインモードは **非推奨** となりました。 現在は、[**強制ログインモード**](../ORDA/privileges.md#rolesjson-ファイル) の使用 (新規プロジェクトでは自動的に有効) および [`ds.authentify()`関数](#function-authentify) の実装が推奨されています。 変換されたプロジェクトでは、[設定ダイアログボックスのボタン](../settings/web.md#dsauthentify-関数によって-rest認証を有効化する) を使用して、構成をアップグレードすることができます。 Qodly Studio for 4D では、権限パネルの [**強制ログイン**オプション](https://developer.4d.com/qodly/4DQodlyPro/force-login) を使用してログインモードを設定することができます。
:::
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/WebServer/sessions.md b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/WebServer/sessions.md
index d2391813312363..6fcb8e4aaaae9d 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/WebServer/sessions.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/WebServer/sessions.md
@@ -12,7 +12,7 @@ Webセッションでは、以下のことが可能です:
- セッションの [.storage](../API/SessionClass.md#storage) を使用して、Webクライアントのプロセス間でデータを保存および共有。
- セッションを実行しているユーザーに権限を関連付ける。
-:::tip Related blog post
+:::tip 関連したblog 記事
[高度な Webアプリケーションに対応したスケーラブルセッション](https://blog.4d.com/ja/scalable-sessions-for-advanced-web-applications/)
@@ -25,7 +25,7 @@ Webセッションは次のものに使用されます:
- HTTPリクエストを送信する [Webアプリケーション](gettingStarted.md)
- [リモートデータストア](../ORDA/remoteDatastores.md) や [Qodlyフォーム](qodly-studio.md) が使用する [REST API](../REST/authUsers.md) への呼び出し
-## Webセッションの有効化
+## Enabling web sessions {#enabling-web-sessions}
セッション管理機能は、4D Webサーバー上で有効または無効にすることができます。 セッション管理を有効化する方法は複数あります:
@@ -201,7 +201,7 @@ Else
End if
```
-:::tips 関連したblog 記事
+:::tip 関連したblog 記事
[高度な Webアプリケーションに対応したスケーラブルセッション](https://blog.4d.com/ja/scalable-sessions-for-advanced-web-applications/)
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20/API/CollectionClass.md b/i18n/ja/docusaurus-plugin-content-docs/version-20/API/CollectionClass.md
index 25b280bd677ca0..79379d85d4d3e3 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-20/API/CollectionClass.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-20/API/CollectionClass.md
@@ -4,7 +4,7 @@ title: Collection
---
-Collectionクラスは [コレクション](Concepts/dt_collection.md) 型の変数を扱います。
+The Collection class manages [Collection](Concepts/dt_collection.md) type expressions.
コレクションは次のように初期化します:
@@ -453,14 +453,14 @@ $c.combine($fruits;3) //[1,2,3,"Orange","Banana","Apple","Grape",4,5,6]
-**.concat**( *value* : any { *;...valueN* } ) : Collection
+**.concat**( *value* : any { ; *...valueN* } ) : Collection
-| 引数 | 型 | | 説明 |
-| ----- | -------------------------------------------------------------- |:--:| ----------------------------------------------------- |
-| value | Number, Text, Object, Collection, Date, Time, Boolean, Picture | -> | 連結する値。 *value* がコレクションの場合、コレクションの全要素が元のコレクションに追加されます。 |
-| 戻り値 | Collection | <- | 元のコレクションに値が追加された新規コレクション|
+| 引数 | 型 | | 説明 |
+| ----- | ---------- |:--:| ----------------------------------------------------- |
+| value | any | -> | 連結する値。 *value* がコレクションの場合、コレクションの全要素が元のコレクションに追加されます。 |
+| 戻り値 | Collection | <- | 元のコレクションに値が追加された新規コレクション|
|
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20/Concepts/dt_number.md b/i18n/ja/docusaurus-plugin-content-docs/version-20/Concepts/dt_number.md
index d69ccd9af788c8..92393a3eaddeaf 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-20/Concepts/dt_number.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-20/Concepts/dt_number.md
@@ -73,9 +73,9 @@ title: 数値 (実数、倍長整数、整数)
:::
-### 倍長整数を返す除算
+### Integer division
-倍長整数を返す除算演算子 \ は、整数値の有効値を返します。
+The integer division operator divides one number by another and returns the whole number part of the result, discarding any remainder. `a\b` is equivalent to `Int(a/b)`. This operator returns significant values with integer numbers only.
### 実数の比較
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20/Concepts/quick-tour.md b/i18n/ja/docusaurus-plugin-content-docs/version-20/Concepts/quick-tour.md
index 427c72a910bcbd..4cb440afdae087 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-20/Concepts/quick-tour.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-20/Concepts/quick-tour.md
@@ -321,7 +321,7 @@ This.name:="Square"
| Col[5] | コレクション要素 | コレクション要素は式として、サポートされているいずれのタイプでもありえます。 |
| $entitySel[0] | Entity | ORDA のエンティティセレクションの要素である、エンティティを返します。 これは **代入不可の式** です。 |
-### 代入可 vs 代入不可の式
+### 代入可 vs 代入不可の式 {#assignable-vs-non-assignable-expressions}
式は、数値の4や"Hello" の文字列のようなリテラル定数であったり、`$myButton` のような変数であったりします。 式には演算子も含められます。 たとえば、4 + 2 という式は加算演算子を使って二つの数値を加算し、結果の 6 を返します。 リテラル定数や演算子を使った式は **代入不可の式**で、式に値を代入することはできません。 **代入可能な式** も存在します。 代入演算子の左側に使えるものが、代入可能な式です。 例:
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20/Concepts/variables.md b/i18n/ja/docusaurus-plugin-content-docs/version-20/Concepts/variables.md
index 640c4e681ef8e1..6f080fc85169fd 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-20/Concepts/variables.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-20/Concepts/variables.md
@@ -242,7 +242,7 @@ atNames{1}:="Richard"
| ------------------------------------------------------ | ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `OK` | Integer | 通常、コマンドがダイアログボックスを表示して、ユーザーが **OK** ボタンをクリックすると 1 に、**キャンセル** ボタンをクリックした場合は 0 に設定されます。 一部のコマンドは、処理が成功すると `OK` システム変数の値を変更します。 |
| `Document` | Text | [Open document](https://doc.4d.com/4dv20/help/command/ja/page264.html) や [SELECT LOG FILE](https://doc.4d.com/4dv20/help/command/ja/page345.html) などのコマンドを使用して最後に開いたファイルまたは作成したファイルのパス名 (フルパス + 名前) が含まれます。 |
-| `FldDelimit`, `RecDelimit` | Text | テキストを読み込んだり書き出したりする際に、フィールドの区切りとして (デフォルトは **タブ** (9))、あるいはレコードの区切り文字として (デフォルトは **キャリッジリターン** (13)) 使用する文字コードが格納されています。 区切り文字を変更する場合は、システム変数の値を変更します。 |
+| `FldDelimit`, `RecDelimit` | Integer | テキストを読み込んだり書き出したりする際に、フィールドの区切りとして (デフォルトは **タブ** (9))、あるいはレコードの区切り文字として (デフォルトは **キャリッジリターン** (13)) 使用する文字コードが格納されています。 区切り文字を変更する場合は、システム変数の値を変更します。 |
| `Error`, `Error method`, `Error line`, `Error formula` | Text, Longint | [`ON ERR CALL`](https://doc.4d.com/4dv20/help/command/ja/page155.html) コマンドでインストールされたエラー処理メソッド内で使用されます。 [メソッド内でのエラー処理](../Concepts/error-handling.md#メソッド内でのエラー処理) 参照。 |
| `MouseDown` | Integer | [`ON EVENT CALL`](https://doc.4d.com/4dv20/help/command/ja/page190.html) コマンドでインストールされたメソッド内で使用されます。 マウスボタンが押されたときに 1 が、それ以外の場合は 0 に設定されます。 |
| `MouseX`, `MouseY` | Integer | [`ON EVENT CALL`](https://doc.4d.com/4dv20/help/command/ja/page190.html) コマンドでインストールされたメソッド内で使用されます。 MouseDown=1 イベントの時、MouseX と MouseY にはクリックされた場所の水平 / 垂直座標がそれぞれ代入されます。 両方の値ともピクセル単位で表わされ、ウィンドウのローカルな座標システムを使用します。 ピクチャーフィールドや変数の場合は、On Clicked や On Double Clicked、および On Mouse Up フォームイベント内で、クリックのローカル座標が MouseX と MouseY に返されます。 また、[`On Mouse Enter`](../Events/onMouseEnter.md) および [`On Mouse Move`](../Events/onMouseMove.md) フォームイベントでもマウスカーソルのローカル座標が返されます。 詳細については、[ピクチャー上のマウス座標](../FormEditor/pictures.md#ピクチャー上のマウス座標) を参照ください。 |
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/API/CollectionClass.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/API/CollectionClass.md
index a1e68f21ebc952..f567db353de9bb 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21/API/CollectionClass.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/API/CollectionClass.md
@@ -3,7 +3,7 @@ id: CollectionClass
title: Collection
---
-Collectionクラスは [コレクション](Concepts/dt_collection.md) 型の変数を扱います。
+Collectionクラスは [コレクション](Concepts/dt_collection.md) 型の式を扱います。
コレクションは [`New collection`](../commands/new-collection.md) または [`New shared collection`](../commands/new-shared-collection.md) コマンドで初期化されます。
@@ -271,14 +271,14 @@ $c.combine($fruits;3) //[1,2,3,"Orange","Banana","Apple","Grape",4,5,6]
-**.concat**( *value* : any { *;...valueN* } ) : Collection
+**.concat**( *value* : any { ; *...valueN* } ) : Collection
-| 引数 | 型 | | 説明 |
-| ----- | -------------------------------------------------------------- | :-------------------------: | ----------------------------------------------------- |
-| value | Number, Text, Object, Collection, Date, Time, Boolean, Picture | -> | 連結する値。 *value* がコレクションの場合、コレクションの全要素が元のコレクションに追加されます。 |
-| 戻り値 | Collection | <- | 元のコレクションに値が追加された新規コレクション |
+| 引数 | 型 | | 説明 |
+| ----- | ---------- | :-------------------------: | ----------------------------------------------------- |
+| value | any | -> | 連結する値。 *value* がコレクションの場合、コレクションの全要素が元のコレクションに追加されます。 |
+| 戻り値 | Collection | <- | 元のコレクションに値が追加された新規コレクション |
@@ -3222,14 +3222,12 @@ $r:=$c.reduceRight(Formula($1.accumulator*=$1.value); 1) // 戻り値は 86400
引数もなしに呼び出された場合、`.sort()` はスカラー値 (数値、テキスト、日付、ブール) のみを並べ替えます。 デフォルトでは、要素はそれぞれの型に応じて昇順で並べ替えられます。
*ascOrDesc* 引数には、以下の定数のいずれか一つを渡すことができます:
- ```
- |定数| 型|値|詳細|
- |---|---|---|---|
- |ck ascending|Integer|0|要素は昇順に並んでいます(デフォルト)|
- |ck descending|Integer|1|要素は降順に並んでいます|
-
- このシンタックスはコレクション内のスカラー値のみを並び替えます(オブジェクトやコレクションなどの他の型の要素は並べ替えされません)。
- ```
+| 定数 | 型 | 値 | 説明 |
+| ------------- | ------- | - | --------------------------------------- |
+| ck ascending | Integer | 0 | 要素は昇順に並べられます (デフォルト) |
+| ck descending | Integer | 1 | 要素は降順に並べられます |
+
+このシンタックスは、コレクション内のスカラー値のみを並べ替えます (オブジェクトやコレクションなどの他の型は並べ替えされないまま返されます)。
コレクションが異なる型の要素を格納している場合、それらはまず型ごとにグループ分けされ、そのあとで並べ替えられます。 型は以下の順番で返されます:
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/API/DataClassClass.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/API/DataClassClass.md
index 06b9e45a822975..6a4ff91bad10f4 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21/API/DataClassClass.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/API/DataClassClass.md
@@ -1602,14 +1602,6 @@ var $vector1Comparison:={vector: $myvector; metric: mk cosine; threshold: 0.4}
var $vector2Comparison:={vector: $myvector; metric: mk euclidean; threshold:1}
// embedding 属性は、4D.Vector クラスオブジェクトを格納している4D フィールドに基づいています
-ds.VectorTable.query("embedding>:1 and embedding<:2";$vector1Comparison;$vector2Comparison)\
- .orderByFormula(Formula(This.embedding.cosineSimilarity($vector1Comparison)))
-
- // 比較ベクトルを作成
-var $vector1Comparison:={vector: $myvector; metric: mk cosine; threshold: 0.4}
-var $vector2Comparison:={vector: $myvector; metric: mk euclidean; threshold:1}
-
- //embedding 属性は、4D.Vector クラスオブジェクトを格納している4D フィールドに基づいています
ds.VectorTable.query("embedding>:1 and embedding<:2";$vector1Comparison;$vector2Comparison)\
.orderByFormula(Formula(This.embedding.cosineSimilarity($vector1Comparison)))
```
@@ -1661,9 +1653,9 @@ ds.VectorTable.query("embedding>:1 and embedding<:2";$vector1Comparison;$vector2
`timeout` プロパティを設定すると、すでにキャッシュに存在するエンティティに新しいタイムアウトが設定されます。 これは頻繁に変更されないデータを扱う場合、つまり、サーバーへの新たな要求が必要ない場合に便利です。
-`maxEntries` は、ORDAキャッシュ内のエンティティの最大数を設定します。 デフォルトは 30,000 です。 デフォルトは 30,000 です。 デフォルトは 30,000 です。 デフォルトは 30,000 です。 デフォルトは 30,000 です。 デフォルトは 30,000 です。
+`maxEntries` は、ORDAキャッシュ内のエンティティの最大数を設定します。 デフォルトは 30,000 です。
-最小エントリー数は 300 のため、`maxEntries` の値は 300以上でなくてはなりません。 それ以外の場合は無視され、最大エントリー数は 300 に設定されます。 それ以外の場合は無視され、最大エントリー数は 300 に設定されます。 それ以外の場合は無視され、最大エントリー数は 300 に設定されます。
+最小エントリー数は 300 のため、`maxEntries` の値は 300以上でなくてはなりません。 それ以外の場合は無視され、最大エントリー数は 300 に設定されます。
`timeout` および `maxEntries` として有効なプロパティが渡されない場合、キャッシュはデフォルト値または以前に設定された値のまま変更されません。
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/API/WebFormClass.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/API/WebFormClass.md
index 5cab3d46d6789e..ffe3bbb2a96872 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21/API/WebFormClass.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/API/WebFormClass.md
@@ -3,7 +3,7 @@ id: WebFormClass
title: WebForm
---
-`WebForm` クラスには、Qodly の Webフォームコンポーネント (Webフォームの構成要素) を処理するための関数とプロパティが含まれています。 このクラスについては、[Qodly ドキュメンテーション](https://developer.qodly.com/docs/language/WebFormClass) (英語) で詳しく説明されています。
+`WebForm` クラスには、Qodly の Web ページコンポーネントを処理するための関数とプロパティが含まれています。 `4D.WebForm` オブジェクトは [`webForm`](../commands/web-form.md) コマンドによってインスタンス化されます。
履歴
@@ -18,14 +18,12 @@ title: WebForm
| |
| ------------------------------------------------------------------------------------------------------------------------------- |
-| [](#componentname)
|
+| [](#componentname)
|
| [](#disablestate)
|
| [](#enablestate)
|
| [](#seterror)
|
| [](#setmessage)
|
| [](#setwarning)
|
-| [](#web-form)
|
-| [](#web-event)
|
### *.componentName*
@@ -33,9 +31,28 @@ title: WebForm
#### 説明
-Webフォームのコンポーネント (構成要素) とは、これらの Webフォームのプロパティとして直接利用可能なオブジェクトです。
+Web ページのコンポーネント (構成要素) とは、これらの Web ページのプロパティとして直接利用可能なオブジェクトです。
-詳細については、[Qodly ドキュメンテーションの `.componentName` の説明](https://developer.qodly.com/docs/language/WebFormClass#componentname) を参照ください。
+返されるオブジェクトは、[`4D.WebFormItem`](WebFormItemClass.md) クラスのものです。 これらのオブジェクトは、コンポーネントを動的に管理するために使用できる関数を持っています。
+
+#### 例題
+
+```4d
+shared singleton Class constructor()
+
+ var myForm : 4D.WebForm
+ var component : 4D.WebFormItem
+
+ myForm:=webForm // Web ページをオブジェクト返し、各プロパティがコンポーネントを表す
+ component:=myForm.myImage // Web ページの myImage コンポーネントを返す
+
+```
+
+:::info
+
+`myForm` はデバッガの中で調べる場合には一般的なオブジェクトのプロパティを表示しないかもしれませんが、実際の`webForm` オブジェクトであるかのように振る舞います。 `myForm` を通して、下地となる`webForm` オブジェクトのプロパティと関数を操作することができます。 例えば、ページのコンテンツを動的に操作したり、あるいは `myForm.setMessage()` のような特殊な関数を使用してWebページにメッセージを送信したりすることができます。
+
+:::
### .disableState()
@@ -43,25 +60,24 @@ Webフォームのコンポーネント (構成要素) とは、これらの Web
-| 引数 | 型 | | 説明 |
-| ----- | ------ | :-: | ------------------------ |
-| state | string | -> | Webフォーム上で無効化する state の名称 |
+| 引数 | 型 | | 説明 |
+| ----- | ------ | :-: | ----------------------- |
+| state | string | -> | Web ページ上で無効化するstate の名前 |
#### 説明
-`.disableState()` 関数は、カレントWeb
-フォーム上の *state* のレンダリングを無効化します。
+`.disableState()` 関数は、カレントのWeb ページ内の *state* の状態のレンダリングを無効化します。
この関数は、以下の場合には何もしません:
-- Webフォーム上で *state* が現在有効ではない。
-- Webフォーム上で *state* が存在しない。
+- *state* 引数のステートが現在Web ページ内で有効化されていない
+- Web ページに対して *state* 引数のステートが存在しない。
同じユーザー関数内で複数の state を [有効化](#enablestate) または無効化した場合、すべての変更は関数の終了時に一括してクライアントに送信されます。
-Webフォームの state に関する詳細については、[developer.qodly.com](https://developer.qodly.com/docs/studio/pageLoaders/states) を参照ください。
+Web ページのステートについての詳細な情報については、[Qodly ドキュメンテーションのStates の章](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/states/stateOverview) を参照してください。
### .enableState()
@@ -71,23 +87,22 @@ Webフォームの state に関する詳細については、[developer.qodly.co
| 引数 | 型 | | 説明 |
| ----- | ------ | :-: | ------------------------ |
-| state | string | -> | Webフォーム上で有効化する state の名称 |
+| state | string | -> | Web ページ上で有効化する state の名前 |
#### 説明
-`.enableState()` 関数は、カレントWeb
-フォーム上の *state* のレンダリングを有効化します。
+`.enableState()` 関数は、カレントのWeb ページ内の *state* の状態のレンダリングを有効化します。
この関数は、以下の場合には何もしません:
-- Webフォーム上で *state* がすでに有効である。
-- Webフォーム上で *state* が存在しない。
+- *state* 引数のステートが現在Web ページ内で有効化されている
+- Web ページに対して *state* 引数のステートが存在しない。
同じユーザー関数内で複数の state を有効化または [無効化](#disablestate)した場合、すべての変更は関数の終了時に一括してクライアントに送信されます。
-Webフォームの state に関する詳細については、[developer.qodly.com](https://developer.qodly.com/docs/studio/pageLoaders/states) を参照ください。
+Web ページのステートについての詳細な情報については、[Qodly ドキュメンテーションのStates の章](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/states/stateOverview) を参照してください。
#### 例題
@@ -108,15 +123,32 @@ Function authenticationError()
| 引数 | 型 | | 説明 |
| --- | ------ | :-: | -------------------- |
-| msg | string | -> | Webフォームに表示するエラーメッセージ |
+| msg | string | -> | Web ページに表示するエラーメッセージ |
#### 説明
-`.setError()` 関数は、*msg* をエラーメッセージとして Webフォームに送信します。
+`.setError()` 関数は、*msg* 引数のメッセージを、エラーメッセージとしてWeb ページに送信します。
-詳細については、[Qodly ドキュメンテーションの `.setError()` の説明](https://developer.qodly.com/docs/language/WebFormClass#seterror) を参照ください。
+この関数は、`__NOTIFICATION.message` プロパティが *msg* に、そして `__NOTIFICATION.type` が "error" に設定されている `__WEBFORM` オブジェクトと、 `200 OK` ステータスが本文に含まれているレスポンスを返します。
+
+#### 例題
+
+```4d
+shared singleton Class constructor()
+exposed function myError()
+
+var myForm : 4D.WebForm
+myForm:=web Form
+
+myForm.setError("My error message")
+
+```
+
+イベントに対して [**Provide feedback**](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/events/bindingActionToEvents#providing-feedback) 機能が有効化されていた場合、 *message* 引数のメッセージは自動的に赤い *toast* としてページ下部に表示され、5秒後に自動的に消滅します:
+
+
### .setMessage()
@@ -126,66 +158,70 @@ Function authenticationError()
| 引数 | 型 | | 説明 |
| --- | ------ | :-: | ------------------- |
-| msg | string | -> | Webフォームに表示する情報メッセージ |
+| msg | string | -> | Web ページに表示する情報メッセージ |
#### 説明
-`.setMessage()` 関数は、*msg* を情報メッセージとして Webフォームに送信します。
+`.setMessage()` 関数は、*msg* を情報メッセージとしてWeb ページに送信します。
-詳細については、[Qodly ドキュメンテーションの `.setMessage()` の説明](https://developer.qodly.com/docs/language/WebFormClass#setmessage) を参照ください。
+この関数は、`__NOTIFICATION.message` プロパティが *msg* に、そして `__NOTIFICATION.type` が "message" に設定されている `__WEBFORM` オブジェクトと、 `200 OK` ステータスが本文に含まれているレスポンスを返します。
-### .setWarning()
+#### 例題
-**.setWarning**( *msg* : string)
+```4d
+shared singleton Class constructor()
+exposed function myMessage()
-
+var myForm : 4D.WebForm
+myForm:=web Form
-| 引数 | 型 | | 説明 |
-| --- | ------ | :-: | ------------------- |
-| msg | string | -> | Webフォームに表示する警告メッセージ |
+myForm.setMessage("My information message")
-
-
-#### 説明
+```
-`.setWarning()` 関数は、*msg* を警告メッセージとして Webフォームに送信します。
+イベントに対して [**Provide feedback**](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/events/bindingActionToEvents#providing-feedback) 機能が有効化されていた場合、 *message* 引数のメッセージは自動的に緑の *toast* としてページ下部に表示され、5秒後に自動的に消滅します:
-詳細については、[Qodly ドキュメンテーションの `.setWarning()` の説明](https://developer.qodly.com/docs/language/WebFormClass#setwarning) を参照ください。
+
-## Web Form
+### .setWarning()
-**Web Form** : 4D.WebForm
+**.setWarning**( *msg* : string)
-
+
-| 引数 | 型 | | 説明 |
-| --- | -------------------------- | :-------------------------: | ------------------------ |
-| 戻り値 | 4D.WebForm | <- | 新しい `WebForm` プロキシオブジェクト |
+| 引数 | 型 | | 説明 |
+| --- | ------ | :-: | ------------------- |
+| msg | string | -> | Web ページに表示する警告メッセージ |
#### 説明
-`Web Form` コマンドは、Webフォームとの対話を可能にする `4D.WebForm` プロキシオブジェクトを返します。
+`.setWarning()` 関数は、*msg* 引数のメッセージを警告メッセージとしてWeb ページに送信します。
+
+この関数は、`__NOTIFICATION.message` プロパティが *msg* に、そして `__NOTIFICATION.type` が "warning" に設定されている `__WEBFORM` オブジェクトと、 `200 OK` ステータスが本文に含まれているレスポンスを返します。
-詳細については、[Qodly ドキュメンテーションの `webForm` コマンドの説明](https://developer.qodly.com/docs/language/WebFormClass#webform) を参照ください。
+#### 例題
-## Web Event
+```4d
+shared singleton Class constructor()
+exposed function myWarning()
-**Web Event** : Object
+var myForm : 4D.WebForm
+myForm:=web Form
-
+myForm.setWarning("My warning message")
-| 引数 | 型 | | 説明 |
-| --- | ------ | :-------------------------: | ------ |
-| 戻り値 | object | <- | object |
+```
-
+イベントに対して [**Provide feedback**](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/events/bindingActionToEvents#providing-feedback) 機能が有効化されていた場合、 *message* 引数のメッセージは自動的に黄色の *toast* としてページ下部に表示され、5秒後に自動的に消滅します:
-#### 説明
+
-`Web Event` コマンドは、Webフォームコンポーネントにリンクして発生したイベントの情報を持つオブジェクトを返します。
+## 参照
-詳細については、[Qodly ドキュメンテーションの `webEvent` コマンドの説明](https://developer.qodly.com/docs/language/WebFormClass#webevent) を参照ください。
+[Web Form](../commands/web-form.md)
+[Web Event](../commands/web-event.md)
+[WebFormItem class](../API/WebFormItemClass.md)
\ No newline at end of file
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/API/WebFormItemClass.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/API/WebFormItemClass.md
index b8b7be9fcc552e..629252e50f8b37 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21/API/WebFormItemClass.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/API/WebFormItemClass.md
@@ -3,9 +3,13 @@ id: WebFormItemClass
title: WebFormItem
---
-`4D.WebFormItem` オブジェクトは、[`Web Form`](WebFormClass.md#web-form) コマンドによって返される [`4D.WebForm`](WebFormItemClass.md) オブジェクトのプロパティです。
+`4D.WebFormItem` クラスを使用すると、Qodly webform コンポーネントの振る舞いを管理できるようになります。
-`WebFormItem` クラスについては、[Qodly ドキュメンテーション](https://developer.qodly.com/docs/language/WebFormItemClass) (英語) で詳しく説明しています。
+`4D.WebFormItem` オブジェクトは、[`Web Form`](../commands/web-form.md) コマンドによって返される [`4D.WebForm`](WebFormClass.md) オブジェクトのプロパティです。
+
+[`Web Form`](../commands/web-form.md) コマンドを呼び出すと、返された`4D.WebForm` プロキシオブジェクトには[**サーバー側参照**](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/pageLoaderOverview#server-side) を持った、Webフォーム内のコンポーネントと同数の `4D.WebFormItems` が格納されます。
+
+例えば、 `WebFormObject.myImage` は `myImage` をサーバー側参照として持っている画像コンポーネントを参照します。
履歴
@@ -24,29 +28,27 @@ title: WebFormItem
| [](#removecssclass)
|
| [](#show)
|
-### .hide()
+### .addCSSClass()
-**.hide**()
+**.addCSSClass**(*className* : string)
-
+
-| 引数 | 型 | | 説明 |
-| -- | - | :-: | ---------- |
-| | | | 引数を必要としません |
+| 引数 | 型 | | 説明 |
+| --------- | ------ | :-: | ----------------------- |
+| className | string | -> | コンポーネントに追加する CSSクラスの名前。 |
#### 説明
-`.hide()` 関数は、コンポーネントを非表示にします。
-
-詳細については、[Qodly ドキュメンテーションの `.hide()` の説明](https://developer.qodly.com/docs/language/WebFormItemClass#hide) を参照ください。
+`.addCSSClass` 関数は、*className* で指定されたクラスをコンポーネントに追加します。
-### .show()
+### .hide()
-**.show**()
+**.hide**()
-
+
| 引数 | 型 | | 説明 |
| -- | - | :-: | ---------- |
@@ -56,27 +58,27 @@ title: WebFormItem
#### 説明
-`.show()` 関数は、コンポーネントを表示状態にします。
-
-詳細については、[Qodly ドキュメンテーションの `.show()` の説明](https://developer.qodly.com/docs/language/WebFormItemClass#show) を参照ください。
-
-### .addCSSClass()
-
-**.addCSSClass**(*className* : string)
+`.hide()` 関数は、コンポーネントを非表示にします。
-
+#### 例題
-| 引数 | 型 | | 説明 |
-| --------- | ------ | :-: | ----------------------- |
-| className | string | -> | コンポーネントに追加する CSSクラスの名前。 |
+ユーザーがボタンをクリックした時に画像を非表示にする関数を呼び出すには以下のようにします:
-
+1. `isHidden` という名前の共有シングルトンクラス内に、以下のコードをもった、[exposed](../ORDA/ordaClasses.md#exposed-vs-non-exposed-functions) 関数を作成します:
-#### 説明
+```4d
-`.addCSSClass` 関数は、*className* で指定されたクラスをコンポーネントに追加します。
+shared singleton Class constructor()
+exposed Function isHidden()
+ var myComponent : 4D.WebFormItem
+
+ myComponent:=Web Form.myImage
+ myComponent.hide() // "myImage" をサーバー側参照として持つコンポーネントを非表示にします
+```
-詳細については、[Qodly ドキュメンテーションの `.addCSSClass()` の説明](https://developer.qodly.com/docs/language/WebFormItemClass#addcssclass) を参照ください。
+2. Qodly Studioにて: キャンバス上で画像コンポーネントを選択し、プロパティパネル > Server Side 内に、例えば "myImage" というサーバー側参照を入力します。
+3. ボタンコンポーネントを選択し、そこに `onclick` イベントを追加します。
+4. そのイベントに `isHidden` 関数を追加します。
### .removeCSSClass()
@@ -94,7 +96,27 @@ title: WebFormItem
`.removeCSSClass()` 関数は、*className* で指定されたクラスをコンポーネントから削除します。
-詳細については、[Qodly ドキュメンテーションの `.removeCSSClass()` の説明](https://developer.qodly.com/docs/language/WebFormItemClass#removecssclass) を参照ください。
+### .show()
+
+**.show**()
+
+
+
+| 引数 | 型 | | 説明 |
+| -- | - | :-: | ---------- |
+| | | | 引数を必要としません |
+
+
+
+#### 説明
+
+`.show()` 関数は、コンポーネントを表示状態にします。コンポーネントがすでに表示状態だった場合、この関数は何もしません。
+
+## 参照
+
+[Web Form](../commands/web-form.md)
+[Web Event](../commands/web-event.md)
+[WebForm class](WebFormClass.md)
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/Concepts/dt_number.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/Concepts/dt_number.md
index 27599d57aca16f..74bfdc0677c899 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21/Concepts/dt_number.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/Concepts/dt_number.md
@@ -79,9 +79,9 @@ title: 数値(実数、整数)
:::
-### 倍長整数を返す除算
+### Integer division
-倍長整数を返す除算演算子 \ は、整数値の有効値を返します。
+The integer division operator divides one number by another and returns the whole number part of the result, discarding any remainder. `a\b` is equivalent to `Int(a/b)`. This operator returns significant values with integer numbers only.
### 実数の比較
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/Concepts/quick-tour.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/Concepts/quick-tour.md
index f5a3c668406cb6..8053e42f0dedd2 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21/Concepts/quick-tour.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/Concepts/quick-tour.md
@@ -310,7 +310,7 @@ This.name:="Square"
| Col[5] | コレクション要素 | コレクション要素は式として、サポートされているいずれのタイプでもありえます。 |
| $entitySel[0] | Entity | ORDA のエンティティセレクションの要素である、エンティティを返します。 これは **代入不可の式** です。 |
-### 代入可 vs 代入不可の式
+### Assignable vs non-assignable expressions {#assignable-vs-non-assignable-expressions}
式は、数値の4や"Hello" の文字列のようなリテラル定数であったり、`$myButton` のような変数であったりします。 式には演算子も含められます。 たとえば、4 + 2 という式は加算演算子を使って二つの数値を加算し、結果の 6 を返します。 リテラル定数や演算子を使った式は **代入不可の式**で、式に値を代入することはできません。
**代入可能な式** も存在します。 代入演算子の左側に使えるものが、代入可能な式です。 例:
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/Concepts/variables.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/Concepts/variables.md
index bf38f56c24bd72..e353105188d538 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21/Concepts/variables.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/Concepts/variables.md
@@ -251,17 +251,18 @@ MyNumber:=3
システム変数は [4Dコマンド](../commands/command-index.md) によって使用されます。 コマンドがシステム変数に影響を与えるかどうかを確認するには、コマンドの説明の "システム変数およびセット" の項目を参照ください。
-| システム変数名 | 型 | 説明 |
-| ------------------------------------------------------ | ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| `OK` | Integer | 通常、コマンドがダイアログボックスを表示して、ユーザーが **OK** ボタンをクリックすると 1 に、**キャンセル** ボタンをクリックした場合は 0 に設定されます。 一部のコマンドは、処理が成功すると `OK` システム変数の値を変更します。 |
-| `Document` | Text | [Open document](../commands-legacy/open-document.md) や [SELECT LOG FILE](../commands/select-log-file.md) などのコマンドを使用して最後に開かれた、または作成されたファイルの「長い名前」(完全パス名)が格納されています。 |
-| `FldDelimit`, `RecDelimit` | Text | テキストを読み込んだり書き出したりする際に、フィールドの区切りとして (デフォルトは **タブ** (9))、あるいはレコードの区切り文字として (デフォルトは **キャリッジリターン** (13)) 使用する文字コードが格納されています。 区切り文字を変更する場合は、システム変数の値を変更します。 |
-| `Error`, `Error method`, `Error line`, `Error formula` | Text, Longint | [`ON ERR CALL`](../commands-legacy/on-err-call.md) コマンドによって実装されるエラー処理メソッド内で使用されます。 [メソッド内でのエラー処理](../Concepts/error-handling.md#メソッド内でのエラー処理)参照。 |
-| `MouseDown` | Integer | [`ON EVENT CALL`](../commands-legacy/on-event-call.md) コマンドによって実装されるエラー処理メソッド内で使用されます。 マウスボタンが押されたときに 1 が、それ以外の場合は 0 に設定されます。 |
-| `MouseX`, `MouseY` | Integer | [`ON EVENT CALL`](../commands-legacy/on-event-call.md) コマンドによって実装されるエラー処理メソッド内で使用されます。 `MouseDown=1` イベントの時、`MouseX` と `MouseY` にはクリックされた場所の水平 / 垂直座標がそれぞれ代入されます。 両方の値ともピクセル単位で表わされ、ウィンドウのローカルな座標システムを使用します。 ピクチャーフィールドや変数の場合は、[`On Clicked`](../Events/onClicked.md) や [`On Double Clicked`](../Events/onDoubleClicked.md)、および [`On Mouse Up`](../Events/onMouseUp.md) フォームイベント内で、クリックのローカル座標が `MouseX` と `MouseY` に返されます。 また、[`On Mouse Enter`](../Events/onMouseEnter.md) および [`On Mouse Move`](../Events/onMouseMove.md) フォームイベントでもマウスカーソルのローカル座標が返されます。 詳細については、[ピクチャー上のマウス座標](../FormEditor/pictures.md#ピクチャー上のマウス座標) を参照ください。 |
-| `KeyCode` | Integer | [`ON EVENT CALL`](../commands-legacy/on-event-call.md) コマンドによって実装されるエラー処理メソッド内で使用されます。 押されたキーの文字コードが代入されます。 押されたキーがファンクションキーの場合、`KeyCode` には特殊コードがセットされます。 |
-| `Modifiers` | Integer | [`ON EVENT CALL`](../commands-legacy/on-event-call.md) コマンドによって実装されるエラー処理メソッド内で使用されます。 キーボードのモディファイアキーの値を格納します (Ctrl/Command、Alt/Option、Shift、Caps Lock)。 |
-| `MouseProc` | Integer | [`ON EVENT CALL`](../commands-legacy/on-event-call.md) コマンドによって実装されるエラー処理メソッド内で使用されます。 最後のイベントが発生したプロセス番号を格納します。 |
+| システム変数名 | 型 | 説明 |
+| ------------------------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| `OK` | Integer | 通常、コマンドがダイアログボックスを表示して、ユーザーが **OK** ボタンをクリックすると 1 に、**キャンセル** ボタンをクリックした場合は 0 に設定されます。 一部のコマンドは、処理が成功すると `OK` システム変数の値を変更します。 |
+| `Document` | Text | [Open document](../commands-legacy/open-document.md) や [SELECT LOG FILE](../commands/select-log-file.md) などのコマンドを使用して最後に開かれた、または作成されたファイルの「長い名前」(完全パス名)が格納されています。 |
+| `FldDelimit`, `RecDelimit` | Integer | テキストを読み込んだり書き出したりする際に、フィールドの区切りとして (デフォルトは **タブ** (9))、あるいはレコードの区切り文字として (デフォルトは **キャリッジリターン** (13)) 使用する文字コードが格納されています。 区切り文字を変更する場合は、システム変数の値を変更します。 |
+| `Error`, `Error line` | Integer | [`ON ERR CALL`](../commands-legacy/on-err-call.md) コマンドによって実装されるエラー処理メソッド内で使用されます。 [メソッド内でのエラー処理](../Concepts/error-handling.md#メソッド内でのエラー処理)参照。 |
+| `Error method`, `Error formula` | Text | [`ON ERR CALL`](../commands-legacy/on-err-call.md) コマンドによって実装されるエラー処理メソッド内で使用されます。 [メソッド内でのエラー処理](../Concepts/error-handling.md#メソッド内でのエラー処理)参照。 |
+| `MouseDown` | Integer | [`ON EVENT CALL`](../commands-legacy/on-event-call.md) コマンドによって実装されるエラー処理メソッド内で使用されます。 マウスボタンが押されたときに 1 が、それ以外の場合は 0 に設定されます。 |
+| `MouseX`, `MouseY` | Integer | [`ON EVENT CALL`](../commands-legacy/on-event-call.md) コマンドによって実装されるエラー処理メソッド内で使用されます。 `MouseDown=1` イベントの時、`MouseX` と `MouseY` にはクリックされた場所の水平 / 垂直座標がそれぞれ代入されます。 両方の値ともピクセル単位で表わされ、ウィンドウのローカルな座標システムを使用します。 ピクチャーフィールドや変数の場合は、[`On Clicked`](../Events/onClicked.md) や [`On Double Clicked`](../Events/onDoubleClicked.md)、および [`On Mouse Up`](../Events/onMouseUp.md) フォームイベント内で、クリックのローカル座標が `MouseX` と `MouseY` に返されます。 また、[`On Mouse Enter`](../Events/onMouseEnter.md) および [`On Mouse Move`](../Events/onMouseMove.md) フォームイベントでもマウスカーソルのローカル座標が返されます。 詳細については、[ピクチャー上のマウス座標](../FormEditor/pictures.md#ピクチャー上のマウス座標) を参照ください。 |
+| `KeyCode` | Integer | [`ON EVENT CALL`](../commands-legacy/on-event-call.md) コマンドによって実装されるエラー処理メソッド内で使用されます。 押されたキーの文字コードが代入されます。 押されたキーがファンクションキーの場合、`KeyCode` には特殊コードがセットされます。 |
+| `Modifiers` | Integer | [`ON EVENT CALL`](../commands-legacy/on-event-call.md) コマンドによって実装されるエラー処理メソッド内で使用されます。 キーボードのモディファイアキーの値を格納します (Ctrl/Command、Alt/Option、Shift、Caps Lock)。 |
+| `MouseProc` | Integer | [`ON EVENT CALL`](../commands-legacy/on-event-call.md) コマンドによって実装されるエラー処理メソッド内で使用されます。 最後のイベントが発生したプロセス番号を格納します。 |
:::note
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/Desktop/clientServer.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/Desktop/clientServer.md
index 740429e4ec9d80..d2fb494d4bbf85 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21/Desktop/clientServer.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/Desktop/clientServer.md
@@ -128,7 +128,7 @@ Note that [privileges](../ORDA/privileges.md) should be set in the session befor
Shared sessions are handled through [OTP tokens](../WebServer/sessions.md#session-token-otp). After you created an OTP token on the server for the user session, you add the token (through the `$4DSID` parameter value) to web requests sent from web areas containing Qodly pages so that the user session on the server is identified and shared. On the web server side, if a web request contains an *OTP id* in the $4DSID parameter, the session corresponding to this OTP token is used.
-:::tip Related blog post
+:::tip 関連したblog 記事
[Share your 4D remote client session with web accesses](https://blog.4d.com/share-your-4d-remote-client-session-with-web-accesses)
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/FormEditor/forms.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/FormEditor/forms.md
index d460a48eb79567..810beed2ab330c 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21/FormEditor/forms.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/FormEditor/forms.md
@@ -112,13 +112,13 @@ Fluent UI support is currently in the Developer Preview phase. 本番環境で
:::
-:::info macOS
+:::info 利用可能性
-This feature can only be used on Windows. On macOS, it is ignored.
+This feature can be used **in 4D projects on Windows**. It is not available on macOS or in binary 4D databases on Windows.
:::
-:::tip Related blog post
+:::tip 関連したblog 記事
[Modernize your 4D interfaces with Fluent UI](https://blog.4d.com/modernize-your-4d-interfaces-with-fluent-ui)
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/FormObjects/webArea_overview.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/FormObjects/webArea_overview.md
index 8ca42d96925e4b..8f1612257d310e 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21/FormObjects/webArea_overview.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/FormObjects/webArea_overview.md
@@ -24,7 +24,7 @@ Webエリアには 2つの特別な変数が自動で割り当てられます:
- [`URL`](properties_WebArea.md#url) --Web エリアが表示するURL をコントロールします。
- [`Progression`](properties_WebArea.md#progression) -- Web エリア内に表示されているページのロード率をコントロールします。
-> 4D v19 R5 以降、Progression 変数は、[Windows のシステムレンダリングエンジン](./webArea_overview.md#Webレンダリングエンジン) を使用しているWeb エリアにおいては更新されなくなりました。
+> As of 4D 19 R5, the Progression variable is no longer updated in Web Areas using the [Windows system rendering engine](./webArea_overview.md#web-rendering-engine).
### Webレンダリングエンジン
@@ -338,9 +338,11 @@ Webインスペクターを表示させるには、`WA OPEN WEB INSPECTOR` コ
}
```
-### 参照
+:::info 関連したblog 記事
-[Specify your own parameters to initialize the embedded web area (blog 記事)](https://blog.4d.com/specify-your-own-parameters-to-initialize-the-embedded-web-area)
+[Custom Parameters for Initializing Embedded Web Area](https://blog.4d.com/custom-parameters-for-initializing-embedded-web-area/)
+
+:::
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/Notes/updates.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/Notes/updates.md
index dab2be14dac5fd..3fcf4224eebe8d 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21/Notes/updates.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/Notes/updates.md
@@ -28,6 +28,7 @@ title: リリースノート
- 文字列から先頭と末尾のスペースを削除する新しい "trim" 系コマンド: [`Trim`](../commands/trim.md)、[`Trim start`](../commands/trim-start.md)、および[`Trim end`](../commands/trim-end.md)。
- [`Num`](../commands/num.md) および [`String`](../commands/string.md) コマンドは、異なる基数での変換をサポートするようにアップデートされました。
- [**修正リスト**](https://bugs.4d.fr/fixedbugslist?version=21): 4D 21 で修正されたバグのリストです(日本語版は [こちら](https://4d-jp.github.io/2025/279/release-note-version-21/))。
+- [**4D Qodly Pro Release notes**](https://developer.4d.com/qodly/4DQodlyPro/release-notes): what's new in Qodly Studio.
#### デベロッパー・プレビュー
@@ -41,7 +42,7 @@ title: リリースノート
:::
-- Web サービス(SOAP): [スケーラブルセッション](../WebServer/sessions.md#webセッションの有効化) が有効化されている場合、コンパイルモードにおいてはWeb サービスは[**プリエンプティブプロセス**](../Develop/preemptive.md) で実行されます。 そのためSOAP コードは必ずスレッドセーフであるようにしてください。
+- Web サービス(SOAP): [スケーラブルセッション](../WebServer/sessions.md#webセッションの有効化) が有効化されている場合、コンパイルモードにおいてはWeb サービスは[**プリエンプティブプロセス**](../Develop/preemptive.md) で実行されます。 Make sure that your SOAP code is thread-safe and that the session in which it runs has appropriate [privileges](../API/SessionClass.md#setprivileges).
- Web サーバー: 廃止予定だった`4DSYNC/` および `4DCGI/` URL のサポートが削除されました。 これらのURL に関しては今後は何も特殊な処理は行われません。
- Web ユーザーセッションは今後[`Process activity`](../commands/process-activity.md) コマンドで返されるようになります。
- [`HIGHLIGHT TEXT`](../commands/highlight-text) コマンドは今後サブフォームのコンテキストでサポートされるようになりました。
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/ORDA/glossary.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/ORDA/glossary.md
index ce31a26ca023c4..bb8df81f97df04 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21/ORDA/glossary.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/ORDA/glossary.md
@@ -105,7 +105,7 @@ ORDA データモデルクラスの関数。
## 汎用クラス
-エンティティやデータクラスなどの ORDA オブジェクト用のビルトインクラス。 エンティティやデータクラスなどの ORDA オブジェクト用のビルトインクラス。 汎用クラスのプロパティや関数は、ユーザー拡張クラス (例: `EmployeeEntity`) において自動で利用可能です。
+エンティティやデータクラスなどの ORDA オブジェクト用のビルトインクラス。 汎用クラスのプロパティや関数は、ユーザー拡張クラス (例: `EmployeeEntity`) において自動で利用可能です。
## レイジーローディング
@@ -119,7 +119,7 @@ ORDA データモデルクラスの関数。
データストア、データクラス、エンティティセレクション、エンティティなどの ORDA オブジェクトは、オブジェクトのクラスを定義します。 これらのクラスには、オブジェクトを直接操作するための専用のメソッドが提供されています。 これらのメソッドはメンバー関数とも呼ばれます。 このメソッドを使用するには、オブジェクトのインスタンスに対して呼び出します。
-たとえば、`query()` メソッドはデータクラスのメンバー関数です。 たとえば、`query()` メソッドはデータクラスのメンバー関数です。 たとえば、`query()` メソッドはデータクラスのメンバー関数です。 `$myClass` 変数にデータクラスオブジェクトを格納している場合、次のように書くことができます: たとえば、`query()` メソッドはデータクラスのメンバー関数です。 たとえば、`query()` メソッドはデータクラスのメンバー関数です。 `$myClass` 変数にデータクラスオブジェクトを格納している場合、次のように書くことができます: たとえば、`query()` メソッドはデータクラスのメンバー関数です。 たとえば、`query()` メソッドはデータクラスのメンバー関数です。 `$myClass` 変数にデータクラスオブジェクトを格納している場合、次のように書くことができます: たとえば、`query()` メソッドはデータクラスのメンバー関数です。 たとえば、`query()` メソッドはデータクラスのメンバー関数です。 `$myClass` 変数にデータクラスオブジェクトを格納している場合、次のように書くことができます: たとえば、`query()` メソッドはデータクラスのメンバー関数です。 たとえば、`query()` メソッドはデータクラスのメンバー関数です。 `$myClass` 変数にデータクラスオブジェクトを格納している場合、次のように書くことができます: たとえば、`query()` メソッドはデータクラスのメンバー関数です。 たとえば、`query()` メソッドはデータクラスのメンバー関数です。 `$myClass` 変数にデータクラスオブジェクトを格納している場合、次のように書くことができます:
+たとえば、`query()` メソッドはデータクラスのメンバー関数です。 `$myClass` 変数にデータクラスオブジェクトを格納している場合、次のように書くことができます:
```code4d
$myClass.query("name = smith")
@@ -150,7 +150,7 @@ $myClass.query("name = smith")
## 権限
-The ability to run one or more [actions](#action) on [resources](#resource). ビジネスロジックに応じて、複数の権限を [ロール](#ロール) としてまとめることができます。
+[リソース](#リソース) に対する実行が許可された [アクション](#アクション) の範囲のことです。 ビジネスロジックに応じて、複数の権限を [ロール](#ロール) としてまとめることができます。
## プロパティ
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/ORDA/orda-events.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/ORDA/orda-events.md
index ea892330827279..9af378952d1c87 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21/ORDA/orda-events.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/ORDA/orda-events.md
@@ -1,122 +1,122 @@
---
id: orda-events
-title: Entity Events
+title: エンティティイベント
---
履歴
-| リリース | 内容 |
-| ------ | ----------------------------------------------------------------------------------------------------- |
-| 21 | Added events: validateSave / saving / afterSave / validateDrop / dropping / afterDrop |
-| 20 R10 | touched event added |
+| リリース | 内容 |
+| ------ | -------------------------------------------------------------------------------------------------- |
+| 21 | 追加されたイベント: validateSave / saving / afterSave / validateDrop / dropping / afterDrop |
+| 20 R10 | touched イベント追加 |
-Entity events are functions that are automatically invoked by ORDA each time entities and entity attributes are manipulated (added, deleted, or modified). You can write very simple events, and then make them more sophisticated.
+エンティティイベントとは、エンティティやエンティティ属性が操作(追加、削除、変更)されるたびに ORDA によって自動的に呼び出される関数です。 シンプルなイベントを書き、それをより洗練されたものに変えていくことができます。
-You cannot directly trigger event function execution. Events are called automatically by ORDA based on user actions or operations performed through code on entities and their attributes.
+イベント関数の実行は直接トリガーすることはできません。 イベントは、ユーザーアクションや、エンティティまたはその属性に対するコードを通して実行された操作に基づいて、ORDA によって自動的に呼び出されます。
-:::tip Related blog post
+:::tip 関連したblog 記事
[ORDA – Handle an event-driven logic during data persistence actions](https://blog.4d.com/orda-handle-an-event-driven-logic-during-database-operations)
:::
-:::info note Compatibility note
+:::info 互換性に関する注意
-ORDA entity events in the datastore are equivalent to triggers in the 4D database. However, actions triggered at the 4D database level using the 4D classic language commands or standard actions do not trigger ORDA events.
+データストアにおける ORDA エンティティイベントは、4D データベースにおけるトリガに相当します。 しかしながら、4D クラシックランゲージコマンドを使用して 4D データベースレベルでトリガーされたアクション、あるいは標準アクションは、ORDA イベントをトリガーしません。 また、トリガとは異なり、ORDA エンティティイベントはエンティティを保存または削除する際に、データクラスの元となるテーブル全体をロックしないことに注意して下さい。 個別のエンティティ(つまりレコード)に起因している限りは、複数のイベントが同時に実行されることが可能です。
:::
## 概要
-### Event level
+### イベントレベル
-A event function is always defined in the [Entity class](../ORDA/ordaClasses.md#entity-class).
+イベント関数は必ず[Entity クラス](../ORDA/ordaClasses.md#エンティティクラス) 内で定義されます。
-It can be set at the **entity** level and/or the **attribute** level (it includes [**computed attributes**](../ORDA/ordaClasses.md#computed-attributes)). In the first case, it will be triggered for any attributes of the entity; on the other case, it will only be triggered for the targeted attribute.
+イベントは **エンティティ** レベルまたは **属性** レベルで設定することができます(属性には [**計算属性**](../ORDA/ordaClasses.md#計算属性) も含まれます)。 前者の場合、エンティティのあらゆる属性でイベントがトリガーされます。それ以外の場合、イベントは対象となる属性に対してのみトリガーされます。
-For the same event, you can define different functions for different attributes.
+同じイベントに対して、異なる属性に対して異なる関数を定義することができます。
-You can also define the same event at both attribute and entity levels. The attribute event is called first and then the entity event.
+また同じイベントを属性レベルとエンティティレベルの両方で定義することも可能です。 その場合、属性イベントが先に呼ばれ、その後にエンティティイベントが呼ばれます。
-### Execution in remote configurations
+### リモート構成における実行
-Usually, ORDA events are executed on the server.
+一般的に、ORDA イベントはサーバー上で実行されます。
-In client/server configuration however, the `touched()` event function can be executed on the **server or the client**, depending on the use of [`local`](./ordaClasses.md#local-functions) keyword. A specific implementation on the client side allows the triggering of the event on the client.
+しかしながらクライアント/サーバー構成においては、[`local`](./ordaClasses.md#local-functions) キーワードの使用によっては、`touched()` イベント関数を**サーバーまたはクライアント**で実行することが可能です。 クライアント側で特定の実装をすることにより、イベントをクライアント上でトリガーすることができるようになります。
:::note
-ORDA [`constructor()`](./ordaClasses.md#class-constructor) functions are always executed on the client.
+ORDA [`constructor()`](./ordaClasses.md#class-constructor) 関数は必ずクライアント上で実行されます。
:::
-With other remote configurations (i.e. [Qodly applications](https://developer.4d.com/qodly), [REST API requests](../REST/REST_requests.md), or requests through [`Open datastore`](../commands/open-datastore.md)), the `touched()` event function is always executed **server-side**. It means that you have to make sure the server can "see" that an attribute has been touched to trigger the event (see below).
+他のリモート構成(例: [Qodly アプリケーション](https://developer.4d.com/qodly)、[REST API リクエスト](../REST/REST_requests.md)、あるいは[`Open datastore`](../commands/open-datastore.md) を通したリクエスト)においては、イベント関数は必ず**サーバー側**で実行されます。 これはつまりイベントをトリガーするためには、属性がタッチされたことがサーバーから"見える"ようにしておくようにしなければならいことを意味します(以下参照)。
-### Summary table
+### 概要表
-The following table lists ORDA events along with their rules.
+以下の表は、ORDA イベントの一覧とそのルールをまとめたものです。
-| イベント | レベル | Function name | (C/S) Executed on | Can stop action by returning an error |
-| :------------------------ | :----- | :------------------------------------------------------ | :------------------------------------------------------------------: | ------------------------------------- |
-| Entity instantiation | Entity | [`constructor()`](./ordaClasses.md#class-constructor-1) | client | × |
-| Attribute touched | 属性 | `event touched ()` | Depends on [`local`](../ORDA/ordaClasses.md#local-functions) keyword | × |
-| | Entity | `event touched()` | Depends on [`local`](../ORDA/ordaClasses.md#local-functions) keyword | × |
-| Before saving an entity | 属性 | `validateSave ()` | server | ◯ |
-| | Entity | `validateSave()` | server | ◯ |
-| When saving an entity | 属性 | `saving ()` | server | ◯ |
-| | Entity | `saving()` | server | ◯ |
-| After saving an entity | Entity | `afterSave()` | server | × |
-| Before dropping an entity | 属性 | `validateDrop ()` | server | ◯ |
-| | Entity | `validateDrop()` | server | ◯ |
-| When dropping an entity | 属性 | `dropping ()` | server | ◯ |
-| | Entity | `dropping()` | server | ◯ |
-| After dropping an entity | Entity | `afterDrop()` | server | × |
+| イベント | レベル | 関数名 | (C/S の場合) 実行される場所 | エラーを返すことでアクションを停止できる |
+| :------------------------------------ | :----- | :------------------------------------------------------ | :--------------------------------------------------------: | -------------------- |
+| エンティティのインスタンス化 | Entity | [`constructor()`](./ordaClasses.md#class-constructor-1) | client | × |
+| 属性がタッチされた | 属性 | `event touched ()` | [`local`](../ORDA/ordaClasses.md#local-functions) キーワードによる | × |
+| | Entity | `event touched()` | [`local`](../ORDA/ordaClasses.md#local-functions) キーワードによる | × |
+| エンティティを保存する前 | 属性 | `validateSave ()` | server | ◯ |
+| | Entity | `validateSave()` | server | ◯ |
+| エンティティの保存時 | 属性 | `saving ()` | server | ◯ |
+| | Entity | `saving()` | server | ◯ |
+| エンティティを保存した後 | Entity | `afterSave()` | server | × |
+| エンティティをドロップ(削除)する前 | 属性 | `validateDrop ()` | server | ◯ |
+| | Entity | `validateDrop()` | server | ◯ |
+| エンティティのドロップ(削除)時 | 属性 | `dropping ()` | server | ◯ |
+| | Entity | `dropping()` | server | ◯ |
+| エンティティをドロップした後 | Entity | `afterDrop()` | server | × |
:::note
-The [`constructor()`](./ordaClasses.md#class-constructor-1) function is not actually an event function but is always called when a new entity is instantiated.
+[`constructor()`](./ordaClasses.md#class-constructor-1) 関数は実際にはイベント関数ではありませんが、エンティティがインスタンス化される際に必ず呼び出されます。
:::
-## *event* parameter
+## *event* 引数
-Event functions accept a single *event* object as parameter. When the function is called, the parameter is filled with several properties:
+イベント関数は、単一の *event* オブジェクトを引数として受け取ります。 関数が呼び出されると、引数には複数のプロパティに値が入れられます:
-| プロパティ名 | 利用可能性 | 型 | 説明 | |
-| :------------------ | :----------------------------------------------------------------------------------------------------------------------- | :------------------- | :-------------------------------------------------------------------------------------------------------------------- | - |
-| "kind" | Always | 文字列 | Event name: "touched", "validateSave", "saving", "afterSave", "validateDrop", "dropping", "afterDrop" | |
-| *attributeName* | Only for events implemented at attribute level ("validateSave", "saving", "validateDrop", "dropping") | 文字列 | Attribute name (*e.g.* "firstname") | |
-| *dataClassName* | Always | 文字列 | Dataclass name (*e.g.* "Company") | |
-| "savedAttributes" | Only in [`afterSave()`](#function-event-aftersave) | Collection of String | Names of attributes properly saved | |
-| "droppedAttributes" | Only in [`afterDrop()`](#function-event-afterdrop) | Collection of String | Names of attributes properly dropped | |
-| "saveStatus" | Only in [`afterSave()`](#function-event-aftersave) | 文字列 | "success" if the save was successful, "failed" otherwise | |
-| "dropStatus" | Only in [`afterDrop()`](#function-event-afterdrop) | 文字列 | "success" if the drop was successful, "failed" otherwise | |
+| プロパティ名 | 利用可能性 | 型 | 説明 | |
+| :------------------ | :-------------------------------------------------------------------------------------------- | :--------- | :--------------------------------------------------------------------------------------------------------- | - |
+| "kind" | 常に | 文字列 | イベント名: "touched"、"validateSave"、"saving"、"afterSave"、"validateDrop"、"dropping"、"afterDrop" | |
+| *attributeName* | 属性レベルで実装されているイベントに対してのみ("validateSave"、"saving"、"validateDrop"、"dropping") | 文字列 | 属性名 (*例* "firstname") | |
+| *dataClassName* | 常に | 文字列 | データクラス名 (*例* "Company") | |
+| "savedAttributes" | [`afterSave()`](#function-event-aftersave) でのみ | 文字列のコレクション | 正常に保存された属性名 | |
+| "droppedAttributes" | [`afterDrop()`](#function-event-afterdrop) でのみ | 文字列のコレクション | 正常にドロップ(削除)された属性名 | |
+| "saveStatus" | [`afterSave()`](#function-event-aftersave) でのみ | 文字列 | 保存が正常であれば "success"、それ以外の場合には "failed" | |
+| "dropStatus" | [`afterDrop()`](#function-event-afterdrop) でのみ | 文字列 | ドロップ(削除)が正常であれば "success"、それ以外の場合には "failed" | |
-## Error object
+## エラーオブジェクト
-[Some event functions](#summary-table) can return an **error object** to raise an error and stop the running action.
+[一部のイベント関数](#概要表) は **エラーオブジェクト** を返すことでエラーを生成し実行中のアクションを停止することができます。
-When an error occurs in an event, the other events are stopped at the first raised error and the action (save or drop) is also stopped. This error is sent before other potential errors like [stamp has changed, entity locked](../API/EntityClass.md#save), etc.
+イベント中にエラーが発生した場合、他のイベントも最初にエラーが生成された時点で停止し、アクション(保存やドロップ)も停止します。 このエラーは[スタンプが変更された、エンティティがロックされていた](../API/EntityClass.md#save) などの潜在的なエラーの前に送信されます。
-### Error object properties
+### エラーオブジェクトのプロパティ
-| プロパティ | 型 | 説明 | Set by the developer |
-| ------------------ | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------- |
-| errCode | Integer | Same as for [`Last errors`](../commands/last-errors.md) command | ◯ |
-| message | Text | Same as for [`Last errors`](../commands/last-errors.md) command | ◯ |
-| extraDescription | Object | Free information to set up | ◯ |
-| seriousError | Boolean | Used only with validate events (see below). `True`: creates a [serious (unpredictable) error](../Concepts/error-handling.md#predictable-vs-unpredictable-errors) and triggers an exception. Adds the `dk status serious validation error` status`False`: creates only a [silent (predictable) error](../Concepts/error-handling.md#predictable-vs-unpredictable-errors). Adds the `dk status validation failed` status | Yes (default is false) |
-| componentSignature | Text | Always "DBEV" | × |
+| プロパティ | 型 | 説明 | 開発者によって設定 |
+| ------------------ | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------- |
+| errCode | Integer | [`Last errors`](../commands/last-errors.md) コマンドと同じ | ◯ |
+| message | Text | [`Last errors`](../commands/last-errors.md) コマンドと同じ | ◯ |
+| extraDescription | Object | 自由に設定可能な情報 | ◯ |
+| seriousError | Boolean | validate イベントでのみ使用されます(以下参照)。 `True`: [深刻(予測不能)なエラー](../Concepts/error-handling.md#予測可能なエラーvs予測不能なエラー) を作成し、例外をトリガーします。 `dk status serious validation error` ステータスを追加します`False`: creates only a [静か(予測可能) なエラー](../Concepts/error-handling.md#予測可能なエラーvs予測不可なエラー) のみを作成します。 `dk status validation failed` ステータスを追加します | 可能(デフォルトはfalse) |
+| componentSignature | Text | 常に "DBEV" | × |
-- [Serious errors](../Concepts/error-handling.md#predictable-vs-unpredictable-errors) are stacked in the `errors` collection property of the **Result object** returned by the [`save()`](../API/EntityClass.md#save) or [`drop()`](../API/EntityClass.md#drop) functions.
-- In case of an error triggered by a **validate** event, the `seriousError` property allows you to choose the level of the error to generate:
- - If **true**: a serious error is thrown and should be handled by the [error processing code](../Concepts/error-handling.md#predictable-vs-unpredictable-errors), such as a [try catch](../Concepts/error-handling.md#trycatchend-try). In the result object of the calling function, `status` gets `dk status serious validation error` and `statusText` gets "Serious Validation Error". The error is raised at the end of the event and reach the client requesting the save/drop action (REST client for example).
- - If **false** (default): a [silent (predictable) error is generated](../Concepts/error-handling.md#predictable-vs-unpredictable-errors). It does not trigger any exception and is not stacked in the errors returned by the [`Last errors`](../commands/last-errors.md) command. In the result object of the calling function, `status` gets `dk status validation failed` and `statusText` gets "Mild Validation Error".
-- In case of an error triggered by a **saving/dropping** event, when an error object is returned, the error is always raised as a serious error whatever the `seriousError` property value.
+- [深刻なエラー](../Concepts/error-handling.md#予測可能なエラーvs予測不可なエラー) は[`save()`](../API/EntityClass.md#save) または [`drop()`](../API/EntityClass.md#drop) 関数から返される **Result オブジェクト** の `errors` コレクションプロパティにスタックされます。
+- **validate** イベントによってトリガーされたエラーの場合、 `seriousError` プロパティを使用することで生成するエラーのレベルを選択することができます:
+ - **true** の場合: 深刻なエラーが生成され、[try catch](../Concepts/error-handling.md#trycatchend-try)などの[エラー処理コード](../Concepts/error-handling.md#予測可能なエラーvs予測不可なエラー) によって管理される必要があります。 呼び出した関数のresult オブジェクトでは、`status` には `dk status serious validation error` が入り、 `statusText` には "Serious Validation Error" が入ります。 エラーはイベントの終わりに生成され、保存/ドロップアクションをリクエストしているクライアント(例えばREST クライアントなど)に届きます。
+ - **false** (デフォルト)の場合: [静か(予測可能) なエラーが生成されます](../Concepts/error-handling.md#予測可能なエラーvs予測不可なエラー)。 これは例外はトリガーせず、また[`Last errors`](../commands/last-errors.md) コマンドから返されるエラーの中にはスタックされません。 呼び出した関数のresult オブジェクトでは、`status` には `dk status validation failed` が入り、 `statusText` には "Mild Validation Error" が入ります。
+- **保存時/ドロップ時** のイベントによってトリガーされたエラーの場合、エラーオブジェクトが返されると、 `seriousError` プロパティの値に関わらず、エラーは常に深刻なエラーとして生成されます。
-## Event function description
+## イベント関数の詳細
### `Function event touched`
@@ -125,39 +125,39 @@ When an error occurs in an event, the other events are stopped at the first rais
```4d
{local} Function event touched($event : Object)
{local} Function event touched ($event : Object)
-// code
+// コード
```
-This event is triggered each time a value is modified in the entity.
+このイベントはエンティティ内の値が編集されるたびにトリガーされます。
-- If you defined the function at the entity level (first syntax), it is triggered for modifications on any attribute of the entity.
-- If you defined the function at the attribute level (second syntax), it is triggered only for modifications on this attribute.
+- 関数をエンティティレベルで定義していた場合(第一シンタックス)、その関数はエンティティの任意の属性における変更に対してトリガーされます。
+- 関数を属性レベルで定義していた場合(第二シンタックス)、関数はその属性に対する変更に対してのみトリガーされます。
-This event is triggered as soon as the 4D Server / 4D engine can detect a modification of attribute value which can be due to the following actions:
+このイベントは4D Server / 4Dエンジンが属性値の変更を検知するとすぐにトリガーされます。この変更は、以下のようなアクションによって引き起こされます:
-- in **client/server with the [`local` keyword](../ORDA/ordaClasses.md#local-functions)** or in **4D single-user**:
- - the user sets a value on a 4D form,
- - the 4D code makes an assignment with the `:=` operator. The event is also triggered in case of self-assignment (`$entity.attribute:=$entity.attribute`).
-- in **client/server without the `local` keyword**: some 4D code that makes an assignment with the `:=` operator is [executed on the server](../commands-legacy/execute-on-server.md).
-- **`local` キーワードを使用しないクライアント/サーバー**、**[Qodly アプリケーション](https://developer.4d.com/qodly)** および **[リモートデータストア](../commands/open-datastore.md)**: ORDA 関数(エンティティ上の関数あるいはエンティティを引数として使用する関数)を呼び出した場合にはエンティティは4D Server 受信されます。 It means that you might have to implement a *refresh* or *preview* function on the remote application that sends an ORDA request to the server and triggers the event.
-- with the REST server: the value is received on the REST server with a [REST request](../REST/$method.md#methodupdate) (`$method=update`)
+- **[`local` キーワード](../ORDA/ordaClasses.md#local関数) を使用したクライアント/サーバー** あるいは **シングルユーザーモードの4D**:
+ - ユーザーが4D フォーム上で値を設定した
+ - 4D コードが `:=` 演算子によって代入を行った。 このイベントは自己代入の場合にもトリガーされます(`$entity.attribute:=$entity.attribute`)。
+- **`local` キーワード を使用しないクライアント/サーバー**: `:=` 演算子によって代入を行う一部の4D コードは、[サーバー上で実行されます](../commands-legacy/execute-on-server.md)。
+- **`local` キーワードを使用しないクライアント/サーバー**、**[Qodly アプリケーション](https://developer.4d.com/qodly)** および **[リモートデータストア](../commands/open-datastore.md)**: ORDA 関数(エンティティ上の関数あるいはエンティティを引数として使用する関数)を呼び出した場合にはエンティティは4D Server 受信されます。 これはつまり、リモートアプリケーション側に*refresh* あるいは *preview* 関数を実装することでORDA リクエストをサーバーに送信し、イベントをトリガーするようにする必要があるかもしれない、ということです。
+- REST サーバー: 値は REST サーバーに、[REST リクエスト](../REST/$method.md#methodupdate) (`$method=update`) とともに受信されます。
-The function receives an [*event* object](#event-parameter) as parameter.
+関数は [*event* オブジェクト](#event-引数) を引数として受け取ります。
-If this function [throws](../commands/throw) an error, it will not stop the undergoing action.
+この関数がエラーを[throw](../commands/throw) する場合でも、進行中のアクションは停止しません。
:::note
-This event is also triggered:
+このイベントは以下の場合にもトリガーされます:
-- when attributes are assigned by the [`constructor()`](./ordaClasses.md#class-constructor-1) event,
-- when attributes are edited through the [Data Explorer](../Admin/dataExplorer.md).
+- 属性の値が [`constructor()`](./ordaClasses.md#class-constructor-1) イベントによって代入された場合
+- 属性の値が [データエクスプローラー](../Admin/dataExplorer.md) を通して編集された場合。
:::
#### 例題 1
-You want to uppercase all text attributes of an entity when it is updated.
+エンティティが更新されたときに、エンティティ内のテキスト属性を全て大文字に変換したい場合を考えます。
```4d
//ProductsEntity class
@@ -170,11 +170,11 @@ Function event touched($event : Object)
#### 例題 2
-The "touched" event is useful when it is not possible to write indexed query code in [`Function query()`](./ordaClasses.md#function-query-attributename) for a [computed attribute](./ordaClasses.md#computed-attributes).
+"touched" イベントは、[計算属性](./ordaClasses.md#計算属性)に対して[`Function query()`](./ordaClasses.md#function-query-attributename) 内でインデックスクエリコードを書くことが不可能な場合にとても有用です。
-This is the case for example, when your [`query`](./ordaClasses.md#function-query-attributename) function has to compare the value of different attributes from the same entity with each other. You must use formulas in the returned ORDA query -- which triggers sequential queries.
+これは例えば、[`query`](./ordaClasses.md#function-query-attributename) 関数が同じエンティティの異なる属性の値どうしを比較したいような場合です。 これは返されたORDA クエリ内でフォーミュラを使う必要があり、結果としてシーケンシャルクエリをトリガーすることになります。
-To fully understand this case, let's examine the following two calculated attributes:
+このような場合を完全に理解するために、以下の2つの計算属性について調べてみましょう:
```4d
Function get onGoing() : Boolean
@@ -184,9 +184,9 @@ Function get sameDay() : Boolean
return (This.departureDate=This.arrivalDate)
```
-Even though they are very similar, these functions cannot be associated with identical queries because they do not compare the same types of values. The first compares attributes to a given value, while the second compares attributes to each other.
+たとえ非常に似ていたとしても、これらのクエリは同じ型の値を比較している訳ではないため、これらの関数を同一のクエリと関連づけることはできません。 前者は属性を与えられた値と比較する一方、後者は属性どうしを比較します。
-- For the *onGoing* attribute, the [`query`](./ordaClasses.md#function-query-attributename) function is simple to write and uses indexed attributes:
+- *onGoing* 属性に対しては、[`query`](./ordaClasses.md#function-query-attributename) 関数をシンプルに書くことができ、またインデックス付きの属性を使用します:
```4d
Function query onGoing($event : Object) : Object
@@ -207,12 +207,12 @@ Function query onGoing($event : Object) : Object
End case
$myQuery:=($onGoingValue) ? "departureDate <= :1 AND arrivalDate >= :1" : "departureDate > :1 OR arrivalDate < :1"
- // the ORDA query string uses indexed attributes, it will be indexed
+ // ORDA クエリ文字列はインデックス付き属性を使用するので、インデックスがつけられます
$parameters.push(Current date)
return {query: $myQuery; parameters: $parameters}
```
-- For the *sameDay* attribute, the [`query`](./ordaClasses.md#function-query-attributename) function requires an ORDA query based on formulas and will be sequential:
+- *sameDay* 属性に対しては、[`query`](./ordaClasses.md#function-query-attributename) 関数はフォーミュラに基づいたORDA クエリを必要とするため、検索はシーケンシャルに行われます:
```4d
Function query sameDay($event : Object) : Text
@@ -230,11 +230,11 @@ Function query sameDay($event : Object) : Text
End case
return ($sameDayValue) ? "eval(This.departureDate = This.arrivalDate)" : "eval(This.departureDate != This.arrivalDate)"
- // the ORDA query string uses a formula, it will not be indexed
+ // ORDA クエリ文字列はフォーミュラを使用するため、インデックスはつけられません
```
-- Using a **scalar** *sameDay* attribute updated when other attributes are "touched" will save time:
+- しかし他の属性が"タッチ"されたときに更新される**スカラー値の** *sameDay* 属性を使用することで、時間を節約することができます:
```4d
//BookingEntity class
@@ -250,7 +250,7 @@ Function event touched arrivalDate($event : Object)
```
-#### Example 3 (diagram): Client/server with the `local` keyword:
+#### 例題 3 (図): `local` キーワードを用いたクライアント/サーバー:
```mermaid
@@ -261,15 +261,15 @@ sequenceDiagram
Client->>+Client: $people.lastname:="Brown"
Note over Client: local Function event touched lastname($event : Object)
This.lastname:=Uppercase(This.lastname)
-Note over Client:$people.lastname is uppercased
+Note over Client:$people.lastname は大文字に変換されます
Client->>+Server: $people.apply()
- Note over Server: The $people entity is received with the lastname attribute uppercased
+ Note over Server: $people エンティティは lastname 属性が大文字に変換された状態で受信されます
```
-#### Example 4 (diagram): Client/server without the `local` keyword
+#### 例題 4 (図): `local` キーワードを用いないクライアント/サーバー
```mermaid
@@ -279,37 +279,36 @@ sequenceDiagram
Client->>+Client: $people.lastname:="Brown"
- Note over Client:$people.lastname is not uppercased
+ Note over Client:$people.lastname は大文字に変換されません
Client->>+Server: $people.apply()
Note over Server: Function event touched lastname($event : Object)
This.lastname:=Uppercase(This.lastname)
- Server-->>-Client: The $people entity is updated
-
- Note over Client:$people.lastname is uppercased
+ Server-->>-Client: $people エンティティが更新されます
+ Note over Client:$people.lastname は大文字に変換されます。
```
-#### Example 5 (diagram): Qodly application
+#### 例題 5 (図): Qodly アプリケーション
```mermaid
sequenceDiagram
-Qodly page->>+ Server: Get an entity into the People Qodly source
+Qodly page->>+ Server: エンティティをPeople Qodlyソースへと受け取る
-Qodly page->>+Qodly page: The user updates People.lastname
+Qodly page->>+Qodly page: ユーザーが People.lastname を更新する
-Note over Qodly page: The People Qodly source lastname attribute is not uppercased
+Note over Qodly page: People Qodly ソースの lastname 属性は大文字に変換されていません
Qodly page->>+ Server: Function call People.apply()
Note over Server: Function event touched lastname($event : Object)
This.lastname:=Uppercase(This.lastname)
-Server-->>-Qodly page: The People Qodly source is updated
-Note over Qodly page: The People Qodly source lastname attribute is uppercased
+Server-->>-Qodly page: People Qodly ソースが更新されます
+Note over Qodly page: People Qodly ソースの lastname 属性が大文字に変換されます
```
@@ -321,47 +320,47 @@ Note over Qodly page: The People Qodly source lastname attribute is uppercased
```4d
Function event validateSave($event : Object)
Function event validateSave ($event : Object)
-// code
+// コード
```
-This event is triggered each time an entity is about to be saved.
+このイベントは、エンティティが保存されようとするたびに毎回トリガーされます。
-- if you defined the function at the entity level (first syntax), it is called for any attribute of the entity.
-- if you defined the function at the attribute level (second syntax), it is called only for this attribute. This function is **not** executed if the attribute has not been touched in the entity.
+- 関数をエンティティレベルで定義していた場合(第一シンタックス)、その関数はエンティティの任意の属性に対して呼び出されます。
+- 関数を属性レベルで定義していた場合(第二シンタックス)、関数はその属性に対してのみ呼び出されます。 この関数は、エンティティ内の指定した属性がタッチされていない場合には、実行**されません**。
-The function receives an [*event* object](#event-parameter) as parameter.
+関数は [*event* オブジェクト](#event-引数) を引数として受け取ります。
-This event is triggered by the following functions:
+このイベントは、以下の関数によってトリガーされます:
- [`entity.save()`](../API/EntityClass.md#save)
- [`dataClass.fromCollection()`](../API/DataClassClass.md#fromcollection)
-This event is triggered **before** the entity is actually saved and lets you check data consistency so that you can stop the action if needed. For example, you can check in this event that "departure date" < "arrival date".
+このイベントは、エンティティが実際に保存される **前に** トリガーされるため、データの一貫性をチェックし、必要であればアクションを停止することができます。 例えば、このイベントを使用して、 "出発日" < "到着日" であることをチェックすることができます。
-To stop the action, the code of the function must return an [error object](#error-object).
+アクションを停止するためには、関数のコードで[エラーオブジェクト](#エラーオブジェクト) を返す必要があります。
:::note
-It is not recommended to update the entity within this function (using `This`).
+この関数内において(`This` を使用して)エンティティを更新することは推奨されません。
:::
#### 例題
-In this example, it is not allowed to save a product with a margin lower than 50%. In case of an invalid price attribute, you return an error object and thus, stop the save action.
+この例では、マージンが50% 未満の製品を保存することは許可されていません。 無効な price 属性の場合、エラーオブジェクトを換えし、保存アクションを停止します。
```4d
// ProductsEntity class
//
-// validateSave event at attribute level
+// 属性レベルの validateSave イベント
Function event validateSave margin($event : Object) : Object
var $result : Object
-//The user can't create a product whose margin is < 50%
+// ユーザーは margin が50% 未満の製品を作成することはできません
If (This.margin<50)
- $result:={errCode: 1; message: "The validation of this product failed"; \
- extraDescription: {info: "The margin of this product ("+String(This.margin)+") is lower than 50%"}; seriousError: False}
+ $result:={errCode: 1; message: "製品の検証に失敗しました"; \
+ extraDescription: {info: "この製品のマージンの ("+String(This.margin)+") が 50%" 未満になっています}; seriousError: False}
End if
return $result
@@ -374,40 +373,40 @@ return $result
```4d
Function event saving($event : Object)
Function event saving ($event : Object)
-// code
+// コード
```
-This event is triggered each time an entity is being saved.
+このイベントはエンティティが保存されるたびにトリガーされます。
-- If you defined the function at the entity level (first syntax), it is called for any attribute of the entity. The function is executed even if no attribute has been touched in the entity (e.g. in case of sending data to an external app each time a save is done).
-- If you defined the function at the attribute level (second syntax), it is called only for this attribute. The function is **not** executed if the attribute has not been touched in the entity.
+- 関数をエンティティレベルで定義していた場合(第一シンタックス)、その関数はエンティティの任意の属性に対して呼び出されます。 この関数はエンティティ内でどの属性もタッチされていない場合でも実行されます(例: 保存されるたびに外部アプリへとデータを送信する場合など)。
+- 関数を属性レベルで定義していた場合(第二シンタックス)、関数はその属性に対してのみ呼び出されます。 この関数は、エンティティ内の指定した属性がタッチされていない場合には、実行**されません**。
-The function receives an [*event* object](#event-parameter) as parameter.
+関数は [*event* オブジェクト](#event-引数) を引数として受け取ります。
-This event is triggered by the following functions:
+このイベントは、以下の関数によってトリガーされます:
- [`entity.save()`](../API/EntityClass.md#save)
- [`dataClass.fromCollection()`](../API/DataClassClass.md#fromcollection)
-This event is triggered **while** the entity is actually saved. If a [`validateSave()`](#function-event-validatesave) event function was defined, the `saving()` event function is called if no error was triggered by `validateSave()`. For example, you can use this event to create a document on a Google Drive account.
+このイベントはエンティティが実際に保存されている**最中に**トリガーされます。 [`validateSave()`](#function-event-validatesave) イベント関数が定義されていると場合、 `saving()` イベント関数は、 `validateSave()`がエラーを何もトリガーしなかった場合に呼び出されます。 例えば、このイベントを使用して、Google Drive アカウントにドキュメントを作成することができます。
:::note
-The business logic should raise errors which can't be detected during the `validateSave()` events, e.g. a network error
+このビジネスロジックは `validateSave()` イベントで検知できないエラーを生成する必要があります(例: ネットワークエラー)
:::
-During the save action, 4D engine errors can be raised (index, stamp has changed, not enough space on disk).
+保存アクション中、4D エンジンのエラー(インデックスやスタンプが変更された、ディスク上に十分なスペースがありません、など)が生成されることがあります。
-To stop the action, the code of the function must return an [error object](#error-object).
+アクションを停止するためには、関数のコードで[エラーオブジェクト](#エラーオブジェクト) を返す必要があります。
#### 例題
-When a file is saved on disk, catch errors related to disk space for example.
+ファイルがディスク上に保存されると、例えばディスクの要領に関連したエラーをキャッチします。
```4d
// ProductsEntity class
-// saving event at attribute level
+// 属性レベルでの保存イベント
Function event saving userManualPath($event : Object) : Object
var $result : Object
@@ -417,15 +416,17 @@ var $fileCreated : Boolean
If (This.userManualPath#"")
$userManualFile:=File(This.userManualPath)
- // The user manual document file is created on the disk
- // This may fail if no more space is available
+ // ユーザーマニュアルドキュメントファイルがディスク上に作成されます
+ // これはディスク上に空き容量がない場合には失敗する可能性があります
Try
- $fileCreated:=$userManualFile.create()
+ // ファイルのコンテンツは事前に生成され Storage.docMap に保存されています
+ $docInfo:=Storage.docMap.query("name = :1"; This.name).first()
+ $userManualFile.setContent($docInfo.content)
Catch
- // No more room on disk for example
+ // 例えばディスク上に要領が空いてない場合
$result:={/
- errCode: 1; message: "Error during the save action for this product"; /
- extraDescription: {info: "There is no available space on disk to store the user manual"}/
+ errCode: 1; message: "この製品の保存アクション中にエラー発生"; /
+ extraDescription: {info: "このディスク上にはユーザーマニュアルを保存するスペースがありません"}/
}
End try
End if
@@ -434,37 +435,43 @@ return $result
```
+:::note
+
+この例ではファイルの中身は `saving` イベントの外で生成されています。時間がかなりかかる可能性があるからです。
+
+:::
+
### `Function event afterSave`
#### シンタックス
```4d
Function event afterSave($event : Object)
-// code
+// コード
```
-This event is triggered just after an entity is saved in the data file, when at least one attribute was modified. It is not executed if no attribute has been touched in the entity.
+このイベントは、少なくとも一つの属性が編集されていたエンティティがデータファイルに保存された直後にトリガーされます。 エンティティ内でどの属性もタッチされていない場合には、これは実行されません。
-This event is useful after saving data to propagate the save action outside the application or to execute administration tasks. For example, it can be used to send a confirmation email after data have been saved. Or, in case of error while saving data, it can make a rollback to restore a consistent state of data.
+このイベントは、データを保存した後に、アプリケーション外に保存アクションを電波させたい場合や、管理タスクを実行したりするのに有用です。 例えばこれを使用して、データが保存された後に確認メールを送信することができます。 あるいは、データ保存中にエラーが発生した場合、これを使用してロールバックを行い、データの一貫性を復元することもできます。
-The function receives an [*event* object](#event-parameter) as parameter.
+関数は [*event* オブジェクト](#event-引数) を引数として受け取ります。
-- To avoid infinite loops, calling a [`save()`](../API/EntityClass.md#save) on the current entity (through `This`) in this function is **not allowed**. It will raise an error.
-- Throwing an [error object](#error-object) is **not supported** by this function.
+- 無限ループに陥るのを避けるため、この関数内でカレントのエンティティ上で(`This` を通して) [`save()`](../API/EntityClass.md#save) を呼び出すのは**許可されていません**。 これはエラーを発生させます。
+- この関数では[エラーオブジェクト](#エラーオブジェクト) をスローすることは**サポートされていません**。
#### 例題
-If an error occurred in the above saving event, the attribute value is reset accordingly in the `afterSave` event:
+上記の保存イベント中にエラーが発生した場合、属性値は `afterSave` イベントでリセットされます:
```4d
// ProductsEntity class
Function event afterSave($event : Object)
If (($event.status.success=False) && ($event.status.errors=Null))
- // $event.status.errors is filled if the error comes from the validateSave event
+ // エラーがvalidateSave イベントから来た場合には$event.status.errors に値が入れられます
- // The userManualPath attribute has not been properly saved
- // Its value is reset
+ // userManualPath 属性は適切には保存されていません
+ // その値はリセットされます
If ($event.savedAttributes.indexOf("userManualPath")=-1)
This.userManualPath:=""
This.status:="KO"
@@ -480,29 +487,29 @@ End if
```4d
Function event validateDrop($event : Object)
Function event validateDrop ($event : Object)
-// code
+// コード
```
-This event is triggered each time an entity is about to be dropped.
+このイベントはエンティティがドロップ(削除)されようとするたびに毎回トリガーされます。
-- If you defined the function at the entity level (first syntax), it is called for any attribute of the entity.
-- If you defined the function at the attribute level (second syntax), it is called only for this attribute.
+- 関数をエンティティレベルで定義していた場合(第一シンタックス)、その関数はエンティティの任意の属性に対して呼び出されます。
+- 関数を属性レベルで定義していた場合(第二シンタックス)、関数はその属性に対してのみ呼び出されます。
-The function receives an [*event* object](#event-parameter) as parameter.
+関数は [*event* オブジェクト](#event-引数) を引数として受け取ります。
-This event is triggered by the following features:
+このイベントは以下の機能によってトリガーされます:
- [`entity.drop()`](../API/EntityClass.md#drop)
- [`entitySelection.drop()`](../API/DataClassClass.md#fromcollection)
-- [deletion control rules](https://doc.4d.com/4Dv20/4D/20.2/Relation-properties.300-6750290.en.html#107320) that can be defined at the database structure level.
+- データベースストラクチャーレベルで定義されている可能性のある[削除制御](https://doc.4d.com/4Dv20/4D/20.2/Relation-properties.300-6750290.ja.html#107320)。
-This event is triggered **before** the entity is actually dropped, allowing you to check data consistency and if necessary, to stop the drop action.
+このイベントはエンティティが実際にドロップされる**前に**トリガーされるため、データの一貫性をチェックし、必要であればドロップアクションを停止することができます。
-To stop the action, the code of the function must return an [error object](#error-object).
+アクションを停止するためには、関数のコードで[エラーオブジェクト](#エラーオブジェクト) を返す必要があります。
#### 例題
-In this example, it is not allowed to drop a product that is not labelled "TO DELETE". In this case, you return an error object and thus, stop the drop action.
+この例では、"TO DELETE" とラベルのついていない製品をドロップすることはできません。 この場合、エラーオブジェクトを返すことで、ドロップアクションを停止することができます。
```4d
// ProductsEntity class
@@ -511,10 +518,10 @@ Function event validateDrop status($event : Object) : Object
var $result : Object
-// Products must be marked as TO DELETE to be dropped
+// ドロップするためには、製品は TO DELETE と記録されている必要があります
If (This.status#"TO DELETE")
- $result:={errCode: 1; message: "You can't drop this product"; \
- extraDescription: {info: "This product must be marked as To Delete"}; seriousError: False}
+ $result:={errCode: 1; message: "この製品は削除できません"; \
+ extraDescription: {info: "この製品はTo Delete と記録されていなければなりません"}; seriousError: False}
End if
return $result
@@ -527,35 +534,35 @@ return $result
```4d
Function event dropping($event : Object)
Function event dropping ($event : Object)
-// code
+// コード
```
-This event is triggered each time an entity is being dropped.
+このイベントはエンティティがドロップ(削除)されるたびにトリガーされます。
-- If you defined the function at the entity level (first syntax), it is called for any attribute of the entity.
-- If you defined the function at the attribute level (second syntax), it is called only for this attribute.
+- 関数をエンティティレベルで定義していた場合(第一シンタックス)、その関数はエンティティの任意の属性に対して呼び出されます。
+- 関数を属性レベルで定義していた場合(第二シンタックス)、関数はその属性に対してのみ呼び出されます。
-The function receives an [*event* object](#event-parameter) as parameter.
+関数は [*event* オブジェクト](#event-引数) を引数として受け取ります。
-This event is triggered by the following features:
+このイベントは以下の機能によってトリガーされます:
- [`entity.drop()`](../API/EntityClass.md#drop)
- [`entitySelection.drop()`](../API/DataClassClass.md#fromcollection)
-- [deletion control rules](https://doc.4d.com/4Dv20/4D/20.2/Relation-properties.300-6750290.en.html#107320) that can be defined at the database structure level.
+- データベースストラクチャーレベルで定義されている可能性のある[削除制御](https://doc.4d.com/4Dv20/4D/20.2/Relation-properties.300-6750290.ja.html#107320)。
-This event is triggered **while** the entity is actually dropped. If a [`validateDrop()`](#function-event-validatedrop) event function was defined, the `dropping()` event function is called if no error was triggered by `validateDrop()`.
+このイベントはエンティティが実際にドロップされている**最中に**トリガーされます。 [`validateDrop()`](#function-event-validatedrop) イベント関数が定義されている場合、 `dropping()` イベント関数は、 `validateDrop()` がエラーを何もトリガーしなかった場合に呼び出されます。
:::note
-The business logic should raise errors which cannot be detected during the `validateDrop()` events, e.g. a network error.
+このビジネスロジックは `validateDrop()` イベントで検知できないエラーを生成する必要があります(例: ネットワークエラー)。
:::
-To stop the action, the code of the function must return an [error object](#error-object).
+アクションを停止するためには、関数のコードで[エラーオブジェクト](#エラーオブジェクト) を返す必要があります。
#### 例題
-Here is an example of `dropping` event at entity level:
+これはエンティティレベルでの `dropping` イベントの一例です:
```4d
// ProductsEntity class
@@ -566,14 +573,14 @@ var $userManualFile : 4D.File
$userManualFile:=File(This.userManualPath)
- // When dropping a product, its user manual is also deleted on the disk
- // This action may fail
+ // 製品をドロップする場合、そのユーザーマニュアルもディスク上から削除されます
+ // このアクションは失敗する可能性があります
Try
If ($userManualFile.exists)
$userManualFile.delete()
End if
Catch
- // Dropping the user manual failed
+ // ユーザーマニュアルのドロップに失敗した場合
$result:={errCode: 1; message: "Drop failed"; extraDescription: {info: "The user manual can't be dropped"}}
End try
@@ -586,27 +593,27 @@ return $result
```4d
Function event afterDrop($event : Object)
-// code
+// コード
```
-This event is triggered just after an entity is dropped.
+このイベントはエンティティがドロップ(削除)された直後にトリガーされます。
-This event is useful after dropping data to propagate the drop action outside the application or to execute administration tasks. For example, it can be used to send a cancellation email after data have been dropped. Or, in case of error while dropping data, it can log an information for the administrator to check data consistency.
+このイベントは、データをドロップした後に、アプリケーション外にドロップアクションを伝播させたい場合や、管理タスクを実行したりするのに有用です。 例えばこれを使用して、データがドロップされたあとにキャンセルメールを送信することができます。 あるいは、データのドロップ中にエラーが発生した場合、あとで管理者がデータの一貫性をチェックできるように情報を記録することができます。
-The function receives an [*event* object](#event-parameter) as parameter.
+関数は [*event* オブジェクト](#event-引数) を引数として受け取ります。
-- To avoid infinite loops, calling a [`drop()`](../API/EntityClass.md#drop) on the current entity (through `This`) in this function is **not allowed**. It will raise an error.
-- Throwing an [error object](#error-object) is **not supported** by this function.
+- 無限ループに陥るのを避けるため、この関数内でカレントのエンティティ上で(`This` を通して) [`drop()`](../API/EntityClass.md#drop) を呼び出すのは**許可されていません**。 これはエラーを発生させます。
+- この関数では[エラーオブジェクト](#エラーオブジェクト) をスローすることは**サポートされていません**。
:::note
-The dropped entity is referenced by `This` and still exists in memory.
+ドロップされたエンティティは `This` を通して参照され、メモリー内に引き続き存在します。
:::
#### 例題
-If the drop action failed, then the product must be checked manually:
+ドロップアクションが失敗した場合、製品は手動でチェックされる必要があります:
```4d
Function event afterDrop($event : Object)
@@ -614,8 +621,8 @@ Function event afterDrop($event : Object)
var $status : Object
If (($event.status.success=False) && ($event.status.errors=Null))
- //$event.status.errors is filled
- //if the error comes from the validateDrop event
+ //$event.status.errors には、
+ //エラーが validateDrop イベントから来た場合には値が入れられます
This.status:="Check this product - Drop action failed"
$status:=This.save()
End if
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/ORDA/ordaClasses.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/ORDA/ordaClasses.md
index a49e8ce5d07ead..ff642548a8b4d2 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21/ORDA/ordaClasses.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/ORDA/ordaClasses.md
@@ -3,7 +3,7 @@ id: ordaClasses
title: データモデルクラス
---
-ORDA allows you to create high-level class functions above the [data model](https://doc.4d.com/4Dv20/4D/20.2/Creating-a-database-structure.200-6750097.en.html). これによってビジネス指向のコードを書き、APIのように "公開" することができます。 データストア、データクラス、エンティティ、およびエンティティセレクションはそれぞれ、関数を持つことのできるクラスオブジェクトとして提供されています。
+ORDAでは、[データモデル](https://doc.4d.com/4Dv20/4D/20.2/Creating-a-database-structure.200-6750097.ja.html)の上に高レベルクラス関数を作成することができます。 これによってビジネス指向のコードを書き、APIのように "公開" することができます。 データストア、データクラス、エンティティ、およびエンティティセレクションはそれぞれ、関数を持つことのできるクラスオブジェクトとして提供されています。
たとえば、選択中の社員より給与の高い社員一覧を返す `getNextWithHigherSalary()` 関数を `EmployeeEntity` クラスに作成したとします。 この関数は簡単に呼び出すことができます:
@@ -214,9 +214,9 @@ ORDA で公開されるテーブル毎に、Entity クラスが `cs` クラス
#### Class constructor
-You can define a **class constructor** for an Entity class. The class constructor is called whenever an entity is created in memory and can be used to initialize some values.
+エンティティクラスに対して **class constructor** を定義することができます。 クラスコンストラクターはエンティティがメモリ内に作成されるたびに呼び出され、これを使用して一部の値を初期化することができます。
-For information, please refer to the [Class constructor](#class-constructor-1) section.
+詳細な情報については[Class constructor](#class-constructor-1) を参照してください。
#### 計算属性
@@ -278,7 +278,7 @@ End if
- クラス定義の際、[`Class extends`](../Concepts/classes.md#class-extends-classname) ステートメントに使用する親クラスの名前は完全に合致するものでなくてはいけません (文字の大小が区別されます)。 たとえば、EntitySelection クラスを継承するには `Class extends EntitySelection` と書きます。
-- データモデルクラスオブジェクトのインスタンス化に `new()` キーワードは使えません (エラーが返されます)。 You must use a regular function as listed in the [`Instantiated by` column of the ORDA class table](#architecture).
+- データモデルクラスオブジェクトのインスタンス化に `new()` キーワードは使えません (エラーが返されます)。 上述の ORDA クラステーブルに一覧化されている、通常の [インスタンス化の方法](#アーキテクチャー) を使う必要があります。
- **`4D`** [クラスストア](Concepts/classes.md#クラスストア) のネイティブな ORDA クラス関数を、データモデルユーザークラス関数でオーバーライドすることはできません。
@@ -306,7 +306,7 @@ End if
```4d
// Entity class
Class constructor()
-// code
+// コード
```
:::note
@@ -315,48 +315,48 @@ Class constructor()
:::
-An ORDA class constructor function is triggered just after a new entity is created in memory, [whatever the way it is created](#commands-that-trigger-the-class-constructor-functions). It is useful to set initial values for entity instantiation, for example a custom ID.
+ORDA クラスコンストラクター関数は、[作成された方法に関わらず](#クラス関数をトリガーするコマンド)、新規エンティティがメモリ内に作成された直後にトリガーされます。 これは例えばカスタムのID など、エンティティインスタンス化時に初期値を設定するのに有用です。
-This function can only be set at the [entity level](#entity-class). There can only be one constructor function in an entity class (otherwise an error is returned).
+この関数は [エンティティレベル](#entity-クラス) でのみ設定可能です。 コンストラクター関数は、1つのエンティティクラスに 1つしか存在できません (そうでない場合はエラーが返されます)。
-This ORDA class constructor function does not receive or return parameters. However, you can use it to initialize attribute values using [`This`](../commands/this.md). Note that values initialized by the constructor are overriden if corresponding attributes are filled by the code.
+ORDA クラスコンストラクター関数は、引数を受け取ることも返すこともしません。 しかし、 [`This`](../commands/this.md).を使用して属性値を初期化することができます。 コンストラクターによって初期化された値は、対応する属性がコードによって値が入力される場合にはそれによって上書きされるということに注意してください。
:::note
-An ORDA class constructor function is similar to a [user class constructor function](../Concepts/classes.md#class-constructor), with the following differences:
+ORDA クラスコンストラクター関数は、[ユーザークラスコンストラクター関数](../Concepts/classes.md#class-constructor) と似ていますが、以下の点において違います:
-- you cannot pass parameters to the constructor,
-- you cannot use `shared`, `session`, or `singleton` keywords,
-- you cannot call the [`Super`](../Concepts/classes.md#super) keyword within the function,
-- the class constructor cannot be called using the `new()` function on an entity (entities can only be created by specific functions, see below).
+- コンストラクターには引数を渡すことはできません
+- `shared`、 `session` または `singleton` キーワードを使用することはできません
+- 関数内で [`Super`](../Concepts/classes.md#super) キーワードを呼び出すことはできません
+- クラスコンストラクターは、エンティティに `new()` 関数を使用することでは呼び出せません(エンティティは特定の関数でしか作成することはできません、以下参照)。
:::
-#### Commands that trigger the Class constructor functions
+#### クラスコンストラクター関数をトリガーするコマンド
-The `Class constructor` function is triggered by the following commands and features:
+`Class constructor` 関数は、以下のコマンドと機能によってトリガーされます:
- [`dataClass.new()`](../API/DataClassClass.md#new)
- [`dataClass.fromCollection()`](../API/DataClassClass#fromcollection)
-- [REST API $method=update](../REST/$method.md#methodupdate) in a POST without the `__KEY` and `__STAMP` parameters
-- the [Data Explorer](../Admin/dataExplorer.md#editing-data).
+- `__KEY` および `__STAMP` 引数のない POST での[REST API $method=update](../REST/$method.md#methodupdate)
+- [データエクスプローラー](../Admin/dataExplorer.md#editing-data)
:::note 注記
-- The [`entity.clone()`](../API/EntityClass.md#clone) function does not trigger the entity Class constructor.
-- Records created at the 4D database level using 4D classic language commands or standard actions do not trigger the entity Class constructor.
+- [`entity.clone()`](../API/EntityClass.md#clone) 関数はエンティティクラスコンストラクターをトリガーしません。
+- 4D クラシックランゲージ言語コマンドまたは標準アクションを使用して4D データベースレベルで作成されたレコードは、エンティティクラスコンストラクターをトリガーしません。
:::
-#### Remote configurations
+#### リモート構成
-When using a remote configurations, you need to pay attention to the following principles:
+リモート構成を使用している場合、以下の原則に対して注意する必要があります:
-- In **client/server** the function can be called on the client or on the server, depending on the location of the calling code. When it is called on the client, it is not triggered again when the client attempts to save the new entity and sends an update request to the server to create in memory on the server.
+- **クライアント/サーバー** では、コードを呼び出した場所によっては関数はクライアントまたはサーバーのどちらでも呼び出すことができます。 クライアント上で呼び出された場合、クライアントが新規エンティティを保存しようとして、サーバーのメモリ上に作成するために更新リクエストを送信したときにはもう一度トリガーされることはありません。
:::warning
-Since functions such as [`dataClass.fromCollection()`](../API/DataClassClass.md#fromcollection) can create a large number of entities and thus trigger the entity Class constructor consequently, you need to make sure the constructor code does not execute excessive time-consuming processings, for performance reasons. In remote configurations (see below), the code should not trigger multiple requests to the server.
+[`dataClass.fromCollection()`](../API/DataClassClass.md#fromcollection) のような関数は大量のエンティティを一度を作成し、結果としてエンティティクラスコンストラクターをトリガーしうるため、パフォーマンス上の理由から、コンストラクターコードに過度に時間を消費するような処理を実行しないように注意する必要があります。 リモート設定においては(以下参照)、コードはサーバーに対して複数のリクエストをトリガーしてはいけません。
:::
@@ -372,7 +372,7 @@ Class constructor()
```
-#### Example 2 (diagram): Client/server
+#### 例題 2 (図): クライアント/サーバー
```mermaid
@@ -382,7 +382,7 @@ Client->>+Client: Form.product:=ds.Products.new()
Note over Client: Class constructor
This.creationDate:=Current date()
This.comment:="Automatic comment"
-Note over Client: Form.product.creationDate is "06/17/25"
Form.product.comment is "Automatic comment"
+Note over Client: Form.product.creationDate は "25/06/17"
Form.product.comment は "Automatic comment"
Client->>+Server: Form.product.save()
@@ -391,47 +391,47 @@ Server-->>-Client: Success
```
-#### Example 3 (diagram): Qodly - Standard action
+#### 例題 3 (図): Qodly - 標準アクション
```mermaid
sequenceDiagram
- Qodly page->>+ Qodly page: Standard action Create a new entity (product Qodly source)
+ Qodly page->>+ Qodly page: 標準アクションで新規エンティティを作成 (product Qodlyソース)
- Qodly page->>+Server: Function call product.apply() OR Save standard action for the product Qodly source
+ Qodly page->>+Server: 関数がproduct Qodly ソースに対して product.apply() または Save 標準アクション を呼び出し
Note over Server: Class constructor
This.creationDate:=Current date()
This.comment:="Automatic comment"
- Server-->>-Qodly page: The product Qodly source creationDate and comment attributes are filled
+ Server-->>-Qodly page: product Qodlyソースの creationDate と comment 属性に値が入れられる
- Note over Qodly page: product.creationDate is "06/17/25"
and product.comment is "Automatic comment"
+ Note over Qodly page: product.creationDate は "06/17/25"
そして product.comment は "Automatic comment"
```
-#### Example 4 (diagram): Qodly - Standard action and update value on the newly created entity
+#### 例題 4 (図): Qodly - 標準アクションと新規作成エンティティの値を更新
```mermaid
sequenceDiagram
-Qodly page->>+ Qodly page: Standard action Create a new entity (product Qodly source)
+Qodly page->>+ Qodly page: 標準アクションで新規エンティティを作成(product Qodlyソース)
-Qodly page->>+ Qodly page: Update product comment with "Front end comment"
+Qodly page->>+ Qodly page: product の comment を "Front end comment" で更新
-Qodly page->>+Server: Function call product.apply() OR Save standard action for the product Qodly source
+Qodly page->>+Server: 関数が product Qodlyソースに対して product.apply() またはSave 標準アクションを呼び出し
Note over Server: Class constructor
This.creationDate:=Current date()
This.comment:="Automatic comment"
-Note over Server: The comment attribute is set with "Front end comment"
+Note over Server: comment 属性は "Front end comment" に設定
-Server-->>-Qodly page: The product Qodly source creationDate and comment attributes are filled
+Server-->>-Qodly page: product Qodlyソースの creationDate と comment 属性には値が入る
-Note over Qodly page: product.creationDate is "06/17/25"
and product.comment is "Front end comment"
+Note over Qodly page: product.creationDate は "25/06/17"
そして product.comment は "Front end comment"
```
-#### Example 5 (diagram): Qodly - Entity instanciated in a function
+#### 例題 5 (図): Qodly - 関数内でインスタンス化されたエンティティ
```mermaid
@@ -439,13 +439,13 @@ sequenceDiagram
Qodly page->>+Server: product Qodly source := Function call Products.createNew()
-Note over Server: CreateNew() function on the Products class
return This.new()
+Note over Server: Products クラスのCreateNew() 関数は
This.new() を返す
Note over Server: Class constructor
This.creationDate:=Current date()
This.comment:="Automatic comment"
-Server-->>-Qodly page: The product entity creationDate and comment attributes are filled
+Server-->>-Qodly page: product エンティティの creationDate と comment 属性には値が入れられる
-Note over Qodly page: product.creationDate is "06/17/25"
and product.comment is "Automatic comment"
+Note over Qodly page: product.creationDate は "25/06/17"
そして product.comment は "Automatic comment"
```
@@ -936,18 +936,18 @@ $arch.save() //courseName と name は "Archaeology II" に変更されます
## 公開vs非公開関数
-For security reasons, all of your data model class functions, including [computed attributes](#computed-attributes-1) and [alias attributes](#alias-attributes-1), as well as [shared singleton functions](../Concepts/classes.md#shared-singleton) are **not exposed** (i.e., private) by default to **remote requests**.
+セキュリティ上の理由から、[計算属性](#計算属性-1) と [エイリアス属性](#エイリアス属性-1) と、[共有シングルトン関数](../Concepts/classes.md#共有シングルトン) を含めたデータモデルクラス関数は**リモートリクエスト**に対してはデフォルトでは**公開されていません** (つまり非公開です)。
-Remote requests are:
+リモートリクエストとは以下のものを指します:
- `Open datastore` によって接続されたリモートの 4Dアプリケーションが送信するリクエスト
-- REST requests, including requests from [Qodly pages](https://developer.4d.com/qodly/)
+- REST リクエスト、[Qodly ページ](https://developer.4d.com/qodly/) からのリクエストも含める
> 通常の 4Dクライアント/サーバーリクエストは影響されません。 このアーキテクチャーにおいては、データモデルクラス関数は常に利用可能です。
公開されていない関数はリモートアプリケーションで利用することができず、RESTリクエストによるオブジェクトインスタンスに対して呼び出すこともできません。 リモートアプリケーションが非公開関数をアクセスしようとすると、"-10729 (未知のメンバー機能です)" エラーが返されます。
-To allow a function or an attribute to be called by a remote request, you must explicitly declare it using the `exposed` keyword. シンタックスは次の通りです:
+関数あるいは属性がリモートリクエストから呼び出されるのを許可するためには、`exposed` キーワードを使って明示的に宣言する必要があります。 シンタックスは次の通りです:
```4d
// 公開関数の宣言
@@ -956,24 +956,24 @@ exposed Function
```
```4d
-// declare an exposed alias
+// 公開されたエイリアスの宣言
exposed Alias
```
```4d
-// declare an exposed computed attribute
+// 公開された計算属性の宣言
exposed Function get
```
```4d
-// declare a shared singleton function
+// 共有シングルトン関数の宣言
shared singleton Class constructor()
exposed Function
```
:::note
-The `exposed` keyword can only be used with the objects decribed above. [通常のユーザークラス](Concepts/classes.md) 関数に対して使った場合、キーワードは無視され、コンパイラーはエラーを返します。
+`exposed` キーワードは上記で説明されているオブジェクトでのみ使用できます。 [通常のユーザークラス](Concepts/classes.md) 関数に対して使った場合、キーワードは無視され、コンパイラーはエラーを返します。
:::
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/ORDA/privileges.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/ORDA/privileges.md
index cd4fbfc0254764..c61a659924f96b 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21/ORDA/privileges.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/ORDA/privileges.md
@@ -1,6 +1,6 @@
---
id: privileges
-title: Roles and Privileges
+title: ロールと権限
---
データ保護と、承認ユーザーによる迅速かつ容易なデータアクセスを両立することは、Webアプリケーションにとって大きな課題です。 ORDA のセキュリティアーキテクチャーはデータストアの中心に実装されており、プロジェクト内のさまざまなリソース (データストア、データクラス、関数など) に対して、すべての Web または REST ユーザーセッションに特定の権限を定義することができます。
@@ -17,7 +17,7 @@ Webユーザーまたは RESTユーザーがログインすると、そのセッ

-:::tip Related Blog posts
+:::tip 関連したBlog 記事
[**Filter access to your data with a complete system of permissions**](https://blog.4d.com/filter-access-to-your-data-with-a-complete-system-of-permissions/)
@@ -27,11 +27,11 @@ Webユーザーまたは RESTユーザーがログインすると、そのセッ
プロジェクト内の以下のリソースに対して、許諾アクションと権限名を割り当てることができます (この設定をパーミッションと呼びます):
-- the [datastore](../ORDA/dsMapping.md#datastore)
-- the [dataclasses](../ORDA/dsMapping.md#dataclass)
-- [attributes](../ORDA/dsMapping.md#attribute) (including [computed](./ordaClasses.md#computed-attributes-1) and [alias](./ordaClasses.md#alias-attributes-1))
-- functions of the [data model classes](../ORDA/ordaClasses.md)
-- [singleton](../REST/$singleton.md) functions
+- [データストア](../ORDA/dsMapping.md#データストア)
+- [データクラス](../ORDA/dsMapping.md#データクラス)
+- [属性](../ORDA/dsMapping.md#属性) ([計算属性](./ordaClasses.md#計算属性-1) および [エイリアス属性](./ordaClasses.md#エイリアス属性-1)を含む)
+- [データモデルクラス](../ORDA/ordaClasses.md) の関数
+- [シングルトン](../REST/$singleton.md) 関数
セッションがリソースにアクセスするたびに (アクセス形式に関係なく)、4D はセッションの権限を確認し、許可されていない場合にはアクセスを拒否します。
@@ -128,11 +128,11 @@ It means that you cannot use the same function names in the various ORDA classes
## 権限とロール
-**権限** とは、**リソース** に対して **アクション** を実行する技術的な能力であり、**ロール** は、管理者が使用するために公開された権限のことです。 基本的にロールとは、ビジネスユーザーのプロフィールを定義するためにいくつかの権限を集めたものです。 たとえば、"manageInvoices" (請求書管理) は権限の例で、"secretary" (秘書) は ("manageInvoices" および他の権限を持つ) ロールの例です。 基本的にロールとは、ビジネスユーザーのプロフィールを定義するためにいくつかの権限を集めたものです。 たとえば、"manageInvoices" (請求書管理) は権限の例で、"secretary" (秘書) は ("manageInvoices" および他の権限を持つ) ロールの例です。
+**権限** とは、**リソース** に対して **アクション** を実行する技術的な能力であり、**ロール** は、管理者が使用するために公開された権限のことです。 基本的にロールとは、ビジネスユーザーのプロフィールを定義するためにいくつかの権限を集めたものです。 たとえば、"manageInvoices" (請求書管理) は権限の例で、"secretary" (秘書) は ("manageInvoices" および他の権限を持つ) ロールの例です。
権限は、複数の "リソース+アクション" の組み合わせと関連付けることができます。 また、一つのアクションに複数の権限を関連付けることができます。 権限は、他の権限を含むことができます。
-- 権限やロールの **作成** は `roles.json` ファイル内にておこないます (後述参照)。 アクセス権の範囲を **設定** するには、リソースに適用される許諾アクションに権限名を割り当てます。 アクセス権の範囲を **設定** するには、リソースに適用される許諾アクションに権限名を割り当てます。 アクセス権の範囲を **設定** するには、リソースに適用される許諾アクションに権限名を割り当てます。 アクセス権の範囲を **設定** するには、リソースに適用される許諾アクションに権限名を割り当てます。 アクセス権の範囲を **設定** するには、リソースに適用される許諾アクションに権限名を割り当てます。 アクセス権の範囲を **設定** するには、リソースに適用される許諾アクションに権限名を割り当てます。 アクセス権の範囲を **設定** するには、リソースに適用される許諾アクションに権限名を割り当てます。 アクセス権の範囲を **設定** するには、リソースに適用される許諾アクションに権限名を割り当てます。 アクセス権の範囲を **設定** するには、リソースに適用される許諾アクションに権限名を割り当てます。
+- 権限やロールの **作成** は `roles.json` ファイル内にておこないます (後述参照)。 アクセス権の範囲を **設定** するには、リソースに適用される許諾アクションに権限名を割り当てます。
- 各ユーザーセッションに権限やロールを **許可** するには、`Session` クラスの [`.setPrivileges()`](../API/SessionClass.md#setprivileges) 関数を使用します。
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/REST/authUsers.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/REST/authUsers.md
index 3261d080e8448f..030382ad872a89 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21/REST/authUsers.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/REST/authUsers.md
@@ -18,7 +18,7 @@ When [scalable sessions are enabled](WebServer/sessions.md#enabling-web-sessions
:::note 互換性
-4D 20 R6 以降、`On REST Authentication` データベースメソッドに基づく従来のログインモードは **非推奨** となりました。 現在は、[**強制ログインモード**](../ORDA/privileges.md#rolesjson-ファイル) の使用 (新規プロジェクトでは自動的に有効) および [`ds.authentify()`関数](#function-authentify) の実装が推奨されています。 変換されたプロジェクトでは、[設定ダイアログボックスのボタン](../settings/web.md#dsauthentify-関数によって-rest認証を有効化する) を使用して、構成をアップグレードすることができます。 Qodly Studio for 4D では、権限パネルの [**強制ログイン**オプション](../WebServer/qodly-studio.md#force-login) を使用してログインモードを設定することができます。
+4D 20 R6 以降、`On REST Authentication` データベースメソッドに基づく従来のログインモードは **非推奨** となりました。 現在は、[**強制ログインモード**](../ORDA/privileges.md#rolesjson-ファイル) の使用 (新規プロジェクトでは自動的に有効) および [`ds.authentify()`関数](#function-authentify) の実装が推奨されています。 変換されたプロジェクトでは、[設定ダイアログボックスのボタン](../settings/web.md#dsauthentify-関数によって-rest認証を有効化する) を使用して、構成をアップグレードすることができます。 Qodly Studio for 4D では、権限パネルの [**強制ログイン**オプション](https://developer.4d.com/qodly/4DQodlyPro/force-login) を使用してログインモードを設定することができます。
:::
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/WebServer/http-rules.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/WebServer/http-rules.md
index 6f6e8aacb4e491..9b152c29bb5728 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21/WebServer/http-rules.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/WebServer/http-rules.md
@@ -220,7 +220,7 @@ $return:=WEB Server.start($settings)
```
-:::tip Related blog post
+:::tip 関連したblog 記事
[New Way to Control Your HTTP Responses](https://blog.4d.com/new-way-to-control-your-http-responses/)
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/WebServer/sessions.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/WebServer/sessions.md
index aec14fa9fb346b..8c11c9b7e09f45 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21/WebServer/sessions.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/WebServer/sessions.md
@@ -12,7 +12,7 @@ Webセッションでは、以下のことが可能です:
- セッションの [.storage](../API/SessionClass.md#storage) を使用して、Webクライアントのプロセス間でデータを保存および共有。
- セッションを実行しているユーザーに権限を関連付ける。
-:::tip Related blog post
+:::tip 関連したblog 記事
[高度な Webアプリケーションに対応したスケーラブルセッション](https://blog.4d.com/ja/scalable-sessions-for-advanced-web-applications/)
@@ -25,7 +25,7 @@ Webセッションは次のものに使用されます:
- [Web applications](gettingStarted.md) sending http requests (including [SOAP Web services](../commands/theme/Web_Services_Server.md) and [/4DACTION](../WebServer/httpRequests.md#4daction) requests),
- [リモートデータストア](../ORDA/remoteDatastores.md) や [Qodlyフォーム](qodly-studio.md) が使用する [REST API](../REST/authUsers.md) への呼び出し
-## Webセッションの有効化
+## Enabling web sessions {#enabling-web-sessions}
セッション管理機能は、4D Webサーバー上で有効または無効にすることができます。 セッション管理を有効化する方法は複数あります:
@@ -201,7 +201,7 @@ Else
End if
```
-:::tips 関連したblog 記事
+:::tip 関連したblog 記事
[高度な Webアプリケーションに対応したスケーラブルセッション](https://blog.4d.com/ja/scalable-sessions-for-advanced-web-applications/)
@@ -213,7 +213,7 @@ End if
4D では、OTP セッショントークンは外部URL を呼び出して、それが他のブラウザや他のデバイス(モバイル/PC) でコールバックされる場合に特に有用です。 通常、こういったサードパーティアプリケーションはコールバックリンクが入った確認メールを送信してきて、ユーザーはこれをクリックする必要があります。 コールバックリンクにはOTP トークンが含まれており、そのコールバックをトリガーしたセッションは、そのデータと権限とともにロードされます。 この原理により、同じセッションを複数のデバイス間で共有することができます。 このアーキテクチャーのおかげで、[セッションクッキー](#session-implementation) はネットワークに公開されることはないため、中間者攻撃のリスクを排除することができます。
-:::tips 関連したblog 記事
+:::tip 関連したblog 記事
[Connect Your Web Apps to Third-Party Systems](https://blog.4d.com/connect-your-web-apps-to-third-party-systems/)
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/assets/en/API/webformClass-pic1.png b/i18n/ja/docusaurus-plugin-content-docs/version-21/assets/en/API/webformClass-pic1.png
new file mode 100644
index 00000000000000..5c3de142c5af11
Binary files /dev/null and b/i18n/ja/docusaurus-plugin-content-docs/version-21/assets/en/API/webformClass-pic1.png differ
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/assets/en/API/webformClass-pic2.png b/i18n/ja/docusaurus-plugin-content-docs/version-21/assets/en/API/webformClass-pic2.png
new file mode 100644
index 00000000000000..7f1ec3a19a8764
Binary files /dev/null and b/i18n/ja/docusaurus-plugin-content-docs/version-21/assets/en/API/webformClass-pic2.png differ
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/assets/en/API/webformClass-pic3.png b/i18n/ja/docusaurus-plugin-content-docs/version-21/assets/en/API/webformClass-pic3.png
new file mode 100644
index 00000000000000..9c128642916f95
Binary files /dev/null and b/i18n/ja/docusaurus-plugin-content-docs/version-21/assets/en/API/webformClass-pic3.png differ
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/assets/en/commands/web-event1.png b/i18n/ja/docusaurus-plugin-content-docs/version-21/assets/en/commands/web-event1.png
new file mode 100644
index 00000000000000..f31f769f39a37d
Binary files /dev/null and b/i18n/ja/docusaurus-plugin-content-docs/version-21/assets/en/commands/web-event1.png differ
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/assets/en/commands/web-event2.png b/i18n/ja/docusaurus-plugin-content-docs/version-21/assets/en/commands/web-event2.png
new file mode 100644
index 00000000000000..8e3e2e7c50ca69
Binary files /dev/null and b/i18n/ja/docusaurus-plugin-content-docs/version-21/assets/en/commands/web-event2.png differ
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/assets/en/commands/web-event3.png b/i18n/ja/docusaurus-plugin-content-docs/version-21/assets/en/commands/web-event3.png
new file mode 100644
index 00000000000000..d7182a677d75a3
Binary files /dev/null and b/i18n/ja/docusaurus-plugin-content-docs/version-21/assets/en/commands/web-event3.png differ
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/assets/en/commands/web-event4.png b/i18n/ja/docusaurus-plugin-content-docs/version-21/assets/en/commands/web-event4.png
new file mode 100644
index 00000000000000..3dee994804d176
Binary files /dev/null and b/i18n/ja/docusaurus-plugin-content-docs/version-21/assets/en/commands/web-event4.png differ
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/commands-legacy/get-database-parameter.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/commands-legacy/get-database-parameter.md
index 560a5127fd9c6c..72a44938ecd316 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21/commands-legacy/get-database-parameter.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/commands-legacy/get-database-parameter.md
@@ -22,6 +22,36 @@ displayed_sidebar: docs
*selector* 引数には、知りたいパラメーターを指定します。4Dは*Database Parameters* テーマで、定義済み定数を提供しています:
+### 4D Remote mode timeout (14)
+
+**スコープ**(旧式ネットワークレイヤーのみ): *value* が正数の場合4D アプリケーション
+
+**2セッション間で設定を保持**: *value* が正数の場合Yes
+
+**説明**: 非常に特殊な場合においてのみ使用されるべき定数です。この引数を使用して、4D Serverに接続したリモートの4Dマシンが参照するタイムアウト値を設定できます。リモートモードの4Dが使用するデフォルトのタイムアウト値は、リモートマシン上の環境設定の“クライアント-サーバ/設定”ページで設定されます。
+
+4D Remote Mode Timeout セレクターは旧式ネットワークレイヤーを使用している場合のみ考慮されます。*ServerNet* レイヤーが有効化されている場合には無視されます。この設定は4D Server Timeout (13) によって完全に管理されています。
+
+
+
+
+### 4D Server log recording (28)
+
+**Thread-safe** : Yes
+
+**Scope**: 4D Server, 4D リモート
+
+**2セッション間で設定を保持**: No**
+
+とりうる値**: 0 または 1 から X (0 = 記録しない, 1 から X = ファイル名に付加するシーケンス値)。
+
+: 4D Serverが受け取る標準的なリクエスト(Webリクエストを除く)の記録を開始または停止します。デフォルト値は0(リクエストを記録しない)です。
+
+サーバマシンが受信した各リクエストをログファイルに記録するよう、4D Serverに指示することができます。このメカニズムが有効になると、データベースストラクチャと同じ階層に2つのログファイルが作成されます。サーバー側では*4DRequestsLogServer\_X*.txt および *4DRequestsLog\_ProcessInfoServer\_X*.txt 、リモート側では*4DRequestsLog\_X*.txt および *4DRequestsLog\_ProcessInfo\_X*.txt on the と名付けられたファイルが作成されます(Xはログのシーケンシャル番号)。ファイルサイズが10MBに達するとそのファイルは閉じられ、インクリメントしたシーケンス番号を使用して新しいファイルが作成されます。もし同じ名前のファイルが存在する場合は置き換えられます。シーケンシャル番号の開始番号を、*value*引数を使用して指定できます。このテキストファイルにはそれぞれのリクエストに関する様々な情報(時間、プロセス番号、ユーザ、リクエストサイズ、処理時間など)がシンプルな表形式のフォーマットで保存されます。4DRequestLog ファイルのより詳細な情報については、*ログファイルの詳細* の章を参照してください。
+
+
+
+
### 4D Server timeout (13)
**スコープ**: *value* が正数なら4Dアプリケーション
@@ -42,53 +72,76 @@ displayed_sidebar: docs
-### 4D Remote mode timeout (14)
-**スコープ**(旧式ネットワークレイヤーのみ): *value* が正数の場合4D アプリケーション
+### Auto synchro resources folder (48)
-**2セッション間で設定を保持**: *value* が正数の場合Yes
+**スコープ**:4D リモートマシン
-**説明**: 非常に特殊な場合においてのみ使用されるべき定数です。この引数を使用して、4D Serverに接続したリモートの4Dマシンが参照するタイムアウト値を設定できます。リモートモードの4Dが使用するデフォルトのタイムアウト値は、リモートマシン上の環境設定の“クライアント-サーバ/設定”ページで設定されます。
+ **2セッション間で設定を保持**: No
-4D Remote Mode Timeout セレクターは旧式ネットワークレイヤーを使用している場合のみ考慮されます。*ServerNet* レイヤーが有効化されている場合には無視されます。この設定は4D Server Timeout (13) によって完全に管理されています。
+ **とりうる値**: 0 (同期しない), 1 (自動同期) または2 (確認する).
+
+**説明**: このコマンドを実行する4DクライアントマシンのResourcesフォルダの動的な同期モード。
+サーバ上のResourcesフォルダの内容が更新されたり、(リソースエクスプローラや SET DATABASE LOCALIZATION コマンドで) ユーザが同期をリクエストすると、サーバは接続されたユーザに通知を行います。
+クライアント側では3つの同期モードを選択できます。Auto Synchro Resources Folderセレクタはカレントセッションでクライアントマシンが使用するモードを指定できます:
-### Port ID (15)
+0 (デフォルト値): 動的な同期を行わない (同期リクエストは無視される)1: 自動の動的同期2: クライアントマシンにダイアログを表示し、同期の受け入れ回避を確認するアプリケーションの環境設定で、同期モードをグローバルに設定できます。
-**スコープ**: 4D ローカル, 4D Server
-**2セッション間で設定を保持**: No
-**説明**: Command SET DATABASE この引数を使用して、ローカルモードの4Dおよび4D Serverによる4D Webサーバが使用するTCPポートをオンザフライで変更することができます。デフォルト値は80で、この値は環境設定ダイアログボックスの“Web/設定”ページで設定できます。*TCP Port Numbers*テーマの定数を*value*引数に使用できます。
+### Cache flush periodicity (95)
+**Thread-safe** : Yes
-Port IDセレクタは、コンパイルして4D Desktopを組み込んだ4D Webサーバで役立ちます(この場合、デザインモードへのアクセス手段がありません)。TCPポートIDに関する詳細は*Webサーバー設定*を参照してください。
+**スコープ**: 4Dローカル、4D Server
+**異なるセッション間で値を保持**: No
-### Character set (17)
+**取りうる値**: 倍長整数 > 1 (秒)
-**説明**: 廃止 (互換性のために保持)。HTTPサーバー設定を変更するためには[WEB SET OPTION](web-set-option.md)と[WEB GET OPTION](web-get-option.md)コマンドを使用してください。
+**詳細**: 秒単位で指定された、キャッシュ保存頻度を取得あるいは設定します。この値を変更すると、データベース設定の[XML DECODE](xml-decode.md)内の**キャッシュを保存: X秒毎**オプションをセッション中の間上書きします(これはデータベース設定には保存されません)。
-### Max concurrent Web processes (18)
+
+### Cache unload minimum size (66)
+
+**スコープ**:4Dアプリケーション
+
+ **2セッション間で設定を保持**: No
+
+ **とりうる値**: 1より大きい正の倍長整数
+
+**説明**: エンジンがオブジェクトをデータベースキャッシュに配置する際に空き空間を作成する必要が出た場合、データベースキャッシュからリリースするメモリの最小サイズ (バイト単位)。
+
+このセレクタの目的はキャッシュからデータをリリースする時間を減らし、よりパフォーマンスを得ることにあります。キャッシュのサイズやデータベース中で処理されるデータのブロックサイズに応じてこの値を変更できます。
+
+このセレクタが使用されないとデフォルトで、4Dは空間が必要になった時最低10%のキャッシュをアンロードします。
+
+
+
+
+### Character set (17)
**説明**: 廃止 (互換性のために保持)。HTTPサーバー設定を変更するためには[WEB SET OPTION](web-set-option.md)と[WEB GET OPTION](web-get-option.md)コマンドを使用してください。
-### Client port ID (22)
-**スコープ**: すべての4Dリモートマシン
+### Circular log limitation (90)
- **2セッション間で設定を保持**: Yes
+**Thread-safe** : Yes
- **とりうる値**: セレクタ15参照
+**スコープ**: 4Dローカル、4D Server **異なるセッション間で値を保持**: No**
+
+取りうる値**: 任意の整数値、0 = 全てのログを保持**
+
+詳細**: 各タイプのロゴのローテーションに保存するファイル数の最大値。デフォルトでは、直近の50 ファイルが保持されます。*X* という値を渡した場合、直近の*X* 個のファイルのみが保持され、最も古いファイルは新しいファイルが作成されたときに自動的に削除されます。この設定は全てのログファイルに対して適用されます:リクエストログ(セレクター28と45)、デバッグログ(セレクター34)、イベントログ(セレクター79)、Web ログ([WEB SET OPTION](web-set-option.md)コマンドのセレクター29と84)、などです。
-**説明**: このセレクタを使用して、Webサーバとして使用する4Dクライアントマシンの動作パラメタを指定できます。これらのセレクタを用いて指定された値は、 Webサーバとして使用するすべての4D Clientマシンに対して適用されます。特定の4D Clientマシンに対してのみ値を指定したい場合には、4D Clientの環境設定ダイアログボックスを使用してください。
@@ -104,6 +157,43 @@ Port IDセレクタは、コンパイルして4D Desktopを組み込んだ4D Web
+
+### Client HTTPS port ID (40)
+
+**スコープ**:すべての4Dリモートマシン
+
+ **2セッション間で設定を保持**: Yes
+
+ **とりうる値**: 0 ~ 65535
+
+**説明**: このセレクタは、クライアントマシンのWebサーバがSSLによるセキュアな接続(HTTPSプロトコル)で使用するTCP ポート番号を、プログラムで変更するために使用できます。デフォルトの値は443(標準ポート番号)です。
+
+このセレクタの動作はセレクタ39と同じですが、Web サーバとして使用されるすべてのクライアントマシンに適用されます。特定のクライアントマシンの設定だけを変更するのであれば、4Dリモートの環境設定ダイアログ画面を使用してください。
+
+
+
+
+### Client log recording (45)
+
+**スコープ**: リモート4Dマシン
+
+2セッション間で設定を保持: No
+
+**とりうる値**: 0 または 1 から X (0 = 記録しない, 1 から X = ファイル名に付加するシーケンス値)。
+
+**説明**: コマンドを実行した4Dクライアントマシンが実行した標準的なリクエスト(Webリクエストを除く)の記録を開始または停止します。デフォルト値は0(リクエストを記録しない)です。
+
+
+
+クライアントマシンが実行したリクエストをログファイルに記録するよう、4Dに指示することができます。このメカニズムが有効になると、クライアントマシンのデータベースのローカルフォルダ内、Logsサブフォルダに2つのログファイルが作成されます。ファイルには"4DRequestsLog\_X.txt"と"4DRequestsLog\_ProcessInfo\_X.txt"(Xはログのシーケンシャル番号)の名前が付けられます。4DRequestsLogファイルサイズが10MBに達するとそのファイルは閉じられ、インクリメントしたシーケンス番号を使用して新しいファイルが作成されます。もし同じ名前のファイルが存在する場合は置き換えられます。シーケンシャル番号の開始番号を、value引数を使用して指定できます。
+
+
+
+このテキストファイルにはそれぞれのリクエストに関する様々な情報(時間、プロセス番号、リクエストサイズ、処理時間など)がシンプルな表形式のフォーマットで保存されます。4DRequestsLogについての詳細な情報については、*ログファイルの詳細* の章を参照してください。
+
+
+
+
### Client max concurrent Web proc (25)
**スコープ**: すべての4Dリモートマシン
@@ -116,25 +206,42 @@ Port IDセレクタは、コンパイルして4D Desktopを組み込んだ4D Web
-### Maximum Web requests size (27)
-**説明**: 廃止 (互換性のために保持)。HTTPサーバー設定を変更するためには[WEB SET OPTION](web-set-option.md)と[WEB GET OPTION](web-get-option.md)コマンドを使用してください。
+### Client port ID (22)
+**スコープ**: すべての4Dリモートマシン
+ **2セッション間で設定を保持**: Yes
-### 4D Server log recording (28)
+ **とりうる値**: セレクタ15参照
-**Thread-safe** : Yes
+**説明**: このセレクタを使用して、Webサーバとして使用する4Dクライアントマシンの動作パラメタを指定できます。これらのセレクタを用いて指定された値は、 Webサーバとして使用するすべての4D Clientマシンに対して適用されます。特定の4D Clientマシンに対してのみ値を指定したい場合には、4D Clientの環境設定ダイアログボックスを使用してください。
-**Scope**: 4D Server, 4D リモート
-**2セッション間で設定を保持**: No**
-とりうる値**: 0 または 1 から X (0 = 記録しない, 1 から X = ファイル名に付加するシーケンス値)。
-: 4D Serverが受け取る標準的なリクエスト(Webリクエストを除く)の記録を開始または停止します。デフォルト値は0(リクエストを記録しない)です。
+### Client Server port ID (35)
+
+**スコープ**:データベース
+
+ **2セッション間で設定を保持**: Yes
+
+ **とりうる値**: 0~65535
+
+**説明**: 4D Server が(4D Client に対して)データベースを公開するために使用されるTCPポート番号をプログラムで変更するために使用します。デフォルト値は19813 です。
+
+
+
+この値を変更すれば、TCPプロトコルを使用して、複数の4D クライアント/サーバアプリケーションを同じマシンで同時に使用することができます。その場合、それぞれのアプリケーションごとに異なるポート番号を設定します。
+
+
+
+公開ポート番号は、ストラクチャファイルに記録されています。ローカルモードの4Dで設定することもできますが、クライアント/サーバ環境でのみ考慮されます。
+
+
+
+値を変更した場合、新しい設定が有効になるためには、アプリケーションを再起動する必要があります。
-サーバマシンが受信した各リクエストをログファイルに記録するよう、4D Serverに指示することができます。このメカニズムが有効になると、データベースストラクチャと同じ階層に2つのログファイルが作成されます。サーバー側では*4DRequestsLogServer\_X*.txt および *4DRequestsLog\_ProcessInfoServer\_X*.txt 、リモート側では*4DRequestsLog\_X*.txt および *4DRequestsLog\_ProcessInfo\_X*.txt on the と名付けられたファイルが作成されます(Xはログのシーケンシャル番号)。ファイルサイズが10MBに達するとそのファイルは閉じられ、インクリメントしたシーケンス番号を使用して新しいファイルが作成されます。もし同じ名前のファイルが存在する場合は置き換えられます。シーケンシャル番号の開始番号を、*value*引数を使用して指定できます。このテキストファイルにはそれぞれのリクエストに関する様々な情報(時間、プロセス番号、ユーザ、リクエストサイズ、処理時間など)がシンプルな表形式のフォーマットで保存されます。4DRequestLog ファイルのより詳細な情報については、*ログファイルの詳細* の章を参照してください。
@@ -154,19 +261,36 @@ Port IDセレクタは、コンパイルして4D Desktopを組み込んだ4D Web
-### Table sequence number (31)
-**スコープ**:4D アプリケーション
+### Current process debug log recording (111)
- **2セッション間で設定を保持**: Yes
+**スコープ:** 4D アプリケーション
- **とりうる値**: 任意の倍長整数値
+**異なるセッション間で値を保持:** No
-**説明**: Command SET DATABASE PARAMETERこのセレクタは、引数に渡したテーブルのレコードの、カレントのユニーク番号を取得あるいは設定するために使用します。“カレントの数値”とは“最後に使用された数値”を意味します。[SET DATABASE PARAMETER](set-database-parameter.md "SET DATABASE PARAMETER")コマンドを使用してこの値を変更すると、渡された値+1の番号を使用して次のレコードが作成されます。この新しい番号は、[Sequence number](sequence-number.md "Sequence number")コマンドによって返される、さらにはストラクチャエディタやSQLで自動インクリメントが設定されたフィールドに返される番号です。
+**詳細**: **カレントプロセスにおける**プログラミングイベントの、別のログファイルへのシーケンシャルな記録を開始または停止します。このログはDebug log recording (セレクター34)に似ていますが、こちらはカレントプロセスにのみを対象とします。ログファイル名はアルファベットの"p"とプロセス番号を含みます: 4DDebugLog\[\_p*N*_*n*].txt ここでのNはプロセスの固有のIDです。
+このフォーマットと*4DDebugLog* ファイルの使用についての詳細な情報については、デザインリファレンスの*ログファイルの詳細* を参照してください。
+**注:** このセレクターはデバッグ目的のためだけに提供されており、使用する際には注意が必要です。特に、アプリケーションのパフォーマンスに影響しうるため、製品で使用してはいけません。 Debug log recording および Current process debug log recording セレクターは同時に併用することができ、その場合にはメインのログファイルにはカレントプロセスのアクションは記録されません。
+
+
+
+
+### Dates inside objects (85)
+
+スコープ: カレントプロセス
+
+ 2セッション間で設定を保持: No
+
+ **取り得る値**: String type without time zone (0), String type with time zone (1), Date type (2) (デフォルト)
+
+**説明**: 日付がオブジェクトにどのように保存されるかを定義するとともに、どのようにJSON に読み込み/書き出しされるかも定義します。
+
+セレクターの値がDate type (4D v17以降で作成されたデータベースにおけるデフォルト)のとき、4D 日付はオブジェクト内で日付型として保存され、ローカルの日付設定に準拠します。JSON フォーマットに変換された時、日付属性は、時間を含まない文字列へと変換されます(**注:** この設定は、データベース設定のにある"オブジェクト内ではISO日付フォーマットの代わりに日付型を使用"オプションによって設定することができます)。
+
+セレクターにを渡した場合、4D 日付はローカルなタイムゾーンを考慮に入れつつISO 文字列に変換されます。例えば、例えば、23/08/2013という日付の変 換を、フランスのサマータイム(GMT+2)にて実行した場合、JSONフォーマットの"2013-08-22T22:00:00Z"という結 果が返されます。この原理はJavaScriptの標準のオペレーションに従うものです。これは異なるタイムゾーンにいる人にJSON日付の値を 送る場合には、エラーの原因となりかねません。例えば、[Selection to JSON](selection-to-json.md)を使ってフランスでエクスポートされたテーブルを[JSON TO SELECTION](json-to-selection.md) を使用してアメリカで再インポートする、というような場合です。日付の値は、デフォルトではそれぞれのタイムゾーンにおいて再変換 されるため、データベース内に保存された値は異なってしまいます。こういった場合には、このセレクターにString type without time zoneを渡す事によって、タイムゾーンを考慮しないよ うに日付の変換モードを変更することができます。すると、23/08/2013という日付を変換した場合に は、"2013-08-23T00:00:00Z"という値を返すようになります。
-デフォルトで、この固有の番号は4Dが設定し、レコードの作成順に対応します。詳細は[Sequence number](sequence-number.md "Sequence number")コマンドのドキュメントを参照してください。
@@ -218,486 +342,431 @@ SET DATABASE PARAMETER (34;0) // ファイルを無効化
-### Client Server port ID (35)
-**スコープ**:データベース
+### Diagnostic log level (86)
- **2セッション間で設定を保持**: Yes
+**Thread-safe** : Yes
- **とりうる値**: 0~65535
+**スコープ:** 4D アプリケーション**
-**説明**: 4D Server が(4D Client に対して)データベースを公開するために使用されるTCPポート番号をプログラムで変更するために使用します。デフォルト値は19813 です。
+** **異なるセッション間で設定を保持:** No**
+** **説明:** 診断ログが有効化された際に、そこに含まれるメッセージのレベル(Diagnostic log recording セレクターを参照)。各レベルは診断メッセージのカテゴリを指定し、それより重要なカテゴリのメッセージも自動的に含まれます。カテゴリの詳細については、*developer.4d.com* 上の*Diagnostic log levels* の章を参照してください。
+ **取りうる値:** 以下の定数のいづれか(デフォルトは Log info ): Log trace: ERROR、WARN、INFO、DEBUG、TRACE を有効化します(最も詳細なレベル) Log debug: ERROR、WARN、INFO、DEBUG を有効化します Log info: ERROR、WARN、INFO を有効化します(デフォルト) Log warn: ERROR、WARN を有効化します Log error: ERROR を有効化します(最も簡略なレベル)
-この値を変更すれば、TCPプロトコルを使用して、複数の4D クライアント/サーバアプリケーションを同じマシンで同時に使用することができます。その場合、それぞれのアプリケーションごとに異なるポート番号を設定します。
-公開ポート番号は、ストラクチャファイルに記録されています。ローカルモードの4Dで設定することもできますが、クライアント/サーバ環境でのみ考慮されます。
+### Diagnostic log recording (79)
+**Thread-safe** : Yes
+**スコープ**: 4Dアプリケーション
-値を変更した場合、新しい設定が有効になるためには、アプリケーションを再起動する必要があります。
+2セッション間で設定を保持: No
+取りうる値: 0 または 1 (0 = 記録しない, 1 = 記録する)
+: 4D診断ファイルの記録を開始または停止する。デフォルトの値は0(記録しない)です。
-### HTTPS Port ID (39)
+4Dは診断ファイルの中に内部的なアプリケーション処理に関連するイベントを継続的に記録することができます。このファイルに含まれる情報は4Dアプリケーション開発のために使用され、4D社の技術サポート担当により解析されます。このセレクターに1を渡すと、データベースの**Logs** フォルダ内に診断ファイルが自動的に作成されます(またはすでに存在する場合には開かれます)。ファイルには*4DDiagnosticLog\_X*.txt (あるいはサーバー側で生成された場合には *4DDiagnosticLogServer\_X*.txt) という名前が付けられます。このファイルのサイズが10MBに達するとそのファイルは閉じられ、DatabaseName\_N.txtが生成されます (Nは連番)。
-**説明**: 廃止 (互換性のために保持)。HTTPサーバー設定を変更するためには[WEB SET OPTION](web-set-option.md)と[WEB GET OPTION](web-get-option.md)コマンドを使用してください。
+[LOG EVENT](log-event.md)コマンドを使用してカスタム情報をこのファイルに書き込むこともできます。
-### Client HTTPS port ID (40)
-**スコープ**:すべての4Dリモートマシン
+### Direct2D get active status (74)
- **2セッション間で設定を保持**: Yes
+**注:** このセレクターは[Get database parameter](get-database-parameter.md)コマンドでのみ使用することができ、設定することはできません。
- **とりうる値**: 0 ~ 65535
+説明: WindowsにおいてDirect2Dのアクティブな実装を返します。
-**説明**: このセレクタは、クライアントマシンのWebサーバがSSLによるセキュアな接続(HTTPSプロトコル)で使用するTCP ポート番号を、プログラムで変更するために使用できます。デフォルトの値は443(標準ポート番号)です。
+取りうる値: 0, 1, 2, 3, 4 または 5 (セレクター69の値参照)。返される値はDirect2Dが利用可能かどうか、およびハードウェア、OSによってサポートされるDirec2Dの品質に基づきます。
-このセレクタの動作はセレクタ39と同じですが、Web サーバとして使用されるすべてのクライアントマシンに適用されます。特定のクライアントマシンの設定だけを変更するのであれば、4Dリモートの環境設定ダイアログ画面を使用してください。
+例えば以下のコードを実行した場合、
-### SQL Autocommit (43)
+ SET DATABASE PARAMETER(Direct2D status;Direct2D Hardware) $mode:=Get database parameter(Direct2D get active status)
-**スコープ**:データベース
- **2セッション間で設定を保持**: Yes
- **とりうる値**: 0 (無効) または 1 (有効)
+- Windows 7以降、システムがDirect2D互換のハードウェアを検知すると、$modeに1が設定されます。そうでなければ$modeは3に設定されます (ソフトウェアコンテキスト)。
-**説明**: SQLの自動コミットモードを有効または無効にするために使用します。デフォルトは 0 (無効モード) です。
+- Windows Vistaでは、システムがDirect2D互換のハードウェアを検知すると、$modeに1が設定されます。そうでなければ$modeは0に設定されます (Direct2D無効)。
+- Windows XPでは、$modeは常に0です (Direct2D非互換)。
-自動コミットモードは、データベースの参照整合性を強化するために使用されます。このモードが有効の時、すべての*SELECT*, INSERT, *UPDATE* そして *DELETE* (SIUD) クエリは、これらがトランザクション内で実行されていない場合、自動でアドホックなトランザクションに含められます。このモードはデータベースの環境設定でも設定できます。
+### Direct2D status (69)
-### SQL Engine case sensitivity (44)
+**スコープ*: 4Dアプリケーション*
-**スコープ**: データベース**
+ *(Direct2D Software) のみが許可されます。*
-2セッション間で設定を保持**: Yes**
-とりうる値**: 0 (大文字小文字を区別しない) または 1 (区別する)
-: SQLエンジンが文字列比較を行う際に、大文字と小文字の違いを考慮させるかどうかを設定します。 デフォルトで値は1 (大文字小文字を区別する) です。SQLエンジンは文字列比較 (並び替えやクエリ) の際に大文字と小文字とアクセント付き文字を異なる文字として扱います。例えば“ABC”= “ABC”ですが“ABC” # “Abc”であり、"abc" # "âbc"です。SQLエンジンと4Dエンジンの動作をそろえたいなど特定の場合では、大文字と小文字を区別しない文字列比較 (“ABC”=“Abc"="âbc") を使用できます。
-**警告:* このオプションはデータベースのストラクチャーファイルと全てのプロセスを変更するため、パフォーマンス上の観点から、データベースのスタートアップ時にのみ設定することが強く推奨されます。*
+### HTTP compression level (50)
+**説明**: 廃止 (互換性のために保持)。HTTPサーバー設定を変更するためには[WEB SET OPTION](web-set-option.md)と[WEB GET OPTION](web-get-option.md)コマンドを使用してください。
-このオプションはアプリケーション環境設定の[CALL SUBFORM CONTAINER](call-subform-container.md) で設定できます。
+### HTTP compression threshold (51)
-### Client log recording (45)
+**説明**: 廃止 (互換性のために保持)。HTTPサーバー設定を変更するためには[WEB SET OPTION](web-set-option.md)と[WEB GET OPTION](web-get-option.md)コマンドを使用してください。
-**スコープ**: リモート4Dマシン
-2セッション間で設定を保持: No
-**とりうる値**: 0 または 1 から X (0 = 記録しない, 1 から X = ファイル名に付加するシーケンス値)。
-**説明**: コマンドを実行した4Dクライアントマシンが実行した標準的なリクエスト(Webリクエストを除く)の記録を開始または停止します。デフォルト値は0(リクエストを記録しない)です。
+### HTTPS Port ID (39)
+**説明**: 廃止 (互換性のために保持)。HTTPサーバー設定を変更するためには[WEB SET OPTION](web-set-option.md)と[WEB GET OPTION](web-get-option.md)コマンドを使用してください。
-クライアントマシンが実行したリクエストをログファイルに記録するよう、4Dに指示することができます。このメカニズムが有効になると、クライアントマシンのデータベースのローカルフォルダ内、Logsサブフォルダに2つのログファイルが作成されます。ファイルには"4DRequestsLog\_X.txt"と"4DRequestsLog\_ProcessInfo\_X.txt"(Xはログのシーケンシャル番号)の名前が付けられます。4DRequestsLogファイルサイズが10MBに達するとそのファイルは閉じられ、インクリメントしたシーケンス番号を使用して新しいファイルが作成されます。もし同じ名前のファイルが存在する場合は置き換えられます。シーケンシャル番号の開始番号を、value引数を使用して指定できます。
+### Idle connections timeout (54)
-このテキストファイルにはそれぞれのリクエストに関する様々な情報(時間、プロセス番号、リクエストサイズ、処理時間など)がシンプルな表形式のフォーマットで保存されます。4DRequestsLogについての詳細な情報については、*ログファイルの詳細* の章を参照してください。
-
-
-
-### Query by formula on server (46)
-
-**スコープ**: カレントテーブルおよびプロセス
-
- **2セッション間で設定を保持**: No
-
- **とりうる値**: 0 (データベース設定を使用), 1 (クライアント上で実行) または 2 (サーバ上で実行)
-
-**説明**: 引数に渡された*table*に対して実行される[QUERY BY FORMULA](query-by-formula.md "QUERY BY FORMULA")や[QUERY SELECTION BY FORMULA](query-selection-by-formula.md "QUERY SELECTION BY FORMULA")コマンドの実行場所。
+**スコープ**: 値が負数でないなら4Dアプリケーション
-クライアント/サーバモードでデータベースを使用するとき、フォーミュラを使用したクエリをサーバ上またはクライアント上で実行させることができます:
+**2セッション間で設定を保持**: No
-4D v11 SQLで作成されたデータベースでは、これらのコマンドはサーバ上で実行されます。変換されたデータベースでは、これらのコマンドは、以前のバージョンの4Dと同様、クライアントマシン上で実行されます。変換されたデータベースでは、環境設定のアプリケーション/互換性ページで、これらのコマンドの実行場所をグローバルに変更できます。この実行場所の違いは、アプリケーションのパフォーマンス (通常サーバ上で実行したほうが早い) だけでなく、プログラミングにも影響します。実際フォーミュラの部品の値 (特にメソッドから呼ばれる変数) は、実行コンテキストにより異なります。このセレクタを使用して開発者は、アプリケーションの動作を適応させられます。
+**とりうる値**: 持続時間を秒で表す値。値は正数 (新規接続) または負数 (既存の接続)をとることができます。デフォルト値は20です。
-*value* 引数に0を渡すと、フォーミュラを使用するクエリの実行場所は、データベースの設定に基づきます: 4D v11 SQLで作成されたデータベースでは、これらのコマンドはサーバ上で実行されます。変換されたデータベースでは、データベース環境設定に基づき、クライアントマシンまたはサーバマシンで実行されます。*value*に1または2を渡すと、これらのコマンドの実行場所をクライアントマシンまたはサーバマシンに強制できます。
+**説明**: この引数を使用して、4DデータベースエンジンとSQLエンジン両方への動きのない接続の最大時間 (タイムアウト) を設定できます。また*ServerNet* (新しいネットワークレイヤー)モードにおいては4Dアプリケーションサーバーへの接続のタイムアウトも設定します。
-例題2を参照してください。
-**Note:** "SQLタイプ"のJOINを有効にしたい場合 (QUERY BY FORMULA Joins (49) セレクタ参照) は、フォーミュラがレコードにアクセスすることができるよう、常にフォーミュラをサーバ上で実行しなければなりません。このコンテキストでは、フォーミュラはいかなるメソッド呼び出しも含んではいけないことに注意してください。そうでない場合、自動でリモートマシンでの実行に切り替わります。
+動作していない接続がこの制限時間に達すると、接続は自動でスタンバイ状態に置かれます。つまりクライアント/サーバセッションがフリーズされ、ネットワー クソケットが閉じられます。サーバー管理ウィンドウでは、ユーザープロセスの状態は"延期"と表示されます。この動作はユーザに対し完全に透過的です。スタンバイ状態の接続でリクエストが開始されると、ソケットが自動で再び開かれ、クライアント/サーバセッションが再び有効になります。
-### Order by formula on server (47)
-**スコープ**:カレントテーブルおよびプロセス
+この設定によりサーバのリソースを節約できます。スタンバイ状態の接続はソケットを 閉じ、サーバ上のプロセスを解放します。他方これにより、ファイアウォールがアイドルなソケットを閉じてしまうことに伴い接続が失われることを避けること ができます。このためには、アイドル接続のタイムアウト値はファイアウォールのタイムアウト値よりも小さくなくてはなりません。
- **2セッション間で設定を保持**: No
- **とりうる値**: 0 (データベース設定を使用), 1 (クライアント上で実行) または 2 (サーバ上で実行)
-**説明**: 引数に渡されたtableに対して実行される[ORDER BY FORMULA](order-by-formula.md "ORDER BY FORMULA")コマンドの実行場所。
+*value*に正数を渡すと、設定はすべてのプロセスのすべての新規接続に適用されます。負数を渡すと、設定はカレントプロセスの開かれた接続に適用されます。0を渡すと、アイドル接続のタイムアウトは行われません。
-クライアント/サーバモードでデータベースを使用するとき、[ORDER BY FORMULA](order-by-formula.md "ORDER BY FORMULA")コマンドをサーバ上またはクライアント上で実行させることができます。このセレクタを使用して、このコマンドの実行場所 (サーバまたはクライアント) を指定できます。このモードはデータベース環境設定でも設定できます。詳細はセレクタ46、Query By Formula On Serverの説明を参照してください。
+このパラメターはクライアント側で設定する必要があります。通常この値を変更する必要はありません。
-**Note:** "SQLタイプ"のJOINを有効にしたい場合 (QUERY BY FORMULA Joins (49) セレクタ参照) は、フォーミュラがレコードにアクセスすることができるよう、常にフォーミュラをサーバ上で実行しなければなりません。このコンテキストでは、フォーミュ ラはいかなるメソッド呼び出しも含んではいけないことに注意してください。そうでない場合、自動でリモートマシンでの実行に切り替わります。
-### Auto synchro resources folder (48)
+### IMAP Log (119)
-**スコープ**:4D リモートマシン
+**Thread-safe** : Yes
- **2セッション間で設定を保持**: No
+**スコープ**: 4D ローカル、4D Server
- **とりうる値**: 0 (同期しない), 1 (自動同期) または2 (確認する).
+**異なるセッション間で値を保持**: No
-**説明**: このコマンドを実行する4DクライアントマシンのResourcesフォルダの動的な同期モード。
+**取りうる値**: 0 または1 から X(0= 記録しない、1からX= シーケンシャル番号、ファイル名に追加される)。デフォルトでは値は0 です(IMAP の交換は記録されない)。
-サーバ上のResourcesフォルダの内容が更新されたり、(リソースエクスプローラや SET DATABASE LOCALIZATION コマンドで) ユーザが同期をリクエストすると、サーバは接続されたユーザに通知を行います。
+**詳細**: transporter オブジェクトが*IMAP\_transporter.getMail( )* または *IMAP\_transporter.checkConnection( )* で処理される際の4D とIMAP サーバーとの間の通信記録を開始または停止します。デフォルトでは、値は0です(通信は記録されません)。この機構が有効化されている場合、ログファイルがデータベースのLogフォルダに作成されます。ファイルは4DIMAPLog\_X.txt と名前がつけられ、このX はログのシーケンシャル番号です。ファイルのサイズが10MB に到達すると、ファイルは閉じられ、インクリメントされたシーケンシャル番号を持った新しいファイルが生成されます。同じ名前のファイルが既に存在する場合、それは直接置き換えられます。value 引数を使用するとシーケンス番号の開始番号を設定することができます。デフォルトで、全てのファイルは保持されますが、Circular log limitation 引数を使用することで保持するファイルの数をコントロールすることができます。
-クライアント側では3つの同期モードを選択できます。Auto Synchro Resources Folderセレクタはカレントセッションでクライアントマシンが使用するモードを指定できます:
+ファイルの詳細については、*ログファイルの詳細* の章を参照してください。
-0 (デフォルト値): 動的な同期を行わない (同期リクエストは無視される)1: 自動の動的同期2: クライアントマシンにダイアログを表示し、同期の受け入れ回避を確認するアプリケーションの環境設定で、同期モードをグローバルに設定できます。
-### Query by formula joins (49)
+### Is current database a project (112)
-**スコープ**:カレントプロセス
+**注:** このセレクターは[Get database parameter](get-database-parameter.md) コマンドでのみ使用可能で、その値を設定することはできません。
- **2セッション間で設定を保持**: No
+: 4D アプリケーション**
- **とりうる値**: 0 (データベース設定を使用), 1 (常に自動リレーションを使用) または 2 (可能ならSQL JOINを使用)
+詳細**: カレントのデータベースアーキテクチャーがプロジェクトモードなら1を、それ以外の場合には0を返します。詳細な情報については、*データベースのプロジェクトモードとバイナリーモード* の章を参照してください。
-**説明**: "SQL JOIN"の利用に関連する、[QUERY BY FORMULA](query-by-formula.md "QUERY BY FORMULA")と[QUERY SELECTION BY FORMULA](query-selection-by-formula.md "QUERY SELECTION BY FORMULA")コマンドの動作モード。
-4D v11 SQLのバージョン11.2以降で作成されたデータベースでは、これらのコマンドはSQL JOINモデルに基づくJOINを実行します。このメカニズムを使用して、(以前のバージョンでは必要な条件だった) 自動リレーションで接続されていない他のテーブルに対して実行されたクエリに基づき、テーブルのセレクションを変更できます。
-QUERY BY FORMULA Joinsセレクタで、カレントプロセスの、フォーミュラによるクエリの動作モードを指定できます:
-0: データベースの現在の設定を使用する (デフォルト値)。4D v11 SQLのバージョン11.2以降で作成されたデータベースでは、"SQL JOIN"はフォーミュラによるクエリに対し常に有効です。変換されたデータベースでは、互換性のためデフォルトでこのメカニズムは有効になっていません。しかし環境設定で実装できます。1: 常に自動リレーションを使用 (= 以前のバージョンの4Dの動作)。このモードでは、他のテーブルに対して行われたクエリに基づきテーブルのセレクションを作成するためには、リレーションが必要です。4Dは"SQL JOIN"を行いません。2: 可能であればSQL JOINを使用 (= 4D v11 SQLのバージョン11.2以降で作成されたデータベースのデフォルト動作)。このモードでは、フォーミュラが適合する限り、4Dはフォーミュラによるクエリに"SQL JOIN"を使用します (2つの例外があります。[QUERY BY FORMULA](query-by-formula.md "QUERY BY FORMULA")や[QUERY SELECTION BY FORMULA](query-selection-by-formula.md "QUERY SELECTION BY FORMULA") コマンドの説明を参照)。**Note:** 4Dのリモートモードにおいて、"SQL JOIN"はフォーミュラがサーバ上で実行されているときにのみ使用できます (レコードへのアクセスが必要なため)。フォーミュラの実行場所を設定するには、セレクタ46と47を参照してください。
+### Is host database a project (113)
+**注:** このセレクターは[Get database parameter](get-database-parameter.md) コマンドでのみ使用可能で、その値を設定することはできません。
+: 4D アプリケーション**
-### HTTP compression level (50)
+詳細**: ホストデータベースアーキテクチャーがプロジェクトモードなら1を、それ以外の場合には0を返します。詳細な情報については、*データベースのプロジェクトモードとバイナリーモード* の章を参照してください。
-**説明**: 廃止 (互換性のために保持)。HTTPサーバー設定を変更するためには[WEB SET OPTION](web-set-option.md)と[WEB GET OPTION](web-get-option.md)コマンドを使用してください。
-### HTTP compression threshold (51)
+### Is host database writable (117)
-**説明**: 廃止 (互換性のために保持)。HTTPサーバー設定を変更するためには[WEB SET OPTION](web-set-option.md)と[WEB GET OPTION](web-get-option.md)コマンドを使用してください。
+**注:** このセレクターは[Get database parameter](get-database-parameter.md) コマンドでしか使用できず、この値を設定することはできません。
+**スコープ**: 4D アプリケーション
+**詳細**: ホストのプロジェクトファイル/ストラクチャーが書き込み可能なら1を、読み出し専用なら0を返します。
-### Server base process stack size (53)
-**スコープ**: 4D Server
- 2セッション間で設定を保持: No
- **とりうる値**:正の倍長整数
+### Libldap version (114)
-**説明**: サーバ上のプリエンプティブシステムプロセス毎に割り当てるスタックのサイズ (バイト単位) です。デフォルトでの値はシステムによって決定されます。
+**スコープ**: カレント4D マシン
-プ リエンプティブシステムプロセスはメインの4D クライアントプロセスを制御するためにロードされます。デフォルトでそれぞれのプリエンプティブプロセスに割り当てられるサイズはおよその場合最適なサイ ズですが、何百ものプロセスが作成されるようなケースではこのサイズが適切かどうか検討する必要が出てくるかもしれません。
+**異なるセッション間で値を保持**: No
-データベースが実行する処理がそれを許す限り、最適化の目的でこのサイズを大幅に減らすことができます ( 例えばデータベースで大量のレコードの並び替えなどを行わない場合)。512 や256 KB でさえも設定可能です。スタックサイズを小さくしすぎることは致命的であり、4D Server の動作に害を及ぼすことになるので注意してください。このパラメタの設定は注意を持って行い、データベースの利用状況 (レコード数や行う処理など) を考慮しながら行わなければなりません。
+**詳細**: カレントマシン上の4D アプリケーション内のLDAP ライブラリーのバージョン番号を返します(読み出し専用)
-このパラメタの設定を行うには、*On Server Startupデータベースメソッド* などにおいてサーバ上でコマンドが実行されなければなりません。
-### Idle connections timeout (54)
+### Libsasl version (115)
-**スコープ**: 値が負数でないなら4Dアプリケーション
+**スコープ**: カレント4D マシン**
-**2セッション間で設定を保持**: No
+異なるセッション間で値を保持**: No**
-**とりうる値**: 持続時間を秒で表す値。値は正数 (新規接続) または負数 (既存の接続)をとることができます。デフォルト値は20です。
+詳細**: カレントマシン上の4D アプリケーション内のSASL ライブラリーのバージョン番号を返します(読み出し専用)
-**説明**: この引数を使用して、4DデータベースエンジンとSQLエンジン両方への動きのない接続の最大時間 (タイムアウト) を設定できます。また*ServerNet* (新しいネットワークレイヤー)モードにおいては4Dアプリケーションサーバーへの接続のタイムアウトも設定します。
-動作していない接続がこの制限時間に達すると、接続は自動でスタンバイ状態に置かれます。つまりクライアント/サーバセッションがフリーズされ、ネットワー クソケットが閉じられます。サーバー管理ウィンドウでは、ユーザープロセスの状態は"延期"と表示されます。この動作はユーザに対し完全に透過的です。スタンバイ状態の接続でリクエストが開始されると、ソケットが自動で再び開かれ、クライアント/サーバセッションが再び有効になります。
+### Libzip version (120)
+**スコープ:** カレントの4D マシン**
+2セッション間で設定を保持:** n/a**
-この設定によりサーバのリソースを節約できます。スタンバイ状態の接続はソケットを 閉じ、サーバ上のプロセスを解放します。他方これにより、ファイアウォールがアイドルなソケットを閉じてしまうことに伴い接続が失われることを避けること ができます。このためには、アイドル接続のタイムアウト値はファイアウォールのタイムアウト値よりも小さくなくてはなりません。
+説明:** カレントマシン上の4D アプリケーションのlibzip ライブラリのバージョン番号を返します(読み出し専用)
-*value*に正数を渡すと、設定はすべてのプロセスのすべての新規接続に適用されます。負数を渡すと、設定はカレントプロセスの開かれた接続に適用されます。0を渡すと、アイドル接続のタイムアウトは行われません。
+### Log command list (80)
+**スコープ**: 4D アプリケーション
-このパラメターはクライアント側で設定する必要があります。通常この値を変更する必要はありません。
+**2セッション間で設定を保持**: No
+**取りうる値**: 記録する4Dコマンドの番号リスト。型は文字列で各コマンド番号をセミコロンで区切ります。"all"を渡すとすべてのコマンドが記録され、"" (空の文字列) を渡すとなにも記録されません。
+**説明**: デバッグファイルに記録する4Dコマンドのリスト (セレクター 34, Debug Log Recording参照)。デフォルトではすべての4Dコマンドが記録されます。
-### PHP interpreter IP address (55)
+このセレクターを使用すれば、記録に残したい4Dコマンドを指定することで、デバッグファイルに保存される情報の量を制限することができます。例えば以下のようにコードを記述できます:
-**スコープ**: 4D アプリケーション
+ SET DATABASE PARAMETER(Log command list;"277;341") // QUERY および QUERY SELECTION コマンドのみを記録する
-2セッション間で設定を保持: No**
-値**: IPv4 型にフォーマットされた文字列(例 "127.0.0.1") あるいはIPv6 型にフォーマットされた文字列(例 "2001:0db8:0000:0000:0000:ff00:0042:8329")
-: FastCGI を経由してPHPインタプリタと通信を行うために、4D がローカルで使用するIP アドレス。デフォルトで値は"127.0.0.1" です(IPv5 フォーマットのアドレスは4D v16 R4 以降でサポートされます)。このアドレスは4D が配置されているマシンに対応しなければなりません。このパラメタはデータベース設定を使用してすべてのマシン用にグローバルに設定できます。
-PHPインタプリタに関する詳細は*Design Reference*マニュアルを参照してください。
+### Max concurrent Web processes (18)
+**説明**: 廃止 (互換性のために保持)。HTTPサーバー設定を変更するためには[WEB SET OPTION](web-set-option.md)と[WEB GET OPTION](web-get-option.md)コマンドを使用してください。
-### PHP interpreter port (56)
-**スコープ**:4D アプリケーション
- **2セッション間で設定を保持**: No
+### Maximum Web requests size (27)
-**値**: 正の倍長整数値。デフォルト値は8002。
+**説明**: 廃止 (互換性のために保持)。HTTPサーバー設定を変更するためには[WEB SET OPTION](web-set-option.md)と[WEB GET OPTION](web-get-option.md)コマンドを使用してください。
-**説明**: 4DのPHPインタプリタが使用するTCPポート番号。データベース設定でこの値をすべてのマシン用にグローバルに変更できます。PHPインタープリタに関する詳細は*Design Reference* マニュアルを参照してください。
-### SSL cipher list (64)
+### Min TLS version (105)
-**スコープ**: 4Dアプリケーション **2セッション間で設定を保持**: No
+**スコープ**: 4D Server、4D Web サーバーおよび4D SQL サーバー
-**とりうる値**: コロンで区切られた一連の文字列 (例 "ECDHE-RSA-AES128-....")
+**異なるセッション間で値を保持**: No
-**説明**: 安全なプロトコルのために4Dが使用する暗号リストです。このリストを使用して4Dによって実装された暗号化アルゴリズムの順位を変更することができます。例えば、以下の文字列を *value* 引数に渡す事ができます:"HIGH:!aNULL:!MD5:!3DES:!CAMELLIA:!AES128:!RSA:!DH:!RC4". 暗号リストのシンタックスの完全な詳細については、*OpenSSL の暗号ページ* *のサイト* を参照して下さい。
+**詳細**: Transport Layer Security (TLS) レベルを指定するのに使用します。これはデータ暗号化とアプリケーションとサーバー間での認証を可能にします。これによって定義された最小値を下回るバージョンしかサポートしないクライアントからの接続は拒否されます。この設定はネットワークレイヤー全体に適用されます。変更した後にその新しい値を使用するためには、サーバーを再起動する必要があります。
-この設定はメインWebサーバー(ただしWebサーバーオブジェクトは除く)、SQLサーバー、クライアント/サーバー接続、そしてHTTPクライアントと、安全なプロトコルを使用する4D コマンドの全てに対して適用されます。この変更は一時的な物です(つまり異なるセッション間で設定は保持されません)。
+**デフォルトの値**: TLSv1\_3
-暗号リストが変更された場合、新しい設定が使用されるようにするためには関係するサーバーを再起動する必要があります。
+**取りうる値**: TLSv1\_2 (TLS 1.2、2008年に導入) TLSv1\_3 (TLS 1.3、2018年に導入) **注**:
-暗号リストを (SLIファイルに恒久的に格納された) デフォルト値に再設定するには、*value*引数に空の文字列 ("") を渡して [SET DATABASE PARAMETER](set-database-parameter.md) コマンドを呼び出します。
+- 4D Internet Commands プラグインは異るネットワークレイヤーを使用するため、ここのセレクターは4DICのTLSバージョンには影響しません。
-**注**: [Get database parameter](get-database-parameter.md) コマンドで暗号リストはオプションの *stringValue* 引数に返され、戻り値は常に0となります。
+- TLS を旧式ネットワークレイヤーに適用しても反映されません。
-### Cache unload minimum size (66)
-**スコープ**:4Dアプリケーション
+### Number of formulas in cache (92)
- **2セッション間で設定を保持**: No
+**スコープ**: 4Dアプリケーション
- **とりうる値**: 1より大きい正の倍長整数
+**異なるセッション間で保持**: No
-**説明**: エンジンがオブジェクトをデータベースキャッシュに配置する際に空き空間を作成する必要が出た場合、データベースキャッシュからリリースするメモリの最小サイズ (バイト単位)。
+**取りうる値**: 正の倍長整数
-このセレクタの目的はキャッシュからデータをリリースする時間を減らし、よりパフォーマンスを得ることにあります。キャッシュのサイズやデータベース中で処理されるデータのブロックサイズに応じてこの値を変更できます。
+**デフォルト値**: 0 (キャッシュなし)
-このセレクタが使用されないとデフォルトで、4Dは空間が必要になった時最低10%のキャッシュをアンロードします。
+**詳細**: フォーミュラのキャッシュに保存されるフォーミュラの最大数を設定あるいは取得します。これは[EXECUTE FORMULA](execute-formula.md)コマンドで使用されます。この上限は全てのプロセスに適用されますが、各プロセスにはそれぞれ独自のフォーミュラ用キャッシュがあります。フォーミュラをキャッシュすると、それぞれのフォーミュラはこの場合1度しかトークン化されないため、コンパイル済みモードでの[EXECUTE FORMULA](execute-formula.md)コマンドの実行が速くなります。キャッシュ値を変化させると、例え新しいサイズが以前のものより大きくても、既存の中身は全てリセットされます。キャッシュ内のフォーミュラ数が上限値に達すると、その後新しく実行されたフォーミュラはキャッシュ内の一番古いものを消去します(FIFOモード)。この引数は、コンパイルされたデータベース、あるいはコンパイルされたコンポーネントでのみ考慮されます。
-### Direct2D status (69)
-**スコープ*: 4Dアプリケーション*
+### OpenSSL version (94)
- *(Direct2D Software) のみが許可されます。*
+**スコープ**: 4D マシン全体*
+* **2セッション間で設定を保持**: No
+**説明**: マシン上で使用されているOpenSSL ライブラリーのバージョン番号を返します(読み込みのみ)
-### Direct2D get active status (74)
-**注:** このセレクターは[Get database parameter](get-database-parameter.md)コマンドでのみ使用することができ、設定することはできません。
-説明: WindowsにおいてDirect2Dのアクティブな実装を返します。
-取りうる値: 0, 1, 2, 3, 4 または 5 (セレクター69の値参照)。返される値はDirect2Dが利用可能かどうか、およびハードウェア、OSによってサポートされるDirec2Dの品質に基づきます。
+### Order by formula on server (47)
-例えば以下のコードを実行した場合、
+**スコープ**:カレントテーブルおよびプロセス
+ **2セッション間で設定を保持**: No
+ **とりうる値**: 0 (データベース設定を使用), 1 (クライアント上で実行) または 2 (サーバ上で実行)
- SET DATABASE PARAMETER(Direct2D status;Direct2D Hardware) $mode:=Get database parameter(Direct2D get active status)
+**説明**: 引数に渡されたtableに対して実行される[ORDER BY FORMULA](order-by-formula.md "ORDER BY FORMULA")コマンドの実行場所。
-- Windows 7以降、システムがDirect2D互換のハードウェアを検知すると、$modeに1が設定されます。そうでなければ$modeは3に設定されます (ソフトウェアコンテキスト)。
+クライアント/サーバモードでデータベースを使用するとき、[ORDER BY FORMULA](order-by-formula.md "ORDER BY FORMULA")コマンドをサーバ上またはクライアント上で実行させることができます。このセレクタを使用して、このコマンドの実行場所 (サーバまたはクライアント) を指定できます。このモードはデータベース環境設定でも設定できます。詳細はセレクタ46、Query By Formula On Serverの説明を参照してください。
-- Windows Vistaでは、システムがDirect2D互換のハードウェアを検知すると、$modeに1が設定されます。そうでなければ$modeは0に設定されます (Direct2D無効)。
+**Note:** "SQLタイプ"のJOINを有効にしたい場合 (QUERY BY FORMULA Joins (49) セレクタ参照) は、フォーミュラがレコードにアクセスすることができるよう、常にフォーミュラをサーバ上で実行しなければなりません。このコンテキストでは、フォーミュ ラはいかなるメソッド呼び出しも含んではいけないことに注意してください。そうでない場合、自動でリモートマシンでの実行に切り替わります。
-- Windows XPでは、$modeは常に0です (Direct2D非互換)。
-### Diagnostic log recording (79)
+### Pause logging (121)
**Thread-safe** : Yes
-**スコープ**: 4Dアプリケーション
-
-2セッション間で設定を保持: No
+**スコープ**: 4D アプリケーション**
-取りうる値: 0 または 1 (0 = 記録しない, 1 = 記録する)
+異なるセッション間で値を設定を保持**: No**
-: 4D診断ファイルの記録を開始または停止する。デフォルトの値は0(記録しない)です。
+取り得る値**: 0 (ログを再開)、1 (ログを停止)
-4Dは診断ファイルの中に内部的なアプリケーション処理に関連するイベントを継続的に記録することができます。このファイルに含まれる情報は4Dアプリケーション開発のために使用され、4D社の技術サポート担当により解析されます。このセレクターに1を渡すと、データベースの**Logs** フォルダ内に診断ファイルが自動的に作成されます(またはすでに存在する場合には開かれます)。ファイルには*4DDiagnosticLog\_X*.txt (あるいはサーバー側で生成された場合には *4DDiagnosticLogServer\_X*.txt) という名前が付けられます。このファイルのサイズが10MBに達するとそのファイルは閉じられ、DatabaseName\_N.txtが生成されます (Nは連番)。
+このセレクターを使用するとアプリケーション上で開始された全てのログオペレーションを停止/再開させることができます(ただしORDAログは除く)。この機能は4Dアプリケーションのタスクを一時的に軽くしたり、あるいはログオペレーションのスケジュールを設定することに有用です。
-[LOG EVENT](log-event.md)コマンドを使用してカスタム情報をこのファイルに書き込むこともできます。
-### Log command list (80)
+### PHP interpreter IP address (55)
**スコープ**: 4D アプリケーション
-**2セッション間で設定を保持**: No
-
-**取りうる値**: 記録する4Dコマンドの番号リスト。型は文字列で各コマンド番号をセミコロンで区切ります。"all"を渡すとすべてのコマンドが記録され、"" (空の文字列) を渡すとなにも記録されません。
-
-**説明**: デバッグファイルに記録する4Dコマンドのリスト (セレクター 34, Debug Log Recording参照)。デフォルトではすべての4Dコマンドが記録されます。
-
-このセレクターを使用すれば、記録に残したい4Dコマンドを指定することで、デバッグファイルに保存される情報の量を制限することができます。例えば以下のようにコードを記述できます:
-
- SET DATABASE PARAMETER(Log command list;"277;341") // QUERY および QUERY SELECTION コマンドのみを記録する
-
-
-
-### Spellchecker (81)
-
-**スコープ**: 4D アプリケーション**
+2セッション間で設定を保持: No**
-2セッション間で設定を保持**: No
+値**: IPv4 型にフォーマットされた文字列(例 "127.0.0.1") あるいはIPv6 型にフォーマットされた文字列(例 "2001:0db8:0000:0000:0000:ff00:0042:8329")
- **とりうる値**: 0 (default) = macOSのシステムのスペルチェッカー(ハンスペルは無効化されます), 1 = ハンスペルスペルチェッカー有効化**
+: FastCGI を経由してPHPインタプリタと通信を行うために、4D がローカルで使用するIP アドレス。デフォルトで値は"127.0.0.1" です(IPv5 フォーマットのアドレスは4D v16 R4 以降でサポートされます)。このアドレスは4D が配置されているマシンに対応しなければなりません。このパラメタはデータベース設定を使用してすべてのマシン用にグローバルに設定できます。
-説明**: macOS環境下においてハンスペルスペルチェッカーを有効化します。デフォルトでは、このプラットフォームではシステムのスペルチェッカーが有効化されています。例えば、クロスプラットフォームアプリケーションのインターフェースを統一するためにハンスペルを使用したいという場面があるかもしれません(Windowsでは、ハンスペルチェッカーのみが動作します)。詳細な情報に関しては、*スペルチェック*を参照して下さい。
+PHPインタプリタに関する詳細は*Design Reference*マニュアルを参照してください。
-### Dates inside objects (85)
-スコープ: カレントプロセス
+### PHP interpreter port (56)
- 2セッション間で設定を保持: No
+**スコープ**:4D アプリケーション
- **取り得る値**: String type without time zone (0), String type with time zone (1), Date type (2) (デフォルト)
+ **2セッション間で設定を保持**: No
-**説明**: 日付がオブジェクトにどのように保存されるかを定義するとともに、どのようにJSON に読み込み/書き出しされるかも定義します。
+**値**: 正の倍長整数値。デフォルト値は8002。
-セレクターの値がDate type (4D v17以降で作成されたデータベースにおけるデフォルト)のとき、4D 日付はオブジェクト内で日付型として保存され、ローカルの日付設定に準拠します。JSON フォーマットに変換された時、日付属性は、時間を含まない文字列へと変換されます(**注:** この設定は、データベース設定のにある"オブジェクト内ではISO日付フォーマットの代わりに日付型を使用"オプションによって設定することができます)。
+**説明**: 4DのPHPインタプリタが使用するTCPポート番号。データベース設定でこの値をすべてのマシン用にグローバルに変更できます。PHPインタープリタに関する詳細は*Design Reference* マニュアルを参照してください。
-セレクターにを渡した場合、4D 日付はローカルなタイムゾーンを考慮に入れつつISO 文字列に変換されます。例えば、例えば、23/08/2013という日付の変 換を、フランスのサマータイム(GMT+2)にて実行した場合、JSONフォーマットの"2013-08-22T22:00:00Z"という結 果が返されます。この原理はJavaScriptの標準のオペレーションに従うものです。これは異なるタイムゾーンにいる人にJSON日付の値を 送る場合には、エラーの原因となりかねません。例えば、[Selection to JSON](selection-to-json.md)を使ってフランスでエクスポートされたテーブルを[JSON TO SELECTION](json-to-selection.md) を使用してアメリカで再インポートする、というような場合です。日付の値は、デフォルトではそれぞれのタイムゾーンにおいて再変換 されるため、データベース内に保存された値は異なってしまいます。こういった場合には、このセレクターにString type without time zoneを渡す事によって、タイムゾーンを考慮しないよ うに日付の変換モードを変更することができます。すると、23/08/2013という日付を変換した場合に は、"2013-08-23T00:00:00Z"という値を返すようになります。
-### Diagnostic log level (86)
+### POP3 Log (116)
**Thread-safe** : Yes
-**スコープ:** 4D アプリケーション**
-
-** **異なるセッション間で設定を保持:** No**
-
-** **説明:** 診断ログが有効化された際に、そこに含まれるメッセージのレベル(Diagnostic log recording セレクターを参照)。各レベルは診断メッセージのカテゴリを指定し、それより重要なカテゴリのメッセージも自動的に含まれます。カテゴリの詳細については、*developer.4d.com* 上の*Diagnostic log levels* の章を参照してください。
-
- **取りうる値:** 以下の定数のいづれか(デフォルトは Log info ): Log trace: ERROR、WARN、INFO、DEBUG、TRACE を有効化します(最も詳細なレベル) Log debug: ERROR、WARN、INFO、DEBUG を有効化します Log info: ERROR、WARN、INFO を有効化します(デフォルト) Log warn: ERROR、WARN を有効化します Log error: ERROR を有効化します(最も簡略なレベル)
+**スコープ:** 4D ローカル、4D Server
+**2セッション間で設定を保持:** No
+**取りうる値:** 0 または1からXまでの数字(0= 記録を取らない、1からX=シーケンシャルな数字、ファイル名に追加される)。デフォルトでは、値は0です(POP3通信は記録されません)。
-### Use legacy network layer (87)
+**説明**: トランスポーターオブジェクトが*POP3\_transporter.getMail( )* または *POP3\_transporter.checkConnection( )*で処理されたとき、4D とPOP3 サーバー間の通信の記録を開始または停止します。デフォルトでは値は0 です(通信は記録されません)。この機構か有効化されている時、データベースのLogs フォルダにログファイルが作成されます。ファイル名は4DPOP3Log\_X.txt という形式となっており、X はログのシーケンシャル番号です。4DPOP3Log のサイズが10MBに到達すると、そのファイルは閉じられて新しいファイルが生成され、シーケンシャル番号は1つ増加します。同じ名前のファイルが既に存在する場合、それは上書きされます。シーケンシャル番号の開始番号を、value 引数を用いて指定することができます。デフォルトでは全てのファイルが保持されますが、Circular log limitation 定数を使用することで残すファイルの数を制限することもできます。
-**スコープ**: 4D ローカル、4D Server
+4DPOP3Log\_X.txt ファイルの詳細な情報については、*ログファイルの詳細* の章を参照してください。
-**異なるセッション間で値を保持**: Yes
-**詳細:** クライアント/サーバー間の通信のネットワークレイヤーのカレントの状態を設定・取得します。旧式ネットワークレイヤーは4D v14 R5以降廃止予定となり、お使いのアプリケーションにおいて*ServerNet* ネットワークレイヤーへと積極的に置き換えられてい行くべきです。*ServerNet* は、将来のネットワークの進化の恩恵を受けるために、今後の4Dのリリースの中で必須要項となって行きます。互換性の理由から、既存のアプリケーションの速やかな移行をサポートするために、旧式のネットワークレイヤーは引き続きサポートされます(v14 R5以前のリリースから変換されたアプリケーションにおいてはデフォルトで旧式ネットワークレイヤーが使用されます)。クライアント/サーバー通信において旧式ネットワークレイヤーを使用するためにはこの引数に1を渡します(*ServerNet* が無効化されます)。0を渡すと旧式ネットワークレイヤーが無効化されます(そして*ServerNet* が使用されます)。
-このプロパティはデータベース設定の*互換性ページ* の"旧式ネットワークレイヤー"オプションを使用することによっても設定できます(*ネットワーク/クライアント-サーバー通信*参照)。この章では、移行戦略についての議論を読むこともできます。*ServerNet* の速やかな有効化が推奨されます。
-この引数が有効になるためには、アプリケーションを再起動する必要があります。OS X版の4D Server 64-bit 版においては*ServerNet* のみをサポートするため、このオプションはご利用いただけません(常に0を返します)。
+### Port ID (15)
-**取り得る値:** 0 または 1 (0 = 旧式ネットワークレイヤーを使用しない、1 = 旧式ネットワークレイヤーを使用する)
+**スコープ**: 4D ローカル, 4D Server
-**デフォルトの値:** 4D v14 R5以降で作成されたデータベースにおいては0、4D v14 R4以前のものから変換されたデータベースにおいては1
+**2セッション間で設定を保持**: No
+**説明**: Command SET DATABASE この引数を使用して、ローカルモードの4Dおよび4D Serverによる4D Webサーバが使用するTCPポートをオンザフライで変更することができます。デフォルト値は80で、この値は環境設定ダイアログボックスの“Web/設定”ページで設定できます。*TCP Port Numbers*テーマの定数を*value*引数に使用できます。
-### SQL Server Port ID (88)
-**スコープ**: 4D ローカル、4D Server
+Port IDセレクタは、コンパイルして4D Desktopを組み込んだ4D Webサーバで役立ちます(この場合、デザインモードへのアクセス手段がありません)。TCPポートIDに関する詳細は*Webサーバー設定*を参照してください。
-**2セッション間で設定を保持**: Yes
-**説明**: 4Dローカル、または4D Server の統合されたSQLサーバーで使用されるTCPポート番号を取得、または設定します。デフォルトの値は19812です。このセレクターが設定されると、データベース設定は更新されます。TCPポート番号はデータベース設定ダイアログボックスの"SQL"ページにおいても設定可能です。
-**とりうる値**: 0 から 65535
-**デフォルト値**: 19812
+### Query by formula joins (49)
+**スコープ**:カレントプロセス
+ **2セッション間で設定を保持**: No
-### Circular log limitation (90)
+ **とりうる値**: 0 (データベース設定を使用), 1 (常に自動リレーションを使用) または 2 (可能ならSQL JOINを使用)
-**Thread-safe** : Yes
+**説明**: "SQL JOIN"の利用に関連する、[QUERY BY FORMULA](query-by-formula.md "QUERY BY FORMULA")と[QUERY SELECTION BY FORMULA](query-selection-by-formula.md "QUERY SELECTION BY FORMULA")コマンドの動作モード。
-**スコープ**: 4Dローカル、4D Server **異なるセッション間で値を保持**: No**
+4D v11 SQLのバージョン11.2以降で作成されたデータベースでは、これらのコマンドはSQL JOINモデルに基づくJOINを実行します。このメカニズムを使用して、(以前のバージョンでは必要な条件だった) 自動リレーションで接続されていない他のテーブルに対して実行されたクエリに基づき、テーブルのセレクションを変更できます。
-取りうる値**: 任意の整数値、0 = 全てのログを保持**
+QUERY BY FORMULA Joinsセレクタで、カレントプロセスの、フォーミュラによるクエリの動作モードを指定できます:
-詳細**: 各タイプのロゴのローテーションに保存するファイル数の最大値。デフォルトでは、直近の50 ファイルが保持されます。*X* という値を渡した場合、直近の*X* 個のファイルのみが保持され、最も古いファイルは新しいファイルが作成されたときに自動的に削除されます。この設定は全てのログファイルに対して適用されます:リクエストログ(セレクター28と45)、デバッグログ(セレクター34)、イベントログ(セレクター79)、Web ログ([WEB SET OPTION](web-set-option.md)コマンドのセレクター29と84)、などです。
+0: データベースの現在の設定を使用する (デフォルト値)。4D v11 SQLのバージョン11.2以降で作成されたデータベースでは、"SQL JOIN"はフォーミュラによるクエリに対し常に有効です。変換されたデータベースでは、互換性のためデフォルトでこのメカニズムは有効になっていません。しかし環境設定で実装できます。1: 常に自動リレーションを使用 (= 以前のバージョンの4Dの動作)。このモードでは、他のテーブルに対して行われたクエリに基づきテーブルのセレクションを作成するためには、リレーションが必要です。4Dは"SQL JOIN"を行いません。2: 可能であればSQL JOINを使用 (= 4D v11 SQLのバージョン11.2以降で作成されたデータベースのデフォルト動作)。このモードでは、フォーミュラが適合する限り、4Dはフォーミュラによるクエリに"SQL JOIN"を使用します (2つの例外があります。[QUERY BY FORMULA](query-by-formula.md "QUERY BY FORMULA")や[QUERY SELECTION BY FORMULA](query-selection-by-formula.md "QUERY SELECTION BY FORMULA") コマンドの説明を参照)。**Note:** 4Dのリモートモードにおいて、"SQL JOIN"はフォーミュラがサーバ上で実行されているときにのみ使用できます (レコードへのアクセスが必要なため)。フォーミュラの実行場所を設定するには、セレクタ46と47を参照してください。
-### Number of formulas in cache (92)
-**スコープ**: 4Dアプリケーション
+### Query by formula on server (46)
-**異なるセッション間で保持**: No
+**スコープ**: カレントテーブルおよびプロセス
-**取りうる値**: 正の倍長整数
+ **2セッション間で設定を保持**: No
-**デフォルト値**: 0 (キャッシュなし)
+ **とりうる値**: 0 (データベース設定を使用), 1 (クライアント上で実行) または 2 (サーバ上で実行)
-**詳細**: フォーミュラのキャッシュに保存されるフォーミュラの最大数を設定あるいは取得します。これは[EXECUTE FORMULA](execute-formula.md)コマンドで使用されます。この上限は全てのプロセスに適用されますが、各プロセスにはそれぞれ独自のフォーミュラ用キャッシュがあります。フォーミュラをキャッシュすると、それぞれのフォーミュラはこの場合1度しかトークン化されないため、コンパイル済みモードでの[EXECUTE FORMULA](execute-formula.md)コマンドの実行が速くなります。キャッシュ値を変化させると、例え新しいサイズが以前のものより大きくても、既存の中身は全てリセットされます。キャッシュ内のフォーミュラ数が上限値に達すると、その後新しく実行されたフォーミュラはキャッシュ内の一番古いものを消去します(FIFOモード)。この引数は、コンパイルされたデータベース、あるいはコンパイルされたコンポーネントでのみ考慮されます。
+**説明**: 引数に渡された*table*に対して実行される[QUERY BY FORMULA](query-by-formula.md "QUERY BY FORMULA")や[QUERY SELECTION BY FORMULA](query-selection-by-formula.md "QUERY SELECTION BY FORMULA")コマンドの実行場所。
+クライアント/サーバモードでデータベースを使用するとき、フォーミュラを使用したクエリをサーバ上またはクライアント上で実行させることができます:
+4D v11 SQLで作成されたデータベースでは、これらのコマンドはサーバ上で実行されます。変換されたデータベースでは、これらのコマンドは、以前のバージョンの4Dと同様、クライアントマシン上で実行されます。変換されたデータベースでは、環境設定のアプリケーション/互換性ページで、これらのコマンドの実行場所をグローバルに変更できます。この実行場所の違いは、アプリケーションのパフォーマンス (通常サーバ上で実行したほうが早い) だけでなく、プログラミングにも影響します。実際フォーミュラの部品の値 (特にメソッドから呼ばれる変数) は、実行コンテキストにより異なります。このセレクタを使用して開発者は、アプリケーションの動作を適応させられます。
-### OpenSSL version (94)
+*value* 引数に0を渡すと、フォーミュラを使用するクエリの実行場所は、データベースの設定に基づきます: 4D v11 SQLで作成されたデータベースでは、これらのコマンドはサーバ上で実行されます。変換されたデータベースでは、データベース環境設定に基づき、クライアントマシンまたはサーバマシンで実行されます。*value*に1または2を渡すと、これらのコマンドの実行場所をクライアントマシンまたはサーバマシンに強制できます。
-**スコープ**: 4D マシン全体*
+例題2を参照してください。
-* **2セッション間で設定を保持**: No
+**Note:** "SQLタイプ"のJOINを有効にしたい場合 (QUERY BY FORMULA Joins (49) セレクタ参照) は、フォーミュラがレコードにアクセスすることができるよう、常にフォーミュラをサーバ上で実行しなければなりません。このコンテキストでは、フォーミュラはいかなるメソッド呼び出しも含んではいけないことに注意してください。そうでない場合、自動でリモートマシンでの実行に切り替わります。
-**説明**: マシン上で使用されているOpenSSL ライブラリーのバージョン番号を返します(読み込みのみ)
-### Cache flush periodicity (95)
+### RDP optimization (133)
-**Thread-safe** : Yes
+**Scope:** 4D application.
+**Kept between two sessions:** No.
-**スコープ**: 4Dローカル、4D Server
+**Possible values:** `0`: Disabled (default), `1`: Enabled.
-**異なるセッション間で値を保持**: No
+**Description:** Enables or disables optimizations for RDP (Remote Desktop Protocol). When enabled, optimizes in particular the use of shared clipboard in RDP connections, which can otherwise lead to freezing issues. Note that this selector disables the support in clipboard for images encoded as data uri in raw text (only concerns images dropped or explicitly copied as text from a browser).
-**取りうる値**: 倍長整数 > 1 (秒)
-**詳細**: 秒単位で指定された、キャッシュ保存頻度を取得あるいは設定します。この値を変更すると、データベース設定の[XML DECODE](xml-decode.md)内の**キャッシュを保存: X秒毎**オプションをセッション中の間上書きします(これはデータベース設定には保存されません)。
@@ -715,246 +784,243 @@ PHPインタプリタに関する詳細は*Design Reference*マニュアルを
-### Tips enabled (101)
-**スコープ:** 4D アプリケーション
+### Server base process stack size (53)
-**異なるセッション間で値を保持:** No
+**スコープ**: 4D Server
-**取りうる値:** 0 = tips無効化、1 = tips有効化(デフォルト)
+ 2セッション間で設定を保持: No
-**詳細:** 4DアプリケーションのTipsのカレントの表示状態を設定あるいは取得します。デフォルトでは、Tipsは有効化されています。
+ **とりうる値**:正の倍長整数
-この引数は全ての4DTipsに影響するという点に注意してください。つまり、フォームヘルプメッセージとデザインモードのエディターTipsに影響します。
+**説明**: サーバ上のプリエンプティブシステムプロセス毎に割り当てるスタックのサイズ (バイト単位) です。デフォルトでの値はシステムによって決定されます。
+
+プ リエンプティブシステムプロセスはメインの4D クライアントプロセスを制御するためにロードされます。デフォルトでそれぞれのプリエンプティブプロセスに割り当てられるサイズはおよその場合最適なサイ ズですが、何百ものプロセスが作成されるようなケースではこのサイズが適切かどうか検討する必要が出てくるかもしれません。
+データベースが実行する処理がそれを許す限り、最適化の目的でこのサイズを大幅に減らすことができます ( 例えばデータベースで大量のレコードの並び替えなどを行わない場合)。512 や256 KB でさえも設定可能です。スタックサイズを小さくしすぎることは致命的であり、4D Server の動作に害を及ぼすことになるので注意してください。このパラメタの設定は注意を持って行い、データベースの利用状況 (レコード数や行う処理など) を考慮しながら行わなければなりません。
+このパラメタの設定を行うには、*On Server Startupデータベースメソッド* などにおいてサーバ上でコマンドが実行されなければなりません。
-### Tips delay (102)
-**スコープ:** 4Dアプリケーション
-**異なるセッション間で値を保持:** No
-**取りうる値:** 倍調整数 >= 0 (ティック)
+### SMTP Log (110)
-**詳細:** マウスカーソルがヘルプメッセージが関連づけられたオブジェクト内で停止してからTipsが表示されるまでの遅延時間です。値はティック(1/60秒)単位で表現されます。デフォルトの値は45ティック(=0.75秒)です。
+**Thread-safe** : Yes
+**スコープ**: 4D ローカル、4D Server
+**異なるセッション間で値を保持**: しない**
-### Tips duration (103)
+取りうる値**: 0 あるいは1 からX まで(0 = 記録しない、1 から X = ファイル名に追加されるシーケンシャルな数字)。デフォルトでは、値は0(SMTP 通信は記録されない)です。
-**スコープ:** 4Dアプリケーション
+: *transporter* オブジェクトが*transporter.send( )* または *SMTP\_transporter.checkConnection( )* を通して処理される際、4D とSMTP サーバー間の通信の記録を開始、あるいは停止します。デフォルトでは、値は0です(通信は記録されない)。このログが有効化されると、データベースのLogs フォルダ内にログファイルが作成されます。ファイル名は4DSMTPLog\_X.txt で、この*X* はログのシーケンシャルな番号です。4DSMTPLog のファイルのサイズが10MB に達すると、そのファイルは閉じられて新しいファイルが生成され、シーケンシャルな番号は数字がインクリメントされます。同じ名前のファイルが既に存在していた場合、そのファイルは直接上書きされます。*value* 引数を使用してシーケンスの開始番号を設定することができます。デフォルトでは全てのファイルが残されますが、Circular log limitation パラメータを使用することで保存しておくファイルの数を管理することができます。
-**異なるセッション間で値を保持:** No
+4DSMTPLog\_X.txt ファイルの詳細な情報については、*ログファイルの詳細* の章を参照してください。
-**取りうる値:** 倍調整数 >= 60 (ティック)
-**詳細:** Tipsの最大表示時間です。値はティック(1/60秒)単位で表現されます。デフォルトの値は720ティック(=12秒)です。
+### Spellchecker (81)
-### Min TLS version (105)
+**スコープ**: 4D アプリケーション**
-**スコープ**: 4D Server、4D Web サーバーおよび4D SQL サーバー
+2セッション間で設定を保持**: No
-**異なるセッション間で値を保持**: No
+ **とりうる値**: 0 (default) = macOSのシステムのスペルチェッカー(ハンスペルは無効化されます), 1 = ハンスペルスペルチェッカー有効化**
-**詳細**: Transport Layer Security (TLS) レベルを指定するのに使用します。これはデータ暗号化とアプリケーションとサーバー間での認証を可能にします。これによって定義された最小値を下回るバージョンしかサポートしないクライアントからの接続は拒否されます。この設定はネットワークレイヤー全体に適用されます。変更した後にその新しい値を使用するためには、サーバーを再起動する必要があります。
+説明**: macOS環境下においてハンスペルスペルチェッカーを有効化します。デフォルトでは、このプラットフォームではシステムのスペルチェッカーが有効化されています。例えば、クロスプラットフォームアプリケーションのインターフェースを統一するためにハンスペルを使用したいという場面があるかもしれません(Windowsでは、ハンスペルチェッカーのみが動作します)。詳細な情報に関しては、*スペルチェック*を参照して下さい。
-**デフォルトの値**: TLSv1\_3
-**取りうる値**: TLSv1\_2 (TLS 1.2、2008年に導入) TLSv1\_3 (TLS 1.3、2018年に導入) **注**:
-- 4D Internet Commands プラグインは異るネットワークレイヤーを使用するため、ここのセレクターは4DICのTLSバージョンには影響しません。
-- TLS を旧式ネットワークレイヤーに適用しても反映されません。
+### SQL Autocommit (43)
+**スコープ**:データベース
+ **2セッション間で設定を保持**: Yes
-### User param value (108)
+ **とりうる値**: 0 (無効) または 1 (有効)
-**スコープ:** 4D スタンドアロン、4D Server
+**説明**: SQLの自動コミットモードを有効または無効にするために使用します。デフォルトは 0 (無効モード) です。
-**2セッション間で値を保持:** No
-**取りうる値**: 任意のカスタムの文字列
-**説明:** 4D アプリケーションが再起動される際に、ひとつのセッションから次のセッションへと渡されるカスタムの文字列です。このセレクターは異なる引数を使用してアプリケーションを再起動する必要がある、自動化されたユニットテストなどのコンテキストで有用です。[SET DATABASE PARAMETER](set-database-parameter.md) で使用された場合、手動で、あるいは[OPEN DATABASE](open-database.md)(\*)、 [OPEN DATA FILE](open-data-file.md)、 または [RESTART 4D](restart-4d.md) コマンドを使用して4D が再起動したあとに開かれるデータベースで利用可能となる新しい値を定義します。[Get database parameter](get-database-parameter.md) で使用された場合、コマンドライン(*コマンドラインインターフェース* 参照)、4DLink ファイル(*4DLinkファイルを使用する* 参照)、あるいは前のセッションでの[SET DATABASE PARAMETER](set-database-parameter.md) への呼び出しなどを使用して定義された、現在利用可能なユーザー引数値を取得します。(\*) [SET DATABASE PARAMETER](set-database-parameter.md)がUser param value を設定した後に、[OPEN DATABASE](open-database.md)にuser-param xml 属性を含む.4DLink ファイル渡して呼び出した場合、4D は[SET DATABASE PARAMETER](set-database-parameter.md)で提供された引数のみを考慮します。
+自動コミットモードは、データベースの参照整合性を強化するために使用されます。このモードが有効の時、すべての*SELECT*, INSERT, *UPDATE* そして *DELETE* (SIUD) クエリは、これらがトランザクション内で実行されていない場合、自動でアドホックなトランザクションに含められます。このモードはデータベースの環境設定でも設定できます。
-### Times inside objects (109)
-スコープ: 4D ローカル、4D Server (全てのプロセス)
+### SQL Engine case sensitivity (44)
- 異なるセッション間で値を保持: No
+**スコープ**: データベース**
- **取りうる値**: Times in seconds (0) (デフォルト)、 Times in milliseconds (1)
+2セッション間で設定を保持**: Yes**
-**詳細**: オブジェクトプロパティ内およびコレクション要素内で時間値がどのように変換され保存されるかを定義するとともに、JSONおよびWeb エリアへの読込/書出の方法を定義します。デフォルトでは、4D v17 以降、時間はオブジェクト内では秒数として変換・保管されます。
+とりうる値**: 0 (大文字小文字を区別しない) または 1 (区別する)
-以前のリリースでは、時間値はこれらのコンテキストにおいてはミリ秒数として変換・保管されていました。このセレクターを使用することで、必要であれば以前の設定に戻すことで、移行がスムーズになります。
+: SQLエンジンが文字列比較を行う際に、大文字と小文字の違いを考慮させるかどうかを設定します。 デフォルトで値は1 (大文字小文字を区別する) です。SQLエンジンは文字列比較 (並び替えやクエリ) の際に大文字と小文字とアクセント付き文字を異なる文字として扱います。例えば“ABC”= “ABC”ですが“ABC” # “Abc”であり、"abc" # "âbc"です。SQLエンジンと4Dエンジンの動作をそろえたいなど特定の場合では、大文字と小文字を区別しない文字列比較 (“ABC”=“Abc"="âbc") を使用できます。
-**注**: ORDA メソッドとSQL エンジンはこの設定を無視し、時間値は常に秒数であるとみなします。
+**警告:* このオプションはデータベースのストラクチャーファイルと全てのプロセスを変更するため、パフォーマンス上の観点から、データベースのスタートアップ時にのみ設定することが強く推奨されます。*
-### SMTP Log (110)
+このオプションはアプリケーション環境設定の[CALL SUBFORM CONTAINER](call-subform-container.md) で設定できます。
-**Thread-safe** : Yes
+
+
+
+### SQL Server Port ID (88)
**スコープ**: 4D ローカル、4D Server
-**異なるセッション間で値を保持**: しない**
+**2セッション間で設定を保持**: Yes
-取りうる値**: 0 あるいは1 からX まで(0 = 記録しない、1 から X = ファイル名に追加されるシーケンシャルな数字)。デフォルトでは、値は0(SMTP 通信は記録されない)です。
+**説明**: 4Dローカル、または4D Server の統合されたSQLサーバーで使用されるTCPポート番号を取得、または設定します。デフォルトの値は19812です。このセレクターが設定されると、データベース設定は更新されます。TCPポート番号はデータベース設定ダイアログボックスの"SQL"ページにおいても設定可能です。
-: *transporter* オブジェクトが*transporter.send( )* または *SMTP\_transporter.checkConnection( )* を通して処理される際、4D とSMTP サーバー間の通信の記録を開始、あるいは停止します。デフォルトでは、値は0です(通信は記録されない)。このログが有効化されると、データベースのLogs フォルダ内にログファイルが作成されます。ファイル名は4DSMTPLog\_X.txt で、この*X* はログのシーケンシャルな番号です。4DSMTPLog のファイルのサイズが10MB に達すると、そのファイルは閉じられて新しいファイルが生成され、シーケンシャルな番号は数字がインクリメントされます。同じ名前のファイルが既に存在していた場合、そのファイルは直接上書きされます。*value* 引数を使用してシーケンスの開始番号を設定することができます。デフォルトでは全てのファイルが残されますが、Circular log limitation パラメータを使用することで保存しておくファイルの数を管理することができます。
+**とりうる値**: 0 から 65535
-4DSMTPLog\_X.txt ファイルの詳細な情報については、*ログファイルの詳細* の章を参照してください。
+**デフォルト値**: 19812
-### Current process debug log recording (111)
-**スコープ:** 4D アプリケーション
+### SSL cipher list (64)
-**異なるセッション間で値を保持:** No
+**スコープ**: 4Dアプリケーション **2セッション間で設定を保持**: No
-**詳細**: **カレントプロセスにおける**プログラミングイベントの、別のログファイルへのシーケンシャルな記録を開始または停止します。このログはDebug log recording (セレクター34)に似ていますが、こちらはカレントプロセスにのみを対象とします。ログファイル名はアルファベットの"p"とプロセス番号を含みます: 4DDebugLog\[\_p*N*_*n*].txt ここでのNはプロセスの固有のIDです。
+**とりうる値**: コロンで区切られた一連の文字列 (例 "ECDHE-RSA-AES128-....")
-このフォーマットと*4DDebugLog* ファイルの使用についての詳細な情報については、デザインリファレンスの*ログファイルの詳細* を参照してください。
+**説明**: 安全なプロトコルのために4Dが使用する暗号リストです。このリストを使用して4Dによって実装された暗号化アルゴリズムの順位を変更することができます。例えば、以下の文字列を *value* 引数に渡す事ができます:"HIGH:!aNULL:!MD5:!3DES:!CAMELLIA:!AES128:!RSA:!DH:!RC4". 暗号リストのシンタックスの完全な詳細については、*OpenSSL の暗号ページ* *のサイト* を参照して下さい。
-**注:** このセレクターはデバッグ目的のためだけに提供されており、使用する際には注意が必要です。特に、アプリケーションのパフォーマンスに影響しうるため、製品で使用してはいけません。 Debug log recording および Current process debug log recording セレクターは同時に併用することができ、その場合にはメインのログファイルにはカレントプロセスのアクションは記録されません。
+この設定はメインWebサーバー(ただしWebサーバーオブジェクトは除く)、SQLサーバー、クライアント/サーバー接続、そしてHTTPクライアントと、安全なプロトコルを使用する4D コマンドの全てに対して適用されます。この変更は一時的な物です(つまり異なるセッション間で設定は保持されません)。
+暗号リストが変更された場合、新しい設定が使用されるようにするためには関係するサーバーを再起動する必要があります。
+暗号リストを (SLIファイルに恒久的に格納された) デフォルト値に再設定するには、*value*引数に空の文字列 ("") を渡して [SET DATABASE PARAMETER](set-database-parameter.md) コマンドを呼び出します。
-### Is current database a project (112)
+**注**: [Get database parameter](get-database-parameter.md) コマンドで暗号リストはオプションの *stringValue* 引数に返され、戻り値は常に0となります。
-**注:** このセレクターは[Get database parameter](get-database-parameter.md) コマンドでのみ使用可能で、その値を設定することはできません。
-: 4D アプリケーション**
-詳細**: カレントのデータベースアーキテクチャーがプロジェクトモードなら1を、それ以外の場合には0を返します。詳細な情報については、*データベースのプロジェクトモードとバイナリーモード* の章を参照してください。
+### Table sequence number (31)
+**スコープ**:4D アプリケーション
-### Is host database a project (113)
+ **2セッション間で設定を保持**: Yes
-**注:** このセレクターは[Get database parameter](get-database-parameter.md) コマンドでのみ使用可能で、その値を設定することはできません。
+ **とりうる値**: 任意の倍長整数値
-: 4D アプリケーション**
+**説明**: Command SET DATABASE PARAMETERこのセレクタは、引数に渡したテーブルのレコードの、カレントのユニーク番号を取得あるいは設定するために使用します。“カレントの数値”とは“最後に使用された数値”を意味します。SET DATABASE PARAMETERコマンドを使用してこの値を変更すると、渡された値+1の番号を使用して次のレコードが作成されます。この新しい番号は、[Sequence number](sequence-number.md "Sequence number")コマンドによって返される、さらにはストラクチャエディタやSQLで自動インクリメントが設定されたフィールドに返される番号です。
-詳細**: ホストデータベースアーキテクチャーがプロジェクトモードなら1を、それ以外の場合には0を返します。詳細な情報については、*データベースのプロジェクトモードとバイナリーモード* の章を参照してください。
+デフォルトで、この固有の番号は4Dが設定し、レコードの作成順に対応します。詳細は[Sequence number](sequence-number.md "Sequence number")コマンドのドキュメントを参照してください。
-### Libldap version (114)
-**スコープ**: カレント4D マシン
-**異なるセッション間で値を保持**: No
-**詳細**: カレントマシン上の4D アプリケーション内のLDAP ライブラリーのバージョン番号を返します(読み出し専用)
+### TCPUDP log recording (131)
+**Scope:** 4D application.
+**Kept between two sessions:** No.
-### Libsasl version (115)
+**Possible values:** `0`: Logging disabled (default), `1`: Logging enabled.
-**スコープ**: カレント4D マシン**
+**Description:** Enables or disables the `4DTCPUDPLog.txt` file for logging TCP events.
-異なるセッション間で値を保持**: No**
-詳細**: カレントマシン上の4D アプリケーション内のSASL ライブラリーのバージョン番号を返します(読み出し専用)
+### Times inside objects (109)
-### POP3 Log (116)
+スコープ: 4D ローカル、4D Server (全てのプロセス)
-**Thread-safe** : Yes
+ 異なるセッション間で値を保持: No
-**スコープ:** 4D ローカル、4D Server
+ **取りうる値**: Times in seconds (0) (デフォルト)、 Times in milliseconds (1)
-**2セッション間で設定を保持:** No
+**詳細**: オブジェクトプロパティ内およびコレクション要素内で時間値がどのように変換され保存されるかを定義するとともに、JSONおよびWeb エリアへの読込/書出の方法を定義します。デフォルトでは、4D v17 以降、時間はオブジェクト内では秒数として変換・保管されます。
-**取りうる値:** 0 または1からXまでの数字(0= 記録を取らない、1からX=シーケンシャルな数字、ファイル名に追加される)。デフォルトでは、値は0です(POP3通信は記録されません)。
+以前のリリースでは、時間値はこれらのコンテキストにおいてはミリ秒数として変換・保管されていました。このセレクターを使用することで、必要であれば以前の設定に戻すことで、移行がスムーズになります。
-**説明**: トランスポーターオブジェクトが*POP3\_transporter.getMail( )* または *POP3\_transporter.checkConnection( )*で処理されたとき、4D とPOP3 サーバー間の通信の記録を開始または停止します。デフォルトでは値は0 です(通信は記録されません)。この機構か有効化されている時、データベースのLogs フォルダにログファイルが作成されます。ファイル名は4DPOP3Log\_X.txt という形式となっており、X はログのシーケンシャル番号です。4DPOP3Log のサイズが10MBに到達すると、そのファイルは閉じられて新しいファイルが生成され、シーケンシャル番号は1つ増加します。同じ名前のファイルが既に存在する場合、それは上書きされます。シーケンシャル番号の開始番号を、value 引数を用いて指定することができます。デフォルトでは全てのファイルが保持されますが、Circular log limitation 定数を使用することで残すファイルの数を制限することもできます。
+**注**: ORDA メソッドとSQL エンジンはこの設定を無視し、時間値は常に秒数であるとみなします。
-4DPOP3Log\_X.txt ファイルの詳細な情報については、*ログファイルの詳細* の章を参照してください。
-### Is host database writable (117)
+### Tips delay (102)
-**注:** このセレクターは[Get database parameter](get-database-parameter.md) コマンドでしか使用できず、この値を設定することはできません。
+**スコープ:** 4Dアプリケーション
-**スコープ**: 4D アプリケーション
+**異なるセッション間で値を保持:** No
-**詳細**: ホストのプロジェクトファイル/ストラクチャーが書き込み可能なら1を、読み出し専用なら0を返します。
+**取りうる値:** 倍調整数 >= 0 (ティック)
+**詳細:** マウスカーソルがヘルプメッセージが関連づけられたオブジェクト内で停止してからTipsが表示されるまでの遅延時間です。値はティック(1/60秒)単位で表現されます。デフォルトの値は45ティック(=0.75秒)です。
-### IMAP Log (119)
-**Thread-safe** : Yes
-**スコープ**: 4D ローカル、4D Server
+### Tips duration (103)
-**異なるセッション間で値を保持**: No
+**スコープ:** 4Dアプリケーション
-**取りうる値**: 0 または1 から X(0= 記録しない、1からX= シーケンシャル番号、ファイル名に追加される)。デフォルトでは値は0 です(IMAP の交換は記録されない)。
+**異なるセッション間で値を保持:** No
-**詳細**: transporter オブジェクトが*IMAP\_transporter.getMail( )* または *IMAP\_transporter.checkConnection( )* で処理される際の4D とIMAP サーバーとの間の通信記録を開始または停止します。デフォルトでは、値は0です(通信は記録されません)。この機構が有効化されている場合、ログファイルがデータベースのLogフォルダに作成されます。ファイルは4DIMAPLog\_X.txt と名前がつけられ、このX はログのシーケンシャル番号です。ファイルのサイズが10MB に到達すると、ファイルは閉じられ、インクリメントされたシーケンシャル番号を持った新しいファイルが生成されます。同じ名前のファイルが既に存在する場合、それは直接置き換えられます。value 引数を使用するとシーケンス番号の開始番号を設定することができます。デフォルトで、全てのファイルは保持されますが、Circular log limitation 引数を使用することで保持するファイルの数をコントロールすることができます。
+**取りうる値:** 倍調整数 >= 60 (ティック)
-ファイルの詳細については、*ログファイルの詳細* の章を参照してください。
+**詳細:** Tipsの最大表示時間です。値はティック(1/60秒)単位で表現されます。デフォルトの値は720ティック(=12秒)です。
-### Libzip version (120)
-**スコープ:** カレントの4D マシン**
+### Tips enabled (101)
-2セッション間で設定を保持:** n/a**
+**スコープ:** 4D アプリケーション
-説明:** カレントマシン上の4D アプリケーションのlibzip ライブラリのバージョン番号を返します(読み出し専用)
+**異なるセッション間で値を保持:** No
+**取りうる値:** 0 = tips無効化、1 = tips有効化(デフォルト)
+**詳細:** 4DアプリケーションのTipsのカレントの表示状態を設定あるいは取得します。デフォルトでは、Tipsは有効化されています。
-### Pause logging (121)
+この引数は全ての4DTipsに影響するという点に注意してください。つまり、フォームヘルプメッセージとデザインモードのエディターTipsに影響します。
-**Thread-safe** : Yes
-**スコープ**: 4D アプリケーション**
-異なるセッション間で値を設定を保持**: No**
-取り得る値**: 0 (ログを再開)、1 (ログを停止)
+### Use legacy network layer (87)
-このセレクターを使用するとアプリケーション上で開始された全てのログオペレーションを停止/再開させることができます(ただしORDAログは除く)。この機能は4Dアプリケーションのタスクを一時的に軽くしたり、あるいはログオペレーションのスケジュールを設定することに有用です。
+**スコープ**: 4D ローカル、4D Server
+**異なるセッション間で値を保持**: Yes
-### TCPUDP log recording (131)
+**詳細:** クライアント/サーバー間の通信のネットワークレイヤーのカレントの状態を設定・取得します。旧式ネットワークレイヤーは4D v14 R5以降廃止予定となり、お使いのアプリケーションにおいて*ServerNet* ネットワークレイヤーへと積極的に置き換えられてい行くべきです。*ServerNet* は、将来のネットワークの進化の恩恵を受けるために、今後の4Dのリリースの中で必須要項となって行きます。互換性の理由から、既存のアプリケーションの速やかな移行をサポートするために、旧式のネットワークレイヤーは引き続きサポートされます(v14 R5以前のリリースから変換されたアプリケーションにおいてはデフォルトで旧式ネットワークレイヤーが使用されます)。クライアント/サーバー通信において旧式ネットワークレイヤーを使用するためにはこの引数に1を渡します(*ServerNet* が無効化されます)。0を渡すと旧式ネットワークレイヤーが無効化されます(そして*ServerNet* が使用されます)。
-**Scope:** 4D application.
+このプロパティはデータベース設定の*互換性ページ* の"旧式ネットワークレイヤー"オプションを使用することによっても設定できます(*ネットワーク/クライアント-サーバー通信*参照)。この章では、移行戦略についての議論を読むこともできます。*ServerNet* の速やかな有効化が推奨されます。
-**Kept between two sessions:** No.
+この引数が有効になるためには、アプリケーションを再起動する必要があります。OS X版の4D Server 64-bit 版においては*ServerNet* のみをサポートするため、このオプションはご利用いただけません(常に0を返します)。
-**Possible values:** `0`: Logging disabled (default), `1`: Logging enabled.
+**取り得る値:** 0 または 1 (0 = 旧式ネットワークレイヤーを使用しない、1 = 旧式ネットワークレイヤーを使用する)
-**Description:** Enables or disables the `4DTCPUDPLog.txt` file for logging TCP events.
+**デフォルトの値:** 4D v14 R5以降で作成されたデータベースにおいては0、4D v14 R4以前のものから変換されたデータベースにおいては1
-### RDP optimization (133)
-**Scope:** 4D application.
+### User param value (108)
-**Kept between two sessions:** No.
+**スコープ:** 4D スタンドアロン、4D Server
-**Possible values:** `0`: Disabled (default), `1`: Enabled.
+**2セッション間で値を保持:** No
+
+**取りうる値**: 任意のカスタムの文字列
+
+**説明:** 4D アプリケーションが再起動される際に、ひとつのセッションから次のセッションへと渡されるカスタムの文字列です。このセレクターは異なる引数を使用してアプリケーションを再起動する必要がある、自動化されたユニットテストなどのコンテキストで有用です。[SET DATABASE PARAMETER](set-database-parameter.md) で使用された場合、手動で、あるいは[OPEN DATABASE](open-database.md)(\*)、 [OPEN DATA FILE](open-data-file.md)、 または [RESTART 4D](restart-4d.md) コマンドを使用して4D が再起動したあとに開かれるデータベースで利用可能となる新しい値を定義します。[Get database parameter](get-database-parameter.md) で使用された場合、コマンドライン(*コマンドラインインターフェース* 参照)、4DLink ファイル(*4DLinkファイルを使用する* 参照)、あるいは前のセッションでの[SET DATABASE PARAMETER](set-database-parameter.md) への呼び出しなどを使用して定義された、現在利用可能なユーザー引数値を取得します。(\*) [SET DATABASE PARAMETER](set-database-parameter.md)がUser param value を設定した後に、[OPEN DATABASE](open-database.md)にuser-param xml 属性を含む.4DLink ファイル渡して呼び出した場合、4D は[SET DATABASE PARAMETER](set-database-parameter.md)で提供された引数のみを考慮します。
-**Description:** Enables or disables optimizations for RDP (Remote Desktop Protocol). When enabled, optimizes in particular the use of shared clipboard in RDP connections, which can otherwise lead to freezing issues. Note that this selector disables the support in clipboard for images encoded as data uri in raw text (only concerns images dropped or explicitly copied as text from a browser).
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/commands-legacy/set-database-parameter.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/commands-legacy/set-database-parameter.md
index a65c682040218a..cd85497e741d91 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21/commands-legacy/set-database-parameter.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/commands-legacy/set-database-parameter.md
@@ -21,6 +21,36 @@ displayed_sidebar: docs
*selector*には、変更するデータベースのパラメーターを指定します。4Dは*Database Parameters*テーマに定義済の下記のような定数があります。次の表は、各定数とその有効範囲、またその設定が2つの異なるセッションで保持されるかを示しています:
+### 4D Remote mode timeout (14)
+
+**スコープ**(旧式ネットワークレイヤーのみ): *value* が正数の場合4D アプリケーション
+
+**2セッション間で設定を保持**: *value* が正数の場合Yes
+
+**説明**: 非常に特殊な場合においてのみ使用されるべき定数です。この引数を使用して、4D Serverに接続したリモートの4Dマシンが参照するタイムアウト値を設定できます。リモートモードの4Dが使用するデフォルトのタイムアウト値は、リモートマシン上の環境設定の“クライアント-サーバ/設定”ページで設定されます。
+
+4D Remote Mode Timeout セレクターは旧式ネットワークレイヤーを使用している場合のみ考慮されます。*ServerNet* レイヤーが有効化されている場合には無視されます。この設定は4D Server Timeout (13) によって完全に管理されています。
+
+
+
+
+### 4D Server log recording (28)
+
+**Thread-safe** : Yes
+
+**Scope**: 4D Server, 4D リモート
+
+**2セッション間で設定を保持**: No**
+
+とりうる値**: 0 または 1 から X (0 = 記録しない, 1 から X = ファイル名に付加するシーケンス値)。
+
+: 4D Serverが受け取る標準的なリクエスト(Webリクエストを除く)の記録を開始または停止します。デフォルト値は0(リクエストを記録しない)です。
+
+サーバマシンが受信した各リクエストをログファイルに記録するよう、4D Serverに指示することができます。このメカニズムが有効になると、データベースストラクチャと同じ階層に2つのログファイルが作成されます。サーバー側では*4DRequestsLogServer\_X*.txt および *4DRequestsLog\_ProcessInfoServer\_X*.txt 、リモート側では*4DRequestsLog\_X*.txt および *4DRequestsLog\_ProcessInfo\_X*.txt on the と名付けられたファイルが作成されます(Xはログのシーケンシャル番号)。ファイルサイズが10MBに達するとそのファイルは閉じられ、インクリメントしたシーケンス番号を使用して新しいファイルが作成されます。もし同じ名前のファイルが存在する場合は置き換えられます。シーケンシャル番号の開始番号を、*value*引数を使用して指定できます。このテキストファイルにはそれぞれのリクエストに関する様々な情報(時間、プロセス番号、ユーザ、リクエストサイズ、処理時間など)がシンプルな表形式のフォーマットで保存されます。4DRequestLog ファイルのより詳細な情報については、*ログファイルの詳細* の章を参照してください。
+
+
+
+
### 4D Server timeout (13)
**スコープ**: *value* が正数なら4Dアプリケーション
@@ -41,53 +71,76 @@ displayed_sidebar: docs
-### 4D Remote mode timeout (14)
-**スコープ**(旧式ネットワークレイヤーのみ): *value* が正数の場合4D アプリケーション
+### Auto synchro resources folder (48)
-**2セッション間で設定を保持**: *value* が正数の場合Yes
+**スコープ**:4D リモートマシン
-**説明**: 非常に特殊な場合においてのみ使用されるべき定数です。この引数を使用して、4D Serverに接続したリモートの4Dマシンが参照するタイムアウト値を設定できます。リモートモードの4Dが使用するデフォルトのタイムアウト値は、リモートマシン上の環境設定の“クライアント-サーバ/設定”ページで設定されます。
+ **2セッション間で設定を保持**: No
-4D Remote Mode Timeout セレクターは旧式ネットワークレイヤーを使用している場合のみ考慮されます。*ServerNet* レイヤーが有効化されている場合には無視されます。この設定は4D Server Timeout (13) によって完全に管理されています。
+ **とりうる値**: 0 (同期しない), 1 (自動同期) または2 (確認する).
+
+**説明**: このコマンドを実行する4DクライアントマシンのResourcesフォルダの動的な同期モード。
+サーバ上のResourcesフォルダの内容が更新されたり、(リソースエクスプローラや SET DATABASE LOCALIZATION コマンドで) ユーザが同期をリクエストすると、サーバは接続されたユーザに通知を行います。
+クライアント側では3つの同期モードを選択できます。Auto Synchro Resources Folderセレクタはカレントセッションでクライアントマシンが使用するモードを指定できます:
-### Port ID (15)
+0 (デフォルト値): 動的な同期を行わない (同期リクエストは無視される)1: 自動の動的同期2: クライアントマシンにダイアログを表示し、同期の受け入れ回避を確認するアプリケーションの環境設定で、同期モードをグローバルに設定できます。
-**スコープ**: 4D ローカル, 4D Server
-**2セッション間で設定を保持**: No
-**説明**: Command SET DATABASE この引数を使用して、ローカルモードの4Dおよび4D Serverによる4D Webサーバが使用するTCPポートをオンザフライで変更することができます。デフォルト値は80で、この値は環境設定ダイアログボックスの“Web/設定”ページで設定できます。*TCP Port Numbers*テーマの定数を*value*引数に使用できます。
+### Cache flush periodicity (95)
+**Thread-safe** : Yes
-Port IDセレクタは、コンパイルして4D Desktopを組み込んだ4D Webサーバで役立ちます(この場合、デザインモードへのアクセス手段がありません)。TCPポートIDに関する詳細は*Webサーバー設定*を参照してください。
+**スコープ**: 4Dローカル、4D Server
+**異なるセッション間で値を保持**: No
-### Character set (17)
+**取りうる値**: 倍長整数 > 1 (秒)
-**説明**: 廃止 (互換性のために保持)。HTTPサーバー設定を変更するためには[WEB SET OPTION](web-set-option.md)と[WEB GET OPTION](web-get-option.md)コマンドを使用してください。
+**詳細**: 秒単位で指定された、キャッシュ保存頻度を取得あるいは設定します。この値を変更すると、データベース設定の[XML DECODE](xml-decode.md)内の**キャッシュを保存: X秒毎**オプションをセッション中の間上書きします(これはデータベース設定には保存されません)。
-### Max concurrent Web processes (18)
+
+### Cache unload minimum size (66)
+
+**スコープ**:4Dアプリケーション
+
+ **2セッション間で設定を保持**: No
+
+ **とりうる値**: 1より大きい正の倍長整数
+
+**説明**: エンジンがオブジェクトをデータベースキャッシュに配置する際に空き空間を作成する必要が出た場合、データベースキャッシュからリリースするメモリの最小サイズ (バイト単位)。
+
+このセレクタの目的はキャッシュからデータをリリースする時間を減らし、よりパフォーマンスを得ることにあります。キャッシュのサイズやデータベース中で処理されるデータのブロックサイズに応じてこの値を変更できます。
+
+このセレクタが使用されないとデフォルトで、4Dは空間が必要になった時最低10%のキャッシュをアンロードします。
+
+
+
+
+### Character set (17)
**説明**: 廃止 (互換性のために保持)。HTTPサーバー設定を変更するためには[WEB SET OPTION](web-set-option.md)と[WEB GET OPTION](web-get-option.md)コマンドを使用してください。
-### Client port ID (22)
-**スコープ**: すべての4Dリモートマシン
+### Circular log limitation (90)
- **2セッション間で設定を保持**: Yes
+**Thread-safe** : Yes
- **とりうる値**: セレクタ15参照
+**スコープ**: 4Dローカル、4D Server **異なるセッション間で値を保持**: No**
+
+取りうる値**: 任意の整数値、0 = 全てのログを保持**
+
+詳細**: 各タイプのロゴのローテーションに保存するファイル数の最大値。デフォルトでは、直近の50 ファイルが保持されます。*X* という値を渡した場合、直近の*X* 個のファイルのみが保持され、最も古いファイルは新しいファイルが作成されたときに自動的に削除されます。この設定は全てのログファイルに対して適用されます:リクエストログ(セレクター28と45)、デバッグログ(セレクター34)、イベントログ(セレクター79)、Web ログ([WEB SET OPTION](web-set-option.md)コマンドのセレクター29と84)、などです。
-**説明**: このセレクタを使用して、Webサーバとして使用する4Dクライアントマシンの動作パラメタを指定できます。これらのセレクタを用いて指定された値は、 Webサーバとして使用するすべての4D Clientマシンに対して適用されます。特定の4D Clientマシンに対してのみ値を指定したい場合には、4D Clientの環境設定ダイアログボックスを使用してください。
@@ -103,6 +156,43 @@ Port IDセレクタは、コンパイルして4D Desktopを組み込んだ4D Web
+
+### Client HTTPS port ID (40)
+
+**スコープ**:すべての4Dリモートマシン
+
+ **2セッション間で設定を保持**: Yes
+
+ **とりうる値**: 0 ~ 65535
+
+**説明**: このセレクタは、クライアントマシンのWebサーバがSSLによるセキュアな接続(HTTPSプロトコル)で使用するTCP ポート番号を、プログラムで変更するために使用できます。デフォルトの値は443(標準ポート番号)です。
+
+このセレクタの動作はセレクタ39と同じですが、Web サーバとして使用されるすべてのクライアントマシンに適用されます。特定のクライアントマシンの設定だけを変更するのであれば、4Dリモートの環境設定ダイアログ画面を使用してください。
+
+
+
+
+### Client log recording (45)
+
+**スコープ**: リモート4Dマシン
+
+2セッション間で設定を保持: No
+
+**とりうる値**: 0 または 1 から X (0 = 記録しない, 1 から X = ファイル名に付加するシーケンス値)。
+
+**説明**: コマンドを実行した4Dクライアントマシンが実行した標準的なリクエスト(Webリクエストを除く)の記録を開始または停止します。デフォルト値は0(リクエストを記録しない)です。
+
+
+
+クライアントマシンが実行したリクエストをログファイルに記録するよう、4Dに指示することができます。このメカニズムが有効になると、クライアントマシンのデータベースのローカルフォルダ内、Logsサブフォルダに2つのログファイルが作成されます。ファイルには"4DRequestsLog\_X.txt"と"4DRequestsLog\_ProcessInfo\_X.txt"(Xはログのシーケンシャル番号)の名前が付けられます。4DRequestsLogファイルサイズが10MBに達するとそのファイルは閉じられ、インクリメントしたシーケンス番号を使用して新しいファイルが作成されます。もし同じ名前のファイルが存在する場合は置き換えられます。シーケンシャル番号の開始番号を、value引数を使用して指定できます。
+
+
+
+このテキストファイルにはそれぞれのリクエストに関する様々な情報(時間、プロセス番号、リクエストサイズ、処理時間など)がシンプルな表形式のフォーマットで保存されます。4DRequestsLogについての詳細な情報については、*ログファイルの詳細* の章を参照してください。
+
+
+
+
### Client max concurrent Web proc (25)
**スコープ**: すべての4Dリモートマシン
@@ -115,25 +205,42 @@ Port IDセレクタは、コンパイルして4D Desktopを組み込んだ4D Web
-### Maximum Web requests size (27)
-**説明**: 廃止 (互換性のために保持)。HTTPサーバー設定を変更するためには[WEB SET OPTION](web-set-option.md)と[WEB GET OPTION](web-get-option.md)コマンドを使用してください。
+### Client port ID (22)
+**スコープ**: すべての4Dリモートマシン
+ **2セッション間で設定を保持**: Yes
-### 4D Server log recording (28)
+ **とりうる値**: セレクタ15参照
-**Thread-safe** : Yes
+**説明**: このセレクタを使用して、Webサーバとして使用する4Dクライアントマシンの動作パラメタを指定できます。これらのセレクタを用いて指定された値は、 Webサーバとして使用するすべての4D Clientマシンに対して適用されます。特定の4D Clientマシンに対してのみ値を指定したい場合には、4D Clientの環境設定ダイアログボックスを使用してください。
-**Scope**: 4D Server, 4D リモート
-**2セッション間で設定を保持**: No**
-とりうる値**: 0 または 1 から X (0 = 記録しない, 1 から X = ファイル名に付加するシーケンス値)。
-: 4D Serverが受け取る標準的なリクエスト(Webリクエストを除く)の記録を開始または停止します。デフォルト値は0(リクエストを記録しない)です。
+### Client Server port ID (35)
+
+**スコープ**:データベース
+
+ **2セッション間で設定を保持**: Yes
+
+ **とりうる値**: 0~65535
+
+**説明**: 4D Server が(4D Client に対して)データベースを公開するために使用されるTCPポート番号をプログラムで変更するために使用します。デフォルト値は19813 です。
+
+
+
+この値を変更すれば、TCPプロトコルを使用して、複数の4D クライアント/サーバアプリケーションを同じマシンで同時に使用することができます。その場合、それぞれのアプリケーションごとに異なるポート番号を設定します。
+
+
+
+公開ポート番号は、ストラクチャファイルに記録されています。ローカルモードの4Dで設定することもできますが、クライアント/サーバ環境でのみ考慮されます。
+
+
+
+値を変更した場合、新しい設定が有効になるためには、アプリケーションを再起動する必要があります。
-サーバマシンが受信した各リクエストをログファイルに記録するよう、4D Serverに指示することができます。このメカニズムが有効になると、データベースストラクチャと同じ階層に2つのログファイルが作成されます。サーバー側では*4DRequestsLogServer\_X*.txt および *4DRequestsLog\_ProcessInfoServer\_X*.txt 、リモート側では*4DRequestsLog\_X*.txt および *4DRequestsLog\_ProcessInfo\_X*.txt on the と名付けられたファイルが作成されます(Xはログのシーケンシャル番号)。ファイルサイズが10MBに達するとそのファイルは閉じられ、インクリメントしたシーケンス番号を使用して新しいファイルが作成されます。もし同じ名前のファイルが存在する場合は置き換えられます。シーケンシャル番号の開始番号を、*value*引数を使用して指定できます。このテキストファイルにはそれぞれのリクエストに関する様々な情報(時間、プロセス番号、ユーザ、リクエストサイズ、処理時間など)がシンプルな表形式のフォーマットで保存されます。4DRequestLog ファイルのより詳細な情報については、*ログファイルの詳細* の章を参照してください。
@@ -153,19 +260,36 @@ Port IDセレクタは、コンパイルして4D Desktopを組み込んだ4D Web
-### Table sequence number (31)
-**スコープ**:4D アプリケーション
+### Current process debug log recording (111)
- **2セッション間で設定を保持**: Yes
+**スコープ:** 4D アプリケーション
- **とりうる値**: 任意の倍長整数値
+**異なるセッション間で値を保持:** No
-**説明**: Command SET DATABASE PARAMETERこのセレクタは、引数に渡したテーブルのレコードの、カレントのユニーク番号を取得あるいは設定するために使用します。“カレントの数値”とは“最後に使用された数値”を意味します。SET DATABASE PARAMETERコマンドを使用してこの値を変更すると、渡された値+1の番号を使用して次のレコードが作成されます。この新しい番号は、[Sequence number](sequence-number.md "Sequence number")コマンドによって返される、さらにはストラクチャエディタやSQLで自動インクリメントが設定されたフィールドに返される番号です。
+**詳細**: **カレントプロセスにおける**プログラミングイベントの、別のログファイルへのシーケンシャルな記録を開始または停止します。このログはDebug log recording (セレクター34)に似ていますが、こちらはカレントプロセスにのみを対象とします。ログファイル名はアルファベットの"p"とプロセス番号を含みます: 4DDebugLog\[\_p*N*_*n*].txt ここでのNはプロセスの固有のIDです。
+
+このフォーマットと*4DDebugLog* ファイルの使用についての詳細な情報については、デザインリファレンスの*ログファイルの詳細* を参照してください。
+**注:** このセレクターはデバッグ目的のためだけに提供されており、使用する際には注意が必要です。特に、アプリケーションのパフォーマンスに影響しうるため、製品で使用してはいけません。 Debug log recording および Current process debug log recording セレクターは同時に併用することができ、その場合にはメインのログファイルにはカレントプロセスのアクションは記録されません。
-デフォルトで、この固有の番号は4Dが設定し、レコードの作成順に対応します。詳細は[Sequence number](sequence-number.md "Sequence number")コマンドのドキュメントを参照してください。
+
+
+### Dates inside objects (85)
+
+スコープ: カレントプロセス
+
+ 2セッション間で設定を保持: No
+
+ **取り得る値**: String type without time zone (0), String type with time zone (1), Date type (2) (デフォルト)
+
+**説明**: 日付がオブジェクトにどのように保存されるかを定義するとともに、どのようにJSON に読み込み/書き出しされるかも定義します。
+
+セレクターの値がDate type (4D v17以降で作成されたデータベースにおけるデフォルト)のとき、4D 日付はオブジェクト内で日付型として保存され、ローカルの日付設定に準拠します。JSON フォーマットに変換された時、日付属性は、時間を含まない文字列へと変換されます(**注:** この設定は、データベース設定のにある"オブジェクト内ではISO日付フォーマットの代わりに日付型を使用"オプションによって設定することができます)。
+
+セレクターにを渡した場合、4D 日付はローカルなタイムゾーンを考慮に入れつつISO 文字列に変換されます。例えば、例えば、23/08/2013という日付の変 換を、フランスのサマータイム(GMT+2)にて実行した場合、JSONフォーマットの"2013-08-22T22:00:00Z"という結 果が返されます。この原理はJavaScriptの標準のオペレーションに従うものです。これは異なるタイムゾーンにいる人にJSON日付の値を 送る場合には、エラーの原因となりかねません。例えば、[Selection to JSON](selection-to-json.md)を使ってフランスでエクスポートされたテーブルを[JSON TO SELECTION](json-to-selection.md) を使用してアメリカで再インポートする、というような場合です。日付の値は、デフォルトではそれぞれのタイムゾーンにおいて再変換 されるため、データベース内に保存された値は異なってしまいます。こういった場合には、このセレクターにString type without time zoneを渡す事によって、タイムゾーンを考慮しないよ うに日付の変換モードを変更することができます。すると、23/08/2013という日付を変換した場合に は、"2013-08-23T00:00:00Z"という値を返すようになります。
+
@@ -217,486 +341,431 @@ SET DATABASE PARAMETER (34;0) // ファイルを無効化
-### Client Server port ID (35)
-**スコープ**:データベース
+### Diagnostic log level (86)
- **2セッション間で設定を保持**: Yes
+**Thread-safe** : Yes
- **とりうる値**: 0~65535
+**スコープ:** 4D アプリケーション**
-**説明**: 4D Server が(4D Client に対して)データベースを公開するために使用されるTCPポート番号をプログラムで変更するために使用します。デフォルト値は19813 です。
+** **異なるセッション間で設定を保持:** No**
+** **説明:** 診断ログが有効化された際に、そこに含まれるメッセージのレベル(Diagnostic log recording セレクターを参照)。各レベルは診断メッセージのカテゴリを指定し、それより重要なカテゴリのメッセージも自動的に含まれます。カテゴリの詳細については、*developer.4d.com* 上の*Diagnostic log levels* の章を参照してください。
+ **取りうる値:** 以下の定数のいづれか(デフォルトは Log info ): Log trace: ERROR、WARN、INFO、DEBUG、TRACE を有効化します(最も詳細なレベル) Log debug: ERROR、WARN、INFO、DEBUG を有効化します Log info: ERROR、WARN、INFO を有効化します(デフォルト) Log warn: ERROR、WARN を有効化します Log error: ERROR を有効化します(最も簡略なレベル)
-この値を変更すれば、TCPプロトコルを使用して、複数の4D クライアント/サーバアプリケーションを同じマシンで同時に使用することができます。その場合、それぞれのアプリケーションごとに異なるポート番号を設定します。
-公開ポート番号は、ストラクチャファイルに記録されています。ローカルモードの4Dで設定することもできますが、クライアント/サーバ環境でのみ考慮されます。
+### Diagnostic log recording (79)
+**Thread-safe** : Yes
+**スコープ**: 4Dアプリケーション
-値を変更した場合、新しい設定が有効になるためには、アプリケーションを再起動する必要があります。
+2セッション間で設定を保持: No
+取りうる値: 0 または 1 (0 = 記録しない, 1 = 記録する)
+: 4D診断ファイルの記録を開始または停止する。デフォルトの値は0(記録しない)です。
-### HTTPS Port ID (39)
+4Dは診断ファイルの中に内部的なアプリケーション処理に関連するイベントを継続的に記録することができます。このファイルに含まれる情報は4Dアプリケーション開発のために使用され、4D社の技術サポート担当により解析されます。このセレクターに1を渡すと、データベースの**Logs** フォルダ内に診断ファイルが自動的に作成されます(またはすでに存在する場合には開かれます)。ファイルには*4DDiagnosticLog\_X*.txt (あるいはサーバー側で生成された場合には *4DDiagnosticLogServer\_X*.txt) という名前が付けられます。このファイルのサイズが10MBに達するとそのファイルは閉じられ、DatabaseName\_N.txtが生成されます (Nは連番)。
-**説明**: 廃止 (互換性のために保持)。HTTPサーバー設定を変更するためには[WEB SET OPTION](web-set-option.md)と[WEB GET OPTION](web-get-option.md)コマンドを使用してください。
+[LOG EVENT](log-event.md)コマンドを使用してカスタム情報をこのファイルに書き込むこともできます。
-### Client HTTPS port ID (40)
-**スコープ**:すべての4Dリモートマシン
+### Direct2D get active status (74)
- **2セッション間で設定を保持**: Yes
+**注:** このセレクターは[Get database parameter](get-database-parameter.md)コマンドでのみ使用することができ、設定することはできません。
- **とりうる値**: 0 ~ 65535
+説明: WindowsにおいてDirect2Dのアクティブな実装を返します。
-**説明**: このセレクタは、クライアントマシンのWebサーバがSSLによるセキュアな接続(HTTPSプロトコル)で使用するTCP ポート番号を、プログラムで変更するために使用できます。デフォルトの値は443(標準ポート番号)です。
+取りうる値: 0, 1, 2, 3, 4 または 5 (セレクター69の値参照)。返される値はDirect2Dが利用可能かどうか、およびハードウェア、OSによってサポートされるDirec2Dの品質に基づきます。
-このセレクタの動作はセレクタ39と同じですが、Web サーバとして使用されるすべてのクライアントマシンに適用されます。特定のクライアントマシンの設定だけを変更するのであれば、4Dリモートの環境設定ダイアログ画面を使用してください。
+例えば以下のコードを実行した場合、
-### SQL Autocommit (43)
+ SET DATABASE PARAMETER(Direct2D status;Direct2D Hardware) $mode:=Get database parameter(Direct2D get active status)
-**スコープ**:データベース
- **2セッション間で設定を保持**: Yes
- **とりうる値**: 0 (無効) または 1 (有効)
+- Windows 7以降、システムがDirect2D互換のハードウェアを検知すると、$modeに1が設定されます。そうでなければ$modeは3に設定されます (ソフトウェアコンテキスト)。
-**説明**: SQLの自動コミットモードを有効または無効にするために使用します。デフォルトは 0 (無効モード) です。
+- Windows Vistaでは、システムがDirect2D互換のハードウェアを検知すると、$modeに1が設定されます。そうでなければ$modeは0に設定されます (Direct2D無効)。
+- Windows XPでは、$modeは常に0です (Direct2D非互換)。
-自動コミットモードは、データベースの参照整合性を強化するために使用されます。このモードが有効の時、すべての*SELECT*, INSERT, *UPDATE* そして *DELETE* (SIUD) クエリは、これらがトランザクション内で実行されていない場合、自動でアドホックなトランザクションに含められます。このモードはデータベースの環境設定でも設定できます。
+### Direct2D status (69)
-### SQL Engine case sensitivity (44)
+**スコープ*: 4Dアプリケーション*
-**スコープ**: データベース**
+ *(Direct2D Software) のみが許可されます。*
-2セッション間で設定を保持**: Yes**
-とりうる値**: 0 (大文字小文字を区別しない) または 1 (区別する)
-: SQLエンジンが文字列比較を行う際に、大文字と小文字の違いを考慮させるかどうかを設定します。 デフォルトで値は1 (大文字小文字を区別する) です。SQLエンジンは文字列比較 (並び替えやクエリ) の際に大文字と小文字とアクセント付き文字を異なる文字として扱います。例えば“ABC”= “ABC”ですが“ABC” # “Abc”であり、"abc" # "âbc"です。SQLエンジンと4Dエンジンの動作をそろえたいなど特定の場合では、大文字と小文字を区別しない文字列比較 (“ABC”=“Abc"="âbc") を使用できます。
-**警告:* このオプションはデータベースのストラクチャーファイルと全てのプロセスを変更するため、パフォーマンス上の観点から、データベースのスタートアップ時にのみ設定することが強く推奨されます。*
+### HTTP compression level (50)
+**説明**: 廃止 (互換性のために保持)。HTTPサーバー設定を変更するためには[WEB SET OPTION](web-set-option.md)と[WEB GET OPTION](web-get-option.md)コマンドを使用してください。
-このオプションはアプリケーション環境設定の[CALL SUBFORM CONTAINER](call-subform-container.md) で設定できます。
+### HTTP compression threshold (51)
-### Client log recording (45)
+**説明**: 廃止 (互換性のために保持)。HTTPサーバー設定を変更するためには[WEB SET OPTION](web-set-option.md)と[WEB GET OPTION](web-get-option.md)コマンドを使用してください。
-**スコープ**: リモート4Dマシン
-2セッション間で設定を保持: No
-**とりうる値**: 0 または 1 から X (0 = 記録しない, 1 から X = ファイル名に付加するシーケンス値)。
-**説明**: コマンドを実行した4Dクライアントマシンが実行した標準的なリクエスト(Webリクエストを除く)の記録を開始または停止します。デフォルト値は0(リクエストを記録しない)です。
+### HTTPS Port ID (39)
+**説明**: 廃止 (互換性のために保持)。HTTPサーバー設定を変更するためには[WEB SET OPTION](web-set-option.md)と[WEB GET OPTION](web-get-option.md)コマンドを使用してください。
-クライアントマシンが実行したリクエストをログファイルに記録するよう、4Dに指示することができます。このメカニズムが有効になると、クライアントマシンのデータベースのローカルフォルダ内、Logsサブフォルダに2つのログファイルが作成されます。ファイルには"4DRequestsLog\_X.txt"と"4DRequestsLog\_ProcessInfo\_X.txt"(Xはログのシーケンシャル番号)の名前が付けられます。4DRequestsLogファイルサイズが10MBに達するとそのファイルは閉じられ、インクリメントしたシーケンス番号を使用して新しいファイルが作成されます。もし同じ名前のファイルが存在する場合は置き換えられます。シーケンシャル番号の開始番号を、value引数を使用して指定できます。
-
-
-
-このテキストファイルにはそれぞれのリクエストに関する様々な情報(時間、プロセス番号、リクエストサイズ、処理時間など)がシンプルな表形式のフォーマットで保存されます。4DRequestsLogについての詳細な情報については、*ログファイルの詳細* の章を参照してください。
-
-
-
-### Query by formula on server (46)
-
-**スコープ**: カレントテーブルおよびプロセス
- **2セッション間で設定を保持**: No
- **とりうる値**: 0 (データベース設定を使用), 1 (クライアント上で実行) または 2 (サーバ上で実行)
+### Idle connections timeout (54)
-**説明**: 引数に渡された*table*に対して実行される[QUERY BY FORMULA](query-by-formula.md "QUERY BY FORMULA")や[QUERY SELECTION BY FORMULA](query-selection-by-formula.md "QUERY SELECTION BY FORMULA")コマンドの実行場所。
+**スコープ**: 値が負数でないなら4Dアプリケーション
-クライアント/サーバモードでデータベースを使用するとき、フォーミュラを使用したクエリをサーバ上またはクライアント上で実行させることができます:
+**2セッション間で設定を保持**: No
-4D v11 SQLで作成されたデータベースでは、これらのコマンドはサーバ上で実行されます。変換されたデータベースでは、これらのコマンドは、以前のバージョンの4Dと同様、クライアントマシン上で実行されます。変換されたデータベースでは、環境設定のアプリケーション/互換性ページで、これらのコマンドの実行場所をグローバルに変更できます。この実行場所の違いは、アプリケーションのパフォーマンス (通常サーバ上で実行したほうが早い) だけでなく、プログラミングにも影響します。実際フォーミュラの部品の値 (特にメソッドから呼ばれる変数) は、実行コンテキストにより異なります。このセレクタを使用して開発者は、アプリケーションの動作を適応させられます。
+**とりうる値**: 持続時間を秒で表す値。値は正数 (新規接続) または負数 (既存の接続)をとることができます。デフォルト値は20です。
-*value* 引数に0を渡すと、フォーミュラを使用するクエリの実行場所は、データベースの設定に基づきます: 4D v11 SQLで作成されたデータベースでは、これらのコマンドはサーバ上で実行されます。変換されたデータベースでは、データベース環境設定に基づき、クライアントマシンまたはサーバマシンで実行されます。*value*に1または2を渡すと、これらのコマンドの実行場所をクライアントマシンまたはサーバマシンに強制できます。
+**説明**: この引数を使用して、4DデータベースエンジンとSQLエンジン両方への動きのない接続の最大時間 (タイムアウト) を設定できます。また*ServerNet* (新しいネットワークレイヤー)モードにおいては4Dアプリケーションサーバーへの接続のタイムアウトも設定します。
-例題2を参照してください。
-**Note:** "SQLタイプ"のJOINを有効にしたい場合 (QUERY BY FORMULA Joins (49) セレクタ参照) は、フォーミュラがレコードにアクセスすることができるよう、常にフォーミュラをサーバ上で実行しなければなりません。このコンテキストでは、フォーミュラはいかなるメソッド呼び出しも含んではいけないことに注意してください。そうでない場合、自動でリモートマシンでの実行に切り替わります。
+動作していない接続がこの制限時間に達すると、接続は自動でスタンバイ状態に置かれます。つまりクライアント/サーバセッションがフリーズされ、ネットワー クソケットが閉じられます。サーバー管理ウィンドウでは、ユーザープロセスの状態は"延期"と表示されます。この動作はユーザに対し完全に透過的です。スタンバイ状態の接続でリクエストが開始されると、ソケットが自動で再び開かれ、クライアント/サーバセッションが再び有効になります。
-### Order by formula on server (47)
-**スコープ**:カレントテーブルおよびプロセス
+この設定によりサーバのリソースを節約できます。スタンバイ状態の接続はソケットを 閉じ、サーバ上のプロセスを解放します。他方これにより、ファイアウォールがアイドルなソケットを閉じてしまうことに伴い接続が失われることを避けること ができます。このためには、アイドル接続のタイムアウト値はファイアウォールのタイムアウト値よりも小さくなくてはなりません。
- **2セッション間で設定を保持**: No
- **とりうる値**: 0 (データベース設定を使用), 1 (クライアント上で実行) または 2 (サーバ上で実行)
-**説明**: 引数に渡されたtableに対して実行される[ORDER BY FORMULA](order-by-formula.md "ORDER BY FORMULA")コマンドの実行場所。
+*value*に正数を渡すと、設定はすべてのプロセスのすべての新規接続に適用されます。負数を渡すと、設定はカレントプロセスの開かれた接続に適用されます。0を渡すと、アイドル接続のタイムアウトは行われません。
-クライアント/サーバモードでデータベースを使用するとき、[ORDER BY FORMULA](order-by-formula.md "ORDER BY FORMULA")コマンドをサーバ上またはクライアント上で実行させることができます。このセレクタを使用して、このコマンドの実行場所 (サーバまたはクライアント) を指定できます。このモードはデータベース環境設定でも設定できます。詳細はセレクタ46、Query By Formula On Serverの説明を参照してください。
+このパラメターはクライアント側で設定する必要があります。通常この値を変更する必要はありません。
-**Note:** "SQLタイプ"のJOINを有効にしたい場合 (QUERY BY FORMULA Joins (49) セレクタ参照) は、フォーミュラがレコードにアクセスすることができるよう、常にフォーミュラをサーバ上で実行しなければなりません。このコンテキストでは、フォーミュ ラはいかなるメソッド呼び出しも含んではいけないことに注意してください。そうでない場合、自動でリモートマシンでの実行に切り替わります。
-### Auto synchro resources folder (48)
+### IMAP Log (119)
-**スコープ**:4D リモートマシン
+**Thread-safe** : Yes
- **2セッション間で設定を保持**: No
+**スコープ**: 4D ローカル、4D Server
- **とりうる値**: 0 (同期しない), 1 (自動同期) または2 (確認する).
+**異なるセッション間で値を保持**: No
-**説明**: このコマンドを実行する4DクライアントマシンのResourcesフォルダの動的な同期モード。
+**取りうる値**: 0 または1 から X(0= 記録しない、1からX= シーケンシャル番号、ファイル名に追加される)。デフォルトでは値は0 です(IMAP の交換は記録されない)。
-サーバ上のResourcesフォルダの内容が更新されたり、(リソースエクスプローラや SET DATABASE LOCALIZATION コマンドで) ユーザが同期をリクエストすると、サーバは接続されたユーザに通知を行います。
+**詳細**: transporter オブジェクトが*IMAP\_transporter.getMail( )* または *IMAP\_transporter.checkConnection( )* で処理される際の4D とIMAP サーバーとの間の通信記録を開始または停止します。デフォルトでは、値は0です(通信は記録されません)。この機構が有効化されている場合、ログファイルがデータベースのLogフォルダに作成されます。ファイルは4DIMAPLog\_X.txt と名前がつけられ、このX はログのシーケンシャル番号です。ファイルのサイズが10MB に到達すると、ファイルは閉じられ、インクリメントされたシーケンシャル番号を持った新しいファイルが生成されます。同じ名前のファイルが既に存在する場合、それは直接置き換えられます。value 引数を使用するとシーケンス番号の開始番号を設定することができます。デフォルトで、全てのファイルは保持されますが、Circular log limitation 引数を使用することで保持するファイルの数をコントロールすることができます。
-クライアント側では3つの同期モードを選択できます。Auto Synchro Resources Folderセレクタはカレントセッションでクライアントマシンが使用するモードを指定できます:
+ファイルの詳細については、*ログファイルの詳細* の章を参照してください。
-0 (デフォルト値): 動的な同期を行わない (同期リクエストは無視される)1: 自動の動的同期2: クライアントマシンにダイアログを表示し、同期の受け入れ回避を確認するアプリケーションの環境設定で、同期モードをグローバルに設定できます。
-### Query by formula joins (49)
+### Is current database a project (112)
-**スコープ**:カレントプロセス
+**注:** このセレクターは[Get database parameter](get-database-parameter.md) コマンドでのみ使用可能で、その値を設定することはできません。
- **2セッション間で設定を保持**: No
+: 4D アプリケーション**
- **とりうる値**: 0 (データベース設定を使用), 1 (常に自動リレーションを使用) または 2 (可能ならSQL JOINを使用)
+詳細**: カレントのデータベースアーキテクチャーがプロジェクトモードなら1を、それ以外の場合には0を返します。詳細な情報については、*データベースのプロジェクトモードとバイナリーモード* の章を参照してください。
-**説明**: "SQL JOIN"の利用に関連する、[QUERY BY FORMULA](query-by-formula.md "QUERY BY FORMULA")と[QUERY SELECTION BY FORMULA](query-selection-by-formula.md "QUERY SELECTION BY FORMULA")コマンドの動作モード。
-4D v11 SQLのバージョン11.2以降で作成されたデータベースでは、これらのコマンドはSQL JOINモデルに基づくJOINを実行します。このメカニズムを使用して、(以前のバージョンでは必要な条件だった) 自動リレーションで接続されていない他のテーブルに対して実行されたクエリに基づき、テーブルのセレクションを変更できます。
-QUERY BY FORMULA Joinsセレクタで、カレントプロセスの、フォーミュラによるクエリの動作モードを指定できます:
-0: データベースの現在の設定を使用する (デフォルト値)。4D v11 SQLのバージョン11.2以降で作成されたデータベースでは、"SQL JOIN"はフォーミュラによるクエリに対し常に有効です。変換されたデータベースでは、互換性のためデフォルトでこのメカニズムは有効になっていません。しかし環境設定で実装できます。1: 常に自動リレーションを使用 (= 以前のバージョンの4Dの動作)。このモードでは、他のテーブルに対して行われたクエリに基づきテーブルのセレクションを作成するためには、リレーションが必要です。4Dは"SQL JOIN"を行いません。2: 可能であればSQL JOINを使用 (= 4D v11 SQLのバージョン11.2以降で作成されたデータベースのデフォルト動作)。このモードでは、フォーミュラが適合する限り、4Dはフォーミュラによるクエリに"SQL JOIN"を使用します (2つの例外があります。[QUERY BY FORMULA](query-by-formula.md "QUERY BY FORMULA")や[QUERY SELECTION BY FORMULA](query-selection-by-formula.md "QUERY SELECTION BY FORMULA") コマンドの説明を参照)。**Note:** 4Dのリモートモードにおいて、"SQL JOIN"はフォーミュラがサーバ上で実行されているときにのみ使用できます (レコードへのアクセスが必要なため)。フォーミュラの実行場所を設定するには、セレクタ46と47を参照してください。
+### Is host database a project (113)
+**注:** このセレクターは[Get database parameter](get-database-parameter.md) コマンドでのみ使用可能で、その値を設定することはできません。
+: 4D アプリケーション**
-### HTTP compression level (50)
+詳細**: ホストデータベースアーキテクチャーがプロジェクトモードなら1を、それ以外の場合には0を返します。詳細な情報については、*データベースのプロジェクトモードとバイナリーモード* の章を参照してください。
-**説明**: 廃止 (互換性のために保持)。HTTPサーバー設定を変更するためには[WEB SET OPTION](web-set-option.md)と[WEB GET OPTION](web-get-option.md)コマンドを使用してください。
-### HTTP compression threshold (51)
+### Is host database writable (117)
-**説明**: 廃止 (互換性のために保持)。HTTPサーバー設定を変更するためには[WEB SET OPTION](web-set-option.md)と[WEB GET OPTION](web-get-option.md)コマンドを使用してください。
+**注:** このセレクターは[Get database parameter](get-database-parameter.md) コマンドでしか使用できず、この値を設定することはできません。
+**スコープ**: 4D アプリケーション
+**詳細**: ホストのプロジェクトファイル/ストラクチャーが書き込み可能なら1を、読み出し専用なら0を返します。
-### Server base process stack size (53)
-**スコープ**: 4D Server
- 2セッション間で設定を保持: No
- **とりうる値**:正の倍長整数
+### Libldap version (114)
-**説明**: サーバ上のプリエンプティブシステムプロセス毎に割り当てるスタックのサイズ (バイト単位) です。デフォルトでの値はシステムによって決定されます。
+**スコープ**: カレント4D マシン
-プ リエンプティブシステムプロセスはメインの4D クライアントプロセスを制御するためにロードされます。デフォルトでそれぞれのプリエンプティブプロセスに割り当てられるサイズはおよその場合最適なサイ ズですが、何百ものプロセスが作成されるようなケースではこのサイズが適切かどうか検討する必要が出てくるかもしれません。
+**異なるセッション間で値を保持**: No
-データベースが実行する処理がそれを許す限り、最適化の目的でこのサイズを大幅に減らすことができます ( 例えばデータベースで大量のレコードの並び替えなどを行わない場合)。512 や256 KB でさえも設定可能です。スタックサイズを小さくしすぎることは致命的であり、4D Server の動作に害を及ぼすことになるので注意してください。このパラメタの設定は注意を持って行い、データベースの利用状況 (レコード数や行う処理など) を考慮しながら行わなければなりません。
+**詳細**: カレントマシン上の4D アプリケーション内のLDAP ライブラリーのバージョン番号を返します(読み出し専用)
-このパラメタの設定を行うには、*On Server Startupデータベースメソッド* などにおいてサーバ上でコマンドが実行されなければなりません。
-### Idle connections timeout (54)
+### Libsasl version (115)
-**スコープ**: 値が負数でないなら4Dアプリケーション
+**スコープ**: カレント4D マシン**
-**2セッション間で設定を保持**: No
+異なるセッション間で値を保持**: No**
-**とりうる値**: 持続時間を秒で表す値。値は正数 (新規接続) または負数 (既存の接続)をとることができます。デフォルト値は20です。
+詳細**: カレントマシン上の4D アプリケーション内のSASL ライブラリーのバージョン番号を返します(読み出し専用)
-**説明**: この引数を使用して、4DデータベースエンジンとSQLエンジン両方への動きのない接続の最大時間 (タイムアウト) を設定できます。また*ServerNet* (新しいネットワークレイヤー)モードにおいては4Dアプリケーションサーバーへの接続のタイムアウトも設定します。
-動作していない接続がこの制限時間に達すると、接続は自動でスタンバイ状態に置かれます。つまりクライアント/サーバセッションがフリーズされ、ネットワー クソケットが閉じられます。サーバー管理ウィンドウでは、ユーザープロセスの状態は"延期"と表示されます。この動作はユーザに対し完全に透過的です。スタンバイ状態の接続でリクエストが開始されると、ソケットが自動で再び開かれ、クライアント/サーバセッションが再び有効になります。
+### Libzip version (120)
+**スコープ:** カレントの4D マシン**
+2セッション間で設定を保持:** n/a**
-この設定によりサーバのリソースを節約できます。スタンバイ状態の接続はソケットを 閉じ、サーバ上のプロセスを解放します。他方これにより、ファイアウォールがアイドルなソケットを閉じてしまうことに伴い接続が失われることを避けること ができます。このためには、アイドル接続のタイムアウト値はファイアウォールのタイムアウト値よりも小さくなくてはなりません。
+説明:** カレントマシン上の4D アプリケーションのlibzip ライブラリのバージョン番号を返します(読み出し専用)
-*value*に正数を渡すと、設定はすべてのプロセスのすべての新規接続に適用されます。負数を渡すと、設定はカレントプロセスの開かれた接続に適用されます。0を渡すと、アイドル接続のタイムアウトは行われません。
+### Log command list (80)
+**スコープ**: 4D アプリケーション
-このパラメターはクライアント側で設定する必要があります。通常この値を変更する必要はありません。
+**2セッション間で設定を保持**: No
+**取りうる値**: 記録する4Dコマンドの番号リスト。型は文字列で各コマンド番号をセミコロンで区切ります。"all"を渡すとすべてのコマンドが記録され、"" (空の文字列) を渡すとなにも記録されません。
+**説明**: デバッグファイルに記録する4Dコマンドのリスト (セレクター 34, Debug Log Recording参照)。デフォルトではすべての4Dコマンドが記録されます。
-### PHP interpreter IP address (55)
+このセレクターを使用すれば、記録に残したい4Dコマンドを指定することで、デバッグファイルに保存される情報の量を制限することができます。例えば以下のようにコードを記述できます:
-**スコープ**: 4D アプリケーション
+ SET DATABASE PARAMETER(Log command list;"277;341") // QUERY および QUERY SELECTION コマンドのみを記録する
-2セッション間で設定を保持: No**
-値**: IPv4 型にフォーマットされた文字列(例 "127.0.0.1") あるいはIPv6 型にフォーマットされた文字列(例 "2001:0db8:0000:0000:0000:ff00:0042:8329")
-: FastCGI を経由してPHPインタプリタと通信を行うために、4D がローカルで使用するIP アドレス。デフォルトで値は"127.0.0.1" です(IPv5 フォーマットのアドレスは4D v16 R4 以降でサポートされます)。このアドレスは4D が配置されているマシンに対応しなければなりません。このパラメタはデータベース設定を使用してすべてのマシン用にグローバルに設定できます。
-PHPインタプリタに関する詳細は*Design Reference*マニュアルを参照してください。
+### Max concurrent Web processes (18)
+**説明**: 廃止 (互換性のために保持)。HTTPサーバー設定を変更するためには[WEB SET OPTION](web-set-option.md)と[WEB GET OPTION](web-get-option.md)コマンドを使用してください。
-### PHP interpreter port (56)
-**スコープ**:4D アプリケーション
- **2セッション間で設定を保持**: No
+### Maximum Web requests size (27)
-**値**: 正の倍長整数値。デフォルト値は8002。
+**説明**: 廃止 (互換性のために保持)。HTTPサーバー設定を変更するためには[WEB SET OPTION](web-set-option.md)と[WEB GET OPTION](web-get-option.md)コマンドを使用してください。
-**説明**: 4DのPHPインタプリタが使用するTCPポート番号。データベース設定でこの値をすべてのマシン用にグローバルに変更できます。PHPインタープリタに関する詳細は*Design Reference* マニュアルを参照してください。
-### SSL cipher list (64)
+### Min TLS version (105)
-**スコープ**: 4Dアプリケーション **2セッション間で設定を保持**: No
+**スコープ**: 4D Server、4D Web サーバーおよび4D SQL サーバー
-**とりうる値**: コロンで区切られた一連の文字列 (例 "ECDHE-RSA-AES128-....")
+**異なるセッション間で値を保持**: No
-**説明**: 安全なプロトコルのために4Dが使用する暗号リストです。このリストを使用して4Dによって実装された暗号化アルゴリズムの順位を変更することができます。例えば、以下の文字列を *value* 引数に渡す事ができます:"HIGH:!aNULL:!MD5:!3DES:!CAMELLIA:!AES128:!RSA:!DH:!RC4". 暗号リストのシンタックスの完全な詳細については、*OpenSSL の暗号ページ* *のサイト* を参照して下さい。
+**詳細**: Transport Layer Security (TLS) レベルを指定するのに使用します。これはデータ暗号化とアプリケーションとサーバー間での認証を可能にします。これによって定義された最小値を下回るバージョンしかサポートしないクライアントからの接続は拒否されます。この設定はネットワークレイヤー全体に適用されます。変更した後にその新しい値を使用するためには、サーバーを再起動する必要があります。
-この設定はメインWebサーバー(ただしWebサーバーオブジェクトは除く)、SQLサーバー、クライアント/サーバー接続、そしてHTTPクライアントと、安全なプロトコルを使用する4D コマンドの全てに対して適用されます。この変更は一時的な物です(つまり異なるセッション間で設定は保持されません)。
+**デフォルトの値**: TLSv1\_3
-暗号リストが変更された場合、新しい設定が使用されるようにするためには関係するサーバーを再起動する必要があります。
+**取りうる値**: TLSv1\_2 (TLS 1.2、2008年に導入) TLSv1\_3 (TLS 1.3、2018年に導入) **注**:
-暗号リストを (SLIファイルに恒久的に格納された) デフォルト値に再設定するには、*value*引数に空の文字列 ("") を渡して [SET DATABASE PARAMETER](set-database-parameter.md) コマンドを呼び出します。
+- 4D Internet Commands プラグインは異るネットワークレイヤーを使用するため、ここのセレクターは4DICのTLSバージョンには影響しません。
-**注**: [Get database parameter](get-database-parameter.md) コマンドで暗号リストはオプションの *stringValue* 引数に返され、戻り値は常に0となります。
+- TLS を旧式ネットワークレイヤーに適用しても反映されません。
-### Cache unload minimum size (66)
-**スコープ**:4Dアプリケーション
+### Number of formulas in cache (92)
- **2セッション間で設定を保持**: No
+**スコープ**: 4Dアプリケーション
- **とりうる値**: 1より大きい正の倍長整数
+**異なるセッション間で保持**: No
-**説明**: エンジンがオブジェクトをデータベースキャッシュに配置する際に空き空間を作成する必要が出た場合、データベースキャッシュからリリースするメモリの最小サイズ (バイト単位)。
+**取りうる値**: 正の倍長整数
-このセレクタの目的はキャッシュからデータをリリースする時間を減らし、よりパフォーマンスを得ることにあります。キャッシュのサイズやデータベース中で処理されるデータのブロックサイズに応じてこの値を変更できます。
+**デフォルト値**: 0 (キャッシュなし)
-このセレクタが使用されないとデフォルトで、4Dは空間が必要になった時最低10%のキャッシュをアンロードします。
+**詳細**: フォーミュラのキャッシュに保存されるフォーミュラの最大数を設定あるいは取得します。これは[EXECUTE FORMULA](execute-formula.md)コマンドで使用されます。この上限は全てのプロセスに適用されますが、各プロセスにはそれぞれ独自のフォーミュラ用キャッシュがあります。フォーミュラをキャッシュすると、それぞれのフォーミュラはこの場合1度しかトークン化されないため、コンパイル済みモードでの[EXECUTE FORMULA](execute-formula.md)コマンドの実行が速くなります。キャッシュ値を変化させると、例え新しいサイズが以前のものより大きくても、既存の中身は全てリセットされます。キャッシュ内のフォーミュラ数が上限値に達すると、その後新しく実行されたフォーミュラはキャッシュ内の一番古いものを消去します(FIFOモード)。この引数は、コンパイルされたデータベース、あるいはコンパイルされたコンポーネントでのみ考慮されます。
-### Direct2D status (69)
-**スコープ*: 4Dアプリケーション*
+### OpenSSL version (94)
- *(Direct2D Software) のみが許可されます。*
+**スコープ**: 4D マシン全体*
+* **2セッション間で設定を保持**: No
+**説明**: マシン上で使用されているOpenSSL ライブラリーのバージョン番号を返します(読み込みのみ)
-### Direct2D get active status (74)
-**注:** このセレクターは[Get database parameter](get-database-parameter.md)コマンドでのみ使用することができ、設定することはできません。
-説明: WindowsにおいてDirect2Dのアクティブな実装を返します。
-取りうる値: 0, 1, 2, 3, 4 または 5 (セレクター69の値参照)。返される値はDirect2Dが利用可能かどうか、およびハードウェア、OSによってサポートされるDirec2Dの品質に基づきます。
+### Order by formula on server (47)
-例えば以下のコードを実行した場合、
+**スコープ**:カレントテーブルおよびプロセス
+ **2セッション間で設定を保持**: No
+ **とりうる値**: 0 (データベース設定を使用), 1 (クライアント上で実行) または 2 (サーバ上で実行)
- SET DATABASE PARAMETER(Direct2D status;Direct2D Hardware) $mode:=Get database parameter(Direct2D get active status)
+**説明**: 引数に渡されたtableに対して実行される[ORDER BY FORMULA](order-by-formula.md "ORDER BY FORMULA")コマンドの実行場所。
-- Windows 7以降、システムがDirect2D互換のハードウェアを検知すると、$modeに1が設定されます。そうでなければ$modeは3に設定されます (ソフトウェアコンテキスト)。
+クライアント/サーバモードでデータベースを使用するとき、[ORDER BY FORMULA](order-by-formula.md "ORDER BY FORMULA")コマンドをサーバ上またはクライアント上で実行させることができます。このセレクタを使用して、このコマンドの実行場所 (サーバまたはクライアント) を指定できます。このモードはデータベース環境設定でも設定できます。詳細はセレクタ46、Query By Formula On Serverの説明を参照してください。
-- Windows Vistaでは、システムがDirect2D互換のハードウェアを検知すると、$modeに1が設定されます。そうでなければ$modeは0に設定されます (Direct2D無効)。
+**Note:** "SQLタイプ"のJOINを有効にしたい場合 (QUERY BY FORMULA Joins (49) セレクタ参照) は、フォーミュラがレコードにアクセスすることができるよう、常にフォーミュラをサーバ上で実行しなければなりません。このコンテキストでは、フォーミュ ラはいかなるメソッド呼び出しも含んではいけないことに注意してください。そうでない場合、自動でリモートマシンでの実行に切り替わります。
-- Windows XPでは、$modeは常に0です (Direct2D非互換)。
-### Diagnostic log recording (79)
+### Pause logging (121)
**Thread-safe** : Yes
-**スコープ**: 4Dアプリケーション
+**スコープ**: 4D アプリケーション**
-2セッション間で設定を保持: No
+異なるセッション間で値を設定を保持**: No**
-取りうる値: 0 または 1 (0 = 記録しない, 1 = 記録する)
+取り得る値**: 0 (ログを再開)、1 (ログを停止)
-: 4D診断ファイルの記録を開始または停止する。デフォルトの値は0(記録しない)です。
+このセレクターを使用するとアプリケーション上で開始された全てのログオペレーションを停止/再開させることができます(ただしORDAログは除く)。この機能は4Dアプリケーションのタスクを一時的に軽くしたり、あるいはログオペレーションのスケジュールを設定することに有用です。
-4Dは診断ファイルの中に内部的なアプリケーション処理に関連するイベントを継続的に記録することができます。このファイルに含まれる情報は4Dアプリケーション開発のために使用され、4D社の技術サポート担当により解析されます。このセレクターに1を渡すと、データベースの**Logs** フォルダ内に診断ファイルが自動的に作成されます(またはすでに存在する場合には開かれます)。ファイルには*4DDiagnosticLog\_X*.txt (あるいはサーバー側で生成された場合には *4DDiagnosticLogServer\_X*.txt) という名前が付けられます。このファイルのサイズが10MBに達するとそのファイルは閉じられ、DatabaseName\_N.txtが生成されます (Nは連番)。
-[LOG EVENT](log-event.md)コマンドを使用してカスタム情報をこのファイルに書き込むこともできます。
-
-### Log command list (80)
+### PHP interpreter IP address (55)
**スコープ**: 4D アプリケーション
-**2セッション間で設定を保持**: No
-
-**取りうる値**: 記録する4Dコマンドの番号リスト。型は文字列で各コマンド番号をセミコロンで区切ります。"all"を渡すとすべてのコマンドが記録され、"" (空の文字列) を渡すとなにも記録されません。
-
-**説明**: デバッグファイルに記録する4Dコマンドのリスト (セレクター 34, Debug Log Recording参照)。デフォルトではすべての4Dコマンドが記録されます。
-
-このセレクターを使用すれば、記録に残したい4Dコマンドを指定することで、デバッグファイルに保存される情報の量を制限することができます。例えば以下のようにコードを記述できます:
-
- SET DATABASE PARAMETER(Log command list;"277;341") // QUERY および QUERY SELECTION コマンドのみを記録する
-
-
-
-### Spellchecker (81)
-
-**スコープ**: 4D アプリケーション**
+2セッション間で設定を保持: No**
-2セッション間で設定を保持**: No
+値**: IPv4 型にフォーマットされた文字列(例 "127.0.0.1") あるいはIPv6 型にフォーマットされた文字列(例 "2001:0db8:0000:0000:0000:ff00:0042:8329")
- **とりうる値**: 0 (default) = macOSのシステムのスペルチェッカー(ハンスペルは無効化されます), 1 = ハンスペルスペルチェッカー有効化**
+: FastCGI を経由してPHPインタプリタと通信を行うために、4D がローカルで使用するIP アドレス。デフォルトで値は"127.0.0.1" です(IPv5 フォーマットのアドレスは4D v16 R4 以降でサポートされます)。このアドレスは4D が配置されているマシンに対応しなければなりません。このパラメタはデータベース設定を使用してすべてのマシン用にグローバルに設定できます。
-説明**: macOS環境下においてハンスペルスペルチェッカーを有効化します。デフォルトでは、このプラットフォームではシステムのスペルチェッカーが有効化されています。例えば、クロスプラットフォームアプリケーションのインターフェースを統一するためにハンスペルを使用したいという場面があるかもしれません(Windowsでは、ハンスペルチェッカーのみが動作します)。詳細な情報に関しては、*スペルチェック*を参照して下さい。
+PHPインタプリタに関する詳細は*Design Reference*マニュアルを参照してください。
-### Dates inside objects (85)
-スコープ: カレントプロセス
+### PHP interpreter port (56)
- 2セッション間で設定を保持: No
+**スコープ**:4D アプリケーション
- **取り得る値**: String type without time zone (0), String type with time zone (1), Date type (2) (デフォルト)
+ **2セッション間で設定を保持**: No
-**説明**: 日付がオブジェクトにどのように保存されるかを定義するとともに、どのようにJSON に読み込み/書き出しされるかも定義します。
+**値**: 正の倍長整数値。デフォルト値は8002。
-セレクターの値がDate type (4D v17以降で作成されたデータベースにおけるデフォルト)のとき、4D 日付はオブジェクト内で日付型として保存され、ローカルの日付設定に準拠します。JSON フォーマットに変換された時、日付属性は、時間を含まない文字列へと変換されます(**注:** この設定は、データベース設定のにある"オブジェクト内ではISO日付フォーマットの代わりに日付型を使用"オプションによって設定することができます)。
+**説明**: 4DのPHPインタプリタが使用するTCPポート番号。データベース設定でこの値をすべてのマシン用にグローバルに変更できます。PHPインタープリタに関する詳細は*Design Reference* マニュアルを参照してください。
-セレクターにを渡した場合、4D 日付はローカルなタイムゾーンを考慮に入れつつISO 文字列に変換されます。例えば、例えば、23/08/2013という日付の変 換を、フランスのサマータイム(GMT+2)にて実行した場合、JSONフォーマットの"2013-08-22T22:00:00Z"という結 果が返されます。この原理はJavaScriptの標準のオペレーションに従うものです。これは異なるタイムゾーンにいる人にJSON日付の値を 送る場合には、エラーの原因となりかねません。例えば、[Selection to JSON](selection-to-json.md)を使ってフランスでエクスポートされたテーブルを[JSON TO SELECTION](json-to-selection.md) を使用してアメリカで再インポートする、というような場合です。日付の値は、デフォルトではそれぞれのタイムゾーンにおいて再変換 されるため、データベース内に保存された値は異なってしまいます。こういった場合には、このセレクターにString type without time zoneを渡す事によって、タイムゾーンを考慮しないよ うに日付の変換モードを変更することができます。すると、23/08/2013という日付を変換した場合に は、"2013-08-23T00:00:00Z"という値を返すようになります。
-### Diagnostic log level (86)
+### POP3 Log (116)
**Thread-safe** : Yes
-**スコープ:** 4D アプリケーション**
-
-** **異なるセッション間で設定を保持:** No**
-
-** **説明:** 診断ログが有効化された際に、そこに含まれるメッセージのレベル(Diagnostic log recording セレクターを参照)。各レベルは診断メッセージのカテゴリを指定し、それより重要なカテゴリのメッセージも自動的に含まれます。カテゴリの詳細については、*developer.4d.com* 上の*Diagnostic log levels* の章を参照してください。
-
- **取りうる値:** 以下の定数のいづれか(デフォルトは Log info ): Log trace: ERROR、WARN、INFO、DEBUG、TRACE を有効化します(最も詳細なレベル) Log debug: ERROR、WARN、INFO、DEBUG を有効化します Log info: ERROR、WARN、INFO を有効化します(デフォルト) Log warn: ERROR、WARN を有効化します Log error: ERROR を有効化します(最も簡略なレベル)
+**スコープ:** 4D ローカル、4D Server
+**2セッション間で設定を保持:** No
+**取りうる値:** 0 または1からXまでの数字(0= 記録を取らない、1からX=シーケンシャルな数字、ファイル名に追加される)。デフォルトでは、値は0です(POP3通信は記録されません)。
-### Use legacy network layer (87)
+**説明**: トランスポーターオブジェクトが*POP3\_transporter.getMail( )* または *POP3\_transporter.checkConnection( )*で処理されたとき、4D とPOP3 サーバー間の通信の記録を開始または停止します。デフォルトでは値は0 です(通信は記録されません)。この機構か有効化されている時、データベースのLogs フォルダにログファイルが作成されます。ファイル名は4DPOP3Log\_X.txt という形式となっており、X はログのシーケンシャル番号です。4DPOP3Log のサイズが10MBに到達すると、そのファイルは閉じられて新しいファイルが生成され、シーケンシャル番号は1つ増加します。同じ名前のファイルが既に存在する場合、それは上書きされます。シーケンシャル番号の開始番号を、value 引数を用いて指定することができます。デフォルトでは全てのファイルが保持されますが、Circular log limitation 定数を使用することで残すファイルの数を制限することもできます。
-**スコープ**: 4D ローカル、4D Server
+4DPOP3Log\_X.txt ファイルの詳細な情報については、*ログファイルの詳細* の章を参照してください。
-**異なるセッション間で値を保持**: Yes
-**詳細:** クライアント/サーバー間の通信のネットワークレイヤーのカレントの状態を設定・取得します。旧式ネットワークレイヤーは4D v14 R5以降廃止予定となり、お使いのアプリケーションにおいて*ServerNet* ネットワークレイヤーへと積極的に置き換えられてい行くべきです。*ServerNet* は、将来のネットワークの進化の恩恵を受けるために、今後の4Dのリリースの中で必須要項となって行きます。互換性の理由から、既存のアプリケーションの速やかな移行をサポートするために、旧式のネットワークレイヤーは引き続きサポートされます(v14 R5以前のリリースから変換されたアプリケーションにおいてはデフォルトで旧式ネットワークレイヤーが使用されます)。クライアント/サーバー通信において旧式ネットワークレイヤーを使用するためにはこの引数に1を渡します(*ServerNet* が無効化されます)。0を渡すと旧式ネットワークレイヤーが無効化されます(そして*ServerNet* が使用されます)。
-このプロパティはデータベース設定の*互換性ページ* の"旧式ネットワークレイヤー"オプションを使用することによっても設定できます(*ネットワーク/クライアント-サーバー通信*参照)。この章では、移行戦略についての議論を読むこともできます。*ServerNet* の速やかな有効化が推奨されます。
-この引数が有効になるためには、アプリケーションを再起動する必要があります。OS X版の4D Server 64-bit 版においては*ServerNet* のみをサポートするため、このオプションはご利用いただけません(常に0を返します)。
+### Port ID (15)
-**取り得る値:** 0 または 1 (0 = 旧式ネットワークレイヤーを使用しない、1 = 旧式ネットワークレイヤーを使用する)
+**スコープ**: 4D ローカル, 4D Server
-**デフォルトの値:** 4D v14 R5以降で作成されたデータベースにおいては0、4D v14 R4以前のものから変換されたデータベースにおいては1
+**2セッション間で設定を保持**: No
+**説明**: Command SET DATABASE この引数を使用して、ローカルモードの4Dおよび4D Serverによる4D Webサーバが使用するTCPポートをオンザフライで変更することができます。デフォルト値は80で、この値は環境設定ダイアログボックスの“Web/設定”ページで設定できます。*TCP Port Numbers*テーマの定数を*value*引数に使用できます。
-### SQL Server Port ID (88)
-**スコープ**: 4D ローカル、4D Server
+Port IDセレクタは、コンパイルして4D Desktopを組み込んだ4D Webサーバで役立ちます(この場合、デザインモードへのアクセス手段がありません)。TCPポートIDに関する詳細は*Webサーバー設定*を参照してください。
-**2セッション間で設定を保持**: Yes
-**説明**: 4Dローカル、または4D Server の統合されたSQLサーバーで使用されるTCPポート番号を取得、または設定します。デフォルトの値は19812です。このセレクターが設定されると、データベース設定は更新されます。TCPポート番号はデータベース設定ダイアログボックスの"SQL"ページにおいても設定可能です。
-**とりうる値**: 0 から 65535
-**デフォルト値**: 19812
+### Query by formula joins (49)
+**スコープ**:カレントプロセス
+ **2セッション間で設定を保持**: No
-### Circular log limitation (90)
+ **とりうる値**: 0 (データベース設定を使用), 1 (常に自動リレーションを使用) または 2 (可能ならSQL JOINを使用)
-**Thread-safe** : Yes
+**説明**: "SQL JOIN"の利用に関連する、[QUERY BY FORMULA](query-by-formula.md "QUERY BY FORMULA")と[QUERY SELECTION BY FORMULA](query-selection-by-formula.md "QUERY SELECTION BY FORMULA")コマンドの動作モード。
-**スコープ**: 4Dローカル、4D Server **異なるセッション間で値を保持**: No**
+4D v11 SQLのバージョン11.2以降で作成されたデータベースでは、これらのコマンドはSQL JOINモデルに基づくJOINを実行します。このメカニズムを使用して、(以前のバージョンでは必要な条件だった) 自動リレーションで接続されていない他のテーブルに対して実行されたクエリに基づき、テーブルのセレクションを変更できます。
-取りうる値**: 任意の整数値、0 = 全てのログを保持**
+QUERY BY FORMULA Joinsセレクタで、カレントプロセスの、フォーミュラによるクエリの動作モードを指定できます:
-詳細**: 各タイプのロゴのローテーションに保存するファイル数の最大値。デフォルトでは、直近の50 ファイルが保持されます。*X* という値を渡した場合、直近の*X* 個のファイルのみが保持され、最も古いファイルは新しいファイルが作成されたときに自動的に削除されます。この設定は全てのログファイルに対して適用されます:リクエストログ(セレクター28と45)、デバッグログ(セレクター34)、イベントログ(セレクター79)、Web ログ([WEB SET OPTION](web-set-option.md)コマンドのセレクター29と84)、などです。
+0: データベースの現在の設定を使用する (デフォルト値)。4D v11 SQLのバージョン11.2以降で作成されたデータベースでは、"SQL JOIN"はフォーミュラによるクエリに対し常に有効です。変換されたデータベースでは、互換性のためデフォルトでこのメカニズムは有効になっていません。しかし環境設定で実装できます。1: 常に自動リレーションを使用 (= 以前のバージョンの4Dの動作)。このモードでは、他のテーブルに対して行われたクエリに基づきテーブルのセレクションを作成するためには、リレーションが必要です。4Dは"SQL JOIN"を行いません。2: 可能であればSQL JOINを使用 (= 4D v11 SQLのバージョン11.2以降で作成されたデータベースのデフォルト動作)。このモードでは、フォーミュラが適合する限り、4Dはフォーミュラによるクエリに"SQL JOIN"を使用します (2つの例外があります。[QUERY BY FORMULA](query-by-formula.md "QUERY BY FORMULA")や[QUERY SELECTION BY FORMULA](query-selection-by-formula.md "QUERY SELECTION BY FORMULA") コマンドの説明を参照)。**Note:** 4Dのリモートモードにおいて、"SQL JOIN"はフォーミュラがサーバ上で実行されているときにのみ使用できます (レコードへのアクセスが必要なため)。フォーミュラの実行場所を設定するには、セレクタ46と47を参照してください。
-### Number of formulas in cache (92)
-**スコープ**: 4Dアプリケーション
+### Query by formula on server (46)
-**異なるセッション間で保持**: No
+**スコープ**: カレントテーブルおよびプロセス
-**取りうる値**: 正の倍長整数
+ **2セッション間で設定を保持**: No
-**デフォルト値**: 0 (キャッシュなし)
+ **とりうる値**: 0 (データベース設定を使用), 1 (クライアント上で実行) または 2 (サーバ上で実行)
-**詳細**: フォーミュラのキャッシュに保存されるフォーミュラの最大数を設定あるいは取得します。これは[EXECUTE FORMULA](execute-formula.md)コマンドで使用されます。この上限は全てのプロセスに適用されますが、各プロセスにはそれぞれ独自のフォーミュラ用キャッシュがあります。フォーミュラをキャッシュすると、それぞれのフォーミュラはこの場合1度しかトークン化されないため、コンパイル済みモードでの[EXECUTE FORMULA](execute-formula.md)コマンドの実行が速くなります。キャッシュ値を変化させると、例え新しいサイズが以前のものより大きくても、既存の中身は全てリセットされます。キャッシュ内のフォーミュラ数が上限値に達すると、その後新しく実行されたフォーミュラはキャッシュ内の一番古いものを消去します(FIFOモード)。この引数は、コンパイルされたデータベース、あるいはコンパイルされたコンポーネントでのみ考慮されます。
+**説明**: 引数に渡された*table*に対して実行される[QUERY BY FORMULA](query-by-formula.md "QUERY BY FORMULA")や[QUERY SELECTION BY FORMULA](query-selection-by-formula.md "QUERY SELECTION BY FORMULA")コマンドの実行場所。
+クライアント/サーバモードでデータベースを使用するとき、フォーミュラを使用したクエリをサーバ上またはクライアント上で実行させることができます:
+4D v11 SQLで作成されたデータベースでは、これらのコマンドはサーバ上で実行されます。変換されたデータベースでは、これらのコマンドは、以前のバージョンの4Dと同様、クライアントマシン上で実行されます。変換されたデータベースでは、環境設定のアプリケーション/互換性ページで、これらのコマンドの実行場所をグローバルに変更できます。この実行場所の違いは、アプリケーションのパフォーマンス (通常サーバ上で実行したほうが早い) だけでなく、プログラミングにも影響します。実際フォーミュラの部品の値 (特にメソッドから呼ばれる変数) は、実行コンテキストにより異なります。このセレクタを使用して開発者は、アプリケーションの動作を適応させられます。
-### OpenSSL version (94)
+*value* 引数に0を渡すと、フォーミュラを使用するクエリの実行場所は、データベースの設定に基づきます: 4D v11 SQLで作成されたデータベースでは、これらのコマンドはサーバ上で実行されます。変換されたデータベースでは、データベース環境設定に基づき、クライアントマシンまたはサーバマシンで実行されます。*value*に1または2を渡すと、これらのコマンドの実行場所をクライアントマシンまたはサーバマシンに強制できます。
-**スコープ**: 4D マシン全体*
+例題2を参照してください。
-* **2セッション間で設定を保持**: No
+**Note:** "SQLタイプ"のJOINを有効にしたい場合 (QUERY BY FORMULA Joins (49) セレクタ参照) は、フォーミュラがレコードにアクセスすることができるよう、常にフォーミュラをサーバ上で実行しなければなりません。このコンテキストでは、フォーミュラはいかなるメソッド呼び出しも含んではいけないことに注意してください。そうでない場合、自動でリモートマシンでの実行に切り替わります。
-**説明**: マシン上で使用されているOpenSSL ライブラリーのバージョン番号を返します(読み込みのみ)
-### Cache flush periodicity (95)
+### RDP optimization (133)
-**Thread-safe** : Yes
+**Scope:** 4D application.
+**Kept between two sessions:** No.
-**スコープ**: 4Dローカル、4D Server
+**Possible values:** `0`: Disabled (default), `1`: Enabled.
-**異なるセッション間で値を保持**: No
+**Description:** Enables or disables optimizations for RDP (Remote Desktop Protocol). When enabled, optimizes in particular the use of shared clipboard in RDP connections, which can otherwise lead to freezing issues. Note that this selector disables the support in clipboard for images encoded as data uri in raw text (only concerns images dropped or explicitly copied as text from a browser).
-**取りうる値**: 倍長整数 > 1 (秒)
-**詳細**: 秒単位で指定された、キャッシュ保存頻度を取得あるいは設定します。この値を変更すると、データベース設定の[XML DECODE](xml-decode.md)内の**キャッシュを保存: X秒毎**オプションをセッション中の間上書きします(これはデータベース設定には保存されません)。
@@ -714,247 +783,242 @@ PHPインタプリタに関する詳細は*Design Reference*マニュアルを
-### Tips enabled (101)
-**スコープ:** 4D アプリケーション
+### Server base process stack size (53)
-**異なるセッション間で値を保持:** No
+**スコープ**: 4D Server
-**取りうる値:** 0 = tips無効化、1 = tips有効化(デフォルト)
+ 2セッション間で設定を保持: No
-**詳細:** 4DアプリケーションのTipsのカレントの表示状態を設定あるいは取得します。デフォルトでは、Tipsは有効化されています。
+ **とりうる値**:正の倍長整数
-この引数は全ての4DTipsに影響するという点に注意してください。つまり、フォームヘルプメッセージとデザインモードのエディターTipsに影響します。
+**説明**: サーバ上のプリエンプティブシステムプロセス毎に割り当てるスタックのサイズ (バイト単位) です。デフォルトでの値はシステムによって決定されます。
+プ リエンプティブシステムプロセスはメインの4D クライアントプロセスを制御するためにロードされます。デフォルトでそれぞれのプリエンプティブプロセスに割り当てられるサイズはおよその場合最適なサイ ズですが、何百ものプロセスが作成されるようなケースではこのサイズが適切かどうか検討する必要が出てくるかもしれません。
+データベースが実行する処理がそれを許す限り、最適化の目的でこのサイズを大幅に減らすことができます ( 例えばデータベースで大量のレコードの並び替えなどを行わない場合)。512 や256 KB でさえも設定可能です。スタックサイズを小さくしすぎることは致命的であり、4D Server の動作に害を及ぼすことになるので注意してください。このパラメタの設定は注意を持って行い、データベースの利用状況 (レコード数や行う処理など) を考慮しながら行わなければなりません。
-### Tips delay (102)
+このパラメタの設定を行うには、*On Server Startupデータベースメソッド* などにおいてサーバ上でコマンドが実行されなければなりません。
-**スコープ:** 4Dアプリケーション
-**異なるセッション間で値を保持:** No
-**取りうる値:** 倍調整数 >= 0 (ティック)
-**詳細:** マウスカーソルがヘルプメッセージが関連づけられたオブジェクト内で停止してからTipsが表示されるまでの遅延時間です。値はティック(1/60秒)単位で表現されます。デフォルトの値は45ティック(=0.75秒)です。
+### SMTP Log (110)
+**Thread-safe** : Yes
+**スコープ**: 4D ローカル、4D Server
-### Tips duration (103)
+**異なるセッション間で値を保持**: しない**
-**スコープ:** 4Dアプリケーション
+取りうる値**: 0 あるいは1 からX まで(0 = 記録しない、1 から X = ファイル名に追加されるシーケンシャルな数字)。デフォルトでは、値は0(SMTP 通信は記録されない)です。
-**異なるセッション間で値を保持:** No
+: *transporter* オブジェクトが*transporter.send( )* または *SMTP\_transporter.checkConnection( )* を通して処理される際、4D とSMTP サーバー間の通信の記録を開始、あるいは停止します。デフォルトでは、値は0です(通信は記録されない)。このログが有効化されると、データベースのLogs フォルダ内にログファイルが作成されます。ファイル名は4DSMTPLog\_X.txt で、この*X* はログのシーケンシャルな番号です。4DSMTPLog のファイルのサイズが10MB に達すると、そのファイルは閉じられて新しいファイルが生成され、シーケンシャルな番号は数字がインクリメントされます。同じ名前のファイルが既に存在していた場合、そのファイルは直接上書きされます。*value* 引数を使用してシーケンスの開始番号を設定することができます。デフォルトでは全てのファイルが残されますが、Circular log limitation パラメータを使用することで保存しておくファイルの数を管理することができます。
-**取りうる値:** 倍調整数 >= 60 (ティック)
+4DSMTPLog\_X.txt ファイルの詳細な情報については、*ログファイルの詳細* の章を参照してください。
-**詳細:** Tipsの最大表示時間です。値はティック(1/60秒)単位で表現されます。デフォルトの値は720ティック(=12秒)です。
-### Min TLS version (105)
+### Spellchecker (81)
-**スコープ**: 4D Server、4D Web サーバーおよび4D SQL サーバー
+**スコープ**: 4D アプリケーション**
-**異なるセッション間で値を保持**: No
+2セッション間で設定を保持**: No
-**詳細**: Transport Layer Security (TLS) レベルを指定するのに使用します。これはデータ暗号化とアプリケーションとサーバー間での認証を可能にします。これによって定義された最小値を下回るバージョンしかサポートしないクライアントからの接続は拒否されます。この設定はネットワークレイヤー全体に適用されます。変更した後にその新しい値を使用するためには、サーバーを再起動する必要があります。
+ **とりうる値**: 0 (default) = macOSのシステムのスペルチェッカー(ハンスペルは無効化されます), 1 = ハンスペルスペルチェッカー有効化**
-**デフォルトの値**: TLSv1\_3
+説明**: macOS環境下においてハンスペルスペルチェッカーを有効化します。デフォルトでは、このプラットフォームではシステムのスペルチェッカーが有効化されています。例えば、クロスプラットフォームアプリケーションのインターフェースを統一するためにハンスペルを使用したいという場面があるかもしれません(Windowsでは、ハンスペルチェッカーのみが動作します)。詳細な情報に関しては、*スペルチェック*を参照して下さい。
-**取りうる値**: TLSv1\_2 (TLS 1.2、2008年に導入) TLSv1\_3 (TLS 1.3、2018年に導入) **注**:
-- 4D Internet Commands プラグインは異るネットワークレイヤーを使用するため、ここのセレクターは4DICのTLSバージョンには影響しません。
-- TLS を旧式ネットワークレイヤーに適用しても反映されません。
+### SQL Autocommit (43)
+**スコープ**:データベース
-### User param value (108)
+ **2セッション間で設定を保持**: Yes
-**スコープ:** 4D スタンドアロン、4D Server
+ **とりうる値**: 0 (無効) または 1 (有効)
-**2セッション間で値を保持:** No
+**説明**: SQLの自動コミットモードを有効または無効にするために使用します。デフォルトは 0 (無効モード) です。
-**取りうる値**: 任意のカスタムの文字列
-**説明:** 4D アプリケーションが再起動される際に、ひとつのセッションから次のセッションへと渡されるカスタムの文字列です。このセレクターは異なる引数を使用してアプリケーションを再起動する必要がある、自動化されたユニットテストなどのコンテキストで有用です。[SET DATABASE PARAMETER](set-database-parameter.md) で使用された場合、手動で、あるいは[OPEN DATABASE](open-database.md)(\*)、 [OPEN DATA FILE](open-data-file.md)、 または [RESTART 4D](restart-4d.md) コマンドを使用して4D が再起動したあとに開かれるデータベースで利用可能となる新しい値を定義します。[Get database parameter](get-database-parameter.md) で使用された場合、コマンドライン(*コマンドラインインターフェース* 参照)、4DLink ファイル(*4DLinkファイルを使用する* 参照)、あるいは前のセッションでの[SET DATABASE PARAMETER](set-database-parameter.md) への呼び出しなどを使用して定義された、現在利用可能なユーザー引数値を取得します。(\*) [SET DATABASE PARAMETER](set-database-parameter.md)がUser param value を設定した後に、[OPEN DATABASE](open-database.md)にuser-param xml 属性を含む.4DLink ファイル渡して呼び出した場合、4D は[SET DATABASE PARAMETER](set-database-parameter.md)で提供された引数のみを考慮します。
+自動コミットモードは、データベースの参照整合性を強化するために使用されます。このモードが有効の時、すべての*SELECT*, INSERT, *UPDATE* そして *DELETE* (SIUD) クエリは、これらがトランザクション内で実行されていない場合、自動でアドホックなトランザクションに含められます。このモードはデータベースの環境設定でも設定できます。
-### Times inside objects (109)
-スコープ: 4D ローカル、4D Server (全てのプロセス)
- 異なるセッション間で値を保持: No
+### SQL Engine case sensitivity (44)
- **取りうる値**: Times in seconds (0) (デフォルト)、 Times in milliseconds (1)
+**スコープ**: データベース**
-**詳細**: オブジェクトプロパティ内およびコレクション要素内で時間値がどのように変換され保存されるかを定義するとともに、JSONおよびWeb エリアへの読込/書出の方法を定義します。デフォルトでは、4D v17 以降、時間はオブジェクト内では秒数として変換・保管されます。
+2セッション間で設定を保持**: Yes**
-以前のリリースでは、時間値はこれらのコンテキストにおいてはミリ秒数として変換・保管されていました。このセレクターを使用することで、必要であれば以前の設定に戻すことで、移行がスムーズになります。
+とりうる値**: 0 (大文字小文字を区別しない) または 1 (区別する)
-**注**: ORDA メソッドとSQL エンジンはこの設定を無視し、時間値は常に秒数であるとみなします。
+: SQLエンジンが文字列比較を行う際に、大文字と小文字の違いを考慮させるかどうかを設定します。 デフォルトで値は1 (大文字小文字を区別する) です。SQLエンジンは文字列比較 (並び替えやクエリ) の際に大文字と小文字とアクセント付き文字を異なる文字として扱います。例えば“ABC”= “ABC”ですが“ABC” # “Abc”であり、"abc" # "âbc"です。SQLエンジンと4Dエンジンの動作をそろえたいなど特定の場合では、大文字と小文字を区別しない文字列比較 (“ABC”=“Abc"="âbc") を使用できます。
+**警告:* このオプションはデータベースのストラクチャーファイルと全てのプロセスを変更するため、パフォーマンス上の観点から、データベースのスタートアップ時にのみ設定することが強く推奨されます。*
+
+
+
+このオプションはアプリケーション環境設定の[CALL SUBFORM CONTAINER](call-subform-container.md) で設定できます。
-### SMTP Log (110)
-**Thread-safe** : Yes
+
+### SQL Server Port ID (88)
**スコープ**: 4D ローカル、4D Server
-**異なるセッション間で値を保持**: しない**
+**2セッション間で設定を保持**: Yes
-取りうる値**: 0 あるいは1 からX まで(0 = 記録しない、1 から X = ファイル名に追加されるシーケンシャルな数字)。デフォルトでは、値は0(SMTP 通信は記録されない)です。
+**説明**: 4Dローカル、または4D Server の統合されたSQLサーバーで使用されるTCPポート番号を取得、または設定します。デフォルトの値は19812です。このセレクターが設定されると、データベース設定は更新されます。TCPポート番号はデータベース設定ダイアログボックスの"SQL"ページにおいても設定可能です。
-: *transporter* オブジェクトが*transporter.send( )* または *SMTP\_transporter.checkConnection( )* を通して処理される際、4D とSMTP サーバー間の通信の記録を開始、あるいは停止します。デフォルトでは、値は0です(通信は記録されない)。このログが有効化されると、データベースのLogs フォルダ内にログファイルが作成されます。ファイル名は4DSMTPLog\_X.txt で、この*X* はログのシーケンシャルな番号です。4DSMTPLog のファイルのサイズが10MB に達すると、そのファイルは閉じられて新しいファイルが生成され、シーケンシャルな番号は数字がインクリメントされます。同じ名前のファイルが既に存在していた場合、そのファイルは直接上書きされます。*value* 引数を使用してシーケンスの開始番号を設定することができます。デフォルトでは全てのファイルが残されますが、Circular log limitation パラメータを使用することで保存しておくファイルの数を管理することができます。
+**とりうる値**: 0 から 65535
-4DSMTPLog\_X.txt ファイルの詳細な情報については、*ログファイルの詳細* の章を参照してください。
+**デフォルト値**: 19812
-### Current process debug log recording (111)
-**スコープ:** 4D アプリケーション
+### SSL cipher list (64)
-**異なるセッション間で値を保持:** No
+**スコープ**: 4Dアプリケーション **2セッション間で設定を保持**: No
-**詳細**: **カレントプロセスにおける**プログラミングイベントの、別のログファイルへのシーケンシャルな記録を開始または停止します。このログはDebug log recording (セレクター34)に似ていますが、こちらはカレントプロセスにのみを対象とします。ログファイル名はアルファベットの"p"とプロセス番号を含みます: 4DDebugLog\[\_p*N*_*n*].txt ここでのNはプロセスの固有のIDです。
+**とりうる値**: コロンで区切られた一連の文字列 (例 "ECDHE-RSA-AES128-....")
-このフォーマットと*4DDebugLog* ファイルの使用についての詳細な情報については、デザインリファレンスの*ログファイルの詳細* を参照してください。
+**説明**: 安全なプロトコルのために4Dが使用する暗号リストです。このリストを使用して4Dによって実装された暗号化アルゴリズムの順位を変更することができます。例えば、以下の文字列を *value* 引数に渡す事ができます:"HIGH:!aNULL:!MD5:!3DES:!CAMELLIA:!AES128:!RSA:!DH:!RC4". 暗号リストのシンタックスの完全な詳細については、*OpenSSL の暗号ページ* *のサイト* を参照して下さい。
-**注:** このセレクターはデバッグ目的のためだけに提供されており、使用する際には注意が必要です。特に、アプリケーションのパフォーマンスに影響しうるため、製品で使用してはいけません。 Debug log recording および Current process debug log recording セレクターは同時に併用することができ、その場合にはメインのログファイルにはカレントプロセスのアクションは記録されません。
+この設定はメインWebサーバー(ただしWebサーバーオブジェクトは除く)、SQLサーバー、クライアント/サーバー接続、そしてHTTPクライアントと、安全なプロトコルを使用する4D コマンドの全てに対して適用されます。この変更は一時的な物です(つまり異なるセッション間で設定は保持されません)。
+暗号リストが変更された場合、新しい設定が使用されるようにするためには関係するサーバーを再起動する必要があります。
+暗号リストを (SLIファイルに恒久的に格納された) デフォルト値に再設定するには、*value*引数に空の文字列 ("") を渡して [SET DATABASE PARAMETER](set-database-parameter.md) コマンドを呼び出します。
-### Is current database a project (112)
+**注**: [Get database parameter](get-database-parameter.md) コマンドで暗号リストはオプションの *stringValue* 引数に返され、戻り値は常に0となります。
-**注:** このセレクターは[Get database parameter](get-database-parameter.md) コマンドでのみ使用可能で、その値を設定することはできません。
-: 4D アプリケーション**
-詳細**: カレントのデータベースアーキテクチャーがプロジェクトモードなら1を、それ以外の場合には0を返します。詳細な情報については、*データベースのプロジェクトモードとバイナリーモード* の章を参照してください。
+### Table sequence number (31)
+**スコープ**:4D アプリケーション
-### Is host database a project (113)
+ **2セッション間で設定を保持**: Yes
-**注:** このセレクターは[Get database parameter](get-database-parameter.md) コマンドでのみ使用可能で、その値を設定することはできません。
+ **とりうる値**: 任意の倍長整数値
-: 4D アプリケーション**
+**説明**: Command SET DATABASE PARAMETERこのセレクタは、引数に渡したテーブルのレコードの、カレントのユニーク番号を取得あるいは設定するために使用します。“カレントの数値”とは“最後に使用された数値”を意味します。SET DATABASE PARAMETERコマンドを使用してこの値を変更すると、渡された値+1の番号を使用して次のレコードが作成されます。この新しい番号は、[Sequence number](sequence-number.md "Sequence number")コマンドによって返される、さらにはストラクチャエディタやSQLで自動インクリメントが設定されたフィールドに返される番号です。
-詳細**: ホストデータベースアーキテクチャーがプロジェクトモードなら1を、それ以外の場合には0を返します。詳細な情報については、*データベースのプロジェクトモードとバイナリーモード* の章を参照してください。
+デフォルトで、この固有の番号は4Dが設定し、レコードの作成順に対応します。詳細は[Sequence number](sequence-number.md "Sequence number")コマンドのドキュメントを参照してください。
-### Libldap version (114)
-**スコープ**: カレント4D マシン
-**異なるセッション間で値を保持**: No
-**詳細**: カレントマシン上の4D アプリケーション内のLDAP ライブラリーのバージョン番号を返します(読み出し専用)
+### TCPUDP log recording (131)
+**Scope:** 4D application.
+**Kept between two sessions:** No.
-### Libsasl version (115)
+**Possible values:** `0`: Logging disabled (default), `1`: Logging enabled.
-**スコープ**: カレント4D マシン**
+**Description:** Enables or disables the `4DTCPUDPLog.txt` file for logging TCP events.
-異なるセッション間で値を保持**: No**
-詳細**: カレントマシン上の4D アプリケーション内のSASL ライブラリーのバージョン番号を返します(読み出し専用)
+### Times inside objects (109)
-### POP3 Log (116)
+スコープ: 4D ローカル、4D Server (全てのプロセス)
-**Thread-safe** : Yes
+ 異なるセッション間で値を保持: No
-**スコープ:** 4D ローカル、4D Server
+ **取りうる値**: Times in seconds (0) (デフォルト)、 Times in milliseconds (1)
-**2セッション間で設定を保持:** No
+**詳細**: オブジェクトプロパティ内およびコレクション要素内で時間値がどのように変換され保存されるかを定義するとともに、JSONおよびWeb エリアへの読込/書出の方法を定義します。デフォルトでは、4D v17 以降、時間はオブジェクト内では秒数として変換・保管されます。
-**取りうる値:** 0 または1からXまでの数字(0= 記録を取らない、1からX=シーケンシャルな数字、ファイル名に追加される)。デフォルトでは、値は0です(POP3通信は記録されません)。
+以前のリリースでは、時間値はこれらのコンテキストにおいてはミリ秒数として変換・保管されていました。このセレクターを使用することで、必要であれば以前の設定に戻すことで、移行がスムーズになります。
-**説明**: トランスポーターオブジェクトが*POP3\_transporter.getMail( )* または *POP3\_transporter.checkConnection( )*で処理されたとき、4D とPOP3 サーバー間の通信の記録を開始または停止します。デフォルトでは値は0 です(通信は記録されません)。この機構か有効化されている時、データベースのLogs フォルダにログファイルが作成されます。ファイル名は4DPOP3Log\_X.txt という形式となっており、X はログのシーケンシャル番号です。4DPOP3Log のサイズが10MBに到達すると、そのファイルは閉じられて新しいファイルが生成され、シーケンシャル番号は1つ増加します。同じ名前のファイルが既に存在する場合、それは上書きされます。シーケンシャル番号の開始番号を、value 引数を用いて指定することができます。デフォルトでは全てのファイルが保持されますが、Circular log limitation 定数を使用することで残すファイルの数を制限することもできます。
+**注**: ORDA メソッドとSQL エンジンはこの設定を無視し、時間値は常に秒数であるとみなします。
-4DPOP3Log\_X.txt ファイルの詳細な情報については、*ログファイルの詳細* の章を参照してください。
-### Is host database writable (117)
+### Tips delay (102)
-**注:** このセレクターは[Get database parameter](get-database-parameter.md) コマンドでしか使用できず、この値を設定することはできません。
+**スコープ:** 4Dアプリケーション
-**スコープ**: 4D アプリケーション
+**異なるセッション間で値を保持:** No
-**詳細**: ホストのプロジェクトファイル/ストラクチャーが書き込み可能なら1を、読み出し専用なら0を返します。
+**取りうる値:** 倍調整数 >= 0 (ティック)
+**詳細:** マウスカーソルがヘルプメッセージが関連づけられたオブジェクト内で停止してからTipsが表示されるまでの遅延時間です。値はティック(1/60秒)単位で表現されます。デフォルトの値は45ティック(=0.75秒)です。
-### IMAP Log (119)
-**Thread-safe** : Yes
-**スコープ**: 4D ローカル、4D Server
+### Tips duration (103)
-**異なるセッション間で値を保持**: No
+**スコープ:** 4Dアプリケーション
-**取りうる値**: 0 または1 から X(0= 記録しない、1からX= シーケンシャル番号、ファイル名に追加される)。デフォルトでは値は0 です(IMAP の交換は記録されない)。
+**異なるセッション間で値を保持:** No
-**詳細**: transporter オブジェクトが*IMAP\_transporter.getMail( )* または *IMAP\_transporter.checkConnection( )* で処理される際の4D とIMAP サーバーとの間の通信記録を開始または停止します。デフォルトでは、値は0です(通信は記録されません)。この機構が有効化されている場合、ログファイルがデータベースのLogフォルダに作成されます。ファイルは4DIMAPLog\_X.txt と名前がつけられ、このX はログのシーケンシャル番号です。ファイルのサイズが10MB に到達すると、ファイルは閉じられ、インクリメントされたシーケンシャル番号を持った新しいファイルが生成されます。同じ名前のファイルが既に存在する場合、それは直接置き換えられます。value 引数を使用するとシーケンス番号の開始番号を設定することができます。デフォルトで、全てのファイルは保持されますが、Circular log limitation 引数を使用することで保持するファイルの数をコントロールすることができます。
+**取りうる値:** 倍調整数 >= 60 (ティック)
-ファイルの詳細については、*ログファイルの詳細* の章を参照してください。
+**詳細:** Tipsの最大表示時間です。値はティック(1/60秒)単位で表現されます。デフォルトの値は720ティック(=12秒)です。
-### Libzip version (120)
-**スコープ:** カレントの4D マシン**
+### Tips enabled (101)
-2セッション間で設定を保持:** n/a**
+**スコープ:** 4D アプリケーション
-説明:** カレントマシン上の4D アプリケーションのlibzip ライブラリのバージョン番号を返します(読み出し専用)
+**異なるセッション間で値を保持:** No
+**取りうる値:** 0 = tips無効化、1 = tips有効化(デフォルト)
+**詳細:** 4DアプリケーションのTipsのカレントの表示状態を設定あるいは取得します。デフォルトでは、Tipsは有効化されています。
-### Pause logging (121)
+この引数は全ての4DTipsに影響するという点に注意してください。つまり、フォームヘルプメッセージとデザインモードのエディターTipsに影響します。
-**Thread-safe** : Yes
-**スコープ**: 4D アプリケーション**
-異なるセッション間で値を設定を保持**: No**
-取り得る値**: 0 (ログを再開)、1 (ログを停止)
+### Use legacy network layer (87)
-このセレクターを使用するとアプリケーション上で開始された全てのログオペレーションを停止/再開させることができます(ただしORDAログは除く)。この機能は4Dアプリケーションのタスクを一時的に軽くしたり、あるいはログオペレーションのスケジュールを設定することに有用です。
+**スコープ**: 4D ローカル、4D Server
+**異なるセッション間で値を保持**: Yes
+**詳細:** クライアント/サーバー間の通信のネットワークレイヤーのカレントの状態を設定・取得します。旧式ネットワークレイヤーは4D v14 R5以降廃止予定となり、お使いのアプリケーションにおいて*ServerNet* ネットワークレイヤーへと積極的に置き換えられてい行くべきです。*ServerNet* は、将来のネットワークの進化の恩恵を受けるために、今後の4Dのリリースの中で必須要項となって行きます。互換性の理由から、既存のアプリケーションの速やかな移行をサポートするために、旧式のネットワークレイヤーは引き続きサポートされます(v14 R5以前のリリースから変換されたアプリケーションにおいてはデフォルトで旧式ネットワークレイヤーが使用されます)。クライアント/サーバー通信において旧式ネットワークレイヤーを使用するためにはこの引数に1を渡します(*ServerNet* が無効化されます)。0を渡すと旧式ネットワークレイヤーが無効化されます(そして*ServerNet* が使用されます)。
-### TCPUDP log recording (131)
+このプロパティはデータベース設定の*互換性ページ* の"旧式ネットワークレイヤー"オプションを使用することによっても設定できます(*ネットワーク/クライアント-サーバー通信*参照)。この章では、移行戦略についての議論を読むこともできます。*ServerNet* の速やかな有効化が推奨されます。
-**Scope:** 4D application.
+この引数が有効になるためには、アプリケーションを再起動する必要があります。OS X版の4D Server 64-bit 版においては*ServerNet* のみをサポートするため、このオプションはご利用いただけません(常に0を返します)。
-**Kept between two sessions:** No.
+**取り得る値:** 0 または 1 (0 = 旧式ネットワークレイヤーを使用しない、1 = 旧式ネットワークレイヤーを使用する)
-**Possible values:** `0`: Logging disabled (default), `1`: Logging enabled.
+**デフォルトの値:** 4D v14 R5以降で作成されたデータベースにおいては0、4D v14 R4以前のものから変換されたデータベースにおいては1
-**Description:** Enables or disables the `4DTCPUDPLog.txt` file for logging TCP events.
-### RDP optimization (133)
+### User param value (108)
-**Scope:** 4D application.
+**スコープ:** 4D スタンドアロン、4D Server
-**Kept between two sessions:** No.
+**2セッション間で値を保持:** No
-**Possible values:** `0`: Disabled (default), `1`: Enabled.
+**取りうる値**: 任意のカスタムの文字列
-**Description:** Enables or disables optimizations for RDP (Remote Desktop Protocol). When enabled, optimizes in particular the use of shared clipboard in RDP connections, which can otherwise lead to freezing issues. Note that this selector disables the support in clipboard for images encoded as data uri in raw text (only concerns images dropped or explicitly copied as text from a browser).
+**説明:** 4D アプリケーションが再起動される際に、ひとつのセッションから次のセッションへと渡されるカスタムの文字列です。このセレクターは異なる引数を使用してアプリケーションを再起動する必要がある、自動化されたユニットテストなどのコンテキストで有用です。[SET DATABASE PARAMETER](set-database-parameter.md) で使用された場合、手動で、あるいは[OPEN DATABASE](open-database.md)(\*)、 [OPEN DATA FILE](open-data-file.md)、 または [RESTART 4D](restart-4d.md) コマンドを使用して4D が再起動したあとに開かれるデータベースで利用可能となる新しい値を定義します。[Get database parameter](get-database-parameter.md) で使用された場合、コマンドライン(*コマンドラインインターフェース* 参照)、4DLink ファイル(*4DLinkファイルを使用する* 参照)、あるいは前のセッションでの[SET DATABASE PARAMETER](set-database-parameter.md) への呼び出しなどを使用して定義された、現在利用可能なユーザー引数値を取得します。(\*) [SET DATABASE PARAMETER](set-database-parameter.md)がUser param value を設定した後に、[OPEN DATABASE](open-database.md)にuser-param xml 属性を含む.4DLink ファイル渡して呼び出した場合、4D は[SET DATABASE PARAMETER](set-database-parameter.md)で提供された引数のみを考慮します。
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/commands/command-index.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/commands/command-index.md
index 685285543d6bd3..096a41339563e1 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21/commands/command-index.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/commands/command-index.md
@@ -1288,6 +1288,8 @@ title: Commands by name
[`WA STOP LOADING URL`](../commands-legacy/wa-stop-loading-url.md)
[`WA ZOOM IN`](../commands-legacy/wa-zoom-in.md)
[`WA ZOOM OUT`](../commands-legacy/wa-zoom-out.md)
+[`Web Event`](web-event.md)
+[`Web Form`](web-form.md)
[`WEB GET BODY PART`](../commands-legacy/web-get-body-part.md)
[`WEB Get body part count`](../commands-legacy/web-get-body-part-count.md)
[`WEB Get current session ID`](../commands-legacy/web-get-current-session-id.md)
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/commands/theme/Web_Server.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/commands/theme/Web_Server.md
index 16b45310bdf94a..612c78eb702313 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21/commands/theme/Web_Server.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/commands/theme/Web_Server.md
@@ -7,6 +7,8 @@ slug: /commands/theme/Web-Server
| |
| --------------------------------------------------------------------------------------------------------------------------------------- |
+| [](../../commands/web-event.md)
|
+| [](../../commands/web-form.md)
|
| [](../../commands-legacy/web-get-body-part.md)
|
| [](../../commands-legacy/web-get-body-part-count.md)
|
| [](../../commands-legacy/web-get-current-session-id.md)
|
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/commands/web-event.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/commands/web-event.md
new file mode 100644
index 00000000000000..c1d03563807c61
--- /dev/null
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/commands/web-event.md
@@ -0,0 +1,97 @@
+---
+id: web-event
+title: Web Event
+displayed_sidebar: docs
+---
+
+**Web Event** : object
+
+
+
+| 引数 | 型 | | 説明 |
+| --- | ------ | :-------------------------: | ---------------------------------- |
+| 戻り値 | Object | ← | Information on the triggered event |
+
+
+
+## 説明
+
+`Web Event` returns an object with information on a triggered event linked to a web page component.
+
+The command must be called in the context of a web page handled by the 4D web server.
+
+**戻り値**
+
+戻り値のオブジェクトには、以下のプロパティが格納されています:
+
+| プロパティ | | 型 | 説明 |
+| --------- | ----- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| caller | | string | [Server-side reference](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/pageLoaderOverview#data-access-category) of the component triggering the event |
+| eventType | | string | Type of event:onbluronfocusonclickonauxclickonmouseenteronmouseleaveonkeyuponkeydownonchangeunloadonload - triggered when the `Page` loads |
+| data | | object | Additional information depending on the involved component |
+| | index | number | Tabs component: index of the tab (indexing starts at 0)Data Table component: column number |
+| | row | number | Data Table component: row number |
+| | name | string | Data Table component: qodlysource name of the column (e.g. "firstname", "address.city") |
+
+#### 例題
+
+The objective is to display/hide a help text when the user hovers over the component:
+
+
+
+This is done by attaching `onmouseenter` and `onmouseleave` events to a **Text input** component that displays the information stored in a **Text** component (displaying "This is the help text").
+
+
+
+In this scenario:
+
+- The Text input component has `orderNumber` as Server side reference.
+ 
+- The Text component has `helpOn_orderNumber` as Server side reference.
+ 
+- The [exposed](../ORDA/ordaClasses.md#exposed-vs-non-exposed-functions) function `help()` is attached to both the `onmouseenter` and `onmouseleave` events and contains the following code:
+
+```4d
+shared singleton Class constructor()
+exposed Function help()
+
+ var event : Object
+ var myForm : 4D.WebForm
+ var componentRef : Text
+
+ myForm:=web Form
+ event:=web Event
+ componentRef:=event.caller
+
+ Case of
+ : (event.eventType="onmouseenter") // event is onmouseenter
+ myForm["helpOn_"+componentRef].show() // show the help on "orderNumber" by showing
+ // the text component with reference "helpOn_orderNumber"
+ : (event.eventType="onmouseleave") // event is onmouseleave
+ myForm["helpOn_"+componentRef].hide() // hide the help on orderNumber
+
+ End case
+
+```
+
+To open the web page with the help on `orderNumber` hidden, you can associate this function to the `onload` event of the web page:
+
+```4d
+exposed function hideOnLoad()
+ webForm.helpOn_orderNumber.hide()
+
+```
+
+## 参照
+
+[Web Form](web-form.md)
+[WebForm class](../API/WebFormClass.md)
+[WebFormItem class](../API/WebFormItemClass.md)
+
+## プロパティ
+
+| | |
+| ------- | --------------------------- |
+| コマンド番号 | 1734 |
+| スレッドセーフ | ✗ |
+
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/commands/web-form.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/commands/web-form.md
new file mode 100644
index 00000000000000..7a4ad65fe53b96
--- /dev/null
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/commands/web-form.md
@@ -0,0 +1,46 @@
+---
+id: web-form
+title: Web Form
+displayed_sidebar: docs
+---
+
+**Web Form** : 4D.WebForm
+
+
+
+| 引数 | 型 | | 説明 |
+| --- | -------------------------- | :-------------------------: | --------------------------- |
+| 戻り値 | 4D.WebForm | ← | New `Web Form` proxy object |
+
+
+
+## 説明
+
+The `Web Form` command returns a `4D.WebForm` proxy object, providing a means to work with and effectively emulates the Page's properties and functions.
+
+:::info
+
+Keep in mind that a `4D.WebForm` object is a **proxy object**, and not a direct reference to the web form object itself. As a consequence for example, the `4D.WebForm` object does not expose all Page properties in the Debugger.
+
+:::
+
+Each property of the returned object is an object of the [4D.WebFormItem](../API/WebFormItemClass.md) class.
+
+The command returns `null` if it is called in a request that does not originate from Qodly Studio.
+
+## 参照
+
+[Web Event](web-event.md)
+[WebForm class](../API/WebFormClass.md)
+[WebFormItem class](../API/WebFormItemClass.md)
+
+## プロパティ
+
+| | |
+| ------- | --------------------------- |
+| コマンド番号 | 1735 |
+| スレッドセーフ | ✗ |
+
+
+
+
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/API/CollectionClass.md b/i18n/pt/docusaurus-plugin-content-docs/current/API/CollectionClass.md
index ceeec01850bac0..ff4715de39e28f 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/current/API/CollectionClass.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/API/CollectionClass.md
@@ -3,7 +3,7 @@ id: CollectionClass
title: Collection
---
-A classe Collection gerencia variáveis do tipo [Collection](Concepts/dt_collection.md).
+The Collection class manages [Collection](Concepts/dt_collection.md) type expressions.
Uma coleção é inicializada com os comandos [`New collection`](../commands/new-collection.md) ou [`New shared collection`](../commands/new-shared-collection.md).
@@ -271,14 +271,14 @@ $c.combine($fruits;3) //[1,2,3,"Orange","Banana","Apple","Grape",4,5,6]
-**.concat**( *value* : any { *;...valueN* } ) : Collection
+**.concat**( *value* : any { ; *...valueN* } ) : Collection
-| Parâmetro | Tipo | | Descrição |
-| ---------- | -------------------------------------------------------------- | :-------------------------: | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| value | Number, Text, Object, Collection, Date, Time, Boolean, Picture | -> | Valores a concatenar. Se *valor* for uma coleção, todos os seus elementos serão adicionados como novos elementos no final da coleção original. |
-| Resultados | Collection | <- | Nova coleção com valores adicionados à coleção original |
+| Parâmetro | Tipo | | Descrição |
+| ---------- | ---------- | :-------------------------: | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| value | any | -> | Valores a concatenar. Se *valor* for uma coleção, todos os seus elementos serão adicionados como novos elementos no final da coleção original. |
+| Resultados | Collection | <- | Nova coleção com valores adicionados à coleção original |
@@ -3195,14 +3195,12 @@ A função `.sort()` classifica os elemen
Se `.sort()` for chamado sem parâmetros, somente os valores escalares (número, texto, data, booleanos) serão classificados. Os elementos são classificados por defeito em ordem ascendente, de acordo com o seu tipo.
You can also pass one of the following constants in the *ascOrDesc* parameter:
-```
-|Constant| Type|Value|Comment|
-|---|---|---|---|
-|ck ascending|Integer|0|Elements are ordered in ascending order (default)|
-|ck descending|Integer|1|Elements are ordered in descending order|
+| Parâmetros | Tipo | Valor | Comentário |
+| ------------- | ------- | ----- | ------------------------------------------------------------------------------ |
+| ck ascending | Integer | 0 | Os elementos são ordenados de forma ascendente (por padrão) |
+| ck descending | Integer | 1 | Os elementos são ordenados de forma descendente |
-This syntax orders scalar values in the collection only (other element types such as objects or collections are returned unordered).
-```
+Essa sintaxe ordena apenas os valores escalares da coleção (outros tipos de elementos como objetos ou coleções são retornados sem ordenar).
Se a coleção conter elementos de tipos diferentes, são primeiro agrupados por tipo e ordenados depois. Se attributePath levar a uma propriedade de objeto que conter valores de diferentes tipos, primeiro se agrupam por tipo e se ordenam depois.
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/API/DataClassClass.md b/i18n/pt/docusaurus-plugin-content-docs/current/API/DataClassClass.md
index d50fb79572fb50..8bad6f70bd3115 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/current/API/DataClassClass.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/API/DataClassClass.md
@@ -942,7 +942,7 @@ Fórmulas nas consultas podem receber parâmetros através de $1. Este ponto est
- constantes de tipo **date**: formato "YYYY-MM-DD"
- **null** constante: usando a palavra-chave "null" irá encontrar as propriedades **null** e **undefined**.
- no caso de uma pesquisa com um comparador IN, *valor* deve ser uma coleção, ou valores que coincidam com o tipo da rota do atributo entre \[ ] separados por vírgulas (para as strings, os caracteres `"` devem ser escapados com `\`).
- - **object**: only [4D.Vector](../API/VectorClass.md) objects are supported, in the context of **vector similarity queries** (*attributePath* must also contain valid 4D.Vector objects).
+ - **object**: only [4D.Vector](../API/VectorClass.md) objects are supported, in the context of [**vector similarity queries**](#query-by-vector-similarity) (*attributePath* must also contain valid 4D.Vector objects).
- **logicalOperator**: usado para participar de múltiplas condições na consulta (opcional). Pode usaar um dos operadores lógicos abaixo (ou o nome ou o símbolo podem ser usados):
| Conjunção | Símbolos |
@@ -1206,6 +1206,20 @@ var $comparisonVector := {vector: $myVector; metric: mk euclidean; threshold: 1.
var $results := ds.MyClass.query("myVectorField <= :1"; $comparisonVector)
```
+The **order by** statement is supported in the query string so that entities in the resulting entity selection are sorted by similarity. Por exemplo:
+
+```4d
+var $results := ds.MyClass.query("myVectorField > :1 order by myVectorField"; $comparisonVector)
+ //default order, the first entity is the most similar
+```
+
+If the same vector appears multiple times in the query string, the order by will be applied to the results of the first one, for example:
+
+```4d
+var $results := ds.MyClass.query("myVectorField > :1 and myVectorField > :2 order by myVectorField" desc; /
+ {vector : $myVector1 };{vector : $myVector2 }) //myVectorField > :1 is used for the order by
+```
+
See [more examples below](#example-4-2) (examples 4 and 5).
:::tip Related blog posts
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/API/EntitySelectionClass.md b/i18n/pt/docusaurus-plugin-content-docs/current/API/EntitySelectionClass.md
index a65c0deee64abd..7cbd509d84fe66 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/current/API/EntitySelectionClass.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/API/EntitySelectionClass.md
@@ -1735,11 +1735,13 @@ Neste exemplo, o campo de objeto "marks" na classe de dados **Students** contém
História
-| Release | Mudanças |
-| ------- | -------------------------------------- |
-| 17 R6 | Soporte dos Parâmetros Formula |
-| 17 R5 | Suporte dos marcadores para os valores |
-| 17 | Adicionado |
+| Release | Mudanças |
+| ------- | ----------------------------------------------------------- |
+| 21 R2 | Support of order by with 4D.Vector searches |
+| 21 | Support 4D.Vector objects |
+| 17 R6 | Soporte dos Parâmetros Formula |
+| 17 R5 | Suporte dos marcadores para os valores |
+| 17 | Adicionado |
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/API/WebFormClass.md b/i18n/pt/docusaurus-plugin-content-docs/current/API/WebFormClass.md
index 72094b45cc78fb..064b559a834bca 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/current/API/WebFormClass.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/API/WebFormClass.md
@@ -3,7 +3,7 @@ id: WebFormClass
title: WebForm
---
-A classe `WebForm` contém funções e propriedades que permitem manipular seus componentes de webforms Qodly. Essa classe está detalhada na [documentação de Qodly](https://developer.qodly.com/docs/language/WebFormClass).
+The `WebForm` class contains functions and properties allowing to handle your Qodly web page components. `4D.WebForm` objects are instantiated with the [`webForm`](../commands/web-form.md) command.
História
@@ -18,14 +18,12 @@ A classe `WebForm` contém funções e propriedades que permitem manipular seus
| |
| ------------------------------------------------------------------------------------------------------------------------------- |
-| [](#componentname)
|
+| [](#componentname)
|
| [](#disablestate)
|
| [](#enablestate)
|
| [](#seterror)
|
| [](#setmessage)
|
| [](#setwarning)
|
-| [](#web-form)
|
-| [](#web-event)
|
### *.componentName*
@@ -33,9 +31,28 @@ A classe `WebForm` contém funções e propriedades que permitem manipular seus
#### Descrição
-Os componentes dos webforms são objetos que estão disponíveis diretamente como propriedades desses webforms.
+The components of web pages are objects that are available directly as properties of these web pages.
-Para mais informações, consulte a descrição [`.componentName` na documentação de Qodly](https://developer.qodly.com/docs/language/WebFormClass#componentname).
+The returned objects are of the [`4D.WebFormItem`](WebFormItemClass.md) class. These objects have functions that you can use to manage your components dynamically.
+
+#### Exemplo
+
+```4d
+shared singleton Class constructor()
+
+ var myForm : 4D.WebForm
+ var component : 4D.WebFormItem
+
+ myForm:=webForm //returns the web page as an object, each property is a component
+ component:=myForm.myImage //returns the myImage component of the web page
+
+```
+
+:::info
+
+While `myForm` may not display typical object properties when examined in the debugger, it behaves as if it were the actual `webForm` object. You can interact with the underlying `webForm` object's properties and functions through `myForm`. For example, you can dynamically manipulate page components or transmit messages to web pages using specialized functions like `myForm.setMessage()`.
+
+:::
### .disableState()
@@ -43,24 +60,24 @@ Para mais informações, consulte a descrição [`.componentName` na documentaç
-| Parâmetro | Tipo | | Descrição |
-| --------- | ------ | :-: | ------------------------------------------------- |
-| state | string | -> | Nome do estado a ser desativado no formulário Web |
+| Parâmetro | Tipo | | Descrição |
+| --------- | ------ | :-: | ------------------------------------------ |
+| state | string | -> | Name of state to disable from the web page |
#### Descrição
-A função `.disableState()` desabilita a renderização da *state* na forma atual da web.
+The `.disableState()` function disables the rendering of the *state* in the current web page.
Essa função não faz nada se:
-- o *estado* não está habilitado no momento no formulário Web,
-- o *estado* não existe para o formulário Web.
+- the *state* is currently not enabled in the web page,
+- the *state* does not exist for the web page.
Se você [enable](#enablestate) ou desativar vários estados na mesma função de usuário, todas as modificações são enviadas em simultâneo, para o cliente quando a função termina.
-Para obter mais informações sobre estados de formulários da Web, consulte [developer.qodly.com](https://developer.qodly.com/docs/studio/pageLoaders/states).
+For more information on web pages states, please refer to the [States section in the Qodly documentation](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/states/stateOverview).
### .enableState()
@@ -68,24 +85,24 @@ Para obter mais informações sobre estados de formulários da Web, consulte [de
-| Parâmetro | Tipo | | Descrição |
-| --------- | ------ | :-: | ---------------------------------------------- |
-| state | string | -> | Nome do estado a ser ativado no formulário Web |
+| Parâmetro | Tipo | | Descrição |
+| --------- | ------ | :-: | ---------------------------------------- |
+| state | string | -> | Name of state to enable on the web pages |
#### Descrição
-A função `.enableState()` ativa a renderização do *state* no formulário da Web atual.
+The `.enableState()` function enables the rendering of the *state* in the current web page.
Essa função não faz nada se:
-- o *estado* já foi ativado no formulário Web,
-- o *estado* não existe para o formulário Web.
+- the *state* has already been enabled on the web page,
+- the *state* does not exist for the web page.
Se você ativar ou [desativar](#disablestate) vários estados dentro da mesma função de usuário, todas as modificações serão enviadas ao mesmo tempo, para o cliente quando a função terminar.
-Para obter mais informações sobre estados de formulários da Web, consulte [developer.qodly.com](https://developer.qodly.com/docs/studio/pageLoaders/states).
+For more information on web page states, please refer to the [States section in the Qodly documentation](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/states/stateOverview).
#### Exemplo
@@ -104,17 +121,34 @@ Function authenticationError()
-| Parâmetro | Tipo | | Descrição |
-| --------- | ------ | :-: | ------------------------------------------------ |
-| msg | string | -> | Mensagem de erro a ser exibida no formulário Web |
+| Parâmetro | Tipo | | Descrição |
+| --------- | ------ | :-: | ---------------------------------------- |
+| msg | string | -> | Error message to display in the web page |
#### Descrição
-A função `.setError()` envia *msg* como uma mensagem de erro para o formulário web.
+The `.setError()` function sends *msg* as an error message to the web page.
+
+The function returns a response with a `200 OK` status and a `__WEBFORM` object in the body with a `__NOTIFICATION.message` property set to *msg* and a `__NOTIFICATION.type` set to "error".
+
+#### Exemplo
+
+```4d
+shared singleton Class constructor()
+exposed function myError()
+
+var myForm : 4D.WebForm
+myForm:=web Form
+
+myForm.setError("My error message")
+
+```
+
+If the [**Provide feedback**](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/events/bindingActionToEvents#providing-feedback) feature is enabled for the event, the *message* is automatically displayed as a red *toast* at the bottom of the Page and disappears automatically after 5 seconds:
-Para mais informações, consulte a descrição [`.setError()` na documentação Qodly](https://developer.qodly.com/docs/language/WebFormClass#seterror).
+
### .setMessage()
@@ -122,68 +156,72 @@ Para mais informações, consulte a descrição [`.setError()` na documentação
-| Parâmetro | Tipo | | Descrição |
-| --------- | ------ | :-: | ---------------------------------------------------- |
-| msg | string | -> | Mensagem informativa a ser exibida no formulário Web |
+| Parâmetro | Tipo | | Descrição |
+| --------- | ------ | :-: | ---------------------------------------------- |
+| msg | string | -> | Information message to display in the web page |
#### Descrição
-A função `.setMessage()` envia *msg* como uma mensagem de informação para o formulário da Web.
+The `.setMessage()` function sends *msg* as an information message to the web page.
-Para mais informações, consulte a descrição [`.setMessage()` na documentação Qodly](https://developer.qodly.com/docs/language/WebFormClass#setmessage).
+The function returns a response with a `200 OK` status and a `__WEBFORM` object in the body with a `__NOTIFICATION.message` property set to *msg* and a `__NOTIFICATION.type` set to "message".
-### .setWarning()
-
-**.setWarning**( *msg* : string)
+#### Exemplo
-
+```4d
+shared singleton Class constructor()
+exposed function myMessage()
-| Parâmetro | Tipo | | Descrição |
-| --------- | ------ | :-: | ------------------------------------------------- |
-| msg | string | -> | Mensagem de aviso a ser exibida no formulário Web |
+var myForm : 4D.WebForm
+myForm:=web Form
-
+myForm.setMessage("My information message")
-#### Descrição
+```
-A função `.setWarning()` envia *msg* como uma mensagem de aviso para o formulário web.
+If the [**Provide feedback**](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/events/bindingActionToEvents#providing-feedback) feature is enabled for the event, the *message* is automatically displayed as a green *toast* at the bottom of the Page and disappears automatically after 5 seconds:
-Para mais informações, consulte a descrição [`.setWarning()` na documentação Qodly](https://developer.qodly.com/docs/language/WebFormClass#setwarning).
+
-## Web Form
+### .setWarning()
-**Web Form** : 4D.WebForm
+**.setWarning**( *msg* : string)
-
+
-| Parâmetro | Tipo | | Descrição |
-| ---------- | -------------------------- | :-------------------------: | --------------------------- |
-| Resultados | 4D.WebForm | <- | Novo objeto proxy `WebForm` |
+| Parâmetro | Tipo | | Descrição |
+| --------- | ------ | :-: | ------------------------------------------ |
+| msg | string | -> | Warning message to display in the web page |
#### Descrição
-O comando `Web Form` retorna um `4D. Objeto proxy ebForm` que permite a você interagir com o formulário web .
+The `.setWarning()` function sends *msg* as a warning message to the web page.
+
+The function returns a response with a `200 OK` status and a `__WEBFORM` object in the body with a `__NOTIFICATION.message` property set to *msg* and a `__NOTIFICATION.type` set to "warning".
-Para obter mais informações, consulte a [descrição do comando `webForm` na documentação de Qodly](https://developer.qodly.com/docs/language/WebFormClass#webform).
+#### Exemplo
-## Web Event
+```4d
+shared singleton Class constructor()
+exposed function myWarning()
-**Web Event** : Object
+var myForm : 4D.WebForm
+myForm:=web Form
-
+myForm.setWarning("My warning message")
-| Parâmetro | Tipo | | Descrição |
-| ---------- | ------ | :-------------------------: | --------- |
-| Resultados | object | <- | object |
+```
-
+If the [**Provide feedback**](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/events/bindingActionToEvents#providing-feedback) feature is enabled for the event, the *message* is automatically displayed as a yellow *toast* at the bottom of the web page and disappears automatically after 5 seconds:
-#### Descrição
+
-O comando `Web Event` retorna um objeto com informações sobre um evento acionado vinculado a um componente de formulário da Web.
+## Veja também
-Para obter mais informações, consulte a [descrição do comando `webEvent` na documentação de Qodly](https://developer.qodly.com/docs/language/WebFormClass#webevent).
+[Web Form](../commands/web-form.md)
+[Web Event](../commands/web-event.md)
+[WebFormItem class](../API/WebFormItemClass.md)
\ No newline at end of file
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/API/WebFormItemClass.md b/i18n/pt/docusaurus-plugin-content-docs/current/API/WebFormItemClass.md
index a1058250ccbe84..4100e1bf54762e 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/current/API/WebFormItemClass.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/API/WebFormItemClass.md
@@ -3,9 +3,13 @@ id: WebFormItemClass
title: WebFormItem
---
-Os objetos `4D.WebFormItem` são propriedades do objeto [`4D.WebForm`](WebFormItemClass.md) retornado pelo comando [`Web Form`](WebFormClass.md#web-form).
+The `4D.WebFormItem` class allows you to handle the behavior of your Qodly webform components.
-A classe `WebFormItem` é detalhada na [documentação Qodly](https://developer.qodly.com/docs/language/WebFormItemClass).
+Os objetos `4D.WebFormItem` são propriedades do objeto [`4D.WebForm`](WebFormClass.md) retornado pelo comando [`Web Form`](../commands/web-form.md).
+
+When you call the [`Web Form`](../commands/web-form.md) command, the returned `4D.WebForm` proxy object holds as many `4D.WebFormItems` as there are components with [**server-side references**](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/pageLoaderOverview#server-side) in your webform.
+
+For example, `WebFormObject.myImage` refers to the image component with `myImage` as server reference.
História
@@ -24,29 +28,27 @@ A classe `WebFormItem` é detalhada na [documentação Qodly](https://developer.
| [](#removecssclass)
|
| [](#show)
|
-### .hide()
+### .addCSSClass()
-**.hide**()
+**.addCSSClass**(*className* : string)
-
+
-| Parâmetro | Tipo | | Descrição |
-| --------- | ---- | :-: | -------------------------- |
-| | | | Não exige nenhum parâmetro |
+| Parâmetro | Tipo | | Descrição |
+| --------- | ------ | :-: | ------------------------------------------------- |
+| className | string | -> | Nome da classe CSS a ser adicionada ao componente |
#### Descrição
-A função `.hide()` oculta o component.
-
-Para mais informações, consulte a descrição [`.hide()` na documentação Qodly](https://developer.qodly.com/docs/language/WebFormItemClass#hide).
+A função `.addCSSClass` adiciona a classe especificada no *className* ao component.
-### .show()
+### .hide()
-**.show**()
+**.hide**()
-
+
| Parâmetro | Tipo | | Descrição |
| --------- | ---- | :-: | -------------------------- |
@@ -56,27 +58,27 @@ Para mais informações, consulte a descrição [`.hide()` na documentação Qod
#### Descrição
-A função `.show()` torna o componente visível.
-
-Para mais informações, consulte a descrição [`.show()` na documentação Qodly](https://developer.qodly.com/docs/language/WebFormItemClass#show).
-
-### .addCSSClass()
-
-**.addCSSClass**(*className* : string)
+A função `.hide()` oculta o component.
-
+#### Exemplo
-| Parâmetro | Tipo | | Descrição |
-| --------- | ------ | :-: | ------------------------------------------------- |
-| className | string | -> | Nome da classe CSS a ser adicionada ao componente |
+To call a function that hides an image when the user clicks a button:
-
+1. Create an [exposed](../ORDA/ordaClasses.md#exposed-vs-non-exposed-functions) function inside a shared singleton class named `isHidden` that contains the following code:
-#### Descrição
+```4d
-A função `.addCSSClass` adiciona a classe especificada no *className* ao component.
+shared singleton Class constructor()
+exposed Function isHidden()
+ var myComponent : 4D.WebFormItem
+
+ myComponent:=Web Form.myImage
+ myComponent.hide() // Hide the component that has "myImage" as server reference
+```
-Para mais informações, consulte a descrição [`.addCSSClass` na documentação Qodly](https://developer.qodly.com/docs/language/WebFormItemClass#addcssclass).
+2. In Qodly Studio: Select the image component on the canvas, and enter a server-side reference in the Properties Panel > Server Side, for example "myImage".
+3. Select the Button component and add an `onclick` event to it.
+4. Attach the `isHidden` function to the event.
### .removeCSSClass()
@@ -94,7 +96,27 @@ Para mais informações, consulte a descrição [`.addCSSClass` na documentaçã
A função `.removeCSSClass()` remove a classe especificada em *className* do componente.
-Para mais informações, consulte a descrição [`.removeCSSClass()` na documentação Qodly](https://developer.qodly.com/docs/language/WebFormItemClass#removecssclass).
+### .show()
+
+**.show**()
+
+
+
+| Parâmetro | Tipo | | Descrição |
+| --------- | ---- | :-: | -------------------------- |
+| | | | Não exige nenhum parâmetro |
+
+
+
+#### Descrição
+
+The `.show()` function makes the component visible.If the component was already visible, the function does nothing.
+
+## Veja também
+
+[Web Form](../commands/web-form.md)
+[Web Event](../commands/web-event.md)
+[WebForm class](WebFormClass.md)
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/Concepts/dt_number.md b/i18n/pt/docusaurus-plugin-content-docs/current/Concepts/dt_number.md
index 1fa1aa3c366a34..f577186fa9843a 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/current/Concepts/dt_number.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/Concepts/dt_number.md
@@ -49,7 +49,7 @@ Números negativos são especificados com o sinal de menos (-). Por exemplo:
| Subtração | Número - Número | Number | 3 – 2 | 1 |
| Multiplicação | Número \* Número | Number | 5 \* 2 | 10 |
| Divisão | Número / Número | Number | 5 / 2 | 2.5 |
-| Divisão inteira | Número \ Número | Number | 5 \ 2 | 2 |
+| Integer division | Número \ Número | Number | 5 \ 2 | 2 |
| Módulo | Número % Número | Number | 5 % 2 | 1 |
| Exponenciação | Número ^ Número | Number | 2 ^ 3 | 8 |
| Igual | Número = Número | Parâmetros | 10 = 10 | True |
@@ -79,9 +79,9 @@ O operador do módulo % devolve valores significativos com números que se encon
:::
-### Divisão inteira
+### Integer division
-O operador da divisão de longint retorna valores significativos apenas com números inteiros.
+The integer division operator divides one number by another and returns the whole number part of the result, discarding any remainder. `a\b` is equivalent to `Int(a/b)`. This operator returns significant values with integer numbers only.
### Comparação real
@@ -125,16 +125,16 @@ Já que cada bit pode ser igual a 0 ou 1, também se pode pensar num valor Long
An expression that uses a bitwise operator returns a Long value, except for the Bit Test operator, where the expression returns a Boolean value. A tabela a seguir lista os operadores bitwise e sua sintaxe:
-| Operação | Operador | Sintaxe | Retorna |
-| ----------------------------------------- | ---------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------- |
-| Bitwise AND | & | Long & Long | Long |
-| OU (inclusive) | | | Long | Long | Long |
-| Bitwise OR (exclusivo) | ^ | | Long ^ | Long | Long |
-| Left Bit Shift | << | Long << Long | Long (ver nota 1) |
-| Right Bit Shift | > > | Long >> Long | Long (ver nota 1) |
-| Bit Set | ?+ | Long ?+ Long | Long (ver nota 2) |
-| Bit Clear | ?- | Long ?- Long | Long (ver nota 2) |
-| Bit Test | ?? | Long ?? Long | Boolean (ver nota 2) |
+| Operação | Operador | Sintaxe | Retorna |
+| ----------------------------------------- | ----------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------- |
+| Bitwise AND | & | Long & Long | Long |
+| OU (inclusive) | | | Long | Long | Long |
+| Bitwise OR (exclusivo) | ^ | | Long ^ | Long | Long |
+| Left Bit Shift | << | Long << Long | Long (ver nota 1) |
+| Right Bit Shift | > > | Long >> Long | Long (ver nota 1) |
+| Bit Set | ?+ | Long ?+ Long | Long (ver nota 2) |
+| Bit Clear | ?- | Long ?- Long | Long (ver nota 2) |
+| Bit Test | ?? | Long ?? Long | Boolean (ver nota 2) |
#### Notas
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/Concepts/quick-tour.md b/i18n/pt/docusaurus-plugin-content-docs/current/Concepts/quick-tour.md
index 82cb4ce8cbfd67..9cc7dbbcc639e4 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/current/Concepts/quick-tour.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/Concepts/quick-tour.md
@@ -306,7 +306,7 @@ Refere-se a uma expressão pelo tipo de dados que devolve. Existem vários tipos
| Col[5] | Elemento de colecção | Um elemento de coleção é uma expressão que pode ser de qualquer tipo suportado |
| $entitySel[0] | Entity | Um elemento de uma seleção de entidade ORDA é uma expressão do tipo entidade. Este tipo de expresión es **no asignable** |
-### Expressões atribuíveis vs expressões não atribuíveis
+### Assignable vs non-assignable expressions {#assignable-vs-non-assignable-expressions} {#assignable-vs-non-assignable-expressions}
Uma expressão pode ser simplesmente uma constante literal, como o número 4 ou a string "Hello", ou uma variável como `$myButton`. Também pode utilizar operadores. Por exemplo, 4 + 2 é uma expressão que utiliza o operador de adição para somar dois números e devolver o resultado 6. Em qualquer dos casos, estas expressões são **não atribuíveis**, o que significa que não lhes pode ser atribuído um valor.
Em 4D, as expressões podem ser **atribuíveis**. Uma expressão é atribuível quando pode ser utilizada no lado esquerdo de uma atribuição. Por exemplo:
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/Concepts/variables.md b/i18n/pt/docusaurus-plugin-content-docs/current/Concepts/variables.md
index 9ffc9beea3d801..cf29a5c758909a 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/current/Concepts/variables.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/Concepts/variables.md
@@ -250,17 +250,18 @@ A linguagem 4D gerencia diversas **variáveis sistema**, que permitem controlar
As variáveis do sistema são usadas pelos [comandos 4D](../commands/command-index.md). Refer to the "System variables and sets" paragraph in the description of a command to find out whether it affects a system variable.
-| Nome da variável sistema | Tipo | Descrição |
-| ------------------------------------------------------ | ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `OK` | Integer | Geralmente definido como 1 após um comando ter exibido uma caixa de diálogo e o usuário clicou no botão **OK** e em 0 se eles clicarem em **Cancelar**. Some commands also modify the value of the `OK` system variable when a operation is successfully executed. |
-| `Document` | Text | Contém o "nome longo" (caminho completo) do último arquivo aberto ou criado usando comandos como [Documento aberto](../commands-legacy/open-document.md) ou [ARQUIVO ARQUIVO](../commands/select-log-file.md). |
-| `FldDelimit`, `RecDelimit` | Text | Contém os códigos de caracteres que serão usados respectivamente como um separador de campos (padrão é Tab (9)) e o separador de registros (padrão é retorno do carro (13)) quando importar ou exportar texto. Para usar um separador diferente, atribua um novo valor à variável do sistema. |
-| `Error`, `Error method`, `Error line`, `Error formula` | Text, Longint | Usado em um método de captura de erro instalado pelo comando [`ON ERR CALL`](../commands-legacy/on-err-call.md). Veja [Tratamento de erros no método](../Concepts/error-handling.md#handling-errors-within-the-method). |
-| `MouseDown` | Integer | Usado em um método instalado pelo comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Definir como 1 quando o botão do mouse for pressionado, caso contrário será definido como 0. |
-| `MouseX`, `MouseY` | Integer | Usado em um método instalado pelo comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Em um evento `MouseDown=1`, `MouseX` e `MouseY` são respectivamente definidos como coordenadas verticais e horizontais do clique. Ambos os valores são expressos em píxeis e usam o sistema local de coordenadas da janela. No caso de um campo ou de uma variável de imagem, `MouseX` e `MouseY` retornam as coordenadas locais de um mouse clique nos eventos formulário [`On Clicked`](../Events/onClicked.md), [`On Double Clicked`](../Events/onDoubleClicked.md) e [`On Mouse Up`](../Events/onMouseUp.md). As coordenadas locais do cursor do mouse também são retornadas nos eventos formulário [`On Mouse Enter`](../Events/onMouseEnter.md) e [`On Mouse Move`](../Events/onMouseMove.md). Para obter mais informações, consulte as [Coordenadas de Mouse em uma imagem](../FormEditor/pictures.md#mouse-coordinates-in-a-picture). |
-| `KeyCode` | Integer | Usado em um método instalado pelo comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Definido como o código de caractere da tecla que acabou de ser pressionada. Se a chave for uma chave de função, `KeyCode` é definido como um código especial. |
-| `Modifiers` | Integer | Usado em um método instalado pelo comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Definir para as teclas modificadoras do teclado (Ctrl/Comando, Alt/Option, Shift, Caps Lock). |
-| `MouseProc` | Integer | Usado em um método instalado pelo comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Defina o número do processo em que o último evento teve lugar |
+| Nome da variável sistema | Tipo | Descrição |
+| ------------------------------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `OK` | Integer | Geralmente definido como 1 após um comando ter exibido uma caixa de diálogo e o usuário clicou no botão **OK** e em 0 se eles clicarem em **Cancelar**. Some commands also modify the value of the `OK` system variable when a operation is successfully executed. |
+| `Document` | Text | Contém o "nome longo" (caminho completo) do último arquivo aberto ou criado usando comandos como [Documento aberto](../commands-legacy/open-document.md) ou [ARQUIVO ARQUIVO](../commands/select-log-file.md). |
+| `FldDelimit`, `RecDelimit` | Integer | Contém os códigos de caracteres que serão usados respectivamente como um separador de campos (padrão é Tab (9)) e o separador de registros (padrão é retorno do carro (13)) quando importar ou exportar texto. Para usar um separador diferente, atribua um novo valor à variável do sistema. |
+| `Error`, `Error line` | Integer | Usado em um método de captura de erro instalado pelo comando [`ON ERR CALL`](../commands-legacy/on-err-call.md). Veja [Tratamento de erros no método](../Concepts/error-handling.md#handling-errors-within-the-method). |
+| `Error method`, `Error formula` | Text | Usado em um método de captura de erro instalado pelo comando [`ON ERR CALL`](../commands-legacy/on-err-call.md). Veja [Tratamento de erros no método](../Concepts/error-handling.md#handling-errors-within-the-method). |
+| `MouseDown` | Integer | Usado em um método instalado pelo comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Definir como 1 quando o botão do mouse for pressionado, caso contrário será definido como 0. |
+| `MouseX`, `MouseY` | Integer | Usado em um método instalado pelo comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Em um evento `MouseDown=1`, `MouseX` e `MouseY` são respectivamente definidos como coordenadas verticais e horizontais do clique. Ambos os valores são expressos em píxeis e usam o sistema local de coordenadas da janela. No caso de um campo ou de uma variável de imagem, `MouseX` e `MouseY` retornam as coordenadas locais de um mouse clique nos eventos formulário [`On Clicked`](../Events/onClicked.md), [`On Double Clicked`](../Events/onDoubleClicked.md) e [`On Mouse Up`](../Events/onMouseUp.md). As coordenadas locais do cursor do mouse também são retornadas nos eventos formulário [`On Mouse Enter`](../Events/onMouseEnter.md) e [`On Mouse Move`](../Events/onMouseMove.md). Para obter mais informações, consulte as [Coordenadas de Mouse em uma imagem](../FormEditor/pictures.md#mouse-coordinates-in-a-picture). |
+| `KeyCode` | Integer | Usado em um método instalado pelo comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Definido como o código de caractere da tecla que acabou de ser pressionada. Se a chave for uma chave de função, `KeyCode` é definido como um código especial. |
+| `Modifiers` | Integer | Usado em um método instalado pelo comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Definir para as teclas modificadoras do teclado (Ctrl/Comando, Alt/Option, Shift, Caps Lock). |
+| `MouseProc` | Integer | Usado em um método instalado pelo comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Defina o número do processo em que o último evento teve lugar |
:::note
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/Extensions/develop-components.md b/i18n/pt/docusaurus-plugin-content-docs/current/Extensions/develop-components.md
index 5db2ccbb2970ed..27e7ffc5db794a 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/current/Extensions/develop-components.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/Extensions/develop-components.md
@@ -114,6 +114,12 @@ Standard 4D IDE features are available for the component. You can execute the fo
- run methods,
- restore from trash or empty trash.
+### Search and replace
+
+You can use the [**Search and replace** features](../Project/search-replace.md) of the host project to search elements within the code or the forms of your editable components. The **Search in project** menu allows you to select one or all components as search target:
+
+
+
## Escopo dos comandos de linguagem
A excepción de los [comandos no utilizables](#comandos-inutilizables), un componente puede utilizar cualquier comando del lenguaje 4D.
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/FormEditor/forms.md b/i18n/pt/docusaurus-plugin-content-docs/current/FormEditor/forms.md
index e0f5a4167e9998..a8f2ebed15c8d0 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/current/FormEditor/forms.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/FormEditor/forms.md
@@ -112,9 +112,9 @@ Fluent UI support is currently in the Developer Preview phase. Não deve ser usa
:::
-:::info macOS
+:::info Disponibilidade
-This feature can only be used on Windows. On macOS, it is ignored.
+This feature can be used **in 4D projects on Windows**. It is not available on macOS or in binary 4D databases on Windows.
:::
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/FormObjects/webArea_overview.md b/i18n/pt/docusaurus-plugin-content-docs/current/FormObjects/webArea_overview.md
index cf628197f3b95b..a4de35f798af6b 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/current/FormObjects/webArea_overview.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/FormObjects/webArea_overview.md
@@ -24,7 +24,7 @@ Duas variáveis específicas podem ser associadas a cada área web:
- [`URL`](properties_WebArea.md#url) -- para controlar a URL exibida pela área Web
- [`Progression`](properties_WebArea.md#progression) -- para controlar a porcentagem de carregamento da página exibida na área Web.
-> A partir do 4D v19 R5, a variável Progression não é mais atualizada em Web Areas usando o [mecanismo de renderização do sistema Windows](./webArea_overview.md#web-rendering-engine).
+> As of 4D 19 R5, the Progression variable is no longer updated in Web Areas using the [Windows system rendering engine](./webArea_overview.md#web-rendering-engine).
### Motor de renderização Web
@@ -338,9 +338,11 @@ O arquivo 4DCEFParameters.json padrão contém os seguintes botões:
}
```
-### Veja também
+:::info Related blog post
-[Especifique seus próprios parâmetros para inicializar a área Web incorporada (postagem no blog)](https://blog.4d.com/specify-your-own-parameters-to-initialize-the-embedded-web-area)
+[Custom Parameters for Initializing Embedded Web Area](https://blog.4d.com/custom-parameters-for-initializing-embedded-web-area/)
+
+:::
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/Notes/updates.md b/i18n/pt/docusaurus-plugin-content-docs/current/Notes/updates.md
index f8acd086a9328e..06797832a33621 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/current/Notes/updates.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/Notes/updates.md
@@ -10,6 +10,10 @@ Leia [**O que há de novo no 4D v21 R2**](https://blog.4d.com/en-whats-new-in-4d
#### Destaques
- [Code Live Checker](../code-editor/write-class-method.md#warnings-and-errors) has been enhanced to provide greater precision in error detection (see [this blog post](https://blog.4d.com/better-error-handling-and-type-inference-for-4d-developers) for more information).
+- [4D Write Pro standard actions](../WritePro/user-legacy/standard-actions.md) that apply [lists](../WritePro/user-legacy/using-a-4d-write-pro-area.md#lists) now automatically adjust paragraph margins to keep markers positioned inside it.
+- Built-in support of `order by` in query strings for AI vector searches using [`query()`](../API/DataClassClass.md#query-by-vector-similarity) functions and the [REST API](../REST/$orderby.md).
+- 4D AIKit component: new [File API](../aikit/Classes/OpenAIFilesAPI.md) class to implement **file upload** features.
+- [**Find in Design**](../Project/search-replace.md#search-in-components) and [**Replace in contents**](../Project/search-replace.md#replace-in-contents) features can now support editable components.
- [**Lista de erros corrigida**](https://bugs.4d.fr/fixedbugslist?version=21_R2): lista de todos os bugs corrigidos em 4D 21 R2.
#### Mudanças de comportamento
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/ORDA/orda-events.md b/i18n/pt/docusaurus-plugin-content-docs/current/ORDA/orda-events.md
index d95347972ed07a..05cea3c51f7f7a 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/current/ORDA/orda-events.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/ORDA/orda-events.md
@@ -24,7 +24,7 @@ You cannot directly trigger event function execution. Events are called automati
:::info Compatibility note
-ORDA entity events in the datastore are equivalent to triggers in the 4D database. However, actions triggered at the 4D database level using the 4D classic language commands or standard actions do not trigger ORDA events.
+ORDA entity events in the datastore are equivalent to triggers in the 4D database. However, actions triggered at the 4D database level using the 4D classic language commands or standard actions do not trigger ORDA events. Note also that, unlike triggers, ORDA entity events do not lock the entire underlying table of a dataclass while saving or dropping entities. Several events can run in parallel as long as they involve distinct entities (i.e. records).
:::
@@ -420,7 +420,9 @@ If (This.userManualPath#"")
// The user manual document file is created on the disk
// This may fail if no more space is available
Try
- $fileCreated:=$userManualFile.create()
+ // The file content has been generated and stored in a map in Storage.docMap previously
+ $docInfo:=Storage.docMap.query("name = :1"; This.name).first()
+ $userManualFile.setContent($docInfo.content)
Catch
// No more room on disk for example
$result:={/
@@ -434,6 +436,12 @@ return $result
```
+:::note
+
+The content of the file is generated outside the `saving` event because it can be time consuming.
+
+:::
+
### `Function event afterSave`
#### Sintaxe
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/Project/project-method-properties.md b/i18n/pt/docusaurus-plugin-content-docs/current/Project/project-method-properties.md
index 6846ddfc1ce779..d3abe03f6f198d 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/current/Project/project-method-properties.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/Project/project-method-properties.md
@@ -22,9 +22,9 @@ El nuevo nombre debe cumplir con las reglas de denominación de 4D (ver [Identif
:::caution
-Alterar o nome de um método já utilizado na base de dados pode invalidar quaisquer métodos ou fórmulas que utilizem o nome do método antigo e arrisca perturbar o funcionamento da aplicação. Puede cambiar el nombre del método manualmente, pero se recomienda utilizar la función de cambio de nombre de los métodos proyecto, descrita en [Renombrar](https://doc.4d.com/4Dv20/4D/20.2/Renaming.300-6750165.en.html). Com esta função, é possível atualizar automaticamente o nome sempre que o método for chamado em todo o ambiente de Desenho.
+Changing the name of a method already used in the project can invalidate any methods or formulas that use the old method name and runs the risk of disrupting application functioning. It is strongly recommended to use the [renaming function for project methods](../Project/search-replace.md#renaming-project-methods-and-variables). Com esta função, é possível atualizar automaticamente o nome sempre que o método for chamado em todo o ambiente de Desenho.
-Com 4D Server, o nome do método é alterado no servidor quando termina de o editar. Se mais do que um usuário estiver a modificar o nome do método em simultâneo, o nome final do método será o nome especificado pelo último usuário a terminar a edição. Pode ser necessário especificar um proprietário do método para que apenas determinados usuários possam alterar o nome do método
+Com 4D Server, o nome do método é alterado no servidor quando termina de o editar. Se mais do que um usuário estiver a modificar o nome do método em simultâneo, o nome final do método será o nome especificado pelo último usuário a terminar a edição. Pode ser necessário especificar um proprietário do método para que apenas determinados usuários possam alterar o nome do método.
:::
@@ -103,7 +103,7 @@ Para más información, consulte [Implementación del motor SQL de 4D](https://d
*Esta opção está obsoleta. Calling code through REST calls is only supported with [ORDA data model class functions](../REST/ClassFunctions.md).*
-### Definição de lotes para atributos de métodos
+## Definição de lotes para atributos de métodos
Usando a caixa de diálogo "Atributos para métodos", você pode modificar um atributo (Invisível, oferecido como um serviço Web, etc.) for all or part of the database project methods in a single operation. Esta caraterística é especialmente útil para modificar os atributos de um grande número de métodos de projeto. Também pode ser utilizado durante o desenvolvimento para aplicar rapidamente atributos comuns a grupos de métodos semelhantes.
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/Project/search-replace.md b/i18n/pt/docusaurus-plugin-content-docs/current/Project/search-replace.md
new file mode 100644
index 00000000000000..cd977d8d68b1f6
--- /dev/null
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/Project/search-replace.md
@@ -0,0 +1,283 @@
+---
+id: search-replace
+title: Search and Replace
+---
+
+4D provides several search and replace functions for elements in all of the Design environment.
+
+- You can search for a string or a type of object (variable, comment, expression, etc.) in part of or in the entire project on the basis of custom criteria ("starts with", "contains", etc.). You can, for example, search for all the variables containing the string "MyVar", only in methods whose name begins with "HR_".
+- The results are displayed in a results window, where it is possible to perform replacements in the contents. You can also export these results in a text file that can be imported into a spreadsheet.
+- You can detect variables and methods that are not used in your code and then remove them to free up memory.
+- You can rename a project method or a variable throughout the Design environment in a single operation.
+
+:::note
+
+There are also functions for searching among the methods of your project in the context menu of the Methods Page in the Explorer: **Search Callers** (aussi available in the [Code editor](../code-editor/write-class-method.md#search-callers) and **Search Dependencies**. Both functions display the items found in a [Results window](#results-window).
+
+:::
+
+## Search Location
+
+When you search the Design environment, the following elements are searched:
+
+- Names of project methods and classes
+- Contents of all methods and classes
+- Names of tables, fields and forms
+- Contents of forms:
+ - object names and titles
+ - names of help tips, pictures, variables, style sheets,
+ - formatting strings
+ - expressões
+- Menus (names and items) and commands associated with menu items
+- Choice lists (names and items)
+- Help tips (names and content)
+- Formats / filters (names and content)
+- Comments in the Explorer and in the code
+
+## Find in Design
+
+### Starting a search
+
+Specify your search criteria in the "Find in design" window:
+
+1. Click on the Search button () in the 4D toolbar.
+ OR
+ Select the **Find in Design...** command from the **Edit** menu.
+
+The "Find in design" window appears:
+
+
+
+The areas of the "Find in design" vary dynamically depending on the selections made in the menus. You can expand this window so that all options are visible:
+
+
+
+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).
+
+4. Click **OK** or press the **Enter** key.
+ When the search is finished, the [Results window](#results-window) appears, listing the elements found.
+
+:::note
+
+You can cancel an extensive search that is underway using the **x** button; this does not close the window or remove any results that were found.
+
+:::
+
+Once you have executed a search, the value entered in the search area is saved in memory. This value, as well as all the other values entered during the same session, can be selected from the combo box.
+
+### Find
+
+You specify the type of element to look for using the **Find** menu. The following choices are available:
+
+- **Text**: In this case, 4D looks for a character string throughout the Design environment. The search is done in plain text mode, without taking the context into account. For example, you can look for the text "ALERT("Error number:"+" or "button27". In this mode, you cannot use the wildcard character because "@" is considered to be a standard character.
+- **Comment**: This search is basically the same as the previous one, but it is restricted to the contents of comments (lines beginning with //) in the code and in the Explorer window. For example, you can search for any comments containing the string "To be verified".
+
+:::note
+
+The end result of both types of searches depends on the [search mode](#search-mode) selected.
+
+:::
+
+- **Language expression**: Used to search for any valid 4D expression; the search is performed in the "contains" search mode. Validity is important because 4D must be able to evaluate an expression to be able to search for it. For example, a search for "[clients" (invalid expression) will not return any result whereas "[clients]" is correct. This option is particularly suitable for searches for value assignments and comparisons. Por exemplo:
+ - Search for "myvar:=" (assignment)
+ - Search for "myvar=" (comparison)
+- **Language element**: Used to search for a specific language element by its name. 4D can distinguish between the following elements:
+ - **Any language element**: Any element from the list below.
+ - **Project method or Class**: Name of a project method or class, for example "M_Add" or "EmployeeEntity".
+ - **Form:** Form name, for example "Input". The command searches among project forms and table forms.
+ - **Field or Table**: Name of a table or field, for example "Customers".
+ - **Variable**: Any variable name, such as "$myvar".
+ **4D constant**: Any constant, such as "Is Picture".
+ **String in quotes**: Literal text constant; i.e. any value within quotes in the code editor or inserted into text areas of the Form editor (static text or group boxes). For example, a search for "Martin" will return results if your code contains the line: `ds.Customer.query("name = :1"; "Martin")`
+ - **4D command**: Any 4D command, for example "Alert".
+ - **Plug-in command**: Plug-in command installed in the application.
+ - **Properties**: An object property name (includes ORDA attribute names). For example "lastname" will find "$o.lastname" and "ds.Employee.lastname".
+- **Any object**: This option searches among all the elements in the Design environment. Only the modification date filter is available. Use this option, for example, to search for "anything modified today".
+
+### Search mode
+
+The search mode menu (i.e. "which", "that is" or "whose name") specifies how to search for the value that is entered. The contents of this menu vary according to the type of element to search for as selected in the **Find** dropdown list.
+
+- Search options for Text or Comment:
+ - **contains**: Searches all text in the Design environment for the specified string. Search results for "var" can include "myvar", "variable1" or "aVariable".
+ - **contains whole word**: Searches all text of the Design environment for the string as a whole word. Search results for "var" only include exact occurrences. They will not include "myvar" but will include, for example, "var:=10" or "ID+var" because the symbols : or + are word separators.
+ - **begins with / ends with**: Searches for the string at the beginning or end of the word (text search) or at the beginning or end of the comment line (comment search). In "Text ends with" mode, searching for "var" will find "myvar".
+- Search options for Language element: The menu offers standard options (matches, contains, begins with, ends with). Note that you can use the search wildcard (@) with the matches option (returns all objects of the type specified).
+
+### Search in components
+
+When your current project references [editable components](../Extensions/develop-components.md#editing-components), you can designate one or all your components as a target for the search. By default, a search is executed in the host only. To modify the target for a search, deploy the **in the project** menu:
+
+
+
+You can select as target:
+
+- the **host project** (default option, top of the list): the search will only be executed within the host project code and forms, excluding components.
+- the **host project and all its components**: the search will be executed in the host project and in all its loaded components.
+- a **specific component**, among the list of all searchable components: the search will be restricted to this component only, excluding the host and other components.
+
+:::note
+
+When no searchable component is found, no menu is available.
+
+:::
+
+The **in the folder** menu (see below) is updated when you select a project since the availability of folders depends on the selected search target(s). The menu is hidden when you select the "host project and all its components" option.
+
+### Folder
+
+The **in the folder** menu restricts the search to a specific folder of the project. By default ("Top Level" option), the search takes place in all the folders.
+
+:::note
+
+Folders are defined on the Home Page of the Explorer.
+
+:::
+
+### Modification date of the parent
+
+This menu restricts the search with respect to the creation/modification date of its parent (for example, the method containing the string being searched for). In addition to standard date criteria (is, is before, is after, is not), this menu also contains several options to let you quickly specify a standard search period:
+
+- **is today**: Period beginning at midnight (00:00 h) of the current day.
+- **is since yesterday**: Period including the current day and the previous one.
+- **is this week**: Period beginning on Monday of the current week.
+- **is this month**: Period beginning on the 1st day of the current month.
+
+### Searching options
+
+You can select options that can help speed up your searches:
+
+- **Search in forms**: When this option is deselected, the search is done throughout the project, except in forms.
+- **Search in methods**: When this option is deselected, the search is done throughout the project, except in methods.
+- **Case Sensitive**: When this option is selected, the search uses the case of the characters as they have been entered in the Find area.
+
+## Results window
+
+The Results window lists all elements found that match the search criteria set using different types of searches:
+
+- [standard search](#starting-a-search)
+- [search for unused elements](#find-unused-methods-and-global-variables)
+- [search for callers](../code-editor/write-class-method.md#search-callers)
+- search for dependencies
+- [renaming of project methods and variables](#renaming-project-methods-and-variables)
+
+It shows the results as a hierarchical list organized by type of elements found. You can expand or collapse all the hierarchical items in the list using the options menu (found at the bottom left of the window) or in the context menu.
+
+
+
+You can double-click on a line in this window to view the element in its editor, such as the [code editor](../code-editor/write-class-method.md). If you do several searches, each search opens its own result window, leaving previous result windows open.
+
+When more than one occurrence has been found, the list indicates their **count** next to the element name.
+
+Each line can display a tip that provides additional information, for example the element property that matches the criteria, or the number of the form page that contains the occurrence.
+
+When an element found belongs to a component, the **component name** is displayed in parenthesis at the right side of the element name:
+
+
+
+Once a search is completed, you can use the  button to perform the search again with the same criteria and options.
+
+### Options menu
+
+You can perform various actions using the options menu:
+
+
+
+- **Remove from list**: removes selected item(s) from the results window. More specifically, this lets you keep only items targeted by a replacement operation in the contents or used for drag and drop between applications.
+- **Remove all items from list except selection**: clears everything from the results window except for the selected item(s).
+- [**Replace in content**](#replace-in-contents): replaces a character string within the selected item(s).
+- **Select >**: selects one type of item (project methods, object names, and so on) from among all the items found in the Results window. The hierarchical sub-menu also provides commands to select (All) or deselect (None) all the items at once.
+- **Collapse all/Expand all**: expands or collapses all the hierarchical items in the list of results.
+- **Export Results**: exports information about the search criteria and elements listed in the Results window. This text file can then be imported into a spreadsheet such as Excel, for example. For each item, the following information is exported as tab-separated values in a text file:
+ - Host project or component name
+ - Type (method, Class, formObject, trigger...)
+ - Path
+ - Property (if accurate): provides the property of the object that matches the criteria. For example, a string could be found in a variable name (variable property) and an object name (name property) within in the same form. This field is empty when the matching element is the object itself.
+ - Contents (if accurate): provides the contents that actually matches the criteria; for example, the code line that contains the requested string.
+ - Line number (for code) or page number (for form objects)
+
+## Replace in content
+
+The Replace in content function allows you to replace one character string with another within the listed objects in the Results window. It is available in the [options menu](#options-menu) of the window.
+
+:::note
+
+The **Replace in content** menu item is disabled if you work in a read-only database (e.g. in a .4dz file).
+
+:::
+
+When you select this command, a dialog box appears where you enter the character string that will replace all the occurrences found by the initial search:
+
+
+
+Replacing operations work as follows:
+
+- Replacing is always carried out among all items found in the list and not just for a selection. However, it is possible to narrow the replacing operation by first reducing the contents of the list using the **Remove from list** or **Remove all items from list except selection** commands in the [options menu](#options-menu) or the contextual menu.
+- If the Results window includes elements from components, the replacing will be done in the component(s) also.
+- Only the occurrences shown in the list will be replaced and only after checking the initial search criteria for cases where objects were modified between the initial search and the replacing operation.
+- Replacing is done in the code, properties of form objects, contents of help messages, entry filters, menu items (item text and method calls), choice lists, comments.
+- For each object modified, 4D checks whether it is already loaded by another machine or in another window. In the case of conflict, a standard dialog box appears indicating that the object is locked. You can close the object and then try again or cancel its replacement. The replacing operation will then continue with the other objects in the list.
+- If a method or form concerned by a "replace in content" operation is currently being edited by the same 4D application, it will be modified directly in the open editor (no warning appears). Forms and methods modified in this way are not saved automatically: you will need to use the **Save** or **Save All** command explicitly to validate the changes.
+- After a replacement is made in a list item, it will appear in italics. A count of replacements made in real time appears at the bottom of the window.
+- Elements are never renamed themselves by the **Replace in content** feature, except for form objects. Hence it is possible that certain items in the list may not be affected by the replacing operation. This can occur when only the item name corresponds to the initial search criteria. In this case, the list items do not necessarily all appear in italics and the final replacement count may be less than the number of occurrences found by the initial search.
+
+## Renaming project methods and variables
+
+4D provides a dedicated renaming function with distribution throughout the entire project for project methods and variables.
+
+The **Rename...** command is available from the [Code editor] (for project methods and variables) and the Explorer context menu (for project methods).
+
+
+
+When you select this command, a dialog box appears where you enter the new name for the object:
+
+
+
+The new name must comply with [naming rules](../Concepts/identifiers.md); otherwise a warning appears when you validate the dialog box. For example, you cannot rename a method with a command name such as "Alert".
+
+Depending on the type of object you are renaming (project method or variable), the renaming dialog box may also contain a distribution option:
+
+- Project method: The **Update callers in whole database** option renames the method in all the project code that references it. You can also uncheck this option in order, for example, to rename the method only in the Explorer itself.
+- Process variable: The **Rename variable in whole database** option renames the variable in all the project code that references it. If you uncheck this option, the variable is only renamed in the current method.
+- Local variable: No distribution option for this object; the variable is only renamed in the current method or class.
+
+## Searching for unused elements
+
+Two specific search commands allow you to detect variables and methods that are not used in the code of your host project. You can then remove them to free up memory. These commands are found in the **Edit** menu of the Design environment.
+
+### Find Unused Methods and Global Variables
+
+This command looks for project methods as well as "global" variables (process and interprocess variables) that are declared but not used. The search results appear in a standard [Results window](#results-window).
+
+A project method is considered to be unused when:
+
+- it is not in the Trash,
+- it is not called anywhere in the 4D code,
+- it is not called by a menu command,
+- it is not called as a string constant in the 4D code (4D detects a method name in a string even when it is followed by parameters in parentheses).
+
+A process or interprocess variable is considered to be unused when:
+
+- it is [declared](../Concepts/variables.md#declaring-variables) in the 4D code,
+- it is not used anywhere else in the 4D code,
+- it is not used in any form object.
+
+Note that certain uses cannot be detected by the function - i.e. an element considered unused may in fact be used. This is the case in the following code:
+
+```4d
+var v : Text :="method"
+EXECUTE FORMULA("my"+v+String(42))
+```
+
+This code builds a method name. The *mymethod42* project method is considered unused when in fact it is called. Therefore, it is advisable to check that the elements declared as unused are in fact unnecessary before you remove them.
+
+### Find Unused Local Variables
+
+This command looks for local variables that are declared but not used. The search results appear in a standard [Results window](#results-window).
+
+A local variable is considered to be unused when:
+
+- it is [declared](../Concepts/variables.md#declaring-variables) in the 4D code,
+- it is not used anywhere else within the same method.
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/REST/$filter.md b/i18n/pt/docusaurus-plugin-content-docs/current/REST/$filter.md
index 01f9c75981cdbe..332cad9c82c714 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/current/REST/$filter.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/REST/$filter.md
@@ -3,7 +3,7 @@ id: filter
title: $filter
---
-Permite consultar los datos de una clase de datos o de un método *(p. ej.*, `$filter="firstName!='' AND salary>30000"`)
+Allows to query the data in a dataclass or method (*e.g.*, `$filter="firstName!='' AND salary>30000"`)
## Descrição
@@ -96,7 +96,7 @@ The *vectorComparison* parameter is a collection of the following elements:
| [].metric | Text | Opcional. [Vector computation](../API/VectorClass.md#understanding-the-different-vector-computations) to use for the query. Supported values:"cosine" (default if omitted): calculates the cosine similarity between vectors."dot": calculates the dot similarity of vectors."euclidean": calculates the Euclidean distance between vectors. |
| [].threshold | Real | Optional (default: 0.5). A threshold value used to filter vector comparisons based on their cosine, dot or euclidean similarity score according to the selected "metric". It is highly recommended to choose a similarity that best fits your specific use case for optimal results. |
-Only a subset of **comparator** symbols are supported with vector comparisons. Note that they compare results to the threshold value:
+Only a subset of **comparator** symbols is supported with vector comparisons. Note that they compare results to the threshold value:
| Comparador | Símbolos | Comentário |
| -------------------- | --------------------------- | -------------------------------------- |
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/REST/$orderby.md b/i18n/pt/docusaurus-plugin-content-docs/current/REST/$orderby.md
index 734791013e20a2..1631702aa29ebb 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/current/REST/$orderby.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/REST/$orderby.md
@@ -9,7 +9,7 @@ Ordena los datos devueltos por el atributo y el orden de clasificación definido
`$orderby` ordena las entidades devueltas por la petición REST. Para cada atributo, se especifica el orden como `ASC` (o `asc`) para el orden ascendente y `DESC` (`desc`) para el orden descendente. Por defeito, os dados são ordenados por ordem ascendente. By default, the data is sorted in ascending order.
-## Exemplo
+## Exemplo 1
Neste exemplo, recuperamos entidades e ordenamo-las em simultâneo:
@@ -47,3 +47,10 @@ O exemplo abaixo ordena o conjunto de entidades pelo atributo lastName em ordem
}
```
+## Exemplo 2
+
+`$orderby` statement is supported in [vector similarity filters](./$filter.md#vector-similarity):
+
+```
+GET /rest/Person?$filter="Vector>=:1"&$params=[{"vector":[1,2,3],"metric":"cosine","threshold":0.95}]&$orderby="Vector desc"
+```
\ No newline at end of file
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/REST/authUsers.md b/i18n/pt/docusaurus-plugin-content-docs/current/REST/authUsers.md
index 3e70a79594c84f..c6224a1a1109d3 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/current/REST/authUsers.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/REST/authUsers.md
@@ -18,7 +18,7 @@ Uma sessão é aberta depois que o usuário é autenticado com sucesso (veja aba
:::note Compatibidade
-O modo de login legado baseado no método de banco de dados `On REST Authentication` é **obsoleto** a partir de 4D 20 R6. Agora é recomendado [usar o **modo de login forçado**](../ORDA/privileges.md#rolesjson-file) (automaticamente habilitado em novos projetos) e implementar a [função `ds.authentify()`](#function-authentify). Em projetos convertidos, [um botão na caixa de diálogo Configurações](../settings/web.md#activate-rest-authentication-through-dsauthentify-function) o ajudará a atualizar sua configuração. No Qodly Studio para 4D, o modo pode ser definido usando a opção [**Forçar login**](../WebServer/qodly-studio.md#force-login) no painel de Privilégios.
+O modo de login legado baseado no método de banco de dados `On REST Authentication` é **obsoleto** a partir de 4D 20 R6. Agora é recomendado [usar o **modo de login forçado**](../ORDA/privileges.md#rolesjson-file) (automaticamente habilitado em novos projetos) e implementar a [função `ds.authentify()`](#function-authentify). Em projetos convertidos, [um botão na caixa de diálogo Configurações](../settings/web.md#activate-rest-authentication-through-dsauthentify-function) o ajudará a atualizar sua configuração. No Qodly Studio para 4D, o modo pode ser definido usando a opção [**Forçar login**](https://developer.4d.com/qodly/4DQodlyPro/force-login) no painel de Privilégios.
:::
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/WebServer/sessions.md b/i18n/pt/docusaurus-plugin-content-docs/current/WebServer/sessions.md
index 1a02e189b920b6..09fd59389d4d97 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/current/WebServer/sessions.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/WebServer/sessions.md
@@ -25,7 +25,7 @@ As sessões Web são usadas para:
- [Web applications](gettingStarted.md) sending http requests (including [SOAP Web services](../commands/theme/Web_Services_Server.md) and [/4DACTION](../WebServer/httpRequests.md#4daction) requests),
- calls to the [REST API](../REST/authUsers.md), which are used by [remote datastores](../ORDA/remoteDatastores.md) and [Qodly forms](qodly-studio.md).
-## Activando sessões web
+## Enabling web sessions {#enabling-web-sessions}
A funcionalidade de gerenciamento de sessão pode ser ativado e desativado no seu servidor web 4D. Existem diferentes formas de ativar a gestão de sessões:
@@ -201,7 +201,7 @@ Else
End if
```
-:::tips Related blog posts
+:::tip Related blog posts
[Scalable sessions for advanced web applications](https://blog.4d.com/scalable-sessions-for-advanced-web-applications/)
@@ -213,7 +213,7 @@ The 4D web server allows you to generate, share, and use OTP (One-Time Passcode)
In 4D, OTP session tokens are useful when calling external URLs and being called back in another browser or device (mobile/computer). Typically, a third-party application sends a confirmation email containing a callback link on which the user has to click. The callback link includes the OTP token, so that the session which triggered the callback is loaded along with its data and privileges. This principle allows you to share the same session on multiple devices. Graças a esta arquitetura, o [cookie de sessão](#session-implementation) não está exposto na rede, o que elimina o risco de ataque do homem-meio.
-:::tips Related blog posts
+:::tip Related blog posts
[Connect Your Web Apps to Third-Party Systems](https://blog.4d.com/connect-your-web-apps-to-third-party-systems/)
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/WritePro/commands-legacy/4d-write-pro-attributes.md b/i18n/pt/docusaurus-plugin-content-docs/current/WritePro/commands-legacy/4d-write-pro-attributes.md
index ce66252a7ba42b..2b1c5006881734 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/current/WritePro/commands-legacy/4d-write-pro-attributes.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/WritePro/commands-legacy/4d-write-pro-attributes.md
@@ -17,12 +17,12 @@ Os atributos 4D Write Pro permitem controlar todos os aspectos gráficos de text
* notação de objeto - por exemplo, o statement abaixo é similar:
```4d
- $bcol:=$range[wk background color]
- $bcol:=$range.backgroundColor //same results
+ $bcol:=$range[wk background color]
+ $bcol:=$range.backgroundColor //same results
```
* Comandos [OB SET](../../commands-legacy/ob-set.md) e [OB Get](../../commands-legacy/ob-get.md) por exemplo:
```4d
- $bcol:=OB Get($range;wk background color)
+ $bcol:=OB Get($range;wk background color)
```
:::
@@ -252,7 +252,7 @@ Atributos de Link são usados para estabelecer ou obter URLs adicionados a faixa
### Listas
-4D Write Pro respalda dois tipos principais de listas:
+4D Write Pro respalda dois tipos principais de [listas](../user-legacy/using-a-4d-write-pro-area.md#lists):
* listas não ordenadas: donde os elementos da lista estão marcados com vinhetas
* listas ordenadas:onde os elementos da lista estão marcados com números ou letras
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/WritePro/user-legacy/defining-a-4d-write-pro-area.md b/i18n/pt/docusaurus-plugin-content-docs/current/WritePro/user-legacy/defining-a-4d-write-pro-area.md
index cea2341af3af22..6553dabb87df02 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/current/WritePro/user-legacy/defining-a-4d-write-pro-area.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/WritePro/user-legacy/defining-a-4d-write-pro-area.md
@@ -85,175 +85,3 @@ Para áreas embebidas em formulários 4D, o modo vista pode ser também definido
-
-## Ações padrão
-
-A interface de usuário de áreas 4D Write Pro pode ser manejada através de um amplo conjunto de **ações padrão**. As ações padrão podem ser atribuidas a:
-
-* comandos de menu, disponíveis através da **barra de menu** ou do comando [Dynamic pop up menu](../../commands/dynamic-pop-up-menu)
-* list items, listas pop up ou drop down, menus pop up hierárquicos
-* botões, check boxes
-* ou executados pelo comando [INVOKE ACTION](../../commands/invoke-action).
-
-Quando são atribuidos aos objetos de interface, as ações padrão manejam a ativação/desativação de objeto em função de contexto. Para mais informação, consulte a seção *Ações padrões*.
-
-Dois tipos de ações estão disponíveis para áreas 4D Write Pro:
-
-* As ações específicas 4D Write Pro, que só podem ser utilizadas com áreas 4D Write Pro,
-* *[Outras ações](#other-actions)*, incluido as fontes, expressões, corretor ortográfico e ações de edição, que podem ser utilizadas com as áreas 4D Write Pro e as outras áreas 4D (ver [*Ações padrões*](#standard-actions)).
-
-### Ações 4D Write Pro
-
-**Notas:**
-
-* As ações que mostram um menu/lista só podem ser associadas aos comandos de menu ou aos objetos pop-up/listas suspensas e menus pop-up hierárquicos (ver *Submenu*).
-* Check boxes e 3D check boxes devem ser associadas com ações de estado, tais como "section/differentFirstPage" ou "visibleHorizontalRuler". Três opções de estado são suportadas com check boxes padrão apenas.
-* um status de ação de seção é sempre igual ao status atual de seção selecionada (estado herdado se o atributo for herdado da seção pai ou de um atributo padrão) já que deve refletir o status de seção selecionada (o status que é aplicado atualmente para a seção). Entretanto, modificar o atributo de seção com uma ação padrão vai sobrepujar o atributo de seção selecionado.
-* *Submenu*: Quando usado sem parâmetros e associados ao comando menu, um pop-up/lista drop down ou um objeto de menu hierárquico pop-up, essas ações exibem um submenu/lista automática. Por exemplo, se atribuir a ação "backgroundColor" a um comando de menu, selecionando este comando de menu na execução vai exibir os itens de submenu de Cor de Fundo. Se atribuir a ação "zoom" a um menu hierárquico pop-up menu, vai conter automaticamente conter uma lista de valores pré-definidos de zoom. Note que essas ações não podem ser atribuídas aos botões.
-* *showDialog*:Adicionar a string "/showDialog" ao nome de ação permite a exibição da caixa de diálogo padrão associada para a ação. Por exemplo, pode ser usado "paragraph/styleSheet/showDialog" para abrir o diálogo de input que permite a entrada de um novo nome de folha de estilo. .
-
-| Ação | Sintaxe | Disponível com | Descrição |
-|---|---|---|---|
-| anchorHorizontalAlign | {image \| textBox}/anchorHorizontalAlign?value={left \| center \| right} | Image, Textbox, Submenu | Defines the horizontal alignment of the element, relative to the anchorOrigin for images/text boxes in page, or to the layout box for images/text box in embedded mode. This action will reset the horizontal offset to 0. (not enabled for inline images). |
-| anchoring | {image \| textBox}/anchoring | Submenu | Default submenu with anchor settings actions for images or text boxes |
-| anchorLayout | image/anchorLayout?value={front \| behind \| wrapTopBottom \| wrapSquareLeft \| wrapSquareRight \| wrapSquareLargest \| wrapSquare \| inline}
textBox/anchorLayout?value={front \| behind \| wrapTopBottom \| wrapSquareLeft \| wrapSquareRight \| wrapSquareLargest \| wrapSquare} | Image, Textbox, Submenu | Defines the anchor layout type for an image or a text box. Can be used to transform an inline image to an anchored image, or the reverse. Note: If an image is moved from an anchored mode to inline, the image is inserted at the beginning of the current selected text. "inline" value is not supported for text boxes |
-| anchorOrigin | {image \| textBox}/anchorOrigin?value={paper-box \| header-box \| footer-box} | Image, TextBox, Submenu | Defines the area relative to the absolute position of an anchored image or text box. If the element is relative to the header-box/footer-box which is not visible on a page, the element is not displayed. This action will reset horizontal and vertical offsets to 0. Page mode only, not enabled for inline images. |
-| anchorPage | {image \| textBox}/anchorPage?value={all \| current \| currentSubSection} | Image, TextBox, Submenu | Defines the page(s) where the selected image or text box is displayed (not enabled for inline images). Page mode only. |
-| anchorSection | {image \| textBox}/anchorSection?value={all \| current} | Image, TextBox, Submenu | Defines the section(s) where the selected image or text box is displayed. (not enabled for inline images). Page mode only. |
-| anchorVerticalAlign | {image \| textBox}/anchorVerticalAlign?value={top \| center \| bottom} | Image, TextBox Submenu | Defines the vertical alignment of the image or text box, relative to the anchorOrgin for an image or text box in page, or to the layout box for an image or text box in embedded mode. This action will reset the vertical offset to 0 (not enabled for inline images). Note: See "verticalAlign" action for the vertical alignment inside the text box |
-| avoidPageBreakInside | {paragraph/}avoidPageBreakInside | Paragraph | |
-| background | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}background | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu | For menu commands only. Default submenu for all background attributes. |
-| backgroundClip | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}backgroundClip?value={paper-box \| border-box \| padding-box \| content-box} | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu | Changes target background clipping box (default target is paragraph). Paper-box targets document and section only. |
-| backgroundColor | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}backgroundColor?value={ \| transparent} | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu, showDialog | Changes target background. |
-| backgroundDisplayMode | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}backgroundDisplayMode?value=scaledToFit \| truncated \| truncatedCentered \| proportional \| proportionalCentered \| replicated \| replicatedCentered | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu | Sets the display mode of images used as background. |
-| backgroundImage | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}backgroundImage?value=none | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu, showDialog | Clears target background image. (default target is paragraph) |
-| backgroundOrigin | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}backgroundOrigin?value={paper-box \| border-box \| padding-box \| content-box} | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu | Changes target background image origin box (default target is paragraph). Paper-box targets document and section only. |
-| backgroundPositionH | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}backgroundPositionH?value={left \| right \| center} | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu | Changes target background image horizontal alignment (default target is paragraph). Ex: paragraph/backgroundPositionH?value=left |
-| backgroundPositionV | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}backgroundPositionV?value={top \| bottom \| center} | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu | Changes target background image vertical alignment (default target is paragraph). Ex: paragraph/backgroundPositionV?value=top |
-| backgroundRepeat | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}backgroundRepeat?value={no-repeat \| repeat \| repeat-x \| repeat-y} | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu | Changes target background image repeat mode. (default target is paragraph) |
-| backgroundSizeH | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}backgroundSizeH?value={ \| \| auto \| cover \| contain} | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu | Changes target background image width (default target is paragraph). Ex: paragraph/backgroundSizeH?value=100%. section/backgroundSizeH?value=cover |
-| backgroundSizeV | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell}/backgroundSizeV?value={ \| \| auto} | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu | Changes target background image height (default target is paragraph). Ex: paragraph/backgroundSizeV?value=50%. Ex: section/backgroundSizeV?value=40pt |
-| bookmark | bookmark?index= | Submenu | Selects the Nth bookmark. Ex: bookmark?index=2 // selects the second bookmark |
-| borderCollapse | borderCollapse | Paragraph | Collapses selected paragraph borders and interior margins. |
-| borderColor | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}{inside \| outside/}{borderColor \| borderColorLeft \| borderColorRight \| borderColorTop \| borderColorBottom \| borderColorLeftRight \| borderColorTopBottom}?value= | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu, showDialog | Changes target border color (default target is paragraph). Ex: paragraph/borderColorLeft?value=green |
-| borderRadius | {doc \| paragraph \| image \| textBox \| section \| header \| footer/}borderRadius?value= | Document, Paragraph, Image, TextBox, Section, Header, Footer, Submenu | Changes target border radius (default target is paragraph). Ex: paragraph/borderRadius?value=4pt |
-| borders | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}{inside \| outside/}borders | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu | Default submenu for target borders. |
-| borderStyle | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}{inside \| outside/}{borderStyle \| borderStyleLeft \| borderStyleRight \| borderStyleTop \| borderStyleBottom \| borderStyleLeftRight \| borderStyleTopBottom}?value={none \| hidden \| dotted \| dashed \| solid \| double \| groove \| ridge \| inset \| outset} | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu | Changes target border style (default target is paragraph). Ex: paragraph/borderStyleLeft?value=double. Ex: outside/borderStyle?value=solid //set selected paragraphs exterior borders to style solid. Ex: inside/borderStyle?value=none //remove selected paragraphs interior borders |
-| borderWidth | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}{inside \| outside/}{borderWidth \| borderWidthLeft \| borderWidthRight \| borderWidthTop \| borderWidthBottom \| borderWidthLeftRight \| borderWidthTopBottom}?value= | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu | Changes target border width (default target is paragraph). Ex: paragraph/borderWidthLeft?value=4pt |
-| columnCount | {section/}columnCount?value={1<=number<=20} | Document, Section, Submenu | Number of columns in the current document and/or section. (default target is doc) Ex: section/columnCount?value=3 |
-| columnRuleColor | {section/}columnRuleColor?value={CSS color} | Document, Section, Submenu, showDialog | Color for the decorative line between document or section columns. Ex: columnRuleColor?value="#FFFFFF" |
-| columnRuleStyle | {section/}columnRuleStyle?value={none \| dotted \| dashed \| solid \| double \| groove \| ridge \| inset \| outset} | Document, Section, Submenu | Style for the decorative line between document or section columns. Ex: columnRuleStyle?value="solid" |
-| columnRuleWidth | {section/}columnRuleWidth?value={CSS length} | Document, Section, Submenu | Width of the decorative line between document or section columns. Ex: columnRuleWidth?value="2pt" |
-| columns | {section/}columns | Document, Section, Submenu | Only for a menu item: creates automatically a complete Columns sub-menu with all column actions sub-menus (except insertColumnBreak) |
-| columnSpacing | {section/}columnSpacing?value={CSS length} | Document, Section, Submenu | Space between two columns in the current document and/or section. Ex: columnSpacing?value="1cm" |
-| deleteColumns | deleteColumns | Table | Deletes all selected columns. |
-| deleteRows | deleteRows | Table | Deletes all selected rows. |
-| deleteStyleSheet | {paragraph \| image/}deleteStyleSheet?index={1<= number <= number of target style sheets} | Paragraph, Image, Submenu | Removes the Nth stylesheet from the stored stylesheets for the selected target (default target is paragraph). Menu item name is replaced at runtime with style sheet name. |
-| direction | direction?value={ltr \| rtl} | Paragraph, Submenu | Paragraph direction. |
-| displayFormulaAsSymbol | displayFormulaAsSymbol | Document | Displays formula references as a # symbol. Can only be used when formulas are displayed as references. |
-| doc | doc | Document, Submenu | Default submenu for document body layout (embedded mode attributes or default attributes for sections – but for margin which is reserved for embedded mode only). |
-| dpi | Modifies the dpi of the current view (independent of the document attribute wk dpi used internally for pixel conversion <-> points). | Submenu | Change view dpi. Ex: dpi?value=72 |
-| emptyDatasource | {table}/emptyDatasource?value={showDataRow \| hideDataRow \| showPlaceholderRow \| hideTable } | Table, Submenu | Defines how the table is displayed when its datasource is empty. |
-| fontStyleWrite | fontStyleWrite | Submenu | For menu commands only. Displays default font styles submenu for 4D Write Pro. |
-| fontSubscript | fontSubscript | | Toggles subscript font attribute. |
-| fontSuperscript | fontSuperscript | | Toggles superscript font attribute. |
-| footer | footer | Submenu | Displays the Footer submenu. |
-| footer/remove | footer/remove | Footer | Removes the selected footer. |
-| formulaHighlight | formulaHighlight?value={values \| references \| always \| never} | Document, Submenu | Formula highlight mode for the document. Can be used with a dropdown menu or a button |
-| formulaHighlightColor | formulaHighlightColor?value= | Document, Submenu,showDialog | Formula highlight color for the document |
-| formulaHighlightReferences | formulaHighlightReferences | Document | Toggles formula references highlighting. Can be used with a check box or a menu item |
-| formulaHighlightValues | formulaHighlightValues | Document | Toggles formula values highlighting. Can be used with a check box or a menu item |
-| header | header | Submenu | Displays the Header submenu. |
-| header/remove | header/remove | Header | Removes the selected header. |
-| height | {image \| textBox \| row}/height?value={ \| auto} | Image, TextBox Row, Submenu | Target height. Ex: image/height?value=50pt. For image/width, see width. Ex: row/height?value=12pt |
-| headerRowCount | {table/}headerRowCount | Table, Submenu | Sets the number of header rows in a table. Maximum is 5. |
-| htmlWYSIWIGEnabled | htmlWYSIWIGEnabled | Document | Toggles between html wysiwyg mode. |
-| image | image | Image, Submenu | Displays image layout submenu. |
-| image/displayMode | image/displayMode?value=scaledToFit \| truncated \| truncatedCentered \| proportional \| proportionalCentered \| replicated \| replicatedCentered | Image, Submenu | Sets the display mode of anchored and inline images. Ex: image/displayMode?value=scaledToFit |
-| image/verticalAlign | image/verticalAlign?value={top \| middle \| bottom \| baseline \| super \| sub} | Image, Submenu | Image vertical alignment. Ex: image/verticalAlign?value=super |
-| insertColumnBreak | insertColumnBreak | Paragraph | Inserts a column break at the selection. |
-| insertColumnToTheLeft | insertColumnToTheLeft | Table | Inserts a column to the left of the first selected column(s). |
-| insertColumnToTheRight | insertColumnToTheRight | Table | Inserts a column to the right of the last selected column(s). |
-| insertContinuousSectionBreak | insertContinuousSectionBreak | Paragraph | Inserts a continuous section break at the selection. |
-| insertImage | insertImage | | Opens a picture selection dialog box and inserts the selected picture (if any) as a character in the area. |
-| insertPageBreak | insertPageBreak | Paragraph | Inserts a page break at the selection. |
-| insertRowAbove | insertRowAbove | Table | Inserts a row above the selected row(s). |
-| insertRowBelow | insertRowBelow | Table | Inserts a row below the selected row(s). |
-| insertSectionBreak | insertSectionBreak | Paragraph | Inserts a section break at the selection. |
-| insertSoftHyphen | insertSoftHyphen | | Inserts a soft hyphen at the cursor position. |
-| insertTextBox | insertTextBox | Document | Inserts a text box near the current selection, anchored to the first selected page (page mode). |
-| keepWithNext | keepWithNext | Paragraph | Links a paragraph with the next so that they cannot be separated by automatic page or column breaks. If applied to the last paragraph of the last cell in a table, the last row of the table is linked to the following paragraph. |
-| lineHeight | lineHeight?value={ \| } | Paragraph, Submenu | Paragraph line height. Ex: lineHeight?value=120% |
-| layer | {image \| textBox}/layer | Submenu | Default submenu with layering actions for images or text boxes |
-| listStartNumber | listStartNumber?value={ (longint) \| auto} | Paragraph, Submenu | List start number. Ex: listStartNumber?value=10 |
-| listStyleImage | listStyleImage/showDialog | Paragraph, showDialog | Opens a file dialog to choose a image to display as list style bullet; it will set also list style type to disc – style to be used if image is not found. |
-| listStyleType | listStyleType?value={none \| disc \| circle \| square \| hollow-square \| diamond \| club \| decimal \| decimal-leading- zero \| lower-latin \| lower-roman \| upper-latin \| upper-roman \| lower-greek \| decimal-greek \| armenian \| georgian \| hebrew \| hiragana \| katakana \| cjk-ideographic} | Paragraph, Submenu | Paragraph list style type. |
-| margin | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table/}{inside \| outside/}{margin \| marginLeft \| marginRight \| marginTop \| marginBottom \| marginLeftRight \| marginTopBottom}?value={ \| auto} | Document, Paragraph, Image, Textbox, Section, Header, Footer, Table, Submenu | Changes target margin (default target is paragraph). Ex: margin?value=4pt //sets all paragraph margins to 4pt. Ex: outside/margin?value=4pt //set exterior paragraph margins to 4pt. Ex: doc/marginLeft?value=1cm //sets left margin to 1cm for the document as used in embedded mode. Ex: section/marginLeft?value=1cm //sets left margin to 1cm for the pages of the first selected section |
-| merge | {paragraph/}merge
cell/merge | Paragraph, Cell | Used with paragraphs: merges paragraphs. Used with cells: merges the selected cells. |
-| minHeight | {paragraph \| image/}minHeight?value= | Paragraph, Image, Submenu | Target min height (default target is paragraph). Ex: paragraph/minHeight?value=50pt |
-| minWidth | {paragraph \| image/}minWidth?value= | Paragraph, Image, Submenu | Target min width (default target is paragraph). Ex: paragraph/minWidth?value=50pt |
-| moveToBack | moveToBack | Image | Moves image to the back. (not enabled for inline images) |
-| moveToFront | moveToFront | Image | Moves image to the front. (not enabled for inline images) |
-| newLineStyleSheet | newLineStyleSheet?index={1<=number<=number of paragraph stylesheets \| newLineStyleSheet}?value=auto | Paragraph, Submenu | Selected paragraph elements will use Nth stylesheet as stylesheet to use for new paragraphs created on Return or while splitting paragraphs; If value=auto, new paragraphs will use the same stylesheet (default). (menu item name is replaced at runtime with stylesheet name) |
-| padding | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| column \| row\| cell/}{inside \| outside/}{padding \| paddingLeft \| paddingRight \| paddingTop \| paddingBottom \| paddingLeftRight \| paddingTopBottom }?value= | Document, Paragraph, Image, TextBox, Section, Header, Footer, Row, Column, Cell, Submenu | Changes target padding. (default target is paragraph) |
-| pageMode | pageMode?value={embedded \| page \| draft} | Submenu | Changes view mode. Ex: pageMode?value=page |
-| pageOrientation | {section/}pageOrientation?value={landscape \| portrait} | Section, Submenu | Changes document or first selected section page orientation (if section is not specified, it will apply to all sections otherwise to the first selected section). Ex: pageOrientation?value=portrait //change orientation to portrait for the whole document. Ex: section/pageOrientation?value=landscape //change orientation to landscape for the first selected section |
-| pageSize | pageSize?index= | Submenu | Changes document page size: number is Nth page size in the list of available pages sizes. The list contains the current printer page sizes, ISO page sizes and the custom page sizes defined by the user. |
-| paragraph | paragraph | Paragraph, Submenu | Default submenu for paragraph layout. |
-| paragraph/avoidPageBreakInside | {paragraph/}avoidPageBreakInside | Paragraph | Allows/disallows page breaks inside paragraphs. |
-| print | print | Document | Prints document as rendered in page mode with view settings of the focused 4D Write Pro area. |
-| refreshImages | refreshImages | Image | Reloads images from the network for images with URLs. |
-| removeSoftHyphens | removeSoftHyphens | | Removes all soft hyphens in the current selection (if the selection is empty, removes soft hyphen before or after the caret if any) |
-| row/avoidPageBreakInside | row/avoidPageBreakInside | Table, Row | Allows/disallows page breaks inside table rows. This action is disabled if: the current selection does not contain a table the table does not allow page breaks the table is inside a header or footer Note: If several tables are selected and some of them don't allow page breaks, this option will be enabled but only applied to the tables that allow page breaks. |
-| section | section | Section, Submenu | Default submenu for page layout for the first selected section. |
-| section/differentFirstPage | section/differentFirstPage | Section | Section has different first page or not. |
-| section/differentLeftRightPages | section/differentLeftRightPages | Section | Section has different left and right pages or not. |
-| section/name/showDialog | section/name/showDialog | Section, showDialog | Displays a dialog allowing to enter the first selected section name. |
-| section/remove | section/remove | Section | Deletes the first section that intersects the user’s selection regardless if the user has selected one or multiple sections. Disabled when only one section remains in the document. |
-| section/reset | section/reset | Section | Resets all first selected section attributes to default attributes - which are inherited from doc attributes for background, border and padding (same as for embedded mode) and 2.5cm for page margins. First selected section column properties are also removed (so only default section properties will apply). |
-| split | {paragraph/}split
cell/split | Paragraph, Cell | Used with paragraph: splits paragraph. Used with cells: splits the selected cells (only cells that have been already merged may be split). |
-| styleSheet | {paragraph \| image/}styleSheet?value={1<=number<=number of target style sheets} | Paragraph, Image, Submenu, showDialog | Applies Nth stylesheet to the selected target elements. With dialog, new stylesheet will use current attributes from the first selected target. (default target is paragraph) Ex: styleSheet?value=1 //apply first paragraph style sheet to the selected paragraphs and set it as paragraph stylesheets. |
-| styleSheets | {paragraph \| image/}styleSheets | Paragraph, Image, Submenu | Default submenu for editing target stylesheets. |
-| tabDecimalSeparator | tabDecimalSeparator?value={point \| comma \| pointOrComma \| system} | Document, Submenu | Defines the character used as decimal separator by decimal tabulations. |
-| tableAlign | tableAlign?value={left \| center \| right}
or
table/tableAlign?value={left \| center \| right} | Table, Submenu | Specifies horizontal alignment for a table. |
-| table/avoidPageBreakInside | table/avoidPageBreakInside | Table | Allows/disallows page breaks inside tables. Disabled if: the current selection does not contain at least one table the table is in a header or a footer |
-| table/bottomCarryOverRow | table/bottomCarryOverRow | Table | Toggles between display/not display of carry-over rows (see Carry-over rows). |
-| textAlign | textAlign?value={left \| right \| center \| justify \| initial} | Paragraph | Paragraph text alignment (initial=use right for rtl or left for ltr direction). |
-| textBox | textBox | Submenu | Submenu with all actions available for the focused/selected text box |
-| textBox/remove | textBox/remove | TextBox | Removes the selected text box |
-| textIndent | textIndent?value= (may be negative) | Paragraph, Submenu | Paragraph text indentation (first line indentation). Ex: textIndent?value=2cm |
-| textLinethrough | textLinethrough | Submenu | For menu commands only. Linethrough submenu (with style and color). |
-| textLinethroughColor | textLinethroughColor?value={ \| currentColor} | Submenu, showDialog | Ex: textLinethroughColor?value=red |
-| textLinethroughStyle | textLinethroughStyle?value={none \| solid \| dotted \| dashed \| double \| semi-transparent \| word} | Submenu | Ex: textLinethroughStyle?value=dotted |
-| textShadow | textShadow | Submenu | For menu commands only. Default submenu for text shadow (with color and offset). |
-| textShadowColor | textShadowColor?value={ \| none} | Submenu, showDialog | Changes shadow status or color for characters. Ex: textShadowColor?value=green |
-| textShadowOffset | textShadowOffset?value= | Submenu | Only length in pt is supported. Ex: textShadowOffset?value=2pt |
-| textTransform | textTransform?value={none \| capitalize \| uppercase \| lowercase \| small-uppercase} | Submenu | Formats text. Ex: textTransform?value=capitalize |
-| textUnderline | textUnderline | Submenu | For menu commands only. Underline submenu (with style and color) |
-| textUnderlineColor | textUnderlineColor?value={ \| currentColor} | Submenu, showDialog | Ex: textUnderlineColor?value=red |
-| textUnderlineStyle | textUnderlineStyle?value={none \| solid \| dotted \| dashed \| double \| semi-transparent \| word} | Submenu | Ex: textUnderlineStyle?value=dotted |
-| updateStyleSheet | {paragraph \| image/}updateStyleSheet | Paragraph, Image, Submenu | Updates first selected target stylesheet with first selected target current attributes (default target is paragraph) |
-| userUnit | userUnit?value={cm \| mm \| in \| pt} | Submenu | Changes document layout unit (will be reflected on rulers). |
-| verticalAlign | {paragraph \| row \| column \| cell \| textBox/}verticalAlign?value={top \| middle \| bottom} | Paragraph, Row, Column, Cell, TextBox, Submenu | Paragraph vertical alignment. Ex: verticalAlign?value=top. The effect depends on the minHeight value of the paragraph. |
-| view | view | Submenu | For menu commands only. Default submenu for view settings. |
-| visibleBackground | visibleBackground | Document | Shows/hides background, anchored pictures and text boxes |
-| visibleEmptyImages | visibleEmptyImages | Document | Shows/hides a default black rectangle for images that cannot be loaded or computed (empty images or images in an unsupported format). |
-| visibleFooters | visibleFooters | Document | Shows/hides footers. |
-| visibleHeaders | visibleHeaders | Document | Shows/hides headers. |
-| visibleHiddenChars | visibleHiddenChars | Document | Shows/hides hidden characters |
-| visibleHorizontalRuler | visibleHorizontalRuler | Document | Shows/hides horizontal ruler. |
-| visiblePageFrames | visiblePageFrames | Document | Shows/hides page frames. |
-| visibleVerticalRuler | visibleVerticalRuler | Document | Shows/hides vertical ruler (Page mode only). |
-| visibleTableBorders | visibleTableBorders | Document | Shows/hides internal and external table borders as dashed lines where no borders are defined. |
-| widowAndOrphanControlEnabled | widowAndOrphanControlEnabled | Paragraph | Toggles between widow and orphan control mode. |
-| width | {paragraph \| image \| textBox \| column/}width?value= \| auto | Paragraph, Image, TextBox, Column, Submenu | Target width (default target is paragraph). Auto value not available for text boxes (converted to 8 cm) and columns. Ex: image/width?value=50pt |
-| zoom | zoom?value={25% <= percentage in Css <= 400%} | Document, Submenu | Changes document view zoom. Ex: zoom?value=120% |
-
-### Outras ações
-
-Outras ações padrão estão disponíveis nos formulários 4D e podem ser utilizadas nas áreas 4D Write Pro:
-
-* *Ações Edição*, tais como ações de copiar/colar.
-* Ações *Fonte*, tais como FontBold ou fontSize.
-* Ações *Expressões dinâmicas*, permitendo manejar a inserção de expressões.
-* Ações *Correção ortográfica*.
\ No newline at end of file
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/WritePro/user-legacy/standard-actions.md b/i18n/pt/docusaurus-plugin-content-docs/current/WritePro/user-legacy/standard-actions.md
new file mode 100644
index 00000000000000..4c41d09667f653
--- /dev/null
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/WritePro/user-legacy/standard-actions.md
@@ -0,0 +1,177 @@
+---
+id: standard-actions
+title: Ações padrão
+displayed_sidebar: docs
+slug: /WritePro/standard-actions
+---
+
+
+A interface de usuário de áreas 4D Write Pro pode ser manejada através de um amplo conjunto de **ações padrão**. As ações padrão podem ser atribuidas a:
+
+* comandos de menu, disponíveis através da **barra de menu** ou do comando [Dynamic pop up menu](../../commands/dynamic-pop-up-menu)
+* list items, listas pop up ou drop down, menus pop up hierárquicos
+* botões, check boxes
+* ou executados pelo comando [INVOKE ACTION](../../commands/invoke-action).
+
+Quando são atribuidos aos objetos de interface, as ações padrão manejam a ativação/desativação de objeto em função de contexto. Para mais informação, consulte a seção *Ações padrões*.
+
+Dois tipos de ações estão disponíveis para áreas 4D Write Pro:
+
+* As ações específicas 4D Write Pro, que só podem ser utilizadas com áreas 4D Write Pro,
+* *[Outras ações](#other-actions)*, incluido as fontes, expressões, corretor ortográfico e ações de edição, que podem ser utilizadas com as áreas 4D Write Pro e as outras áreas 4D (ver [*Ações padrões*](#standard-actions)).
+
+### Ações 4D Write Pro
+
+**Notas:**
+
+* As ações que mostram um menu/lista só podem ser associadas aos comandos de menu ou aos objetos pop-up/listas suspensas e menus pop-up hierárquicos (ver *Submenu*).
+* Check boxes e 3D check boxes devem ser associadas com ações de estado, tais como "section/differentFirstPage" ou "visibleHorizontalRuler". Três opções de estado são suportadas com check boxes padrão apenas.
+* um status de ação de seção é sempre igual ao status atual de seção selecionada (estado herdado se o atributo for herdado da seção pai ou de um atributo padrão) já que deve refletir o status de seção selecionada (o status que é aplicado atualmente para a seção). Entretanto, modificar o atributo de seção com uma ação padrão vai sobrepujar o atributo de seção selecionado.
+* *Submenu*: Quando usado sem parâmetros e associados ao comando menu, um pop-up/lista drop down ou um objeto de menu hierárquico pop-up, essas ações exibem um submenu/lista automática. Por exemplo, se atribuir a ação "backgroundColor" a um comando de menu, selecionando este comando de menu na execução vai exibir os itens de submenu de Cor de Fundo. Se atribuir a ação "zoom" a um menu hierárquico pop-up menu, vai conter automaticamente conter uma lista de valores pré-definidos de zoom. Note que essas ações não podem ser atribuídas aos botões.
+* *showDialog*:Adicionar a string "/showDialog" ao nome de ação permite a exibição da caixa de diálogo padrão associada para a ação. Por exemplo, pode ser usado "paragraph/styleSheet/showDialog" para abrir o diálogo de input que permite a entrada de um novo nome de folha de estilo. .
+
+| Ação | Sintaxe | Disponível com | Descrição |
+|---|---|---|---|
+| anchorHorizontalAlign | {image \| textBox}/anchorHorizontalAlign?value={left \| center \| right} | Image, Textbox, Submenu | Defines the horizontal alignment of the element, relative to the anchorOrigin for images/text boxes in page, or to the layout box for images/text box in embedded mode. This action will reset the horizontal offset to 0. (not enabled for inline images). |
+| anchoring | {image \| textBox}/anchoring | Submenu | Default submenu with anchor settings actions for images or text boxes |
+| anchorLayout | image/anchorLayout?value={front \| behind \| wrapTopBottom \| wrapSquareLeft \| wrapSquareRight \| wrapSquareLargest \| wrapSquare \| inline}
textBox/anchorLayout?value={front \| behind \| wrapTopBottom \| wrapSquareLeft \| wrapSquareRight \| wrapSquareLargest \| wrapSquare} | Image, Textbox, Submenu | Defines the anchor layout type for an image or a text box. Can be used to transform an inline image to an anchored image, or the reverse. Note: If an image is moved from an anchored mode to inline, the image is inserted at the beginning of the current selected text. "inline" value is not supported for text boxes |
+| anchorOrigin | {image \| textBox}/anchorOrigin?value={paper-box \| header-box \| footer-box} | Image, TextBox, Submenu | Defines the area relative to the absolute position of an anchored image or text box. If the element is relative to the header-box/footer-box which is not visible on a page, the element is not displayed. This action will reset horizontal and vertical offsets to 0. Page mode only, not enabled for inline images. |
+| anchorPage | {image \| textBox}/anchorPage?value={all \| current \| currentSubSection} | Image, TextBox, Submenu | Defines the page(s) where the selected image or text box is displayed (not enabled for inline images). Page mode only. |
+| anchorSection | {image \| textBox}/anchorSection?value={all \| current} | Image, TextBox, Submenu | Defines the section(s) where the selected image or text box is displayed. (not enabled for inline images). Page mode only. |
+| anchorVerticalAlign | {image \| textBox}/anchorVerticalAlign?value={top \| center \| bottom} | Image, TextBox Submenu | Defines the vertical alignment of the image or text box, relative to the anchorOrgin for an image or text box in page, or to the layout box for an image or text box in embedded mode. This action will reset the vertical offset to 0 (not enabled for inline images). Note: See "verticalAlign" action for the vertical alignment inside the text box |
+| avoidPageBreakInside | {paragraph/}avoidPageBreakInside | Paragraph | |
+| background | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}background | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu | For menu commands only. Default submenu for all background attributes. |
+| backgroundClip | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}backgroundClip?value={paper-box \| border-box \| padding-box \| content-box} | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu | Changes target background clipping box (default target is paragraph). Paper-box targets document and section only. |
+| backgroundColor | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}backgroundColor?value={ \| transparent} | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu, showDialog | Changes target background. |
+| backgroundDisplayMode | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}backgroundDisplayMode?value=scaledToFit \| truncated \| truncatedCentered \| proportional \| proportionalCentered \| replicated \| replicatedCentered | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu | Sets the display mode of images used as background. |
+| backgroundImage | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}backgroundImage?value=none | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu, showDialog | Clears target background image. (default target is paragraph) |
+| backgroundOrigin | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}backgroundOrigin?value={paper-box \| border-box \| padding-box \| content-box} | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu | Changes target background image origin box (default target is paragraph). Paper-box targets document and section only. |
+| backgroundPositionH | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}backgroundPositionH?value={left \| right \| center} | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu | Changes target background image horizontal alignment (default target is paragraph). Ex: paragraph/backgroundPositionH?value=left |
+| backgroundPositionV | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}backgroundPositionV?value={top \| bottom \| center} | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu | Changes target background image vertical alignment (default target is paragraph). Ex: paragraph/backgroundPositionV?value=top |
+| backgroundRepeat | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}backgroundRepeat?value={no-repeat \| repeat \| repeat-x \| repeat-y} | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu | Changes target background image repeat mode. (default target is paragraph) |
+| backgroundSizeH | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}backgroundSizeH?value={ \| \| auto \| cover \| contain} | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu | Changes target background image width (default target is paragraph). Ex: paragraph/backgroundSizeH?value=100%. section/backgroundSizeH?value=cover |
+| backgroundSizeV | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell}/backgroundSizeV?value={ \| \| auto} | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu | Changes target background image height (default target is paragraph). Ex: paragraph/backgroundSizeV?value=50%. Ex: section/backgroundSizeV?value=40pt |
+| bookmark | bookmark?index= | Submenu | Selects the Nth bookmark. Ex: bookmark?index=2 // selects the second bookmark |
+| borderCollapse | borderCollapse | Paragraph | Collapses selected paragraph borders and interior margins. |
+| borderColor | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}{inside \| outside/}{borderColor \| borderColorLeft \| borderColorRight \| borderColorTop \| borderColorBottom \| borderColorLeftRight \| borderColorTopBottom}?value= | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu, showDialog | Changes target border color (default target is paragraph). Ex: paragraph/borderColorLeft?value=green |
+| borderRadius | {doc \| paragraph \| image \| textBox \| section \| header \| footer/}borderRadius?value= | Document, Paragraph, Image, TextBox, Section, Header, Footer, Submenu | Changes target border radius (default target is paragraph). Ex: paragraph/borderRadius?value=4pt |
+| borders | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}{inside \| outside/}borders | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu | Default submenu for target borders. |
+| borderStyle | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}{inside \| outside/}{borderStyle \| borderStyleLeft \| borderStyleRight \| borderStyleTop \| borderStyleBottom \| borderStyleLeftRight \| borderStyleTopBottom}?value={none \| hidden \| dotted \| dashed \| solid \| double \| groove \| ridge \| inset \| outset} | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu | Changes target border style (default target is paragraph). Ex: paragraph/borderStyleLeft?value=double. Ex: outside/borderStyle?value=solid //set selected paragraphs exterior borders to style solid. Ex: inside/borderStyle?value=none //remove selected paragraphs interior borders |
+| borderWidth | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table \| row \| column \| cell/}{inside \| outside/}{borderWidth \| borderWidthLeft \| borderWidthRight \| borderWidthTop \| borderWidthBottom \| borderWidthLeftRight \| borderWidthTopBottom}?value= | Document, Paragraph, Image, TextBox, Section, Header, Footer, Table, Row, Column, Cell, Submenu | Changes target border width (default target is paragraph). Ex: paragraph/borderWidthLeft?value=4pt |
+| columnCount | {section/}columnCount?value={1<=number<=20} | Document, Section, Submenu | Number of columns in the current document and/or section. (default target is doc) Ex: section/columnCount?value=3 |
+| columnRuleColor | {section/}columnRuleColor?value={CSS color} | Document, Section, Submenu, showDialog | Color for the decorative line between document or section columns. Ex: columnRuleColor?value="#FFFFFF" |
+| columnRuleStyle | {section/}columnRuleStyle?value={none \| dotted \| dashed \| solid \| double \| groove \| ridge \| inset \| outset} | Document, Section, Submenu | Style for the decorative line between document or section columns. Ex: columnRuleStyle?value="solid" |
+| columnRuleWidth | {section/}columnRuleWidth?value={CSS length} | Document, Section, Submenu | Width of the decorative line between document or section columns. Ex: columnRuleWidth?value="2pt" |
+| columns | {section/}columns | Document, Section, Submenu | Only for a menu item: creates automatically a complete Columns sub-menu with all column actions sub-menus (except insertColumnBreak) |
+| columnSpacing | {section/}columnSpacing?value={CSS length} | Document, Section, Submenu | Space between two columns in the current document and/or section. Ex: columnSpacing?value="1cm" |
+| deleteColumns | deleteColumns | Table | Deletes all selected columns. |
+| deleteRows | deleteRows | Table | Deletes all selected rows. |
+| deleteStyleSheet | {paragraph \| image/}deleteStyleSheet?index={1<= number <= number of target style sheets} | Paragraph, Image, Submenu | Removes the Nth stylesheet from the stored stylesheets for the selected target (default target is paragraph). Menu item name is replaced at runtime with style sheet name. |
+| direction | direction?value={ltr \| rtl} | Paragraph, Submenu | Paragraph direction. |
+| displayFormulaAsSymbol | displayFormulaAsSymbol | Document | Displays formula references as a # symbol. Can only be used when formulas are displayed as references. |
+| doc | doc | Document, Submenu | Default submenu for document body layout (embedded mode attributes or default attributes for sections – but for margin which is reserved for embedded mode only). |
+| dpi | Modifies the dpi of the current view (independent of the document attribute wk dpi used internally for pixel conversion <-> points). | Submenu | Change view dpi. Ex: dpi?value=72 |
+| emptyDatasource | {table}/emptyDatasource?value={showDataRow \| hideDataRow \| showPlaceholderRow \| hideTable } | Table, Submenu | Defines how the table is displayed when its datasource is empty. |
+| fontStyleWrite | fontStyleWrite | Submenu | For menu commands only. Displays default font styles submenu for 4D Write Pro. |
+| fontSubscript | fontSubscript | | Toggles subscript font attribute. |
+| fontSuperscript | fontSuperscript | | Toggles superscript font attribute. |
+| footer | footer | Submenu | Displays the Footer submenu. |
+| footer/remove | footer/remove | Footer | Removes the selected footer. |
+| formulaHighlight | formulaHighlight?value={values \| references \| always \| never} | Document, Submenu | Formula highlight mode for the document. Can be used with a dropdown menu or a button |
+| formulaHighlightColor | formulaHighlightColor?value= | Document, Submenu,showDialog | Formula highlight color for the document |
+| formulaHighlightReferences | formulaHighlightReferences | Document | Toggles formula references highlighting. Can be used with a check box or a menu item |
+| formulaHighlightValues | formulaHighlightValues | Document | Toggles formula values highlighting. Can be used with a check box or a menu item |
+| header | header | Submenu | Displays the Header submenu. |
+| header/remove | header/remove | Header | Removes the selected header. |
+| height | {image \| textBox \| row}/height?value={ \| auto} | Image, TextBox Row, Submenu | Target height. Ex: image/height?value=50pt. For image/width, see width. Ex: row/height?value=12pt |
+| headerRowCount | {table/}headerRowCount | Table, Submenu | Sets the number of header rows in a table. Maximum is 5. |
+| htmlWYSIWIGEnabled | htmlWYSIWIGEnabled | Document | Toggles between html wysiwyg mode. |
+| image | image | Image, Submenu | Displays image layout submenu. |
+| image/displayMode | image/displayMode?value=scaledToFit \| truncated \| truncatedCentered \| proportional \| proportionalCentered \| replicated \| replicatedCentered | Image, Submenu | Sets the display mode of anchored and inline images. Ex: image/displayMode?value=scaledToFit |
+| image/verticalAlign | image/verticalAlign?value={top \| middle \| bottom \| baseline \| super \| sub} | Image, Submenu | Image vertical alignment. Ex: image/verticalAlign?value=super |
+| insertColumnBreak | insertColumnBreak | Paragraph | Inserts a column break at the selection. |
+| insertColumnToTheLeft | insertColumnToTheLeft | Table | Inserts a column to the left of the first selected column(s). |
+| insertColumnToTheRight | insertColumnToTheRight | Table | Inserts a column to the right of the last selected column(s). |
+| insertContinuousSectionBreak | insertContinuousSectionBreak | Paragraph | Inserts a continuous section break at the selection. |
+| insertImage | insertImage | | Opens a picture selection dialog box and inserts the selected picture (if any) as a character in the area. |
+| insertPageBreak | insertPageBreak | Paragraph | Inserts a page break at the selection. |
+| insertRowAbove | insertRowAbove | Table | Inserts a row above the selected row(s). |
+| insertRowBelow | insertRowBelow | Table | Inserts a row below the selected row(s). |
+| insertSectionBreak | insertSectionBreak | Paragraph | Inserts a section break at the selection. |
+| insertSoftHyphen | insertSoftHyphen | | Inserts a soft hyphen at the cursor position. |
+| insertTextBox | insertTextBox | Document | Inserts a text box near the current selection, anchored to the first selected page (page mode). |
+| keepWithNext | keepWithNext | Paragraph | Links a paragraph with the next so that they cannot be separated by automatic page or column breaks. If applied to the last paragraph of the last cell in a table, the last row of the table is linked to the following paragraph. |
+| lineHeight | lineHeight?value={ \| } | Paragraph, Submenu | Paragraph line height. Ex: lineHeight?value=120% |
+| layer | {image \| textBox}/layer | Submenu | Default submenu with layering actions for images or text boxes |
+| listStartNumber | listStartNumber?value={ (longint) \| auto} | Paragraph, Submenu | List start number. Ex: listStartNumber?value=10 |
+| listStyleImage | listStyleImage/showDialog | Paragraph, showDialog | Opens a file dialog to choose a image to display as list style bullet; it will set also list style type to disc – style to be used if image is not found. |
+| listStyleType | listStyleType?value={none \| disc \| circle \| square \| hollow-square \| diamond \| club \| decimal \| decimal-leading- zero \| lower-latin \| lower-roman \| upper-latin \| upper-roman \| lower-greek \| decimal-greek \| armenian \| georgian \| hebrew \| hiragana \| katakana \| cjk-ideographic} | Paragraph, Submenu | Paragraph list style type. |
+| margin | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| table/}{inside \| outside/}{margin \| marginLeft \| marginRight \| marginTop \| marginBottom \| marginLeftRight \| marginTopBottom}?value={ \| auto} | Document, Paragraph, Image, Textbox, Section, Header, Footer, Table, Submenu | Changes target margin (default target is paragraph). Ex: margin?value=4pt //sets all paragraph margins to 4pt. Ex: outside/margin?value=4pt //set exterior paragraph margins to 4pt. Ex: doc/marginLeft?value=1cm //sets left margin to 1cm for the document as used in embedded mode. Ex: section/marginLeft?value=1cm //sets left margin to 1cm for the pages of the first selected section |
+| merge | {paragraph/}merge
cell/merge | Paragraph, Cell | Used with paragraphs: merges paragraphs. Used with cells: merges the selected cells. |
+| minHeight | {paragraph \| image/}minHeight?value= | Paragraph, Image, Submenu | Target min height (default target is paragraph). Ex: paragraph/minHeight?value=50pt |
+| minWidth | {paragraph \| image/}minWidth?value= | Paragraph, Image, Submenu | Target min width (default target is paragraph). Ex: paragraph/minWidth?value=50pt |
+| moveToBack | moveToBack | Image | Moves image to the back. (not enabled for inline images) |
+| moveToFront | moveToFront | Image | Moves image to the front. (not enabled for inline images) |
+| newLineStyleSheet | newLineStyleSheet?index={1<=number<=number of paragraph stylesheets \| newLineStyleSheet}?value=auto | Paragraph, Submenu | Selected paragraph elements will use Nth stylesheet as stylesheet to use for new paragraphs created on Return or while splitting paragraphs; If value=auto, new paragraphs will use the same stylesheet (default). (menu item name is replaced at runtime with stylesheet name) |
+| padding | {doc \| paragraph \| image \| textBox \| section \| header \| footer \| column \| row\| cell/}{inside \| outside/}{padding \| paddingLeft \| paddingRight \| paddingTop \| paddingBottom \| paddingLeftRight \| paddingTopBottom }?value= | Document, Paragraph, Image, TextBox, Section, Header, Footer, Row, Column, Cell, Submenu | Changes target padding. (default target is paragraph) |
+| pageMode | pageMode?value={embedded \| page \| draft} | Submenu | Changes view mode. Ex: pageMode?value=page |
+| pageOrientation | {section/}pageOrientation?value={landscape \| portrait} | Section, Submenu | Changes document or first selected section page orientation (if section is not specified, it will apply to all sections otherwise to the first selected section). Ex: pageOrientation?value=portrait //change orientation to portrait for the whole document. Ex: section/pageOrientation?value=landscape //change orientation to landscape for the first selected section |
+| pageSize | pageSize?index= | Submenu | Changes document page size: number is Nth page size in the list of available pages sizes. The list contains the current printer page sizes, ISO page sizes and the custom page sizes defined by the user. |
+| paragraph | paragraph | Paragraph, Submenu | Default submenu for paragraph layout. |
+| paragraph/avoidPageBreakInside | {paragraph/}avoidPageBreakInside | Paragraph | Allows/disallows page breaks inside paragraphs. |
+| print | print | Document | Prints document as rendered in page mode with view settings of the focused 4D Write Pro area. |
+| refreshImages | refreshImages | Image | Reloads images from the network for images with URLs. |
+| removeSoftHyphens | removeSoftHyphens | | Removes all soft hyphens in the current selection (if the selection is empty, removes soft hyphen before or after the caret if any) |
+| row/avoidPageBreakInside | row/avoidPageBreakInside | Table, Row | Allows/disallows page breaks inside table rows. This action is disabled if: the current selection does not contain a table the table does not allow page breaks the table is inside a header or footer Note: If several tables are selected and some of them don't allow page breaks, this option will be enabled but only applied to the tables that allow page breaks. |
+| section | section | Section, Submenu | Default submenu for page layout for the first selected section. |
+| section/differentFirstPage | section/differentFirstPage | Section | Section has different first page or not. |
+| section/differentLeftRightPages | section/differentLeftRightPages | Section | Section has different left and right pages or not. |
+| section/name/showDialog | section/name/showDialog | Section, showDialog | Displays a dialog allowing to enter the first selected section name. |
+| section/remove | section/remove | Section | Deletes the first section that intersects the user’s selection regardless if the user has selected one or multiple sections. Disabled when only one section remains in the document. |
+| section/reset | section/reset | Section | Resets all first selected section attributes to default attributes - which are inherited from doc attributes for background, border and padding (same as for embedded mode) and 2.5cm for page margins. First selected section column properties are also removed (so only default section properties will apply). |
+| split | {paragraph/}split
cell/split | Paragraph, Cell | Used with paragraph: splits paragraph. Used with cells: splits the selected cells (only cells that have been already merged may be split). |
+| styleSheet | {paragraph \| image/}styleSheet?value={1<=number<=number of target style sheets} | Paragraph, Image, Submenu, showDialog | Applies Nth stylesheet to the selected target elements. With dialog, new stylesheet will use current attributes from the first selected target. (default target is paragraph) Ex: styleSheet?value=1 //apply first paragraph style sheet to the selected paragraphs and set it as paragraph stylesheets. |
+| styleSheets | {paragraph \| image/}styleSheets | Paragraph, Image, Submenu | Default submenu for editing target stylesheets. |
+| tabDecimalSeparator | tabDecimalSeparator?value={point \| comma \| pointOrComma \| system} | Document, Submenu | Defines the character used as decimal separator by decimal tabulations. |
+| tableAlign | tableAlign?value={left \| center \| right}
or
table/tableAlign?value={left \| center \| right} | Table, Submenu | Specifies horizontal alignment for a table. |
+| table/avoidPageBreakInside | table/avoidPageBreakInside | Table | Allows/disallows page breaks inside tables. Disabled if: the current selection does not contain at least one table the table is in a header or a footer |
+| table/bottomCarryOverRow | table/bottomCarryOverRow | Table | Toggles between display/not display of carry-over rows (see Carry-over rows). |
+| textAlign | textAlign?value={left \| right \| center \| justify \| initial} | Paragraph | Paragraph text alignment (initial=use right for rtl or left for ltr direction). |
+| textBox | textBox | Submenu | Submenu with all actions available for the focused/selected text box |
+| textBox/remove | textBox/remove | TextBox | Removes the selected text box |
+| textIndent | textIndent?value= (may be negative) | Paragraph, Submenu | Paragraph text indentation (first line indentation). Ex: textIndent?value=2cm |
+| textLinethrough | textLinethrough | Submenu | For menu commands only. Linethrough submenu (with style and color). |
+| textLinethroughColor | textLinethroughColor?value={ \| currentColor} | Submenu, showDialog | Ex: textLinethroughColor?value=red |
+| textLinethroughStyle | textLinethroughStyle?value={none \| solid \| dotted \| dashed \| double \| semi-transparent \| word} | Submenu | Ex: textLinethroughStyle?value=dotted |
+| textShadow | textShadow | Submenu | For menu commands only. Default submenu for text shadow (with color and offset). |
+| textShadowColor | textShadowColor?value={ \| none} | Submenu, showDialog | Changes shadow status or color for characters. Ex: textShadowColor?value=green |
+| textShadowOffset | textShadowOffset?value= | Submenu | Only length in pt is supported. Ex: textShadowOffset?value=2pt |
+| textTransform | textTransform?value={none \| capitalize \| uppercase \| lowercase \| small-uppercase} | Submenu | Formats text. Ex: textTransform?value=capitalize |
+| textUnderline | textUnderline | Submenu | For menu commands only. Underline submenu (with style and color) |
+| textUnderlineColor | textUnderlineColor?value={ \| currentColor} | Submenu, showDialog | Ex: textUnderlineColor?value=red |
+| textUnderlineStyle | textUnderlineStyle?value={none \| solid \| dotted \| dashed \| double \| semi-transparent \| word} | Submenu | Ex: textUnderlineStyle?value=dotted |
+| updateStyleSheet | {paragraph \| image/}updateStyleSheet | Paragraph, Image, Submenu | Updates first selected target stylesheet with first selected target current attributes (default target is paragraph) |
+| userUnit | userUnit?value={cm \| mm \| in \| pt} | Submenu | Changes document layout unit (will be reflected on rulers). |
+| verticalAlign | {paragraph \| row \| column \| cell \| textBox/}verticalAlign?value={top \| middle \| bottom} | Paragraph, Row, Column, Cell, TextBox, Submenu | Paragraph vertical alignment. Ex: verticalAlign?value=top. The effect depends on the minHeight value of the paragraph. |
+| view | view | Submenu | For menu commands only. Default submenu for view settings. |
+| visibleBackground | visibleBackground | Document | Shows/hides background, anchored pictures and text boxes |
+| visibleEmptyImages | visibleEmptyImages | Document | Shows/hides a default black rectangle for images that cannot be loaded or computed (empty images or images in an unsupported format). |
+| visibleFooters | visibleFooters | Document | Shows/hides footers. |
+| visibleHeaders | visibleHeaders | Document | Shows/hides headers. |
+| visibleHiddenChars | visibleHiddenChars | Document | Shows/hides hidden characters |
+| visibleHorizontalRuler | visibleHorizontalRuler | Document | Shows/hides horizontal ruler. |
+| visiblePageFrames | visiblePageFrames | Document | Shows/hides page frames. |
+| visibleVerticalRuler | visibleVerticalRuler | Document | Shows/hides vertical ruler (Page mode only). |
+| visibleTableBorders | visibleTableBorders | Document | Shows/hides internal and external table borders as dashed lines where no borders are defined. |
+| widowAndOrphanControlEnabled | widowAndOrphanControlEnabled | Paragraph | Toggles between widow and orphan control mode. |
+| width | {paragraph \| image \| textBox \| column/}width?value= \| auto | Paragraph, Image, TextBox, Column, Submenu | Target width (default target is paragraph). Auto value not available for text boxes (converted to 8 cm) and columns. Ex: image/width?value=50pt |
+| zoom | zoom?value={25% <= percentage in Css <= 400%} | Document, Submenu | Changes document view zoom. Ex: zoom?value=120% |
+
+### Outras ações
+
+Outras ações padrão estão disponíveis nos formulários 4D e podem ser utilizadas nas áreas 4D Write Pro:
+
+* *Ações Edição*, tais como ações de copiar/colar.
+* Ações *Fonte*, tais como FontBold ou fontSize.
+* Ações *Expressões dinâmicas*, permitendo manejar a inserção de expressões.
+* Ações *Correção ortográfica*.
\ No newline at end of file
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/WritePro/user-legacy/using-a-4d-write-pro-area.md b/i18n/pt/docusaurus-plugin-content-docs/current/WritePro/user-legacy/using-a-4d-write-pro-area.md
index 8bcb7317d2a7d0..152f10565627d1 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/current/WritePro/user-legacy/using-a-4d-write-pro-area.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/WritePro/user-legacy/using-a-4d-write-pro-area.md
@@ -48,6 +48,8 @@ Pode controlar quebras automáticas em parágrafos usando as funcionalidades aba
Essas opções podem ser estabelecidas usando o menu contextual, ou [atributos](../commands-legacy/4d-write-pro-attributes.md) (`wk avoid widows and orphans`, `wk page break inside paragraph`, ou [ações padrão](./defining-a-4d-write-pro-area.md#standard-actions) *widowAndOrphanControlEnabled*, *avoidPageBreakInside*.
+
+
## Fundo
O fundo de documentos 4D Write e elementos de documentos (tabelas, parágrafos, seções, cabeçalhos/rodapés, etc) podem ser estabelecidos com os efeitos abaixo:
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/WritePro/user/user-new.md b/i18n/pt/docusaurus-plugin-content-docs/current/WritePro/user/user-new.md
new file mode 100644
index 00000000000000..09990ca4034c8f
--- /dev/null
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/WritePro/user/user-new.md
@@ -0,0 +1,34 @@
+---
+id: user-new
+title: user WP
+---
+
+to import
+
+
+
+## Lists
+
+4D Write Pro supports two main types of lists:
+
+* unordered lists: where list items are marked with bullets, custom bullets, or images used as markers.
+* ordered lists: where list items are marked with numbers or letters
+
+They can be created using:
+* the toolbar or sidebar of the [4D Write Pro interface](https://doc.4d.com/4Dv20/4D/20.2/Entry-areas.300-6750367.en.html#5865253)
+* the `listStyleType` or `listStyleImage` [standard actions](./standard-actions.md) ,
+* or [programmatically](../commands-legacy/4d-write-pro-attributes.md#lists) using [WP SET ATTRIBUTE](../commands/wp-set-attributes.md).
+
+When a list is created using a standard action (`listStyleType` or `listStyleImage`) or the toolbar/sidebar, 4D Write Pro automatically inserts a margin before the text so that the marker is positioned inside it. The value of the inserted margin corresponds to the offset of the default tab (`wk tab default`).
+
+
+
+When the list is created using [the WP SET ATTRIBUTE command](../commands-legacy/4d-write-pro-attributes.md#lists), no specific margin is managed, by default the marker is added at the left boundary of the paragraph. The developer can add a custom margin if necessary.
+
+:::info Related blog post
+
+[4D Write Pro – Adding a margin automatically when bullets are set using standard actions]()
+
+:::
+
+
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAI.md b/i18n/pt/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAI.md
index e529e68691a3c4..d997ac1b8e9866 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAI.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAI.md
@@ -67,11 +67,13 @@ The API provides access to multiple resources that allow seamless interaction wi
| `images` | [OpenAIImagesAPI](OpenAIImagesAPI.md) | Acesso à API Images. |
| `moderations` | [OpenAIModerationsAPI](OpenAIModerationsAPI.md) | Access to the Moderations API. |
| `embeddings` | [OpenAIEmbeddingsAPI](OpenAIEmbeddingsAPI.md) | Access to the Embeddings API. |
+| `files` | [OpenAIFilesAPI](OpenAIFilesAPI.md) | Access to the Files API. |
### Exemplo de uso
```4d
$client.chat.completions.create(...)
$client.images.generate(...)
+$client.files.create(...)
$client.model.lists(...)
```
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFile.md b/i18n/pt/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFile.md
new file mode 100644
index 00000000000000..c7e8f990d85809
--- /dev/null
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFile.md
@@ -0,0 +1,29 @@
+---
+id: openaifile
+title: OpenAIFile
+---
+
+# OpenAIFile
+
+The `OpenAIFile` class represents a file object in the OpenAI API. Files can be uploaded and used across various endpoints including Assistants, Fine-tuning, Batch, and Vision APIs.
+
+## Propriedades
+
+| Nome da propriedade | Tipo | Descrição |
+| ------------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `id` | Text | The file identifier, which can be referenced in the API endpoints. |
+| `bytes` | Integer | The size of the file, in bytes. |
+| `created_at` | Integer | The Unix timestamp (in seconds) for when the file was created. |
+| `expires_at` | Integer | The Unix timestamp (in seconds) for when the file will expire. |
+| `filename` | Text | The name of the file. |
+| `objeto` | Text | The object type, which is always "file". |
+| `purpose` | Text | The intended purpose of the file. Supported values: `assistants`, `assistants_output`, `batch`, `batch_output`, `fine-tune`, `fine-tune-results`, `vision`, and `user_data`. |
+| `status` | Text | **Deprecated.** The current status of the file, which can be either `uploaded`, `processed`, or `error`. |
+| `status_details` | Text | **Deprecated.** For details on why a fine-tuning training file failed validation, see the error field on `fine_tuning.job`. |
+
+## Veja também
+
+- [OpenAIFileResult](OpenAIFileResult.md)
+- [OpenAIFileListResult](OpenAIFileListResult.md)
+- [OpenAIFilesAPI](OpenAIFilesAPI.md)
+- [OpenAIFileParameters](OpenAIFileParameters.md)
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileDeleted.md b/i18n/pt/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileDeleted.md
new file mode 100644
index 00000000000000..d3ea7fa1b5df81
--- /dev/null
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileDeleted.md
@@ -0,0 +1,34 @@
+---
+id: openaifiledeleted
+title: OpenAIFileDeleted
+---
+
+# OpenAIFileDeleted
+
+The `OpenAIFileDeleted` class represents the deletion status of a file in the OpenAI API.
+
+## Propriedades
+
+| Nome da propriedade | Tipo | Descrição |
+| ------------------- | ---------- | -------------------------------------------------------------------------------------------------------------------- |
+| `id` | Text | The ID of the deleted file (e.g., "file-abc123"). |
+| `deleted` | Parâmetros | Whether the file was successfully deleted. `True` if deletion succeeded. |
+| `objeto` | Text | The object type, which is always "file". |
+
+## Example Response
+
+```json
+{
+ "id": "file-abc123",
+ "object": "file",
+ "deleted": true
+}
+```
+
+## Used by
+
+- [OpenAIFileDeletedResult](OpenAIFileDeletedResult.md)
+
+## Veja também
+
+- [OpenAIFilesAPI](OpenAIFilesAPI.md)
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileDeletedResult.md b/i18n/pt/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileDeletedResult.md
new file mode 100644
index 00000000000000..d876440d86f848
--- /dev/null
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileDeletedResult.md
@@ -0,0 +1,38 @@
+---
+id: openaifiledeletedresult
+title: OpenAIFileDeletedResult
+---
+
+# OpenAIFileDeletedResult
+
+The `OpenAIFileDeletedResult` class contains the result of a file deletion operation.
+
+## Inherits
+
+[OpenAIResult](OpenAIResult.md)
+
+## Propriedades calculadas
+
+| Propriedade | Tipo | Descrição |
+| ----------- | ----------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| `deleted` | [OpenAIFileDeleted](OpenAIFileDeleted.md) | Returns the file deletion result from the API response. Returns `Null` if the response doesn't contain a valid result. |
+
+## Exemplo de uso
+
+```4d
+// Delete a file
+var $fileId:="file-abc123"
+var $result:=$client.files.delete($fileId; Null)
+var $deletionStatus:=$result.deleted
+
+If ($deletionStatus.deleted)
+ ALERT("File "+$deletionStatus.id+" was successfully deleted")
+Else
+ ALERT("Failed to delete file")
+End if
+```
+
+## Veja também
+
+- [OpenAIFilesAPI](OpenAIFilesAPI.md)
+- [OpenAIFileDeleted](OpenAIFileDeleted.md)
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileListParameters.md b/i18n/pt/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileListParameters.md
new file mode 100644
index 00000000000000..f4550a29601536
--- /dev/null
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileListParameters.md
@@ -0,0 +1,38 @@
+---
+id: openaifilelistparameters
+title: OpenAIFileListParameters
+---
+
+# OpenAIFileListParameters
+
+The `OpenAIFileListParameters` class contains parameters for listing files in the OpenAI API.
+
+## Inherits
+
+[OpenAIParameters](OpenAIParameters.md)
+
+## Propriedades
+
+| Nome da propriedade | Tipo | Required | Por padrão | Descrição |
+| ------------------- | ------- | -------- | ---------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `after` | Text | Opcional | - | A cursor for use in pagination. `after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `after=obj_foo` in order to fetch the next page of the list. |
+| `limit` | Integer | Opcional | 10000 | A limit on the number of objects to be returned. Limit can range between 1 and 10,000, and the default is 10,000. |
+| `order` | Text | Opcional | desc | Sort order by the `created_at` timestamp of the objects. `asc` for ascending order and `desc` for descending order. |
+| `purpose` | Text | Opcional | - | Only return files with the given purpose. |
+
+## Exemplo de uso
+
+```4d
+// Get first 100 files with purpose "fine-tune"
+var $params:=cs.AIKit.OpenAIFileListParameters.new()
+$params.limit:=100
+$params.purpose:="fine-tune"
+$params.order:="desc"
+
+var $result:=$client.files.list($params)
+```
+
+## Veja também
+
+- [OpenAIFilesAPI](OpenAIFilesAPI.md)
+- [OpenAIFileListResult](OpenAIFileListResult.md)
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileListResult.md b/i18n/pt/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileListResult.md
new file mode 100644
index 00000000000000..7a5f1f3208be76
--- /dev/null
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileListResult.md
@@ -0,0 +1,66 @@
+---
+id: openaifilelistresult
+title: OpenAIFileListResult
+---
+
+# OpenAIFileListResult
+
+The `OpenAIFileListResult` class contains the result of listing files from the OpenAI API.
+
+## Inherits
+
+[OpenAIResult](OpenAIResult.md)
+
+## Propriedades calculadas
+
+| Propriedade | Tipo | Descrição |
+| ----------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |
+| `files` | Collection | Returns a collection of [OpenAIFile](OpenAIFile.md) objects from the API response, or an empty collection if no files are found. |
+| `first_id` | Text | Returns the ID of the first file in the list, or an empty string if not available. |
+| `last_id` | Text | Returns the ID of the last file in the list, or an empty string if not available. |
+| `has_more` | Parâmetros | Indicates if there are more files beyond this page. `True` if there are more files to fetch, `False` otherwise. |
+
+## Exemplo de uso
+
+### Basic Usage
+
+```4d
+var $params:=cs.AIKit.OpenAIFileListParameters.new()
+$params.purpose:="assistants"
+$params.limit:=50
+
+var $result:=$client.files.list($params)
+var $files:=$result.files
+
+For each ($file; $files)
+ // Process each OpenAIFile object
+ // $file.filename -> "salesOverview.pdf"
+ // $file.bytes -> 175
+ // $file.purpose -> "assistants"
+End for each
+```
+
+### Pagination Example
+
+```4d
+var $params:=cs.AIKit.OpenAIFileListParameters.new()
+$params.limit:=100
+
+var $result:=$client.files.list($params)
+var $allFiles:=$allFiles.combine($result.files)
+
+// Continue fetching if there are more files
+While ($result.has_more)
+ $params.after:=$result.last_id
+ $result:=$client.files.list($params)
+ $allFiles:=$allFiles.combine($result.files)
+End while
+
+// $allFiles now contains all files from the organization
+```
+
+## Veja também
+
+- [OpenAIFilesAPI](OpenAIFilesAPI.md)
+- [OpenAIFile](OpenAIFile.md)
+- [OpenAIFileListParameters](OpenAIFileListParameters.md)
\ No newline at end of file
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileParameters.md b/i18n/pt/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileParameters.md
new file mode 100644
index 00000000000000..512101ee706778
--- /dev/null
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileParameters.md
@@ -0,0 +1,43 @@
+---
+id: openaifileparameters
+title: OpenAIFileParameters
+---
+
+# OpenAIFileParameters
+
+The `OpenAIFileParameters` class handles parameters for file upload operations.
+
+## Inherits
+
+[OpenAIParameters](OpenAIParameters.md)
+
+## Propriedades
+
+| Nome da propriedade | Tipo | Required | Descrição |
+| ------------------- | ------ | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| `expires_after` | Object | Opcional | The expiration policy for a file. By default, files with `purpose=batch` expire after 30 days and all other files are persisted until they are manually deleted. |
+
+### `expires_after` Object Structure
+
+The `expires_after` object contains the following properties:
+
+| Nome da propriedade | Tipo | Descrição |
+| ------------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `anchor` | Text | Anchor timestamp after which the expiration policy applies. Supported anchors: `created_at`. |
+| `seconds` | Integer | The number of seconds after the anchor time that the file will expire. Must be between 3600 (1 hour) and 2592000 (30 days). |
+
+## Exemplo de uso
+
+```4d
+var $params:=cs.AIKit.OpenAIFileParameters.new()
+
+// Set expiration after 7 days
+$params.expires_after:={}
+$params.expires_after.anchor:="created_at"
+$params.expires_after.seconds:=604800 // 7 days
+```
+
+## Veja também
+
+- [OpenAIFilesAPI](OpenAIFilesAPI.md)
+- [OpenAIFileResult](OpenAIFileResult.md)
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileResult.md b/i18n/pt/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileResult.md
new file mode 100644
index 00000000000000..949a94d16509a1
--- /dev/null
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileResult.md
@@ -0,0 +1,36 @@
+---
+id: openaifileresult
+title: OpenAIFileResult
+---
+
+# OpenAIFileResult
+
+The `OpenAIFileResult` class contains the result of a single file operation (upload or retrieve).
+
+## Inherits
+
+[OpenAIResult](OpenAIResult.md)
+
+## Propriedades calculadas
+
+| Propriedade | Tipo | Descrição |
+| ----------- | --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- |
+| `file` | [OpenAIFile](OpenAIFile.md) | Returns the file object from the API response. Returns `Null` if the response doesn't contain a valid file. |
+
+## Exemplo de uso
+
+```4d
+// Upload a file
+var $file:=File("/RESOURCES/training-data.jsonl")
+
+var $result:=$client.files.create($file; "user_data")
+var $uploadedFile:=$result.file
+
+// Retrieve file information
+var $retrieveResult:=$client.files.retrieve($uploadedFile.id)
+```
+
+## Veja também
+
+- [OpenAIFilesAPI](OpenAIFilesAPI.md)
+- [OpenAIFile](OpenAIFile.md)
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFilesAPI.md b/i18n/pt/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFilesAPI.md
new file mode 100644
index 00000000000000..21ca534301eddb
--- /dev/null
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFilesAPI.md
@@ -0,0 +1,204 @@
+---
+id: openaifilesapi
+title: OpenAIFilesAPI
+---
+
+# OpenAIFilesAPI
+
+The `OpenAIFilesAPI` class provides functionalities to manage files using OpenAI's API. Files can be uploaded and used across various endpoints including [Fine-tuning](https://platform.openai.com/docs/api-reference/fine-tuning), [Batch](https://platform.openai.com/docs/api-reference/batch) processing, and Vision.
+
+> **Note:** This API is only compatible with OpenAI. Other providers listed in the [compatible providers](../compatible-openai.md) documentation do not support file management operations.
+
+API Reference:
+
+## File Size Limits
+
+- **Individual files:** up to 512 MB per file
+- **Organization total:** up to 1 TB (cumulative size of all files uploaded by your [organization](https://platform.openai.com/docs/guides/production-best-practices/setting-up-your-organization))
+
+## Funções
+
+### create()
+
+**create**(*file* : 4D.File | 4D.Blob; *purpose* : Text; *parameters* : cs.OpenAIFileParameters) : cs.OpenAIFileResult
+
+Upload a file that can be used across various endpoints.
+
+**Endpoint:** `POST https://api.openai.com/v1/files`
+
+| Parâmetro | Tipo | Descrição |
+| ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ |
+| `file` | [4D.File](https://developer.4d.com/docs/API/FileClass) or [4D.Blob](https://developer.4d.com/docs/API/BlobClass) | The File or Blob object (not file name) to be uploaded. |
+| `purpose` | Text | **Required.** The intended purpose of the uploaded file. |
+| `parâmetros` | [OpenAIFileParameters](OpenAIFileParameters.md) | Optional parameters including expiration policy. |
+| Resultado | [OpenAIFileResult](OpenAIFileResult.md) | The file result |
+
+**Throws:** An error if `file` is not a 4D.File or 4D.Blob, or if `purpose` is empty.
+
+#### Supported Purposes
+
+- `assistants`: Used in the Assistants API (⚠️ [deprecated by OpenAI](https://platform.openai.com/docs/assistants/whats-new))
+- `batch`: Used in the [Batch API](https://platform.openai.com/docs/api-reference/batch) (expires after 30 days by default)
+- `fine-tune`: Used for [fine-tuning](https://platform.openai.com/docs/api-reference/fine-tuning)
+- `vision`: Images used for vision fine-tuning
+- `user_data`: Flexible file type for any purpose
+- `evals`: Used for eval data sets
+
+#### File Format Requirements
+
+- **Fine-tuning API:** Only supports `.jsonl` files with specific required formats
+- **Batch API:** Only supports `.jsonl` files up to 200 MB with specific required format
+- **Assistants API:** Supports specific file types (see Assistants Tools guide)
+- **Chat Completions API:** PDFs are only supported
+
+#### Sychronous example
+
+```4d
+var $file:=File("/RESOURCES/training-data.jsonl")
+
+var $params:=cs.AIKit.OpenAIFileParameters.new()
+$params.expires_after:={}
+$params.expires_after.anchor:="created_at"
+$params.expires_after.seconds:=2592000 // 30 days
+
+var $result:=$client.files.create($file; "fine-tune"; $params)
+
+If ($result.success)
+ var $uploadedFile:=$result.file
+ // $uploadedFile.id -> "file-abc123"
+ // $uploadedFile.filename -> "training-data.jsonl"
+ // $uploadedFile.bytes -> 120000
+End if
+```
+
+#### Exemplo assíncrono
+
+Since file uploads can be long operations (especially for large files up to 512 MB), it's recommended to use asynchronous calls to avoid blocking your application. See [Asynchronous Call](../asynchronous-call.md) for more details.
+
+```4d
+var $file:=File("/RESOURCES/large-training-data.jsonl")
+
+var $params:=cs.AIKit.OpenAIFileParameters.new()
+$params.onTerminate:=Formula(MyFileUploadCallback($1))
+
+// This call returns immediately without blocking
+$client.files.create($file; "fine-tune"; $params)
+```
+
+The callback function receives an [OpenAIFileResult](OpenAIFileResult.md):
+
+```4d
+// MyFileUploadCallback
+#DECLARE($result: cs.AIKit.OpenAIFileResult)
+
+If ($result.success)
+ var $uploadedFile:=$result.file
+
+ ALERT("File uploaded successfully: "+$uploadedFile.filename)
+ // Store the file ID for later use
+ Form.uploadedFileId:=$uploadedFile.id
+Else
+ ALERT("Upload failed: "+Formula(JSON Stringify($result.errors)))
+End if
+```
+
+### retrieve()
+
+**retrieve**(*fileId* : Text; *parameters* : cs.OpenAIParameters) : cs.OpenAIFileResult
+
+Returns information about a specific file.
+
+**Endpoint:** `GET https://api.openai.com/v1/files/{file_id}`
+
+| Parâmetro | Tipo | Descrição |
+| ------------ | --------------------------------------- | ----------------------------------------------------------------------------- |
+| `fileId` | Text | **Required.** The ID of the file to retrieve. |
+| `parâmetros` | [OpenAIParameters](OpenAIParameters.md) | Optional parameters for the request. |
+| Resultado | [OpenAIFileResult](OpenAIFileResult.md) | The file result |
+
+**Throws:** An error if `fileId` is empty.
+
+#### Exemplo
+
+```4d
+var $result:=$client.files.retrieve("file-abc123")
+
+If ($result.success)
+ var $file:=$result.file
+ // $file.filename -> "mydata.jsonl"
+ // $file.bytes -> 120000
+ // $file.purpose -> "fine-tune"
+End if
+```
+
+### lista()
+
+**list**(*parameters* : cs.OpenAIFileListParameters) : cs.OpenAIFileListResult
+
+Returns a list of files that belong to the user's organization.
+
+**Endpoint:** `GET https://api.openai.com/v1/files`
+
+| Parâmetro | Tipo | Descrição |
+| ------------ | ------------------------------------------------------- | ----------------------------------------------------------------- |
+| `parâmetros` | [OpenAIFileListParameters](OpenAIFileListParameters.md) | Optional parameters for filtering and pagination. |
+| Resultado | [OpenAIFileListResult](OpenAIFileListResult.md) | The file list result |
+
+#### Exemplo
+
+```4d
+var $params:=cs.AIKit.OpenAIFileListParameters.new()
+$params.purpose:="assistants"
+$params.limit:=50
+$params.order:="desc"
+
+var $result:=$client.files.list($params)
+
+If ($result.success)
+ var $files:=$result.files
+ // $files.length -> 2
+
+ For each ($file; $files)
+ // $file.filename -> "salesOverview.pdf", "puppy.jsonl", etc.
+ End for each
+End if
+```
+
+### delete()
+
+**delete**(*fileId* : Text; *parameters* : cs.OpenAIParameters) : cs.OpenAIFileDeletedResult
+
+Delete a file.
+
+**Endpoint:** `DELETE https://api.openai.com/v1/files/{file_id}`
+
+| Parâmetro | Tipo | Descrição |
+| ------------ | ----------------------------------------------------- | --------------------------------------------------------------------------- |
+| `fileId` | Text | **Required.** The ID of the file to delete. |
+| `parâmetros` | [OpenAIParameters](OpenAIParameters.md) | Optional parameters for the request. |
+| Resultado | [OpenAIFileDeletedResult](OpenAIFileDeletedResult.md) | The file deletion result |
+
+**Throws:** An error if `fileId` is empty.
+
+#### Exemplo
+
+```4d
+var $result:=$client.files.delete("file-abc123")
+
+If ($result.success)
+ var $status:=$result.deleted
+
+ If ($status.deleted)
+ ALERT("File deleted successfully")
+ End if
+End if
+```
+
+## Veja também
+
+- [OpenAIFile](OpenAIFile.md)
+- [OpenAIFileParameters](OpenAIFileParameters.md)
+- [OpenAIFileListParameters](OpenAIFileListParameters.md)
+- [OpenAIFileResult](OpenAIFileResult.md)
+- [OpenAIFileListResult](OpenAIFileListResult.md)
+- [OpenAIFileDeletedResult](OpenAIFileDeletedResult.md)
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIMessage.md b/i18n/pt/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIMessage.md
index de0352a6fc05bb..2e3107300078bd 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIMessage.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIMessage.md
@@ -36,18 +36,52 @@ The `OpenAIMessage` class represents a structured message containing a role, con
Adds an image URL to the content of the message.
+### addFileId()
+
+**addFileId**(*fileId* : Text)
+
+| Parâmetro | Tipo | Descrição |
+| --------- | ---- | -------------------------------------------------- |
+| *fileId* | Text | The file ID to add to the message. |
+
+Adds a file reference to the content of the message. If the content is currently text, it will be converted to a collection format.
+
## Exemplo de uso
-### Create a simple message and attach an image
+### Basic Text Message
```4d
// Create an instance of OpenAIMessage
-var $message:=cs.AIKit.OpenAIMessage({role: "user"; content: "Hello!"})
+var $message:=cs.AIKit.OpenAIMessage.new({role: "user"; content: "Hello!"})
+```
+
+### Adding Images
+
+```4d
+var $message:=cs.AIKit.OpenAIMessage.new({role: "user"; content: "Please analyze this image:"})
// Add an image URL with details
$message.addImageURL("http://example.com/image.jpg"; "high")
```
+### Adding File
+
+```4d
+// Upload a file with user_data purpose
+var $file:=File("/RESOURCES/document.pdf")
+var $uploadResult:=$client.files.create($file; "user_data")
+
+If ($uploadResult.success)
+ var $uploadedFile:=$uploadResult.file
+
+ // Create message and attach the file using its ID
+ var $message:=cs.AIKit.OpenAIMessage.new({role: "user"; content: "Please analyze this document:"})
+ $message.addFileId($uploadedFile.id)
+
+ // $message.content -> [{type: "text"; text: "Please analyze this document:"}; {type: "file"; file_id: "file-abc123"}]
+End if
+```
+
### Respond to a tool call message
When an assistant needs to use external functions, it generates a message with `tool_calls` to request function execution.
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/aikit/overview.md b/i18n/pt/docusaurus-plugin-content-docs/current/aikit/overview.md
index aed3c9f5dd59b6..98b2748bf94ee8 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/current/aikit/overview.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/aikit/overview.md
@@ -103,6 +103,42 @@ Get one model information by id
var $model:=$client.models.retrieve("a model id").model
```
+#### Files
+
+https://platform.openai.com/docs/api-reference/files
+
+Upload a file for use with other endpoints
+
+```4d
+var $file:=File("/path/to/your/file.jsonl")
+var $result:=$client.files.create($file; "fine-tune")
+var $fileId:=$result.file.id
+```
+
+List all files
+
+```4d
+var $files:=$client.files.list().files
+```
+
+Retrieve file information
+
+```4d
+var $fileInfo:=$client.files.retrieve($fileId).file
+```
+
+Delete a file
+
+```4d
+var $deleteResult:=$client.files.delete($fileId)
+```
+
+:::tip Related blog post
+
+[Transform Static Documents into Actionable Knowledge with 4D AIKit](https://blog.4d.com/transform-static-documents-into-actionable-knowledge-with-4d-aikit).
+
+:::
+
#### Moderations
https://platform.openai.com/docs/api-reference/moderations
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/API/webformClass-pic1.png b/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/API/webformClass-pic1.png
new file mode 100644
index 00000000000000..5c3de142c5af11
Binary files /dev/null and b/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/API/webformClass-pic1.png differ
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/API/webformClass-pic2.png b/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/API/webformClass-pic2.png
new file mode 100644
index 00000000000000..7f1ec3a19a8764
Binary files /dev/null and b/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/API/webformClass-pic2.png differ
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/API/webformClass-pic3.png b/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/API/webformClass-pic3.png
new file mode 100644
index 00000000000000..9c128642916f95
Binary files /dev/null and b/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/API/webformClass-pic3.png differ
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/Project/find-components-results.png b/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/Project/find-components-results.png
new file mode 100644
index 00000000000000..96a5080c02477c
Binary files /dev/null and b/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/Project/find-components-results.png differ
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/Project/find-components.png b/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/Project/find-components.png
new file mode 100644
index 00000000000000..0b42697051581c
Binary files /dev/null and b/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/Project/find-components.png differ
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/Project/find-in-design-expanded.png b/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/Project/find-in-design-expanded.png
new file mode 100644
index 00000000000000..9cc45790ffc92d
Binary files /dev/null and b/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/Project/find-in-design-expanded.png differ
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/Project/find-in-design.png b/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/Project/find-in-design.png
new file mode 100644
index 00000000000000..daf7ed8279c6d7
Binary files /dev/null and b/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/Project/find-in-design.png differ
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/Project/rename-dial.png b/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/Project/rename-dial.png
new file mode 100644
index 00000000000000..441f7c8c38a0b1
Binary files /dev/null and b/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/Project/rename-dial.png differ
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/Project/rename.png b/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/Project/rename.png
new file mode 100644
index 00000000000000..7c62a165255313
Binary files /dev/null and b/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/Project/rename.png differ
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/Project/replace-content.png b/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/Project/replace-content.png
new file mode 100644
index 00000000000000..cf973c42e8bce2
Binary files /dev/null and b/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/Project/replace-content.png differ
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/Project/result-window-menu.png b/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/Project/result-window-menu.png
new file mode 100644
index 00000000000000..efc22783c719a5
Binary files /dev/null and b/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/Project/result-window-menu.png differ
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/Project/result-window-re.png b/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/Project/result-window-re.png
new file mode 100644
index 00000000000000..e2754097d149a7
Binary files /dev/null and b/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/Project/result-window-re.png differ
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/Project/result-window.png b/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/Project/result-window.png
new file mode 100644
index 00000000000000..4c6aab5bbe6c63
Binary files /dev/null and b/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/Project/result-window.png differ
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/Project/search-icon.png b/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/Project/search-icon.png
new file mode 100644
index 00000000000000..900fefa1a484d2
Binary files /dev/null and b/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/Project/search-icon.png differ
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/WritePro/margin-bullet.png b/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/WritePro/margin-bullet.png
new file mode 100644
index 00000000000000..52737ade4cdf7c
Binary files /dev/null and b/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/WritePro/margin-bullet.png differ
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/WritePro/margin-bullets.png b/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/WritePro/margin-bullets.png
new file mode 100644
index 00000000000000..de7143eb050741
Binary files /dev/null and b/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/WritePro/margin-bullets.png differ
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/commands/web-event1.png b/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/commands/web-event1.png
new file mode 100644
index 00000000000000..f31f769f39a37d
Binary files /dev/null and b/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/commands/web-event1.png differ
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/commands/web-event2.png b/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/commands/web-event2.png
new file mode 100644
index 00000000000000..8e3e2e7c50ca69
Binary files /dev/null and b/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/commands/web-event2.png differ
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/commands/web-event3.png b/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/commands/web-event3.png
new file mode 100644
index 00000000000000..d7182a677d75a3
Binary files /dev/null and b/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/commands/web-event3.png differ
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/commands/web-event4.png b/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/commands/web-event4.png
new file mode 100644
index 00000000000000..3dee994804d176
Binary files /dev/null and b/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/commands/web-event4.png differ
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/code-editor/write-class-method.md b/i18n/pt/docusaurus-plugin-content-docs/current/code-editor/write-class-method.md
index 7fc4c94658cc37..df3eb91d92519f 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/current/code-editor/write-class-method.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/code-editor/write-class-method.md
@@ -680,6 +680,10 @@ O item atual é aquele selecionado ou aquele em que o cursor está localizado. P
Este comando apresenta os seus resultados numa nova janela.
+## Rename
+
+A global renaming feature can be used with **variables** and **project methods**, allowing you to rename them safely throughout the whole project. To do this, highlight the variable or project method name in the editor and select **Rename...** from the **Method** menu or the context menu. A dialog box is then displayed, allowing you to write the new name. For more information, refer to [Renaming project methods and variables](../Project/search-replace.md#renaming-project-methods-and-variables) section.
+
## Macros
Pode utilizar macro-comandos nos seus métodos. A utilização de macro-comandos poupa muito tempo durante a introdução de código.
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/commands/command-index.md b/i18n/pt/docusaurus-plugin-content-docs/current/commands/command-index.md
index 74a0d9e98d38e4..09fd01c7c3101f 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/current/commands/command-index.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/commands/command-index.md
@@ -1288,6 +1288,8 @@ title: Commands by name
[`WA STOP LOADING URL`](../commands-legacy/wa-stop-loading-url.md)
[`WA ZOOM IN`](../commands-legacy/wa-zoom-in.md)
[`WA ZOOM OUT`](../commands-legacy/wa-zoom-out.md)
+[`Web Event`](web-event.md)
+[`Web Form`](web-form.md)
[`WEB GET BODY PART`](../commands-legacy/web-get-body-part.md)
[`WEB Get body part count`](../commands-legacy/web-get-body-part-count.md)
[`WEB Get current session ID`](../commands-legacy/web-get-current-session-id.md)
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/commands/theme/Web_Server.md b/i18n/pt/docusaurus-plugin-content-docs/current/commands/theme/Web_Server.md
index 9a392d36ecc364..3a6f378477ddc9 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/current/commands/theme/Web_Server.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/commands/theme/Web_Server.md
@@ -7,6 +7,8 @@ slug: /commands/theme/Web-Server
| |
| --------------------------------------------------------------------------------------------------------------------------------------- |
+| [](../../commands/web-event.md)
|
+| [](../../commands/web-form.md)
|
| [](../../commands-legacy/web-get-body-part.md)
|
| [](../../commands-legacy/web-get-body-part-count.md)
|
| [](../../commands-legacy/web-get-current-session-id.md)
|
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/commands/web-event.md b/i18n/pt/docusaurus-plugin-content-docs/current/commands/web-event.md
new file mode 100644
index 00000000000000..6ae7c0b8030981
--- /dev/null
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/commands/web-event.md
@@ -0,0 +1,97 @@
+---
+id: web-event
+title: Web Event
+displayed_sidebar: docs
+---
+
+**Web Event** : object
+
+
+
+| Parâmetro | Tipo | | Descrição |
+| ---------- | ------ | :-------------------------: | ---------------------------------- |
+| Resultados | Object | ← | Information on the triggered event |
+
+
+
+## Descrição
+
+`Web Event` returns an object with information on a triggered event linked to a web page component.
+
+The command must be called in the context of a web page handled by the 4D web server.
+
+**Resultado**
+
+O objeto retornado contém as propriedades abaixo:
+
+| Propriedade | | Tipo | Descrição |
+| ----------- | ----- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| caller | | string | [Server-side reference](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/pageLoaderOverview#data-access-category) of the component triggering the event |
+| eventType | | string | Type of event:onbluronfocusonclickonauxclickonmouseenteronmouseleaveonkeyuponkeydownonchangeunloadonload - triggered when the `Page` loads |
+| data | | object | Additional information depending on the involved component |
+| | index | number | Tabs component: index of the tab (indexing starts at 0)Data Table component: column number |
+| | row | number | Data Table component: row number |
+| | name | string | Data Table component: qodlysource name of the column (e.g. "firstname", "address.city") |
+
+#### Exemplo
+
+The objective is to display/hide a help text when the user hovers over the component:
+
+
+
+This is done by attaching `onmouseenter` and `onmouseleave` events to a **Text input** component that displays the information stored in a **Text** component (displaying "This is the help text").
+
+
+
+In this scenario:
+
+- The Text input component has `orderNumber` as Server side reference.
+ 
+- The Text component has `helpOn_orderNumber` as Server side reference.
+ 
+- The [exposed](../ORDA/ordaClasses.md#exposed-vs-non-exposed-functions) function `help()` is attached to both the `onmouseenter` and `onmouseleave` events and contains the following code:
+
+```4d
+shared singleton Class constructor()
+exposed Function help()
+
+ var event : Object
+ var myForm : 4D.WebForm
+ var componentRef : Text
+
+ myForm:=web Form
+ event:=web Event
+ componentRef:=event.caller
+
+ Case of
+ : (event.eventType="onmouseenter") // event is onmouseenter
+ myForm["helpOn_"+componentRef].show() // show the help on "orderNumber" by showing
+ // the text component with reference "helpOn_orderNumber"
+ : (event.eventType="onmouseleave") // event is onmouseleave
+ myForm["helpOn_"+componentRef].hide() // hide the help on orderNumber
+
+ End case
+
+```
+
+To open the web page with the help on `orderNumber` hidden, you can associate this function to the `onload` event of the web page:
+
+```4d
+exposed function hideOnLoad()
+ webForm.helpOn_orderNumber.hide()
+
+```
+
+## Veja também
+
+[Web Form](web-form.md)
+[WebForm class](../API/WebFormClass.md)
+[WebFormItem class](../API/WebFormItemClass.md)
+
+## Propriedades
+
+| | |
+| ----------------- | --------------------------- |
+| Número de comando | 1734 |
+| Thread safe | ✗ |
+
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/commands/web-form.md b/i18n/pt/docusaurus-plugin-content-docs/current/commands/web-form.md
new file mode 100644
index 00000000000000..a23b722ea5ab4d
--- /dev/null
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/commands/web-form.md
@@ -0,0 +1,46 @@
+---
+id: web-form
+title: Web Form
+displayed_sidebar: docs
+---
+
+**Web Form** : 4D.WebForm
+
+
+
+| Parâmetro | Tipo | | Descrição |
+| ---------- | -------------------------- | :-------------------------: | --------------------------- |
+| Resultados | 4D.WebForm | ← | New `Web Form` proxy object |
+
+
+
+## Descrição
+
+The `Web Form` command returns a `4D.WebForm` proxy object, providing a means to work with and effectively emulates the Page's properties and functions.
+
+:::info
+
+Keep in mind that a `4D.WebForm` object is a **proxy object**, and not a direct reference to the web form object itself. As a consequence for example, the `4D.WebForm` object does not expose all Page properties in the Debugger.
+
+:::
+
+Each property of the returned object is an object of the [4D.WebFormItem](../API/WebFormItemClass.md) class.
+
+The command returns `null` if it is called in a request that does not originate from Qodly Studio.
+
+## Veja também
+
+[Web Event](web-event.md)
+[WebForm class](../API/WebFormClass.md)
+[WebFormItem class](../API/WebFormItemClass.md)
+
+## Propriedades
+
+| | |
+| ----------------- | --------------------------- |
+| Número de comando | 1735 |
+| Thread safe | ✗ |
+
+
+
+
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-19/API/CollectionClass.md b/i18n/pt/docusaurus-plugin-content-docs/version-19/API/CollectionClass.md
index 6bce0f973d38c8..c0445f70e19440 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-19/API/CollectionClass.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-19/API/CollectionClass.md
@@ -4,7 +4,7 @@ title: Collection
---
-A classe Collection gerencia variáveis de tipo [Collection](Concepts/dt_collection.md).
+The Collection class manages [Collection](Concepts/dt_collection.md) type expressions.
Uma coleção se inicializa com:
@@ -349,14 +349,14 @@ $c.combine($fruits;3) //[1,2,3,"Orange","Banana","Apple","Grape",4,5,6]
-**.concat**( *value* : any { *;...valueN* } ) : Collection
+**.concat**( *value* : any { ; *...valueN* } ) : Collection
-| Parâmetro | Tipo | | Descrição |
-| ---------- | -------------------------------------------------------------- |:--:| ----------------------------------------------------------------------------------------------------------------------- |
-| value | Number, Text, Object, Collection, Date, Time, Boolean, Picture | -> | Valores a concatenar. Se *value* for uma coleção, todos os elementos da coleção são adicionados para a coleção original |
-| Resultados | Collection | <- | Nova coleção com valores adicionados à coleção original|
+| Parâmetro | Tipo | | Descrição |
+| ---------- | ---------- |:--:| ----------------------------------------------------------------------------------------------------------------------- |
+| value | any | -> | Valores a concatenar. Se *value* for uma coleção, todos os elementos da coleção são adicionados para a coleção original |
+| Resultados | Collection | <- | Nova coleção com valores adicionados à coleção original|
|
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-19/Concepts/dt_number.md b/i18n/pt/docusaurus-plugin-content-docs/version-19/Concepts/dt_number.md
index 72e8b8cea7a30f..6c83823c66aee8 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-19/Concepts/dt_number.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-19/Concepts/dt_number.md
@@ -73,9 +73,9 @@ O operador do módulo % devolve valores significativos com números que se encon
:::
-### Divisão inteira
+### Integer division
-O operador da divisão de longint retorna valores significativos apenas com números inteiros.
+The integer division operator divides one number by another and returns the whole number part of the result, discarding any remainder. `a\b` is equivalent to `Int(a/b)`. This operator returns significant values with integer numbers only.
### Comparação real
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-19/Concepts/quick-tour.md b/i18n/pt/docusaurus-plugin-content-docs/version-19/Concepts/quick-tour.md
index cda6dc0c3b8cd8..4aefee313e1525 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-19/Concepts/quick-tour.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-19/Concepts/quick-tour.md
@@ -314,7 +314,7 @@ Refere-se a uma expressão pelo tipo de dados que devolve. Existem vários tipos
| Col[5] | Elemento de colecção | Um elemento de coleção é uma expressão que pode ser de qualquer tipo suportado |
| $entitySel[0] | Entity | Um elemento de uma seleção de entidade ORDA é uma expressão do tipo entidade. Este tipo de expressão é **não atribuível** |
-### Expressões atribuíveis vs expressões não atribuíveis
+### Expressões atribuíveis vs expressões não atribuíveis {#assignable-vs-non-assignable-expressions}
Uma expressão pode ser simplesmente uma constante literal, como o número 4 ou a string "Hello", ou uma variável como `$myButton`. Também pode utilizar operadores. Por exemplo, 4 + 2 é uma expressão que utiliza o operador de adição para somar dois números e devolver o resultado 6. Em qualquer dos casos, estas expressões são **não atribuíveis**, o que significa que não lhes pode ser atribuído um valor. Em 4D, as expressões podem ser **atribuíveis**. Uma expressão é atribuível quando pode ser utilizada no lado esquerdo de uma atribuição. Por exemplo:
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-19/Concepts/variables.md b/i18n/pt/docusaurus-plugin-content-docs/version-19/Concepts/variables.md
index 3057d13df9e4d7..13e51bc07d2058 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-19/Concepts/variables.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-19/Concepts/variables.md
@@ -243,7 +243,7 @@ As variáveis sistema são usadas pelos comandos 4D. Refer to the "System variab
| ------------------------------------------------------ | ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `OK` | Integer | Geralmente definido como 1 após um comando ter exibido uma caixa de diálogo e o usuário clicou no botão **OK**, e 0 se eles clicarem em **Cancelar**. Alguns comandos também modificam o valor da variável sistema `OK` quando uma operação é executada com sucesso. |
| `Document` | Text | Contém o "nome longo" (caminho completo+nome) do último arquivo aberto ou criado usando comandos como [Open document](https://doc.4d.com/4dv20/help/command/en/page264.html) ou [SELECT LOG FILE](https://doc.4d.com/4dv20/help/command/en/page345.html). |
-| `FldDelimit`, `RecDelimit` | Text | Contém os códigos de caracteres que serão usados respectivamente como um separador de campos (padrão é **Tab** (9)) e o separador de registros (padrão é **retorno do carro** (13)) quando importar ou exportar texto. Para usar um separador diferente, atribua um novo valor à variável do sistema. |
+| `FldDelimit`, `RecDelimit` | Integer | Contém os códigos de caracteres que serão usados respectivamente como um separador de campos (padrão é **Tab** (9)) e o separador de registros (padrão é **retorno do carro** (13)) quando importar ou exportar texto. Para usar um separador diferente, atribua um novo valor à variável do sistema. |
| `Error`, `Error method`, `Error line`, `Error formula` | Text, Longint | Usado em um método de captura de erro instalado pelo comando [`ON ERR CALL`](https://doc.4d.com/4dv20/help/command/en/page155.html). Veja [Tratamento de erros no método](../Concepts/error-handling.md#handling-errors-within-the-method). |
| `MouseDown` | Integer | Usado em um método instalado pelo comando [`ON EVENT CALL`](https://doc.4d.com/4dv20/help/command/en/page190.html). Definir como 1 quando o botão do mouse for pressionado, caso contrário será definido como 0. |
| `MouseX`, `MouseY` | Integer | Usado em um método instalado pelo comando [`ON EVENT CALL`](https://doc.4d.com/4dv20/help/command/en/page190.html). Em um evento `MouseDown=1`, `MouseX` e `MouseY` são respectivamente definidos como coordenadas verticais e horizontais do clique. Ambos os valores são expressos em píxeis e usam o sistema local de coordenadas da janela. No caso de um campo ou de uma variável de imagem, `MouseX` e `MouseY` retornam as coordenadas locais de um mouse clique nos eventos formulário [`On Clicked`](../Events/onClicked.md), [`On Double Clicked`](../Events/onDoubleClicked.md) e [`On Mouse Up`](../Events/onMouseUp.md). As coordenadas locais do cursor do mouse também são retornadas nos eventos formulário [`On Mouse Enter`](../Events/onMouseEnter.md) e [`On Mouse Move`](../Events/onMouseMove.md). Para obter mais informações, consulte as [Coordenadas de Mouse em uma imagem](../FormEditor/pictures.md#mouse-coordinates-in-a-picture). |
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/API/CollectionClass.md b/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/API/CollectionClass.md
index 3f0cc44d806675..ff4715de39e28f 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/API/CollectionClass.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/API/CollectionClass.md
@@ -3,7 +3,7 @@ id: CollectionClass
title: Collection
---
-A classe Collection gerencia variáveis do tipo [Collection](Concepts/dt_collection.md).
+The Collection class manages [Collection](Concepts/dt_collection.md) type expressions.
Uma coleção é inicializada com os comandos [`New collection`](../commands/new-collection.md) ou [`New shared collection`](../commands/new-shared-collection.md).
@@ -271,14 +271,14 @@ $c.combine($fruits;3) //[1,2,3,"Orange","Banana","Apple","Grape",4,5,6]
-**.concat**( *value* : any { *;...valueN* } ) : Collection
+**.concat**( *value* : any { ; *...valueN* } ) : Collection
-| Parâmetro | Tipo | | Descrição |
-| ---------- | -------------------------------------------------------------- | :-------------------------: | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| value | Number, Text, Object, Collection, Date, Time, Boolean, Picture | -> | Valores a concatenar. Se *valor* for uma coleção, todos os seus elementos serão adicionados como novos elementos no final da coleção original. |
-| Resultados | Collection | <- | Nova coleção com valores adicionados à coleção original |
+| Parâmetro | Tipo | | Descrição |
+| ---------- | ---------- | :-------------------------: | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| value | any | -> | Valores a concatenar. Se *valor* for uma coleção, todos os seus elementos serão adicionados como novos elementos no final da coleção original. |
+| Resultados | Collection | <- | Nova coleção com valores adicionados à coleção original |
@@ -3195,14 +3195,12 @@ A função `.sort()` classifica os elemen
Se `.sort()` for chamado sem parâmetros, somente os valores escalares (número, texto, data, booleanos) serão classificados. Os elementos são classificados por defeito em ordem ascendente, de acordo com o seu tipo.
You can also pass one of the following constants in the *ascOrDesc* parameter:
- ```
- |Constant| Type|Value|Comment|
- |---|---|---|---|
- |ck ascending|Integer|0|Elements are ordered in ascending order (default)|
- |ck descending|Integer|1|Elements are ordered in descending order|
-
- This syntax orders scalar values in the collection only (other element types such as objects or collections are returned unordered).
- ```
+| Parâmetros | Tipo | Valor | Comentário |
+| ------------- | ------- | ----- | ------------------------------------------------------------------------------ |
+| ck ascending | Integer | 0 | Os elementos são ordenados de forma ascendente (por padrão) |
+| ck descending | Integer | 1 | Os elementos são ordenados de forma descendente |
+
+Essa sintaxe ordena apenas os valores escalares da coleção (outros tipos de elementos como objetos ou coleções são retornados sem ordenar).
Se a coleção conter elementos de tipos diferentes, são primeiro agrupados por tipo e ordenados depois. Se attributePath levar a uma propriedade de objeto que conter valores de diferentes tipos, primeiro se agrupam por tipo e se ordenam depois.
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/Concepts/dt_number.md b/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/Concepts/dt_number.md
index 1354f72e062cca..5b74e9eab803dd 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/Concepts/dt_number.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/Concepts/dt_number.md
@@ -79,9 +79,9 @@ O operador do módulo % devolve valores significativos com números que se encon
:::
-### Divisão inteira
+### Integer division
-O operador da divisão de longint retorna valores significativos apenas com números inteiros.
+The integer division operator divides one number by another and returns the whole number part of the result, discarding any remainder. `a\b` is equivalent to `Int(a/b)`. This operator returns significant values with integer numbers only.
### Comparação real
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/Concepts/quick-tour.md b/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/Concepts/quick-tour.md
index 0002c4cfccdfa8..a3b60389638b7d 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/Concepts/quick-tour.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/Concepts/quick-tour.md
@@ -306,7 +306,7 @@ Refere-se a uma expressão pelo tipo de dados que devolve. Existem vários tipos
| Col[5] | Elemento de colecção | Um elemento de coleção é uma expressão que pode ser de qualquer tipo suportado |
| $entitySel[0] | Entity | Um elemento de uma seleção de entidade ORDA é uma expressão do tipo entidade. Este tipo de expresión es **no asignable** |
-### Expressões atribuíveis vs expressões não atribuíveis
+### Assignable vs non-assignable expressions {#assignable-vs-non-assignable-expressions}
Uma expressão pode ser simplesmente uma constante literal, como o número 4 ou a string "Hello", ou uma variável como `$myButton`. Também pode utilizar operadores. Por exemplo, 4 + 2 é uma expressão que utiliza o operador de adição para somar dois números e devolver o resultado 6. Em qualquer dos casos, estas expressões são **não atribuíveis**, o que significa que não lhes pode ser atribuído um valor.
Em 4D, as expressões podem ser **atribuíveis**. Uma expressão é atribuível quando pode ser utilizada no lado esquerdo de uma atribuição. Por exemplo:
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/Concepts/variables.md b/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/Concepts/variables.md
index 9ffc9beea3d801..cf29a5c758909a 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/Concepts/variables.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/Concepts/variables.md
@@ -250,17 +250,18 @@ A linguagem 4D gerencia diversas **variáveis sistema**, que permitem controlar
As variáveis do sistema são usadas pelos [comandos 4D](../commands/command-index.md). Refer to the "System variables and sets" paragraph in the description of a command to find out whether it affects a system variable.
-| Nome da variável sistema | Tipo | Descrição |
-| ------------------------------------------------------ | ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `OK` | Integer | Geralmente definido como 1 após um comando ter exibido uma caixa de diálogo e o usuário clicou no botão **OK** e em 0 se eles clicarem em **Cancelar**. Some commands also modify the value of the `OK` system variable when a operation is successfully executed. |
-| `Document` | Text | Contém o "nome longo" (caminho completo) do último arquivo aberto ou criado usando comandos como [Documento aberto](../commands-legacy/open-document.md) ou [ARQUIVO ARQUIVO](../commands/select-log-file.md). |
-| `FldDelimit`, `RecDelimit` | Text | Contém os códigos de caracteres que serão usados respectivamente como um separador de campos (padrão é Tab (9)) e o separador de registros (padrão é retorno do carro (13)) quando importar ou exportar texto. Para usar um separador diferente, atribua um novo valor à variável do sistema. |
-| `Error`, `Error method`, `Error line`, `Error formula` | Text, Longint | Usado em um método de captura de erro instalado pelo comando [`ON ERR CALL`](../commands-legacy/on-err-call.md). Veja [Tratamento de erros no método](../Concepts/error-handling.md#handling-errors-within-the-method). |
-| `MouseDown` | Integer | Usado em um método instalado pelo comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Definir como 1 quando o botão do mouse for pressionado, caso contrário será definido como 0. |
-| `MouseX`, `MouseY` | Integer | Usado em um método instalado pelo comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Em um evento `MouseDown=1`, `MouseX` e `MouseY` são respectivamente definidos como coordenadas verticais e horizontais do clique. Ambos os valores são expressos em píxeis e usam o sistema local de coordenadas da janela. No caso de um campo ou de uma variável de imagem, `MouseX` e `MouseY` retornam as coordenadas locais de um mouse clique nos eventos formulário [`On Clicked`](../Events/onClicked.md), [`On Double Clicked`](../Events/onDoubleClicked.md) e [`On Mouse Up`](../Events/onMouseUp.md). As coordenadas locais do cursor do mouse também são retornadas nos eventos formulário [`On Mouse Enter`](../Events/onMouseEnter.md) e [`On Mouse Move`](../Events/onMouseMove.md). Para obter mais informações, consulte as [Coordenadas de Mouse em uma imagem](../FormEditor/pictures.md#mouse-coordinates-in-a-picture). |
-| `KeyCode` | Integer | Usado em um método instalado pelo comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Definido como o código de caractere da tecla que acabou de ser pressionada. Se a chave for uma chave de função, `KeyCode` é definido como um código especial. |
-| `Modifiers` | Integer | Usado em um método instalado pelo comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Definir para as teclas modificadoras do teclado (Ctrl/Comando, Alt/Option, Shift, Caps Lock). |
-| `MouseProc` | Integer | Usado em um método instalado pelo comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Defina o número do processo em que o último evento teve lugar |
+| Nome da variável sistema | Tipo | Descrição |
+| ------------------------------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `OK` | Integer | Geralmente definido como 1 após um comando ter exibido uma caixa de diálogo e o usuário clicou no botão **OK** e em 0 se eles clicarem em **Cancelar**. Some commands also modify the value of the `OK` system variable when a operation is successfully executed. |
+| `Document` | Text | Contém o "nome longo" (caminho completo) do último arquivo aberto ou criado usando comandos como [Documento aberto](../commands-legacy/open-document.md) ou [ARQUIVO ARQUIVO](../commands/select-log-file.md). |
+| `FldDelimit`, `RecDelimit` | Integer | Contém os códigos de caracteres que serão usados respectivamente como um separador de campos (padrão é Tab (9)) e o separador de registros (padrão é retorno do carro (13)) quando importar ou exportar texto. Para usar um separador diferente, atribua um novo valor à variável do sistema. |
+| `Error`, `Error line` | Integer | Usado em um método de captura de erro instalado pelo comando [`ON ERR CALL`](../commands-legacy/on-err-call.md). Veja [Tratamento de erros no método](../Concepts/error-handling.md#handling-errors-within-the-method). |
+| `Error method`, `Error formula` | Text | Usado em um método de captura de erro instalado pelo comando [`ON ERR CALL`](../commands-legacy/on-err-call.md). Veja [Tratamento de erros no método](../Concepts/error-handling.md#handling-errors-within-the-method). |
+| `MouseDown` | Integer | Usado em um método instalado pelo comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Definir como 1 quando o botão do mouse for pressionado, caso contrário será definido como 0. |
+| `MouseX`, `MouseY` | Integer | Usado em um método instalado pelo comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Em um evento `MouseDown=1`, `MouseX` e `MouseY` são respectivamente definidos como coordenadas verticais e horizontais do clique. Ambos os valores são expressos em píxeis e usam o sistema local de coordenadas da janela. No caso de um campo ou de uma variável de imagem, `MouseX` e `MouseY` retornam as coordenadas locais de um mouse clique nos eventos formulário [`On Clicked`](../Events/onClicked.md), [`On Double Clicked`](../Events/onDoubleClicked.md) e [`On Mouse Up`](../Events/onMouseUp.md). As coordenadas locais do cursor do mouse também são retornadas nos eventos formulário [`On Mouse Enter`](../Events/onMouseEnter.md) e [`On Mouse Move`](../Events/onMouseMove.md). Para obter mais informações, consulte as [Coordenadas de Mouse em uma imagem](../FormEditor/pictures.md#mouse-coordinates-in-a-picture). |
+| `KeyCode` | Integer | Usado em um método instalado pelo comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Definido como o código de caractere da tecla que acabou de ser pressionada. Se a chave for uma chave de função, `KeyCode` é definido como um código especial. |
+| `Modifiers` | Integer | Usado em um método instalado pelo comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Definir para as teclas modificadoras do teclado (Ctrl/Comando, Alt/Option, Shift, Caps Lock). |
+| `MouseProc` | Integer | Usado em um método instalado pelo comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Defina o número do processo em que o último evento teve lugar |
:::note
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/FormObjects/properties_Action.md b/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/FormObjects/properties_Action.md
index 9abf540b4ddac0..d3141fea191823 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/FormObjects/properties_Action.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/FormObjects/properties_Action.md
@@ -191,15 +191,15 @@ Em outros casos (list box baseados em seleções nomeadas, colunas associadas co
## Ação padrão
-Atividades típicas a serem executadas por objetos ativos (\*e.g., permitindo que o usuário aceite, cancele ou exclua registros, mova entre registros ou de página para página em um formulário multi-páginas, etc.) foi predefinido por 4D como ações padrão. Eles são descritos em detalhes na seção [Ações padrão](https://doc.4d.com/4Dv20/4D/20.2/Standard-actions.300-6750239.en.html) do *manual de Desenho*. There are also [standard actions specific to 4D Write Pro areas](../WritePro/user-legacy/defining-a-4d-write-pro-area.md#standard-actions).
+Atividades típicas a serem executadas por objetos ativos (\*e.g., permitindo que o usuário aceite, cancele ou exclua registros, mova entre registros ou de página para página em um formulário multi-páginas, etc.) foi predefinido por 4D como ações padrão. Eles são descritos em detalhes na seção [Ações padrão](https://doc.4d.com/4Dv20/4D/20.2/Standard-actions.300-6750239.en.html) do *manual de Desenho*. There are also standard actions specific to 4D Write Pro areas.
Você pode atribuir uma ação padrão e um método projeto de um objeto. Neste caso, a ação padrão é geralmente executada depois que o método e o 4D usa esta ação para ativar/desativar o objeto conforme o contexto atual. Quando um objeto é desativado, o método projeto associado não pode ser executado.
#### Gramática JSON
-| Nome | Tipo de dados | Valores possíveis |
-| ------ | ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| action | string | The name of a valid [standard action](https://doc.4d.com/4Dv20/4D/20.2/Standard-actions.300-6750239.en.html) or [4D Write Pro standard action](../WritePro/user-legacy/defining-a-4d-write-pro-area.md#standard-actions). |
+| Nome | Tipo de dados | Valores possíveis |
+| ------ | ------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| action | string | The name of a valid [standard action](https://doc.4d.com/4Dv20/4D/20.2/Standard-actions.300-6750239.en.html) or 4D Write Pro standard action]. |
#### Objectos suportados
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/FormObjects/webArea_overview.md b/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/FormObjects/webArea_overview.md
index 00dc4d05967a4d..0ce1ecd44a2251 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/FormObjects/webArea_overview.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/FormObjects/webArea_overview.md
@@ -18,7 +18,7 @@ Duas variáveis específicas podem ser associadas a cada área web:
- [`URL`](properties_WebArea.md#url) -- para controlar a URL exibida pela área Web
- [`Progression`](properties_WebArea.md#progression) -- para controlar a porcentagem de carregamento da página exibida na área Web.
-> A partir do 4D v19 R5, a variável Progression não é mais atualizada em Web Areas usando o [mecanismo de renderização do sistema Windows](./webArea_overview.md#web-rendering-engine).
+> As of 4D 19 R5, the Progression variable is no longer updated in Web Areas using the [Windows system rendering engine](./webArea_overview.md#web-rendering-engine).
### Motor de renderização Web
@@ -332,9 +332,11 @@ O arquivo 4DCEFParameters.json padrão contém os seguintes botões:
}
```
-### Veja também
+:::info Related blog post
-[Especifique seus próprios parâmetros para inicializar a área Web incorporada (postagem no blog)](https://blog.4d.com/specify-your-own-parameters-to-initialize-the-embedded-web-area)
+[Custom Parameters for Initializing Embedded Web Area](https://blog.4d.com/custom-parameters-for-initializing-embedded-web-area/)
+
+:::
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/ORDA/orda-events.md b/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/ORDA/orda-events.md
index 75941c87ec6b55..bc46901da4c8a3 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/ORDA/orda-events.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/ORDA/orda-events.md
@@ -17,7 +17,7 @@ You cannot directly trigger event function execution. Events are called automati
:::info Compatibility note
-ORDA entity events in the datastore are equivalent to triggers in the 4D database. However, actions triggered at the 4D database level using the 4D classic language commands or standard actions do not trigger ORDA events.
+ORDA entity events in the datastore are equivalent to triggers in the 4D database. However, actions triggered at the 4D database level using the 4D classic language commands or standard actions do not trigger ORDA events. Note also that, unlike triggers, ORDA entity events do not lock the entire underlying table of a dataclass while saving or dropping entities. Several events can run in parallel as long as they involve distinct entities (i.e. records).
:::
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/ORDA/privileges.md b/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/ORDA/privileges.md
index b8c7045056e46c..909c0a60794fd9 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/ORDA/privileges.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/ORDA/privileges.md
@@ -165,7 +165,7 @@ Em versões anteriores, o arquivo `roles.json` não foi criado por padrão. A pa
:::note Qodly Studio
-No Qodly Studio para 4D, o modo pode ser definido usando a opção [**Forçar login**](../WebServer/qodly-studio.md#force-login) no painel de Privilégios.
+No Qodly Studio para 4D, o modo pode ser definido usando a opção [**Forçar login**](https://developer.4d.com/qodly/4DQodlyPro/force-login) no painel de Privilégios.
:::
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/REST/authUsers.md b/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/REST/authUsers.md
index f552e7d35b35e5..eea1c476f49d46 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/REST/authUsers.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/REST/authUsers.md
@@ -18,7 +18,7 @@ Uma sessão é aberta depois que o usuário é autenticado com sucesso (veja aba
:::note Compatibidade
-O modo de login legado baseado no método de banco de dados `On REST Authentication` é **obsoleto** a partir de 4D 20 R6. Agora é recomendado [usar o **modo de login forçado**](../ORDA/privileges.md#rolesjson-file) (automaticamente habilitado em novos projetos) e implementar a [função `ds.authentify()`](#function-authentify). Em projetos convertidos, [um botão na caixa de diálogo Configurações](../settings/web.md#activate-rest-authentication-through-dsauthentify-function) o ajudará a atualizar sua configuração. No Qodly Studio para 4D, o modo pode ser definido usando a opção [**Forçar login**](../WebServer/qodly-studio.md#force-login) no painel de Privilégios.
+O modo de login legado baseado no método de banco de dados `On REST Authentication` é **obsoleto** a partir de 4D 20 R6. Agora é recomendado [usar o **modo de login forçado**](../ORDA/privileges.md#rolesjson-file) (automaticamente habilitado em novos projetos) e implementar a [função `ds.authentify()`](#function-authentify). Em projetos convertidos, [um botão na caixa de diálogo Configurações](../settings/web.md#activate-rest-authentication-through-dsauthentify-function) o ajudará a atualizar sua configuração. No Qodly Studio para 4D, o modo pode ser definido usando a opção [**Forçar login**](https://developer.4d.com/qodly/4DQodlyPro/force-login) no painel de Privilégios.
:::
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/WebServer/sessions.md b/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/WebServer/sessions.md
index 1dbedd8c5da236..26051dac8ef98f 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/WebServer/sessions.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/WebServer/sessions.md
@@ -25,7 +25,7 @@ As sessões Web são usadas para:
- [Aplicaciones web](gettingStarted.md) que envían peticiones http,
- calls to the [REST API](../REST/authUsers.md), which are used by [remote datastores](../ORDA/remoteDatastores.md) and [Qodly forms](qodly-studio.md).
-## Activando sessões web
+## Enabling web sessions {#enabling-web-sessions}
A funcionalidade de gerenciamento de sessão pode ser ativado e desativado no seu servidor web 4D. Existem diferentes formas de ativar a gestão de sessões:
@@ -201,7 +201,7 @@ Else
End if
```
-:::tips Related blog posts
+:::tip Related blog posts
[Scalable sessions for advanced web applications](https://blog.4d.com/scalable-sessions-for-advanced-web-applications/)
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20/API/CollectionClass.md b/i18n/pt/docusaurus-plugin-content-docs/version-20/API/CollectionClass.md
index f2d5492e1a84f4..62a499e5b4c099 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-20/API/CollectionClass.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-20/API/CollectionClass.md
@@ -4,7 +4,7 @@ title: Collection
---
-A classe Collection gerencia variáveis de tipo [Collection](Concepts/dt_collection.md).
+The Collection class manages [Collection](Concepts/dt_collection.md) type expressions.
Uma coleção se inicializa com:
@@ -453,14 +453,14 @@ $c.combine($fruits;3) //[1,2,3,"Orange","Banana","Apple","Grape",4,5,6]
-**.concat**( *value* : any { *;...valueN* } ) : Collection
+**.concat**( *value* : any { ; *...valueN* } ) : Collection
-| Parâmetro | Tipo | | Descrição |
-| ---------- | -------------------------------------------------------------- |:--:| ----------------------------------------------------------------------------------------------------------------------- |
-| value | Number, Text, Object, Collection, Date, Time, Boolean, Picture | -> | Valores a concatenar. Se *value* for uma coleção, todos os elementos da coleção são adicionados para a coleção original |
-| Resultados | Collection | <- | Nova coleção com valores adicionados à coleção original|
+| Parâmetro | Tipo | | Descrição |
+| ---------- | ---------- |:--:| ----------------------------------------------------------------------------------------------------------------------- |
+| value | any | -> | Valores a concatenar. Se *value* for uma coleção, todos os elementos da coleção são adicionados para a coleção original |
+| Resultados | Collection | <- | Nova coleção com valores adicionados à coleção original|
|
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20/Concepts/dt_number.md b/i18n/pt/docusaurus-plugin-content-docs/version-20/Concepts/dt_number.md
index 72e8b8cea7a30f..6c83823c66aee8 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-20/Concepts/dt_number.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-20/Concepts/dt_number.md
@@ -73,9 +73,9 @@ O operador do módulo % devolve valores significativos com números que se encon
:::
-### Divisão inteira
+### Integer division
-O operador da divisão de longint retorna valores significativos apenas com números inteiros.
+The integer division operator divides one number by another and returns the whole number part of the result, discarding any remainder. `a\b` is equivalent to `Int(a/b)`. This operator returns significant values with integer numbers only.
### Comparação real
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20/Concepts/quick-tour.md b/i18n/pt/docusaurus-plugin-content-docs/version-20/Concepts/quick-tour.md
index 218ca0281ab93f..a5351784c89466 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-20/Concepts/quick-tour.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-20/Concepts/quick-tour.md
@@ -312,7 +312,7 @@ Refere-se a uma expressão pelo tipo de dados que devolve. Existem vários tipos
| Col[5] | Elemento de colecção | Um elemento de coleção é uma expressão que pode ser de qualquer tipo suportado |
| $entitySel[0] | Entity | Um elemento de uma seleção de entidade ORDA é uma expressão do tipo entidade. Este tipo de expressão é **não atribuível** |
-### Expressões atribuíveis vs expressões não atribuíveis
+### Expressões atribuíveis vs expressões não atribuíveis {#assignable-vs-non-assignable-expressions}
Uma expressão pode ser simplesmente uma constante literal, como o número 4 ou a string "Hello", ou uma variável como `$myButton`. Também pode utilizar operadores. Por exemplo, 4 + 2 é uma expressão que utiliza o operador de adição para somar dois números e devolver o resultado 6. Em qualquer dos casos, estas expressões são **não atribuíveis**, o que significa que não lhes pode ser atribuído um valor. Em 4D, as expressões podem ser **atribuíveis**. Uma expressão é atribuível quando pode ser utilizada no lado esquerdo de uma atribuição. Por exemplo:
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20/Concepts/variables.md b/i18n/pt/docusaurus-plugin-content-docs/version-20/Concepts/variables.md
index e02132e9d3d0d8..cbfaa204c01d52 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-20/Concepts/variables.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-20/Concepts/variables.md
@@ -241,7 +241,7 @@ As variáveis do sistema são usadas pelos [comandos 4D](commands.md). Refer to
| ------------------------------------------------------ | ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `OK` | Integer | Geralmente definido como 1 após um comando ter exibido uma caixa de diálogo e o usuário clicou no botão **OK**, e 0 se eles clicarem em **Cancelar**. Alguns comandos também modificam o valor da variável sistema `OK` quando uma operação é executada com sucesso. |
| `Document` | Text | Contém o "nome longo" (caminho completo+nome) do último arquivo aberto ou criado usando comandos como [Open document](https://doc.4d.com/4dv20/help/command/en/page264.html) ou [SELECT LOG FILE](https://doc.4d.com/4dv20/help/command/en/page345.html). |
-| `FldDelimit`, `RecDelimit` | Text | Contém os códigos de caracteres que serão usados respectivamente como um separador de campos (padrão é **Tab** (9)) e o separador de registros (padrão é **retorno do carro** (13)) quando importar ou exportar texto. Para usar um separador diferente, atribua um novo valor à variável do sistema. |
+| `FldDelimit`, `RecDelimit` | Integer | Contém os códigos de caracteres que serão usados respectivamente como um separador de campos (padrão é **Tab** (9)) e o separador de registros (padrão é **retorno do carro** (13)) quando importar ou exportar texto. Para usar um separador diferente, atribua um novo valor à variável do sistema. |
| `Error`, `Error method`, `Error line`, `Error formula` | Text, Longint | Usado em um método de captura de erro instalado pelo comando [`ON ERR CALL`](https://doc.4d.com/4dv20/help/command/en/page155.html). Veja [Tratamento de erros no método](../Concepts/error-handling.md#handling-errors-within-the-method). |
| `MouseDown` | Integer | Usado em um método instalado pelo comando [`ON EVENT CALL`](https://doc.4d.com/4dv20/help/command/en/page190.html). Definir como 1 quando o botão do mouse for pressionado, caso contrário será definido como 0. |
| `MouseX`, `MouseY` | Integer | Usado em um método instalado pelo comando [`ON EVENT CALL`](https://doc.4d.com/4dv20/help/command/en/page190.html). Em um evento `MouseDown=1`, `MouseX` e `MouseY` são respectivamente definidos como coordenadas verticais e horizontais do clique. Ambos os valores são expressos em píxeis e usam o sistema local de coordenadas da janela. No caso de um campo ou de uma variável de imagem, `MouseX` e `MouseY` retornam as coordenadas locais de um mouse clique nos eventos formulário [`On Clicked`](../Events/onClicked.md), [`On Double Clicked`](../Events/onDoubleClicked.md) e [`On Mouse Up`](../Events/onMouseUp.md). As coordenadas locais do cursor do mouse também são retornadas nos eventos formulário [`On Mouse Enter`](../Events/onMouseEnter.md) e [`On Mouse Move`](../Events/onMouseMove.md). Para obter mais informações, consulte as [Coordenadas de Mouse em uma imagem](../FormEditor/pictures.md#mouse-coordinates-in-a-picture). |
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21/API/CollectionClass.md b/i18n/pt/docusaurus-plugin-content-docs/version-21/API/CollectionClass.md
index 3f0cc44d806675..ff4715de39e28f 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-21/API/CollectionClass.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-21/API/CollectionClass.md
@@ -3,7 +3,7 @@ id: CollectionClass
title: Collection
---
-A classe Collection gerencia variáveis do tipo [Collection](Concepts/dt_collection.md).
+The Collection class manages [Collection](Concepts/dt_collection.md) type expressions.
Uma coleção é inicializada com os comandos [`New collection`](../commands/new-collection.md) ou [`New shared collection`](../commands/new-shared-collection.md).
@@ -271,14 +271,14 @@ $c.combine($fruits;3) //[1,2,3,"Orange","Banana","Apple","Grape",4,5,6]
-**.concat**( *value* : any { *;...valueN* } ) : Collection
+**.concat**( *value* : any { ; *...valueN* } ) : Collection
-| Parâmetro | Tipo | | Descrição |
-| ---------- | -------------------------------------------------------------- | :-------------------------: | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| value | Number, Text, Object, Collection, Date, Time, Boolean, Picture | -> | Valores a concatenar. Se *valor* for uma coleção, todos os seus elementos serão adicionados como novos elementos no final da coleção original. |
-| Resultados | Collection | <- | Nova coleção com valores adicionados à coleção original |
+| Parâmetro | Tipo | | Descrição |
+| ---------- | ---------- | :-------------------------: | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| value | any | -> | Valores a concatenar. Se *valor* for uma coleção, todos os seus elementos serão adicionados como novos elementos no final da coleção original. |
+| Resultados | Collection | <- | Nova coleção com valores adicionados à coleção original |
@@ -3195,14 +3195,12 @@ A função `.sort()` classifica os elemen
Se `.sort()` for chamado sem parâmetros, somente os valores escalares (número, texto, data, booleanos) serão classificados. Os elementos são classificados por defeito em ordem ascendente, de acordo com o seu tipo.
You can also pass one of the following constants in the *ascOrDesc* parameter:
- ```
- |Constant| Type|Value|Comment|
- |---|---|---|---|
- |ck ascending|Integer|0|Elements are ordered in ascending order (default)|
- |ck descending|Integer|1|Elements are ordered in descending order|
-
- This syntax orders scalar values in the collection only (other element types such as objects or collections are returned unordered).
- ```
+| Parâmetros | Tipo | Valor | Comentário |
+| ------------- | ------- | ----- | ------------------------------------------------------------------------------ |
+| ck ascending | Integer | 0 | Os elementos são ordenados de forma ascendente (por padrão) |
+| ck descending | Integer | 1 | Os elementos são ordenados de forma descendente |
+
+Essa sintaxe ordena apenas os valores escalares da coleção (outros tipos de elementos como objetos ou coleções são retornados sem ordenar).
Se a coleção conter elementos de tipos diferentes, são primeiro agrupados por tipo e ordenados depois. Se attributePath levar a uma propriedade de objeto que conter valores de diferentes tipos, primeiro se agrupam por tipo e se ordenam depois.
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21/API/WebFormClass.md b/i18n/pt/docusaurus-plugin-content-docs/version-21/API/WebFormClass.md
index 72094b45cc78fb..064b559a834bca 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-21/API/WebFormClass.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-21/API/WebFormClass.md
@@ -3,7 +3,7 @@ id: WebFormClass
title: WebForm
---
-A classe `WebForm` contém funções e propriedades que permitem manipular seus componentes de webforms Qodly. Essa classe está detalhada na [documentação de Qodly](https://developer.qodly.com/docs/language/WebFormClass).
+The `WebForm` class contains functions and properties allowing to handle your Qodly web page components. `4D.WebForm` objects are instantiated with the [`webForm`](../commands/web-form.md) command.
História
@@ -18,14 +18,12 @@ A classe `WebForm` contém funções e propriedades que permitem manipular seus
| |
| ------------------------------------------------------------------------------------------------------------------------------- |
-| [](#componentname)
|
+| [](#componentname)
|
| [](#disablestate)
|
| [](#enablestate)
|
| [](#seterror)
|
| [](#setmessage)
|
| [](#setwarning)
|
-| [](#web-form)
|
-| [](#web-event)
|
### *.componentName*
@@ -33,9 +31,28 @@ A classe `WebForm` contém funções e propriedades que permitem manipular seus
#### Descrição
-Os componentes dos webforms são objetos que estão disponíveis diretamente como propriedades desses webforms.
+The components of web pages are objects that are available directly as properties of these web pages.
-Para mais informações, consulte a descrição [`.componentName` na documentação de Qodly](https://developer.qodly.com/docs/language/WebFormClass#componentname).
+The returned objects are of the [`4D.WebFormItem`](WebFormItemClass.md) class. These objects have functions that you can use to manage your components dynamically.
+
+#### Exemplo
+
+```4d
+shared singleton Class constructor()
+
+ var myForm : 4D.WebForm
+ var component : 4D.WebFormItem
+
+ myForm:=webForm //returns the web page as an object, each property is a component
+ component:=myForm.myImage //returns the myImage component of the web page
+
+```
+
+:::info
+
+While `myForm` may not display typical object properties when examined in the debugger, it behaves as if it were the actual `webForm` object. You can interact with the underlying `webForm` object's properties and functions through `myForm`. For example, you can dynamically manipulate page components or transmit messages to web pages using specialized functions like `myForm.setMessage()`.
+
+:::
### .disableState()
@@ -43,24 +60,24 @@ Para mais informações, consulte a descrição [`.componentName` na documentaç
-| Parâmetro | Tipo | | Descrição |
-| --------- | ------ | :-: | ------------------------------------------------- |
-| state | string | -> | Nome do estado a ser desativado no formulário Web |
+| Parâmetro | Tipo | | Descrição |
+| --------- | ------ | :-: | ------------------------------------------ |
+| state | string | -> | Name of state to disable from the web page |
#### Descrição
-A função `.disableState()` desabilita a renderização da *state* na forma atual da web.
+The `.disableState()` function disables the rendering of the *state* in the current web page.
Essa função não faz nada se:
-- o *estado* não está habilitado no momento no formulário Web,
-- o *estado* não existe para o formulário Web.
+- the *state* is currently not enabled in the web page,
+- the *state* does not exist for the web page.
Se você [enable](#enablestate) ou desativar vários estados na mesma função de usuário, todas as modificações são enviadas em simultâneo, para o cliente quando a função termina.
-Para obter mais informações sobre estados de formulários da Web, consulte [developer.qodly.com](https://developer.qodly.com/docs/studio/pageLoaders/states).
+For more information on web pages states, please refer to the [States section in the Qodly documentation](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/states/stateOverview).
### .enableState()
@@ -68,24 +85,24 @@ Para obter mais informações sobre estados de formulários da Web, consulte [de
-| Parâmetro | Tipo | | Descrição |
-| --------- | ------ | :-: | ---------------------------------------------- |
-| state | string | -> | Nome do estado a ser ativado no formulário Web |
+| Parâmetro | Tipo | | Descrição |
+| --------- | ------ | :-: | ---------------------------------------- |
+| state | string | -> | Name of state to enable on the web pages |
#### Descrição
-A função `.enableState()` ativa a renderização do *state* no formulário da Web atual.
+The `.enableState()` function enables the rendering of the *state* in the current web page.
Essa função não faz nada se:
-- o *estado* já foi ativado no formulário Web,
-- o *estado* não existe para o formulário Web.
+- the *state* has already been enabled on the web page,
+- the *state* does not exist for the web page.
Se você ativar ou [desativar](#disablestate) vários estados dentro da mesma função de usuário, todas as modificações serão enviadas ao mesmo tempo, para o cliente quando a função terminar.
-Para obter mais informações sobre estados de formulários da Web, consulte [developer.qodly.com](https://developer.qodly.com/docs/studio/pageLoaders/states).
+For more information on web page states, please refer to the [States section in the Qodly documentation](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/states/stateOverview).
#### Exemplo
@@ -104,17 +121,34 @@ Function authenticationError()
-| Parâmetro | Tipo | | Descrição |
-| --------- | ------ | :-: | ------------------------------------------------ |
-| msg | string | -> | Mensagem de erro a ser exibida no formulário Web |
+| Parâmetro | Tipo | | Descrição |
+| --------- | ------ | :-: | ---------------------------------------- |
+| msg | string | -> | Error message to display in the web page |
#### Descrição
-A função `.setError()` envia *msg* como uma mensagem de erro para o formulário web.
+The `.setError()` function sends *msg* as an error message to the web page.
+
+The function returns a response with a `200 OK` status and a `__WEBFORM` object in the body with a `__NOTIFICATION.message` property set to *msg* and a `__NOTIFICATION.type` set to "error".
+
+#### Exemplo
+
+```4d
+shared singleton Class constructor()
+exposed function myError()
+
+var myForm : 4D.WebForm
+myForm:=web Form
+
+myForm.setError("My error message")
+
+```
+
+If the [**Provide feedback**](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/events/bindingActionToEvents#providing-feedback) feature is enabled for the event, the *message* is automatically displayed as a red *toast* at the bottom of the Page and disappears automatically after 5 seconds:
-Para mais informações, consulte a descrição [`.setError()` na documentação Qodly](https://developer.qodly.com/docs/language/WebFormClass#seterror).
+
### .setMessage()
@@ -122,68 +156,72 @@ Para mais informações, consulte a descrição [`.setError()` na documentação
-| Parâmetro | Tipo | | Descrição |
-| --------- | ------ | :-: | ---------------------------------------------------- |
-| msg | string | -> | Mensagem informativa a ser exibida no formulário Web |
+| Parâmetro | Tipo | | Descrição |
+| --------- | ------ | :-: | ---------------------------------------------- |
+| msg | string | -> | Information message to display in the web page |
#### Descrição
-A função `.setMessage()` envia *msg* como uma mensagem de informação para o formulário da Web.
+The `.setMessage()` function sends *msg* as an information message to the web page.
-Para mais informações, consulte a descrição [`.setMessage()` na documentação Qodly](https://developer.qodly.com/docs/language/WebFormClass#setmessage).
+The function returns a response with a `200 OK` status and a `__WEBFORM` object in the body with a `__NOTIFICATION.message` property set to *msg* and a `__NOTIFICATION.type` set to "message".
-### .setWarning()
-
-**.setWarning**( *msg* : string)
+#### Exemplo
-
+```4d
+shared singleton Class constructor()
+exposed function myMessage()
-| Parâmetro | Tipo | | Descrição |
-| --------- | ------ | :-: | ------------------------------------------------- |
-| msg | string | -> | Mensagem de aviso a ser exibida no formulário Web |
+var myForm : 4D.WebForm
+myForm:=web Form
-
+myForm.setMessage("My information message")
-#### Descrição
+```
-A função `.setWarning()` envia *msg* como uma mensagem de aviso para o formulário web.
+If the [**Provide feedback**](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/events/bindingActionToEvents#providing-feedback) feature is enabled for the event, the *message* is automatically displayed as a green *toast* at the bottom of the Page and disappears automatically after 5 seconds:
-Para mais informações, consulte a descrição [`.setWarning()` na documentação Qodly](https://developer.qodly.com/docs/language/WebFormClass#setwarning).
+
-## Web Form
+### .setWarning()
-**Web Form** : 4D.WebForm
+**.setWarning**( *msg* : string)
-
+
-| Parâmetro | Tipo | | Descrição |
-| ---------- | -------------------------- | :-------------------------: | --------------------------- |
-| Resultados | 4D.WebForm | <- | Novo objeto proxy `WebForm` |
+| Parâmetro | Tipo | | Descrição |
+| --------- | ------ | :-: | ------------------------------------------ |
+| msg | string | -> | Warning message to display in the web page |
#### Descrição
-O comando `Web Form` retorna um `4D. Objeto proxy ebForm` que permite a você interagir com o formulário web .
+The `.setWarning()` function sends *msg* as a warning message to the web page.
+
+The function returns a response with a `200 OK` status and a `__WEBFORM` object in the body with a `__NOTIFICATION.message` property set to *msg* and a `__NOTIFICATION.type` set to "warning".
-Para obter mais informações, consulte a [descrição do comando `webForm` na documentação de Qodly](https://developer.qodly.com/docs/language/WebFormClass#webform).
+#### Exemplo
-## Web Event
+```4d
+shared singleton Class constructor()
+exposed function myWarning()
-**Web Event** : Object
+var myForm : 4D.WebForm
+myForm:=web Form
-
+myForm.setWarning("My warning message")
-| Parâmetro | Tipo | | Descrição |
-| ---------- | ------ | :-------------------------: | --------- |
-| Resultados | object | <- | object |
+```
-
+If the [**Provide feedback**](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/events/bindingActionToEvents#providing-feedback) feature is enabled for the event, the *message* is automatically displayed as a yellow *toast* at the bottom of the web page and disappears automatically after 5 seconds:
-#### Descrição
+
-O comando `Web Event` retorna um objeto com informações sobre um evento acionado vinculado a um componente de formulário da Web.
+## Veja também
-Para obter mais informações, consulte a [descrição do comando `webEvent` na documentação de Qodly](https://developer.qodly.com/docs/language/WebFormClass#webevent).
+[Web Form](../commands/web-form.md)
+[Web Event](../commands/web-event.md)
+[WebFormItem class](../API/WebFormItemClass.md)
\ No newline at end of file
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21/API/WebFormItemClass.md b/i18n/pt/docusaurus-plugin-content-docs/version-21/API/WebFormItemClass.md
index a1058250ccbe84..4100e1bf54762e 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-21/API/WebFormItemClass.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-21/API/WebFormItemClass.md
@@ -3,9 +3,13 @@ id: WebFormItemClass
title: WebFormItem
---
-Os objetos `4D.WebFormItem` são propriedades do objeto [`4D.WebForm`](WebFormItemClass.md) retornado pelo comando [`Web Form`](WebFormClass.md#web-form).
+The `4D.WebFormItem` class allows you to handle the behavior of your Qodly webform components.
-A classe `WebFormItem` é detalhada na [documentação Qodly](https://developer.qodly.com/docs/language/WebFormItemClass).
+Os objetos `4D.WebFormItem` são propriedades do objeto [`4D.WebForm`](WebFormClass.md) retornado pelo comando [`Web Form`](../commands/web-form.md).
+
+When you call the [`Web Form`](../commands/web-form.md) command, the returned `4D.WebForm` proxy object holds as many `4D.WebFormItems` as there are components with [**server-side references**](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/pageLoaderOverview#server-side) in your webform.
+
+For example, `WebFormObject.myImage` refers to the image component with `myImage` as server reference.
História
@@ -24,29 +28,27 @@ A classe `WebFormItem` é detalhada na [documentação Qodly](https://developer.
| [](#removecssclass)
|
| [](#show)
|
-### .hide()
+### .addCSSClass()
-**.hide**()
+**.addCSSClass**(*className* : string)
-
+
-| Parâmetro | Tipo | | Descrição |
-| --------- | ---- | :-: | -------------------------- |
-| | | | Não exige nenhum parâmetro |
+| Parâmetro | Tipo | | Descrição |
+| --------- | ------ | :-: | ------------------------------------------------- |
+| className | string | -> | Nome da classe CSS a ser adicionada ao componente |
#### Descrição
-A função `.hide()` oculta o component.
-
-Para mais informações, consulte a descrição [`.hide()` na documentação Qodly](https://developer.qodly.com/docs/language/WebFormItemClass#hide).
+A função `.addCSSClass` adiciona a classe especificada no *className* ao component.
-### .show()
+### .hide()
-**.show**()
+**.hide**()
-
+
| Parâmetro | Tipo | | Descrição |
| --------- | ---- | :-: | -------------------------- |
@@ -56,27 +58,27 @@ Para mais informações, consulte a descrição [`.hide()` na documentação Qod
#### Descrição
-A função `.show()` torna o componente visível.
-
-Para mais informações, consulte a descrição [`.show()` na documentação Qodly](https://developer.qodly.com/docs/language/WebFormItemClass#show).
-
-### .addCSSClass()
-
-**.addCSSClass**(*className* : string)
+A função `.hide()` oculta o component.
-
+#### Exemplo
-| Parâmetro | Tipo | | Descrição |
-| --------- | ------ | :-: | ------------------------------------------------- |
-| className | string | -> | Nome da classe CSS a ser adicionada ao componente |
+To call a function that hides an image when the user clicks a button:
-
+1. Create an [exposed](../ORDA/ordaClasses.md#exposed-vs-non-exposed-functions) function inside a shared singleton class named `isHidden` that contains the following code:
-#### Descrição
+```4d
-A função `.addCSSClass` adiciona a classe especificada no *className* ao component.
+shared singleton Class constructor()
+exposed Function isHidden()
+ var myComponent : 4D.WebFormItem
+
+ myComponent:=Web Form.myImage
+ myComponent.hide() // Hide the component that has "myImage" as server reference
+```
-Para mais informações, consulte a descrição [`.addCSSClass` na documentação Qodly](https://developer.qodly.com/docs/language/WebFormItemClass#addcssclass).
+2. In Qodly Studio: Select the image component on the canvas, and enter a server-side reference in the Properties Panel > Server Side, for example "myImage".
+3. Select the Button component and add an `onclick` event to it.
+4. Attach the `isHidden` function to the event.
### .removeCSSClass()
@@ -94,7 +96,27 @@ Para mais informações, consulte a descrição [`.addCSSClass` na documentaçã
A função `.removeCSSClass()` remove a classe especificada em *className* do componente.
-Para mais informações, consulte a descrição [`.removeCSSClass()` na documentação Qodly](https://developer.qodly.com/docs/language/WebFormItemClass#removecssclass).
+### .show()
+
+**.show**()
+
+
+
+| Parâmetro | Tipo | | Descrição |
+| --------- | ---- | :-: | -------------------------- |
+| | | | Não exige nenhum parâmetro |
+
+
+
+#### Descrição
+
+The `.show()` function makes the component visible.If the component was already visible, the function does nothing.
+
+## Veja também
+
+[Web Form](../commands/web-form.md)
+[Web Event](../commands/web-event.md)
+[WebForm class](WebFormClass.md)
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21/Concepts/dt_number.md b/i18n/pt/docusaurus-plugin-content-docs/version-21/Concepts/dt_number.md
index 1354f72e062cca..5b74e9eab803dd 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-21/Concepts/dt_number.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-21/Concepts/dt_number.md
@@ -79,9 +79,9 @@ O operador do módulo % devolve valores significativos com números que se encon
:::
-### Divisão inteira
+### Integer division
-O operador da divisão de longint retorna valores significativos apenas com números inteiros.
+The integer division operator divides one number by another and returns the whole number part of the result, discarding any remainder. `a\b` is equivalent to `Int(a/b)`. This operator returns significant values with integer numbers only.
### Comparação real
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21/Concepts/quick-tour.md b/i18n/pt/docusaurus-plugin-content-docs/version-21/Concepts/quick-tour.md
index 82cb4ce8cbfd67..dbfff1d33ccd2f 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-21/Concepts/quick-tour.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-21/Concepts/quick-tour.md
@@ -306,7 +306,7 @@ Refere-se a uma expressão pelo tipo de dados que devolve. Existem vários tipos
| Col[5] | Elemento de colecção | Um elemento de coleção é uma expressão que pode ser de qualquer tipo suportado |
| $entitySel[0] | Entity | Um elemento de uma seleção de entidade ORDA é uma expressão do tipo entidade. Este tipo de expresión es **no asignable** |
-### Expressões atribuíveis vs expressões não atribuíveis
+### Assignable vs non-assignable expressions {#assignable-vs-non-assignable-expressions}
Uma expressão pode ser simplesmente uma constante literal, como o número 4 ou a string "Hello", ou uma variável como `$myButton`. Também pode utilizar operadores. Por exemplo, 4 + 2 é uma expressão que utiliza o operador de adição para somar dois números e devolver o resultado 6. Em qualquer dos casos, estas expressões são **não atribuíveis**, o que significa que não lhes pode ser atribuído um valor.
Em 4D, as expressões podem ser **atribuíveis**. Uma expressão é atribuível quando pode ser utilizada no lado esquerdo de uma atribuição. Por exemplo:
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21/Concepts/variables.md b/i18n/pt/docusaurus-plugin-content-docs/version-21/Concepts/variables.md
index 9ffc9beea3d801..cf29a5c758909a 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-21/Concepts/variables.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-21/Concepts/variables.md
@@ -250,17 +250,18 @@ A linguagem 4D gerencia diversas **variáveis sistema**, que permitem controlar
As variáveis do sistema são usadas pelos [comandos 4D](../commands/command-index.md). Refer to the "System variables and sets" paragraph in the description of a command to find out whether it affects a system variable.
-| Nome da variável sistema | Tipo | Descrição |
-| ------------------------------------------------------ | ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `OK` | Integer | Geralmente definido como 1 após um comando ter exibido uma caixa de diálogo e o usuário clicou no botão **OK** e em 0 se eles clicarem em **Cancelar**. Some commands also modify the value of the `OK` system variable when a operation is successfully executed. |
-| `Document` | Text | Contém o "nome longo" (caminho completo) do último arquivo aberto ou criado usando comandos como [Documento aberto](../commands-legacy/open-document.md) ou [ARQUIVO ARQUIVO](../commands/select-log-file.md). |
-| `FldDelimit`, `RecDelimit` | Text | Contém os códigos de caracteres que serão usados respectivamente como um separador de campos (padrão é Tab (9)) e o separador de registros (padrão é retorno do carro (13)) quando importar ou exportar texto. Para usar um separador diferente, atribua um novo valor à variável do sistema. |
-| `Error`, `Error method`, `Error line`, `Error formula` | Text, Longint | Usado em um método de captura de erro instalado pelo comando [`ON ERR CALL`](../commands-legacy/on-err-call.md). Veja [Tratamento de erros no método](../Concepts/error-handling.md#handling-errors-within-the-method). |
-| `MouseDown` | Integer | Usado em um método instalado pelo comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Definir como 1 quando o botão do mouse for pressionado, caso contrário será definido como 0. |
-| `MouseX`, `MouseY` | Integer | Usado em um método instalado pelo comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Em um evento `MouseDown=1`, `MouseX` e `MouseY` são respectivamente definidos como coordenadas verticais e horizontais do clique. Ambos os valores são expressos em píxeis e usam o sistema local de coordenadas da janela. No caso de um campo ou de uma variável de imagem, `MouseX` e `MouseY` retornam as coordenadas locais de um mouse clique nos eventos formulário [`On Clicked`](../Events/onClicked.md), [`On Double Clicked`](../Events/onDoubleClicked.md) e [`On Mouse Up`](../Events/onMouseUp.md). As coordenadas locais do cursor do mouse também são retornadas nos eventos formulário [`On Mouse Enter`](../Events/onMouseEnter.md) e [`On Mouse Move`](../Events/onMouseMove.md). Para obter mais informações, consulte as [Coordenadas de Mouse em uma imagem](../FormEditor/pictures.md#mouse-coordinates-in-a-picture). |
-| `KeyCode` | Integer | Usado em um método instalado pelo comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Definido como o código de caractere da tecla que acabou de ser pressionada. Se a chave for uma chave de função, `KeyCode` é definido como um código especial. |
-| `Modifiers` | Integer | Usado em um método instalado pelo comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Definir para as teclas modificadoras do teclado (Ctrl/Comando, Alt/Option, Shift, Caps Lock). |
-| `MouseProc` | Integer | Usado em um método instalado pelo comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Defina o número do processo em que o último evento teve lugar |
+| Nome da variável sistema | Tipo | Descrição |
+| ------------------------------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `OK` | Integer | Geralmente definido como 1 após um comando ter exibido uma caixa de diálogo e o usuário clicou no botão **OK** e em 0 se eles clicarem em **Cancelar**. Some commands also modify the value of the `OK` system variable when a operation is successfully executed. |
+| `Document` | Text | Contém o "nome longo" (caminho completo) do último arquivo aberto ou criado usando comandos como [Documento aberto](../commands-legacy/open-document.md) ou [ARQUIVO ARQUIVO](../commands/select-log-file.md). |
+| `FldDelimit`, `RecDelimit` | Integer | Contém os códigos de caracteres que serão usados respectivamente como um separador de campos (padrão é Tab (9)) e o separador de registros (padrão é retorno do carro (13)) quando importar ou exportar texto. Para usar um separador diferente, atribua um novo valor à variável do sistema. |
+| `Error`, `Error line` | Integer | Usado em um método de captura de erro instalado pelo comando [`ON ERR CALL`](../commands-legacy/on-err-call.md). Veja [Tratamento de erros no método](../Concepts/error-handling.md#handling-errors-within-the-method). |
+| `Error method`, `Error formula` | Text | Usado em um método de captura de erro instalado pelo comando [`ON ERR CALL`](../commands-legacy/on-err-call.md). Veja [Tratamento de erros no método](../Concepts/error-handling.md#handling-errors-within-the-method). |
+| `MouseDown` | Integer | Usado em um método instalado pelo comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Definir como 1 quando o botão do mouse for pressionado, caso contrário será definido como 0. |
+| `MouseX`, `MouseY` | Integer | Usado em um método instalado pelo comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Em um evento `MouseDown=1`, `MouseX` e `MouseY` são respectivamente definidos como coordenadas verticais e horizontais do clique. Ambos os valores são expressos em píxeis e usam o sistema local de coordenadas da janela. No caso de um campo ou de uma variável de imagem, `MouseX` e `MouseY` retornam as coordenadas locais de um mouse clique nos eventos formulário [`On Clicked`](../Events/onClicked.md), [`On Double Clicked`](../Events/onDoubleClicked.md) e [`On Mouse Up`](../Events/onMouseUp.md). As coordenadas locais do cursor do mouse também são retornadas nos eventos formulário [`On Mouse Enter`](../Events/onMouseEnter.md) e [`On Mouse Move`](../Events/onMouseMove.md). Para obter mais informações, consulte as [Coordenadas de Mouse em uma imagem](../FormEditor/pictures.md#mouse-coordinates-in-a-picture). |
+| `KeyCode` | Integer | Usado em um método instalado pelo comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Definido como o código de caractere da tecla que acabou de ser pressionada. Se a chave for uma chave de função, `KeyCode` é definido como um código especial. |
+| `Modifiers` | Integer | Usado em um método instalado pelo comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Definir para as teclas modificadoras do teclado (Ctrl/Comando, Alt/Option, Shift, Caps Lock). |
+| `MouseProc` | Integer | Usado em um método instalado pelo comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Defina o número do processo em que o último evento teve lugar |
:::note
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21/FormEditor/forms.md b/i18n/pt/docusaurus-plugin-content-docs/version-21/FormEditor/forms.md
index e0f5a4167e9998..a8f2ebed15c8d0 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-21/FormEditor/forms.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-21/FormEditor/forms.md
@@ -112,9 +112,9 @@ Fluent UI support is currently in the Developer Preview phase. Não deve ser usa
:::
-:::info macOS
+:::info Disponibilidade
-This feature can only be used on Windows. On macOS, it is ignored.
+This feature can be used **in 4D projects on Windows**. It is not available on macOS or in binary 4D databases on Windows.
:::
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21/FormObjects/webArea_overview.md b/i18n/pt/docusaurus-plugin-content-docs/version-21/FormObjects/webArea_overview.md
index cf628197f3b95b..a4de35f798af6b 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-21/FormObjects/webArea_overview.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-21/FormObjects/webArea_overview.md
@@ -24,7 +24,7 @@ Duas variáveis específicas podem ser associadas a cada área web:
- [`URL`](properties_WebArea.md#url) -- para controlar a URL exibida pela área Web
- [`Progression`](properties_WebArea.md#progression) -- para controlar a porcentagem de carregamento da página exibida na área Web.
-> A partir do 4D v19 R5, a variável Progression não é mais atualizada em Web Areas usando o [mecanismo de renderização do sistema Windows](./webArea_overview.md#web-rendering-engine).
+> As of 4D 19 R5, the Progression variable is no longer updated in Web Areas using the [Windows system rendering engine](./webArea_overview.md#web-rendering-engine).
### Motor de renderização Web
@@ -338,9 +338,11 @@ O arquivo 4DCEFParameters.json padrão contém os seguintes botões:
}
```
-### Veja também
+:::info Related blog post
-[Especifique seus próprios parâmetros para inicializar a área Web incorporada (postagem no blog)](https://blog.4d.com/specify-your-own-parameters-to-initialize-the-embedded-web-area)
+[Custom Parameters for Initializing Embedded Web Area](https://blog.4d.com/custom-parameters-for-initializing-embedded-web-area/)
+
+:::
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21/Notes/updates.md b/i18n/pt/docusaurus-plugin-content-docs/version-21/Notes/updates.md
index 7e4e7c23aa2954..926d07e92f6642 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-21/Notes/updates.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-21/Notes/updates.md
@@ -28,6 +28,7 @@ Leia [**O que há de novo no 4D 21**](https://blog.4d.com/en-whats-new-in-4d-21/
- New "trim" commands to remove leading and trailing spaces from a string: [`Trim`](../commands/trim.md), [`Trim start`](../commands/trim-start.md), and [`Trim end`](../commands/trim-end.md).
- [`Num`](../commands/num.md) and [`String`](../commands/string.md) commands have been updated to support conversions in different bases (radix).
- [**Fixed bug list**](https://bugs.4d.fr/fixedbugslist?version=21): list of all bugs that have been fixed in 4D 21.
+- [**4D Qodly Pro Release notes**](https://developer.4d.com/qodly/4DQodlyPro/release-notes): what's new in Qodly Studio.
#### Prévia do desenvolvedor
@@ -41,7 +42,7 @@ Leia [**O que há de novo no 4D 21**](https://blog.4d.com/en-whats-new-in-4d-21/
:::
-- Web services (SOAP): when [scalable sessions](../WebServer/sessions.md#enabling-web-sessions) are enabled, web services now run in [**preemptive processes**](../Develop/preemptive.md) in compiled mode. Make sure your SOAP code is thread-safe.
+- Web services (SOAP): when [scalable sessions](../WebServer/sessions.md#enabling-web-sessions) are enabled, web services now run in [**preemptive processes**](../Develop/preemptive.md) in compiled mode. Make sure that your SOAP code is thread-safe and that the session in which it runs has appropriate [privileges](../API/SessionClass.md#setprivileges).
- Web server: the support of deprecated `4DSYNC/` and `4DCGI/` URLs is removed. No specific processing is done on these URLs anymore.
- Web user sessions are now returned by [`Process activity`](../commands/process-activity.md).
- The [`HIGHLIGHT TEXT`](../commands/highlight-text) command is now supported in the context of subforms.
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21/ORDA/orda-events.md b/i18n/pt/docusaurus-plugin-content-docs/version-21/ORDA/orda-events.md
index d95347972ed07a..05cea3c51f7f7a 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-21/ORDA/orda-events.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-21/ORDA/orda-events.md
@@ -24,7 +24,7 @@ You cannot directly trigger event function execution. Events are called automati
:::info Compatibility note
-ORDA entity events in the datastore are equivalent to triggers in the 4D database. However, actions triggered at the 4D database level using the 4D classic language commands or standard actions do not trigger ORDA events.
+ORDA entity events in the datastore are equivalent to triggers in the 4D database. However, actions triggered at the 4D database level using the 4D classic language commands or standard actions do not trigger ORDA events. Note also that, unlike triggers, ORDA entity events do not lock the entire underlying table of a dataclass while saving or dropping entities. Several events can run in parallel as long as they involve distinct entities (i.e. records).
:::
@@ -420,7 +420,9 @@ If (This.userManualPath#"")
// The user manual document file is created on the disk
// This may fail if no more space is available
Try
- $fileCreated:=$userManualFile.create()
+ // The file content has been generated and stored in a map in Storage.docMap previously
+ $docInfo:=Storage.docMap.query("name = :1"; This.name).first()
+ $userManualFile.setContent($docInfo.content)
Catch
// No more room on disk for example
$result:={/
@@ -434,6 +436,12 @@ return $result
```
+:::note
+
+The content of the file is generated outside the `saving` event because it can be time consuming.
+
+:::
+
### `Function event afterSave`
#### Sintaxe
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21/REST/authUsers.md b/i18n/pt/docusaurus-plugin-content-docs/version-21/REST/authUsers.md
index f552e7d35b35e5..eea1c476f49d46 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-21/REST/authUsers.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-21/REST/authUsers.md
@@ -18,7 +18,7 @@ Uma sessão é aberta depois que o usuário é autenticado com sucesso (veja aba
:::note Compatibidade
-O modo de login legado baseado no método de banco de dados `On REST Authentication` é **obsoleto** a partir de 4D 20 R6. Agora é recomendado [usar o **modo de login forçado**](../ORDA/privileges.md#rolesjson-file) (automaticamente habilitado em novos projetos) e implementar a [função `ds.authentify()`](#function-authentify). Em projetos convertidos, [um botão na caixa de diálogo Configurações](../settings/web.md#activate-rest-authentication-through-dsauthentify-function) o ajudará a atualizar sua configuração. No Qodly Studio para 4D, o modo pode ser definido usando a opção [**Forçar login**](../WebServer/qodly-studio.md#force-login) no painel de Privilégios.
+O modo de login legado baseado no método de banco de dados `On REST Authentication` é **obsoleto** a partir de 4D 20 R6. Agora é recomendado [usar o **modo de login forçado**](../ORDA/privileges.md#rolesjson-file) (automaticamente habilitado em novos projetos) e implementar a [função `ds.authentify()`](#function-authentify). Em projetos convertidos, [um botão na caixa de diálogo Configurações](../settings/web.md#activate-rest-authentication-through-dsauthentify-function) o ajudará a atualizar sua configuração. No Qodly Studio para 4D, o modo pode ser definido usando a opção [**Forçar login**](https://developer.4d.com/qodly/4DQodlyPro/force-login) no painel de Privilégios.
:::
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21/WebServer/sessions.md b/i18n/pt/docusaurus-plugin-content-docs/version-21/WebServer/sessions.md
index 1a02e189b920b6..09fd59389d4d97 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-21/WebServer/sessions.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-21/WebServer/sessions.md
@@ -25,7 +25,7 @@ As sessões Web são usadas para:
- [Web applications](gettingStarted.md) sending http requests (including [SOAP Web services](../commands/theme/Web_Services_Server.md) and [/4DACTION](../WebServer/httpRequests.md#4daction) requests),
- calls to the [REST API](../REST/authUsers.md), which are used by [remote datastores](../ORDA/remoteDatastores.md) and [Qodly forms](qodly-studio.md).
-## Activando sessões web
+## Enabling web sessions {#enabling-web-sessions}
A funcionalidade de gerenciamento de sessão pode ser ativado e desativado no seu servidor web 4D. Existem diferentes formas de ativar a gestão de sessões:
@@ -201,7 +201,7 @@ Else
End if
```
-:::tips Related blog posts
+:::tip Related blog posts
[Scalable sessions for advanced web applications](https://blog.4d.com/scalable-sessions-for-advanced-web-applications/)
@@ -213,7 +213,7 @@ The 4D web server allows you to generate, share, and use OTP (One-Time Passcode)
In 4D, OTP session tokens are useful when calling external URLs and being called back in another browser or device (mobile/computer). Typically, a third-party application sends a confirmation email containing a callback link on which the user has to click. The callback link includes the OTP token, so that the session which triggered the callback is loaded along with its data and privileges. This principle allows you to share the same session on multiple devices. Graças a esta arquitetura, o [cookie de sessão](#session-implementation) não está exposto na rede, o que elimina o risco de ataque do homem-meio.
-:::tips Related blog posts
+:::tip Related blog posts
[Connect Your Web Apps to Third-Party Systems](https://blog.4d.com/connect-your-web-apps-to-third-party-systems/)
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21/assets/en/API/webformClass-pic1.png b/i18n/pt/docusaurus-plugin-content-docs/version-21/assets/en/API/webformClass-pic1.png
new file mode 100644
index 00000000000000..5c3de142c5af11
Binary files /dev/null and b/i18n/pt/docusaurus-plugin-content-docs/version-21/assets/en/API/webformClass-pic1.png differ
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21/assets/en/API/webformClass-pic2.png b/i18n/pt/docusaurus-plugin-content-docs/version-21/assets/en/API/webformClass-pic2.png
new file mode 100644
index 00000000000000..7f1ec3a19a8764
Binary files /dev/null and b/i18n/pt/docusaurus-plugin-content-docs/version-21/assets/en/API/webformClass-pic2.png differ
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21/assets/en/API/webformClass-pic3.png b/i18n/pt/docusaurus-plugin-content-docs/version-21/assets/en/API/webformClass-pic3.png
new file mode 100644
index 00000000000000..9c128642916f95
Binary files /dev/null and b/i18n/pt/docusaurus-plugin-content-docs/version-21/assets/en/API/webformClass-pic3.png differ
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21/assets/en/commands/web-event1.png b/i18n/pt/docusaurus-plugin-content-docs/version-21/assets/en/commands/web-event1.png
new file mode 100644
index 00000000000000..f31f769f39a37d
Binary files /dev/null and b/i18n/pt/docusaurus-plugin-content-docs/version-21/assets/en/commands/web-event1.png differ
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21/assets/en/commands/web-event2.png b/i18n/pt/docusaurus-plugin-content-docs/version-21/assets/en/commands/web-event2.png
new file mode 100644
index 00000000000000..8e3e2e7c50ca69
Binary files /dev/null and b/i18n/pt/docusaurus-plugin-content-docs/version-21/assets/en/commands/web-event2.png differ
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21/assets/en/commands/web-event3.png b/i18n/pt/docusaurus-plugin-content-docs/version-21/assets/en/commands/web-event3.png
new file mode 100644
index 00000000000000..d7182a677d75a3
Binary files /dev/null and b/i18n/pt/docusaurus-plugin-content-docs/version-21/assets/en/commands/web-event3.png differ
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21/assets/en/commands/web-event4.png b/i18n/pt/docusaurus-plugin-content-docs/version-21/assets/en/commands/web-event4.png
new file mode 100644
index 00000000000000..3dee994804d176
Binary files /dev/null and b/i18n/pt/docusaurus-plugin-content-docs/version-21/assets/en/commands/web-event4.png differ
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21/commands/command-index.md b/i18n/pt/docusaurus-plugin-content-docs/version-21/commands/command-index.md
index 74a0d9e98d38e4..09fd01c7c3101f 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-21/commands/command-index.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-21/commands/command-index.md
@@ -1288,6 +1288,8 @@ title: Commands by name
[`WA STOP LOADING URL`](../commands-legacy/wa-stop-loading-url.md)
[`WA ZOOM IN`](../commands-legacy/wa-zoom-in.md)
[`WA ZOOM OUT`](../commands-legacy/wa-zoom-out.md)
+[`Web Event`](web-event.md)
+[`Web Form`](web-form.md)
[`WEB GET BODY PART`](../commands-legacy/web-get-body-part.md)
[`WEB Get body part count`](../commands-legacy/web-get-body-part-count.md)
[`WEB Get current session ID`](../commands-legacy/web-get-current-session-id.md)
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21/commands/theme/Web_Server.md b/i18n/pt/docusaurus-plugin-content-docs/version-21/commands/theme/Web_Server.md
index 9a392d36ecc364..3a6f378477ddc9 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-21/commands/theme/Web_Server.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-21/commands/theme/Web_Server.md
@@ -7,6 +7,8 @@ slug: /commands/theme/Web-Server
| |
| --------------------------------------------------------------------------------------------------------------------------------------- |
+| [](../../commands/web-event.md)
|
+| [](../../commands/web-form.md)
|
| [](../../commands-legacy/web-get-body-part.md)
|
| [](../../commands-legacy/web-get-body-part-count.md)
|
| [](../../commands-legacy/web-get-current-session-id.md)
|
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21/commands/web-event.md b/i18n/pt/docusaurus-plugin-content-docs/version-21/commands/web-event.md
new file mode 100644
index 00000000000000..6ae7c0b8030981
--- /dev/null
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-21/commands/web-event.md
@@ -0,0 +1,97 @@
+---
+id: web-event
+title: Web Event
+displayed_sidebar: docs
+---
+
+**Web Event** : object
+
+
+
+| Parâmetro | Tipo | | Descrição |
+| ---------- | ------ | :-------------------------: | ---------------------------------- |
+| Resultados | Object | ← | Information on the triggered event |
+
+
+
+## Descrição
+
+`Web Event` returns an object with information on a triggered event linked to a web page component.
+
+The command must be called in the context of a web page handled by the 4D web server.
+
+**Resultado**
+
+O objeto retornado contém as propriedades abaixo:
+
+| Propriedade | | Tipo | Descrição |
+| ----------- | ----- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| caller | | string | [Server-side reference](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/pageLoaderOverview#data-access-category) of the component triggering the event |
+| eventType | | string | Type of event:onbluronfocusonclickonauxclickonmouseenteronmouseleaveonkeyuponkeydownonchangeunloadonload - triggered when the `Page` loads |
+| data | | object | Additional information depending on the involved component |
+| | index | number | Tabs component: index of the tab (indexing starts at 0)Data Table component: column number |
+| | row | number | Data Table component: row number |
+| | name | string | Data Table component: qodlysource name of the column (e.g. "firstname", "address.city") |
+
+#### Exemplo
+
+The objective is to display/hide a help text when the user hovers over the component:
+
+
+
+This is done by attaching `onmouseenter` and `onmouseleave` events to a **Text input** component that displays the information stored in a **Text** component (displaying "This is the help text").
+
+
+
+In this scenario:
+
+- The Text input component has `orderNumber` as Server side reference.
+ 
+- The Text component has `helpOn_orderNumber` as Server side reference.
+ 
+- The [exposed](../ORDA/ordaClasses.md#exposed-vs-non-exposed-functions) function `help()` is attached to both the `onmouseenter` and `onmouseleave` events and contains the following code:
+
+```4d
+shared singleton Class constructor()
+exposed Function help()
+
+ var event : Object
+ var myForm : 4D.WebForm
+ var componentRef : Text
+
+ myForm:=web Form
+ event:=web Event
+ componentRef:=event.caller
+
+ Case of
+ : (event.eventType="onmouseenter") // event is onmouseenter
+ myForm["helpOn_"+componentRef].show() // show the help on "orderNumber" by showing
+ // the text component with reference "helpOn_orderNumber"
+ : (event.eventType="onmouseleave") // event is onmouseleave
+ myForm["helpOn_"+componentRef].hide() // hide the help on orderNumber
+
+ End case
+
+```
+
+To open the web page with the help on `orderNumber` hidden, you can associate this function to the `onload` event of the web page:
+
+```4d
+exposed function hideOnLoad()
+ webForm.helpOn_orderNumber.hide()
+
+```
+
+## Veja também
+
+[Web Form](web-form.md)
+[WebForm class](../API/WebFormClass.md)
+[WebFormItem class](../API/WebFormItemClass.md)
+
+## Propriedades
+
+| | |
+| ----------------- | --------------------------- |
+| Número de comando | 1734 |
+| Thread safe | ✗ |
+
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21/commands/web-form.md b/i18n/pt/docusaurus-plugin-content-docs/version-21/commands/web-form.md
new file mode 100644
index 00000000000000..a23b722ea5ab4d
--- /dev/null
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-21/commands/web-form.md
@@ -0,0 +1,46 @@
+---
+id: web-form
+title: Web Form
+displayed_sidebar: docs
+---
+
+**Web Form** : 4D.WebForm
+
+
+
+| Parâmetro | Tipo | | Descrição |
+| ---------- | -------------------------- | :-------------------------: | --------------------------- |
+| Resultados | 4D.WebForm | ← | New `Web Form` proxy object |
+
+
+
+## Descrição
+
+The `Web Form` command returns a `4D.WebForm` proxy object, providing a means to work with and effectively emulates the Page's properties and functions.
+
+:::info
+
+Keep in mind that a `4D.WebForm` object is a **proxy object**, and not a direct reference to the web form object itself. As a consequence for example, the `4D.WebForm` object does not expose all Page properties in the Debugger.
+
+:::
+
+Each property of the returned object is an object of the [4D.WebFormItem](../API/WebFormItemClass.md) class.
+
+The command returns `null` if it is called in a request that does not originate from Qodly Studio.
+
+## Veja também
+
+[Web Event](web-event.md)
+[WebForm class](../API/WebFormClass.md)
+[WebFormItem class](../API/WebFormItemClass.md)
+
+## Propriedades
+
+| | |
+| ----------------- | --------------------------- |
+| Número de comando | 1735 |
+| Thread safe | ✗ |
+
+
+
+
diff --git a/sidebars.js b/sidebars.js
index 64eb809969137c..8d495945d7a13b 100644
--- a/sidebars.js
+++ b/sidebars.js
@@ -49,6 +49,7 @@ module.exports =
"Project/code-overview",
"code-editor/write-class-method",
"Project/project-method-properties",
+ "Project/search-replace",
"Project/documentation"
]
},
@@ -2022,6 +2023,8 @@ module.exports =
"id": "commands/theme/Web_Server_theme"
},
"items": [
+ "commands/web-event",
+ "commands/web-form",
"commands-legacy/web-get-body-part",
"commands-legacy/web-get-body-part-count",
"commands-legacy/web-get-current-session-id",
@@ -3215,6 +3218,7 @@ module.exports =
]
},
"WritePro/commands-legacy/4d-write-pro-attributes",
+ "WritePro/user-legacy/standard-actions",
{
type: "category",
label: "Commands",
@@ -3349,6 +3353,14 @@ module.exports =
"aikit/Classes/openaiembeddingsparameters",
"aikit/Classes/openaiembeddingsresult",
"aikit/Classes/openaierror",
+ "aikit/Classes/openaifile",
+ "aikit/Classes/openaifiledeleted",
+ "aikit/Classes/openaifiledeletedresult",
+ "aikit/Classes/openaifilelistparameters",
+ "aikit/Classes/openaifilelistresult",
+ "aikit/Classes/openaifileparameters",
+ "aikit/Classes/openaifileresult",
+ "aikit/Classes/openaifilesapi",
"aikit/Classes/openaiimage",
"aikit/Classes/openaiimageparameters",
"aikit/Classes/openaiimagesapi",
diff --git a/versioned_docs/version-18/Concepts/quick-tour.md b/versioned_docs/version-18/Concepts/quick-tour.md
index 5329bd867668eb..52e9da5db7893f 100644
--- a/versioned_docs/version-18/Concepts/quick-tour.md
+++ b/versioned_docs/version-18/Concepts/quick-tour.md
@@ -247,7 +247,7 @@ You refer to an expression by the data type it returns. There are several expres
|Col[5]|Collection element|A collection element is an expression that can be of any supported type|
|$entitySel[0]|Entity|A element of an ORDA entity selection is an expression of the entity type. This kind of expression is **non-assignable**|
-### Assignable vs non-assignable expressions
+### Assignable vs non-assignable expressions {#assignable-vs-non-assignable-expressions}
An expression can simply be a literal constant, such as the number 4 or the string "Hello", or a variable like `$myButton`. It can also use operators. For example, 4 + 2 is an expression that uses the addition operator to add two numbers together and return the result 6. In any cases, these expressions are **non-assignable**, which means that you cannot assign a value to them.
In 4D, expressions can be **assignable**. An expression is assignable when it can be used on the left side of an assignation. For example:
diff --git a/versioned_docs/version-19/API/CollectionClass.md b/versioned_docs/version-19/API/CollectionClass.md
index 4845ee12626f86..17a03447abafb2 100644
--- a/versioned_docs/version-19/API/CollectionClass.md
+++ b/versioned_docs/version-19/API/CollectionClass.md
@@ -4,7 +4,7 @@ title: Collection
---
-The Collection class manages [Collection](Concepts/dt_collection.md) type variables.
+The Collection class manages [Collection](Concepts/dt_collection.md) type expressions.
A collection is initialized with:
@@ -345,13 +345,13 @@ $c.combine($fruits;3) //[1,2,3,"Orange","Banana","Apple","Grape",4,5,6]
-**.concat**( *value* : any { *;...valueN* } ) : Collection
+**.concat**( *value* : any { ; *...valueN* } ) : Collection
|Parameter|Type||Description|
|---------|--- |:---:|------|
-|value|Number, Text, Object, Collection, Date, Time, Boolean, Picture|->|Value(s) to concatenate. If *value* is a collection, all collection elements are added to the original collection|
+|value|any|->|Value(s) to concatenate. If *value* is a collection, all collection elements are added to the original collection|
|Result|Collection|<-|New collection with value(s) added to the original collection|
#### Description
diff --git a/versioned_docs/version-19/Concepts/dt_number.md b/versioned_docs/version-19/Concepts/dt_number.md
index 4c8cf85f76d0ca..fcbe2d5ce02da5 100644
--- a/versioned_docs/version-19/Concepts/dt_number.md
+++ b/versioned_docs/version-19/Concepts/dt_number.md
@@ -73,9 +73,9 @@ The modulo operator % returns significant values with numbers that are in the Lo
:::
-### Longint division
+### Integer division
-The longint division operator \ returns significant values with integer numbers only.
+The integer division operator divides one number by another and returns the whole number part of the result, discarding any remainder. `a\b` is equivalent to `Int(a/b)`. This operator returns significant values with integer numbers only.
### Real comparison
diff --git a/versioned_docs/version-19/Concepts/quick-tour.md b/versioned_docs/version-19/Concepts/quick-tour.md
index 01263fedb859f9..98b472784c52c6 100644
--- a/versioned_docs/version-19/Concepts/quick-tour.md
+++ b/versioned_docs/version-19/Concepts/quick-tour.md
@@ -315,7 +315,7 @@ You refer to an expression by the data type it returns. There are several expres
|Col[5]|Collection element|A collection element is an expression that can be of any supported type|
|$entitySel[0]|Entity|A element of an ORDA entity selection is an expression of the entity type. This kind of expression is **non-assignable**|
-### Assignable vs non-assignable expressions
+### Assignable vs non-assignable expressions {#assignable-vs-non-assignable-expressions}
An expression can simply be a literal constant, such as the number 4 or the string "Hello", or a variable like `$myButton`. It can also use operators. For example, 4 + 2 is an expression that uses the addition operator to add two numbers together and return the result 6. In any cases, these expressions are **non-assignable**, which means that you cannot assign a value to them.
In 4D, expressions can be **assignable**. An expression is assignable when it can be used on the left side of an assignation. For example:
diff --git a/versioned_docs/version-20-R10/API/CollectionClass.md b/versioned_docs/version-20-R10/API/CollectionClass.md
index 8aa55ef860d79c..39c269f2da33f4 100644
--- a/versioned_docs/version-20-R10/API/CollectionClass.md
+++ b/versioned_docs/version-20-R10/API/CollectionClass.md
@@ -4,7 +4,7 @@ title: Collection
---
-The Collection class manages [Collection](Concepts/dt_collection.md) type variables.
+The Collection class manages [Collection](Concepts/dt_collection.md) type expressions.
A collection is initialized with the [`New collection`](../commands/new-collection.md) or [`New shared collection`](../commands/new-shared-collection.md) commands.
@@ -295,13 +295,13 @@ $c.combine($fruits;3) //[1,2,3,"Orange","Banana","Apple","Grape",4,5,6]
-**.concat**( *value* : any { *;...valueN* } ) : Collection
+**.concat**( *value* : any { ; *...valueN* } ) : Collection
|Parameter|Type||Description|
|---------|--- |:---:|------|
-|value|Number, Text, Object, Collection, Date, Time, Boolean, Picture|->|Value(s) to concatenate. If *value* is a collection, all collection elements are added to the original collection|
+|value|any|->|Value(s) to concatenate. If *value* is a collection, all collection elements are added to the original collection|
|Result|Collection|<-|New collection with value(s) added to the original collection|
diff --git a/versioned_docs/version-20-R10/Concepts/dt_number.md b/versioned_docs/version-20-R10/Concepts/dt_number.md
index 0735ba7811d630..059ddecfaea7e3 100644
--- a/versioned_docs/version-20-R10/Concepts/dt_number.md
+++ b/versioned_docs/version-20-R10/Concepts/dt_number.md
@@ -79,9 +79,9 @@ The modulo operator % returns significant values with numbers that are in the Lo
:::
-### Longint division
+### Integer division
-The longint division operator \ returns significant values with integer numbers only.
+The integer division operator divides one number by another and returns the whole number part of the result, discarding any remainder. `a\b` is equivalent to `Int(a/b)`. This operator returns significant values with integer numbers only.
### Real comparison
diff --git a/versioned_docs/version-20-R10/Concepts/quick-tour.md b/versioned_docs/version-20-R10/Concepts/quick-tour.md
index 103b219de54170..8488983019d49e 100644
--- a/versioned_docs/version-20-R10/Concepts/quick-tour.md
+++ b/versioned_docs/version-20-R10/Concepts/quick-tour.md
@@ -318,7 +318,7 @@ You refer to an expression by the data type it returns. There are several expres
|Col[5]|Collection element|A collection element is an expression that can be of any supported type|
|$entitySel[0]|Entity|A element of an ORDA entity selection is an expression of the entity type. This kind of expression is **non-assignable**|
-### Assignable vs non-assignable expressions
+### Assignable vs non-assignable expressions {#assignable-vs-non-assignable-expressions}
An expression can simply be a literal constant, such as the number 4 or the string "Hello", or a variable like `$myButton`. It can also use operators. For example, 4 + 2 is an expression that uses the addition operator to add two numbers together and return the result 6. In any cases, these expressions are **non-assignable**, which means that you cannot assign a value to them.
In 4D, expressions can be **assignable**. An expression is assignable when it can be used on the left side of an assignation. For example:
diff --git a/versioned_docs/version-20-R10/FormObjects/properties_Action.md b/versioned_docs/version-20-R10/FormObjects/properties_Action.md
index 10339f95319519..f04ee8158b017e 100644
--- a/versioned_docs/version-20-R10/FormObjects/properties_Action.md
+++ b/versioned_docs/version-20-R10/FormObjects/properties_Action.md
@@ -205,7 +205,7 @@ In other cases (list boxes based on named selections, columns associated with ex
---
## Standard action
-Typical activities to be performed by active objects (*e.g.*, letting the user accept, cancel, or delete records, move between records or from page to page in a multi-page form, etc.) have been predefined by 4D as standard actions. They are described in detail in the [Standard actions](https://doc.4d.com/4Dv20/4D/20.2/Standard-actions.300-6750239.en.html) section of the *Design Reference*. There are also [standard actions specific to 4D Write Pro areas](../WritePro/user-legacy/defining-a-4d-write-pro-area.md#standard-actions).
+Typical activities to be performed by active objects (*e.g.*, letting the user accept, cancel, or delete records, move between records or from page to page in a multi-page form, etc.) have been predefined by 4D as standard actions. They are described in detail in the [Standard actions](https://doc.4d.com/4Dv20/4D/20.2/Standard-actions.300-6750239.en.html) section of the *Design Reference*. There are also standard actions specific to 4D Write Pro areas.
You can assign both a standard action and a project method to an object. In this case, the standard action is usually executed after the method and 4D uses this action to enable/disable the object according to the current context. When an object is deactivated, the associated project method cannot be executed.
@@ -214,7 +214,7 @@ You can assign both a standard action and a project method to an object. In this
|Name|Data Type|Possible Values|
|---|---|---|
-|action|string |The name of a valid [standard action](https://doc.4d.com/4Dv20/4D/20.2/Standard-actions.300-6750239.en.html) or [4D Write Pro standard action](../WritePro/user-legacy/defining-a-4d-write-pro-area.md#standard-actions). |
+|action|string |The name of a valid [standard action](https://doc.4d.com/4Dv20/4D/20.2/Standard-actions.300-6750239.en.html) or 4D Write Pro standard action]. |
#### Objects Supported
diff --git a/versioned_docs/version-20-R10/FormObjects/webArea_overview.md b/versioned_docs/version-20-R10/FormObjects/webArea_overview.md
index 777bd0077cfb59..4428a7ce4113d9 100644
--- a/versioned_docs/version-20-R10/FormObjects/webArea_overview.md
+++ b/versioned_docs/version-20-R10/FormObjects/webArea_overview.md
@@ -341,9 +341,11 @@ The default 4DCEFParameters.json file contains the following switches:
}
```
-### See also
+:::info Related blog post
-[Specify your own parameters to initialize the embedded web area (blog post)](https://blog.4d.com/specify-your-own-parameters-to-initialize-the-embedded-web-area)
+[Custom Parameters for Initializing Embedded Web Area](https://blog.4d.com/custom-parameters-for-initializing-embedded-web-area/)
+
+:::
diff --git a/versioned_docs/version-20-R10/ORDA/orda-events.md b/versioned_docs/version-20-R10/ORDA/orda-events.md
index 69d761cdb242bf..0eb4602a824c67 100644
--- a/versioned_docs/version-20-R10/ORDA/orda-events.md
+++ b/versioned_docs/version-20-R10/ORDA/orda-events.md
@@ -106,7 +106,7 @@ This event is triggered as soon as the 4D Server / 4D engine can detect a modifi
- the user sets a value on a 4D form,
- the 4D code makes an assignment with the `:=` operator. The event is also triggered in case of self-assignment (`$entity.attribute:=$entity.attribute`).
- in **client/server without the `local` keyword**: some 4D code that makes an assignment with the `:=` operator is [executed on the server](../commands-legacy/execute-on-server.md).
-- in **client/server without the `local` keyword**, in **[Qodly application](https://developer.qodly.com/docs)** and **[remote datastore](../commands/open-datastore.md)**: the entity is received on 4D Server while calling an ORDA function (on the entity or with the entity as parameter). It means that you might have to implement a *refresh* or *preview* function on the remote application that sends an ORDA request to the server and triggers the event.
+- in **client/server without the `local` keyword**, in **[Qodly application](https://developer.4d.com/qodly)** and **[remote datastore](../commands/open-datastore.md)**: the entity is received on 4D Server while calling an ORDA function (on the entity or with the entity as parameter). It means that you might have to implement a *refresh* or *preview* function on the remote application that sends an ORDA request to the server and triggers the event.
- with the REST server: the value is received on the REST server with a [REST request](../REST/$method.md#methodupdate) (`$method=update`)
diff --git a/versioned_docs/version-20-R10/ORDA/privileges.md b/versioned_docs/version-20-R10/ORDA/privileges.md
index 97f4d0003bf9dd..641a5cf43a2a5a 100644
--- a/versioned_docs/version-20-R10/ORDA/privileges.md
+++ b/versioned_docs/version-20-R10/ORDA/privileges.md
@@ -176,7 +176,7 @@ In previous releases, the `roles.json` file was not created by default. As of 4D
:::note Qodly Studio
-In Qodly Studio for 4D, the mode can be set using the [**Force login** option](../WebServer/qodly-studio.md#force-login) in the Privileges panel.
+In Qodly Studio for 4D, the mode can be set using the [**Force login** option](https://developer.4d.com/qodly/4DQodlyPro/force-login) in the Privileges panel.
:::
diff --git a/versioned_docs/version-20-R10/REST/authUsers.md b/versioned_docs/version-20-R10/REST/authUsers.md
index 68f8275332869b..28c75eb7b8b915 100644
--- a/versioned_docs/version-20-R10/REST/authUsers.md
+++ b/versioned_docs/version-20-R10/REST/authUsers.md
@@ -21,7 +21,7 @@ A session is opened after the user was successfully logged (see below).
:::note Compatibility
-The legacy login mode based upon the `On REST Authentication` database method is **deprecated** as of 4D 20 R6. It is now recommended to [use the **force login mode**](../ORDA/privileges.md#rolesjson-file) (automatically enabled in new projects) and to implement the [`ds.authentify()` function](#function-authentify). In converted projects, [a button in the Settings dialog box](../settings/web.md#activate-rest-authentication-through-dsauthentify-function) will help you upgrade your configuration. In Qodly Studio for 4D, the mode can be set using the [**Force login** option](../WebServer/qodly-studio.md#force-login) in the Privileges panel.
+The legacy login mode based upon the `On REST Authentication` database method is **deprecated** as of 4D 20 R6. It is now recommended to [use the **force login mode**](../ORDA/privileges.md#rolesjson-file) (automatically enabled in new projects) and to implement the [`ds.authentify()` function](#function-authentify). In converted projects, [a button in the Settings dialog box](../settings/web.md#activate-rest-authentication-through-dsauthentify-function) will help you upgrade your configuration. In Qodly Studio for 4D, the mode can be set using the [**Force login** option](https://developer.4d.com/qodly/4DQodlyPro/force-login) in the Privileges panel.
:::
diff --git a/versioned_docs/version-20-R10/WebServer/from-qodlyscript-to-4d.md b/versioned_docs/version-20-R10/WebServer/from-qodlyscript-to-4d.md
deleted file mode 100644
index 471949cddac312..00000000000000
--- a/versioned_docs/version-20-R10/WebServer/from-qodlyscript-to-4d.md
+++ /dev/null
@@ -1,78 +0,0 @@
----
-id: from-qodlyscript-to-4d
-title: From QodlyScript to 4D Language
----
-
-4D developers use the [Qodly Studio documentation](https://developer.qodly.com/docs/studio/overview) to learn how to design their Qodly forms in Qodly Studio.
-
-Code examples are provided in [QodlyScript](https://developer.qodly.com/docs/category/qodlyscript), but since QodlyScript inherits from the 4D Language, you won't be lost. Converting QodlyScript code to 4D language is easy, it only requires some adaptations.
-
-## Variable names
-
-QodlyScript only support local variables, so variables in QodlyScript examples are not prefixed with `$`. In the 4D code, make sure to **prefix variable names with `$`** so that they are identifed as local variables by 4D.
-
-## Symbols and keywords
-
-Some basic symbols, operators, and keywords differ in QodlyScript and must be adapted to the 4D Language. They are listed below:
-
-|QodlyScript|4D Language|Comment|
-|---|---|---|
-|, |;|argument separator|
-|= |:=|assignment operator|
-|== |=|comparison operator|
-|declare|#Declare||
-|switch|Case of||
-|constructor|Class constructor||
-|extends|Class extends||
-|end|End for, End For each, End if, End case, End use, End while||
-|forEach|For each||
-|string|Text|var type|
-|number|Real|var type|
-
-Some other items have a different case (ex: `this` vs `This`) but can be pasted directly in 4D code.
-
-
-## Command and Constant names
-
-QodlyScript command and constant names are written in camel case without spaces. In addition, QodlyScript constant names start with a `k` letter. You might need to adapt these QodlyScript items to the 4D Language.
-
-- Usually, you will only have to simply convert names. For example, `newCollection` in QodlyScript is `New collection` in 4D Language.
-- However, some commands have been renamed for a better compliance, for example `atan` and `sqrt` are QodlyScript names for `Arctan` and `Square root` commands in 4D Language.
-
-
-### Example
-
-- QodlyScript code:
-
-```qs
- declare(entitySelection : 4D.EntitySelection)
- var dataClass : 4D.DataClass
- var entity, duplicate : 4D.Entity
- var status : object
- dataClass=entitySelection.getDataClass()
- forEach(entity,entitySelection)
- duplicate=dataClass.new()
- duplicate.fromObject(entity.toObject())
- duplicate[dataClass.getInfo().primaryKey]=null
- status=duplicate.save()
- end
-```
-
-
-
-- 4D Language equivalent code:
-
-```4d
- #DECLARE ( $entitySelection : 4D.EntitySelection )
- var $dataClass : 4D.DataClass
- var $entity; $duplicate : 4D.Entity
- var $status : Object
- $dataClass:=$entitySelection.getDataClass()
- For each($entity;$entitySelection)
- $duplicate:=$dataClass.new()
- $duplicate.fromObject($entity.toObject())
- $duplicate[$dataClass.getInfo().primaryKey]:=Null
- $status:=$duplicate.save()
- End for each
-
-```
diff --git a/versioned_docs/version-20-R10/WebServer/qodly-studio.md b/versioned_docs/version-20-R10/WebServer/qodly-studio.md
deleted file mode 100644
index 92713814a47185..00000000000000
--- a/versioned_docs/version-20-R10/WebServer/qodly-studio.md
+++ /dev/null
@@ -1,400 +0,0 @@
----
-id: qodly-studio
-title: Qodly Studio for 4D
----
-
-**Qodly Studio** is an interface builder for web applications. It provides developers with a graphical page editor to design applications running in web browsers or smartphones. It supports natively the [ORDA objects](../ORDA/overview.md).
-
-You can use Qodly Studio directly from your **4D environment** to build modern and sophisticated interfaces that you can easily integrate to your existing 4D projects and deploy **on premise**.
-
-Qodly Studio can also be used in the [**Qodly Cloud platform**](https://qodly.com), dedicated to the development of web business applications.
-
-Qodly Studio proposes a full-featured web UI, allowing you to:
-
-- create Qodly pages by placing components on a canvas
-- map components to Qodly Sources
-- trigger 4D code by configuring events
-- and much more.
-
-
-## Configuration
-
-### Requirements
-
-#### Browser
-
-Qodly Studio supports the following web browsers:
-
-- Chrome
-- Edge
-- FireFox
-
-The recommended resolution is 1920x1080.
-
-#### 4D application
-
-- Development: 4D v20 R2 or higher
-- Deployment: 4D Server v20 R2 or higher
-- Qodly Studio only works with 4D projects (binary databases are not supported).
-- Web sessions (*aka* Scalable sessions) must [be enabled](sessions.md#enabling-web-sessions).
-- The 4D code called by Qodly forms must be [thread-safe](preemptiveWeb.md).
-
-
-### Enabling access to Qodly Studio
-
-By default, access to Qodly Studio is not granted.
-
-Qodly Studio is served by the [WebAdmin web server](../Admin/webAdmin.md) and displays data from 4D projects handled by the [4D web server](webServer.md).
-
-To enable access to Qodly Studio, you must explicitly allow it at two levels:
-
-* at 4D application level
-* at project level
-
-
-If one of the two levels (or both) are not enabled, access to Qodly Studio is denied (a 403 page is returned).
-
-#### At 4D level
-
-As a first security level, you need to [allow access to Qodly Studio on the WebAdmin web server](../Admin/webAdmin.md#enable-access-to-qodly-studio). This setting applies to the 4D application (4D or 4D Server) on the host machine. All projects opened with that 4D application take this setting into account.
-
-Keep this option unchecked if you want to make sure no access to Qodly Studio is allowed on the application. Check this option to make it possible to access Qodly Studio. However, you still need to enable it at every project level.
-
-Additionally, you can [configure the WebAdmin web server's HTTP/HTTPS port used](../Admin/webAdmin.md#accept-http-connections-on-localhost).
-
-:::note
-
-After any change to these settings, you must [restart the WebAdmin web server](../Admin/webAdmin.md#start-and-stop) for the new configuration to be effective.
-
-:::
-
-#### At project level
-
-After you have enabled access to Qodly Studio at the 4D level, you need to explicitly designate every project that can be accessed. The **Enable access to Qodly Studio** option must be enabled on the [Web Features page of the 4D application's Settings](../settings/web.md#enable-access-to-qodly-studio).
-
-Keep in mind that [user settings](../settings/overview.md) can be defined at several levels, and that priorities apply.
-
-
-### Activating authentication
-
-Authentication on the WebAdmin web server is granted using an access key. For more details, see [Access key](../Admin/webAdmin.md#access-key).
-
-
-### Development and deployment
-
-In accordance with the management of 4D projects, only the following usages are supported:
-
-- development with Qodly Studio must be done using **4D** (single-user).
-- deployment of 4D applications powered with Qodly pages must be done using **4D Server**.
-
-:::warning
-
-You can open Qodly Studio, [debug](#using-qodly-debugger-on-4d-server) and edit Qodly pages directly on a 4D Server machine when a project is running in interpreted mode. This feature is only provided for testing and debugging purposes, for example to evaluate the application flow with actual data, or in multi-user environment. It must NOT be considered as a regular way to develop applications since it does not provide any control over concurrent accesses.
-
-:::
-
-
-
-## Opening Qodly Studio
-
-The Qodly Studio page is available when the [WebAdmin web server is running](../Admin/webAdmin.md#start-and-stop) and authentication is activated (see above).
-
-There are two ways to access Qodly Studio:
-
-* by selecting the **Qodly Studio...** menu command from the **Design** menu (4D single-user) or the **Window** menu (4D Server).
-If the WebAdmin web server is already running, depending on its configuration, your default browser opens at `IPaddress:HTTPPort/studio` or `IPaddress:HTTPSPort/studio`. Otherwise, you will be prompted if you want to start the WebAdmin web server first.
-
-* on a browser, with the WebAdmin web server running (launched from 4D or 4D Server), enter the following address:
- `IPaddress:HTTPPort/studio`
-
- or:
-
- `IPaddress:HTTPSPort/studio`
-
- For example, after launching a local web server on port 7080, type this address in your browser:
-
- `localhost:7080/studio`
-
- You will then be prompted to enter the [access key](../Admin/webAdmin.md#access-key) to access Qodly Studio.
-
-
-
-## Developing with Qodly Studio
-
-### Documentation
-
-The Qodly Studio documentation is available on the [Qodly documentation website](https://developer.qodly.com/docs/studio/overview).
-
-You can rely on this documentation and its associated resources for developing web applications powered by Qodly pages. However, depending on implementation stage, 4D developers will either use Qodly Studio or 4D IDE (see [Feature comparison](#feature-comparison)).
-
-Code examples are provided in [QodlyScript](https://developer.qodly.com/docs/category/qodlyscript), but since QodlyScript inherits from the 4D Language, you won't be lost. For more information, see the [From QodlyScript to 4D Language](from-qodlyscript-to-4d.md) page.
-
-:::info
-
-There is no direct compatibility between apps implemented with 4D and apps implemented with Qodly.
-
-:::
-
-### Feature comparison
-
-||Qodly Studio in 4D|Qodly Studio in Qodly Cloud platform|
-|---|---|---|
-|View and edit tables (dataclasses), attributes and relations|4D Structure Editor(1)|Qodly Studio Model Editor|
-|Qodly pages|Qodly Studio Page Editor|Qodly Studio Page Editor|
-|Desktop forms|4D IDE|*not supported*|
-|Programming language|4D Language featuring ORDA|[QodlyScript](https://developer.qodly.com/docs/category/qodlyscript) featuring ORDA|
-|Coding IDE|4D IDE code editor *or* VS Code with [4D-Analyzer extension](https://github.com/4d/4D-Analyzer-VSCode)
*4D Server only*: Qodly Studio code editor (see (2))|Qodly Studio code editor|
-|Debugger|4D IDE debugger
*4D Server only*: Qodly Studio debugger (see [this paragraph](#using-qodly-debugger-on-4d-server))|Qodly Studio debugger|
-|REST/Web roles and privileges|roles.json direct edit/Qodly Studio roles and privileges editor|Qodly Studio role and privileges editor|
-
-(1) The **Model** item is disabled in Qodly Studio.
-(2) In 4D Server, opening 4D code with the Qodly Studio code editor is supported **for testing and debugging purposes** (see [this paragraph](#development-and-deployment)). Note that in 4D single-user, if you open some 4D code with the Qodly Studio code editor, syntax coloring is not available and a "Lsp not loaded" warning is displayed.
-
-
-### Language
-
-The following commands and classes are dedicated to the server-side management of Qodly pages:
-
-- [`Web Form`](../API/WebFormClass.md#web-form) command: returns the Qodly page as an object.
-- [`Web Event`](../API/WebFormClass.md#web-event) command: returns events triggered within Qodly page components.
-- [`WebForm`](../API/WebFormClass.md) class: functions and properties to manage the rendered Qodly page.
-- [`WebFormItem`](../API/WebFormItemClass.md) class: functions and properties to manage Qodly page components.
-
-
-### Using project methods
-
-We recommend using class functions over project methods. Only class functions can be called from components. However, you can still use your project methods in Qodly Studio in two ways:
-
-- You can call your methods from class functions.
-- You can directly [execute your methods](https://developer.qodly.com/docs/studio/coding#methods-and-classes) from the Qodly Explorer.
-
-
-### Offline use
-
-You can develop with Qodly Studio while your computer is not connected to the internet. In this case however, the following features are not available:
-
-- [Templates](https://developer.qodly.com/docs/studio/pageLoaders/templates): the Template library is empty
-- UI tips: they are not displayed when you click on  icons.
-
-
-
-
-## Deployment
-
-### Enabling rendering
-
-Qodly Studio encapsulates Qodly pages, including layout, data connections, and event-driven logic, in a structured JSON file. This JSON file is processed on-the-fly by the **Qodly renderer** to serve a fully functional web page.
-
-:::info
-
-See [this page](https://developer.qodly.com/docs/studio/rendering) for detailed information on how to render Qodly pages in Qodly.
-
-:::
-
-To enable the rendering of Qodly pages, the following options must be set.
-
-* The 4D project's **Settings** > **Web** > **Web Features** > [**Expose as REST server**](../settings/web.md#expose-as-rest-server) option must be activated.
-* The [4D web server](webServer.md) must be running.
-
-:::note
-
-[Renderer buttons](https://developer.qodly.com/docs/studio/rendering#how-to-render-a-webform) are not available if the configuration options are not activated.
-
-:::
-
-### Scope of Qodly forms
-
-When rendering Qodly forms in the Qodly Studio, the renderer will connect to the 4D web server through HTTP or HTTPS, depending on the settings, following the same HTTP/HTTPS connection pattern as for the [4D WebAdmin web server](../Admin/webAdmin.md#accept-http-connections-on-localhost). See also [this paragraph](#about-license-usage-for-rendering) about URL schemes and license usage.
-
-
-Keep in mind that Qodly Studio runs through the 4D WebAdmin web server. When you use Qodly Studio as a developer, even when you preview a Qodly Page in the studio, you're using the 4D WebAdmin web server. This allows you to see dataclasses, functions and attributes that are not exposed as REST resources for example (they are greyed out).
-
-However, page rendering happens outside Qodly Studio, and is served by the standard 4D web server. In this situation, your web application cannot access assets that are not exposed as REST resources. See [Exposed vs non-exposed functions](../ORDA/ordaClasses.md#exposed-vs-non-exposed-functions) and [Exposing tables](../REST/configuration.md#exposing-tables) for more information on how to expose assets.
-
-
-
-
-### Accessing Qodly pages
-
-For deployment, the WebAdmin server is not necessary. End-user access to your web application made with Qodly Studio is based on the 4D REST protocol, and as such, it works as through a conventional 4D remote application.
-
-Your Qodly pages are available through the following url:
-
-```
-IP:port/$lib/renderer/?w=QodlyPageName
-```
-
-...where *IP:port* represents the address of the web server and *QodlyPageName* is the name of the Qodly page.
-
-For example:
-
-```
-https://www.myWebSite.com/$lib/renderer/?w=welcome
-```
-
-### Preview Qodly Application
-
-You can preview your Qodly application at any moment by selecting the **Preview Qodly Application...** command in the **Windows** menu (4D Server) or in the **Design** menu (4D single-user).
-
-This command launches the Qodly renderer on a local address in your default browser and displays the **start page** [defined in the Application settings](https://developer.qodly.com/docs/studio/settings#start-page) of Qodly Studio.
-
-
-
-
-### Using Qodly debugger on 4D Server
-
-When using Qodly pages in a deployed 4D Server application (interpreted mode), you might encounter some cases where you need to debug your pages on the server, for example when a specific user configuration is required. In this case, you can attach the [Qodly Studio debugger](https://developer.qodly.com/docs/studio/debugging) to the 4D Server and then, benefit from its features when executing your Qodly pages.
-
-Note that in this case, the Qodly Studio debugger will display all the code executed on the server, in accordance with the [attached debugger rule on 4D Server](../Debugging/debugging-remote.md#attached-debugger).
-
-To attach the Qodly Studio debugger to your running 4D Server application:
-
-1. [Open Qodly Studio](#opening-qodly-studio) from 4D Server.
-
-:::note
-
-The project must be running in interpreted mode so that **Qodly Studio** menu item is available.
-
-:::
-
-2. In the Qodly Studio toolbar, click on the **Debug** button.
-
-
-If the debug session starts successfully, a green bullet appears on the button label  and you can use the Qodly Studio debugger.
-
-If the debugger is already attached to a another machine or another Qodly Studio page, an error is displayed. You have to detach it beforehand from the other location.
-
-To detach the Qodly Studio debugger from your running 4D Server application:
-
-1. Click the **Debug** button in the Qodly Studio toolbar while a debug session is active.
-A warning dialog box will prompt you to confirm whether you want to detach the debugger.
-2. Select **Keep in progress** to continue evaluating the code until the end of the current method or function before detaching the debugger, or **Stop** to detach the debugger immediately.
-
-
-
-
-## Force login
-
-With Qodly Studio for 4D, the ["force login" mode](../REST/authUsers.md#force-login-mode) allows you to control the number of opened web sessions that require 4D Client licenses. You can also [logout](#logout) the user at any moment to decrement the number of retained licenses.
-
-### Configuration
-
-Make sure the ["force login" mode](../REST/authUsers.md#force-login-mode) is enabled for your 4D application in the [Roles and Privileges page](https://developer.qodly.com/docs/studio/roles/rolesPrivilegesOverview), using the **Force login** option:
-
-
-
-You can also set this option directly in the [**roles.json** file](../ORDA/privileges.md#rolesjson-file).
-
-You just need then to implemented the [`authentify()`](../REST/authUsers.md#function-authentify) function in the datastore class and call it from the Qodly page. A licence will be consumed only when the user is actually logged.
-
-
-:::note Compatibility
-
-When the legacy login mode ([deprecated as of 4D 20 R6](https://blog.4d.com/force-login-becomes-default-for-all-rest-auth)) is enabled, any REST request, including the rendering of an authentication Qodly page, creates a web session on the server and gets a 4D Client license, whatever the actual result of the authentication. For more information, refer to [this blog post](https://blog.4d.com/improved-4d-client-licenses-usage-with-qodly-studio-for-4d) that tells the full story.
-
-:::
-
-#### Example
-
-In a simple Qodly page with login/password inputs, a "Submit" button calls the following `authentify()` function we have implemented in the DataStore class:
-
-```4d
-
-exposed Function authentify($credentials : Object) : Text
-
-var $salesPersons : cs.SalesPersonsSelection
-var $sp : cs.SalesPersonsEntity
-
-$salesPersons:=ds.SalesPersons.query("identifier = :1"; $credentials.identifier)
-$sp:=$salesPersons.first()
-
-If ($sp#Null)
- If (Verify password hash($credentials.password; $sp.password))
-
- Session.clearPrivileges()
- Session.setPrivileges("") //guest session
-
- return "Authentication successful"
- Else
- return "Wrong password"
- End if
-Else
- return "Wrong user"
-End if
-```
-
-This call is accepted and as long as the authentication is not successful, `Session.setPrivileges()` is not called, thus no license is consumed. Once `Session.setPrivileges()` is called, a 4D client licence is used and any REST request is then accepted.
-
-
-
-### Logout
-
-When the ["force login" mode is enabled](#force-login), Qodly Studio for 4D allows you to implement a logout feature in your application.
-
-To logout the user, you just need to execute the **Logout** standard action from the Qodly page. In Qodly Studio, you can associate this standard action to a button for example:
-
-
-
-Triggering the logout action from a web user session has the following effects:
-
-- the current web user session loses its privileges, only [descriptive REST requests](../REST/authUsers.md#descriptive-rest-requests) are allowed,
-- the associated 4D license is released,
-- the `Session.storage` is kept until the web session inactivity timeout is reached (at least one hour). During this period after a logout, if the user logs in again, the same session is used and the `Session.storage` shared object is available with its current contents.
-
-
-
-
-## About license usage for rendering
-
-In default mode when any page is rendered, or in "force login" mode when a page handling data or calling a function is rendered, you must have an available license, as rendering Qodly forms targets the project database's main web server.
-
-### URL Schemes
-
-Qodly Studio's URL scheme configuration (HTTP and HTTPS) determines how many licenses are retained when rendering Qodly forms. With the appropriate configuration, you can avoid unnecessary license retaining.
-
-As explained in the [configuration](#configuration) section, the WebAdmin web server provides a secured web access to Qodly Studio. On the other hand, the [renderer](#enabling-rendering) communicates with the 4D web server of the database using REST requests. As such, it behaves like a conventional 4D Client.
-
-If you run the renderer from the Qodly Studio and these two web servers are not reached through the same URL scheme (HTTP or HTTPS), it might lead to wrong licence counting.
-
-:::info
-
-Using different schemes might also lead to [session](sessions.md) issues, such as losing [privileges](../ORDA/privileges.md) after a page refresh.
-
-:::
-
-#### Example
-
-1. You run the Qodly Studio on an HTTPS URL scheme (e.g. `https://127.0.0.1:7443/studio/`)
-
-2. The web server of your database is started only on an HTTP port.
-
-
-
-3. In Qodly Studio, you click on the **Preview** icon. You are warned that the two web servers are started on different schemes, but despite this you click on the **Confirm** button.
-
-
-
-As a result, two licenses are retained.
-
-:::note
-
-You can enable/disable the display of the renderer pop over using a Qodly Studio user setting.
-
-:::
-
-### SameSite attribute
-
-The behavior previously described is due to the session cookie of the 4D web server. This session cookie has a `SameSite` attribute that determines if the session cookie is sent to the web server.
-
-If the `SameSite` attribute's value is `Strict` (default), the session cookie is not sent to the web server, so a new session is opened each time a page is rendered or refreshed.
-
-For more information on the `SameSite` attribute, check out [this blog post](https://blog.4d.com/get-ready-for-the-new-SameSite-and-secure-attributes-for-cookies/).
-
-### Recommendations
-
-To avoid using more licenses than necessary, we recommend doing one of the following:
-
-- Run the renderer on another browser tab (by entering the rendered URL of your Qodly page: `IP:port/$lib/renderer/?w=QodlyPageName`).
-- Ensure the Qodly Studio and your database are reached on the same URL scheme.
-- Use the `Lax` value for the [session cookie](webServerConfig.md#session-cookie-samesite) of your project database's web server.
-
diff --git a/versioned_docs/version-20-R10/WebServer/sessions.md b/versioned_docs/version-20-R10/WebServer/sessions.md
index 1bc9097f9490c2..a8da672b9cecad 100644
--- a/versioned_docs/version-20-R10/WebServer/sessions.md
+++ b/versioned_docs/version-20-R10/WebServer/sessions.md
@@ -26,7 +26,7 @@ Web sessions are used for:
- calls to the [REST API](../REST/authUsers.md), which are used by [remote datastores](../ORDA/remoteDatastores.md) and [Qodly forms](qodly-studio.md).
-## Enabling web sessions
+## Enabling web sessions {#enabling-web-sessions}
The session management feature can be enabled and disabled on your 4D web server. There are different ways to enable session management:
@@ -209,7 +209,7 @@ Else
End if
```
-:::tips Related blog posts
+:::tip Related blog posts
[Scalable sessions for advanced web applications](https://blog.4d.com/scalable-sessions-for-advanced-web-applications/)
diff --git a/versioned_docs/version-20-R10/WritePro/commands-legacy/wp-new-style-sheet.md b/versioned_docs/version-20-R10/WritePro/commands-legacy/wp-new-style-sheet.md
index 1f690645409be9..a569977449fa9d 100644
--- a/versioned_docs/version-20-R10/WritePro/commands-legacy/wp-new-style-sheet.md
+++ b/versioned_docs/version-20-R10/WritePro/commands-legacy/wp-new-style-sheet.md
@@ -40,7 +40,7 @@ You can specify the attributes of the style sheet using the [WP SET ATTRIBUTES](
**Notes**:
* A style sheet only modifies the display of a character or paragraph, not how it is stored in the document. If a style sheet is removed, the text will revert to the default style.
-* Any style attributes not defined in the new style sheet will automatically use the Normal style. For more information, see the [*Style sheets* page](../user-legacy/stylesheets.md).
+* Any style attributes not defined in the new style sheet will automatically use the Normal style. For more information, see the *Style sheets* page.
## Example
diff --git a/versioned_docs/version-20-R10/commands-legacy/open-window.md b/versioned_docs/version-20-R10/commands-legacy/open-window.md
index 6ad8d7be718119..76f36f3538c8e6 100644
--- a/versioned_docs/version-20-R10/commands-legacy/open-window.md
+++ b/versioned_docs/version-20-R10/commands-legacy/open-window.md
@@ -38,7 +38,30 @@ If you pass -1 in both *right* and *bottom,* you instruct 4D to automatically si
**Important:** This automatic sizing of the window will occur only if you made a prior call to [FORM SET INPUT](form-set-input.md) for the form to be displayed, and if you passed the \* optional parameter to [FORM SET INPUT](form-set-input.md).
-* The *type* parameter is optional. It represents the type of window you want to display, and corresponds to the different windows shown in the section *Window Types (compatibility)* (constants of the *Open Window* theme). If the window type is negative, the window created is a floating window. If the type is not specified, type 1 is used by default.
+* The *type* parameter is optional. It represents the type of window you want to display. If the window type is negative, the window created is a floating window (if supported). If the type is not specified, type 1 is used by default. The following constants of the *Open Window* theme are supported:
+
+|Constant|Comment|
+|---|---|
+|Alternate dialog box|Can be a floating window|
+|Has full screen mode Mac|Option to add to a document type window on macOS only (ex: `Plain form window+Form has full screen mode Mac`)|
+|Modal dialog box ||
+|Movable dialog box |Can be a floating window|
+|Palette window|Can be a floating windowNot resizable: `-(Palette window+2)` (Windows) or ` -Palette window` (macOS)Resizable: `-(Palette window+6)`|
+|Plain dialog box |Can be a floating window|
+|Plain fixed size window||
+|Plain no zoom box window||
+|Pop up window||
+|Plain window||
+|Resizable sheet window||
+|Round corner window ||
+|Sheet window||
+|Texture appearance|Option to be added to a window type on macOS only. Supported types: `Plain window`, `Plain no zoom box window`, `Plain fixed size window`, `Movable dialog box`, `Round corner window`|
+
+
+
+
+
+
* The *title* parameter is the optional title for the window
If you pass an empty string ("") in *title,* you instruct 4D to use the Window Title set in the Design environment Form Properties window for the form to be displayed.
@@ -47,7 +70,7 @@ If you pass an empty string ("") in *title,* you instruct 4D to use the Window T
* The *controlMenuBox* parameter is the optional Control-menu box method for the window. If this parameter is specified, a Control-menu box (Windows) or a Close Box (Macintosh) is added to the window. When the user double-clicks the Control-menu box (Windows) or clicks on the Close Box (Macintosh), the method passed in *controlMenuBox* is called.
-**Note:** You can also manage the closing of the window from within the form method of the form displayed in the window when an On Close Box event occurs. For more information, see the command [Form event code](../commands/form-event-code.md).
+**Note:** You can also manage the closing of the window from within the form method of the form displayed in the window when an `On Close Box` event occurs. For more information, see the command [Form event code](../commands/form-event-code.md).
If more than one window is open for a process, the last window opened is the active (frontmost) window for that process. Only information within the active window can be modified. Any other windows can be viewed. When the user types, the active window will always come to the front, if it is not already there.
@@ -61,21 +84,19 @@ The following project method opens a window centered in the main window (Windows
```4d
// OPEN CENTERED WINDOW project method
- // $1 – Window width
- // $2 – Window height
- // $3 – Window type (optional)
- // $4 – Window title (optional)
+ #DECLARE($width : Integer; $height : Integer; $type : Integer; $title : Text)
+ var $SW; $SH; $WW; $WH : Integer
$SW:=Screen width\2
$SH:=(Screen height\2)
- $WW:=$1\2
- $WH:=$2\2
+ $WW:=$width\2
+ $WH:=$height\2
Case of
:(Count parameters=2)
Open window($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH)
:(Count parameters=3)
- Open window($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH;$3)
+ Open window($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH;$type)
:(Count parameters=4)
- Open window($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH;$3;$4)
+ Open window($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH;$type;$title)
End case
```
@@ -95,7 +116,8 @@ After the project method is written, you can use it this way:
The following example opens a floating window that has a Control-menu box (Windows) or Close Box (Macintosh) method. The window is opened in the upper right hand corner of the application window.
```4d
- $myWindow:=Open window(Screen width-149;33;Screen width-4;178;-Palette window;"";"CloseColorPalette")
+ var $myWindow : Integer
+ $myWindow:=Open window(Screen width-149;33;Screen width-4;178;-Palette window;"";"CloseColorPalette")
DIALOG([Dialogs];"Color Palette")
```
@@ -110,7 +132,8 @@ The CloseColorPalette method calls the [CANCEL](cancel.md) command:
The following example opens a window whose size and title come from the properties of the form displayed in the window:
```4d
- FORM SET INPUT([Customers];"Add Records";*)
+ var $myWindow : Integer
+ FORM SET INPUT([Customers];"Add Records";*)
$myWindow:=Open window(10;80;-1;-1;Plain window;"")
Repeat
ADD RECORD([Customers])
@@ -124,7 +147,8 @@ The following example opens a window whose size and title come from the properti
This example illustrates the “delay” mechanism for displaying sheet windows under macOS:
```4d
- $myWindow:=Open window(10;10;400;400;Sheet window)
+ var $myWindow : Integer
+ $myWindow:=Open window(10;10;400;400;Sheet window)
//For the moment, the window is created but remains hidden
DIALOG([Table];"dialForm")
//The On Load event is generated then the sheet window is displayed; it "drops down" from the bottom
@@ -135,7 +159,7 @@ This example illustrates the “delay” mechanism for displaying sheet windows
[CLOSE WINDOW](close-window.md)
[Open form window](open-form-window.md)
-*Open Window*
+
## Properties
diff --git a/versioned_docs/version-20-R10/commands-legacy/query-by-attribute.md b/versioned_docs/version-20-R10/commands-legacy/query-by-attribute.md
index e611a73547f898..024cd41c97ac33 100644
--- a/versioned_docs/version-20-R10/commands-legacy/query-by-attribute.md
+++ b/versioned_docs/version-20-R10/commands-legacy/query-by-attribute.md
@@ -10,10 +10,10 @@ displayed_sidebar: docs
| Parameter | Type | | Description |
| --- | --- | --- | --- |
| aTable | Table | → | Table for which to return a selection of records, or Default table if omitted |
-| conjOp | * | → | Conjunction operator to use to join multiple queries (if any) |
+| conjOp | Operator | → | Conjunction operator to use to join multiple queries (if any) |
| objectField | Field | → | Object field to query attributes |
| attributePath | Text | → | Name or path of attribute |
-| queryOp | Text, * | → | Query operator (comparator) |
+| queryOp | Text, Operator | → | Query operator (comparator) |
| value | Text, Number, Date, Time | → | Value to compare |
| * | Operator | → | Continue query flag |
diff --git a/versioned_docs/version-20-R10/commands-legacy/query-selection-by-attribute.md b/versioned_docs/version-20-R10/commands-legacy/query-selection-by-attribute.md
index 4996f9e7b49b80..22f6dd1ba3190f 100644
--- a/versioned_docs/version-20-R10/commands-legacy/query-selection-by-attribute.md
+++ b/versioned_docs/version-20-R10/commands-legacy/query-selection-by-attribute.md
@@ -10,10 +10,10 @@ displayed_sidebar: docs
| Parameter | Type | | Description |
| --- | --- | --- | --- |
| aTable | Table | → | Table for which to return a selection of records, or Default table if omitted |
-| conjOp | * | → | Conjunction operator to use to join multiple queries (if any) |
+| conjOp | Operator | → | Conjunction operator to use to join multiple queries (if any) |
| objectField | Field | → | Object field to query attributes |
| attributePath | Text | → | Name or path of attribute |
-| queryOp | *, Text | → | Query operator (comparator) |
+| queryOp | Text, Operator | → | Query operator (comparator) |
| value | Text, Number, Date, Time | → | Value to compare |
| * | Operator | → | Continue query flag |
diff --git a/versioned_docs/version-20-R10/commands-legacy/register-client.md b/versioned_docs/version-20-R10/commands-legacy/register-client.md
index 7efbc44fbcd401..45b93e3b7222b5 100644
--- a/versioned_docs/version-20-R10/commands-legacy/register-client.md
+++ b/versioned_docs/version-20-R10/commands-legacy/register-client.md
@@ -57,7 +57,7 @@ In the following example, we are going to create a small messaging system that a
PrClientList:=New process("4D Client List";32000;"List of registered clients")
```
-3) The method 4D Client List allows you to recuperate all the registered 4D clients and those that can receive messages:
+3) The 4D Client List method allows you to get all the registered 4D clients and those that can receive messages:
```4d
If(Application type=4D Remote Mode)
diff --git a/versioned_docs/version-20-R10/commands-legacy/verify-data-file.md b/versioned_docs/version-20-R10/commands-legacy/verify-data-file.md
index 3273a2dbf08d87..9330b4ee6c0cd6 100644
--- a/versioned_docs/version-20-R10/commands-legacy/verify-data-file.md
+++ b/versioned_docs/version-20-R10/commands-legacy/verify-data-file.md
@@ -52,44 +52,43 @@ Generally, the VERIFY DATA FILE command creates a log file in XML format (please
The *method* parameter is used to set a callback method that will be called regularly during the verification. If you pass an empty string or an invalid method name, this parameter is ignored (no method is called). When called, the method receives up to 5 parameters depending on the objects being verified and on the event type originating the call (see calls table). It is imperative to declare these parameters in the method:
-| \- $1 | Integer | Message type (see table) |
+| Parameter | Type | Description |
| ----- | ------- | ------------------------ |
-| \- $2 | Integer | Object type |
-| \- $3 | Text | Message |
-| \- $4 | Integer | Table number |
-| \- $5 | Integer | Reserved |
+| $messageType | Integer | Message type (see table) |
+| $objectType | Integer | Object type |
+| $messageText | Text | Message |
+| $table | Integer | Table number |
+| $reserved | Integer | Reserved |
The following table describes the contents of the parameters depending on the event type:
-| **Event** | **$1 (Longint)** | **$2 (Longint)** | **$3 (Text)** | **$4 (Longint)** | **$5 (Longint)** |
-| ------------------------- | ---------------- | ------------------ | -------------- | ---------------- | ---------------- |
-| Message | 1 | 0 | Progression | Percentage | Reserved |
-| message | done (0-100) | | | | |
-| Verification finished(\*) | 2 | Object type (\*\*) | OK message | Table or index | Reserved |
-| test | number | | | | |
-| Error | 3 | Object type (\*\*) | Text of error- | Table or index | Reserved |
-| message | number | | | | |
+| **Event** | **$messageType** | **$objectType** | **$messageText** | **$table** | **$reserved** |
+| ------- | ---------------- | ------------------ | -------------- | ---------------- | ---------------- |
+| Message | 1 | 0 | Progression message | Percentage done (0-100) | Reserved |
+| Verification finished(\*) | 2 | Object type (\*\*) | OK message test | Table or index number | Reserved |
+| Error | 3 | Object type (\*\*) | Text of error message | Table or index number | Reserved |
| End of execution | 4 | 0 | DONE | 0 | Reserved |
| Warning | 5 | Object type(\*\*) | Text of error | Table or index | Reserved |
-| message | number | | | | |
+|||| message | number |
-(\*) The *Verification finished* ($1=2) event is never returned when the mode is Verify All. It is only used in Verify Records or Verify Indexes mode.
-(\*\*) *Object type*: When an object is verified, a "finished" message ($1=2), error ($1=3) or warning ($1=5) can be sent. The object type returned in $2 can be one of the following:
+(\*) The *Verification finished* ($messageType=2) event is never returned when the mode is Verify All. It is only used in Verify Records or Verify Indexes mode.
+(\*\*) *Object type*: When an object is verified, a "finished" message ($messageType=2), error ($messageType=3) or warning ($messageType=5) can be sent. The object type returned in $objectType can be one of the following:
* 0 = undetermined
* 4 = record
* 8 = index
* 16 = structure object (preliminary check of data file).
-*Special case*: When $4 = 0 for $1=2, 3 or 5, the message does not concern a table or an index but rather the data file as a whole.
+*Special case*: When $table = 0 for $messageType=2, 3 or 5, the message does not concern a table or an index but rather the data file as a whole.
-The callback method must also return a value in $0 (Longint), which is used to check the execution of the operation:
+The callback method must also return a *$result* integer value, which is used to check the execution of the operation:
-* If $0 = 0, the operation continues normally
-* If $0 = -128, the operation is stopped without any error generated
-* If $0 = another value, the operation is stopped and the value passed in $0 is returned as the error number. This error can be intercepted by an error-handling method.
+* If $result = 0, the operation continues normally
+* If $result = -128, the operation is stopped without any error generated
+* If $result = another value, the operation is stopped and the value passed in $result is returned as the error number. This error can be intercepted by an error-handling method.
+
+**Note:** You cannot interrupt execution via $result after the *End of execution* event ($1=4) has been generated.
-**Note:** You cannot interrupt execution via $0 after the *End of execution* event ($4=1) has been generated.
Two optional arrays can also be used by this command:
diff --git a/versioned_docs/version-20-R10/commands/open-datastore.md b/versioned_docs/version-20-R10/commands/open-datastore.md
index 3f568dd3d909b3..f26d204cc3be93 100644
--- a/versioned_docs/version-20-R10/commands/open-datastore.md
+++ b/versioned_docs/version-20-R10/commands/open-datastore.md
@@ -8,7 +8,8 @@ displayed_sidebar: docs
|Release|Changes|
|---|---|
-|20 R6|Support access to Qodly instances|
+|21|Qodly cloud discontinued|
+|20 R6|Support access to Qodly cloud instances|
|20 R4|New *passwordAlgorithm* property|
|18|Added|
@@ -30,12 +31,11 @@ displayed_sidebar: docs
The `Open datastore` command connects the application to the remote datastore identified by the *connectionInfo* parameter and returns a matching `4D.DataStoreImplementation` object associated with the *localID* local alias.
-The following remote datastores are supported by the command:
+Exchanges with the remote datastore are automatically managed via REST requests. The *connectionInfo* 4D datastore must be available as a remote datastore, i.e.:
-|datastore kind|Description|
-|---|---|
-|Remote 4D application|A 4D application available as a remote datastore, i.e.:its web server is launched with http and/or https enabled,its datastore is exposed to REST ([**Expose as REST server**](REST/configuration.md#starting-the-rest-server) option checked).A license can be required (see note)|
-|[Qodly application](https://developer.qodly.com/docs/cloud/getStarted)|A Qodly Server application that provided you with an **api endpoint** and a valid **api key** associated with a defined role. You must pass the api key in the `api-key` property of the *connectionInfo* object. You can then work with the returned datastore object, with all privileges granted to the associated role.|
+- its Web Server must be launched with http and/or https enabled,
+- its datastore is exposed to REST ([**Expose as REST server**](REST/configuration.md#starting-the-rest-server) option checked),
+- a client license must be available if required (see note).
:::note
@@ -46,15 +46,14 @@ The following remote datastores are supported by the command:
Pass in *connectionInfo* an object describing the remote datastore you want to connect to. It can contain the following properties (all properties are optional except *hostname*):
-|Property| Type|Remote 4D application |Qodly application|
-|---|---|---|---|
+|Property| Type|Remote 4D application |
+|---|---|---|
|hostname|Text|Name or IP address of the remote database + ":" + port number (port number is mandatory)|API Endpoint of the Qodly cloud instance|
-|user|Text|User name|- (ignored)|
-|password|Text|User password|- (ignored)|
-|idleTimeout|Integer|Inactivity session timeout (in minutes), after which the session is automatically closed by 4D. If omitted, default value is 60 (1h). The value cannot be < 60 (if a lower value is passed, the timeout is set to 60). For more information, see **Closing sessions**.|- (ignored)|
-|tls|Boolean|True to use secured connection(1). If omitted, false by default. Using a secured connection is recommended whenever possible.|True to use secured connection. If omitted, false by default|
-|type |Text |must be "4D Server"|- (ignored)|
-|api-key|Text|- (ignored)|Api key of the Qodly cloud instance|
+|user|Text|User name|
+|password|Text|User password|
+|idleTimeout|Integer|Inactivity session timeout (in minutes), after which the session is automatically closed by 4D. If omitted, default value is 60 (1h). The value cannot be < 60 (if a lower value is passed, the timeout is set to 60). For more information, see **Closing sessions**.|
+|tls|Boolean|True to use secured connection(1). If omitted, false by default. Using a secured connection is recommended whenever possible.|
+|type |Text |must be "4D Server"|
(1) If `tls` is true, the HTTPS protocol is used if:
@@ -119,27 +118,6 @@ Working with several remote datastores:
ALERT("They are "+String($foreignStudents.Students.all().length)+" foreign students")
```
-## Example 4
-
-Connection to a Qodly application:
-
-```4d
-var $connectTo : Object:={hostname: "https://xxx-x54xxx-xx-xxxxx-8xx5-xxxxxx.xx-api.cloud.com"; tls: True}
-
-var $remoteDS : 4D.DataStoreImplementation
-var $data : 4D.EntitySelection
-
-$connectTo["api-key"]:="fxxxx-xxxx-4xxx-txxx-xxxxxxxx0" //only for example purpose
- //it is recommended to store the API key in a secured place (e.g. a file)
- //and to load it in the code
-
-$remoteDS:=Open datastore($connectTo; "remoteId")
-$data:=$remoteDS.item.all()
-
-ALERT(String($data.length)+" items have been read")
-
-```
-
## Error management
diff --git a/versioned_docs/version-20/API/CollectionClass.md b/versioned_docs/version-20/API/CollectionClass.md
index 493764a7e58dc1..0beb3604811161 100644
--- a/versioned_docs/version-20/API/CollectionClass.md
+++ b/versioned_docs/version-20/API/CollectionClass.md
@@ -4,7 +4,7 @@ title: Collection
---
-The Collection class manages [Collection](Concepts/dt_collection.md) type variables.
+The Collection class manages [Collection](Concepts/dt_collection.md) type expressions.
A collection is initialized with:
@@ -441,13 +441,13 @@ $c.combine($fruits;3) //[1,2,3,"Orange","Banana","Apple","Grape",4,5,6]
-**.concat**( *value* : any { *;...valueN* } ) : Collection
+**.concat**( *value* : any { ; *...valueN* } ) : Collection
|Parameter|Type||Description|
|---------|--- |:---:|------|
-|value|Number, Text, Object, Collection, Date, Time, Boolean, Picture|->|Value(s) to concatenate. If *value* is a collection, all collection elements are added to the original collection|
+|value|any|->|Value(s) to concatenate. If *value* is a collection, all collection elements are added to the original collection|
|Result|Collection|<-|New collection with value(s) added to the original collection|
diff --git a/versioned_docs/version-20/Concepts/dt_number.md b/versioned_docs/version-20/Concepts/dt_number.md
index 4c8cf85f76d0ca..fcbe2d5ce02da5 100644
--- a/versioned_docs/version-20/Concepts/dt_number.md
+++ b/versioned_docs/version-20/Concepts/dt_number.md
@@ -73,9 +73,9 @@ The modulo operator % returns significant values with numbers that are in the Lo
:::
-### Longint division
+### Integer division
-The longint division operator \ returns significant values with integer numbers only.
+The integer division operator divides one number by another and returns the whole number part of the result, discarding any remainder. `a\b` is equivalent to `Int(a/b)`. This operator returns significant values with integer numbers only.
### Real comparison
diff --git a/versioned_docs/version-20/Concepts/quick-tour.md b/versioned_docs/version-20/Concepts/quick-tour.md
index 103b219de54170..8488983019d49e 100644
--- a/versioned_docs/version-20/Concepts/quick-tour.md
+++ b/versioned_docs/version-20/Concepts/quick-tour.md
@@ -318,7 +318,7 @@ You refer to an expression by the data type it returns. There are several expres
|Col[5]|Collection element|A collection element is an expression that can be of any supported type|
|$entitySel[0]|Entity|A element of an ORDA entity selection is an expression of the entity type. This kind of expression is **non-assignable**|
-### Assignable vs non-assignable expressions
+### Assignable vs non-assignable expressions {#assignable-vs-non-assignable-expressions}
An expression can simply be a literal constant, such as the number 4 or the string "Hello", or a variable like `$myButton`. It can also use operators. For example, 4 + 2 is an expression that uses the addition operator to add two numbers together and return the result 6. In any cases, these expressions are **non-assignable**, which means that you cannot assign a value to them.
In 4D, expressions can be **assignable**. An expression is assignable when it can be used on the left side of an assignation. For example:
diff --git a/versioned_docs/version-21/API/CollectionClass.md b/versioned_docs/version-21/API/CollectionClass.md
index 8aa55ef860d79c..39c269f2da33f4 100644
--- a/versioned_docs/version-21/API/CollectionClass.md
+++ b/versioned_docs/version-21/API/CollectionClass.md
@@ -4,7 +4,7 @@ title: Collection
---
-The Collection class manages [Collection](Concepts/dt_collection.md) type variables.
+The Collection class manages [Collection](Concepts/dt_collection.md) type expressions.
A collection is initialized with the [`New collection`](../commands/new-collection.md) or [`New shared collection`](../commands/new-shared-collection.md) commands.
@@ -295,13 +295,13 @@ $c.combine($fruits;3) //[1,2,3,"Orange","Banana","Apple","Grape",4,5,6]
-**.concat**( *value* : any { *;...valueN* } ) : Collection
+**.concat**( *value* : any { ; *...valueN* } ) : Collection
|Parameter|Type||Description|
|---------|--- |:---:|------|
-|value|Number, Text, Object, Collection, Date, Time, Boolean, Picture|->|Value(s) to concatenate. If *value* is a collection, all collection elements are added to the original collection|
+|value|any|->|Value(s) to concatenate. If *value* is a collection, all collection elements are added to the original collection|
|Result|Collection|<-|New collection with value(s) added to the original collection|
diff --git a/versioned_docs/version-21/API/WebFormClass.md b/versioned_docs/version-21/API/WebFormClass.md
index f0d979948c54db..8dbb4b7206aa72 100644
--- a/versioned_docs/version-21/API/WebFormClass.md
+++ b/versioned_docs/version-21/API/WebFormClass.md
@@ -4,7 +4,7 @@ title: WebForm
---
-The `WebForm` class contains functions and properties allowing to handle your Qodly webform components. This class is detailed in the [Qodly documentation](https://developer.qodly.com/docs/language/WebFormClass).
+The `WebForm` class contains functions and properties allowing to handle your Qodly web page components. `4D.WebForm` objects are instantiated with the [`webForm`](../commands/web-form.md) command.
History
@@ -16,21 +16,16 @@ The `WebForm` class contains functions and properties allowing to handle your Qo
-
-
### Commands and functions
||
|---|
-|[](#componentname)
|
+|[](#componentname)
|
|[](#disablestate)
|
|[](#enablestate)
|
|[](#seterror)
|
|[](#setmessage)
|
|[](#setwarning)
|
-|[](#web-form)
|
-|[](#web-event)
|
-
### *.componentName*
@@ -39,11 +34,27 @@ The `WebForm` class contains functions and properties allowing to handle your Qo
#### Description
-The components of webforms are objects that are available directly as properties of these webforms.
+The components of web pages are objects that are available directly as properties of these web pages.
+
+The returned objects are of the [`4D.WebFormItem`](WebFormItemClass.md) class. These objects have functions that you can use to manage your components dynamically.
+
+#### Example
+
+```4d
+shared singleton Class constructor()
+
+ var myForm : 4D.WebForm
+ var component : 4D.WebFormItem
+
+ myForm:=webForm //returns the web page as an object, each property is a component
+ component:=myForm.myImage //returns the myImage component of the web page
-For more information, please refer to the [`.componentName` description in the Qodly documentation](https://developer.qodly.com/docs/language/WebFormClass#componentname).
+```
+:::info
+While `myForm` may not display typical object properties when examined in the debugger, it behaves as if it were the actual `webForm` object. You can interact with the underlying `webForm` object's properties and functions through `myForm`. For example, you can dynamically manipulate page components or transmit messages to web pages using specialized functions like `myForm.setMessage()`.
+:::
### .disableState()
@@ -52,20 +63,20 @@ For more information, please refer to the [`.componentName` description in the Q
|Parameter|Type||Description|
|---------|--- |:---:|------|
-|state|string|->|Name of state to disable from the web form|
+|state|string|->|Name of state to disable from the web page|
#### Description
-The `.disableState()` function disables the rendering of the *state* in the current web form.
+The `.disableState()` function disables the rendering of the *state* in the current web page.
This function does nothing if:
-- the *state* is currently not enabled in the web form,
-- the *state* does not exist for the web form.
+- the *state* is currently not enabled in the web page,
+- the *state* does not exist for the web page.
If you [enable](#enablestate) or disable several states in the same user function, all modifications are sent at the same time to the client once the function ends.
-For more information on web form states, please refer to [developer.qodly.com](https://developer.qodly.com/docs/studio/pageLoaders/states).
+For more information on web pages states, please refer to the [States section in the Qodly documentation](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/states/stateOverview).
@@ -77,26 +88,26 @@ For more information on web form states, please refer to [developer.qodly.com](h
|Parameter|Type||Description|
|---------|--- |:---:|------|
-|state|string|->|Name of state to enable on the web form|
+|state|string|->|Name of state to enable on the web pages|
#### Description
-The `.enableState()` function enables the rendering of the *state* in the current web form.
+The `.enableState()` function enables the rendering of the *state* in the current web page.
This function does nothing if:
-- the *state* has already been enabled on the web form,
-- the *state* does not exist for the web form.
+- the *state* has already been enabled on the web page,
+- the *state* does not exist for the web page.
If you enable or [disable](#disablestate) several states within the same user function, all modifications are sent at the same time to the client once the function ends.
-For more information on web form states, please refer to [developer.qodly.com](https://developer.qodly.com/docs/studio/pageLoaders/states).
+For more information on web page states, please refer to the [States section in the Qodly documentation](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/states/stateOverview).
#### Example
You enable a specific state named "wrongCredentials" in case of error in your login page:
-```4d
+```4d
Function authenticationError()
If (Session.info.type#"remote")
Web Form.enableState("wrongCredentials")
@@ -111,16 +122,31 @@ Function authenticationError()
|Parameter|Type||Description|
|---------|--- |:---:|------|
-|msg|string|->|Error message to display in the web form|
+|msg|string|->|Error message to display in the web page|
#### Description
-The `.setError()` function sends *msg* as an error message to the web form.
+The `.setError()` function sends *msg* as an error message to the web page.
+
+The function returns a response with a `200 OK` status and a `__WEBFORM` object in the body with a `__NOTIFICATION.message` property set to *msg* and a `__NOTIFICATION.type` set to "error".
-For more information, please refer to the [`.setError()` description in the Qodly documentation](https://developer.qodly.com/docs/language/WebFormClass#seterror).
+#### Example
+
+```4d
+shared singleton Class constructor()
+exposed function myError()
+
+var myForm : 4D.WebForm
+myForm:=web Form
+
+myForm.setError("My error message")
+
+```
+If the [**Provide feedback**](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/events/bindingActionToEvents#providing-feedback) feature is enabled for the event, the *message* is automatically displayed as a red *toast* at the bottom of the Page and disappears automatically after 5 seconds:
+
### .setMessage()
@@ -129,62 +155,67 @@ For more information, please refer to the [`.setError()` description in the Qodl
|Parameter|Type||Description|
|---------|--- |:---:|------|
-|msg|string|->|Information message to display in the web form|
+|msg|string|->|Information message to display in the web page|
#### Description
-The `.setMessage()` function sends *msg* as an information message to the web form.
-
-For more information, please refer to the [`.setMessage()` description in the Qodly documentation](https://developer.qodly.com/docs/language/WebFormClass#setmessage).
+The `.setMessage()` function sends *msg* as an information message to the web page.
+The function returns a response with a `200 OK` status and a `__WEBFORM` object in the body with a `__NOTIFICATION.message` property set to *msg* and a `__NOTIFICATION.type` set to "message".
-### .setWarning()
+#### Example
-**.setWarning**( *msg* : string)
+```4d
+shared singleton Class constructor()
+exposed function myMessage()
-
-|Parameter|Type||Description|
-|---------|--- |:---:|------|
-|msg|string|->|Warning message to display in the web form|
-
+var myForm : 4D.WebForm
+myForm:=web Form
-#### Description
+myForm.setMessage("My information message")
-The `.setWarning()` function sends *msg* as a warning message to the web form.
+```
-For more information, please refer to the [`.setWarning()` description in the Qodly documentation](https://developer.qodly.com/docs/language/WebFormClass#setwarning).
+If the [**Provide feedback**](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/events/bindingActionToEvents#providing-feedback) feature is enabled for the event, the *message* is automatically displayed as a green *toast* at the bottom of the Page and disappears automatically after 5 seconds:
+
-## Web Form
+### .setWarning()
-**Web Form** : 4D.WebForm
+**.setWarning**( *msg* : string)
-
+
|Parameter|Type||Description|
|---------|--- |:---:|------|
-|Result|4D.WebForm|<-|New `WebForm` proxy object
+|msg|string|->|Warning message to display in the web page|
#### Description
-The `Web Form` command returns a `4D.WebForm` proxy object that allows you to interact with the web form.
+The `.setWarning()` function sends *msg* as a warning message to the web page.
-For more information, please refer to the [`webForm` command description in the Qodly documentation](https://developer.qodly.com/docs/language/WebFormClass#webform).
+The function returns a response with a `200 OK` status and a `__WEBFORM` object in the body with a `__NOTIFICATION.message` property set to *msg* and a `__NOTIFICATION.type` set to "warning".
+#### Example
-## Web Event
+```4d
+shared singleton Class constructor()
+exposed function myWarning()
-**Web Event** : Object
+var myForm : 4D.WebForm
+myForm:=web Form
-
-|Parameter|Type||Description|
-|---------|--- |:---:|------|
-|Result|object|<-| object
-
+myForm.setWarning("My warning message")
-#### Description
+```
+
+If the [**Provide feedback**](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/events/bindingActionToEvents#providing-feedback) feature is enabled for the event, the *message* is automatically displayed as a yellow *toast* at the bottom of the web page and disappears automatically after 5 seconds:
+
+
-The `Web Event` command returns an object with information on a triggered event linked to a webform component.
+## See also
-For more information, please refer to the [`webEvent` command description in the Qodly documentation](https://developer.qodly.com/docs/language/WebFormClass#webevent).
+[Web Form](../commands/web-form.md)
+[Web Event](../commands/web-event.md)
+[WebFormItem class](../API/WebFormItemClass.md)
\ No newline at end of file
diff --git a/versioned_docs/version-21/API/WebFormItemClass.md b/versioned_docs/version-21/API/WebFormItemClass.md
index 79a1f83eb19747..e21473dece77d5 100644
--- a/versioned_docs/version-21/API/WebFormItemClass.md
+++ b/versioned_docs/version-21/API/WebFormItemClass.md
@@ -4,9 +4,13 @@ title: WebFormItem
---
-`4D.WebFormItem` objects are properties of the [`4D.WebForm`](WebFormItemClass.md) object returned by the [`Web Form`](WebFormClass.md#web-form) command.
+The `4D.WebFormItem` class allows you to handle the behavior of your Qodly webform components.
-The `WebFormItem` class is detailed in the [Qodly documentation](https://developer.qodly.com/docs/language/WebFormItemClass).
+`4D.WebFormItem` objects are properties of the [`4D.WebForm`](WebFormClass.md) object returned by the [`Web Form`](../commands/web-form.md) command.
+
+When you call the [`Web Form`](../commands/web-form.md) command, the returned `4D.WebForm` proxy object holds as many `4D.WebFormItems` as there are components with [**server-side references**](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/pageLoaderOverview#server-side) in your webform.
+
+For example, `WebFormObject.myImage` refers to the image component with `myImage` as server reference.
History
@@ -27,31 +31,28 @@ The `WebFormItem` class is detailed in the [Qodly documentation](https://develop
|[](#show)
|
-### .hide()
-**.hide**()
+### .addCSSClass()
-
+**.addCSSClass**(*className* : string)
+
+
|Parameter|Type||Description|
|---------|--- |:---:|------|
-||||Does not require any parameters|
+|className|string|->|Name of the CSS class to add to the component|
-
#### Description
-The `.hide()` function hides the component.
-
-
-For more information, please refer to the [`.hide()` description in the Qodly documentation](https://developer.qodly.com/docs/language/WebFormItemClass#hide).
+The `.addCSSClass` function adds the class specified in *className* to the component.
-### .show()
-**.show**()
+### .hide()
+**.hide**()
-
+
|Parameter|Type||Description|
|---------|--- |:---:|------|
||||Does not require any parameters|
@@ -60,44 +61,68 @@ For more information, please refer to the [`.hide()` description in the Qodly do
#### Description
-The `.show()` function makes the component visible.
+The `.hide()` function hides the component.
-For more information, please refer to the [`.show()` description in the Qodly documentation](https://developer.qodly.com/docs/language/WebFormItemClass#show).
+#### Example
+To call a function that hides an image when the user clicks a button:
-### .addCSSClass()
+1. Create an [exposed](../ORDA/ordaClasses.md#exposed-vs-non-exposed-functions) function inside a shared singleton class named `isHidden` that contains the following code:
-**.addCSSClass**(*className* : string)
+```4d
-
+shared singleton Class constructor()
+exposed Function isHidden()
+ var myComponent : 4D.WebFormItem
+
+ myComponent:=Web Form.myImage
+ myComponent.hide() // Hide the component that has "myImage" as server reference
+```
+2. In Qodly Studio: Select the image component on the canvas, and enter a server-side reference in the Properties Panel > Server Side, for example "myImage".
+3. Select the Button component and add an `onclick` event to it.
+4. Attach the `isHidden` function to the event.
+
+
+
+### .removeCSSClass()
+
+
+**.removeCSSClass**(*className*: string)
+
+
|Parameter|Type||Description|
|---------|--- |:---:|------|
-|className|string|->|Name of the CSS class to add to the component|
+|className|string|->|Name of the CSS class to remove from the component|
#### Description
-The `.addCSSClass` function adds the class specified in *className* to the component.
+The `.removeCSSClass()` function removes the class specified in *className* from the component.
-For more information, please refer to the [`.addCSSClass` description in the Qodly documentation](https://developer.qodly.com/docs/language/WebFormItemClass#addcssclass).
-### .removeCSSClass()
+### .show()
+**.show**()
-**.removeCSSClass**(*className*: string)
-
+
|Parameter|Type||Description|
|---------|--- |:---:|------|
-|className|string|->|Name of the CSS class to remove from the component|
+||||Does not require any parameters|
+
#### Description
-The `.removeCSSClass()` function removes the class specified in *className* from the component.
+The `.show()` function makes the component visible.If the component was already visible, the function does nothing.
+
+
+## See also
-For more information, please refer to the [`.removeCSSClass()` description in the Qodly documentation](https://developer.qodly.com/docs/language/WebFormItemClass#removecssclass).
+[Web Form](../commands/web-form.md)
+[Web Event](../commands/web-event.md)
+[WebForm class](WebFormClass.md)
diff --git a/versioned_docs/version-21/Concepts/dt_number.md b/versioned_docs/version-21/Concepts/dt_number.md
index 0735ba7811d630..059ddecfaea7e3 100644
--- a/versioned_docs/version-21/Concepts/dt_number.md
+++ b/versioned_docs/version-21/Concepts/dt_number.md
@@ -79,9 +79,9 @@ The modulo operator % returns significant values with numbers that are in the Lo
:::
-### Longint division
+### Integer division
-The longint division operator \ returns significant values with integer numbers only.
+The integer division operator divides one number by another and returns the whole number part of the result, discarding any remainder. `a\b` is equivalent to `Int(a/b)`. This operator returns significant values with integer numbers only.
### Real comparison
diff --git a/versioned_docs/version-21/Concepts/quick-tour.md b/versioned_docs/version-21/Concepts/quick-tour.md
index 7547dbfaeebd65..5cc1d247e13bb2 100644
--- a/versioned_docs/version-21/Concepts/quick-tour.md
+++ b/versioned_docs/version-21/Concepts/quick-tour.md
@@ -318,7 +318,7 @@ You refer to an expression by the data type it returns. There are several expres
|Col[5]|Collection element|A collection element is an expression that can be of any supported type|
|$entitySel[0]|Entity|A element of an ORDA entity selection is an expression of the entity type. This kind of expression is **non-assignable**|
-### Assignable vs non-assignable expressions
+### Assignable vs non-assignable expressions {#assignable-vs-non-assignable-expressions}
An expression can simply be a literal constant, such as the number 4 or the string "Hello", or a variable like `$myButton`. It can also use operators. For example, 4 + 2 is an expression that uses the addition operator to add two numbers together and return the result 6. In any cases, these expressions are **non-assignable**, which means that you cannot assign a value to them.
In 4D, expressions can be **assignable**. An expression is assignable when it can be used on the left side of an assignation. For example:
diff --git a/versioned_docs/version-21/FormEditor/forms.md b/versioned_docs/version-21/FormEditor/forms.md
index 1bb9f5f24bc3ac..79f1e63453313b 100644
--- a/versioned_docs/version-21/FormEditor/forms.md
+++ b/versioned_docs/version-21/FormEditor/forms.md
@@ -116,12 +116,13 @@ Fluent UI support is currently in the Developer Preview phase. It should not be
:::
-:::info macOS
+:::info Availability
-This feature can only be used on Windows. On macOS, it is ignored.
+This feature can be used **in 4D projects on Windows**. It is not available on macOS or in binary 4D databases on Windows.
:::
+
:::tip Related blog post
[Modernize your 4D interfaces with Fluent UI](https://blog.4d.com/modernize-your-4d-interfaces-with-fluent-ui)
diff --git a/versioned_docs/version-21/FormObjects/webArea_overview.md b/versioned_docs/version-21/FormObjects/webArea_overview.md
index b2a9370819a36f..aaa2f7f8cb3736 100644
--- a/versioned_docs/version-21/FormObjects/webArea_overview.md
+++ b/versioned_docs/version-21/FormObjects/webArea_overview.md
@@ -346,9 +346,11 @@ The default 4DCEFParameters.json file contains the following switches:
}
```
-### See also
+:::info Related blog post
-[Specify your own parameters to initialize the embedded web area (blog post)](https://blog.4d.com/specify-your-own-parameters-to-initialize-the-embedded-web-area)
+[Custom Parameters for Initializing Embedded Web Area](https://blog.4d.com/custom-parameters-for-initializing-embedded-web-area/)
+
+:::
diff --git a/versioned_docs/version-21/Notes/updates.md b/versioned_docs/version-21/Notes/updates.md
index 8448ddca6575b1..540ac33b9a0381 100644
--- a/versioned_docs/version-21/Notes/updates.md
+++ b/versioned_docs/version-21/Notes/updates.md
@@ -28,6 +28,7 @@ Read [**What’s new in 4D 21**](https://blog.4d.com/en-whats-new-in-4d-21/), th
- New "trim" commands to remove leading and trailing spaces from a string: [`Trim`](../commands/trim.md), [`Trim start`](../commands/trim-start.md), and [`Trim end`](../commands/trim-end.md).
- [`Num`](../commands/num.md) and [`String`](../commands/string.md) commands have been updated to support conversions in different bases (radix).
- [**Fixed bug list**](https://bugs.4d.fr/fixedbugslist?version=21): list of all bugs that have been fixed in 4D 21.
+- [**4D Qodly Pro Release notes**](https://developer.4d.com/qodly/4DQodlyPro/release-notes): what's new in Qodly Studio.
#### Developer Preview
@@ -42,7 +43,7 @@ Read [**What’s new in 4D 21**](https://blog.4d.com/en-whats-new-in-4d-21/), th
:::
-- Web services (SOAP): when [scalable sessions](../WebServer/sessions.md#enabling-web-sessions) are enabled, web services now run in [**preemptive processes**](../Develop/preemptive.md) in compiled mode. Make sure your SOAP code is thread-safe.
+- Web services (SOAP): when [scalable sessions](../WebServer/sessions.md#enabling-web-sessions) are enabled, web services now run in [**preemptive processes**](../Develop/preemptive.md) in compiled mode. Make sure that your SOAP code is thread-safe and that the session in which it runs has appropriate [privileges](../API/SessionClass.md#setprivileges).
- Web server: the support of deprecated `4DSYNC/` and `4DCGI/` URLs is removed. No specific processing is done on these URLs anymore.
- Web user sessions are now returned by [`Process activity`](../commands/process-activity.md).
- The [`HIGHLIGHT TEXT`](../commands/highlight-text) command is now supported in the context of subforms.
diff --git a/versioned_docs/version-21/REST/authUsers.md b/versioned_docs/version-21/REST/authUsers.md
index 68f8275332869b..28c75eb7b8b915 100644
--- a/versioned_docs/version-21/REST/authUsers.md
+++ b/versioned_docs/version-21/REST/authUsers.md
@@ -21,7 +21,7 @@ A session is opened after the user was successfully logged (see below).
:::note Compatibility
-The legacy login mode based upon the `On REST Authentication` database method is **deprecated** as of 4D 20 R6. It is now recommended to [use the **force login mode**](../ORDA/privileges.md#rolesjson-file) (automatically enabled in new projects) and to implement the [`ds.authentify()` function](#function-authentify). In converted projects, [a button in the Settings dialog box](../settings/web.md#activate-rest-authentication-through-dsauthentify-function) will help you upgrade your configuration. In Qodly Studio for 4D, the mode can be set using the [**Force login** option](../WebServer/qodly-studio.md#force-login) in the Privileges panel.
+The legacy login mode based upon the `On REST Authentication` database method is **deprecated** as of 4D 20 R6. It is now recommended to [use the **force login mode**](../ORDA/privileges.md#rolesjson-file) (automatically enabled in new projects) and to implement the [`ds.authentify()` function](#function-authentify). In converted projects, [a button in the Settings dialog box](../settings/web.md#activate-rest-authentication-through-dsauthentify-function) will help you upgrade your configuration. In Qodly Studio for 4D, the mode can be set using the [**Force login** option](https://developer.4d.com/qodly/4DQodlyPro/force-login) in the Privileges panel.
:::
diff --git a/versioned_docs/version-21/WebServer/from-qodlyscript-to-4d.md b/versioned_docs/version-21/WebServer/from-qodlyscript-to-4d.md
deleted file mode 100644
index 471949cddac312..00000000000000
--- a/versioned_docs/version-21/WebServer/from-qodlyscript-to-4d.md
+++ /dev/null
@@ -1,78 +0,0 @@
----
-id: from-qodlyscript-to-4d
-title: From QodlyScript to 4D Language
----
-
-4D developers use the [Qodly Studio documentation](https://developer.qodly.com/docs/studio/overview) to learn how to design their Qodly forms in Qodly Studio.
-
-Code examples are provided in [QodlyScript](https://developer.qodly.com/docs/category/qodlyscript), but since QodlyScript inherits from the 4D Language, you won't be lost. Converting QodlyScript code to 4D language is easy, it only requires some adaptations.
-
-## Variable names
-
-QodlyScript only support local variables, so variables in QodlyScript examples are not prefixed with `$`. In the 4D code, make sure to **prefix variable names with `$`** so that they are identifed as local variables by 4D.
-
-## Symbols and keywords
-
-Some basic symbols, operators, and keywords differ in QodlyScript and must be adapted to the 4D Language. They are listed below:
-
-|QodlyScript|4D Language|Comment|
-|---|---|---|
-|, |;|argument separator|
-|= |:=|assignment operator|
-|== |=|comparison operator|
-|declare|#Declare||
-|switch|Case of||
-|constructor|Class constructor||
-|extends|Class extends||
-|end|End for, End For each, End if, End case, End use, End while||
-|forEach|For each||
-|string|Text|var type|
-|number|Real|var type|
-
-Some other items have a different case (ex: `this` vs `This`) but can be pasted directly in 4D code.
-
-
-## Command and Constant names
-
-QodlyScript command and constant names are written in camel case without spaces. In addition, QodlyScript constant names start with a `k` letter. You might need to adapt these QodlyScript items to the 4D Language.
-
-- Usually, you will only have to simply convert names. For example, `newCollection` in QodlyScript is `New collection` in 4D Language.
-- However, some commands have been renamed for a better compliance, for example `atan` and `sqrt` are QodlyScript names for `Arctan` and `Square root` commands in 4D Language.
-
-
-### Example
-
-- QodlyScript code:
-
-```qs
- declare(entitySelection : 4D.EntitySelection)
- var dataClass : 4D.DataClass
- var entity, duplicate : 4D.Entity
- var status : object
- dataClass=entitySelection.getDataClass()
- forEach(entity,entitySelection)
- duplicate=dataClass.new()
- duplicate.fromObject(entity.toObject())
- duplicate[dataClass.getInfo().primaryKey]=null
- status=duplicate.save()
- end
-```
-
-
-
-- 4D Language equivalent code:
-
-```4d
- #DECLARE ( $entitySelection : 4D.EntitySelection )
- var $dataClass : 4D.DataClass
- var $entity; $duplicate : 4D.Entity
- var $status : Object
- $dataClass:=$entitySelection.getDataClass()
- For each($entity;$entitySelection)
- $duplicate:=$dataClass.new()
- $duplicate.fromObject($entity.toObject())
- $duplicate[$dataClass.getInfo().primaryKey]:=Null
- $status:=$duplicate.save()
- End for each
-
-```
diff --git a/versioned_docs/version-21/WebServer/qodly-studio.md b/versioned_docs/version-21/WebServer/qodly-studio.md
deleted file mode 100644
index 92713814a47185..00000000000000
--- a/versioned_docs/version-21/WebServer/qodly-studio.md
+++ /dev/null
@@ -1,400 +0,0 @@
----
-id: qodly-studio
-title: Qodly Studio for 4D
----
-
-**Qodly Studio** is an interface builder for web applications. It provides developers with a graphical page editor to design applications running in web browsers or smartphones. It supports natively the [ORDA objects](../ORDA/overview.md).
-
-You can use Qodly Studio directly from your **4D environment** to build modern and sophisticated interfaces that you can easily integrate to your existing 4D projects and deploy **on premise**.
-
-Qodly Studio can also be used in the [**Qodly Cloud platform**](https://qodly.com), dedicated to the development of web business applications.
-
-Qodly Studio proposes a full-featured web UI, allowing you to:
-
-- create Qodly pages by placing components on a canvas
-- map components to Qodly Sources
-- trigger 4D code by configuring events
-- and much more.
-
-
-## Configuration
-
-### Requirements
-
-#### Browser
-
-Qodly Studio supports the following web browsers:
-
-- Chrome
-- Edge
-- FireFox
-
-The recommended resolution is 1920x1080.
-
-#### 4D application
-
-- Development: 4D v20 R2 or higher
-- Deployment: 4D Server v20 R2 or higher
-- Qodly Studio only works with 4D projects (binary databases are not supported).
-- Web sessions (*aka* Scalable sessions) must [be enabled](sessions.md#enabling-web-sessions).
-- The 4D code called by Qodly forms must be [thread-safe](preemptiveWeb.md).
-
-
-### Enabling access to Qodly Studio
-
-By default, access to Qodly Studio is not granted.
-
-Qodly Studio is served by the [WebAdmin web server](../Admin/webAdmin.md) and displays data from 4D projects handled by the [4D web server](webServer.md).
-
-To enable access to Qodly Studio, you must explicitly allow it at two levels:
-
-* at 4D application level
-* at project level
-
-
-If one of the two levels (or both) are not enabled, access to Qodly Studio is denied (a 403 page is returned).
-
-#### At 4D level
-
-As a first security level, you need to [allow access to Qodly Studio on the WebAdmin web server](../Admin/webAdmin.md#enable-access-to-qodly-studio). This setting applies to the 4D application (4D or 4D Server) on the host machine. All projects opened with that 4D application take this setting into account.
-
-Keep this option unchecked if you want to make sure no access to Qodly Studio is allowed on the application. Check this option to make it possible to access Qodly Studio. However, you still need to enable it at every project level.
-
-Additionally, you can [configure the WebAdmin web server's HTTP/HTTPS port used](../Admin/webAdmin.md#accept-http-connections-on-localhost).
-
-:::note
-
-After any change to these settings, you must [restart the WebAdmin web server](../Admin/webAdmin.md#start-and-stop) for the new configuration to be effective.
-
-:::
-
-#### At project level
-
-After you have enabled access to Qodly Studio at the 4D level, you need to explicitly designate every project that can be accessed. The **Enable access to Qodly Studio** option must be enabled on the [Web Features page of the 4D application's Settings](../settings/web.md#enable-access-to-qodly-studio).
-
-Keep in mind that [user settings](../settings/overview.md) can be defined at several levels, and that priorities apply.
-
-
-### Activating authentication
-
-Authentication on the WebAdmin web server is granted using an access key. For more details, see [Access key](../Admin/webAdmin.md#access-key).
-
-
-### Development and deployment
-
-In accordance with the management of 4D projects, only the following usages are supported:
-
-- development with Qodly Studio must be done using **4D** (single-user).
-- deployment of 4D applications powered with Qodly pages must be done using **4D Server**.
-
-:::warning
-
-You can open Qodly Studio, [debug](#using-qodly-debugger-on-4d-server) and edit Qodly pages directly on a 4D Server machine when a project is running in interpreted mode. This feature is only provided for testing and debugging purposes, for example to evaluate the application flow with actual data, or in multi-user environment. It must NOT be considered as a regular way to develop applications since it does not provide any control over concurrent accesses.
-
-:::
-
-
-
-## Opening Qodly Studio
-
-The Qodly Studio page is available when the [WebAdmin web server is running](../Admin/webAdmin.md#start-and-stop) and authentication is activated (see above).
-
-There are two ways to access Qodly Studio:
-
-* by selecting the **Qodly Studio...** menu command from the **Design** menu (4D single-user) or the **Window** menu (4D Server).
-If the WebAdmin web server is already running, depending on its configuration, your default browser opens at `IPaddress:HTTPPort/studio` or `IPaddress:HTTPSPort/studio`. Otherwise, you will be prompted if you want to start the WebAdmin web server first.
-
-* on a browser, with the WebAdmin web server running (launched from 4D or 4D Server), enter the following address:
- `IPaddress:HTTPPort/studio`
-
- or:
-
- `IPaddress:HTTPSPort/studio`
-
- For example, after launching a local web server on port 7080, type this address in your browser:
-
- `localhost:7080/studio`
-
- You will then be prompted to enter the [access key](../Admin/webAdmin.md#access-key) to access Qodly Studio.
-
-
-
-## Developing with Qodly Studio
-
-### Documentation
-
-The Qodly Studio documentation is available on the [Qodly documentation website](https://developer.qodly.com/docs/studio/overview).
-
-You can rely on this documentation and its associated resources for developing web applications powered by Qodly pages. However, depending on implementation stage, 4D developers will either use Qodly Studio or 4D IDE (see [Feature comparison](#feature-comparison)).
-
-Code examples are provided in [QodlyScript](https://developer.qodly.com/docs/category/qodlyscript), but since QodlyScript inherits from the 4D Language, you won't be lost. For more information, see the [From QodlyScript to 4D Language](from-qodlyscript-to-4d.md) page.
-
-:::info
-
-There is no direct compatibility between apps implemented with 4D and apps implemented with Qodly.
-
-:::
-
-### Feature comparison
-
-||Qodly Studio in 4D|Qodly Studio in Qodly Cloud platform|
-|---|---|---|
-|View and edit tables (dataclasses), attributes and relations|4D Structure Editor(1)|Qodly Studio Model Editor|
-|Qodly pages|Qodly Studio Page Editor|Qodly Studio Page Editor|
-|Desktop forms|4D IDE|*not supported*|
-|Programming language|4D Language featuring ORDA|[QodlyScript](https://developer.qodly.com/docs/category/qodlyscript) featuring ORDA|
-|Coding IDE|4D IDE code editor *or* VS Code with [4D-Analyzer extension](https://github.com/4d/4D-Analyzer-VSCode)
*4D Server only*: Qodly Studio code editor (see (2))|Qodly Studio code editor|
-|Debugger|4D IDE debugger
*4D Server only*: Qodly Studio debugger (see [this paragraph](#using-qodly-debugger-on-4d-server))|Qodly Studio debugger|
-|REST/Web roles and privileges|roles.json direct edit/Qodly Studio roles and privileges editor|Qodly Studio role and privileges editor|
-
-(1) The **Model** item is disabled in Qodly Studio.
-(2) In 4D Server, opening 4D code with the Qodly Studio code editor is supported **for testing and debugging purposes** (see [this paragraph](#development-and-deployment)). Note that in 4D single-user, if you open some 4D code with the Qodly Studio code editor, syntax coloring is not available and a "Lsp not loaded" warning is displayed.
-
-
-### Language
-
-The following commands and classes are dedicated to the server-side management of Qodly pages:
-
-- [`Web Form`](../API/WebFormClass.md#web-form) command: returns the Qodly page as an object.
-- [`Web Event`](../API/WebFormClass.md#web-event) command: returns events triggered within Qodly page components.
-- [`WebForm`](../API/WebFormClass.md) class: functions and properties to manage the rendered Qodly page.
-- [`WebFormItem`](../API/WebFormItemClass.md) class: functions and properties to manage Qodly page components.
-
-
-### Using project methods
-
-We recommend using class functions over project methods. Only class functions can be called from components. However, you can still use your project methods in Qodly Studio in two ways:
-
-- You can call your methods from class functions.
-- You can directly [execute your methods](https://developer.qodly.com/docs/studio/coding#methods-and-classes) from the Qodly Explorer.
-
-
-### Offline use
-
-You can develop with Qodly Studio while your computer is not connected to the internet. In this case however, the following features are not available:
-
-- [Templates](https://developer.qodly.com/docs/studio/pageLoaders/templates): the Template library is empty
-- UI tips: they are not displayed when you click on  icons.
-
-
-
-
-## Deployment
-
-### Enabling rendering
-
-Qodly Studio encapsulates Qodly pages, including layout, data connections, and event-driven logic, in a structured JSON file. This JSON file is processed on-the-fly by the **Qodly renderer** to serve a fully functional web page.
-
-:::info
-
-See [this page](https://developer.qodly.com/docs/studio/rendering) for detailed information on how to render Qodly pages in Qodly.
-
-:::
-
-To enable the rendering of Qodly pages, the following options must be set.
-
-* The 4D project's **Settings** > **Web** > **Web Features** > [**Expose as REST server**](../settings/web.md#expose-as-rest-server) option must be activated.
-* The [4D web server](webServer.md) must be running.
-
-:::note
-
-[Renderer buttons](https://developer.qodly.com/docs/studio/rendering#how-to-render-a-webform) are not available if the configuration options are not activated.
-
-:::
-
-### Scope of Qodly forms
-
-When rendering Qodly forms in the Qodly Studio, the renderer will connect to the 4D web server through HTTP or HTTPS, depending on the settings, following the same HTTP/HTTPS connection pattern as for the [4D WebAdmin web server](../Admin/webAdmin.md#accept-http-connections-on-localhost). See also [this paragraph](#about-license-usage-for-rendering) about URL schemes and license usage.
-
-
-Keep in mind that Qodly Studio runs through the 4D WebAdmin web server. When you use Qodly Studio as a developer, even when you preview a Qodly Page in the studio, you're using the 4D WebAdmin web server. This allows you to see dataclasses, functions and attributes that are not exposed as REST resources for example (they are greyed out).
-
-However, page rendering happens outside Qodly Studio, and is served by the standard 4D web server. In this situation, your web application cannot access assets that are not exposed as REST resources. See [Exposed vs non-exposed functions](../ORDA/ordaClasses.md#exposed-vs-non-exposed-functions) and [Exposing tables](../REST/configuration.md#exposing-tables) for more information on how to expose assets.
-
-
-
-
-### Accessing Qodly pages
-
-For deployment, the WebAdmin server is not necessary. End-user access to your web application made with Qodly Studio is based on the 4D REST protocol, and as such, it works as through a conventional 4D remote application.
-
-Your Qodly pages are available through the following url:
-
-```
-IP:port/$lib/renderer/?w=QodlyPageName
-```
-
-...where *IP:port* represents the address of the web server and *QodlyPageName* is the name of the Qodly page.
-
-For example:
-
-```
-https://www.myWebSite.com/$lib/renderer/?w=welcome
-```
-
-### Preview Qodly Application
-
-You can preview your Qodly application at any moment by selecting the **Preview Qodly Application...** command in the **Windows** menu (4D Server) or in the **Design** menu (4D single-user).
-
-This command launches the Qodly renderer on a local address in your default browser and displays the **start page** [defined in the Application settings](https://developer.qodly.com/docs/studio/settings#start-page) of Qodly Studio.
-
-
-
-
-### Using Qodly debugger on 4D Server
-
-When using Qodly pages in a deployed 4D Server application (interpreted mode), you might encounter some cases where you need to debug your pages on the server, for example when a specific user configuration is required. In this case, you can attach the [Qodly Studio debugger](https://developer.qodly.com/docs/studio/debugging) to the 4D Server and then, benefit from its features when executing your Qodly pages.
-
-Note that in this case, the Qodly Studio debugger will display all the code executed on the server, in accordance with the [attached debugger rule on 4D Server](../Debugging/debugging-remote.md#attached-debugger).
-
-To attach the Qodly Studio debugger to your running 4D Server application:
-
-1. [Open Qodly Studio](#opening-qodly-studio) from 4D Server.
-
-:::note
-
-The project must be running in interpreted mode so that **Qodly Studio** menu item is available.
-
-:::
-
-2. In the Qodly Studio toolbar, click on the **Debug** button.
-
-
-If the debug session starts successfully, a green bullet appears on the button label  and you can use the Qodly Studio debugger.
-
-If the debugger is already attached to a another machine or another Qodly Studio page, an error is displayed. You have to detach it beforehand from the other location.
-
-To detach the Qodly Studio debugger from your running 4D Server application:
-
-1. Click the **Debug** button in the Qodly Studio toolbar while a debug session is active.
-A warning dialog box will prompt you to confirm whether you want to detach the debugger.
-2. Select **Keep in progress** to continue evaluating the code until the end of the current method or function before detaching the debugger, or **Stop** to detach the debugger immediately.
-
-
-
-
-## Force login
-
-With Qodly Studio for 4D, the ["force login" mode](../REST/authUsers.md#force-login-mode) allows you to control the number of opened web sessions that require 4D Client licenses. You can also [logout](#logout) the user at any moment to decrement the number of retained licenses.
-
-### Configuration
-
-Make sure the ["force login" mode](../REST/authUsers.md#force-login-mode) is enabled for your 4D application in the [Roles and Privileges page](https://developer.qodly.com/docs/studio/roles/rolesPrivilegesOverview), using the **Force login** option:
-
-
-
-You can also set this option directly in the [**roles.json** file](../ORDA/privileges.md#rolesjson-file).
-
-You just need then to implemented the [`authentify()`](../REST/authUsers.md#function-authentify) function in the datastore class and call it from the Qodly page. A licence will be consumed only when the user is actually logged.
-
-
-:::note Compatibility
-
-When the legacy login mode ([deprecated as of 4D 20 R6](https://blog.4d.com/force-login-becomes-default-for-all-rest-auth)) is enabled, any REST request, including the rendering of an authentication Qodly page, creates a web session on the server and gets a 4D Client license, whatever the actual result of the authentication. For more information, refer to [this blog post](https://blog.4d.com/improved-4d-client-licenses-usage-with-qodly-studio-for-4d) that tells the full story.
-
-:::
-
-#### Example
-
-In a simple Qodly page with login/password inputs, a "Submit" button calls the following `authentify()` function we have implemented in the DataStore class:
-
-```4d
-
-exposed Function authentify($credentials : Object) : Text
-
-var $salesPersons : cs.SalesPersonsSelection
-var $sp : cs.SalesPersonsEntity
-
-$salesPersons:=ds.SalesPersons.query("identifier = :1"; $credentials.identifier)
-$sp:=$salesPersons.first()
-
-If ($sp#Null)
- If (Verify password hash($credentials.password; $sp.password))
-
- Session.clearPrivileges()
- Session.setPrivileges("") //guest session
-
- return "Authentication successful"
- Else
- return "Wrong password"
- End if
-Else
- return "Wrong user"
-End if
-```
-
-This call is accepted and as long as the authentication is not successful, `Session.setPrivileges()` is not called, thus no license is consumed. Once `Session.setPrivileges()` is called, a 4D client licence is used and any REST request is then accepted.
-
-
-
-### Logout
-
-When the ["force login" mode is enabled](#force-login), Qodly Studio for 4D allows you to implement a logout feature in your application.
-
-To logout the user, you just need to execute the **Logout** standard action from the Qodly page. In Qodly Studio, you can associate this standard action to a button for example:
-
-
-
-Triggering the logout action from a web user session has the following effects:
-
-- the current web user session loses its privileges, only [descriptive REST requests](../REST/authUsers.md#descriptive-rest-requests) are allowed,
-- the associated 4D license is released,
-- the `Session.storage` is kept until the web session inactivity timeout is reached (at least one hour). During this period after a logout, if the user logs in again, the same session is used and the `Session.storage` shared object is available with its current contents.
-
-
-
-
-## About license usage for rendering
-
-In default mode when any page is rendered, or in "force login" mode when a page handling data or calling a function is rendered, you must have an available license, as rendering Qodly forms targets the project database's main web server.
-
-### URL Schemes
-
-Qodly Studio's URL scheme configuration (HTTP and HTTPS) determines how many licenses are retained when rendering Qodly forms. With the appropriate configuration, you can avoid unnecessary license retaining.
-
-As explained in the [configuration](#configuration) section, the WebAdmin web server provides a secured web access to Qodly Studio. On the other hand, the [renderer](#enabling-rendering) communicates with the 4D web server of the database using REST requests. As such, it behaves like a conventional 4D Client.
-
-If you run the renderer from the Qodly Studio and these two web servers are not reached through the same URL scheme (HTTP or HTTPS), it might lead to wrong licence counting.
-
-:::info
-
-Using different schemes might also lead to [session](sessions.md) issues, such as losing [privileges](../ORDA/privileges.md) after a page refresh.
-
-:::
-
-#### Example
-
-1. You run the Qodly Studio on an HTTPS URL scheme (e.g. `https://127.0.0.1:7443/studio/`)
-
-2. The web server of your database is started only on an HTTP port.
-
-
-
-3. In Qodly Studio, you click on the **Preview** icon. You are warned that the two web servers are started on different schemes, but despite this you click on the **Confirm** button.
-
-
-
-As a result, two licenses are retained.
-
-:::note
-
-You can enable/disable the display of the renderer pop over using a Qodly Studio user setting.
-
-:::
-
-### SameSite attribute
-
-The behavior previously described is due to the session cookie of the 4D web server. This session cookie has a `SameSite` attribute that determines if the session cookie is sent to the web server.
-
-If the `SameSite` attribute's value is `Strict` (default), the session cookie is not sent to the web server, so a new session is opened each time a page is rendered or refreshed.
-
-For more information on the `SameSite` attribute, check out [this blog post](https://blog.4d.com/get-ready-for-the-new-SameSite-and-secure-attributes-for-cookies/).
-
-### Recommendations
-
-To avoid using more licenses than necessary, we recommend doing one of the following:
-
-- Run the renderer on another browser tab (by entering the rendered URL of your Qodly page: `IP:port/$lib/renderer/?w=QodlyPageName`).
-- Ensure the Qodly Studio and your database are reached on the same URL scheme.
-- Use the `Lax` value for the [session cookie](webServerConfig.md#session-cookie-samesite) of your project database's web server.
-
diff --git a/versioned_docs/version-21/WebServer/sessions.md b/versioned_docs/version-21/WebServer/sessions.md
index d0a2bd033577be..de6ef58170d98c 100644
--- a/versioned_docs/version-21/WebServer/sessions.md
+++ b/versioned_docs/version-21/WebServer/sessions.md
@@ -26,7 +26,7 @@ Web sessions are used for:
- calls to the [REST API](../REST/authUsers.md), which are used by [remote datastores](../ORDA/remoteDatastores.md) and [Qodly forms](qodly-studio.md).
-## Enabling web sessions
+## Enabling web sessions {#enabling-web-sessions}
The session management feature can be enabled and disabled on your 4D web server. There are different ways to enable session management:
@@ -209,7 +209,7 @@ Else
End if
```
-:::tips Related blog posts
+:::tip Related blog posts
[Scalable sessions for advanced web applications](https://blog.4d.com/scalable-sessions-for-advanced-web-applications/)
@@ -221,7 +221,7 @@ The 4D web server allows you to generate, share, and use OTP (One-Time Passcode)
In 4D, OTP session tokens are useful when calling external URLs and being called back in another browser or device (mobile/computer). Typically, a third-party application sends a confirmation email containing a callback link on which the user has to click. The callback link includes the OTP token, so that the session which triggered the callback is loaded along with its data and privileges. This principle allows you to share the same session on multiple devices. Thanks to this architecture, the [session cookie](#session-implementation) is not exposed on the network, which eliminates the risk of man-in-the-middle attack.
-:::tips Related blog posts
+:::tip Related blog posts
[Connect Your Web Apps to Third-Party Systems](https://blog.4d.com/connect-your-web-apps-to-third-party-systems/)
diff --git a/versioned_docs/version-21/assets/en/API/webformClass-pic1.png b/versioned_docs/version-21/assets/en/API/webformClass-pic1.png
new file mode 100644
index 00000000000000..5c3de142c5af11
Binary files /dev/null and b/versioned_docs/version-21/assets/en/API/webformClass-pic1.png differ
diff --git a/versioned_docs/version-21/assets/en/API/webformClass-pic2.png b/versioned_docs/version-21/assets/en/API/webformClass-pic2.png
new file mode 100644
index 00000000000000..7f1ec3a19a8764
Binary files /dev/null and b/versioned_docs/version-21/assets/en/API/webformClass-pic2.png differ
diff --git a/versioned_docs/version-21/assets/en/API/webformClass-pic3.png b/versioned_docs/version-21/assets/en/API/webformClass-pic3.png
new file mode 100644
index 00000000000000..9c128642916f95
Binary files /dev/null and b/versioned_docs/version-21/assets/en/API/webformClass-pic3.png differ
diff --git a/versioned_docs/version-21/assets/en/commands/web-event1.png b/versioned_docs/version-21/assets/en/commands/web-event1.png
new file mode 100644
index 00000000000000..f31f769f39a37d
Binary files /dev/null and b/versioned_docs/version-21/assets/en/commands/web-event1.png differ
diff --git a/versioned_docs/version-21/assets/en/commands/web-event2.png b/versioned_docs/version-21/assets/en/commands/web-event2.png
new file mode 100644
index 00000000000000..8e3e2e7c50ca69
Binary files /dev/null and b/versioned_docs/version-21/assets/en/commands/web-event2.png differ
diff --git a/versioned_docs/version-21/assets/en/commands/web-event3.png b/versioned_docs/version-21/assets/en/commands/web-event3.png
new file mode 100644
index 00000000000000..d7182a677d75a3
Binary files /dev/null and b/versioned_docs/version-21/assets/en/commands/web-event3.png differ
diff --git a/versioned_docs/version-21/assets/en/commands/web-event4.png b/versioned_docs/version-21/assets/en/commands/web-event4.png
new file mode 100644
index 00000000000000..3dee994804d176
Binary files /dev/null and b/versioned_docs/version-21/assets/en/commands/web-event4.png differ
diff --git a/versioned_docs/version-21/commands-legacy/get-database-parameter.md b/versioned_docs/version-21/commands-legacy/get-database-parameter.md
index a4af0faf373e1e..7910e919c82933 100644
--- a/versioned_docs/version-21/commands-legacy/get-database-parameter.md
+++ b/versioned_docs/version-21/commands-legacy/get-database-parameter.md
@@ -22,6 +22,36 @@ displayed_sidebar: docs
The *selector* parameter designates the parameter to get. 4D offers you the following predefined constants, which are in the “*Database Parameters*” theme:
+### 4D Remote mode timeout (14)
+
+**Scope** (legacy network layer only): 4D application if *value* positive
+
+**Kept between two sessions**: Yes if *value* positive
+
+**Description**: To be used in very specific cases. Value of the timeout granted by the remote 4D machine to the 4D Server machine. The default timeout value used by 4D in remote mode is set on the "Client-Server/Network options" page of the Database settings dialog box on the remote machine.
+
+The 4D Remote mode timeout selector is only taken into account if you are using the legacy network. It is ignored when the *ServerNet* layer is activated: this setting is entirely managed by the 4D Server timeout (13) selector.
+
+
+
+
+### 4D Server log recording (28)
+
+**Thread-safe** : Yes
+
+**Scope**: 4D Server, 4D remote*
+
+* **Kept between two sessions**: No
+
+**Possible values**: 0 or from 1 to X (0 = do not record, 1 to X = sequential number, added to the file name).
+
+**Description**: Starts or stops the recording of standard requests received by 4D Server (excluding Web requests). By default, the value is 0 (requests not recorded).
+
+4D Server lets you record each request received by the server machine in a log file. When this mechanism is enabled, two files are created in the Logs folder of the database. They are named *4DRequestsLogServer\_X*.txt and *4DRequestsLog\_ProcessInfoServer\_X*.txt on the server, and *4DRequestsLog\_X*.txt and *4DRequestsLog\_ProcessInfo\_X*.txt on the remote, where X is the sequential number of the log. Once a file has reached a size of 10 MB, it is closed and a new one is generated, with an incremented sequential number. If a file of the same name already exists, it is replaced directly. You can set the starting number of the sequence using the *value* parameter. These text files store various information concerning each request in a simple tabbed format: time, process number, size of request, processing duration, etc. For more information on the 4DRequestsLog files, please refer to the *Description of log files* section.
+
+
+
+
### 4D Server timeout (13)
**Scope**: 4D application if *value* positive
@@ -40,41 +70,60 @@ If you pass a **positive** value in the *value*parameter, you set a global and p
-### 4D Remote mode timeout (14)
-**Scope** (legacy network layer only): 4D application if *value* positive
+### Auto synchro resources folder (48)
-**Kept between two sessions**: Yes if *value* positive
+**Scope**:4D remote machine
-**Description**: To be used in very specific cases. Value of the timeout granted by the remote 4D machine to the 4D Server machine. The default timeout value used by 4D in remote mode is set on the "Client-Server/Network options" page of the Database settings dialog box on the remote machine.
+**Kept between two** **sessions**: No
-The 4D Remote mode timeout selector is only taken into account if you are using the legacy network. It is ignored when the *ServerNet* layer is activated: this setting is entirely managed by the 4D Server timeout (13) selector.
+**Possible values**: 0 (no synchronization), 1 (auto synchronization) or 2 (ask).
+**Description**: Dynamic synchronization mode for *Resources* folder of 4D client machine that executed the command with that of the server.
+When the contents of the *Resources* folder on the server has been modified or a user has requested synchronization (for example via the resources explorer or following the execution of the [SET DATABASE LOCALIZATION](set-database-localization.md) command), the server notifies the connected client machines.
+
+Three synchronization modes are then possible on the client side. The Auto Synchro Resources Folder selector is used to specify the mode to be used by the client machine for the current session:
+
+0 (default value): no dynamic synchronization (synchronization request is ignored) 1: automatic dynamic synchronization2: display of a dialog box on the client machines, with the possibility of allowing or refusing synchronization.The synchronization mode can also be set globally in the application Preferences.
+
+
+
+
+### Cache flush periodicity (95)
+
+**Thread-safe** : Yes
-### Port ID (15)
**Scope**: 4D local, 4D Server
**Kept between two sessions**: No
-**Description**: Command SET DATABASE TCP port ID used by the 4D Web server with 4D in local mode and 4D Server. The default value, which can be set on the "Web/Configuration" page of the Preferences dialog box, is 80\. You can use the constants of the *TCP Port Numbers* theme for the *value* parameter.
+**Possible values**: longint > 1 (seconds)
-The Port ID selector is useful for 4D Web Servers compiled and merged with 4D Desktop (in which there is no access to the Design mode). For more information about the TCP port ID, refer to the *Web Server Settings* section.
+**Description**: Gets or sets the current cache flush periodicity, expressed in seconds. Modifying this value overrides the **Flush Cache every X Seconds** option in the [XML DECODE](xml-decode.md) of the Database settings for the session (it is not stored in the Database settings).
-### Character set (17)
-**Scope**: 4D local, 4D Server
+### Cache unload minimum size (66)
-**Kept between two sessions**: Yes
+**Scope**: 4D application
-**Description**: *Constant obsolete (kept for compatibility reasons only).* We now recommend using the [WEB SET OPTION](web-set-option.md) and [WEB GET OPTION](web-get-option.md) commands for configuring the HTTP server.
+**Kept between two sessions**: No
+
+**Possible values**: Positive longint > 1.
+**Description**: Minimum size of memory to release from the database cache when the engine needs to make space in order to allocate an object to it (value in bytes).
+
+The purpose of this selector is to reduce the number of times that data is released from the cache in order to obtain better performance. You can vary this setting according to the size of the cache and that of the blocks of data being handled in your database.
+
+By default, if this selector is not used, 4D unloads at least 10% of the cache when space is needed.
-### Max concurrent Web processes (18)
+
+
+### Character set (17)
**Scope**: 4D local, 4D Server
@@ -84,15 +133,19 @@ The Port ID selector is useful for 4D Web Servers compiled and merged with 4D De
-### Client port ID (22)
-**Scope**: All 4D remote machines
+### Circular log limitation (90)
- **Kept between two** **sessions**: Yes
+**Thread-safe** : Yes
- **Possible values**: See selector 15
+**Scope**: 4D local, 4D Server.
+
+**Kept between two sessions**: No
+
+**Possible values**: Any integer value, 0 = keep all logs
+
+**Description**: Maximum number of files to keep in rotation for each type of log. By default, the 50 most recent files are kept. If you pass a value *X*, only the *X* most recent files are kept, with the oldest being erased automatically when a new one is created. This setting applies to all log files, i.e. request logs (selectors 28 and 45), debug log (selector 34), events log (selector 79), Web logs (selectors 29 and 84 of the [WEB SET OPTION](web-set-option.md) command), etc.
-**Description**: Used to specify this parameter for all the remote 4D machines used as Web servers. The values defined using these selectors are applied to all the remote machines used as Web servers. If you want to define values only for certain remote machines, use the Preferences dialog box of 4D in remote mode.
@@ -108,6 +161,41 @@ The Port ID selector is useful for 4D Web Servers compiled and merged with 4D De
+
+### Client HTTPS port ID (40)
+
+**Scope**:All 4D remote machines
+
+**Kept between two** **sessions**: Yes
+
+**Possible values**: 0 to 65535
+
+**Description**: TCP port number used by the Web servers of the client machines for secure connections via SSL (HTTPS protocol). By default, the value is 443 (standard value).
+
+This selector can be used to modify by programming the TCP port used by the Web servers of the client machines for secure connections via SSL (HTTPS protocol). By default, the value is 443 (standard value).
+
+This selector operates exactly the same way as selector 39; however, it applies to all the 4D remote machines used as Web servers. If you only want to modify the value of certain specific client machines, use the Preferences dialog box of the remote 4D.
+
+
+
+
+### Client log recording (45)
+
+**Scope**: Remote 4D machine
+
+**Kept between two sessions**: No
+
+**Possible values**: 0 or from 1 to X (0 = do not record, 1 to X = sequential number, attached to file name).
+
+**Description**: Starts or stops recording of standard requests carried out by the 4D client machine that executed the command (excluding Web requests). By default, the value is 0 (no recording of requests).
+
+4D lets you record the log of requests carried out by the client machine. When this mechanism is activated, two files are created on the client machine, in the Logs subfolder of the local folder of the database. They are named 4DRequestsLog\_X.txt and 4DRequestsLog\_ProcessInfo\_X.txt, where X is the sequential number of the log. Once the file 4DRequestsLog has reached a size of 10 MB, it is closed and a new one is generated, with an incremented sequential number. If a file with the same name already exists, it is directly replaced. You can set the starting number for the sequence using the value parameter.
+
+These text files store various information concerning each request in a simple tabbed format: time, process number, size of request, processing duration, etc. For more information on the 4DRequestsLog files, please refer to the *Description of log files* section.
+
+
+
+
### Client max concurrent Web proc (25)
**Scope**: All 4D remote machines
@@ -120,29 +208,36 @@ The Port ID selector is useful for 4D Web Servers compiled and merged with 4D De
-### Maximum Web requests size (27)
-**Scope**: 4D local, 4D Server
+### Client port ID (22)
- Kept between two **sessions**: Yes
+**Scope**: All 4D remote machines
-**Description**: *Constant obsolete (kept for compatibility reasons only).* We now recommend using the [WEB SET OPTION](web-set-option.md) and [WEB GET OPTION](web-get-option.md) commands for configuring the HTTP server.
+ **Kept between two** **sessions**: Yes
+ **Possible values**: See selector 15
+**Description**: Used to specify this parameter for all the remote 4D machines used as Web servers. The values defined using these selectors are applied to all the remote machines used as Web servers. If you want to define values only for certain remote machines, use the Preferences dialog box of 4D in remote mode.
-### 4D Server log recording (28)
-**Thread-safe** : Yes
-**Scope**: 4D Server, 4D remote*
-* **Kept between two sessions**: No
+### Client Server port ID (35)
-**Possible values**: 0 or from 1 to X (0 = do not record, 1 to X = sequential number, added to the file name).
+**Scope**:Database
-**Description**: Starts or stops the recording of standard requests received by 4D Server (excluding Web requests). By default, the value is 0 (requests not recorded).
+**Kept between two** **sessions**: Yes
+
+**Possible values**: 0 to 65535
+
+**Description**: TCP port number where the 4D Server publishes the database (bound for 4D remote machines). By default, the value is 19813\.
+
+Customizing this value means that several 4D client-server applications can be used on the same machine with the TCP protocol; in this case, you must indicate a different port number for each application.
+
+The value is stored in the database structure file. It can be set with 4D in local mode but is only taken into account in client-server configuration.
+
+When you modify this value, it is necessary to restart the server machine in order for the new value to be taken into account.
-4D Server lets you record each request received by the server machine in a log file. When this mechanism is enabled, two files are created in the Logs folder of the database. They are named *4DRequestsLogServer\_X*.txt and *4DRequestsLog\_ProcessInfoServer\_X*.txt on the server, and *4DRequestsLog\_X*.txt and *4DRequestsLog\_ProcessInfo\_X*.txt on the remote, where X is the sequential number of the log. Once a file has reached a size of 10 MB, it is closed and a new one is generated, with an incremented sequential number. If a file of the same name already exists, it is replaced directly. You can set the starting number of the sequence using the *value* parameter. These text files store various information concerning each request in a simple tabbed format: time, process number, size of request, processing duration, etc. For more information on the 4DRequestsLog files, please refer to the *Description of log files* section.
@@ -154,23 +249,42 @@ The Port ID selector is useful for 4D Web Servers compiled and merged with 4D De
**Possible values**: 0 = Do not record (default), 1 = Record in CLF format, 2 = Record in DLF format, 3 = Record in ELF format, 4 = Record in WLF format.
-**Description**: Command SET DATABASE PARAMETEStarts or stops the recording of Web requests received by the Web servers of all the client machines. By default, the value is 0 (requests not recorded).
+**Description**: Starts or stops the recording of Web requests received by the Web servers of all the client machines. By default, the value is 0 (requests not recorded).
The operation of this selector is identical to that of selector 29; however, it applies to all the 4D remote machines used as Web servers. The "logweb.txt" file is, in this case, automatically placed in the Logs subfolder of the remote 4D database folder (cache folder). If you only want to set values for certain client machines, use the Preferences dialog box of 4D in remote mode.
-### Table sequence number (31)
-**Scope**:4D application
+### Current process debug log recording (111)
- **Kept between two sessions**: Yes
+**Scope:** 4D application
- **Possible values**: Any longint value.
+**Kept between two sessions:** No
+
+**Description**: Starts or stops the sequential recording of programming events **for the current process** in a separated log file. This log is similar to the Debug log recording (selector 34) but focuses on the current process only. The log file name includes the letter "p" and the process number: 4DDebugLog\[\_p*N*_*n*].txt, where N is the process unique ID.
-**Description**: Command SET DATABASE PARAMETERThis selector is used to modify or get the current unique number for records of the table passed as parameter. "Current number" means "last number used": if you modify this value using [SET DATABASE PARAMETER](set-database-parameter.md), the next record will be created with a number that consists of the value passed + 1\. This new number is the one returned by the [Sequence number](sequence-number.md) command as well in any field of the table to which the "Autoincrement" property has been assigned in the Structure editor or via SQL.
+For more information about this format and on the use of the *4DDebugLog* file, please refer to *Description of log files* in the Design Reference.
+
+**Notes:** This selector is provided solely for the purpose of debugging and should be used with care. In particular, it must not put into production since it can have an impact on the application performance. You can use both Debug log recording and Current process debug log recording selectors simultaneously, in which case the current process actions will not be logged in the main log file.
+
+
+
+
+### Dates inside objects (85)
+
+**Scope:** Current process
+
+**Kept between two sessions**: No
+
+ **Possible values**: String type without time zone (0), String type with time zone (1), Date type (2) (default)
+
+**Description**: Defines the way dates are stored within objects, as well as how they will be imported/exported in JSON.
+
+When the selector value is Date type (default value for databases created with 4D v17 and higher), 4D dates are stored with the date type within objects, with respect to the local date settings. When converted to JSON format, date attributes will be converted to strings which do not include a time. (**Note:** this setting can be set by means of the "Use date type instead of ISO date format in objects" option found on the *Compatibility page* of the Database Settings).
+
+Passing String type with time zone in this selector will convert 4D dates into ISO strings and take the local time zone into account. For example, converting the date 23/08/2013 gives you "2013-08-22T22:00:000Z" in JSON format when the operation is performed in France during Daylight Savings Time (GMT+2). This principle conforms to the standard operation of JavaScript. This can be a source of errors when you want to send JSON date values to someone in a different time zone. For example, when you export a table using [Selection to JSON](selection-to-json.md) in France that is meant to be reimported in the US using [JSON TO SELECTION](json-to-selection.md). Since dates are re-interpreted in each time zone, the values stored in the database will be different. In this case, you can modify the conversion mode for dates so that they do not take the time zone into account by passing String type without time zone in this selector. Converting the date 23/08/2013 will then give you "2013-08-23T00:00:00Z" in all cases.
-By default, this unique number is set by 4D and corresponds to the order of record creation. For additional information, refer to the documentation of the [Sequence number](sequence-number.md) command.
@@ -180,42 +294,34 @@ By default, this unique number is set by 4D and corresponds to the order of reco
**Scope**: 4D application
-Kept between two **sessions**: No
+**Kept between two sessions**: No
**Description**: Starts or stops the sequential recording of events occurring at the 4D programming level in the *4DDebugLog\[\_n\].txt* file or *4DDebugLogServer\[\_n\].txt* (where \_n is the segment number of the file and *Server* is added to the file name when generated on the server). Two modes are available:
- Standard mode provides a basic view of events and the file is automatically placed in the Logs subfolder of the database, next to the structure file. Execution times are expressed in milliseconds with the "< ms" value displayed when an operation lasts less than one millisecond.
-
- Tabbed mode provides additional information and uses a more compact, tabbed format in the file. Execution times are expressed in microseconds.
**Possible values**: Longint containing a bit field: value = bit1(1)+bit2(2)+bit3(4)+bit4(8)+…).
- Bit 0 (value 1) requests to enable the file (note that any other non-null value also enables it as well)
-
- Bit 1 (value 2) requests call parameters to commands and (interpreted mode only) methods
-
- Bit 2 (value 4) enables tabbed format.
-
- Bit 3 (value 8) disables immediate writing of each operation on disk (enabled by default). Immediate writing is slower but more effective, for example for investigating causes of a crash. If you disable this mode, the file contents are generated more quickly.
-
- Bit 4 (value 16) disables recording of plug-in calls (enabled by default).
-
- Bit 5 (value 32) disables member function logging.
Examples:
+```4d
SET DATABASE PARAMETER (34;1) // enables standard mode without parameters, with runtimes
-
SET DATABASE PARAMETER (34;2) // enables standard mode with parameters and runtimes
-
SET DATABASE PARAMETER (34;2+4) // enables tabbed mode with parameters and runtimes
-
SET DATABASE PARAMETER (34;0) // disables file
+```
For any type of interpreted or compiled 4D application (4D all modes, 4D Server, 4D Volume Desktop), you can avoid having a file record too much information by:
- restricting the 4D commands that are examined by using Log command list (selector 80), or
-
- restricting it to the current process only with Current process debug log recording (selector 111). This will add the letter "p" and the process number to the file name: *4DDebugLog\[\_pn\_n\].txt* or *4DDebugLogServer\[\_pn\_n\].txt* *
*For more information about this format and on the use of the *4DDebugLog* file, please refer to the *Description of log files* section..
@@ -228,484 +334,462 @@ For any type of interpreted or compiled 4D application (4D all modes, 4D Server,
-### Client Server port ID (35)
-**Scope**:Database
+### Diagnostic log level (86)
- **Kept between two** **sessions**: Yes
+**Thread-safe** : Yes
- **Possible values**: 0 to 65535
+**Scope:** 4D application
-**Description**: TCP port number where the 4D Server publishes the database (bound for 4D remote machines). By default, the value is 19813\.
+**Kept between two sessions:** No
-Customizing this value means that several 4D client-server applications can be used on the same machine with the TCP protocol; in this case, you must indicate a different port number for each application.
+**Description:** Level(s) of messages to be included in the diagnostic log when enabled (see selector Diagnostic log recording). Each level designates a category of diagnostic messages and automatically includes more important categorie(s). For a description of categories, see *Diagnostic log levels* section on *developer.4d.com*.
-The value is stored in the database structure file. It can be set with 4D in local mode but is only taken into account in client-server configuration.
+**Possible values:** One of the following constants (Log info by default):
+- Log trace: activates ERROR, WARN, INFO, DEBUG, TRACE (most detailed level)
+- Log debug: activates ERROR, WARN, INFO, DEBUG
+- Log info: activates ERROR, WARN, INFO (default)
+- Log warn: activates ERROR, WARN
+- Log error: activates ERROR (least detailed level)
-When you modify this value, it is necessary to restart the server machine in order for the new value to be taken into account.
-### HTTPS Port ID (39)
+### Diagnostic log recording (79)
-**Scope**:4D local, 4D Server
+**Thread-safe** : Yes
- Kept between two **sessions**: Yes
+**Scope**: 4D application
-**Description**: *Constant obsolete (kept for compatibility reasons only).* We now recommend using the [WEB SET OPTION](web-set-option.md) and [WEB GET OPTION](web-get-option.md) commands for configuring the HTTP server.
+**Kept between two sessions**: No
+Possible values: 0 or 1 (0 = do not record, 1 = record)
+**Description**: Starts or stops recording of the 4D diagnostic file. By default, the value is 0 (do not record).
-### Client HTTPS port ID (40)
+4D can continuously record a set of events related to the internal application operation into a diagnostic file. Information contained in this file is intended for the development of 4D applications and can be analyzed with the help of the 4D tech support (for more information, please refer to the *Description of log files* section on *developer.4d.com*). When you pass 1 in this selector, a diagnostic file is automatically created (or opened) in the database **Logs** folder. The file is named *4DDiagnosticLog\_X*.txt (or *4DDiagnosticLogServer\_X*.txt if generated on the server). Once this file reaches a size of 10 MB, it is closed and a new file is generated, with an incremented sequence number X.
-**Scope**:All 4D remote machines
+Note that you can include custom information in this file using the [LOG EVENT](log-event.md) command.
- **Kept between two** **sessions**: Yes
- **Possible values**: 0 to 65535
-**Description**: TCP port number used by the Web servers of the client machines for secure connections via SSL (HTTPS protocol). By default, the value is 443 (standard value).
-This selector can be used to modify by programming the TCP port used by the Web servers of the client machines for secure connections via SSL (HTTPS protocol). By default, the value is 443 (standard value).
+### Direct2D get active status (74)
-This selector operates exactly the same way as selector 39; however, it applies to all the 4D remote machines used as Web servers. If you only want to modify the value of certain specific client machines, use the Preferences dialog box of the remote 4D.
+**Note**: You can only use this selector with the [Get database parameter](get-database-parameter.md) command and its value cannot be set.
+**Description**: Returns active implementation of Direct2D under Windows.
+**Possible values**: 0, 1, 2, 3, 4 or 5 (see values of selector 69). The value returned depends on the availability of Direct2D, the hardware and the quality of Direct2D support by the operating system.
-### SQL Autocommit (43)
+For example, if you execute:
-**Scope**:Database
+```4d
+ SET DATABASE PARAMETER(Direct2D status;Direct2D Hardware)
+ $mode:=Get database parameter(Direct2D get active status)
+```
- **Kept between two** **sessions**: Yes
+- On Windows 7 and higher, *$mode* is set to 1 when the system detects hardware compatible with Direct2D; otherwise, *$mode* is set to 3 (software context).
- **Possible values**: 0 (deactivation) or 1 (activation)
+- On Windows Vista, *$mode* is set to 1 when the system detects hardware compatible with Direct2D; otherwise, *$mode* is set to 0 (disabling of Direct2D).
-**Description**: Activation or deactivation of the SQL auto-commit mode. By default, the value is 0 (deactivated mode)
+- On Windows XP, *$mode* is always set to 0 (not compatible with Direct2D).
- The auto-commit mode is used to strengthen the referential integrity of the database. When this mode is active, all *SELECT*, *INSERT*, *UPDATE* and *DELETE* (SIUD) queries are automatically included in ad hoc transactions when they are not already executed within a transaction. This mode can also be set in the Preferences of the database.
-### SQL Engine case sensitivity (44)
+### Direct2D status (69)
-**Scope**: Database
+**Scope**: 4D application
-Kept between two **sessions**: Yes
+**Kept between two sessions**: No
-**Possible values**: 0 (case not taken into account) or 1 (case-sensitive)
+**Description**: Activation mode of Direct2D under Windows.
-**Description**: Activation or deactivation of case-sensitivity for string comparisons carried out by the SQL engine.
+**Possible values**: One of the following constants (mode 3 by default):
-By default, the value is 1 (case-sensitive): the SQL engine differentiates between upper and lower case and between accented characters when comparing strings (sorts and queries). For example “ABC”= “ABC” but “ABC” # “Abc” and "abc" # "âbc." In certain cases, for example so as to align the functioning of the SQL engine with that of the 4D engine, you may wish for string comparisons to not be case-sensitive (“ABC”=“Abc"="âbc").
+- Direct2D Disabled (0): Direct2D mode is not enabled and the database functions in the previous mode (GDI/GDIPlus).
+- Direct2D Hardware (1): Use Direct2D as graphics hardware context for entire 4D application. If this context is not available, use Direct2D graphics software context.
+- Direct2D Software (3) (Default mode): Beginning with Windows 7, use Direct2D graphics software context for entire 4D application.
-**Warning:* Since this option modifies the database structure file and all processes, for performance reasons it is highly recommended to set it at database startup only.* This option can also be set in the Database settings.
+**Warning:* This selector is provided for debugging purposes only. Since several 4D features rely on Direct2D, it must not be disabled in deployed applications. Only the default mode (Direct2D Software) is approved for deployed applications.*
-### Client log recording (45)
-**Scope**: Remote 4D machine
+### HTTP compression level (50)
-Kept between two **sessions**: No
+**Scope**:4D application
-**Possible values**: 0 or from 1 to X (0 = do not record, 1 to X = sequential number, attached to file name).
+**Kept between two sessions**: No
-**Description**: Starts or stops recording of standard requests carried out by the 4D client machine that executed the command (excluding Web requests). By default, the value is 0 (no recording of requests).
+**Description**: *Constant obsolete (kept for compatibility reasons only).* We now recommend using the [WEB SET OPTION](web-set-option.md) and [WEB GET OPTION](web-get-option.md) commands for configuring the HTTP server.
-4D lets you record the log of requests carried out by the client machine. When this mechanism is activated, two files are created on the client machine, in the Logs subfolder of the local folder of the database. They are named 4DRequestsLog\_X.txt and 4DRequestsLog\_ProcessInfo\_X.txt, where X is the sequential number of the log. Once the file 4DRequestsLog has reached a size of 10 MB, it is closed and a new one is generated, with an incremented sequential number. If a file with the same name already exists, it is directly replaced. You can set the starting number for the sequence using the value parameter.
-These text files store various information concerning each request in a simple tabbed format: time, process number, size of request, processing duration, etc. For more information on the 4DRequestsLog files, please refer to the *Description of log files* section.
+### HTTP compression threshold (51)
-### Query by formula on server (46)
+**Scope**:4D application
-**Scope**: Current table and process
+**Kept between two** **sessions**: No
- **Kept between two sessions**: No
+**Description**: *Constant obsolete (kept for compatibility reasons only).* We now recommend using the [WEB SET OPTION](web-set-option.md) and [WEB GET OPTION](web-get-option.md) commands for configuring the HTTP server.
- **Possible values**: 0 (use database configuration), 1 (execute on client) or 2 (execute on server)
-**Description**: Execution location of [QUERY BY FORMULA](query-by-formula.md) and [QUERY SELECTION BY FORMULA](query-selection-by-formula.md) commands for the *table* passed in the parameter.
-When using a database in client-server mode, the query "by formula" commands can be executed either on the server or on the client machine:
-In databases created with 4D v11 SQL, these commands are executed on the server. In converted databases, these commands are executed on the client machine, as in previous versions of 4D.In converted databases, a specific preference (Application/Compatibility page) can be used to globally modify the execution location of these commands.This difference in execution location influences not only application performance (execution on the server is usually faster) but also programming. In fact, the value of the components of the formula (in particular variables called via a method) differ according to the execution context. You can use this selector to punctually adapt the operation of your application.
+### HTTPS Port ID (39)
-If you pass 0 in the *value* l’parameter, the execution location of query "by formula" commands will depend on the database configuration: in databases created with 4D v11 SQL, these commands will be executed on the server. In converted databases, they will be executed on the client machine or the server according to the database preferences. Pass 1 or 2 in *value* to "force" the execution of these commands, respectively, on the client or on the server machine.
+**Scope**:4D local, 4D Server
-Refer to example 2.
+**Kept between two sessions**: Yes
-**Note:** If you want to be able to enable "SQL type" joins (see the QUERY BY FORMULA Joins selector), you must always execute formulas on the server so that they have access to the records. Be careful, in this context, the formula must not contain any calls to a method, otherwise it will automatically be switched to the remote machine.
+**Description**: *Constant obsolete (kept for compatibility reasons only).* We now recommend using the [WEB SET OPTION](web-set-option.md) and [WEB GET OPTION](web-get-option.md) commands for configuring the HTTP server.
-### Order by formula on server (47)
-**Scope**:Current table and process
+### Idle connections timeout (54)
- **Kept between two** **sessions**: No
+**Scope**:4D application unless value is negative
- **Possible values**: 0 (use database configuration), 1 (execute on client) or 2 (execute on server)
+**Kept between two sessions**: No
-**Description** : Execution location of [ORDER BY FORMULA](order-by-formula.md) command for the table passed in the parameter.
+**Possible values**: Whole value expressing a duration in seconds. The value can be positive (new connections) or negative (existing connections). By default, the value is 20.
-When using a database in client-server mode, this command can be executed either on the server or on the client machine. This selector can be used to specify the execution location of this command (server or client). This mode can also be set in the database preferences. For more information, please refer to the description of selector 46, Query By Formula On Server.
+**Description**: Maximum period of inactivity for connections to the 4D database engine, the SQL engine and to the 4D application server (*ServerNet* network layer only, ignored in *QUIC*). When an idle connection reaches this limit, it is automatically put on standby, which freezes the client/server session and closes the network socket. In the server administration window, the state of the user process is indicated as "Postponed". This functioning is completely transparent for the user: as soon as there is new activity on the connection which is on standby, the socket is automatically reopened and the client/server session is restored.
-**Note:** If you want to be able to enable "SQL type" joins (see the QUERY BY FORMULA Joins selector), you must always execute formulas on the server so that they have access to the records. Be careful, in this context, the formula must not contain any calls to a method, otherwise it will automatically be switched to the remote machine.
+On the one hand, this setting lets you save resources on the server: connections on standby close the socket and free up a process on the server. On the other hand, it lets you avoid losing connections due to the closing of idle sockets by the firewall. For this, the timeout value for idle connections must be lower than that of the firewall in this case.
+If you pass a positive value in *value*, it applies to all new connections in all the processes. If you pass a negative value, it applies to connections that are open in the current process. If you pass 0, idle connections are not subjected to a timeout.
+This parameter must be set on the client side. Usually, you do not need to change this value.
-### Auto synchro resources folder (48)
-**Scope**:4D remote machine
- **Kept between two** **sessions**: No
- **Possible values**: 0 (no synchronization), 1 (auto synchronization) or 2 (ask).
+### IMAP Log (119)
-**Description**: Dynamic synchronization mode for *Resources* folder of 4D client machine that executed the command with that of the server.
+**Thread-safe** : Yes
-When the contents of the *Resources* folder on the server has been modified or a user has requested synchronization (for example via the resources explorer or following the execution of the [SET DATABASE LOCALIZATION](set-database-localization.md) command), the server notifies the connected client machines.
+**Scope**: 4D local, 4D Server
-Three synchronization modes are then possible on the client side. The Auto Synchro Resources Folder selector is used to specify the mode to be used by the client machine for the current session:
+**Kept between two sessions**: No
-0 (default value): no dynamic synchronization (synchronization request is ignored) 1: automatic dynamic synchronization2: display of a dialog box on the client machines, with the possibility of allowing or refusing synchronization.The synchronization mode can also be set globally in the application Preferences.
+**Possible values**: 0 or from 1 to X (0 = do not record, 1 to X = sequential number, added to the file name). By default, the value is 0 (IMAP exchanges not recorded).
+**Description**: Starts or stops the recording of exchanges between 4D and the IMAP server, when a transporter object is processed through *IMAP\_transporter.getMail( )* or *IMAP\_transporter.checkConnection( )*. By default, the value is 0 (exchanges not recorded). When this mechanism is enabled, a log file is created in the Logs folder of the database. It is named 4DIMAPLog\_X.txt, where X is the sequential number of the log. Once the file 4DIMAPLog has reached a size of 10 MB, it is closed and a new one is generated, with an incremented sequential number. If a file of the same name already exists, it is replaced directly. You can set the starting number of the sequence using the value parameter. By default, all files are kept, but you can control the number of files to keep using the Circular log limitation parameter.
+For more information on the 4DIMAPLog\_X.txt files, please refer to [*Description of log files*](../Debugging/debugLogFiles.md).
-### Query by formula joins (49)
-**Scope**:Current process
- **Kept between two** **sessions**: No
- **Possible values**: 0 (use database configuration), 1 (always use automatic relations) or 2 (use SQL joins if possible).
+### Is current database a project (112)
-**Description**: Operating mode of the [QUERY BY FORMULA](query-by-formula.md) and [QUERY SELECTION BY FORMULA](query-selection-by-formula.md) commands relating to the use of "SQL joins."
+**Note:** You can only use this selector with the [Get database parameter](get-database-parameter.md) command and its value cannot be set.
-In databases created starting with version 11.2 of 4D v11 SQL, these commands carry out joins based on the SQL joins model. This mechanism can be used to modify the selection of a table according to a query carried out on another table without these tables being connected by an automatic relation (necessary condition in previous versions of 4D).
+**Scope**: 4D application
-The QUERY BY FORMULA Joins selector lets you specify the operating mode of the query by formula commands for the current process:
+**Description**: Returns 1 if the current database architecture is a project, and 0 otherwise. For more information, please refer to [*Project vs binary database* section on doc.4d.com](https://doc.4d.com/4Dv20/4D/20.2/Creating-a-new-database.300-6750129.en.html#5057971).
-0: Uses the current settings of the database (default value). In databases created starting with version 11.2 of 4D v11 SQL, "SQL joins" are always activated for queries by formula. In converted databases, this mechanism is not activated by default for compatibility reasons but can be implemented via a preference.1: Always use automatic relations (= functioning of previous versions of 4D). In this mode, a relation is necessary in order to set the selection of a table according to queries carried out on another table. 4D does not do "SQL joins."2: Use SQL joins if possible (= default operation of databases created in version 11.2 and higher of 4D v11 SQL ). In this mode, 4D establishes "SQL joins" for queries by formula when the formula is suited for it (with two notable exceptions, see the description of the [QUERY BY FORMULA](query-by-formula.md) or [QUERY SELECTION BY FORMULA](query-selection-by-formula.md) command).**Note:** With 4D in remote mode, "SQL joins" can only be used if the formulas are executed on the server (they must have access to the records). To configure where formulas are to be executed, please refer to selectors 46 and 47.
-### HTTP compression level (50)
+### Is host database a project (113)
-**Scope**:4D application
+**Note:** You can only use this selector with the [Get database parameter](get-database-parameter.md) command and its value cannot be set.
- Kept between two **sessions**: No
+**Scope**: 4D application
-**Description**: *Constant obsolete (kept for compatibility reasons only).* We now recommend using the [WEB SET OPTION](web-set-option.md) and [WEB GET OPTION](web-get-option.md) commands for configuring the HTTP server.
+**Description**: Returns 1 if the host database architecture is a project, and 0 otherwise. For more information, please refer to [*Project vs binary database* section on doc.4d.com](https://doc.4d.com/4Dv20/4D/20.2/Creating-a-new-database.300-6750129.en.html#5057971).
-### HTTP compression threshold (51)
-**Scope**:4D application
+### Is host database writable (117)
- **Kept between two** **sessions**: No
+**Note:** You can only use this selector with the [Get database parameter](get-database-parameter.md) command and its value cannot be set.
-**Description**: *Constant obsolete (kept for compatibility reasons only).* We now recommend using the [WEB SET OPTION](web-set-option.md) and [WEB GET OPTION](web-get-option.md) commands for configuring the HTTP server.
+**Scope**: 4D application
+**Description**: Returns 1 if the host project file/structure file is writable, and 0 if it is read-only.
-### Server base process stack size (53)
-**Scope**: 4D Server
- Kept between two **sessions**: No
+### Libldap version (114)
- **Possible values**: Positive longint.
+**Scope**: Current 4D machine
-**Description**: Size of the stack allocated to each preemptive system process on the server, expressed in bytes. The default size is determined by the system.
+**Kept between two sessions**: n/a
-Preemptive system processes (processes of the 4D client base process type) are loaded to control the main 4D client processes. The size allocated by default to the stack of each preemptive process allows a good ease of execution but may prove to be consequential when very large numbers of processes (several hundred) are created.
+**Description**: Returns the version number of the LDAP library in the 4D application on the current machine. (Read only)
-For optimization purposes, this size can be reduced considerably if the operations carried out by the database allow for it (for example if the database does not carry out sorts of large quantities of records). Values of 512 or even 256 KB are possible. Be careful, under-sizing the stack is critical and can be harmful to the operation of 4D Server. Setting this parameter should be done with caution and must take the database conditions of use into account (number of records, type of operations, etc.).
-In order to be taken into account, this parameter must be executed on the server machine (for example in the *On Server Startup Database Method*).
+### Libsasl version (115)
-### Idle connections timeout (54)
+**Scope**: Current 4D machine
-**Scope**:4D application unless value is negative
+**Kept between two sessions**: n/a
-**Kept between two** **sessions**: No
+**Description**: Returns the version number of the SASL library in the 4D application on the current machine. (Read only)
-**Possible values**: Whole value expressing a duration in seconds. The value can be positive (new connections) or negative (existing connections). By default, the value is 20.
-**Description**: Maximum period of inactivity for connections to the 4D database engine, the SQL engine and to the 4D application server (*ServerNet* network layer only, ignored in *QUIC*). When an idle connection reaches this limit, it is automatically put on standby, which freezes the client/server session and closes the network socket. In the server administration window, the state of the user process is indicated as "Postponed". This functioning is completely transparent for the user: as soon as there is new activity on the connection which is on standby, the socket is automatically reopened and the client/server session is restored.
-On the one hand, this setting lets you save resources on the server: connections on standby close the socket and free up a process on the server. On the other hand, it lets you avoid losing connections due to the closing of idle sockets by the firewall. For this, the timeout value for idle connections must be lower than that of the firewall in this case.
-If you pass a positive value in *value*, it applies to all new connections in all the processes. If you pass a negative value, it applies to connections that are open in the current process. If you pass 0, idle connections are not subjected to a timeout.
+### Libzip version (120)
-This parameter must be set on the client side. Usually, you do not need to change this value.
+**Scope:** Current 4D machine
+**Kept between two sessions:** n/a
+**Description:** Returns the version number of the libzip library in the 4D application on the current machine. (Read only)
-### PHP interpreter IP address (55)
-**Scope**:4D application
- Kept between two **sessions**: No
-**Values**: Formatted string of the IPv4 type (for example "127.0.0.1") or IPv6 type (for example "2001:0db8:0000:0000:0000:ff00:0042:8329")
+### Log command list (80)
-**Description**: IP address used locally by 4D to communicate with the PHP interpreter via FastCGI. By default, the value is "127.0.0.1" (addresses in IPv6 format are supported starting with 4D v16R4). This address must correspond to the machine where 4D is located. This parameter can also be set globally for all the machines via the Database Settings.
+**Scope**: 4D application
-For more information about the PHP interpreter, please refer to the *Design Reference* manual.
+**Kept between two sessions**: No
+**Possible values**: String containing a list of 4D command numbers to record (separated by semi-colons) or "all" to record all the commands or "" (empty string) to record none of them or prefixed by "-" to exclude specific commands.
+**Description**: List of 4D commands to record in or exclude from the debugging file (see selector 34, Debug Log Recording). By default, all 4D commands are recorded.
-### PHP interpreter port (56)
+This selector restricts the quantity of information saved in the debugging file by limiting the 4D commands whose execution you want to record or exclude from recording. For example, you can write:
-**Scope**:4D application
+```4d
+//Record only the QUERY and QUERY SELECTION commands
+SET DATABASE PARAMETER(Log command list;"277;341")
+```
+OR
+```4d
+//Exclude the SET USER ALIAS and DELAY PROCESS commands from being recorded
+SET DATABASE PARAMETER(Log command list;"-1666;-323")
+```
- **Kept between two** **sessions**: No
-**Values**: Positive long integer type value. By default, the value is 8002\.
-**Description**: Number of the TCP port used by the PHP interpreter of 4D. This parameter can also be modified globally for all the machines via the Database Settings. For more information about the PHP interpreter, please refer to the *Design Reference* manual.
+### Max concurrent Web processes (18)
+**Scope**: 4D local, 4D Server
+**Kept between two sessions**: Yes
-### SSL cipher list (64)
+**Description**: *Constant obsolete (kept for compatibility reasons only).* We now recommend using the [WEB SET OPTION](web-set-option.md) and [WEB GET OPTION](web-get-option.md) commands for configuring the HTTP server.
-**Scope**: 4D application
-Kept between two **sessions**: No
-**Possible values**: Sequence of strings separated by colons.
-**Description:** Cipher list used by 4D for the secure protocol. This list modifies the priority of ciphering algorithms implemented by 4D. For example, you can pass the following string in the *value* parameter: "HIGH:!aNULL:!MD5:!3DES:!CAMELLIA:!AES128:!RSA:!DH:!RC4". For a complete description of the syntax for the ciphers list, refer to the *ciphers page of the OpenSSL* *site*.
+### Maximum Web requests size (27)
-This setting applies to the main Web server (excluding Web server objects), the SQL server, client/server connections, as well as the HTTP client and all the 4D commands that make use of the secure protocol. It is temporary (it is not maintained between sessions).
+**Scope**: 4D local, 4D Server
-When the cipher list has been modified, you will need to restart the server concerned in order for the new settings to be taken into account.
+**Kept between two sessions**: Yes
-To reset the cipher list to its default value (stored permanently in the SLI file), call the [SET DATABASE PARAMETER](set-database-parameter.md) command and pass an empty string ("") in the *value* parameter.
+**Description**: *Constant obsolete (kept for compatibility reasons only).* We now recommend using the [WEB SET OPTION](web-set-option.md) and [WEB GET OPTION](web-get-option.md) commands for configuring the HTTP server.
-**Note:** With the [Get database parameter](get-database-parameter.md) command, the cipher list is returned in the optional *stringValue* parameter and the return parameter is always 0.
-### Cache unload minimum size (66)
+### Min TLS version (105)
-**Scope**: 4D application
+**Scope**: 4D Server, 4D Web Server and 4D SQL Server
**Kept between two sessions**: No
-**Possible values**: Positive longint > 1.
-
-**Description**: Minimum size of memory to release from the database cache when the engine needs to make space in order to allocate an object to it (value in bytes).
-
-The purpose of this selector is to reduce the number of times that data is released from the cache in order to obtain better performance. You can vary this setting according to the size of the cache and that of the blocks of data being handled in your database.
-
-By default, if this selector is not used, 4D unloads at least 10% of the cache when space is needed.
-
+**Description**: Used to specify the minimum Transport Layer Security (TLS) version, which provides data encryption and authentication between applications and servers. Connection attempts from clients supporting only versions below the minimum will be rejected. The setting is applied globally to the network layer. Once modified, the server must be restarted to use the new value.
+**Default value**: TLSv1\_3
-### Direct2D status (69)
+**Possible values**:
+- TLSv1\_2 (TLS 1.2, introduced in 2008)
+- TLSv1\_3 (TLS 1.3, introduced in 2018)
-**Scope**: 4D application
+**NOTES**:
+- The 4D Internet Commands plugin uses a different network layer, therefore this selector will have no impact on its TLS version.
+- This setting is ignored for your client server connections if your 4D Server uses the legacy network layer.
-**Kept between two sessions**: No
-**Description**: Activation mode of Direct2D under Windows.
-**Possible values**: One of the following constants (mode 3 by default):
-Direct2D Disabled (0): Direct2D mode is not enabled and the database functions in the previous mode (GDI/GDIPlus).
+### Number of formulas in cache (92)
-Direct2D Hardware (1): Use Direct2D as graphics hardware context for entire 4D application. If this context is not available, use Direct2D graphics software context.
+**Scope**: 4D application
-Direct2D Software (3) (Default mode): Beginning with Windows 7, use Direct2D graphics software context for entire 4D application.
+**Kept between two sessions**: No
-**Warning:* This selector is provided for debugging purposes only. Since several 4D features rely on Direct2D, it must not be disabled in deployed applications. Only the default mode (Direct2D Software) is approved for deployed applications.*
+**Possible values**: Positive longints
+**Default value**: 0 (no cache)
+**Description**: Sets or gets the maximum number of formulas to be kept in the cache of formulas, which is used by the [EXECUTE FORMULA](execute-formula.md) command. This limit is applied to all processes, but each process has its own formula cache. Caching formulas accelerates the [EXECUTE FORMULA](execute-formula.md) command execution in compiled mode since each cached formula is tokenized only once in this case. When you change the cache value, existing contents are reset even if the new size is larger than the previous one. Once the maximum number of formulas in the cache is reached, a new executed formula will erase the oldest one in the cache (FIFO mode). This parameter is only taken into account in compiled databases or compiled components.
-### Direct2D get active status (74)
-**Note**: You can only use this selector with the [Get database parameter](get-database-parameter.md) command and its value cannot be set.
-**Description**: Returns active implementation of Direct2D under Windows.
-**Possible values**: 0, 1, 2, 3, 4 or 5 (see values of selector 69). The value returned depends on the availability of Direct2D, the hardware and the quality of Direct2D support by the operating system.
+### OpenSSL version (94)
-For example, if you execute:
+**Scope**: all 4D machines*
- SET DATABASE PARAMETER(Direct2D status;Direct2D Hardware) $mode:=Get database parameter(Direct2D get active status)
+**Kept between two sessions**: No
-- On Windows 7 and higher, *$mode* is set to 1 when the system detects hardware compatible with Direct2D; otherwise, *$mode* is set to 3 (software context).
+**Description**: Returns the version number of the OpenSSL library in use on the machine. (Read only)
-- On Windows Vista, *$mode* is set to 1 when the system detects hardware compatible with Direct2D; otherwise, *$mode* is set to 0 (disabling of Direct2D).
-- On Windows XP, *$mode* is always set to 0 (not compatible with Direct2D).
+### Order by formula on server (47)
-### Diagnostic log recording (79)
+**Scope**:Current table and process
-**Thread-safe** : Yes
+**Kept between two** **sessions**: No
-**Scope**: 4D application
+**Possible values**: 0 (use database configuration), 1 (execute on client) or 2 (execute on server)
-Kept between two **sessions**: No
+**Description** : Execution location of [ORDER BY FORMULA](order-by-formula.md) command for the table passed in the parameter.
-Possible values: 0 or 1 (0 = do not record, 1 = record)
+When using a database in client-server mode, this command can be executed either on the server or on the client machine. This selector can be used to specify the execution location of this command (server or client). This mode can also be set in the database preferences. For more information, please refer to the description of selector 46, Query By Formula On Server.
-**Description**: Starts or stops recording of the 4D diagnostic file. By default, the value is 0 (do not record).
+**Note:** If you want to be able to enable "SQL type" joins (see the QUERY BY FORMULA Joins selector), you must always execute formulas on the server so that they have access to the records. Be careful, in this context, the formula must not contain any calls to a method, otherwise it will automatically be switched to the remote machine.
-4D can continuously record a set of events related to the internal application operation into a diagnostic file. Information contained in this file is intended for the development of 4D applications and can be analyzed with the help of the 4D tech support (for more information, please refer to the *Description of log files* section on *developer.4d.com*). When you pass 1 in this selector, a diagnostic file is automatically created (or opened) in the database **Logs** folder. The file is named *4DDiagnosticLog\_X*.txt (or *4DDiagnosticLogServer\_X*.txt if generated on the server). Once this file reaches a size of 10 MB, it is closed and a new file is generated, with an incremented sequence number X.
-Note that you can include custom information in this file using the [LOG EVENT](log-event.md) command.
+### Pause logging (121)
-### Log command list (80)
+**Thread-safe** : Yes
**Scope**: 4D application
-Kept between two **sessions**: No
-
-Possible values: String containing a list of 4D command numbers to record (separated by semi-colons) or "all" to record all the commands or "" (empty string) to record none of them or prefixed by "-" to exclude specific commands.
-
-**Description**: List of 4D commands to record in or exclude from the debugging file (see selector 34, Debug Log Recording). By default, all 4D commands are recorded.
-
-This selector restricts the quantity of information saved in the debugging file by limiting the 4D commands whose execution you want to record or exclude from recording. For example, you can write:
-
- SET DATABASE PARAMETER(Log command list;"277;341") //Record only the QUERY and QUERY SELECTION commands OR SET DATABASE PARAMETER(Log command list;"-1666;-323") //Exclude the SET USER ALIAS and DELAY PROCESS commands from being recorded
-
-
+**Kept between two** **sessions**: No
-### Spellchecker (81)
+**Possible values**: 0 (resume logs), 1 (pause logs)
-**Scope**: 4D application
+**Description:** This selector allows to suspend/resume all logging operations started on the application (except ORDA logs). This feature can be useful to temporarily lighten the 4D application tasks or schedule logging operations.
- **Kept between two sessions**: No
- **Possible values**: 0 (default) = native macOS spellchecker (Hunspell disabled), 1 = Hunspell spellcheck enabled.
-**Description**: Enables the Hunspell spellcheck under macOS. By default, the native spellchecker is enabled on this platform. You may prefer to use the Hunspell spellcheck, for example, in order to unify the interface for your cross-platform applications (under Windows, only the Hunspell spellcheck is available). For more information, refer to *Spell checking*.
+### PHP interpreter IP address (55)
+**Scope**:4D application
-### Dates inside objects (85)
+**Kept between two sessions**: No
-Scope: Current process
+**Values**: Formatted string of the IPv4 type (for example "127.0.0.1") or IPv6 type (for example "2001:0db8:0000:0000:0000:ff00:0042:8329")
- Kept between two **sessions**: No
+**Description**: IP address used locally by 4D to communicate with the PHP interpreter via FastCGI. By default, the value is "127.0.0.1" (addresses in IPv6 format are supported starting with 4D v16R4). This address must correspond to the machine where 4D is located. This parameter can also be set globally for all the machines via the Database Settings.
- **Possible values**: String type without time zone (0), String type with time zone (1), Date type (2) (default)
+For more information about the PHP interpreter, please refer to the *Design Reference* manual.
-**Description**: Defines the way dates are stored within objects, as well as how they will be imported/exported in JSON.
-When the selector value is Date type (default value for databases created with 4D v17 and higher), 4D dates are stored with the date type within objects, with respect to the local date settings. When converted to JSON format, date attributes will be converted to strings which do not include a time. (**Note:** this setting can be set by means of the "Use date type instead of ISO date format in objects" option found on the *Compatibility page* of the Database Settings).
-Passing String type with time zone in this selector will convert 4D dates into ISO strings and take the local time zone into account. For example, converting the date 23/08/2013 gives you "2013-08-22T22:00:000Z" in JSON format when the operation is performed in France during Daylight Savings Time (GMT+2). This principle conforms to the standard operation of JavaScript. This can be a source of errors when you want to send JSON date values to someone in a different time zone. For example, when you export a table using [Selection to JSON](selection-to-json.md) in France that is meant to be reimported in the US using [JSON TO SELECTION](json-to-selection.md). Since dates are re-interpreted in each time zone, the values stored in the database will be different. In this case, you can modify the conversion mode for dates so that they do not take the time zone into account by passing String type without time zone in this selector. Converting the date 23/08/2013 will then give you "2013-08-23T00:00:00Z" in all cases.
+### PHP interpreter port (56)
+**Scope**:4D application
-### Diagnostic log level (86)
+**Kept between two sessions**: No
-**Thread-safe** : Yes
+**Values**: Positive long integer type value. By default, the value is 8002\.
-**Scope:** 4D application
+**Description**: Number of the TCP port used by the PHP interpreter of 4D. This parameter can also be modified globally for all the machines via the Database Settings. For more information about the PHP interpreter, please refer to the *Design Reference* manual.
-**Kept between two sessions:** No
-**Description:** Level(s) of messages to be included in the diagnostic log when enabled (see selector Diagnostic log recording). Each level designates a category of diagnostic messages and automatically includes more important categorie(s). For a description of categories, see *Diagnostic log levels* section on *developer.4d.com*.
-**Possible values:** One of the following constants (Log info by default): Log trace: activates ERROR, WARN, INFO, DEBUG, TRACE (most detailed level) Log debug: activates ERROR, WARN, INFO, DEBUG Log info: activates ERROR, WARN, INFO (default) Log warn: activates ERROR, WARN Log error: activates ERROR (least detailed level)
+### POP3 Log (116)
+**Thread-safe** : Yes
-### Use legacy network layer (87)
+**Scope:** 4D local, 4D Server
-**Scope**: 4D in local mode, 4D Server
+**Kept between two sessions:** No
-**Kept between two sessions**: Yes
+**Possible values:** 0 or from 1 to X (0 = do not record, 1 to X = sequential number, added to the file name). By default, the value is 0 (POP3 exchanges not recorded).
-**Description:** Sets or gets the current status of the legacy network layer for client/server connections. The legacy network layer is obsolete beginning with 4D v14 R5 and should be replaced progressively in your applications with the *ServerNet* network layer. *ServerNet* will be required in upcoming 4D releases in order to benefit from future network evolutions. For compatibility reasons, the legacy network layer is still supported to allow a smooth transition for existing applications; (it is used by default in applications converted from a release prior to v14 R5). Pass 1 in this parameter to use the legacy network layer (and disable *ServerNet*) for your client/server connections, and pass 0 to disable the legacy network (and use the *ServerNet*).
+**Description**: Starts or stops the recording of exchanges between 4D and the POP3 server, when a transporter object is processed through *POP3\_transporter.getMail( )* or *POP3\_transporter.checkConnection( )*. By default, the value is 0 (exchanges not recorded). When this mechanism is enabled, a log file is created in the Logs folder of the database. It is named 4DPOP3Log\_X.txt, where X is the sequential number of the log. Once the file 4DPOP3Log has reached a size of 10 MB, it is closed and a new one is generated, with an incremented sequential number. If a file of the same name already exists, it is replaced directly. You can set the starting number of the sequence using the value parameter. By default, all files are kept, but you can control the number of files to keep using the Circular log limitation parameter.
-This property can also be set by means of the "Use legacy network layer" option found on the *Compatibility page* of the Database Settings (see *Network and Client-Server options*). In this section, you will also find a discussion about migration strategy. We recommend that you activate the *ServerNet* as soon as possible. You will need to restart the application in order for this parameter to be taken into account.
+For more information on the 4DPOP3Log\_X.txt files, please refer to the *Description of log files* section.
-**Possible values:** 0 or 1 (0 = do not use legacy layer, 1 = use legacy layer)
-**Default value:** 0 in databases created with 4D v14 R5 or higher, 1 in databases converted from 4D v14 R4 or earlier.
+### Port ID (15)
-### SQL Server Port ID (88)
+**Scope**: 4D local, 4D Server
-**Scope**: 4D local, 4D Server.
+**Kept between two sessions**: No
-**Kept between two sessions**: Yes
+**Description**: TCP port ID used by the 4D Web server with 4D in local mode and 4D Server. The default value, which can be set on the "Web/Configuration" page of the Preferences dialog box, is 80\. You can use the constants of the *TCP Port Numbers* theme for the *value* parameter.
-**Description**: Gets or sets the TCP port number used by the integrated SQL server of 4D in local mode or 4D Server. By default, the value is 19812\. When this selector is set, the database setting is updated. You can also set the TCP port number on the "SQL" page of the Database Settings dialog box.
+The Port ID selector is useful for 4D Web Servers compiled and merged with 4D Desktop (in which there is no access to the Design mode). For more information about the TCP port ID, refer to the *Web Server Settings* section.
-**Possible values**: 0 to 65535.
-**Default value**: 19812
+### Query by formula joins (49)
-### Circular log limitation (90)
+**Scope**:Current process
-**Thread-safe** : Yes
+**Kept between two** **sessions**: No
-**Scope**: 4D local, 4D Server.
+**Possible values**: 0 (use database configuration), 1 (always use automatic relations) or 2 (use SQL joins if possible).
-**Kept between two sessions**: No
+**Description**: Operating mode of the [QUERY BY FORMULA](query-by-formula.md) and [QUERY SELECTION BY FORMULA](query-selection-by-formula.md) commands relating to the use of "SQL joins."
-**Possible values**: Any integer value, 0 = keep all logs
+In databases created starting with version 11.2 of 4D v11 SQL, these commands carry out joins based on the SQL joins model. This mechanism can be used to modify the selection of a table according to a query carried out on another table without these tables being connected by an automatic relation (necessary condition in previous versions of 4D).
-**Description**: Maximum number of files to keep in rotation for each type of log. By default, the 50 most recent files are kept. If you pass a value *X*, only the *X* most recent files are kept, with the oldest being erased automatically when a new one is created. This setting applies to all log files, i.e. request logs (selectors 28 and 45), debug log (selector 34), events log (selector 79), Web logs (selectors 29 and 84 of the [WEB SET OPTION](web-set-option.md) command), etc.
+The QUERY BY FORMULA Joins selector lets you specify the operating mode of the query by formula commands for the current process:
+- 0: Uses the current settings of the database (default value). In databases created starting with version 11.2 of 4D v11 SQL, "SQL joins" are always activated for queries by formula. In converted databases, this mechanism is not activated by default for compatibility reasons but can be implemented via a preference.
+- 1: Always use automatic relations (= functioning of previous versions of 4D). In this mode, a relation is necessary in order to set the selection of a table according to queries carried out on another table. 4D does not do "SQL joins."
+- 2: Use SQL joins if possible (= default operation of databases created in version 11.2 and higher of 4D v11 SQL ). In this mode, 4D establishes "SQL joins" for queries by formula when the formula is suited for it (with two notable exceptions, see the description of the [QUERY BY FORMULA](query-by-formula.md) or [QUERY SELECTION BY FORMULA](query-selection-by-formula.md) command).
+**Note:** With 4D in remote mode, "SQL joins" can only be used if the formulas are executed on the server (they must have access to the records). To configure where formulas are to be executed, please refer to selectors 46 and 47.
-### Number of formulas in cache (92)
-**Scope**: 4D application
-**Kept between two sessions**: No
-**Possible values**: Positive longints
+### Query by formula on server (46)
-**Default value**: 0 (no cache)
+**Scope**: Current table and process
-**Description**: Sets or gets the maximum number of formulas to be kept in the cache of formulas, which is used by the [EXECUTE FORMULA](execute-formula.md) command. This limit is applied to all processes, but each process has its own formula cache. Caching formulas accelerates the [EXECUTE FORMULA](execute-formula.md) command execution in compiled mode since each cached formula is tokenized only once in this case. When you change the cache value, existing contents are reset even if the new size is larger than the previous one. Once the maximum number of formulas in the cache is reached, a new executed formula will erase the oldest one in the cache (FIFO mode). This parameter is only taken into account in compiled databases or compiled components.
+**Kept between two sessions**: No
+**Possible values**: 0 (use database configuration), 1 (execute on client) or 2 (execute on server)
+**Description**: Execution location of [QUERY BY FORMULA](query-by-formula.md) and [QUERY SELECTION BY FORMULA](query-selection-by-formula.md) commands for the *table* passed in the parameter.
-### OpenSSL version (94)
+When using a database in client-server mode, the query "by formula" commands can be executed either on the server or on the client machine:
-**Scope**: all 4D machines*
+In databases created with 4D v11 SQL, these commands are executed on the server. In converted databases, these commands are executed on the client machine, as in previous versions of 4D.In converted databases, a specific preference (Application/Compatibility page) can be used to globally modify the execution location of these commands.This difference in execution location influences not only application performance (execution on the server is usually faster) but also programming. In fact, the value of the components of the formula (in particular variables called via a method) differ according to the execution context. You can use this selector to punctually adapt the operation of your application.
-* **Kept between two sessions**: No
+If you pass 0 in the *value* l’parameter, the execution location of query "by formula" commands will depend on the database configuration: in databases created with 4D v11 SQL, these commands will be executed on the server. In converted databases, they will be executed on the client machine or the server according to the database preferences. Pass 1 or 2 in *value* to "force" the execution of these commands, respectively, on the client or on the server machine.
-**Description**: Returns the version number of the OpenSSL library in use on the machine. (Read only)
+Refer to example 2.
+**Note:** If you want to be able to enable "SQL type" joins (see the QUERY BY FORMULA Joins selector), you must always execute formulas on the server so that they have access to the records. Be careful, in this context, the formula must not contain any calls to a method, otherwise it will automatically be switched to the remote machine.
-### Cache flush periodicity (95)
-**Thread-safe** : Yes
+### RDP optimization (133)
-**Scope**: 4D local, 4D Server
+**Scope:** 4D application.
-**Kept between two sessions**: No
+**Kept between two sessions:** No.
-**Possible values**: longint > 1 (seconds)
+**Possible values:** `0`: Disabled (default), `1`: Enabled.
-**Description**: Gets or sets the current cache flush periodicity, expressed in seconds. Modifying this value overrides the **Flush Cache every X Seconds** option in the [XML DECODE](xml-decode.md) of the Database settings for the session (it is not stored in the Database settings).
+**Description:** Enables or disables optimizations for RDP (Remote Desktop Protocol). When enabled, optimizes in particular the use of shared clipboard in RDP connections, which can otherwise lead to freezing issues. Note that this selector disables the support in clipboard for images encoded as data uri in raw text (only concerns images dropped or explicitly copied as text from a browser).
@@ -723,247 +807,240 @@ The sleep timeout is applied after a machine running a 4D remote application has
-### Tips enabled (101)
-**Scope:** 4D application
+### Server base process stack size (53)
-**Kept between two sessions:** No
+**Scope**: 4D Server
-**Possible values:** 0 = tips disabled, 1 = tips enabled (default)
+**Kept between two sessions**: No
-**Description:** Sets or gets the current display status of the tips for the 4D application. By default, tips are enabled.
+**Possible values**: Positive longint.
- Note that this parameter sets all 4D tips, i.e. form help messages and Design mode editor's tips.
+**Description**: Size of the stack allocated to each preemptive system process on the server, expressed in bytes. The default size is determined by the system.
+Preemptive system processes (processes of the 4D client base process type) are loaded to control the main 4D client processes. The size allocated by default to the stack of each preemptive process allows a good ease of execution but may prove to be consequential when very large numbers of processes (several hundred) are created.
+For optimization purposes, this size can be reduced considerably if the operations carried out by the database allow for it (for example if the database does not carry out sorts of large quantities of records). Values of 512 or even 256 KB are possible. Be careful, under-sizing the stack is critical and can be harmful to the operation of 4D Server. Setting this parameter should be done with caution and must take the database conditions of use into account (number of records, type of operations, etc.).
-### Tips delay (102)
+In order to be taken into account, this parameter must be executed on the server machine (for example in the *On Server Startup Database Method*).
-**Scope:** 4D application
-**Kept between two sessions:** No
-**Possible values:** longint >= 0 (ticks)
-**Description:** Delay before tips are displayed once the mouse cursor has stopped in objects with attached help messages. Value is expressed in ticks (1/60th of a second). Default value is 45 ticks (0.75 seconds).
+### SMTP Log (110)
+**Thread-safe** : Yes
+**Scope**: 4D local, 4D Server*
-### Tips duration (103)
+**Kept between two sessions**: No
-**Scope:** 4D application
+**Possible values**: 0 or from 1 to X (0 = do not record, 1 to X = sequential number, added to the file name). By default, the value is 0 (SMTP exchanges not recorded).
-**Kept between two sessions:** No
+**Description**: Starts or stops the recording of exchanges between 4D and the SMTP server, when a *transporter* object is processed through *transporter.send( )* or *SMTP\_transporter.checkConnection( )*. By default, the value is 0 (exchanges not recorded). When this mechanism is enabled, a log file is created in the Logs folder of the database. It is named 4DSMTPLog\_X.txt, where *X* is the sequential number of the log. Once the file 4DSMTPLog has reached a size of 10 MB, it is closed and a new one is generated, with an incremented sequential number. If a file of the same name already exists, it is replaced directly. You can set the starting number of the sequence using the *value* parameter. By default, all files are kept, but you can control the number of files to keep using the Circular log limitation parameter.
-**Possible values:** longint >= 60 (ticks)
+For more information on the 4DSMTPLog\_X.txt files, please refer to the *Description of log files* section.
-**Description:** Maximum display duration for a tip. Value is expressed in ticks (1/60th of a second). Default value is 720 ticks (12 seconds).
-### Min TLS version (105)
+### Spellchecker (81)
-**Scope**: 4D Server, 4D Web Server and 4D SQL Server
+**Scope**: 4D application
-**Kept between two sessions**: No
+ **Kept between two sessions**: No
-**Description**: Used to specify the minimum Transport Layer Security (TLS) version, which provides data encryption and authentication between applications and servers. Connection attempts from clients supporting only versions below the minimum will be rejected. The setting is applied globally to the network layer. Once modified, the server must be restarted to use the new value.
+ **Possible values**: 0 (default) = native macOS spellchecker (Hunspell disabled), 1 = Hunspell spellcheck enabled.
-**Default value**: TLSv1\_3
+**Description**: Enables the Hunspell spellcheck under macOS. By default, the native spellchecker is enabled on this platform. You may prefer to use the Hunspell spellcheck, for example, in order to unify the interface for your cross-platform applications (under Windows, only the Hunspell spellcheck is available). For more information, refer to *Spell checking*.
-**Possible values**: TLSv1\_2 (TLS 1.2, introduced in 2008) TLSv1\_3 (TLS 1.3, introduced in 2018) **NOTES**:
-- The 4D Internet Commands plugin uses a different network layer, therefore this selector will have no impact on its TLS version.
-- This setting is ignored for your client server connections if your 4D Server uses the legacy network layer.
+### SQL Autocommit (43)
+**Scope**:Database
-### User param value (108)
+**Kept between two** **sessions**: Yes
-**Scope:** 4D local, 4D Server
+**Possible values**: 0 (deactivation) or 1 (activation)
-**Kept between two sessions:** No
+**Description**: Activation or deactivation of the SQL auto-commit mode. By default, the value is 0 (deactivated mode)
-**Possible values**: Any custom string
+ The auto-commit mode is used to strengthen the referential integrity of the database. When this mode is active, all *SELECT*, *INSERT*, *UPDATE* and *DELETE* (SIUD) queries are automatically included in ad hoc transactions when they are not already executed within a transaction. This mode can also be set in the Preferences of the database.
-**Description:** Custom string passed from one session to the next one when the 4D application is restarted. This selector is useful in the context of automated unit tests that require applications to restart with different parameters.
-When used with [SET DATABASE PARAMETER](set-database-parameter.md), defines a new value that will be available within the next opened database after 4D is restarted manually or using the [OPEN DATABASE](open-database.md)(\*), [OPEN DATA FILE](open-data-file.md), or [RESTART 4D](restart-4d.md) commands. When used with [Get database parameter](get-database-parameter.md), gets the currently available user parameter value, defined using a command line (see *Command Line Interface*), the .4DLink file (see *Using a 4DLink file*), or a call to [SET DATABASE PARAMETER](set-database-parameter.md) during the previous session. (\*) If [SET DATABASE PARAMETER](set-database-parameter.md) sets a User param value before a call to [OPEN DATABASE](open-database.md) with a .4DLink file that also contains a user-param xml attribute, 4D takes into account only the parameter provided by [SET DATABASE PARAMETER](set-database-parameter.md).
+### SQL Engine case sensitivity (44)
-### Times inside objects (109)
+**Scope**: Database
-Scope: 4D local, 4D Server (all processes)
+**Kept between two sessions**: Yes
- Kept between two **sessions**: No
+**Possible values**: 0 (case not taken into account) or 1 (case-sensitive)
- **Possible values**: Times in seconds (0) (default), Times in milliseconds (1)
+**Description**: Activation or deactivation of case-sensitivity for string comparisons carried out by the SQL engine.
-**Description**: Defines the way time values are converted and stored within object properties and collection elements, as well as how they will be imported/exported in JSON and in Web areas. By default, starting with 4D v17, times are converted and stored as number of seconds in objects.
+By default, the value is 1 (case-sensitive): the SQL engine differentiates between upper and lower case and between accented characters when comparing strings (sorts and queries). For example “ABC”= “ABC” but “ABC” # “Abc” and "abc" # "âbc." In certain cases, for example so as to align the functioning of the SQL engine with that of the 4D engine, you may wish for string comparisons to not be case-sensitive (“ABC”=“Abc"="âbc").
-In previous releases, time values were converted and stored as number of milliseconds in those contexts. Using this selector can help you migrating your applications by reverting to previous settings if necessary.
+**Warning:* Since this option modifies the database structure file and all processes, for performance reasons it is highly recommended to set it at database startup only.* This option can also be set in the Database settings.
-**Note**: ORDA methods and SQL engine ignore this setting, they always assume time values to be numbers of seconds.
-### SMTP Log (110)
+### SQL Server Port ID (88)
-**Thread-safe** : Yes
+**Scope**: 4D local, 4D Server.
-**Scope**: 4D local, 4D Server*
+**Kept between two sessions**: Yes
-* **Kept between two sessions**: No
+**Description**: Gets or sets the TCP port number used by the integrated SQL server of 4D in local mode or 4D Server. By default, the value is 19812\. When this selector is set, the database setting is updated. You can also set the TCP port number on the "SQL" page of the Database Settings dialog box.
- **Possible values**: 0 or from 1 to X (0 = do not record, 1 to X = sequential number, added to the file name). By default, the value is 0 (SMTP exchanges not recorded).
+**Possible values**: 0 to 65535.
-**Description**: Starts or stops the recording of exchanges between 4D and the SMTP server, when a *transporter* object is processed through *transporter.send( )* or *SMTP\_transporter.checkConnection( )*. By default, the value is 0 (exchanges not recorded). When this mechanism is enabled, a log file is created in the Logs folder of the database. It is named 4DSMTPLog\_X.txt, where *X* is the sequential number of the log. Once the file 4DSMTPLog has reached a size of 10 MB, it is closed and a new one is generated, with an incremented sequential number. If a file of the same name already exists, it is replaced directly. You can set the starting number of the sequence using the *value* parameter. By default, all files are kept, but you can control the number of files to keep using the Circular log limitation parameter.
+**Default value**: 19812
-For more information on the 4DSMTPLog\_X.txt files, please refer to the *Description of log files* section.
-### Current process debug log recording (111)
+### SSL cipher list (64)
-**Scope:** 4D application
+**Scope**: 4D application
-**Kept between two sessions:** No
+**Kept between two sessions**: No
-**Description**: Starts or stops the sequential recording of programming events **for the current process** in a separated log file. This log is similar to the Debug log recording (selector 34) but focuses on the current process only. The log file name includes the letter "p" and the process number: 4DDebugLog\[\_p*N*_*n*].txt, where N is the process unique ID.
+**Possible values**: Sequence of strings separated by colons.
-For more information about this format and on the use of the *4DDebugLog* file, please refer to *Description of log files* in the Design Reference.
+**Description:** Cipher list used by 4D for the secure protocol. This list modifies the priority of ciphering algorithms implemented by 4D. For example, you can pass the following string in the *value* parameter: "HIGH:!aNULL:!MD5:!3DES:!CAMELLIA:!AES128:!RSA:!DH:!RC4". For a complete description of the syntax for the ciphers list, refer to the *ciphers page of the OpenSSL site*.
-**Notes:** This selector is provided solely for the purpose of debugging and should be used with care. In particular, it must not put into production since it can have an impact on the application performance. You can use both Debug log recording and Current process debug log recording selectors simultaneously, in which case the current process actions will not be logged in the main log file.
+This setting applies to the main Web server (excluding Web server objects), the SQL server, client/server connections, as well as the HTTP client and all the 4D commands that make use of the secure protocol. It is temporary (it is not maintained between sessions).
+When the cipher list has been modified, you will need to restart the server concerned in order for the new settings to be taken into account.
+To reset the cipher list to its default value (stored permanently in the SLI file), call the [SET DATABASE PARAMETER](set-database-parameter.md) command and pass an empty string ("") in the *value* parameter.
-### Is current database a project (112)
+**Note:** With the [Get database parameter](get-database-parameter.md) command, the cipher list is returned in the optional *stringValue* parameter and the return parameter is always 0.
-**Note:** You can only use this selector with the [Get database parameter](get-database-parameter.md) command and its value cannot be set.
-**Scope**: 4D application
-**Description**: Returns 1 if the current database architecture is a project, and 0 otherwise. For more information, please refer to *Project vs binary database* section.
+### Table sequence number (31)
+**Scope**:4D application
-### Is host database a project (113)
+ **Kept between two sessions**: Yes
-**Note:** You can only use this selector with the [Get database parameter](get-database-parameter.md) command and its value cannot be set.
+ **Possible values**: Any longint value.
-**Scope**: 4D application
+**Description**: This selector is used to modify or get the current unique number for records of the table passed as parameter. "Current number" means "last number used": if you modify this value using [SET DATABASE PARAMETER](set-database-parameter.md), the next record will be created with a number that consists of the value passed + 1\. This new number is the one returned by the [Sequence number](sequence-number.md) command as well in any field of the table to which the "Autoincrement" property has been assigned in the Structure editor or via SQL.
-**Description**: Returns 1 if the host database architecture is a project, and 0 otherwise. For more information, please refer to *Project vs binary database* section.
+By default, this unique number is set by 4D and corresponds to the order of record creation. For additional information, refer to the documentation of the [Sequence number](sequence-number.md) command.
-### Libldap version (114)
-**Scope**: Current 4D machine
+### TCPUDP log recording (131)
-**Kept between two sessions**: n/a
+**Scope:** 4D application.
-**Description**: Returns the version number of the LDAP library in the 4D application on the current machine. (Read only)
+**Kept between two sessions:** No.
+**Possible values:** `0`: Logging disabled (default), `1`: Logging enabled.
+**Description:** Enables or disables the `4DTCPUDPLog.txt` file for logging TCP events.
-### Libsasl version (115)
-**Scope**: Current 4D machine
-**Kept between two sessions**: n/a
-**Description**: Returns the version number of the SASL library in the 4D application on the current machine. (Read only)
+### Times inside objects (109)
+**Scope:** 4D local, 4D Server (all processes)
+**Kept between two sessions**: No
-### POP3 Log (116)
+**Possible values**: Times in seconds (0) (default), Times in milliseconds (1)
-**Thread-safe** : Yes
+**Description**: Defines the way time values are converted and stored within object properties and collection elements, as well as how they will be imported/exported in JSON and in Web areas. By default, starting with 4D v17, times are converted and stored as number of seconds in objects.
-**Scope:** 4D local, 4D Server
+In previous releases, time values were converted and stored as number of milliseconds in those contexts. Using this selector can help you migrating your applications by reverting to previous settings if necessary.
-**Kept between two sessions:** No
+**Note**: ORDA methods and SQL engine ignore this setting, they always assume time values to be numbers of seconds.
-**Possible values:** 0 or from 1 to X (0 = do not record, 1 to X = sequential number, added to the file name). By default, the value is 0 (POP3 exchanges not recorded).
-**Description**: Starts or stops the recording of exchanges between 4D and the POP3 server, when a transporter object is processed through *POP3\_transporter.getMail( )* or *POP3\_transporter.checkConnection( )*. By default, the value is 0 (exchanges not recorded). When this mechanism is enabled, a log file is created in the Logs folder of the database. It is named 4DPOP3Log\_X.txt, where X is the sequential number of the log. Once the file 4DPOP3Log has reached a size of 10 MB, it is closed and a new one is generated, with an incremented sequential number. If a file of the same name already exists, it is replaced directly. You can set the starting number of the sequence using the value parameter. By default, all files are kept, but you can control the number of files to keep using the Circular log limitation parameter.
-For more information on the 4DPOP3Log\_X.txt files, please refer to the *Description of log files* section.
+### Tips delay (102)
+**Scope:** 4D application
-### Is host database writable (117)
+**Kept between two sessions:** No
-**Note:** You can only use this selector with the [Get database parameter](get-database-parameter.md) command and its value cannot be set.
+**Possible values:** longint >= 0 (ticks)
-**Scope**: 4D application
+**Description:** Delay before tips are displayed once the mouse cursor has stopped in objects with attached help messages. Value is expressed in ticks (1/60th of a second). Default value is 45 ticks (0.75 seconds).
-**Description**: Returns 1 if the host project file/structure file is writable, and 0 if it is read-only.
-### IMAP Log (119)
+### Tips duration (103)
-**Thread-safe** : Yes
+**Scope:** 4D application
-**Scope**: 4D local, 4D Server
+**Kept between two sessions:** No
-**Kept between two sessions**: No
+**Possible values:** longint >= 60 (ticks)
-**Possible values**: 0 or from 1 to X (0 = do not record, 1 to X = sequential number, added to the file name). By default, the value is 0 (IMAP exchanges not recorded).
+**Description:** Maximum display duration for a tip. Value is expressed in ticks (1/60th of a second). Default value is 720 ticks (12 seconds).
-**Description**: Starts or stops the recording of exchanges between 4D and the IMAP server, when a transporter object is processed through *IMAP\_transporter.getMail( )* or *IMAP\_transporter.checkConnection( )*. By default, the value is 0 (exchanges not recorded). When this mechanism is enabled, a log file is created in the Logs folder of the database. It is named 4DIMAPLog\_X.txt, where X is the sequential number of the log. Once the file 4DIMAPLog has reached a size of 10 MB, it is closed and a new one is generated, with an incremented sequential number. If a file of the same name already exists, it is replaced directly. You can set the starting number of the sequence using the value parameter. By default, all files are kept, but you can control the number of files to keep using the Circular log limitation parameter.
-For more information on the 4DIMAPLog\_X.txt files, please refer to the *Description of log files* section.
+### Tips enabled (101)
-### Libzip version (120)
+**Scope:** 4D application
-**Scope:** Current 4D machine
+**Kept between two sessions:** No
-**Kept between two sessions:** n/a
+**Possible values:** 0 = tips disabled, 1 = tips enabled (default)
-**Description:** Returns the version number of the libzip library in the 4D application on the current machine. (Read only)
+**Description:** Sets or gets the current display status of the tips for the 4D application. By default, tips are enabled.
+ Note that this parameter sets all 4D tips, i.e. form help messages and Design mode editor's tips.
-### Pause logging (121)
-**Thread-safe** : Yes
-**Scope**: 4D application
+### Use legacy network layer (87)
-**Kept between two** **sessions**: No
+**Scope**: 4D in local mode, 4D Server
-**Possible values**: 0 (resume logs), 1 (pause logs)
+**Kept between two sessions**: Yes
-**Description:** This selector allows to suspend/resume all logging operations started on the application (except ORDA logs). This feature can be useful to temporarily lighten the 4D application tasks or schedule logging operations.
+**Description:** Sets or gets the current status of the legacy network layer for client/server connections. The legacy network layer is obsolete beginning with 4D v14 R5 and should be replaced progressively in your applications with the *ServerNet* network layer. *ServerNet* will be required in upcoming 4D releases in order to benefit from future network evolutions. For compatibility reasons, the legacy network layer is still supported to allow a smooth transition for existing applications; (it is used by default in applications converted from a release prior to v14 R5). Pass 1 in this parameter to use the legacy network layer (and disable *ServerNet*) for your client/server connections, and pass 0 to disable the legacy network (and use the *ServerNet*).
+This property can also be set by means of the "Use legacy network layer" option found on the *Compatibility page* of the Database Settings (see *Network and Client-Server options*). In this section, you will also find a discussion about migration strategy. We recommend that you activate the *ServerNet* as soon as possible. You will need to restart the application in order for this parameter to be taken into account.
+**Possible values:** 0 or 1 (0 = do not use legacy layer, 1 = use legacy layer)
-### TCPUDP log recording (131)
+**Default value:** 0 in databases created with 4D v14 R5 or higher, 1 in databases converted from 4D v14 R4 or earlier.
-**Possible values:**
- `0`: Logging is disabled.
- `1`: Logging is enabled.
-**Description:** Retrieves the status of the `4DTCPUDPLog.txt` file for logging TCP events and returns whether the `4DTCPUDPLog.txt` log file is currently active or not.
+### User param value (108)
+**Scope:** 4D local, 4D Server
+**Kept between two sessions:** No
-### RDP optimization**Scope:** 4D application.
+**Possible values**: Any custom string
-**Kept between two sessions:** No.
+**Description:** Custom string passed from one session to the next one when the 4D application is restarted. This selector is useful in the context of automated unit tests that require applications to restart with different parameters.
-**Possible values:** `0`: Disabled (default), `1`: Enabled.
+When used with [SET DATABASE PARAMETER](set-database-parameter.md), defines a new value that will be available within the next opened database after 4D is restarted manually or using the [OPEN DATABASE](open-database.md)(\*), [OPEN DATA FILE](open-data-file.md), or [RESTART 4D](restart-4d.md) commands. When used with [Get database parameter](get-database-parameter.md), gets the currently available user parameter value, defined using a command line (see *Command Line Interface*), the .4DLink file (see *Using a 4DLink file*), or a call to [SET DATABASE PARAMETER](set-database-parameter.md) during the previous session.
- **Description:** Enables or disables optimizations for RDP (Remote Desktop Protocol). When enabled, optimizes in particular the use of shared clipboard in RDP connections, which can otherwise lead to freezing issues. Note that this selector disables the support in clipboard for images encoded as data uri in raw text (only concerns images dropped or explicitly copied as text from a browser).
+(\*) If [SET DATABASE PARAMETER](set-database-parameter.md) sets a User param value before a call to [OPEN DATABASE](open-database.md) with a .4DLink file that also contains a user-param xml attribute, 4D takes into account only the parameter provided by [SET DATABASE PARAMETER](set-database-parameter.md).
diff --git a/versioned_docs/version-21/commands-legacy/open-window.md b/versioned_docs/version-21/commands-legacy/open-window.md
index 6ad8d7be718119..76f36f3538c8e6 100644
--- a/versioned_docs/version-21/commands-legacy/open-window.md
+++ b/versioned_docs/version-21/commands-legacy/open-window.md
@@ -38,7 +38,30 @@ If you pass -1 in both *right* and *bottom,* you instruct 4D to automatically si
**Important:** This automatic sizing of the window will occur only if you made a prior call to [FORM SET INPUT](form-set-input.md) for the form to be displayed, and if you passed the \* optional parameter to [FORM SET INPUT](form-set-input.md).
-* The *type* parameter is optional. It represents the type of window you want to display, and corresponds to the different windows shown in the section *Window Types (compatibility)* (constants of the *Open Window* theme). If the window type is negative, the window created is a floating window. If the type is not specified, type 1 is used by default.
+* The *type* parameter is optional. It represents the type of window you want to display. If the window type is negative, the window created is a floating window (if supported). If the type is not specified, type 1 is used by default. The following constants of the *Open Window* theme are supported:
+
+|Constant|Comment|
+|---|---|
+|Alternate dialog box|Can be a floating window|
+|Has full screen mode Mac|Option to add to a document type window on macOS only (ex: `Plain form window+Form has full screen mode Mac`)|
+|Modal dialog box ||
+|Movable dialog box |Can be a floating window|
+|Palette window|Can be a floating windowNot resizable: `-(Palette window+2)` (Windows) or ` -Palette window` (macOS)Resizable: `-(Palette window+6)`|
+|Plain dialog box |Can be a floating window|
+|Plain fixed size window||
+|Plain no zoom box window||
+|Pop up window||
+|Plain window||
+|Resizable sheet window||
+|Round corner window ||
+|Sheet window||
+|Texture appearance|Option to be added to a window type on macOS only. Supported types: `Plain window`, `Plain no zoom box window`, `Plain fixed size window`, `Movable dialog box`, `Round corner window`|
+
+
+
+
+
+
* The *title* parameter is the optional title for the window
If you pass an empty string ("") in *title,* you instruct 4D to use the Window Title set in the Design environment Form Properties window for the form to be displayed.
@@ -47,7 +70,7 @@ If you pass an empty string ("") in *title,* you instruct 4D to use the Window T
* The *controlMenuBox* parameter is the optional Control-menu box method for the window. If this parameter is specified, a Control-menu box (Windows) or a Close Box (Macintosh) is added to the window. When the user double-clicks the Control-menu box (Windows) or clicks on the Close Box (Macintosh), the method passed in *controlMenuBox* is called.
-**Note:** You can also manage the closing of the window from within the form method of the form displayed in the window when an On Close Box event occurs. For more information, see the command [Form event code](../commands/form-event-code.md).
+**Note:** You can also manage the closing of the window from within the form method of the form displayed in the window when an `On Close Box` event occurs. For more information, see the command [Form event code](../commands/form-event-code.md).
If more than one window is open for a process, the last window opened is the active (frontmost) window for that process. Only information within the active window can be modified. Any other windows can be viewed. When the user types, the active window will always come to the front, if it is not already there.
@@ -61,21 +84,19 @@ The following project method opens a window centered in the main window (Windows
```4d
// OPEN CENTERED WINDOW project method
- // $1 – Window width
- // $2 – Window height
- // $3 – Window type (optional)
- // $4 – Window title (optional)
+ #DECLARE($width : Integer; $height : Integer; $type : Integer; $title : Text)
+ var $SW; $SH; $WW; $WH : Integer
$SW:=Screen width\2
$SH:=(Screen height\2)
- $WW:=$1\2
- $WH:=$2\2
+ $WW:=$width\2
+ $WH:=$height\2
Case of
:(Count parameters=2)
Open window($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH)
:(Count parameters=3)
- Open window($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH;$3)
+ Open window($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH;$type)
:(Count parameters=4)
- Open window($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH;$3;$4)
+ Open window($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH;$type;$title)
End case
```
@@ -95,7 +116,8 @@ After the project method is written, you can use it this way:
The following example opens a floating window that has a Control-menu box (Windows) or Close Box (Macintosh) method. The window is opened in the upper right hand corner of the application window.
```4d
- $myWindow:=Open window(Screen width-149;33;Screen width-4;178;-Palette window;"";"CloseColorPalette")
+ var $myWindow : Integer
+ $myWindow:=Open window(Screen width-149;33;Screen width-4;178;-Palette window;"";"CloseColorPalette")
DIALOG([Dialogs];"Color Palette")
```
@@ -110,7 +132,8 @@ The CloseColorPalette method calls the [CANCEL](cancel.md) command:
The following example opens a window whose size and title come from the properties of the form displayed in the window:
```4d
- FORM SET INPUT([Customers];"Add Records";*)
+ var $myWindow : Integer
+ FORM SET INPUT([Customers];"Add Records";*)
$myWindow:=Open window(10;80;-1;-1;Plain window;"")
Repeat
ADD RECORD([Customers])
@@ -124,7 +147,8 @@ The following example opens a window whose size and title come from the properti
This example illustrates the “delay” mechanism for displaying sheet windows under macOS:
```4d
- $myWindow:=Open window(10;10;400;400;Sheet window)
+ var $myWindow : Integer
+ $myWindow:=Open window(10;10;400;400;Sheet window)
//For the moment, the window is created but remains hidden
DIALOG([Table];"dialForm")
//The On Load event is generated then the sheet window is displayed; it "drops down" from the bottom
@@ -135,7 +159,7 @@ This example illustrates the “delay” mechanism for displaying sheet windows
[CLOSE WINDOW](close-window.md)
[Open form window](open-form-window.md)
-*Open Window*
+
## Properties
diff --git a/versioned_docs/version-21/commands-legacy/query-by-attribute.md b/versioned_docs/version-21/commands-legacy/query-by-attribute.md
index e611a73547f898..024cd41c97ac33 100644
--- a/versioned_docs/version-21/commands-legacy/query-by-attribute.md
+++ b/versioned_docs/version-21/commands-legacy/query-by-attribute.md
@@ -10,10 +10,10 @@ displayed_sidebar: docs
| Parameter | Type | | Description |
| --- | --- | --- | --- |
| aTable | Table | → | Table for which to return a selection of records, or Default table if omitted |
-| conjOp | * | → | Conjunction operator to use to join multiple queries (if any) |
+| conjOp | Operator | → | Conjunction operator to use to join multiple queries (if any) |
| objectField | Field | → | Object field to query attributes |
| attributePath | Text | → | Name or path of attribute |
-| queryOp | Text, * | → | Query operator (comparator) |
+| queryOp | Text, Operator | → | Query operator (comparator) |
| value | Text, Number, Date, Time | → | Value to compare |
| * | Operator | → | Continue query flag |
diff --git a/versioned_docs/version-21/commands-legacy/query-selection-by-attribute.md b/versioned_docs/version-21/commands-legacy/query-selection-by-attribute.md
index 4996f9e7b49b80..22f6dd1ba3190f 100644
--- a/versioned_docs/version-21/commands-legacy/query-selection-by-attribute.md
+++ b/versioned_docs/version-21/commands-legacy/query-selection-by-attribute.md
@@ -10,10 +10,10 @@ displayed_sidebar: docs
| Parameter | Type | | Description |
| --- | --- | --- | --- |
| aTable | Table | → | Table for which to return a selection of records, or Default table if omitted |
-| conjOp | * | → | Conjunction operator to use to join multiple queries (if any) |
+| conjOp | Operator | → | Conjunction operator to use to join multiple queries (if any) |
| objectField | Field | → | Object field to query attributes |
| attributePath | Text | → | Name or path of attribute |
-| queryOp | *, Text | → | Query operator (comparator) |
+| queryOp | Text, Operator | → | Query operator (comparator) |
| value | Text, Number, Date, Time | → | Value to compare |
| * | Operator | → | Continue query flag |
diff --git a/versioned_docs/version-21/commands-legacy/register-client.md b/versioned_docs/version-21/commands-legacy/register-client.md
index cf860b712fbe7e..acb9991ba4f192 100644
--- a/versioned_docs/version-21/commands-legacy/register-client.md
+++ b/versioned_docs/version-21/commands-legacy/register-client.md
@@ -64,7 +64,7 @@ var PrClientList : Integer
PrClientList:=New process("4D Client List";32000;"List of registered clients")
```
-3) The method 4D Client List allows you to recuperate all the registered 4D clients and those that can receive messages:
+3) The 4D Client List method allows you to get all the registered 4D clients and those that can receive messages:
```4d
var $Ref; $p : Integer
diff --git a/versioned_docs/version-21/commands-legacy/set-database-parameter.md b/versioned_docs/version-21/commands-legacy/set-database-parameter.md
index 61a24845e90b76..4a555bb40666fb 100644
--- a/versioned_docs/version-21/commands-legacy/set-database-parameter.md
+++ b/versioned_docs/version-21/commands-legacy/set-database-parameter.md
@@ -21,6 +21,36 @@ displayed_sidebar: docs
The *selector* designates the database parameter to modify. 4D offers predefined constants, which are located in the “*Database Parameters*” theme. The following table lists each constant, describes its scope and indicates whether any changes made are kept between two sessions:
+### 4D Remote mode timeout (14)
+
+**Scope** (legacy network layer only): 4D application if *value* positive
+
+**Kept between two sessions**: Yes if *value* positive
+
+**Description**: To be used in very specific cases. Value of the timeout granted by the remote 4D machine to the 4D Server machine. The default timeout value used by 4D in remote mode is set on the "Client-Server/Network options" page of the Database settings dialog box on the remote machine.
+
+The 4D Remote mode timeout selector is only taken into account if you are using the legacy network. It is ignored when the *ServerNet* layer is activated: this setting is entirely managed by the 4D Server timeout (13) selector.
+
+
+
+
+### 4D Server log recording (28)
+
+**Thread-safe** : Yes
+
+**Scope**: 4D Server, 4D remote*
+
+* **Kept between two sessions**: No
+
+**Possible values**: 0 or from 1 to X (0 = do not record, 1 to X = sequential number, added to the file name).
+
+**Description**: Starts or stops the recording of standard requests received by 4D Server (excluding Web requests). By default, the value is 0 (requests not recorded).
+
+4D Server lets you record each request received by the server machine in a log file. When this mechanism is enabled, two files are created in the Logs folder of the database. They are named *4DRequestsLogServer\_X*.txt and *4DRequestsLog\_ProcessInfoServer\_X*.txt on the server, and *4DRequestsLog\_X*.txt and *4DRequestsLog\_ProcessInfo\_X*.txt on the remote, where X is the sequential number of the log. Once a file has reached a size of 10 MB, it is closed and a new one is generated, with an incremented sequential number. If a file of the same name already exists, it is replaced directly. You can set the starting number of the sequence using the *value* parameter. These text files store various information concerning each request in a simple tabbed format: time, process number, size of request, processing duration, etc. For more information on the 4DRequestsLog files, please refer to the *Description of log files* section.
+
+
+
+
### 4D Server timeout (13)
**Scope**: 4D application if *value* positive
@@ -39,41 +69,63 @@ If you pass a **positive** value in the *value*parameter, you set a global and p
-### 4D Remote mode timeout (14)
-**Scope** (legacy network layer only): 4D application if *value* positive
+### Auto synchro resources folder (48)
-**Kept between two sessions**: Yes if *value* positive
+**Scope**:4D remote machine
-**Description**: To be used in very specific cases. Value of the timeout granted by the remote 4D machine to the 4D Server machine. The default timeout value used by 4D in remote mode is set on the "Client-Server/Network options" page of the Database settings dialog box on the remote machine.
+**Kept between two** **sessions**: No
+
+**Possible values**: 0 (no synchronization), 1 (auto synchronization) or 2 (ask).
+
+**Description**: Dynamic synchronization mode for *Resources* folder of 4D client machine that executed the command with that of the server.
+
+When the contents of the *Resources* folder on the server has been modified or a user has requested synchronization (for example via the resources explorer or following the execution of the [SET DATABASE LOCALIZATION](set-database-localization.md) command), the server notifies the connected client machines.
+
+Three synchronization modes are then possible on the client side. The Auto Synchro Resources Folder selector is used to specify the mode to be used by the client machine for the current session:
+
+- 0 (default value): no dynamic synchronization (synchronization request is ignored)
+- 1: automatic dynamic synchronization
+- 2: display of a dialog box on the client machines, with the possibility of allowing or refusing synchronization.The synchronization mode can also be set globally in the application Preferences.
-The 4D Remote mode timeout selector is only taken into account if you are using the legacy network. It is ignored when the *ServerNet* layer is activated: this setting is entirely managed by the 4D Server timeout (13) selector.
-### Port ID (15)
+
+### Cache flush periodicity (95)
+
+**Thread-safe** : Yes
+
**Scope**: 4D local, 4D Server
**Kept between two sessions**: No
-**Description**: TCP port ID used by the 4D Web server with 4D in local mode and 4D Server. The default value, which can be set on the "Web/Configuration" page of the Preferences dialog box, is 80\. You can use the constants of the *TCP Port Numbers* theme for the *value* parameter.
+**Possible values**: longint > 1 (seconds)
-The Port ID selector is useful for 4D Web Servers compiled and merged with 4D Desktop (in which there is no access to the Design mode). For more information about the TCP port ID, refer to the *Web Server Settings* section.
+**Description**: Gets or sets the current cache flush periodicity, expressed in seconds. Modifying this value overrides the **Flush Cache every X Seconds** option in the [XML DECODE](xml-decode.md) of the Database settings for the session (it is not stored in the Database settings).
-### Character set (17)
-**Scope**: 4D local, 4D Server
+### Cache unload minimum size (66)
-**Kept between two sessions**: Yes
+**Scope**: 4D application
-**Description**: *Constant obsolete (kept for compatibility reasons only).* We now recommend using the [WEB SET OPTION](web-set-option.md) and [WEB GET OPTION](web-get-option.md) commands for configuring the HTTP server.
+**Kept between two sessions**: No
+**Possible values**: Positive longint > 1.
+
+**Description**: Minimum size of memory to release from the database cache when the engine needs to make space in order to allocate an object to it (value in bytes).
+
+The purpose of this selector is to reduce the number of times that data is released from the cache in order to obtain better performance. You can vary this setting according to the size of the cache and that of the blocks of data being handled in your database.
+
+By default, if this selector is not used, 4D unloads at least 10% of the cache when space is needed.
-### Max concurrent Web processes (18)
+
+
+### Character set (17)
**Scope**: 4D local, 4D Server
@@ -83,15 +135,19 @@ The Port ID selector is useful for 4D Web Servers compiled and merged with 4D De
-### Client port ID (22)
-**Scope**: All 4D remote machines
+### Circular log limitation (90)
- **Kept between two** **sessions**: Yes
+**Thread-safe** : Yes
- **Possible values**: See selector 15
+**Scope**: 4D local, 4D Server.
+
+**Kept between two sessions**: No
+
+**Possible values**: Any integer value, 0 = keep all logs
+
+**Description**: Maximum number of files to keep in rotation for each type of log. By default, the 50 most recent files are kept. If you pass a value *X*, only the *X* most recent files are kept, with the oldest being erased automatically when a new one is created. This setting applies to all log files, i.e. request logs (selectors 28 and 45), debug log (selector 34), events log (selector 79), Web logs (selectors 29 and 84 of the [WEB SET OPTION](web-set-option.md) command), etc.
-**Description**: Used to specify this parameter for all the remote 4D machines used as Web servers. The values defined using these selectors are applied to all the remote machines used as Web servers. If you want to define values only for certain remote machines, use the Preferences dialog box of 4D in remote mode.
@@ -107,6 +163,41 @@ The Port ID selector is useful for 4D Web Servers compiled and merged with 4D De
+
+### Client HTTPS port ID (40)
+
+**Scope**:All 4D remote machines
+
+**Kept between two** **sessions**: Yes
+
+**Possible values**: 0 to 65535
+
+**Description**: TCP port number used by the Web servers of the client machines for secure connections via SSL (HTTPS protocol). By default, the value is 443 (standard value).
+
+This selector can be used to modify by programming the TCP port used by the Web servers of the client machines for secure connections via SSL (HTTPS protocol). By default, the value is 443 (standard value).
+
+This selector operates exactly the same way as selector 39; however, it applies to all the 4D remote machines used as Web servers. If you only want to modify the value of certain specific client machines, use the Preferences dialog box of the remote 4D.
+
+
+
+
+### Client log recording (45)
+
+**Scope**: Remote 4D machine
+
+**Kept between two sessions**: No
+
+**Possible values**: 0 or from 1 to X (0 = do not record, 1 to X = sequential number, attached to file name).
+
+**Description**: Starts or stops recording of standard requests carried out by the 4D client machine that executed the command (excluding Web requests). By default, the value is 0 (no recording of requests).
+
+4D lets you record the log of requests carried out by the client machine. When this mechanism is activated, two files are created on the client machine, in the Logs subfolder of the local folder of the database. They are named 4DRequestsLog\_X.txt and 4DRequestsLog\_ProcessInfo\_X.txt, where X is the sequential number of the log. Once the file 4DRequestsLog has reached a size of 10 MB, it is closed and a new one is generated, with an incremented sequential number. If a file with the same name already exists, it is directly replaced. You can set the starting number for the sequence using the value parameter.
+
+These text files store various information concerning each request in a simple tabbed format: time, process number, size of request, processing duration, etc. For more information on the 4DRequestsLog files, please refer to the *Description of log files* section.
+
+
+
+
### Client max concurrent Web proc (25)
**Scope**: All 4D remote machines
@@ -119,29 +210,36 @@ The Port ID selector is useful for 4D Web Servers compiled and merged with 4D De
-### Maximum Web requests size (27)
-**Scope**: 4D local, 4D Server
+### Client port ID (22)
-**Kept between two sessions**: Yes
+**Scope**: All 4D remote machines
-**Description**: *Constant obsolete (kept for compatibility reasons only).* We now recommend using the [WEB SET OPTION](web-set-option.md) and [WEB GET OPTION](web-get-option.md) commands for configuring the HTTP server.
+ **Kept between two** **sessions**: Yes
+ **Possible values**: See selector 15
+**Description**: Used to specify this parameter for all the remote 4D machines used as Web servers. The values defined using these selectors are applied to all the remote machines used as Web servers. If you want to define values only for certain remote machines, use the Preferences dialog box of 4D in remote mode.
-### 4D Server log recording (28)
-**Thread-safe** : Yes
-**Scope**: 4D Server, 4D remote*
-* **Kept between two sessions**: No
+### Client Server port ID (35)
-**Possible values**: 0 or from 1 to X (0 = do not record, 1 to X = sequential number, added to the file name).
+**Scope**:Database
-**Description**: Starts or stops the recording of standard requests received by 4D Server (excluding Web requests). By default, the value is 0 (requests not recorded).
+**Kept between two** **sessions**: Yes
+
+**Possible values**: 0 to 65535
+
+**Description**: TCP port number where the 4D Server publishes the database (bound for 4D remote machines). By default, the value is 19813\.
+
+Customizing this value means that several 4D client-server applications can be used on the same machine with the TCP protocol; in this case, you must indicate a different port number for each application.
+
+The value is stored in the database structure file. It can be set with 4D in local mode but is only taken into account in client-server configuration.
+
+When you modify this value, it is necessary to restart the server machine in order for the new value to be taken into account.
-4D Server lets you record each request received by the server machine in a log file. When this mechanism is enabled, two files are created in the Logs folder of the database. They are named *4DRequestsLogServer\_X*.txt and *4DRequestsLog\_ProcessInfoServer\_X*.txt on the server, and *4DRequestsLog\_X*.txt and *4DRequestsLog\_ProcessInfo\_X*.txt on the remote, where X is the sequential number of the log. Once a file has reached a size of 10 MB, it is closed and a new one is generated, with an incremented sequential number. If a file of the same name already exists, it is replaced directly. You can set the starting number of the sequence using the *value* parameter. These text files store various information concerning each request in a simple tabbed format: time, process number, size of request, processing duration, etc. For more information on the 4DRequestsLog files, please refer to the *Description of log files* section.
@@ -159,17 +257,36 @@ The operation of this selector is identical to that of selector 29; however, it
-### Table sequence number (31)
-**Scope**:4D application
+### Current process debug log recording (111)
- **Kept between two sessions**: Yes
+**Scope:** 4D application
- **Possible values**: Any longint value.
+**Kept between two sessions:** No
-**Description**: This selector is used to modify or get the current unique number for records of the table passed as parameter. "Current number" means "last number used": if you modify this value using [SET DATABASE PARAMETER](set-database-parameter.md), the next record will be created with a number that consists of the value passed + 1\. This new number is the one returned by the [Sequence number](sequence-number.md) command as well in any field of the table to which the "Autoincrement" property has been assigned in the Structure editor or via SQL.
+**Description**: Starts or stops the sequential recording of programming events **for the current process** in a separated log file. This log is similar to the Debug log recording (selector 34) but focuses on the current process only. The log file name includes the letter "p" and the process number: 4DDebugLog\[\_p*N*_*n*].txt, where N is the process unique ID.
+
+For more information about this format and on the use of the *4DDebugLog* file, please refer to *Description of log files* in the Design Reference.
+
+**Notes:** This selector is provided solely for the purpose of debugging and should be used with care. In particular, it must not put into production since it can have an impact on the application performance. You can use both Debug log recording and Current process debug log recording selectors simultaneously, in which case the current process actions will not be logged in the main log file.
+
+
+
+
+### Dates inside objects (85)
+
+**Scope:** Current process
+
+**Kept between two sessions**: No
+
+ **Possible values**: String type without time zone (0), String type with time zone (1), Date type (2) (default)
+
+**Description**: Defines the way dates are stored within objects, as well as how they will be imported/exported in JSON.
+
+When the selector value is Date type (default value for databases created with 4D v17 and higher), 4D dates are stored with the date type within objects, with respect to the local date settings. When converted to JSON format, date attributes will be converted to strings which do not include a time. (**Note:** this setting can be set by means of the "Use date type instead of ISO date format in objects" option found on the *Compatibility page* of the Database Settings).
+
+Passing String type with time zone in this selector will convert 4D dates into ISO strings and take the local time zone into account. For example, converting the date 23/08/2013 gives you "2013-08-22T22:00:000Z" in JSON format when the operation is performed in France during Daylight Savings Time (GMT+2). This principle conforms to the standard operation of JavaScript. This can be a source of errors when you want to send JSON date values to someone in a different time zone. For example, when you export a table using [Selection to JSON](selection-to-json.md) in France that is meant to be reimported in the US using [JSON TO SELECTION](json-to-selection.md). Since dates are re-interpreted in each time zone, the values stored in the database will be different. In this case, you can modify the conversion mode for dates so that they do not take the time zone into account by passing String type without time zone in this selector. Converting the date 23/08/2013 will then give you "2013-08-23T00:00:00Z" in all cases.
-By default, this unique number is set by 4D and corresponds to the order of record creation. For additional information, refer to the documentation of the [Sequence number](sequence-number.md) command.
@@ -184,37 +301,29 @@ By default, this unique number is set by 4D and corresponds to the order of reco
**Description**: Starts or stops the sequential recording of events occurring at the 4D programming level in the *4DDebugLog\[\_n\].txt* file or *4DDebugLogServer\[\_n\].txt* (where \_n is the segment number of the file and *Server* is added to the file name when generated on the server). Two modes are available:
- Standard mode provides a basic view of events and the file is automatically placed in the Logs subfolder of the database, next to the structure file. Execution times are expressed in milliseconds with the "< ms" value displayed when an operation lasts less than one millisecond.
-
- Tabbed mode provides additional information and uses a more compact, tabbed format in the file. Execution times are expressed in microseconds.
**Possible values**: Longint containing a bit field: value = bit1(1)+bit2(2)+bit3(4)+bit4(8)+…).
- Bit 0 (value 1) requests to enable the file (note that any other non-null value also enables it as well)
-
- Bit 1 (value 2) requests call parameters to commands and (interpreted mode only) methods
-
- Bit 2 (value 4) enables tabbed format.
-
- Bit 3 (value 8) disables immediate writing of each operation on disk (enabled by default). Immediate writing is slower but more effective, for example for investigating causes of a crash. If you disable this mode, the file contents are generated more quickly.
-
- Bit 4 (value 16) disables recording of plug-in calls (enabled by default).
-
- Bit 5 (value 32) disables member function logging.
Examples:
+```4d
SET DATABASE PARAMETER (34;1) // enables standard mode without parameters, with runtimes
-
SET DATABASE PARAMETER (34;2) // enables standard mode with parameters and runtimes
-
SET DATABASE PARAMETER (34;2+4) // enables tabbed mode with parameters and runtimes
-
SET DATABASE PARAMETER (34;0) // disables file
+```
For any type of interpreted or compiled 4D application (4D all modes, 4D Server, 4D Volume Desktop), you can avoid having a file record too much information by:
- restricting the 4D commands that are examined by using Log command list (selector 80), or
-
- restricting it to the current process only with Current process debug log recording (selector 111). This will add the letter "p" and the process number to the file name: *4DDebugLog\[\_pn\_n\].txt* or *4DDebugLogServer\[\_pn\_n\].txt* *
*For more information about this format and on the use of the *4DDebugLog* file, please refer to the *Description of log files* section..
@@ -227,484 +336,462 @@ For any type of interpreted or compiled 4D application (4D all modes, 4D Server,
-### Client Server port ID (35)
-**Scope**:Database
+### Diagnostic log level (86)
-**Kept between two** **sessions**: Yes
+**Thread-safe** : Yes
-**Possible values**: 0 to 65535
+**Scope:** 4D application
-**Description**: TCP port number where the 4D Server publishes the database (bound for 4D remote machines). By default, the value is 19813\.
+**Kept between two sessions:** No
-Customizing this value means that several 4D client-server applications can be used on the same machine with the TCP protocol; in this case, you must indicate a different port number for each application.
+**Description:** Level(s) of messages to be included in the diagnostic log when enabled (see selector Diagnostic log recording). Each level designates a category of diagnostic messages and automatically includes more important categorie(s). For a description of categories, see *Diagnostic log levels* section on *developer.4d.com*.
-The value is stored in the database structure file. It can be set with 4D in local mode but is only taken into account in client-server configuration.
+**Possible values:** One of the following constants (Log info by default):
+- Log trace: activates ERROR, WARN, INFO, DEBUG, TRACE (most detailed level)
+- Log debug: activates ERROR, WARN, INFO, DEBUG
+- Log info: activates ERROR, WARN, INFO (default)
+- Log warn: activates ERROR, WARN
+- Log error: activates ERROR (least detailed level)
-When you modify this value, it is necessary to restart the server machine in order for the new value to be taken into account.
-### HTTPS Port ID (39)
+### Diagnostic log recording (79)
-**Scope**:4D local, 4D Server
+**Thread-safe** : Yes
-**Kept between two sessions**: Yes
+**Scope**: 4D application
-**Description**: *Constant obsolete (kept for compatibility reasons only).* We now recommend using the [WEB SET OPTION](web-set-option.md) and [WEB GET OPTION](web-get-option.md) commands for configuring the HTTP server.
+**Kept between two sessions**: No
+Possible values: 0 or 1 (0 = do not record, 1 = record)
+**Description**: Starts or stops recording of the 4D diagnostic file. By default, the value is 0 (do not record).
-### Client HTTPS port ID (40)
+4D can continuously record a set of events related to the internal application operation into a diagnostic file. Information contained in this file is intended for the development of 4D applications and can be analyzed with the help of the 4D tech support (for more information, please refer to the *Description of log files* section on *developer.4d.com*). When you pass 1 in this selector, a diagnostic file is automatically created (or opened) in the database **Logs** folder. The file is named *4DDiagnosticLog\_X*.txt (or *4DDiagnosticLogServer\_X*.txt if generated on the server). Once this file reaches a size of 10 MB, it is closed and a new file is generated, with an incremented sequence number X.
-**Scope**:All 4D remote machines
+Note that you can include custom information in this file using the [LOG EVENT](log-event.md) command.
-**Kept between two** **sessions**: Yes
-**Possible values**: 0 to 65535
-**Description**: TCP port number used by the Web servers of the client machines for secure connections via SSL (HTTPS protocol). By default, the value is 443 (standard value).
-This selector can be used to modify by programming the TCP port used by the Web servers of the client machines for secure connections via SSL (HTTPS protocol). By default, the value is 443 (standard value).
+### Direct2D get active status (74)
-This selector operates exactly the same way as selector 39; however, it applies to all the 4D remote machines used as Web servers. If you only want to modify the value of certain specific client machines, use the Preferences dialog box of the remote 4D.
+**Note**: You can only use this selector with the [Get database parameter](get-database-parameter.md) command and its value cannot be set.
+**Description**: Returns active implementation of Direct2D under Windows.
+**Possible values**: 0, 1, 2, 3, 4 or 5 (see values of selector 69). The value returned depends on the availability of Direct2D, the hardware and the quality of Direct2D support by the operating system.
-### SQL Autocommit (43)
+For example, if you execute:
-**Scope**:Database
+```4d
+ SET DATABASE PARAMETER(Direct2D status;Direct2D Hardware)
+ $mode:=Get database parameter(Direct2D get active status)
+```
-**Kept between two** **sessions**: Yes
+- On Windows 7 and higher, *$mode* is set to 1 when the system detects hardware compatible with Direct2D; otherwise, *$mode* is set to 3 (software context).
-**Possible values**: 0 (deactivation) or 1 (activation)
+- On Windows Vista, *$mode* is set to 1 when the system detects hardware compatible with Direct2D; otherwise, *$mode* is set to 0 (disabling of Direct2D).
-**Description**: Activation or deactivation of the SQL auto-commit mode. By default, the value is 0 (deactivated mode)
+- On Windows XP, *$mode* is always set to 0 (not compatible with Direct2D).
- The auto-commit mode is used to strengthen the referential integrity of the database. When this mode is active, all *SELECT*, *INSERT*, *UPDATE* and *DELETE* (SIUD) queries are automatically included in ad hoc transactions when they are not already executed within a transaction. This mode can also be set in the Preferences of the database.
-### SQL Engine case sensitivity (44)
+### Direct2D status (69)
-**Scope**: Database
+**Scope**: 4D application
-**Kept between two sessions**: Yes
+**Kept between two sessions**: No
-**Possible values**: 0 (case not taken into account) or 1 (case-sensitive)
+**Description**: Activation mode of Direct2D under Windows.
-**Description**: Activation or deactivation of case-sensitivity for string comparisons carried out by the SQL engine.
+**Possible values**: One of the following constants (mode 3 by default):
-By default, the value is 1 (case-sensitive): the SQL engine differentiates between upper and lower case and between accented characters when comparing strings (sorts and queries). For example “ABC”= “ABC” but “ABC” # “Abc” and "abc" # "âbc." In certain cases, for example so as to align the functioning of the SQL engine with that of the 4D engine, you may wish for string comparisons to not be case-sensitive (“ABC”=“Abc"="âbc").
+- Direct2D Disabled (0): Direct2D mode is not enabled and the database functions in the previous mode (GDI/GDIPlus).
+- Direct2D Hardware (1): Use Direct2D as graphics hardware context for entire 4D application. If this context is not available, use Direct2D graphics software context.
+- Direct2D Software (3) (Default mode): Beginning with Windows 7, use Direct2D graphics software context for entire 4D application.
-**Warning:* Since this option modifies the database structure file and all processes, for performance reasons it is highly recommended to set it at database startup only.* This option can also be set in the Database settings.
+**Warning:* This selector is provided for debugging purposes only. Since several 4D features rely on Direct2D, it must not be disabled in deployed applications. Only the default mode (Direct2D Software) is approved for deployed applications.*
-### Client log recording (45)
-**Scope**: Remote 4D machine
+### HTTP compression level (50)
-**Kept between two sessions**: No
+**Scope**:4D application
-**Possible values**: 0 or from 1 to X (0 = do not record, 1 to X = sequential number, attached to file name).
+**Kept between two sessions**: No
-**Description**: Starts or stops recording of standard requests carried out by the 4D client machine that executed the command (excluding Web requests). By default, the value is 0 (no recording of requests).
+**Description**: *Constant obsolete (kept for compatibility reasons only).* We now recommend using the [WEB SET OPTION](web-set-option.md) and [WEB GET OPTION](web-get-option.md) commands for configuring the HTTP server.
-4D lets you record the log of requests carried out by the client machine. When this mechanism is activated, two files are created on the client machine, in the Logs subfolder of the local folder of the database. They are named 4DRequestsLog\_X.txt and 4DRequestsLog\_ProcessInfo\_X.txt, where X is the sequential number of the log. Once the file 4DRequestsLog has reached a size of 10 MB, it is closed and a new one is generated, with an incremented sequential number. If a file with the same name already exists, it is directly replaced. You can set the starting number for the sequence using the value parameter.
-These text files store various information concerning each request in a simple tabbed format: time, process number, size of request, processing duration, etc. For more information on the 4DRequestsLog files, please refer to the *Description of log files* section.
+### HTTP compression threshold (51)
-### Query by formula on server (46)
+**Scope**:4D application
-**Scope**: Current table and process
+**Kept between two** **sessions**: No
-**Kept between two sessions**: No
+**Description**: *Constant obsolete (kept for compatibility reasons only).* We now recommend using the [WEB SET OPTION](web-set-option.md) and [WEB GET OPTION](web-get-option.md) commands for configuring the HTTP server.
-**Possible values**: 0 (use database configuration), 1 (execute on client) or 2 (execute on server)
-**Description**: Execution location of [QUERY BY FORMULA](query-by-formula.md) and [QUERY SELECTION BY FORMULA](query-selection-by-formula.md) commands for the *table* passed in the parameter.
-When using a database in client-server mode, the query "by formula" commands can be executed either on the server or on the client machine:
-In databases created with 4D v11 SQL, these commands are executed on the server. In converted databases, these commands are executed on the client machine, as in previous versions of 4D.In converted databases, a specific preference (Application/Compatibility page) can be used to globally modify the execution location of these commands.This difference in execution location influences not only application performance (execution on the server is usually faster) but also programming. In fact, the value of the components of the formula (in particular variables called via a method) differ according to the execution context. You can use this selector to punctually adapt the operation of your application.
+### HTTPS Port ID (39)
-If you pass 0 in the *value* l’parameter, the execution location of query "by formula" commands will depend on the database configuration: in databases created with 4D v11 SQL, these commands will be executed on the server. In converted databases, they will be executed on the client machine or the server according to the database preferences. Pass 1 or 2 in *value* to "force" the execution of these commands, respectively, on the client or on the server machine.
+**Scope**:4D local, 4D Server
-Refer to example 2.
+**Kept between two sessions**: Yes
-**Note:** If you want to be able to enable "SQL type" joins (see the QUERY BY FORMULA Joins selector), you must always execute formulas on the server so that they have access to the records. Be careful, in this context, the formula must not contain any calls to a method, otherwise it will automatically be switched to the remote machine.
+**Description**: *Constant obsolete (kept for compatibility reasons only).* We now recommend using the [WEB SET OPTION](web-set-option.md) and [WEB GET OPTION](web-get-option.md) commands for configuring the HTTP server.
-### Order by formula on server (47)
-**Scope**:Current table and process
+### Idle connections timeout (54)
-**Kept between two** **sessions**: No
+**Scope**:4D application unless value is negative
-**Possible values**: 0 (use database configuration), 1 (execute on client) or 2 (execute on server)
+**Kept between two sessions**: No
-**Description** : Execution location of [ORDER BY FORMULA](order-by-formula.md) command for the table passed in the parameter.
+**Possible values**: Whole value expressing a duration in seconds. The value can be positive (new connections) or negative (existing connections). By default, the value is 20.
-When using a database in client-server mode, this command can be executed either on the server or on the client machine. This selector can be used to specify the execution location of this command (server or client). This mode can also be set in the database preferences. For more information, please refer to the description of selector 46, Query By Formula On Server.
+**Description**: Maximum period of inactivity for connections to the 4D database engine, the SQL engine and to the 4D application server (*ServerNet* network layer only, ignored in *QUIC*). When an idle connection reaches this limit, it is automatically put on standby, which freezes the client/server session and closes the network socket. In the server administration window, the state of the user process is indicated as "Postponed". This functioning is completely transparent for the user: as soon as there is new activity on the connection which is on standby, the socket is automatically reopened and the client/server session is restored.
-**Note:** If you want to be able to enable "SQL type" joins (see the QUERY BY FORMULA Joins selector), you must always execute formulas on the server so that they have access to the records. Be careful, in this context, the formula must not contain any calls to a method, otherwise it will automatically be switched to the remote machine.
+On the one hand, this setting lets you save resources on the server: connections on standby close the socket and free up a process on the server. On the other hand, it lets you avoid losing connections due to the closing of idle sockets by the firewall. For this, the timeout value for idle connections must be lower than that of the firewall in this case.
+If you pass a positive value in *value*, it applies to all new connections in all the processes. If you pass a negative value, it applies to connections that are open in the current process. If you pass 0, idle connections are not subjected to a timeout.
+This parameter must be set on the client side. Usually, you do not need to change this value.
-### Auto synchro resources folder (48)
-**Scope**:4D remote machine
-**Kept between two** **sessions**: No
-**Possible values**: 0 (no synchronization), 1 (auto synchronization) or 2 (ask).
+### IMAP Log (119)
-**Description**: Dynamic synchronization mode for *Resources* folder of 4D client machine that executed the command with that of the server.
+**Thread-safe** : Yes
-When the contents of the *Resources* folder on the server has been modified or a user has requested synchronization (for example via the resources explorer or following the execution of the [SET DATABASE LOCALIZATION](set-database-localization.md) command), the server notifies the connected client machines.
+**Scope**: 4D local, 4D Server
-Three synchronization modes are then possible on the client side. The Auto Synchro Resources Folder selector is used to specify the mode to be used by the client machine for the current session:
+**Kept between two sessions**: No
-0 (default value): no dynamic synchronization (synchronization request is ignored) 1: automatic dynamic synchronization2: display of a dialog box on the client machines, with the possibility of allowing or refusing synchronization.The synchronization mode can also be set globally in the application Preferences.
+**Possible values**: 0 or from 1 to X (0 = do not record, 1 to X = sequential number, added to the file name). By default, the value is 0 (IMAP exchanges not recorded).
+**Description**: Starts or stops the recording of exchanges between 4D and the IMAP server, when a transporter object is processed through *IMAP\_transporter.getMail( )* or *IMAP\_transporter.checkConnection( )*. By default, the value is 0 (exchanges not recorded). When this mechanism is enabled, a log file is created in the Logs folder of the database. It is named 4DIMAPLog\_X.txt, where X is the sequential number of the log. Once the file 4DIMAPLog has reached a size of 10 MB, it is closed and a new one is generated, with an incremented sequential number. If a file of the same name already exists, it is replaced directly. You can set the starting number of the sequence using the value parameter. By default, all files are kept, but you can control the number of files to keep using the Circular log limitation parameter.
+For more information on the 4DIMAPLog\_X.txt files, please refer to [Description of log files](../Debugging/debugLogFiles.md).
-### Query by formula joins (49)
-**Scope**:Current process
-**Kept between two** **sessions**: No
-**Possible values**: 0 (use database configuration), 1 (always use automatic relations) or 2 (use SQL joins if possible).
+### Is current database a project (112)
-**Description**: Operating mode of the [QUERY BY FORMULA](query-by-formula.md) and [QUERY SELECTION BY FORMULA](query-selection-by-formula.md) commands relating to the use of "SQL joins."
+**Note:** You can only use this selector with the [Get database parameter](get-database-parameter.md) command and its value cannot be set.
-In databases created starting with version 11.2 of 4D v11 SQL, these commands carry out joins based on the SQL joins model. This mechanism can be used to modify the selection of a table according to a query carried out on another table without these tables being connected by an automatic relation (necessary condition in previous versions of 4D).
+**Scope**: 4D application
-The QUERY BY FORMULA Joins selector lets you specify the operating mode of the query by formula commands for the current process:
+**Description**: Returns 1 if the current database architecture is a project, and 0 otherwise. For more information, please refer to [*Project vs binary database* section on doc.4d.com](https://doc.4d.com/4Dv20/4D/20.2/Creating-a-new-database.300-6750129.en.html#5057971).
-0: Uses the current settings of the database (default value). In databases created starting with version 11.2 of 4D v11 SQL, "SQL joins" are always activated for queries by formula. In converted databases, this mechanism is not activated by default for compatibility reasons but can be implemented via a preference.1: Always use automatic relations (= functioning of previous versions of 4D). In this mode, a relation is necessary in order to set the selection of a table according to queries carried out on another table. 4D does not do "SQL joins."2: Use SQL joins if possible (= default operation of databases created in version 11.2 and higher of 4D v11 SQL ). In this mode, 4D establishes "SQL joins" for queries by formula when the formula is suited for it (with two notable exceptions, see the description of the [QUERY BY FORMULA](query-by-formula.md) or [QUERY SELECTION BY FORMULA](query-selection-by-formula.md) command).**Note:** With 4D in remote mode, "SQL joins" can only be used if the formulas are executed on the server (they must have access to the records). To configure where formulas are to be executed, please refer to selectors 46 and 47.
-### HTTP compression level (50)
+### Is host database a project (113)
-**Scope**:4D application
+**Note:** You can only use this selector with the [Get database parameter](get-database-parameter.md) command and its value cannot be set.
-**Kept between two sessions**: No
+**Scope**: 4D application
-**Description**: *Constant obsolete (kept for compatibility reasons only).* We now recommend using the [WEB SET OPTION](web-set-option.md) and [WEB GET OPTION](web-get-option.md) commands for configuring the HTTP server.
+**Description**: Returns 1 if the host database architecture is a project, and 0 otherwise. For more information, please refer to [*Project vs binary database* section on doc.4d.com](https://doc.4d.com/4Dv20/4D/20.2/Creating-a-new-database.300-6750129.en.html#5057971).
-### HTTP compression threshold (51)
-**Scope**:4D application
+### Is host database writable (117)
-**Kept between two** **sessions**: No
+**Note:** You can only use this selector with the [Get database parameter](get-database-parameter.md) command and its value cannot be set.
-**Description**: *Constant obsolete (kept for compatibility reasons only).* We now recommend using the [WEB SET OPTION](web-set-option.md) and [WEB GET OPTION](web-get-option.md) commands for configuring the HTTP server.
+**Scope**: 4D application
+**Description**: Returns 1 if the host project file/structure file is writable, and 0 if it is read-only.
-### Server base process stack size (53)
-**Scope**: 4D Server
-**Kept between two sessions**: No
+### Libldap version (114)
-**Possible values**: Positive longint.
+**Scope**: Current 4D machine
-**Description**: Size of the stack allocated to each preemptive system process on the server, expressed in bytes. The default size is determined by the system.
+**Kept between two sessions**: n/a
-Preemptive system processes (processes of the 4D client base process type) are loaded to control the main 4D client processes. The size allocated by default to the stack of each preemptive process allows a good ease of execution but may prove to be consequential when very large numbers of processes (several hundred) are created.
+**Description**: Returns the version number of the LDAP library in the 4D application on the current machine. (Read only)
-For optimization purposes, this size can be reduced considerably if the operations carried out by the database allow for it (for example if the database does not carry out sorts of large quantities of records). Values of 512 or even 256 KB are possible. Be careful, under-sizing the stack is critical and can be harmful to the operation of 4D Server. Setting this parameter should be done with caution and must take the database conditions of use into account (number of records, type of operations, etc.).
-In order to be taken into account, this parameter must be executed on the server machine (for example in the *On Server Startup Database Method*).
+### Libsasl version (115)
-### Idle connections timeout (54)
+**Scope**: Current 4D machine
-**Scope**:4D application unless value is negative
+**Kept between two sessions**: n/a
-**Kept between two sessions**: No
+**Description**: Returns the version number of the SASL library in the 4D application on the current machine. (Read only)
-**Possible values**: Whole value expressing a duration in seconds. The value can be positive (new connections) or negative (existing connections). By default, the value is 20.
-**Description**: Maximum period of inactivity for connections to the 4D database engine, the SQL engine and to the 4D application server (*ServerNet* network layer only, ignored in *QUIC*). When an idle connection reaches this limit, it is automatically put on standby, which freezes the client/server session and closes the network socket. In the server administration window, the state of the user process is indicated as "Postponed". This functioning is completely transparent for the user: as soon as there is new activity on the connection which is on standby, the socket is automatically reopened and the client/server session is restored.
-On the one hand, this setting lets you save resources on the server: connections on standby close the socket and free up a process on the server. On the other hand, it lets you avoid losing connections due to the closing of idle sockets by the firewall. For this, the timeout value for idle connections must be lower than that of the firewall in this case.
-If you pass a positive value in *value*, it applies to all new connections in all the processes. If you pass a negative value, it applies to connections that are open in the current process. If you pass 0, idle connections are not subjected to a timeout.
+### Libzip version (120)
-This parameter must be set on the client side. Usually, you do not need to change this value.
+**Scope:** Current 4D machine
+**Kept between two sessions:** n/a
+**Description:** Returns the version number of the libzip library in the 4D application on the current machine. (Read only)
-### PHP interpreter IP address (55)
-**Scope**:4D application
-**Kept between two sessions**: No
-**Values**: Formatted string of the IPv4 type (for example "127.0.0.1") or IPv6 type (for example "2001:0db8:0000:0000:0000:ff00:0042:8329")
+### Log command list (80)
-**Description**: IP address used locally by 4D to communicate with the PHP interpreter via FastCGI. By default, the value is "127.0.0.1" (addresses in IPv6 format are supported starting with 4D v16R4). This address must correspond to the machine where 4D is located. This parameter can also be set globally for all the machines via the Database Settings.
+**Scope**: 4D application
-For more information about the PHP interpreter, please refer to the *Design Reference* manual.
+**Kept between two sessions**: No
+**Possible values**: String containing a list of 4D command numbers to record (separated by semi-colons) or "all" to record all the commands or "" (empty string) to record none of them or prefixed by "-" to exclude specific commands.
+**Description**: List of 4D commands to record in or exclude from the debugging file (see selector 34, Debug Log Recording). By default, all 4D commands are recorded.
-### PHP interpreter port (56)
+This selector restricts the quantity of information saved in the debugging file by limiting the 4D commands whose execution you want to record or exclude from recording. For example, you can write:
-**Scope**:4D application
+```4d
+//Record only the QUERY and QUERY SELECTION commands
+SET DATABASE PARAMETER(Log command list;"277;341")
+```
+OR
+```4d
+//Exclude the SET USER ALIAS and DELAY PROCESS commands from being recorded
+SET DATABASE PARAMETER(Log command list;"-1666;-323")
+```
-**Kept between two sessions**: No
-**Values**: Positive long integer type value. By default, the value is 8002\.
-**Description**: Number of the TCP port used by the PHP interpreter of 4D. This parameter can also be modified globally for all the machines via the Database Settings. For more information about the PHP interpreter, please refer to the *Design Reference* manual.
+### Max concurrent Web processes (18)
+**Scope**: 4D local, 4D Server
+**Kept between two sessions**: Yes
-### SSL cipher list (64)
+**Description**: *Constant obsolete (kept for compatibility reasons only).* We now recommend using the [WEB SET OPTION](web-set-option.md) and [WEB GET OPTION](web-get-option.md) commands for configuring the HTTP server.
-**Scope**: 4D application
-**Kept between two sessions**: No
-**Possible values**: Sequence of strings separated by colons.
-**Description:** Cipher list used by 4D for the secure protocol. This list modifies the priority of ciphering algorithms implemented by 4D. For example, you can pass the following string in the *value* parameter: "HIGH:!aNULL:!MD5:!3DES:!CAMELLIA:!AES128:!RSA:!DH:!RC4". For a complete description of the syntax for the ciphers list, refer to the *ciphers page of the OpenSSL* *site*.
+### Maximum Web requests size (27)
-This setting applies to the main Web server (excluding Web server objects), the SQL server, client/server connections, as well as the HTTP client and all the 4D commands that make use of the secure protocol. It is temporary (it is not maintained between sessions).
+**Scope**: 4D local, 4D Server
-When the cipher list has been modified, you will need to restart the server concerned in order for the new settings to be taken into account.
+**Kept between two sessions**: Yes
-To reset the cipher list to its default value (stored permanently in the SLI file), call the [SET DATABASE PARAMETER](set-database-parameter.md) command and pass an empty string ("") in the *value* parameter.
+**Description**: *Constant obsolete (kept for compatibility reasons only).* We now recommend using the [WEB SET OPTION](web-set-option.md) and [WEB GET OPTION](web-get-option.md) commands for configuring the HTTP server.
-**Note:** With the [Get database parameter](get-database-parameter.md) command, the cipher list is returned in the optional *stringValue* parameter and the return parameter is always 0.
-### Cache unload minimum size (66)
+### Min TLS version (105)
-**Scope**: 4D application
+**Scope**: 4D Server, 4D Web Server and 4D SQL Server
**Kept between two sessions**: No
-**Possible values**: Positive longint > 1.
-
-**Description**: Minimum size of memory to release from the database cache when the engine needs to make space in order to allocate an object to it (value in bytes).
-
-The purpose of this selector is to reduce the number of times that data is released from the cache in order to obtain better performance. You can vary this setting according to the size of the cache and that of the blocks of data being handled in your database.
-
-By default, if this selector is not used, 4D unloads at least 10% of the cache when space is needed.
-
+**Description**: Used to specify the minimum Transport Layer Security (TLS) version, which provides data encryption and authentication between applications and servers. Connection attempts from clients supporting only versions below the minimum will be rejected. The setting is applied globally to the network layer. Once modified, the server must be restarted to use the new value.
+**Default value**: TLSv1\_3
-### Direct2D status (69)
+**Possible values**:
+- TLSv1\_2 (TLS 1.2, introduced in 2008)
+- TLSv1\_3 (TLS 1.3, introduced in 2018)
-**Scope**: 4D application
+**NOTES**:
+- The 4D Internet Commands plugin uses a different network layer, therefore this selector will have no impact on its TLS version.
+- This setting is ignored for your client server connections if your 4D Server uses the legacy network layer.
-**Kept between two sessions**: No
-**Description**: Activation mode of Direct2D under Windows.
-**Possible values**: One of the following constants (mode 3 by default):
-Direct2D Disabled (0): Direct2D mode is not enabled and the database functions in the previous mode (GDI/GDIPlus).
+### Number of formulas in cache (92)
-Direct2D Hardware (1): Use Direct2D as graphics hardware context for entire 4D application. If this context is not available, use Direct2D graphics software context.
+**Scope**: 4D application
-Direct2D Software (3) (Default mode): Beginning with Windows 7, use Direct2D graphics software context for entire 4D application.
+**Kept between two sessions**: No
-**Warning:* This selector is provided for debugging purposes only. Since several 4D features rely on Direct2D, it must not be disabled in deployed applications. Only the default mode (Direct2D Software) is approved for deployed applications.*
+**Possible values**: Positive longints
+**Default value**: 0 (no cache)
+**Description**: Sets or gets the maximum number of formulas to be kept in the cache of formulas, which is used by the [EXECUTE FORMULA](execute-formula.md) command. This limit is applied to all processes, but each process has its own formula cache. Caching formulas accelerates the [EXECUTE FORMULA](execute-formula.md) command execution in compiled mode since each cached formula is tokenized only once in this case. When you change the cache value, existing contents are reset even if the new size is larger than the previous one. Once the maximum number of formulas in the cache is reached, a new executed formula will erase the oldest one in the cache (FIFO mode). This parameter is only taken into account in compiled databases or compiled components.
-### Direct2D get active status (74)
-**Note**: You can only use this selector with the [Get database parameter](get-database-parameter.md) command and its value cannot be set.
-**Description**: Returns active implementation of Direct2D under Windows.
-**Possible values**: 0, 1, 2, 3, 4 or 5 (see values of selector 69). The value returned depends on the availability of Direct2D, the hardware and the quality of Direct2D support by the operating system.
+### OpenSSL version (94)
-For example, if you execute:
+**Scope**: all 4D machines*
- SET DATABASE PARAMETER(Direct2D status;Direct2D Hardware) $mode:=Get database parameter(Direct2D get active status)
+**Kept between two sessions**: No
-- On Windows 7 and higher, *$mode* is set to 1 when the system detects hardware compatible with Direct2D; otherwise, *$mode* is set to 3 (software context).
+**Description**: Returns the version number of the OpenSSL library in use on the machine. (Read only)
-- On Windows Vista, *$mode* is set to 1 when the system detects hardware compatible with Direct2D; otherwise, *$mode* is set to 0 (disabling of Direct2D).
-- On Windows XP, *$mode* is always set to 0 (not compatible with Direct2D).
+### Order by formula on server (47)
-### Diagnostic log recording (79)
+**Scope**:Current table and process
-**Thread-safe** : Yes
+**Kept between two** **sessions**: No
-**Scope**: 4D application
+**Possible values**: 0 (use database configuration), 1 (execute on client) or 2 (execute on server)
-**Kept between two sessions**: No
+**Description** : Execution location of [ORDER BY FORMULA](order-by-formula.md) command for the table passed in the parameter.
-Possible values: 0 or 1 (0 = do not record, 1 = record)
+When using a database in client-server mode, this command can be executed either on the server or on the client machine. This selector can be used to specify the execution location of this command (server or client). This mode can also be set in the database preferences. For more information, please refer to the description of selector 46, Query By Formula On Server.
-**Description**: Starts or stops recording of the 4D diagnostic file. By default, the value is 0 (do not record).
+**Note:** If you want to be able to enable "SQL type" joins (see the QUERY BY FORMULA Joins selector), you must always execute formulas on the server so that they have access to the records. Be careful, in this context, the formula must not contain any calls to a method, otherwise it will automatically be switched to the remote machine.
-4D can continuously record a set of events related to the internal application operation into a diagnostic file. Information contained in this file is intended for the development of 4D applications and can be analyzed with the help of the 4D tech support (for more information, please refer to the *Description of log files* section on *developer.4d.com*). When you pass 1 in this selector, a diagnostic file is automatically created (or opened) in the database **Logs** folder. The file is named *4DDiagnosticLog\_X*.txt (or *4DDiagnosticLogServer\_X*.txt if generated on the server). Once this file reaches a size of 10 MB, it is closed and a new file is generated, with an incremented sequence number X.
-Note that you can include custom information in this file using the [LOG EVENT](log-event.md) command.
+### Pause logging (121)
-### Log command list (80)
+**Thread-safe** : Yes
**Scope**: 4D application
-**Kept between two sessions**: No
+**Kept between two** **sessions**: No
-**Possible values**: String containing a list of 4D command numbers to record (separated by semi-colons) or "all" to record all the commands or "" (empty string) to record none of them or prefixed by "-" to exclude specific commands.
+**Possible values**: 0 (resume logs), 1 (pause logs)
-**Description**: List of 4D commands to record in or exclude from the debugging file (see selector 34, Debug Log Recording). By default, all 4D commands are recorded.
+**Description:** This selector allows to suspend/resume all logging operations started on the application (except ORDA logs). This feature can be useful to temporarily lighten the 4D application tasks or schedule logging operations.
-This selector restricts the quantity of information saved in the debugging file by limiting the 4D commands whose execution you want to record or exclude from recording. For example, you can write:
- SET DATABASE PARAMETER(Log command list;"277;341") //Record only the QUERY and QUERY SELECTION commands OR SET DATABASE PARAMETER(Log command list;"-1666;-323") //Exclude the SET USER ALIAS and DELAY PROCESS commands from being recorded
+### PHP interpreter IP address (55)
-### Spellchecker (81)
+**Scope**:4D application
-**Scope**: 4D application
+**Kept between two sessions**: No
- **Kept between two sessions**: No
+**Values**: Formatted string of the IPv4 type (for example "127.0.0.1") or IPv6 type (for example "2001:0db8:0000:0000:0000:ff00:0042:8329")
- **Possible values**: 0 (default) = native macOS spellchecker (Hunspell disabled), 1 = Hunspell spellcheck enabled.
+**Description**: IP address used locally by 4D to communicate with the PHP interpreter via FastCGI. By default, the value is "127.0.0.1" (addresses in IPv6 format are supported starting with 4D v16R4). This address must correspond to the machine where 4D is located. This parameter can also be set globally for all the machines via the Database Settings.
-**Description**: Enables the Hunspell spellcheck under macOS. By default, the native spellchecker is enabled on this platform. You may prefer to use the Hunspell spellcheck, for example, in order to unify the interface for your cross-platform applications (under Windows, only the Hunspell spellcheck is available). For more information, refer to *Spell checking*.
+For more information about the PHP interpreter, please refer to the *Design Reference* manual.
-### Dates inside objects (85)
-**Scope:** Current process
+### PHP interpreter port (56)
-**Kept between two sessions**: No
+**Scope**:4D application
- **Possible values**: String type without time zone (0), String type with time zone (1), Date type (2) (default)
+**Kept between two sessions**: No
-**Description**: Defines the way dates are stored within objects, as well as how they will be imported/exported in JSON.
+**Values**: Positive long integer type value. By default, the value is 8002\.
-When the selector value is Date type (default value for databases created with 4D v17 and higher), 4D dates are stored with the date type within objects, with respect to the local date settings. When converted to JSON format, date attributes will be converted to strings which do not include a time. (**Note:** this setting can be set by means of the "Use date type instead of ISO date format in objects" option found on the *Compatibility page* of the Database Settings).
+**Description**: Number of the TCP port used by the PHP interpreter of 4D. This parameter can also be modified globally for all the machines via the Database Settings. For more information about the PHP interpreter, please refer to the *Design Reference* manual.
-Passing String type with time zone in this selector will convert 4D dates into ISO strings and take the local time zone into account. For example, converting the date 23/08/2013 gives you "2013-08-22T22:00:000Z" in JSON format when the operation is performed in France during Daylight Savings Time (GMT+2). This principle conforms to the standard operation of JavaScript. This can be a source of errors when you want to send JSON date values to someone in a different time zone. For example, when you export a table using [Selection to JSON](selection-to-json.md) in France that is meant to be reimported in the US using [JSON TO SELECTION](json-to-selection.md). Since dates are re-interpreted in each time zone, the values stored in the database will be different. In this case, you can modify the conversion mode for dates so that they do not take the time zone into account by passing String type without time zone in this selector. Converting the date 23/08/2013 will then give you "2013-08-23T00:00:00Z" in all cases.
-### Diagnostic log level (86)
+### POP3 Log (116)
**Thread-safe** : Yes
-**Scope:** 4D application
+**Scope:** 4D local, 4D Server
**Kept between two sessions:** No
-**Description:** Level(s) of messages to be included in the diagnostic log when enabled (see selector Diagnostic log recording). Each level designates a category of diagnostic messages and automatically includes more important categorie(s). For a description of categories, see *Diagnostic log levels* section on *developer.4d.com*.
-
-**Possible values:** One of the following constants (Log info by default): Log trace: activates ERROR, WARN, INFO, DEBUG, TRACE (most detailed level) Log debug: activates ERROR, WARN, INFO, DEBUG Log info: activates ERROR, WARN, INFO (default) Log warn: activates ERROR, WARN Log error: activates ERROR (least detailed level)
-
-
+**Possible values:** 0 or from 1 to X (0 = do not record, 1 to X = sequential number, added to the file name). By default, the value is 0 (POP3 exchanges not recorded).
-### Use legacy network layer (87)
+**Description**: Starts or stops the recording of exchanges between 4D and the POP3 server, when a transporter object is processed through *POP3\_transporter.getMail( )* or *POP3\_transporter.checkConnection( )*. By default, the value is 0 (exchanges not recorded). When this mechanism is enabled, a log file is created in the Logs folder of the database. It is named 4DPOP3Log\_X.txt, where X is the sequential number of the log. Once the file 4DPOP3Log has reached a size of 10 MB, it is closed and a new one is generated, with an incremented sequential number. If a file of the same name already exists, it is replaced directly. You can set the starting number of the sequence using the value parameter. By default, all files are kept, but you can control the number of files to keep using the Circular log limitation parameter.
-**Scope**: 4D in local mode, 4D Server
+For more information on the 4DPOP3Log\_X.txt files, please refer to the *Description of log files* section.
-**Kept between two sessions**: Yes
-**Description:** Sets or gets the current status of the legacy network layer for client/server connections. The legacy network layer is obsolete beginning with 4D v14 R5 and should be replaced progressively in your applications with the *ServerNet* network layer. *ServerNet* will be required in upcoming 4D releases in order to benefit from future network evolutions. For compatibility reasons, the legacy network layer is still supported to allow a smooth transition for existing applications; (it is used by default in applications converted from a release prior to v14 R5). Pass 1 in this parameter to use the legacy network layer (and disable *ServerNet*) for your client/server connections, and pass 0 to disable the legacy network (and use the *ServerNet*).
-This property can also be set by means of the "Use legacy network layer" option found on the *Compatibility page* of the Database Settings (see *Network and Client-Server options*). In this section, you will also find a discussion about migration strategy. We recommend that you activate the *ServerNet* as soon as possible. You will need to restart the application in order for this parameter to be taken into account.
-**Possible values:** 0 or 1 (0 = do not use legacy layer, 1 = use legacy layer)
+### Port ID (15)
-**Default value:** 0 in databases created with 4D v14 R5 or higher, 1 in databases converted from 4D v14 R4 or earlier.
+**Scope**: 4D local, 4D Server
+**Kept between two sessions**: No
+**Description**: TCP port ID used by the 4D Web server with 4D in local mode and 4D Server. The default value, which can be set on the "Web/Configuration" page of the Preferences dialog box, is 80\. You can use the constants of the *TCP Port Numbers* theme for the *value* parameter.
-### SQL Server Port ID (88)
+The Port ID selector is useful for 4D Web Servers compiled and merged with 4D Desktop (in which there is no access to the Design mode). For more information about the TCP port ID, refer to the *Web Server Settings* section.
-**Scope**: 4D local, 4D Server.
-**Kept between two sessions**: Yes
-**Description**: Gets or sets the TCP port number used by the integrated SQL server of 4D in local mode or 4D Server. By default, the value is 19812\. When this selector is set, the database setting is updated. You can also set the TCP port number on the "SQL" page of the Database Settings dialog box.
-**Possible values**: 0 to 65535.
+### Query by formula joins (49)
-**Default value**: 19812
+**Scope**:Current process
+**Kept between two** **sessions**: No
+**Possible values**: 0 (use database configuration), 1 (always use automatic relations) or 2 (use SQL joins if possible).
-### Circular log limitation (90)
+**Description**: Operating mode of the [QUERY BY FORMULA](query-by-formula.md) and [QUERY SELECTION BY FORMULA](query-selection-by-formula.md) commands relating to the use of "SQL joins."
-**Thread-safe** : Yes
+In databases created starting with version 11.2 of 4D v11 SQL, these commands carry out joins based on the SQL joins model. This mechanism can be used to modify the selection of a table according to a query carried out on another table without these tables being connected by an automatic relation (necessary condition in previous versions of 4D).
-**Scope**: 4D local, 4D Server.
+The QUERY BY FORMULA Joins selector lets you specify the operating mode of the query by formula commands for the current process:
-**Kept between two sessions**: No
+- 0: Uses the current settings of the database (default value). In databases created starting with version 11.2 of 4D v11 SQL, "SQL joins" are always activated for queries by formula. In converted databases, this mechanism is not activated by default for compatibility reasons but can be implemented via a preference.
+- 1: Always use automatic relations (= functioning of previous versions of 4D). In this mode, a relation is necessary in order to set the selection of a table according to queries carried out on another table. 4D does not do "SQL joins."
+- 2: Use SQL joins if possible (= default operation of databases created in version 11.2 and higher of 4D v11 SQL ). In this mode, 4D establishes "SQL joins" for queries by formula when the formula is suited for it (with two notable exceptions, see the description of the [QUERY BY FORMULA](query-by-formula.md) or [QUERY SELECTION BY FORMULA](query-selection-by-formula.md) command).
-**Possible values**: Any integer value, 0 = keep all logs
+**Note:** With 4D in remote mode, "SQL joins" can only be used if the formulas are executed on the server (they must have access to the records). To configure where formulas are to be executed, please refer to selectors 46 and 47.
-**Description**: Maximum number of files to keep in rotation for each type of log. By default, the 50 most recent files are kept. If you pass a value *X*, only the *X* most recent files are kept, with the oldest being erased automatically when a new one is created. This setting applies to all log files, i.e. request logs (selectors 28 and 45), debug log (selector 34), events log (selector 79), Web logs (selectors 29 and 84 of the [WEB SET OPTION](web-set-option.md) command), etc.
-### Number of formulas in cache (92)
+### Query by formula on server (46)
-**Scope**: 4D application
+**Scope**: Current table and process
**Kept between two sessions**: No
-**Possible values**: Positive longints
-
-**Default value**: 0 (no cache)
-
-**Description**: Sets or gets the maximum number of formulas to be kept in the cache of formulas, which is used by the [EXECUTE FORMULA](execute-formula.md) command. This limit is applied to all processes, but each process has its own formula cache. Caching formulas accelerates the [EXECUTE FORMULA](execute-formula.md) command execution in compiled mode since each cached formula is tokenized only once in this case. When you change the cache value, existing contents are reset even if the new size is larger than the previous one. Once the maximum number of formulas in the cache is reached, a new executed formula will erase the oldest one in the cache (FIFO mode). This parameter is only taken into account in compiled databases or compiled components.
-
+**Possible values**: 0 (use database configuration), 1 (execute on client) or 2 (execute on server)
+**Description**: Execution location of [QUERY BY FORMULA](query-by-formula.md) and [QUERY SELECTION BY FORMULA](query-selection-by-formula.md) commands for the *table* passed in the parameter.
-### OpenSSL version (94)
+When using a database in client-server mode, the query "by formula" commands can be executed either on the server or on the client machine:
-**Scope**: all 4D machines*
+In databases created with 4D v11 SQL, these commands are executed on the server. In converted databases, these commands are executed on the client machine, as in previous versions of 4D.In converted databases, a specific preference (Application/Compatibility page) can be used to globally modify the execution location of these commands.This difference in execution location influences not only application performance (execution on the server is usually faster) but also programming. In fact, the value of the components of the formula (in particular variables called via a method) differ according to the execution context. You can use this selector to punctually adapt the operation of your application.
-**Kept between two sessions**: No
+If you pass 0 in the *value* l’parameter, the execution location of query "by formula" commands will depend on the database configuration: in databases created with 4D v11 SQL, these commands will be executed on the server. In converted databases, they will be executed on the client machine or the server according to the database preferences. Pass 1 or 2 in *value* to "force" the execution of these commands, respectively, on the client or on the server machine.
-**Description**: Returns the version number of the OpenSSL library in use on the machine. (Read only)
+Refer to example 2.
+**Note:** If you want to be able to enable "SQL type" joins (see the QUERY BY FORMULA Joins selector), you must always execute formulas on the server so that they have access to the records. Be careful, in this context, the formula must not contain any calls to a method, otherwise it will automatically be switched to the remote machine.
-### Cache flush periodicity (95)
-**Thread-safe** : Yes
+### RDP optimization (133)
-**Scope**: 4D local, 4D Server
+**Scope:** 4D application.
-**Kept between two sessions**: No
+**Kept between two sessions:** No.
-**Possible values**: longint > 1 (seconds)
+**Possible values:** `0`: Disabled (default), `1`: Enabled.
-**Description**: Gets or sets the current cache flush periodicity, expressed in seconds. Modifying this value overrides the **Flush Cache every X Seconds** option in the [XML DECODE](xml-decode.md) of the Database settings for the session (it is not stored in the Database settings).
+**Description:** Enables or disables optimizations for RDP (Remote Desktop Protocol). When enabled, optimizes in particular the use of shared clipboard in RDP connections, which can otherwise lead to freezing issues. Note that this selector disables the support in clipboard for images encoded as data uri in raw text (only concerns images dropped or explicitly copied as text from a browser).
@@ -722,249 +809,240 @@ The sleep timeout is applied after a machine running a 4D remote application has
-### Tips enabled (101)
-**Scope:** 4D application
+### Server base process stack size (53)
-**Kept between two sessions:** No
+**Scope**: 4D Server
-**Possible values:** 0 = tips disabled, 1 = tips enabled (default)
+**Kept between two sessions**: No
-**Description:** Sets or gets the current display status of the tips for the 4D application. By default, tips are enabled.
+**Possible values**: Positive longint.
- Note that this parameter sets all 4D tips, i.e. form help messages and Design mode editor's tips.
+**Description**: Size of the stack allocated to each preemptive system process on the server, expressed in bytes. The default size is determined by the system.
+Preemptive system processes (processes of the 4D client base process type) are loaded to control the main 4D client processes. The size allocated by default to the stack of each preemptive process allows a good ease of execution but may prove to be consequential when very large numbers of processes (several hundred) are created.
+For optimization purposes, this size can be reduced considerably if the operations carried out by the database allow for it (for example if the database does not carry out sorts of large quantities of records). Values of 512 or even 256 KB are possible. Be careful, under-sizing the stack is critical and can be harmful to the operation of 4D Server. Setting this parameter should be done with caution and must take the database conditions of use into account (number of records, type of operations, etc.).
-### Tips delay (102)
+In order to be taken into account, this parameter must be executed on the server machine (for example in the *On Server Startup Database Method*).
-**Scope:** 4D application
-**Kept between two sessions:** No
-**Possible values:** longint >= 0 (ticks)
-**Description:** Delay before tips are displayed once the mouse cursor has stopped in objects with attached help messages. Value is expressed in ticks (1/60th of a second). Default value is 45 ticks (0.75 seconds).
+### SMTP Log (110)
+**Thread-safe** : Yes
+**Scope**: 4D local, 4D Server*
-### Tips duration (103)
+**Kept between two sessions**: No
-**Scope:** 4D application
+**Possible values**: 0 or from 1 to X (0 = do not record, 1 to X = sequential number, added to the file name). By default, the value is 0 (SMTP exchanges not recorded).
-**Kept between two sessions:** No
+**Description**: Starts or stops the recording of exchanges between 4D and the SMTP server, when a *transporter* object is processed through *transporter.send( )* or *SMTP\_transporter.checkConnection( )*. By default, the value is 0 (exchanges not recorded). When this mechanism is enabled, a log file is created in the Logs folder of the database. It is named 4DSMTPLog\_X.txt, where *X* is the sequential number of the log. Once the file 4DSMTPLog has reached a size of 10 MB, it is closed and a new one is generated, with an incremented sequential number. If a file of the same name already exists, it is replaced directly. You can set the starting number of the sequence using the *value* parameter. By default, all files are kept, but you can control the number of files to keep using the Circular log limitation parameter.
-**Possible values:** longint >= 60 (ticks)
+For more information on the 4DSMTPLog\_X.txt files, please refer to the *Description of log files* section.
-**Description:** Maximum display duration for a tip. Value is expressed in ticks (1/60th of a second). Default value is 720 ticks (12 seconds).
-### Min TLS version (105)
+### Spellchecker (81)
-**Scope**: 4D Server, 4D Web Server and 4D SQL Server
+**Scope**: 4D application
-**Kept between two sessions**: No
+ **Kept between two sessions**: No
-**Description**: Used to specify the minimum Transport Layer Security (TLS) version, which provides data encryption and authentication between applications and servers. Connection attempts from clients supporting only versions below the minimum will be rejected. The setting is applied globally to the network layer. Once modified, the server must be restarted to use the new value.
+ **Possible values**: 0 (default) = native macOS spellchecker (Hunspell disabled), 1 = Hunspell spellcheck enabled.
-**Default value**: TLSv1\_3
+**Description**: Enables the Hunspell spellcheck under macOS. By default, the native spellchecker is enabled on this platform. You may prefer to use the Hunspell spellcheck, for example, in order to unify the interface for your cross-platform applications (under Windows, only the Hunspell spellcheck is available). For more information, refer to *Spell checking*.
-**Possible values**: TLSv1\_2 (TLS 1.2, introduced in 2008) TLSv1\_3 (TLS 1.3, introduced in 2018) **NOTES**:
-- The 4D Internet Commands plugin uses a different network layer, therefore this selector will have no impact on its TLS version.
-- This setting is ignored for your client server connections if your 4D Server uses the legacy network layer.
+### SQL Autocommit (43)
+**Scope**:Database
-### User param value (108)
+**Kept between two** **sessions**: Yes
-**Scope:** 4D local, 4D Server
+**Possible values**: 0 (deactivation) or 1 (activation)
-**Kept between two sessions:** No
+**Description**: Activation or deactivation of the SQL auto-commit mode. By default, the value is 0 (deactivated mode)
-**Possible values**: Any custom string
+ The auto-commit mode is used to strengthen the referential integrity of the database. When this mode is active, all *SELECT*, *INSERT*, *UPDATE* and *DELETE* (SIUD) queries are automatically included in ad hoc transactions when they are not already executed within a transaction. This mode can also be set in the Preferences of the database.
-**Description:** Custom string passed from one session to the next one when the 4D application is restarted. This selector is useful in the context of automated unit tests that require applications to restart with different parameters.
-When used with [SET DATABASE PARAMETER](set-database-parameter.md), defines a new value that will be available within the next opened database after 4D is restarted manually or using the [OPEN DATABASE](open-database.md)(\*), [OPEN DATA FILE](open-data-file.md), or [RESTART 4D](restart-4d.md) commands. When used with [Get database parameter](get-database-parameter.md), gets the currently available user parameter value, defined using a command line (see *Command Line Interface*), the .4DLink file (see *Using a 4DLink file*), or a call to [SET DATABASE PARAMETER](set-database-parameter.md) during the previous session. (\*) If [SET DATABASE PARAMETER](set-database-parameter.md) sets a User param value before a call to [OPEN DATABASE](open-database.md) with a .4DLink file that also contains a user-param xml attribute, 4D takes into account only the parameter provided by [SET DATABASE PARAMETER](set-database-parameter.md).
+### SQL Engine case sensitivity (44)
-### Times inside objects (109)
+**Scope**: Database
-**Scope:** 4D local, 4D Server (all processes)
+**Kept between two sessions**: Yes
-**Kept between two sessions**: No
+**Possible values**: 0 (case not taken into account) or 1 (case-sensitive)
-**Possible values**: Times in seconds (0) (default), Times in milliseconds (1)
+**Description**: Activation or deactivation of case-sensitivity for string comparisons carried out by the SQL engine.
-**Description**: Defines the way time values are converted and stored within object properties and collection elements, as well as how they will be imported/exported in JSON and in Web areas. By default, starting with 4D v17, times are converted and stored as number of seconds in objects.
+By default, the value is 1 (case-sensitive): the SQL engine differentiates between upper and lower case and between accented characters when comparing strings (sorts and queries). For example “ABC”= “ABC” but “ABC” # “Abc” and "abc" # "âbc." In certain cases, for example so as to align the functioning of the SQL engine with that of the 4D engine, you may wish for string comparisons to not be case-sensitive (“ABC”=“Abc"="âbc").
-In previous releases, time values were converted and stored as number of milliseconds in those contexts. Using this selector can help you migrating your applications by reverting to previous settings if necessary.
+**Warning:* Since this option modifies the database structure file and all processes, for performance reasons it is highly recommended to set it at database startup only.* This option can also be set in the Database settings.
-**Note**: ORDA methods and SQL engine ignore this setting, they always assume time values to be numbers of seconds.
-### SMTP Log (110)
+### SQL Server Port ID (88)
-**Thread-safe** : Yes
+**Scope**: 4D local, 4D Server.
-**Scope**: 4D local, 4D Server*
+**Kept between two sessions**: Yes
-**Kept between two sessions**: No
+**Description**: Gets or sets the TCP port number used by the integrated SQL server of 4D in local mode or 4D Server. By default, the value is 19812\. When this selector is set, the database setting is updated. You can also set the TCP port number on the "SQL" page of the Database Settings dialog box.
-**Possible values**: 0 or from 1 to X (0 = do not record, 1 to X = sequential number, added to the file name). By default, the value is 0 (SMTP exchanges not recorded).
+**Possible values**: 0 to 65535.
-**Description**: Starts or stops the recording of exchanges between 4D and the SMTP server, when a *transporter* object is processed through *transporter.send( )* or *SMTP\_transporter.checkConnection( )*. By default, the value is 0 (exchanges not recorded). When this mechanism is enabled, a log file is created in the Logs folder of the database. It is named 4DSMTPLog\_X.txt, where *X* is the sequential number of the log. Once the file 4DSMTPLog has reached a size of 10 MB, it is closed and a new one is generated, with an incremented sequential number. If a file of the same name already exists, it is replaced directly. You can set the starting number of the sequence using the *value* parameter. By default, all files are kept, but you can control the number of files to keep using the Circular log limitation parameter.
+**Default value**: 19812
-For more information on the 4DSMTPLog\_X.txt files, please refer to the *Description of log files* section.
-### Current process debug log recording (111)
+### SSL cipher list (64)
-**Scope:** 4D application
+**Scope**: 4D application
-**Kept between two sessions:** No
+**Kept between two sessions**: No
-**Description**: Starts or stops the sequential recording of programming events **for the current process** in a separated log file. This log is similar to the Debug log recording (selector 34) but focuses on the current process only. The log file name includes the letter "p" and the process number: 4DDebugLog\[\_p*N*_*n*].txt, where N is the process unique ID.
+**Possible values**: Sequence of strings separated by colons.
-For more information about this format and on the use of the *4DDebugLog* file, please refer to *Description of log files* in the Design Reference.
+**Description:** Cipher list used by 4D for the secure protocol. This list modifies the priority of ciphering algorithms implemented by 4D. For example, you can pass the following string in the *value* parameter: "HIGH:!aNULL:!MD5:!3DES:!CAMELLIA:!AES128:!RSA:!DH:!RC4". For a complete description of the syntax for the ciphers list, refer to the *ciphers page of the OpenSSL* *site*.
-**Notes:** This selector is provided solely for the purpose of debugging and should be used with care. In particular, it must not put into production since it can have an impact on the application performance. You can use both Debug log recording and Current process debug log recording selectors simultaneously, in which case the current process actions will not be logged in the main log file.
+This setting applies to the main Web server (excluding Web server objects), the SQL server, client/server connections, as well as the HTTP client and all the 4D commands that make use of the secure protocol. It is temporary (it is not maintained between sessions).
+When the cipher list has been modified, you will need to restart the server concerned in order for the new settings to be taken into account.
+To reset the cipher list to its default value (stored permanently in the SLI file), call the [SET DATABASE PARAMETER](set-database-parameter.md) command and pass an empty string ("") in the *value* parameter.
-### Is current database a project (112)
+**Note:** With the [Get database parameter](get-database-parameter.md) command, the cipher list is returned in the optional *stringValue* parameter and the return parameter is always 0.
-**Note:** You can only use this selector with the [Get database parameter](get-database-parameter.md) command and its value cannot be set.
-**Scope**: 4D application
-**Description**: Returns 1 if the current database architecture is a project, and 0 otherwise. For more information, please refer to *Project vs binary database* section.
+### Table sequence number (31)
+**Scope**:4D application
-### Is host database a project (113)
+ **Kept between two sessions**: Yes
-**Note:** You can only use this selector with the [Get database parameter](get-database-parameter.md) command and its value cannot be set.
+ **Possible values**: Any longint value.
-**Scope**: 4D application
+**Description**: This selector is used to modify or get the current unique number for records of the table passed as parameter. "Current number" means "last number used": if you modify this value using [SET DATABASE PARAMETER](set-database-parameter.md), the next record will be created with a number that consists of the value passed + 1\. This new number is the one returned by the [Sequence number](sequence-number.md) command as well in any field of the table to which the "Autoincrement" property has been assigned in the Structure editor or via SQL.
-**Description**: Returns 1 if the host database architecture is a project, and 0 otherwise. For more information, please refer to *Project vs binary database* section.
+By default, this unique number is set by 4D and corresponds to the order of record creation. For additional information, refer to the documentation of the [Sequence number](sequence-number.md) command.
-### Libldap version (114)
-**Scope**: Current 4D machine
+### TCPUDP log recording (131)
-**Kept between two sessions**: n/a
+**Scope:** 4D application.
-**Description**: Returns the version number of the LDAP library in the 4D application on the current machine. (Read only)
+**Kept between two sessions:** No.
+**Possible values:** `0`: Logging disabled (default), `1`: Logging enabled.
+**Description:** Enables or disables the `4DTCPUDPLog.txt` file for logging TCP events.
-### Libsasl version (115)
-**Scope**: Current 4D machine
-**Kept between two sessions**: n/a
-**Description**: Returns the version number of the SASL library in the 4D application on the current machine. (Read only)
+### Times inside objects (109)
+**Scope:** 4D local, 4D Server (all processes)
+**Kept between two sessions**: No
-### POP3 Log (116)
+**Possible values**: Times in seconds (0) (default), Times in milliseconds (1)
-**Thread-safe** : Yes
+**Description**: Defines the way time values are converted and stored within object properties and collection elements, as well as how they will be imported/exported in JSON and in Web areas. By default, starting with 4D v17, times are converted and stored as number of seconds in objects.
-**Scope:** 4D local, 4D Server
+In previous releases, time values were converted and stored as number of milliseconds in those contexts. Using this selector can help you migrating your applications by reverting to previous settings if necessary.
-**Kept between two sessions:** No
+**Note**: ORDA methods and SQL engine ignore this setting, they always assume time values to be numbers of seconds.
-**Possible values:** 0 or from 1 to X (0 = do not record, 1 to X = sequential number, added to the file name). By default, the value is 0 (POP3 exchanges not recorded).
-**Description**: Starts or stops the recording of exchanges between 4D and the POP3 server, when a transporter object is processed through *POP3\_transporter.getMail( )* or *POP3\_transporter.checkConnection( )*. By default, the value is 0 (exchanges not recorded). When this mechanism is enabled, a log file is created in the Logs folder of the database. It is named 4DPOP3Log\_X.txt, where X is the sequential number of the log. Once the file 4DPOP3Log has reached a size of 10 MB, it is closed and a new one is generated, with an incremented sequential number. If a file of the same name already exists, it is replaced directly. You can set the starting number of the sequence using the value parameter. By default, all files are kept, but you can control the number of files to keep using the Circular log limitation parameter.
-For more information on the 4DPOP3Log\_X.txt files, please refer to the *Description of log files* section.
+### Tips delay (102)
+**Scope:** 4D application
-### Is host database writable (117)
+**Kept between two sessions:** No
-**Note:** You can only use this selector with the [Get database parameter](get-database-parameter.md) command and its value cannot be set.
+**Possible values:** longint >= 0 (ticks)
-**Scope**: 4D application
+**Description:** Delay before tips are displayed once the mouse cursor has stopped in objects with attached help messages. Value is expressed in ticks (1/60th of a second). Default value is 45 ticks (0.75 seconds).
-**Description**: Returns 1 if the host project file/structure file is writable, and 0 if it is read-only.
-### IMAP Log (119)
+### Tips duration (103)
-**Thread-safe** : Yes
+**Scope:** 4D application
-**Scope**: 4D local, 4D Server
+**Kept between two sessions:** No
-**Kept between two sessions**: No
+**Possible values:** longint >= 60 (ticks)
-**Possible values**: 0 or from 1 to X (0 = do not record, 1 to X = sequential number, added to the file name). By default, the value is 0 (IMAP exchanges not recorded).
+**Description:** Maximum display duration for a tip. Value is expressed in ticks (1/60th of a second). Default value is 720 ticks (12 seconds).
-**Description**: Starts or stops the recording of exchanges between 4D and the IMAP server, when a transporter object is processed through *IMAP\_transporter.getMail( )* or *IMAP\_transporter.checkConnection( )*. By default, the value is 0 (exchanges not recorded). When this mechanism is enabled, a log file is created in the Logs folder of the database. It is named 4DIMAPLog\_X.txt, where X is the sequential number of the log. Once the file 4DIMAPLog has reached a size of 10 MB, it is closed and a new one is generated, with an incremented sequential number. If a file of the same name already exists, it is replaced directly. You can set the starting number of the sequence using the value parameter. By default, all files are kept, but you can control the number of files to keep using the Circular log limitation parameter.
-For more information on the 4DIMAPLog\_X.txt files, please refer to the *Description of log files* section.
+### Tips enabled (101)
-### Libzip version (120)
+**Scope:** 4D application
-**Scope:** Current 4D machine
+**Kept between two sessions:** No
-**Kept between two sessions:** n/a
+**Possible values:** 0 = tips disabled, 1 = tips enabled (default)
-**Description:** Returns the version number of the libzip library in the 4D application on the current machine. (Read only)
+**Description:** Sets or gets the current display status of the tips for the 4D application. By default, tips are enabled.
+ Note that this parameter sets all 4D tips, i.e. form help messages and Design mode editor's tips.
-### Pause logging (121)
-**Thread-safe** : Yes
-**Scope**: 4D application
+### Use legacy network layer (87)
-**Kept between two** **sessions**: No
+**Scope**: 4D in local mode, 4D Server
-**Possible values**: 0 (resume logs), 1 (pause logs)
+**Kept between two sessions**: Yes
-**Description:** This selector allows to suspend/resume all logging operations started on the application (except ORDA logs). This feature can be useful to temporarily lighten the 4D application tasks or schedule logging operations.
+**Description:** Sets or gets the current status of the legacy network layer for client/server connections. The legacy network layer is obsolete beginning with 4D v14 R5 and should be replaced progressively in your applications with the *ServerNet* network layer. *ServerNet* will be required in upcoming 4D releases in order to benefit from future network evolutions. For compatibility reasons, the legacy network layer is still supported to allow a smooth transition for existing applications; (it is used by default in applications converted from a release prior to v14 R5). Pass 1 in this parameter to use the legacy network layer (and disable *ServerNet*) for your client/server connections, and pass 0 to disable the legacy network (and use the *ServerNet*).
+This property can also be set by means of the "Use legacy network layer" option found on the *Compatibility page* of the Database Settings (see *Network and Client-Server options*). In this section, you will also find a discussion about migration strategy. We recommend that you activate the *ServerNet* as soon as possible. You will need to restart the application in order for this parameter to be taken into account.
+**Possible values:** 0 or 1 (0 = do not use legacy layer, 1 = use legacy layer)
-### TCPUDP log recording (131)
+**Default value:** 0 in databases created with 4D v14 R5 or higher, 1 in databases converted from 4D v14 R4 or earlier.
-**Scope:** 4D application.
-**Kept between two sessions:** No.
-**Possible values:** `0`: Logging disabled (default), `1`: Logging enabled.
-**Description:** Enables or disables the `4DTCPUDPLog.txt` file for logging TCP events.
+### User param value (108)
+**Scope:** 4D local, 4D Server
+**Kept between two sessions:** No
-### RDP optimization (133)
+**Possible values**: Any custom string
-**Scope:** 4D application.
+**Description:** Custom string passed from one session to the next one when the 4D application is restarted. This selector is useful in the context of automated unit tests that require applications to restart with different parameters.
-**Kept between two sessions:** No.
+When used with [SET DATABASE PARAMETER](set-database-parameter.md), defines a new value that will be available within the next opened database after 4D is restarted manually or using the [OPEN DATABASE](open-database.md)(\*), [OPEN DATA FILE](open-data-file.md), or [RESTART 4D](restart-4d.md) commands. When used with [Get database parameter](get-database-parameter.md), gets the currently available user parameter value, defined using a command line (see *Command Line Interface*), the .4DLink file (see *Using a 4DLink file*), or a call to [SET DATABASE PARAMETER](set-database-parameter.md) during the previous session. (\*) If [SET DATABASE PARAMETER](set-database-parameter.md) sets a User param value before a call to [OPEN DATABASE](open-database.md) with a .4DLink file that also contains a user-param xml attribute, 4D takes into account only the parameter provided by [SET DATABASE PARAMETER](set-database-parameter.md).
-**Possible values:** `0`: Disabled (default), `1`: Enabled.
-**Description:** Enables or disables optimizations for RDP (Remote Desktop Protocol). When enabled, optimizes in particular the use of shared clipboard in RDP connections, which can otherwise lead to freezing issues. Note that this selector disables the support in clipboard for images encoded as data uri in raw text (only concerns images dropped or explicitly copied as text from a browser).
:::note
diff --git a/versioned_docs/version-21/commands-legacy/verify-data-file.md b/versioned_docs/version-21/commands-legacy/verify-data-file.md
index 3273a2dbf08d87..9330b4ee6c0cd6 100644
--- a/versioned_docs/version-21/commands-legacy/verify-data-file.md
+++ b/versioned_docs/version-21/commands-legacy/verify-data-file.md
@@ -52,44 +52,43 @@ Generally, the VERIFY DATA FILE command creates a log file in XML format (please
The *method* parameter is used to set a callback method that will be called regularly during the verification. If you pass an empty string or an invalid method name, this parameter is ignored (no method is called). When called, the method receives up to 5 parameters depending on the objects being verified and on the event type originating the call (see calls table). It is imperative to declare these parameters in the method:
-| \- $1 | Integer | Message type (see table) |
+| Parameter | Type | Description |
| ----- | ------- | ------------------------ |
-| \- $2 | Integer | Object type |
-| \- $3 | Text | Message |
-| \- $4 | Integer | Table number |
-| \- $5 | Integer | Reserved |
+| $messageType | Integer | Message type (see table) |
+| $objectType | Integer | Object type |
+| $messageText | Text | Message |
+| $table | Integer | Table number |
+| $reserved | Integer | Reserved |
The following table describes the contents of the parameters depending on the event type:
-| **Event** | **$1 (Longint)** | **$2 (Longint)** | **$3 (Text)** | **$4 (Longint)** | **$5 (Longint)** |
-| ------------------------- | ---------------- | ------------------ | -------------- | ---------------- | ---------------- |
-| Message | 1 | 0 | Progression | Percentage | Reserved |
-| message | done (0-100) | | | | |
-| Verification finished(\*) | 2 | Object type (\*\*) | OK message | Table or index | Reserved |
-| test | number | | | | |
-| Error | 3 | Object type (\*\*) | Text of error- | Table or index | Reserved |
-| message | number | | | | |
+| **Event** | **$messageType** | **$objectType** | **$messageText** | **$table** | **$reserved** |
+| ------- | ---------------- | ------------------ | -------------- | ---------------- | ---------------- |
+| Message | 1 | 0 | Progression message | Percentage done (0-100) | Reserved |
+| Verification finished(\*) | 2 | Object type (\*\*) | OK message test | Table or index number | Reserved |
+| Error | 3 | Object type (\*\*) | Text of error message | Table or index number | Reserved |
| End of execution | 4 | 0 | DONE | 0 | Reserved |
| Warning | 5 | Object type(\*\*) | Text of error | Table or index | Reserved |
-| message | number | | | | |
+|||| message | number |
-(\*) The *Verification finished* ($1=2) event is never returned when the mode is Verify All. It is only used in Verify Records or Verify Indexes mode.
-(\*\*) *Object type*: When an object is verified, a "finished" message ($1=2), error ($1=3) or warning ($1=5) can be sent. The object type returned in $2 can be one of the following:
+(\*) The *Verification finished* ($messageType=2) event is never returned when the mode is Verify All. It is only used in Verify Records or Verify Indexes mode.
+(\*\*) *Object type*: When an object is verified, a "finished" message ($messageType=2), error ($messageType=3) or warning ($messageType=5) can be sent. The object type returned in $objectType can be one of the following:
* 0 = undetermined
* 4 = record
* 8 = index
* 16 = structure object (preliminary check of data file).
-*Special case*: When $4 = 0 for $1=2, 3 or 5, the message does not concern a table or an index but rather the data file as a whole.
+*Special case*: When $table = 0 for $messageType=2, 3 or 5, the message does not concern a table or an index but rather the data file as a whole.
-The callback method must also return a value in $0 (Longint), which is used to check the execution of the operation:
+The callback method must also return a *$result* integer value, which is used to check the execution of the operation:
-* If $0 = 0, the operation continues normally
-* If $0 = -128, the operation is stopped without any error generated
-* If $0 = another value, the operation is stopped and the value passed in $0 is returned as the error number. This error can be intercepted by an error-handling method.
+* If $result = 0, the operation continues normally
+* If $result = -128, the operation is stopped without any error generated
+* If $result = another value, the operation is stopped and the value passed in $result is returned as the error number. This error can be intercepted by an error-handling method.
+
+**Note:** You cannot interrupt execution via $result after the *End of execution* event ($1=4) has been generated.
-**Note:** You cannot interrupt execution via $0 after the *End of execution* event ($4=1) has been generated.
Two optional arrays can also be used by this command:
diff --git a/versioned_docs/version-21/commands/command-index.md b/versioned_docs/version-21/commands/command-index.md
index b0f8e1145acbba..361980267b1377 100644
--- a/versioned_docs/version-21/commands/command-index.md
+++ b/versioned_docs/version-21/commands/command-index.md
@@ -1290,6 +1290,8 @@ title: Commands by name
[`WA STOP LOADING URL`](../commands-legacy/wa-stop-loading-url.md)
[`WA ZOOM IN`](../commands-legacy/wa-zoom-in.md)
[`WA ZOOM OUT`](../commands-legacy/wa-zoom-out.md)
+[`Web Event`](web-event.md)
+[`Web Form`](web-form.md)
[`WEB GET BODY PART`](../commands-legacy/web-get-body-part.md)
[`WEB Get body part count`](../commands-legacy/web-get-body-part-count.md)
[`WEB Get current session ID`](../commands-legacy/web-get-current-session-id.md)
diff --git a/versioned_docs/version-21/commands/open-datastore.md b/versioned_docs/version-21/commands/open-datastore.md
index 3f568dd3d909b3..f26d204cc3be93 100644
--- a/versioned_docs/version-21/commands/open-datastore.md
+++ b/versioned_docs/version-21/commands/open-datastore.md
@@ -8,7 +8,8 @@ displayed_sidebar: docs
|Release|Changes|
|---|---|
-|20 R6|Support access to Qodly instances|
+|21|Qodly cloud discontinued|
+|20 R6|Support access to Qodly cloud instances|
|20 R4|New *passwordAlgorithm* property|
|18|Added|
@@ -30,12 +31,11 @@ displayed_sidebar: docs
The `Open datastore` command connects the application to the remote datastore identified by the *connectionInfo* parameter and returns a matching `4D.DataStoreImplementation` object associated with the *localID* local alias.
-The following remote datastores are supported by the command:
+Exchanges with the remote datastore are automatically managed via REST requests. The *connectionInfo* 4D datastore must be available as a remote datastore, i.e.:
-|datastore kind|Description|
-|---|---|
-|Remote 4D application|A 4D application available as a remote datastore, i.e.:its web server is launched with http and/or https enabled,its datastore is exposed to REST ([**Expose as REST server**](REST/configuration.md#starting-the-rest-server) option checked).A license can be required (see note)|
-|[Qodly application](https://developer.qodly.com/docs/cloud/getStarted)|A Qodly Server application that provided you with an **api endpoint** and a valid **api key** associated with a defined role. You must pass the api key in the `api-key` property of the *connectionInfo* object. You can then work with the returned datastore object, with all privileges granted to the associated role.|
+- its Web Server must be launched with http and/or https enabled,
+- its datastore is exposed to REST ([**Expose as REST server**](REST/configuration.md#starting-the-rest-server) option checked),
+- a client license must be available if required (see note).
:::note
@@ -46,15 +46,14 @@ The following remote datastores are supported by the command:
Pass in *connectionInfo* an object describing the remote datastore you want to connect to. It can contain the following properties (all properties are optional except *hostname*):
-|Property| Type|Remote 4D application |Qodly application|
-|---|---|---|---|
+|Property| Type|Remote 4D application |
+|---|---|---|
|hostname|Text|Name or IP address of the remote database + ":" + port number (port number is mandatory)|API Endpoint of the Qodly cloud instance|
-|user|Text|User name|- (ignored)|
-|password|Text|User password|- (ignored)|
-|idleTimeout|Integer|Inactivity session timeout (in minutes), after which the session is automatically closed by 4D. If omitted, default value is 60 (1h). The value cannot be < 60 (if a lower value is passed, the timeout is set to 60). For more information, see **Closing sessions**.|- (ignored)|
-|tls|Boolean|True to use secured connection(1). If omitted, false by default. Using a secured connection is recommended whenever possible.|True to use secured connection. If omitted, false by default|
-|type |Text |must be "4D Server"|- (ignored)|
-|api-key|Text|- (ignored)|Api key of the Qodly cloud instance|
+|user|Text|User name|
+|password|Text|User password|
+|idleTimeout|Integer|Inactivity session timeout (in minutes), after which the session is automatically closed by 4D. If omitted, default value is 60 (1h). The value cannot be < 60 (if a lower value is passed, the timeout is set to 60). For more information, see **Closing sessions**.|
+|tls|Boolean|True to use secured connection(1). If omitted, false by default. Using a secured connection is recommended whenever possible.|
+|type |Text |must be "4D Server"|
(1) If `tls` is true, the HTTPS protocol is used if:
@@ -119,27 +118,6 @@ Working with several remote datastores:
ALERT("They are "+String($foreignStudents.Students.all().length)+" foreign students")
```
-## Example 4
-
-Connection to a Qodly application:
-
-```4d
-var $connectTo : Object:={hostname: "https://xxx-x54xxx-xx-xxxxx-8xx5-xxxxxx.xx-api.cloud.com"; tls: True}
-
-var $remoteDS : 4D.DataStoreImplementation
-var $data : 4D.EntitySelection
-
-$connectTo["api-key"]:="fxxxx-xxxx-4xxx-txxx-xxxxxxxx0" //only for example purpose
- //it is recommended to store the API key in a secured place (e.g. a file)
- //and to load it in the code
-
-$remoteDS:=Open datastore($connectTo; "remoteId")
-$data:=$remoteDS.item.all()
-
-ALERT(String($data.length)+" items have been read")
-
-```
-
## Error management
diff --git a/versioned_docs/version-21/commands/string.md b/versioned_docs/version-21/commands/string.md
index 39dde66bd5e2d7..b8afcaa54c3b78 100644
--- a/versioned_docs/version-21/commands/string.md
+++ b/versioned_docs/version-21/commands/string.md
@@ -105,8 +105,6 @@ If you pass 0 in *base*, the command determines the radix depending on the *expr
| String(254;16) | "fe" | hexadecimal string |
| String(-16523461; 16)| "-fc20c5" | hexadecimal string (negative) |
| String(Log(-1); 10)| "NaN" | Not a number |
-| String(1/0; 10) | "NaN" | Not a number |
-| String(-1/0; 10) | "NaN" | Not a number |
:::note
diff --git a/versioned_docs/version-21/commands/theme/Web_Server.md b/versioned_docs/version-21/commands/theme/Web_Server.md
index 8bc434863cf998..4dce6a465e0174 100644
--- a/versioned_docs/version-21/commands/theme/Web_Server.md
+++ b/versioned_docs/version-21/commands/theme/Web_Server.md
@@ -8,6 +8,8 @@ slug: /commands/theme/Web-Server
||
|---|
+|[](../../commands/web-event.md)
|
+|[](../../commands/web-form.md)
|
|[](../../commands-legacy/web-get-body-part.md)
|
|[](../../commands-legacy/web-get-body-part-count.md)
|
|[](../../commands-legacy/web-get-current-session-id.md)
|
diff --git a/versioned_docs/version-21/commands/web-event.md b/versioned_docs/version-21/commands/web-event.md
new file mode 100644
index 00000000000000..a2811194ad76a1
--- /dev/null
+++ b/versioned_docs/version-21/commands/web-event.md
@@ -0,0 +1,96 @@
+---
+id: web-event
+title: Web Event
+displayed_sidebar: docs
+---
+
+**Web Event** : object
+
+
+|Parameter|Type| |Description|
+|---------|--- |:---:|------|
+|Result|Object|←|Information on the triggered event |
+
+
+
+## Description
+
+`Web Event` returns an object with information on a triggered event linked to a web page component.
+
+The command must be called in the context of a web page handled by the 4D web server.
+
+**Result**
+
+The returned object contains the following properties:
+
+| Property | |Type| Description |
+|----|---|----|----|
+| caller | |string| [Server-side reference](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/pageLoaderOverview#data-access-category) of the component triggering the event |
+| eventType | |string| Type of event:onbluronfocusonclickonauxclickonmouseenteronmouseleaveonkeyuponkeydownonchangeunloadonload - triggered when the `Page` loads|
+| data | |object|Additional information depending on the involved component|
+| |index |number|Tabs component: index of the tab (indexing starts at 0)Data Table component: column number|
+| |row |number|Data Table component: row number |
+| |name |string|Data Table component: qodlysource name of the column (e.g. "firstname", "address.city")|
+
+#### Example
+
+The objective is to display/hide a help text when the user hovers over the component:
+
+
+
+This is done by attaching `onmouseenter` and `onmouseleave` events to a **Text input** component that displays the information stored in a **Text** component (displaying "This is the help text").
+
+
+
+In this scenario:
+
+* The Text input component has `orderNumber` as Server side reference.
+ 
+* The Text component has `helpOn_orderNumber` as Server side reference.
+ 
+* The [exposed](../ORDA/ordaClasses.md#exposed-vs-non-exposed-functions) function `help()` is attached to both the `onmouseenter` and `onmouseleave` events and contains the following code:
+
+```4d
+shared singleton Class constructor()
+exposed Function help()
+
+ var event : Object
+ var myForm : 4D.WebForm
+ var componentRef : Text
+
+ myForm:=web Form
+ event:=web Event
+ componentRef:=event.caller
+
+ Case of
+ : (event.eventType="onmouseenter") // event is onmouseenter
+ myForm["helpOn_"+componentRef].show() // show the help on "orderNumber" by showing
+ // the text component with reference "helpOn_orderNumber"
+ : (event.eventType="onmouseleave") // event is onmouseleave
+ myForm["helpOn_"+componentRef].hide() // hide the help on orderNumber
+
+ End case
+
+```
+
+To open the web page with the help on `orderNumber` hidden, you can associate this function to the `onload` event of the web page:
+
+```4d
+exposed function hideOnLoad()
+ webForm.helpOn_orderNumber.hide()
+
+```
+
+## See also
+
+[Web Form](web-form.md)
+[WebForm class](../API/WebFormClass.md)
+[WebFormItem class](../API/WebFormItemClass.md)
+
+## Properties
+
+| | |
+| --- | --- |
+| Command number | 1734 |
+| Thread safe | ✗ |
+
diff --git a/versioned_docs/version-21/commands/web-form.md b/versioned_docs/version-21/commands/web-form.md
new file mode 100644
index 00000000000000..1ee0923f99a51a
--- /dev/null
+++ b/versioned_docs/version-21/commands/web-form.md
@@ -0,0 +1,46 @@
+---
+id: web-form
+title: Web Form
+displayed_sidebar: docs
+---
+
+**Web Form** : 4D.WebForm
+
+
+|Parameter|Type| |Description|
+|---------|--- |:---:|------|
+|Result|4D.WebForm|←|New `Web Form` proxy object|
+
+
+## Description
+
+The `Web Form` command returns a `4D.WebForm` proxy object, providing a means to work with and effectively emulates the Page's properties and functions.
+
+
+:::info
+
+Keep in mind that a `4D.WebForm` object is a **proxy object**, and not a direct reference to the web form object itself. As a consequence for example, the `4D.WebForm` object does not expose all Page properties in the Debugger.
+
+:::
+
+Each property of the returned object is an object of the [4D.WebFormItem](../API/WebFormItemClass.md) class.
+
+The command returns `null` if it is called in a request that does not originate from Qodly Studio.
+
+
+## See also
+
+[Web Event](web-event.md)
+[WebForm class](../API/WebFormClass.md)
+[WebFormItem class](../API/WebFormItemClass.md)
+
+## Properties
+
+| | |
+| --- | --- |
+| Command number | 1735 |
+| Thread safe | ✗ |
+
+
+
+
diff --git a/versioned_sidebars/version-21-sidebars.json b/versioned_sidebars/version-21-sidebars.json
index 8c6c6269ab440a..093086f95cee9d 100644
--- a/versioned_sidebars/version-21-sidebars.json
+++ b/versioned_sidebars/version-21-sidebars.json
@@ -2021,6 +2021,8 @@
"id": "commands/theme/Web_Server_theme"
},
"items": [
+ "commands/web-event",
+ "commands/web-form",
"commands-legacy/web-get-body-part",
"commands-legacy/web-get-body-part-count",
"commands-legacy/web-get-current-session-id",