Skip to content

Commit 7e19af3

Browse files
authored
Merge pull request #453 from 4d/doc4d-main
update 20R10 beta
2 parents cd8c822 + 7c9cdaf commit 7e19af3

File tree

19,188 files changed

+289972
-242570
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

19,188 files changed

+289972
-242570
lines changed

README.md

Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,3 +91,96 @@ Exemple:
9191
- modified command (moved to commands):
9292
1. move to commands (use move_command.exe)
9393
2. same as above
94+
95+
96+
## Versioning
97+
98+
### Préparation AVANT creation de version
99+
- mettre à jour les liens:
100+
- sur la page Home
101+
- sur la sidebar
102+
- dans la page Notes (what's new pages+bugs)
103+
104+
- attention, uniquement deux R sont visibles (enlever anciens liens)
105+
106+
### Netkit
107+
108+
- dans la sidebar: readme github qui correspond à la version : à modifier
109+
- dans la page home : https://developer.4d.com/4D-NetKit/ qui pointe la branche MAIN de 4D-Netkit (nothing to do)
110+
- dans le readme final : mettre à jour la version qui correspond à MAIN
111+
(dans la fork de la doc, on garde les features qui ne sont pas dans la beta courante)
112+
113+
### Créer la version vXX-Rx beta
114+
115+
0. Vérifier la version de Nodejs et aussi de docusaurus
116+
1. Se placer dans main prête pour être versionnée (liens OK, **pas de pull request en attente**)
117+
2. lancer le script
118+
119+
`npm run docusaurus docs:version XX-Rx (ex: 19-R4)`
120+
121+
### Mettre à jour docusaurus.config.js
122+
123+
Dans les presets:
124+
125+
1. Ajouter la version + BETA,
126+
2. Retirer le BETA de la version précédente
127+
128+
ex :
129+
130+
```
131+
versions: {
132+
'19-R5':{
133+
label: 'v19 R5 BETA',
134+
banner: 'none',
135+
},
136+
'19-R4':{
137+
label: 'v19 R4',
138+
banner: 'none',
139+
},
140+
```
141+
142+
### Mettre à jour les i18n
143+
144+
1. Se placer dans **main** et lancer le script qui extrait les chaines à traduire:
145+
`npm run docusaurus write-translations`
146+
147+
2. Aller dans le dossier i18n\en\docusaurus-plugin-content-docs/en/version-XX-RX.json (version RX-1) et mettre à jour la chaîne de la version précédente qui contient BETA (apparaît dans le menu)
148+
149+
3. Aller dans i18n\en\code.json, à la fin du fichier : liens de la page Home (vers extensions) à mettre à jour
150+
151+
### Si problème de traduction avec cmfcmf:
152+
1. Faire
153+
`git restore --rebase --autostash`
154+
pour se synchroniser avec le repo
155+
2. Dans docusaurus.config.js, désactiver `require.resolve('@cmfcmf/docusaurus-search-local')`,
156+
+ supprimer @cmfcmf dans les plug ins de node
157+
158+
3. Lancer write-translations
159+
4. remettre docusaurus.config.js
160+
5. faire `npm i`
161+
162+
### Supprimer la version précédente (si nécessaire)
163+
1. Enlever la version dans le version.json
164+
2. A la main : supprimer la version dans versioned_docs et versioned_sidebars
165+
3. A la main, supprimer la version dans les sous-dossiers i18n (langues)
166+
167+
### Commit dans main
168+
1. Sur github desktop, faire un commit des modifs dans main
169+
2. Faire un push
170+
171+
### Lancer une synchro sur Crowdin
172+
Forcer une synchro globale de main sur Crowdin
173+
174+
Tester : Faire npm run build
175+
176+
### Builder
177+
Sur github, faire une PR de docs4d/docs/main sur 4d/docs/main
178+
179+
### Algolia (4D only)
180+
Aller dans l'interface Algolia et lancer un reindex de la doc
181+
182+
183+
184+
185+
186+

add_headers.py

Lines changed: 0 additions & 42 deletions
This file was deleted.

docs/API/ClassClass.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -224,7 +224,7 @@ $person:=cs.Person.new("John";"Doe";40)
224224

225225
The `.superclass` property <!-- REF #ClassClass.superclass.Summary -->returns the parent class of the class<!-- END REF -->. A superclass can be a `4D.Class` object, or a `cs.className` object. If the class does not have a parent class, the property returns **null**.
226226

227-
A superclass of a user class is declared in a class by using the [`Class extends <superclass>`](Concepts/classes.md#class-extends-classname) keyword.
227+
To define a superclass for a user class, use the [`extends`](Concepts/classes.md#class-extends-classname) keyword like: `Class extends <superclass>`.
228228

229229
This property is **read-only**.
230230

docs/API/DataClassClass.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@ Returned attribute objects contain the following properties:
6868
|relatedDataClass|Text|Name of the dataclass related to the attribute. Returned only when `.kind` = "relatedEntity" or "relatedEntities".|
6969
|type|Text|Conceptual value type of the attribute, useful for generic programming. Depends on the attribute `kind`. Possible values: <li>if `.kind` = "storage": "blob", "bool", "date", "image", "number", "object", or "string". "number" is returned for any numeric types including duration; "string" is returned for uuid, alpha and text attribute types; "blob" attributes are [blob objects](../Concepts/dt_blob.md#blob-types).</li><li>if `.kind` = "relatedEntity": related dataClass name</li><li>if `.kind` = "relatedEntities": related dataClass name + "Selection" suffix</li><li>if `.kind` = "calculated" or "alias": same as above, depending on the result</li>|
7070
|unique|Boolean|True if the attribute value must be unique. Not returned if `.kind` = "relatedEntity" or "relatedEntities".|
71+
|classID| Text | Available only if `.type = "object"` and a class has been specified in the structure editor. </br>Returns the name of the class used to instantiate the object. |
7172

7273
:::tip
7374

docs/API/EntityClass.md

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ This function allows you to update entities separately. Note however that, for p
103103
104104
This function can only be used with entities already saved in the database. It cannot be called on a newly created entity (for which [`.isNew()`](#isnew) returns **True**).
105105

106-
#### Example
106+
#### Example 1
107107

108108
```4d
109109
var $emp; $empCloned : cs.EmployeeEntity
@@ -114,6 +114,17 @@ This function can only be used with entities already saved in the database. It c
114114
115115
```
116116

117+
#### Example 2
118+
119+
If you don't want the new entity to share object-type attribute references, you must copy them.
120+
121+
```4d
122+
var $emp; $empCloned : cs.EmployeeEntity
123+
$emp:=ds.Employee.all().first()
124+
$empCloned:=$emp.clone()
125+
$empCloned.objectAtt:=OB Copy($emp.objectAtt)
126+
```
127+
117128
<!-- END REF -->
118129

119130
<!-- REF EntityClass.diff().Desc -->

docs/API/TCPConnectionClass.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,12 @@ Thanks to the standard 4D object *refcounting*, a TCPConnection is automatically
1313

1414
TCPConnection objects are released when no more references to them exist in memory. This typically occurs, for example, at the end of a method execution for local variables. If you want to "force" the closure of a connection at any moment, [**nullify** its references by setting them to **Null**](../Concepts/dt_object.md#resources).
1515

16+
:::info 4DTCPUDPLog.txt file
17+
18+
For debugging and monitoring, you can use the [4DTCPUDPLog.txt log file] that records events related to TCP connections. Events include data transmission, errors, and connection lifecycle information.
19+
20+
:::
21+
1622
<details><summary>History</summary>
1723

1824
|Release|Changes|

docs/API/UDPEventClass.md

Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
---
2+
id: UDPEventClass
3+
title: UDPEvent
4+
---
5+
6+
The `UDPEvent` class provides information about events occurring during the lifecycle of a UDP socket. It is generated when a [UDPSocket](UDPSocketClass.md) is opened and is utilized in callbacks `onData`, `onError`, and `onTerminate`.
7+
8+
9+
<details><summary>History</summary>
10+
11+
|Release|Changes|
12+
|---|---|
13+
|20 R10|Class added|
14+
15+
</details>
16+
17+
### UDPEvent Object
18+
19+
A `UDPEvent` object is immutable and non-streamable.
20+
21+
The following properties are available:
22+
23+
||
24+
|---|
25+
|[<!-- INCLUDE #UDPEvent.data.Syntax -->](#data)<br/><!-- INCLUDE #UDPEvent.data.Summary -->|
26+
|[<!-- INCLUDE #UDPEvent.ip.Syntax -->](#ip)<br/><!-- INCLUDE #UDPEvent.ip.Summary -->|
27+
|[<!-- INCLUDE #UDPEvent.port.Syntax -->](#port)<br/><!-- INCLUDE #UDPEvent.port.Summary -->|
28+
|[<!-- INCLUDE #UDPEvent.type.Syntax -->](#type)<br/><!-- INCLUDE #UDPEvent.type.Summary -->|
29+
30+
<!-- REF #UDPEvent.data.Desc -->
31+
## .data
32+
33+
34+
<!-- REF #UDPEvent.data.Syntax -->**data** : Blob<!-- END REF -->
35+
36+
#### Description
37+
38+
The `.data` property contains <!-- REF #UDPEvent.data.Summary -->the data associated with the event<!-- END REF -->. It is only valid for events of type "data".
39+
40+
<!-- END REF -->
41+
42+
<!-- REF #UDPEvent.ip.Desc -->
43+
## .ip
44+
45+
<!-- REF #UDPEvent.ip.Syntax -->**ip** : Text<!-- END REF -->
46+
47+
#### Description
48+
49+
The `.ip` property contains <!-- REF #UDPEvent.ip.Summary -->the IP address of the remote machine<!-- END REF -->.
50+
51+
52+
<!-- END REF -->
53+
54+
55+
<!-- REF #UDPEvent.port.Desc -->
56+
## .port
57+
58+
<!-- REF #UDPEvent.port.Syntax -->**port** : Number<!-- END REF -->
59+
60+
#### Description
61+
62+
The `.port` property contains <!-- REF #UDPEvent.port.Summary -->the port number of the remote machine<!-- END REF -->.
63+
64+
65+
<!-- END REF -->
66+
67+
68+
<!-- REF #UDPEvent.type.Desc -->
69+
## .type
70+
71+
<!-- REF #UDPEvent.type.Syntax -->**type** : Text<!-- END REF -->
72+
73+
#### Description
74+
75+
The `.type` property contains <!-- REF #UDPEvent.type.Summary -->the type of the event<!-- END REF -->. Possible values are:
76+
- `"data"`: Indicates that data has been received.
77+
- `"error"`: Indicates that an error occurred during the UDPSocket.
78+
- `"terminate"`: Indicates that the UDPSocket is about to be released.
79+
80+
<!-- END REF -->
81+
82+
83+
84+
#### See also
85+
86+
[UDPSocket](UDPSocketClass.md)

0 commit comments

Comments
 (0)