Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
71 commits
Select commit Hold shift + click to select a range
7e8b46b
New translations orda-events.md (Spanish)
arnaud4d Aug 9, 2025
8d18ac6
New translations vectorclass.md (Spanish)
arnaud4d Aug 9, 2025
c93dbd0
New translations vectorclass.md (Spanish)
arnaud4d Aug 9, 2025
c5df95d
New translations orda-events.md (Spanish)
arnaud4d Aug 9, 2025
4ce3f27
New translations web.md (Japanese)
arnaud4d Aug 9, 2025
18d1650
New translations process-activity.md (Japanese)
arnaud4d Aug 9, 2025
a3613b5
New translations updates.md (Japanese)
arnaud4d Aug 9, 2025
cf9fb27
New translations orda-events.md (Japanese)
arnaud4d Aug 9, 2025
d4c932b
New translations orda-events.md (Japanese)
arnaud4d Aug 9, 2025
a8e10af
New translations ordaclasses.md (Japanese)
arnaud4d Aug 9, 2025
3b791bf
New translations updates.md (Portuguese, Brazilian)
arnaud4d Aug 9, 2025
9fb6648
New translations ordaclasses.md (Portuguese, Brazilian)
arnaud4d Aug 9, 2025
6f4fbb6
New translations authentication.md (Portuguese, Brazilian)
arnaud4d Aug 9, 2025
4bda4ab
New translations preemptiveweb.md (Portuguese, Brazilian)
arnaud4d Aug 9, 2025
eea4e14
New translations sessions.md (Portuguese, Brazilian)
arnaud4d Aug 9, 2025
ae99d2c
New translations webserverconfig.md (Portuguese, Brazilian)
arnaud4d Aug 9, 2025
b65abbd
New translations web.md (Portuguese, Brazilian)
arnaud4d Aug 9, 2025
4ed650a
New translations process-activity.md (Portuguese, Brazilian)
arnaud4d Aug 9, 2025
463ac73
New translations updates.md (Portuguese, Brazilian)
arnaud4d Aug 9, 2025
94d4eb3
New translations orda-events.md (Portuguese, Brazilian)
arnaud4d Aug 9, 2025
805ca7a
New translations orda-events.md (Portuguese, Brazilian)
arnaud4d Aug 9, 2025
9723731
New translations ordaclasses.md (Portuguese, Brazilian)
arnaud4d Aug 9, 2025
fe2fd71
New translations debuglogfiles.md (French)
arnaud4d Aug 9, 2025
6a6093e
New translations debuglogfiles.md (French)
arnaud4d Aug 9, 2025
60b9116
New translations updates.md (French)
arnaud4d Aug 9, 2025
ea5b0aa
New translations ordaclasses.md (French)
arnaud4d Aug 9, 2025
4a2efdd
New translations $queryplan.md (French)
arnaud4d Aug 9, 2025
a4414f6
New translations geninfo.md (French)
arnaud4d Aug 9, 2025
897f660
New translations authentication.md (French)
arnaud4d Aug 9, 2025
b74023c
New translations preemptiveweb.md (French)
arnaud4d Aug 9, 2025
5f56863
New translations sessions.md (French)
arnaud4d Aug 9, 2025
ded390b
New translations webserverconfig.md (French)
arnaud4d Aug 9, 2025
79ea81f
New translations web.md (French)
arnaud4d Aug 9, 2025
e39af93
New translations process-activity.md (French)
arnaud4d Aug 9, 2025
6be96ea
New translations debuglogfiles.md (French)
arnaud4d Aug 9, 2025
66139ee
New translations updates.md (French)
arnaud4d Aug 9, 2025
47badba
New translations $queryplan.md (French)
arnaud4d Aug 9, 2025
4fbc978
New translations geninfo.md (French)
arnaud4d Aug 9, 2025
3b6752e
New translations orda-events.md (French)
arnaud4d Aug 9, 2025
ffc778b
New translations create-deployment-license.md (French)
arnaud4d Aug 9, 2025
126a908
New translations debuglogfiles.md (French)
arnaud4d Aug 9, 2025
4ec2163
New translations orda-events.md (French)
arnaud4d Aug 9, 2025
650bb62
New translations ordaclasses.md (French)
arnaud4d Aug 9, 2025
5ecf83c
New translations $queryplan.md (French)
arnaud4d Aug 9, 2025
14e4667
New translations geninfo.md (French)
arnaud4d Aug 9, 2025
d8e4ada
New translations create-deployment-license.md (French)
arnaud4d Aug 9, 2025
add5645
New translations updates.md (Spanish)
arnaud4d Aug 9, 2025
27e05a6
New translations ordaclasses.md (Spanish)
arnaud4d Aug 9, 2025
7e3f507
New translations authentication.md (Spanish)
arnaud4d Aug 9, 2025
127a895
New translations preemptiveweb.md (Spanish)
arnaud4d Aug 9, 2025
086c047
New translations sessions.md (Spanish)
arnaud4d Aug 9, 2025
07a0995
New translations webserverconfig.md (Spanish)
arnaud4d Aug 9, 2025
4aa87f0
New translations web.md (Spanish)
arnaud4d Aug 9, 2025
9b89c41
New translations process-activity.md (Spanish)
arnaud4d Aug 9, 2025
f580f98
New translations form-event-code.md (Spanish)
arnaud4d Aug 9, 2025
845c386
New translations print-form.md (Spanish)
arnaud4d Aug 9, 2025
07ce6a3
New translations http-request-handler.md (Spanish)
arnaud4d Aug 9, 2025
c34ea03
New translations updates.md (Spanish)
arnaud4d Aug 9, 2025
c8c4be3
New translations http-request-handler.md (Spanish)
arnaud4d Aug 9, 2025
bad4467
New translations form-event-code.md (Spanish)
arnaud4d Aug 9, 2025
a0464aa
New translations print-form.md (Spanish)
arnaud4d Aug 9, 2025
6d12873
New translations ordaclasses.md (Spanish)
arnaud4d Aug 9, 2025
b81adef
New translations http-request-handler.md (Spanish)
arnaud4d Aug 9, 2025
f526455
New translations form-event-code.md (Spanish)
arnaud4d Aug 9, 2025
70f4be1
New translations print-form.md (Spanish)
arnaud4d Aug 9, 2025
f4d953d
New translations updates.md (Japanese)
arnaud4d Aug 9, 2025
d6ce6a4
New translations ordaclasses.md (Japanese)
arnaud4d Aug 9, 2025
78a219a
New translations authentication.md (Japanese)
arnaud4d Aug 9, 2025
5b9f69d
New translations preemptiveweb.md (Japanese)
arnaud4d Aug 9, 2025
c69bc2a
New translations sessions.md (Japanese)
arnaud4d Aug 9, 2025
611fe36
New translations webserverconfig.md (Japanese)
arnaud4d Aug 9, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
60 changes: 30 additions & 30 deletions i18n/es/docusaurus-plugin-content-docs/current/API/VectorClass.md

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,12 @@ Lea [**Novedades en 4D 21**](https://blog.4d.com/en-whats-new-in-4d-21/), la ent
- New "trim" commands to remove leading and trailing spaces from a string: [`Trim`](../commands/trim.md), [`Trim start`](../commands/trim-start.md), and [`Trim end`](../commands/trim-end.md).
- Los comandos [`Num`](../commands/num.md) y [`String`](../commands/string.md) han sido actualizados para soportar conversiones en diferentes bases (radix).

#### Cambios de comportamiento

- Web services (SOAP): when [scalable sessions](../WebServer/sessions.md#enabling-web-sessions) are enabled, web services now run in [**preemptive processes**](../Develop/preemptive.md) in compiled mode. Make sure your SOAP code is thread-safe.
- Web server: the support of deprecated `4DSYNC/` and `4DCGI/` URLs is removed. No specific processing is done on these URLs anymore.
- Web user sessions are now returned by [`Process activity`](../commands/process-activity.md).

## 4D 20 R10

Lea las [**Novedades en 4D 20 R10**](https://blog.4d.com/en-whats-new-in-4d-20-R10/), la entrada del blog que muestra todas las nuevas funcionalidades y mejoras en 4D 20 R10.
Expand Down
80 changes: 71 additions & 9 deletions i18n/es/docusaurus-plugin-content-docs/current/ORDA/orda-events.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@ title: Eventos ORDA

<details><summary>Historia</summary>

| Lanzamiento | Modificaciones |
| ----------- | -------------- |
| 20 R10 | Añadidos |
| Lanzamiento | Modificaciones |
| ----------- | ------------------- |
| 20 R10 | touched event added |

</details>

Expand Down Expand Up @@ -93,16 +93,12 @@ This event is triggered each time a value is modified in the entity.
This event is triggered as soon as the 4D Server / 4D engine can detect a modification of attribute value which can be due to the following actions:

- in **client/server with the [`local` keyword](../ORDA/ordaClasses.md#local-functions)** or in **4D single-user**:
- el usuario define un valor en un formulario 4D,
- the 4D code makes an assignment with the `:=` operator. The event is also triggered in case of self-assignment (`$entity.attribute:=$entity.attribute`).
- el usuario define un valor en un formulario 4D,
- the 4D code makes an assignment with the `:=` operator. The event is also triggered in case of self-assignment (`$entity.attribute:=$entity.attribute`).
- in **client/server without the `local` keyword**: some 4D code that makes an assignment with the `:=` operator is [executed on the server](../commands-legacy/execute-on-server.md).
- in **client/server without the `local` keyword**, in **[Qodly application](https://developer.qodly.com/docs)** and **[remote datastore](../commands/open-datastore.md)**: the entity is received on 4D Server while calling an ORDA function (on the entity or with the entity as parameter). It means that you might have to implement a *refresh* or *preview* function on the remote application that sends an ORDA request to the server and triggers the event.
- with the REST server: the value is received on the REST server with a [REST request](../REST/$method.md#methodupdate) (`$method=update`)

:::note

:::

The function receives an [*event* object](#event-parameter) as parameter.

If this event [throws](../commands-legacy/throw.md) an error, it will not stop the undergoing action.
Expand Down Expand Up @@ -154,6 +150,72 @@ Function event touched arrivalDate($event : Object)

```

#### Example 3 (diagram): Client/server with the `local` keyword:

```mermaid

sequenceDiagram

Client->>+Server: $people:=ds.People.all().first()

Client->>+Client: $people.lastname:="Brown"
Note over Client: local Function event touched lastname($event : Object) <br> This.lastname:=Uppercase(This.lastname)

Note over Client:$people.lastname is uppercased

Client->>+Server: $people.apply()

Note over Server: The $people entity is received with the lastname attribute uppercased

```

#### Example 4 (diagram): Client/server without the `local` keyword

```mermaid

sequenceDiagram

Client->>+Server: $people:=ds.People.all().first()

Client->>+Client: $people.lastname:="Brown"

Note over Client:$people.lastname is not uppercased

Client->>+Server: $people.apply()

Note over Server: Function event touched lastname($event : Object) <br> This.lastname:=Uppercase(This.lastname)

Server-->>-Client: The $people entity is updated

Note over Client:$people.lastname is uppercased


```

#### Ejemplo 5 (diagrama): Aplicación Qodly

```mermaid

sequenceDiagram

Qodly page->>+ Server: Get an entity into the People Qodly source

Qodly page->>+Qodly page: The user updates People.lastname

Note over Qodly page: The People Qodly source lastname attribute is not uppercased

Qodly page->>+ Server: Function call People.apply()

Note over Server: Function event touched lastname($event : Object) <br> This.lastname:=Uppercase(This.lastname)

Server-->>-Qodly page: The People Qodly source is updated
Note over Qodly page: The People Qodly source lastname attribute is uppercased


```






Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -355,7 +355,7 @@ Dado que funciones como [`dataClass.fromCollection()`](../API/DataClassClass.md#

:::

#### Ejemplo
#### Ejemplo 1

```4d

Expand All @@ -367,6 +367,83 @@ Class constructor()

```

#### Ejemplo 2 (diagrama): cliente/servidor

```mermaid

sequenceDiagram

Client->>+Client: Form.product:=ds.Products.new()

Note over Client: Class constructor <br> This.creationDate:=Current date() <br>This.comment:="Automatic comment"

Note over Client: Form.product.creationDate is "06/17/25" <br> Form.product.comment is "Automatic comment"

Client->>+Server: Form.product.save()

Server-->>-Client: Success


```

#### Ejemplo 3 (diagrama): Qodly - Acción estándar

```mermaid

sequenceDiagram

Qodly page->>+ Qodly page: Standard action Create a new entity (product Qodly source)

Qodly page->>+Server: Function call product.apply() OR Save standard action for the product Qodly source

Note over Server: Class constructor <br> This.creationDate:=Current date() <br>This.comment:="Automatic comment"

Server-->>-Qodly page: The product Qodly source creationDate and comment attributes are filled

Note over Qodly page: product.creationDate is "06/17/25" <br> and product.comment is "Automatic comment"

```

#### Example 4 (diagram): Qodly - Standard action and update value on the newly created entity

```mermaid

sequenceDiagram

Qodly page->>+ Qodly page: Standard action Create a new entity (product Qodly source)

Qodly page->>+ Qodly page: Update product comment with "Front end comment"

Qodly page->>+Server: Function call product.apply() OR Save standard action for the product Qodly source

Note over Server: Class constructor <br> This.creationDate:=Current date() <br>This.comment:="Automatic comment"

Note over Server: The comment attribute is set with "Front end comment"

Server-->>-Qodly page: The product Qodly source creationDate and comment attributes are filled

Note over Qodly page: product.creationDate is "06/17/25" <br> and product.comment is "Front end comment"

```

#### Example 5 (diagram): Qodly - Entity instanciated in a function

```mermaid

sequenceDiagram

Qodly page->>+Server: product Qodly source := Function call Products.createNew()

Note over Server: CreateNew() function on the Products class <br>return This.new()

Note over Server: Class constructor <br> This.creationDate:=Current date() <br>This.comment:="Automatic comment"

Server-->>-Qodly page: The product entity creationDate and comment attributes are filled

Note over Qodly page: product.creationDate is "06/17/25" <br>and product.comment is "Automatic comment"

```

## Atributos calculados

### Generalidades
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ El método base `On Web Authentication` se llama automáticamente cuando una sol
Por tanto, se llama al método base `On Web Authentication`:

- cuando el servidor web recibe una URL que solicita un recurso que no existe
- cuando el servidor web recibe una URL que empieza por `4DACTION/`, `4DCGI/`...
- when the web server receives a URL beginning with `4DACTION/`
- cuando el servidor web recibe una URL de acceso raíz y no se ha definido ninguna página de inicio en los Parámetros o mediante el comando [`WEB SET HOME PAGE`](../commands-legacy/web-set-home-page.md)
- cuando el servidor web procesa una etiqueta que ejecuta código (por ejemplo, `4DSCRIPT`) en una página semidinámica.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ URL patterns can be given as **prefixes** or using **regular expressions**.
Ej: `"pattern": "docs"` o `"pattern": "docs/invoices"`

- To declare a regular expression pattern, use the "regexPattern" property name in the HTTPHandlers.json file. Los modelos de expresiones regulares se manejan directamente.
Ex: `"regexPattern" : "/docs/.+/index\.html"`
Ej: `"regexPattern" : "/docs/.+/index\.html"`

"Pattern" and "regexPattern" properties cannot be used in the same handler definition (in this case, only the "regexPattern" property is taken into account).

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,10 +26,11 @@ La siguiente tabla indica si el modo apropiativo se utiliza o está disponible,
- Servidor REST: gestiona las [funciones de clase del modelo de datos ORDA](../REST/ClassFunctions.md)
- 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:
- cuando se selecciona la opción de [**sesiones escalables**](sessions.md#enabling-web-sessions), el modo apropiativo se utiliza automáticamente 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. Sólo tiene que seleccionar la propiedad "Puede ejecutarse en procesos apropiativos" para los métodos del servidor SOAP publicados (ver [Publicación de un servicio web con 4D](https://doc.4d.com/4Dv20/4D/20.2/Publishing-a-Web-Service-with-4D.300-6750334.en.html)) o los métodos del cliente proxy (ver [Suscripción a un servicio web en 4D](https://doc.4d.com/4Dv20/4D/20.2/Subscribing-to-a-Web-Service-in-4D.300-6750336.en.html)) y asegurarse de que el compilador confirme que son hilo seguro.
- ***web setting*** means that the preemptive mode depends on the [**scalable sessions**](sessions.md#enabling-web-sessions) status:
- if scalable sessions are enabled, the preemptive mode is automatically used for web and web service processes.
- if scalable sessions are not enabled:
- for web processes, the [**Use preemptive processes**](webServerConfig.md#use-preemptive-processes) option is taken into account.
- for web service processes (server or client), preemptive mode is supported at method level.

## Escribir código servidor web hilo seguro

Expand All @@ -51,7 +52,7 @@ Todo el código 4D ejecutado por el servidor web debe ser hilo seguro si quiere

- [funciones de clase del modelo de datos ORDA](../REST/ClassFunctions.md) llamadas vía REST

Para cada uno de estos métodos y partes de código, el compilador comprobará si se respetan las reglas de seguridad de hilos, y devolverá errores en caso de que haya problemas. Para más información sobre las reglas hilo seguro, consulte el párrafo *Escribir un método hilo seguro* en el capítulo *Procesos* del manual de [Lenguaje 4D](https://doc.4d.com).
For each of these methods and code parts, the compiler will check if the [thread-safety rules are respected](../Develop/preemptive.md#writing-a-thread-safe-method), and will return errors in case of issues.

## Código web 4D hilo seguro

Expand All @@ -73,7 +74,6 @@ Por supuesto, el código ejecutado por estos métodos también debe ser hilo seg
Las siguientes URLs 4D Web Server son hilo seguro y pueden ser utilizadas en modo apropiativo:

- *4daction/* (el método proyecto llamado también debe ser hilo seguro)
- *4dcgi/* (los métodos base llamados también deben ser hilo seguro)
- *4dwebtest/*
- *4dblank/*
- *4dstats/*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ Las sesiones web permiten:

Las sesiones web se utilizan para:

- [Aplicaciones web](gettingStarted.md) que envían peticiones http,
- [Web applications](gettingStarted.md) sending http requests (including [SOAP Web services](../commands/theme/Web_Services_Server.md) and [/4DACTION](../WebServer/httpRequests.md#4daction) requests),
- llamadas a la [REST API](../REST/authUsers.md), que utilizan [datastores remotos](../ORDA/remoteDatastores.md) y [formularios Qodly](qodly-studio.md).

## Habilitando sesiones web
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -597,10 +597,6 @@ Esta opción activa el modo apropiativo para el código del servidor web de su a

Los parámetros siguientes siguen siendo compatibles, pero se basan en funcionalidades o tecnologías obsoletas. Generalmente se recomienda mantener los valores por defecto.

#### Autorizar el acceso a la base de datos a través de las URL 4DSYNC

Esta opción controla el soporte de las peticiones de sincronización HTTP que contienen las URLs obsoletas */4DSYNC*.

#### Validación de la dirección IP de la sesión

> Esta opción no está disponible en [modo sesiones evolutivas](WebServer/sessions.md) (no hay validación).
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -300,7 +300,7 @@ En este ejemplo, el evento formulario [`On Scroll`](../Events/onScroll.md) nos p
 End case
```

Result: https://www.youtube.com/watch?v=YIRfsW1BmHE
Resultado: https://www.youtube.com/watch?v=YIRfsW1BmHE

## Ejemplo 13

Expand Down
Loading
Loading