Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
97fa6b6
21.2 lts update
arnaud4d Aug 31, 2026
5145372
New Crowdin updates (#3397)
arnaud4d Sep 1, 2026
86055f7
Merge branch '4d:main' into main
arnaud4d Sep 1, 2026
85eb3bb
fixed table for set rgb color
arnaud4d Sep 1, 2026
8d01b63
Feature/winui list form (#3398)
arnaud4d Sep 1, 2026
bc49d7e
Fixing ES issues in OB commands (#3399)
sandritica Sep 2, 2026
e8c3fe4
New Crowdin updates (#3400)
arnaud4d Sep 2, 2026
1bed550
Update selection-to-array.md (#3401)
nobuteshima Sep 2, 2026
bf4059c
Update use-character-set.md (#3402)
nobuteshima Sep 2, 2026
470216f
Update encrypt-data-file.md (#3403)
nobuteshima Sep 2, 2026
640f17c
Update form-get-objects.md (#3405)
nobuteshima Sep 2, 2026
f2117fd
Update graph.md (#3406)
nobuteshima Sep 2, 2026
14af7a4
fixes and updates css, licenses
arnaud4d Sep 2, 2026
0b926e7
fix again licenses
arnaud4d Sep 3, 2026
b1706b8
New Crowdin updates (#3404)
arnaud4d Sep 3, 2026
0623e50
Update get-list-item-font.md (#3407)
nobuteshima Sep 3, 2026
6a4e5a9
Update get-list-item-icon.md (#3408)
nobuteshima Sep 3, 2026
3dd412c
fixed license all lang
arnaud4d Sep 3, 2026
c1b6a78
detail area support
arnaud4d Sep 3, 2026
bc6392f
Update get-list-item-parameter-arrays.md (#3409)
nobuteshima Sep 4, 2026
ba6dec2
Update get-list-item-parameter.md (#3410)
nobuteshima Sep 4, 2026
4176133
Update get-list-item-properties.md (#3411)
nobuteshima Sep 4, 2026
4e6f7bc
Update get-list-item.md (#3412)
nobuteshima Sep 4, 2026
46a5119
Update insert-in-list.md (#3413)
nobuteshima Sep 4, 2026
cad7d67
Update list-item-parent.md (#3414)
nobuteshima Sep 4, 2026
7d728ef
fix buildappsettings
arnaud4d Sep 4, 2026
9f92e3c
fix suite
arnaud4d Sep 4, 2026
cd31fd3
New Crowdin updates (#3415)
arnaud4d Sep 7, 2026
dcd85fc
fixes from Keisuke's IA
arnaud4d Sep 7, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion docs/API/QuotaManagerClass.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ The `4D.QuotaManager` class provides you with an interface to configure and moni

||
|---|
|[<!-- INCLUDE #QuotaManagerClass.currentValues.Syntax -->](#currentvalues)<br/><!-- INCLUDE #QuotaManagerClass.defaultcurrentValuesEntitySetTimeout.Summary -->|
|[<!-- INCLUDE #QuotaManagerClass.currentValues.Syntax -->](#currentvalues)<br/><!-- INCLUDE #QuotaManagerClass.currentValues.Summary -->|
|[<!-- INCLUDE #QuotaManagerClass.defaultEntitySetTimeout.Syntax -->](#defaultentitysettimeout)<br/><!-- INCLUDE #QuotaManagerClass.defaultEntitySetTimeout.Summary -->|
|[<!-- INCLUDE #QuotaManagerClass.maxEntitySetTimeout.Syntax -->](#maxentitysettimeout)<br/><!-- INCLUDE #QuotaManagerClass.maxEntitySetTimeout.Summary -->|
|[<!-- INCLUDE #QuotaManagerClass.nbEntitySets.Syntax -->](#nbentitysets)<br/><!-- INCLUDE #QuotaManagerClass.nbEntitySets.Summary -->|
Expand Down
2 changes: 1 addition & 1 deletion docs/FormEditor/createStylesheet.md
Original file line number Diff line number Diff line change
Expand Up @@ -329,7 +329,7 @@ icon: url("edit.png"); /* relative path to the form file */
* For `fill`, `stroke` , `alternateFill` , `horizontalLineStroke` and `verticalLineStroke`, three syntaxes are supported:

* CSS color name: `fill: red;`
* Hexa value: `fill: #FF0000;`
* Hexa value: `fill: #FF0000;` (only 6 characters, transparency is not supported)
* the `rgb()` function: `fill:rgb(255,0,0)`

* If a string uses forbidden characters in CSS, you can surround the string with simple or double quotes. For example:
Expand Down
13 changes: 4 additions & 9 deletions docs/FormEditor/forms.md
Original file line number Diff line number Diff line change
Expand Up @@ -282,13 +282,6 @@ A multi-page form has both a background page and several display pages. Objects

## Fluent UI rendering

:::caution Developer Preview

Fluent UI support is currently in the Developer Preview phase. It should not be used in production.

:::


On Windows, 4D supports **Fluent UI** form rendering, Microsoft's modern graphical user interface design, based upon **WinUI 3** technology. **WinUI 3** is the foundation of the Windows App SDK and represents the upcoming Windows graphical interfaces.

Fluent UI rendering offers modern and attractive controls, support of dark/light system themes, smoother rendering optimized for high-resolution displays, and consistent user experience aligned with recent Microsoft applications.
Expand All @@ -307,8 +300,9 @@ This feature can be used **in 4D projects on Windows**. It is not available on m

:::tip Related blog posts

[Modernize your 4D interfaces with Fluent UI](https://blog.4d.com/modernize-your-4d-interfaces-with-fluent-ui)<br/>
[Deploy Fluent UI effortlessly in your 4D applications](https://blog.4d.com/deploy-fluent-ui-effortlessly-in-your-4d-applications)
[Modernize your 4D interfaces with Fluent UI](https://blog.4d.com/modernize-your-4d-interfaces-with-fluent-ui)<br/>
[Deploy Fluent UI effortlessly in your 4D applications](https://blog.4d.com/deploy-fluent-ui-effortlessly-in-your-4d-applications)
[Fluent UI Comes to List Forms](https://blog.4d.com/fluent-ui-comes-to-list-forms)

:::

Expand Down Expand Up @@ -365,6 +359,7 @@ When using 4D forms with Fluent UI rendering, you need to pay attention to the f
- [Circle buttons](../FormObjects/button_overview.md#circle) are supported (similar as macOS).
- The [`WA ZOOM IN`](../commands/wa-zoom-in) / [`WA ZOOM OUT`](../commands/wa-zoom-out) commands are not supported in Web areas with system rendering engine.
- A focus ring can be added to picture and text [inputs](../FormObjects/input_overview.md).
- In [list forms](../FormEditor/properties_FormProperties.md#form-type), objects located in the [Header or Footer areas](./properties_Markers.md) are always displayed on a background layer, while those in the Detail area are displayed in the foreground. Unlike in the Classic rendering, an object that extends beyond the Header boundaries will always be drawn under the objects in the Detail area.



Expand Down
2 changes: 2 additions & 0 deletions docs/FormEditor/properties_Markers.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,8 @@ The form Detail area is displayed on the screen and printed once for each record

You can make the Detail area smaller or larger. Whatever you place in the Detail area is displayed or printed once for each record. Most often you place fields or variables in the Detail area so that the information in each record is displayed or printed, but you can place other elements in the Detail area as well.

The following form objects are **not supported** in the Detail area (i.e. they are not repeated for each record): [Web areas](../FormObjects/webArea_overview.md), [4D View Pro areas](../FormObjects/viewProArea_overview.md), [listboxes](../FormObjects/listbox_overview.md), [hierarchical lists](../FormObjects/list_overview.md), [splitters](../FormObjects/splitters.md), [subforms](../FormObjects/subform_overview.md), and [plug-in areas](../FormObjects/pluginArea_overview.md).

#### JSON Grammar

|Name|Data Type|Possible Values|
Expand Down
2 changes: 2 additions & 0 deletions docs/Notes/updates.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,13 @@ Read [**What’s new in 4D 21 R5**](https://blog.4d.com/whats-new-in-4d-21-r5/),
#### Highlights

- Support of S/MIME email signing through new [`4D.SMTPTransporter`](../API/SMTPTransporterClass.md) class properties: [`.certificate`](../API/SMTPTransporterClass.md#certificate) or [`.certificateName`](../API/SMTPTransporterClass.md#certificatename) (certificate providing), and [`.certificatePassword`](../API/SMTPTransporterClass.md#certificatepassword).
- Support of list forms in [**fluent UI** rendering](../FormEditor/forms.md#fluent-ui-rendering) on Windows.

- [**Fixed bug list**](https://bugs.4d.fr/fixedbugslist?version=21_R5): list of all bugs that have been fixed in 4D 21 R5.




## 4D 21 R4

Read [**What’s new in 4D 21 R4**](https://blog.4d.com/whats-new-in-4d-21-r4/), the blog post that lists all new features and enhancements in 4D 21 R4.
Expand Down
10 changes: 4 additions & 6 deletions docs/Users/handling_users_groups.md
Original file line number Diff line number Diff line change
Expand Up @@ -153,20 +153,18 @@ Placing groups into other groups lets you create a user hierarchy. The users of

To remove a user or group from another group, you just need to deselect the corresponding option in the member attribution area.

### Assigning a group to a plug-in or to a server
### Assigning a license to a group

You can assign a group privileges to any plug-ins installed in the project. This includes all the 4D plug-ins and any third-party plug-ins.
You can assign a group privileges to any [extensions](../Extensions/overview.md) installed in the project. This includes all the 4D and third-party plug-ins and components.

Distributing access to the plug-ins lets you control the use of the licenses you possess for these plug-ins. Any users that do not belong to the access group of a plug-in cannot load this plug-in.
Distributing access to the extensions lets you control the use of the licenses you possess for these extensions in client/server environment. Any users that do not belong to the access group of an extension cannot load this extension.

> Used licenses remain attached to 4D user accounts in the group for the whole 4D session.

The “Plug-in” area on the Groups page of the tool box lists all the plug-ins loaded by the 4D application. To give a group access to a plug-in, you simply need to check the corresponding option.
The “Plug-in” area on the Groups page of the tool box lists all the extensions [requiring a license](../Admin/licenses.md) loaded by the 4D application. To give a group access to an extension, you simply need to check the corresponding option.

![](../assets/en/Users/plugins.png)

The **4D Client Web Server** and **4D Client SOAP Server** items lets you control the possibility of Web and SOAP (Web Services) publication for each 4D in remote mode. These licenses are considered as plug-in licenses by 4D Server. Therefore, in the same way as for plug-ins, you can restrict the right to use these licenses to a specific group of users.


### An access hierarchy scheme

Expand Down
2 changes: 1 addition & 1 deletion docs/ViewPro/getting-started.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ The easiest way to install 4D View Pro in an opened project is to use the Depend

Once you restart the project, the 4D View Pro component is installed as a [Github dependency](../Project/components.md#adding-a-github-or-gitlab-dependency).

4D View Pro requires a license. You need to activate this license in your application in order to use its features. When using this component without a license, the contents of an object that requires a 4D View Pro feature are not displayed at runtime, an error message is displayed instead:
4D View Pro requires a license. You need to activate and [assign this license in your application](../../Users/handling_users_groups.md#assigning-a-license-to-a-group) in order to use its features. When using this component without a license, the contents of an object that requires a 4D View Pro feature are not displayed at runtime, an error message is displayed instead:

![](../assets/en/ViewPro/licenseError.png)

Expand Down
2 changes: 1 addition & 1 deletion docs/WritePro/user-legacy/presentation.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ The key features of the product are:

4D Write Pro is fully integrated into 4D itself, making it easier to deploy and manage. No additional installation is required; you can add 4D Write Pro areas to your forms and handle 4D Write Pro variables directly in your 4D applications.

However, you need to have a 4D Write Pro license installed in your application in order to enable the feature.
However, you need to have a [4D Write Pro license installed in your application](../../Users/handling_users_groups.md#assigning-a-license-to-a-group) in order to enable the feature.

## Creating a 4D Write Pro area

Expand Down
Binary file modified docs/assets/en/Users/plugins.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion docs/language-legacy/BLOB/blob-to-list.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ displayed_sidebar: docs
| Parameter | Type | | Description |
| --- | --- | --- | --- |
| Blob | Blob | &#8594; | BLOB containing a hierarchical list |
| offset | Integer | &#8596; | Offset within the BLOB (expressed in bytes) |
| offset | Variable | &#8596; | Offset within the BLOB (expressed in bytes) |
|||| New offset after reading |
| Function result | Integer | &#8592; | Reference to newly created list |
</div>
Expand Down
2 changes: 1 addition & 1 deletion docs/language-legacy/Language/action-info.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ displayed_sidebar: docs
| --- | --- | --- | --- |
| action | Text | &#8594; | Standard action name or pattern including parameter if required |
| target | Integer | &#8594; | Defines the target of the action to get information: main form or current form |
| Function result | Object | &#8592; | Object containing action status as boolean properties: isEnabled, isVisible, isChecked, isMixed, isUnknownState |
| Function result | Object | &#8592; | Object containing action status as properties |
</div>
<!-- END REF-->

Expand Down
4 changes: 2 additions & 2 deletions docs/language-legacy/Objects (Forms)/object-set-rgb-colors.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,8 +47,8 @@ You can use "" (empty string) in *foregroundColor*, *backgroundColor*, and/or *a

You indicate RGB color values in *foregroundColor* and, optionally, *backgroundColor*, and *altBackgrndColor* parameters. The following formats are supported:

| **Format name** | **Type** | **Description** | **Examples** |
| ----------------------------- | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- |
| **Format name** | **Type** | **Description** | **Examples** |
| ------------ | -------- | --------------- | ---------------------- |
| CSS color name | Text | Standard CSS2 color name. <ul><li> List of available names can be found in various locations on the web, for example on the [htmlcolorcodes.com](https://htmlcolorcodes.com/color-names/) web site.</li><li>Use "transparent" to set transparency to background (can only be used with the *backgroundColor* and *altBackgrndColor* parameters).</li></ul> | "red", "cyan", "lightblue" |
| CSS color "#rrggbb" syntax | Text | Standard CSS2 hex color code:<ul><li>rr = red component of the color</li><li>gg = green component of the color</li><li>bb = blue component of the color </li> </ul>| "#ff0000", "#00FFFF", "#ADD8E6" |
| CSS color "rgb(r,g,b)" syntax | Text | Standard CSS2 rgb color code:<ul><li>r = red component of the color (0...255)</li><li>g = green component of the color (0...255)</li><li>b = blue component of the color (0...255) </li></ul>| "rgb(255,255,0)", "rgb(255,0,0)" |
Expand Down
2 changes: 1 addition & 1 deletion docs/language-legacy/Web Server/web-get-body-part.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ The *contents* parameter receives the contents of the part. When the parts to be

The *name* parameter receives the variable name of the HTTP input field.

The *mimeType* and *name* parameters receive the Mime type and the name of the original file, if any. A *name* is only received when the file was submitted as **<input type="file">**.
The *mimeType* and *name* parameters receive the Mime type and the name of the original file, if any. A *name* is only received when the file was submitted as `<input type="file">`.
*mimeType* and *name* are optional but must be passed together.

**Note:** In the context of a multi-part request, the first array of the [WEB GET VARIABLES](../commands/web-get-variables) command returns all parts of the form, in the same order as the **WEB GET BODY PART** command. You can use it in order to get the position of the parts of the form directly.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,10 @@ Los objetos 4D.QuotaManager ofrecen las siguientes propiedades:

| |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [<!-- INCLUDE #QuotaManagerClass.currentValues.Syntax -->](#currentvalues)<br/><!-- INCLUDE #QuotaManagerClass.defaultcurrentValuesEntitySetTimeout.Summary --> |
| [<!-- INCLUDE #QuotaManagerClass.currentValues.Syntax -->](#currentvalues)<br/><!-- INCLUDE #QuotaManagerClass.currentValues.Summary --> |
| [<!-- INCLUDE #QuotaManagerClass.defaultEntitySetTimeout.Syntax -->](#defaultentitysettimeout)<br/><!-- INCLUDE #QuotaManagerClass.defaultEntitySetTimeout.Summary --> |
| [<!-- INCLUDE #QuotaManagerClass.maxEntitySetTimeout.Syntax -->](#maxentitysettimeout)<br/><!-- INCLUDE #QuotaManagerClass.maxEntitySetTimeout.Summary --> |
| [<!-- INCLUDE #QuotaManagerClass.nbEntitySets.Syntax -->](#nbentitysets)<br/><!-- INCLUDE #QuotaManagerClass.nbEntitySets().Summary --> |
| [<!-- INCLUDE #QuotaManagerClass.nbEntitySets.Syntax -->](#nbentitysets)<br/><!-- INCLUDE #QuotaManagerClass.nbEntitySets.Summary --> |

<!-- REF QuotaManagerClass.currentValues.Desc -->

Expand Down Expand Up @@ -112,7 +112,7 @@ Session.quotas.maxEntitySetTimeout:=2400

#### Descripción

La propiedad `.nbEntitySets` contiene <!-- REF #QuotaManagerClass.nbEntitySets.Summary -->el número máximo de conjuntos de entidades REST permitidos en memoria para la sesión actual (en segundos)<!-- END REF -->.
The `.nbEntitySets` property contains <!-- REF #QuotaManagerClass.nbEntitySets.Summary -->the maximum number of REST entity sets allowed in memory for the current session<!-- END REF -->.

Por defecto, no hay límite para conjuntos de entidades [almacenados en memoria por solicitudes REST](../REST/$info.md) (el valor es 0). Puede definir un límite para controlar la carga útil del servidor para una sesión específica.

Expand Down
Loading
Loading