Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
2 changes: 1 addition & 1 deletion docs/API/EmailObjectClass.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ This class is [**streamable**](../Concepts/dt_object.md#binary-streaming-variabl

Email objects provide the following properties:

> 4D follows the [JMAP specification](https://jmap.io/spec-mail.html) to format the Email object.
> 4D follows the [JMAP specification](https://jmap.io/spec/rfc8621/) to format the Email object.
||
|---|
Expand Down
10 changes: 10 additions & 0 deletions docs/API/IMAPTransporterClass.md
Original file line number Diff line number Diff line change
Expand Up @@ -158,6 +158,16 @@ $flags["$seen"]:=True
$status:=$transporter.addFlags(IMAP all;$flags)
```

#### See also

[`.removeFlags()`](#removeflags)


#### See also

[`.removeFlags()`](#removeflags)


<!-- END REF -->

<!-- REF IMAPTransporterClass.append().Desc -->
Expand Down
25 changes: 13 additions & 12 deletions docs/FormEditor/forms.md
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,16 @@ You can add or modify 4D forms using the following elements:
}
```

### Project form and Table form

There are two categories of forms:

- **Project forms** - Independent forms that are not attached to any table. They are intended more particularly for creating interface dialog boxes as well as components. Project forms can be used to create interfaces that easily comply with OS standards.

- **Table forms** - Attached to specific tables and thus benefit from automatic functions useful for developing applications based on databases. Typically, a table has separate input and output forms.

Typically, you select the form category when you create the form, but you can change it afterwards.


## Using forms

Expand All @@ -82,12 +92,12 @@ Forms are called using specific commands of the 4D Language. In your 4D desktop

When you want to use a form as on-screen dialog, you need to (1) create a window and (2) load the form within the window, along with an event loop to process user actions. The straighforward steps to display a form on screen are:

1. Call the [`Open form window`](../commands/open-form-window) command to create and preconfigure a window tailored for your form. Note that the command only draw aan empty window, it does not display anything.
2. In the same method, call the [`DIALOG`](../commands/dialog) command to actually load the form in the opened form window, ready for user interaction. [`DIALOG`](../commands/dialog) loads form data and places your code in listening mode to user events. When you call this command without asterisk (\*), the dialog will stay on screen and the code execution is frozen until an event occurs (see also ["Event listening" paragraph](../Develop/async.md#event-listening)).
1. Call the [`Open form window`](../commands/open-form-window) command to create and preconfigure a window tailored for your form. Note that the command only draws an empty window, it does **not** display anything.
2. In the same method, call the [`DIALOG`](../commands/dialog) command to actually load the form in the opened form window, ready for user interaction. [`DIALOG`](../commands/dialog) loads form data and places your code in [listening mode to user events](../Develop/async.md#event-listening). When you call this command without asterisk (\*), the dialog will stay on screen and the code execution is frozen until an event occurs.
3. (optional) Use the [`Form`](../commands/form) command from within the form context to access form data.


::note Compatibility
:::note Compatibility

All-in-one commands such as [`ADD RECORD`](../commands/add-record) or [`MODIFY RECORD`](../commands/add-record) merge all steps in a single call. These legacy commands can still be used for prototyping or basic developments but are not adapted to modern, fully controlled interfaces. They directly rely on the 4D database and legacy features such as [table forms](#project-form-and-table-form) and do not benefit from the power and flexibility of [ORDA features](../ORDA/overview.md). Unless specific needs, it is recommended to use project forms for your 4D desktop application interfaces.

Expand Down Expand Up @@ -246,15 +256,6 @@ There are several other ways to use forms in the 4D applications, including:
- the [label editor can use a form](../Desktop/labels.md#form-to-use) as template to print labels.


## Project form and Table form

There are two categories of forms:

- **Project forms** - Independent forms that are not attached to any table. They are intended more particularly for creating interface dialog boxes as well as components. Project forms can be used to create interfaces that easily comply with OS standards.

- **Table forms** - Attached to specific tables and thus benefit from automatic functions useful for developing applications based on databases. Typically, a table has separate input and output forms.

Typically, you select the form category when you create the form, but you can change it afterwards.

## Form pages

Expand Down
2 changes: 1 addition & 1 deletion docs/Project/components.md
Original file line number Diff line number Diff line change
Expand Up @@ -459,7 +459,7 @@ The following status labels are available:
- **Duplicated**: The dependency is not loaded because another dependency with the same name exists at the same location (and is loaded).
- **Available after restart**: The dependency reference has just been added or updated [using the interface](#monitoring-project-dependencies), it will be loaded once the application restarts.
- **Unloaded after restart**: The dependency reference has just been removed [using the interface](#removing-a-dependency), it will be unloaded once the application restarts.
- **Update available \<version\>**: A new version of the dependency matching your [component version configuration](#defining-a-github-dependency-version-range) has been detected.
- **Update available \<version\>**: A new version of the dependency matching your [component version configuration](#defining-a-dependency-version-range) has been detected.
- **Refreshed after restart**: The [component version configuration](#defining-a-dependency-version-range) of the dependency has been modified, it will be adjusted at the next startup.
- **Recent update**: A new version of the dependency has been loaded at startup.

Expand Down
2 changes: 1 addition & 1 deletion docs/language-legacy/Mail/mail-convert-from-mime.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ displayed_sidebar: docs

The `MAIL Convert from MIME` command <!-- REF #_command_.MAIL Convert from MIME.Summary -->converts a MIME document into a valid email object<!-- END REF -->.

>4D follows the [JMAP specification](https://jmap.io/spec-mail.html) to format the returned email object.
>4D follows the [JMAP specification](https://jmap.io/spec/rfc8621/) to format the returned email object.

Pass in *mime* a valid MIME document to convert. It can be provided by any mail server or application. You can pass a BLOB or a text *mime* parameter. If the MIME comes from a file, it is recommended to use a BLOB parameter to avoid issues related to charset and line break conversions.

Expand Down
2 changes: 1 addition & 1 deletion docs/language-legacy/Mail/mail-convert-to-mime.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ The `MAIL Convert to MIME` command <!-- REF #_command_.MAIL Convert to MIME.Summ

In *mail*, pass the content and the structure details of the email to convert. This includes information such as the email addresses (sender and recipient(s)), the message itself, and the type of display for the message.

>4D follows the [JMAP specification](https://jmap.io/spec-mail.html) to format the email object.
>4D follows the [JMAP specification](https://jmap.io/spec/rfc8621/) to format the email object.

In *options*, you can set a specific charset and encoding configuration for the mail. The following properties are available:

Expand Down
6 changes: 3 additions & 3 deletions versioned_docs/version-19/API/EmailObjectClass.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ You send `Email` objects using the SMTP [`.send()`](SMTPTransporterClass.md#send

Email objects provide the following properties:

> 4D follows the [JMAP specification](https://jmap.io/spec-mail.html) to format the Email object.
> 4D follows the [JMAP specification](https://jmap.io/spec/rfc8621/) to format the Email object.

||
|---|
Expand Down Expand Up @@ -388,7 +388,7 @@ The `.to` property contains the <!-- REF #EmailObjectClass.to.Summary -->primary

The `MAIL Convert from MIME` command <!-- REF #_command_.MAIL Convert from MIME.Summary -->converts a MIME document into a valid email object<!-- END REF -->.

>4D follows the [JMAP specification](https://jmap.io/spec-mail.html) to format the returned email object.
>4D follows the [JMAP specification](https://jmap.io/spec/rfc8621/) to format the returned email object.

Pass in *mime* a valid MIME document to convert. It can be provided by any mail server or application. You can pass a BLOB or a text *mime* parameter. If the MIME comes from a file, it is recommended to use a BLOB parameter to avoid issues related to charset and line break conversions.

Expand Down Expand Up @@ -480,7 +480,7 @@ The `MAIL Convert to MIME` command <!-- REF #_command_.MAIL Convert to MIME.Summ

In *mail*, pass the content and the structure details of the email to convert. This includes information such as the email addresses (sender and recipient(s)), the message itself, and the type of display for the message.

>4D follows the [JMAP specification](https://jmap.io/spec-mail.html) to format the email object.
>4D follows the [JMAP specification](https://jmap.io/spec/rfc8621/) to format the email object.

In *options*, you can set a specific charset and encoding configuration for the mail. The following properties are available:

Expand Down
5 changes: 5 additions & 0 deletions versioned_docs/version-19/API/IMAPTransporterClass.md
Original file line number Diff line number Diff line change
Expand Up @@ -221,6 +221,11 @@ $flags["$seen"]:=True
$status:=$transporter.addFlags(IMAP all;$flags)
```

#### See also

[`.removeFlags()`](#removeflags)


<!-- END REF -->

<!-- REF IMAPTransporterClass.append().Desc -->
Expand Down
6 changes: 3 additions & 3 deletions versioned_docs/version-20/API/EmailObjectClass.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ You send `Email` objects using the SMTP [`.send()`](SMTPTransporterClass.md#send

Email objects provide the following properties:

> 4D follows the [JMAP specification](https://jmap.io/spec-mail.html) to format the Email object.
> 4D follows the [JMAP specification](https://jmap.io/spec/rfc8621/) to format the Email object.

||
|---|
Expand Down Expand Up @@ -387,7 +387,7 @@ The `.to` property contains the <!-- REF #EmailObjectClass.to.Summary -->primary

The `MAIL Convert from MIME` command <!-- REF #_command_.MAIL Convert from MIME.Summary -->converts a MIME document into a valid email object<!-- END REF -->.

>4D follows the [JMAP specification](https://jmap.io/spec-mail.html) to format the returned email object.
>4D follows the [JMAP specification](https://jmap.io/spec/rfc8621/) to format the returned email object.

Pass in *mime* a valid MIME document to convert. It can be provided by any mail server or application. You can pass a BLOB or a text *mime* parameter. If the MIME comes from a file, it is recommended to use a BLOB parameter to avoid issues related to charset and line break conversions.

Expand Down Expand Up @@ -479,7 +479,7 @@ The `MAIL Convert to MIME` command <!-- REF #_command_.MAIL Convert to MIME.Summ

In *mail*, pass the content and the structure details of the email to convert. This includes information such as the email addresses (sender and recipient(s)), the message itself, and the type of display for the message.

>4D follows the [JMAP specification](https://jmap.io/spec-mail.html) to format the email object.
>4D follows the [JMAP specification](https://jmap.io/spec/rfc8621/) to format the email object.

In *options*, you can set a specific charset and encoding configuration for the mail. The following properties are available:

Expand Down
5 changes: 5 additions & 0 deletions versioned_docs/version-20/API/IMAPTransporterClass.md
Original file line number Diff line number Diff line change
Expand Up @@ -226,6 +226,11 @@ $flags["$seen"]:=True
$status:=$transporter.addFlags(IMAP all;$flags)
```

#### See also

[`.removeFlags()`](#removeflags)


<!-- END REF -->

<!-- REF IMAPTransporterClass.append().Desc -->
Expand Down
2 changes: 1 addition & 1 deletion versioned_docs/version-21-R2/API/EmailObjectClass.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ You send `Email` objects using the SMTP [`.send()`](SMTPTransporterClass.md#send

Email objects provide the following properties:

> 4D follows the [JMAP specification](https://jmap.io/spec-mail.html) to format the Email object.
> 4D follows the [JMAP specification](https://jmap.io/spec/rfc8621/) to format the Email object.

||
|---|
Expand Down
5 changes: 5 additions & 0 deletions versioned_docs/version-21-R2/API/IMAPTransporterClass.md
Original file line number Diff line number Diff line change
Expand Up @@ -157,6 +157,11 @@ $flags["$seen"]:=True
$status:=$transporter.addFlags(IMAP all;$flags)
```

#### See also

[`.removeFlags()`](#removeflags)


<!-- END REF -->

<!-- REF IMAPTransporterClass.append().Desc -->
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ displayed_sidebar: docs

The `MAIL Convert from MIME` command <!-- REF #_command_.MAIL Convert from MIME.Summary -->converts a MIME document into a valid email object<!-- END REF -->.

>4D follows the [JMAP specification](https://jmap.io/spec-mail.html) to format the returned email object.
>4D follows the [JMAP specification](https://jmap.io/spec/rfc8621/) to format the returned email object.

Pass in *mime* a valid MIME document to convert. It can be provided by any mail server or application. You can pass a BLOB or a text *mime* parameter. If the MIME comes from a file, it is recommended to use a BLOB parameter to avoid issues related to charset and line break conversions.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ The `MAIL Convert to MIME` command <!-- REF #_command_.MAIL Convert to MIME.Summ

In *mail*, pass the content and the structure details of the email to convert. This includes information such as the email addresses (sender and recipient(s)), the message itself, and the type of display for the message.

>4D follows the [JMAP specification](https://jmap.io/spec-mail.html) to format the email object.
>4D follows the [JMAP specification](https://jmap.io/spec/rfc8621/) to format the email object.

In *options*, you can set a specific charset and encoding configuration for the mail. The following properties are available:

Expand Down
2 changes: 1 addition & 1 deletion versioned_docs/version-21-R3/API/EmailObjectClass.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ This class is [**streamable**](../Concepts/dt_object.md#binary-streaming-variabl

Email objects provide the following properties:

> 4D follows the [JMAP specification](https://jmap.io/spec-mail.html) to format the Email object.
> 4D follows the [JMAP specification](https://jmap.io/spec/rfc8621/) to format the Email object.
||
|---|
Expand Down
5 changes: 5 additions & 0 deletions versioned_docs/version-21-R3/API/IMAPTransporterClass.md
Original file line number Diff line number Diff line change
Expand Up @@ -158,6 +158,11 @@ $flags["$seen"]:=True
$status:=$transporter.addFlags(IMAP all;$flags)
```

#### See also

[`.removeFlags()`](#removeflags)


<!-- END REF -->

<!-- REF IMAPTransporterClass.append().Desc -->
Expand Down
2 changes: 1 addition & 1 deletion versioned_docs/version-21-R3/Project/components.md
Original file line number Diff line number Diff line change
Expand Up @@ -457,7 +457,7 @@ The following status labels are available:
- **Duplicated**: The dependency is not loaded because another dependency with the same name exists at the same location (and is loaded).
- **Available after restart**: The dependency reference has just been added or updated [using the interface](#monitoring-project-dependencies), it will be loaded once the application restarts.
- **Unloaded after restart**: The dependency reference has just been removed [using the interface](#removing-a-dependency), it will be unloaded once the application restarts.
- **Update available \<version\>**: A new version of the dependency matching your [component version configuration](#defining-a-github-dependency-version-range) has been detected.
- **Update available \<version\>**: A new version of the dependency matching your [component version configuration](#defining-a-dependency-version-range) has been detected.
- **Refreshed after restart**: The [component version configuration](#defining-a-dependency-version-range) of the dependency has been modified, it will be adjusted at the next startup.
- **Recent update**: A new version of the dependency has been loaded at startup.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ displayed_sidebar: docs

The `MAIL Convert from MIME` command <!-- REF #_command_.MAIL Convert from MIME.Summary -->converts a MIME document into a valid email object<!-- END REF -->.

>4D follows the [JMAP specification](https://jmap.io/spec-mail.html) to format the returned email object.
>4D follows the [JMAP specification](https://jmap.io/spec/rfc8621/) to format the returned email object.

Pass in *mime* a valid MIME document to convert. It can be provided by any mail server or application. You can pass a BLOB or a text *mime* parameter. If the MIME comes from a file, it is recommended to use a BLOB parameter to avoid issues related to charset and line break conversions.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ The `MAIL Convert to MIME` command <!-- REF #_command_.MAIL Convert to MIME.Summ

In *mail*, pass the content and the structure details of the email to convert. This includes information such as the email addresses (sender and recipient(s)), the message itself, and the type of display for the message.

>4D follows the [JMAP specification](https://jmap.io/spec-mail.html) to format the email object.
>4D follows the [JMAP specification](https://jmap.io/spec/rfc8621/) to format the email object.

In *options*, you can set a specific charset and encoding configuration for the mail. The following properties are available:

Expand Down
2 changes: 1 addition & 1 deletion versioned_docs/version-21/API/EmailObjectClass.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ You send `Email` objects using the SMTP [`.send()`](SMTPTransporterClass.md#send

Email objects provide the following properties:

> 4D follows the [JMAP specification](https://jmap.io/spec-mail.html) to format the Email object.
> 4D follows the [JMAP specification](https://jmap.io/spec/rfc8621/) to format the Email object.

||
|---|
Expand Down
5 changes: 5 additions & 0 deletions versioned_docs/version-21/API/IMAPTransporterClass.md
Original file line number Diff line number Diff line change
Expand Up @@ -157,6 +157,11 @@ $flags["$seen"]:=True
$status:=$transporter.addFlags(IMAP all;$flags)
```

#### See also

[`.removeFlags()`](#removeflags)


<!-- END REF -->

<!-- REF IMAPTransporterClass.append().Desc -->
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ displayed_sidebar: docs

The `MAIL Convert from MIME` command <!-- REF #_command_.MAIL Convert from MIME.Summary -->converts a MIME document into a valid email object<!-- END REF -->.

>4D follows the [JMAP specification](https://jmap.io/spec-mail.html) to format the returned email object.
>4D follows the [JMAP specification](https://jmap.io/spec/rfc8621/) to format the returned email object.

Pass in *mime* a valid MIME document to convert. It can be provided by any mail server or application. You can pass a BLOB or a text *mime* parameter. If the MIME comes from a file, it is recommended to use a BLOB parameter to avoid issues related to charset and line break conversions.

Expand Down
2 changes: 1 addition & 1 deletion versioned_docs/version-21/commands/mail-convert-to-mime.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ The `MAIL Convert to MIME` command <!-- REF #_command_.MAIL Convert to MIME.Summ

In *mail*, pass the content and the structure details of the email to convert. This includes information such as the email addresses (sender and recipient(s)), the message itself, and the type of display for the message.

>4D follows the [JMAP specification](https://jmap.io/spec-mail.html) to format the email object.
>4D follows the [JMAP specification](https://jmap.io/spec/rfc8621/) to format the email object.

In *options*, you can set a specific charset and encoding configuration for the mail. The following properties are available:

Expand Down
Loading