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/Admin/cli.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ Syntax:
|`--webadmin-settings-file`|File path|Path of the custom WebAdmin `.4DSettings` file for the [WebAdmin web server](webAdmin.md). Not available with [tool4d](#tool4d).|
|`--webadmin-access-key`|Text|Access key for the [WebAdmin web server](webAdmin.md). Not available with [tool4d](#tool4d).|
|`--webadmin-auto-start`|Boolean|Status of the automatic startup for the [WebAdmin web server](webAdmin.md). Not available with [tool4d](#tool4d).|
|`--webadmin-store-settings`||Store the access key and automatic starting parameters in the currently used settings file (i.e. the default [`WebAdmin.4DSettings`](webAdmin.md#webadmin-settings) file or a custom file designated with the `--webadmin-settings-path` parameter). Use the `--webadmin-store-settings` argument to save these settings if necessary. Not available with [tool4d](#tool4d).|
|`--webadmin-store-settings`||Store the access key and automatic starting parameters in the currently used settings file (i.e. the default [`WebAdmin.4DSettings`](webAdmin.md#settings) file or a custom file designated with the `--webadmin-settings-path` parameter). Use the `--webadmin-store-settings` argument to save these settings if necessary. Not available with [tool4d](#tool4d).|
|`--utility`||Only available with 4D Server. Launches [4D Server in utility mode](#4d-server-in-utility-mode).|
|`--skip-onstartup`||Launches the project without executing any "automatic" methods, including the `On Startup` and `On Exit` database methods|
|`--startup-method`|Project method name (string)|Project method to execute immediately after the `On Startup` database method (if not skipped with `--skip-onstartup`).|
Expand Down
6 changes: 3 additions & 3 deletions docs/Admin/dataExplorer.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,14 @@ The Data Explorer provides a web interface to view, query, and edit data in your

The Data Explorer relies on the [`WebAdmin`](webAdmin.md) web server component for the configuration and authentication settings.

- **configuration**: the Data Explorer configuration reuses the [`WebAdmin` web server settings](webAdmin.md#webadmin-settings),
- **authentication**: access to the Data Explorer is granted when the [session user is authenticated](webAdmin.md#authentication-and-session) and has the "WebAdmin" privilege. When the Data Explorer is accessed through the **Data Explorer** menu item (see below), an automatic authentication is provided.
- **configuration**: the Data Explorer configuration reuses the [`WebAdmin` web server settings](webAdmin.md#settings),
- **authentication**: access to the Data Explorer is granted when the [session user is authenticated](webAdmin.md#authentication) and has the "WebAdmin" privilege. When the Data Explorer is accessed through the **Data Explorer** menu item (see below), an automatic authentication is provided.

> The Data Explorer access can be disabled using the [`.setAdminProtection()`](API/DataStoreClass.md#setadminprotection) function.

## Opening the Data Explorer

[The `WebAdmin` web server](webAdmin.md#starting-the-webadmin-web-server) is started automatically if necessary when the Data Explorer is clicked on.
[The Web Administration Server](webAdmin.md#starting-the-web-administration-server) is started automatically if necessary when the Data Explorer is clicked on.

To connect to the Data Explorer web page:

Expand Down
2 changes: 1 addition & 1 deletion docs/Admin/webAdmin.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ Configuring the Web Administration Server is mandatory in particular to define t

You can configure the Web Administration Server using the [Web Administration settings dialog box](#settings-dialog-box) (see below).

> If you use a headless 4D application, you can use [*Command Line Interface* arguments](#webadmin-headless-configuration) to define basic settings. You will have to customize the settings file to define advanced parameters.
> If you use a headless 4D application, you can use [*Command Line Interface* arguments](#headless-configuration) to define basic settings. You will have to customize the settings file to define advanced parameters.


### Settings dialog box
Expand Down
2 changes: 1 addition & 1 deletion docs/Concepts/components.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,6 @@ You can select a component [project method](methods.md) or [class](classes.md) a

:::note

Interpreted component code can be [edited directly from the host project](../Extensions/develop-components.md#editing-components-from-the-host) if the context is supported.
Interpreted component code can be [edited directly from the host project](../Extensions/develop-components.md#creating-and-editing-components-from-the-host) if the context is supported.

:::
4 changes: 2 additions & 2 deletions docs/Concepts/error-handling.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ It is highly recommended to install a global error-handling method on 4D Server,
:::


## Predictable vs unpredictable errors
## Predictable vs unpredictable errors {#predictable-vs-unpredictable-errors}

Many 4D class functions, such as [`entity.save()`](../API/EntityClass.md#save) or [`transporter.send()`](../API/SMTPTransporterClass.md#send), return a object containing *status* information. This object is used to store **predictable** errors in the runtime context, e.g. invalid password, locked entity, etc., that do not require to stop program execution. This category of errors, also named **silent errors** errors, can be handled by regular code. When such errors occur in an error handling context, i.e. a [`Try`](#tryexpression), [`Try/Catch`](#trycatchend-try) or an [error-handling method](#installing-an-error-handling-method), they do not interrupt the execution and do not trigger the error handling (e.g. the `Catch` part of the [`Try/Catch`](#trycatchend-try) is not executed). They are not listed in the [`Last errors`](../commands/last-errors.md) collection. The error is only returned in the `status` and `statusText` properties of the returned object. It can be processed according to your business logic.

Expand Down Expand Up @@ -200,7 +200,7 @@ function test()

```

3. You want to handle both [predictable and non-predictable](#error-or-status) errors:
3. You want to handle both [predictable and non-predictable]{#predictable-vs-unpredictable-errors} errors:

```4d
var $e:=ds.Employee.new()
Expand Down
4 changes: 2 additions & 2 deletions docs/Desktop/labels.md
Original file line number Diff line number Diff line change
Expand Up @@ -147,7 +147,7 @@ The Layout page contains controls for printing labels based on the requirements
- **Method**: Lets you trigger a specific method that will be run at print time. For example, you can execute a method that posts the date and time that each label was printed. This feature is also useful when you print labels using a dedicated table form, in which case you can fill variables from a method.
To be eligible for label processing, a project method must comply with the following settings:
- it must be "allowed" for the database (allowed methods depend on [project settings](../settings/security.md#options) and the [`SET ALLOWED METHODS`](../commands/set-allowed-methods.md) command), otherwise it will not be displayed in the **Apply** menu.
- it must have the [Shared by components and host database](../Project/code-overview.md#shared-by-components-and-host-database) option.
- it must have the [Shared by components and host database](../Project/project-method-properties.md#shared-by-components-and-host-database) option.
See also [this example](#printing-labels-using-forms-and-methods-example) below.

:::note
Expand Down Expand Up @@ -178,7 +178,7 @@ Here, in a table form named "label", we added the *myVar* variable:
var myVar+=1
```

3. Set the project method as ["Shared by components and host database"](../Project/code-overview.md#shared-by-components-and-host-database).
3. Set the project method as ["Shared by components and host database"](../Project/project-method-properties.md#shared-by-components-and-host-database).

4. Before displaying the Label editor, make sure the project method is allowed by executing this code:

Expand Down
2 changes: 1 addition & 1 deletion docs/Desktop/sessions.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ You can also assign privileges to a remote user session to control access when t

The remote user `session` object is available from:

- Project methods that have the [Execute on Server](../Project/code-overview.md#execute-on-server) attribute (they are executed in the "twinned" process of the client process),
- Project methods that have the [Execute on Server](../Project/project-method-properties.md#execute-on-server) attribute (they are executed in the "twinned" process of the client process),
- Triggers,
- ORDA [data model functions](../ORDA/ordaClasses.md) (except those declared with the [`local`](../ORDA/ordaClasses.md#local-functions) keyword),
- Database methods such as [`On Server Open Connection`](../commands/on-server-open-connection-database-method) and [`On Server Close Connection`](../commands/on-server-close-connection-database-method).
Expand Down
2 changes: 1 addition & 1 deletion docs/Develop/preemptive.md
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ Note that with this option, whatever the internal thread safety evaluation, the

:::note Particular case

If the method has also the [**Shared by components and host database**](../Project/code-overview.md#shared-by-components-and-host-database) property, setting the **Indifferent** option will automatically tag the method as thread-unsafe. If you want a shared component method to be thread-safe, you must explicitely set it to **Can be run in preemptive processes**.
If the method has also the [**Shared by components and host database**](../Project/project-method-properties.md#shared-by-components-and-host-database) property, setting the **Indifferent** option will automatically tag the method as thread-unsafe. If you want a shared component method to be thread-safe, you must explicitely set it to **Can be run in preemptive processes**.

:::

Expand Down
2 changes: 1 addition & 1 deletion docs/Events/overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ objectName|text|Name of the object triggering the event - Not included if the ev

Additional properties are returned when the event occurs on specific objects. In particular:

- [list boxes](FormObjects/listbox_overview.md#supported-form-events) and [list box columns](FormObjects/listbox_overview.md#supported-form-events-1) return [additional properties](FormObjects/listbox_overview.md#additional-properties) such as `columnName` or `isRowSelected`.
- [list boxes](FormObjects/listbox_overview.md#supported-form-events) and [list box columns](FormObjects/listbox_overview.md#supported-form-events-1) return [additional properties](FormObjects/listbox_overview.md#supported-form-events) such as `columnName` or `isRowSelected`.
- [4D View Pro areas](FormObjects/viewProArea_overview.md) return for example `sheetName` or `action` properties in the [On After Edit](onAfterEdit.md) event object.


Expand Down
2 changes: 1 addition & 1 deletion docs/Extensions/develop-components.md
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,7 @@ When you select it, a dedicated tab is added (or highlighted if already added) i

Standard 4D IDE features are available for the component. You can execute the following actions:
- add, duplicate, delete, edit/save [methods and classes](../Project/code-overview.md)
- preview code, show/edit [documentation](../Project/documentation.md), display/edit [method properties](../Project/code-overview.md#project-method-properties),
- preview code, show/edit [documentation](../Project/documentation.md), display/edit [Method Properties](../Project/project-method-properties.md),
- run methods,
- restore from trash or empty trash.

Expand Down
2 changes: 1 addition & 1 deletion docs/FormObjects/pictureButton_overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -63,4 +63,4 @@ The following other modes are available:

## Supported Properties

[Border Line Style](properties_BackgroundAndBorder.md#border-line-style) - [Bottom](properties_CoordinatesAndSizing.md#bottom) - [Button Style](properties_TextAndPicture.md#button-style) - [Class](properties_Object.md#css-class) - [Columns](properties_Crop.md#columns) - [Focusable](properties_Entry.md#focusable) - [Height](properties_CoordinatesAndSizing.md#height) - [Help Tip](properties_Help.md#help-tip) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Italic](properties_Text.md#italic) - [Left](properties_CoordinatesAndSizing.md#left) - [Loop back to first frame](properties_Animation.md#loop-back-to-first-frame) - [Object Name](properties_Object.md#object-name) - [Pathname](properties_Picture.md#pathname) - [Right](properties_CoordinatesAndSizing.md#right) - [Rows](properties_Crop.md#rows) - [Shortcut](properties_Entry.md#shortcut) - [Standard action](properties_Action.md#standard-action) - [Switch back when released](properties_Animation.md#switch-back-when-released) - [Switch continuously on clicks](properties_Animation.md#switch-continuously-on-clicks) - [Switch every x ticks](properties_Animation.md#switch-every-x-ticks) - [Title](properties_Object.md#title) - [Switch when roll over](properties_Animation.md#switch-when-roll-over) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Use Last frame as disabled](properties_Animation.md#use-last-frame-as-disabled) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width)
[Border Line Style](properties_BackgroundAndBorder.md#border-line-style) - [Bottom](properties_CoordinatesAndSizing.md#bottom) - [Button Style](properties_TextAndPicture.md#button-style) - [Class](properties_Object.md#css-class) - [Columns](properties_Crop.md#columns) - [Focusable](properties_Entry.md#focusable) - [Height](properties_CoordinatesAndSizing.md#height) - [Help Tip](properties_Help.md#help-tip) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Italic](properties_Text.md#italic) - [Left](properties_CoordinatesAndSizing.md#left) - [Loop back to first frame](properties_Animation.md#loop-back-to-first-frame) - [Object Name](properties_Object.md#object-name) - [Pathname](properties_Picture.md#pathname) - [Right](properties_CoordinatesAndSizing.md#right) - [Rows](properties_Crop.md#rows) - [Shortcut](properties_Entry.md#shortcut) - [Standard action](properties_Action.md#standard-action) - [Switch back when released](properties_Animation.md#switch-back-when-released) - [Switch continuously on clicks](properties_Animation.md#switch-continuously-on-clicks) - [Switch every x seconds](properties_Animation.md#switch-every-x-seconds) - [Title](properties_Object.md#title) - [Switch when roll over](properties_Animation.md#switch-when-roll-over) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Use Last frame as disabled](properties_Animation.md#use-last-frame-as-disabled) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width)
2 changes: 1 addition & 1 deletion docs/FormObjects/properties_Text.md
Original file line number Diff line number Diff line change
Expand Up @@ -498,7 +498,7 @@ The name of a Longint array must be used. Each element of this array corresponds

---

## Row Style Array {#row-style-array)
## Row Style Array {#row-style-array}

`Array type list boxes`

Expand Down
2 changes: 1 addition & 1 deletion docs/FormObjects/webArea_overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ Web areas can be used to display [Qodly pages](https://developer.4d.com/qodly/4D

You can embed a Qodly page inside a Web Area and then update [Qodly sources](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/qodlySources) from 4D by calling [`WA EXECUTE JAVASCRIPT FUNCTION`](../commands-legacy/wa-execute-javascript-function.md).

In 4D client/server applications, Qodly pages inside Web areas can [share their session with the remote user](../Desktop/clientServer.md#sharing-the-session-with-qodly-pages-in-web-areas) for a high level of security.
In 4D client/server applications, Qodly pages inside Web areas can [share their session with the remote user](../Desktop/sessions.md#sharing-a-desktop-session-for-web-accesses for a high level of security.

:::tip Related blog post

Expand Down
6 changes: 3 additions & 3 deletions docs/ORDA/privileges.md
Original file line number Diff line number Diff line change
Expand Up @@ -263,20 +263,20 @@ In Qodly Studio for 4D, the login mode can be set using the [**Force login** opt

## Restriction Modes

The `restrictedByDefault` property configures how every [resource](#resources) are accessed when [no specific permission is defined for it](#permission):
The `restrictedByDefault` property configures how every [resource](#resources) are accessed when [no specific permission is defined for it](#permissions):

- **Unrestricted mode** (`restrictedByDefault`: **false**): Resources without defined permissions are accessible to all requests. This mode is suitable for development environments where access can be gradually restricted.
- **Restricted mode** (`restrictedByDefault`: **true**): Resources without defined permissions are blocked by default. This mode is recommended for production environments where access must be explicitly granted.


:::note Compatibility

- When **creating a new project**, the `restrictedByDefault` property is set to **false** in the *roles.json* file (see below). Keep in mind that this configuration is tailored for quick start and smooth development. In production environment, [it is recommended to set the `restrictedByDefault` and `forceLogin` properties to **true**](#configuring-restrictedbydefault-and-forcelogin-properties).
- When **creating a new project**, the `restrictedByDefault` property is set to **false** in the *roles.json* file (see below). Keep in mind that this configuration is tailored for quick start and smooth development. In production environment, [it is recommended to set the `restrictedByDefault` and `forceLogin` properties to **true**](#recommended-configuration).
- In **projects converted from previous releases**; when enabling access to Qodly Studio using the [One-click configuration dialog](https://developer.4d.com/qodly/4DQodlyPro/gettingStarted#one-click-configuration), the `restrictedByDefault` property is added with value **true** in the *roles.json* file.

:::

### Recommended Configuration
### Recommended Configuration {#recommended-configuration}

Depending on your environment, the recommended settings are:

Expand Down
Loading
Loading