This commit is contained in:
Ben Irvin 2023-06-27 12:03:23 +02:00
parent 2586daeecc
commit 88c71d5eaa
7 changed files with 11 additions and 11 deletions

View File

@ -23,7 +23,7 @@ Note: Schema differences during this stage can be resolved programmatically by a
Once the integrity check has passed, the transfer begins by opening streams from the source to the destination one stage at a time. The following is a list of the stages in the order they are run:
1. schemas - content type schemas. Note: with all built-in Strapi destination providers, only the Strapi file provider makes use of this data
2. entities - all entities (including media data records, not files) _without their relations_
2. entities - all entities (including components, dynamic zones, and media data but not media files) _without their relations_
3. assets - the files from the /uploads folder
4. links - the relations between entities
5. configuration - the Strapi project configuration data
@ -157,7 +157,7 @@ const diffHandler = async (context, next) => {
engine.onSchemaDiff(diffHandler);
```
After all the schemaDiffHandler middleware has been run, another diff is run between `context.ignoredDiffs` and `context.diffs` and any remaining diffs that have not been ignored are thrown as fatal errors and the engine will abort the transfer.
After all the schemaDiffHandler middlewares have been run, another diff is run between `context.ignoredDiffs` and `context.diffs` and any remaining diffs that have not been ignored are thrown as fatal errors and the engine will abort the transfer.
### Progress Tracking events

View File

@ -54,4 +54,4 @@ Any number of files may be provided for each stage, as long as the sequence numb
### JSONL files
JSON Lines files are essentially JSON files, except that newline characters are used to delimit the JSON objects. This allows the provider to read in a single line at a time, rather than loading the entire file into memory, minimizing RAM usage during a transfer and allowing files containing any amount of data.
[JSON Lines](https://jsonlines.org/) files are essentially JSON files, except that newline characters are used to delimit the JSON objects. This allows the provider to read in a single line at a time, rather than loading the entire file into memory, minimizing RAM usage during a transfer and allowing files containing any amount of data.

View File

@ -25,7 +25,7 @@ The accepted options are defined in `ILocalFileSourceProviderOptions`.
};
compression: {
enabled: boolean; // if the file in compressed (and should be decompressed)
enabled: boolean; // if the file is compressed (and should be decompressed)
};
```

View File

@ -18,8 +18,8 @@ The accepted options are defined in `ILocalFileDestinationProviderOptions`.
```typescript
encryption: {
enabled: boolean; // if the file should be decrypted
key?: string; // the key to use when enabled is true
enabled: boolean; // if the file should be encrypted
key?: string; // the key to use when encryption.enabled is true
};
compression: {

View File

@ -8,7 +8,7 @@ tags:
# Remote Provider Websocket
When the data transfer feature is enabled for a Strapi server (an `admin.transfer.token.salt` config value has been set and STRAPI_DISABLE_REMOTE_DATA_TRANSFER is not set to true), Strapi will create websocket servers available on the routes `/admin/transfer/runner/pull` and `/admin/transfer/runner/push`.
When the data transfer feature is enabled for a Strapi server (an `admin.transfer.token.salt` config value has been set and `STRAPI_DISABLE_REMOTE_DATA_TRANSFER` is not set to true), Strapi will create websocket servers available on the routes `/admin/transfer/runner/pull` and `/admin/transfer/runner/push`.
Opening a websocket connection on those routes requires a valid transfer token as a bearer token in the Authorization header.
@ -56,4 +56,4 @@ See `packages/core/data-transfer/dist/strapi/remote/handlers/push.d.ts` and `pac
## Message Timeouts and Retries
Because the transfer uses on a message->response protocol, if the websocket server is unable to send a reply, for example due to network instability, the connection would halt. For this reason, each provider's options includes `retryMessageOptions` which attempt to resend a message after a given timeout is reached and a max retry option to give up after a given number of failed retry attempts.
Because the transfer relies on a message->response protocol, if the websocket server is unable to send a reply, for example due to network instability, the connection would halt. For this reason, each provider's options includes `retryMessageOptions` which attempt to resend a message after a given timeout is reached and a max retry option to abort the transfer after a given number of failed retry attempts.

View File

@ -20,8 +20,8 @@ import { ProviderTransferError } from '../../../errors/providers';
export interface ILocalFileDestinationProviderOptions {
encryption: {
enabled: boolean; // if the file should be decrypted
key?: string; // the key to use when enabled is true
enabled: boolean; // if the file should be encrypted
key?: string; // the key to use when encryption.enabled is true
};
compression: {

View File

@ -38,7 +38,7 @@ export interface ILocalFileSourceProviderOptions {
};
compression: {
enabled: boolean; // if the file in compressed (and should be decompressed)
enabled: boolean; // if the file is compressed (and should be decompressed)
};
}