Skip to content

Commit

Permalink
Merge pull request #8746 from open-sausages/pulls/4/doc-file-migratio…
Browse files Browse the repository at this point in the history
…n-for-big-files

DOCS Add more info about migrations huge number files
  • Loading branch information
bergice authored Jan 29, 2019
2 parents a499d16 + 6f18057 commit 2378d75
Showing 1 changed file with 23 additions and 0 deletions.
23 changes: 23 additions & 0 deletions docs/en/02_Developer_Guides/14_Files/05_File_Migration.md
Original file line number Diff line number Diff line change
Expand Up @@ -77,3 +77,26 @@ SilverStripe\Assets\Flysystem\FlysystemAssetStore:
```

Note that this will not allow you to utilise certain file versioning features in 4.0.

## Migrating substantial number of files

The time it takes to run the file migration will depend on the number of files and their size. The generation of thumbnails will depend on the number and dimension of your images.

If you are migrating a substantial number of files, you should run file migration task either as a queued job or on the command line. If the migration task fails or times out, you can start it again and it will pick up where it left off.

If your environement supports the _Imagick_ PHP library, you may want to use that library instead of _GD_. Imagick is considerably faster when resizing images. You can switch back to _GD_ after running the file migration task.

[Changing the image manipulation driver to Imagick](images#changing-the-manipulation-driver-to-imagick)

If your project hosts big images (e.g. 4K images), this can also affect the amount of memory used to generate the thumbnails. The file migration task assumes that it will have at least 512MB of memory available.

By default the file migration task will not generate thumbnails for files greater than 9MB to avoid exhausting the available memory. To increase this limit, add the following code to your YML configuration:

```yml
SilverStripe\Core\Injector\Injector:
SilverStripe\AssetAdmin\Helper\ImageThumbnailHelper:
constructor:
0: '100MB'
```

You can also set this to `0` to disable the limit.

0 comments on commit 2378d75

Please sign in to comment.