diff --git a/docs/API/CollectionClass.md b/docs/API/CollectionClass.md
index 36c2479097d7eb..5e89185a0332e7 100644
--- a/docs/API/CollectionClass.md
+++ b/docs/API/CollectionClass.md
@@ -208,8 +208,8 @@ You can pass any number of values of the following supported types:
* date
* time (stored as number of milliseconds - real)
* null
-* shared object(*)
-* shared collection(*)
+* shared object
+* shared collection
:::note
@@ -217,7 +217,6 @@ Unlike standard (not shared) collections, shared collections do not support pict
:::
-(\*)When a shared object or collection is added to a shared collection, they share the same *locking identifier*. For more information on this point, refer to [4D Doc Center](https://doc.4d.com).
#### Example
@@ -3219,7 +3218,7 @@ With the following ***Flatten*** method:
|---------|--- |:---:|------|
|index |Integer|->|Element at which to start removal|
|howMany |Integer|->|Number of elements to remove, or 1 element if omitted|
-|Result|Collection|<-|Original collection without removed element(s)|
+|Result|Collection|<-|Modified collection without removed element(s)|
diff --git a/docs/API/DataClassClass.md b/docs/API/DataClassClass.md
index 577d446a0b3b07..e873cdb282bb78 100644
--- a/docs/API/DataClassClass.md
+++ b/docs/API/DataClassClass.md
@@ -161,7 +161,7 @@ In the optional *settings* parameter, you can pass an object containing addition
|Property| Type| Description|
|---|---|---|
-|context|Text|Label for the optimization context applied to the entity selection. This context will be used by the code that handles the entity selection so that it can benefit from the optimization. This feature is [designed for ORDA client/server processing](ORDA/entities.md#client-server-optimization).|
+|context|Text|Label for the optimization context applied to the entity selection. This context will be used by the code that handles the entity selection so that it can benefit from the optimization. This feature is [designed for ORDA client/server processing](../ORDA/client-server-optimization.md).|
> To know the total number of entities in a dataclass, it is recommended to use the [`getCount()`](#getcount) function which is more optimized than the `ds.myClass.all().length` expression.
@@ -222,6 +222,11 @@ $ds.Persons.clearRemoteCache()
// Cache of the Persons dataclass = {timeout:30;maxEntries:30000;stamp:255;entries:[]}
```
+#### See also
+
+[`entitySelection.refresh()`](EntitySelectionClass.md#refresh)
+
+
@@ -288,7 +293,7 @@ In the optional *settings* parameter, you can pass an object containing addition
|Property |Type| Description|
|---|---|---|
-|context|Text|Label for the optimization context applied to the entity selection. This context will be used by the code that handles the entity selection so that it can benefit from the optimization. This feature is [designed for ORDA client/server processing](ORDA/entities.md#client-server-optimization).|
+|context|Text|Label for the optimization context applied to the entity selection. This context will be used by the code that handles the entity selection so that it can benefit from the optimization. This feature is [designed for ORDA client/server processing](../ORDA/client-server-optimization.md).|
#### Example 1
@@ -462,7 +467,13 @@ In the optional *settings* parameter, you can pass an object containing addition
|Property| Type| Description|
|---|---|---|
-|context| Text| Label for the automatic optimization context applied to the entity. This context will be used by the subsequent code that loads the entity so that it can benefit from the optimization. This feature is [designed for ORDA client/server processing](ORDA/entities.md#client-server-optimization).|
+|context| Text| Label for the automatic optimization context applied to the entity. This context will be used by the subsequent code that loads the entity so that it can benefit from the optimization. This feature is [designed for ORDA client/server processing](../ORDA/client-server-optimization.md).|
+
+:::info
+
+When you call the `.get()` function **without** *settings* parameter, a request for attribute values is directly sent to the server (the [ORDA cache](../ORDA/client-server-optimization.md#orda-cache) is not used). On the other hand, when you call the `.get()` function **with** a `context` passed in the *settings* parameter, attribute values are retrieved from the ORDA cache corresponding to the context. It may be advisable in this case to call [`reload()`](EntityClass.md#reload) to make sure the most recent data is retrieved from the server.
+
+:::
#### Example 1
diff --git a/docs/API/EntitySelectionClass.md b/docs/API/EntitySelectionClass.md
index 1f3c231bb7eda0..db3204d2678f85 100644
--- a/docs/API/EntitySelectionClass.md
+++ b/docs/API/EntitySelectionClass.md
@@ -2059,7 +2059,8 @@ A list box displays the Form.students entity selection and several clients work
#### See also
-[`.clean()`](#clean)
+[`.clean()`](#clean)
+[dataClass.clearRemoteCache()](DataClassClass.md#clearremotecache)
diff --git a/docs/API/IMAPTransporterClass.md b/docs/API/IMAPTransporterClass.md
index aec02c01c376fd..156f99a09a5e82 100644
--- a/docs/API/IMAPTransporterClass.md
+++ b/docs/API/IMAPTransporterClass.md
@@ -785,10 +785,11 @@ The `boxInfo` object returned contains the following properties:
|Property| Type| Description|
|---|---|---|
-|name|text|Name of the mailbox
-|mailCount| number| Number of messages in the mailbox|
-|mailRecent| number| Number of messages with the "recent" flag (indicating new messages)|
+|name|Text|Name of the mailbox
+|mailCount| Number| Number of messages in the mailbox|
+|mailRecent| Number| Number of messages with the "recent" flag (indicating new messages)|
|id| text| Unique id of the mailbox|
+|mailUnseen| Number|Number of messages marked "unseen"|
#### Example
@@ -833,6 +834,9 @@ In the optional `parameters` parameter, pass an object containing values to filt
|Property | Type| Description |
|---|---|---|
|isSubscribed| Boolean |
Available only with CSS Preview None
| -|![](../assets/en/FormEditor/distribution.png)| [Distribution](#distributing-objects)| This button is linked to a menu that allows distributing objects in the form. It is enabled (or not) depending on the objects selected.Available only with CSS Preview None
| +|![](../assets/en/FormEditor/alignment.png)| [Alignment](#aligning-objects)| This button is linked to a menu that allows aligning objects in the form. It is enabled (or not) depending on the objects selected.Please enter your name:
-- +
+
-- - +
+ +
@@ -301,9 +301,9 @@ Let’s examine the 4D method `WWW_STD_FORM_POST` that is called when the user c ARRAY TEXT($arrValues;0) WEB GET VARIABLES($arrNames;$arrValues) C_LONGINT($user) - + Case of - + // The Log On button was clicked :(Find in array($arrNames;"vsbLogOn")#-1) $user :=Find in array($arrNames;"vtUserName") @@ -313,15 +313,15 @@ Let’s examine the 4D method `WWW_STD_FORM_POST` that is called when the user c WWW POST EVENT("Log On";WWW Log information) // The WWW POST EVENT method saves the information in a database table Else - + $0:=WWW Register // The WWW Register method lets a new Web user register End if - + // The Register button was clicked :(Find in array($arrNames;"vsbRegister")#-1) $0:=WWW Register - + // The Information button was clicked :(Find in array($arrNames;"vsbInformation")#-1) WEB SEND FILE("userinfos.html") @@ -331,7 +331,7 @@ Let’s examine the 4D method `WWW_STD_FORM_POST` that is called when the user c The features of this method are: - The values of the variables *vtNav_appName*, *vtNav_appVersion*, *vtNav_appCodeName*, and *vtNav_userAgent* (bound to the HTML objects having the same names) are retrieved using the `WEB GET VARIABLES` command from HTML objects created by the *GetBrowserInformation* JavaScript script. -- Out of the *vsbLogOn*, *vsbRegister* and *vsbInformation* variables bound to the three Submit buttons, only the one corresponding to the button that was clicked will be retrieved by the `WEB GET VARIABLES` command. When the submit is performed by one of these buttons, the browser returns the value of the clicked button to 4D. This tells you which button was clicked. +- Out of the *vsbLogOn*, *vsbRegister* and *vsbInformation* variables bound to the three Submit buttons, only the one corresponding to the button that was clicked will be retrieved by the `WEB GET VARIABLES` command. When the submit is performed by one of these buttons, the browser returns the value of the clicked button to 4D. This tells you which button was clicked. Keep in main that with HTML, all objects are text objects. If you use a SELECT object, it is the value of the highlighted element in the object that is returned in the `WEB GET VARIABLES` command, and not the position of the element in the array as in 4D. `WEB GET VARIABLES` always returns values of the Text type. @@ -355,5 +355,3 @@ The 4D web server supports files uploaded in chunked transfer encoding from any The COMPILER\_WEB method, if it exists, is systematically called when the HTTP server receives a dynamic request and calls the 4D engine. This is the case, for example, when the 4D Web server receives a posted form or a URL to process in [`On Web Connection`](#on-web-connection). This method is intended to contain typing and/or variable initialization directives used during Web exchanges. It is used by the compiler when the application is compiled. The COMPILER\_WEB method is common to all the Web forms. By default, the COMPILER_WEB method does not exist. You must explicitly create it. > The COMPILER_WEB project method is also called, if it exists, for each SOAP request accepted. - - diff --git a/docs/WebServer/preemptiveWeb.md b/docs/WebServer/preemptiveWeb.md index 5dac024f57463e..1bb4e0554f7993 100644 --- a/docs/WebServer/preemptiveWeb.md +++ b/docs/WebServer/preemptiveWeb.md @@ -6,7 +6,7 @@ title: Using preemptive web processes The 4D Web Server allows you to take full advantage of multi-core computers by using preemptive web processes in your applications. You can configure your web-related code, including 4D tags, web database methods or ORDA REST class functions to run simultaneously on as many cores as possible. -For in-depth information on preemptive process in 4D, please refer to the *Preemptive 4D processes* section in the [*4D Language Reference*](https://doc.4d.com). +For in-depth information on preemptive process in 4D, please refer to the [Preemptive Processes](../Develop/preemptive.md) section. ## Availability of preemptive mode for web processes @@ -29,8 +29,8 @@ The following table indicates whether the preemptive mode is used or is availabl - Web Service Server: handles SOAP requests - ***web setting*** means that the preemptive mode depends on a setting value: - when [**Scalable sessions**](sessions.md#enabling-sessions) option is selected, the [preemptive mode is automatically used](sessions.md#preemptive-mode) for web processes. - - otherwise, the [**Use preemptive processes**](webServerConfig.md#use-preemptive-processes) option is taken into account. - - regarding Web service processes (server or client), preemptive mode is supported at method level. You just have to select "Can be run in preemptive processes" property for published SOAP server methods (see [Publishing a Web Service with 4D](https://doc.4d.com/4Dv19/4D/19/Publishing-a-Web-Service-with-4D.300-5416868.en.html)) or proxy client methods (see [Subscribing to a Web Service in 4D](https://doc.4d.com/4Dv19/4D/19/Subscribing-to-a-Web-Service-in-4D.300-5416870.en.html)) and make sure they are confirmed thread-safe by the compiler. + - otherwise, the [**Use preemptive processes**](webServerConfig.md#use-preemptive-processes) option is taken into account. + - regarding Web service processes (server or client), preemptive mode is supported at method level. You just have to select "Can be run in preemptive processes" property for published SOAP server methods (see [Publishing a Web Service with 4D](https://doc.4d.com/4Dv20/4D/20.2/Publishing-a-Web-Service-with-4D.300-6750334.en.html)) or proxy client methods (see [Subscribing to a Web Service in 4D](https://doc.4d.com/4Dv20/4D/20.2/Subscribing-to-a-Web-Service-in-4D.300-6750336.en.html)) and make sure they are confirmed thread-safe by the compiler. @@ -40,10 +40,10 @@ The following table indicates whether the preemptive mode is used or is availabl All 4D code executed by the web server must be thread-safe if you want your web processes to be run in preemptive mode. When the [preemptive mode is enabled](#availability-of-preemptive-mode-for-web-processes), the following parts of the application will be automatically evaluated by the 4D compiler: * All web-related database methods: - * [`On Web Authentication`](authentication.md#on-web-authentication) + * [`On Web Authentication`](authentication.md#on-web-authentication) * [`On Web Connection`](httpRequests.md#on-web-connection) * [`On REST Authentication`](REST/configuration.md#using-the-on-rest-authentication-database-method) - * [`On Mobile App Authentication`](https://developer.4d.com/go-mobile/docs/4d/on-mobile-app-authentication) and [`On Mobile App Action`](https://developer.4d.com/go-mobile/docs/4d/on-mobile-app-action) + * [`On Mobile App Authentication`](https://developer.4d.com/go-mobile/docs/4d/on-mobile-app-authentication) and [`On Mobile App Action`](https://developer.4d.com/go-mobile/docs/4d/on-mobile-app-action) * The `compiler_web` project method (regardless of its actual "Execution mode" property); @@ -59,7 +59,7 @@ For each of these methods and code parts, the compiler will check if the thread- ## Thread-safety of 4D web code -Most of the web-related 4D commands and functions, database methods and URLs are thread-safe and can be used in preemptive mode. +Most of the web-related 4D commands and functions, database methods and URLs are thread-safe and can be used in preemptive mode. ### 4D commands and database methods @@ -95,5 +95,3 @@ Both the Runtime Explorer and the 4D Server administration window display a spec |Process type|Icon| |---|---| |Preemptive web method| ![](../assets/en/WebServer/processIcon.png)| - - diff --git a/docs/WebServer/qodly-studio.md b/docs/WebServer/qodly-studio.md index 2a8b15303ae75a..c59d09c099fe3d 100644 --- a/docs/WebServer/qodly-studio.md +++ b/docs/WebServer/qodly-studio.md @@ -324,6 +324,12 @@ As explained in the [configuration](#configuration) section, the WebAdmin web se 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/`) diff --git a/docs/WebServer/webServerConfig.md b/docs/WebServer/webServerConfig.md index d767504f2cd720..ee7f3c5109ed84 100644 --- a/docs/WebServer/webServerConfig.md +++ b/docs/WebServer/webServerConfig.md @@ -22,8 +22,8 @@ There are different ways to configure the 4D web server settings, depending on t |Can be set with|Name|Comments| |---|---|---| -|Settings dialog box|[Configuration page/Use the 4D Web cache](../settings/web.md#use-the-4d-web-cache)|| -|Settings dialog box|[Configuration page/Page Cache Size](../settings/web.md#page-cache-size)|| +|Settings dialog box|[Options (I) page/Use the 4D Web cache](../settings/web.md#use-the-4d-web-cache)|| +|Settings dialog box|[Options (I) page/Page Cache Size](../settings/web.md#page-cache-size)|| Enables and configures the web page cache. @@ -307,7 +307,7 @@ Listening IP port number for HTTPS connections via TLS. By default, the value is |`WEB SET OPTION`|`Web inactive process timeout`|| |Settings dialog box|[Options (I) page/Inactive Process Timeout](../settings/web.md#inactive-process-timeout)|Slider| -Life duration (in minutes) of inactive processes associated with sessions. At the end of the timeout, the process is killed on the server, the `On Web Close Process` database method is called, then the session context is destroyed. +Life duration (in minutes) of inactive processes associated with legacy sessions. At the end of the timeout, the process is killed on the server, the `On Web Legacy Close Session` database method is called, then the session context is destroyed. Default: 480 minutes (pass 0 to restore the default value) @@ -430,9 +430,9 @@ Possible values: 500 000 to 2 147 483 648. |Can be set with|Name|Comments| |---|---|---| |webServer object|[`maxSessions`](API/WebServerClass.md#maxsessions)|| -|`WEB SET OPTION`|`Web max sessions `|| +|`WEB SET OPTION`|`Web max sessions`|| -Maximum number of simultaneous sessions. When you reach the limit set, the oldest session is closed (and `On Web Close Process` database method is called) if the Web server needs to create a new one. The number of simultaneous sessions cannot exceed the [maximum number of Web processes](#maximum-concurrent-web-processes) (100 by default). +Maximum number of simultaneous legacy sessions. When you reach the limit set, the oldest legacy session is closed (and `On Web Legacy Close Session` database method is called) if the Web server needs to create a new one. The number of simultaneous legacy sessions cannot exceed the [maximum number of Web processes](#maximum-concurrent-web-processes) (100 by default). Default value: 100 (pass 0 to restore the default value). @@ -488,7 +488,7 @@ True if PFS is available on the web server (see [TLS](Admin/tls.md#perfect-forwa |Can be set with|Name|Comments| |---|---|---| -|Settings dialog box|[Options (I) page/Maximum Concurrent Web Processes](../settings/web.md#reuse-temporary-contexts)|| +|Settings dialog box|[Options (I) page/Reuse Temporary Contexts](../settings/web.md#reuse-temporary-contexts)|| > This option is only available when **No sessions** option is checked. @@ -572,7 +572,7 @@ For example, if you want the HTML root folder to be the "Web" subfolder in the " |`WEB SET OPTION`|`Web scalable session`|| |Settings dialog box|[Options (I) page/Scalable sessions (multi-process sessions)](../settings/web.md#scalable-sessions-multi-process-sessions)|| -Scalable session management enabling status for the 4D web server. Web server sessions are detailed in the [User sessions](sessions.md) page. +Scalable session management enabling status for the 4D web server. Web server sessions are detailed in the [Web sessions](sessions.md) page. @@ -631,7 +631,7 @@ The `Secure` attribute value of the session cookie is automatically set to "True |Can be set with|Name|Comments| |---|---|---| -|Settings dialog box|[Options (I) page/Maximum Concurrent Web Processes](../settings/web.md#use-preemptive-processes)|| +|Settings dialog box|[Options (I) page/Use Preemptive Processes](../settings/web.md#use-preemptive-processes)|| This option enables the preemptive mode for your application's web server code when **No sessions** option is selected (the preemptive mode is always enabled with **scalable sessions**). When this option is checked in this context, the 4D compiler will automatically evaluate the thread-safety property of each piece of [web-related code](preemptiveWeb.md#thread-safety-of-4d-web-code) and return errors in case of incompatibility. diff --git a/docs/settings/compatibility.md b/docs/settings/compatibility.md index c80c32f952e613..d86500917fd9e0 100644 --- a/docs/settings/compatibility.md +++ b/docs/settings/compatibility.md @@ -6,7 +6,7 @@ title: Compatibility page The Compatibility page groups together parameters related to maintaining compatibility with previous versions of 4D. > The number of options displayed depends on the version of 4D with which the original database/project was created, as well as the settings modified in this database/project. -> This page lists the compatibility options available for database/projects converted from 4D v18 onwards. For older compatibility options, refer to the [Compatibility page](https://doc.4d.com/4Dv19R3/4D/19-R3/Compatibility-page.300-5612610.en.html) on **doc.4d.com**. +> This page lists the compatibility options available for database/projects converted from 4D v18 onwards. For older compatibility options, refer to the [Compatibility page](https://doc.4d.com/4Dv20/4D/20.2/Compatibility-page.300-6750362.en.html) on **doc.4d.com**. - **Use legacy network layer**: Starting with 4D v15, 4D applications propose a new network layer, named *ServerNet*, to handle communications between 4D Server and remote 4D machines (clients). The former network layer has become obsolete, but it is kept to ensure compatibility with existing databases. Using this option, you can enable the former network layer at any time in your 4D Server applications depending on your needs. *ServerNet* is used automatically for new databases and databases converted from a v15 release or later. Note that in case of a modification, you need to restart the application for the change to be taken into account. Any client applications that were logged must also be restarted to be able to connect with the new network layer. **Note:** This option can also be managed by programming using the `SET DATABASE PARAMETER` command. diff --git a/docs/settings/security.md b/docs/settings/security.md index bd53081db3da6e..97e91a1b81dea5 100644 --- a/docs/settings/security.md +++ b/docs/settings/security.md @@ -32,8 +32,8 @@ This page contains options related to data access and protection for your deskto ## Options -- **Filtering of commands and project methods in the formula editor and 4D Write Pro documents**: - For security reasons, by default 4D restricts access to the commands, functions and project methods in the [Formula editor](https://doc.4d.com/4Dv19/4D/19/Formula-editor.200-5416596.en.html) in Application mode or added to mutlistyle areas or 4D Write Pro documents using the [ST INSERT EXPRESSION](https://doc.4d.com/4dv19R/help/command/en/page1281.html) command: only certain 4D functions and project methods that have been explicitly declared using the [SET ALLOWED METHODS](https://doc.4d.com/4dv19R/help/command/en/page805.html) command can be used. You can completely or partially remove this filtering using the following options. +- **Filtering of commands and project methods in the formula editor and in the 4D View Pro and 4D Write Pro documents**: + For security reasons, by default 4D restricts access to the commands, functions and project methods in the [Formula editor](https://doc.4d.com/4Dv19/4D/19/Formula-editor.200-5416596.en.html) in Application mode or added to multistyle areas (using [ST INSERT EXPRESSION](https://doc.4d.com/4dv19R/help/command/en/page1281.html)), 4D Write Pro and 4D View Pro documents: only certain 4D functions and project methods that have been explicitly declared using the [SET ALLOWED METHODS](https://doc.4d.com/4dv19R/help/command/en/page805.html) command can be used. You can completely or partially remove this filtering using the following options. - **Enabled for all** (default option): Access to commands, functions and project methods is restricted for all users, including the Designer and the Administrator. - **Disable for the Designer and the Administrator**: This option grants full access to 4D commands and to methods only for the Designer and Administrator. It can be used to set up an unlimited access mode to commands and methods while remaining in control of the operations carried out. During the development phase, this mode can be used to freely test all the formulas, reports, and so on. During operation, it can be used to set up secure solutions that allow access to commands and methods on a temporary basis. This consists in changing the user (via the [CHANGE CURRENT USER](https://doc.4d.com/4dv19R/help/command/en/page289.html) command) before calling a dialog box or starting a printing process that requires full access to the commands, then returning to the original user when the specific operation is completed. **Note:** If full access has been enabled using the previous option, this option will have no effect. diff --git a/i18n/es/code.json b/i18n/es/code.json index b8c27eceed9740..10430581b63747 100644 --- a/i18n/es/code.json +++ b/i18n/es/code.json @@ -600,7 +600,7 @@ "message": "Gestión del código" }, "theme.docs.DocCard.categoryDescription.plurals": { - "message": "1 item|{count} items", + "message": "1 artículo|{count} artículos", "description": "The default description for a category card in the generated index about how many items this category includes" }, "theme.admonition.warning": { @@ -608,19 +608,19 @@ "description": "The default label used for the Warning admonition (:::warning)" }, "theme.DocSidebarItem.expandCategoryAriaLabel": { - "message": "Expand sidebar category '{label}'", + "message": "Ampliar la categoría '{label}' de la barra lateral", "description": "The ARIA label to expand the sidebar category" }, "theme.DocSidebarItem.collapseCategoryAriaLabel": { - "message": "Collapse sidebar category '{label}'", + "message": "Contraer categoría de la barra lateral '{label}'", "description": "The ARIA label to collapse the sidebar category" }, "theme.unlistedContent.title": { - "message": "Unlisted page", + "message": "Página no listada", "description": "The unlisted content banner title" }, "theme.unlistedContent.message": { - "message": "This page is unlisted. Search engines will not index it, and only users having a direct link can access it.", + "message": "Esta página no está en la lista. Los motores de búsqueda no lo indexarán, y sólo los usuarios que tengan un enlace directo pueden acceder a ella.", "description": "The unlisted content banner message" } } diff --git a/i18n/es/docusaurus-plugin-content-docs/current.json b/i18n/es/docusaurus-plugin-content-docs/current.json index 3a9f6affa6881a..14ec241ac6a356 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current.json +++ b/i18n/es/docusaurus-plugin-content-docs/current.json @@ -504,7 +504,7 @@ "description": "The generated-index page title for category Exposing your datastore in REST in sidebar docs" }, "sidebar.docs.category.Exposing your datastore in REST.link.generated-index.description": { - "message": "Configura tu almacén de datos para acceso REST", + "message": "Configura su almacén de datos para acceso REST", "description": "The generated-index page description for category Exposing your datastore in REST in sidebar docs" } } 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 6a321525a9ea3f..3f16217112b32f 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/API/CollectionClass.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/API/CollectionClass.md @@ -196,9 +196,8 @@ Puede pasar cualquier número de valores de los siguientes tipos soportados: - date - time (almacenado como número de milisegundos - real) - null -- shared object(\*) -- shared collection(\*) - \> Unlike standard (not shared) collections, shared collections do not support pictures, pointers, and objects or collections that are not shared. +- objeto compartido +- colección compartida :::note @@ -206,8 +205,6 @@ Esta función modifica la colección original. ::: -(\*)Cuando un objeto o colección compartida se añade a una colección compartida, comparten el mismo *identificador de bloqueo*. Para más información sobre este punto, consulte [4D Doc Center](https://doc.4d.com). - #### Ejemplo ```4d @@ -2755,10 +2752,10 @@ $col2:=$col.query("c = :v"; {parameters: {v: $c3}}) En el parámetro *querySettings*, puede pasar un objeto que contenga marcadores de posición de consulta como objetos. Se soportan las siguientes propiedades: -| Propiedad | Tipo | Descripción | -| ---------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| parameters | Object | **Marcadores de posición con nombre para los valores** utilizados en *queryString*. Los valores se expresan como pares propiedad / valor, donde propiedad es el nombre del marcador de posición insertado para un valor en *queryString* o formula (":placeholder") y valor es el valor a comparar. Puede combinar marcadores de posición indexados (valores pasados directamente en parámetros de valor) y valores de marcadores de posición con nombre en la misma búsqueda. | -| attributes | Object | **Marcadores de posición con nombre para rutas de atributos** utilizados en la *queryString*. Los atributos se expresan como pares propiedad / valor, donde propiedad es el nombre del marcador de posición insertado para una ruta de atributo en *queryString* (":placeholder"), y valor puede ser una cadena o una colección de cadenas. Cada valor es una ruta que puede designar una propiedad en un objeto de la colecciónTipo de objeto | Descripción |
---|---|
Cadena | Ruta de acceso del atributo expresado utilizando la notación de punto, por ejemplo, "name" o "user.address.zipCode" |
Colección de cadenas | Cada cadena de la colección representa un nivel de attributePath, por ejemplo, \["name"] o \["user","address","zipCode"]. Using a collection allows querying on attributes with names that are not compliant with dot notation, e.g. \["4Dv17.1","en/fr"] |
Tipo de objeto | Descripción |
---|---|
Cadena | Ruta de acceso del atributo expresado utilizando la notación de punto, por ejemplo, "name" o "user.address.zipCode" |
Colección de cadenas | Cada cadena de la colección representa un nivel de attributePath, por ejemplo, \["name"] o \["user","address","zipCode"]. El uso de una colección permite realizar consultas sobre atributos con nombres que no se ajustan a la notación de puntos, por ejemplo, \["4Dv17.1", "en/fr"] |
Tipo de datos | Descripción |
---|---|
Cadena | attributePath expresado utilizando la notación de puntos, por ejemplo "name" o "user.address.zipCode" |
Colección de cadenas | Cada cadena de la colección representa un nivel de attributePath, por ejemplo, \["name"] o \["user","address","zipCode"]. Using a collection allows querying on attributes with names that are not compliant with dot notation, e.g. \["4Dv17.1","en/fr"] |
Tipo de datos | Descripción |
---|---|
Cadena | attributePath expresado utilizando la notación de puntos, por ejemplo "name" o "user.address.zipCode" |
Colección de cadenas | Cada cadena de la colección representa un nivel de attributePath, por ejemplo, \["name"] o \["user","address","zipCode"]. El uso de una colección permite realizar consultas sobre atributos con nombres que no se ajustan a la notación de puntos, por ejemplo, \["4Dv17.1", "en/fr"] |
**Note**: When an object of the Text or Group Box type is selected, pressing the **Enter** key lets you switch to editing mode.
| +| ![](../assets/en/FormEditor/selection.png) | [Selection tool](#selecting-objects) | Permite seleccionar, desplazar y cambiar el tamaño de los objetos del formulario.**Nota**: cuando se selecciona un objeto de tipo Texto o Cuadro de Grupo, presionando la tecla **Enter** se pasa al modo edición.
| | ![](../assets/en/FormEditor/zOrder.png) | [Orden de entrada](#orden-de-entrada) | Pasa al modo "Orden de entrada", donde es posible ver y cambiar el orden de entrada actual del formulario. Tenga en cuenta que las marcas permiten ver el orden de entrada actual, sin dejar de trabajar en el formulario. | | ![](../assets/en/FormEditor/moving.png) | [Moving](#moving-objects) | Pasa al modo " Desplazamiento ", en el que es posible llegar rápidamente a cualquier parte del formulario utilizando la función de arrastrar y soltar en la ventana. El cursor toma la forma de una mano. Este modo de navegación es especialmente útil cuando se hace zoom en el formulario. | | ![](../assets/en/FormEditor/zoom.png) | [Zoom](#zoom) | Permite modificar la escala de visualización del formulario (100% por defecto). Puede pasar al modo "Zoom" haciendo clic en la lupa o pulsando directamente en la barra correspondiente a la escala deseada. Esta función se detalla en la sección anterior. | -| ![](../assets/en/FormEditor/alignment.png) | [Alignment](#aligning-objects) | Este botón está asociado a un menú que permite alinear los objetos en el formulario. It is enabled (or not) depending on the objects selected.Available only with CSS Preview None
| -| ![](../assets/en/FormEditor/distribution.png) | [Distribution](#distributing-objects) | Este botón está asociado a un menú que permite repartir los objetos en el formulario. It is enabled (or not) depending on the objects selected.Available only with CSS Preview None
| +| ![](../assets/en/FormEditor/alignment.png) | [Alignment](#aligning-objects) | Este botón está asociado a un menú que permite alinear los objetos en el formulario. It is enabled (or not) depending on the objects selected.(Icono de distribución horizontal estándar)
El área de ejemplo muestra los resultados de su selección. -4. Para realizar una distribución que utiliza el esquema estándar, haga clic en **Vista previa** o _Aplicar_.En este caso, 4D realizará una distribución estándar para que los objetos estén espaciados de manera equitativa entre ellos.
O bien:para ejecutar una distribución específica, seleccione la opción **Distribuir** (por ejemplo, si desea distribuir los objetos en función de la distancia a su lado derecho). Esta opción actúa como un interruptor. If the Distribute check box is selected, the icons located below it perform a different function:
+4. Para realizar una distribución que utiliza el esquema estándar, haga clic en **Vista previa** o _Aplicar_.En este caso, 4D realizará una distribución estándar para que los objetos estén espaciados de manera equitativa entre ellos.
O bien:para ejecutar una distribución específica, seleccione la opción **Distribuir** (por ejemplo, si desea distribuir los objetos en función de la distancia a su lado derecho). Esta opción actúa como un interruptor. Si la casilla de selección Distribuir está seleccionada, los iconos situados debajo de ella realizan una función diferente:
- Horizontalmente, los iconos corresponden a las siguientes distribuciones: uniformemente con respecto a los lados izquierdos, centros (hor.) y los lados derechos de los objetos seleccionados. - Verticalmente, los iconos corresponden a las siguientes distribuciones: uniformemente con respecto a los bordes superiores, centros (vert.) y los bordes inferiores de los objetos seleccionados. 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 efa766d2416547..0473ff1f92d46b 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/FormEditor/forms.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/FormEditor/forms.md @@ -117,7 +117,7 @@ Este orden determina el [orden de entrada](../FormEditor/formEditor.html#data-en Las propiedades y el método de un formulario no se tienen en cuenta cuando ese formulario se utiliza como formulario heredado. Por otro lado, se llaman los métodos de los objetos que contiene. -To define an inherited form, the [Inherited Form Name](properties_FormProperties.md#inherited-form-name) and [Inherited Form Table](properties_FormProperties.md#inherited-form-table) (for table form) properties must be defined in the form that will inherit something from another form. +Para definir un formulario heredado, el [nombre del formulario heredado](properties_FormProperties.md#inherited-form-name) y la [Tabla de formularios heredada](properties_FormProperties.md#inherited-form-table) (para el formulario tabla) las propiedades deben definirse en la forma que heredará algo de otro formulario. Un formulario puede heredar de un formulario proyecto, definiendo la propiedad [Inherited Form Table](properties_FormProperties.md#inherited-form-table) en `\- This means that the **Encryptable** status for at least one table has been modified and the data file still has not been encrypted. - \*\*Note: \*\*The same message is displayed when the **Encryptable** status has been modified in an already encrypted data file or after the data file has been decrypted (see below).
+ Esto significa que el estado **Encriptable** de al menos una tabla ha sido modificado y el archivo de datos aún no ha sido encriptado. + \*\*Nota: \*\*El mismo mensaje se muestra cuando el estado **Encriptable** se ha modificado en un archivo de datos ya encriptado o después de que el archivo de datos haya sido desencriptado (ver más abajo). 3. Haga clic en el botón imagen Cifrar.\ ![](../assets/en/MSC/MSC_encrypt3.png)\ You will be prompted to enter a passphrase for your data file: @@ -82,7 +82,7 @@ Esta operación es útil cuando se ha modificado el atributo **Encriptable** de 1. Haga clic en **Recibir los datos con la llave de cifrado actual**. 2. Introduzca la llave de encriptación de datos actual. -The data file is properly re-encrypted with the current key and a confirmation message is displayed: +El archivo de datos se vuelve a cifrar correctamente con la llave actual y se muestra un mensaje de confirmación: ![](../assets/en/MSC/MSC_encrypt8.png) ### Cambiar la frase secreta y volver a encriptar los datos @@ -91,9 +91,9 @@ Esta operación es útil cuando se necesita cambiar la llave de datos de encript 1. Haga clic en **Cambiar su frase de contraseña y volver a cifrar los datos**. 2. Introduzca la llave de encriptación de datos actual. -3. Enter the new passphrase (for added security, you are prompted to enter it twice): +3. Ingrese la nueva frase de contraseña (para mayor seguridad, se le solicita ingresarla dos veces): ![](../assets/en/MSC/MSC_encrypt9.png) - The data file is encrypted with the new key and the confirmation message is displayed. + El archivo de datos se cifra con la nueva llave y se muestra el mensaje de confirmación. ![](../assets/en/MSC/MSC_encrypt8.png) ### Desencriptar todos los datos @@ -103,7 +103,7 @@ Esta operación elimina toda la codificación del archivo de datos. Si ya no des 1. Haga clic en **Desencriptar todos los datos**. 2. Introduzca la llave de encriptación de datos actual ( ver Suministrar la llave de encriptación de datos actual). -The data file is fully decrypted and a confirmation message is displayed: +El archivo de datos se descifra completamente y se muestra un mensaje de confirmación: ![](../assets/en/MSC/MSC_encrypt10.png) > Una vez descifrado el archivo de datos, el estado de cifrado de las tablas no coincide con sus atributos Encriptables. Para restablecer un estado coincidente, debe anular la selección de todos los atributos **Encriptable** al nivel de la estructura de la base. diff --git a/i18n/es/docusaurus-plugin-content-docs/current/MSC/information.md b/i18n/es/docusaurus-plugin-content-docs/current/MSC/information.md index 5085f818d395b9..36a5454e3edae9 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/MSC/information.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/MSC/information.md @@ -12,9 +12,9 @@ Esta página indica el nombre, la versión y la ubicación de la aplicación, as La parte central de la ventana indica el nombre y la ubicación del proyecto y de los os archivos de datos, así como también el archivo de historial (si lo hay). La parte inferior de la ventana indica el nombre del titular de la licencia 4D, el tipo de licencia y el nombre del usuario 4D actual. -- **Display and selection of pathnames**: On the **Program** tab, pathnames are displayed in pop-up menus containing the folder sequence as found on the disk:\ +- **Visualización y selección de nombres de ruta**: en la pestaña **Programa**, los nombres de ruta se muestran en menús emergentes que contienen la secuencia de carpetas tal y como se encuentran en el disco:\ ![](../assets/en/MSC/MSC_popup.png) - If you select a menu item (disk or folder), it is displayed in a new system window. + Si selecciona un elemento del menú (disco o carpeta), se muestra en una nueva ventana del sistema. El comando **Copiar la ruta** copia el nombre completo de la ruta en el portapapeles como texto, utilizando los separadores de la plataforma actual. - **"Licenses" Folder** The **"Licenses" Folder** button displays the contents of the active Licenses folder in a new system window. Todos los archivos de licencia instalados en su entorno 4D están agrupados en esta carpeta, en su disco duro. Cuando se abren con un navegador web, estos archivos muestran información sobre las licencias que contienen y sus características. @@ -53,7 +53,7 @@ La información se ofrece en forma gráfica: > Esta página no tiene en cuenta los datos que puedan estar almacenados fuera del archivo de datos (ver "Almacenamiento externo"). -Los archivos demasiado fragmentados reducen el rendimiento del disco y, por tanto, de la base. If the occupation rate is too low, 4D will indicate this by a warning icon (which is displayed on the Information button and on the tab of the corresponding file type) and specify that compacting is necessary:![](../assets/en/MSC/MSC_infowarn.png) +Los archivos demasiado fragmentados reducen el rendimiento del disco y, por tanto, de la base. Si la tasa de ocupación es demasiado baja, 4D lo indicará con un icono de advertencia (que aparece en el botón de información y en la pestaña del tipo de archivo correspondiente) y especificará que es necesario compactar:![](../assets/en/MSC/MSC_infowarn.png) También se muestra un icono de advertencia en el botón de la página [Compact](compact.md): ![](../assets/en/MSC/MSC_compactwarn.png) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/MSC/overview.md b/i18n/es/docusaurus-plugin-content-docs/current/MSC/overview.md index 609b05fd450a3c..76266d63a5977d 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/MSC/overview.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/MSC/overview.md @@ -16,18 +16,18 @@ En modo mantenimiento, sólo se muestra la ventana del CSM (el proyecto no es ab Puede abrir el CSM en modo mantenimiento desde dos lugares: -- **From the standard project opening dialog box** - The standard Open dialog includes the **Maintenance Security Center** option from the menu associated with the **Open** button: +- **Desde la ventana de diálogo estándar de apertura del proyecto** + La ventana de diálogo Abrir estándar incluye la opción **Centro de Seguridad de Mantenimiento** en el menú asociado con el botón **Abrir**: ![](../assets/en/MSC/MSC_standardOpen.png) -- **Help/Maintenance Security Center** menu or **MSC** button in the tool bar (project not open)\ +- **menú Ayuda/Mantenimiento Centro de seguridad** o botón **MSC** de la barra de herramientas (proyecto no abierto)\ ![](../assets/en/MSC/mscicon.png)\ - When you call this function, a standard Open file dialog appears so that you can select the _.4DProject_ or _.4dz_ file of the to be examined. El proyecto no será abierto por 4D. + Al llamar a esta función, aparece una caja de diálogo estándar Abrir archivo para que pueda seleccionar el archivo _.4DProject_ o _.4dz_ del que desea examinar. El proyecto no será abierto por 4D. ## Acceso al modo estándar En modo estándar, un proyecto se abre. En este modo, algunas funciones de mantenimiento no están disponibles. Tiene varias posibilidades para acceder a la ventana del CSM: -- Use the **Help/Maintenance Security Center** menu or the **MSC** button in the 4D toolbar:\ +- Utilice el menú **Ayuda/Centro de seguridad y mantenimiento** o el botón **CSM** en la barra de herramientas de 4D:\ ![](../assets/en/MSC/mscicon.png) - Utilizar la acción estándar "Csm" que es posible asociar a un comando de menú o a un objeto de formulario. - Utilice el comando `OPEN SECURITY CENTER`. diff --git a/i18n/es/docusaurus-plugin-content-docs/current/MSC/rollback.md b/i18n/es/docusaurus-plugin-content-docs/current/MSC/rollback.md index 7708a78e05baac..1a3005d7703ed9 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/MSC/rollback.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/MSC/rollback.md @@ -10,7 +10,7 @@ Esta función sólo está disponible cuando la aplicación trabaja con un archiv ![](../assets/en/MSC/MSC_rollback1.png) -> If the database is encrypted and no valid data key corresponding to the open log file has been provided, encrypted values are not displayed in the **Values** column and a dialog requesting the passphrase or the data key is displayed if you click the **Rollback** button. +> Si la base de datos está encriptada y no se ha suministrado una llave de datos válida correspondiente al archivo de registro abierto, los valores encriptados no se muestran en la columna **Valores** y se muestra un diálogo en el que se solicita la frase secreta o la llave de datos si se hace clic en el botón **Retroceso**. El contenido y el funcionamiento de la lista de operaciones es el mismo que el de la ventana [Análisis de actividades](analysis.md). 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 f00460524e8121..39979036966f05 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/Notes/updates.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/Notes/updates.md @@ -5,45 +5,46 @@ title: Notas del lanzamiento ## 4D 20 R7 -Read [**What’s new in 4D 20 R7**](https://blog.4d.com/en-whats-new-in-4d-v20-R7/), the blog post that lists all new features and enhancements in 4D 20 R7. +Lea [**Novedades en 4D 20 R7**](https://blog.4d.com/en-whats-new-in-4d-v20-R7/), la entrada del blog que muestra todas las nuevas funcionalidades y mejoras en 4D 20 R7. -#### Destacados +#### Lo más destacado -- List box columns and headers of type time now support the ["blankIfNull" option](../FormObjects/properties_Display.md#time-format). +- Las columnas de los list box y de los encabezados de tipo hora ahora soportan la opción ["blankIfNull"](../FormObjects/properties_Display.md#time-format). +- Nuevas propiedades en [.getBoxInfo()](../API/IMAPTransporterClass.md#getboxinfo) y [.getBoxList()](../API/IMAPTransporterClass.md#getboxlist). ## 4D 20 R6 Lea [**Novedades en 4D 20 R6**](https://blog.4d.com/en-whats-new-in-4d-20-R6/), la entrada del blog que muestra todas las nuevas funcionalidades y mejoras en 4D 20 R6. -#### Destacados +#### Lo más destacado -- Soporte de operadores de comparación en las [referencias de objeto](../Concepts/dt_object.md#operatodores-en-los-objetos) y las [referencias de colección](../Concepts/dt_collection.md#operadores-en-las-colecciones). [`collection.query()`](../API/CollectionClass.md#query) now supports [object and collection references as query values](../API/CollectionClass.md#object-or-collection-reference-as-value). -- When a component has a [declared namespace](../Extensions/develop-components.md#declaring-the-component-namespace), its classes are now automatically shared between all loaded components in the host project via [`cs.dataClass.query()
or dataClass.all()
). All ORDA functions that handle entity selections support the **context** property (for example [`dataClass.query()`](../API/DataClassClass.md#query) or [`dataClass.all()`](../API/DataClassClass.md#all)). Tenga en cuenta, sin embargo, que un contexto se actualiza automáticamente cuando se utilizan nuevos atributos en otras partes del código. Reutilizar el mismo contexto en diferentes códigos podría sobrecargar el contexto y, por tanto, reducir su eficacia.
+All ORDA functions that handle entity selections support the context property (for example dataClass.query()
or dataClass.all()
). Todas las funciones ORDA que manejan entity selections soportan la propiedad **context** (por ejemplo [`dataClass.query()`](../API/DataClassClass.md#query) o [`dataClass.all()`](../API/DataClassClass.md#all)). Tenga en cuenta, sin embargo, que un contexto se actualiza automáticamente cuando se utilizan nuevos atributos en otras partes del código. Reutilizar el mismo contexto en diferentes códigos podría sobrecargar el contexto y, por tanto, reducir su eficacia.
> Se implementa un mecanismo similar para las entidades que se cargan, de modo que sólo se solicitan los atributos utilizados (ver la función [`dataClass.get()`](../API/DataClassClass.md#get)).
@@ -77,29 +77,29 @@ All ORDA functions that handle entity selections support the co
var $data : Collection
$querysettings:=New object("context";"shortList")
$querysettings2:=New object("context";"longList")
-
+
$sel1:=ds.Employee.query("lastname = S@";$querysettings)
- $data:=extractData($sel1) // In extractData method an optimization is triggered
- // and associated to context "shortList"
-
+ $data:=extractData($sel1) // En el método extractData la optimización asociada
+ // al contexto "shortList" se aplica
+
$sel2:=ds.Employee.query("lastname = Sm@";$querysettings)
- $data:=extractData($sel2) // In extractData method the optimization associated
- // to context "shortList" is applied
-
+ $data:=extractData($sel2) // En el método extractData una optimización
+ // se activa y asocia al contexto "shortList"
+
$sel3:=ds.Employee.query("lastname = Smith";$querysettings2)
- $data:=extractDetailedData($sel3) // In extractDetailedData method an optimization
- // is triggered and associated to context "longList"
-
+ $data:=extractDetailedData($sel3) // En el método extractDetailedData una optimización
+ // se activa y asocia al contexto "longList"
+
$sel4:=ds.Employee.query("lastname = Brown";$querysettings2)
- $data:=extractDetailedData($sel4) // In extractDetailedData method the optimization
- // associated to context "longList" is applied
+ $data:=extractDetailedData($sel4) // En el método extractDetailedData la optimización
+ // asociada al contexto "longList" se aplica
```
### List box basado en una selección de entidades
-Entity selection optimization is automatically applied to entity selection-based list boxes in 4D client/server desktop applications, when displaying and scrolling a list box content: only the attributes displayed in the list box are requested from the server.
+La optimización de entity selection se aplica automáticamente a los list boxes basados en una entity selection en las aplicaciones de escritorio cliente/servidor 4D, al mostrar y desplazar el contenido de un list box: sólo se solicitan al servidor los atributos mostrados en el list box.
-A specific "page mode" context is also provided when loading the current entity through the **Current item** property expression of the list box (see [Collection or entity selection type list boxes](FormObjects/listbox_overview.md#list-box-types)). Esta funcionalidad le permite no sobrecargar el contexto inicial del list box en este caso, especialmente si la "página" solicita atributos adicionales. Tenga en cuenta que sólo el uso de la expresión **Elemento actual** permitirá crear/utilizar el contexto de la página (el acceso a través de `entitySelection\[index]` alterará el contexto de la entity selection).
+También se suministra un contexto específico denominado "modo página" cuando se carga la entidad actual de la selección mediante la expresión de la propiedad **elemento actual** del list box (ver [list box de tipo colección o entity selection](FormObjects/listbox_overview.md#list-box-types)). Esta funcionalidad le permite no sobrecargar el contexto inicial del list box en este caso, especialmente si la "página" solicita atributos adicionales. Tenga en cuenta que sólo el uso de la expresión **Elemento actual** permitirá crear/utilizar el contexto de la página (el acceso a través de `entitySelection\[index]` alterará el contexto de la entity selection).
Las solicitudes posteriores al servidor enviadas por las funciones de navegación de la entidad también admitirán esta optimización. Las siguientes funciones asocian automáticamente el contexto de optimización de la entidad fuente a la entidad devuelta:
@@ -111,9 +111,9 @@ Las solicitudes posteriores al servidor enviadas por las funciones de navegació
Por ejemplo, el siguiente código carga la entidad seleccionada y permite navegar en la selección de entidades. Las entidades se cargan en un contexto separado y el contexto inicial del list box se deja intacto:
```4d
- $myEntity:=Form.currentElement //current item expression
- //... do something
- $myEntity:=$myEntity.next() //loads the next entity using the same context
+ $myEntity:=Form.currentElement //expresión del elemento actual
+ //... hacer algo
+ $myEntity:=$myEntity.next() //carga la siguiente entidad utilizando el mismo contexto
```
### Preconfiguración de contextos
@@ -124,8 +124,8 @@ Si desea entregar aplicaciones finales con el máximo nivel de optimización, pu
1. Diseñe sus algoritmos.
2. Ejecute su aplicación y deje que el mecanismo de aprendizaje automático complete los contextos de optimización.
-3. Call the [`dataStore.getRemoteContextInfo()`](../API/DataStoreClass.md#getremotecontextinfo) or [`dataStore.getAllRemoteContexts()`](../API/DataStoreClass.md#getallremotecontexts) function to collect contexts. You can use the [`entitySelection.getRemoteContextAttributes()`](../API/EntitySelectionClass.md#getremotecontextattributes) and [`entity.getRemoteContextAttributes()`](../API/EntityClass.md#getremotecontextattributes) functions to analyse how your algorithms use attributes.
-4. In the final step, call the [`dataStore.setRemoteContextInfo()`](../API/DataStoreClass.md#setremotecontextinfo) function to build contexts at application startup and [use them](#reusing-the-context-property) in your algorithms.
+3. Call the [`dataStore.getRemoteContextInfo()`](../API/DataStoreClass.md#getremotecontextinfo) or [`dataStore.getAllRemoteContexts()`](../API/DataStoreClass.md#getallremotecontexts) function to collect contexts. Puede utilizar las funciones [`entitySelection.getRemoteContextAttributes()`](../API/EntitySelectionClass.md#getremotecontextattributes) y [`entity.getRemoteContextAttributes()`](../API/EntityClass.md#getremotecontextattributes) para analizar cómo utilizan los atributos sus algoritmos.
+4. En el último paso, llama a la función [`dataStore.setRemoteContextInfo()`](../API/DataStoreClass.md#setremotecontextinfo) para construir contextos al inicio de la aplicación y [utilizarlos](#reutilizando-la-propiedad-context) en sus algoritmos.
## Caché ORDA
@@ -133,6 +133,8 @@ Por razones de optimización, los datos solicitados al servidor a través de ORD
Los datos contenidos en la caché se consideran caducados cuando se alcanza el tiempo de espera. Todo acceso a los datos caducados enviará una petición al servidor. Los datos caducados permanecen en la caché hasta que se necesite el espacio.
+Puede forzar que los datos de la selección de entidades en la caché ORDA expiren en cualquier momento utilizando la función [`refresh()`](../API/EntitySelectionClass.md#refresh).
+
Por defecto, la caché ORDA es manejada de forma transparente por 4D. Sin embargo, puede controlar su contenido utilizando las siguientes funciones de la clase ORDA:
- [dataClass.setRemoteCacheSettings()](../API/DataClassClass.md#setremotecachesettings)
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/ORDA/entities.md b/i18n/es/docusaurus-plugin-content-docs/current/ORDA/entities.md
index dd2a6512735875..3dc4e8c3fe2322 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/ORDA/entities.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/ORDA/entities.md
@@ -36,11 +36,11 @@ Si ejecuta el siguiente código:
```4d
var $e1; $e2 : cs.EmployeeEntity
- $e1:=ds.Employee.get(1) //access the employee with ID 1
+ $e1:=ds.Employee.get(1) //accede al empleado con ID 1
$e2:=$e1
$e1.name:="Hammer"
- //both variables $e1 and $e2 share the reference to the same entity
- //$e2.name contains "Hammer"
+ //ambas variables $e1 y $e2 comparten la referencia a la misma entidad
+ //$e2.name contiene "Hammer"
If($e1=$e2) //True
```
@@ -55,9 +55,9 @@ Ahora, si se ejecuta:
$e1:=ds.Employee.get(1)
$e2:=ds.Employee.get(1)
$e1.name:="Hammer"
- //variable $e1 contains a reference to an entity
- //variable $e2 contains another reference to another entity
- //$e2.name contains "smith"
+ //variable $e1 contiene una referencia a una entidad
+ //variable $e2 contiene otra referencia a otra entidad
+ //$e2.name contiene "smith"
If($e1=$e2) //False
```
@@ -254,7 +254,7 @@ Puede crear y utilizar simultáneamente tantas selecciones de entidades diferent
:::note
-Cuando se eliminan entidades, sus referencias permanecen en la selección de entidades con un valor _undefined_. In this case, you can call the [`.clean()`](API/EntitySelectionClass.md#clean) function to get a new entity selection but without the deleted entity references.
+Cuando se eliminan entidades, sus referencias permanecen en la selección de entidades con un valor _undefined_. En este caso, puede llamar a la función [`.clean()`](API/EntitySelectionClass.md#clean) para obtener una nueva selección de entidades pero sin las referencias de entidades eliminadas.
:::
@@ -267,7 +267,7 @@ Una entity selection puede ser **compartible** (legible por múltiples procesos,
Una entity selection **compartible** tiene las siguientes características:
- puede almacenarse en un objeto compartido o en una colección compartida, y puede pasarse como parámetro entre varios procesos o trabajadores;
-- puede almacenarse en varios objetos o colecciones compartidos, o en un objeto o colección compartido que ya pertenezca a un grupo (no tiene un \* identificador de bloqueo\*);
+- puede almacenarse en varios objetos o colecciones compartidos, o en un objeto o colección compartido que ya pertenezca a un grupo;
- no permite la adición de nuevas entidades. Al intentar añadir una entidad a una entity selection compartibles se producirá un error (1637 - Esta entity selection no puede modificarse). Para añadir una entidad a unaentity selection compartible, primero debe transformarla en una entity selection no compartible utilizando la función [`.copy()`](API/EntitySelectionClass.md#copy), antes de llamar a [`.add()`](API/EntitySelectionClass.md#add).
> La mayoría de las funciones de selección de entidades (como [`.slice()`](API/EntitySelectionClass.md#slice), [`.and()`](API/EntitySelectionClass.md#and)...) soportar selecciones de entidades compartibles ya que no es necesario modificar la selección de entidades original (devuelven una nueva).
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/ORDA/global-stamp.md b/i18n/es/docusaurus-plugin-content-docs/current/ORDA/global-stamp.md
index 33f46eb14f6d9e..df1a6306de2958 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/ORDA/global-stamp.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/ORDA/global-stamp.md
@@ -7,7 +7,7 @@ title: Utilizando el sello global
4D gestiona automáticamente un **sello de modificación global** interno, útil para manejar implementaciones de seguimiento de cambios de datos, por ejemplo para monitorear la actividad, realizar copias de seguridad, ejecutar sincronizaciones incrementales
-El sello de modificación global es un número, siempre mantenido por 4D, incluso en caso de restauración de la base de datos, importación, etc. Note however that the stamp can be modified using the [`.setGlobalStamp()`](../API/DataStoreClass.md#setglobalstamp) function.
+El sello de modificación global es un número, siempre mantenido por 4D, incluso en caso de restauración de la base de datos, importación, etc. Note sin embargo que el sello puede ser modificado por la función [`.setGlobalStamp()`](../API/DataStoreClass.md#setglobalstamp).
Una vez [configurado y habilitado el seguimiento de cambios de datos](#configuring-data-change-tracking), las siguientes acciones son ejecutadas automáticamente por 4D en cada modificación de registro (añadir, modificar, borrar):
@@ -81,17 +81,17 @@ Para desactivar el seguimiento de cambios de datos:
var $oldStamp : Real
var $tableName : Text
var $modifiedEmps : cs.EmployeeSelection
-var $deletedEmpsInfo : cs.__DeletedRecordsSelection
+var $deletedEmpsInfo : cs. _DeletedRecordsSelection
$tableName:="Employee"
-$oldStamp:=... //load the previous stamp value
- //from which you want to compare the current stamp
+$oldStamp:=... ///carga el valor del sello anterior
+ ///desde el cual desea comparar el sello actual
If ($oldStamp # ds.getGlobalStamp())
- //get all new or modified entities
+ //obtener todas las entidades nuevas o modificadas
$modifiedEmps:=ds[$tableName].query("__GlobalStamp > :1"; $oldStamp)
- //get all deleted entities
- $deletedEmpsInfo:=ds.__DeletedRecords.query("__Stamp > :1 and __TableName = :2";\
+ //obtener todas las entidades eliminadas
+ $deletedEmpsInfo:=ds. _DeletedRecords.query("__Sello > :1 y __TableName = :2";\
$oldStamp; $tableName)
End if
```
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 e41074a9fc22d0..d3bb6b8114033c 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 @@ El parámetro _$event_ contiene las siguientes propiedades:
| attributeName | Text | Nombre de atributo calculado |
| dataClassName | Text | Nombre de la clase de datos |
| kind | Text | "get" |
-| result | Variant | Opcional. Añada esta propiedad con valor Null si desea que un atributo escalar devuelva Null |
+| resultado | Variant | Opcional. Añada esta propiedad con valor Null si desea que un atributo escalar devuelva Null |
#### Ejemplos
@@ -449,7 +449,7 @@ El parámetro _$event_ contiene las siguientes propiedades:
| kind | Text | "query" |
| value | Variant | Valor a tratar por el atributo calculado |
| operator | Text | Operador de búsqueda (ver también la [función de clase `query`](API/DataClassClass.md#query)). Valores posibles:For example, when the "Variables (local or interprocess) and object attributes" option is checked, a list of suggestions appears when you type the $ character:
![](../assets/en/Preferences/suggestionsAutoOpen.png)
You can disable this functioning for certain elements of the language by deselecting their corresponding option. | -| Validación de una sugerencia | Sets the entry context that allows the Code Editor to validate automatically the current suggestion displayed in the autocomplete window.For example, when the "Variables (local or interprocess) and object attributes" option is checked, a list of suggestions appears when you type the $ character:
![](../assets/en/Preferences/suggestionsAutoOpen.png)
You can disable this functioning for certain elements of the language by deselecting their corresponding option. | +| Validación de una sugerencia | Establece el contexto de entrada que permite al Editor de Código validar automáticamente la sugerencia actual mostrada en la ventana de autocompletado.Propiedad | Tipo | Descripción |
---|---|---|
creator | text | nombre de la aplicación que creó el documento original a partir del cual se convirtió. |
title | text | título del documento. |
author | text | nombre de la persona que ha creado el documento. |
keywords | text | palabras clave asociadas al documento. |
subject | text | asunto del documento. |
Propiedad | Tipo | Descripción |
---|---|---|
range | object | Objeto rango de celdas |
rowDelimiter | text | Delimitador de fila. Por defecto: "\r\n" |
columnDelimiter | text | Delimitador de columna. Por defecto: "," |
Property | Type | Description |
---|---|---|
includeAutoMergedCells | boolean | whether to include the automatically merged cells, default is false. |
includeBindingSource | boolean | whether to include the binding source, default is true. |
includeCalcModelCache | boolean | whether to include the extra data of calculation. Can be faster when open the file with those data, default is false. |
includeEmptyRegionCells | boolean | whether to include any empty cells (cells with no data or only style) outside the used data range, default is true. |
includeFormulas | boolean | whether to include the formulas, default is true. |
includeStyles | boolean | whether to include the style, default is true. |
includeUnusedNames | boolean | whether to include the unused custom names, default is true. |
saveAsView | boolean | whether to apply the format string to exporting values, default is false. |
Propiedad | Tipo | Descripción |
---|---|---|
creator | text | nombre de la aplicación que creó el documento original a partir del cual se convirtió. |
title | text | título del documento. |
author | text | nombre de la persona que ha creado el documento. |
keywords | text | palabras clave asociadas al documento. |
subject | text | asunto del documento. |
Propiedad | Tipo | Descripción |
---|---|---|
range | object | Objeto rango de celdas |
rowDelimiter | text | Delimitador de fila. Por defecto: "\r\n" |
columnDelimiter | text | Delimitador de columna. Por defecto: "," |
Propiedad | Tipo | Descripción |
---|---|---|
includeAutoMergedCells | boolean | si se deben incluir las celdas fusionadas automáticamente, el valor predeterminado es false. |
includeBindingSource | boolean | si se debe incluir la fuente de datos, el valor predeterminado es true. |
includeCalcModelCache | boolean | si se debe incluir los datos adicionales de cálculo. Can be faster when open the file with those data, default is false. |
includeEmptyRegionCells | boolean | whether to include any empty cells (cells with no data or only style) outside the used data range, default is true. |
includeFormulas | boolean | whether to include the formulas, default is true. |
includeStyles | boolean | whether to include the style, default is true. |
includeUnusedNames | boolean | whether to include the unused custom names, default is true. |
saveAsView | boolean | whether to apply the format string to exporting values, default is false. |
`vk find flag exact match` | The entire content of the cell must completely match the search value |
`vk find flag ignore case` | Capital and lower-case letters are considered the same. Ex: "a" is the same as "A". |
`vk find flag none` | no search flags are considered (default) |
`vk find flag use wild cards` | Wildcard characters (\*,?) puede utilizarse en la cadena de búsqueda. Wildcard characters can be used in any string comparison to match any number of characters: |
$search.flags:=vk find flag use wild cards+vk find flag ignore case
|
-| order | Integer | `vk find order by columns` | La búsqueda se realiza por columnas. Each row of a column is searched before the search continues to the next column. |
`vk find order by rows` | The search is performed by rows. Se busca en cada columna de una linea antes de continuar con la siguiente linea (por defecto) |
`vk find target formula` | The search is performed in the cell formula |
`vk find target tag` | The search is performed in the cell tag |
`vk find target text` | The search is performed in the cell text (default) |
These flags can be combined. Por ejemplo:$search.target:=vk find target formula+vk find target text
`vk find flag exact match` | El contenido completo de la celda debe coincidir completamente con el valor de búsqueda |
`vk find flag ignore case` | Las mayúsculas y minúsculas se consideran iguales. Ej: "a" es igual a "A". |
`vk find flag none` | no se consideran banderas de búsqueda (por defecto) |
`vk find flag use wild cards` | Caracteres comodín (\*,?) puede utilizarse en la cadena de búsqueda. Wildcard characters can be used in any string comparison to match any number of characters: |
$search.flags:=vk find flag use wild cards+vk find flag ignore case
|
+| order | Integer | `vk find order by columns` | La búsqueda se realiza por columnas. Cada fila de una columna se busca antes de que la búsqueda continúe a la siguiente columna. |
`vk find order by rows` | La búsqueda se realiza por filas. Se busca en cada columna de una linea antes de continuar con la siguiente linea (por defecto) |
`vk find target formula` | La búsqueda se realiza en la fórmula de la celda |
`vk find target tag` | La búsqueda se realiza en la etiqueta de la celda |
`vk find target text` | La búsqueda se realiza en el texto de la celda (predeterminado) |
Estas banderas pueden combinarse. Por ejemplo:$search.target:=vk find target formula+vk find target text
Value | Description |
---|---|
`vk clipboard options all` (default) | Pastes all data objects, including values, formatting, and formulas. |
`vk clipboard options formatting` | Pastes only the formatting. |
`vk clipboard options formulas` | Pastes only the formulas. |
`vk clipboard options formulas and formatting` | Pastes the formulas and formatting. |
`vk clipboard options values` | Pastes only the values. |
`vk clipboard options value and formatting` | Pastes the values and formatting. |
Valor | Descripción |
---|---|
`vk clipboard options all` (por defecto) | Pega todos los objetos de datos, incluidos los valores, el formato y las fórmulas. |
`vk clipboard options formatting` | Pega sólo el formato. |
`vk clipboard options formulas` | Pega sólo las fórmulas. |
`vk clipboard options formulas and formatting` | Pega las fórmulas y el formato. |
`vk clipboard options values` | Pega sólo los valores. |
`vk clipboard options value and formatting` | Pega los valores y el formato. |
Please enter your name:
-- +
+
-- - +
+ +
@@ -283,33 +284,33 @@ Las principales características de esta página son: Examinemos el método 4D `WWW_STD_FORM_POST` que se llama cuando el usuario hace clic en uno de los botones del formulario HTML. ```4d - // Retrieval of value of variables + // Recuperación del valor de las variables ARRAY TEXT($arrNames;0) ARRAY TEXT($arrValues;0) WEB GET VARIABLES($arrNames;$arrValues) C_LONGINT($user) - + Case of - - // The Log On button was clicked + + // Se ha presionado el botón Log On :(Find in array($arrNames;"vsbLogOn")#-1) $user :=Find in array($arrNames;"vtUserName") QUERY([WWW Users];[WWW Users]UserName=$arrValues{$user}) $0:=(Records in selection([WWW Users])>0) If($0) WWW POST EVENT("Log On";WWW Log information) - // The WWW POST EVENT method saves the information in a database table + // El método WWW POST EVENT guarda la información en una tabla de la base Else - + $0:=WWW Register - // The WWW Register method lets a new Web user register + // El método WWW Register permite que un nuevo usuario de la Web se registre End if - - // The Register button was clicked + + // Se ha presionado el botón Register :(Find in array($arrNames;"vsbRegister")#-1) $0:=WWW Register - - // The Information button was clicked + + // Se ha presionado el botón de información :(Find in array($arrNames;"vsbInformation")#-1) WEB SEND FILE("userinfos.html") End case @@ -317,7 +318,7 @@ Examinemos el método 4D `WWW_STD_FORM_POST` que se llama cuando el usuario hace Las funcionalidades de este método son: -- The values of the variables _vtNav_appName_, _vtNav_appVersion_, _vtNav_appCodeName_, and _vtNav_userAgent_ (bound to the HTML objects having the same names) are retrieved using the `WEB GET VARIABLES` command from HTML objects created by the _GetBrowserInformation_ JavaScript script. +- Los valores de las variables _vtNav_appName_, _vtNav_appVersion_, _vtNav_appCodeName_, y _vtNav_userAgent_ (vinculados a los objetos HTML que tienen los mismos nombres) se recuperan utilizando el comando `WEB GET VARIABLES` de los objetos HTML creados por el script JavaScript _GetBrowserInformation_. - De las variables vinculadas _vsbLogOn_, _vsbRegister_ y _vsbInformation_ a los tres botones de envío, sólo la correspondiente al botón que se ha presionado será recuperada por el comando `WEB GET VARIABLES`. Cuando el envío se realiza mediante uno de estos botones, el navegador devuelve a 4D el valor del botón presionado. Esto le indica qué botón se ha presionado. Tenga en cuenta que con HTML, todos los objetos son objetos de texto. Si se utiliza un objeto SELECT, es el valor del elemento resaltado en el objeto el que se devuelve en el comando `WEB GET VARIABLES`, y no la posición del elemento en el array como en 4D. `WEB GET VARIABLES` siempre devuelve valores de tipo Texto. @@ -338,6 +339,6 @@ El servidor web de 4D ahora soporta archivos cargados con codificación chunked ## Método proyecto COMPILER_WEB -El método COMPILER\WEB, si existe, es llamado sistemáticamente cuando el servidor HTTP recibe una petición dinámica y llama al motor 4D. This is the case, for example, when the 4D Web server receives a posted form or a URL to process in [`On Web Connection`](#on-web-connection). Este método está destinado a contener directivas de digitación y/o inicialización de variables utilizadas durante los intercambios web. Es utilizado por el compilador cuando se compila la aplicación. El método COMPILER\WEB es común a todos los formularios web. Por defecto, el método COMPILER_WEB no existe. Debe crearlo explícitamente. +El método COMPILER\WEB, si existe, es llamado sistemáticamente cuando el servidor HTTP recibe una petición dinámica y llama al motor 4D. Este es el caso, por ejemplo, cuando el servidor web de 4D recibe un formulario publicado o una URL para procesar en [`On Web Connection`](#on-web-connection). Este método está destinado a contener directivas de digitación y/o inicialización de variables utilizadas durante los intercambios web. Es utilizado por el compilador cuando se compila la aplicación. El método COMPILER\WEB es común a todos los formularios web. Por defecto, el método COMPILER_WEB no existe. Debe crearlo explícitamente. > También se llama al método proyecto COMPILER_WEB, si existe, para cada solicitud SOAP aceptada. 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 a220975bdd9eb8..91b84be73a96dc 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/WebServer/preemptiveWeb.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/WebServer/preemptiveWeb.md @@ -5,7 +5,7 @@ title: Uso de procesos web apropiativos El servidor web de 4D le permite aprovechar al máximo los ordenadores multinúcleo utilizando procesos web apropiativos en sus aplicaciones. Puede configurar su código relacionado con la web, incluyendo las etiquetas 4D, los métodos base Web o las funciones de clase REST de ORDA para que se ejecuten simultáneamente en tantos núcleos como sea posible. -For in-depth information on preemptive process in 4D, please refer to the _Preemptive 4D processes_ section in the [_4D Language Reference_](https://doc.4d.com). +Para obtener información detallada sobre el proceso apropiativo en 4D, por favor consulte la sección [Procesos apropiativos](../Develop/preemptive.md). ## Disponibilidad del modo apropiativo para los procesos web @@ -27,9 +27,9 @@ La siguiente tabla indica si el modo apropiativo se utiliza o está disponible, - Servidor web: maneja las [plantillas web](templates.md), [4DACTION y los métodos base](httpRequests.md) - Servidor de servicios web: gestiona las peticiones SOAP - _**web setting**_ significa que el modo apropiativo depende de un valor de configuración: - - when [**Scalable sessions**](sessions.md#enabling-sessions) option is selected, the [preemptive mode is automatically used](sessions.md#preemptive-mode) for web processes. - - otherwise, the [**Use preemptive processes**](webServerConfig.md#use-preemptive-processes) option is taken into account. - - en lo que respecta a los procesos de servicios web (servidor o cliente), se soporta el modo apropiativo a nivel del método. You just have to select "Can be run in preemptive processes" property for published SOAP server methods (see [Publishing a Web Service with 4D](https://doc.4d.com/4Dv19/4D/19/Publishing-a-Web-Service-with-4D.300-5416868.en.html)) or proxy client methods (see [Subscribing to a Web Service in 4D](https://doc.4d.com/4Dv19/4D/19/Subscribing-to-a-Web-Service-in-4D.300-5416870.en.html)) and make sure they are confirmed thread-safe by the compiler. + - cuando se selecciona la opción de [**sesiones escalables**](sessions.md#enabling-sessions), el [modo apropiativo se utiliza automáticamente](sessions.md#preemptive-mode) para los procesos web. + - en caso contrario, se tendrá en cuenta la opción [**Utilizar procesos apropiativos**](webServerConfig.md#use-preemptive-processes). + - en lo que respecta a los procesos de servicios web (servidor o cliente), se soporta el modo apropiativo a nivel del método. You just have to select "Can be run in preemptive processes" property for published SOAP server methods (see [Publishing a Web Service with 4D](https://doc.4d.com/4Dv20/4D/20.2/Publishing-a-Web-Service-with-4D.300-6750334.en.html)) or proxy client methods (see [Subscribing to a Web Service in 4D](https://doc.4d.com/4Dv20/4D/20.2/Subscribing-to-a-Web-Service-in-4D.300-6750336.en.html)) and make sure they are confirmed thread-safe by the compiler. ## 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 0ca15b5d4a434a..0eaff43a93bc88 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 @@ -11,11 +11,11 @@ Qodly Studio for 4D se encuentra actualmente en la fase **Developer Preview**. N **Qodly Studio** es un creador de interfaces para aplicaciones web. Ofrece a los desarrolladores un editor gráfico de páginas para diseñar aplicaciones que se ejecutan en navegadores web o smartphones. Soporta de forma nativa los [objetos ORDA](../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**. +Puede utilizar Qodly Studio directamente desde su **entorno 4D** para crear interfaces modernas y sofisticadas que puede integrar fácilmente a sus proyectos 4D existentes y desplegar **in situ**. Qodly Studio también puede utilizarse en la [**plataforma Qodly Cloud**](https://qodly.com), dedicada al desarrollo de aplicaciones profesionales web. -With Qodly Studio, you will discover a totally new web UI, get familiar with the concept of Qodly Sources, and learn how to: +Con Qodly Studio, descubrirá una interfaz de usuario web totalmente nueva, se familiarizará con el concepto de fuentes Qodly y aprenderá a: - create Qodly pages by placing components on a canvas - mapear componentes a datos @@ -154,8 +154,8 @@ Los siguientes comandos y clases están dedicados a la gestión del lado del ser - Comando [`Web Form`](../API/WebFormClass.md#web-form): devuelve la página Qodly como un objeto. - Comando [`Web Event`](../API/WebFormClass.md#web-event): devuelve los eventos desencadenados dentro de los componentes de página ´gQodly. -- [`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. +- Clase [`WebForm`](../API/WebFormClass.md): funciones y propiedades para gestionar la página Qodly renderizada. +- clase [`WebFormItem`](../API/WebFormItemClass.md): funciones y propiedades para administrar componentes de página Qodly. ### Uso métodos proyecto @@ -175,7 +175,7 @@ Puede desarrollar con Qodly Studio mientras su ordenador no esté conectado a In ### Activación del renderizado -Qodly Studio encapsulates Qodly pages, including layout, data connections, and event-driven logic, in a structured JSON file. Este archivo JSON es procesado sobre la marcha por el renderizador **Qodly** para servir una página web completamente funcional. +Qodly Studio encapsula las páginas Qodly, incluyendo el diseño, las conexiones de datos y la lógica basada en eventos, en un archivo JSON estructurado. Este archivo JSON es procesado sobre la marcha por el renderizador **Qodly** para servir una página web completamente funcional. :::info @@ -190,13 +190,13 @@ Para habilitar el renderizado de las páginas Qodly, se deben configurar las sig :::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. +[Los botones de renderización](https://developer.qodly.com/docs/studio/rendering#how-to-render-a-webform) no están disponibles si las opciones de configuración no están activas. ::: ### Alcance de los formularios Qodly -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). Ver también [este párrafo](#about-license_usage) sobre los esquemas de URL y el uso de licencias. +Al renderizar formularios Qodly en el Qodly Studio, el renderizador se conectará al servidor web 4D a través de HTTP o HTTPS, dependiendo de la configuración, siguiendo el mismo patrón de conexión HTTP/HTTPS que para el [servidor web WebAdmin 4D] (../Admin/webAdmin.md#accept-http-connections-on-localhost). Ver también [este párrafo](#about-license_usage) sobre los esquemas de URL y el uso de licencias. Tenga en cuenta que Qodly Studio se ejecuta a través del servidor web 4D WebAdmin. Cuando utiliza Qodly Studio como desarrollador, incluso cuando previsualiza una página Qodly en el estudio, está utilizando el servidor web 4D WebAdmin. Esto le permite ver, por ejemplo, clases de datos, funciones y atributos que no están expuestos como recursos REST (aparecen en gris). @@ -222,21 +222,21 @@ https://www.myWebSite.com/$lib/renderer/?w=welcome ## Forzar inicio de sesión -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. +Con Qodly Studio for 4D, el modo ["forzar login"](../REST/authUsers.md#force-login-mode) le permite controlar el número de sesiones web abiertas que requieren licencias 4D Client. También puede [cerrar la sesión](#logout) del usuario en cualquier momento para disminuir el número de licencias retenidas. ### Configuración -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: +Asegúrate de que el [modo "inicio de sesión forzado"](../REST/authUsers.md#force-login-mode) esté habilitado para su aplicación 4D en la [página Roles y privilegios](https://developer.qodly.com/docs/studio/roles/rolesPrivilegesOverview/), usando la opción **Force login**: ![alt-text](../assets/en/WebServer/forcelogin.png) También puede definir esta opción directamente en el archivo [**roles.json**](../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. Una licencia se consumirá solo cuando el usuario esté realmente conectado. +Entonces basta con implementar la función [`authentify()`](../REST/authUsers.md#function-authentify) en la clase datastore y llamarla desde la página Qodly. Una licencia se consumirá solo cuando el usuario esté realmente conectado. :::note Compatibilidad -When the legacy login mode ([deprecated as of 4D 20 R6](https://blog.4d.com/force-login-now-is-the-default-mode-for-all-rest-authentications)) 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. Para más información, consulte [esta entrada de blog](https://blog.4d.com/improved-4d-client-licenses-usage-with-qodly-studio-for-4d) que cuenta la historia completa. +Cuando el modo de inicio de sesión ([obsoleto a partir de 4D 20 R6](https://blog.4d. om/force-login-now-is-the-default-mode-for-all-rest-authentications)) está habilitado, cualquier petición REST, incluyendo la representación de una página de autenticación Qodly, crea una sesión web en el servidor y obtiene una licencia de cliente 4D, cualquiera que sea el resultado real de la autenticación. Para más información, consulte [esta entrada de blog](https://blog.4d.com/improved-4d-client-licenses-usage-with-qodly-studio-for-4d) que cuenta la historia completa. ::: @@ -283,11 +283,11 @@ Al desencadenar la acción de cierre de sesión de una sesión de usuario web, s - la sesión de usuario web actual pierde sus privilegios, sólo se permiten [peticiones REST descriptivas](../REST/authUsers.md#descriptive-rest-requests), - se libera la licencia asociada de 4D, -- the `Session.storage` is kept until the web session inactivity timeout is reached (at least one hour). Durante este periodo tras un cierre de sesión, si el usuario vuelve a iniciar sesión, se utiliza la misma sesión y el objeto compartido `Session.storage` está disponible con su contenido actual. +- el tiempo de espera de 'Session.storage' se mantiene hasta que se alcanza el tiempo de inactividad de la sesión web (al menos una hora). Durante este periodo tras un cierre de sesión, si el usuario vuelve a iniciar sesión, se utiliza la misma sesión y el objeto compartido `Session.storage` está disponible con su contenido actual. ## Acerca del uso de licencias para renderización -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. +En modo predeterminado, cuando se renderiza cualquier página, o en el modo "force login" cuando se renderiza una página que maneja datos o llama a una función, debe tener una licencia disponible, ya que la renderización de los formularios Qodly apunta al servidor web principal de la base de datos del proyecto. ### Esquemas URL @@ -297,6 +297,12 @@ Como se explica en la sección [configuración](#configuration), el servidor web Si ejecuta el renderizador desde Qodly Studio y no se accede a estos dos servidores web a través del mismo esquema de URL (HTTP o HTTPS), es posible que el conteo de licencias sea incorrecto. +:::info + +El uso de diferentes esquemas también puede llevar a problemas de [sesión](sessions.md), como perder [privilegios](../ORDA/privileges.md) después de actualizar la página. + +::: + #### Ejemplo 1. Ejecuta Qodly Studio en un esquema URL HTTPS (por ejemplo, `https://127.0.0.1:7443/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 5b339d15ae5c42..66d0c7d82d08ff 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/WebServer/sessions.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/WebServer/sessions.md @@ -7,7 +7,7 @@ El servidor web de 4D ofrece funciones integradas para la gestión de **sesiones Las sesiones web permiten: -- handle multiple requests simultaneously from the same web client through an unlimited number of preemptive processes (web sessions are **scalable**), +- manejar múltiples peticiones simultáneamente desde el mismo cliente web a través de un número ilimitado de procesos apropiativos (las sesiones web son **escalables**), - gestionar la sesión a través de un objeto `Session` y la [Session API](API/SessionClass.md), - almacenar y compartir datos entre procesos de un cliente web utilizando el [.storage](../API/SessionClass.md#storage) de la sesión, - asociar privilegios al usuario que ejecuta la sesión. @@ -17,7 +17,7 @@ Las sesiones web permiten: Las sesiones web se utilizan 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). +- llamadas a la [REST API](../REST/authUsers.md), que utilizan [datastores remotos](../ORDA/remoteDatastores.md) y [formularios Qodly](qodly-studio.md). ## Habilitando sesiones web @@ -28,7 +28,7 @@ La funcionalidad de gestión de sesiones puede ser activada y desactivada en su Esta opción está seleccionada por defecto en los nuevos proyectos. Sin embargo, se puede desactivar seleccionando la opción **Sin sesiones**, en cuyo caso las funcionalidades de la sesión web se desactivan (no hay ningún objeto `Session` disponible). -- Using the [`.scalableSession`](API/WebServerClass.md#scalablesession) property of the Web Server object (to pass in the _settings_ parameter of the [`.start()`](API/WebServerClass.md#start) function). En este caso, esta configuración anula la opción definida en la caja de diálogo Configuración del objeto Servidor Web (no se almacena en el disco). +- Usando la propiedad [`.scalableSession`](API/WebServerClass.md#scalablesession) del objeto Servidor Web (para pasar el parámetro _settings_ de la función [`.start()`](API/WebServerClass.md#start)). En este caso, esta configuración anula la opción definida en la caja de diálogo Configuración del objeto Servidor Web (no se almacena en el disco). > El comando `WEB SET OPTION` también puede establecer el modo de sesión para el servidor web principal. @@ -61,13 +61,13 @@ La creación de una sesión web para una petición REST puede requerir que una l ::: -The `Session` object of the current session can then be accessed through the [`Session`](API/SessionClass.md#session) command in the code of any web processes. +Se puede acceder al objeto `Session` de la sesión actual a través del comando [`Session`](API/SessionClass.md#session) en el código de todo proceso web. ![alt-text](../assets/en/WebServer/schemaSession.png) :::info -Los procesos web no suelen terminar, sino que se reciclan en un fondo común para ser más eficientes. Cuando un proceso termina de ejecutar una petición, se devuelve al pool y queda disponible para la siguiente petición. Since a web process can be reused by any session, [process variables](Concepts/variables.md#process-variables) must be cleared by your code at the end of its execution (using [`CLEAR VARIABLE`](https://doc.4d.com/4dv20/help/command/en/page89.html) for example). Esta limpieza es necesaria para cualquier información relacionada con el proceso, como una referencia a un archivo abierto. Esta es la razón por la que **se recomienda** utilizar el objeto [Sesión](API/SessionClass.md) cuando se quiera guardar información relacionada con la sesión. +Los procesos web no suelen terminar, sino que se reciclan en un fondo común para ser más eficientes. Cuando un proceso termina de ejecutar una petición, se devuelve al pool y queda disponible para la siguiente petición. Dado que un proceso web puede ser reutilizado por cualquier sesión, las [variables proceso](Concepts/variables.md#variables-de-proceso) deben ser borradas por su código al final de su ejecución (utilizando [`CLEAR VARIABLE`](https://doc.4d.com/4dv20/help/command/en/page89.html) por ejemplo). Esta limpieza es necesaria para cualquier información relacionada con el proceso, como una referencia a un archivo abierto. Esta es la razón por la que **se recomienda** utilizar el objeto [Sesión](API/SessionClass.md) cuando se quiera guardar información relacionada con la sesión. ::: @@ -84,7 +84,7 @@ Una sesión web escalable se cierra cuando: La vida útil de una cookie inactiva es de 60 minutos por defecto, lo que significa que el servidor web cerrará automáticamente las sesiones inactivas después de 60 minutos. -This timeout can be set using the [`.idleTimeout`](API/SessionClass.md#idletimeout) property of the `Session` object (the timeout cannot be less than 60 minutes) or the _connectionInfo_ parameter of the [`Open datastore`](../API/DataStoreClass.md#open-datastore) command. +Este tiempo de espera puede establecerse utilizando la propiedad [`.idleTimeout`](API/SessionClass.md#idletimeout) del objeto `Session` (el tiempo de espera no puede ser inferior a 60 minutos) o el parámetro _connectionInfo_ del comando [`Open datastore`](../API/DataStoreClass.md#open-datastore). Cuando se cierra una sesión web, si después se llama al comando [`Session`](API/SessionClass.md#session): @@ -102,7 +102,7 @@ Puede cerrar una sesión desde un formulario Qodly utilizando la función [**log Los privilegios pueden asociarse a sesiones de usuario web. En el servidor web, puede proporcionar un acceso o unas funcionalidades específicas en función de los privilegios de la sesión. -Puedes asignar privilegios utilizando la función [`.setPrivileges()`](API/SessionClass.md#setprivileges). In your code, you can check the session's privileges to allow or deny access using the [`.hasPrivilege()`](API/SessionClass.md#hasprivilege) function. Por defecto, las sesiones nuevas no tienen ningún privilegio: son sesiones **Invitadas** (la función [`.isGuest()`](API/SessionClass.md#isguest) devuelve true). +Puedes asignar privilegios utilizando la función [`.setPrivileges()`](API/SessionClass.md#setprivileges). En su código, puede comprobar los privilegios de la sesión para permitir o denegar el acceso utilizando la función [`.hasPrivilege()`](API/SessionClass.md#hasprivilege). Por defecto, las sesiones nuevas no tienen ningún privilegio: son sesiones **Invitadas** (la función [`.isGuest()`](API/SessionClass.md#isguest) devuelve true). Ejemplo: @@ -197,4 +197,4 @@ End if ## Ver también (entrada de blog) -[Scalable sessions for advanced web applications](https://blog.4d.com/scalable-sessions-for-advanced-web-applications/) +[Sesiones escalables para aplicaciones web avanzadas](https://blog.4d.com/scalable-sessions-for-advanced-web-applications/) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/WebServer/templates.md b/i18n/es/docusaurus-plugin-content-docs/current/WebServer/templates.md index cc4ab2fd7671d8..e86692415c31df 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/WebServer/templates.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/WebServer/templates.md @@ -82,7 +82,7 @@ Internamente, el analizador funciona con cadenas UTF-16, pero los datos a analiz ## Acceso a los métodos 4D a través de la web -Executing a 4D method with `4DEACH`, `4DELSEIF`, `4DEVAL`, `4DHTML`, `4DIF`, `4DLOOP`, `4DSCRIPT`, or `4DTEXT` from a web request is subject to the [Available through 4D tags and URLs (4DACTION...)](allowProject.md) attribute value defined in the properties of the method. Si no se comprueba el atributo para el método, éste no puede ser llamado desde una petición web. +Ejecutar un método 4D con `4DEACH`, `4DELSEIF`, `4DEVAL`, `4DHTML`, `4DIF`, `4DLOOP`, `4DSCRIPT`, o `4DTEXT` desde una petición web está sujeto al valor del atributo [Disponible a través de etiquetas 4D y URLs (4DACTION...)](allowProject.md) definido en las propiedades del método. Si no se comprueba el atributo para el método, éste no puede ser llamado desde una petición web. ## Prevención de la inserción de códigos maliciosos @@ -90,4 +90,4 @@ Las etiquetas 4D aceptan diferentes tipos de datos como parámetros: texto, vari En este caso, es aconsejable **no utilizar** etiquetas como `4DEVAL` o `4DSCRIPT`, que evalúan parámetros, directamente con este tipo de datos. -In addition, according to the [principle of recursion](../Tags/transformation-tags.md#recursive-processing), malicious code may itself include transformation tags. En este caso, es imprescindible utilizar la etiqueta `4DTEXT`. Imagine, por ejemplo, un campo de formulario web llamado "Name", donde los usuarios deben introducir su nombre. Este nombre se muestra mediante una etiqueta `` en la página. Si se inserta un texto del tipo "\" en lugar del nombre, la interpretación de esta etiqueta provocará la salida de la aplicación. Para evitar este riesgo, basta con utilizar sistemáticamente la etiqueta `4DTEXT` en este caso. Como esta etiqueta escapa a los caracteres especiales de HTML, cualquier código recursivo malicioso que pueda haberse insertado no será reinterpretado. To refer to the previous example, the "Name" field will contain, in this case, "`<!--#4DEVAL QUIT 4D-->`" which will not be transformed. +Además, de acuerdo con el [principio de recursividad](../Tags/transformation-tags.md#recursive-processing), el código malicioso puede incluir etiquetas de transformación. En este caso, es imprescindible utilizar la etiqueta `4DTEXT`. Imagine, por ejemplo, un campo de formulario web llamado "Name", donde los usuarios deben introducir su nombre. Este nombre se muestra mediante una etiqueta `` en la página. Si se inserta un texto del tipo "\" en lugar del nombre, la interpretación de esta etiqueta provocará la salida de la aplicación. Para evitar este riesgo, basta con utilizar sistemáticamente la etiqueta `4DTEXT` en este caso. Como esta etiqueta escapa a los caracteres especiales de HTML, cualquier código recursivo malicioso que pueda haberse insertado no será reinterpretado. Para referirse al ejemplo anterior, el campo "Nombre" contendrá, en este caso, "`<! -#4DEVAL QUIT 4D-->`" que no será transformado. diff --git a/i18n/es/docusaurus-plugin-content-docs/current/WebServer/webServer.md b/i18n/es/docusaurus-plugin-content-docs/current/WebServer/webServer.md index d49cfd0bbdc13e..c724c51ad0d993 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/WebServer/webServer.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/WebServer/webServer.md @@ -22,7 +22,7 @@ La seguridad de los datos está presente en todas las etapas de las implementaci - Soporte extendido del [**Protocolo TLS (HTTPS)**](../Admin/tls.md), -- **Authentication**: flexible and customizable [authentication features](authentication.md) based upon built-it settings as well as fallback database methods ([`On Web Authentication`](authentication.md#on-web-authentication) for the web server and [`On REST Authentication`](../REST/configuration.md#using-the-on-rest-authentication-database-method) for the REST server), +- **Autenticación**: flexible y personalizable [funcionalidades de autenticación](authentication.md) basado en configuraciones creadas así como en métodos base de reserva ([`On Web Authentication`](autentication. d#on-web-authation) para el servidor web y [`On REST Authentication`](../REST/configuration.md#using-the-on-rest-authentication-database-method) para el servidor REST), - **Control de los contenidos expuestos**: sólo los elementos que exponga explícitamente pueden estar disponibles desde peticiones web directaso peticiones REST. Debe declarar: - [Los métodos proyecto](templates.md#allowing-project-methods) expuestos a través de peticiones HTTP diff --git a/i18n/es/docusaurus-plugin-content-docs/current/WebServer/webServerAdmin.md b/i18n/es/docusaurus-plugin-content-docs/current/WebServer/webServerAdmin.md index c45cea60a508ca..e2cc1da067dbe8 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/WebServer/webServerAdmin.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/WebServer/webServerAdmin.md @@ -14,14 +14,14 @@ Un proyecto 4D puede iniciar y monitorizar un servidor web para la aplicación p El servidor web principal de 4D puede iniciarse de diferentes maneras: - Utilizando un botón o comando de menú. - - 4D: **Run\>Start Web Server** menu- The default value (100) can be increased or decreased depending on the resources of the machine hosting the 4D Web Server.
+- **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. Limitar el número de peticiones por conexión le permite evitar la inundación del servidor debido a un gran número de peticiones entrantes (una técnica utilizada por los hackers).+ El valor por defecto (100) puede aumentarse o disminuirse en función de los recursos de la máquina que aloja el Servidor Web 4D.
- **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 transcurrido este periodo, el servidor cierra la conexión.Si el navegador envía una solicitud después de que se haya cerrado 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/current/WebServer/webServerObject.md b/i18n/es/docusaurus-plugin-content-docs/current/WebServer/webServerObject.md index 283b597448d54a..8b4bd86bb577d0 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/WebServer/webServerObject.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/WebServer/webServerObject.md @@ -34,15 +34,15 @@ $nbSrv:=WEB Server list.length //el valor de $nbSrv es 1 ``` -To instantiate a web server object, call the [`WEB Server`](API/WebServerClass.md#web-server) command: +Para instanciar un objeto servidor web, llame al comando [`WEB Server`](API/WebServerClass.md#web-server): ```4d - //create an object variable of the 4D.WebServer class +//crear una variable objeto de la clase 4D.WebServer var webServer : 4D.WebServer - //call the web server from the current context + //llamar al servidor web desde el contexto actual webServer:=WEB Server - //equivalent to + //equivalente a webServer:=WEB Server(Web server database) ``` @@ -55,9 +55,9 @@ también se puede utilizar: ```4d var webServer : 4D.WebServer - //call the host web server from a component + //llamar al servidor web local desde un componente webServer:=WEB Server(Web server host database) - //call the target web server + //llamar al servidor web objetivo webServer:=WEB Server(Web server receiving request) ``` @@ -74,13 +74,13 @@ Para iniciar y detener un servidor web, basta con llamar a las funciones [`start ```4d var $status : Object - //to start a web server with default settings + //para iniciar un servidor web con los parámetros por defecto $status:=webServer.start() - //to start the web server with custom settings + //para iniciar el servidor web con los parámetros personalizados //$settings object contains web server properties webServer.start($settings) - //to stop the web server + //para detener el servidor web $status:=webServer.stop() ``` @@ -95,9 +95,9 @@ Estas propiedades son definidas: 3. si no se utiliza, en los parámetros de la aplicación local o del componente. - Si el servidor web no se inicia, las propiedades contienen los valores que se utilizarán en el próximo inicio del servidor web. -- If the web server is started, the properties contain the actual values used by the web server (default settings could have been overriden by the `settings` parameter of the [`.start()`](API/WebServerClass.md#start) function. +- Si se inicia el servidor web, las propiedades contienen los valores reales utilizados por el servidor web (la configuración predeterminada podría haber sido anulada por el parámetro `settings` de la función [`.start()`](API/WebServerClass.md#start). -> _isRunning_, _name_, _openSSLVersion_, and _perfectForwardSecrecy_ are read-only properties that cannot be predefined in the `settings` object parameter for the [`start()`](API/WebServerClass.md#start) function. +> _isRunning_, _name_, _openSSLVersion_, y _perfectForwardSecrecy_ son propiedades de sólo lectura que no pueden predefinirse en el parámetro del objeto `settings` para la función [`start()`](API/WebServerClass.md#start). ## Alcance de los comandos 4D Web 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 f7a69385705149..661d17140f6d5f 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/WritePro/writeprointerface.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/WritePro/writeprointerface.md @@ -41,7 +41,7 @@ Dependiendo de si el usuario selecciona un modelo o una tabla, puede ver la list En el Asistente para tablas, el usuario también puede definir el número de filas de encabezado y filas adicionales (de 0 a 5 cada una), definir [filas de interrupción](https://doc.4d.com/4Dv20/4D/20/Handling-tables.200-6229469.en.html#6233076) (filas de resumen) encima o debajo de la fila de datos, y elegir mostrar/ocultar [filas de arrastre](https://doc.4d.com/4Dv20/4D/20/Handling-tables.200-6229469.en.html#6236686). -In addition, the user has the possibility to choose the table's behavior when its datasource is empty with the following options: Show data row, Hide date row, Hide table, Show placeholder row. +Además, el usuario tiene la posibilidad de elegir el comportamiento de la tabla cuando su fuente de datos está vacía con las siguientes opciones: Mostrar fila de datos, Ocultar fila de fecha, Ocultar tabla, Mostrar fila de marcador de posición. ##### En pantalla: @@ -70,7 +70,7 @@ El archivo de plantilla permite definir lo siguiente: - la fórmula que devuelve una selección de entidades utilizada como fuente de datos de la tabla, - las fórmulas de ruptura (si se puede insertar una línea de ruptura) - los atributos de la clase de datos que pueden utilizarse como columnas de la tabla, -- the formulas available as contextual menus inside break rows, carry-over row, placeholder row or extra rows. +- las fórmulas disponibles como menús contextuales dentro de las filas de interrupción, fila de arrastre, fila de marcador de posición o filas adicionales. El archivo de plantillas debe ser almacenado en una carpeta "[`Resources`](../Project/architecture.md#resources)/4DWP_Wizard/Templates" dentro de su proyecto. 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 a2a2513f95b80f..c03aed8466c82a 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 @@ -285,7 +285,7 @@ El carácter barra invertida (`\`) tiene un soporte específico en el lenguaje 4 :::caution -El caracter de barra invertida (`\`) se utiliza como separador en [los nombres de ruta en Windows](../Concepts/paths.md#windows). In general, 4D will correctly interpret Windows pathnames entered in the Code Editor by replacing the single backslash with a double backslash. Por ejemplo, `C:\MyDocuments` se convertirá en `C:\\MyDocuments`. Sin embargo, si escribe `"C:\MyDocuments\New"`, 4D mostrará `"C:\\MyDocuments\New"`. En este caso, la segunda barra invertida se interpreta incorrectamente como `\N` (una [secuencia de escape](../Concepts/quick-tour.md#escape-sequences) existente). Por lo tanto, debe introducir una barra invertida doble cuando quiera insertar una barra invertida antes de un caracter que se utiliza en una de las secuencias de escape reconocidas por 4D. +El caracter de barra invertida (`\`) se utiliza como separador en [los nombres de ruta en Windows](../Concepts/paths.md#windows). En general, 4D interpretará correctamente los nombres de ruta de Windows introducidos en el Editor de código sustituyendo la barra invertida simple por una barra invertida doble. Por ejemplo, `C:\MyDocuments` se convertirá en `C:\\MyDocuments`. Sin embargo, si escribe `"C:\MyDocuments\New"`, 4D mostrará `"C:\\MyDocuments\New"`. En este caso, la segunda barra invertida se interpreta incorrectamente como `\N` (una [secuencia de escape](../Concepts/quick-tour.md#escape-sequences) existente). Por lo tanto, debe introducir una barra invertida doble cuando quiera insertar una barra invertida antes de un caracter que se utiliza en una de las secuencias de escape reconocidas por 4D. ::: diff --git a/i18n/es/docusaurus-plugin-content-docs/current/settings/client-server.md b/i18n/es/docusaurus-plugin-content-docs/current/settings/client-server.md index b616f4dae4411b..1ed1e15b8d1022 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/settings/client-server.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/settings/client-server.md @@ -24,7 +24,7 @@ Si modifica este parámetro, deberá reiniciar la base del servidor para que se #### Nombre de publicación -This option lets you change the publication name of a 4D Server database, _i.e._, the name displayed on the dynamic **Available** tab of the connection dialog box (see the [Opening a remote project](../Desktop/clientServer/md#opening-a-remote-project) paragraph). Por defecto, 4D Server utiliza el nombre del archivo de proyecto. Puede introducir cualquier nombre personalizado que desee. +Esta opción permite modificar el nombre de publicación de una base 4D Server, _es decir_, el nombre que aparece en la pestaña dinámica **Disponible** de la caja de diálogo de conexión (ver el párrafo [Apertura de un proyecto remoto](../Desktop/clientServer/md#opening-a-remote-project)). Por defecto, 4D Server utiliza el nombre del archivo de proyecto. Puede introducir cualquier nombre personalizado que desee. :::note @@ -52,16 +52,17 @@ Para actualizar las otras máquinas clientes que no estén conectadas, basta con - **SQL Server**: 19812 por defecto (puede modificarse a través de la página "SQL/Configuración" de las Preferencias). - **Servidor de aplicaciones**: 19813 por defecto (puede modificarse a través de la página "Cliente-Servidor/Configuración" de las Preferencias, ver arriba). - **Servidor DB4D** (servidor de base de datos): 19814 por defecto. This port number cannot be modified directly but it always consists of the application server port number + 1.\ - When a 4D client connects to 4D Server, it uses the TCP port of the application server (19813 or the port indicated after the colon ':' in the IP address shown in the connection dialog box). Connection to other servers via their respective ports is then automatic; it is no longer necessary to specify them.\ - Note that in the case of access via a router or a firewall, the three TCP ports must be opened explicitly. + When a 4D client connects to 4D Server, it uses the TCP port of the application server (19813 or the port indicated after the colon ':' in the IP address shown in the connection dialog box). La conexión a otros servidores a través de sus respectivos puertos es entonces automática; ya no es necesario especificarlos.\ + Tenga en cuenta que en caso de acceso a través de un enrutador o un cortafuegos, los tres puertos TCP deben abrirse explícitamente. +- [**Depurador remoto**](../Debugging/debugging-remote.md): 19815 por defecto. Este número de puerto no puede modificarse directamente, pero siempre consta del número de puerto del servidor de aplicaciones + 2. #### Autenticación del usuario con el servidor de dominio -Esta opción le permite implementar las funcionalidades SSO (_Single Sign On_) en su base de datos 4D Server en Windows. Al marcar esta opción, 4D se conecta de forma transparente al directorio Active del servidor de dominio Windows y obtiene los tokens de autenticación disponibles. This option is described in the [Single Sign On (SSO) on Windows](https://doc.4d.com/4Dv20R5/4D/20-R5/Single-Sign-On-SSO-on-Windows.300-6932709.en.html) section. +Esta opción le permite implementar las funcionalidades SSO (_Single Sign On_) en su base de datos 4D Server en Windows. Al marcar esta opción, 4D se conecta de forma transparente al directorio Active del servidor de dominio Windows y obtiene los tokens de autenticación disponibles. Esta opción se describe en la sección [Single Sign On (SSO) en Windows](https://doc.4d.com/4Dv20R5/4D/20-R5/Single-Sign-On-SSO-on-Windows.300-6932709.en.html). #### Service Principal Name -Cuando la autenticación única (SSO) está activa (ver arriba), debe llenar este campo si desea utilizar Kerberos como protocolo de autenticación. This option is described in the [Single Sign On (SSO) on Windows](https://doc.4d.com/4Dv20R5/4D/20-R5/Single-Sign-On-SSO-on-Windows.300-6932709.en.html) section. +Cuando la autenticación única (SSO) está activa (ver arriba), debe llenar este campo si desea utilizar Kerberos como protocolo de autenticación. Esta opción se describe en la sección [Single Sign On (SSO) en Windows](https://doc.4d.com/4Dv20R5/4D/20-R5/Single-Sign-On-SSO-on-Windows.300-6932709.en.html). #### Capa de red @@ -107,7 +108,7 @@ Esta opción permite activar el modo seguro para las comunicaciones entre la má #### Actualizar la carpeta Resources durante una sesión -This setting can be used to globally set the updating mode for the local instance of the **Resources** folder on the connected 4D machines when the **Resources** folder of the database is modified during the session (the **Resources** folder is automatically synchronized on the remote machine each time a session is opened). Hay tres parámetros disponibles: +Este parámetro puede utilizarse para definir globalmente el modo de actualización de la instancia local de la carpeta **Resources** en los equipos 4D conectados cuando se modifica la carpeta **Resources** de la base de datos durante la sesión (la carpeta **Resources** se sincroniza automáticamente en el equipo remoto cada vez que se abre una sesión). Hay tres parámetros disponibles: - **Nunca**: la carpeta local **Resources** no se actualiza durante la sesión. La notificación enviada por el servidor es ignorada. La carpeta **Resources** local puede actualizarse manualmente mediante el comando **Update Local Resources** del menú de acción (ver [Uso del explorador de recursos](https://doc.4d.com/4Dv19/4D/19/Using-the-Resources-explorer.300-5416788.en.html)). - **Siempre**: la sincronización de la carpeta local **Resources** se realiza automáticamente durante la sesión cada vez que el servidor envía una notificación. diff --git a/i18n/es/docusaurus-plugin-content-docs/current/settings/compatibility.md b/i18n/es/docusaurus-plugin-content-docs/current/settings/compatibility.md index 5bb3bae0a78be9..91cc4480894662 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/settings/compatibility.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/settings/compatibility.md @@ -6,7 +6,7 @@ title: Página de compatibilidad La página Compatibilidad agrupa los parámetros relacionados con el mantenimiento de la compatibilidad con versiones anteriores de 4D. > El número de opciones mostradas depende de la versión de 4D con la que se creó la base de datos/proyecto original, así como de los ajustes modificados en esta base de datos/proyecto.\ -> Esta página enumera las opciones de compatibilidad disponibles para las bases de datos/proyectos convertidos a partir de 4D v18. Para las opciones de compatibilidad más antiguas, consulte la [página Compatibilidad](https://doc.4d.com/4Dv19R3/4D/19-R3/Compatibility-page.300-5612610.en.html) en **doc.4d.com**. +> Esta página enumera las opciones de compatibilidad disponibles para las bases de datos/proyectos convertidos a partir de 4D v18. Para las opciones de compatibilidad más antiguas, consulte la [página Compatibilidad](https://doc.4d.com/4Dv20/4D/20.2/Compatibility-page.300-6750362.en.html) en **doc.4d.com**. - **Utilizar la capa de red heredada**: a partir de 4D v15, las aplicaciones 4D proponen una nueva capa red, llamada _ServerNet_, para manejar las comunicaciones entre 4D Server y las máquinas 4D remotas (clientes). La antigua capa de red ha quedado obsoleta, pero se mantiene para garantizar la compatibilidad con las bases existentes. Utilizando esta opción, puede activar la antigua capa de red en cualquier momento en sus aplicaciones 4D Server dependiendo de sus necesidades. _ServerNet_ se utiliza automáticamente para las nuevas bases y las bases convertidas a partir de una versión v15 o posterior. Tenga en cuenta que, en caso de modificación, deberá reiniciar la aplicación para que se tenga en cuenta el cambio. Toda aplicación cliente que estuviera conectada también debe reiniciarse para poder conectarse con la nueva capa de red. **Nota**: esta opción también puede gestionarse por programación utilizando el comando `SET DATABASE PARAMETER`. @@ -27,4 +27,4 @@ La página Compatibilidad agrupa los parámetros relacionados con el mantenimien - **Impresión sin bloqueo**: a partir de 4D v20 R4, cada proceso tiene sus propias configuraciones de impresión (opciones de impresión, impresora actual, etc.), lo que le permite ejecutar múltiples trabajos de impresión simultáneamente. Marque esta opción si desea beneficiarse de esta nueva implementación en sus proyectos 4D convertidos o bases de datos convertidas de modo binario a modo proyecto. **Si se deja sin marcar**, se aplica la implementación anterior: la configuración actual de impresión 4D se aplica globalmente, la impresora se pone en modo "ocupado" cuando hay un trabajo de impresión en marcha, se debe llamar a `CLOSE PRINTING JOB` para que la impresora esté disponible para el siguiente trabajo de impresión (consulte la documentación anterior de 4D para más información). -- **Save structure color and coordinates in separate catalog_editor.json file**: Starting with 4D v20 R5, changes made in the Structure editor regarding graphical appearance of tables and fields (color, position, order...) se guardan en un archivo independiente llamado `catalog_editor.json`, almacenado en la carpeta [Sources] del proyecto(../Project/architecture.md#sources). Esta nueva arquitectura de archivos facilita la gestión de conflictos en aplicaciones VCS, ya que el archivo `catalog.4DCatalog` ahora contiene sólo cambios cruciales en la estructura de la base de datos. Por razones de compatibilidad, esta funcionalidad no está habilitada por defecto en proyectos convertidos de versiones anteriores de 4D, necesita marcar esta opción. Cuando la función está habilitada, el archivo `catalog_editor.json` se crea en la primera modificación en el editor de estructuras. +- **Guardar el color y las coordenadas de la estructura en un archivo catalog_editor.json separado**: a partir de 4D v20 R5, cambios realizados en el editor de estructura en relación a la apariencia gráfica de tablas y campos (color, posición, orden...) se guardan en un archivo independiente llamado `catalog_editor.json`, almacenado en la carpeta [Sources] del proyecto(../Project/architecture.md#sources). Esta nueva arquitectura de archivos facilita la gestión de conflictos en aplicaciones VCS, ya que el archivo `catalog.4DCatalog` ahora contiene sólo cambios cruciales en la estructura de la base de datos. Por razones de compatibilidad, esta funcionalidad no está habilitada por defecto en proyectos convertidos de versiones anteriores de 4D, necesita marcar esta opción. Cuando la función está habilitada, el archivo `catalog_editor.json` se crea en la primera modificación en el editor de estructuras. diff --git a/i18n/es/docusaurus-plugin-content-docs/current/settings/database.md b/i18n/es/docusaurus-plugin-content-docs/current/settings/database.md index 03a8dc9a796286..5148b060364464 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/settings/database.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/settings/database.md @@ -35,7 +35,7 @@ Se ofrecen tres opciones de ubicación: - **Carpeta de archivos de datos** (opción por defecto): cuando se selecciona esta opción, los archivos temporales 4D se crean en una carpeta llamada "archivos temporales" situada en el mismo nivel que el archivo de datos de la base de datos. - **Definido por el usuario**: esta opción se utiliza para definir una ubicación personalizada. Si se modifica la opción de ubicación, será necesario reiniciar la base para que se tenga en cuenta la nueva opción. 4D verifica si se puede acceder a la carpeta seleccionada mediante escritura. Si no es así, la aplicación prueba otras opciones hasta encontrar una carpeta válida. -> This option is stored in the "extra properties" of the structure that is available when the structure definition is exported in XML (see [Exporting and importing structure definitions](https://doc.4d.com/4Dv19/4D/19/Exporting-and-importing-structure-definitions.300-5416829.en.html)). +> Esta opción se almacena en las "propiedades adicionales" de la estructura, accesibles durante la exportación XML de la definición de estructura (ver [Exportar e importar las definiciones de estructura](https://doc.4d.com/4Dv19/4D/19/Exporting-and-importing-structure-definitions.300-5416829.en.html)). ### Comparación de texto @@ -85,16 +85,16 @@ Utilice los parámetros de esta pestaña para configurar la memoria caché de la - **Cálculo de la caché adaptable**: cuando esta opción está marcada, la gestión de la memoria caché es realizada dinámicamente por el sistema, respetando los límites que defina. Esto permite configurar una memoria caché de alto rendimiento adaptada a la mayoría de las configuraciones. A continuación, el tamaño de la memoria caché se calcula dinámicamente en función de los parámetros definidos. Los valores ofrecidos por defecto corresponden al uso estándar de 4D. - **Memoria a reservar para el sistema y las otras aplicaciones**: parte de la memoria RAM a reservar para el Sistema y las otras aplicaciones. Este valor aumenta para la optimización cuando otras aplicaciones se ejecutan en la misma máquina que 4D. - - **Percentage of available memory used for cache**: Percentage of the remaining memory allocated to the cache by default.\ - To obtain the size allocated by default to the cache, simply perform the following calculation: (Physical memory -- Physical memory to be reserved) X Percentage of the memory used for the cache. En el modo adaptativo, el tamaño de la memoria caché varía dinámicamente en función de las necesidades de la aplicación y del sistema. Puede definir los límites utilizando las siguientes dos opciones: + - **Porcentaje de memoria disponible utilizada para la caché**: porcentaje de la memoria restante asignada por defecto a la caché.\ + Para obtener el tamaño asignado por defecto a la caché, basta con realizar el siguiente cálculo: (Memoria física -- Memoria física a reservar) X Porcentaje de la memoria utilizada para la caché. En el modo adaptativo, el tamaño de la memoria caché varía dinámicamente en función de las necesidades de la aplicación y del sistema. Puede definir los límites utilizando las siguientes dos opciones: - **Tamaño mínimo**: cantidad mínima de memoria que debe reservarse para la caché. Este valor no puede ser inferior a 100 MB. - - **Tamaño máximo**: cantidad máxima de memoria que puede utilizar la caché. This value is virtually unlimited.\\ - Setting limits is particularly useful for databases that are distributed on machines for which you do not know the memory configuration a priori. En este caso, los límites definidos permiten garantizar un rendimiento mínimo en todos los casos. El siguiente diagrama ilustra este comportamiento: + - **Tamaño máximo**: cantidad máxima de memoria que puede utilizar la caché. Este valor es prácticamente ilimitado.\\ + Definir límites es especialmente útil para bases distribuidas en máquinas de las que no se conoce a priori la configuración de memoria. En este caso, los límites definidos permiten garantizar un rendimiento mínimo en todos los casos. El siguiente diagrama ilustra este comportamiento: - Example for calculating cache memory: - _Physical memory to reserve = 256 MB - Percentage of the available memory used for the cache = 50% - Maximum size = 1 GB Minimum size = 128 MB_ + Ejemplo de cálculo de la memoria caché: + _Memoria física a reservar = 256 MB + Porcentaje de la memoria disponible utilizado para la caché = 50% + Tamaño máximo = 1 GB Tamaño mínimo = 128 MB_ ![](../assets/en/settings/memory-maximum-size.png) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/settings/interface.md b/i18n/es/docusaurus-plugin-content-docs/current/settings/interface.md index 44122afac7492f..402a12b8ff601e 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/settings/interface.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/settings/interface.md @@ -17,7 +17,7 @@ Haga clic en **Seleccionar...** para definir la fuente y el tamaño de los carac La fuente y el tamaño de la fuente por defecto dependen de la plataforma de ejecución de 4D. -> This property also affects the following parts of 4D:**Nota**: cuando se selecciona un objeto de tipo Texto o Área de Grupo, al presionar la tecla **Intro** se pasa al modo de edición.
| | ![](../assets/en/FormEditor/zOrder.png) | [Orden de entrada](#data-entry-order) | Pasa al modo "Orden de entrada", donde es posible ver y cambiar el orden de entrada actual del formulario. Tenga en cuenta que las marcas permiten ver el orden de entrada actual, sin dejar de trabajar en el formulario. | | ![](../assets/en/FormEditor/moving.png) | [Desplazamiento](#moving-objects) | Pasa al modo " Desplazamiento ", en el que es posible llegar rápidamente a cualquier parte del formulario utilizando la función de arrastrar y soltar en la ventana. El cursor toma la forma de una mano. Este modo de navegación es especialmente útil cuando se hace zoom en el formulario. | | ![](../assets/en/FormEditor/zoom.png) | [Zoom](#zoom) | Permite modificar la escala de visualización del formulario (100% por defecto). Puede pasar al modo "Zoom" haciendo clic en la lupa o pulsando directamente en la barra correspondiente a la escala deseada. Esta función se detalla en la sección anterior. | -| ![](../assets/en/FormEditor/alignment.png) | [Alignement](#aligning-objects) | Este botón está asociado a un menú que permite alinear los objetos en el formulario. It is enabled (or not) depending on the objects selected. Available only with CSS Preview None | -| ![](../assets/en/FormEditor/distribution.png) | [Distribución](#distributing-objects) | Este botón está asociado a un menú que permite repartir los objetos en el formulario. It is enabled (or not) depending on the objects selected. Available only with CSS Preview None | +| ![](../assets/en/FormEditor/alignment.png) | [Alignement](#aligning-objects) | Este botón está asociado a un menú que permite alinear los objetos en el formulario. It is enabled (or not) depending on the objects selected.![](../assets/en/FormEditor/selection.png)
+ +Cuando se mueve el puntero en el área del formulario, se convierte en un puntero estándar con forma de flecha
. + +2. Haga clic en el objeto que desea seleccionar. Las manillas de redimensionamiento identifican el objeto seleccionado.![](../assets/en/FormEditor/selectResize.png)
Para seleccionar un objeto utilizando la Lista de propiedades: -1. Choose the object’s name from the Object List drop-down list located at the top of the Property List. Using these two methods, you can select an object that is hidden by other objects or located outside the visible area of the current window. Para deseleccionar un objeto, haga clic fuera del límite del objeto o **Mayúsculas+clic** en el objeto. +1. Seleccione el nombre del objeto en la lista desplegable de objetos situada en la parte superior de la lista de propiedades. Con estos dos métodos, puede seleccionar un objeto que esté oculto por otros objetos o que se encuentre fuera del área visible de la ventana actual. Para deseleccionar un objeto, haga clic fuera del límite del objeto o **Mayúsculas+clic** en el objeto. > > It is also possible to select objects by double-clicking them in the result window of ""Find in design" operation. ### Selección de múltiples objetos @@ -189,9 +193,9 @@ La caja de diálogo "Duplicar muchos" aparece cuando se selecciona uno o más ob ![](../assets/en/FormEditor/duplcateMany.png) -- In the upper area, enter the number of columns and lines (rows) of objects you want to get. For example, if you want three columns and two lines of objects, enter 3 in the Column(s) area and 2 in the Line(s) area. Si desea tres nuevas copias horizontales de un objeto, introduzca 4 en el área Columna(s) y deje el valor por defecto, 1, en el área Línea(s). +- En el área superior, introduzca el número de columnas y líneas de objetos que desea obtener. Por ejemplo, si desea tres columnas y dos líneas de objetos, introduzca 3 en el área Columna(s) y 2 en el área Línea(s). Si desea tres nuevas copias horizontales de un objeto, introduzca 4 en el área Columna(s) y deje el valor por defecto, 1, en el área Línea(s). -- Para líneas y columnas, defina el desfase que desea dejar entre cada copia.El valor debe expresarse en puntos. It will be applied to each copy, or copies, in relation to the original object. For example, if you want to leave a vertical offset of 20 points between each object and the height of the source object is 50 points, enter 70 in the column’s “Offset” area. +- Para las líneas y columnas, defina el desplazamiento que desea aplicar a cada copia. El valor debe expresarse en puntos. It will be applied to each copy, or copies, in relation to the original object. For example, if you want to leave a vertical offset of 20 points between each object and the height of the source object is 50 points, enter 70 in the column’s “Offset” area. - Si desea crear una matriz de variables, seleccione la opción **Numerar las variables** y seleccione la dirección en la que se van a numerar las variables, ya sea por línea(s) o por columna(s). Esta opción sólo se activa cuando el objeto seleccionado es una variable. Para más información sobre esta opción, consulte **Duplicar en una matriz** en el *Manual de diseño*. @@ -231,12 +235,13 @@ La agrupación sólo afecta a los objetos en el editor de formularios. Cuando se Para agrupar los objetos: 1. Seleccione los objetos que desea agrupar. -2. Choose **Group** from the Object menu. OR Click the Group button in the toolbar of the Form editor:![](../assets/en/FormEditor/group.png) 4D marks the boundary of the newly grouped objects with handles. No hay marcas que delimiten ninguno de los objetos individuales del grupo. Ahora, al modificar el objeto agrupado, se modifican todos los objetos que componen el grupo. +2. Elija **Agrupar** en el menú Objetos. OR Click the Group button in the toolbar of the Form editor:![](../assets/en/FormEditor/group.png)
+4D marca el límite de los objetos recién agrupados con marcas. No hay marcas que delimiten ninguno de los objetos individuales del grupo. Ahora, al modificar el objeto agrupado, se modifican todos los objetos que componen el grupo. Para desagrupar un grupo de objetos: 1. Seleccione el grupo de objetos que desea desagrupar. -2. Choose **Ungroup** from the **Object** menu. ORClick the **Ungroup** button (variant of the **Group** button) in the toolbar of the Form editor.If **Ungroup** is dimmed, this means that the selected object is already separated into its simplest form.4D marks the boundaries of the individual objects with handles. +2. Elija **Desagrupar** en el menú **Objetos**.O
Haga clic en el botón **Desagrupar** (menú del botón **Agrupar**) de la barra de herramientas del editor de formularios.
Si **Desagrupar** está atenuado, significa que el objeto seleccionado ya está separado en su forma más simple.
4D marca los bordes de los objetos individuales con marcas. ### Alinear objetos @@ -263,9 +268,9 @@ El Asistente de Alineación permite realizar cualquier tipo de alineación y/o d Para mostrar esta caja de diálogo, seleccione los objetos que desee alinear y, a continuación, elija el comando **Alineación** del submenú **Alinear** del menú **Objeto** o del menú contextual del editor. -- En las áreas "Alineación izquierda/derecha" y/o "Alineación superior/inferior", haga clic en el icono que corresponda a la alineación que desee realizar. El área de ejemplo muestra los resultados de su selección. +- En las áreas "Alineación izquierda/derecha" y/o "Alineación superior/inferior", haga clic en el icono que corresponde a la alineación que desea realizar.El área de ejemplo muestra los resultados de su selección.
-- Para realizar una alineación que utilice el esquema de anclaje estándar, haga clic en **Vista previa** o **Aplicar**. En este caso 4D utiliza el objeto que está más lejos en la dirección de la alineación como ancla y alinea los otros objetos a ese objeto. For instance, if you want to perform a right alignment on a set of objects, the rightmost object will be used as the anchor. OR:To align objects to a specific object, select the **Align on** option and select the object to which you want the other objects to be aligned from the object list. En este caso, la posición del objeto de referencia no se alterará. +- Para realizar una alineación que utilice el esquema de anclaje estándar, haga clic en **Ver** o **Aplicar**. En este caso, 4D utiliza el objeto que está más lejos en la dirección de la alineación como ancla y alinea los otros objetos a ese objeto. Por ejemplo, si quiere realizar una alineación a la derecha en un conjunto de objetos, el objeto más a la derecha se utilizará como ancla. For instance, if you want to perform a right alignment on a set of objects, the rightmost object will be used as the anchor.Para alinear los objetos a un objeto específico, seleccione la opción **Alinear en** y seleccione el objeto al que desea que se alineen los demás objetos de la lista de objetos. En este caso, la posición del objeto de referencia no se alterará.
Puede previsualizar los resultados de la alineación haciendo clic en el botón **Previsualización**. Los objetos se alinean entonces en el editor de formularios, pero como la caja de diálogo permanece en el primer plano, aún puede cancelar o aplicar la alineación. > Esta caja de diálogo le permite alinear y distribuir objetos en una sola operación. Para más información sobre cómo distribuir objetos, consulte [Repartir objetos](#distribuir-objetos). @@ -299,17 +304,17 @@ Para repartir los objetos con igual espacio: 1. Seleccione tres o más objetos y haga clic en la herramienta Distribuir correspondiente. -2. En la barra de herramientas, haga clic en la herramienta de distribución correspondiente a la distribución que desea aplicar.![](../assets/en/FormEditor/distributionTool.png)OSeleccione un comando de menú de distribución en el submenú **Alinear** del menú **Objeto** o en el menú contextual del editor. 4D distribuye los objetos en consecuencia. Los objetos se distribuyen utilizando la distancia a sus centros y se utiliza como referencia la mayor distancia entre dos objetos consecutivos. +2. En la barra de herramientas, haga clic en la herramienta de distribución que corresponde a la distribución que desea aplicar.![](../assets/en/FormEditor/distributionTool.png)
OSeleccione un comando del menú de distribución en el submenú **Alinear** del menú **Objeto** o en el menú contextual del 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: 1. Seleccione los objetos que desea distribuir. -2. Seleccione el comando **Alineación** en el submenú **Alinear** del menú **Objeto** o en el menú contextual del editor. Aparecerá el siguiente diálogo:![](../assets/en/FormEditor/alignmentAssistant.png) +2. Seleccione el comando **Alineación** del submenú **Alinear** del menú **Objeto** o del menú contextual del editor. Aparece la siguiente caja de diálogo:![](../assets/en/FormEditor/alignmentAssistant.png) -3. En las áreas Alineación izquierda/derecha y/o Alineación superior/inferior, haga clic en el icono de distribución estándar: ![](../assets/en/FormEditor/horizontalDistribution.png)(Icono de distribución horizontal estándar) El área de ejemplo muestra los resultados de su selección. +3. En las áreas Alineación izquierda/derecha y/o Alineación superior/inferior, haga clic en el icono de distribución estándar: ![](../assets/en/FormEditor/horizontalDistribution.png)(Icono de distribución horizontal estándar)
El área de ejemplo muestra los resultados de su selección. -4. To perform a distribution that uses the standard scheme, click **Preview** or *Apply*.In this case 4D will perform a standard distribution, so that the objects are set out with an equal amount of space between them. OR:To execute a specific distribution, select the **Distribute** option (for example if you want to distribute the objects based on the distance to their right side). Esta opción actúa como un interruptor. Si la casilla de selección Distribuir está seleccionada, los iconos situados debajo de ella realizan una función diferente: +4. Para efectuar una repartición estándar que utilice el esquema estándar, haga clic en **Previsualización** o *Aplicar*.En este caso, 4D realizará una distribución estándar, de modo que los objetos se dispongan con la misma cantidad de espacio entre ellos.
For instance, if you want to perform a right alignment on a set of objects, the rightmost object will be used as the anchor.Para efectuar una distribución específica, seleccione la opción **Distribuir** (por ejemplo, si desea distribuir los objetos en función de la distancia a su lado derecho). Esta opción actúa como un interruptor. Si la casilla de selección Distribuir está seleccionada, los iconos situados debajo de ella realizan una función diferente:
- Horizontalmente, los iconos corresponden a las siguientes distribuciones: uniformemente con respecto a los lados izquierdo, central (hor.) y derecho de los objetos seleccionados. - Verticalmente, los iconos corresponden a las siguientes distribuciones: uniformemente con respecto a los bordes superiores, centros (vert.) y bordes inferiores de los objetos seleccionados. @@ -362,13 +367,15 @@ Este párrafo describe la visualización y la modificación del orden de entrada Para ver o cambiar el orden de entrada: -1. Choose **Entry Order** from the **Form** menu or click on the Entry Order button in the toolbar of the window:![](../assets/en/FormEditor/zOrder.png)The pointer turns into an entry order pointer and 4D draws a line in the form showing the order in which it selects objects during data entry. Viewing and changing the data entry order are the only actions you can perform until you click any tool in the Tools palette. +1. Seleccione **Orden de entrada** en el menú **Formulario** o haga clic en el botón Orden de entrada en la barra de herramientas de la ventana:![](../assets/en/FormEditor/zOrder.png)
+ + El puntero se convierte en un puntero de orden de entrada y 4D dibuja una línea en el formulario mostrando el orden en que selecciona los objetos durante la entrada de datos. Ver y cambiar el orden de entrada de datos son las únicas acciones que puede realizar hasta que haga clic en cualquier herramienta de la paleta Herramientas. -2. Para cambiar el orden de entrada de datos, ubique el puntero sobre un objeto del formulario y mientras mantiene presionado el botón del ratón, arrastre el puntero hasta el objeto que desee a continuación en el orden de entrada de datos.![](../assets/en/FormEditor/entryOrder3.png)4D ajustará el orden de entrada en consecuencia. +2. Para cambiar el orden de entrada de datos, sitúe el puntero sobre un objeto del formulario y, mientras mantiene presionado el botón del ratón, arrastre el puntero hasta el objeto que desee que siga en el orden de entrada de datos.![](../assets/en/FormEditor/entryOrder3.png)
4D ajustará la orden de entrada en consecuencia. 3. Repita el paso 2 tantas veces como sea necesario para establecer el orden de entrada de datos que desee. -4. Cuando esté satisfecho con el orden de entrada de datos, haga clic en cualquier herramienta no seleccionada de la barra de herramientas o elija **Orden de entrada** en el menú **Formulario**. 4D vuelve al funcionamiento normal del editor de formularios. +4. Cuando esté satisfecho con el orden de entrada de datos, haga clic en cualquier herramienta no seleccionada de la barra de herramientas o elija **Orden de entrada** en el menú **Formulario**. 4D vuelve al modo de funcionamiento normal del editor de formularios. > Sólo se muestra el orden de entrada de la página actual del formulario. Si el formulario contiene objetos editables en la página 0 o procedentes de un formulario heredado, el orden de entrada por defecto es el siguiente: objetos de la página 0 del formulario heredado > objetos de la página 1 del formulario heredado > objetos de la página 0 del formulario abierto > objetos de la página actual del formulario abierto. @@ -492,6 +499,26 @@ El list box final: ![](../assets/en/FormEditor/listboxBuilderListbox.png) + +## Insertar campos + +El botón **Insertar campos** inserta en el formulario todos los campos (excepto los de tipo objeto y blob) de la tabla del formulario, junto con sus etiquetas y respetando las normas de la interfaz. Este asistente es un atajo para diseñar formularios de entrada básicos o formularios listados. + +El botón **Insertar campos** sólo está disponible con formularios tabla. + +El diseño del formulario resultante depende del tipo de formulario: + +- **Formulario detallado**: al hacer clic en el botón **Insertar campos** se genera un formulario con un diseño de página: + +![](../assets/en/FormEditor/insertFields2.png) + +- **Formulario listado**: al hacer clic en el botón **Insertar campos** se genera un diseño de formulario listado con campos organizados en una sola línea y marcadores de área: + +![](../assets/en/FormEditor/insertFields3.png) + + + + ## Marcas El editor de formularios 4D utiliza marcas para facilitar la visualización de las propiedades de los objetos. Puede encontrarlos en la barra de herramientas del formulario: @@ -576,6 +603,7 @@ Aquí hay algunas cosas importantes que hay que saber antes de empezar a trabaja #### Crear vistas + Todo objeto creado en un formulario se coloca en la primera vista ("Vista 1") del formulario. La primera vista es **siempre** la vista por defecto, indicada por (por defecto) después del nombre. El nombre de la vista puede cambiarse (ver [Renombrar vistas](#renaming-views)), sin embargo sigue siendo la vista por defecto. ![](../assets/en/FormEditor/createView.png) diff --git a/i18n/es/docusaurus-plugin-content-docs/version-19/FormEditor/pictures.md b/i18n/es/docusaurus-plugin-content-docs/version-19/FormEditor/pictures.md index ca131ac42b5025..a2b11aa570d758 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-19/FormEditor/pictures.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-19/FormEditor/pictures.md @@ -29,7 +29,7 @@ Este icono indica que la imagen no puede ser visualizada o manipulada localmente 4D soporta imágenes de alta resolución tanto en plataformas macOS como Windows. Las imágenes de alta resolución pueden definirse por el factor de escala o dpi. -### Factor de escala (sólo para macOS) +### Factor de escala Las pantallas de alta resolución tienen una mayor densidad de píxeles que las pantallas estándar tradicionales. Para que las imágenes se muestren correctamente en pantallas de alta resolución, el número de píxeles de la imagen debe multiplicarse por el *factor de escala* (*es decir*, dos veces más grande, tres veces más grande, etc.). @@ -49,17 +49,17 @@ Las imágenes de alta resolución con la convención @nx pueden utilizarse en lo * [Encabezados de list box](FormObjects/listbox_overview.md#list-box-headers) * [Iconos del menú](Menus/properties.md#item-icon) -4D prioriza automáticamente las imágenes con mayor resolución. 4D automatically prioritizes pictures with the highest resolution. Incluso si un comando o propiedad especifica *circle.png*, se utilizará *circle@3x.png* (si existe). +4D prioriza automáticamente las imágenes con mayor resolución. 4D prioriza automáticamente las imágenes con mayor resolución. Incluso si un comando o propiedad especifica *circle.png*, se utilizará *circle@3x.png* (si existe). > Tenga en cuenta que la priorización de la resolución sólo se produce para la visualización de imágenes en pantalla, no se realiza una priorización automática al imprimir. -### DPI (macOS y Windows) +### DPI Aunque 4D prioriza automáticamente la resolución más alta, existen, sin embargo, algunas diferencias de comportamiento en función de los ppp de la pantalla y de la imagen*(\*)*, y del formato de la imagen: | Operación | Comportamiento | | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------ | | Soltar o pegar | Si la imagen tiene:Please enter your name:
- - ++
- - - ++ +
@@ -341,6 +354,7 @@ Las funcionalidades de este método son: Tenga en cuenta que con HTML, todos los objetos son objetos de texto. Si se utiliza un objeto SELECT, es el valor del elemento resaltado en el objeto el que se devuelve en el comando `WEB GET VARIABLES`, y no la posición del elemento en el array como en 4D. `WEB GET VARIABLES` siempre devuelve valores de tipo Texto. + ## Otros comandos del servidor web El servidor web de 4D ofrece varios comandos web de bajo nivel que le permiten desarrollar un procesamiento personalizado de las solicitudes: diff --git a/i18n/es/docusaurus-plugin-content-docs/version-19/assets/en/FormEditor/insertFields.png b/i18n/es/docusaurus-plugin-content-docs/version-19/assets/en/FormEditor/insertFields.png new file mode 100644 index 00000000000000..a99c20fdf1925b Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/version-19/assets/en/FormEditor/insertFields.png differ diff --git a/i18n/es/docusaurus-plugin-content-docs/version-19/assets/en/FormEditor/insertFields2.png b/i18n/es/docusaurus-plugin-content-docs/version-19/assets/en/FormEditor/insertFields2.png new file mode 100644 index 00000000000000..75ad05688f4942 Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/version-19/assets/en/FormEditor/insertFields2.png differ diff --git a/i18n/es/docusaurus-plugin-content-docs/version-19/assets/en/FormEditor/insertFields3.png b/i18n/es/docusaurus-plugin-content-docs/version-19/assets/en/FormEditor/insertFields3.png new file mode 100644 index 00000000000000..418f647ae7b372 Binary files /dev/null and b/i18n/es/docusaurus-plugin-content-docs/version-19/assets/en/FormEditor/insertFields3.png differ diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R5.json b/i18n/es/docusaurus-plugin-content-docs/version-20-R5.json index 4706e911c5d71a..2c98c454bde1f2 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R5.json +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R5.json @@ -280,7 +280,7 @@ "description": "The generated-index page title for category Exposing your datastore in REST in sidebar docs" }, "sidebar.docs.category.Exposing your datastore in REST.link.generated-index.description": { - "message": "Configura tu almacén de datos para acceso REST", + "message": "Configura su almacén de datos para acceso REST", "description": "The generated-index page description for category Exposing your datastore in REST in sidebar docs" }, "sidebar.docs.category.API (general)": { diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R5/API/CollectionClass.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R5/API/CollectionClass.md index d40fc8e45e2e53..752a7e47b1a515 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R5/API/CollectionClass.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R5/API/CollectionClass.md @@ -196,9 +196,8 @@ Puede pasar cualquier número de valores de los siguientes tipos soportados: - date - time (almacenado como número de milisegundos - real) - null -- shared object(\*) -- shared collection(\*) - \> Unlike standard (not shared) collections, shared collections do not support pictures, pointers, and objects or collections that are not shared. +- objeto compartido +- colección compartida :::note @@ -206,8 +205,6 @@ Esta función modifica la colección original. ::: -(\*)Cuando un objeto o colección compartida se añade a una colección compartida, comparten el mismo *identificador de bloqueo*. Para más información sobre este punto, consulte [4D Doc Center](https://doc.4d.com). - #### Ejemplo ```4d @@ -2749,10 +2746,10 @@ $col2:=$col.query("c = :v"; {parameters: {v: $c3}}) En el parámetro *querySettings*, puede pasar un objeto que contenga marcadores de posición de consulta como objetos. Se soportan las siguientes propiedades: -| Propiedad | Tipo | Descripción | -| ---------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| parameters | Object | **Marcadores de posición con nombre para los valores** utilizados en *queryString*. Los valores se expresan como pares propiedad / valor, donde propiedad es el nombre del marcador de posición insertado para un valor en *queryString* o formula (":placeholder") y valor es el valor a comparar. Puede combinar marcadores de posición indexados (valores pasados directamente en parámetros de valor) y valores de marcadores de posición con nombre en la misma búsqueda. | -| attributes | Object | **Marcadores de posición con nombre para rutas de atributos** utilizados en la *queryString*. Los atributos se expresan como pares propiedad / valor, donde propiedad es el nombre del marcador de posición insertado para una ruta de atributo en *queryString* (":placeholder"), y valor puede ser una cadena o una colección de cadenas. Cada valor es una ruta que puede designar una propiedad en un objeto de la colecciónTipo de objeto | Descripción |
---|---|
Cadena | Ruta de acceso del atributo expresado utilizando la notación de punto, por ejemplo, "name" o "user.address.zipCode" |
Colección de cadenas | Cada cadena de la colección representa un nivel de attributePath, por ejemplo, \["name"] o \["user","address","zipCode"]. Using a collection allows querying on attributes with names that are not compliant with dot notation, e.g. \["4Dv17.1","en/fr"] |
Tipo de objeto | Descripción |
---|---|
Cadena | Ruta de acceso del atributo expresado utilizando la notación de punto, por ejemplo, "name" o "user.address.zipCode" |
Colección de cadenas | Cada cadena de la colección representa un nivel de attributePath, por ejemplo, \["name"] o \["user","address","zipCode"]. El uso de una colección permite realizar consultas sobre atributos con nombres que no se ajustan a la notación de puntos, por ejemplo, \["4Dv17.1", "en/fr"] |
Tipo de datos | Descripción |
---|---|
Cadena | attributePath expresado utilizando la notación de puntos, por ejemplo "name" o "user.address.zipCode" |
Colección de cadenas | Cada cadena de la colección representa un nivel de attributePath, por ejemplo, \["name"] o \["user","address","zipCode"]. Using a collection allows querying on attributes with names that are not compliant with dot notation, e.g. \["4Dv17.1","en/fr"] |
Tipo de datos | Descripción |
---|---|
Cadena | attributePath expresado utilizando la notación de puntos, por ejemplo "name" o "user.address.zipCode" |
Colección de cadenas | Cada cadena de la colección representa un nivel de attributePath, por ejemplo, \["name"] o \["user","address","zipCode"]. El uso de una colección permite realizar consultas sobre atributos con nombres que no se ajustan a la notación de puntos, por ejemplo, \["4Dv17.1", "en/fr"] |
**Note**: When an object of the Text or Group Box type is selected, pressing the **Enter** key lets you switch to editing mode.
| +| ![](../assets/en/FormEditor/selection.png) | [Selection tool](#selecting-objects) | Permite seleccionar, desplazar y cambiar el tamaño de los objetos del formulario.**Nota**: cuando se selecciona un objeto de tipo Texto o Cuadro de Grupo, presionando la tecla **Enter** se pasa al modo edición.
| | ![](../assets/en/FormEditor/zOrder.png) | [Orden de entrada](#orden-de-entrada) | Pasa al modo "Orden de entrada", donde es posible ver y cambiar el orden de entrada actual del formulario. Tenga en cuenta que las marcas permiten ver el orden de entrada actual, sin dejar de trabajar en el formulario. | | ![](../assets/en/FormEditor/moving.png) | [Moving](#moving-objects) | Pasa al modo " Desplazamiento ", en el que es posible llegar rápidamente a cualquier parte del formulario utilizando la función de arrastrar y soltar en la ventana. El cursor toma la forma de una mano. Este modo de navegación es especialmente útil cuando se hace zoom en el formulario. | | ![](../assets/en/FormEditor/zoom.png) | [Zoom](#zoom) | Permite modificar la escala de visualización del formulario (100% por defecto). Puede pasar al modo "Zoom" haciendo clic en la lupa o pulsando directamente en la barra correspondiente a la escala deseada. Esta función se detalla en la sección anterior. | -| ![](../assets/en/FormEditor/alignment.png) | [Alignment](#aligning-objects) | Este botón está asociado a un menú que permite alinear los objetos en el formulario. It is enabled (or not) depending on the objects selected.Available only with CSS Preview None
| -| ![](../assets/en/FormEditor/distribution.png) | [Distribution](#distributing-objects) | Este botón está asociado a un menú que permite repartir los objetos en el formulario. It is enabled (or not) depending on the objects selected.Available only with CSS Preview None
| +| ![](../assets/en/FormEditor/alignment.png) | [Alignment](#aligning-objects) | Este botón está asociado a un menú que permite alinear los objetos en el formulario. It is enabled (or not) depending on the objects selected.(Icono de distribución horizontal estándar)
El área de ejemplo muestra los resultados de su selección. -4. Para realizar una distribución que utiliza el esquema estándar, haga clic en **Vista previa** o _Aplicar_.En este caso, 4D realizará una distribución estándar para que los objetos estén espaciados de manera equitativa entre ellos.
O bien:para ejecutar una distribución específica, seleccione la opción **Distribuir** (por ejemplo, si desea distribuir los objetos en función de la distancia a su lado derecho). Esta opción actúa como un interruptor. If the Distribute check box is selected, the icons located below it perform a different function:
+4. Para realizar una distribución que utiliza el esquema estándar, haga clic en **Vista previa** o _Aplicar_.En este caso, 4D realizará una distribución estándar para que los objetos estén espaciados de manera equitativa entre ellos.
O bien:para ejecutar una distribución específica, seleccione la opción **Distribuir** (por ejemplo, si desea distribuir los objetos en función de la distancia a su lado derecho). Esta opción actúa como un interruptor. Si la casilla de selección Distribuir está seleccionada, los iconos situados debajo de ella realizan una función diferente:
- Horizontalmente, los iconos corresponden a las siguientes distribuciones: uniformemente con respecto a los lados izquierdos, centros (hor.) y los lados derechos de los objetos seleccionados. - Verticalmente, los iconos corresponden a las siguientes distribuciones: uniformemente con respecto a los bordes superiores, centros (vert.) y los bordes inferiores de los objetos seleccionados. diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R5/FormEditor/forms.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R5/FormEditor/forms.md index efa766d2416547..0473ff1f92d46b 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R5/FormEditor/forms.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R5/FormEditor/forms.md @@ -117,7 +117,7 @@ Este orden determina el [orden de entrada](../FormEditor/formEditor.html#data-en Las propiedades y el método de un formulario no se tienen en cuenta cuando ese formulario se utiliza como formulario heredado. Por otro lado, se llaman los métodos de los objetos que contiene. -To define an inherited form, the [Inherited Form Name](properties_FormProperties.md#inherited-form-name) and [Inherited Form Table](properties_FormProperties.md#inherited-form-table) (for table form) properties must be defined in the form that will inherit something from another form. +Para definir un formulario heredado, el [nombre del formulario heredado](properties_FormProperties.md#inherited-form-name) y la [Tabla de formularios heredada](properties_FormProperties.md#inherited-form-table) (para el formulario tabla) las propiedades deben definirse en la forma que heredará algo de otro formulario. Un formulario puede heredar de un formulario proyecto, definiendo la propiedad [Inherited Form Table](properties_FormProperties.md#inherited-form-table) en `\- This means that the **Encryptable** status for at least one table has been modified and the data file still has not been encrypted. - \*\*Note: \*\*The same message is displayed when the **Encryptable** status has been modified in an already encrypted data file or after the data file has been decrypted (see below).
+ Esto significa que el estado **Encriptable** de al menos una tabla ha sido modificado y el archivo de datos aún no ha sido encriptado. + \*\*Nota: \*\*El mismo mensaje se muestra cuando el estado **Encriptable** se ha modificado en un archivo de datos ya encriptado o después de que el archivo de datos haya sido desencriptado (ver más abajo). 3. Haga clic en el botón imagen Cifrar.\ ![](../assets/en/MSC/MSC_encrypt3.png)\ You will be prompted to enter a passphrase for your data file: @@ -82,7 +82,7 @@ Esta operación es útil cuando se ha modificado el atributo **Encriptable** de 1. Haga clic en **Recibir los datos con la llave de cifrado actual**. 2. Introduzca la llave de encriptación de datos actual. -The data file is properly re-encrypted with the current key and a confirmation message is displayed: +El archivo de datos se vuelve a cifrar correctamente con la llave actual y se muestra un mensaje de confirmación: ![](../assets/en/MSC/MSC_encrypt8.png) ### Cambiar la frase secreta y volver a encriptar los datos @@ -91,9 +91,9 @@ Esta operación es útil cuando se necesita cambiar la llave de datos de encript 1. Haga clic en **Cambiar su frase de contraseña y volver a cifrar los datos**. 2. Introduzca la llave de encriptación de datos actual. -3. Enter the new passphrase (for added security, you are prompted to enter it twice): +3. Ingrese la nueva frase de contraseña (para mayor seguridad, se le solicita ingresarla dos veces): ![](../assets/en/MSC/MSC_encrypt9.png) - The data file is encrypted with the new key and the confirmation message is displayed. + El archivo de datos se cifra con la nueva llave y se muestra el mensaje de confirmación. ![](../assets/en/MSC/MSC_encrypt8.png) ### Desencriptar todos los datos @@ -103,7 +103,7 @@ Esta operación elimina toda la codificación del archivo de datos. Si ya no des 1. Haga clic en **Desencriptar todos los datos**. 2. Introduzca la llave de encriptación de datos actual ( ver Suministrar la llave de encriptación de datos actual). -The data file is fully decrypted and a confirmation message is displayed: +El archivo de datos se descifra completamente y se muestra un mensaje de confirmación: ![](../assets/en/MSC/MSC_encrypt10.png) > Una vez descifrado el archivo de datos, el estado de cifrado de las tablas no coincide con sus atributos Encriptables. Para restablecer un estado coincidente, debe anular la selección de todos los atributos **Encriptable** al nivel de la estructura de la base. diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R5/MSC/information.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R5/MSC/information.md index 5085f818d395b9..36a5454e3edae9 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R5/MSC/information.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R5/MSC/information.md @@ -12,9 +12,9 @@ Esta página indica el nombre, la versión y la ubicación de la aplicación, as La parte central de la ventana indica el nombre y la ubicación del proyecto y de los os archivos de datos, así como también el archivo de historial (si lo hay). La parte inferior de la ventana indica el nombre del titular de la licencia 4D, el tipo de licencia y el nombre del usuario 4D actual. -- **Display and selection of pathnames**: On the **Program** tab, pathnames are displayed in pop-up menus containing the folder sequence as found on the disk:\ +- **Visualización y selección de nombres de ruta**: en la pestaña **Programa**, los nombres de ruta se muestran en menús emergentes que contienen la secuencia de carpetas tal y como se encuentran en el disco:\ ![](../assets/en/MSC/MSC_popup.png) - If you select a menu item (disk or folder), it is displayed in a new system window. + Si selecciona un elemento del menú (disco o carpeta), se muestra en una nueva ventana del sistema. El comando **Copiar la ruta** copia el nombre completo de la ruta en el portapapeles como texto, utilizando los separadores de la plataforma actual. - **"Licenses" Folder** The **"Licenses" Folder** button displays the contents of the active Licenses folder in a new system window. Todos los archivos de licencia instalados en su entorno 4D están agrupados en esta carpeta, en su disco duro. Cuando se abren con un navegador web, estos archivos muestran información sobre las licencias que contienen y sus características. @@ -53,7 +53,7 @@ La información se ofrece en forma gráfica: > Esta página no tiene en cuenta los datos que puedan estar almacenados fuera del archivo de datos (ver "Almacenamiento externo"). -Los archivos demasiado fragmentados reducen el rendimiento del disco y, por tanto, de la base. If the occupation rate is too low, 4D will indicate this by a warning icon (which is displayed on the Information button and on the tab of the corresponding file type) and specify that compacting is necessary:![](../assets/en/MSC/MSC_infowarn.png) +Los archivos demasiado fragmentados reducen el rendimiento del disco y, por tanto, de la base. Si la tasa de ocupación es demasiado baja, 4D lo indicará con un icono de advertencia (que aparece en el botón de información y en la pestaña del tipo de archivo correspondiente) y especificará que es necesario compactar:![](../assets/en/MSC/MSC_infowarn.png) También se muestra un icono de advertencia en el botón de la página [Compact](compact.md): ![](../assets/en/MSC/MSC_compactwarn.png) diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R5/MSC/overview.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R5/MSC/overview.md index 609b05fd450a3c..76266d63a5977d 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R5/MSC/overview.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R5/MSC/overview.md @@ -16,18 +16,18 @@ En modo mantenimiento, sólo se muestra la ventana del CSM (el proyecto no es ab Puede abrir el CSM en modo mantenimiento desde dos lugares: -- **From the standard project opening dialog box** - The standard Open dialog includes the **Maintenance Security Center** option from the menu associated with the **Open** button: +- **Desde la ventana de diálogo estándar de apertura del proyecto** + La ventana de diálogo Abrir estándar incluye la opción **Centro de Seguridad de Mantenimiento** en el menú asociado con el botón **Abrir**: ![](../assets/en/MSC/MSC_standardOpen.png) -- **Help/Maintenance Security Center** menu or **MSC** button in the tool bar (project not open)\ +- **menú Ayuda/Mantenimiento Centro de seguridad** o botón **MSC** de la barra de herramientas (proyecto no abierto)\ ![](../assets/en/MSC/mscicon.png)\ - When you call this function, a standard Open file dialog appears so that you can select the _.4DProject_ or _.4dz_ file of the to be examined. El proyecto no será abierto por 4D. + Al llamar a esta función, aparece una caja de diálogo estándar Abrir archivo para que pueda seleccionar el archivo _.4DProject_ o _.4dz_ del que desea examinar. El proyecto no será abierto por 4D. ## Acceso al modo estándar En modo estándar, un proyecto se abre. En este modo, algunas funciones de mantenimiento no están disponibles. Tiene varias posibilidades para acceder a la ventana del CSM: -- Use the **Help/Maintenance Security Center** menu or the **MSC** button in the 4D toolbar:\ +- Utilice el menú **Ayuda/Centro de seguridad y mantenimiento** o el botón **CSM** en la barra de herramientas de 4D:\ ![](../assets/en/MSC/mscicon.png) - Utilizar la acción estándar "Csm" que es posible asociar a un comando de menú o a un objeto de formulario. - Utilice el comando `OPEN SECURITY CENTER`. diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R5/MSC/rollback.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R5/MSC/rollback.md index 7708a78e05baac..1a3005d7703ed9 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R5/MSC/rollback.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R5/MSC/rollback.md @@ -10,7 +10,7 @@ Esta función sólo está disponible cuando la aplicación trabaja con un archiv ![](../assets/en/MSC/MSC_rollback1.png) -> If the database is encrypted and no valid data key corresponding to the open log file has been provided, encrypted values are not displayed in the **Values** column and a dialog requesting the passphrase or the data key is displayed if you click the **Rollback** button. +> Si la base de datos está encriptada y no se ha suministrado una llave de datos válida correspondiente al archivo de registro abierto, los valores encriptados no se muestran en la columna **Valores** y se muestra un diálogo en el que se solicita la frase secreta o la llave de datos si se hace clic en el botón **Retroceso**. El contenido y el funcionamiento de la lista de operaciones es el mismo que el de la ventana [Análisis de actividades](analysis.md). diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R5/Notes/updates.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R5/Notes/updates.md index 6545fd445822d0..e0bf8974d5778b 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R5/Notes/updates.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R5/Notes/updates.md @@ -7,7 +7,7 @@ title: Notas del lanzamiento Lea [**Novedades en 4D 20 R5**](https://blog.4d.com/en-whats-new-in-4d-20-R5/), la entrada del blog que muestra todas las nuevas funcionalidades y mejoras en 4D 20 R5. -#### Destacados +#### Lo más destacado - Nuevo [Gestor de componentes](../Project/components.md) para gestionar componentes a través de un archivo `dependencies.json`. - Soporte de estructuras de gestión de errores [`Try...Catch...End try`](../Concepts/error-handling.md#trycatchend-try). @@ -31,7 +31,7 @@ Lea [**Novedades en 4D 20 R5**](https://blog.4d.com/en-whats-new-in-4d-20-R5/), Lea [**Novedades en 4D 20 R4**](https://blog.4d.com/en-whats-new-in-4d-v20-R4/), la entrada del blog que muestra todas las nuevas funcionalidades y mejoras en 4D 20 R4. -#### Destacados +#### Lo más destacado - Soporte de [formato de cifrado ECDSA\`](../Admin/tls.md#encryption) para certificados TLS. - Las conexiones TLS cliente/servidor y servidor SQL ahora se [configuran dinámicamente](../Admin/tls.md#enabling-tls-with-the-other-servers) (no se requieren archivos de certificado). @@ -58,7 +58,7 @@ Lea [**Novedades en 4D 20 R4**](https://blog.4d.com/en-whats-new-in-4d-v20-R4/), Lea [**Novedades en 4D 20 R3**](https://blog.4d.com/en-whats-new-in-4d-v20-R3/), la entrada del blog que muestra todas las nuevas funcionalidades y mejoras en 4D 20 R3. -#### Destacados +#### Lo más destacado - Nueva función [`collection.multiSort`](../API/CollectionClass.md#multisort). - Soporte del parámetro _context_ en [`Formula from string`](../API/FunctionClass.md#formula-from-string). @@ -88,7 +88,7 @@ Si sus aplicaciones 4D utilizan conexiones TLS, se recomienda actualizar a 4D 20 ::: -#### Destacados +#### Lo más destacado - Nueva [clase WebSocket](../API/WebSocketClass.md) para crear y gestionar conexiones WebSocket cliente desde 4D. - Nueva capa de red QUIC [configuración de interfaz](../settings/client-server.md#network-layer). @@ -131,7 +131,7 @@ Si sus aplicaciones 4D utilizan conexiones TLS, se recomienda actualizar a 4D 20 ::: -#### Destacados +#### Lo más destacado - 4D 20.2 está certificado en macOS Sonoma (macOS 14). - (4D 20.1) Nueva propiedad `plugins` en el parámetro _options_ del comando [`Compile project`](https://doc.4d.com/4dv20/help/command/en/page1760.html). @@ -173,7 +173,7 @@ Si sus aplicaciones 4D utilizan conexiones TLS, se recomienda actualizar a 4D 20 Lee [**Novedades en 4D 19 R8**](https://blog.4d.com/en-whats-new-in-4d-19-r8/), la entrada del blog que muestra todas las nuevas funcionalidades y mejoras en 4D 19 R8. -#### Destacados +#### Lo más destacado - Se pueden instalar métodos de gestión de errores para [contextos de ejecución globales y de componentes](../Concepts/error-handling.md#scope-and-components). - Los list boxes con fuentes de datos selección de entidades o colecciones ahora soportan la propiedad de columna [Alto de fila automática](../FormObjects/properties_CoordinatesAndSizing.md#automatic-row-height). @@ -196,7 +196,7 @@ Lee [**Novedades en 4D 19 R8**](https://blog.4d.com/en-whats-new-in-4d-19-r8/), Lee [**Novedades en 4D 19 R7**](https://blog.4d.com/en-whats-new-in-4d-19-r7/), la entrada del blog que muestra todas las nuevas funcionalidades y mejoras en 4D 19 R7. -#### Destacados +#### Lo más destacado - Los datos relacionados y los atributos calculados/alias pueden visualizarse en el [Explorador de datos](../Admin/dataExplorer#basics). - Nueva clase [FileHandle](../API/FileHandleClass.md) y nueva función [`.open()`](../API/FileClass.md#open) en la clase `File`. @@ -326,7 +326,7 @@ Para obtener información detallada, consulte [esta entrada del blog](https://bl ## 4D 19 R2 -- A [default .gitignore file](../Preferences/general.md#create-gitignore-file) can be created with new projects +- Se puede crear un [archivo .gitignore por defecto](../Preferences/general.md#create-gitignore-file) con nuevos proyectos - Nueva [API clase Blob](../API/BlobClass.md) para manejar nuevos [objetos `4D.Blob`](Concepts/dt_blob.md#blob-types) - compatibilidad con `no-bom` y nuevos caracteres de fin de línea por defecto en [`.setText()`](../API/FileClass.md#settext) @@ -350,7 +350,7 @@ Si sus aplicaciones 4D utilizan conexiones TLS, se recomienda actualizar a 4D 19 - Nuevos temas oscuros y claros por defecto en [Preferencias del editor de código](../Preferences/methods.md#theme-list). - [Compilación nativa](../Project/compiler.md#compiler-methods-for) para procesadores Silicon. - La propiedad [Cálculo de variables](../FormObjects/properties_Object.md#cálculo-de-variables) ahora es compatible con las columnas list box de la selección de entidades. -- Nueva página [CLI]completa (../Admin/cli.md). +- Nueva página completada [CLI](../Admin/cli.md). ### 4D 18 R6 @@ -363,7 +363,7 @@ Si sus aplicaciones 4D utilizan conexiones TLS, se recomienda actualizar a 4D 19 -## Tabla de librerías +## Tabla de la librería | Librería | Versión actual | Actualizado en 4D | Comentario | | --------- | -------------------------------------- | -------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R5/ORDA/client-server-optimization.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R5/ORDA/client-server-optimization.md index 850e30c8f4951b..3890002638996b 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R5/ORDA/client-server-optimization.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R5/ORDA/client-server-optimization.md @@ -13,7 +13,7 @@ title: Optimización cliente/servidor Las arquitecturas de cliente/servidor ORDA que soportan la optimización son: - Les datastores servidor a los que acceden las aplicaciones 4D de escritorio remoto a través de [**`ds`**](../API/DataStoreClass.md#ds), -- [Remote datastores](remoteDatastores.md), accessed via [**`Open datastore`**](../API/DataStoreClass.md#open-datastore) (client REST requests). +- Los [datastores remotos](remoteDatastores.md), abiertos por el comando [**`Open datastore`**](../API/DataStoreClass.md#open-datastore) (peticiones clientes REST). ## Contexto de optimización @@ -35,9 +35,9 @@ El contexto de optimización se basa en las siguientes implementaciones: - [`entitySelection.slice()`](../API/EntitySelectionClass.md#slice) - [`entitySelection.drop()`](../API/EntitySelectionClass.md#drop) -- An existing optimization context can be passed as a property to another entity selection of the same dataclass, thus bypassing the learning phase and accelerating the application (see [Using the context property](#reusing-the-context-property) below). +- Un contexto de optimización existente puede pasarse como propiedad a otra selección de entidad de la misma dataclass, evitando así la fase de aprendizaje y acelerar la aplicación (ver abajo [Reutilización de la propiedad context](#reusing-the-context-property)). -- You can build optimization contexts manually using the [`dataStore.setRemoteContextInfo()`](../API/DataStoreClass.md#setremotecontextinfo) function (see [Preconfiguring contexts](#preconfiguring-contexts)). +- Puede crear contextos de optimización manualmente mediante la función [`dataStore.setRemoteContextInfo()`](../API/DataStoreClass.md#setremotecontextinfo) (consulte [Preconfiguración de contextos](#preconfiguring-contexts)). ![](../assets/en/ORDA/cs-optimization-process.png) @@ -66,7 +66,7 @@ Puede aumentar los beneficios de la optimización utilizando la propiedad **cont > También puede crear contextos utilizando la función [`.setRemoteContextInfo()`](../API/DataStoreClass.md#setremotecontextinfo). -All ORDA functions that handle entity selections support the context property (for exampledataClass.query()
or dataClass.all()
). All ORDA functions that handle entity selections support the **context** property (for example [`dataClass.query()`](../API/DataClassClass.md#query) or [`dataClass.all()`](../API/DataClassClass.md#all)). Tenga en cuenta, sin embargo, que un contexto se actualiza automáticamente cuando se utilizan nuevos atributos en otras partes del código. Reutilizar el mismo contexto en diferentes códigos podría sobrecargar el contexto y, por tanto, reducir su eficacia.
+All ORDA functions that handle entity selections support the context property (for example dataClass.query()
or dataClass.all()
). Todas las funciones ORDA que manejan entity selections soportan la propiedad **context** (por ejemplo [`dataClass.query()`](../API/DataClassClass.md#query) o [`dataClass.all()`](../API/DataClassClass.md#all)). Tenga en cuenta, sin embargo, que un contexto se actualiza automáticamente cuando se utilizan nuevos atributos en otras partes del código. Reutilizar el mismo contexto en diferentes códigos podría sobrecargar el contexto y, por tanto, reducir su eficacia.
> Se implementa un mecanismo similar para las entidades que se cargan, de modo que sólo se solicitan los atributos utilizados (ver la función [`dataClass.get()`](../API/DataClassClass.md#get)).
@@ -77,29 +77,29 @@ All ORDA functions that handle entity selections support the co
var $data : Collection
$querysettings:=New object("context";"shortList")
$querysettings2:=New object("context";"longList")
-
+
$sel1:=ds.Employee.query("lastname = S@";$querysettings)
- $data:=extractData($sel1) // In extractData method an optimization is triggered
- // and associated to context "shortList"
-
+ $data:=extractData($sel1) // En el método extractData la optimización asociada
+ // al contexto "shortList" se aplica
+
$sel2:=ds.Employee.query("lastname = Sm@";$querysettings)
- $data:=extractData($sel2) // In extractData method the optimization associated
- // to context "shortList" is applied
-
+ $data:=extractData($sel2) // En el método extractData una optimización
+ // se activa y asocia al contexto "shortList"
+
$sel3:=ds.Employee.query("lastname = Smith";$querysettings2)
- $data:=extractDetailedData($sel3) // In extractDetailedData method an optimization
- // is triggered and associated to context "longList"
-
+ $data:=extractDetailedData($sel3) // En el método extractDetailedData una optimización
+ // se activa y asocia al contexto "longList"
+
$sel4:=ds.Employee.query("lastname = Brown";$querysettings2)
- $data:=extractDetailedData($sel4) // In extractDetailedData method the optimization
- // associated to context "longList" is applied
+ $data:=extractDetailedData($sel4) // En el método extractDetailedData la optimización
+ // asociada al contexto "longList" se aplica
```
### List box basado en una selección de entidades
-Entity selection optimization is automatically applied to entity selection-based list boxes in 4D client/server desktop applications, when displaying and scrolling a list box content: only the attributes displayed in the list box are requested from the server.
+La optimización de entity selection se aplica automáticamente a los list boxes basados en una entity selection en las aplicaciones de escritorio cliente/servidor 4D, al mostrar y desplazar el contenido de un list box: sólo se solicitan al servidor los atributos mostrados en el list box.
-A specific "page mode" context is also provided when loading the current entity through the **Current item** property expression of the list box (see [Collection or entity selection type list boxes](FormObjects/listbox_overview.md#list-box-types)). Esta funcionalidad le permite no sobrecargar el contexto inicial del list box en este caso, especialmente si la "página" solicita atributos adicionales. Tenga en cuenta que sólo el uso de la expresión **Elemento actual** permitirá crear/utilizar el contexto de la página (el acceso a través de `entitySelection\[index]` alterará el contexto de la entity selection).
+También se suministra un contexto específico denominado "modo página" cuando se carga la entidad actual de la selección mediante la expresión de la propiedad **elemento actual** del list box (ver [list box de tipo colección o entity selection](FormObjects/listbox_overview.md#list-box-types)). Esta funcionalidad le permite no sobrecargar el contexto inicial del list box en este caso, especialmente si la "página" solicita atributos adicionales. Tenga en cuenta que sólo el uso de la expresión **Elemento actual** permitirá crear/utilizar el contexto de la página (el acceso a través de `entitySelection\[index]` alterará el contexto de la entity selection).
Las solicitudes posteriores al servidor enviadas por las funciones de navegación de la entidad también admitirán esta optimización. Las siguientes funciones asocian automáticamente el contexto de optimización de la entidad fuente a la entidad devuelta:
@@ -111,9 +111,9 @@ Las solicitudes posteriores al servidor enviadas por las funciones de navegació
Por ejemplo, el siguiente código carga la entidad seleccionada y permite navegar en la selección de entidades. Las entidades se cargan en un contexto separado y el contexto inicial del list box se deja intacto:
```4d
- $myEntity:=Form.currentElement //current item expression
- //... do something
- $myEntity:=$myEntity.next() //loads the next entity using the same context
+ $myEntity:=Form.currentElement //expresión del elemento actual
+ //... hacer algo
+ $myEntity:=$myEntity.next() //carga la siguiente entidad utilizando el mismo contexto
```
### Preconfiguración de contextos
@@ -124,8 +124,8 @@ Si desea entregar aplicaciones finales con el máximo nivel de optimización, pu
1. Diseñe sus algoritmos.
2. Ejecute su aplicación y deje que el mecanismo de aprendizaje automático complete los contextos de optimización.
-3. Call the [`dataStore.getRemoteContextInfo()`](../API/DataStoreClass.md#getremotecontextinfo) or [`dataStore.getAllRemoteContexts()`](../API/DataStoreClass.md#getallremotecontexts) function to collect contexts. You can use the [`entitySelection.getRemoteContextAttributes()`](../API/EntitySelectionClass.md#getremotecontextattributes) and [`entity.getRemoteContextAttributes()`](../API/EntityClass.md#getremotecontextattributes) functions to analyse how your algorithms use attributes.
-4. In the final step, call the [`dataStore.setRemoteContextInfo()`](../API/DataStoreClass.md#setremotecontextinfo) function to build contexts at application startup and [use them](#reusing-the-context-property) in your algorithms.
+3. Call the [`dataStore.getRemoteContextInfo()`](../API/DataStoreClass.md#getremotecontextinfo) or [`dataStore.getAllRemoteContexts()`](../API/DataStoreClass.md#getallremotecontexts) function to collect contexts. Puede utilizar las funciones [`entitySelection.getRemoteContextAttributes()`](../API/EntitySelectionClass.md#getremotecontextattributes) y [`entity.getRemoteContextAttributes()`](../API/EntityClass.md#getremotecontextattributes) para analizar cómo utilizan los atributos sus algoritmos.
+4. En el último paso, llama a la función [`dataStore.setRemoteContextInfo()`](../API/DataStoreClass.md#setremotecontextinfo) para construir contextos al inicio de la aplicación y [utilizarlos](#reutilizando-la-propiedad-context) en sus algoritmos.
## Caché ORDA
@@ -133,6 +133,8 @@ Por razones de optimización, los datos solicitados al servidor a través de ORD
Los datos contenidos en la caché se consideran caducados cuando se alcanza el tiempo de espera. Todo acceso a los datos caducados enviará una petición al servidor. Los datos caducados permanecen en la caché hasta que se necesite el espacio.
+Puede forzar que los datos de la selección de entidades en la caché ORDA expiren en cualquier momento utilizando la función [`refresh()`](../API/EntitySelectionClass.md#refresh).
+
Por defecto, la caché ORDA es manejada de forma transparente por 4D. Sin embargo, puede controlar su contenido utilizando las siguientes funciones de la clase ORDA:
- [dataClass.setRemoteCacheSettings()](../API/DataClassClass.md#setremotecachesettings)
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R5/ORDA/entities.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R5/ORDA/entities.md
index 1791bf656c8dda..a9a014ad34a99d 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R5/ORDA/entities.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R5/ORDA/entities.md
@@ -259,7 +259,7 @@ Una entity selection puede ser **compartible** (legible por múltiples procesos,
Una entity selection **compartible** tiene las siguientes características:
- puede almacenarse en un objeto compartido o en una colección compartida, y puede pasarse como parámetro entre varios procesos o trabajadores;
-- puede almacenarse en varios objetos o colecciones compartidos, o en un objeto o colección compartido que ya pertenezca a un grupo (no tiene un \* identificador de bloqueo\*);
+- puede almacenarse en varios objetos o colecciones compartidos, o en un objeto o colección compartido que ya pertenezca a un grupo;
- no permite la adición de nuevas entidades. Al intentar añadir una entidad a una entity selection compartibles se producirá un error (1637 - Esta entity selection no puede modificarse). Para añadir una entidad a unaentity selection compartible, primero debe transformarla en una entity selection no compartible utilizando la función [`.copy()`](API/EntitySelectionClass.md#copy), antes de llamar a [`.add()`](API/EntitySelectionClass.md#add).
> La mayoría de las funciones entity selection (como [`.slice()`](API/EntitySelectionClass.md#slice), [`.and()`](API/EntitySelectionClass.md#and)...) soportar selecciones de entidades compartibles ya que no es necesario modificar la selección de entidades original (devuelven una nueva).
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R5/ORDA/global-stamp.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R5/ORDA/global-stamp.md
index 33f46eb14f6d9e..df1a6306de2958 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R5/ORDA/global-stamp.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R5/ORDA/global-stamp.md
@@ -7,7 +7,7 @@ title: Utilizando el sello global
4D gestiona automáticamente un **sello de modificación global** interno, útil para manejar implementaciones de seguimiento de cambios de datos, por ejemplo para monitorear la actividad, realizar copias de seguridad, ejecutar sincronizaciones incrementales
-El sello de modificación global es un número, siempre mantenido por 4D, incluso en caso de restauración de la base de datos, importación, etc. Note however that the stamp can be modified using the [`.setGlobalStamp()`](../API/DataStoreClass.md#setglobalstamp) function.
+El sello de modificación global es un número, siempre mantenido por 4D, incluso en caso de restauración de la base de datos, importación, etc. Note sin embargo que el sello puede ser modificado por la función [`.setGlobalStamp()`](../API/DataStoreClass.md#setglobalstamp).
Una vez [configurado y habilitado el seguimiento de cambios de datos](#configuring-data-change-tracking), las siguientes acciones son ejecutadas automáticamente por 4D en cada modificación de registro (añadir, modificar, borrar):
@@ -81,17 +81,17 @@ Para desactivar el seguimiento de cambios de datos:
var $oldStamp : Real
var $tableName : Text
var $modifiedEmps : cs.EmployeeSelection
-var $deletedEmpsInfo : cs.__DeletedRecordsSelection
+var $deletedEmpsInfo : cs. _DeletedRecordsSelection
$tableName:="Employee"
-$oldStamp:=... //load the previous stamp value
- //from which you want to compare the current stamp
+$oldStamp:=... ///carga el valor del sello anterior
+ ///desde el cual desea comparar el sello actual
If ($oldStamp # ds.getGlobalStamp())
- //get all new or modified entities
+ //obtener todas las entidades nuevas o modificadas
$modifiedEmps:=ds[$tableName].query("__GlobalStamp > :1"; $oldStamp)
- //get all deleted entities
- $deletedEmpsInfo:=ds.__DeletedRecords.query("__Stamp > :1 and __TableName = :2";\
+ //obtener todas las entidades eliminadas
+ $deletedEmpsInfo:=ds. _DeletedRecords.query("__Sello > :1 y __TableName = :2";\
$oldStamp; $tableName)
End if
```
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R5/ORDA/ordaClasses.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R5/ORDA/ordaClasses.md
index e41074a9fc22d0..d3bb6b8114033c 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R5/ORDA/ordaClasses.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R5/ORDA/ordaClasses.md
@@ -338,7 +338,7 @@ El parámetro _$event_ contiene las siguientes propiedades:
| attributeName | Text | Nombre de atributo calculado |
| dataClassName | Text | Nombre de la clase de datos |
| kind | Text | "get" |
-| result | Variant | Opcional. Añada esta propiedad con valor Null si desea que un atributo escalar devuelva Null |
+| resultado | Variant | Opcional. Añada esta propiedad con valor Null si desea que un atributo escalar devuelva Null |
#### Ejemplos
@@ -449,7 +449,7 @@ El parámetro _$event_ contiene las siguientes propiedades:
| kind | Text | "query" |
| value | Variant | Valor a tratar por el atributo calculado |
| operator | Text | Operador de búsqueda (ver también la [función de clase `query`](API/DataClassClass.md#query)). Valores posibles:For example, when the "Variables (local or interprocess) and object attributes" option is checked, a list of suggestions appears when you type the $ character:
![](../assets/en/Preferences/suggestionsAutoOpen.png)
You can disable this functioning for certain elements of the language by deselecting their corresponding option. | -| Validación de una sugerencia | Sets the entry context that allows the Code Editor to validate automatically the current suggestion displayed in the autocomplete window.For example, when the "Variables (local or interprocess) and object attributes" option is checked, a list of suggestions appears when you type the $ character:
![](../assets/en/Preferences/suggestionsAutoOpen.png)
You can disable this functioning for certain elements of the language by deselecting their corresponding option. | +| Validación de una sugerencia | Establece el contexto de entrada que permite al Editor de Código validar automáticamente la sugerencia actual mostrada en la ventana de autocompletado.Propiedad | Tipo | Descripción |
---|---|---|
creator | text | nombre de la aplicación que creó el documento original a partir del cual se convirtió. |
title | text | título del documento. |
author | text | nombre de la persona que ha creado el documento. |
keywords | text | palabras clave asociadas al documento. |
subject | text | asunto del documento. |
Propiedad | Tipo | Descripción |
---|---|---|
range | object | Objeto rango de celdas |
rowDelimiter | text | Delimitador de fila. Por defecto: "\r\n" |
columnDelimiter | text | Delimitador de columna. Por defecto: "," |
Property | Type | Description |
---|---|---|
includeAutoMergedCells | boolean | whether to include the automatically merged cells, default is false. |
includeBindingSource | boolean | whether to include the binding source, default is true. |
includeCalcModelCache | boolean | whether to include the extra data of calculation. Can be faster when open the file with those data, default is false. |
includeEmptyRegionCells | boolean | whether to include any empty cells (cells with no data or only style) outside the used data range, default is true. |
includeFormulas | boolean | whether to include the formulas, default is true. |
includeStyles | boolean | whether to include the style, default is true. |
includeUnusedNames | boolean | whether to include the unused custom names, default is true. |
saveAsView | boolean | whether to apply the format string to exporting values, default is false. |
Propiedad | Tipo | Descripción |
---|---|---|
creator | text | nombre de la aplicación que creó el documento original a partir del cual se convirtió. |
title | text | título del documento. |
author | text | nombre de la persona que ha creado el documento. |
keywords | text | palabras clave asociadas al documento. |
subject | text | asunto del documento. |
Propiedad | Tipo | Descripción |
---|---|---|
range | object | Objeto rango de celdas |
rowDelimiter | text | Delimitador de fila. Por defecto: "\r\n" |
columnDelimiter | text | Delimitador de columna. Por defecto: "," |
Propiedad | Tipo | Descripción |
---|---|---|
includeAutoMergedCells | boolean | si se deben incluir las celdas fusionadas automáticamente, el valor predeterminado es false. |
includeBindingSource | boolean | si se debe incluir la fuente de datos, el valor predeterminado es true. |
includeCalcModelCache | boolean | si se debe incluir los datos adicionales de cálculo. Can be faster when open the file with those data, default is false. |
includeEmptyRegionCells | boolean | whether to include any empty cells (cells with no data or only style) outside the used data range, default is true. |
includeFormulas | boolean | whether to include the formulas, default is true. |
includeStyles | boolean | whether to include the style, default is true. |
includeUnusedNames | boolean | whether to include the unused custom names, default is true. |
saveAsView | boolean | whether to apply the format string to exporting values, default is false. |
`vk find flag exact match` | The entire content of the cell must completely match the search value |
`vk find flag ignore case` | Capital and lower-case letters are considered the same. Ex: "a" is the same as "A". |
`vk find flag none` | no search flags are considered (default) |
`vk find flag use wild cards` | Wildcard characters (\*,?) puede utilizarse en la cadena de búsqueda. Wildcard characters can be used in any string comparison to match any number of characters: |
$search.flags:=vk find flag use wild cards+vk find flag ignore case
|
-| order | Integer | `vk find order by columns` | La búsqueda se realiza por columnas. Each row of a column is searched before the search continues to the next column. |
`vk find order by rows` | The search is performed by rows. Se busca en cada columna de una linea antes de continuar con la siguiente linea (por defecto) |
`vk find target formula` | The search is performed in the cell formula |
`vk find target tag` | The search is performed in the cell tag |
`vk find target text` | The search is performed in the cell text (default) |
These flags can be combined. Por ejemplo:$search.target:=vk find target formula+vk find target text
`vk find flag exact match` | El contenido completo de la celda debe coincidir completamente con el valor de búsqueda |
`vk find flag ignore case` | Las mayúsculas y minúsculas se consideran iguales. Ej: "a" es igual a "A". |
`vk find flag none` | no se consideran banderas de búsqueda (por defecto) |
`vk find flag use wild cards` | Caracteres comodín (\*,?) puede utilizarse en la cadena de búsqueda. Wildcard characters can be used in any string comparison to match any number of characters: |
$search.flags:=vk find flag use wild cards+vk find flag ignore case
|
+| order | Integer | `vk find order by columns` | La búsqueda se realiza por columnas. Cada fila de una columna se busca antes de que la búsqueda continúe a la siguiente columna. |
`vk find order by rows` | La búsqueda se realiza por filas. Se busca en cada columna de una linea antes de continuar con la siguiente linea (por defecto) |
`vk find target formula` | La búsqueda se realiza en la fórmula de la celda |
`vk find target tag` | La búsqueda se realiza en la etiqueta de la celda |
`vk find target text` | La búsqueda se realiza en el texto de la celda (predeterminado) |
Estas banderas pueden combinarse. Por ejemplo:$search.target:=vk find target formula+vk find target text
Value | Description |
---|---|
`vk clipboard options all` (default) | Pastes all data objects, including values, formatting, and formulas. |
`vk clipboard options formatting` | Pastes only the formatting. |
`vk clipboard options formulas` | Pastes only the formulas. |
`vk clipboard options formulas and formatting` | Pastes the formulas and formatting. |
`vk clipboard options values` | Pastes only the values. |
`vk clipboard options value and formatting` | Pastes the values and formatting. |
Valor | Descripción |
---|---|
`vk clipboard options all` (por defecto) | Pega todos los objetos de datos, incluidos los valores, el formato y las fórmulas. |
`vk clipboard options formatting` | Pega sólo el formato. |
`vk clipboard options formulas` | Pega sólo las fórmulas. |
`vk clipboard options formulas and formatting` | Pega las fórmulas y el formato. |
`vk clipboard options values` | Pega sólo los valores. |
`vk clipboard options value and formatting` | Pega los valores y el formato. |
Please enter your name:
-- +
+
-- - +
+ +
@@ -283,33 +284,33 @@ Las principales características de esta página son: Examinemos el método 4D `WWW_STD_FORM_POST` que se llama cuando el usuario hace clic en uno de los botones del formulario HTML. ```4d - // Retrieval of value of variables + // Recuperación del valor de las variables ARRAY TEXT($arrNames;0) ARRAY TEXT($arrValues;0) WEB GET VARIABLES($arrNames;$arrValues) C_LONGINT($user) - + Case of - - // The Log On button was clicked + + // Se ha presionado el botón Log On :(Find in array($arrNames;"vsbLogOn")#-1) $user :=Find in array($arrNames;"vtUserName") QUERY([WWW Users];[WWW Users]UserName=$arrValues{$user}) $0:=(Records in selection([WWW Users])>0) If($0) WWW POST EVENT("Log On";WWW Log information) - // The WWW POST EVENT method saves the information in a database table + // El método WWW POST EVENT guarda la información en una tabla de la base Else - + $0:=WWW Register - // The WWW Register method lets a new Web user register + // El método WWW Register permite que un nuevo usuario de la Web se registre End if - - // The Register button was clicked + + // Se ha presionado el botón Register :(Find in array($arrNames;"vsbRegister")#-1) $0:=WWW Register - - // The Information button was clicked + + // Se ha presionado el botón de información :(Find in array($arrNames;"vsbInformation")#-1) WEB SEND FILE("userinfos.html") End case @@ -317,7 +318,7 @@ Examinemos el método 4D `WWW_STD_FORM_POST` que se llama cuando el usuario hace Las funcionalidades de este método son: -- The values of the variables _vtNav_appName_, _vtNav_appVersion_, _vtNav_appCodeName_, and _vtNav_userAgent_ (bound to the HTML objects having the same names) are retrieved using the `WEB GET VARIABLES` command from HTML objects created by the _GetBrowserInformation_ JavaScript script. +- Los valores de las variables _vtNav_appName_, _vtNav_appVersion_, _vtNav_appCodeName_, y _vtNav_userAgent_ (vinculados a los objetos HTML que tienen los mismos nombres) se recuperan utilizando el comando `WEB GET VARIABLES` de los objetos HTML creados por el script JavaScript _GetBrowserInformation_. - De las variables vinculadas _vsbLogOn_, _vsbRegister_ y _vsbInformation_ a los tres botones de envío, sólo la correspondiente al botón que se ha presionado será recuperada por el comando `WEB GET VARIABLES`. Cuando el envío se realiza mediante uno de estos botones, el navegador devuelve a 4D el valor del botón presionado. Esto le indica qué botón se ha presionado. Tenga en cuenta que con HTML, todos los objetos son objetos de texto. Si se utiliza un objeto SELECT, es el valor del elemento resaltado en el objeto el que se devuelve en el comando `WEB GET VARIABLES`, y no la posición del elemento en el array como en 4D. `WEB GET VARIABLES` siempre devuelve valores de tipo Texto. @@ -338,6 +339,6 @@ El servidor web de 4D ahora soporta archivos cargados con codificación chunked ## Método proyecto COMPILER_WEB -El método COMPILER\WEB, si existe, es llamado sistemáticamente cuando el servidor HTTP recibe una petición dinámica y llama al motor 4D. This is the case, for example, when the 4D Web server receives a posted form or a URL to process in [`On Web Connection`](#on-web-connection). Este método está destinado a contener directivas de digitación y/o inicialización de variables utilizadas durante los intercambios web. Es utilizado por el compilador cuando se compila la aplicación. El método COMPILER\WEB es común a todos los formularios web. Por defecto, el método COMPILER_WEB no existe. Debe crearlo explícitamente. +El método COMPILER\WEB, si existe, es llamado sistemáticamente cuando el servidor HTTP recibe una petición dinámica y llama al motor 4D. Este es el caso, por ejemplo, cuando el servidor web de 4D recibe un formulario publicado o una URL para procesar en [`On Web Connection`](#on-web-connection). Este método está destinado a contener directivas de digitación y/o inicialización de variables utilizadas durante los intercambios web. Es utilizado por el compilador cuando se compila la aplicación. El método COMPILER\WEB es común a todos los formularios web. Por defecto, el método COMPILER_WEB no existe. Debe crearlo explícitamente. > También se llama al método proyecto COMPILER_WEB, si existe, para cada solicitud SOAP aceptada. diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R5/WebServer/preemptiveWeb.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R5/WebServer/preemptiveWeb.md index a220975bdd9eb8..91b84be73a96dc 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R5/WebServer/preemptiveWeb.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R5/WebServer/preemptiveWeb.md @@ -5,7 +5,7 @@ title: Uso de procesos web apropiativos El servidor web de 4D le permite aprovechar al máximo los ordenadores multinúcleo utilizando procesos web apropiativos en sus aplicaciones. Puede configurar su código relacionado con la web, incluyendo las etiquetas 4D, los métodos base Web o las funciones de clase REST de ORDA para que se ejecuten simultáneamente en tantos núcleos como sea posible. -For in-depth information on preemptive process in 4D, please refer to the _Preemptive 4D processes_ section in the [_4D Language Reference_](https://doc.4d.com). +Para obtener información detallada sobre el proceso apropiativo en 4D, por favor consulte la sección [Procesos apropiativos](../Develop/preemptive.md). ## Disponibilidad del modo apropiativo para los procesos web @@ -27,9 +27,9 @@ La siguiente tabla indica si el modo apropiativo se utiliza o está disponible, - Servidor web: maneja las [plantillas web](templates.md), [4DACTION y los métodos base](httpRequests.md) - Servidor de servicios web: gestiona las peticiones SOAP - _**web setting**_ significa que el modo apropiativo depende de un valor de configuración: - - when [**Scalable sessions**](sessions.md#enabling-sessions) option is selected, the [preemptive mode is automatically used](sessions.md#preemptive-mode) for web processes. - - otherwise, the [**Use preemptive processes**](webServerConfig.md#use-preemptive-processes) option is taken into account. - - en lo que respecta a los procesos de servicios web (servidor o cliente), se soporta el modo apropiativo a nivel del método. You just have to select "Can be run in preemptive processes" property for published SOAP server methods (see [Publishing a Web Service with 4D](https://doc.4d.com/4Dv19/4D/19/Publishing-a-Web-Service-with-4D.300-5416868.en.html)) or proxy client methods (see [Subscribing to a Web Service in 4D](https://doc.4d.com/4Dv19/4D/19/Subscribing-to-a-Web-Service-in-4D.300-5416870.en.html)) and make sure they are confirmed thread-safe by the compiler. + - cuando se selecciona la opción de [**sesiones escalables**](sessions.md#enabling-sessions), el [modo apropiativo se utiliza automáticamente](sessions.md#preemptive-mode) para los procesos web. + - en caso contrario, se tendrá en cuenta la opción [**Utilizar procesos apropiativos**](webServerConfig.md#use-preemptive-processes). + - en lo que respecta a los procesos de servicios web (servidor o cliente), se soporta el modo apropiativo a nivel del método. You just have to select "Can be run in preemptive processes" property for published SOAP server methods (see [Publishing a Web Service with 4D](https://doc.4d.com/4Dv20/4D/20.2/Publishing-a-Web-Service-with-4D.300-6750334.en.html)) or proxy client methods (see [Subscribing to a Web Service in 4D](https://doc.4d.com/4Dv20/4D/20.2/Subscribing-to-a-Web-Service-in-4D.300-6750336.en.html)) and make sure they are confirmed thread-safe by the compiler. ## Escribir código servidor web hilo seguro diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R5/WebServer/qodly-studio.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R5/WebServer/qodly-studio.md index e12a225e2a5c2a..e03445acffe01c 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R5/WebServer/qodly-studio.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R5/WebServer/qodly-studio.md @@ -11,7 +11,7 @@ Qodly Studio for 4D se encuentra actualmente en la fase **Developer Preview**. N **Qodly Studio** es un creador de interfaces para aplicaciones web. Ofrece a los desarrolladores un editor gráfico de formularios para diseñar aplicaciones que se ejecutan en navegadores web o smartphones. Soporta de forma nativa los [objetos ORDA](../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**. +Puede utilizar Qodly Studio directamente desde su **entorno 4D** para crear interfaces modernas y sofisticadas que puede integrar fácilmente a sus proyectos 4D existentes y desplegar **in situ**. Qodly Studio también puede utilizarse en la [**plataforma Qodly Cloud**](https://qodly.com), dedicada al desarrollo de aplicaciones profesionales web. @@ -155,7 +155,7 @@ Los siguientes comandos y clases están dedicados a la gestión del lado del ser - Comando [`Web Form`](../API/WebFormClass.md#web-form): devuelve el formulario Qodly como un objeto. - Comando [`Web Event`](../API/WebFormClass.md#web-event): devuelve los eventos desencadenados dentro de los componentes de formulario Qodly. - Clase [`WebForm`](../API/WebFormClass.md): funciones y propiedades para gestionar el formulario Qodly renderizado. -- [`WebFormItem`](../API/WebFormItemClass.md) class: functions and properties to manage Qodly form components. +- Clase [`WebFormItem`](../API/WebFormItemClass.md): funciones y propiedades para gestionar los componentes del formulario Qodly. ### Uso métodos proyecto @@ -175,7 +175,7 @@ Puede desarrollar con Qodly Studio mientras su ordenador no esté conectado a In ### Activación del renderizado -Qodly Studio encapsulates Qodly forms, including layout, data connections, and event-driven logic, in a structured JSON file. Este archivo JSON es procesado sobre la marcha por el renderizador **Qodly** para servir una página web completamente funcional. +Qodly Studio encapsula los formularios de Qodly, incluyendo el diseño, las conexiones de datos y la lógica basada en eventos, en un archivo JSON estructurado. Este archivo JSON es procesado sobre la marcha por el renderizador **Qodly** para servir una página web completamente funcional. :::info @@ -190,13 +190,13 @@ Para habilitar el renderizado de formularios Qodly, deben configurarse las sigui :::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. +[Los botones de renderización](https://developer.qodly.com/docs/studio/rendering#how-to-render-a-webform) no están disponibles si las opciones de configuración no están activas. ::: ### Alcance de los formularios Qodly -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). Ver también [este párrafo](#about-license_usage) sobre los esquemas de URL y el uso de licencias. +Al renderizar formularios Qodly en el Qodly Studio, el renderizador se conectará al servidor web 4D a través de HTTP o HTTPS, dependiendo de la configuración, siguiendo el mismo patrón de conexión HTTP/HTTPS que para el [servidor web WebAdmin 4D] (../Admin/webAdmin.md#accept-http-connections-on-localhost). Ver también [este párrafo](#about-license_usage) sobre los esquemas de URL y el uso de licencias. Tenga en cuenta que Qodly Studio se ejecuta a través del servidor web 4D WebAdmin. Cuando utiliza Qodly Studio como desarrollador, incluso cuando previsualiza un formulario Qodly en el estudio, está utilizando el servidor web 4D WebAdmin. Esto le permite ver, por ejemplo, clases de datos, funciones y atributos que no están expuestos como recursos REST (aparecen en gris). @@ -222,11 +222,11 @@ https://www.myWebSite.com/$lib/renderer/?w=welcome ## Forzar inicio de sesión -With Qodly Studio for 4D, you can use the ["force login" mode](../REST/authUsers.md#force-login-mode) 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. +Con Qodly Studio for 4D, puede utilizar el modo ["forzar inicio de sesión"](../REST/authUsers.md#force-login-mode) para controlar el número de sesiones web abiertas que requieren licencias 4D Client. También puede [cerrar la sesión](#logout) del usuario en cualquier momento para disminuir el número de licencias retenidas. ### Definir el modo de inicio de sesión forzado -You can set the ["force login" mode](../REST/authUsers.md#force-login-mode) for your 4D application in the [Roles and Privileges page](https://developer.qodly.com/docs/studio/roles/rolesPrivilegesOverview/), using the **Force login** option: +Puede definir el [modo "inicio de sesión forzado"](../REST/authUsers.md#force-login-mode) para su aplicación 4D en la página de [Roles y Privilegios](https://developer.qodly.com/docs/studio/roles/rolesPrivilegesOverview/), utilizando la opción **Force login**: ![alt-text](../assets/en/WebServer/forcelogin.png) @@ -236,7 +236,7 @@ También puede definir esta opción directamente en el archivo [**roles.json**]( ::: -When the "force login" mode is **disabled** (default mode), any REST request, including the rendering of an authentication Qodly form, creates a web session on the server and gets a 4D Client license, whatever the actual result of the authentication. When the "force login" mode is **enabled**, a simple authentication Qodly form can be rendered without consuming any license. Basta con implementar la función [`authentify()`](../REST/authUsers.md#function-authentify) en la clase datastore y llamarla desde el formulario de Qodly. La licencia se consume solo cuando el usuario está realmente conectado. +Cuando el modo "forzar el inicio de sesión" está **desactivado** (modo por defecto), cualquier solicitud REST, incluida la presentación de un formulario Qodly de autenticación, crea una sesión web en el servidor y obtiene una licencia 4D Client, sea cual sea el resultado real de la autenticación. Cuando el modo "forzar inicio de sesión" está **activado**, se puede mostrar un formulario Qodly de autenticación simple sin consumir ninguna licencia. Basta con implementar la función [`authentify()`](../REST/authUsers.md#function-authentify) en la clase datastore y llamarla desde el formulario de Qodly. La licencia se consume solo cuando el usuario está realmente conectado. :::info @@ -287,11 +287,11 @@ Al desencadenar la acción de cierre de sesión de una sesión de usuario web, s - la sesión de usuario web actual pierde sus privilegios, sólo se permiten [peticiones REST descriptivas](../REST/authUsers.md#descriptive-rest-requests), - se libera la licencia asociada de 4D, -- the `Session.storage` is kept until the web session inactivity timeout is reached (at least one hour). Durante este periodo tras un cierre de sesión, si el usuario vuelve a iniciar sesión, se utiliza la misma sesión y el objeto compartido `Session.storage` está disponible con su contenido actual. +- el tiempo de espera de 'Session.storage' se mantiene hasta que se alcanza el tiempo de inactividad de la sesión web (al menos una hora). Durante este periodo tras un cierre de sesión, si el usuario vuelve a iniciar sesión, se utiliza la misma sesión y el objeto compartido `Session.storage` está disponible con su contenido actual. ## Acerca del uso de licencias para renderización -In default mode when any form is rendered, or in "force login" mode when a form 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. +En modo predeterminado, cuando se renderiza cualquier formulario, o en el modo "force login" cuando se renderiza un formulario que maneja datos o llama a una función, debe tener una licencia disponible, ya que la renderización de los formularios Qodly apunta al servidor web principal de la base de datos del proyecto. ### Esquemas URL @@ -301,6 +301,12 @@ Como se explica en la sección [configuración](#configuration), el servidor web Si ejecuta el renderizador desde Qodly Studio y no se accede a estos dos servidores web a través del mismo esquema de URL (HTTP o HTTPS), es posible que el conteo de licencias sea incorrecto. +:::info + +El uso de diferentes esquemas también puede llevar a problemas de [sesión](sessions.md), como perder [privilegios](../ORDA/privileges.md) después de actualizar la página. + +::: + #### Ejemplo 1. Ejecuta Qodly Studio en un esquema URL HTTPS (por ejemplo, `https://127.0.0.1:7443/studio/`) diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R5/WebServer/sessions.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R5/WebServer/sessions.md index 5b339d15ae5c42..66d0c7d82d08ff 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R5/WebServer/sessions.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R5/WebServer/sessions.md @@ -7,7 +7,7 @@ El servidor web de 4D ofrece funciones integradas para la gestión de **sesiones Las sesiones web permiten: -- handle multiple requests simultaneously from the same web client through an unlimited number of preemptive processes (web sessions are **scalable**), +- manejar múltiples peticiones simultáneamente desde el mismo cliente web a través de un número ilimitado de procesos apropiativos (las sesiones web son **escalables**), - gestionar la sesión a través de un objeto `Session` y la [Session API](API/SessionClass.md), - almacenar y compartir datos entre procesos de un cliente web utilizando el [.storage](../API/SessionClass.md#storage) de la sesión, - asociar privilegios al usuario que ejecuta la sesión. @@ -17,7 +17,7 @@ Las sesiones web permiten: Las sesiones web se utilizan 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). +- llamadas a la [REST API](../REST/authUsers.md), que utilizan [datastores remotos](../ORDA/remoteDatastores.md) y [formularios Qodly](qodly-studio.md). ## Habilitando sesiones web @@ -28,7 +28,7 @@ La funcionalidad de gestión de sesiones puede ser activada y desactivada en su Esta opción está seleccionada por defecto en los nuevos proyectos. Sin embargo, se puede desactivar seleccionando la opción **Sin sesiones**, en cuyo caso las funcionalidades de la sesión web se desactivan (no hay ningún objeto `Session` disponible). -- Using the [`.scalableSession`](API/WebServerClass.md#scalablesession) property of the Web Server object (to pass in the _settings_ parameter of the [`.start()`](API/WebServerClass.md#start) function). En este caso, esta configuración anula la opción definida en la caja de diálogo Configuración del objeto Servidor Web (no se almacena en el disco). +- Usando la propiedad [`.scalableSession`](API/WebServerClass.md#scalablesession) del objeto Servidor Web (para pasar el parámetro _settings_ de la función [`.start()`](API/WebServerClass.md#start)). En este caso, esta configuración anula la opción definida en la caja de diálogo Configuración del objeto Servidor Web (no se almacena en el disco). > El comando `WEB SET OPTION` también puede establecer el modo de sesión para el servidor web principal. @@ -61,13 +61,13 @@ La creación de una sesión web para una petición REST puede requerir que una l ::: -The `Session` object of the current session can then be accessed through the [`Session`](API/SessionClass.md#session) command in the code of any web processes. +Se puede acceder al objeto `Session` de la sesión actual a través del comando [`Session`](API/SessionClass.md#session) en el código de todo proceso web. ![alt-text](../assets/en/WebServer/schemaSession.png) :::info -Los procesos web no suelen terminar, sino que se reciclan en un fondo común para ser más eficientes. Cuando un proceso termina de ejecutar una petición, se devuelve al pool y queda disponible para la siguiente petición. Since a web process can be reused by any session, [process variables](Concepts/variables.md#process-variables) must be cleared by your code at the end of its execution (using [`CLEAR VARIABLE`](https://doc.4d.com/4dv20/help/command/en/page89.html) for example). Esta limpieza es necesaria para cualquier información relacionada con el proceso, como una referencia a un archivo abierto. Esta es la razón por la que **se recomienda** utilizar el objeto [Sesión](API/SessionClass.md) cuando se quiera guardar información relacionada con la sesión. +Los procesos web no suelen terminar, sino que se reciclan en un fondo común para ser más eficientes. Cuando un proceso termina de ejecutar una petición, se devuelve al pool y queda disponible para la siguiente petición. Dado que un proceso web puede ser reutilizado por cualquier sesión, las [variables proceso](Concepts/variables.md#variables-de-proceso) deben ser borradas por su código al final de su ejecución (utilizando [`CLEAR VARIABLE`](https://doc.4d.com/4dv20/help/command/en/page89.html) por ejemplo). Esta limpieza es necesaria para cualquier información relacionada con el proceso, como una referencia a un archivo abierto. Esta es la razón por la que **se recomienda** utilizar el objeto [Sesión](API/SessionClass.md) cuando se quiera guardar información relacionada con la sesión. ::: @@ -84,7 +84,7 @@ Una sesión web escalable se cierra cuando: La vida útil de una cookie inactiva es de 60 minutos por defecto, lo que significa que el servidor web cerrará automáticamente las sesiones inactivas después de 60 minutos. -This timeout can be set using the [`.idleTimeout`](API/SessionClass.md#idletimeout) property of the `Session` object (the timeout cannot be less than 60 minutes) or the _connectionInfo_ parameter of the [`Open datastore`](../API/DataStoreClass.md#open-datastore) command. +Este tiempo de espera puede establecerse utilizando la propiedad [`.idleTimeout`](API/SessionClass.md#idletimeout) del objeto `Session` (el tiempo de espera no puede ser inferior a 60 minutos) o el parámetro _connectionInfo_ del comando [`Open datastore`](../API/DataStoreClass.md#open-datastore). Cuando se cierra una sesión web, si después se llama al comando [`Session`](API/SessionClass.md#session): @@ -102,7 +102,7 @@ Puede cerrar una sesión desde un formulario Qodly utilizando la función [**log Los privilegios pueden asociarse a sesiones de usuario web. En el servidor web, puede proporcionar un acceso o unas funcionalidades específicas en función de los privilegios de la sesión. -Puedes asignar privilegios utilizando la función [`.setPrivileges()`](API/SessionClass.md#setprivileges). In your code, you can check the session's privileges to allow or deny access using the [`.hasPrivilege()`](API/SessionClass.md#hasprivilege) function. Por defecto, las sesiones nuevas no tienen ningún privilegio: son sesiones **Invitadas** (la función [`.isGuest()`](API/SessionClass.md#isguest) devuelve true). +Puedes asignar privilegios utilizando la función [`.setPrivileges()`](API/SessionClass.md#setprivileges). En su código, puede comprobar los privilegios de la sesión para permitir o denegar el acceso utilizando la función [`.hasPrivilege()`](API/SessionClass.md#hasprivilege). Por defecto, las sesiones nuevas no tienen ningún privilegio: son sesiones **Invitadas** (la función [`.isGuest()`](API/SessionClass.md#isguest) devuelve true). Ejemplo: @@ -197,4 +197,4 @@ End if ## Ver también (entrada de blog) -[Scalable sessions for advanced web applications](https://blog.4d.com/scalable-sessions-for-advanced-web-applications/) +[Sesiones escalables para aplicaciones web avanzadas](https://blog.4d.com/scalable-sessions-for-advanced-web-applications/) diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R5/WebServer/templates.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R5/WebServer/templates.md index cc4ab2fd7671d8..e86692415c31df 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R5/WebServer/templates.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R5/WebServer/templates.md @@ -82,7 +82,7 @@ Internamente, el analizador funciona con cadenas UTF-16, pero los datos a analiz ## Acceso a los métodos 4D a través de la web -Executing a 4D method with `4DEACH`, `4DELSEIF`, `4DEVAL`, `4DHTML`, `4DIF`, `4DLOOP`, `4DSCRIPT`, or `4DTEXT` from a web request is subject to the [Available through 4D tags and URLs (4DACTION...)](allowProject.md) attribute value defined in the properties of the method. Si no se comprueba el atributo para el método, éste no puede ser llamado desde una petición web. +Ejecutar un método 4D con `4DEACH`, `4DELSEIF`, `4DEVAL`, `4DHTML`, `4DIF`, `4DLOOP`, `4DSCRIPT`, o `4DTEXT` desde una petición web está sujeto al valor del atributo [Disponible a través de etiquetas 4D y URLs (4DACTION...)](allowProject.md) definido en las propiedades del método. Si no se comprueba el atributo para el método, éste no puede ser llamado desde una petición web. ## Prevención de la inserción de códigos maliciosos @@ -90,4 +90,4 @@ Las etiquetas 4D aceptan diferentes tipos de datos como parámetros: texto, vari En este caso, es aconsejable **no utilizar** etiquetas como `4DEVAL` o `4DSCRIPT`, que evalúan parámetros, directamente con este tipo de datos. -In addition, according to the [principle of recursion](../Tags/transformation-tags.md#recursive-processing), malicious code may itself include transformation tags. En este caso, es imprescindible utilizar la etiqueta `4DTEXT`. Imagine, por ejemplo, un campo de formulario web llamado "Name", donde los usuarios deben introducir su nombre. Este nombre se muestra mediante una etiqueta `` en la página. Si se inserta un texto del tipo "\" en lugar del nombre, la interpretación de esta etiqueta provocará la salida de la aplicación. Para evitar este riesgo, basta con utilizar sistemáticamente la etiqueta `4DTEXT` en este caso. Como esta etiqueta escapa a los caracteres especiales de HTML, cualquier código recursivo malicioso que pueda haberse insertado no será reinterpretado. To refer to the previous example, the "Name" field will contain, in this case, "`<!--#4DEVAL QUIT 4D-->`" which will not be transformed. +Además, de acuerdo con el [principio de recursividad](../Tags/transformation-tags.md#recursive-processing), el código malicioso puede incluir etiquetas de transformación. En este caso, es imprescindible utilizar la etiqueta `4DTEXT`. Imagine, por ejemplo, un campo de formulario web llamado "Name", donde los usuarios deben introducir su nombre. Este nombre se muestra mediante una etiqueta `` en la página. Si se inserta un texto del tipo "\" en lugar del nombre, la interpretación de esta etiqueta provocará la salida de la aplicación. Para evitar este riesgo, basta con utilizar sistemáticamente la etiqueta `4DTEXT` en este caso. Como esta etiqueta escapa a los caracteres especiales de HTML, cualquier código recursivo malicioso que pueda haberse insertado no será reinterpretado. Para referirse al ejemplo anterior, el campo "Nombre" contendrá, en este caso, "`<! -#4DEVAL QUIT 4D-->`" que no será transformado. diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R5/WebServer/webServer.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R5/WebServer/webServer.md index d49cfd0bbdc13e..c724c51ad0d993 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R5/WebServer/webServer.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R5/WebServer/webServer.md @@ -22,7 +22,7 @@ La seguridad de los datos está presente en todas las etapas de las implementaci - Soporte extendido del [**Protocolo TLS (HTTPS)**](../Admin/tls.md), -- **Authentication**: flexible and customizable [authentication features](authentication.md) based upon built-it settings as well as fallback database methods ([`On Web Authentication`](authentication.md#on-web-authentication) for the web server and [`On REST Authentication`](../REST/configuration.md#using-the-on-rest-authentication-database-method) for the REST server), +- **Autenticación**: flexible y personalizable [funcionalidades de autenticación](authentication.md) basado en configuraciones creadas así como en métodos base de reserva ([`On Web Authentication`](autentication. d#on-web-authation) para el servidor web y [`On REST Authentication`](../REST/configuration.md#using-the-on-rest-authentication-database-method) para el servidor REST), - **Control de los contenidos expuestos**: sólo los elementos que exponga explícitamente pueden estar disponibles desde peticiones web directaso peticiones REST. Debe declarar: - [Los métodos proyecto](templates.md#allowing-project-methods) expuestos a través de peticiones HTTP diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R5/WebServer/webServerAdmin.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R5/WebServer/webServerAdmin.md index c45cea60a508ca..e2cc1da067dbe8 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R5/WebServer/webServerAdmin.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R5/WebServer/webServerAdmin.md @@ -14,14 +14,14 @@ Un proyecto 4D puede iniciar y monitorizar un servidor web para la aplicación p El servidor web principal de 4D puede iniciarse de diferentes maneras: - Utilizando un botón o comando de menú. - - 4D: **Run\>Start Web Server** menu- The default value (100) can be increased or decreased depending on the resources of the machine hosting the 4D Web Server.
+- **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. Limitar el número de peticiones por conexión le permite evitar la inundación del servidor debido a un gran número de peticiones entrantes (una técnica utilizada por los hackers).+ El valor por defecto (100) puede aumentarse o disminuirse en función de los recursos de la máquina que aloja el Servidor Web 4D.
- **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 transcurrido este periodo, el servidor cierra la conexión.Si el navegador envía una solicitud después de que se haya cerrado 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-R5/WebServer/webServerObject.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R5/WebServer/webServerObject.md index 283b597448d54a..8b4bd86bb577d0 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R5/WebServer/webServerObject.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R5/WebServer/webServerObject.md @@ -34,15 +34,15 @@ $nbSrv:=WEB Server list.length //el valor de $nbSrv es 1 ``` -To instantiate a web server object, call the [`WEB Server`](API/WebServerClass.md#web-server) command: +Para instanciar un objeto servidor web, llame al comando [`WEB Server`](API/WebServerClass.md#web-server): ```4d - //create an object variable of the 4D.WebServer class +//crear una variable objeto de la clase 4D.WebServer var webServer : 4D.WebServer - //call the web server from the current context + //llamar al servidor web desde el contexto actual webServer:=WEB Server - //equivalent to + //equivalente a webServer:=WEB Server(Web server database) ``` @@ -55,9 +55,9 @@ también se puede utilizar: ```4d var webServer : 4D.WebServer - //call the host web server from a component + //llamar al servidor web local desde un componente webServer:=WEB Server(Web server host database) - //call the target web server + //llamar al servidor web objetivo webServer:=WEB Server(Web server receiving request) ``` @@ -74,13 +74,13 @@ Para iniciar y detener un servidor web, basta con llamar a las funciones [`start ```4d var $status : Object - //to start a web server with default settings + //para iniciar un servidor web con los parámetros por defecto $status:=webServer.start() - //to start the web server with custom settings + //para iniciar el servidor web con los parámetros personalizados //$settings object contains web server properties webServer.start($settings) - //to stop the web server + //para detener el servidor web $status:=webServer.stop() ``` @@ -95,9 +95,9 @@ Estas propiedades son definidas: 3. si no se utiliza, en los parámetros de la aplicación local o del componente. - Si el servidor web no se inicia, las propiedades contienen los valores que se utilizarán en el próximo inicio del servidor web. -- If the web server is started, the properties contain the actual values used by the web server (default settings could have been overriden by the `settings` parameter of the [`.start()`](API/WebServerClass.md#start) function. +- Si se inicia el servidor web, las propiedades contienen los valores reales utilizados por el servidor web (la configuración predeterminada podría haber sido anulada por el parámetro `settings` de la función [`.start()`](API/WebServerClass.md#start). -> _isRunning_, _name_, _openSSLVersion_, and _perfectForwardSecrecy_ are read-only properties that cannot be predefined in the `settings` object parameter for the [`start()`](API/WebServerClass.md#start) function. +> _isRunning_, _name_, _openSSLVersion_, y _perfectForwardSecrecy_ son propiedades de sólo lectura que no pueden predefinirse en el parámetro del objeto `settings` para la función [`start()`](API/WebServerClass.md#start). ## Alcance de los comandos 4D Web diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R5/settings/client-server.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R5/settings/client-server.md index b616f4dae4411b..1ed1e15b8d1022 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R5/settings/client-server.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R5/settings/client-server.md @@ -24,7 +24,7 @@ Si modifica este parámetro, deberá reiniciar la base del servidor para que se #### Nombre de publicación -This option lets you change the publication name of a 4D Server database, _i.e._, the name displayed on the dynamic **Available** tab of the connection dialog box (see the [Opening a remote project](../Desktop/clientServer/md#opening-a-remote-project) paragraph). Por defecto, 4D Server utiliza el nombre del archivo de proyecto. Puede introducir cualquier nombre personalizado que desee. +Esta opción permite modificar el nombre de publicación de una base 4D Server, _es decir_, el nombre que aparece en la pestaña dinámica **Disponible** de la caja de diálogo de conexión (ver el párrafo [Apertura de un proyecto remoto](../Desktop/clientServer/md#opening-a-remote-project)). Por defecto, 4D Server utiliza el nombre del archivo de proyecto. Puede introducir cualquier nombre personalizado que desee. :::note @@ -52,16 +52,17 @@ Para actualizar las otras máquinas clientes que no estén conectadas, basta con - **SQL Server**: 19812 por defecto (puede modificarse a través de la página "SQL/Configuración" de las Preferencias). - **Servidor de aplicaciones**: 19813 por defecto (puede modificarse a través de la página "Cliente-Servidor/Configuración" de las Preferencias, ver arriba). - **Servidor DB4D** (servidor de base de datos): 19814 por defecto. This port number cannot be modified directly but it always consists of the application server port number + 1.\ - When a 4D client connects to 4D Server, it uses the TCP port of the application server (19813 or the port indicated after the colon ':' in the IP address shown in the connection dialog box). Connection to other servers via their respective ports is then automatic; it is no longer necessary to specify them.\ - Note that in the case of access via a router or a firewall, the three TCP ports must be opened explicitly. + When a 4D client connects to 4D Server, it uses the TCP port of the application server (19813 or the port indicated after the colon ':' in the IP address shown in the connection dialog box). La conexión a otros servidores a través de sus respectivos puertos es entonces automática; ya no es necesario especificarlos.\ + Tenga en cuenta que en caso de acceso a través de un enrutador o un cortafuegos, los tres puertos TCP deben abrirse explícitamente. +- [**Depurador remoto**](../Debugging/debugging-remote.md): 19815 por defecto. Este número de puerto no puede modificarse directamente, pero siempre consta del número de puerto del servidor de aplicaciones + 2. #### Autenticación del usuario con el servidor de dominio -Esta opción le permite implementar las funcionalidades SSO (_Single Sign On_) en su base de datos 4D Server en Windows. Al marcar esta opción, 4D se conecta de forma transparente al directorio Active del servidor de dominio Windows y obtiene los tokens de autenticación disponibles. This option is described in the [Single Sign On (SSO) on Windows](https://doc.4d.com/4Dv20R5/4D/20-R5/Single-Sign-On-SSO-on-Windows.300-6932709.en.html) section. +Esta opción le permite implementar las funcionalidades SSO (_Single Sign On_) en su base de datos 4D Server en Windows. Al marcar esta opción, 4D se conecta de forma transparente al directorio Active del servidor de dominio Windows y obtiene los tokens de autenticación disponibles. Esta opción se describe en la sección [Single Sign On (SSO) en Windows](https://doc.4d.com/4Dv20R5/4D/20-R5/Single-Sign-On-SSO-on-Windows.300-6932709.en.html). #### Service Principal Name -Cuando la autenticación única (SSO) está activa (ver arriba), debe llenar este campo si desea utilizar Kerberos como protocolo de autenticación. This option is described in the [Single Sign On (SSO) on Windows](https://doc.4d.com/4Dv20R5/4D/20-R5/Single-Sign-On-SSO-on-Windows.300-6932709.en.html) section. +Cuando la autenticación única (SSO) está activa (ver arriba), debe llenar este campo si desea utilizar Kerberos como protocolo de autenticación. Esta opción se describe en la sección [Single Sign On (SSO) en Windows](https://doc.4d.com/4Dv20R5/4D/20-R5/Single-Sign-On-SSO-on-Windows.300-6932709.en.html). #### Capa de red @@ -107,7 +108,7 @@ Esta opción permite activar el modo seguro para las comunicaciones entre la má #### Actualizar la carpeta Resources durante una sesión -This setting can be used to globally set the updating mode for the local instance of the **Resources** folder on the connected 4D machines when the **Resources** folder of the database is modified during the session (the **Resources** folder is automatically synchronized on the remote machine each time a session is opened). Hay tres parámetros disponibles: +Este parámetro puede utilizarse para definir globalmente el modo de actualización de la instancia local de la carpeta **Resources** en los equipos 4D conectados cuando se modifica la carpeta **Resources** de la base de datos durante la sesión (la carpeta **Resources** se sincroniza automáticamente en el equipo remoto cada vez que se abre una sesión). Hay tres parámetros disponibles: - **Nunca**: la carpeta local **Resources** no se actualiza durante la sesión. La notificación enviada por el servidor es ignorada. La carpeta **Resources** local puede actualizarse manualmente mediante el comando **Update Local Resources** del menú de acción (ver [Uso del explorador de recursos](https://doc.4d.com/4Dv19/4D/19/Using-the-Resources-explorer.300-5416788.en.html)). - **Siempre**: la sincronización de la carpeta local **Resources** se realiza automáticamente durante la sesión cada vez que el servidor envía una notificación. diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R5/settings/compatibility.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R5/settings/compatibility.md index 5bb3bae0a78be9..91cc4480894662 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R5/settings/compatibility.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R5/settings/compatibility.md @@ -6,7 +6,7 @@ title: Página de compatibilidad La página Compatibilidad agrupa los parámetros relacionados con el mantenimiento de la compatibilidad con versiones anteriores de 4D. > El número de opciones mostradas depende de la versión de 4D con la que se creó la base de datos/proyecto original, así como de los ajustes modificados en esta base de datos/proyecto.\ -> Esta página enumera las opciones de compatibilidad disponibles para las bases de datos/proyectos convertidos a partir de 4D v18. Para las opciones de compatibilidad más antiguas, consulte la [página Compatibilidad](https://doc.4d.com/4Dv19R3/4D/19-R3/Compatibility-page.300-5612610.en.html) en **doc.4d.com**. +> Esta página enumera las opciones de compatibilidad disponibles para las bases de datos/proyectos convertidos a partir de 4D v18. Para las opciones de compatibilidad más antiguas, consulte la [página Compatibilidad](https://doc.4d.com/4Dv20/4D/20.2/Compatibility-page.300-6750362.en.html) en **doc.4d.com**. - **Utilizar la capa de red heredada**: a partir de 4D v15, las aplicaciones 4D proponen una nueva capa red, llamada _ServerNet_, para manejar las comunicaciones entre 4D Server y las máquinas 4D remotas (clientes). La antigua capa de red ha quedado obsoleta, pero se mantiene para garantizar la compatibilidad con las bases existentes. Utilizando esta opción, puede activar la antigua capa de red en cualquier momento en sus aplicaciones 4D Server dependiendo de sus necesidades. _ServerNet_ se utiliza automáticamente para las nuevas bases y las bases convertidas a partir de una versión v15 o posterior. Tenga en cuenta que, en caso de modificación, deberá reiniciar la aplicación para que se tenga en cuenta el cambio. Toda aplicación cliente que estuviera conectada también debe reiniciarse para poder conectarse con la nueva capa de red. **Nota**: esta opción también puede gestionarse por programación utilizando el comando `SET DATABASE PARAMETER`. @@ -27,4 +27,4 @@ La página Compatibilidad agrupa los parámetros relacionados con el mantenimien - **Impresión sin bloqueo**: a partir de 4D v20 R4, cada proceso tiene sus propias configuraciones de impresión (opciones de impresión, impresora actual, etc.), lo que le permite ejecutar múltiples trabajos de impresión simultáneamente. Marque esta opción si desea beneficiarse de esta nueva implementación en sus proyectos 4D convertidos o bases de datos convertidas de modo binario a modo proyecto. **Si se deja sin marcar**, se aplica la implementación anterior: la configuración actual de impresión 4D se aplica globalmente, la impresora se pone en modo "ocupado" cuando hay un trabajo de impresión en marcha, se debe llamar a `CLOSE PRINTING JOB` para que la impresora esté disponible para el siguiente trabajo de impresión (consulte la documentación anterior de 4D para más información). -- **Save structure color and coordinates in separate catalog_editor.json file**: Starting with 4D v20 R5, changes made in the Structure editor regarding graphical appearance of tables and fields (color, position, order...) se guardan en un archivo independiente llamado `catalog_editor.json`, almacenado en la carpeta [Sources] del proyecto(../Project/architecture.md#sources). Esta nueva arquitectura de archivos facilita la gestión de conflictos en aplicaciones VCS, ya que el archivo `catalog.4DCatalog` ahora contiene sólo cambios cruciales en la estructura de la base de datos. Por razones de compatibilidad, esta funcionalidad no está habilitada por defecto en proyectos convertidos de versiones anteriores de 4D, necesita marcar esta opción. Cuando la función está habilitada, el archivo `catalog_editor.json` se crea en la primera modificación en el editor de estructuras. +- **Guardar el color y las coordenadas de la estructura en un archivo catalog_editor.json separado**: a partir de 4D v20 R5, cambios realizados en el editor de estructura en relación a la apariencia gráfica de tablas y campos (color, posición, orden...) se guardan en un archivo independiente llamado `catalog_editor.json`, almacenado en la carpeta [Sources] del proyecto(../Project/architecture.md#sources). Esta nueva arquitectura de archivos facilita la gestión de conflictos en aplicaciones VCS, ya que el archivo `catalog.4DCatalog` ahora contiene sólo cambios cruciales en la estructura de la base de datos. Por razones de compatibilidad, esta funcionalidad no está habilitada por defecto en proyectos convertidos de versiones anteriores de 4D, necesita marcar esta opción. Cuando la función está habilitada, el archivo `catalog_editor.json` se crea en la primera modificación en el editor de estructuras. diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R5/settings/database.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R5/settings/database.md index 03a8dc9a796286..5148b060364464 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R5/settings/database.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R5/settings/database.md @@ -35,7 +35,7 @@ Se ofrecen tres opciones de ubicación: - **Carpeta de archivos de datos** (opción por defecto): cuando se selecciona esta opción, los archivos temporales 4D se crean en una carpeta llamada "archivos temporales" situada en el mismo nivel que el archivo de datos de la base de datos. - **Definido por el usuario**: esta opción se utiliza para definir una ubicación personalizada. Si se modifica la opción de ubicación, será necesario reiniciar la base para que se tenga en cuenta la nueva opción. 4D verifica si se puede acceder a la carpeta seleccionada mediante escritura. Si no es así, la aplicación prueba otras opciones hasta encontrar una carpeta válida. -> This option is stored in the "extra properties" of the structure that is available when the structure definition is exported in XML (see [Exporting and importing structure definitions](https://doc.4d.com/4Dv19/4D/19/Exporting-and-importing-structure-definitions.300-5416829.en.html)). +> Esta opción se almacena en las "propiedades adicionales" de la estructura, accesibles durante la exportación XML de la definición de estructura (ver [Exportar e importar las definiciones de estructura](https://doc.4d.com/4Dv19/4D/19/Exporting-and-importing-structure-definitions.300-5416829.en.html)). ### Comparación de texto @@ -85,16 +85,16 @@ Utilice los parámetros de esta pestaña para configurar la memoria caché de la - **Cálculo de la caché adaptable**: cuando esta opción está marcada, la gestión de la memoria caché es realizada dinámicamente por el sistema, respetando los límites que defina. Esto permite configurar una memoria caché de alto rendimiento adaptada a la mayoría de las configuraciones. A continuación, el tamaño de la memoria caché se calcula dinámicamente en función de los parámetros definidos. Los valores ofrecidos por defecto corresponden al uso estándar de 4D. - **Memoria a reservar para el sistema y las otras aplicaciones**: parte de la memoria RAM a reservar para el Sistema y las otras aplicaciones. Este valor aumenta para la optimización cuando otras aplicaciones se ejecutan en la misma máquina que 4D. - - **Percentage of available memory used for cache**: Percentage of the remaining memory allocated to the cache by default.\ - To obtain the size allocated by default to the cache, simply perform the following calculation: (Physical memory -- Physical memory to be reserved) X Percentage of the memory used for the cache. En el modo adaptativo, el tamaño de la memoria caché varía dinámicamente en función de las necesidades de la aplicación y del sistema. Puede definir los límites utilizando las siguientes dos opciones: + - **Porcentaje de memoria disponible utilizada para la caché**: porcentaje de la memoria restante asignada por defecto a la caché.\ + Para obtener el tamaño asignado por defecto a la caché, basta con realizar el siguiente cálculo: (Memoria física -- Memoria física a reservar) X Porcentaje de la memoria utilizada para la caché. En el modo adaptativo, el tamaño de la memoria caché varía dinámicamente en función de las necesidades de la aplicación y del sistema. Puede definir los límites utilizando las siguientes dos opciones: - **Tamaño mínimo**: cantidad mínima de memoria que debe reservarse para la caché. Este valor no puede ser inferior a 100 MB. - - **Tamaño máximo**: cantidad máxima de memoria que puede utilizar la caché. This value is virtually unlimited.\\ - Setting limits is particularly useful for databases that are distributed on machines for which you do not know the memory configuration a priori. En este caso, los límites definidos permiten garantizar un rendimiento mínimo en todos los casos. El siguiente diagrama ilustra este comportamiento: + - **Tamaño máximo**: cantidad máxima de memoria que puede utilizar la caché. Este valor es prácticamente ilimitado.\\ + Definir límites es especialmente útil para bases distribuidas en máquinas de las que no se conoce a priori la configuración de memoria. En este caso, los límites definidos permiten garantizar un rendimiento mínimo en todos los casos. El siguiente diagrama ilustra este comportamiento: - Example for calculating cache memory: - _Physical memory to reserve = 256 MB - Percentage of the available memory used for the cache = 50% - Maximum size = 1 GB Minimum size = 128 MB_ + Ejemplo de cálculo de la memoria caché: + _Memoria física a reservar = 256 MB + Porcentaje de la memoria disponible utilizado para la caché = 50% + Tamaño máximo = 1 GB Tamaño mínimo = 128 MB_ ![](../assets/en/settings/memory-maximum-size.png) diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R5/settings/interface.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R5/settings/interface.md index 44122afac7492f..402a12b8ff601e 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R5/settings/interface.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R5/settings/interface.md @@ -17,7 +17,7 @@ Haga clic en **Seleccionar...** para definir la fuente y el tamaño de los carac La fuente y el tamaño de la fuente por defecto dependen de la plataforma de ejecución de 4D. -> This property also affects the following parts of 4D:Tipo de objeto | Descripción |
---|---|
Cadena | Ruta de acceso del atributo expresado utilizando la notación de punto, por ejemplo, "name" o "user.address.zipCode" |
Colección de cadenas | Cada cadena de la colección representa un nivel de attributePath, por ejemplo, \["name"] o \["user","address","zipCode"]. Using a collection allows querying on attributes with names that are not compliant with dot notation, e.g. \["4Dv17.1","en/fr"] |
Tipo de objeto | Descripción |
---|---|
Cadena | Ruta de acceso del atributo expresado utilizando la notación de punto, por ejemplo, "name" o "user.address.zipCode" |
Colección de cadenas | Cada cadena de la colección representa un nivel de attributePath, por ejemplo, \["name"] o \["user","address","zipCode"]. El uso de una colección permite realizar consultas sobre atributos con nombres que no se ajustan a la notación de puntos, por ejemplo, \["4Dv17.1", "en/fr"] |
Tipo de datos | Descripción |
---|---|
Cadena | attributePath expresado utilizando la notación de puntos, por ejemplo "name" o "user.address.zipCode" |
Colección de cadenas | Cada cadena de la colección representa un nivel de attributePath, por ejemplo, \["name"] o \["user","address","zipCode"]. Using a collection allows querying on attributes with names that are not compliant with dot notation, e.g. \["4Dv17.1","en/fr"] |
Tipo de datos | Descripción |
---|---|
Cadena | attributePath expresado utilizando la notación de puntos, por ejemplo "name" o "user.address.zipCode" |
Colección de cadenas | Cada cadena de la colección representa un nivel de attributePath, por ejemplo, \["name"] o \["user","address","zipCode"]. El uso de una colección permite realizar consultas sobre atributos con nombres que no se ajustan a la notación de puntos, por ejemplo, \["4Dv17.1", "en/fr"] |
**Note**: When an object of the Text or Group Box type is selected, pressing the **Enter** key lets you switch to editing mode.
| +| ![](../assets/en/FormEditor/selection.png) | [Selection tool](#selecting-objects) | Permite seleccionar, desplazar y cambiar el tamaño de los objetos del formulario.**Nota**: cuando se selecciona un objeto de tipo Texto o Cuadro de Grupo, presionando la tecla **Enter** se pasa al modo edición.
| | ![](../assets/en/FormEditor/zOrder.png) | [Orden de entrada](#orden-de-entrada) | Pasa al modo "Orden de entrada", donde es posible ver y cambiar el orden de entrada actual del formulario. Tenga en cuenta que las marcas permiten ver el orden de entrada actual, sin dejar de trabajar en el formulario. | | ![](../assets/en/FormEditor/moving.png) | [Moving](#moving-objects) | Pasa al modo " Desplazamiento ", en el que es posible llegar rápidamente a cualquier parte del formulario utilizando la función de arrastrar y soltar en la ventana. El cursor toma la forma de una mano. Este modo de navegación es especialmente útil cuando se hace zoom en el formulario. | | ![](../assets/en/FormEditor/zoom.png) | [Zoom](#zoom) | Permite modificar la escala de visualización del formulario (100% por defecto). Puede pasar al modo "Zoom" haciendo clic en la lupa o pulsando directamente en la barra correspondiente a la escala deseada. Esta función se detalla en la sección anterior. | -| ![](../assets/en/FormEditor/alignment.png) | [Alignment](#aligning-objects) | Este botón está asociado a un menú que permite alinear los objetos en el formulario. It is enabled (or not) depending on the objects selected.Available only with CSS Preview None
| -| ![](../assets/en/FormEditor/distribution.png) | [Distribution](#distributing-objects) | Este botón está asociado a un menú que permite repartir los objetos en el formulario. It is enabled (or not) depending on the objects selected.Available only with CSS Preview None
| +| ![](../assets/en/FormEditor/alignment.png) | [Alignment](#aligning-objects) | Este botón está asociado a un menú que permite alinear los objetos en el formulario. It is enabled (or not) depending on the objects selected.(Icono de distribución horizontal estándar)
El área de ejemplo muestra los resultados de su selección. -4. Para realizar una distribución que utiliza el esquema estándar, haga clic en **Vista previa** o *Aplicar*.En este caso, 4D realizará una distribución estándar para que los objetos estén espaciados de manera equitativa entre ellos.
O bien:para ejecutar una distribución específica, seleccione la opción **Distribuir** (por ejemplo, si desea distribuir los objetos en función de la distancia a su lado derecho). Esta opción actúa como un interruptor. If the Distribute check box is selected, the icons located below it perform a different function:
+4. Para realizar una distribución que utiliza el esquema estándar, haga clic en **Vista previa** o *Aplicar*.En este caso, 4D realizará una distribución estándar para que los objetos estén espaciados de manera equitativa entre ellos.
O bien:para ejecutar una distribución específica, seleccione la opción **Distribuir** (por ejemplo, si desea distribuir los objetos en función de la distancia a su lado derecho). Esta opción actúa como un interruptor. Si la casilla de selección Distribuir está seleccionada, los iconos situados debajo de ella realizan una función diferente:
- Horizontalmente, los iconos corresponden a las siguientes distribuciones: uniformemente con respecto a los lados izquierdos, centros (hor.) y los lados derechos de los objetos seleccionados. - Verticalmente, los iconos corresponden a las siguientes distribuciones: uniformemente con respecto a los bordes superiores, centros (vert.) y los bordes inferiores de los objetos seleccionados. diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R6/FormEditor/forms.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R6/FormEditor/forms.md index 77fdacc2aa5700..fc6213c6648451 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R6/FormEditor/forms.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R6/FormEditor/forms.md @@ -117,7 +117,7 @@ Este orden determina el [orden de entrada](../FormEditor/formEditor.html#data-en Las propiedades y el método de un formulario no se tienen en cuenta cuando ese formulario se utiliza como formulario heredado. Por otro lado, se llaman los métodos de los objetos que contiene. -To define an inherited form, the [Inherited Form Name](properties_FormProperties.md#inherited-form-name) and [Inherited Form Table](properties_FormProperties.md#inherited-form-table) (for table form) properties must be defined in the form that will inherit something from another form. +Para definir un formulario heredado, el [nombre del formulario heredado](properties_FormProperties.md#inherited-form-name) y la [Tabla de formularios heredada](properties_FormProperties.md#inherited-form-table) (para el formulario tabla) las propiedades deben definirse en la forma que heredará algo de otro formulario. Un formulario puede heredar de un formulario proyecto, definiendo la propiedad [Inherited Form Table](properties_FormProperties.md#inherited-form-table) en `\- This means that the **Encryptable** status for at least one table has been modified and the data file still has not been encrypted. - \*\*Note: \*\*The same message is displayed when the **Encryptable** status has been modified in an already encrypted data file or after the data file has been decrypted (see below).
+ Esto significa que el estado **Encriptable** de al menos una tabla ha sido modificado y el archivo de datos aún no ha sido encriptado. + \*\*Nota: \*\*El mismo mensaje se muestra cuando el estado **Encriptable** se ha modificado en un archivo de datos ya encriptado o después de que el archivo de datos haya sido desencriptado (ver más abajo). 3. Haga clic en el botón imagen Cifrar.\ ![](../assets/en/MSC/MSC_encrypt3.png)\ You will be prompted to enter a passphrase for your data file: @@ -82,7 +82,7 @@ Esta operación es útil cuando se ha modificado el atributo **Encriptable** de 1. Haga clic en **Recibir los datos con la llave de cifrado actual**. 2. Introduzca la llave de encriptación de datos actual. -The data file is properly re-encrypted with the current key and a confirmation message is displayed: +El archivo de datos se vuelve a cifrar correctamente con la llave actual y se muestra un mensaje de confirmación: ![](../assets/en/MSC/MSC_encrypt8.png) ### Cambiar la frase secreta y volver a encriptar los datos @@ -91,9 +91,9 @@ Esta operación es útil cuando se necesita cambiar la llave de datos de encript 1. Haga clic en **Cambiar su frase de contraseña y volver a cifrar los datos**. 2. Introduzca la llave de encriptación de datos actual. -3. Enter the new passphrase (for added security, you are prompted to enter it twice): +3. Ingrese la nueva frase de contraseña (para mayor seguridad, se le solicita ingresarla dos veces): ![](../assets/en/MSC/MSC_encrypt9.png) - The data file is encrypted with the new key and the confirmation message is displayed. + El archivo de datos se cifra con la nueva llave y se muestra el mensaje de confirmación. ![](../assets/en/MSC/MSC_encrypt8.png) ### Desencriptar todos los datos @@ -103,7 +103,7 @@ Esta operación elimina toda la codificación del archivo de datos. Si ya no des 1. Haga clic en **Desencriptar todos los datos**. 2. Introduzca la llave de encriptación de datos actual ( ver Suministrar la llave de encriptación de datos actual). -The data file is fully decrypted and a confirmation message is displayed: +El archivo de datos se descifra completamente y se muestra un mensaje de confirmación: ![](../assets/en/MSC/MSC_encrypt10.png) > Una vez descifrado el archivo de datos, el estado de cifrado de las tablas no coincide con sus atributos Encriptables. Para restablecer un estado coincidente, debe anular la selección de todos los atributos **Encriptable** al nivel de la estructura de la base. diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R6/MSC/information.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R6/MSC/information.md index b27a0f62183247..9760f66e747a34 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R6/MSC/information.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R6/MSC/information.md @@ -12,9 +12,9 @@ Esta página indica el nombre, la versión y la ubicación de la aplicación, as La parte central de la ventana indica el nombre y la ubicación del proyecto y de los os archivos de datos, así como también el archivo de historial (si lo hay). La parte inferior de la ventana indica el nombre del titular de la licencia 4D, el tipo de licencia y el nombre del usuario 4D actual. -- **Display and selection of pathnames**: On the **Program** tab, pathnames are displayed in pop-up menus containing the folder sequence as found on the disk:\ +- **Visualización y selección de nombres de ruta**: en la pestaña **Programa**, los nombres de ruta se muestran en menús emergentes que contienen la secuencia de carpetas tal y como se encuentran en el disco:\ ![](../assets/en/MSC/MSC_popup.png) - If you select a menu item (disk or folder), it is displayed in a new system window. + Si selecciona un elemento del menú (disco o carpeta), se muestra en una nueva ventana del sistema. El comando **Copiar la ruta** copia el nombre completo de la ruta en el portapapeles como texto, utilizando los separadores de la plataforma actual. - **"Licenses" Folder** The **"Licenses" Folder** button displays the contents of the active Licenses folder in a new system window. Todos los archivos de licencia instalados en su entorno 4D están agrupados en esta carpeta, en su disco duro. Cuando se abren con un navegador web, estos archivos muestran información sobre las licencias que contienen y sus características. @@ -53,7 +53,7 @@ La información se ofrece en forma gráfica: > Esta página no tiene en cuenta los datos que puedan estar almacenados fuera del archivo de datos (ver "Almacenamiento externo"). -Los archivos demasiado fragmentados reducen el rendimiento del disco y, por tanto, de la base. If the occupation rate is too low, 4D will indicate this by a warning icon (which is displayed on the Information button and on the tab of the corresponding file type) and specify that compacting is necessary:![](../assets/en/MSC/MSC_infowarn.png) +Los archivos demasiado fragmentados reducen el rendimiento del disco y, por tanto, de la base. Si la tasa de ocupación es demasiado baja, 4D lo indicará con un icono de advertencia (que aparece en el botón de información y en la pestaña del tipo de archivo correspondiente) y especificará que es necesario compactar:![](../assets/en/MSC/MSC_infowarn.png) También se muestra un icono de advertencia en el botón de la página [Compact](compact.md): ![](../assets/en/MSC/MSC_compactwarn.png) diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R6/MSC/overview.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R6/MSC/overview.md index 4facddae1b3a09..352f6b65739c0b 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R6/MSC/overview.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R6/MSC/overview.md @@ -16,18 +16,18 @@ En modo mantenimiento, sólo se muestra la ventana del CSM (el proyecto no es ab Puede abrir el CSM en modo mantenimiento desde dos lugares: -- **From the standard project opening dialog box** - The standard Open dialog includes the **Maintenance Security Center** option from the menu associated with the **Open** button: +- **Desde la ventana de diálogo estándar de apertura del proyecto** + La ventana de diálogo Abrir estándar incluye la opción **Centro de Seguridad de Mantenimiento** en el menú asociado con el botón **Abrir**: ![](../assets/en/MSC/MSC_standardOpen.png) -- **Help/Maintenance Security Center** menu or **MSC** button in the tool bar (project not open)\ +- **menú Ayuda/Mantenimiento Centro de seguridad** o botón **MSC** de la barra de herramientas (proyecto no abierto)\ ![](../assets/en/MSC/mscicon.png)\ - When you call this function, a standard Open file dialog appears so that you can select the *.4DProject* or *.4dz* file of the to be examined. El proyecto no será abierto por 4D. + Al llamar a esta función, aparece una caja de diálogo estándar Abrir archivo para que pueda seleccionar el archivo *.4DProject* o *.4dz* del que desea examinar. El proyecto no será abierto por 4D. ## Acceso al modo estándar En modo estándar, un proyecto se abre. En este modo, algunas funciones de mantenimiento no están disponibles. Tiene varias posibilidades para acceder a la ventana del CSM: -- Use the **Help/Maintenance Security Center** menu or the **MSC** button in the 4D toolbar:\ +- Utilice el menú **Ayuda/Centro de seguridad y mantenimiento** o el botón **CSM** en la barra de herramientas de 4D:\ ![](../assets/en/MSC/mscicon.png) - Utilizar la acción estándar "Csm" que es posible asociar a un comando de menú o a un objeto de formulario. - Utilice el comando `OPEN SECURITY CENTER`. diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R6/MSC/rollback.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R6/MSC/rollback.md index 7708a78e05baac..1a3005d7703ed9 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R6/MSC/rollback.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R6/MSC/rollback.md @@ -10,7 +10,7 @@ Esta función sólo está disponible cuando la aplicación trabaja con un archiv ![](../assets/en/MSC/MSC_rollback1.png) -> If the database is encrypted and no valid data key corresponding to the open log file has been provided, encrypted values are not displayed in the **Values** column and a dialog requesting the passphrase or the data key is displayed if you click the **Rollback** button. +> Si la base de datos está encriptada y no se ha suministrado una llave de datos válida correspondiente al archivo de registro abierto, los valores encriptados no se muestran en la columna **Valores** y se muestra un diálogo en el que se solicita la frase secreta o la llave de datos si se hace clic en el botón **Retroceso**. El contenido y el funcionamiento de la lista de operaciones es el mismo que el de la ventana [Análisis de actividades](analysis.md). diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R6/Notes/updates.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R6/Notes/updates.md index 8d4d1b4d0130f2..b6cfcef2b24783 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R6/Notes/updates.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R6/Notes/updates.md @@ -7,35 +7,35 @@ title: Notas del lanzamiento Lea [**Novedades en 4D 20 R6**](https://blog.4d.com/en-whats-new-in-4d-20-R6/), la entrada del blog que muestra todas las nuevas funcionalidades y mejoras en 4D 20 R6. -#### Destacados +#### Lo más destacado -- Soporte de operadores de comparación en las [referencias de objeto](../Concepts/dt_object.md#operatodores-en-los-objetos) y las [referencias de colección](../Concepts/dt_collection.md#operadores-en-las-colecciones). [`collection.query()`](../API/CollectionClass.md#query) now supports [object and collection references as query values](../API/CollectionClass.md#object-or-collection-reference-as-value). -- When a component has a [declared namespace](../Extensions/develop-components.md#declaring-the-component-namespace), its classes are now automatically shared between all loaded components in the host project via [`cs.dataClass.query()
or dataClass.all()
). All ORDA functions that handle entity selections support the **context** property (for example [`dataClass.query()`](../API/DataClassClass.md#query) or [`dataClass.all()`](../API/DataClassClass.md#all)). Tenga en cuenta, sin embargo, que un contexto se actualiza automáticamente cuando se utilizan nuevos atributos en otras partes del código. Reutilizar el mismo contexto en diferentes códigos podría sobrecargar el contexto y, por tanto, reducir su eficacia.
+All ORDA functions that handle entity selections support the context property (for example dataClass.query()
or dataClass.all()
). Todas las funciones ORDA que manejan entity selections soportan la propiedad **context** (por ejemplo [`dataClass.query()`](../API/DataClassClass.md#query) o [`dataClass.all()`](../API/DataClassClass.md#all)). Tenga en cuenta, sin embargo, que un contexto se actualiza automáticamente cuando se utilizan nuevos atributos en otras partes del código. Reutilizar el mismo contexto en diferentes códigos podría sobrecargar el contexto y, por tanto, reducir su eficacia.
> Se implementa un mecanismo similar para las entidades que se cargan, de modo que sólo se solicitan los atributos utilizados (ver la función [`dataClass.get()`](../API/DataClassClass.md#get)).
@@ -77,29 +77,29 @@ All ORDA functions that handle entity selections support the co
var $data : Collection
$querysettings:=New object("context";"shortList")
$querysettings2:=New object("context";"longList")
-
+
$sel1:=ds.Employee.query("lastname = S@";$querysettings)
- $data:=extractData($sel1) // In extractData method an optimization is triggered
- // and associated to context "shortList"
-
+ $data:=extractData($sel1) // En el método extractData la optimización asociada
+ // al contexto "shortList" se aplica
+
$sel2:=ds.Employee.query("lastname = Sm@";$querysettings)
- $data:=extractData($sel2) // In extractData method the optimization associated
- // to context "shortList" is applied
-
+ $data:=extractData($sel2) // En el método extractData una optimización
+ // se activa y asocia al contexto "shortList"
+
$sel3:=ds.Employee.query("lastname = Smith";$querysettings2)
- $data:=extractDetailedData($sel3) // In extractDetailedData method an optimization
- // is triggered and associated to context "longList"
-
+ $data:=extractDetailedData($sel3) // En el método extractDetailedData una optimización
+ // se activa y asocia al contexto "longList"
+
$sel4:=ds.Employee.query("lastname = Brown";$querysettings2)
- $data:=extractDetailedData($sel4) // In extractDetailedData method the optimization
- // associated to context "longList" is applied
+ $data:=extractDetailedData($sel4) // En el método extractDetailedData la optimización
+ // asociada al contexto "longList" se aplica
```
### List box basado en una selección de entidades
-Entity selection optimization is automatically applied to entity selection-based list boxes in 4D client/server desktop applications, when displaying and scrolling a list box content: only the attributes displayed in the list box are requested from the server.
+La optimización de entity selection se aplica automáticamente a los list boxes basados en una entity selection en las aplicaciones de escritorio cliente/servidor 4D, al mostrar y desplazar el contenido de un list box: sólo se solicitan al servidor los atributos mostrados en el list box.
-A specific "page mode" context is also provided when loading the current entity through the **Current item** property expression of the list box (see [Collection or entity selection type list boxes](FormObjects/listbox_overview.md#list-box-types)). Esta funcionalidad le permite no sobrecargar el contexto inicial del list box en este caso, especialmente si la "página" solicita atributos adicionales. Tenga en cuenta que sólo el uso de la expresión **Elemento actual** permitirá crear/utilizar el contexto de la página (el acceso a través de `entitySelection\[index]` alterará el contexto de la entity selection).
+También se suministra un contexto específico denominado "modo página" cuando se carga la entidad actual de la selección mediante la expresión de la propiedad **elemento actual** del list box (ver [list box de tipo colección o entity selection](FormObjects/listbox_overview.md#list-box-types)). Esta funcionalidad le permite no sobrecargar el contexto inicial del list box en este caso, especialmente si la "página" solicita atributos adicionales. Tenga en cuenta que sólo el uso de la expresión **Elemento actual** permitirá crear/utilizar el contexto de la página (el acceso a través de `entitySelection\[index]` alterará el contexto de la entity selection).
Las solicitudes posteriores al servidor enviadas por las funciones de navegación de la entidad también admitirán esta optimización. Las siguientes funciones asocian automáticamente el contexto de optimización de la entidad fuente a la entidad devuelta:
@@ -111,9 +111,9 @@ Las solicitudes posteriores al servidor enviadas por las funciones de navegació
Por ejemplo, el siguiente código carga la entidad seleccionada y permite navegar en la selección de entidades. Las entidades se cargan en un contexto separado y el contexto inicial del list box se deja intacto:
```4d
- $myEntity:=Form.currentElement //current item expression
- //... do something
- $myEntity:=$myEntity.next() //loads the next entity using the same context
+ $myEntity:=Form.currentElement //expresión del elemento actual
+ //... hacer algo
+ $myEntity:=$myEntity.next() //carga la siguiente entidad utilizando el mismo contexto
```
### Preconfiguración de contextos
@@ -124,8 +124,8 @@ Si desea entregar aplicaciones finales con el máximo nivel de optimización, pu
1. Diseñe sus algoritmos.
2. Ejecute su aplicación y deje que el mecanismo de aprendizaje automático complete los contextos de optimización.
-3. Call the [`dataStore.getRemoteContextInfo()`](../API/DataStoreClass.md#getremotecontextinfo) or [`dataStore.getAllRemoteContexts()`](../API/DataStoreClass.md#getallremotecontexts) function to collect contexts. You can use the [`entitySelection.getRemoteContextAttributes()`](../API/EntitySelectionClass.md#getremotecontextattributes) and [`entity.getRemoteContextAttributes()`](../API/EntityClass.md#getremotecontextattributes) functions to analyse how your algorithms use attributes.
-4. In the final step, call the [`dataStore.setRemoteContextInfo()`](../API/DataStoreClass.md#setremotecontextinfo) function to build contexts at application startup and [use them](#reusing-the-context-property) in your algorithms.
+3. Call the [`dataStore.getRemoteContextInfo()`](../API/DataStoreClass.md#getremotecontextinfo) or [`dataStore.getAllRemoteContexts()`](../API/DataStoreClass.md#getallremotecontexts) function to collect contexts. Puede utilizar las funciones [`entitySelection.getRemoteContextAttributes()`](../API/EntitySelectionClass.md#getremotecontextattributes) y [`entity.getRemoteContextAttributes()`](../API/EntityClass.md#getremotecontextattributes) para analizar cómo utilizan los atributos sus algoritmos.
+4. En el último paso, llama a la función [`dataStore.setRemoteContextInfo()`](../API/DataStoreClass.md#setremotecontextinfo) para construir contextos al inicio de la aplicación y [utilizarlos](#reutilizando-la-propiedad-context) en sus algoritmos.
## Caché ORDA
@@ -133,6 +133,8 @@ Por razones de optimización, los datos solicitados al servidor a través de ORD
Los datos contenidos en la caché se consideran caducados cuando se alcanza el tiempo de espera. Todo acceso a los datos caducados enviará una petición al servidor. Los datos caducados permanecen en la caché hasta que se necesite el espacio.
+Puede forzar que los datos de la selección de entidades en la caché ORDA expiren en cualquier momento utilizando la función [`refresh()`](../API/EntitySelectionClass.md#refresh).
+
Por defecto, la caché ORDA es manejada de forma transparente por 4D. Sin embargo, puede controlar su contenido utilizando las siguientes funciones de la clase ORDA:
- [dataClass.setRemoteCacheSettings()](../API/DataClassClass.md#setremotecachesettings)
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R6/ORDA/entities.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R6/ORDA/entities.md
index 71cd933a68ab48..2cff9fbf7cf264 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R6/ORDA/entities.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R6/ORDA/entities.md
@@ -36,11 +36,11 @@ Si ejecuta el siguiente código:
```4d
var $e1; $e2 : cs.EmployeeEntity
- $e1:=ds.Employee.get(1) //access the employee with ID 1
+ $e1:=ds.Employee.get(1) //accede al empleado con ID 1
$e2:=$e1
$e1.name:="Hammer"
- //both variables $e1 and $e2 share the reference to the same entity
- //$e2.name contains "Hammer"
+ //ambas variables $e1 y $e2 comparten la referencia a la misma entidad
+ //$e2.name contiene "Hammer"
If($e1=$e2) //True
```
@@ -55,9 +55,9 @@ Ahora, si se ejecuta:
$e1:=ds.Employee.get(1)
$e2:=ds.Employee.get(1)
$e1.name:="Hammer"
- //variable $e1 contains a reference to an entity
- //variable $e2 contains another reference to another entity
- //$e2.name contains "smith"
+ //variable $e1 contiene una referencia a una entidad
+ //variable $e2 contiene otra referencia a otra entidad
+ //$e2.name contiene "smith"
If($e1=$e2) //False
```
@@ -254,7 +254,7 @@ Puede crear y utilizar simultáneamente tantas selecciones de entidades diferent
:::note
-Cuando se eliminan entidades, sus referencias permanecen en la selección de entidades con un valor *undefined*. In this case, you can call the [`.clean()`](API/EntitySelectionClass.md#clean) function to get a new entity selection but without the deleted entity references.
+Cuando se eliminan entidades, sus referencias permanecen en la selección de entidades con un valor *undefined*. En este caso, puede llamar a la función [`.clean()`](API/EntitySelectionClass.md#clean) para obtener una nueva selección de entidades pero sin las referencias de entidades eliminadas.
:::
@@ -267,7 +267,7 @@ Una entity selection puede ser **compartible** (legible por múltiples procesos,
Una entity selection **compartible** tiene las siguientes características:
- puede almacenarse en un objeto compartido o en una colección compartida, y puede pasarse como parámetro entre varios procesos o trabajadores;
-- puede almacenarse en varios objetos o colecciones compartidos, o en un objeto o colección compartido que ya pertenezca a un grupo (no tiene un \* identificador de bloqueo\*);
+- puede almacenarse en varios objetos o colecciones compartidos, o en un objeto o colección compartido que ya pertenezca a un grupo;
- no permite la adición de nuevas entidades. Al intentar añadir una entidad a una entity selection compartibles se producirá un error (1637 - Esta entity selection no puede modificarse). Para añadir una entidad a unaentity selection compartible, primero debe transformarla en una entity selection no compartible utilizando la función [`.copy()`](API/EntitySelectionClass.md#copy), antes de llamar a [`.add()`](API/EntitySelectionClass.md#add).
> La mayoría de las funciones entity selection (como [`.slice()`](API/EntitySelectionClass.md#slice), [`.and()`](API/EntitySelectionClass.md#and)...) soportar selecciones de entidades compartibles ya que no es necesario modificar la selección de entidades original (devuelven una nueva).
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R6/ORDA/global-stamp.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R6/ORDA/global-stamp.md
index e4044ed299b0c3..bd014a9a40fc59 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R6/ORDA/global-stamp.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R6/ORDA/global-stamp.md
@@ -7,7 +7,7 @@ title: Utilizando el sello global
4D gestiona automáticamente un **sello de modificación global** interno, útil para manejar implementaciones de seguimiento de cambios de datos, por ejemplo para monitorear la actividad, realizar copias de seguridad, ejecutar sincronizaciones incrementales
-El sello de modificación global es un número, siempre mantenido por 4D, incluso en caso de restauración de la base de datos, importación, etc. Note however that the stamp can be modified using the [`.setGlobalStamp()`](../API/DataStoreClass.md#setglobalstamp) function.
+El sello de modificación global es un número, siempre mantenido por 4D, incluso en caso de restauración de la base de datos, importación, etc. Note sin embargo que el sello puede ser modificado por la función [`.setGlobalStamp()`](../API/DataStoreClass.md#setglobalstamp).
Una vez [configurado y habilitado el seguimiento de cambios de datos](#configuring-data-change-tracking), las siguientes acciones son ejecutadas automáticamente por 4D en cada modificación de registro (añadir, modificar, borrar):
@@ -81,17 +81,17 @@ Para desactivar el seguimiento de cambios de datos:
var $oldStamp : Real
var $tableName : Text
var $modifiedEmps : cs.EmployeeSelection
-var $deletedEmpsInfo : cs.__DeletedRecordsSelection
+var $deletedEmpsInfo : cs. _DeletedRecordsSelection
$tableName:="Employee"
-$oldStamp:=... //load the previous stamp value
- //from which you want to compare the current stamp
+$oldStamp:=... ///carga el valor del sello anterior
+ ///desde el cual desea comparar el sello actual
If ($oldStamp # ds.getGlobalStamp())
- //get all new or modified entities
+ //obtener todas las entidades nuevas o modificadas
$modifiedEmps:=ds[$tableName].query("__GlobalStamp > :1"; $oldStamp)
- //get all deleted entities
- $deletedEmpsInfo:=ds.__DeletedRecords.query("__Stamp > :1 and __TableName = :2";\
+ //obtener todas las entidades eliminadas
+ $deletedEmpsInfo:=ds. _DeletedRecords.query("__Sello > :1 y __TableName = :2";\
$oldStamp; $tableName)
End if
```
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R6/ORDA/ordaClasses.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R6/ORDA/ordaClasses.md
index ebf0cf989f8aec..533a7bc37fa64d 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R6/ORDA/ordaClasses.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R6/ORDA/ordaClasses.md
@@ -338,7 +338,7 @@ El parámetro *$event* contiene las siguientes propiedades:
| attributeName | Text | Nombre de atributo calculado |
| dataClassName | Text | Nombre de la clase de datos |
| kind | Text | "get" |
-| result | Variant | Opcional. Añada esta propiedad con valor Null si desea que un atributo escalar devuelva Null |
+| resultado | Variant | Opcional. Añada esta propiedad con valor Null si desea que un atributo escalar devuelva Null |
#### Ejemplos
@@ -449,7 +449,7 @@ El parámetro *$event* contiene las siguientes propiedades:
| kind | Text | "query" |
| value | Variant | Valor a tratar por el atributo calculado |
| operator | Text | Operador de búsqueda (ver también la [función de clase `query`](API/DataClassClass.md#query)). Valores posibles:For example, when the "Variables (local or interprocess) and object attributes" option is checked, a list of suggestions appears when you type the $ character:
![](../assets/en/Preferences/suggestionsAutoOpen.png)
You can disable this functioning for certain elements of the language by deselecting their corresponding option. | -| Validación de una sugerencia | Sets the entry context that allows the Code Editor to validate automatically the current suggestion displayed in the autocomplete window.For example, when the "Variables (local or interprocess) and object attributes" option is checked, a list of suggestions appears when you type the $ character:
![](../assets/en/Preferences/suggestionsAutoOpen.png)
You can disable this functioning for certain elements of the language by deselecting their corresponding option. | +| Validación de una sugerencia | Establece el contexto de entrada que permite al Editor de Código validar automáticamente la sugerencia actual mostrada en la ventana de autocompletado.Propiedad | Tipo | Descripción |
---|---|---|
creator | text | nombre de la aplicación que creó el documento original a partir del cual se convirtió. |
title | text | título del documento. |
author | text | nombre de la persona que ha creado el documento. |
keywords | text | palabras clave asociadas al documento. |
subject | text | asunto del documento. |
Propiedad | Tipo | Descripción |
---|---|---|
range | object | Objeto rango de celdas |
rowDelimiter | text | Delimitador de fila. Por defecto: "\r\n" |
columnDelimiter | text | Delimitador de columna. Por defecto: "," |
Property | Type | Description |
---|---|---|
includeAutoMergedCells | boolean | whether to include the automatically merged cells, default is false. |
includeBindingSource | boolean | whether to include the binding source, default is true. |
includeCalcModelCache | boolean | whether to include the extra data of calculation. Can be faster when open the file with those data, default is false. |
includeEmptyRegionCells | boolean | whether to include any empty cells (cells with no data or only style) outside the used data range, default is true. |
includeFormulas | boolean | whether to include the formulas, default is true. |
includeStyles | boolean | whether to include the style, default is true. |
includeUnusedNames | boolean | whether to include the unused custom names, default is true. |
saveAsView | boolean | whether to apply the format string to exporting values, default is false. |
Propiedad | Tipo | Descripción |
---|---|---|
creator | text | nombre de la aplicación que creó el documento original a partir del cual se convirtió. |
title | text | título del documento. |
author | text | nombre de la persona que ha creado el documento. |
keywords | text | palabras clave asociadas al documento. |
subject | text | asunto del documento. |
Propiedad | Tipo | Descripción |
---|---|---|
range | object | Objeto rango de celdas |
rowDelimiter | text | Delimitador de fila. Por defecto: "\r\n" |
columnDelimiter | text | Delimitador de columna. Por defecto: "," |
Propiedad | Tipo | Descripción |
---|---|---|
includeAutoMergedCells | boolean | si se deben incluir las celdas fusionadas automáticamente, el valor predeterminado es false. |
includeBindingSource | boolean | si se debe incluir la fuente de datos, el valor predeterminado es true. |
includeCalcModelCache | boolean | si se debe incluir los datos adicionales de cálculo. Can be faster when open the file with those data, default is false. |
includeEmptyRegionCells | boolean | whether to include any empty cells (cells with no data or only style) outside the used data range, default is true. |
includeFormulas | boolean | whether to include the formulas, default is true. |
includeStyles | boolean | whether to include the style, default is true. |
includeUnusedNames | boolean | whether to include the unused custom names, default is true. |
saveAsView | boolean | whether to apply the format string to exporting values, default is false. |
`vk find flag exact match` | The entire content of the cell must completely match the search value |
`vk find flag ignore case` | Capital and lower-case letters are considered the same. Ex: "a" is the same as "A". |
`vk find flag none` | no search flags are considered (default) |
`vk find flag use wild cards` | Wildcard characters (\*,?) puede utilizarse en la cadena de búsqueda. Wildcard characters can be used in any string comparison to match any number of characters: |
$search.flags:=vk find flag use wild cards+vk find flag ignore case
|
-| order | Integer | `vk find order by columns` | La búsqueda se realiza por columnas. Each row of a column is searched before the search continues to the next column. |
`vk find order by rows` | The search is performed by rows. Se busca en cada columna de una linea antes de continuar con la siguiente linea (por defecto) |
`vk find target formula` | The search is performed in the cell formula |
`vk find target tag` | The search is performed in the cell tag |
`vk find target text` | The search is performed in the cell text (default) |
These flags can be combined. Por ejemplo:$search.target:=vk find target formula+vk find target text
`vk find flag exact match` | El contenido completo de la celda debe coincidir completamente con el valor de búsqueda |
`vk find flag ignore case` | Las mayúsculas y minúsculas se consideran iguales. Ej: "a" es igual a "A". |
`vk find flag none` | no se consideran banderas de búsqueda (por defecto) |
`vk find flag use wild cards` | Caracteres comodín (\*,?) puede utilizarse en la cadena de búsqueda. Wildcard characters can be used in any string comparison to match any number of characters: |
$search.flags:=vk find flag use wild cards+vk find flag ignore case
|
+| order | Integer | `vk find order by columns` | La búsqueda se realiza por columnas. Cada fila de una columna se busca antes de que la búsqueda continúe a la siguiente columna. |
`vk find order by rows` | La búsqueda se realiza por filas. Se busca en cada columna de una linea antes de continuar con la siguiente linea (por defecto) |
`vk find target formula` | La búsqueda se realiza en la fórmula de la celda |
`vk find target tag` | La búsqueda se realiza en la etiqueta de la celda |
`vk find target text` | La búsqueda se realiza en el texto de la celda (predeterminado) |
Estas banderas pueden combinarse. Por ejemplo:$search.target:=vk find target formula+vk find target text
Value | Description |
---|---|
`vk clipboard options all` (default) | Pastes all data objects, including values, formatting, and formulas. |
`vk clipboard options formatting` | Pastes only the formatting. |
`vk clipboard options formulas` | Pastes only the formulas. |
`vk clipboard options formulas and formatting` | Pastes the formulas and formatting. |
`vk clipboard options values` | Pastes only the values. |
`vk clipboard options value and formatting` | Pastes the values and formatting. |
Valor | Descripción |
---|---|
`vk clipboard options all` (por defecto) | Pega todos los objetos de datos, incluidos los valores, el formato y las fórmulas. |
`vk clipboard options formatting` | Pega sólo el formato. |
`vk clipboard options formulas` | Pega sólo las fórmulas. |
`vk clipboard options formulas and formatting` | Pega las fórmulas y el formato. |
`vk clipboard options values` | Pega sólo los valores. |
`vk clipboard options value and formatting` | Pega los valores y el formato. |
Please enter your name:
-- +
+
-- - +
+ +
@@ -283,33 +284,33 @@ Las principales características de esta página son: Examinemos el método 4D `WWW_STD_FORM_POST` que se llama cuando el usuario hace clic en uno de los botones del formulario HTML. ```4d - // Retrieval of value of variables + // Recuperación del valor de las variables ARRAY TEXT($arrNames;0) ARRAY TEXT($arrValues;0) WEB GET VARIABLES($arrNames;$arrValues) C_LONGINT($user) - + Case of - - // The Log On button was clicked + + // Se ha presionado el botón Log On :(Find in array($arrNames;"vsbLogOn")#-1) $user :=Find in array($arrNames;"vtUserName") QUERY([WWW Users];[WWW Users]UserName=$arrValues{$user}) $0:=(Records in selection([WWW Users])>0) If($0) WWW POST EVENT("Log On";WWW Log information) - // The WWW POST EVENT method saves the information in a database table + // El método WWW POST EVENT guarda la información en una tabla de la base Else - + $0:=WWW Register - // The WWW Register method lets a new Web user register + // El método WWW Register permite que un nuevo usuario de la Web se registre End if - - // The Register button was clicked + + // Se ha presionado el botón Register :(Find in array($arrNames;"vsbRegister")#-1) $0:=WWW Register - - // The Information button was clicked + + // Se ha presionado el botón de información :(Find in array($arrNames;"vsbInformation")#-1) WEB SEND FILE("userinfos.html") End case @@ -317,7 +318,7 @@ Examinemos el método 4D `WWW_STD_FORM_POST` que se llama cuando el usuario hace Las funcionalidades de este método son: -- The values of the variables *vtNav_appName*, *vtNav_appVersion*, *vtNav_appCodeName*, and *vtNav_userAgent* (bound to the HTML objects having the same names) are retrieved using the `WEB GET VARIABLES` command from HTML objects created by the *GetBrowserInformation* JavaScript script. +- Los valores de las variables *vtNav_appName*, *vtNav_appVersion*, *vtNav_appCodeName*, y *vtNav_userAgent* (vinculados a los objetos HTML que tienen los mismos nombres) se recuperan utilizando el comando `WEB GET VARIABLES` de los objetos HTML creados por el script JavaScript *GetBrowserInformation*. - De las variables vinculadas *vsbLogOn*, *vsbRegister* y *vsbInformation* a los tres botones de envío, sólo la correspondiente al botón que se ha presionado será recuperada por el comando `WEB GET VARIABLES`. Cuando el envío se realiza mediante uno de estos botones, el navegador devuelve a 4D el valor del botón presionado. Esto le indica qué botón se ha presionado. Tenga en cuenta que con HTML, todos los objetos son objetos de texto. Si se utiliza un objeto SELECT, es el valor del elemento resaltado en el objeto el que se devuelve en el comando `WEB GET VARIABLES`, y no la posición del elemento en el array como en 4D. `WEB GET VARIABLES` siempre devuelve valores de tipo Texto. @@ -338,6 +339,6 @@ El servidor web de 4D ahora soporta archivos cargados con codificación chunked ## Método proyecto COMPILER_WEB -El método COMPILER\WEB, si existe, es llamado sistemáticamente cuando el servidor HTTP recibe una petición dinámica y llama al motor 4D. This is the case, for example, when the 4D Web server receives a posted form or a URL to process in [`On Web Connection`](#on-web-connection). Este método está destinado a contener directivas de digitación y/o inicialización de variables utilizadas durante los intercambios web. Es utilizado por el compilador cuando se compila la aplicación. El método COMPILER\WEB es común a todos los formularios web. Por defecto, el método COMPILER_WEB no existe. Debe crearlo explícitamente. +El método COMPILER\WEB, si existe, es llamado sistemáticamente cuando el servidor HTTP recibe una petición dinámica y llama al motor 4D. Este es el caso, por ejemplo, cuando el servidor web de 4D recibe un formulario publicado o una URL para procesar en [`On Web Connection`](#on-web-connection). Este método está destinado a contener directivas de digitación y/o inicialización de variables utilizadas durante los intercambios web. Es utilizado por el compilador cuando se compila la aplicación. El método COMPILER\WEB es común a todos los formularios web. Por defecto, el método COMPILER_WEB no existe. Debe crearlo explícitamente. > También se llama al método proyecto COMPILER_WEB, si existe, para cada solicitud SOAP aceptada. diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R6/WebServer/preemptiveWeb.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R6/WebServer/preemptiveWeb.md index f25c1289de8c45..4fde5d58ca8e4a 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R6/WebServer/preemptiveWeb.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R6/WebServer/preemptiveWeb.md @@ -5,7 +5,7 @@ title: Uso de procesos web apropiativos El servidor web de 4D le permite aprovechar al máximo los ordenadores multinúcleo utilizando procesos web apropiativos en sus aplicaciones. Puede configurar su código relacionado con la web, incluyendo las etiquetas 4D, los métodos base Web o las funciones de clase REST de ORDA para que se ejecuten simultáneamente en tantos núcleos como sea posible. -For in-depth information on preemptive process in 4D, please refer to the *Preemptive 4D processes* section in the [*4D Language Reference*](https://doc.4d.com). +Para obtener información detallada sobre el proceso apropiativo en 4D, por favor consulte la sección [Procesos apropiativos](../Develop/preemptive.md). ## Disponibilidad del modo apropiativo para los procesos web @@ -27,9 +27,9 @@ La siguiente tabla indica si el modo apropiativo se utiliza o está disponible, - Servidor web: maneja las [plantillas web](templates.md), [4DACTION y los métodos base](httpRequests.md) - Servidor de servicios web: gestiona las peticiones SOAP - ***web setting*** significa que el modo apropiativo depende de un valor de configuración: - - when [**Scalable sessions**](sessions.md#enabling-sessions) option is selected, the [preemptive mode is automatically used](sessions.md#preemptive-mode) for web processes. - - otherwise, the [**Use preemptive processes**](webServerConfig.md#use-preemptive-processes) option is taken into account. - - en lo que respecta a los procesos de servicios web (servidor o cliente), se soporta el modo apropiativo a nivel del método. You just have to select "Can be run in preemptive processes" property for published SOAP server methods (see [Publishing a Web Service with 4D](https://doc.4d.com/4Dv19/4D/19/Publishing-a-Web-Service-with-4D.300-5416868.en.html)) or proxy client methods (see [Subscribing to a Web Service in 4D](https://doc.4d.com/4Dv19/4D/19/Subscribing-to-a-Web-Service-in-4D.300-5416870.en.html)) and make sure they are confirmed thread-safe by the compiler. + - cuando se selecciona la opción de [**sesiones escalables**](sessions.md#enabling-sessions), el [modo apropiativo se utiliza automáticamente](sessions.md#preemptive-mode) para los procesos web. + - en caso contrario, se tendrá en cuenta la opción [**Utilizar procesos apropiativos**](webServerConfig.md#use-preemptive-processes). + - en lo que respecta a los procesos de servicios web (servidor o cliente), se soporta el modo apropiativo a nivel del método. You just have to select "Can be run in preemptive processes" property for published SOAP server methods (see [Publishing a Web Service with 4D](https://doc.4d.com/4Dv20/4D/20.2/Publishing-a-Web-Service-with-4D.300-6750334.en.html)) or proxy client methods (see [Subscribing to a Web Service in 4D](https://doc.4d.com/4Dv20/4D/20.2/Subscribing-to-a-Web-Service-in-4D.300-6750336.en.html)) and make sure they are confirmed thread-safe by the compiler. ## Escribir código servidor web hilo seguro diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R6/WebServer/qodly-studio.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R6/WebServer/qodly-studio.md index 8a3815cb038404..ba31ffcb47cfc4 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R6/WebServer/qodly-studio.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R6/WebServer/qodly-studio.md @@ -11,11 +11,11 @@ Qodly Studio for 4D se encuentra actualmente en la fase **Developer Preview**. N **Qodly Studio** es un creador de interfaces para aplicaciones web. Ofrece a los desarrolladores un editor gráfico de páginas para diseñar aplicaciones que se ejecutan en navegadores web o smartphones. Soporta de forma nativa los [objetos ORDA](../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**. +Puede utilizar Qodly Studio directamente desde su **entorno 4D** para crear interfaces modernas y sofisticadas que puede integrar fácilmente a sus proyectos 4D existentes y desplegar **in situ**. Qodly Studio también puede utilizarse en la [**plataforma Qodly Cloud**](https://qodly.com), dedicada al desarrollo de aplicaciones profesionales web. -With Qodly Studio, you will discover a totally new web UI, get familiar with the concept of Qodly Sources, and learn how to: +Con Qodly Studio, descubrirá una interfaz de usuario web totalmente nueva, se familiarizará con el concepto de fuentes Qodly y aprenderá a: - create Qodly pages by placing components on a canvas - mapear componentes a datos @@ -154,8 +154,8 @@ Los siguientes comandos y clases están dedicados a la gestión del lado del ser - Comando [`Web Form`](../API/WebFormClass.md#web-form): devuelve la página Qodly como un objeto. - Comando [`Web Event`](../API/WebFormClass.md#web-event): devuelve los eventos desencadenados dentro de los componentes de página ´gQodly. -- [`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. +- Clase [`WebForm`](../API/WebFormClass.md): funciones y propiedades para gestionar la página Qodly renderizada. +- clase [`WebFormItem`](../API/WebFormItemClass.md): funciones y propiedades para administrar componentes de página Qodly. ### Uso métodos proyecto @@ -175,7 +175,7 @@ Puede desarrollar con Qodly Studio mientras su ordenador no esté conectado a In ### Activación del renderizado -Qodly Studio encapsulates Qodly pages, including layout, data connections, and event-driven logic, in a structured JSON file. Este archivo JSON es procesado sobre la marcha por el renderizador **Qodly** para servir una página web completamente funcional. +Qodly Studio encapsula las páginas Qodly, incluyendo el diseño, las conexiones de datos y la lógica basada en eventos, en un archivo JSON estructurado. Este archivo JSON es procesado sobre la marcha por el renderizador **Qodly** para servir una página web completamente funcional. :::info @@ -190,13 +190,13 @@ Para habilitar el renderizado de las páginas Qodly, se deben configurar las sig :::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. +[Los botones de renderización](https://developer.qodly.com/docs/studio/rendering#how-to-render-a-webform) no están disponibles si las opciones de configuración no están activas. ::: ### Alcance de los formularios Qodly -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). Ver también [este párrafo](#about-license_usage) sobre los esquemas de URL y el uso de licencias. +Al renderizar formularios Qodly en el Qodly Studio, el renderizador se conectará al servidor web 4D a través de HTTP o HTTPS, dependiendo de la configuración, siguiendo el mismo patrón de conexión HTTP/HTTPS que para el [servidor web WebAdmin 4D] (../Admin/webAdmin.md#accept-http-connections-on-localhost). Ver también [este párrafo](#about-license_usage) sobre los esquemas de URL y el uso de licencias. Tenga en cuenta que Qodly Studio se ejecuta a través del servidor web 4D WebAdmin. Cuando utiliza Qodly Studio como desarrollador, incluso cuando previsualiza una página Qodly en el estudio, está utilizando el servidor web 4D WebAdmin. Esto le permite ver, por ejemplo, clases de datos, funciones y atributos que no están expuestos como recursos REST (aparecen en gris). @@ -222,21 +222,21 @@ https://www.myWebSite.com/$lib/renderer/?w=welcome ## Forzar inicio de sesión -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. +Con Qodly Studio for 4D, el modo ["forzar login"](../REST/authUsers.md#force-login-mode) le permite controlar el número de sesiones web abiertas que requieren licencias 4D Client. También puede [cerrar la sesión](#logout) del usuario en cualquier momento para disminuir el número de licencias retenidas. ### Configuración -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: +Asegúrate de que el [modo "inicio de sesión forzado"](../REST/authUsers.md#force-login-mode) esté habilitado para su aplicación 4D en la [página Roles y privilegios](https://developer.qodly.com/docs/studio/roles/rolesPrivilegesOverview/), usando la opción **Force login**: ![alt-text](../assets/en/WebServer/forcelogin.png) También puede definir esta opción directamente en el archivo [**roles.json**](../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. Una licencia se consumirá solo cuando el usuario esté realmente conectado. +Entonces basta con implementar la función [`authentify()`](../REST/authUsers.md#function-authentify) en la clase datastore y llamarla desde la página Qodly. Una licencia se consumirá solo cuando el usuario esté realmente conectado. :::note Compatibilidad -When the legacy login mode ([deprecated as of 4D 20 R6](https://blog.4d.com/force-login-now-is-the-default-mode-for-all-rest-authentications)) 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. Para más información, consulte [esta entrada de blog](https://blog.4d.com/improved-4d-client-licenses-usage-with-qodly-studio-for-4d) que cuenta la historia completa. +Cuando el modo de inicio de sesión ([obsoleto a partir de 4D 20 R6](https://blog.4d. om/force-login-now-is-the-default-mode-for-all-rest-authentications)) está habilitado, cualquier petición REST, incluyendo la representación de una página de autenticación Qodly, crea una sesión web en el servidor y obtiene una licencia de cliente 4D, cualquiera que sea el resultado real de la autenticación. Para más información, consulte [esta entrada de blog](https://blog.4d.com/improved-4d-client-licenses-usage-with-qodly-studio-for-4d) que cuenta la historia completa. ::: @@ -283,11 +283,11 @@ Al desencadenar la acción de cierre de sesión de una sesión de usuario web, s - la sesión de usuario web actual pierde sus privilegios, sólo se permiten [peticiones REST descriptivas](../REST/authUsers.md#descriptive-rest-requests), - se libera la licencia asociada de 4D, -- the `Session.storage` is kept until the web session inactivity timeout is reached (at least one hour). Durante este periodo tras un cierre de sesión, si el usuario vuelve a iniciar sesión, se utiliza la misma sesión y el objeto compartido `Session.storage` está disponible con su contenido actual. +- el tiempo de espera de 'Session.storage' se mantiene hasta que se alcanza el tiempo de inactividad de la sesión web (al menos una hora). Durante este periodo tras un cierre de sesión, si el usuario vuelve a iniciar sesión, se utiliza la misma sesión y el objeto compartido `Session.storage` está disponible con su contenido actual. ## Acerca del uso de licencias para renderización -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. +En modo predeterminado, cuando se renderiza cualquier página, o en el modo "force login" cuando se renderiza una página que maneja datos o llama a una función, debe tener una licencia disponible, ya que la renderización de los formularios Qodly apunta al servidor web principal de la base de datos del proyecto. ### Esquemas URL @@ -297,6 +297,12 @@ Como se explica en la sección [configuración](#configuration), el servidor web Si ejecuta el renderizador desde Qodly Studio y no se accede a estos dos servidores web a través del mismo esquema de URL (HTTP o HTTPS), es posible que el conteo de licencias sea incorrecto. +:::info + +El uso de diferentes esquemas también puede llevar a problemas de [sesión](sessions.md), como perder [privilegios](../ORDA/privileges.md) después de actualizar la página. + +::: + #### Ejemplo 1. Ejecuta Qodly Studio en un esquema URL HTTPS (por ejemplo, `https://127.0.0.1:7443/studio/`) diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R6/WebServer/sessions.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R6/WebServer/sessions.md index a0124a047bc2ba..7fc05062d6fe46 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R6/WebServer/sessions.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R6/WebServer/sessions.md @@ -7,7 +7,7 @@ El servidor web de 4D ofrece funciones integradas para la gestión de **sesiones Las sesiones web permiten: -- handle multiple requests simultaneously from the same web client through an unlimited number of preemptive processes (web sessions are **scalable**), +- manejar múltiples peticiones simultáneamente desde el mismo cliente web a través de un número ilimitado de procesos apropiativos (las sesiones web son **escalables**), - gestionar la sesión a través de un objeto `Session` y la [Session API](API/SessionClass.md), - almacenar y compartir datos entre procesos de un cliente web utilizando el [.storage](../API/SessionClass.md#storage) de la sesión, - asociar privilegios al usuario que ejecuta la sesión. @@ -17,7 +17,7 @@ Las sesiones web permiten: Las sesiones web se utilizan 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). +- llamadas a la [REST API](../REST/authUsers.md), que utilizan [datastores remotos](../ORDA/remoteDatastores.md) y [formularios Qodly](qodly-studio.md). ## Habilitando sesiones web @@ -28,7 +28,7 @@ La funcionalidad de gestión de sesiones puede ser activada y desactivada en su Esta opción está seleccionada por defecto en los nuevos proyectos. Sin embargo, se puede desactivar seleccionando la opción **Sin sesiones**, en cuyo caso las funcionalidades de la sesión web se desactivan (no hay ningún objeto `Session` disponible). -- Using the [`.scalableSession`](API/WebServerClass.md#scalablesession) property of the Web Server object (to pass in the *settings* parameter of the [`.start()`](API/WebServerClass.md#start) function). En este caso, esta configuración anula la opción definida en la caja de diálogo Configuración del objeto Servidor Web (no se almacena en el disco). +- Usando la propiedad [`.scalableSession`](API/WebServerClass.md#scalablesession) del objeto Servidor Web (para pasar el parámetro *settings* de la función [`.start()`](API/WebServerClass.md#start)). En este caso, esta configuración anula la opción definida en la caja de diálogo Configuración del objeto Servidor Web (no se almacena en el disco). > El comando `WEB SET OPTION` también puede establecer el modo de sesión para el servidor web principal. @@ -61,13 +61,13 @@ La creación de una sesión web para una petición REST puede requerir que una l ::: -The `Session` object of the current session can then be accessed through the [`Session`](API/SessionClass.md#session) command in the code of any web processes. +Se puede acceder al objeto `Session` de la sesión actual a través del comando [`Session`](API/SessionClass.md#session) en el código de todo proceso web. ![alt-text](../assets/en/WebServer/schemaSession.png) :::info -Los procesos web no suelen terminar, sino que se reciclan en un fondo común para ser más eficientes. Cuando un proceso termina de ejecutar una petición, se devuelve al pool y queda disponible para la siguiente petición. Since a web process can be reused by any session, [process variables](Concepts/variables.md#process-variables) must be cleared by your code at the end of its execution (using [`CLEAR VARIABLE`](https://doc.4d.com/4dv20/help/command/en/page89.html) for example). Esta limpieza es necesaria para cualquier información relacionada con el proceso, como una referencia a un archivo abierto. Esta es la razón por la que **se recomienda** utilizar el objeto [Sesión](API/SessionClass.md) cuando se quiera guardar información relacionada con la sesión. +Los procesos web no suelen terminar, sino que se reciclan en un fondo común para ser más eficientes. Cuando un proceso termina de ejecutar una petición, se devuelve al pool y queda disponible para la siguiente petición. Dado que un proceso web puede ser reutilizado por cualquier sesión, las [variables proceso](Concepts/variables.md#variables-de-proceso) deben ser borradas por su código al final de su ejecución (utilizando [`CLEAR VARIABLE`](https://doc.4d.com/4dv20/help/command/en/page89.html) por ejemplo). Esta limpieza es necesaria para cualquier información relacionada con el proceso, como una referencia a un archivo abierto. Esta es la razón por la que **se recomienda** utilizar el objeto [Sesión](API/SessionClass.md) cuando se quiera guardar información relacionada con la sesión. ::: @@ -84,7 +84,7 @@ Una sesión web escalable se cierra cuando: La vida útil de una cookie inactiva es de 60 minutos por defecto, lo que significa que el servidor web cerrará automáticamente las sesiones inactivas después de 60 minutos. -This timeout can be set using the [`.idleTimeout`](API/SessionClass.md#idletimeout) property of the `Session` object (the timeout cannot be less than 60 minutes) or the *connectionInfo* parameter of the [`Open datastore`](../API/DataStoreClass.md#open-datastore) command. +Este tiempo de espera puede establecerse utilizando la propiedad [`.idleTimeout`](API/SessionClass.md#idletimeout) del objeto `Session` (el tiempo de espera no puede ser inferior a 60 minutos) o el parámetro *connectionInfo* del comando [`Open datastore`](../API/DataStoreClass.md#open-datastore). Cuando se cierra una sesión web, si después se llama al comando [`Session`](API/SessionClass.md#session): @@ -102,7 +102,7 @@ Puede cerrar una sesión desde un formulario Qodly utilizando la función [**log Los privilegios pueden asociarse a sesiones de usuario web. En el servidor web, puede proporcionar un acceso o unas funcionalidades específicas en función de los privilegios de la sesión. -Puedes asignar privilegios utilizando la función [`.setPrivileges()`](API/SessionClass.md#setprivileges). In your code, you can check the session's privileges to allow or deny access using the [`.hasPrivilege()`](API/SessionClass.md#hasprivilege) function. Por defecto, las sesiones nuevas no tienen ningún privilegio: son sesiones **Invitadas** (la función [`.isGuest()`](API/SessionClass.md#isguest) devuelve true). +Puedes asignar privilegios utilizando la función [`.setPrivileges()`](API/SessionClass.md#setprivileges). En su código, puede comprobar los privilegios de la sesión para permitir o denegar el acceso utilizando la función [`.hasPrivilege()`](API/SessionClass.md#hasprivilege). Por defecto, las sesiones nuevas no tienen ningún privilegio: son sesiones **Invitadas** (la función [`.isGuest()`](API/SessionClass.md#isguest) devuelve true). Ejemplo: @@ -197,4 +197,4 @@ End if ## Ver también (entrada de blog) -[Scalable sessions for advanced web applications](https://blog.4d.com/scalable-sessions-for-advanced-web-applications/) +[Sesiones escalables para aplicaciones web avanzadas](https://blog.4d.com/scalable-sessions-for-advanced-web-applications/) diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R6/WebServer/templates.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R6/WebServer/templates.md index 945247393f9ad9..4a6e76128c2d0e 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R6/WebServer/templates.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R6/WebServer/templates.md @@ -82,7 +82,7 @@ Internamente, el analizador funciona con cadenas UTF-16, pero los datos a analiz ## Acceso a los métodos 4D a través de la web -Executing a 4D method with `4DEACH`, `4DELSEIF`, `4DEVAL`, `4DHTML`, `4DIF`, `4DLOOP`, `4DSCRIPT`, or `4DTEXT` from a web request is subject to the [Available through 4D tags and URLs (4DACTION...)](allowProject.md) attribute value defined in the properties of the method. Si no se comprueba el atributo para el método, éste no puede ser llamado desde una petición web. +Ejecutar un método 4D con `4DEACH`, `4DELSEIF`, `4DEVAL`, `4DHTML`, `4DIF`, `4DLOOP`, `4DSCRIPT`, o `4DTEXT` desde una petición web está sujeto al valor del atributo [Disponible a través de etiquetas 4D y URLs (4DACTION...)](allowProject.md) definido en las propiedades del método. Si no se comprueba el atributo para el método, éste no puede ser llamado desde una petición web. ## Prevención de la inserción de códigos maliciosos @@ -90,4 +90,4 @@ Las etiquetas 4D aceptan diferentes tipos de datos como parámetros: texto, vari En este caso, es aconsejable **no utilizar** etiquetas como `4DEVAL` o `4DSCRIPT`, que evalúan parámetros, directamente con este tipo de datos. -In addition, according to the [principle of recursion](../Tags/transformation-tags.md#recursive-processing), malicious code may itself include transformation tags. En este caso, es imprescindible utilizar la etiqueta `4DTEXT`. Imagine, por ejemplo, un campo de formulario web llamado "Name", donde los usuarios deben introducir su nombre. Este nombre se muestra mediante una etiqueta `` en la página. Si se inserta un texto del tipo "\" en lugar del nombre, la interpretación de esta etiqueta provocará la salida de la aplicación. Para evitar este riesgo, basta con utilizar sistemáticamente la etiqueta `4DTEXT` en este caso. Como esta etiqueta escapa a los caracteres especiales de HTML, cualquier código recursivo malicioso que pueda haberse insertado no será reinterpretado. To refer to the previous example, the "Name" field will contain, in this case, "`<!--#4DEVAL QUIT 4D-->`" which will not be transformed. +Además, de acuerdo con el [principio de recursividad](../Tags/transformation-tags.md#recursive-processing), el código malicioso puede incluir etiquetas de transformación. En este caso, es imprescindible utilizar la etiqueta `4DTEXT`. Imagine, por ejemplo, un campo de formulario web llamado "Name", donde los usuarios deben introducir su nombre. Este nombre se muestra mediante una etiqueta `` en la página. Si se inserta un texto del tipo "\" en lugar del nombre, la interpretación de esta etiqueta provocará la salida de la aplicación. Para evitar este riesgo, basta con utilizar sistemáticamente la etiqueta `4DTEXT` en este caso. Como esta etiqueta escapa a los caracteres especiales de HTML, cualquier código recursivo malicioso que pueda haberse insertado no será reinterpretado. Para referirse al ejemplo anterior, el campo "Nombre" contendrá, en este caso, "`<! -#4DEVAL QUIT 4D-->`" que no será transformado. diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R6/WebServer/webServer.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R6/WebServer/webServer.md index d49cfd0bbdc13e..c724c51ad0d993 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R6/WebServer/webServer.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R6/WebServer/webServer.md @@ -22,7 +22,7 @@ La seguridad de los datos está presente en todas las etapas de las implementaci - Soporte extendido del [**Protocolo TLS (HTTPS)**](../Admin/tls.md), -- **Authentication**: flexible and customizable [authentication features](authentication.md) based upon built-it settings as well as fallback database methods ([`On Web Authentication`](authentication.md#on-web-authentication) for the web server and [`On REST Authentication`](../REST/configuration.md#using-the-on-rest-authentication-database-method) for the REST server), +- **Autenticación**: flexible y personalizable [funcionalidades de autenticación](authentication.md) basado en configuraciones creadas así como en métodos base de reserva ([`On Web Authentication`](autentication. d#on-web-authation) para el servidor web y [`On REST Authentication`](../REST/configuration.md#using-the-on-rest-authentication-database-method) para el servidor REST), - **Control de los contenidos expuestos**: sólo los elementos que exponga explícitamente pueden estar disponibles desde peticiones web directaso peticiones REST. Debe declarar: - [Los métodos proyecto](templates.md#allowing-project-methods) expuestos a través de peticiones HTTP diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R6/WebServer/webServerAdmin.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R6/WebServer/webServerAdmin.md index e64fe0e38329a4..4e5985b39f6045 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R6/WebServer/webServerAdmin.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R6/WebServer/webServerAdmin.md @@ -14,14 +14,14 @@ Un proyecto 4D puede iniciar y monitorizar un servidor web para la aplicación p El servidor web principal de 4D puede iniciarse de diferentes maneras: - Utilizando un botón o comando de menú. - - 4D: **Run\>Start Web Server** menu- The default value (100) can be increased or decreased depending on the resources of the machine hosting the 4D Web Server.
+- **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. Limitar el número de peticiones por conexión le permite evitar la inundación del servidor debido a un gran número de peticiones entrantes (una técnica utilizada por los hackers).+ El valor por defecto (100) puede aumentarse o disminuirse en función de los recursos de la máquina que aloja el Servidor Web 4D.
- **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 transcurrido este periodo, el servidor cierra la conexión.Si el navegador envía una solicitud después de que se haya cerrado 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-R6/WebServer/webServerObject.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R6/WebServer/webServerObject.md index a9f3686297b179..7720ab02ac0004 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R6/WebServer/webServerObject.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R6/WebServer/webServerObject.md @@ -34,15 +34,15 @@ $nbSrv:=WEB Server list.length //el valor de $nbSrv es 1 ``` -To instantiate a web server object, call the [`WEB Server`](API/WebServerClass.md#web-server) command: +Para instanciar un objeto servidor web, llame al comando [`WEB Server`](API/WebServerClass.md#web-server): ```4d - //create an object variable of the 4D.WebServer class +//crear una variable objeto de la clase 4D.WebServer var webServer : 4D.WebServer - //call the web server from the current context + //llamar al servidor web desde el contexto actual webServer:=WEB Server - //equivalent to + //equivalente a webServer:=WEB Server(Web server database) ``` @@ -55,9 +55,9 @@ también se puede utilizar: ```4d var webServer : 4D.WebServer - //call the host web server from a component + //llamar al servidor web local desde un componente webServer:=WEB Server(Web server host database) - //call the target web server + //llamar al servidor web objetivo webServer:=WEB Server(Web server receiving request) ``` @@ -74,13 +74,13 @@ Para iniciar y detener un servidor web, basta con llamar a las funciones [`start ```4d var $status : Object - //to start a web server with default settings + //para iniciar un servidor web con los parámetros por defecto $status:=webServer.start() - //to start the web server with custom settings + //para iniciar el servidor web con los parámetros personalizados //$settings object contains web server properties webServer.start($settings) - //to stop the web server + //para detener el servidor web $status:=webServer.stop() ``` @@ -95,9 +95,9 @@ Estas propiedades son definidas: 3. si no se utiliza, en los parámetros de la aplicación local o del componente. - Si el servidor web no se inicia, las propiedades contienen los valores que se utilizarán en el próximo inicio del servidor web. -- If the web server is started, the properties contain the actual values used by the web server (default settings could have been overriden by the `settings` parameter of the [`.start()`](API/WebServerClass.md#start) function. +- Si se inicia el servidor web, las propiedades contienen los valores reales utilizados por el servidor web (la configuración predeterminada podría haber sido anulada por el parámetro `settings` de la función [`.start()`](API/WebServerClass.md#start). -> *isRunning*, *name*, *openSSLVersion*, and *perfectForwardSecrecy* are read-only properties that cannot be predefined in the `settings` object parameter for the [`start()`](API/WebServerClass.md#start) function. +> *isRunning*, *name*, *openSSLVersion*, y *perfectForwardSecrecy* son propiedades de sólo lectura que no pueden predefinirse en el parámetro del objeto `settings` para la función [`start()`](API/WebServerClass.md#start). ## Alcance de los comandos 4D Web diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R6/WritePro/writeprointerface.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R6/WritePro/writeprointerface.md index 0bef8e79409022..cdd65a64bc4bd8 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R6/WritePro/writeprointerface.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R6/WritePro/writeprointerface.md @@ -41,7 +41,7 @@ Dependiendo de si el usuario selecciona un modelo o una tabla, puede ver la list En el Asistente para tablas, el usuario también puede definir el número de filas de encabezado y filas adicionales (de 0 a 5 cada una), definir [filas de interrupción](https://doc.4d.com/4Dv20/4D/20/Handling-tables.200-6229469.en.html#6233076) (filas de resumen) encima o debajo de la fila de datos, y elegir mostrar/ocultar [filas de arrastre](https://doc.4d.com/4Dv20/4D/20/Handling-tables.200-6229469.en.html#6236686). -In addition, the user has the possibility to choose the table's behavior when its datasource is empty with the following options: Show data row, Hide date row, Hide table, Show placeholder row. +Además, el usuario tiene la posibilidad de elegir el comportamiento de la tabla cuando su fuente de datos está vacía con las siguientes opciones: Mostrar fila de datos, Ocultar fila de fecha, Ocultar tabla, Mostrar fila de marcador de posición. ##### En pantalla: @@ -70,7 +70,7 @@ El archivo de plantilla permite definir lo siguiente: - la fórmula que devuelve una selección de entidades utilizada como fuente de datos de la tabla, - las fórmulas de ruptura (si se puede insertar una línea de ruptura) - los atributos de la clase de datos que pueden utilizarse como columnas de la tabla, -- the formulas available as contextual menus inside break rows, carry-over row, placeholder row or extra rows. +- las fórmulas disponibles como menús contextuales dentro de las filas de interrupción, fila de arrastre, fila de marcador de posición o filas adicionales. El archivo de plantillas debe ser almacenado en una carpeta "[`Resources`](../Project/architecture.md#resources)/4DWP_Wizard/Templates" dentro de su proyecto. diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R6/code-editor/write-class-method.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R6/code-editor/write-class-method.md index b4197dbbcbbea8..80d5e83f6d5896 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R6/code-editor/write-class-method.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R6/code-editor/write-class-method.md @@ -285,7 +285,7 @@ El carácter barra invertida (`\`) tiene un soporte específico en el lenguaje 4 :::caution -El caracter de barra invertida (`\`) se utiliza como separador en [los nombres de ruta en Windows](../Concepts/paths.md#windows). In general, 4D will correctly interpret Windows pathnames entered in the Code Editor by replacing the single backslash with a double backslash. Por ejemplo, `C:\MyDocuments` se convertirá en `C:\\MyDocuments`. Sin embargo, si escribe `"C:\MyDocuments\New"`, 4D mostrará `"C:\\MyDocuments\New"`. En este caso, la segunda barra invertida se interpreta incorrectamente como `\N` (una [secuencia de escape](../Concepts/quick-tour.md#escape-sequences) existente). Por lo tanto, debe introducir una barra invertida doble cuando quiera insertar una barra invertida antes de un caracter que se utiliza en una de las secuencias de escape reconocidas por 4D. +El caracter de barra invertida (`\`) se utiliza como separador en [los nombres de ruta en Windows](../Concepts/paths.md#windows). En general, 4D interpretará correctamente los nombres de ruta de Windows introducidos en el Editor de código sustituyendo la barra invertida simple por una barra invertida doble. Por ejemplo, `C:\MyDocuments` se convertirá en `C:\\MyDocuments`. Sin embargo, si escribe `"C:\MyDocuments\New"`, 4D mostrará `"C:\\MyDocuments\New"`. En este caso, la segunda barra invertida se interpreta incorrectamente como `\N` (una [secuencia de escape](../Concepts/quick-tour.md#escape-sequences) existente). Por lo tanto, debe introducir una barra invertida doble cuando quiera insertar una barra invertida antes de un caracter que se utiliza en una de las secuencias de escape reconocidas por 4D. ::: diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R6/settings/client-server.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R6/settings/client-server.md index ec15fe880518f8..dcdbfd6a1d1bcf 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R6/settings/client-server.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R6/settings/client-server.md @@ -24,7 +24,7 @@ Si modifica este parámetro, deberá reiniciar la base del servidor para que se #### Nombre de publicación -This option lets you change the publication name of a 4D Server database, *i.e.*, the name displayed on the dynamic **Available** tab of the connection dialog box (see the [Opening a remote project](../Desktop/clientServer/md#opening-a-remote-project) paragraph). Por defecto, 4D Server utiliza el nombre del archivo de proyecto. Puede introducir cualquier nombre personalizado que desee. +Esta opción permite modificar el nombre de publicación de una base 4D Server, *es decir*, el nombre que aparece en la pestaña dinámica **Disponible** de la caja de diálogo de conexión (ver el párrafo [Apertura de un proyecto remoto](../Desktop/clientServer/md#opening-a-remote-project)). Por defecto, 4D Server utiliza el nombre del archivo de proyecto. Puede introducir cualquier nombre personalizado que desee. :::note @@ -47,21 +47,22 @@ Para actualizar las otras máquinas clientes que no estén conectadas, basta con #### 4D Server y números de puerto -4D Server utiliza tres puertos TCP para las comunicaciones entre los servidores internos y los clientes: +4D Server utiliza varios puertos TCP para las comunicaciones entre los servidores internos y los clientes: - **SQL Server**: 19812 por defecto (puede modificarse a través de la página "SQL/Configuración" de las Preferencias). - **Servidor de aplicaciones**: 19813 por defecto (puede modificarse a través de la página "Cliente-Servidor/Configuración" de las Preferencias, ver arriba). - **Servidor DB4D** (servidor de base de datos): 19814 por defecto. This port number cannot be modified directly but it always consists of the application server port number + 1.\ - When a 4D client connects to 4D Server, it uses the TCP port of the application server (19813 or the port indicated after the colon ':' in the IP address shown in the connection dialog box). Connection to other servers via their respective ports is then automatic; it is no longer necessary to specify them.\ - Note that in the case of access via a router or a firewall, the three TCP ports must be opened explicitly. + When a 4D client connects to 4D Server, it uses the TCP port of the application server (19813 or the port indicated after the colon ':' in the IP address shown in the connection dialog box). La conexión a otros servidores a través de sus respectivos puertos es entonces automática; ya no es necesario especificarlos.\ + Tenga en cuenta que en caso de acceso a través de un enrutador o un cortafuegos, los tres puertos TCP deben abrirse explícitamente. +- [**Depurador remoto**](../Debugging/debugging-remote.md): 19815 por defecto. Este número de puerto no puede modificarse directamente, pero siempre consta del número de puerto del servidor de aplicaciones + 2. #### Autenticación del usuario con el servidor de dominio -Esta opción le permite implementar las funcionalidades SSO (*Single Sign On*) en su base de datos 4D Server en Windows. Al marcar esta opción, 4D se conecta de forma transparente al directorio Active del servidor de dominio Windows y obtiene los tokens de autenticación disponibles. This option is described in the [Single Sign On (SSO) on Windows](https://doc.4d.com/4Dv20R5/4D/20-R5/Single-Sign-On-SSO-on-Windows.300-6932709.en.html) section. +Esta opción le permite implementar las funcionalidades SSO (*Single Sign On*) en su base de datos 4D Server en Windows. Al marcar esta opción, 4D se conecta de forma transparente al directorio Active del servidor de dominio Windows y obtiene los tokens de autenticación disponibles. Esta opción se describe en la sección [Single Sign On (SSO) en Windows](https://doc.4d.com/4Dv20R5/4D/20-R5/Single-Sign-On-SSO-on-Windows.300-6932709.en.html). #### Service Principal Name -Cuando la autenticación única (SSO) está activa (ver arriba), debe llenar este campo si desea utilizar Kerberos como protocolo de autenticación. This option is described in the [Single Sign On (SSO) on Windows](https://doc.4d.com/4Dv20R5/4D/20-R5/Single-Sign-On-SSO-on-Windows.300-6932709.en.html) section. +Cuando la autenticación única (SSO) está activa (ver arriba), debe llenar este campo si desea utilizar Kerberos como protocolo de autenticación. Esta opción se describe en la sección [Single Sign On (SSO) en Windows](https://doc.4d.com/4Dv20R5/4D/20-R5/Single-Sign-On-SSO-on-Windows.300-6932709.en.html). #### Capa de red @@ -107,7 +108,7 @@ Esta opción permite activar el modo seguro para las comunicaciones entre la má #### Actualizar la carpeta Resources durante una sesión -This setting can be used to globally set the updating mode for the local instance of the **Resources** folder on the connected 4D machines when the **Resources** folder of the database is modified during the session (the **Resources** folder is automatically synchronized on the remote machine each time a session is opened). Hay tres parámetros disponibles: +Este parámetro puede utilizarse para definir globalmente el modo de actualización de la instancia local de la carpeta **Resources** en los equipos 4D conectados cuando se modifica la carpeta **Resources** de la base de datos durante la sesión (la carpeta **Resources** se sincroniza automáticamente en el equipo remoto cada vez que se abre una sesión). Hay tres parámetros disponibles: - **Nunca**: la carpeta local **Resources** no se actualiza durante la sesión. La notificación enviada por el servidor es ignorada. La carpeta **Resources** local puede actualizarse manualmente mediante el comando **Update Local Resources** del menú de acción (ver [Uso del explorador de recursos](https://doc.4d.com/4Dv19/4D/19/Using-the-Resources-explorer.300-5416788.en.html)). - **Siempre**: la sincronización de la carpeta local **Resources** se realiza automáticamente durante la sesión cada vez que el servidor envía una notificación. diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R6/settings/compatibility.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R6/settings/compatibility.md index 9561250cef9d58..c22747f6ec2b7c 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R6/settings/compatibility.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R6/settings/compatibility.md @@ -6,7 +6,7 @@ title: Página de compatibilidad La página Compatibilidad agrupa los parámetros relacionados con el mantenimiento de la compatibilidad con versiones anteriores de 4D. > El número de opciones mostradas depende de la versión de 4D con la que se creó la base de datos/proyecto original, así como de los ajustes modificados en esta base de datos/proyecto.\ -> Esta página enumera las opciones de compatibilidad disponibles para las bases de datos/proyectos convertidos a partir de 4D v18. Para las opciones de compatibilidad más antiguas, consulte la [página Compatibilidad](https://doc.4d.com/4Dv19R3/4D/19-R3/Compatibility-page.300-5612610.en.html) en **doc.4d.com**. +> Esta página enumera las opciones de compatibilidad disponibles para las bases de datos/proyectos convertidos a partir de 4D v18. Para las opciones de compatibilidad más antiguas, consulte la [página Compatibilidad](https://doc.4d.com/4Dv20/4D/20.2/Compatibility-page.300-6750362.en.html) en **doc.4d.com**. - **Utilizar la capa de red heredada**: a partir de 4D v15, las aplicaciones 4D proponen una nueva capa red, llamada *ServerNet*, para manejar las comunicaciones entre 4D Server y las máquinas 4D remotas (clientes). La antigua capa de red ha quedado obsoleta, pero se mantiene para garantizar la compatibilidad con las bases existentes. Utilizando esta opción, puede activar la antigua capa de red en cualquier momento en sus aplicaciones 4D Server dependiendo de sus necesidades. *ServerNet* se utiliza automáticamente para las nuevas bases y las bases convertidas a partir de una versión v15 o posterior. Tenga en cuenta que, en caso de modificación, deberá reiniciar la aplicación para que se tenga en cuenta el cambio. Toda aplicación cliente que estuviera conectada también debe reiniciarse para poder conectarse con la nueva capa de red. **Nota**: esta opción también puede gestionarse por programación utilizando el comando `SET DATABASE PARAMETER`. @@ -27,4 +27,4 @@ La página Compatibilidad agrupa los parámetros relacionados con el mantenimien - **Impresión sin bloqueo**: a partir de 4D v20 R4, cada proceso tiene sus propias configuraciones de impresión (opciones de impresión, impresora actual, etc.), lo que le permite ejecutar múltiples trabajos de impresión simultáneamente. Marque esta opción si desea beneficiarse de esta nueva implementación en sus proyectos 4D convertidos o bases de datos convertidas de modo binario a modo proyecto. **Si se deja sin marcar**, se aplica la implementación anterior: la configuración actual de impresión 4D se aplica globalmente, la impresora se pone en modo "ocupado" cuando hay un trabajo de impresión en marcha, se debe llamar a `CLOSE PRINTING JOB` para que la impresora esté disponible para el siguiente trabajo de impresión (consulte la documentación anterior de 4D para más información). -- **Save structure color and coordinates in separate catalog_editor.json file**: Starting with 4D v20 R5, changes made in the Structure editor regarding graphical appearance of tables and fields (color, position, order...) se guardan en un archivo independiente llamado `catalog_editor.json`, almacenado en la carpeta [Sources] del proyecto(../Project/architecture.md#sources). Esta nueva arquitectura de archivos facilita la gestión de conflictos en aplicaciones VCS, ya que el archivo `catalog.4DCatalog` ahora contiene sólo cambios cruciales en la estructura de la base de datos. Por razones de compatibilidad, esta funcionalidad no está habilitada por defecto en proyectos convertidos de versiones anteriores de 4D, necesita marcar esta opción. Cuando la función está habilitada, el archivo `catalog_editor.json` se crea en la primera modificación en el editor de estructuras. +- **Guardar el color y las coordenadas de la estructura en un archivo catalog_editor.json separado**: a partir de 4D v20 R5, cambios realizados en el editor de estructura en relación a la apariencia gráfica de tablas y campos (color, posición, orden...) se guardan en un archivo independiente llamado `catalog_editor.json`, almacenado en la carpeta [Sources] del proyecto(../Project/architecture.md#sources). Esta nueva arquitectura de archivos facilita la gestión de conflictos en aplicaciones VCS, ya que el archivo `catalog.4DCatalog` ahora contiene sólo cambios cruciales en la estructura de la base de datos. Por razones de compatibilidad, esta funcionalidad no está habilitada por defecto en proyectos convertidos de versiones anteriores de 4D, necesita marcar esta opción. Cuando la función está habilitada, el archivo `catalog_editor.json` se crea en la primera modificación en el editor de estructuras. diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R6/settings/database.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R6/settings/database.md index 95ca632e797048..5335ec1224ef42 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R6/settings/database.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R6/settings/database.md @@ -35,7 +35,7 @@ Se ofrecen tres opciones de ubicación: - **Carpeta de archivos de datos** (opción por defecto): cuando se selecciona esta opción, los archivos temporales 4D se crean en una carpeta llamada "archivos temporales" situada en el mismo nivel que el archivo de datos de la base de datos. - **Definido por el usuario**: esta opción se utiliza para definir una ubicación personalizada. Si se modifica la opción de ubicación, será necesario reiniciar la base para que se tenga en cuenta la nueva opción. 4D verifica si se puede acceder a la carpeta seleccionada mediante escritura. Si no es así, la aplicación prueba otras opciones hasta encontrar una carpeta válida. -> This option is stored in the "extra properties" of the structure that is available when the structure definition is exported in XML (see [Exporting and importing structure definitions](https://doc.4d.com/4Dv19/4D/19/Exporting-and-importing-structure-definitions.300-5416829.en.html)). +> Esta opción se almacena en las "propiedades adicionales" de la estructura, accesibles durante la exportación XML de la definición de estructura (ver [Exportar e importar las definiciones de estructura](https://doc.4d.com/4Dv19/4D/19/Exporting-and-importing-structure-definitions.300-5416829.en.html)). ### Comparación de texto @@ -85,16 +85,16 @@ Utilice los parámetros de esta pestaña para configurar la memoria caché de la - **Cálculo de la caché adaptable**: cuando esta opción está marcada, la gestión de la memoria caché es realizada dinámicamente por el sistema, respetando los límites que defina. Esto permite configurar una memoria caché de alto rendimiento adaptada a la mayoría de las configuraciones. A continuación, el tamaño de la memoria caché se calcula dinámicamente en función de los parámetros definidos. Los valores ofrecidos por defecto corresponden al uso estándar de 4D. - **Memoria a reservar para el sistema y las otras aplicaciones**: parte de la memoria RAM a reservar para el Sistema y las otras aplicaciones. Este valor aumenta para la optimización cuando otras aplicaciones se ejecutan en la misma máquina que 4D. - - **Percentage of available memory used for cache**: Percentage of the remaining memory allocated to the cache by default.\ - To obtain the size allocated by default to the cache, simply perform the following calculation: (Physical memory -- Physical memory to be reserved) X Percentage of the memory used for the cache. En el modo adaptativo, el tamaño de la memoria caché varía dinámicamente en función de las necesidades de la aplicación y del sistema. Puede definir los límites utilizando las siguientes dos opciones: + - **Porcentaje de memoria disponible utilizada para la caché**: porcentaje de la memoria restante asignada por defecto a la caché.\ + Para obtener el tamaño asignado por defecto a la caché, basta con realizar el siguiente cálculo: (Memoria física -- Memoria física a reservar) X Porcentaje de la memoria utilizada para la caché. En el modo adaptativo, el tamaño de la memoria caché varía dinámicamente en función de las necesidades de la aplicación y del sistema. Puede definir los límites utilizando las siguientes dos opciones: - **Tamaño mínimo**: cantidad mínima de memoria que debe reservarse para la caché. Este valor no puede ser inferior a 100 MB. - - **Tamaño máximo**: cantidad máxima de memoria que puede utilizar la caché. This value is virtually unlimited.\\ - Setting limits is particularly useful for databases that are distributed on machines for which you do not know the memory configuration a priori. En este caso, los límites definidos permiten garantizar un rendimiento mínimo en todos los casos. El siguiente diagrama ilustra este comportamiento: + - **Tamaño máximo**: cantidad máxima de memoria que puede utilizar la caché. Este valor es prácticamente ilimitado.\\ + Definir límites es especialmente útil para bases distribuidas en máquinas de las que no se conoce a priori la configuración de memoria. En este caso, los límites definidos permiten garantizar un rendimiento mínimo en todos los casos. El siguiente diagrama ilustra este comportamiento: - Example for calculating cache memory: - *Physical memory to reserve = 256 MB - Percentage of the available memory used for the cache = 50% - Maximum size = 1 GB Minimum size = 128 MB* + Ejemplo de cálculo de la memoria caché: + *Memoria física a reservar = 256 MB + Porcentaje de la memoria disponible utilizado para la caché = 50% + Tamaño máximo = 1 GB Tamaño mínimo = 128 MB* ![](../assets/en/settings/memory-maximum-size.png) diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R6/settings/interface.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R6/settings/interface.md index 44122afac7492f..402a12b8ff601e 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R6/settings/interface.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R6/settings/interface.md @@ -17,7 +17,7 @@ Haga clic en **Seleccionar...** para definir la fuente y el tamaño de los carac La fuente y el tamaño de la fuente por defecto dependen de la plataforma de ejecución de 4D. -> This property also affects the following parts of 4D:Disponible sólo con CSS Preview None
| -| ![](../assets/en/FormEditor/distribution.png) | [Distribución](#distributing-objects) | Este botón está asociado a un menú que permite repartir los objetos en el formulario. Se activa (o no) en función de los objetos seleccionados.Disponible sólo con CSS Preview None
| +| ![](../assets/en/FormEditor/alignment.png) | [Alignement](#aligning-objects) | Este botón está asociado a un menú que permite alinear los objetos en el formulario. It is enabled (or not) depending on the objects selected.Please enter your name:
-- +
+
-- - +
+ +
@@ -373,5 +374,3 @@ El servidor web de 4D ahora soporta archivos cargados con codificación chunked El método COMPILER\WEB, si existe, es llamado sistemáticamente cuando el servidor HTTP recibe una petición dinámica y llama al motor 4D. Este es el caso, por ejemplo, cuando el servidor web de 4D recibe un formulario publicado o una URL para procesar en [`On Web Connection`](#on-web-connection). Este método está destinado a contener directivas de digitación y/o inicialización de variables utilizadas durante los intercambios web. Es utilizado por el compilador cuando se compila la aplicación. El método COMPILER\WEB es común a todos los formularios web. Por defecto, el método COMPILER_WEB no existe. Debe crearlo explícitamente. > También se llama al método proyecto COMPILER_WEB, si existe, para cada solicitud SOAP aceptada. - - diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20/WebServer/webServerConfig.md b/i18n/es/docusaurus-plugin-content-docs/version-20/WebServer/webServerConfig.md index dcee9e692707fa..f50d058625a751 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20/WebServer/webServerConfig.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20/WebServer/webServerConfig.md @@ -20,10 +20,10 @@ Hay diferentes maneras de configurar los parámetros del servidor web 4D, en fun ## Caché -| Puede ajustarse con | Nombre | Comentarios | -| ----------------------------- | ------------------------------------------------------------------------------------------------- | ----------- | -| Caja de diálogo de parámetros | [Página de configuración/Utilización de la caché Web 4D](../settings/web.md#use-the-4d-web-cache) | | -| Caja de diálogo de parámetros | [Página de configuración/Tamaño de la caché de las páginas](../settings/web.md#page-cache-size) | | +| Puede ajustarse con | Nombre | Comentarios | +| ----------------------------- | -------------------------------------------------------------------------------- | ----------- | +| Caja de diálogo de parámetros | [Options (I) page/Use the 4D Web cache](../settings/web.md#use-the-4d-web-cache) | | +| Caja de diálogo de parámetros | [Options (I) page/Page Cache Size](../settings/web.md#page-cache-size) | | Activa y configura la caché de las páginas web. @@ -303,7 +303,7 @@ Número de puerto IP de escucha para las conexiones HTTPS vía TLS. Por defecto, | `WEB SET OPTION` | `Web inactive process timeout` | | | Caja de diálogo de parámetros | [Página Opciones (I)/Tiempo de espera de procesos inactivos](../settings/web.md#inactive-process-timeout) | Cursor | -Duración de vida (en minutos) de los procesos inactivos asociados a las sesiones. Al final del tiempo de espera, el proceso se mata en el servidor, se llama al método base `On Web Close Process` y se destruye el contexto de sesión. +Duración de vida (en minutos) de los procesos inactivos asociados con sesiones heredadas. Al final del tiempo de espera, el proceso se mata en el servidor, se llama al método base `On Web Legacy Close Session` y se destruye el contexto de la sesión. Por defecto: 480 minutos (pase 0 para restaurar el valor por defecto) @@ -425,7 +425,7 @@ Valores posibles: 500 000 a 2 147 483 648. | objeto webServer | [`maxSessions`](API/WebServerClass.md#maxsessions) | | | `WEB SET OPTION` | `Web max sessions` | | -Número máximo de sesiones simultáneas. Cuando se alcanza el límite definido, se cierra la sesión más antigua (y se llama al método base `On Web Close Process`) si el servidor web necesita crear una nueva. El número de sesiones simultáneas no puede superar el [número máximo de procesos web](#maximum-concurrent-web-processes) (100 por defecto). +Número máximo de sesiones heredadas simultáneas. Cuando alcanza el límite establecido, se cierra la sesión heredada más antigua (y se llama al método base `On Web Legacy Close Session`) si el servidor web necesita crear una nueva. El número de sesiones heredadas simultáneas no puede superar el [número máximo de procesos web](#maximum-concurrent-web-processes) (100 por defecto). Valor por defecto: 100 (pase 0 para restaurar el valor por defecto). @@ -479,9 +479,9 @@ Verdadero si PFS está disponible en el servidor web (ver la sección [TLS](Admi ## Reutilizar los contextos temporales (en modo remoto) -| Puede ajustarse con | Nombre | Comentarios | -| ----------------------------- | ------------------------------------------------------------------------------------------------------ | ----------- | -| Caja de diálogo de parámetros | [Página Opciones (I)/Máximo de Procesos Web Concurrentes](../settings/web.md#reuse-temporary-contexts) | | +| Puede ajustarse con | Nombre | Comentarios | +| ----------------------------- | ---------------------------------------------------------------------------------------- | ----------- | +| Caja de diálogo de parámetros | [Options (I) page/Reuse Temporary Contexts](../settings/web.md#reuse-temporary-contexts) | | > Esta opción sólo está disponible cuando la opción **Sin sesiones** está marcada. @@ -565,7 +565,7 @@ Por ejemplo, si quiere que la carpeta raíz HTML sea la subcarpeta "Web" de la c | `WEB SET OPTION` | `Sesión escalable web` | | | Caja de diálogo de parámetros | [Página Opciones (I)/Sesiones escalables (sesiones multiproceso)](../settings/web.md#scalable-sessions-multi-process-sessions) | | -Estado de activación de la gestión de sesiones escalable para el servidor web 4D. Las sesiones del servidor web se detallan en la página [Sesiones de usuario](sessions.md). +Estado de activación de la gestión de sesiones escalable para el servidor web 4D. Las sesiones del servidor web se detallan en la página [Sesiones Web](sessions.md). @@ -622,9 +622,9 @@ El valor del atributo `Secure` de la cookie de sesión se define automáticament ## Utilizar procesos apropiativos -| Puede ajustarse con | Nombre | Comentarios | -| ----------------------------- | ------------------------------------------------------------------------------------------------------ | ----------- | -| Caja de diálogo de parámetros | [Página Opciones (I)/Máximo de Procesos Web Concurrentes](../settings/web.md#use-preemptive-processes) | | +| Puede ajustarse con | Nombre | Comentarios | +| ----------------------------- | ---------------------------------------------------------------------------------------- | ----------- | +| Caja de diálogo de parámetros | [Options (I) page/Use Preemptive Processes](../settings/web.md#use-preemptive-processes) | | Esta opción activa el modo apropiativo para el código del servidor web de su aplicación cuando se selecciona la opción **Sin sesiones** (el modo apropiativo siempre está activado con **sesiones escalables**). Cuando esta opción está marcada en este contexto, el compilador 4D evaluará automáticamente la propiedad hilo seguro de cada pieza de [código relacionado con la web](preemptiveWeb.md#thread-safety-of-4d-web-code) y devolverá errores en caso de incompatibilidad. diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20/code-editor/write-class-method.md b/i18n/es/docusaurus-plugin-content-docs/version-20/code-editor/write-class-method.md index 42fad1bc981ba1..a82be300381f69 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20/code-editor/write-class-method.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20/code-editor/write-class-method.md @@ -629,7 +629,7 @@ El comando **Revelar en el Explorador...** abre una ventana del Explorador con e El comando **Buscar los llamantes** del menú **Método** solo está habilitado para métodos proyecto. Busca todos los objetos (otros métodos o menús) que hacen referencia al método proyecto. -Selecting the **Find...** command displays the following dialog box: +**Nota:** el comando **buscar llamantes...** también está disponible en **Explorador** > **Métodos** Este comando muestra sus resultados en una nueva ventana. diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20/settings/client-server.md b/i18n/es/docusaurus-plugin-content-docs/version-20/settings/client-server.md index b0a81b17ff9a44..643aa1c32e1ef5 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20/settings/client-server.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20/settings/client-server.md @@ -45,6 +45,7 @@ Para actualizar las otras máquinas clientes que no estén conectadas, basta con - **Servidor DB4D** (servidor de base de datos): 19814 por defecto. This port number cannot be modified directly but it always consists of the application server port number + 1.\ When a 4D client connects to 4D Server, it uses the TCP port of the application server (19813 or the port indicated after the colon ':' in the IP address shown in the connection dialog box). Connection to other servers via their respective ports is then automatic; it is no longer necessary to specify them.\ Note that in the case of access via a router or a firewall, the three TCP ports must be opened explicitly. +- [**Depurador remoto**](../Debugging/debugging-remote.md): 19815 por defecto. Este número de puerto no puede modificarse directamente, pero siempre consta del número de puerto del servidor de aplicaciones + 2. #### Autenticación del usuario con el servidor de dominio @@ -97,4 +98,4 @@ El funcionamiento de la tabla de configuración es el siguiente: - Denegar 192.168.* (denegar todas las direcciones que empiecen por 192.168) - Autorizar * (y permitir todas las demás direcciones) -Por defecto, 4D Server no aplica ninguna restricción de conexión: la primera línea de la tabla contiene la etiqueta Autorizar y el caracter * (todas las direcciones). \ No newline at end of file +Por defecto, 4D Server no aplica ninguna restricción de conexión: la primera línea de la tabla contiene la etiqueta Autorizar y el caracter * (todas las direcciones). diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20/settings/compatibility.md b/i18n/es/docusaurus-plugin-content-docs/version-20/settings/compatibility.md index 2e37e88eeae3c3..e842649b23ac4b 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20/settings/compatibility.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20/settings/compatibility.md @@ -6,7 +6,7 @@ title: Página de compatibilidad La página Compatibilidad agrupa los parámetros relacionados con el mantenimiento de la compatibilidad con versiones anteriores de 4D. > El número de opciones mostradas depende de la versión de 4D con la que se creó la base/proyecto original, así como de los parámetros modificados en esta base/proyecto. -> Esta página lista las opciones de compatibilidad disponibles para las bases/proyectos convertidos a partir de 4D v18. Para las opciones de compatibilidad más antiguas, consulte la [página Compatibilidad](https://doc.4d.com/4Dv19R3/4D/19-R3/Compatibility-page.300-5612610.en.html) en **doc.4d.com**. +> Esta página lista las opciones de compatibilidad disponibles para las bases/proyectos convertidos a partir de 4D v18. Para las opciones de compatibilidad más antiguas, consulte la [página Compatibilidad](https://doc.4d.com/4Dv20/4D/20.2/Compatibility-page.300-6750362.en.html) en **doc.4d.com**. - **Utilizar la capa de red heredada**: a partir de 4D v15, las aplicaciones 4D proponen una nueva capa red, llamada *ServerNet*, para manejar las comunicaciones entre 4D Server y las máquinas 4D remotas (clientes). La antigua capa de red ha quedado obsoleta, pero se mantiene para garantizar la compatibilidad con las bases existentes. Utilizando esta opción, puede activar la antigua capa de red en cualquier momento en sus aplicaciones 4D Server dependiendo de sus necesidades. *ServerNet* se utiliza automáticamente para las nuevas bases y las bases convertidas a partir de una versión v15 o posterior. Tenga en cuenta que, en caso de modificación, deberá reiniciar la aplicación para que se tenga en cuenta el cambio. Toda aplicación cliente que estuviera conectada también debe reiniciarse para poder conectarse con la nueva capa de red. **Nota:** esta opción también puede gestionarse por programación utilizando el comando `SET DATABASE PARAMETER`. diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20/settings/security.md b/i18n/es/docusaurus-plugin-content-docs/version-20/settings/security.md index 0ebaa472fd3cd2..9237d70442e50d 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20/settings/security.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20/settings/security.md @@ -31,7 +31,7 @@ Esta página contiene opciones relacionadas con la protección del acceso y de l ## Opciones -- **Filtrado de comandos y métodos proyecto en el editor de fórmulas y documentos 4D Write Pro**: Por razones de seguridad, por defecto 4D restringe el acceso a los comandos, funciones y métodos proyecto en el [editor de fórmulas](https://doc.4d.com/4Dv19/4D/19/Formula-editor.200-5416596.en.html) en modo Aplicación o añadidos a áreas mutiestilos o documentos 4D Write Pro utilizando el comando [ST INSERT EXPRESSION](https://doc.4d.com/4dv19R/help/command/en/page1281.html): sólo pueden usarse ciertas funciones 4D y métodos proyecto que han sido explícitamente declarados usando el comando [SET ALLOWED METHODS](https://doc.4d.com/4dv19R/help/command/en/page805.html). Puede eliminar total o parcialmente este filtrado mediante las siguientes opciones. +- **Filtrado de comandos y métodos proyecto en el editor de fórmulas y en los documentos 4D View Pro y 4D Write Pro**: Por razones de seguridad, por defecto 4D restringe el acceso a los comandos, funciones y métodos proyecto en el [editor de fórmulas](https://doc.4d.com/4Dv19/4D/19/Formula-editor.200-5416596.en.html) en modo Aplicación o añadidos a áreas multiestilo (utilizando [ST INSERT EXPRESSION](https://doc.4d.com/4dv19R/help/command/en/page1281.html)), documentos 4D Write Pro y 4D View Pro: solo se pueden usar ciertas funciones 4D y métodos proyecto que hayan sido explícitamente declarados utilizando el comando [SET ALLOWED METHODS](https://doc.4d.com/4dv19R/help/command/en/page805.html). Puede eliminar total o parcialmente este filtrado mediante las siguientes opciones. - **Activado para todos** (opción por defecto): el acceso a los comandos, funciones y métodos proyecto está restringido para todos los usuarios, incluidos el Diseñador y el Administrador. - **Desactivado para el Diseñador y el Administrador**: esta opción concede acceso completo a los comandos 4D y a los métodos sólo al Diseñador y al Administrador. Permite definir un modo de acceso ilimitado a los comandos y métodos sin perder el control de las operaciones efectuadas. Durante la fase de desarrollo, este modo puede utilizarse para probar libremente todas las fórmulas, informes, etc. Durante el funcionamiento, puede utilizarse para definir soluciones seguras que permitan el acceso temporal a comandos y métodos. El principio consiste en cambiar de usuario (mediante el comando [CHANGE CURRENT USER](https://doc.4d.com/4dv19R/help/command/en/page289.html)) antes de llamar a un diálogo o de iniciar un proceso de impresión que requiera acceso total a los comandos, para luego volver al usuario original una vez finalizada la operación específica. **Nota:** si se ha activado el acceso completo mediante la opción anterior, esta opción no tendrá ningún efecto. - **Desactivado para todos**: esta opción desactiva el control en las fórmulas. Cuando esta opción está marcada, los usuarios tienen acceso a todos los comandos 4D, plug-ins y métodos proyecto (excepto los invisibles). **Nota:** esta opción tiene prioridad sobre el comando [SET ALLOWED METHODS](https://doc.4d.com/4dv19R/help/command/en/page805.html). Cuando se selecciona, este comando no hace nada. diff --git a/i18n/fr/code.json b/i18n/fr/code.json index adb5fdcc53cb3b..0d36ed3c5395c0 100644 --- a/i18n/fr/code.json +++ b/i18n/fr/code.json @@ -27,7 +27,7 @@ "message": "Débogage" }, "Settings": { - "message": "Settings" + "message": "Propriétés" }, "Preferences": { "message": "Préférences" diff --git a/i18n/fr/docusaurus-plugin-content-docs/current.json b/i18n/fr/docusaurus-plugin-content-docs/current.json index ba86844a5daa28..b6517ff63262f1 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current.json +++ b/i18n/fr/docusaurus-plugin-content-docs/current.json @@ -32,7 +32,7 @@ "description": "The label for category Debugging in sidebar docs" }, "sidebar.docs.category.Settings": { - "message": "Settings", + "message": "Propriétés", "description": "The label for category Settings in sidebar docs" }, "sidebar.docs.category.Preferences": { 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 b883aec2f15510..52ef82eb4bd743 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/API/CollectionClass.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/API/CollectionClass.md @@ -196,8 +196,8 @@ Vous pouvez passer tout nombre de valeurs de n'importe quel type pris en charge - date - heure (stockée en nombre de milliseconds - réel) - Null -- shared object(\*) -- shared collection(\*) +- objet partagé +- collection partagée :::note @@ -205,8 +205,6 @@ Contrairement aux collections standard (non partagées), les collections partag ::: -(\*)Lorsqu'un objet partagé ou une collection partagée est ajouté(e) à une collection partagée, ils partagent le même *locking identifier*. Pour plus d'informations sur ce point, reportez-vous à [4D Doc Center](https://doc.4d.com). - #### Exemple ```4d @@ -3024,11 +3022,11 @@ Avec la méthode ***Flatten*** suivante : -| Paramètres | Type | | Description | -| ---------- | ---------- | :-: | -------------------------------------------------------------------------------------- | -| index | Integer | -> | Élément à partir duquel la suppression peut commencer | -| howMany | Integer | -> | Nombre d'éléments à supprimer, ou 1 élément si omis | -| Résultat | Collection | <- | Collection d'origine sans élément(s) supprimé(s) | +| Paramètres | Type | | Description | +| ---------- | ---------- | :-: | ----------------------------------------------------------------- | +| index | Integer | -> | Élément à partir duquel la suppression peut commencer | +| howMany | Integer | -> | Nombre d'éléments à supprimer, ou 1 élément si omis | +| Résultat | Collection | <- | Modified collection without removed element(s) | diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/API/CryptoKeyClass.md b/i18n/fr/docusaurus-plugin-content-docs/current/API/CryptoKeyClass.md index cf68f653e6380b..c79bd0e19e4d16 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/API/CryptoKeyClass.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/API/CryptoKeyClass.md @@ -9,7 +9,7 @@ Cette classe est disponible depuis le "class store" de `4D`. :::info Voir également -For a comprehensive overview of this class, please refer to the [**CryptoKey: encrypt, decrypt, sign, and verify!**](https://blog.4d.com/cryptokey-encrypt-decrypt-sign-and-verify/) blog post. +Pour une vue d'ensemble complète de cette classe, veuillez vous reporter au blog [**CryptoKey : chiffrer, déchiffrer, signer et vérifier!**](https://blog.4d.com/cryptokey-encrypt-decrypt-sign-and-verify/). ::: @@ -42,14 +42,14 @@ For a comprehensive overview of this class, please refer to the [**CryptoKey: en -| Paramètres | Type | | Description | -| ---------- | ---------------------------- | -- | ---------------------------------------------------- | -| settings | Object | -> | Paramètres pour générer ou charger une paire de clés | -| result | 4D.CryptoKey | <- | Objet contenant une paire de clés de chiffrement | +| Paramètres | Type | | Description | +| ---------- | ---------------------------- | -- | ------------------------------------------------ | +| settings | Object | -> | Settings to generate or load a key pair | +| result | 4D.CryptoKey | <- | Objet contenant une paire de clés de chiffrement | -La fonction `4D.CryptoKey.new()` crée un nouvel objet `4D.CryptoKey` encapsulant une paire de clés de chiffrement, en fonction du paramètre *settings*. Elle permet de générer une nouvelle clé RSA ou ECDSA, ou de charger une paire de clés existante à partir de la définition PEM. +La fonction `4D.CryptoKey.new()` crée un nouvel objet `4D.CryptoKey` encapsulant une paire de clés de chiffrement, en fonction du paramètre *settings*. It allows to generate a new RSA or ECDSA key, or to load an existing key pair from a PEM definition. #### *settings* @@ -62,47 +62,47 @@ La fonction `4D.CryptoKey.new()` crée u #### *CryptoKey* -L'objet `CryptoKey` retourné encapsule une paire de clés de chiffrement. C'est un objet partagé et peut être alors utilisé par de multiples traitements 4D simultanés. +L'objet `CryptoKey` retourné encapsule une paire de clés de chiffrement. It is a shared object and can therefore be used by multiple 4D processes simultaneously. #### Exemple 1 -A message is signed by a private key and the signature is verified by the corresponding public key. The following code signs and verifies a simple message signature. +Un message est signé par une clé privée et la signature est vérifiée par la clé publique correspondante. Le code suivant signe et vérifie une signature de message simple. -- Bob's side: +- Côté bob : ```4d -// Create the message +// Créer le message $message:="hello world" Folder(fk desktop folder).file("message.txt").setText($message) -// Create a key +// Créer une clé $type:=New object("type";"RSA") $key:=4D.CryptoKey.new($type) -// Get the public key and save it +// Récupérer et stocker une clé publique Folder(fk desktop folder).file("public.pem").setText($key.getPublicKey()) -// Get signature as base64 and save it +// Récupérer et stocker une signature en base64 Folder(fk desktop folder).file("signature").setText($key.sign($message;$type)) -/*Bob sends the message, the public key and the signature to Alice*/ +/*Bob envoie le message, la clé publique et la signature à Alice*/ ``` -- Alice's side: +- Côté Alice : ```4d -// Get message, public key & signature +// Récupérer le message, la clé publique et la signature $message:=Folder(fk desktop folder).file("message.txt").getText() $publicKey:=Folder(fk desktop folder).file("public.pem").getText() $signature:=Folder(fk desktop folder).file("signature").getText() -// Create a key +// Créer une clé $type:=New object("type";"PEM";"pem";$publicKey) $key:=4D.CryptoKey.new($type) -// Verify signature +// Vérifier la signature If ($key.verify($message;$signature;$type).success) -// The signature is valid +// La signature est valide End if ``` 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 b5fcc94a3443bd..ef90570d81a47a 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/API/DataClassClass.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/API/DataClassClass.md @@ -158,9 +158,9 @@ Le mode lazy loading est appliqué. Dans le paramètre optionnel *settings*, vous pouvez passer un objet contenant des options supplémentaires. La propriété suivante est prise en charge : -| Propriété | Type | Description | -| --------- | ---- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| context | Text | Nom du contexte d'optimisation appliqué à l'entity selection. Ce contexte sera utilisé par le code qui manipule l'entity selection afin de bénéficier de l'optimisation. Cette fonctionnalité est [conçue pour le traitement client/serveur ORDA](ORDA/entities.md#optimisation-client-server). | +| Propriété | Type | Description | +| --------- | ---- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| context | Text | Nom du contexte d'optimisation appliqué à l'entity selection. Ce contexte sera utilisé par le code qui manipule l'entity selection afin de bénéficier de l'optimisation. Cette fonctionnalité est [conçue pour le traitement ORDA client/serveur](../ORDA/client-server-optimization.md). | > Pour connaître le nombre total d'entités dans une dataclass, il est recommandé d'utiliser la fonction [`getCount()`](#getcount) qui est plus optimisée que l'expression `ds.myClass.all().length`. @@ -223,6 +223,10 @@ $ds.Persons.clearRemoteCache() // Cache of the Persons dataclass = {timeout:30;maxEntries:30000;stamp:255;entries:[]} ``` +#### Voir également + +[`entitySelection.refresh()`](EntitySelectionClass.md#refresh) + @@ -289,9 +293,9 @@ Si une propriété \_\_STAMP est fournie, une vérification est effectuée sur l Dans le paramètre optionnel *settings*, vous pouvez passer un objet contenant des options supplémentaires. La propriété suivante est prise en charge : -| Propriété | Type | Description | -| --------- | ---- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| context | Text | Nom du contexte d'optimisation appliqué à l'entity selection. Ce contexte sera utilisé par le code qui manipule l'entity selection afin de bénéficier de l'optimisation. Cette fonctionnalité est [conçue pour le traitement client/serveur ORDA](ORDA/entities.md#optimisation-client-server). | +| Propriété | Type | Description | +| --------- | ---- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| context | Text | Nom du contexte d'optimisation appliqué à l'entity selection. Ce contexte sera utilisé par le code qui manipule l'entity selection afin de bénéficier de l'optimisation. Cette fonctionnalité est [conçue pour le traitement ORDA client/serveur](../ORDA/client-server-optimization.md). | #### Exemple 1 @@ -459,9 +463,15 @@ Le chargement différé (lazy loading) est appliqué, ce qui signifie que les do Dans le paramètre optionnel *settings*, vous pouvez passer un objet contenant des options supplémentaires. La propriété suivante est prise en charge : -| Propriété | Type | Description | -| --------- | ---- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| context | Text | Nom du contexte d'optimisation appliqué à l'entité. Ce contexte sera utilisé par le code qui manipule l'entité afin de bénéficier de l'optimisation. Cette fonctionnalité est [conçue pour le traitement client/serveur ORDA](ORDA/entities.md#optimisation-client-server). | +| Propriété | Type | Description | +| --------- | ---- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| context | Text | Nom du contexte d'optimisation appliqué à l'entité. Ce contexte sera utilisé par le code qui manipule l'entité afin de bénéficier de l'optimisation. Cette fonctionnalité est [conçue pour le traitement ORDA client/serveur](../ORDA/client-server-optimization.md). | + +:::info + +Lorsque vous appelez la fonction `.get()` **sans** paramètre *settings*, une requête de valeur d'attribut est envoyée directement au serveur (le [cache ORDA](.. /ORDA/client-server-optimization.md#orda-cache) n'est pas utilisé). Par contre, lorsque vous appelez `.get()` **avec** un `context` passé dans le paramètre *settings*, les valeurs des attributs sont récupérées à partir du cache ORDA correspondant au contexte. Dans ce cas, il peut être conseillé d'appeler [`reload()`](EntityClass.md#reload) pour s'assurer que les données les plus récentes sont récupérées depuis le serveur. + +::: #### Exemple 1 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 2334e62a3964b0..a1753aa8ce23f9 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/API/EntitySelectionClass.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/API/EntitySelectionClass.md @@ -1994,7 +1994,8 @@ Une list box affiche l'entity selection Form.students, sur laquelle plusieurs cl #### Voir également -[`.clean()`](#clean) +[`.clean()`](#clean)**Note**: When an object of the Text or Group Box type is selected, pressing the **Enter** key lets you switch to editing mode.
| -| ![](../assets/en/FormEditor/zOrder.png) | [Entry order](#data-entry-order) | Passe en mode “Ordre de saisie”, dans lequel il est possible de visualiser et de modifier l’ordre de saisie courant du formulaire. A noter que vous pouvez également visualiser l’ordre de saisie courant tout en travaillant dans le formulaire. | -| ![](../assets/en/FormEditor/moving.png) | [Moving](#moving-objects) | Passe en mode “Déplacement”, dans lequel il est possible d’atteindre rapidement n’importe quelle partie du formulaire en le faisant directement glisser dans la fenêtre. Le curseur prend la forme d’une main. Ce mode de navigation est particulièrement utile en cas de zoom dans le formulaire. | -| ![](../assets/en/FormEditor/zoom.png) | [Zoom](#zoom) | Permet de modifier l’échelle d’affichage du formulaire (100% par défaut). Vous pouvez passer en mode “Zoom” en cliquant sur le bouton loupe ou en cliquant directement sur la barre correspondant à l’échelle désirée. Cette fonction est détaillée dans le paragraphe précédent. | -| ![](../assets/en/FormEditor/alignment.png) | [Alignment](#aligning-objects) | Ce bouton est associé à un menu permettant d’aligner les objets dans le formulaire. It is enabled (or not) depending on the objects selected.Available only with CSS Preview None
| -| ![](../assets/en/FormEditor/distribution.png) | [Distribution](#distributing-objects) | Ce bouton est associé à un menu permettant de répartir les objets dans le formulaire. It is enabled (or not) depending on the objects selected.Available only with CSS Preview None
| -| ![](../assets/en/FormEditor/level.png) | [Level](#layering-objects) | Ce bouton est associé à un menu permettant de répartir les objets dans le formulaire. Il est activé (ou non) en fonction des objets sélectionnés. | -| ![](../assets/en/FormEditor/group.png) | [Group/Ungroup](#grouping-objects) | Ce bouton est associé à un menu permettant de grouper et dégrouper la sélection d’objets du formulaire. Il est activé (ou non) en fonction des objets sélectionnés. | -| ![](../assets/en/FormEditor/displyAndPage.png) | [Display and page management](forms.html#form-pages) | Cette zone permet de passer d’une page du formulaire à une autre et d’ajouter des pages. Pour naviguer parmi les pages du formulaire, cliquez sur les boutons fléchés ou cliquez sur la zone centrale et choisissez la page à afficher dans le menu qui apparaît. Si vous cliquez sur le bouton fléché de droite alors que vous êtes sur la dernière page du formulaire, 4D vous permet d’ajouter une page. | -| ![](../assets/en/FormEditor/cssPreviewicon.png) | [CSS Preview](#css-preview) | Ce bouton permet de sélectionner le mode CSS à utiliser. | -| ![](../assets/en/FormEditor/views.png) | [Managing views](#views) | Ce bouton affiche ou masque alternativement la palette des vues. Cette fonction est détaillée dans la section Utiliser les vues d'objet. | -| ![](../assets/en/FormEditor/shields2.png) | [Displaying shields](#shields) | Chaque clic sur ce bouton provoque l’affichage successif de tous les types de badges de formulaire. Le bouton est également associé à un menu permettant de sélectionner directement le type de badge à afficher. | -| ![](../assets/en/FormEditor/library.png) | [Preconfigured object library](objectLibrary.html) | Ce bouton affiche la fenêtre de la bibiliothèque d'objets préconfigurée, proposant de nombreux objets auxquels des propriétés par défaut ont déjà été appliquées. | -| ![](../assets/en/FormEditor/listBoxBuilder1.png) | [List Box Builder](#list-box-builder) | Ce bouton crée de nouvelles list box de type entity selection. | -| ![](../assets/en/FormEditor/insertFields.png) | [Insert fields](#insert-fields) | This button inserts all fields (except object and blob type fields) of the form table in the form, along with their labels and with respect to interface standards. | - -### Object bar - -The object bar contains all the active and inactive objects that can be used in 4D forms. Some objects are grouped together by themes. Each theme includes several alternatives that you can choose between. When the object bar has the focus, you can select the buttons using the keys of the keyboard. The following table describes the object groups available and their associated shortcut key. - -| Bouton | Group | Key | -| ------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-: | -| ![](../assets/en/FormEditor/text.png) | [Text](FormObjects/text.md) / [Group Box](FormObjects/groupBox.md) | T | -| ![](../assets/en/FormEditor/input.png) | [Input](FormObjects/input_overview.md) | F | -| ![](../assets/en/FormEditor/listbox.png) | [Hierarchical List](FormObjects/list_overview.md) / [List Box](FormObjects/listbox_overview.md) | L | -| ![](../assets/en/FormEditor/combo.png) | [Combo Box](FormObjects/comboBox_overview.md) / [Drop-down List](FormObjects/dropdownList_Overview.md) / [Picture Pop-up Menu](FormObjects/picturePopupMenu_overview.md) | P | -| ![](../assets/en/FormEditor/button.png) | [Button](FormObjects/button_overview.md) / [Picture Button](FormObjects/pictureButton_overview.md) / [Button Grid](FormObjects/buttonGrid_overview.md) | B | -| ![](../assets/en/FormEditor/radio.png) | [Radio Button](FormObjects/radio_overview.md) | R | -| ![](../assets/en/FormEditor/checkbox.png) | [Check Box](FormObjects/checkbox_overview.md) | C | -| ![](../assets/en/FormEditor/indicator.png) | [Progress Indicator](FormObjects/progressIndicator.md) / [Ruler](FormObjects/ruler.md) / [Stepper](FormObjects/stepper.md) / [Spinner](FormObjects/spinner.md) | I | -| ![](../assets/en/FormEditor/rectangle.png) | [Rectangle](FormObjects/shapes_overview.md#rectangle) / [Line](FormObjects/shapes_overview.md#line) / [Oval](FormObjects/shapes_overview.md#oval) | S | -| ![](../assets/en/FormEditor/splitter.png) | [Splitter](FormObjects/splitters.md) / [Tab Control](FormObjects/tabControl.md) | D | -| ![](../assets/en/FormEditor/plugin.png) | [Plug-in Area](FormObjects/pluginArea_overview.md) / [Subform](FormObjects/subform_overview.md) / [Web Area](FormObjects/webArea_overview.md) / [4D Write Pro](FormObjects/writeProArea_overview.md) / [4D View Pro](FormObjects/viewProArea_overview.md) | X | - -To draw an object type, select the corresponding button and then trace the object in the form. After creating an object, you can modify its type using the Property List. Hold down the **Shift** key as you draw to constrain the object to a regular shape. Lines are constrained to horizontal, 45°, or vertical, rectangles are constrained to squares, and ovals are constrained to circles. - -The current variant of the theme is the object that will be inserted in the form. When you click the right side of a button, you access the variant menu: +| Icône | Nom | Description | +| ------------------------------------------------ | --------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| ![](../assets/en/FormEditor/execute.png) | Exécuter le formulaire | Permet de tester l’exécution du formulaire. Lorsque vous cliquez sur ce bouton, 4D ouvre une nouvelle fenêtre et affiche le formulaire dans son contexte (liste d’enregistrements pour un formulaire liste et enregistrement courant en page pour un formulaire détaillé). Le formulaire est exécuté dans le process principal. | +| ![](../assets/en/FormEditor/selection.png) | [Outil de sélection](#selecting-objects) | Permet la sélection, le déplacement et le redimensionnement des objets de formulaire.**Note** : Lorsqu'un objet de type Texte ou Box Groupe est sélectionné, appuyez sur la touche **Entrée** pour passer en mode édition.
| +| ![](../assets/en/FormEditor/zOrder.png) | [Ordre de saisie](#data-entry-order) | Passe en mode “Ordre de saisie”, dans lequel il est possible de visualiser et de modifier l’ordre de saisie courant du formulaire. A noter que vous pouvez également visualiser l’ordre de saisie courant tout en travaillant dans le formulaire. | +| ![](../assets/en/FormEditor/moving.png) | [Déplacement](#déplacement-objets) | Passe en mode “Déplacement”, dans lequel il est possible d’atteindre rapidement n’importe quelle partie du formulaire en le faisant directement glisser dans la fenêtre. Le curseur prend la forme d’une main. Ce mode de navigation est particulièrement utile en cas de zoom dans le formulaire. | +| ![](../assets/en/FormEditor/zoom.png) | [Zoom](#zoom) | Permet de modifier l’échelle d’affichage du formulaire (100% par défaut). Vous pouvez passer en mode “Zoom” en cliquant sur le bouton loupe ou en cliquant directement sur la barre correspondant à l’échelle désirée. Cette fonction est détaillée dans le paragraphe précédent. | +| ![](../assets/en/FormEditor/alignment.png) | [Alignement](#aligning-objects) | Ce bouton est associé à un menu permettant d’aligner les objets dans le formulaire. Il est activé (ou non) en fonction des objets sélectionnés.![](../assets/en/FormEditor/selection.png)
+1. Cliquez sur l'outil Flèche dans la barre d'outils.![](../assets/en/FormEditor/selection.png)
Lorsque vous le faites glisser au-dessus du formulaire, le pointeur prend la forme du pointeur standard
. -2. Cliquez sur l’objet que vous souhaitez sélectionner. Resizing handles identify the selected object.![](../assets/en/FormEditor/selectResize.png)
+2. Cliquez sur l’objet que vous souhaitez sélectionner. Les poignées de redimensionnement identifient l'objet sélectionné.![](../assets/en/FormEditor/selectResize.png)
Pour sélectionner un objet à l’aide de la Liste des propriétés : @@ -233,19 +233,19 @@ Un objet actif qui a été groupé doit être dégroupé pour que vous puissiez Grouper des objets n’a d’effet que dans l’éditeur de formulaires. Lors de l’exécution du formulaire, tous les objets groupés (hormis les boutons radio dans les bases binaires) se comportent comme s’ils étaient indépendants. -> Il n'est pas possible de grouper des objets appartenant à des vues différentes et seuls les objets appartenant à la vue courante peuvent être regroupés (voir [Views](#views)). +> Il n'est pas possible de grouper des objets appartenant à des vues différentes et seuls les objets appartenant à la vue courante peuvent être regroupés (voir [Vues](#views)). Pour grouper les objets : 1. Sélectionnez les objets que vous souhaitez grouper. -2. Sélectionnez **Grouper** dans le menu Objets. OR - Click the Group button in the toolbar of the Form editor:![](../assets/en/FormEditor/group.png)
- 4D marks the boundary of the newly grouped objects with handles. Les objets du groupe ne sont plus marqués séparément par des poignées. Désormais, lorsque vous modifiez le groupe d’objets, vous modifiez tous les objets qui le composent. +2. Sélectionnez **Grouper** dans le menu Objets. OU + Cliquez sur le bouton Grouper dans la barre d'outils de l'éditeur de formulaire:![](../assets/en/FormEditor/group.png)
+ 4D indique la limite des objets regroupés nouvellement avec des poignées. Les objets du groupe ne sont plus marqués séparément par des poignées. Désormais, lorsque vous modifiez le groupe d’objets, vous modifiez tous les objets qui le composent. Pour dégrouper un groupe d’objets : 1. Sélectionnez le groupe que vous souhaitez dégrouper. -2. Choose **Ungroup** from the **Object** menu.OR
Click the **Ungroup** button (variant of the **Group** button) in the toolbar of the Form editor.
If **Ungroup** is dimmed, this means that the selected object is already separated into its simplest form.
4D marks the boundaries of the individual objects with handles. +2. Choisissez **Dégrouper** dans le menu **Objet**.OU
Cliquez sur le bouton **Dégrouper** (variante du bouton **Groupe**) dans la barre d'outils de l'éditeur de formulaire.
Si **Ungroup** est estompé, cela signifie que l'objet sélectionné est déjà séparé dans sa forme la plus simple.
4D marque les limites des objets individuels avec des poignées. ### Aligner des objets @@ -273,11 +273,11 @@ La boîte de dialogue d’alignement vous permet d’appliquer tout type d’ali Pour afficher cette boîte de dialogue, vous devez sélectionner les objets que vous souhaitez aligner puis choisir la commande **Alignement...** dans le sous-menu **Aligner** du menu **Objets** ou du menu contextuel de l’éditeur. -- In the “Left/Right Alignment” and/or “Top/Bottom Alignment” areas, click the icon that corresponds to the alignment you want to perform.The example area displays the results of your selection.
+- Dans les zones “Alignement droite/gauche” et/ou “Alignement haut/bas”, cliquez sur l’icône correspondant à l'alignement que vous souhaitez effectuer.La zone d'exemple affiche les résultats de votre sélection.
-- Pour effectuer un alignement standard des objets sélectionnés, cliquez sur le bouton **Prévisualisation** ou **Appliquer**. Dans ce cas, 4D utilisera l’objet le plus avancé dans la direction de l’alignement comme “ancre” sur laquelle tous les autres objets vont être alignés. Par exemple, si vous alignez un groupe d’objets à droite, les objets seront alignés sur le côté droit de l’objet situé le plus à droite du groupe. OR:To align objects to a specific object, select the **Align on** option and select the object to which you want the other objects to be aligned from the object list. In this case, the position of the reference object will not be altered.
+- Pour effectuer un alignement standard des objets sélectionnés, cliquez sur le bouton **Prévisualisation** ou **Appliquer**. Dans ce cas, 4D utilisera l’objet le plus avancé dans la direction de l’alignement comme “ancre” sur laquelle tous les autres objets vont être alignés. Par exemple, si vous alignez un groupe d’objets à droite, les objets seront alignés sur le côté droit de l’objet situé le plus à droite du groupe. OU:Pour aligner les objets sur un objet spécifique, sélectionnez l'option **Aligner sur** et sélectionnez l'objet sur lequel vous voulez que les autres objets soient alignés dans la liste d'objets. Dans ce cas, la position de l’objet de référence ne variera pas.
-Vous pouvez prévisualiser le résultat réel de vos paramétrages en cliquant sur le bouton **Prévisualisation**. l’opération s’effectue dans l’éditeur de formulaires, mais la boîte de dialogue reste au premier plan. Vous pouvez alors Appliquer ou Annuler les modifications. +Vous pouvez prévisualiser le résultat réel de vos paramétrages en cliquant sur le bouton **Prévisualisation**. Les objets sont ensuite alignés dans l'éditeur de formulaires, mais comme la boîte de dialogue ne disparaît pas, vous pouvez toujours annuler ou appliquer l'alignement. > Cette boîte de dialogue combine l’alignement d’objets et leur répartition. Pour plus d’informations sur la répartition, reportez-vous au paragraphe [Répartir des objets](#distributing-objects). @@ -302,9 +302,9 @@ Ce fonctionnement s’applique à tous les types d’objets des formulaires. Le > Le magnétisme entraîne également l’observation de paliers lors du redimensionnement manuel des objets. -### Distributing objects +### Distribuer les objets -Vous pouvez répartir des objets de manière à ce qu’ils soient disposés en respectant un espacement égal entre eux. Pour cela, vous pouvez utiliser des commandes directes de répartition ou passer par l’intermédiaire de la boîte de dialogue d’alignement et répartition pour effectuer des répartitions spécifiques ou combiner alignement et répartition. The latter allows you to align and distribute objects in one operation. +Vous pouvez répartir des objets de manière à ce qu’ils soient disposés en respectant un espacement égal entre eux. Pour cela, vous pouvez utiliser des commandes directes de répartition ou passer par l’intermédiaire de la boîte de dialogue d’alignement et répartition pour effectuer des répartitions spécifiques ou combiner alignement et répartition. Cette dernière vous permet d'aligner et de répartir les objets en une seule opération. > Lorsque la [grille magnétique](#using-the-magnetic-grid) est activée, une aide visuelle est également fournie pour la répartition lors du déplacement manuel d’un objet. @@ -312,20 +312,20 @@ Pour répartir directement une sélection d’objets (verticalement ou horizonta 1. Sélectionnez les objets (au moins trois) que vous souhaitez répartir. -2. In the toolbar, click on the distribution tool that corresponds to the distribution you want to apply.![](../assets/en/FormEditor/distributionTool.png)
ORSelect a distribution menu command from the **Align** submenu in the **Object** menu or from the context menu of the editor.
4D distributes the objects accordingly. Les objets sont répartis en fonction de la distance entre leurs centres et la plus grande distance entre deux objets consécutifs est utilisée comme référence. +2. Dans la barre d'outils, cliquez sur l'outil de distribution qui correspond à la distribution que vous souhaitez appliquer.![](../assets/en/FormEditor/distributionTool.png)
OUSélectionnez une commande de distribution dans le sous-menu **Aligner** du menu **Objet** ou dans le menu contextuel de l'éditeur.
4D distribue les objets en conséquence. Les objets sont répartis en fonction de la distance entre leurs centres et la plus grande distance entre deux objets consécutifs est utilisée comme référence. Pour répartir des objets à l’aide de la boîte de dialogue d'alignement et répartition : 1. Sélectionnez les objets que vous souhaitez répartir. -2. Choisissez la commande **Alignement...** dans le sous-menu **Aligner** du menu **Objets** ou du menu contextuel de l’éditeur. The following dialog box appears:![](../assets/en/FormEditor/alignmentAssistant.png) +2. Choisissez la commande **Alignement...** dans le sous-menu **Aligner** du menu **Objets** ou du menu contextuel de l’éditeur. La boîte de dialogue suivante apparaît :![](../assets/en/FormEditor/alignmentAssistant.png) -3. In the Left/Right Alignment and/or Top/Bottom Alignment areas, click the standard distribution icon: ![](../assets/en/FormEditor/horizontalDistribution.png)(Standard horizontal distribution icon)
The example area displays the results of your selection. +3. Dans les zones Alignement gauche/droite et/ou haut/bas, cliquez sur l'icône de distribution standard : ![](../assets/en/FormEditor/horizontalDistribution.png)(icône standard de distribution horizontale)
La zone d'exemple affiche les résultats de votre sélection. -4. To perform a distribution that uses the standard scheme, click **Preview** or _Apply_.In this case 4D will perform a standard distribution, so that the objects are set out with an equal amount of space between them.
OR:To execute a specific distribution, select the **Distribute** option (for example if you want to distribute the objects based on the distance to their right side). This option acts like a switch. If the Distribute check box is selected, the icons located below it perform a different function:
+4. Pour effectuer une distribution qui utilise le schéma standard, cliquez sur **Aperçu** ou _Appliquer_.Dans ce cas, 4D effectuera une distribution standard, de sorte que les objets soient répartis avec une quantité d'espace égale entre eux.
OU :Pour exécuter une distribution spécifique, sélectionnez l'option **Distribuer** (par exemple, si vous souhaitez distribuer les objets en fonction de la distance par rapport à leur côté droit). Cette option agit comme un interrupteur. Si la case à cocher Répartir est sélectionnée, les icônes situées en dessous effectuent une fonction différente:
-- Horizontally, the icons correspond to the following distributions: evenly with respect to left sides, centers (hor.) and right sides of the selected objects. -- Vertically, the icons correspond to the following distributions: evenly with respect to top edges, centers (vert.) and bottom edges of the selected objects. +- Horizontalement, les icônes correspondent aux répartitions suivantes : équidistance des côtés gauches, des centres (hor.) et des côtés droits des objets sélectionnés. +- Verticalement, les icônes correspondent aux répartitions suivantes : équidistance des bords supérieurs, des centres (vert.) et des bords inférieurs des objets sélectionnés. Vous pouvez prévisualiser le résultat réel de vos paramétrages en cliquant sur le bouton **Prévisualisation** : l’opération s’effectue dans l’éditeur de formulaires, mais la boîte de dialogue reste au premier plan. Vous pouvez alors **Appliquer** ou **Annuler** les modifications. @@ -333,7 +333,7 @@ Vous pouvez prévisualiser le résultat réel de vos paramétrages en cliquant s ### Gérer les plans des objets -Il est parfois nécessaire de réorganiser certains objets qui occultent d’autres objets du formulaire. Par exemple, vous pouvez souhaiter voir apparaître un graphique derrière les champs dans un formulaire. 4D propose 4 commandes, **Passer au dernier plan**, **Passer au premier plan**, **Plan suivant** et **Plan précédent**, qui vous permettent d’organiser les plans des objets du formulaire. These layers also determine the default entry order (see Modifying data entry order). La fenêtre ci-dessous représente des objets organisés en couches : +Il est parfois nécessaire de réorganiser certains objets qui occultent d’autres objets du formulaire. Par exemple, vous pouvez souhaiter voir apparaître un graphique derrière les champs dans un formulaire. 4D propose 4 commandes, **Passer au dernier plan**, **Passer au premier plan**, **Plan suivant** et **Plan précédent**, qui vous permettent d’organiser les plans des objets du formulaire. Ces plans déterminent également l'ordre de saisie par défaut (voir Modification de l'ordre de saisie des données). La fenêtre ci-dessous représente des objets organisés en couches : ![](../assets/en/FormEditor/layering.png) @@ -353,15 +353,15 @@ Pour ordonner les différents plans, 4D va toujours de l’arrière-plan vers l L’ordre de saisie est l’ordre dans lequel les champs, les sous-formulaires et les autres objets actifs sont sélectionnés lorsque vous appuyez sur la touche **Tabulation** ou **Retour chariot** dans un formulaire. Il est possible de parcourir le formulaire dans le sens inverse de l’ordre de saisie en appuyant sur les touches **Maj+Tabulation** ou **Maj+Retour chariot**. -> You can change the entry order at runtime using the `FORM SET ENTRY ORDER` and `FORM GET ENTRY ORDER` commands. +> Vous pouvez modifier l'ordre de saisie en cours d'exécution en utilisant les commandes `FORM SET ENTRY ORDER` et `FORM GET ENTRY ORDER`. -Every object that supports the focusable property is included in the data entry order by default. +Chaque objet qui prend en charge la propriété focusable est inclus dans l'ordre de saisie des données par défaut. -Setting the entry order for a JSON form is done with the [`entryOrder`](properties_JSONref.md) property. +Définir l'ordre de saisie pour un formulaire JSON s'effectue avec la propriété [`entryOrder`](properties_JSONref.md) . -If you don’t specify a custom entry order, by default 4D uses the layering of the objects to determine the entry order in the direction “background towards foreground.” The standard entry order thus corresponds to the order in which the objects were created in the form. Par défaut, l’ordre de saisie correspond donc à l’ordre de création des objets dans le formulaire. +Si vous ne spécifiez pas d’ordre de saisie personnalisé, 4D utilise par défaut le plan des objets comme ordre de saisie, dans le sens “arrière-plan vers premier plan.” Par défaut, l’ordre de saisie correspond donc à l’ordre de création des objets dans le formulaire. -Dans certains formulaires, il est nécessaire de définir un ordre de saisie personnalisé. Ci-dessous par exemple, des champs supplémentaires relatifs à l’adresse ont été ajoutés après la création du formulaire. The resulting standard entry order thus becomes illogical and forces the user to enter the information in an awkward manner: +Dans certains formulaires, il est nécessaire de définir un ordre de saisie personnalisé. Ci-dessous par exemple, des champs supplémentaires relatifs à l’adresse ont été ajoutés après la création du formulaire. L'ordre de saisie qui en résulte devient donc illogique et force l'utilisateur à entrer les informations de manière maladroite : ![](../assets/en/FormEditor/entryOrder1.png) @@ -373,21 +373,21 @@ Il est dans ce cas nécessaire de personnaliser l’ordre de saisie afin de prop Vous pouvez visualiser l’ordre de saisie courant soit à l’aide des badges “Ordre de saisie”, soit à l’aide du mode “Ordre de saisie”. En revanche, vous ne pouvez modifier l’ordre de saisie qu’en mode “Ordre de saisie”. -Ce paragraphe décrit la visualisation et la modification de l’ordre de saisie en mode “Ordre de saisie”. Pour plus d’informations sur la visualisation de l’ordre de saisie à l’aide des badges, reportez-vous au paragraphe [Using shields](#using-shields). +Ce paragraphe décrit la visualisation et la modification de l’ordre de saisie en mode “Ordre de saisie”. Pour plus d’informations sur la visualisation de l’ordre de saisie à l’aide des badges, reportez-vous au paragraphe [Utiliser des badges](#using-shields). Pour visualiser ou modifier l’ordre de saisie : -1. Choose **Entry Order** from the **Form** menu or click on the Entry Order button in the toolbar of the window:![](../assets/en/FormEditor/zOrder.png)
+1. Sélectionnez **Ordre de saisie** dans le menu **Formulaire** ou cliquez sur le bouton dans la barre d’outils de la fenêtre :![](../assets/en/FormEditor/zOrder.png)
Le pointeur prend la forme d’un pointeur d’ordre, et 4D dessine une ligne qui permet de visualiser la séquence de l’ordre de saisie courant. Visualiser et modifier l’ordre de saisie sont les seules opérations que vous pouvez réaliser dans ce mode. -2. To change the data entry order, position the pointer on an object in the form and, while holding down the mouse button, drag the pointer to the object you want next in the data entry order.![](../assets/en/FormEditor/entryOrder3.png)
4D will adjust the entry order accordingly. +2. Pour changer l’ordre de saisie, positionnez le pointeur sur un objet dans le formulaire et, tout en maintenant le bouton de la souris enfoncé, faites glisser le pointeur vers l'objet que vous souhaitez ensuite dans l'ordre de saisie des données.![](../assets/en/FormEditor/entryOrder3.png)
4D ajustera automatiquement l'ordre de saisie. 3. Répétez l’étape 2 autant de fois que nécessaire pour obtenir le nouvel ordre de saisie. 4. Lorsque vous êtes satisfait de l’ordre de saisie, sélectionnez de nouveau la commande **Ordre de saisie** dans le menu **Formulaire**. 4D retourne dans le mode de fonctionnement normal de l’éditeur de formulaires. -> Seul l’ordre de saisie de la page courante du formulaire est affiché. If the form contains enterable objects on page 0 or coming from an inherited form, the default entry order is as follows: Objects from page 0 of the inherited form > Objects from page 1 of the inherited form > Objects from page 0 of the open form > Objects from the current page of the open form. +> Seul l’ordre de saisie de la page courante du formulaire est affiché. Si le formulaire contient des objets saisissables sur la page 0 ou provenant d’un formulaire hérité, l’ordre de saisie par défaut est le suivant : Objets de la page zéro du formulaire hérité > Objets de la page 1 du formulaire hérité > Objets de la page zéro du formulaire ouvert > Objets de la page courante du formulaire ouvert. #### Utiliser un groupe de saisie @@ -402,45 +402,45 @@ Lorsque vous relâchez le bouton de la souris, les objets contenus ou touchés p #### Exclure un objet de l’ordre de saisie -By default, all objects that support the focusable property are included in the entry order. To exclude an object from the entry order: +Par défaut, tous les objets qui prennent en charge la propriété focusable sont inclus dans l'ordre de saisie. Pour exclure un objet de l’ordre de saisie: -1. Select the Entry order mode, then +1. Sélectionnez le mode ordre de saisie, puis -2. **shift-click** on the object +2. **Maj-clic** sur l'objet -3. **right-click** on the object and select **Remove from entry order** option from the context menu +3. **Clic droit** sur l'objet et sélectionnez l'option **Supprimer de l'ordre de saisie** dans le menu contextuel -## CSS Preview +## Aperçu CSS -The Form editor allows you to view your forms with or without applied CSS values. +L'éditeur de formulaire vous permet de visualiser vos formulaires avec ou sans les valeurs CSS appliquées. -When [style sheets](createStylesheet.md) have been defined, forms (including inherited forms and subforms) are opened in the CSS Preview mode for your operating system by default. +Lorsque des [feuilles de style](createStylesheet.md) ont été définis, les formulaires (y compris les formulaires hérités et les sous-formulaires) sont ouverts en mode Aperçu CSS pour votre système d'exploitation par défaut. -### Selecting CSS Preview Mode +### Sélection du mode Aperçu CSS -The Form editor toolbar provides a CSS button for viewing styled objects: +La barre d'outils de l'éditeur de formulaires fournit un bouton CSS pour la visualisation des objets stylés : ![](../assets/en/FormEditor/cssToolbar.png) -Select one of the following preview modes from the menu: +Sélectionnez l'un des modes de prévisualisation suivants dans le menu : -| Toolbar Icon | CSS Preview Mode | Description | -| --------------------------------------- | ---------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | -| ![](../assets/en/FormEditor/cssNo.png) | Aucun | No CSS values are applied in the form and no CSS values or icons displayed in the Property List. | -| ![](../assets/en/FormEditor/cssWin.png) | Windows | CSS values for Windows platform are applied in the form. CSS values and icons displayed in the Property List. | -| ![](../assets/en/FormEditor/cssMac.png) | macOS | CSS values for macOS platform are applied in the form. CSS values and icons displayed in the Property List. | +| Icône de la barre d'outils | Mode d'aperçu CSS | Description | +| --------------------------------------- | ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| ![](../assets/en/FormEditor/cssNo.png) | Aucun | Aucune valeur CSS n'est appliquée dans le formulaire et aucune valeur CSS ou icône ne s'affiche dans la liste des propriétés. | +| ![](../assets/en/FormEditor/cssWin.png) | Windows | Les valeurs CSS pour la plate-forme Windows sont appliquées dans le formulaire. Les valeurs et les icônes CSS sont affichées dans la liste des propriétés. | +| ![](../assets/en/FormEditor/cssMac.png) | macOS | Les valeurs CSS pour la plate-forme macOS sont appliquées dans le formulaire. Les valeurs et les icônes CSS sont affichées dans la liste des propriétés. | -> If a font size too large for an object is defined in a style sheet or JSON, the object will automatically be rendered to accommodate the font, however the size of the object will not be changed. +> Si une taille de police trop grande pour un objet est définie dans une feuille de style ou un JSON, l'objet sera automatiquement rendu pour s'adapter à la police, mais la taille de l'objet ne sera pas modifiée. -The CSS preview mode reflects the priority order applied to style sheets vs JSON attributes as defined in the [JSON vs Style Sheet](stylesheets.html#json-vs-style-sheet) section. +Le mode d'aperçu CSS reflète l'ordre de priorité appliqué aux feuilles de style par rapport aux attributs JSON tels que définis dans la section [JSON vs Feuille de style](stylesheets.html#json-vs-style-sheet). -Once a CSS preview mode is selected, objects are automatically displayed with the styles defined in a style sheet (if any). +Une fois qu'un mode d'aperçu CSS est sélectionné, les objets sont automatiquement affichés avec les styles définis dans une feuille de style (le cas échéant). -> When copying or duplicating objects, only the CSS references (if any) and the JSON values are copied. +> Lors de la copie ou de la duplication d'objets, seules les références CSS (le cas échéant) et les valeurs JSON sont copiées. -### CSS support in the Property List +### Prise en charge des CSS dans la liste des propriétés -In CSS Preview mode, if the value of an attribute has been defined in a style sheet, the attribute's name will appear with a CSS icon displayed next to it in the Property List. For example, the attribute values defined in this style sheet: +En mode Aperçu CSS, si la valeur d'un attribut a été définie dans une feuille de style, le nom de l'attribut apparaîtra à côté d'une icône CSS dans la liste des propriétés. Par exemple, les valeurs des attributs définies dans cette feuille de style : ```4d .myButton { @@ -450,21 +450,21 @@ stroke: #800080; } ``` -are displayed with a CSS icon in the Property List: +sont affichées avec une icône CSS dans la liste des propriétés : ![](../assets/en/FormEditor/cssPpropList.png) -An attribute value defined in a style sheet can be overridden in the JSON form description (except if the CSS includes the `!important` declaration, see below). In this case, the Property List displays the JSON form value in **bold**. You can reset the value to its style sheet definition with the **Ctrl + click** (Windows) or **Command + click** (macOs) shortcuts. +Une valeur d'attribut définie dans une feuille de style peut être remplacée dans la description de formulaire JSON (sauf si la CSS inclut la déclaration `!important`, voir ci-dessous). Dans ce cas, la liste des propriétés affiche la valeur du formulaire JSON en **gras**. Vous pouvez réinitialiser la valeur à sa définition de feuille de style avec les raccourcis **Ctrl + clic** (Windows) ou **Command + clic** (macOs). -> If an attribute has been defined with the `!important` declaration for a group, an object within a group, or any object within a selection of multiple objects, that attribute value is locked and cannot be changed in the Property List. +> Si un attribut a été défini avec la déclaration `!important` pour un groupe, un objet à l'intérieur d'un groupe ou n'importe quel objet dans une sélection de plusieurs objets, la valeur de cet attribut est verrouillée et ne peut pas être modifiée dans la liste des propriétés. -#### Property List CSS Icons +#### Icônes CSS dans la Liste des propriétés -| Icône | Description | -| --------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| ![](../assets/en/FormEditor/cssIcon.png) | Indicates that an attribute value has been defined in a style sheet | -| ![](../assets/en/FormEditor/cssImportant.png) | Indicates that an attribute value has been defined in a style sheet with the `!important` declaration | -| ![](../assets/en/FormEditor/cssIconMixed.png) | Displayed when an attribute value defined in a style sheet for at least one item in a group or a selection of multiple objects is different from the other objects | +| Icône | Description | +| --------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| ![](../assets/en/FormEditor/cssIcon.png) | Indique que la valeur d'un attribut a été définie dans une feuille de style | +| ![](../assets/en/FormEditor/cssImportant.png) | Indique que la valeur d'un attribut a été définie dans une feuille de style avec la déclaration `!important` | +| ![](../assets/en/FormEditor/cssIconMixed.png) | Affiché lorsque la valeur d'un attribut défini dans une feuille de style pour au moins un élément d'un groupe ou d'une sélection de plusieurs objets est différente des autres objets | ## Création de list box @@ -512,19 +512,19 @@ La list box finale : ![](../assets/en/FormEditor/listboxBuilderListbox.png) -## Insert fields +## Insérer des champs -The **Insert fields** button inserts all fields (except object and blob type fields) of the form table in the form, along with their labels and with respect to interface standards. This wizard is a shortcut to design basic entry forms or list forms. +Le bouton **Insérer champs** insère tous les champs (à l'exception des champs de type objet et blob) de la table du formulaire dans le formulaire, avec leurs libellés et en respectant les normes d'interface. Cet assistant est un raccourci pour concevoir des formulaires de saisie ou des formulaires de liste basiques. -The **Insert fields** button is only available with table forms. +Le bouton **Insérer champs** est uniquement disponible avec les formulaires table. -The design of the resulting form depends on the form type: +L'apparence du formulaire final dépend du type de formulaire : -- **Detail form**: clicking on the **Insert fields** button generates a form with a page design: +- **Formulaire détail** : en cliquant sur le bouton **Insérer champs**, un formulaire en page est généré : ![](../assets/en/FormEditor/insertFields2.png) -- **List form**: clicking on the **Insert fields** button generates a list form design with fields organized on a single line and area markers: +- **Formulaire liste** : en cliquant sur le bouton **Insérer champs**, cela génère un formulaire en liste avec des champs organisés sur une seule ligne et des marqueurs de zone : ![](../assets/en/FormEditor/insertFields3.png) @@ -550,18 +550,18 @@ Pour ne pas afficher de badges, choisissez la ligne **Pas de badges** dans le me Voici la description de chaque type de badge : -| Icône | Nom | Est affiché... | -| ----------------------------------------------- | ------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| ![](../assets/en/FormEditor/objectMethod.png) | Méthode objet | Pour les objets auxquels une méthode objet est associée | -| ![](../assets/en/FormEditor/standardAction.png) | Action standard | Pour les objets auxquels une action standard est associée | -| ![](../assets/en/FormEditor/resizing.png) | Redimensionnement | Pour les objets disposant d’au moins une propriété de redimensionnement, indique la combinaison de propriétés courante | -| ![](../assets/en/FormEditor/entryOrder.png) | Ordre de saisie | Pour les objets saisissables, indique le numéro d’ordre de saisie | -| ![](../assets/en/FormEditor/viewNumber.png) | Vue courante | Pour tous les objets de la vue courante | -| ![](../assets/en/FormEditor/cssShield.png) | [Style Sheet](stylesheets.html) | Pour les objets avec une ou plusieurs valeurs d'attribut remplacées par une feuille de style. | -| ![](../assets/en/FormEditor/filter.png) | Filtre | Pour les objets saisissables auxquels un filtre de saisie est associé | -| ![](../assets/en/FormEditor/helpTip.png) | Infobulle | Pour les objets auxquels une infobulle (message d’aide) est associée | -| ![](../assets/en/FormEditor/localized.png) | Localisé | Pour les objets dont le libellé provient d’une référence (libellé débutant par “:”). La référence peut être de type ressource (STR#) ou XLIFF | -| ![](../assets/en/FormEditor/noShields.png) | Pas de badge | Aucun badge n’apparaît | +| Icône | Nom | Est affiché... | +| ----------------------------------------------- | ------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| ![](../assets/en/FormEditor/objectMethod.png) | Méthode objet | Pour les objets auxquels une méthode objet est associée | +| ![](../assets/en/FormEditor/standardAction.png) | Action standard | Pour les objets auxquels une action standard est associée | +| ![](../assets/en/FormEditor/resizing.png) | Redimensionnement | Pour les objets disposant d’au moins une propriété de redimensionnement, indique la combinaison de propriétés courante | +| ![](../assets/en/FormEditor/entryOrder.png) | Ordre de saisie | Pour les objets saisissables, indique le numéro d’ordre de saisie | +| ![](../assets/en/FormEditor/viewNumber.png) | Vue courante | Pour tous les objets de la vue courante | +| ![](../assets/en/FormEditor/cssShield.png) | [Feuille de style](stylesheets.html) | Pour les objets avec une ou plusieurs valeurs d'attribut remplacées par une feuille de style. | +| ![](../assets/en/FormEditor/filter.png) | Filtre | Pour les objets saisissables auxquels un filtre de saisie est associé | +| ![](../assets/en/FormEditor/helpTip.png) | Infobulle | Pour les objets auxquels une infobulle (message d’aide) est associée | +| ![](../assets/en/FormEditor/localized.png) | Localisé | Pour les objets dont le libellé provient d’une référence (libellé débutant par “:”). La référence peut être de type ressource (STR#) ou XLIFF | +| ![](../assets/en/FormEditor/noShields.png) | Pas de badge | Aucun badge n’apparaît | ## Vues 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 e57756302ccd97..60754f3768cd26 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/FormEditor/forms.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/FormEditor/forms.md @@ -9,8 +9,8 @@ Les formulaires fournissent l'interface par laquelle les informations sont saisi Les formulaires peuvent également contenir d'autres formulaires grâce aux fonctionnalités suivantes : -- [subform objects](FormObjects/subform_overview.md) -- [inherited forms](properties_FormProperties.md#inherited-forms) +- [objets de sous-formulaire](FormObjects/subform_overview.md) +- [formulaires hérités](properties_FormProperties.md#inherited-forms) ## Création de formulaires @@ -117,14 +117,14 @@ Cet ordre détermine [l'ordre de saisie](../FormEditor/formEditor.html#data-entr Les propriétés ainsi que la méthode d’un formulaire ne sont pas prises en compte lorsque celui-ci est utilisé comme formulaire hérité. En revanche, les méthodes des objets qu’il contient sont appelées. -To define an inherited form, the [Inherited Form Name](properties_FormProperties.md#inherited-form-name) and [Inherited Form Table](properties_FormProperties.md#inherited-form-table) (for table form) properties must be defined in the form that will inherit something from another form. +Pour définir un formulaire hérité, les propriétés [Nom du formulaire hérité](properties_FormProperties.md#inherited-form-name) et [Table du formulaire hérité](properties_FormProperties.md#inherited-form-table) (pour un formulaire table) doivent être définies dans le formulaire qui héritera de quelque chose d'un autre formulaire. -A form can inherit from a project form, by setting the [Inherited Form Table](properties_FormProperties.md#inherited-form-table) property to `\On load
event of the form then to display certain objects afterwards. The developer can then program their display using the [`OBJECT SET VISIBLE`](https://doc.4d.com/4dv19/help/command/en/page603.html) command when needed.
+Vous pouvez gérer la propriété Visibilité pour la plupart des objets de formulaire. Cette propriété est principalement utilisée pour simplifier le développement d'interface dynamique. Dans ce contexte, il est souvent nécessaire de masquer les objets de manière programmée lors de l'événement `On load` du formulaire, puis d'afficher certains objets par la suite. La propriété Visibilité permet d'inverser cette logique en rendant certains objets invisibles par défaut. Le développeur peut ensuite programmer son affichage en utilisant la commande [`OBJECT SET VISIBLE`](https://doc.4d.com/4dv20/help/command/fr/page603.html) lorsque nécessaire.
-#### Automatic visibility in list forms
+#### Visibilité automatique dans les formulaires liste
-In the context of ["list" forms](FormEditor/properties_FormProperties.md#form-type), the Visibility property supports two specific values:
+Dans le contexte des [formulaires liste](FormEditor/properties_FormProperties.md#form-type), la propriété Visibilité prend en charge deux valeurs spécifiques :
-- **If record selected** (JSON name: "selectedRows")
-- **If record not selected** (JSON name: "unselectedRows")
+- **Si enregistrement sélectionné** (nom JSON : "selectedRows")
+- **Si enregistrement non sélectionné** (nom JSON : "unselectedRows")
-This property is only used when drawing objects located in the body of a list form. It tells 4D whether or not to draw the object depending on whether the record being processed is selected/not selected. It allows you to represent a selection of records using visual attributes other than highlight colors:
+Cette propriété est utilisée uniquement lors du dessin d'objets situés dans le corps d'un formulaire liste. Elle indique à 4D s'il faut ou non dessiner l'objet en fonction de la sélection/non-sélection de l'enregistrement en cours de traitement. Cela vous permet de représenter une sélection d'enregistrements en utilisant des attributs visuels autres que les couleurs de surbrillance :
![](../assets/en/FormObjects/select-row.png)
-4D does not take this property into account if the object was hidden using the [`OBJECT SET VISIBLE`](https://doc.4d.com/4dv20/help/command/en/page603.html) command; in this case, the object remains invisible regardless of whether or not the record is selected.
+4D ne tient pas compte de cette propriété si l'objet était masqué à l'aide de la commande [`OBJECT SET VISIBLE`](https://doc.4d.com/4dv20/help/command/fr/page603.html); dans ce cas, l'objet reste invisible indépendamment de la sélection de l'enregistrement.
#### Grammaire JSON
-| Nom | Type de données | Valeurs possibles |
-| ---------- | --------------- | ----------------------------------------------------------------------------------------------------------------------------- |
-| visibility | string | "visible", "hidden", "selectedRows" (list form only), "unselectedRows" (list form only) |
+| Nom | Type de données | Valeurs possibles |
+| ---------- | --------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| visibility | string | "visible", "hidden", "selectedRows" (formulaires liste uniquement), "unselectedRows" (formulaires liste uniquement) |
#### Objets pris en charge
-[4D View Pro area](viewProArea_overview.md) - [4D Write Pro area](writeProArea_overview.md) - [Button](button_overview.md) - [Button Grid](buttonGrid_overview.md) - [Check Box](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Drop-down List](dropdownList_Overview.md) - [Group Box](groupBox.md) - [Hierarchical List](list_overview.md) - [List Box](listbox_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers) - [List Box Header](listbox_overview.md#list-box-headers) - [Picture Button](pictureButton_overview.md) - [Picture Pop-up Menu](picturePopupMenu_overview.md) - [Plug-in Area](pluginArea_overview.md) - [Progress indicator](progressIndicator.md) - [Radio Button](radio_overview.md) - [Spinner](spinner.md) - [Splitter](splitters.md) - [Static Picture](staticPicture.md) - [Stepper](stepper.md) - [Subform](subform_overview.md) - [Tab control](tabControl.md) - [Text Area](text.md) - [Web Area](webArea_overview.md)
+[Zone 4D View Pro](viewProArea_overview.md) - [Zone 4D Write Pro](writeProArea_overview.md) - [Bouton](button_overview.md) - [Grille de boutons](buttonGrid_overview.md) - [Case à cocher](checkbox_overview.md) - [Combo Box](comboBox_overview.md) - [Liste déroulante](dropdownList_Overview.md) - [Zone de groupe](groupBox.md) - [Liste hiérarchique](list_overview.md) - [List Box](listbox_overview.md) - [Colonne de list box](listbox_overview.md#list-box-columns) - [Pied de list box](listbox_overview.md#list-box-footers) - [En-tête de list box](listbox_overview.md#list-box-headers) - [Bouton image](pictureButton_overview.md) - [Pop up menu image](picturePopupMenu_overview.md) - [Zone de Plug-in](pluginArea_overview.md) - [Indicateur de progression](progressIndicator.md) - [Bouton radio](radio_overview.md) - [Spinner](spinner.md) - [Splitter](splitters.md) - [Image statique](staticPicture.md) - [Stepper](stepper.md) - [Sous-formulaire](subform_overview.md) - [Onglet](tabControl.md) - [Zone de texte](text.md) - [Zone Web](webArea_overview.md)
---
-## Wordwrap
+## Retour à la ligne
> Pour les [input](input_overview.md), disponibles lorsque la propriété [Multiligne](properties_Entry.md#multiline) est définie sur "oui".
-Manages the display of contents when it exceeds the width of the object.
+Gère l'affichage du contenu lorsque celui-ci dépasse la largeur de l'objet.
-#### Checked for list box/Yes for input
+#### Coché pour list box/Oui pour input
-`JSON grammar: "normal"`
+`Grammaire JSON : "normal"`
-When this option is selected, text automatically wraps to the next line whenever its width exceeds that of the column/area, if the column/area height permits it.
+Lorsque cette option est sélectionnée, le texte passe automatiquement à la ligne suivante chaque fois que sa largeur dépasse celle de la colonne/zone, si la hauteur de la colonne/zone le permet.
-- In single-line columns/areas, only the last word that can be displayed entirely is displayed. 4D inserts line returns; it is possible to scroll the contents of the area by pressing the down arrow key.
+- Dans les colonnes/zones à une seule ligne, seul le dernier mot pouvant être affiché entièrement est affiché. 4D insère des sauts de ligne ; il est possible de faire défiler le contenu de la zone en appuyant sur la touche de flèche vers le bas.
-- In multiline columns/areas, 4D carries out automatic line returns.
+- Dans les colonnes/zones multi-lignes, 4D effectue des retours à la ligne automatiques.
![](../assets/en/FormObjects/wordwrap2.png)
-#### Unchecked for list box/No for input
+#### Non cochée pour list box/Non pour input
-`JSON grammar: "none"`
+`Grammaire JSON : "none"`
-When this option is selected, 4D does not do any automatic line returns and the last word that can be displayed may be truncated. In text type areas, carriage returns are supported:
+Lorsque cette option est sélectionnée, 4D ne fait aucune retour automatique à la ligne et le dernier mot qui peut être affiché peut être tronqué. Dans les zones de type texte, les retours chariots sont pris en charge :
![](../assets/en/FormObjects/wordwrap3.png)
-In list boxes, any text that is too long is truncated and displayed with an ellipse (...). In the following example, the Wordwrap option is **checked for the left column** and **unchecked for the right column**:
+Dans les listes déroulantes, tout texte trop long est tronqué et affiché avec une ellipse (...). Dans l'exemple suivant, l'option Retour à la ligne est **cochée pour la colonne de gauche** et **décochée pour la colonne de droite** :
![](../assets/en/FormObjects/property_wordwrap1.png)
-Note that regardless of the Wordwrap option’s value, the row height is not changed. If the text with line breaks cannot be entirely displayed in the column, it is truncated (without an ellipse). In the case of list boxes displaying just a single row, only the first line of text is displayed:
+Notez que quelle que soit la valeur de l'option de renvoi à la ligne automatique, la hauteur de la ligne n'est pas modifiée. Si le texte avec des sauts de ligne ne peut pas être entièrement affiché dans la colonne, il est tronqué (sans ellipse). Dans le cas des list box affichant une seule ligne, seule la première ligne de texte est affichée :
![](../assets/en/FormObjects/property_wordwrap2.png)
-#### Automatic for input (default option)
+#### Automatique pour l'input (option par défaut)
-`JSON grammar: "automatic"`
+`Grammaire JSON : "automatique"`
-- In single-line areas, words located at the end of lines are truncated and there are no line returns.
-- In multiline areas, 4D carries out automatic line returns.
+- Dans les zones mono-lignes, les mots situés en fin de ligne sont tronqués et il n’y a pas de retours à la ligne.
+- Dans les zones multi-lignes, 4D effectue des retours à la ligne automatiques.
![](../assets/en/FormObjects/wordwrap1.png)
@@ -618,4 +618,4 @@ Note that regardless of the Wordwrap option’s value, the row height is not cha
#### Objets pris en charge
-[Input](input_overview.md) - [List Box Column](listbox_overview.md#list-box-columns) - [List Box Footer](listbox_overview.md#list-box-footers)
+[Input](input_overview.md) - [Colonne de List box](listbox_overview.md#list-box-columns) - [Pied List Box](listbox_overview.md#list-box-footers)
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/FormObjects/properties_Entry.md b/i18n/fr/docusaurus-plugin-content-docs/current/FormObjects/properties_Entry.md
index 1e9ae31a9b657f..38c56038a7beda 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/current/FormObjects/properties_Entry.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/FormObjects/properties_Entry.md
@@ -200,7 +200,7 @@ Lorsque cette valeur est sélectionnée, la propriété est gérée par l'option
---
-## Le placeholder
+## Placeholder
4D can display placeholder text in the fields of your forms.
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/FormObjects/properties_Object.md b/i18n/fr/docusaurus-plugin-content-docs/current/FormObjects/properties_Object.md
index 71e69c61200783..0e00b232e77ff8 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/current/FormObjects/properties_Object.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/FormObjects/properties_Object.md
@@ -259,7 +259,7 @@ Enables radio buttons to be used in coordinated sets: only one button at a time
---
-## Titre de menu
+## Titre
Allows inserting a label on an object. The font and the style of this label can be specified.
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/FormObjects/properties_Picture.md b/i18n/fr/docusaurus-plugin-content-docs/current/FormObjects/properties_Picture.md
index a2755f4d9aab02..2c6fd408495dfa 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/current/FormObjects/properties_Picture.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/FormObjects/properties_Picture.md
@@ -27,33 +27,33 @@ Les emplacements suivants peuvent être utilisés pour le chemin d'images statiq
## Affichage
-### Scaled to fit
+### Image non tronquée
-`JSON grammar: "scaled"`
+`Grammaire JSON : "scaled"`
-The **Scaled to fit** format causes 4D to resize the picture to fit the dimensions of the area.
+Le format **Non tronquée** permet à 4D de redimensionner l'image pour qu'elle corresponde aux dimensions de la zone.
![](../assets/en/FormObjects/property_pictureFormat_ScaledToFit.png)
-### Replicated
+### Mosaïque
-`JSON grammar: "tiled"`
+Grammaire JSON : "tiled"
-When the area that contains a picture with the **Replicated** format is enlarged, the picture is not deformed but is replicated as many times as necessary in order to fill the area entirely.
+Lorsque la zone qui contient une image avec le format **Mosaïque** est agrandie, l'image n'est pas déformée mais est répliquée autant de fois que nécessaire pour remplir entièrement la zone.
![](../assets/en/FormObjects/property_pictureFormat_Replicated.png)
-If the field is reduced to a size smaller than that of the original picture, the picture is truncated (non-centered).
+Si le champ est réduit à une taille plus petite que celle de l'image d'origine, l'image est tronquée (non centrée).
### Centre / Tronquée (non centrée)
`Grammaire JSON : "truncatedCenter" / "truncatedTopLeft"`
-Le format **Centre** permet à 4D de centrer l'image dans la zone et de rogner toute partie qui ne rentre pas dans la zone. 4D crops equally from each edge and from the top and bottom.
+Le format **Centre** permet à 4D de centrer l'image dans la zone et de rogner toute partie qui ne rentre pas dans la zone. 4D rogne de manière égale à partir de chaque bord et du haut et du bas.
-The **Truncated (non-centered)** format causes 4D to place the upper-left corner of the picture in the upper-left corner of the area and crop any portion that does not fit within the area. 4D crops from the right and bottom.
+Avec le format **Image tronquée (non centrée)**, 4D place le coin supérieur gauche de l'image dans le coin supérieur gauche de la zone et rogne toute partie qui ne rentre pas dans la zone. 4D rogne à partie de la droite et du bas.
-> When the picture format is **Truncated (non-centered)**, it is possible to add scroll bars to the input area.
+> Lorsque le format de l'image est **tronquée (non centrée)**, il est possible d'ajouter des barres de défilement à la zone de saisie.
![](../assets/en/FormObjects/property_pictureFormat_Truncated.png)
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/FormObjects/properties_Reference.md b/i18n/fr/docusaurus-plugin-content-docs/current/FormObjects/properties_Reference.md
index c9c42688f0e201..1bf0c130b72aee 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/current/FormObjects/properties_Reference.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/FormObjects/properties_Reference.md
@@ -11,16 +11,16 @@ Vous trouverez dans cette page une liste complète de toutes les propriétés d'
| Propriété | Description | Valeurs possibles |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| **a** | | |
+| **a** | | |
| [`action`](properties_Action.md#standard-action) | Une action à exécuter. | Nom d'une action standard valide. |
| [`allowFontColorPicker`](properties_Text.md#allow-font-color-picker) | Permet d'afficher le sélecteur de polices système ou le sélecteur de couleurs pour modifier les attributs d'un objet | true, false (par défaut) |
| [`alternateFill`](properties_BackgroundAndBorder.md#alternate-background-color) | Permet de définir une couleur d'arrière-plan différente pour les lignes / colonnes impaires dans une list box. | Toutes les valeurs css; "transparent"; "automatic"; "automaticAlternate" |
-| [`automaticInsertion`](properties_DataSource.md#automatic-insertion) | Permet d'ajouter automatiquement une valeur à une liste lorsqu'un utilisateur saisit une valeur qui ne se trouve pas dans l'énumération associée à l'objet. | true, false |
+| [`automaticInsertion`](properties_DataSource.md#automatic-insertion) | Permet d'ajouter automatiquement une valeur à une liste lorsqu'un utilisateur saisit une valeur qui ne se trouve pas dans l'énumération associée à l'objet. | true, false |
| **b** | | |
| [`booleanFormat`](properties_Display.md#text-when-false-text-when-true) | Indique seulement deux valeurs possibles. | true, false |
| [`borderRadius`](properties_CoordinatesAndSizing.md#corner-radius) | La valeur du rayon d'arrondi pour les rectangles à coins arrondis. | minimum : 0 |
| [`borderStyle`](properties_BackgroundAndBorder.md#border-line-style-dotted-line-type) | Permet de définir un style standard pour la bordure de l'objet. | "system", "none", "solid", "dotted", "raised", "sunken", "double" |
-| [`bottom`](properties_CoordinatesAndSizing.md#bottom) | Positionne un objet en bas (centré). | minimum: 0 |
+| [`bottom`](properties_CoordinatesAndSizing.md#bottom) | Positionne un objet en bas (centré). | minimum: 0 |
| **c** | | |
| [`choiceList`](properties_DataSource.md#choice-list) | Associe une énumération à un objet | Une énumération |
| [`class`](properties_Object.md#css-class) | Une liste de mots séparés par des espaces utilisés comme sélecteurs de classe dans les fichiers css. | Une liste de noms de classes |
@@ -35,7 +35,7 @@ Vous trouverez dans cette page une liste complète de toutes les propriétés d'
| [`customBorderX`](properties_TextAndPicture.md#horizontal-margin) | Définit la taille (en pixels) des marges horizontales internes d'un objet. Doit être utilisé avec l'option "Personnalisé" de la propriété "Style". | minimum : 0 |
| [`customBorderY`](properties_TextAndPicture.md#vertical-margin) | Définit la taille (en pixels) des marges verticales internes d'un objet. Doit être utilisé avec l'option "Personnalisé" de la propriété "Style". | minimum : 0 |
| [`customOffset`](properties_TextAndPicture.md#icon-offset) | Définit une valeur d'offset personnalisée en pixels. Doit être utilisé avec l'option "Personnalisé" de la propriété "Style". | minimum : 0 |
-| [`customProperties`](properties_Plugins.md#advanced-properties) | Propriétés avancées (le cas échéant) | JSON string or base64 encoded string |
+| [`customProperties`](properties_Plugins.md#advanced-properties) | Propriétés avancées (le cas échéant) | JSON string or base64 encoded string |
| **d** | | |
| [`dataSource`](properties_Object.md#variable-or-expression) (objects)![](../assets/en/getStart/projectCreate2.png)
A standard **Save** dialog appears so you can choose the name and location of the 4D project's main folder. + - Sélectionnez **Nouveau > Projet...** dans le menu **Fichier** : ![](../assets/en/getStart/projectCreate1.png) + - (uniquement pour 4D) Sélectionnez **Projet...** dans le bouton de la barre d'outils **Nouveau** :![](../assets/en/getStart/projectCreate2.png)
Une boîte de dialogue **Enregistrer** standard apparaît afin que vous puissiez choisir le nom et l'emplacement du dossier principal du projet 4D. 3. Saisissez le nom du dossier de projet et cliquez sur **Sauvegarder**. Ce nom sera utilisé : @@ -72,7 +72,7 @@ Outre les options standard du système, la boîte de dialogue _Ouvrir_ de 4D pro ### Ouvrir un projet avec un fichier 4DLink -You can use a [`.4DLink` file](#about-4DLink-files) to launch the 4D application and open the target 4D project. Il existe deux façons de procéder : +Vous pouvez utiliser un [fichier `.4DLink`](#about-4DLink-files) pour lancer l'application 4D et ouvrir le projet 4D cible. Il existe deux façons de procéder : - double-cliquer ou glisser-déposer le fichier `.4DLink` sur l'application 4D - aller sur **Fichier** > **Ouvrir projets récents** et sélectionner un projet diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/MSC/compact.md b/i18n/fr/docusaurus-plugin-content-docs/current/MSC/compact.md index 7c891c8be6f2a0..5c0824c03d030d 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/MSC/compact.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/MSC/compact.md @@ -79,6 +79,6 @@ A noter que cette option ralentit le compactage de façon conséquente et qu’e - Le compactage tient compte des enregistrements des tables placées dans la corbeille. La présence d’un grand nombre d’enregistrements dans la corbeille peut constituer un facteur de ralentissement supplémentaire pour l’opération. - L'utilisation de cette option rend la table d'adresses, et donc la base de données, incompatibles avec le fichier d'historique courant (s'il en existe un). Il sera automatiquement sauvegardé et un nouveau fichier d'historique devra être créé au prochain lancement de l'application. - Vous pouvez déterminer si la table d'adresses a besoin d'être compactée en comparant sa taille avec le nombre total d'enregistrements dans la Page [Informations](information.md) du CSM. -- The [`TRUNCATE TABLE`](https://doc.4d.com/4dv19R/help/command/en/page1051.html) command automatically resets the address table for the specified table. +- La commande [`TRUNCATE TABLE`](https://doc.4d.com/4dv19R/help/command/en/page1051.html) réinitialise automatiquement la table d'adresse pour la table spécifiée. ::: diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/MSC/encrypt.md b/i18n/fr/docusaurus-plugin-content-docs/current/MSC/encrypt.md index 19ae030fa563e3..78f7e8a8511178 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/MSC/encrypt.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/MSC/encrypt.md @@ -32,7 +32,7 @@ Trois étapes sont nécessaires pour effectuer le tout premier chiffrement de vo Sinon, le message suivant s'affiche : ![](../assets/en/MSC/MSC_encrypt2.png)Cela signifie que le statut **Chiffrable** défini pour au moins une table a été modifié et que le fichier de données n'a toujours pas été chiffré. - \*\*Note: \*\*The same message is displayed when the **Encryptable** status has been modified in an already encrypted data file or after the data file has been decrypted (see below).
+ \*\*Note : \*\*Le même message s'affiche lorsque le statut **Encryptable** a été modifié dans un fichier de données déjà crypté ou après que le fichier de données a été décrypté (voir ci-dessous). 3. Cliquez sur le bouton image Chiffrer.\ ![](../assets/en/MSC/MSC_encrypt3.png)\ Vous serez invité à saisir une phrase secrète pour votre fichier de données: diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/MSC/information.md b/i18n/fr/docusaurus-plugin-content-docs/current/MSC/information.md index bd00fd6b506972..34ef037954728a 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/MSC/information.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/MSC/information.md @@ -18,7 +18,7 @@ La partie centrale de la fenêtre affiche le nom et l’emplacement du projet et La commande **Copier le chemin** copie le chemin complet comme texte dans le presse-papiers, en utilisant les séparateurs de la plate-forme courante. - **"Licenses" Folder** The **"Licenses" Folder** button displays the contents of the active Licenses folder in a new system window. Tous les fichiers de licence installés dans votre environnement 4D sont regroupés dans ce dossier, placé sur votre disque dur. Lorsqu’ils sont ouverts avec un navigateur Web, ces fichiers affichent des informations relatives aux licences qu’ils contiennent et à leurs caractéristiques. - L’emplacement du dossier "Licenses" peut varier en fonction de la version ou de la langue de votre système d’exploitation. For more information about the location of this folder, refer to the `Get 4D folder` command. + L’emplacement du dossier "Licenses" peut varier en fonction de la version ou de la langue de votre système d’exploitation. Pour plus d'informations sur l'emplacement de ce dossier, reportez-vous à la commande `Get 4D folder`. _**Note :** Vous pouvez également accéder à ce dossier depuis la boîte de dialogue “Mise à jour des licences” (accessible depuis le menu Aide)._ ## Tables @@ -53,7 +53,7 @@ Ces informations sont fournies sous forme de valeurs en octets et sont égalemen > La page Données ne tient pas compte de la taille des données éventuellement stockées à l’extérieur du fichier de données (cf. section Stockage externe des données). -Des fichiers trop fragmentés réduisent les performances du disque dur et donc de la base. If the occupation rate is too low, 4D will indicate this by a warning icon (which is displayed on the Information button and on the tab of the corresponding file type) and specify that compacting is necessary:![](../assets/en/MSC/MSC_infowarn.png) +Des fichiers trop fragmentés réduisent les performances du disque dur et donc de la base. Si le taux d’occupation est trop faible, 4D vous le signale par une icône d’avertissement (qui apparaît dans le bouton Informations et dans l’onglet du type de fichier correspondant) et indique qu’un compactage est requis:![](../assets/en/MSC/MSC_infowarn.png) -A warning icon is also displayed on the button of the [Compact](compact.md) page: +Une icône d'avertissement est également affichée sur le bouton de la page [Compacte](compact.md): ![](../assets/en/MSC/MSC_compactwarn.png) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/MSC/overview.md b/i18n/fr/docusaurus-plugin-content-docs/current/MSC/overview.md index 8ee918a0735202..f7a444dad8c689 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/MSC/overview.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/MSC/overview.md @@ -16,18 +16,18 @@ En mode maintenance, seule la fenêtre du CSM est affichée (le projet n’est p Vous pouvez ouvrir le CSM en mode maintenance depuis deux emplacements : -- **From the standard project opening dialog box** - The standard Open dialog includes the **Maintenance Security Center** option from the menu associated with the **Open** button: +- **À partir de la boîte de dialogue standard d'ouverture de projet** + La boîte de dialogue standard d'ouverture inclut l'option **Centre de sécurité de maintenance** dans le menu associé au bouton **Ouvrir** : ![](../assets/en/MSC/MSC_standardOpen.png) -- **Help/Maintenance Security Center** menu or **MSC** button in the tool bar (project not open)\ +- **Menu Aide/Centre de sécurité et de maintenance** ou bouton **CSM** de la barre d’outils (projet non ouvert)\ ![](../assets/en/MSC/mscicon.png)\ - When you call this function, a standard Open file dialog appears so that you can select the _.4DProject_ or _.4dz_ file of the to be examined. Le projet ne sera pas ouvert par 4D. + Lorsque vous appelez cette fonction, une boîte de dialogue standard d’ouverture de fichiers apparaît, vous permettant de sélectionner le fichier _.4DProject_ ou _.4dz_ à examiner. Le projet ne sera pas ouvert par 4D. ## Accès au CSM en mode standard En mode standard, un projet est ouvert. Dans ce mode, certaines fonctions de maintenance ne sont pas disponibles. Vous disposez de plusieurs possibilités pour accéder à la fenêtre du CSM : -- Use the **Help/Maintenance Security Center** menu or the **MSC** button in the 4D toolbar:\ +- Utiliser le menu **Aide/Centre de sécurité et de maintenance** ou le bouton **CSM** dans la barre d’outils 4D :\ ![](../assets/en/MSC/mscicon.png) - Utiliser l'action standard “Csm” qu’il est possible d’associer à une commande de menu ou à un objet de formulaire. - Utiliser la commande `OPEN SECURITY CENTER`. diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/MSC/repair.md b/i18n/fr/docusaurus-plugin-content-docs/current/MSC/repair.md index b6883fb957d6f5..b3f8baf3857c3b 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/MSC/repair.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/MSC/repair.md @@ -4,7 +4,7 @@ title: Page Réparation sidebar_label: Page Réparation --- -Cette page permet de réparer le fichier de données ou le fichier de structure lorsqu’il a été endommagé. Generally, you will only use these functions under the supervision of 4D technical teams, when anomalies have been detected while opening the application or following a [verification](verify.md). +Cette page permet de réparer le fichier de données ou le fichier de structure lorsqu’il a été endommagé. Généralement, vous n'utiliserez ces fonctions que sous la supervision d'équipes techniques 4D, lorsque des anomalies ont été détectées lors de l'ouverture de l'application ou à la suite d'une [vérification](verify.md). **Attention :** Chaque réparation entraîne la duplication du fichier d’origine et donc l’augmentation de la taille du dossier de l’application. Il est important de prendre cela en considération (notamment sous macOS, où les applications 4D apparaissent sous forme de paquet) afin de ne pas augmenter excessivement la taille de l'application. Une intervention manuelle à l’intérieur du package peut être utile afin de supprimer les copies des fichiers d’origine. diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/MSC/rollback.md b/i18n/fr/docusaurus-plugin-content-docs/current/MSC/rollback.md index 977c2c80ab523e..453c66fb5ead06 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/MSC/rollback.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/MSC/rollback.md @@ -10,7 +10,7 @@ Pour que cette fonction soit accessible, il est impératif que l'application tra ![](../assets/en/MSC/MSC_rollback1.png) -> If the database is encrypted and no valid data key corresponding to the open log file has been provided, encrypted values are not displayed in the **Values** column and a dialog requesting the passphrase or the data key is displayed if you click the **Rollback** button. +> Si la base de données est chiffrée et si aucune clé de données valide correspondant au fichier d'historique ouvert n'a été fournie, les valeurs chiffrées ne s'affichent pas dans la colonne **Valeurs** et un dialogue s'affiche, demandant la saisie d'une phrase secrète ou de la clé de données, si vous cliquez sur le bouton **Revenir en arrière**. Le contenu et le fonctionnement de la liste des opérations sont identiques à ceux de la fenêtre [d’analyse d’activités](analysis.md). diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/MSC/verify.md b/i18n/fr/docusaurus-plugin-content-docs/current/MSC/verify.md index f94135e8bb5028..2724d908af12dc 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/MSC/verify.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/MSC/verify.md @@ -21,7 +21,7 @@ La page comporte quatre boutons d’action permettant un accès direct aux fonct ## Voir le compte rendu -Quelle que soit la vérification demandée, 4D génère un fichier de compte-rendu dans le dossier `Logs` de l'application. Ce fichier liste l’ensemble des vérifications effectuées et signale chaque erreur rencontrée, le cas échéant ([OK] est affiché lorsque la vérification est correcte). It is created in XML format and is named: _ApplicationName__Verify_Log__yyyy-mm-dd hh-mm-ss_.xml where: +Quelle que soit la vérification demandée, 4D génère un fichier de compte-rendu dans le dossier `Logs` de l'application. Ce fichier liste l’ensemble des vérifications effectuées et signale chaque erreur rencontrée, le cas échéant ([OK] est affiché lorsque la vérification est correcte). Il est créé au format XML et est nommé : _ApplicationName__Verify_Log__yyyy-mm-dd hh-mm-ss_.xml où : - _ApplicationName_ est le nom du fichier de structure sans extension, par exemple "Factures", - _aaaa-mm-jj hh-mm-ss_ est l'horodatage du fichier, basé sur la date et l'heure système locales au moment du lancement de l'opération de vérification, par exemple "2019-02-11 15-20-45". diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/Menus/properties.md b/i18n/fr/docusaurus-plugin-content-docs/current/Menus/properties.md index 7b663233b342ef..7235fd46a0f39c 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/Menus/properties.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/Menus/properties.md @@ -5,7 +5,7 @@ title: Propriétés des menus Vous pouvez définir plusieurs propriétés à partir des lignes de menu, telles que des actions, des styles de police, les lignes de séparation, des raccourcis clavier ou des icônes. -## Titre de menu +## Titre La propriété **Title** contient le libellé d'un menu ou d'une ligne de menu, tel qu'il sera affiché dans l'interface de l'application. 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 1a8823821c42ae..de16903f70d7d6 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,7 @@ Read [**What’s new in 4D 20 R7**](https://blog.4d.com/en-whats-new-in-4d-v20-R #### Points forts - List box columns and headers of type time now support the ["blankIfNull" option](../FormObjects/properties_Display.md#time-format). +- New properties in [.getBoxInfo()](../API/IMAPTransporterClass.md#getboxinfo) and [.getBoxList()](../API/IMAPTransporterClass.md#getboxlist). ## 4D 20 R6 diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/ORDA/client-server-optimization.md b/i18n/fr/docusaurus-plugin-content-docs/current/ORDA/client-server-optimization.md index b4398c31292c5d..42fe2292e48361 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/ORDA/client-server-optimization.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/ORDA/client-server-optimization.md @@ -35,7 +35,7 @@ Le contexte d'optimisation est fondé sur ce qui suit : - [`entitySelection.slice()`](../API/EntitySelectionClass.md#slice) - [`entitySelection.drop()`](../API/EntitySelectionClass.md#drop) -- Un contexte d'optimisation existant peut être passé en tant que propriété à une autre entity selection de la même dataclass, ce qui permet d'éviter la phase d'apprentissage et d'accélérer l'application (voir [Utilisation de la propriété context](#reusing-the-context-property) ci-dessous). +- An existing optimization context can be passed as a property to another entity selection of the same dataclass, thus bypassing the learning phase and accelerating the application (see [Reusing the context property](#reusing-the-context-property) below). - Vous pouvez créer des contextes d'optimisation manuellement à l'aide de la fonction [`dataStore.setRemoteContextInfo()`](../API/DataStoreClass.md#setremotecontextinfo) (voir [Préconfiguration des contextes](#preconfiguring-contexts)). @@ -77,22 +77,22 @@ Une même propriété de contexte d'optimisation peut être passée à un nombre var $data : Collection $querysettings:=New object("context";"shortList") $querysettings2:=New object("context";"longList") - + $sel1:=ds.Employee.query("lastname = S@";$querysettings) - $data:=extractData($sel1) // dans la méthode extractData un contexte d'optimisation - // est généré et associé au contexte "shortList" - + $data:=extractData($sel1) // In extractData method an optimization is triggered + // and associated to context "shortList" + $sel2:=ds.Employee.query("lastname = Sm@";$querysettings) - $data:=extractData($sel2) // dans la méthode extractData le contexte d'optimisation - // associé au contexte "shortList" est appliqué - + $data:=extractData($sel2) // In extractData method the optimization associated + // to context "shortList" is applied + $sel3:=ds.Employee.query("lastname = Smith";$querysettings2) - $data:=extractDetailedData($sel3) // dans la méthode extractDetailedData un contexte d'optimisation - // est généré et associé au contexte "longList" - + $data:=extractDetailedData($sel3) // In extractDetailedData method an optimization + // is triggered and associated to context "longList" + $sel4:=ds.Employee.query("lastname = Brown";$querysettings2) - $data:=extractDetailedData($sel4) // dans extractDetailedData le contexte d'optimisation - // associé au contexte "longList" est appliqué + $data:=extractDetailedData($sel4) // In extractDetailedData method the optimization + // associated to context "longList" is applied ``` ### List box de type entity selection @@ -133,6 +133,8 @@ Pour des raisons d'optimisation, les données demandées au serveur via ORDA son Les données contenues dans le cache sont considérées comme expirées lorsque le délai d'attente est atteint. Tout accès à des données périmées provoquera l'envoi d'une requête au serveur. Les données périmées restent dans le cache jusqu'à ce que l'on ait besoin d'espace. +You can force entity selection data in the ORDA cache to expire at any moment by using the [`refresh()`](../API/EntitySelectionClass.md#refresh) function. + Par défaut, le cache ORDA est géré de manière transparente par 4D. Cependant, vous pouvez contrôler son contenu en utilisant les fonctions ORDA suivantes : - [dataClass.setRemoteCacheSettings()](../API/DataClassClass.md#setremotecachesettings) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/ORDA/entities.md b/i18n/fr/docusaurus-plugin-content-docs/current/ORDA/entities.md index a05b5b2b2a4146..516bfec28e4acb 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/ORDA/entities.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/ORDA/entities.md @@ -267,7 +267,7 @@ Une entity selection peut être **partageable** (lisible par plusieurs process, Une entity selection **partageable** a les caractéristiques suivantes : - elle peut être stockée dans un objet partagé ou une collection partagée, et peut être passée comme paramètre entre plusieurs process ou workers ; -- elle peut être stockée dans plusieurs objets partagés ou collections partagées, ou dans un objet partagé ou une collection partagée qui appartient déjà à un groupe (elle n'a pas de _locking identifier_) ; +- it can be stored in several shared objects or collections, or in a shared object or collection which already belongs to a group; - elle ne permet pas d'ajouter de nouvelles entités. Essayer d'ajouter une entité à une entity selection partageable génèrera une erreur (1637 - Cette entity selection ne peut pas être modifiée). Pour ajouter une entité à une entity selection partageable, vous devez d'abord la transformer en une entity selection non partageable en utilisant la fonction [`.copy()`](API/EntitySelectionClass.md#copy) avant d'appeler [`.add()`](API/EntitySelectionClass.md#add). > La plupart des fonctions d'entity selection (telles que [`.slice()`](API/EntitySelectionClass.md#slice), [`.and()`](API/EntitySelectionClass.md#and)...) prennent en charge les entity selection partageables puisqu'elles ne modifient pas la sélection d'origine (elles en renvoient une nouvelle). diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/ORDA/privileges.md b/i18n/fr/docusaurus-plugin-content-docs/current/ORDA/privileges.md index 4abdb7b4689346..42381f88a3e642 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/ORDA/privileges.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/ORDA/privileges.md @@ -23,7 +23,7 @@ Pour un aperçu détaillé de l'architecture des permissions, veuillez lire l'ar ## Ressources -Vous pouvez assigner des actions de permission spécifiques aux ressources exposées suivantes dans votre projet : +You can assign specific permission actions to the following resources in your project: - le datastore - une dataclass @@ -31,6 +31,8 @@ Vous pouvez assigner des actions de permission spécifiques aux ressources expos - une fonction de classe du modèle de données - une fonction [singleton](../REST/$singleton.md) +Each time a resource is accessed within a session (whatever the way it is accessed), 4D checks that the session has the appropriate permissions, and rejects the access if it is not authorized. + Une action de permission définie à un certain niveau est héritée par défaut aux niveaux inférieurs, mais plusieurs niveaux de permissions peuvent être définis : - Une action de permission définie au niveau du datastore est automatiquement assignée à toutes les dataclass. diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/Preferences/general.md b/i18n/fr/docusaurus-plugin-content-docs/current/Preferences/general.md index 1d6ca72d087a4b..2351d6c471f339 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/Preferences/general.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/Preferences/general.md @@ -30,7 +30,7 @@ Depuis macOS Sierra, les applications Mac bénéficient d'onglets automatiques f Vous pouvez bénéficier de cette fonctionnalité dans les environnements de 4D suivants (versions 64 bits uniquement) : -- Code Editor windows +- Fenêtres de l'éditeur de code - Fenêtres de l'éditeur de formulaires Toutes les fenêtres de ces éditeurs peuvent être ouvertes sous forme d'onglets : @@ -94,7 +94,7 @@ Grâce à ce principe, sous macOS les dossiers des bases apparaissent sous forme ### Inclure les tokens dans les fichiers sources des projets -Lorsque cette option est cochée, les [fichiers sources des méthodes](../Project/architecture.md#sources) enregistrées dans les nouveaux projets 4D contiendront des **tokens** pour les objets classiques du langage et de la base (constantes, commandes, tabl Tokens are additional characters such as `:C10` or `:5` inserted in the source code files, that allow renaming tables and fields and identifying elements whatever the 4D version (see [Using tokens in formulas](https://doc.4d.com/4Dv19R3/4D/19-R3/Using-tokens-in-formulas.300-5583062.en.html)). +Lorsque cette option est cochée, les [fichiers sources des méthodes](../Project/architecture.md#sources) enregistrées dans les nouveaux projets 4D contiendront des **tokens** pour les objets du langage classic et de la base (constantes, commandes, tables et champs). Tokens are additional characters such as `:C10` or `:5` inserted in the source code files, that allow renaming tables and fields and identifying elements whatever the 4D version (see [Using tokens in formulas](https://doc.4d.com/4Dv19R3/4D/19-R3/Using-tokens-in-formulas.300-5583062.en.html)). Si vous avez l'intention d'utiliser des VCS ou des éditeurs de code externes avec vos nouveaux projets, il est préférable de décocher cette option pour une meilleure lisibilité du code avec ces outils. diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/Project/compiler.md b/i18n/fr/docusaurus-plugin-content-docs/current/Project/compiler.md index 30f4e217d4405f..f40929b4315b6d 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/Project/compiler.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/Project/compiler.md @@ -35,13 +35,13 @@ Double-cliquez sur chaque erreur détectée pour ouvrir la méthode ou la classe Utilisez les commandes **Erreur précédente** / **Erreur suivante** du menu **Méthode** pour naviguer d'une erreur à l'autre. -Le nombre d'erreurs trouvées lors de vos premières compilations peut être déconcertant, mais ne vous laissez pas décourager. Vous découvrirez rapidement qu'elles proviennent souvent de la même source, à savoir la non-conformité avec certaines conventions du projet. The compiler always provides a [precise diagnosis](#error-file) of the errors in order to help you correct them. +Le nombre d'erreurs trouvées lors de vos premières compilations peut être déconcertant, mais ne vous laissez pas décourager. Vous découvrirez rapidement qu'elles proviennent souvent de la même source, à savoir la non-conformité avec certaines conventions du projet. Le compilateur fournit toujours un [diagnostic précis](#error-file) des erreurs afin de vous aider à les corriger. > La compilation nécessite une licence appropriée. Sans cette licence, il n'est pas possible d'effectuer une compilation (les boutons sont désactivés). Néanmoins, il est toujours possible de vérifier la syntaxe et de générer des méthodes de typage. ## Exécuter la compilation -Une fois le projet compilé, il est possible de passer du [mode interprété au mode compilé](Concepts/interpreted.md), et vice versa, à tout moment et sans avoir à quitter l'application 4D (sauf si le code interprété a été supprimé). To do this, use the **Restart Interpreted** and **Restart Compiled** commands of the **Run** menu. La [boîte de dialogue d'ouverture de projet ](GettingStarted/creating.md#options) de 4D permet également de choisir le mode interprété ou compilé au lancement du projet. +Une fois le projet compilé, il est possible de passer du [mode interprété au mode compilé](Concepts/interpreted.md), et vice versa, à tout moment et sans avoir à quitter l'application 4D (sauf si le code interprété a été supprimé). Pour ce faire, utilisez les commandes **Redémarrer en interprété** et **Redémarrer en compilé** du menu **Exécution**. La [boîte de dialogue d'ouverture de projet ](GettingStarted/creating.md#options) de 4D permet également de choisir le mode interprété ou compilé au lancement du projet. Lorsque vous passez d'un mode à l'autre, 4D ferme le mode courant et ouvre le nouveau. Cela équivaut à quitter et à rouvrir l'application. Chaque fois que vous passez d'un mode à l'autre, 4D exécute les deux méthodes base suivantes (si elles sont spécifiées) dans cet ordre : `On Exit` -> `On Startup`. @@ -49,7 +49,7 @@ Si vous modifiez votre projet en mode interprété, vous devez le recompiler pou ## Caractéristiques de la fenêtre du compilateur -In addition to the [**Compile** button](#compile), the Compiler window provides additional features that are useful during the project development phase. +En plus du bouton [**Compiler**](#compiler), la fenêtre du compilateur fournit des fonctionnalités supplémentaires qui sont utiles pendant la phase de développement du projet. ### Vérifier la syntaxe @@ -59,7 +59,7 @@ Le contrôle syntaxique peut également être lancé directement à l'aide de la ### Générer le typage -Le bouton **Générer le typage** crée ou met à jour les méthodes de compilation du typage. Compiler methods are project methods that group together all the variable and array typing declarations (process and interprocess), as well as the [method parameters declared outside prototypes](../Concepts/parameters.md#method-parameters-declared-outside-prototypes). Ces méthodes, lorsqu'elles existent, sont utilisées directement par le compilateur lors de la compilation du code, ce qui permet d'accélérer les durées de compilation. +Le bouton **Générer le typage** crée ou met à jour les méthodes de typage du compilateur. Les méthodes de typage sont des méthodes projet qui regroupent toutes les déclarations de variables et de tableaux (process et interprocess), ainsi que les [paramètres de méthodes déclarés en dehors des prototypes](../Concepts/parameters.md#method-parameters-declared-outside-prototypes). Ces méthodes, lorsqu'elles existent, sont utilisées directement par le compilateur lors de la compilation du code, ce qui permet d'accélérer les durées de compilation. Le nom de ces méthodes doit commencer par `Compiler_`. Vous pouvez définir le nom par défaut de chacune des 5 méthodes du compilateur dans [la fenêtre des paramètres du compilateur](#compiler-methods-for). Les méthodes de compilation qui sont générées et gérées par 4D ont automatiquement l'attribut `Invisible` : @@ -71,7 +71,7 @@ La zone d'information indique toute erreur trouvée lors de la création ou de l ### Effacer le code compilé -Le bouton **Effacer le code compilé** permet de supprimer le code compilé du projet. Lorsque vous cliquez dessus, tout le [code généré lors de la compilation](#classic-compiler) est supprimé, la commande **Restart Compiled** du menu **Run** est désactivée et l'option "Compiled Project" n'est pas disponible au démarrage. +Le bouton **Effacer le code compilé** permet de supprimer le code compilé du projet. Lorsque vous cliquez dessus, tout le [code généré lors de la compilation](#classic-compiler) est supprimé, la commande **Redémarrer en compilé** du menu **Exécution** est désactivée et l'option "Projet compilé" n'est pas disponible au démarrage. ### Afficher/masquer les warnings @@ -107,13 +107,13 @@ Permet de générer le fichier d'erreurs (voir [fichier d'erreurs](#fichier-derr Permet de définir le nombre de passes (analyse du code) effectuées par le compilateur et donc la durée de la compilation. -- **Type the variables**: Check this option if you want the compiler to infer the type of variables and parameters in your code. This option requires the compiler to perform all the stages that make compilation possible, which increases the duration of compilation. -- **Process and interprocess variables are typed**: The pass for typing process and interprocess variables as well as method parameters declared outside prototypes is not carried out. Cette option peut être utilisée lorsque vous avez déjà effectué le typage de toutes vos variables process et interprocess soit vous-même, soit en utilisant la fonction de génération automatique des méthodes compilateur. -- **All variables are typed**: The pass for typing local, process and interprocess variables as well as method parameters declared outside prototypes is not carried out. Use this option when you are certain that all the local, process, and interprocess variables as well as method parameters have been clearly typed. +- **Effectuer les passes de typage** : Cochez cette option si vous voulez que le compilateur déduise le type des variables et des paramètres dans votre code. Cette option nécessite que le compilateur exécute toutes les étapes qui rendent possible la compilation, ce qui augmente la durée de la compilation. +- **Les variables process et interprocess sont typées** : la passe de typage des variables process et interprocess ainsi que des paramètres des méthodes déclarés en dehors des prototypes n'est pas effectuée. Cette option peut être utilisée lorsque vous avez déjà effectué le typage de toutes vos variables process et interprocess soit vous-même, soit en utilisant la fonction de génération automatique des méthodes compilateur. +- **Toutes les variables sont typées** : la passe de typage des variables locales, process et interprocess ainsi que des paramètres des méthodes déclarés en dehors des prototypes n'est pas effectuée. Utilisez cette option lorsque vous êtes certain que toutes les variables process, interprocess et locales ainsi que les paramètres des méthodes ont été typés sans ambiguïté. :::tip -You can use the [Generate Typing](#generate-typing) button then compile with one of the two last options. +Vous pouvez utiliser le bouton [Générer typage](#generate-typing) puis compiler avec l'une des deux dernières options. ::: @@ -158,9 +158,9 @@ Jusqu'à 5 méthodes de compilateur peuvent être générées ; une méthode de - **Variables interprocess** : Regroupe les déclarations de variables interprocess ; - **Tableaux** : Regroupe les déclarations de tableaux de process ; - **Tableaux interprocess** : Regroupe les déclarations de tableaux interprocess ; -- **Methods**: Groups together method parameter declarations (e.g `C_LONGINT(mymethod;$1;$2)`) for [method parameters declared outside prototypes](../Concepts/parameters.md#method-parameters-declared-outside-prototypes). For more information, see [`Compiler_Methods` method](../Concepts/parameters.md#compiler_methods-method). +- **Méthodes** : Regroupe les déclarations de paramètres des méthodes (par exemple `C_LONGINT(mymethod;$1;$2)`) pour les [paramètres des méthodes déclarés hors prototypes](../Concepts/parameters.md#method-parameters-declared-outside-prototypes). Pour plus d'informations, voir [Méthode `Compiler_Methods`](../Concepts/parameters.md#méthode-compiler_methods). -Vous pouvez renommer chacune de ces méthodes dans les zones correspondantes, mais elles seront toujours précédées de l'étiquette `Compiler_` (non modifiable). Le nom de chaque méthode (préfixe compris) ne doit pas comporter plus de 31 caractères. Il doit également être unique et respecter les [règles 4D de nommage des méthodes](Concepts/identifiers.md#méthodes-projet). +Vous pouvez renommer chacune de ces méthodes dans les zones correspondantes, mais elles seront toujours précédées du libellé `Compiler_` (non modifiable). Le nom de chaque méthode (préfixe compris) ne doit pas comporter plus de 31 caractères. Il doit également être unique et respecter les [règles 4D de nommage des méthodes](Concepts/identifiers.md#méthodes-projet). ## Warnings @@ -233,7 +233,7 @@ The special warnings comments have priority over the warnings display settings s ### Fichier de symboles -If you check the [**Generate the symbol file**](#generate-the-symbol-file) option in the compiler settings, a symbol file called `ProjectName_symbols.txt` is created in the [Logs folder](Project/architecture.md#logs) of the project during compilation. Il est divisé en plusieurs parties : +Si vous cochez l'option [**Générer le fichier de symboles**](#generate-the-symbol-file) dans les paramètres du compilateur, un fichier de symboles appelé `ProjectName_symbols.txt` est créé dans le dossier [Logs](architecture.md#logs) du projet pendant la compilation. Il est divisé en plusieurs parties : #### Liste des variables process et interprocess @@ -281,7 +281,7 @@ type résultat, nombre d'appels, Thread Safe ou Thread Unsafe ### Fichier d’erreurs -You can choose whether or not to generate an error file during compilation using the [**Generate error file**](#generate-error-file) option in the compiler settings. Le fichier d'erreur est automatiquement nommé `projectName_errors.xml` et est placé dans le [dossier Logs](Project/architecture.md#logs) du projet. +Vous pouvez choisir de générer ou non un fichier d'erreurs lors de la compilation en utilisant l'option [**Générer le fichier d'erreur**](#generate-error-file) dans les paramètres du compilateur. Le fichier d'erreur est automatiquement nommé `projectName_errors.xml` et est placé dans le [dossier Logs](Project/architecture.md#logs) du projet. Bien que les erreurs soient directement accessibles via la [fenêtre de compilation](#compilation), il peut être intéressant de disposer d’un fichier d’erreurs qu’il est alors possible de transmettre d’un poste à l’autre. Le fichier d’erreurs est généré au format XML afin de faciliter l’analyse automatique de son contenu. Il permet également la création d’interfaces personnalisées de présentation des erreurs. @@ -318,11 +318,11 @@ Dans certains cas, vous pouvez souhaiter que le contrôle d’exécution ne s’ Pour cela, vous devez encadrer le code à exclure du contrôle d’exécution avec les commentaires spéciaux `//%R-` et `//%R+`. Le commentaire `//%R-` désactive le contrôle d’exécution et `//%R+` le réactive : ```4d - // %R- to disable range checking + // %R- pour désactiver le contrôle d'exécution - ... //Place the code to be excluded from range checking here + ... //Placez ici le code exclus du contrôle d'exécution - // %R+ to enable range checking again for the rest + // %R+ pour réactiver le contrôle d'exécution pour la suite de la méthode ``` ## A propos des compilateurs @@ -362,7 +362,7 @@ Le code compilé qui en résulte est stocké dans le dossier [Libraries](archite - **Si vous avez déjà installé** Xcode ou Developer Tools sur votre ordinateur, vous devez juste vous assurer que sa version est conforme aux spécifications de 4D. - **Si vous n'avez pas déjà installé** l'un de ces outils sur votre machine, il vous sera nécessaire d'en télécharger un depuis le site web Apple Developer. -> Nois recommandons **Xcode**, qui est plus simple à installer. Il est tout à fait possible d'installer **Developer Tools** qui est plus compact, mais son installation est un peu plus complexe. +> Nous recommandons **Xcode**, qui est plus simple à installer. Il est tout à fait possible d'installer **Developer Tools** qui est plus compact, mais son installation est un peu plus complexe. Dans tous les cas, le compilateur Silicon de 4D vous avertira si votre configuration ne correspond pas aux conditions requises. diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/Project/date-time-formats.md b/i18n/fr/docusaurus-plugin-content-docs/current/Project/date-time-formats.md index 97268747b25d04..e2bac7687e9358 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/Project/date-time-formats.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/Project/date-time-formats.md @@ -15,7 +15,7 @@ Throughout your 4D projects, you might need to format date and/or time values ac The following table lists all supported patterns for date and time formats. -| Symbol | Meaning | Pattern | Example Output | +| Symbol | Meaning | Motif | Example Output | | ------ | ------------------------------------------------------------------------ | ------------- | --------------------------------------------------------------------- | | G | era designator | G, GG, or GGG | AD | | | | GGGG | Anno Domini | @@ -151,7 +151,7 @@ Par exemple : ## Exemples -| Date or time | Pattern | Résultat | Commentaires | +| Date or time | Motif | Résultat | Commentaires | | ---------------------------------------- | ---------------------------- | -------------------------------- | --------------------- | | 15/06/2000 | "QQQQ" | "2nd quarter" | localisé | | 17/03/2001 | "D" | "76" | 76th day of the year | diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/REST/$catalog.md b/i18n/fr/docusaurus-plugin-content-docs/current/REST/$catalog.md index 1d2ae7fd3e563e..d888b6541273f2 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/REST/$catalog.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/REST/$catalog.md @@ -3,20 +3,20 @@ id: catalog title: $catalog --- -The catalog describes all the dataclasses, attributes, and [interprocess (shared) singletons](../Concepts/classes.md#singleton-classes) available in the project. +Le catalogue décrit l'ensemble des dataclass, attributs et [shared singletons (singletons partagés)](../Concepts/classes.md#classes-singleton) disponibles dans le projet. ## Syntaxe -| Syntaxe | Exemple | Description | -| ----------------------------------------------------------------------- | ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | -| [**$catalog**](#catalog) | `/$catalog` | Returns [shared singletons](#singletons) (if any) and a list of the dataclasses in your project along with two URIs | -| [**$catalog/$all**](#catalogall) | `/$catalog/$all` | Returns [shared singletons](#singletons) (if any) and information about all of your project's dataclasses and their attributes | -| [**$catalog/\{dataClass\}**](#catalogdataclass) | `/$catalog/Employee` | Renvoie des informations sur une dataclass et ses attributs | -| [**$catalog/DataStoreClassFunction**](ClassFunctions.md#function-calls) | `/$catalog/authentify` | Exécute la fonction de datastore class authentify() si elle existe | +| Syntaxe | Exemple | Description | +| ----------------------------------------------------------------------- | ---------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [**$catalog**](#catalog) | `/$catalog` | Retourne les [shared singletons](#singletons) (s'il y en a) et une liste des dataclass dans votre projet ainsi que deux URIs | +| [**$catalog/$all**](#catalogall) | `/$catalog/$all` | Retourne les [shared singletons](#singletons) (s'il y en a) et des informations sur toutes les dataclass de votre projet et leurs attributs | +| [**$catalog/\{dataClass\}**](#catalogdataclass) | `/$catalog/Employee` | Renvoie des informations sur une dataclass et ses attributs | +| [**$catalog/DataStoreClassFunction**](ClassFunctions.md#function-calls) | `/$catalog/authentify` | Exécute la fonction de datastore class authentify() si elle existe | ## $catalog -Returns [shared singletons](#singletons) (if any) and a list of the dataclasses in your project along with two URIs: one to access the information about its structure and one to retrieve the data in the dataclass +Retourne les [shared singletons](#singletons) (s'il y en a) et une liste des dataclass de votre projet avec chacune deux URI : un pour accéder aux informations sur sa structure et un pour récupérer les données dans la dataclass. ### Description @@ -57,13 +57,13 @@ Voici une description des propriétés retournées pour chaque dataclass dans le ## $catalog/$all -Returns [shared singletons](#singletons) (if any) and information about all of your project's dataclasses and their attributes +Retourne les [shared singletons](#singletons) (s'il y en a) et des informations sur toutes les dataclass de votre projet et leurs attributs ### Description En appelant `$catalog/$all`, vous pouvez recevoir des informations détaillées sur les attributs de chacune des dataclasses du modèle de votre projet. -For more information about what is returned for each dataclass and its attributes, use [`$catalog/\{dataClass\}`](#catalogdataClass). +For more information about what is returned for each dataclass and its attributes, use [`$catalog/\{dataClass\}`](#catalogdataclass). ### Exemple @@ -180,7 +180,7 @@ Renvoie des informations sur une dataclass et ses attributs ### Description -Calling `$catalog/\{dataClass\}` for a specific dataclass will return the following information about the dataclass and the attributes it contains. Si vous souhaitez récupérer ces informations pour toutes les dataclasses dans le datastore de votre projet, utilisez [`$catalog/$all`](#catalogall). +L'appel de `$catalog/\{dataClass\}` pour une dataclass spécifique renverra les informations suivantes sur la dataclass et les attributs qu'elle contient. Si vous souhaitez récupérer ces informations pour toutes les dataclasses dans le datastore de votre projet, utilisez [`$catalog/$all`](#catalogall). Les informations que vous récupérez concernent : @@ -328,9 +328,9 @@ Vous pouvez récupérer les informations concernant une dataclass spécifique. ## singletons -If you have defined [shared singletons](../Concepts/classes.md#singleton-classes) containing at least one [exposed function](../ORDA/ordaClasses.md#exposed-vs-non-exposed-functions), a `singletons` section is added to the returned json for both the `/$catalog` and `/$catalog/$all` syntaxes. It contains the collection of singleton classes as objects with their **name** and **methods** (i.e., exposed functions). +Si vous avez défini des [shared singletons] (../Concepts/classes.md#singleton-classes) contenant au moins une [fonction exposée] (../ORDA/ordaClasses.md#exposed-vs-non-exposed-functions), une section `singletons` est ajoutée au json retourné pour les syntaxes `/$catalog` et `/$catalog/$all`. Il contient la collection des classes singleton sous forme d'objets avec leur **name** et **methods** (c'est-à-dire les fonctions exposées). -Singleton functions can be called by REST requests using the [`$singleton` command]($singleton.md). +Les fonctions singleton peuvent être appelées par des requêtes REST à l'aide de la commande [`$singleton`]($singleton.md). ### Exemple diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/REST/$clean.md b/i18n/fr/docusaurus-plugin-content-docs/current/REST/$clean.md index 13fc1bc46c1dda..37de77936ba30b 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/REST/$clean.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/REST/$clean.md @@ -3,25 +3,25 @@ id: clean title: $clean --- -Creates a new entity set from an existing entity set but without its deleted entities, if any (*e.g.* `$clean=true`) +Crée un nouvel entity set à partir d'un entity set existant mais sans ses entités supprimées, le cas échéant (*par exemple* `$clean=true`) ## Description -`$clean` creates a new entity set containing the same entities as `entitySetID` but without references to deleted entities (if any). +`$clean` crée un nouvel entity set contenant les mêmes entités que `entitySetID`, mais sans les références aux entités supprimées (le cas échéant). -By default, when an entity is [deleted]($method.md#methoddelete), its reference(s) in existing entity set(s) become *undefined* but are not removed. They are also still included in the "count" property of the entity set. Calling `$clean` on the entity set returns a new, up-to-date entity set without *undefined* entity references. +Par défaut, lorsqu'une entité est [supprimée]($method.md#methoddelete), sa ou ses référence(s) dans les entity sets existants deviennent *undefined* mais ne sont pas supprimée(s). Elles sont également toujours incluses dans la propriété "count" de l'entity set. Appeler `$clean` sur l'entity set renvoie un nouvel entity set à jour, sans références d'entités *undefined*. -`$clean` can be followed by [`$method=entityset`]($method.md#methodentityset) to create the new entity set on the server: +`$clean` peut être suivi de [`$method=entityset`]($method.md#methodentityset) pour créer le nouvel entity set sur le serveur: `/Employee/$entityset/9718A30BF61343C796345F3BE5B01CE7?$clean=true&$method=entityset` ## Exemple -1. We create an entity set: +1. Nous créons un entity set : `GET /rest/Speciality?$filter="ID<=3"&$method=entityset` -Three entities are received and we get the entity set `DF6903FB5879404A9A818884CFC6F62A` +Trois entités sont reçues et nous obtenons l'entity set `DF6903FB5879404A9A818884CFC6F62A` ```json { @@ -73,11 +73,11 @@ Three entities are received and we get the entity set `DF6903FB5879404A9A818884C } ``` -2. We delete the entity with `KEY=2` (see [how to delete an entity]($method.md#methoddelete)), then this request is sent: +2. Nous supprimons l'entité de `KEY=2` (voir [comment supprimer une entité]($method.md#methoddelete)), puis cette requête est envoyée : `GET /rest/Speciality/$entityset/DF6903FB5879404A9A818884CFC6F62A` -The entity set is returned and still contains 3 entities. There is an undefined entity for the deleted entity (with stamp = 0): +L'entity set est renvoyé et contient toujours 3 entités. Il y a une entité undefined pour l'entité supprimée (avec stamp = 0) : ```json { @@ -119,11 +119,11 @@ The entity set is returned and still contains 3 entities. There is an undefined } ``` -3. If this request is sent: +3. Si cette requête est exécutée : `GET /rest/Speciality/$entityset/DF6903FB5879404A9A818884CFC6F62A?$clean=true&$method=entityset` -We clean the entity set DF6903FB5879404A9A818884CFC6F62A and receive a new entity set (entity set D7BFBC49375B4FE5A94CDD17AA535F73) that does not contain the dropped entity: +Nous nettoyons l'entity set DF6903FB5879404A9A818884CFC6F62A et recevons un nouvel entity set (entity set D7BFBC49375B4FE5A94CDD17AA535F73) qui ne contient pas l'entité supprimée : ```json { diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/REST/$entityset.md b/i18n/fr/docusaurus-plugin-content-docs/current/REST/$entityset.md index a4b3e46d72bc57..d7b99d2c5260f6 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/REST/$entityset.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/REST/$entityset.md @@ -22,7 +22,7 @@ Cette syntaxe vos permet d'exécuter toute opération sur un entity set défini. Étant donné que les entity sets ont une durée de vie limitée (par défaut ou bien après avoir appelé `$timeout` pour définir la limite souhaitée), vous pouvez appeler `$savedfilter` et `$savedorderby` pour sauvegarder la définition du filtre et des instructions order by lorsque vous créez un entity set. -When you retrieve an existing entity set stored in 4D Server's cache, you can also apply any of the following to the entity set: [`$clean`]($clean.md), [`$expand`]($expand.md), [`$filter`]($filter.md), [`$orderby`]($orderby.md), [`$skip`]($skip.md), or [`$top/$limit`]($top_$limit.md). +Lorsque vous récupérez un entity set existant stocké dans le cache de 4D Server, vous pouvez également appliquer l'une des commandes suivantes à l'entity set : [`$clean`]($clean.md), [`$expand`]($expand.md), [`$filter`]($filter.md), [`$orderby`]($orderby.md), [`$skip`]($skip.md), ou [`$top/$limit`]($top_$limit.md). ### Exemple @@ -32,16 +32,16 @@ Après que vous ayez créé un entity set, l'ID de l'entity set est retourné av ## $entityset/\{entitySetID\}?$logicOperator...&$otherCollection -Créez un autre ensemble d'entités basé sur des ensembles d'entités préalablement créés +Crée un autre entity set basé sur des entity sets préalablement créés -| Paramètres | Type | Description | -| ---------------- | ------ | --------------------------------------------------------------------- | -| $logicOperator | String | L'un des opérateurs logiques à tester avec l'autre ensemble d'entités | -| $otherCollection | String | ID de l'ensemble d'entités | +| Paramètres | Type | Description | +| ---------------- | ------ | ------------------------------------------------------------- | +| $logicOperator | String | L'un des opérateurs logiques à tester avec l'autre entity set | +| $otherCollection | String | ID de l'entity set | ### Description -After creating an entity set (entity set #1) by using `$method=entityset`, you can then create another entity set by using the `$entityset/\{entitySetID\}?$logicOperator... &$otherCollection` syntax, the `$logicOperator` property (whose values are shown below), and another entity set (entity set #2) defined by the `$otherCollection` property. Les deux ensembles d'entités doivent être dans la même dataclass. +Après avoir créé un entity set (entity set #1) en utilisant `$method=entityset`, vous pouvez ensuite créer un autre entity set en utilisant la syntaxe `$entityset/\{entitySetID\}?$logicOperator... &$otherCollection`, la propriété `$logicOperator` (dont les valeurs sont indiquées ci-dessous), et un autre entity set (entity set #2) défini par la propriété `$otherCollection`. Les deux entity sets doivent être dans la même dataclass. Vous pouvez ensuite créer un autre entity set contenant les résultats de cet appel en utilisant le `$method=entityset` à la fin de la requête REST. @@ -49,7 +49,7 @@ Voici les opérateurs logiques : | Opérateur | Description | | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| AND | Retourne les entités communes aux deux ensembles d'entités | +| AND | Retourne les entités communes aux deux entity sets | | OU | Retourne les entités contenues dans les deux entity sets | | EXCEPT | Retourne les entités de l'entity set #1 moins celles de l'entity set #2 | | INTERSECT | Retourne true ou false s'il existe une intersection des entités dans les deux entity sets (ce qui signifie qu'au moins une entité est commune aux deux entity sets) | 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 f0e93265ee6cf1..01e50ee7f0fba5 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/REST/$filter.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/REST/$filter.md @@ -23,7 +23,7 @@ Un filtre plus complexe est composé des éléments suivants, qui joint deux req **\{attribute\} {comparator} {value} {AND/OR/EXCEPT} \{attribute\} {comparator} {value}** -Par exemple : `$filter="firstName=john AND salary>20000"` où `firstName` et `salary` sont les attributs de la dataclasse "Employee". +Par exemple : `$filter="firstName=john AND salary>20000"` où `firstName` et `salary` sont les attributs de la dataclass "Employee". ### Utiliser la propriété params diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/REST/$info.md b/i18n/fr/docusaurus-plugin-content-docs/current/REST/$info.md index fe9cb1e5ac3fdb..e230dd472a84a2 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/REST/$info.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/REST/$info.md @@ -9,32 +9,32 @@ Renvoie des informations sur les entity sets actuellement stockés dans le cache En appelant cette requête pour votre projet, vous récupérez des informations dans les propriétés suivantes : -| Propriété | Type | Description | -| -------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| cacheSize | Number | Taille du cache du serveur 4D. | -| usedCache | Number | La quantité de cache du serveur 4D utilisée. | -| entitySetCount | Number | Nombre d'entity sets. | -| entitySet | Collection | Une collection dans laquelle chaque objet contient des informations sur chaque entity set. | -| ProgressInfo | Collection | Une collection contenant des informations sur les indicateurs de progression. | -| sessionInfo | Collection | Une collection dans laquelle chaque objet contient des informations sur chaque session utilisateur. | -| privileges | Object | An object with a "privileges" property (collection of objects). Each object of the collection has a "privilege" property with a privilege name of the user session as value. | +| Propriété | Type | Description | +| -------------- | ---------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| cacheSize | Number | Taille du cache du serveur 4D. | +| usedCache | Number | La quantité de cache du serveur 4D utilisée. | +| entitySetCount | Number | Nombre d'entity sets. | +| entitySet | Collection | Une collection dans laquelle chaque objet contient des informations sur chaque entity set. | +| ProgressInfo | Collection | Une collection contenant des informations sur les indicateurs de progression. | +| sessionInfo | Collection | Une collection dans laquelle chaque objet contient des informations sur chaque session utilisateur. | +| privileges | Object | Un objet avec une propriété "privileges" (collection d'objets). Chaque objet de la collection a une propriété "privilege" avec le nom d'un privilège de la session utilisateur comme valeur. | ### entitySet Pour chaque sélection d'entités stocké dans le cache de 4D Server, les informations retournées sont les suivantes : -| Propriété | Type | Description | -| ------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| id | String | Un UUID qui référence l'ensemble d'entités. | -| dataClass | String | Nom de la dataclass. | -| selectionSize | Number | Nombre d'entités dans la sélection d'entités. | -| sorted | Boolean | Retourne vrai si l'ensemble a été trié (à l'aide de `$orderby`) ou faux s'il n'est pas trié. | -| refreshed | Date | Date de création de l'ensemble d'entités ou de la dernière utilisation. | -| expires | Date | Date d'expiration de l'ensemble d'entités (cette date/heure change chaque fois que l'ensemble d'entités est actualisé). La différence entre actualisé et expire est le timeout d'un ensemble d'entités. Cette valeur correspond soit à deux heures par défaut, soit à la valeur que vous avez définie à l'aide de `$timeout`. | +| Propriété | Type | Description | +| ------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| id | String | Un UUID qui référence l'entity set. | +| dataClass | String | Nom de la dataclass. | +| selectionSize | Number | Nombre d'entités dans l'entity set. | +| sorted | Boolean | Retourne vrai si l'ensemble a été trié (à l'aide de `$orderby`) ou faux s'il n'est pas trié. | +| refreshed | Date | Date de la création ou de la dernière utilisation de l'entity set. | +| expires | Date | Date d'expiration de l'entity set (cette date/heure change chaque fois que l'entity set est actualisé). La différence entre refreshed et expires est le timeout pour un entity set. Cette valeur correspond soit à deux heures par défaut, soit à la valeur que vous avez définie à l'aide de `$timeout`. | -Pour plus d'informations sur la création d'une sélection d'entités, reportez-vous à `$method=entityset`. Si vous souhaitez supprimer la sélection d'entités du cache de 4D Server, utilisez `$method=release`. +Pour plus d'informations sur la création d'un entity set, reportez-vous à `$method=entityset`. Si vous souhaitez supprimer la sélection d'entités du cache de 4D Server, utilisez `$method=release`. -> 4D crée également ses propres sélections d'entités à des fins d'optimisation, de sorte que ceux que vous créez avec `$method=entityset` ne soient pas les seuls à être retournés. +> 4D crée également ses propres entity sets à des fins d'optimisation, de sorte que ceux que vous créez avec `$method=entityset` ne soient pas les seuls à être retournés. > **IMPORTANT** > Si votre projet est en **mode d'accès administrateur contrôlé**, vous devez d'abord vous connecter au projet en tant qu'utilisateur du groupe Admin. diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/REST/$method.md b/i18n/fr/docusaurus-plugin-content-docs/current/REST/$method.md index 16a11cb167d545..a67d3674b5e5f7 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/REST/$method.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/REST/$method.md @@ -21,9 +21,9 @@ Supprime l'entité, la collection d'entités ou l'entity selection courante (cr ### Description -Avec `$method=delete`, vous pouvez supprimer une entité ou une collection d'entités entière. You can define the collection of entities by using, for example, [`$filter`]($filter.md) or specifying one directly using [`\{dataClass\}({key})`](%7BdataClass%7D.html#dataclasskey) _(e.g._, /Employee(22)). +Avec `$method=delete`, vous pouvez supprimer une entité ou une collection d'entités entière. Vous pouvez définir la collection d'entités en utilisant, par exemple, [`$filter`]($filter.md) ou en en spécifiant une directement à l'aide de [`\{dataClass\}(\{key\})`](dataClass.md#dataclasskey) (par exemple, /Employee(22)). -You can also delete the entities in an entity set, by calling [`$entityset/\{entitySetID\}`]($entityset.md#entitysetentitysetid). +Vous pouvez également supprimer les entités d'un entity set en appelant [`$entityset/\{entitySetID\}`]($entityset.md#entitysetentitysetid). ### Exemple @@ -35,7 +35,7 @@ Vous pouvez également faire une requête en utilisant $ filter : `POST /rest/Employee?$filter="ID=11"&$method=delete` -You can also delete an entity set using $entityset/\{entitySetID\}: +Vous pouvez également supprimer un entity set en utilisant $entityset/\{entitySetID\} : `POST /rest/Employee/$entityset/73F46BE3A0734EAA9A33CA8B14433570?$method=delete` @@ -53,7 +53,7 @@ Crée un entity set dans le cache de 4D Server basé sur la collection d'entité ### Description -Lorsque vous créez une collection d'entités en REST, vous pouvez également créer un entity set qui sera enregistré dans le cache de 4D Server. The entity set will have a reference number that you can pass to `$entityset/\{entitySetID\}` to access it. Par défaut, il est valable deux heures; vous pouvez toutefois modifier cette durée en passant une valeur (en secondes) à $timeout. +Lorsque vous créez une collection d'entités en REST, vous pouvez également créer un entity set qui sera enregistré dans le cache de 4D Server. L'entity set aura un numéro de référence que vous pouvez passer à `$entityset/\{entitySetID\}` pour y accéder. Par défaut, il est valable deux heures; vous pouvez toutefois modifier cette durée en passant une valeur (en secondes) à $timeout. Si vous avez utilisé `$savedfilter` et/ou `$savedorderby` (avec `$filter` et/ou `$orderby`) lors de la création de votre entity set, vous pouvez le recréer avec le même ID de référence même s'il a été supprimé du cache de 4D Server. @@ -134,7 +134,7 @@ Si vous souhaitez récupérer uniquement les entités relatives pour une entité ```json { - + "__ENTITYSET": "/rest/Employee/$entityset/FF625844008E430B9862E5FD41C741AB", "__entityModel": "Employee", "__COUNT": 2, @@ -170,7 +170,7 @@ Si vous souhaitez récupérer uniquement les entités relatives pour une entité } } ] - + } ``` @@ -225,7 +225,7 @@ Si vous souhaitez créer une entité, vous pouvez envoyer, via POST, les attribu **POST data:** ```json -{ +{ firstName: "John", lastName: "Smith" } @@ -238,13 +238,13 @@ Vous pouvez également créer et mettre à jour plusieurs entités en même temp **POST data:** ```json -[{ +[{ "__KEY": "309", "__STAMP": 5, "ID": "309", "firstName": "Penelope", "lastName": "Miller" -}, { +}, { "firstName": "Ann", "lastName": "Jones" }] @@ -256,12 +256,12 @@ Lorsque vous ajoutez ou modifiez une entité, elle vous est retournée avec les ```json { - "__KEY": "622", - "__STAMP": 1, - "uri": "http://127.0.0.1:8081/rest/Employee(622)", + "__KEY": "622", + "__STAMP": 1, + "uri": "http://127.0.0.1:8081/rest/Employee(622)", "__TIMESTAMP": "!!2020-04-03!!", - "ID": 622, - "firstName": "John", + "ID": 622, + "firstName": "John", "firstName": "Smith" } ``` diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/REST/$singleton.md b/i18n/fr/docusaurus-plugin-content-docs/current/REST/$singleton.md index 2b733ae6ce35b3..20049a28bb4e47 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/REST/$singleton.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/REST/$singleton.md @@ -3,17 +3,17 @@ id: singleton title: $singleton --- -You can directly call exposed [functions of your shared singletons](../Concepts/classes.md#singleton-classes) through REST. +Vous pouvez appeler directement les [fonctions exposées de vos shared singletons](../Concepts/classes.md#singleton-classes) via REST. -Singleton functions are called in POST requests with the `$singleton` command and without `()`. For example, if you have defined a `buildVehicle()` function in the `VehicleFactory` shared singleton class, you could call it using the following request: +Les fonctions singleton sont appelées dans des requêtes POST avec la commande `$singleton` et sans `()`. Par exemple, si vous avez défini une fonction `buildVehicle()` dans la classe singleton partagée `VehicleFactory`, vous pouvez l'appeler à l'aide de la requête suivante : ```json /rest/$singleton/VehicleFactory/buildVehicle ``` -with data in the body of the POST request: ["truck"] +avec les données dans le body de la requête POST : ["truck"] -In 4D language, this call is equivalent to: +En langage 4D, cet appel est équivalent à : ```4d $singleton:=cs.VehicleFactory.me.buildVehicle("truck") @@ -21,33 +21,33 @@ $singleton:=cs.VehicleFactory.me.buildVehicle("truck") :::note -Keep in mind that only functions with the [`exposed` keyword](../ORDA/ordaClasses.md#exposed-vs-non-exposed-functions) can be directly called from REST requests. +N'oubliez pas que seules les fonctions avec le mot-clé [`exposed`](../ORDA/ordaClasses.md#exposed-vs-non-exposed-functions) peuvent être directement appelées à partir de requêtes REST. ::: ## Appeler des fonctions -Singleton functions must always be called using REST **POST** requests (a GET request will receive an error). La syntaxe formelle est la suivante : +Les fonctions Singleton doivent toujours être appelées à l'aide de requêtes REST **POST** (une requête GET recevra une erreur). La syntaxe formelle est la suivante : `/rest/$singleton/SingletonClass/SingletonClassFunction` -> All 4D code called from REST requests **must be thread-safe** if the project runs in compiled mode, because the REST Server always uses preemptive processes in this case (the [*Use preemptive process* setting value](../WebServer/preemptiveWeb.md#enabling-the-preemptive-mode-for-the-web-server) is ignored by the REST Server). +> La totalité du code 4D appelé à partir de requêtes REST **doit être thread-safe** si le projet fonctionne en mode compilé, car le serveur REST utilise toujours des process préemptifs dans ce cas (la valeur du paramètre [*Utiliser un process préemptif*](../WebServer/preemptiveWeb.md#activer-le-mode-préemptif-pour-le-serveur-web) est ignorée par le serveur REST). :::info -You can restrict calls to specific singleton functions by configuring appropriate privileges in the [**roles.json**](../ORDA/privileges.md#rolesjson-file) file. +Vous pouvez limiter les appels à des fonctions singleton spécifiques en configurant les privilèges appropriés dans le fichier [**roles.json**](../ORDA/privileges.md#fichier-rolesjson). ::: ## Paramètres -You can send parameters to singleton functions. On the server side, they will be received in the [declared parameters](../Concepts/parameters.md#declaring-parameters) of the singleton class functions. +Vous pouvez envoyer des paramètres aux fonctions singleton. Côté serveur, ils seront reçus dans les [paramètres déclarés](../Concepts/parameters.md#declaration-des-parametres) des fonctions de la classe singleton. -Sending parameters to singleton functions is exactly the same as sending parameter to ORDA class functions. Please refer to [the **Parameters** paragraph of the "Calling class functions" page](ClassFunctions.md#parameters) for a detailed description. +L'envoi de paramètres aux fonctions singleton est exactement le même que l'envoi de paramètres aux fonctions de classe ORDA. Veuillez vous référer au [paragraphe **Paramètres** de la page "Appeler des fonctions de classe"](ClassFunctions.md#parametres) pour une description détaillée. ## Exemple -You have created a simple shared singleton with an exposed function: +Vous avez créé un singleton partagé simple avec une fonction exposée : ```4d //class mySingleton @@ -61,7 +61,7 @@ exposed Function sayHello ($value : Text) :::note -The `mySingleton` class and `sayHello` function are listed when you call the [`$catalog`]($catalog.md#singleton) command. +La classe `mySingleton` et la fonction `sayHello` sont répertoriées lorsque vous appelez la commande [`$catalog`]($catalog.md#singleton). ::: @@ -69,7 +69,7 @@ Vous pouvez lancer cette requête : **POST** `/rest/$singleton/mySingleton/sayHello` -Body of the request: ["John"] +Body de la requête : ["John"] #### Réponse diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/REST/ClassFunctions.md b/i18n/fr/docusaurus-plugin-content-docs/current/REST/ClassFunctions.md index 7a3dfe1cb17434..58facaf2afece7 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/REST/ClassFunctions.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/REST/ClassFunctions.md @@ -1,21 +1,21 @@ --- id: classFunctions -title: Calling class functions +title: Appel des fonctions de classe --- Vous pouvez appeler les [fonctions de classe](ORDA/ordaClasses.md) définies pour le modèle de données ORDA via vos requêtes REST, afin de bénéficier de l'API de l'application 4D ciblée. :::note -You can also call singleton functions, see [this page]($singleton.md) for more information. +Vous pouvez également appeler des fonctions singleton, voir [cette page]($singleton.md) pour plus d'informations. ::: -Les fonctions sont simplement appelées dans les requêtes POST sur l'interface ORDA appropriée, sans (). Par exemple, si vous avez défini une fonction `getCity()` dans la dataclass City, vous pouvez l'appeler à l'aide de la requête suivante : +Les fonctions sont simplement appelées dans des requêtes POST sur l'interface ORDA appropriée, sans (). Par exemple, si vous avez défini une fonction `getCity()` dans la dataclass City, vous pouvez l'appeler à l'aide de la requête suivante : `/rest/City/getCity` -avec des données contenues dans le corps de la requête POST : `["Aguada"]` +avec des données contenues dans le body de la requête POST : `["Aguada"]` Dans le langage 4D, cet appel équivaut à : @@ -31,34 +31,34 @@ Les fonctions doivent toujours être appelées à l'aide des requêtes **POST** Les fonctions sont appelées sur l'objet correspondant au datastore du serveur. -| Fonction de classe | Syntaxe | -| ------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | -| [datastore class](ORDA/ordaClasses.md#datastore-class) | `/rest/$catalog/DataStoreClassFunction` | -| [dataclass class](ORDA/ordaClasses.md#dataclass-class) | `/rest/\{dataClass\}/DataClassClassFunction` | -| [entitySelection class](ORDA/ordaClasses.md#entityselection-class) | `/rest/\{dataClass\}/EntitySelectionClassFunction` | -| | `/rest/\{dataClass\}/EntitySelectionClassFunction/$entityset/entitySetNumber` | -| | `/rest/\{dataClass\}/EntitySelectionClassFunction/$filter` | -| | `/rest/\{dataClass\}/EntitySelectionClassFunction/$orderby` | -| [entity class](ORDA/ordaClasses.md#entity-class) | `/rest/\{dataClass\}(key)/EntityClassFunction/` | -| [Singleton class](../Concepts/classes.md#singleton-classes) | `/rest/$singleton/SingletonClass/SingletonClassFunction` (see [$singleton page]($singleton.md)) | +| Fonction de classe | Syntaxe | +| ------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------- | +| [datastore class](ORDA/ordaClasses.md#datastore-class) | `/rest/$catalog/DataStoreClassFunction` | +| [dataclass class](ORDA/ordaClasses.md#dataclass-class) | `/rest/\{dataClass\}/DataClassClassFunction` | +| [entitySelection class](ORDA/ordaClasses.md#entityselection-class) | `/rest/\{dataClass\}/EntitySelectionClassFunction` | +| | `/rest/\{dataClass\}/EntitySelectionClassFunction/$entityset/entitySetNumber` | +| | `/rest/\{dataClass\}/EntitySelectionClassFunction/$filter` | +| | `/rest/\{dataClass\}/EntitySelectionClassFunction/$orderby` | +| [entity class](ORDA/ordaClasses.md#entity-class) | `/rest/\{dataClass\}(key)/EntityClassFunction/` | +| [Classe singleton](../Concepts/classes.md#classes-singleton) | `/rest/$singleton/SingletonClass/SingletonClassFunction` (voir [page $singleton]($singleton.md)) | -> `/rest/\{dataClass\}/Function` can be used to call either a dataclass or an entity selection function (`/rest/\{dataClass\}` returns all entities of the DataClass as an entity selection).\ -> The function is searched in the entity selection class first. Si elle n'est pas trouvée, elle est recherchée dans la dataclass. En d'autres termes, si une fonction portant le même nom est définie à la fois dans la classe DataClass et la classe EntitySelection, la fonction de classe de dataclass ne sera jamais exécutée. +> `/rest/\{dataClass\}/Function` peut être utilisé pour appeler une fonction de dataclass ou d'entity selection (`/rest/\{dataClass\}` renvoie toutes les entités de la dataclass en tant qu'entity selection).\ +> La fonction est d'abord recherchée dans la classe Entity selection. Si elle n'est pas trouvée, elle est recherchée dans la dataclass. En d'autres termes, si une fonction portant le même nom est définie à la fois dans la classe DataClass et la classe EntitySelection, la fonction de classe de dataclass ne sera jamais exécutée. -> All 4D code called from REST requests **must be thread-safe** if the project runs in compiled mode, because the REST Server always uses preemptive processes in this case (the [_Use preemptive process_ setting value](../WebServer/preemptiveWeb.md#enabling-the-preemptive-mode-for-the-web-server) is ignored by the REST Server). +> La totalité du code 4D appelé à partir de requêtes REST **doit être thread-safe** si le projet fonctionne en mode compilé, car le serveur REST utilise toujours des process préemptifs dans ce cas (la valeur du paramètre [_Utiliser un process préemptif_](../WebServer/preemptiveWeb.md#activer-le-mode-préemptif-pour-le-serveur-web) est ignorée par le serveur REST). ## Paramètres -Vous pouvez envoyer des paramètres aux fonctions définies dans les classes utilisateurs ORDA. On the server side, they will be received in the [declared parameters](../Concepts/parameters.md#declaring-parameters) of the class functions. +Vous pouvez envoyer des paramètres aux fonctions définies dans les classes utilisateurs ORDA. Côté serveur, ils seront reçus dans les [paramètres déclarés](../Concepts/parameters.md#declaration-des-parametres) des fonctions de classe. Les règles suivantes s'appliquent : -- Les paramètres doivent être passés dans le **corps de la requête POST** +- Les paramètres doivent être passés dans le **body de la requête POST** - Les paramètres doivent être inclus dans une collection (format JSON) - Tous les types de données scalaires pris en charge dans les collections JSON peuvent être passés en tant que paramètres. -- La sélection d'entité et l'entité peuvent être passées en tant que paramètres. The JSON object must contain specific attributes used by the REST server to assign data to the corresponding ORDA objects: `__DATACLASS`, `__ENTITY`, `__ENTITIES`, `__DATASET`. +- L'entity selection et l'entité peuvent être passées en tant que paramètres. L'objet JSON doit contenir des attributs spécifiques utilisés par le serveur REST pour assigner les données aux objets ORDA correspondants : `__DATACLASS`, `__ENTITY`, `__ENTITIES`, `__DATASET`. -See [this example](#using-an-entity-to-be-created-on-the-server) and [this example](#receiving-an-entity-selection-as-parameter). +Voir [cet exemple](#utiliser-une-entite-a-creer-sur-le-serveur) et [cet exemple](#recevoir-une-entity-selection-comme-parametre). ### Paramètre de valeur scalaire @@ -82,10 +82,10 @@ Vous pouvez également transmettre des valeurs pour tous les attributs de l'enti | __ENTITY | Boolean | Obligatoire - Vrai pour indiquer au serveur que le paramètre est une entité | | __KEY | mixte (type identique à celui de la clé primaire) | Optionnel - clé primaire de l'entité | -- If `__KEY` is not provided, a new entity is created on the server with the given attributes. -- If `__KEY` is provided, the entity corresponding to `__KEY` is loaded on the server with the given attributes +- Si `__KEY` n'est pas fourni, une nouvelle entité est créée sur le serveur avec les attributs donnés. +- Si `__KEY` est fourni, l'entité correspondant à `__KEY` est chargée sur le serveur avec les attributs donnés -Voir les exemple de [création](#creating-an-entity) ou de [mise à jour](#updating-an-entity) des entités. +Voir les exemples de [création](#creating-an-entity) ou de [mise à jour](#updating-an-entity) des entités. #### Paramètre d'entité associé @@ -185,7 +185,7 @@ Le résultat est une entité : } ``` -### Utiliser une fonction de classe d'une entité +### Utiliser une fonction de classe d'entité La classe d'entité `CityEntity` fournit une API : @@ -210,7 +210,7 @@ Vous pouvez lancer cette requête : } ``` -### Utiliser une fonction de classe d'une entity selection +### Utiliser une fonction de classe d'entity selection La classe d'entity selection `CityEntity` fournit une API : @@ -235,7 +235,7 @@ Vous pouvez lancer cette requête : } ``` -### Utiliser une fonction de classe de sélection d'entité et un ensemble d'entité +### Utiliser une fonction de classe d'entity selection et un entity set La classe `StudentsSelection` a une fonction `getAgeAverage` : @@ -267,7 +267,7 @@ Une fois que vous avez créé un ensemble d'entité, vous pouvez lancer cette re } ``` -### Utiliser une fonction de classe de sélection d'entité et un "orderBy" +### Utiliser une fonction de classe d'entity selection et un "orderBy" La classe `StudentsSelection` a une fonction `getLastSummary` : @@ -308,7 +308,7 @@ Class extends DataClass exposed Function pushData($entity : Object) : Object var $status : Object - $status:=checkData($entity) // $status is an object with a success boolean property + $status:=checkData($entity) // $status est un objet avec une propriété booléenne success If ($status.success) $status:=$entity.save() @@ -325,7 +325,7 @@ Lancez cette requête : **POST** `http://127.0.0.1:8044/rest/Students/pushData` -Corps de la requête : +Body de la requête : ``` [{ @@ -363,7 +363,7 @@ Lancez cette requête : **POST:**`http://127.0.0.1:8044/rest/Students/pushData` -Corps de la requête : +Body de la requête : ``` [{ @@ -401,7 +401,7 @@ Lancez cette requête : **POST:**`http://127.0.0.1:8044/rest/Students/pushData` -Corps de la requête : +Body de la requête : ``` [{ @@ -447,9 +447,9 @@ Class extends Entity exposed Function putToSchool() var $1, $school , $0, $status : Object - //$1 is a Schools entity + //$1 est une entité school $school:=$1 - //Associate the related entity school to the current Students entity + //associer l'entité liée school à l'entité courante students This.school:=$school $status:=This.save() @@ -457,7 +457,9 @@ exposed Function putToSchool() $0:=$status ``` -You run this request, called on a Students entity : **POST** `http://127.0.0.1:8044/rest/Students(1)/putToSchool` Body of the request: +Vous exécutez cette requête, appelée sur une entité Students : +**POST** `http://127.0.0.1:8044/rest/Students(1)/putToSchool` +Body de la requête : ``` [{ @@ -477,7 +479,7 @@ You run this request, called on a Students entity : **POST** `http://127.0.0.1:8 } ``` -### Recevoir une sélection d'entité comme paramètre +### Recevoir une entity selection comme paramètre Dans la classe de Dataclass `Students`, la fonction `setFinalExam()` met à jour une sélection d'entité reçue ($1). Elle met à jour l'attribut _finalExam_ avec la valeur reçue ($2). Elle retourne les clés primaires des entités mises à jour. @@ -500,7 +502,7 @@ exposed Function setFinalExam() $keys:=New collection() - //Loop on the entity selection + //Boucle sur entity selection For each ($student;$es) $student.finalExam:=$examResult $status:=$student.save() @@ -520,7 +522,7 @@ Vous pouvez ensuite exécuter cette requête : **POST** `http://127.0.0.1:8044/rest/Students/setFinalExam` -Corps de la requête : +Body de la requête : ``` [ @@ -554,15 +556,15 @@ A l'aide de la fonction `getAgeAverage()` [définie ci-dessus](#using-an-entitys var $remoteDS, $newStudent, $students : Object var $ageAverage : Integer -$remoteDS:=Open datastore(New object("hostname";"127.0.0.1:8044");"students") +$remoteDS:=Open datastore(New object("hostname" ; "127.0.0.1:8044") ; "students") -// $newStudent is a student entity to procees +// $newStudent est une entité étudiant à traiter $newStudent:=... -$students:=$remoteDS.Students.query("school.name = :1";"Math school") -// We add an entity to the $students entity selection on the client +$students:=$remoteDS.Students.query("school.name = :1" ; "Math school") +// Nous ajoutons une entité à l'entity selection $students sur le client $students.add($newStudent) -// We call a function on the StudentsSelection class returning the age average of the students in the entity selection -// The function is executed on the server on the updated $students entity selection which included the student added from the client +// Nous appelons une fonction de la classe StudentsSelection qui renvoie la moyenne d'âge des étudiants de l'entity selection +// La fonction est exécutée sur le serveur dans l'entity selection $students mise à jour qui comprend l'étudiant ajouté par le client $ageAverage:=$students.getAgeAverage() ``` 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 f0e03a00979ed8..c5eaf5c241d9c3 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/REST/authUsers.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/REST/authUsers.md @@ -5,47 +5,47 @@ title: Sessions et utilisateurs ## Sessions -When [scalable sessions are enabled](WebServer/sessions.md#enabling-sessions) (recommended), REST requests can create and use [web user sessions](WebServer/sessions.md), providing extra features such as multiple requests handling, data sharing between web client processes, and control of user privileges. +Lorsque les [sessions évolutives sont activées](WebServer/sessions.md#activer-les-sessions) (recommandé), les requêtes REST peuvent créer et utiliser des [sessions utilisateur web](WebServer/sessions.md), offrant des fonctionnalités supplémentaires telles que la gestion de requêtes multiples, le partage de données entre les process web clients et le contrôle des privilèges utilisateur. -When a web user session is opened, you can handle it through the `Session` object and the [Session API](API/SessionClass.md). Subsequent REST requests reuse the same session cookie. +Lorsqu'une session utilisateur web est ouverte, vous pouvez la gérer via l'objet `Session` et l'[API de session](API/SessionClass.md). Les requêtes REST ultérieures réutilisent le même cookie de session. -A session is opened after the user was successfully logged (see below). +Une session est ouverte après que l'utilisateur a été connecté avec succès (voir ci-dessous). -> - On 4D Server, opening a REST session requires that a free 4D client license is available.Default value = false
**Note**: PDFs are not affected by this attribute. Colors in PDFs remain.
| -| centering | entier long | How the contents are centered on the printed page. Available values: `vk print centering both`, `vk print centering horizontal`, `vk print centering none` (default), `vk print centering vertical` | -| firstPageNumber | entier long | The page number to print on the first page.Default value = 1 | -| pageOrder | entier long | The order pages are printed. Available values: `vk print page order auto` (default), `vk print page order down then over`, `vk print page order over then down`. | -| pageRange | text | The range of pages for printing | -| qualityFactor | entier long | The quality factor for printing (1 - 8). The higher the quality factor, the better the printing quality, however printing performance may be affected.Default value = 2
| -| useMax | boolean | Only columns and rows with data are printed.Default value = true
| -| zoomFactor | réel | The amount to enlarge or reduce the printed page.Default value = 1
| +| Propriété | Type | Description | +| --------------- | ----------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| blackAndWhite | boolean | Printing in black and white only.Valeur par défaut = false
**Note**: Les PDF ne sont pas affectés par cet attribut. Les couleurs en PDF restent.
| +| centering | entier long | How the contents are centered on the printed page. Valeurs disponibles : `vk print centering both`, `vk print centering horizontal`, `vk print centering none` (par défaut), `vk print centering vertical` | +| firstPageNumber | entier long | The page number to print on the first page.Default value = 1 | +| pageOrder | entier long | The order pages are printed. Valeurs disponibles : `vk print page order auto` (par défaut), `vk print page order down then over`, `vk print page order over then down`. | +| pageRange | text | The range of pages for printing | +| qualityFactor | entier long | The quality factor for printing (1 - 8). Plus le facteur de qualité est élevé, meilleure est la qualité d'impression, cependant les performances d'impression peuvent être affectées.Valeur par défaut = 2
| +| useMax | boolean | Seules les colonnes et les lignes avec des données sont imprimées.Valeur par défaut = true
| +| zoomFactor | réel | Le montant de l'agrandissement ou de la réduction de la page imprimée.Valeur par défaut = 1
| ### Paper Size @@ -350,19 +350,19 @@ Paper size attributes are used to specify the dimensions or model of paper to us - Custom size - height and width attributes - Standard size - kind attribute -| Propriété | | Type | Description | -| --------- | ------ | ----------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| paperSize | | object | Paper dimensions (height, width) or specific format (kind) for printing. | -| | height | entier long | Height of the paper, in hundredths of an inch. | -| | width | entier long | Width of the paper, in hundredths of an inch. | -| | kind | text | Name of standard paper size (e.g., A2, A4, legal, etc.) returned by `Get Print Option`. Default value = "letter" | +| Propriété | | Type | Description | +| --------- | ------ | ----------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| paperSize | | object | Paper dimensions (height, width) or specific format (kind) for printing. | +| | height | entier long | Height of the paper, in hundredths of an inch. | +| | width | entier long | Width of the paper, in hundredths of an inch. | +| | kind | text | Nom du format de papier standard (par exemple, A2, A4, legal, etc.) retourné par `Get Print Option`. Default value = "letter" | -- If the paper size is specified using the `height` and `width` properties, [`VP Get print info`](./commands/vp-get-print-info.md) returns a paper size with `custom` as value for `kind`. +- Si le format du papier est spécifié en utilisant les propriétés `height` et `width`, [`VP Get print info`](./commands/vp-get-print-info.md) retourne un format de papier avec `custom` comme valeur pour `kind`. -- If you set the paper size using the `kind` property, you can use either: - - one of the formats in the [SpreadJS format list](https://developer.mescius.com/spreadjs/api/enums/GC.Spread.Sheets.Print.PaperKind) - - one of the formats returned by the [`PRINT OPTION VALUES`](https://doc.4d.com/4dv19/help/command/en/page785.html) command. - In that case, [`VP Get print info`](./commands/vp-get-print-info.md) returns the corresponding format with the height and width. +- Si vous définissez le format du papier à l'aide de la propriété `kind`, vous pouvez utiliser l'une ou l'autre : + - un des formats dans la [liste des formats SpreadJS](https://developer.mescius.com/spreadjs/api/enums/GC.Spread.Sheets.Print.PaperKind) + - un des formats retournés par la commande [`PRINT OPTION VALUES`](https://doc.4d.com/4dv19/help/command/fr/page785.html). + Dans ce cas, [`VP Get print info`](./commands/vp-get-print-info.md) retourne le format correspondant avec la hauteur et la largeur. ### Echelle @@ -379,12 +379,12 @@ Scale attributes are used to specify printing optimization and adjustments. Show / Hide attributes are used to specify the visibility (printing) of 4D View Pro area elements. -| Propriété | Type | Description | -| ---------------- | ----------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| showBorder | boolean | Prints the outline border.Default value = "true" | -| showColumnHeader | entier long | Column header print settings. Available values: `vk print visibility hide`, `vk print visibility inherit` (default), `vk print visibility show`, `vk print visibility show once` | -| showGridLine | boolean | Prints the gridlines. Default value = "false" | -| showRowHeader | entier long | Row headers print settings. Available values: `vk print visibility hide`, `vk print visibility inherit` (default), `vk print visibility show`, `vk print visibility show once` | +| Propriété | Type | Description | +| ---------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| showBorder | boolean | Prints the outline border.Default value = "true" | +| showColumnHeader | entier long | Column header print settings. Valeurs disponibles : `vk print visibility hide`, `vk print visibility inherit` (par défaut), `vk print visibility show`, `vk print visibility show once` | +| showGridLine | boolean | Prints the gridlines. Default value = "false" | +| showRowHeader | entier long | Row headers print settings. Valeurs disponibles : `vk print visibility hide`, `vk print visibility inherit` (par défaut), `vk print visibility show`, `vk print visibility show once` | ### Watermark @@ -400,21 +400,21 @@ Watermark attributes are used to superimpose text or an image onto the 4D View P | | \[ ].x | entier long | The horizontal coordinate of the top left point of the watermark text / image. | | | \[ ].y | entier long | The vertical coordinate of the top left point of the watermark text / image. | -\* If using text type, pass the filepath (absolute or relative) of the image. If you pass a relative path, the file should be located next to the database structure file. In Windows, the file extension must be indicated. No matter the type used to set an image, the image itself (not a reference) is stored in the 4D View Pro area and is returned by [VP Get print info](commands/vp-get-print-info.md). +\* If using text type, pass the filepath (absolute or relative) of the image. If you pass a relative path, the file should be located next to the database structure file. In Windows, the file extension must be indicated. Peu importe le type utilisé pour définir une image, l'image elle-même (pas une référence) est stockée dans la zone 4D View Pro et est retournée par [VP Get print info](commands/vp-get-print-info.md). ## Style Objects 4D View Pro style objects and style sheets allow you to control the graphical aspects and the look of your 4D View Pro documents. -### Style objects & Style sheets +### Objets de style et feuilles de style -Style objects contain the style settings. They can be used either in a style sheet or on their own. Style objects can also be used in addition to a style sheet so that different settings can be specified for individual cell ranges without affecting the rest of the document. You can use style objects directly with the [VP SET CELL STYLE](commands/vp-set-cell-style.md) and [VP SET DEFAULT STYLE](commands/vp-set-default-style.md) commands. You can also use style objects when defining custom table themes using the [VP SET TABLE THEME](commands/vp-set-table-theme.md) or [VP CREATE TABLE](commands/vp-create-table.md) commands. +Style objects contain the style settings. They can be used either in a style sheet or on their own. Style objects can also be used in addition to a style sheet so that different settings can be specified for individual cell ranges without affecting the rest of the document. Vous pouvez utiliser les objets de style directement avec les commandes [VP SET CELL STYLE](commands/vp-set-cell-style.md) et [VP SET DEFAULT STYLE](commands/vp-set-default-style.md). Vous pouvez également utiliser des objets de style lors de la définition de thèmes de tableau personnalisés à l'aide des commandes [VP SET TABLE THEME](commands/vp-set-table-theme.md) ou [VP CREATE TABLE](commands/vp-create-table.md). -A **style sheet** groups together a combination of properties in a style object to specify the look of all of the cells in your 4D View Pro documents. Style sheets saved with the document can be used to set the properties for a single sheet, multiple sheets, or an entire workbook. When created, a 4D View Pro style sheet is given a name which is saved within the style sheet in the "name" property. This allows a style sheet to be easily used and, if thoughtfully selected, can facilitate its identification and purpose (e.g., Letterhead\_internal, Letterhead_external). +Une **feuille de style** regroupe une combinaison de propriétés dans un objet de style pour spécifier l'apparence de toutes les cellules de vos documents 4D View Pro. Style sheets saved with the document can be used to set the properties for a single sheet, multiple sheets, or an entire workbook. When created, a 4D View Pro style sheet is given a name which is saved within the style sheet in the "name" property. This allows a style sheet to be easily used and, if thoughtfully selected, can facilitate its identification and purpose (e.g., Letterhead\_internal, Letterhead_external). -Style sheets are created with the [VP ADD STYLESHEET](commands/vp-add-stylesheet.md) command and applied with the the [VP SET DEFAULT STYLE](commands/vp-set-default-style.md) or [VP SET CELL STYLE](commands/vp-set-cell-style.md) commands. You can remove a style sheet with the [VP REMOVE STYLESHEET](commands/vp-remove-stylesheet.md) command. +Les feuilles de style sont créées avec la commande [VP ADD STYLESHEET](commands/vp-add-stylesheet.md) et appliquées avec les commandes [VP SET DEFAULT STYLE](commands/vp-set-default-style.md) ou [VP SET CELL STYLE](commands/vp-set-cell-style.md). Vous pouvez supprimer une feuille de style avec la commande [VP REMOVE STYLESHEET](commands/vp-remove-stylesheet.md). -The [VP Get stylesheet](commands/vp-get-stylesheet.md) command can be used to return the style object of a single style sheet or you can use the [VP Get stylesheets](commands/vp-get-stylesheets.md) command to retrieve a collection of style objects for multiple style sheets. +La commande [VP Get stylesheet](commands/vp-get-stylesheet.md) peut être utilisée pour retourner l'objet style d'une feuille de style unique ou vous pouvez utiliser la commande [VP Get stylesheets](commands/vp-get-stylesheets.md) pour récupérer une collection d'objets style pour plusieurs feuilles de style. ### Style object properties @@ -424,12 +424,12 @@ Voici un exemple : $style:=New object $style.hAlign:=vk horizontal align left $style.font:="12pt papyrus" - $style.backColor:="#E6E6FA" //light purple color + $style.backColor:="#E6E6FA" //couleur violet clair VP SET DEFAULT STYLE("myDoc";$style) ``` -#### Background & Foreground +#### Arrière-plan & Premier plan | Propriété | Type | Description | Valeurs possibles | | --------------------- | ------------- | ------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | @@ -448,32 +448,32 @@ Voici un exemple : #### Polices et texte -| Propriété | | Type | Description | Valeurs possibles | -| --------------- | ---------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| font | | text | Specifies the font characteristics in CSS font shorthand ("font-style font-variant font-weight font-size/line-height font-family"). Example: "14pt Century Gothic". The font-size and font-family values are mandatory. If one of the other values is missing, their default values are used. Note: If a font name contains a space, the name must be within quotes. | A CSS font shorthand. 4D provides utility commands to handle font characteristics as objects: [`VP Font to object`](commands/vp-font-to-object.md) and [`VP Object to font`](commands/vp-object-to-font.md) | -| formatter | | text | Modèle pour la propriété value/time. | Number/text/date/time formats, special characters. See [Cell Format](#cell-format). | -| isVerticalText | | boolean | Specifies text direction. | True = vertical text, False = horizontal text. | -| labelOptions | | object | Defines cell label options (watermark options). | | -| | alignment | entier long | Specifies the position of the cell label. Optional property. | `vk label alignment top left`, `vk label alignment bottom left`, `vk label alignment top center`, `vk label alignment bottom center`, `vk label alignment top right`, `vk label alignment bottom right` | -| | visibility | entier long | Specifies the visibility of the cell label. Optional property. | `vk label visibility auto`, `vk label visibility hidden`, `vk label visibility visible` | -| | foreColor | text | Defines the color of the foreground. Optional property. | CSS color "#rrggbb" syntax (preferred syntax), CSS color "rgb(r,g,b)" syntax (alternate syntax), CSS color name (alternate syntax) | -| | font | text | Specifies the font characteristics with CSS font shorthand ("font-style font-variant font-weight font-size/line-height font-family"). The font-size and font-family values are mandatory. | | -| textDecoration | | entier long | Specifies the decoration added to text. | `vk text decoration double underline`, `vk text decoration line through`, `vk text decoration none`, `vk text decoration overline`, `vk text decoration underline` | -| textIndent | | entier long | Defines the unit of text indention. 1 = 8 pixels | | -| textOrientation | | entier long | Defines the rotation angle of the text in a cell. Number between -90 and 90 | | -| watermark | | text | Defines the watermark (cell label) content | | -| wordWrap | | boolean | Specifies if text should be wrapped. | True = wrapped text, False = unwrapped text | +| Propriété | | Type | Description | Valeurs possibles | +| --------------- | ---------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| font | | text | Specifies the font characteristics in CSS font shorthand ("font-style font-variant font-weight font-size/line-height font-family"). Example: "14pt Century Gothic". The font-size and font-family values are mandatory. If one of the other values is missing, their default values are used. Note: If a font name contains a space, the name must be within quotes. | A CSS font shorthand. 4D fournit des commandes utilitaires pour gérer les caractéristiques des polices en tant qu'objets : [`VP Font to object`](commands/vp-font-to-object.md) et [`VP Object to font`](commands/vp-object-to-font.md) | +| formatter | | text | Modèle pour la propriété value/time. | Number/text/date/time formats, special characters. Voir [Format des cellules](#cell-format). | +| isVerticalText | | boolean | Specifies text direction. | True = vertical text, False = horizontal text. | +| labelOptions | | object | Defines cell label options (watermark options). | | +| | alignment | entier long | Specifies the position of the cell label. Optional property. | `vk label alignment top left`, `vk label alignment bottom left`, `vk label alignment top center`, `vk label alignment bottom center`, `vk label alignment top right`, `vk label alignment bottom right` | +| | visibility | entier long | Specifies the visibility of the cell label. Optional property. | `vk label visibility auto`, `vk label visibility hidden`, `vk label visibility visible` | +| | foreColor | text | Defines the color of the foreground. Optional property. | CSS color "#rrggbb" syntax (preferred syntax), CSS color "rgb(r,g,b)" syntax (alternate syntax), CSS color name (alternate syntax) | +| | font | text | Specifies the font characteristics with CSS font shorthand ("font-style font-variant font-weight font-size/line-height font-family"). The font-size and font-family values are mandatory. | | +| textDecoration | | entier long | Specifies the decoration added to text. | `vk text decoration double underline`, `vk text decoration line through`, `vk text decoration none`, `vk text decoration overline`, `vk text decoration underline` | +| textIndent | | entier long | Defines the unit of text indention. 1 = 8 pixels | | +| textOrientation | | entier long | Defines the rotation angle of the text in a cell. Number between -90 and 90 | | +| watermark | | text | Defines the watermark (cell label) content | | +| wordWrap | | boolean | Specifies if text should be wrapped. | True = wrapped text, False = unwrapped text | #### Affichage -| Propriété | Type | Description | Valeurs possibles | -| ----------- | ----------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -| cellPadding | text | Defines the cell padding | | -| hAlign | entier long | Defines the horizontal alignment of cell contents. | `vk horizontal align center`, `vk horizontal align general`, `vk horizontal align left`, `vk horizontal align right` | -| locked | boolean | Specifies cell protection status. Note, this is only available if [sheet protection](#sheet-protection) is enabled. | True = locked, False = unlocked. | -| shrinkToFit | boolean | Specifies if the contents of the cell should be reduced. | True = reduced content, False = no reduction. | -| tabStop | boolean | Specifies if the focus to the cell can be set using the Tab key. | True = Tab key sets focus, False = Tab key does not set focus. | -| vAlign | entier long | Specifies the vertical alignment of cell contents. | `vk vertical align bottom`, `vk vertical align center`, `vk vertical align top` | +| Propriété | Type | Description | Valeurs possibles | +| ----------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------- | +| cellPadding | text | Defines the cell padding | | +| hAlign | entier long | Defines the horizontal alignment of cell contents. | `vk horizontal align center`, `vk horizontal align general`, `vk horizontal align left`, `vk horizontal align right` | +| locked | boolean | Specifies cell protection status. Notez que ce n'est disponible que si [protection de la feuille](#protection de la feuille) est activée. | True = locked, False = unlocked. | +| shrinkToFit | boolean | Specifies if the contents of the cell should be reduced. | True = reduced content, False = no reduction. | +| tabStop | boolean | Specifies if the focus to the cell can be set using the Tab key. | True = Tab key sets focus, False = Tab key does not set focus. | +| vAlign | entier long | Specifies the vertical alignment of cell contents. | `vk vertical align bottom`, `vk vertical align center`, `vk vertical align top` | #### Style information @@ -484,7 +484,7 @@ Voici un exemple : ## Objet 4D View Pro -The 4D View Pro [object](Concepts/dt_object.md) stores the whole spreadsheet contents. It is automatically handled by 4D View Pro. You can set or get this object using the [VP IMPORT FROM OBJECT](commands/vp-import-from-object.md) or [VP Export to object](commands/vp-export-to-object.md) commands. +Le 4D View Pro [object](Concepts/dt_object.md) stocke l'ensemble du contenu du tableau. It is automatically handled by 4D View Pro. Vous pouvez configurer ou obtenir cet objet en utilisant les commandes [VP IMPORT FROM OBJECT](commands/vp-import-from-object.md) ou [VP Export to object](commands/vp-export-to-object.md). Il contient les propriétés suivantes : @@ -498,18 +498,18 @@ Il contient les propriétés suivantes : ## 4D View Pro Form Object Variable -The 4D View Pro form object variable is the [object](Concepts/dt_object.md) variable associated to the 4D View Pro form area. It manages information used by the 4D View Pro object. +La variable d'objet du formulaire 4D View Pro est la variable [object](Concepts/dt_object.md) associée à la zone de formulaire 4D View Pro. It manages information used by the 4D View Pro object. > The 4D View Pro form object variable is for information purposes only (i.e., debugging). Under no circumstances should it be modified. Il contient les propriétés suivantes : -| Propriété | Value type | Description | -| -------------------------------------- | ---------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| ViewPro.area | Text | Nom de la zone 4D View Pro | -| ViewPro.callbacks | Object | Stores temporary information necessary for commands requiring callbacks such as importing and exporting. | -| ViewPro.commandBuffers | Collection | Stores sequentially the commands called by the method and executes them as a batch (rather than individually) when exiting the method, when a command returns a value, or when the [VP FLUSH COMMANDS](commands/vp-flush-commands.md) is called. This mechanism increases performance by reducing the number of requests sent. | -| ViewPro.events | Object | [Event](#form-events) list. | -| ViewPro.formulaBar | Boolean | Indicates whether or not the formula bar is displayed. Available only for the "toolbar" interface. | -| ViewPro.inited | Boolean | Indicates whether or not the 4D View Pro area has been initialized (see [On VP Ready](Events/onVpReady.md) event). | -| ViewPro.interface | Text | Specifies the type of user interface:"ribbon", "toolbar", "none". | +| Propriété | Value type | Description | +| -------------------------------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| ViewPro.area | Text | Nom de la zone 4D View Pro | +| ViewPro.callbacks | Object | Stores temporary information necessary for commands requiring callbacks such as importing and exporting. | +| ViewPro.commandBuffers | Collection | Stocke séquentiellement les commandes appelées par la méthode et les exécute en lot (plutôt que individuellement) lors de la sortie de la méthode, lorsque une commande renvoie une valeur, ou lorsque la commande [VP FLUSH COMMANDS](commands/vp-flush-commands.md) est appelée. This mechanism increases performance by reducing the number of requests sent. | +| ViewPro.events | Object | Liste des [événements](#form-events). | +| ViewPro.formulaBar | Boolean | Indicates whether or not the formula bar is displayed. Available only for the "toolbar" interface. | +| ViewPro.inited | Boolean | Indique si la zone 4D View Pro a été initialisée ou non (voir l'événement [On VP Ready](Events/onVpReady.md)). | +| ViewPro.interface | Text | Specifies the type of user interface:"ribbon", "toolbar", "none". | diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/ViewPro/formulas.md b/i18n/fr/docusaurus-plugin-content-docs/current/ViewPro/formulas.md index dc4c85d58f4def..24d4691ae2c350 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/ViewPro/formulas.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/ViewPro/formulas.md @@ -13,7 +13,7 @@ Pour saisir une formule dans une zone de 4D View Pro : 1. Sélectionnez la cellule dans laquelle vous allez saisir la formule ou la fonction. 2. Saisissez = (le signe égal). -3. Type the formula and hit the **Enter** key. +3. Tapez la formule et appuyez sur la touche **Entrée**. Lorsque vous écrivez une formule, vous pouvez utiliser différents raccourcis : @@ -25,18 +25,18 @@ Lorsque vous écrivez une formule, vous pouvez utiliser différents raccourcis : ![](../assets/en/ViewPro/formula2.png) -Vous pouvez également créer des formules nommées qui peuvent être appelées via leur nom. To do so, enter these formulas using the [VP ADD FORMULA NAME](commands/vp-add-formula-name.md) command. +Vous pouvez également créer des formules nommées qui peuvent être appelées via leur nom. Pour ce faire, saisissez ces formules à l'aide de la commande [VP ADD FORMULA NAME](commands/vp-add-formula-name.md). ### Opérateurs et opérandes Toutes les formules ont des opérandes et des opérateurs : -- **Operators**: see [Values and operators](#values-and-operators) below. -- **Operands** include several categories: - - [values](#values-and-operators) (5 data types are supported) - - [references to other cells](#cell-references) (relative, absolute, mixed or by name) - - [standard spreadsheet functions](#using-functions) - - [4D functions](#4d-functions) based upon 4D formulas and providing access to 4D variables, fields, methods, commands, or expressions. +- **Opérateurs** : voir [Valeurs et opérateurs](#values-and-operators) ci-dessous. +- **Les opérandes** comprennent plusieurs catégories: + - [valeurs](#values-and-operators) (5 types de données sont pris en charge) + - [Les références à d'autres cellules](#cell-references) (relatives, absolues, mixtes ou par nom) + - [fonctions de feuille de calcul standard](#using-functions) + - [Fonctions 4D](#4d-functions) basées sur des formules 4D et donnant accès à des variables, champs, méthodes, commandes ou expressions 4D. ## Valeurs et opérateurs @@ -45,8 +45,8 @@ Toutes les formules ont des opérandes et des opérateurs : | Types de données | Valeurs | Opérateurs | | --------------------------------- | --------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [Number](Concepts/dt_number.md) | 1.2Please enter your name:
-- +
+
-- - +
+ +
@@ -269,18 +270,18 @@ return false ``` -When 4D sends the page to a Web Browser, it looks like this: +Quand 4D envoie la page à un navigateur Web, cela ressemble à ceci : ![](../assets/en/WebServer/spiders.png) -The main features of this page are: +Les principales caractéristiques de cette page sont les suivantes : -- It includes three **Submit** buttons: `vsbLogOn`, `vsbRegister` and `vsbInformation`. -- When you click **Log On**, the submission of the form is first processed by the JavaScript function `LogOn`. If no name is entered, the form is not even submitted to 4D, and a JavaScript alert is displayed. -- The form has a POST 4D method as well as a Submit script (_GetBrowserInformation_) that copies the browser properties to the four hidden objects whose names starts with _vtNav_App_. - It also includes the `vtUserName` object. +- Elle comprend trois boutons **Submit** : `vsbLogOn`, `vsbRegister` et `vsbInformation`. +- Lorsque vous cliquez sur **Log On**, la soumission du formulaire est d'abord traitée par la fonction JavaScript `LogOn`. Si aucun nom n'est saisi, le formulaire n'est même pas envoyé à 4D et une alerte JavaScript est affichée. +- Le formulaire a une méthode 4D POST ainsi qu'un script Submit (_GetBrowserInformation_) qui copie les propriétés du navigateur dans les quatre objets cachés dont les noms commencent par _vtNav_App_. + Il inclut également l'objet `vtUserName`. -Let’s examine the 4D method `WWW_STD_FORM_POST` that is called when the user clicks on one of the buttons on the HTML form. +Examinons la méthode 4D `WWW_STD_FORM_POST` qui est appelée lorsque l'utilisateur clique sur l'un des boutons du formulaire HTML. ```4d // Retrieval of value of variables @@ -288,9 +289,9 @@ Let’s examine the 4D method `WWW_STD_FORM_POST` that is called when the user c ARRAY TEXT($arrValues;0) WEB GET VARIABLES($arrNames;$arrValues) C_LONGINT($user) - + Case of - + // The Log On button was clicked :(Find in array($arrNames;"vsbLogOn")#-1) $user :=Find in array($arrNames;"vtUserName") @@ -300,44 +301,44 @@ Let’s examine the 4D method `WWW_STD_FORM_POST` that is called when the user c WWW POST EVENT("Log On";WWW Log information) // The WWW POST EVENT method saves the information in a database table Else - + $0:=WWW Register // The WWW Register method lets a new Web user register End if - + // The Register button was clicked :(Find in array($arrNames;"vsbRegister")#-1) $0:=WWW Register - + // The Information button was clicked :(Find in array($arrNames;"vsbInformation")#-1) WEB SEND FILE("userinfos.html") End case ``` -The features of this method are: +Les caractéristiques de cette méthode sont : -- The values of the variables _vtNav_appName_, _vtNav_appVersion_, _vtNav_appCodeName_, and _vtNav_userAgent_ (bound to the HTML objects having the same names) are retrieved using the `WEB GET VARIABLES` command from HTML objects created by the _GetBrowserInformation_ JavaScript script. -- Out of the _vsbLogOn_, _vsbRegister_ and _vsbInformation_ variables bound to the three Submit buttons, only the one corresponding to the button that was clicked will be retrieved by the `WEB GET VARIABLES` command. When the submit is performed by one of these buttons, the browser returns the value of the clicked button to 4D. This tells you which button was clicked. +- Les valeurs des variables _vtNav_appName_, _vtNav_appVersion_, _vtNav_appCodeName_ et _vtNav_userAgent_ (liées aux objets HTML portant les mêmes noms) sont récupérées à l'aide de la commande `WEB GET VARIABLES` à partir des objets HTML créés par le script JavaScript _GetBrowserInformation_. +- Parmi les variables _vsbLogOn_, _vsbRegister_ et _vsbInformation_ liées aux trois boutons Submit, seule celle correspondant au bouton cliqué sera récupérée par la commande `WEB GET VARIABLES`. Lorsque l'envoi est effectué par l'un de ces boutons, le navigateur renvoie la valeur du bouton cliqué à 4D. Cela vous indique sur quel bouton on a cliqué. -Keep in main that with HTML, all objects are text objects. If you use a SELECT object, it is the value of the highlighted element in the object that is returned in the `WEB GET VARIABLES` command, and not the position of the element in the array as in 4D. `WEB GET VARIABLES` always returns values of the Text type. +Gardez à l'esprit qu'en HTML, tous les objets sont des objets de texte. Si vous utilisez un objet SELECT, c'est la valeur de l'élément mis en évidence dans l'objet qui est renvoyée dans la commande `WEB GET VARIABLES`, et non la position de l'élément dans le tableau comme dans 4D. `WEB GET VARIABLES` retourne toujours des valeurs de type Texte. -## Other Web Server Commands +## Autres commandes de serveur Web -The 4D web server provides several low-level web commands allowing you to develop custom processing of requests: +Le serveur web 4D fournit plusieurs commandes web de bas niveau vous permettant de développer un traitement personnalisé des requêtes : -- the `WEB GET HTTP BODY` command returns the body as raw text, allowing any parsing you may need -- the `WEB GET HTTP HEADER` command return the headers of the request. It is useful to handle custom cookies, for example (along with the `WEB SET HTTP HEADER` command). -- the `WEB GET BODY PART` and `WEB Get body part count` commands to parse the body part of a multi-part request and retrieve text values, but also files posted, using BLOBs. +- la commande `WEB GET HTTP BODY` renvoie le body en tant que texte brut, permettant tout parsing dont vous pourriez avoir besoin +- la commande `WEB GET HTTP HEADER` renvoie les en-têtes de la requête. Elle est utile pour gérer des cookies personnalisés, par exemple (en plus de la commande `WEB SET HTTP HEADER`). +- les commandes `WEB GET BODY PART` et `WEB Get body part count` pour analyser la partie body d'une requête multi-part et récupérer les valeurs de texte, mais aussi les fichiers envoyés, en utilisant des BLOBs. -These commands are summarized in the following graphic: +Ces commandes sont résumées dans le graphique suivant : ![](../assets/en/WebServer/httpCommands.png) -The 4D web server supports files uploaded in chunked transfer encoding from any Web client. Chunked transfer encoding is a data transfer mechanism specified in HTTP/1.1. It allows data to be transferred in a series of "chunks" (parts) without knowing the final data size. The 4D Web Server also supports chunked transfer encoding from the server to Web clients (using `WEB SEND RAW DATA`). +Le serveur web 4D prend en charge les fichiers envoyés en encodage de transfert par morceaux (chunked transfer encoding) depuis n'importe quel client Web. L'encodage de transfert chunked est un mécanisme de transfert de données spécifié en HTTP/1.1. Il permet le transfert de données sous forme de séries de "chunks" ou "morceaux" (parts) sans connaître la taille finale des données. Le serveur Web 4D prend également en charge le codage de transfert chunked du serveur vers les clients Web (en utilisant `WEB SEND RAW DATA`). -## COMPILER_WEB Project Method +## Méthode projet COMPILER_WEB -The COMPILER\_WEB method, if it exists, is systematically called when the HTTP server receives a dynamic request and calls the 4D engine. This is the case, for example, when the 4D Web server receives a posted form or a URL to process in [`On Web Connection`](#on-web-connection). This method is intended to contain typing and/or variable initialization directives used during Web exchanges. It is used by the compiler when the application is compiled. The COMPILER\_WEB method is common to all the Web forms. By default, the COMPILER_WEB method does not exist. You must explicitly create it. +La méthode COMPILER\_WEB, si elle existe, est systématiquement appelée lorsque le serveur HTTP reçoit une requête dynamique et appelle le moteur 4D. C'est le cas, par exemple, lorsque le serveur Web 4D reçoit un formulaire envoyé ou une URL à traiter dans [`On Web Connection`](#on-web-connection). Cette méthode est destinée à contenir des directives de typage et/ou d'initialisation de variables utilisées lors des échanges Web. Elle est utilisée par le compilateur lorsque l'application est compilée. La méthode COMPILER\_WEB est commune à tous les formulaires Web. Par défaut, la méthode COMPILER_WEB n'existe pas. Vous devez la créer explicitement. -> The COMPILER_WEB project method is also called, if it exists, for each SOAP request accepted. +> La méthode projet COMPILER_WEB est également appelée, si elle existe, pour chaque requête SOAP acceptée. diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/WebServer/preemptiveWeb.md b/i18n/fr/docusaurus-plugin-content-docs/current/WebServer/preemptiveWeb.md index 2dd85a8f00fe16..b9aa2d2c57a9cc 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/WebServer/preemptiveWeb.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/WebServer/preemptiveWeb.md @@ -5,31 +5,31 @@ title: Using preemptive web processes Le Web Server de 4D vous permet de tirer pleinement parti des ordinateurs multi-coeurs en utilisant des process Web préemptifs dans vos applications compilées. Vous pouvez configurer votre code lié au Web, y compris les balises 4D, les méthodes base Web ou les fonctions de classe REST de ORDA, afin qu'il s'exécute simultanément sur le plus grand nombre de coeurs possibles. -For in-depth information on preemptive process in 4D, please refer to the _Preemptive 4D processes_ section in the [_4D Language Reference_](https://doc.4d.com). +For in-depth information on preemptive process in 4D, please refer to the [Preemptive Processes](../Develop/preemptive.md) section. ## Disponibilité du mode préemptif pour les pocess Web Le tableau suivant permet d'indiquer si l'utilisation du mode préemptif pour les process Web est disponible dans le contexte d'exécution suivant : -| 4D Server | Interprété ([associé au débogueur](../Debugging/debugging-remote.md)) | Interprété (non associé au débogueur) | Compilé | -| ------------------- | ---------------------------------------------------------------------------------------- | -------------------------------------------------------- | ------------- | -| Serveur REST | coopératif | preemptive | preemptive | -| Serveur Web | coopératif | coopératif | _web setting_ | -| Server Web Services | coopératif | coopératif | _web setting_ | +| 4D Server | Interprété ([associé au débogueur](../Debugging/debugging-remote.md)) | Interprété (non associé au débogueur) | Compilé | +| ------------------- | ---------------------------------------------------------------------------------------- | -------------------------------------------------------- | ---------------- | +| Serveur REST | coopératif | preemptive | preemptive | +| Serveur Web | coopératif | coopératif | _paramètres web_ | +| Server Web Services | coopératif | coopératif | _paramètres web_ | -| 4D distant/monoposte | Interprété | Compilé | -| -------------------- | ---------- | ------------- | -| Serveur REST | coopératif | preemptive | -| Serveur Web | coopératif | _web setting_ | -| Server Web Services | coopératif | _web setting_ | +| 4D distant/monoposte | Interprété | Compilé | +| -------------------- | ---------- | ---------------- | +| Serveur REST | coopératif | preemptive | +| Serveur Web | coopératif | _paramètres web_ | +| Server Web Services | coopératif | _paramètres web_ | - Serveur REST : gère les [fonctions de classe du modèle de données ORDA](../REST/ClassFunctions.md) - Serveur Web : gère les [modèles Web](templates.md), [4DACTION et les méthodes base](httpRequests.md) - Serveur de services Web : gère les requêtes SOAP - _**web setting**_ signifie que le mode préemptif dépend d'une valeur de réglage : - - when [**Scalable sessions**](sessions.md#enabling-sessions) option is selected, the [preemptive mode is automatically used](sessions.md#preemptive-mode) for web processes. - - otherwise, the [**Use preemptive processes**](webServerConfig.md#use-preemptive-processes) option is taken into account. - - regarding Web service processes (server or client), preemptive mode is supported at method level. You just have to select "Can be run in preemptive processes" property for published SOAP server methods (see [Publishing a Web Service with 4D](https://doc.4d.com/4Dv19/4D/19/Publishing-a-Web-Service-with-4D.300-5416868.en.html)) or proxy client methods (see [Subscribing to a Web Service in 4D](https://doc.4d.com/4Dv19/4D/19/Subscribing-to-a-Web-Service-in-4D.300-5416870.en.html)) and make sure they are confirmed thread-safe by the compiler. + - lorsque l'option [**Scalable sessions**](sessions.md#enabling-sessions) est sélectionnée, le [mode préemptif est automatiquement utilisé](sessions.md#preemptive-mode) pour les process web. + - sinon, l'option [**Utiliser des process préemptifs**](webServerConfig.md#use-preemptive-processes) est prise en compte. + - regarding Web service processes (server or client), preemptive mode is supported at method level. You just have to select "Can be run in preemptive processes" property for published SOAP server methods (see [Publishing a Web Service with 4D](https://doc.4d.com/4Dv20/4D/20.2/Publishing-a-Web-Service-with-4D.300-6750334.en.html)) or proxy client methods (see [Subscribing to a Web Service in 4D](https://doc.4d.com/4Dv20/4D/20.2/Subscribing-to-a-Web-Service-in-4D.300-6750336.en.html)) and make sure they are confirmed thread-safe by the compiler. ## Ecrire du code serveur Web thread-safe @@ -39,11 +39,11 @@ Tout le code 4D exécuté par le serveur Web doit être thread-safe si vous souh - [`On Web Authentication`](authentication.md#on-web-authentication) - [`On Web Connection`](httpRequests.md#on-web-connection) - [`On REST Authentication`](REST/configuration.md#using-the-on-rest-authentication-database-method) - - [`On Mobile App Authentication`](https://developer.4d.com/go-mobile/docs/4d/on-mobile-app-authentication) and [`On Mobile App Action`](https://developer.4d.com/go-mobile/docs/4d/on-mobile-app-action) + - [`On Mobile App Authentication`](https://developer.4d.com/go-mobile/docs/4d/on-mobile-app-authentication) et [`On Mobile App Action`](https://developer.4d.com/go-mobile/docs/4d/on-mobile-app-action) - La méthode projet `compiler_web` (indépendamment de sa propriété "Mode d'exécution") ; -- Basically any code processed by the [`PROCESS 4D TAGS`](https://doc.4d.com/4dv19R/help/command/en/page816.html) command in the web context, for example through .shtml pages +- Essentiellement tout code traité par la commande [`PROCESS 4D TAGS`](https://doc.4d.com/4dv20/help/command/fr/page816.html) en contexte web, par exemple à travers les pages .shtml - Toute méthode projet comportant l'attribut "Available through 4D tags and URLS (`4DACTION`, etc.)" diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/WebServer/qodly-studio.md b/i18n/fr/docusaurus-plugin-content-docs/current/WebServer/qodly-studio.md index 3a36eec36803d6..79dbd4e72adec7 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/WebServer/qodly-studio.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/WebServer/qodly-studio.md @@ -5,26 +5,26 @@ title: Qodly Studio for 4D :::caution Developer Preview -Qodly Studio for 4D is currently in the **Developer Preview** phase. It should not be used in production. +Qodly Studio pour 4D est actuellement en phase **Developer Preview**. Il ne doit pas être utilisé en production. ::: -**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). +**Qodly Studio** est un constructeur d'interface pour des applications web. It provides developers with a graphical page editor to design applications running in web browsers or smartphones. Il prend en charge nativement les [objets ORDA](../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**. +Vous pouvez utiliser Qodly Studio directement depuis votre environnement **4D** pour construire des interfaces modernes et sophistiquées que vous pouvez facilement intégrer à vos projets 4D existants et déployer **on premise** (sur site). -Qodly Studio can also be used in the [**Qodly Cloud platform**](https://qodly.com), dedicated to the development of web business applications. +Qodly Studio peut également être utilisé sur la [**plateforme Qodly Cloud**](https://qodly.com), dédiée au développement d'applications web métier. With Qodly Studio, you will discover a totally new web UI, get familiar with the concept of Qodly Sources, and learn how to: - create Qodly pages by placing components on a canvas -- map components to data -- trigger 4D code by configuring events -- and much more. +- associer les composants à des données +- déclencher du code 4D en configurant des événements +- et bien plus encore ! :::info -The development with Qodly Studio for 4D requires at least a [4D Silver Partner license](https://us.4d.com/4d-partner-program). Qodly Studio options and menu items won't appear if the license is not activated. +Le développement avec Qodly Studio pour 4D nécessite au moins une [licence Partenaire 4D Silver ](https://us.4d.com/4d-partner-program). Les options et les éléments de menu de Qodly Studio n'apparaîtront pas si la licence n'est pas activée. ::: @@ -32,78 +32,78 @@ The development with Qodly Studio for 4D requires at least a [4D Silver Partner ### Conditions requises -#### Browser +#### Navigateur -Qodly Studio supports the following web browsers: +Qodly Studio prend en charge les navigateurs Web suivants : - Chrome - Edge - FireFox -The recommended resolution is 1920x1080. +La résolution recommandée est de 1920x1080. -#### 4D application +#### Application 4D -- 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). +- Développement : 4D 20 R2 ou version ultérieure +- Déploiement : 4D Server 20 R2 ou version ultérieure +- Qodly Studio ne fonctionne qu'avec des projets 4D (les bases de données binaires ne sont pas prises en charge). +- Les sessions web (_également appelées sessions évolutives_) doivent [être activées](sessions.md#enabling-web-sessions). +- Le code 4D appelé par les pages Qodly doit être [thread-safe](preemptiveWeb.md). -### Enabling access to Qodly Studio +### Activer l'accès à Qodly Studio -By default, access to Qodly Studio is not granted. +Par défaut, l'accès à Qodly Studio n'est pas accordé. -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). +Qodly Studio est alimenté par le [serveur WebAdmin](../Admin/webAdmin.md) et affiche les données des projets 4D gérés par le [serveur web 4D](webServer.md). -To enable access to Qodly Studio, you must explicitly allow it at two levels: +Pour permettre l'accès à Qodly Studio, vous devez explicitement autoriser deux niveaux : -- at 4D level (4D or 4D Server) -- at project level +- niveau 4D (4D ou 4D Server) +- niveau projet -If one of the two levels (or both) are not enabled, access to Qodly Studio is denied (a 403 page is returned). +Si l'un des deux niveaux (ou les deux) n'est pas activé, l'accès à Qodly Studio est refusé (une page 403 est renvoyée). -#### At 4D level +#### Au niveau 4D -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. +Comme premier niveau de sécurité, vous devez [autoriser l'accès à Qodly Studio sur le serveur WebAdmin](../Admin/webAdmin.md#enable-access-to-qodly-studio). Ce paramètre s'applique à l'application 4D (4D ou 4D Server) sur la machine hôte. Tous les projets ouverts avec cette application 4D tiennent compte de ce paramètre. -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. +Laissez cette option désélectionnée si vous voulez vous assurer qu'aucun accès à Qodly Studio n'est autorisé sur l'application. Cochez cette option pour rendre possible l'accès à Qodly Studio. Cependant, vous devez aussi l'activer au niveau de chaque projet. -Additionally, you can [configure the WebAdmin web server's HTTP/HTTPS port used](../Admin/webAdmin.md#accept-http-connections-on-localhost). +De plus, vous pouvez [configurer le port HTTP/HTTPS utilisé par le serveur web WebAdmin](../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. +Après toute modification de ces paramètres, vous devez [redémarrer le serveur WebAdmin](../Admin/webAdmin.md#start-and-stop) pour que la nouvelle configuration soit effective. ::: -#### At project level +#### Au niveau du projet -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). +Après avoir activé l'accès à Qodly Studio au niveau 4D, vous devez désigner explicitement chaque projet qui peut être consulté. L'option **Activer l'accès à Qodly Studio** doit être activée sur la [page Fonctionnalités Web des Propriétés de l'application 4D](../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. +N'oubliez pas que les [propriétés utilisateurs](../settings/overview.md) peuvent être définies à plusieurs niveaux et que des priorités s'appliquent. -### Activating authentication +### Activation de l'authentification -Authentication on the WebAdmin web server is granted using an access key. For more details, see [Access key](../Admin/webAdmin.md#access-key). +L'authentification sur le serveur WebAdmin utilise une access key (clé d'accès). Pour plus de détails, voir [Access key](../Admin/webAdmin.md#access-key). -### Project management +### Gestion du projet -In accordance with the management of 4D projects, only the following usages are supported: +Conformément à la gestion des projets 4D, seules les utilisations suivantes sont prises en charge : -- development with Qodly Studio must be done using **4D** (single-user). -- deployment of 4D applications powered with Qodly forms must be done using **4D Server**. +- le développement avec Qodly Studio s'effectue avec **4D** (monoposte). +- le déploiement d'applications 4D alimentées par les pages Qodly s'effectue avec **4D Server**. -## Opening Qodly Studio +## Ouverture de 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). +La page Qodly Studio est disponible lorsque le [serveur WebAdmin est lancé](../Admin/webAdmin.md#start-and-stop) et l'authentification est activée (voir ci-dessus). -There are two ways to access Qodly Studio: +Il y a deux façons d'accéder à Qodly Studio : -- from your 4D single-user application, go to **Design** > **Qodly Studio...**. - 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. +- à partir de votre application 4D mono-utilisateur, allez dans **Développement** > **Qodly Studio...**. + Si le serveur WebAdmin est déjà en cours d'exécution, selon sa configuration, votre navigateur par défaut s'ouvre à l'adresse `IPaddress:HTTPPort/studio` ou `IPaddress:HTTPSPort/studio`. Sinon, vous serez invité à démarrer d'abord le serveur web WebAdmin. -- on a browser, with the WebAdmin web server running (launched from 4D or 4D Server), enter the following address: +- sur un navigateur, avec le serveur WebAdmin en cours d'exécution (lancé à partir de 4D ou 4D Server), entrez l'adresse suivante : `IPaddress:HTTPPort/studio` @@ -111,42 +111,42 @@ ou : `IPaddress:HTTPSPort/studio` -For example, after launching a local web server on port 7080, type this address in your browser: +Par exemple, après avoir lancé un serveur web local sur le port 7080, saisissez cette adresse dans votre navigateur : `localhost:7080/studio` -You will then be prompted to enter the [access key](../Admin/webAdmin.md#access-key) to access Qodly Studio. +Vous serez ensuite invité à saisir l'[access key](../Admin/webAdmin.md#access-key) pour accéder à Qodly Studio. -## Using Qodly Studio +## Utilisation de Qodly Studio ### Documentation -The official Qodly Studio documentation is available on the [Qodly documentation website](https://developer.qodly.com/docs/studio/overview). +La documentation officielle de Qodly Studio est disponible sur le [site web de documentation de Qodly](https://developer.qodly.com/docs/studio/overview). -You can rely on this documentation and its associated resources for developing web applications powered by Qodly forms. However, depending on implementation stage, 4D developers will either use Qodly Studio or 4D IDE (see [Feature comparison](#feature-comparison)). +Vous pouvez vous appuyer sur cette documentation et ses ressources associées pour développer des applications web alimentées par les pages Qodly. Cependant, en fonction de la phase de mise en œuvre, les développeurs 4D utiliseront soit Qodly Studio, soit 4D IDE (voir [Comparaison des fonctionnalités](#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. +Les exemples de code sont fournis en [QodlyScript](https://developer.qodly.com/docs/category/qodlyscript), mais étant donné que QodlyScript hérite du langage 4D, vous ne serez pas perdu. Pour plus d'informations, consultez la page [De QodlyScript au langage 4D](from-qodlyscript-to-4d.md). :::info -There is no direct compatibility between apps implemented with 4D and apps implemented with Qodly. +Il n'y a pas de compatibilité directe entre les applications implémentées avec 4D et les applications implémentées avec Qodly. ::: -### Feature comparison +### Comparatif des fonctionnalités -| | Qodly Studio for 4D developers using 4D IDE | Qodly Studio for Qodly developers | -| ------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | -| 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 | _non supporté_ | -| Programming language | 4D Language featuring ORDA | [QodlyScript](https://developer.qodly.com/docs/category/qodlyscript) featuring ORDA | -| Coding IDE | 4D IDE code editor/VS Code with [4D extension](https://github.com/4d/4D-Analyzer-VSCode)(2) | Qodly Studio code editor | -| Débogueur | 4D IDE debugger | Qodly Studio debugger | -| REST/Web roles and privileges | roles.json direct edit/Qodly Studio roles and privileges editor | Qodly Studio role and privileges editor | +| | Qodly Studio pour les développeurs 4D utilisant l'IDE 4D | Qodly Studio pour les développeurs Qodly | +| -------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | +| Afficher et modifier les tableaux (dataclasses), les attributs et les relations | Éditeur de structure 4D(1) | Éditeur de modèles de Qodly Studio | +| Qodly pages | Qodly Studio Page Editor | Qodly Studio Page Editor | +| Formulaires Desktop | 4D IDE | _non supporté_ | +| Langage de programmation | Langage 4D avec ORDA | [QodlyScript](https://developer.qodly.com/docs/category/qodlyscript) avec ORDA | +| IDE code | Éditeur de code 4D IDE/VS Code avec [extension 4D](https://github.com/4d/4D-Analyzer-VSCode)(2) | Éditeur de code Qodly Studio | +| Débogueur | 4D IDE debugger | Débogueur Qodly Studio | +| Rôles et privilèges REST/Web | Edition directe roles.json / Éditeur de rôles et privilèges de Qodly Studio | Éditeur de rôles et privilèges de Qodly Studio | -(1) If you click on the **Model** button in Qodly Studio, nothing happens. -(2) When you open some 4D code in Qodly Studio, syntax coloring is not available and a "Lsp not loaded" warning is displayed. +(1) Si vous cliquez sur le bouton **Model** dans Qodly Studio, rien ne se passe. +(2) Lorsque vous ouvrez du code 4D dans Qodly Studio, la coloration syntaxique n'est pas disponible et un avertissement "Lsp not loaded" est affiché. ### Langage @@ -157,25 +157,25 @@ The following commands and classes are dedicated to the server-side management o - [`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 +### Utilisation des méthodes projet -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: +Nous recommandons d'utiliser les fonctions de classe plutôt que les méthodes projet. Seules les fonctions de classe peuvent être appelées à partir des composants. Cependant, vous pouvez toujours utiliser les méthodes projet dans Qodly Studio de deux manières : -- 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. +- Vous pouvez appeler vos méthodes à partir des fonctions de classe. +- Vous pouvez directement [exécuter vos méthodes](https://developer.qodly.com/docs/studio/coding#methods-and-classes) depuis l'Explorateur Qodly. -### Offline use +### Utilisation hors ligne -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: +Vous pouvez développer avec Qodly Studio lorsque votre ordinateur n'est pas connecté à internet. Dans ce cas cependant, les fonctions suivantes ne sont pas accessibles : -- [Templates](https://developer.qodly.com/docs/studio/design-webforms/templates): the Template library is empty -- UI tips: they are not displayed when you click on ![alt-text](../assets/en/WebServer/tips.png) icons. +- [Templates](https://developer.qodly.com/docs/studio/design-webforms/templates): la bibliothèque de templates (modèles) est vide +- UI tips (infobulles interface utilisateur) : ils ne sont pas affichés lorsque vous cliquez sur les icônes ![alt-text](../assets/en/WebServer/tips.png). ## Déploiement -### Enabling rendering +### Activation du rendu -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. +Qodly Studio encapsulates Qodly pages, including layout, data connections, and event-driven logic, in a structured JSON file. Ce fichier JSON est traité en temps réel par le **moteur de rendu Qodly** (renderer) pour servir une page web entièrement fonctionnelle. :::info @@ -185,26 +185,26 @@ See [this page](https://developer.qodly.com/docs/studio/rendering) for detailed 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#exposed-as-rest-server) option must be activated. -- The [4D web server](webServer.md) must be running. +- L'option **Activer le service REST** du projet 4D dans **Propriétés** > **Web** > **Fonctionnalités Web** doit être activée. +- Le [serveur Web 4D](webServer.md) doit être démarré. :::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. +Les [boutons de rendu](https://developer.qodly.com/docs/studio/rendering#how-to-render-a-webform) ne sont pas disponibles si les options de configuration ne sont pas activées. ::: -### Scope of Qodly forms +### Portée des pages Qodly -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) about URL schemes and license usage. +Lors du rendu des pages Qodly dans Qodly Studio, le moteur de rendu se connectera au serveur web 4D via HTTP ou HTTPS, en fonction des propriétés, en suivant le même schéma de connexion HTTP/HTTPS que pour le [serveur webAdmin 4D](../Admin/webAdmin.md#accept-http-connections-on-localhost). Voir aussi [ce paragraphe](#about-license_usage) sur les schémas d'URL et l'utilisation de la licence. -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). +Gardez à l'esprit que Qodly Studio fonctionne à travers le serveur web 4D WebAdmin. 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. Cela vous permet de voir les dataclass, les fonctions et les attributs qui ne sont pas exposés en tant que ressources REST par exemple (ils sont grisés). -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. +However, page rendering happens outside Qodly Studio, and is served by the standard 4D web server. Dans cette situation, votre application web ne peut pas accéder aux ressources qui ne sont pas exposées en tant que ressources REST. Voir [Fonctions exposées et non exposées](../ORDA/ordaClasses.md#fonctions-exposees-et-non-exposees) et [Exposer des tables](../REST/configuration.md#exposer-des-tables) pour plus d'informations sur la façon d'exposer des ressources. ### 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. +Pour le déploiement, le serveur WebAdmin n'est pas nécessaire. L'accès des utilisateurs finaux à votre application web créée avec Qodly Studio est basé sur le protocole REST 4D, et en tant que tel, il fonctionne comme une application distante 4D conventionnelle. Your Qodly pages are available through the following url: @@ -222,7 +222,7 @@ https://www.myWebSite.com/$lib/renderer/?w=welcome ## 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. +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. Vous pouvez également [déconnecter](#logout) l'utilisateur à tout moment pour décrémenter le nombre de licences consommées. ### Configuration @@ -230,13 +230,13 @@ Make sure the ["force login" mode](../REST/authUsers.md#force-login-mode) is ena ![alt-text](../assets/en/WebServer/forcelogin.png) -You can also set this option directly in the [**roles.json** file](../ORDA/privileges.md#rolesjson-file). +Vous pouvez également définir cette option directement dans le fichier [**roles.json**](../ORDA/privileges.md#fichier-rolesjson). 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 Compatibilité -When the legacy login mode ([deprecated as of 4D 20 R6](https://blog.4d.com/force-login-now-is-the-default-mode-for-all-rest-authentications)) 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. +When the legacy login mode ([deprecated as of 4D 20 R6](https://blog.4d.com/force-login-now-is-the-default-mode-for-all-rest-authentications)) 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. Pour plus d'informations, veuillez vous référer à [cet article de blog](https://blog.4d.com/improved-4d-client-licenses-usage-with-qodly-studio-for-4d) qui détaille ce principe. ::: @@ -269,72 +269,78 @@ Else 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. +Cet appel est accepté et tant que l'authentification n'est pas réussie, `Session.setPrivileges()` n'est pas appelée, donc aucune licence n'est consommée. Une fois que `Session.setPrivileges()` est appelée, une licence client 4D est utilisée et toute requête REST est alors acceptée. ### Logout -When the ["force login" mode is enabled](#setting-the-force-login-mode), Qodly Studio for 4D allows you to implement a logout feature in your application. +Quand le [mode "force login" est activé](#setting-the-force-login-mode), Qodly Studio for 4D vous permet d'implémenter une fonctionnalité de déconnexion dans votre 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: +To logout the user, you just need to execute the **Logout** standard action from the Qodly page. Dans Qodly Studio, vous pouvez associer cette action standard à un bouton par exemple : ![alt-text](../assets/en/WebServer/logout.png) -Triggering the logout action from a web user session has the following effects: +Déclencher l'action de déconnexion d'une session utilisateur Web a les effets suivants : -- 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. +- la session utilisateur web courante perd ses privilèges, seules les [requêtes REST descriptives](../REST/authUsers.md#descriptive-rest-requests) sont autorisées, +- la licence 4D associée est libérée, +- le `Session.storage` est conservé jusqu'à ce que le délai d'inactivité de la session Web soit atteint (au moins une heure). Pendant cette période après une déconnexion, si l'utilisateur se connecte à nouveau, la même session est réutilisée et l'objet partagé `Session.storage` est disponible avec son contenu actuel. -## About license usage for rendering +## Utilisation de licences pour le rendu 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 +### Schemas d'URL -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. +La configuration de schéma d'URL de Qodly Studio (HTTP et HTTPS) influe sur le nombre de licences qui sont prises lors du rendu des pages Qodly. Avec une configuration appropriée, vous pouvez éviter la consommation inutile de licences. -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](#rendering-webforms) communicates with the 4D web server of the database using REST requests. As such, it behaves like a conventional 4D Client. +Comme expliqué dans la section [configuration](#configuration), le serveur Web WebAdmin fournit un accès sécurisé à Qodly Studio. D'autre part, le [moteur de rendu](#rendering-webforms) communique avec le serveur web 4D de la base de données en utilisant des requêtes REST. En tant que tel, il se comporte comme un client 4D conventionnel. -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. +Si vous exécutez le moteur de rendu depuis Qodly Studio et que ces deux serveurs Web ne sont pas accessibles via le même schéma d'URL (HTTP ou HTTPS), cela peut entraîner un décompte de licence incorrect. + +:::info + +Using different schemes might also lead to [session](sessions.md) issues, such as losing [privileges](../ORDA/privileges.md) after a page refresh. + +::: #### Exemple -1. You run the Qodly Studio on an HTTPS URL scheme (e.g. `https://127.0.0.1:7443/studio/`) +1. Vous exécutez Qodly Studio sur un schéma d'URL HTTPS (par exemple, `https://127.0.0.1:7443/studio/`) -2. The web server of your database is started only on an HTTP port. +2. Le serveur web de votre base de données est démarré uniquement sur un port HTTP. ![alt-text](../assets/en/WebServer/schemes.png) -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. +3. Dans Qodly Studio, vous cliquez sur l'icône **Preview**. Vous êtes averti que les deux serveurs Web sont lancés sur des schémas différents, mais malgré cela, vous cliquez sur le bouton **Confirmer**. ![alt-text](../assets/en/WebServer/render-button.png) -As a result, two licenses are retained. +En conséquence, deux licences sont consommées. :::note -You can enable/disable the display of the renderer pop over using a Qodly Studio user setting. +Vous pouvez activer/désactiver l'affichage de la fenêtre "pop over" de rendu en utilisant un paramètre utilisateur de Qodly Studio. ::: -### SameSite attribute +### Attribut SameSite -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. +Le comportement précédemment décrit est dû au cookie de session du serveur web 4D. Ce cookie de session a un attribut `SameSite` qui détermine si le cookie de session est envoyé au serveur web. -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. +Si la valeur de l'attribut `SameSite` est `Strict` (par défaut), le cookie de session n'est pas envoyé au serveur web, donc une nouvelle session est ouverte à chaque fois qu'une page est affichée ou rafraîchie. -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/). +Pour plus d'informations sur l'attribut `SameSite`, consultez [cet article de blog](https://blog.4d.com/get-ready-for-the-new-SameSite-and-secure-attributes-for-cookies/). -### Recommendations +### Recommandations -To avoid using more licenses than necessary, we recommend doing one of the following: +Pour éviter d'utiliser plus de licences que nécessaire, nous vous recommandons d'effectuer l'une des actions suivantes : - 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. +- Assurez-vous que Qodly Studio et votre base de données sont accessibles sur le même schéma d'URL. +- Utilisez la valeur `Lax` pour le [cookie de session](webServerConfig.md#session-cookie-samesite) du serveur web de la base de données de votre projet. ## Hello, World -This 5-minute video provides a "Hello World" example and covers how to enable access to the studio, create a basic interface, and configure an event that greets the user by their name: +Cette vidéo de 5 minutes fournit un exemple de "Hello World" et explique comment autoriser l'accès au studio, créer une interface de base, et configurer un événement qui accueille l'utilisateur par son nom : 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 3cdb95bd1b807e..221437f1d0427b 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/WebServer/sessions.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/WebServer/sessions.md @@ -3,132 +3,132 @@ id: sessions title: Sessions Web --- -The 4D web server provides built-in features for managing **web sessions**. Creating and maintaining web sessions allows you to control and improve the user experience on your web application. When web sessions are enabled, web clients can reuse the same server context from one request to another. +Le serveur Web de 4D offre des fonctions intégrées pour la gestion des **sessions Web**. La création et la maintenance de sessions Web vous permettent de contrôler et d'améliorer l'expérience utilisateur de votre application web. Lorsque les sessions web sont activées, les clients web peuvent réutiliser le même contexte de serveur d'une requête à une autre. -Web sessions allow to: +Les sessions Web permettent de : -- handle multiple requests simultaneously from the same web client through an unlimited number of preemptive processes (web sessions are **scalable**), -- manage session through a `Session` object and the [Session API](API/SessionClass.md), -- store and share data between processes of a web client using the [.storage](../API/SessionClass.md#storage) of the session, -- associate privileges to the user running the session. +- gérer simultanément plusieurs requêtes depuis le même client web via un nombre illimité de process préemptifs (les sessions web sont **évolutives**), +- gérer la session à travers un objet `Session` et une [API de session](API/SessionClass.md), +- stocker et partager des données entre les process d'un client web en utilisant le [.storage](../API/SessionClass.md#storage) de la session, +- associer des privilèges à l'utilisateur qui exécute la session. -## Usages +## Utilisations -Web sessions are used for: +Les sessions Web sont utilisées par : -- [Web applications](gettingStarted.md) sending http requests, -- calls to the [REST API](../REST/authUsers.md), which are used by [remote datastores](../ORDA/remoteDatastores.md) and [Qodly forms](qodly-studio.md). +- 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). -## Enabling web sessions +## Activation des sessions web -The session management feature can be enabled and disabled on your 4D web server. There are different ways to enable session management: +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 : -- Using the **Scalable sessions** option on the "Web/Options (I)" page of the Settings (permanent setting): +- Utiliser l'option **Sessions évolutives** dans la page "Web/Options (I)" des Propriétés (réglage permanent) : ![alt-text](../assets/en/WebServer/settingsSession.png) -This option is selected by default in new projects. It can however be disabled by selecting the **No sessions** option, in which case the web session features are disabled (no `Session` object is available). +Cette option est sélectionnée par défaut dans les nouveaux projets. Elle peut cependant être désactivée en sélectionnant l'option **Pas de sessions**, auquel cas les fonctionnalités de session web sont désactivées (aucun objet `Session` n'est disponible). -- Using the [`.scalableSession`](API/WebServerClass.md#scalablesession) property of the Web Server object (to pass in the _settings_ parameter of the [`.start()`](API/WebServerClass.md#start) function). In this case, this setting overrides the option defined in the Settings dialog box for the Web Server object (it is not stored on disk). +- En utilisant la propriété [`.scalableSession`](API/WebServerClass.md#scalablession) de l'objet Web Server (à passer dans le paramètre _settings_ de la fonction [`.start()`](API/WebServerClass.md#start) ). Dans ce cas, ce paramètre remplace l'option définie dans la boîte de dialogue Propriétés pour l'objet Web Server (il n'est pas stocké sur disque). -> The `WEB SET OPTION` command can also set the session mode for the main Web server. +> La commande `WEB SET OPTION` peut également définir le mode de session pour le serveur Web principal. -In any cases, the setting is local to the machine; so it can be different on the 4D Server Web server and the Web servers of remote 4D machines. +Dans tous les cas, ce paramètre est local à la machine ; il peut donc être différent sur le serveur Web 4D Server et les serveurs Web des machines 4D distantes. -> **Compatibility**: A **Legacy sessions** option is available in projects created with a 4D version prior to 4D v18 R6 (for more information, please refer to the [doc.4d.com](https://doc.4d.com) web site). +> **Compatibilité** : Une option **Anciennes sessions** est disponible dans les projets créés avec une version 4D antérieure à 4D v18 R6 (pour plus d'informations, veuillez consulter le site web [doc.4d.com](https://doc.4d.com)). -## Session implementation +## Implémentation des sessions -When [sessions are enabled](#enabling-sessions), automatic mechanisms are implemented, based upon a private cookie set by 4D itself: "4DSID__AppName_", where _AppName_ is the name of the application project. This cookie references the current web session for the application. +Lorsque [les sessions sont activées](#activation-des-sessions), des mécanismes automatiques sont mis en place, basés sur un cookie privé défini par 4D lui-même : "4DSID__NomApp_", où _NomApp_ est le nom du projet d'application. Ce cookie référence la session web courante pour l'application. :::info -The cookie name can be get using the [`.sessionCookieName`](API/WebServerClass.md#sessioncookiename) property. +Le nom du cookie peut être obtenu en utilisant la propriété [`.sessionCookieName`](API/WebServerClass.md#sessioncookiename). ::: -1. In each web client request, the Web server checks for the presence and the value of the private "4DSID__AppName_" cookie. +1. Dans chaque requête de client web, le serveur Web vérifie la présence et la valeur du cookie privé "4DSID__AppName_". -2. If the cookie has a value, 4D looks for the session that created this cookie among the existing sessions; if this session is found, it is reused for the call. +2. Si le cookie a une valeur, 4D recherche la session qui a créé ce cookie parmi les sessions existantes ; si cette session est trouvée, elle est réutilisée pour l'appel. -3. If the client request does not correspond to an already opened session: +3. Si la requête du client ne correspond pas à une session déjà ouverte : -- a new session with a private "4DSID__AppName_" cookie is created on the web server -- a new Guest `Session` object is created and is dedicated to the scalable web session. +- une nouvelle session avec un cookie privé "4DSID__AppName_" est créée sur le serveur web +- un nouvel objet `Session` Guest est créé et est dédié à la session web évolutive. :::note -Creating a web session for a REST request may require that a licence is available, see [this page](../REST/authUsers.md). +La création d'une session web pour une requête REST peut nécessiter qu'une licence soit disponible, consultez [cette page](../REST/authUsers.md). ::: -The `Session` object of the current session can then be accessed through the [`Session`](API/SessionClass.md#session) command in the code of any web processes. +L'objet `Session` de la session en cours peut ensuite être manipulé via la commande [`Session`](API/SessionClass.md#session) dans le code de n'importe quel process web. ![alt-text](../assets/en/WebServer/schemaSession.png) :::info -Web processes usually do not end, they are recycled in a pool for efficiency. When a process finishes executing a request, it is put back in the pool and made available for the next request. Since a web process can be reused by any session, [process variables](Concepts/variables.md#process-variables) must be cleared by your code at the end of its execution (using [`CLEAR VARIABLE`](https://doc.4d.com/4dv20/help/command/en/page89.html) for example). This cleanup is necessary for any process related information, such as a reference to an opened file. C'est la raison pour laquelle **il est recommandé** d'utiliser l'objet [Session](API/SessionClass.md) lorsque vous souhaitez conserver les informations relatives à la session. +Les process Web ne se terminent généralement pas, ils sont recyclés dans un pool pour des raisons d'optimisation. Lorsqu'un process termine l'exécution d'une requête, il est replacé dans le pool et rendu disponible pour la requête suivante. Puisqu'un process web peut être réutilisé par n'importe quelle session, les [variables process](Concepts/variables.md#process-variables) doivent être effacées par votre code à la fin de son exécution (en utilisant [`CLEAR VARIABLE`](https://doc.4d.com/4dv20/help/command/fe/page89.html) par exemple). Ce nettoyage est nécessaire pour toute information liée au process, comme une référence à un fichier ouvert. C'est la raison pour laquelle **il est recommandé** d'utiliser l'objet [Session](API/SessionClass.md) lorsque vous souhaitez conserver les informations relatives à la session. ::: -## Storing and sharing session information +## Stockage et partage des informations de session -Each `Session` object provides a [`.storage`](API/SessionClass.md#storage) property which is a [shared object](Concepts/shared.md). This property allows you to share information between all processes handled by the session. +Chaque objet `Session` fournit une propriété [`.storage`](API/SessionClass.md#storage) qui est un [objet partagé](Concepts/shared.md). Cette propriété vous permet de partager des informations entre tous les process gérés par la session. -## Session lifetime +## Durée de vie des sessions -A scalable web session is closed when: +Une session web évolutive est fermée lorsque: -- the web server is stopped, -- the timeout of the session cookie has been reached. +- le serveur web est arrêté, +- le délai d'attente du cookie de session a été atteint. -The lifespan of an inactive cookie is 60 minutes by default, which means that the web server will automatically close inactive sessions after 60 minutes. +La durée de vie d'un cookie inactif est de 60 minutes par défaut, ce qui signifie que le serveur Web fermera automatiquement les sessions inactives après 60 minutes. -This timeout can be set using the [`.idleTimeout`](API/SessionClass.md#idletimeout) property of the `Session` object (the timeout cannot be less than 60 minutes) or the _connectionInfo_ parameter of the [`Open datastore`](../API/DataStoreClass.md#open-datastore) command. +Ce timeout peut être modifié en utilisant la propriété [`.idleTimeout`](API/SessionClass.md#idletimeout) de l'objet `Session` (le délai d'attente ne peut pas être inférieur à 60 minutes) ou le paramètre _connectionInfo_ de la commande [`Open datastore`](../API/DataStoreClass.md#open-datastore). -When a web session is closed, if the [`Session`](API/SessionClass.md#session) command is called afterwards: +Lorsqu'une session web est fermée, si la commande [`Session`](API/SessionClass.md#session) est appelée par la suite : -- the `Session` object does not contain privileges (it is a Guest session) -- the [`.storage`](API/SessionClass.md#storage) property is empty -- a new session cookie is associated to the session +- l'objet `Session` ne contient pas de privilèges (c'est une session Guest) +- la propriété [`storage`](API/SessionClass.md#storage) est vide +- un nouveau cookie de session est associé à la session :::info -You can close a session from a Qodly form using the [**logout**](qodly-studio.md#logout) feature. +Vous pouvez fermer une session à partir d'une page Qodly en utilisant la fonction [**logout**](qodly-studio.md#logout). ::: ## Privilèges -Privileges can be associated to web user sessions. On the web server, you can provide specific access or features depending on the privileges of the session. +Les privilèges sont associés aux sessions utilisateur web. Sur le serveur web, vous pouvez fournir un accès spécifique ou des fonctionnalités en fonction des privilèges de la session. -You assign privileges using the [`.setPrivileges()`](API/SessionClass.md#setprivileges) function. In your code, you can check the session's privileges to allow or deny access using the [`.hasPrivilege()`](API/SessionClass.md#hasprivilege) function. By default, new sessions do not have any privilege: they are **Guest** sessions ([`.isGuest()`](API/SessionClass.md#isguest) function returns true). +Vous assignez des privilèges en utilisant la [fonction `.setPrivileges()`](API/SessionClass.md#setprivileges). Dans votre code, vous pouvez vérifier les privilèges de la session pour autoriser ou refuser l'accès à l'aide de la fonction [`.hasPrivilege()`](API/SessionClass.md#hasprivilege). Par défaut, les nouvelles sessions n'ont aucun privilège : ce sont des sessions **Guest** (la fonction [`isGuest()`](API/SessionClass.md#isguest) retourne true). Voici un exemple : ```4d If (Session.hasPrivilege("WebAdmin")) - //Access is granted, do nothing + //Accès autorisé, on ne fait rien Else - //Display an authentication page + //Afficher une page d'authentification End if ``` :::info -Privileges are implemented at the heart of the ORDA architecture to provide developers with a powerful technology for controlling access to the datastore and dataclas functions. For more information, please refer to the [**Privileges**](../ORDA/privileges.md) page of the ORDA chapter. +Les privilèges sont implémentés au cœur de l'architecture ORDA, fournissant aux développeurs une technologie puissante pour contrôler l'accès aux fonctions du datastore et des dataclass. Pour plus d'informations, veuillez vous reporter à la section [**Privilèges**](../ORDA/privileges.md). ::: ## Exemple -In a CRM application, each salesperson manages their own client portfolio. The datastore contains at least two linked dataclasses: Customers and SalesPersons (a salesperson has several customers). +Dans une application CRM, chaque commercial gère son propre portefeuille de clients. Le datastore contient au moins deux dataclass liées : Customers et SalesPersons (un commercial a plusieurs clients). ![alt-text](../assets/en/WebServer/exampleSession.png) -We want a salesperson to authenticate, open a session on the web server, and have the top 3 customers be loaded in the session. +Nous voulons qu'un(e) commercial(e) s'authentifie, ouvre une session sur le serveur web et que les 3 meilleurs clients soient chargés dans la session. -1. We run this URL to open a session: +1. Nous exécutons cette URL pour ouvrir une session : ``` http://localhost:8044/authenticate.shtml @@ -136,7 +136,7 @@ http://localhost:8044/authenticate.shtml > Dans un environnement de production, il est nécessaire d'utiliser une [connexion HTTPS](API/WebServerClass.md#httpsenabled) pour éviter la circulation d'informations non chiffrées sur le réseau. -2. The `authenticate.shtml` page is a form containing _userId_ et _password_ input fields and sending a 4DACTION POST action: +2. La page `authenticate.shtml` est un formulaire contenant des champs de saisie _userId_ et _password_ et envoie une action POST 4DACTION : ```html @@ -153,7 +153,7 @@ http://localhost:8044/authenticate.shtml ![alt-text](../assets/en/WebServer/authenticate.png) -3. The authenticate project method looks for the _userID_ person and validates the password against the hashed value already stored in the _SalesPersons_ table: +3. La méthode de projet d'authentification recherche la personne _userID_ et valide le mot de passe par rapport à la valeur hachée déjà stockée dans la table _SalesPersons_ : ```4d var $indexUserId; $indexPassword; $userId : Integer @@ -195,6 +195,6 @@ Else End if ``` -## See also (blog post) +## Voir aussi (blog post) -[Scalable sessions for advanced web applications](https://blog.4d.com/scalable-sessions-for-advanced-web-applications/) +[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/current/WebServer/templates.md b/i18n/fr/docusaurus-plugin-content-docs/current/WebServer/templates.md index a3c221d0890183..2611c69f14e013 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/WebServer/templates.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/WebServer/templates.md @@ -1,93 +1,93 @@ --- id: templates -title: Template pages +title: Pages templates --- -Le serveur Web de 4D vous permet d'utiliser des pages de modèles HTML contenant des balises, c'est-à-dire un mélange de code HTML statique et de références 4D ajoutées via des [balises de transformation](../Tags/transformation-tags.md) telles que 4DTEXT, These tags are usually inserted as HTML type comments (``) into the HTML source code. +Le serveur Web de 4D vous permet d'utiliser des pages de modèles HTML (templates) contenant des balises, c'est-à-dire un mélange de code HTML statique et de références 4D ajoutées par le biais de [balises de transformation](../Tags/transformation-tags.md) telles que 4DTEXT, 4DIF ou 4DINCLUDE. Ces balises sont généralement insérées sous forme de commentaires HTML (``) dans le code source HTML. -When these pages are sent by the HTTP server, they are parsed and the tags they contain are executed and replaced with the resulting data. The pages received by the browsers are thus a combination of static elements and values coming from 4D processing. +Lorsque ces pages sont envoyées par le serveur HTTP, elles sont analysées et les balises qu'elles contiennent sont interprétées et remplacées par les données résultantes. Les pages reçues par les navigateurs sont donc une combinaison d'éléments statiques et de valeurs provenant du traitement 4D. -For example, if you write in an HTML page: +Par exemple, si vous écrivez dans une page HTML: ```htmlWelcome to !
``` -The value of the 4D variable _vtSiteName_ will be inserted in the HTML page. +La valeur de la variable 4D _vtSiteName_ sera insérée dans la page HTML. -## Tags for templates +## Balises pour les templates -The following 4D tags are available: +Les balises 4D suivantes sont disponibles : -- 4DTEXT, to insert 4D variables and expressions as text, -- 4DHTML, to insert HTML code, -- 4DEVAL, to evaluate any 4D expression, -- 4DSCRIPT, to execute a 4D method, -- 4DINCLUDE, to include a page within another one, -- 4DBASE, to modify the default folder used by the 4DINCLUDE tag, -- 4DCODE, to insert 4D code, -- 4DIF, 4DELSE, 4DELSEIF and 4DENDIF, to insert conditions in the HTML code, +- 4DTEXT, pour insérer des variables et des expressions 4D en tant que texte, +- 4DHTML, pour insérer du code HTML, +- 4DEVAL, pour évaluer toute expression 4D, +- 4DSCRIPT, pour exécuter une méthode 4D, +- 4DINCLUDE, pour inclure une page dans une autre, +- 4DBASE, pour modifier le dossier par défaut utilisé par la balise 4DINCLUDE, +- 4DCODE, pour insérer du code 4D, +- 4DIF, 4DELSE, 4DELSEIF et 4DENDIF, pour insérer des conditions dans le code HTML, - 4DLOOP et 4DENDLOOP, pour faire des boucles dans le code HTML, - 4DEACH et 4DENDEACH, pour boucler des collections, des entity selections ou des propriétés d'objets. -These tags are described in the [Transformation Tags](../Tags/transformation-tags.md) page. +Ces balises sont décrites dans la page [Balises de transformation](../Tags/transformation-tags.md). -It is possible to mix tags. For example, the following HTML code is allowed: +Il est possible de combiner des balises. Par exemple, le code HTML suivant est autorisé : ```html ... - (Method call) - (If condition) - (Subpage insertion) - (End if) + (appel de méthode) + (condition) + (insertion sous-page) + (fin de condition) - (loop on the current selection) - (If [TABLE]ValNum>10) - (subpage insertion) - (Else) + (boucle sur la sélection courante) + + (insertion sous-page) + Value:- The default value (100) can be increased or decreased depending on the resources of the machine hosting the 4D Web Server.
+- **Nombre de demandes par connexion** : Permet de définir le nombre maximal de requêtes et de réponses capables d'être transmises sur une connexion persistante. Limiter le nombre de demandes par connexion permet d'éviter le server flooding, provoqué par un trop grand nombre de requêtes entrantes (technique utilisée par les pirates informatiques).+ La valeur par défaut (100) peut être augmentée ou diminuée en fonction des ressources de la machine hébergeant le Serveur Web 4D.
-- **Délai avant déconnexion** : Cette valeur définit l'attente maximale (en secondes) pour le maintien d'une connexion TCP sans réception d'une requête de la part du navigateur web. Once this period is over, the server closes the connection.- If the web browser sends a request after the connection is closed, a new TCP connection is automatically created. This operation is not visible for the user.
+- **Délai avant déconnexion** : Cette valeur définit l'attente maximale (en secondes) pour le maintien d'une connexion TCP sans réception d'une requête de la part du navigateur web. Une fois cette période terminée, le serveur ferme la connexion.+ Si le navigateur Web envoie une requête après la fermeture de la connexion, une nouvelle connexion TCP est automatiquement créée. Cette opération est invisible pour l'utilisateur.
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/WebServer/webServerObject.md b/i18n/fr/docusaurus-plugin-content-docs/current/WebServer/webServerObject.md index 00f26ae857653c..34b5276016af92 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/WebServer/webServerObject.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/WebServer/webServerObject.md @@ -3,7 +3,7 @@ id: webServerObject title: Objet Web Server --- -Un projet 4D peut démarrer et surveiller un serveur Web pour l'application principale (hôte) ainsi que chaque composant hébergé. +Un projet 4D peut démarrer et piloter un serveur Web pour l'application principale (hôte) ainsi que pour chaque composant hébergé. Par exemple, si vous avez installé deux composants dans votre application principale, vous pouvez démarrer et contrôler jusqu'à trois serveurs Web indépendants à partir de votre application : @@ -34,15 +34,15 @@ $nbSrv:=WEB Server list.length //la valeur de $nbSrv est 1 ``` -To instantiate a web server object, call the [`WEB Server`](API/WebServerClass.md#web-server) command: +Pour instancier un objet serveur web, appelez la commande [`WEB Server`](API/WebServerClass.md#web-server) : ```4d - //create an object variable of the 4D.WebServer class + //créer une variable objet de la classe 4D.WebServer var webServer : 4D.WebServer - //call the web server from the current context + //appeler le serveur web depuis le contexte courant webServer:=WEB Server - //equivalent to + //équivalent à webServer:=WEB Server(Web server database) ``` @@ -55,9 +55,9 @@ vous pouvez également utiliser : ```4d var webServer : 4D.WebServer - //call the host web server from a component + //appeler le serveur web hôte depuis un composant webServer:=WEB Server(Web server host database) - //call the target web server + //appeler le serveur web cible webServer:=WEB Server(Web server receiving request) ``` @@ -70,17 +70,17 @@ Un [objet de classe Web server](API/WebServerClass.md#web-server-object) contien | [`start()`](API/WebServerClass.md#start) | settings (objet) | status (object) | Démarre le serveur web | | [`stop()`](API/WebServerClass.md#start) | - | * | Stoppe le serveur web | -To start and stop a web server, just call the [`start()`](API/WebServerClass.md#start) and [`stop()`](API/WebServerClass.md#stop) functions of the web server object: +Pour démarrer et arrêter un serveur Web, il suffit d'appeler les fonctions [`start()`](API/WebServerClass.md#start) et [`stop()`](API/WebServerClass.md#stop) de l'objet serveur Web : ```4d var $status : Object - //to start a web server with default settings + //démarrer un serveur web avec les paramètres par défaut $status:=webServer.start() - //to start the web server with custom settings - //$settings object contains web server properties + //démarrer le serveur web avec des paramètres personnalisés + //$settings objet contient les propriétés du serveur web webServer.start($settings) - //to stop the web server + //stopper le serveur web $status:=webServer.stop() ``` @@ -90,14 +90,14 @@ Un objet serveur Web contient [diverses propriétés](API/WebServerClass.md#web- Ces propriétés sont définies : -1. using the `settings` parameter of the [`.start()`](API/WebServerClass.md#start) function (except for read-only properties, see below), +1. à l'aide du paramètre `settings` de la fonction [`.start()`](API/WebServerClass.md#start) (sauf pour les propriétés en lecture seule, voir ci-dessous), 2. si elles ne sont pas utilisées, à l'aide de la commande `WEB SET OPTION` (applications hôtes uniquement), -3. si elles ne sont pas utilisées, dans les paramètres de l'application hôte ou du composant. +3. si elles ne sont pas utilisées, dans les propriétés de l'application hôte ou du composant. - Si le serveur Web n'est pas démarré, les propriétés contiennent les valeurs qui seront utilisées au prochain démarrage du serveur Web. -- If the web server is started, the properties contain the actual values used by the web server (default settings could have been overriden by the `settings` parameter of the [`.start()`](API/WebServerClass.md#start) function. +- Si le serveur Web est démarré, les propriétés contiennent les valeurs réelles utilisées par le serveur Web (les paramètres par défaut peuvent avoir été remplacés par le paramètre `settings` de la fonction [`.start()`](API/WebServerClass.md#start). -> _isRunning_, _name_, _openSSLVersion_, and _perfectForwardSecrecy_ are read-only properties that cannot be predefined in the `settings` object parameter for the [`start()`](API/WebServerClass.md#start) function. +> _isRunning_, _name_, _openSSLVersion_ et _perfectForwardSecrecy_ sont des propriétés en lecture seule qui ne peuvent pas être prédéfinies dans le paramètre objet `settings` pour la fonction [`start()`](API/WebServerClass.md#start). ## Portée des commandes 4D Web diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/WritePro/writeprointerface.md b/i18n/fr/docusaurus-plugin-content-docs/current/WritePro/writeprointerface.md index 265217b4683a5d..aadc21f767231d 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/WritePro/writeprointerface.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/WritePro/writeprointerface.md @@ -9,57 +9,57 @@ Un développeur 4D peut facilement implémenter ces palettes dans leur applicati La documentation principale de l'[interface 4D Write Pro](https://doc.4d.com/4Dv20/4D/20/Entry-areas.300-6263967.en.html) se trouve dans le _4D - Mode Développement_. -You will find below the Table Wizard configuration documentation. +Vous trouverez ci-dessous la documentation de configuration de l'Assistant de table. -## Table Wizard +## Assistant de table -The Table Wizard is here to further simplify table creation based on database data using contexts, data sources, and formulas. +L'Assistant de table est là pour simplifier encore davantage la création de table basée sur les données de la base de données en utilisant des contextes, des sources de données et des formules. -The Table Wizard, accessible to end-users, loads templates provided and configured by 4D developers. This enables developers to customize the template according to the specific use cases and business requirements of the users. +L'Assistant de table, accessible aux utilisateurs finaux, charge les modèles fournis et configurés par les développeurs de 4D. Cela permet aux développeurs de personnaliser le modèle en fonction des cas d'utilisation spécifiques et des exigences métier des utilisateurs. -The Table Wizard comes with default templates and themes, which developers can configure to adapt its content to match the specific requirements of the application. +L'Assistant de table est fourni avec des modèles et des thèmes par défaut, que les développeurs peuvent configurer pour adapter son contenu en fonction des exigences spécifiques de l'application. -To implement the Table Wizard in your application, the developers are able to create and configure template files. +Pour implémenter l'Assistant de table dans votre application, les développeurs peuvent créer et configurer des fichiers de modèle. -### WP Table Wizard interface +### Interface de l'Assistant de table WP -The user opens the Table Wizard dialog from the "Insert table" menu item in 4D Write Pro interface toolbar and sidebar. +L'utilisateur ouvre la boîte de dialogue de l'Assistant de table à partir de l'élément de menu "Insérer une table" dans la barre d'outils et la barre latérale de l'interface de 4D Write Pro. ![](../assets/en/WritePro/tablewizard-interface2.png) -From this interface, the user can select a template or a table from the first drop-down list and a theme from the second. +À partir de cette interface, l'utilisateur peut sélectionner un modèle ou un tableau dans la première liste déroulante et un thème dans la deuxième. -##### In Columns: +##### Dans Colonnes : ![](../assets/en/WritePro/columns2.PNG) -Depending on the user's selection of a template or a table, the user can view the list of fields stored in the template (Blob and object types are automatically excluded). They can then select columns to display in the table by checking the box in front of the field name and order them by moving and dragging the fields list. +Selon la sélection de l'utilisateur d'un modèle ou d'un tableau, l'utilisateur peut voir la liste des champs stockés dans le modèle (Blob et les types d'objets sont automatiquement exclus). Ensuite, ils peuvent sélectionner les colonnes à afficher dans le tableau en cochant la case devant le nom du champ et les ordonner en déplaçant et en faisant glisser la liste des champs. -##### In Rows: +##### Dans Lignes : ![](../assets/en/WritePro/rows1.PNG) -In the Table Wizard, the user can also define the number of header rows and extra rows (0 to 5 each), set [break rows](https://doc.4d.com/4Dv20/4D/20/Handling-tables.200-6229469.en.html#6233076) (summary rows) above or below the data row, and choose to show/hide [carry-over rows](https://doc.4d.com/4Dv20/4D/20/Handling-tables.200-6229469.en.html#6236686). +Dans l'Assistant de table, l'utilisateur peut également définir le nombre de lignes d'en-tête et de lignes supplémentaires (de 0 à 5 chacune), définir les [lignes de rupture](https://doc.4d.com/4Dv20/4D/20/Handling-tables.200-6229469.fr.html#6233076) (lignes de synthèse) au-dessus ou en dessous de la ligne de données, et choisir d'afficher/masquer les [lignes de report](https://doc.4d.com/4Dv20/4D/20/Handling-tables.200-6229469.fr.html#6236686). In addition, the user has the possibility to choose the table's behavior when its datasource is empty with the following options: Show data row, Hide date row, Hide table, Show placeholder row. -##### In Display: +##### Dans Affichage : ![](../assets/en/WritePro/display2.PNG) -The user adjusts the zoom level according to their preference by selecting the desired option from a drop-down list, uses radio buttons to display formulas or data for clear presentation, and chooses to display a horizontal ruler using a checkbox. +L'utilisateur ajuste le niveau de zoom selon ses préférences en sélectionnant l'option souhaitée dans une liste déroulante, utilise des boutons radio pour afficher les formules ou les données pour une présentation claire, et choisit d'afficher une règle horizontale à l'aide d'une case à cocher. -After finalizing the table creation and customization, the user can click on the **Insert** button to add the table to their WP document. +Après avoir finalisé la création et la personnalisation de la table, l'utilisateur peut cliquer sur le bouton **Insérer** pour ajouter la table à son document WP. -Once the table has been integrated into the document, the user can customize its style. The formatting tools of the toolbar and sidebar are still available. +Une fois que la table a été intégrée dans le document, l'utilisateur peut personnaliser son style. Les outils de mise en forme de la barre d'outils et de la barre latérale sont toujours disponibles. ### WP Table Wizard template configuration La configuration des modèles inclut: -- Defining tables and fields as well as preparing formulas adapted to the application from the [template file](#template-files). -- Translating table, field, and formula names from the [translation file](#translation-files). -- Designing graphic styles and customized themes from the [theme file](#theme-files). +- Définir des tables et des champs ainsi que préparer des formules adaptées à l'application à partir du [fichier de modèle](#template-files). +- Traduction des noms de table, de champ et de formule à partir du [fichier de traduction](#translation-files). +- Conception de styles graphiques et de thèmes personnalisés à partir du [fichier de thème](#theme-files). These three types of files contribute to the configuration of the Table Wizard, and while each serves a distinct purpose, none of them are considered essential components. @@ -72,7 +72,7 @@ Le fichier de modèle vous permet de définir les éléments suivants : - the dataclass attributes that can be used as table columns, - the formulas available as contextual menus inside break rows, carry-over row, placeholder row or extra rows. -The template file must be stored in a "[`Resources`](../Project/architecture.md#resources)/4DWP_Wizard/Templates" folder within your project. +Le fichier modèle doit être stocké dans un dossier "[`Resources`](../Project/architecture.md#resources)/4DWP_Wizard/Templates" dans votre projet. The template file in JSON format contains the following attributes: @@ -97,9 +97,9 @@ The template file in JSON format contains the following attributes: | extraFormulas.source | Text | x | Formula | | placeholderFormulas | Collection | | Collection of formula objects that are inserted in the placeholder row | -:::note French language +:::note Langue française -If your application is likely to be run on a 4D with language set to French, make sure that you use [tokens](https://doc.4d.com/4Dv20/4D/20/Using-tokens-in-formulas.300-6237731.en.html) in your formulas so that they are correctly interpreted no matter the user's language configuration. +Si votre application est susceptible d'être exécutée sur un 4D avec une langue définie en français, assurez-vous d'utiliser [tokens](https://doc.4d.com/4Dv20/4D/20/Using-tokens-in-formulas.300-6237731.en.html) dans vos formules afin qu'elles soient correctement interprétées quelle que soit la configuration de la langue de l'utilisateur. ::: @@ -153,7 +153,7 @@ Here's a brief example of what your JSON file might look like: #### Translation files -Translation files translate the names of templates, themes, tables, fields, and formulas. These files are added to the "[`Resources`](../Project/architecture.md#resources)/4DWP_Wizard/Translations" folder in your project. +Translation files translate the names of templates, themes, tables, fields, and formulas. Ces fichiers sont ajoutés au dossier "[`Resources`](../Project/architecture.md#resources)/4DWP_Wizard/Translations" de votre projet. Each translation file must be named with the corresponding language code (for example "en" for English or "fr" for French). @@ -168,16 +168,16 @@ The translation file in JSON format contains the following attributes: Whitin each one of these attribute, the translation object includes the following attributes: -| Attribut | Type | Obligatoire | Description | -| :---------- | :--- | :---------- | :-------------------------------------- | -| original | Text | x | Original text intended for translation | -| translation | Text | x | Translated version of the original text | +| Attribut | Type | Obligatoire | Description | +| :---------- | :--- | :---------- | :------------------------------------- | +| original | Text | x | Texte original destiné à la traduction | +| translation | Text | x | Version traduite du texte original | Defining these attributes within the translation object ensures proper organization and alignment between the source and translated content. If the template name or the formula (break, carry-over row, or extra) exists in the translated file, its translation is applied in the Table Wizard. In addition, only the table defined within the translation file is displayed and translated. -The translation file serves an additional role when a user selects a table in the interface. It can filter the tables and fields proposed to the user. For example, to hide table IDs, this behavior is similar to the `SET TABLE TITLES` and `SET FIELD TITLES` commands. +The translation file serves an additional role when a user selects a table in the interface. It can filter the tables and fields proposed to the user. Par exemple, pour masquer les IDs de table, ce comportement est similaire aux commandes `SET TABLE TITLES` et `SET FIELD TITLES`. ##### Exemple @@ -213,31 +213,31 @@ The translation file serves an additional role when a user selects a table in th #### Theme files -A list of themes is provided by default in the 4D Write Pro Interface component, such as "Arial", "CourierNew" and "YuGothic", available in multiple variations like "Blue" and "Green". However, you can create your own theme by placing it in the "[`Resources`](../Project/architecture.md#resources)/4DWP_Wizard/Themes" folder within your project. +A list of themes is provided by default in the 4D Write Pro Interface component, such as "Arial", "CourierNew" and "YuGothic", available in multiple variations like "Blue" and "Green". Cependant, vous pouvez créer votre propre thème en le plaçant dans le dossier "[`Resources`](../Project/architecture.md#resources)/4DWP_Wizard/Themes" de votre projet. The theme file in JSON format contains the following attributes: -| Attribut | Type | Obligatoire | Description | -| :------------- | :----- | :---------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| default | Object | | Object containing the default style applicable to all rows. | -| table | Object | | Object containing the style definition applicable to the table. | -| rows | Object | | Object containing the style definition applicable to all rows. | -| cells | Object | | Object containing the style definition applicable to all cells. | -| header1 | Object | | Object containing the style definition applicable to the first header row. | -| header2 | Object | | Object containing the style definition applicable to the second header row. | -| header3 | Object | | Object containing the style definition applicable to the third header row. | -| header4 | Object | | Object containing the style definition applicable to the fourth header row. | -| header5 | Object | | Object containing the style definition applicable to the fifth header row. | -| headers | Object | | Object containing the style definition applicable to the header rows, if a specific header (like header1, header2...) is not defined. | -| data | Object | | Object containing the style definition applicable to the repeated data row. | -| break1 | Object | | Object containing the style definition applicable to the first break row. | -| break2 | Object | | Object containing the style definition applicable to the second break row. | -| break3 | Object | | Object containing the style definition applicable to the third break row. | -| break4 | Object | | Object containing the style definition applicable to the fourth break row. | -| break5 | Object | | Object containing the style definition applicable to the fifth break row. | -| ruptures/sauts | Object | | Object containing the style definition applicable to the break rows, if a specific break (like break1, break2...) is not defined. | -| bcor | Object | | Object containing the style definition applicable to the bottom carry-over row. | -| placeholder | Object | | Object containing the default style applicable to the placeholder row. | +| Attribut | Type | Obligatoire | Description | +| :------------- | :----- | :---------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| default | Object | | Object containing the default style applicable to all rows. | +| table | Object | | Object containing the style definition applicable to the table. | +| rows | Object | | Object containing the style definition applicable to all rows. | +| cells | Object | | Object containing the style definition applicable to all cells. | +| header1 | Object | | Object containing the style definition applicable to the first header row. | +| header2 | Object | | Object containing the style definition applicable to the second header row. | +| header3 | Object | | Object containing the style definition applicable to the third header row. | +| header4 | Object | | Object containing the style definition applicable to the fourth header row. | +| header5 | Object | | Object containing the style definition applicable to the fifth header row. | +| headers | Object | | Objet contenant la définition de style applicable aux lignes d'en-tête, si un en-tête spécifique (comme header1, header2...) n'est pas défini. | +| data | Object | | Object containing the style definition applicable to the repeated data row. | +| break1 | Object | | Object containing the style definition applicable to the first break row. | +| break2 | Object | | Object containing the style definition applicable to the second break row. | +| break3 | Object | | Object containing the style definition applicable to the third break row. | +| break4 | Object | | Object containing the style definition applicable to the fourth break row. | +| break5 | Object | | Object containing the style definition applicable to the fifth break row. | +| ruptures/sauts | Object | | Object containing the style definition applicable to the break rows, if a specific break (like break1, break2...) n'est pas défini. | +| bcor | Object | | Object containing the style definition applicable to the bottom carry-over row. | +| placeholder | Object | | Object containing the default style applicable to the placeholder row. | For every attribute used in your JSON file (header, data, carry-over, summary, and extra rows), you can define the following WP attributes, mentionned with their [corresponding WP constant](https://doc.4d.com/4Dv20/4D/20/4D-Write-Pro-Attributes.300-6229528.en.html): @@ -294,4 +294,4 @@ For every attribute used in your JSON file (header, data, carry-over, summary, a #### Voir également -[4D Write Pro - Table Wizard (tutorial video)](https://www.youtube.com/watch?v=2ChlTju-mtM) +[4D Write Pro - Table Wizard (vidéo tutorial)](https://www.youtube.com/watch?v=2ChlTju-mtM) 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 45dd7b57a726be..035f505e40ce0a 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 @@ -36,13 +36,13 @@ C'est ici que vous écrivez et modifiez votre code. L'éditeur indente automatiq Vous pouvez personnaliser l'affichage de la zone d'édition. Toute personnalisation est automatiquement reportée sur toutes les fenêtres de l'éditeur de code : -| Option | Description | Défini dans... | -| -------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| **police** et **taille de police** | Définit la police et la taille de caractères à utiliser dans la zone d'édition | **Préférences** > [**Méthodes**](../Preferences/methods.md) ou **Méthode > Affichage** > **Agrandir la police** ou **Réduire la police** | -| **style et couleur des éléments de syntaxe** | assigner une couleur et/ou un style spécifique à chaque type d'élément du langage 4D. Vous pouvez également changer les différentes couleurs utilisées dans l'interface de la zone d'édition (surlignement, arrière-plan, etc.). | Clic avec le bouton droit de la souris sur un élément du langage (variable, mot-clé, etc.) > Sous-menu **Style**. Or **Preferences** > [**Methods**](../Preferences/methods.md) | -| **espaces** | Vous pouvez afficher les espaces entre les mots en utilisant des points (.) au lieu d'espaces vides. Cette option s'applique à tous les éléments du code (noms de commandes, variables, commentaires, etc.). | **Méthode > Affichage > Espaces** | -| **thèmes** | Vous pouvez sélectionner le thème sombre ou clair, ou en définir un thème personnalisé | **Préférences** > [**Méthodes**](../Préférences/méthodes.md) | -| **largeur des indentations de code** | Définir la largeur des indentations de code | **Préférences** > [**Méthodes**](../Préférences/méthodes.md) | +| Option | Description | Défini dans... | +| -------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| **police** et **taille de police** | Définit la police et la taille de caractères à utiliser dans la zone d'édition | **Préférences** > [**Méthodes**](../Preferences/methods.md) ou **Méthode > Affichage** > **Agrandir la police** ou **Réduire la police** | +| **style et couleur des éléments de syntaxe** | assigner une couleur et/ou un style spécifique à chaque type d'élément du langage 4D. Vous pouvez également changer les différentes couleurs utilisées dans l'interface de la zone d'édition (surlignement, arrière-plan, etc.). | Clic avec le bouton droit de la souris sur un élément du langage (variable, mot-clé, etc.) > Sous-menu **Style**. Ou **Préférences** > [**Méthodes**](../Preferences/methods.md) | +| **espaces** | Vous pouvez afficher les espaces entre les mots en utilisant des points (.) au lieu d'espaces vides. Cette option s'applique à tous les éléments du code (noms de commandes, variables, commentaires, etc.). | **Méthode > Affichage > Espaces** | +| **thèmes** | Vous pouvez sélectionner le thème sombre ou clair, ou en définir un thème personnalisé | **Préférences** > [**Méthodes**](../Préférences/méthodes.md) | +| **largeur des indentations de code** | Définir la largeur des indentations de code | **Préférences** > [**Méthodes**](../Préférences/méthodes.md) | #### Barres de modification @@ -475,7 +475,7 @@ Le Code Live Checker est activé à trois niveaux : Deux types de symboles sont affichés : -- **[warnings](../Project/compiler.md#warnings)** ![warning](../assets/en/code-editor/incorrect-expression-icon.png): Warnings are intended to draw your attention to statements that might lead to execution errors. Ils n'empêchent pas la compilation. +- **[warnings](../Project/compiler.md#warnings)** ![warning](../assets/en/code-editor/incorrect-expression-icon.png) : Les warnings ont pour but d'attirer votre attention sur des déclarations qui pourraient entraîner des erreurs d'exécution. Ils n'empêchent pas la compilation. - **erreurs**![error](../assets/en/code-editor/error-icon.png) : les erreurs sont des anomalies qui empêchent l'exécution correcte du code. Elles doivent être corrigées, sinon le projet ne se compilera pas. Lorsque vous passez la souris sur le symbole, une infobulle affiche la cause de l'erreur : @@ -540,7 +540,7 @@ Le langage 4D supporte les [commentaires](../Concepts/quick-tour.md#comments), q Il existe deux types de commentaires : `//commentaire` (commentaire sur une seule ligne) et `/*commentaire*/` (commentaires en ligne ou blocs de commentaires multilignes). -Des commentaires peuvent être créés en tapant les caractères `/`. Or, the **Comment/Uncomment** command, found in the **Method** menu as well as in the Code Editor context menu is used to mark a group of selected lines of code as single line comments, or, on the contrary, to remove the single line comment characters from a selection. Pour utiliser cette commande, sélectionnez le code à commenter, puis sélectionnez la commande **Commenter/Ne pas commenter** : +Des commentaires peuvent être créés en tapant les caractères `/`. Alternativement, la commande **Commenter/Ne pas commenter**, présente dans le menu **Méthode** ainsi que dans le menu contextuel de l'éditeur de code, permet de commenter chaque ligne d'un groupe de lignes sélectionnées ou, au contraire, de supprimer les caractères de commentaires de chaque ligne de la sélection. Pour utiliser cette commande, sélectionnez le code à commenter, puis sélectionnez la commande **Commenter/Ne pas commenter** : ![](../assets/en/code-editor/comment-uncomment-1.png) --> ![](../assets/en/code-editor/comment-uncomment-2.png) @@ -550,129 +550,129 @@ Lorsque la sélection ne contient que du code actif, la commande **Commenter** e ## Déployer / Contracter -Le code 4D situé à l'intérieur des boucles et des conditions peut être replié ou déplié, afin de faciliter la lecture des méthodes : +Le code 4D situé à l'intérieur des boucles et des conditions peut être contracté ou déployé, afin de faciliter la lecture des méthodes : -- Expanded code: +- Code déployé : ![](../assets/en/code-editor/expanded-code.png) -- Collapsed code: +- Code contracté : ![](../assets/en/code-editor/collapsed-code.png) Si vous placez la souris sur le bouton de déploiement [...], une infobulle apparaît, affichant les premières lignes du code masqué. Une portion de code repliée peut être sélectionnée, copiée, collée ou supprimée. Toutes les lignes incluses seront copiées, collées ou supprimées respectivement. Lorsqu'une portion de code est collée, elle est automatiquement déployée. -There are several ways to expand and collapse code: +Il y a plusieurs façons de déployer et de contracter le code : -- Click on the expand/collapse icons ([+] and [-] under Windows) or on the opening button [...] -- Use the commands of the **Method > Collapse/Expand** submenu: +- Cliquer sur les icônes de déploiement/réduction ([+] et [-] sous Windows) ou sur le bouton d'ouverture [...] +- Utiliser les commandes du sous-menu **Méthode > Plier/Déplier** : - - **Collapse Selection** / **Expand Selection**: collapses or expands all the code structures found in the text selection. - - **Collapse Current Level** / **Expand Current Level**: collapses or expands the code structure at the level where the cursor is located. These commands are also available in the **context menu** of the editor. - - **Collapse All** / **Expand All**: collapses or expands all the loops and conditions of a method. These commands are also available in the toolbar of the editor. + - **Plier la sélection** / **Déplier la sélection** : réduit ou développe toutes les structures de code trouvées dans la sélection de texte. + - **Plier le niveau courant** / **Déplier le niveau courant** : réduit ou développe la structure du code là où se trouve le curseur. Ces commandes sont également disponibles dans le **menu contextuel** de l'éditeur. + - **Plier tout** / **Déplier tout** : réduit ou développe toutes les boucles et conditions d'une méthode. Ces commandes sont également disponibles dans la barre d'outils de l'éditeur. -## Blocks +## Blocs -Blocks can be defined by: +Les blocs peuvent être définis par : -- Guillemets -- Parentheses -- A logical structure (If/Else/End if, While/End while, Repeat/Until Case of/End case) -- Braces +- des guillemets +- des parenthèses +- une structure logique (Si/Sinon/Fin de si, Tant que/Fin tant que, Répéter/Jusque, Au cas ou/Fin de cas...) +- des accolades -### Select Enclosing Block +### Sélectionner bloc -The **Select Enclosing Block** function is used to select the "enclosing block" of the code containing the insertion point. +La fonction **Sélectionner bloc** est utilisée pour sélectionner le "bloc englobant" du code contenant le point d'insertion. -If a block of text is already selected, the function selects the enclosing block of the next highest level and so on, until the entire method is selected. +Si un bloc de texte est déjà sélectionné, la fonction sélectionne le bloc englobant du niveau supérieur suivant, et ainsi de suite, jusqu'à ce que la méthode entière soit sélectionnée. -Pressing **Ctrl+Shift+B** (Windows) or **Command+Shift+B** (macOS) enables you to reverse this operation and deselect the last enclosing block selected. +Appuyez sur **Ctrl+Maj+B** (Windows) ou **Command+Maj+B** (macOS) pour annuler cette opération et désélectionner le dernier bloc sélectionné. -**Note:** If the insertion point is placed in an `If` or `Else` type structure, the enclosing block will be the one containing, respectively, the `If` or `Else` statement. +**Note :** Si le point d'insertion est placé dans une structure de type `If` ou `Else`, le bloc englobant sera celui contenant respectivement l'instruction `If` ou `Else`. -### Start of Block or End of Block +### Début de bloc ou Fin de bloc -Two commands make it easier to move around within code structures (e.g. `If...Else...End if`): +Deux commandes facilitent la navigation au sein des structures de code (par exemple `If...Else...End if`) : -- **Start Of Block**: places the cursor at the start of the current structure, just before the initial keyword. -- **End Of Block**: places the cursor at the end of the current structure, just after the final keyword. +- **Début de bloc** : place le curseur au début de la structure courante, juste avant le mot-clé initial. +- **Fin de bloc** : place le curseur à la fin de la structure actuelle, juste après le mot-clé final. -These commands are found in the **Method** menu as well as the context menu of the editor. You can also use the following shortcuts: +Ces commandes se trouvent dans le menu **Méthode** ainsi que dans le menu contextuel de l'éditeur. Vous pouvez également utiliser les raccourcis suivants : -- Windows: **Ctrl + up arrow** or **Ctrl** + **down arrow**‚ -- macOS: **Command** + **up arrow** or **Command** +**down arrow**. +- Windows : **Ctrl + flèche vers le haut** ou **Ctrl** + **flèche vers le bas**‚ +- macOS : **Commande** + **flèche vers le haut** ou **Commande** + **flèche vers le bas**. -## Bookmarks +## Signets -4D lets you associate bookmarks with certain lines in your methods. You can then browse quickly within the code by passing from one bookmark to another using specific commands. +4D vous permet d'associer des signets à certaines lignes de vos méthodes. Vous pouvez alors naviguer rapidement dans le code en passant d'un signet à un autre à l'aide de commandes spécifiques. ![](../assets/en/code-editor/bookm.png) -A bookmark moves along with its original row if additional rows are inserted in the method. Bookmarks are saved with the methods. +Un signet se déplace avec sa ligne d'origine si des lignes supplémentaires sont insérées dans la méthode. Les signets sont enregistrés avec les méthodes. -Bookmarks are managed using the **Bookmarks** submenu of the **Method** menu: +Les signets sont gérés en utilisant le sous-menu **Signets** du menu **Méthode** : -- **Toggle**: Associates a bookmark with the current line (where the cursor is located) if it does not already have one or removes the existing bookmark if it does. This function is also available using the **Toggle Bookmark** command of the editor's context menu or using the **Ctrl+F3** (Windows) or **Command+F3** (macOS) keyboard shortcut. -- **Remove All**: Removes all bookmarks from the foreground window. -- **Goto Next** / **Goto Previous**: Enables browsing among bookmarks in the window. Selecting one of these commands places the cursor on the first character of the line associated with the bookmark concerned. You can also use the keyboard shortcuts **F3** (go to next) or **Shift+F3** (go to previous). +- **Permuter** : Associe un signet à la ligne courante (où se trouve le curseur) si elle n'en a pas déjà un, ou supprime le signet existant si elle en a un. Cette fonction est également disponible dans le menu contextuel de l'éditeur ou en utilisant le raccourci clavier **Ctrl+F3** (Windows) ou **Command+F3** (macOS). +- **Tout supprimer** : Supprime tous les signets de la fenêtre en cours. +- **Aller au suivant** / **Aller au précédent** : Permet de naviguer parmi les signets dans la fenêtre. La sélection d'une de ces commandes place le curseur sur le premier caractère de la ligne associée au signet concerné. Vous pouvez également utiliser les raccourcis clavier **F3** (passer à la suivante) ou **Maj+F3** (passer à la précédente). :::info -You can use bookmarks as markers for lines that contain an [item found by a search](#find). In this case, 4D automatically adds the bookmarks. For more information, refer to [Bookmark all](#bookmark-all). +Vous pouvez utiliser des signets comme marqueurs pour les lignes qui contiennent un [élément trouvé par une recherche](#find). Dans ce cas, 4D ajoute automatiquement les signets. Pour plus d'informations, voir [Tout mettre en signet](#bookmark-all). ::: -## Reveal in Explorer +## Afficher dans l'Explorateur -The **Reveal in Explorer...** command opens an Explorer window with the target element selected. To do this, place the cursor inside the element's name or select it, then choose **Method** > **Reveal in Explorer...** . +La commande **Afficher dans l'Explorateur...** ouvre une fenêtre de l'Explorateur avec l'élément cible sélectionné. Pour ce faire, placez le curseur à l'intérieur du nom de l'élément ou sélectionnez-le, puis choisissez **Méthode** > **Afficher dans l'Explorateur...** . -## Search Callers +## Chercher les appelants -The **Search Callers** command in the **Method** menu is only enabled for project methods. It searches for all the objects (other methods or menus) that reference the project method. +La commande **Chercher les appelants** dans le menu **Méthode** est uniquement activée pour les méthodes projet. Elle recherche tous les objets (autres méthodes ou menus) qui font référence à la méthode projet. -**Note:** The **Search Callers...** command is also available in **Explorer** > **Methods** +**Note:** La commande **Chercher les appelants...** est également disponible dans **Explorateur > Méthodes** -This command displays its results in a new window. +Cette commande affiche ses résultats dans une nouvelle fenêtre. -## Goto Definition +## Aller à définition -The **Goto Definition** command opens the definition of an element referenced in the Code Editor. To do this, place the cursor inside the object name or select it, and choose **Method** > **Goto Definition...** or use the context menu of the editor. +La commande **Aller à définition** ouvre la définition d'un élément référencé dans l'éditeur de code. Pour ce faire, placez le curseur à l'intérieur du nom de l'objet ou sélectionnez-le, et choisissez **Méthode** > **Aller à définition...** ou utilisez le menu contextuel de l'éditeur. :::tip -This feature is also available through the keyboard shortcut **Ctrl+K** (Windows) / **Command+K** (macOS) or **Alt+double-click**. +Cette fonctionnalité est également disponible via le raccourci clavier **Ctrl+K** (Windows) / **Command+K** (macOS) ou **Alt+double-clic**. ::: -The effect of the **Goto Definition...** command varies depending on the target element: +L'effet de la commande **Aller à définition...** varie en fonction de l'élément cible : -- with a project method, it displays the contents of the method in a new window of the Code Editor -- with a class name or class function, it opens the class in the the Code Editor -- with a built-in 4D command or function, it has the same effect as the [**Show documentation**](#show-documentation) command. +- avec une méthode projet, elle affiche le contenu de la méthode dans une nouvelle fenêtre de l'Editeur de code +- avec un nom de classe ou une fonction de classe, elle ouvre la classe dans l'Éditeur de code +- avec une commande ou fonction 4D intégrée, elle a le même effet que la commande [**Montrer la documentation**](#show-documentation). -## Show documentation +## Montrer la documentation -The **Show documentation...** command opens the documentation for the target element. To do this, place the cursor inside the element's name or select it, then choose **Method** > **Show documentation...** or use the contextual menu. The effect varies depending on the target element. Par exemple : +La commande **Montrer la documentation...** ouvre la documentation pour l'élément cible. Pour ce faire, placez le curseur à l'intérieur du nom de l'élément ou sélectionnez-le, puis choisissez **Méthode** > **Montrer la documentation...** ou utilisez le menu contextuel. L'effet varie en fonction de l'élément cible. Par exemple : -- Selecting a project method or a user class and choosing **Show documentation...** selects the method in the Explorer and switches to the documentation tab -- Selecting a 4D command, function, or class name and choosing **Show documentation...** displays the online documentation. -- If no element is selected, the command opens the documentation of the method currently opened in the Code Editor, [if any](../Project/documentation.md). +- Sélectionner une méthode projet ou une classe utilisateur et choisir **Montrer la documentation...** sélectionne la méthode dans l'Explorateur et bascule vers l'onglet de documentation +- Sélectionner le nom d'une commande, fonction ou classe 4D et choisir **Montrer la documentation...** affiche la documentation en ligne. +- Si aucun élément n'est sélectionné, la commande ouvre la documentation de la méthode actuellement affichée dans l'Éditeur de Code, [le cas échéant](../Project/documentation.md). :::tip -To display the documentation of a 4D "classic" language command, select the command name or simply place the cursor in the name and press **F1**. The documentation of the command is displayed in a new window of your default browser. 4D looks for the documentation depending on the settings made in the Preferences (see [Documentation location](../Preferences/general.md#documentation-location)). +Pour afficher la documentation d'une commande de langage "classique" 4D, sélectionnez le nom de la commande ou placez simplement le curseur dans le nom et appuyez sur **F1**. La documentation de la commande est affichée dans une nouvelle fenêtre de votre navigateur par défaut. 4D recherche la documentation en fonction des paramètres définis dans les Préférences (voir [Emplacement de la documentation](../Preferences/general.md#documentation-location)). ::: -## Search References +## Chercher les références -The **Search References...** command found in the **Method** menu or the context menu of the Code Editor finds all the objects (methods and forms) in the project where the current item of the method is referenced (used). +La commande **Chercher les références...** présente dans le menu **Méthode** ou dans le menu contextuel de l'Éditeur de code recherche tous les objets (méthodes et formulaires) du projet où l'élément courant de la méthode est référencé (utilisé). -The current item is either the one selected or the one where the cursor is located. It can be a field name, variable name, command, string, and so on. For example, the following action looks for all the occurrences of the _vlNbCmd_ variable in the database: +L'élément courant est soit celui sélectionné, soit celui où se trouve le curseur. Il peut s’agir d’un nom de champ, de nom de variable, de commande, d’une chaîne, etc. Par exemple, l'action suivante recherche toutes les occurrences de la variable _vlNbCmd_ dans le projet : ![find-dialog](../assets/en/code-editor/search-references.png) -This command displays its results in a new window. +Cette commande affiche ses résultats dans une nouvelle fenêtre. ## Liste des macros @@ -695,7 +695,7 @@ Le dossier “Macros v2” peut être situé : - A côté du fichier de structure de la base. Les macros ne sont chargées que pour cette structure. - Pour les composants : dans le dossier **Components** de la base. Les macros ne sont alors chargées que si le composant est installé. -Ces trois emplacements peuvent être utilisés simultanément : il est possible d’installer un dossier “Macros v2” à chaque emplacement. The macros will be loaded in the following order: 4D folder, structure file, component 1... component X. +Ces trois emplacements peuvent être utilisés simultanément : il est possible d’installer un dossier “Macros v2” à chaque emplacement. Les macros seront chargées dans l’ordre suivant : dossier 4D, fichier de structure, composant 1... composant N. ### Macros par défaut @@ -713,7 +713,7 @@ Les macros vides ou erronées ne sont pas affichées. #### Vérification de la syntaxe des macros personnalisées -Les fichiers de macro-commandes de 4D doivent être conformes à la norme XML. This means more particularly that XML declaration `` and document declaration `` statements are mandatory at the beginning of a macro file in order for it to be loaded. Les différents types d'encodage XML sont pris en charge. Toutefois, il est recommandé d'utiliser un encodage compatible avec Mac/PC (UTF-8). 4D fournit une DTD qui peut être utilisée pour valider les fichiers macro. Ce fichier se trouve à l'emplacement suivant : +Les fichiers de macro-commandes de 4D doivent être conformes à la norme XML. Cela signifie plus particulièrement que la déclaration XML `` et la déclaration de document `` sont obligatoires au début d'un fichier macro pour qu'il puisse être chargé. Les différents types d'encodage XML sont pris en charge. Toutefois, il est recommandé d'utiliser un encodage compatible avec Mac/PC (UTF-8). 4D fournit une DTD qui peut être utilisée pour valider les fichiers macro. Ce fichier se trouve à l'emplacement suivant : - Windows : \Resources\DTD\macros.dtd - Mac OS : :Contenu:Ressources:DTD:macros.dtd @@ -731,41 +731,41 @@ Conformément aux spécifications XML, certaines balises d'éléments peuvent in - Balises doubles : `**Note** : Lorsqu'un objet de type Texte ou Zone de Groupe est sélectionné, appuyez sur la touche **Entrée** pour passer en mode édition.
| | ![](../assets/en/FormEditor/zOrder.png) | [Ordre de saisie](#data-entry-order) | Passe en mode “Ordre de saisie”, dans lequel il est possible de visualiser et de modifier l’ordre de saisie courant du formulaire. A noter que vous pouvez également visualiser l’ordre de saisie courant tout en travaillant dans le formulaire. | | ![](../assets/en/FormEditor/moving.png) | [Déplacement](#moving-objects) | Passe en mode “Déplacement”, dans lequel il est possible d’atteindre rapidement n’importe quelle partie du formulaire en le faisant directement glisser dans la fenêtre. Le curseur prend la forme d’une main. Ce mode de navigation est particulièrement utile en cas de zoom dans le formulaire. | | ![](../assets/en/FormEditor/zoom.png) | [Zoom](#zoom) | Permet de modifier l’échelle d’affichage du formulaire (100% par défaut). Vous pouvez passer en mode “Zoom” en cliquant sur le bouton loupe ou en cliquant directement sur la barre correspondant à l’échelle désirée. Cette fonction est détaillée dans le paragraphe précédent. | -| ![](../assets/en/FormEditor/alignment.png) | [Alignement](#aligning-objects) | Ce bouton est associé à un menu permettant d’aligner les objets dans le formulaire. It is enabled (or not) depending on the objects selected.Available only with CSS Preview None | -| ![](../assets/en/FormEditor/distribution.png) | [Répartition](#distributing-objects) | Ce bouton est associé à un menu permettant de répartir les objets dans le formulaire. It is enabled (or not) depending on the objects selected.Available only with CSS Preview None | +| ![](../assets/en/FormEditor/alignment.png) | [Alignement](#aligning-objects) | Ce bouton est associé à un menu permettant d’aligner les objets dans le formulaire. Il est activé (ou non) en fonction des objets sélectionnés.![](../assets/en/FormEditor/selection.png)
+ +Lorsque vous le faites glisser au-dessus du formulaire, le pointeur prend la forme du pointeur standard
. + +2. Cliquez sur l’objet que vous souhaitez sélectionner. Des poignées de sélection identifient l’objet sélectionné.![](../assets/en/FormEditor/selectResize.png)
Pour sélectionner un objet à l’aide de la Liste des propriétés : -1. Choose the object’s name from the Object List drop-down list located at the top of the Property List.Using these two methods, you can select an object that is hidden by other objects or located outside the visible area of the current window. Pour désélectionner un objet, cliquez hors de ses limites ou cliquez dessus en maintenant la touche **Majuscule** enfoncée. +1. Sélectionnez le nom de l’objet dans la liste de sélection située en haut de la palette. De cette manière, vous pouvez sélectionner un objet masqué par d’autres objets ou situé en-dehors des limites de la fenêtre. Pour désélectionner un objet, cliquez hors de ses limites ou cliquez dessus en maintenant la touche **Majuscule** enfoncée. > Il est également possible de sélectionner des objets en double-cliquant dans la fenêtre de résultat d’une recherche globale. ### Sélection de plusieurs objets @@ -189,9 +193,9 @@ La boîte de dialogue “Dupliquer plusieurs” apparaît lorsque vous sélectio ![](../assets/en/FormEditor/duplcateMany.png) -- In the upper area, enter the number of columns and lines (rows) of objects you want to get.For example, if you want three columns and two lines of objects, enter 3 in the Column(s) area and 2 in the Line(s) area. Si vous souhaitez ajouter horizontalement deux copies d’un objet, saisissez 3 dans la zone Colonnes (laissez la zone Ligne(s) à 1). +- Dans la zone supérieure, saisissez le nombre de colonnes et de lignes d’objets que vous souhaitez obtenir. Par exemple, si vous voulez obtenir 3 colonnes et 2 lignes d’objets, saisissez 3 dans la zone Colonne(s) et 2 dans la zone Ligne(s). Si vous souhaitez ajouter horizontalement deux copies d’un objet, saisissez 3 dans la zone Colonnes (laissez la zone Ligne(s) à 1). -- For lines and columns, define the offset that you wish to leave between each copy.The value must be expressed in points. Elle sera appliquée à chaque copie par rapport à l'objet d'origine. Par exemple, si vous souhaitez laisser un décalage vertical de 20 points entre chaque objet et que la hauteur de l'objet source est de 50 points, entrez 70 dans la zone "Décalage" de la colonne. +- Pour les lignes et les colonnes, définissez le décalage que vous souhaitez appliquer à chaque nouveau duplicata. La valeur saisie doit être exprimée en points Elle sera appliquée à chaque copie par rapport à l'objet d'origine. Par exemple, si vous souhaitez laisser un décalage vertical de 20 points entre chaque objet et que la hauteur de l'objet source est de 50 points, entrez 70 dans la zone "Décalage" de la colonne. - Si vous souhaitez créer une matrice de variables, cochez l’option **Numéroter les variables** et sélectionnez le sens dans lequel la numérotation des variables doit s’effectuer. Cette option n’est active que si l’objet sélectionné est une variable. Pour plus d’informations sur cette option, reportez-vous à la section **Dupliquer sur matrice** du *Manuel de développement*. @@ -231,12 +235,13 @@ Grouper des objets n’a d’effet que dans l’éditeur de formulaires. Lors de Pour grouper les objets : 1. Sélectionnez les objets que vous souhaitez grouper. -2. Choose **Group** from the Object menu.OR Click the Group button in the toolbar of the Form editor:![](../assets/en/FormEditor/group.png) 4D marks the boundary of the newly grouped objects with handles. Les objets du groupe ne sont plus marqués séparément par des poignées. Désormais, lorsque vous modifiez le groupe d’objets, vous modifiez tous les objets qui le composent. +2. Sélectionnez **Grouper** dans le menu Objets. OR Click the Group button in the toolbar of the Form editor:![](../assets/en/FormEditor/group.png)
+4D matérialise les bordures du groupe avec des poignées. Les objets du groupe ne sont plus marqués séparément par des poignées. Désormais, lorsque vous modifiez le groupe d’objets, vous modifiez tous les objets qui le composent. Pour dégrouper un groupe d’objets : 1. Sélectionnez le groupe que vous souhaitez dégrouper. -2. Choose **Ungroup** from the **Object** menu.ORClick the **Ungroup** button (variant of the **Group** button) in the toolbar of the Form editor.If **Ungroup** is dimmed, this means that the selected object is already separated into its simplest form.4D marks the boundaries of the individual objects with handles. +2. Choisissez **Dégrouper** dans le menu **Objets**.OU
Sélectionnez la commande **Dégrouper** (menu du bouton **Grouper**) dans la barre d’outils de l’éditeur de formulaires.
Si la commande **Dégrouper** est désactivée, cela veut dire que l’objet sélectionné est déjà sous sa forme la plus simple.
4D rematérialise les bordures des objets qui constituaient le groupe avec des poignées. ### Aligner des objets @@ -263,11 +268,11 @@ La boîte de dialogue d’alignement vous permet d’appliquer tout type d’ali Pour afficher cette boîte de dialogue, vous devez sélectionner les objets que vous souhaitez aligner puis choisir la commande **Alignement...** dans le sous-menu **Aligner** du menu **Objets** ou du menu contextuel de l’éditeur. -- In the “Left/Right Alignment” and/or “Top/Bottom Alignment” areas, click the icon that corresponds to the alignment you want to perform.The example area displays the results of your selection. +- Cliquez sur l’icône d’alignement de votre choix dans les zones “Alignement droite/gauche” et/ou “Alignement haut/bas”.La zone d’exemple illustre le principe de l’opération sélectionnée.
-- To perform an alignment that uses the standard anchor scheme, click **Preview** or **Apply**.In this case 4D uses the object that is the furthest in the alignment’s direction as the anchor and aligns the other objects to that object. For instance, if you want to perform a right alignment on a set of objects, the rightmost object will be used as the anchor.OR:To align objects to a specific object, select the **Align on** option and select the object to which you want the other objects to be aligned from the object list. Dans ce cas, la position de l’objet de référence ne variera pas. +- Pour effectuer un alignement standard des objets sélectionnés, cliquez sur le bouton **Prévisualisation** ou **Appliquer**. Dans ce cas, 4D utilisera l’objet le plus avancé dans la direction de l’alignement comme “ancre” sur laquelle tous les autres objets vont être alignés. Par exemple, si vous alignez un groupe d’objets à droite, les objets seront alignés sur le côté droit de l’objet situé le plus à droite du groupe. OU BIEN :Pour aligner des objets sur un objet spécifique, sélectionnez l'option **Aligner sur** et sélectionnez l'objet sur lequel vous souhaitez que les autres objets soient alignés dans la liste des objets. Dans ce cas, la position de l’objet de référence ne variera pas.
-Vous pouvez prévisualiser le résultat réel de vos paramétrages en cliquant sur le bouton **Prévisualisation**. l’opération s’effectue dans l’éditeur de formulaires, mais la boîte de dialogue reste au premier plan. Vous pouvez alors Appliquer ou Annuler les modifications. +Vous pouvez prévisualiser le résultat réel de vos paramétrages en cliquant sur le bouton **Prévisualisation**. Les objets sont ensuite alignés dans l'éditeur de formulaires, mais comme la boîte de dialogue ne disparaît pas, vous pouvez toujours annuler ou appliquer l'alignement. > Cette boîte de dialogue combine l’alignement d’objets et leur répartition. Pour plus d’informations sur la répartition, reportez-vous au paragraphe [Répartir des objets](#distributing-objects). #### Utiliser l’alignement magnétique @@ -290,26 +295,26 @@ En ce qui concerne la répartition des objets, 4D propose une distance basée su Ce fonctionnement s’applique à tous les types d’objets des formulaires. Le magnétisme peut être activé ou désactivé à tout moment à l’aide de la commande **Activer la grille magnétique** du menu **Formulaire** ou du menu contextuel de l’éditeur. Il est également possible de définir l’activation par défaut de cette fonction dans la page **Préférences** >**Formulaires** (option **Activer l'auto-alignement par défaut**). Il est possible d’activer ou de désactiver manuellement la grille magnétique lorsqu’un objet est sélectionné en appuyant sur la touche **Ctrl** (Windows) ou **Control** (Mac Os). > Le magnétisme entraîne également l’observation de paliers lors du redimensionnement manuel des objets. -### Distributing objects +### Distribuer les objets -Vous pouvez répartir des objets de manière à ce qu’ils soient disposés en respectant un espacement égal entre eux. Pour cela, vous pouvez utiliser des commandes directes de répartition ou passer par l’intermédiaire de la boîte de dialogue d’alignement et répartition pour effectuer des répartitions spécifiques ou combiner alignement et répartition. The latter allows you to align and distribute objects in one operation. +Vous pouvez répartir des objets de manière à ce qu’ils soient disposés en respectant un espacement égal entre eux. Pour cela, vous pouvez utiliser des commandes directes de répartition ou passer par l’intermédiaire de la boîte de dialogue d’alignement et répartition pour effectuer des répartitions spécifiques ou combiner alignement et répartition. Cette dernière vous permet d'aligner et de répartir les objets en une seule opération. > Lorsque la [grille magnétique](#using-the-magnetic-grid) est activée, une aide visuelle est également fournie pour la répartition lors du déplacement manuel d’un objet. Pour répartir directement une sélection d’objets (verticalement ou horizontalement) : 1. Sélectionnez les objets (au moins trois) que vous souhaitez répartir. -2. In the toolbar, click on the distribution tool that corresponds to the distribution you want to apply.![](../assets/en/FormEditor/distributionTool.png)ORSelect a distribution menu command from the **Align** submenu in the **Object** menu or from the context menu of the editor.4D distributes the objects accordingly. Les objets sont répartis en fonction de la distance entre leurs centres et la plus grande distance entre deux objets consécutifs est utilisée comme référence. +2. Dans la barre d’outils, cliquez sur l’outil de répartition qui correspond la répartition que vous souhaitez appliquer.![](../assets/en/FormEditor/distributionTool.png)
OUSélectionnez une commande de distribution dans le sous-menu **Alignement** du menu **Objet** ou dans le menu contextuel de l'éditeur.
4D distribue les objets en conséquence. Les objets sont répartis en fonction de la distance entre leurs centres et la plus grande distance entre deux objets consécutifs est utilisée comme référence. Pour répartir des objets à l’aide de la boîte de dialogue d'alignement et répartition : 1. Sélectionnez les objets que vous souhaitez répartir. -2. Choose the **Alignment** command from the **Align** submenu in the **Object** menu or from the context menu of the editor.The following dialog box appears:![](../assets/en/FormEditor/alignmentAssistant.png) +2. Choisissez la commande **Alignement...** dans le sous-menu **Aligner** du menu **Objets** ou du menu contextuel de l’éditeur. La boîte de dialogue suivante apparaît :![](../assets/en/FormEditor/alignmentAssistant.png) -3. In the Left/Right Alignment and/or Top/Bottom Alignment areas, click the standard distribution icon: ![](../assets/en/FormEditor/horizontalDistribution.png)(Standard horizontal distribution icon)The example area displays the results of your selection. +3. Cliquez sur l’icône de répartition standard (horizontale ou verticale) de votre choix: ![](../assets/en/FormEditor/horizontalDistribution.png)(icône de répartition horizontale standard)
La zone d’exemple illustre le principe de l’opération sélectionnée. -4. To perform a distribution that uses the standard scheme, click **Preview** or *Apply*.In this case 4D will perform a standard distribution, so that the objects are set out with an equal amount of space between them.OR:To execute a specific distribution, select the **Distribute** option (for example if you want to distribute the objects based on the distance to their right side). This option acts like a switch. Lorsque l'option Répartir est cochée, les icônes situées au-dessous d’elle s’appliquent alors à la répartition : +4. Pour effectuer une répartition standard, cliquez sur le bouton **Prévisualisation** ou *Appliquer*.Dans ce cas, les objets seront répartis de manière à ce que leurs côtés soient équidistants (répartition standard).
OU BIEN :Pour exécuter une distribution spécifique, sélectionnez l'option **Répartir** (par exemple si vous souhaitez répartir les objets en fonction de la distance de leur côté droit). Cette option agit comme un interrupteur. Lorsque l'option Répartir est cochée, les icônes situées au-dessous d’elle s’appliquent alors à la répartition :
- Horizontalement, les icônes correspondent aux répartitions suivantes : équidistance des côtés gauches, des centres (hor.) et des côtés droits des objets sélectionnés. - Verticalement, les icônes correspondent aux répartitions suivantes : équidistance des bords supérieurs, des centres (vert.) et des bords inférieurs des objets sélectionnés. @@ -319,7 +324,7 @@ Pour répartir des objets à l’aide de la boîte de dialogue d'alignement et r ### Gérer les plans des objets -Il est parfois nécessaire de réorganiser certains objets qui occultent d’autres objets du formulaire. Par exemple, vous pouvez souhaiter voir apparaître un graphique derrière les champs dans un formulaire. 4D propose 4 commandes, **Passer au dernier plan**, **Passer au premier plan**, **Plan suivant** et **Plan précédent**, qui vous permettent d’organiser les plans des objets du formulaire. These layers also determine the default entry order (see Modifying data entry order). La fenêtre ci-dessous représente des objets organisés en couches : +Il est parfois nécessaire de réorganiser certains objets qui occultent d’autres objets du formulaire. Par exemple, vous pouvez souhaiter voir apparaître un graphique derrière les champs dans un formulaire. 4D propose 4 commandes, **Passer au dernier plan**, **Passer au premier plan**, **Plan suivant** et **Plan précédent**, qui vous permettent d’organiser les plans des objets du formulaire. Ces plans déterminent également l'ordre de saisie par défaut (voir Modification de l'ordre de saisie des données). La fenêtre ci-dessous représente des objets organisés en couches : ![](../assets/en/FormEditor/layering.png) @@ -338,15 +343,15 @@ Pour ordonner les différents plans, 4D va toujours de l’arrière-plan vers l L’ordre de saisie est l’ordre dans lequel les champs, les sous-formulaires et les autres objets actifs sont sélectionnés lorsque vous appuyez sur la touche **Tabulation** ou **Retour chariot** dans un formulaire. Il est possible de parcourir le formulaire dans le sens inverse de l’ordre de saisie en appuyant sur les touches **Maj+Tabulation** ou **Maj+Retour chariot**. -> You can change the entry order at runtime using the `FORM SET ENTRY ORDER` and `FORM GET ENTRY ORDER` commands. +> Vous pouvez modifier l'ordre de saisie en cours d'exécution en utilisant les commandes `FORM SET ENTRY ORDER` et `FORM GET ENTRY ORDER`. -Every object that supports the focusable property is included in the data entry order by default. +Chaque objet qui prend en charge la propriété focusable est inclus dans l'ordre de saisie des données par défaut. -Setting the entry order for a JSON form is done with the [`entryOrder`](properties_JSONref.md) property. +Définir l'ordre de saisie pour un formulaire JSON s'effectue avec la propriété \[`entryOrder`\](properties_JSONref.md) . -If you don’t specify a custom entry order, by default 4D uses the layering of the objects to determine the entry order in the direction “background towards foreground.” The standard entry order thus corresponds to the order in which the objects were created in the form. Par défaut, l’ordre de saisie correspond donc à l’ordre de création des objets dans le formulaire. +Si vous ne spécifiez pas d’ordre de saisie personnalisé, 4D utilise par défaut le plan des objets comme ordre de saisie, dans le sens “arrière-plan vers premier plan.” Par défaut, l’ordre de saisie correspond donc à l’ordre de création des objets dans le formulaire. -Dans certains formulaires, il est nécessaire de définir un ordre de saisie personnalisé. Ci-dessous par exemple, des champs supplémentaires relatifs à l’adresse ont été ajoutés après la création du formulaire. The resulting standard entry order thus becomes illogical and forces the user to enter the information in an awkward manner: +Dans certains formulaires, il est nécessaire de définir un ordre de saisie personnalisé. Ci-dessous par exemple, des champs supplémentaires relatifs à l’adresse ont été ajoutés après la création du formulaire. L'ordre de saisie qui en résulte devient donc illogique et force l'utilisateur à entrer les informations de manière maladroite : ![](../assets/en/FormEditor/entryOrder1.png) @@ -362,13 +367,15 @@ Ce paragraphe décrit la visualisation et la modification de l’ordre de saisie Pour visualiser ou modifier l’ordre de saisie : -1. Choose **Entry Order** from the **Form** menu or click on the Entry Order button in the toolbar of the window:![](../assets/en/FormEditor/zOrder.png)The pointer turns into an entry order pointer and 4D draws a line in the form showing the order in which it selects objects during data entry.Viewing and changing the data entry order are the only actions you can perform until you click any tool in the Tools palette. +1. Sélectionnez **Ordre de saisie** dans le menu **Formulaire** ou cliquez sur le bouton dans la barre d’outils de la fenêtre :![](../assets/en/FormEditor/zOrder.png)
+ + Le pointeur prend la forme d’un pointeur d’ordre, et 4D dessine une ligne qui permet de visualiser la séquence de l’ordre de saisie courant. Visualiser et modifier l’ordre de saisie sont les seules opérations que vous pouvez réaliser dans ce mode. -2. To change the data entry order, position the pointer on an object in the form and, while holding down the mouse button, drag the pointer to the object you want next in the data entry order.![](../assets/en/FormEditor/entryOrder3.png)4D will adjust the entry order accordingly. +2. Pour changer l’ordre de saisie, placez le pointeur sur un objet, cliquez dessus et, tout en maintenant le bouton de la souris enfoncé, déplacez le pointeur vers l’objet qui doit le suivre dans l’ordre de saisie.![](../assets/en/FormEditor/entryOrder3.png)
4D ajuste l’ordre de saisie en conséquence. 3. Répétez l’étape 2 autant de fois que nécessaire pour obtenir le nouvel ordre de saisie. -4. When you are satisfied with the data entry order, click any unselected tool in the toolbar or choose **Entry Order** from the **Form** menu.4D returns to normal operation of the Form editor. +4. Lorsque vous êtes satisfait de l’ordre de saisie, sélectionnez de nouveau la commande **Ordre de saisie** dans le menu **Formulaire**. 4D retourne dans le mode de fonctionnement normal de l’éditeur de formulaires. > Seul l’ordre de saisie de la page courante du formulaire est affiché. Si le formulaire contient des objets saisissables sur la page 0 ou provenant d’un formulaire hérité, l’ordre de saisie par défaut est le suivant : Objets de la page zéro du formulaire hérité > Objets de la page 1 du formulaire hérité > Objets de la page zéro du formulaire ouvert > Objets de la page courante du formulaire ouvert. @@ -385,43 +392,43 @@ Lorsque vous relâchez le bouton de la souris, les objets contenus ou touchés p #### Exclure un objet de l’ordre de saisie -By default, all objects that support the focusable property are included in the entry order. To exclude an object from the entry order: +Par défaut, tous les objets qui prennent en charge la propriété focusable sont inclus dans l'ordre de saisie. Pour exclure un objet de l’ordre de saisie: -1. Select the Entry order mode, then +1. Sélectionnez le mode ordre de saisie, puis -2. **shift-click** on the object +2. **Maj-clic** sur l'objet -3. **right-click** on the object and select **Remove from entry order** option from the context menu +3. **Clic droit** sur l'objet et sélectionnez l'option **Supprimer de l'ordre de saisie** dans le menu contextuel -## CSS Preview +## Aperçu CSS -The Form editor allows you to view your forms with or without applied CSS values. +L'éditeur de formulaire vous permet de visualiser vos formulaires avec ou sans les valeurs CSS appliquées. -When [style sheets](createStylesheet.md) have been defined, forms (including inherited forms and subforms) are opened in the CSS Preview mode for your operating system by default. +Lorsque des \[feuilles de style\](createStylesheet.md) ont été définis, les formulaires (y compris les formulaires hérités et les sous-formulaires) sont ouverts en mode Aperçu CSS pour votre système d'exploitation par défaut. -### Selecting CSS Preview Mode +### Sélection du mode Aperçu CSS -The Form editor toolbar provides a CSS button for viewing styled objects: +La barre d'outils de l'éditeur de formulaires fournit un bouton CSS pour la visualisation des objets stylés : ![](../assets/en/FormEditor/cssToolbar.png) -Select one of the following preview modes from the menu: +Sélectionnez l'un des modes de prévisualisation suivants dans le menu : -| Toolbar Icon | CSS Preview Mode | Description | -| --------------------------------------- | ---------------- | ------------------------------------------------------------------------------------------------------------- | -| ![](../assets/en/FormEditor/cssNo.png) | Aucun | No CSS values are applied in the form and no CSS values or icons displayed in the Property List. | -| ![](../assets/en/FormEditor/cssWin.png) | Windows | CSS values for Windows platform are applied in the form. CSS values and icons displayed in the Property List. | -| ![](../assets/en/FormEditor/cssMac.png) | macOS | CSS values for macOS platform are applied in the form. CSS values and icons displayed in the Property List. | -> If a font size too large for an object is defined in a style sheet or JSON, the object will automatically be rendered to accommodate the font, however the size of the object will not be changed. +| Icône de la barre d'outils | Mode d'aperçu CSS | Description | +| --------------------------------------- | ----------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | +| ![](../assets/en/FormEditor/cssNo.png) | Aucun | Aucune valeur CSS n'est appliquée dans le formulaire et aucune valeur CSS ou icône ne s'affiche dans la liste des propriétés. | +| ![](../assets/en/FormEditor/cssWin.png) | Windows | Les valeurs CSS pour la plate-forme Windows sont appliquées dans le formulaire. Les valeurs et les icônes CSS sont affichées dans la liste des propriétés. | +| ![](../assets/en/FormEditor/cssMac.png) | macOS | Les valeurs CSS pour la plate-forme macOS sont appliquées dans le formulaire. Les valeurs et les icônes CSS sont affichées dans la liste des propriétés. | +> Si une taille de police trop grande pour un objet est définie dans une feuille de style ou un JSON, l'objet sera automatiquement rendu pour s'adapter à la police, mais la taille de l'objet ne sera pas modifiée. -The CSS preview mode reflects the priority order applied to style sheets vs JSON attributes as defined in the [JSON vs Style Sheet](stylesheets.html#json-vs-style-sheet) section. +Le mode d'aperçu CSS reflète l'ordre de priorité appliqué aux feuilles de style par rapport aux attributs JSON tels que définis dans la section \[JSON vs Feuille de style\](stylesheets.html#json-vs-style-sheet). -Once a CSS preview mode is selected, objects are automatically displayed with the styles defined in a style sheet (if any). -> When copying or duplicating objects, only the CSS references (if any) and the JSON values are copied. +Une fois qu'un mode d'aperçu CSS est sélectionné, les objets sont automatiquement affichés avec les styles définis dans une feuille de style (le cas échéant). +> Lors de la copie ou de la duplication d'objets, seules les références CSS (le cas échéant) et les valeurs JSON sont copiées. -### CSS support in the Property List +### Prise en charge des CSS dans la liste des propriétés -In CSS Preview mode, if the value of an attribute has been defined in a style sheet, the attribute's name will appear with a CSS icon displayed next to it in the Property List. For example, the attribute values defined in this style sheet: +En mode Aperçu CSS, si la valeur d'un attribut a été définie dans une feuille de style, le nom de l'attribut apparaîtra à côté d'une icône CSS dans la liste des propriétés. Par exemple, les valeurs des attributs définies dans cette feuille de style : ```4d .myButton { @@ -431,20 +438,20 @@ stroke: #800080; } ``` -are displayed with a CSS icon in the Property List: +sont affichées avec une icône CSS dans la liste des propriétés : ![](../assets/en/FormEditor/cssPpropList.png) -An attribute value defined in a style sheet can be overridden in the JSON form description (except if the CSS includes the `!important` declaration, see below). In this case, the Property List displays the JSON form value in **bold**. You can reset the value to its style sheet definition with the **Ctrl + click** (Windows) or **Command + click** (macOs) shortcuts. -> If an attribute has been defined with the `!important` declaration for a group, an object within a group, or any object within a selection of multiple objects, that attribute value is locked and cannot be changed in the Property List. +Une valeur d'attribut définie dans une feuille de style peut être remplacée dans la description de formulaire JSON (sauf si la CSS inclut la déclaration `!important`, voir ci-dessous). Dans ce cas, la liste des propriétés affiche la valeur du formulaire JSON en **gras**. Vous pouvez réinitialiser la valeur à sa définition de feuille de style avec les raccourcis **Ctrl + clic** (Windows) ou **Command + clic** (macOs). +> Si un attribut a été défini avec la déclaration `!important` pour un groupe, un objet à l'intérieur d'un groupe ou n'importe quel objet dans une sélection de plusieurs objets, la valeur de cet attribut est verrouillée et ne peut pas être modifiée dans la liste des propriétés. -#### Property List CSS Icons +#### Icônes CSS dans la Liste des propriétés -| Icône | Description | -| --------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| ![](../assets/en/FormEditor/cssIcon.png) | Indicates that an attribute value has been defined in a style sheet | -| ![](../assets/en/FormEditor/cssImportant.png) | Indicates that an attribute value has been defined in a style sheet with the `!important` declaration | -| ![](../assets/en/FormEditor/cssIconMixed.png) | Displayed when an attribute value defined in a style sheet for at least one item in a group or a selection of multiple objects is different from the other objects | +| Icône | Description | +| --------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| ![](../assets/en/FormEditor/cssIcon.png) | Indique que la valeur d'un attribut a été définie dans une feuille de style | +| ![](../assets/en/FormEditor/cssImportant.png) | Indique que la valeur d'un attribut a été définie dans une feuille de style avec la déclaration `!important` | +| ![](../assets/en/FormEditor/cssIconMixed.png) | Affiché lorsque la valeur d'un attribut défini dans une feuille de style pour au moins un élément d'un groupe ou d'une sélection de plusieurs objets est différente des autres objets | ## Création de list box @@ -492,6 +499,26 @@ La list box finale : ![](../assets/en/FormEditor/listboxBuilderListbox.png) + +## Insérer des champs + +Le bouton **Insérer champs** insère tous les champs (à l'exception des champs de type objet et blob) de la table du formulaire dans le formulaire, avec leurs libellés et en respectant les normes d'interface. Cet assistant est un raccourci pour concevoir des formulaires de saisie ou des formulaires de liste basiques. + +Le bouton **Insérer champs** est uniquement disponible avec les formulaires table. + +L'apparence du formulaire final dépend du type de formulaire : + +- **Formulaire détail** : en cliquant sur le bouton **Insérer champs**, un formulaire en page est généré : + +![](../assets/en/FormEditor/insertFields2.png) + +- **Formulaire liste** : en cliquant sur le bouton **Insérer champs**, cela génère un formulaire en liste avec des champs organisés sur une seule ligne et des marqueurs de zone : + +![](../assets/en/FormEditor/insertFields3.png) + + + + ## Badges L’éditeur de formulaires 4D permet d’utiliser des badges afin de faciliter la visualisation des propriétés des objets. Ils se trouvent dans la barre d'outils du formulaire : @@ -576,6 +603,7 @@ Voici quelques éléments importants à connaitre avant de commencer à travaill #### Créer des vues + Tout objet créé dans un formulaire est placé dans la première vue ("Vue 1") du formulaire. La première vue 1 est **toujours** la vue par défaut, indiquée par (par défaut) après le nom. Le nom de la vue peut être modifié (voir [Renommer les vues](#renaming-views)), mais il demeure la vue par défaut. ![](../assets/en/FormEditor/createView.png) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-19/FormEditor/macros.md b/i18n/fr/docusaurus-plugin-content-docs/version-19/FormEditor/macros.md index 92573ef99423c9..562b773d31678d 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-19/FormEditor/macros.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-19/FormEditor/macros.md @@ -6,7 +6,7 @@ title: Macros de l'éditeur de formulaires L'éditeur de formulaires 4D prend en charge les macros. Une macro est un ensemble d'instructions permettant de réaliser une action ou une séquence d'actions. Lorsqu'elle est appelée, la macro exécutera ses instructions et, automatiquement, les actions. -Par exemple, si vous avez un rapport récurrent avec une mise en forme spécifique (par exemple, certains textes doivent apparaître en rouge et certains textes en vert), vous pouvez créer une macro pour définir automatiquement la couleur. Vous pouvez créer des macros pour l'éditeur de 4D Form qui peuvent : +Par exemple, si vous avez un rapport récurrent avec une mise en forme spécifique (par exemple, certains textes doivent apparaître en rouge et certains textes en vert), vous pouvez créer une macro pour définir automatiquement la couleur. Vous pouvez créer des macros pour l'éditeur de formulaires de 4D qui pourront : * Créer et exécuter du code 4D * Afficher les boîtes de dialogue @@ -42,29 +42,29 @@ Dans ce court exemple, vous verrez comment créer et appeler une macro qui ajout ```4d Function onInvoke($editor : Object)->$result : Object - - var $btnHello : Object - - // Create a "Hello" button - $btnHello:=New object("type"; "button"; \ - "text"; "Hello World!"; \ - "method"; New object("source"; "ALERT(\"Hello World!\")"); \ - "events"; New collection("onClick"); \ - "width"; 120; \ - "height"; 20; \ - "top"; 0; \ - "left"; 0) - - // Add button in the current page - $editor.editor.currentPage.objects.btnHello:=$btnHello - - // Select the new button in the form editor - $editor.editor.currentSelection.clear() //unselect elements - $editor.editor.currentSelection.push("btnHello") - - // Notify the modification to the 4D Form editor - $result:=New object("currentSelection"; $editor.editor.currentSelection;\ - "currentPage"; $editor.editor.currentPage) + + var $btnHello : Object + + // Créer un bouton "Hello" + $btnHello:=New object("type"; "button"; \ + "text"; "Hello World!"; \ + "method"; New object("source"; "ALERT(\"Hello World!\")"); \ + "events"; New collection("onClick"); \ + "width"; 120; \ + "height"; 20; \ + "top"; 0; \ + "left"; 0) + + // Ajouter le bouton dans la page courante + $editor.editor.currentPage.objects.btnHello:=$btnHello + + // Sélectionner le nouveau bouton dans l'éditeur de formulaires + $editor.editor.currentSelection.clear() //unselect elements + $editor.editor.currentSelection.push("btnHello") + + // Notifier l'éditeur de formulaires de la modification + $result:=New object("currentSelection"; $editor.editor.currentSelection;\ + "currentPage"; $editor.editor.currentPage) ``` You can then call the macro: ![](../assets/en/FormEditor/macroex1.png) ![](../assets/en/FormEditor/macroex2.png) @@ -106,12 +106,12 @@ La structure du fichier `formMacros.json` est la suivante : Voici la description du contenu du fichier JSON : -| Attribut | | | Type | Description | -| -------- | ------------------- | ------------------------ | ------ | ----------------------------------------------------------------- | -| macros | | | object | liste des macros définis | +| Attribut | | | Type | Description | +| -------- | ---------------- | ------------------------ | ------ | ----------------------------------------------------------------- | +| macros | | | object | liste des macros définis | | | `Please enter your name:
-- +
+
-- - - -
- - - - - -