Skip to content
This repository has been archived by the owner on Jan 6, 2023. It is now read-only.

Rework the thumbnailer #1467

Merged
merged 13 commits into from
Nov 27, 2019
Merged

Rework the thumbnailer #1467

merged 13 commits into from
Nov 27, 2019

Conversation

urvashi-7span
Copy link
Contributor

@urvashi-7span urvashi-7span commented Nov 24, 2019

In this PR,

@benhaynes @rijkvanzanten
Let me know the list of options that are supported for thumbnail creation so I will do code according to that.

Resolves #813

@urvashi-7span urvashi-7span changed the title Fix/813 Fix #813 Nov 24, 2019
@rijkvanzanten rijkvanzanten changed the title Fix #813 Rework the thumbnailer Nov 26, 2019
Copy link
Member

@rijkvanzanten rijkvanzanten left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • Lets rename hash_id to private_hash
  • directus_files.id primary key should be used to name all files in the filesystem (both original / thumbnails)
  • directus_files.filename holds the original name of the file from when it was uploaded
  • directus_files.id needs to be converted to a random hash, not an auto increment ID
  • directus_files.private_hash should be randomly generated as well (does not have to be connected to id in any way)
  • Both directus_files.id and directus_files.private_hash should be a 16-character alpha-numeric (A-Za-z0-9) string (make sure to use VARCHAR(16) as well)
  • Get rid of file naming option in directus_settings
  • Remove the other deprecated fields from directus_settings
  • The key should work as a shorthand for the other values. Passing /assets/:hash?key=test should return the file according to the test setting instead of return "width: This value should not be blank. etc"
  • thumbnail_whitelist_enabled should be on by default
  • "The params doesn't don't match with the Thumbnail Whitelist."

Other than these points, this is really coming together! 😄 Happy to have this cleaned up a bit.

@urvashithakar @bjgajjar Did we ever find a solution / have any ideas about streaming the files instead of reading them in memory before sending them out?

@rijkvanzanten rijkvanzanten merged commit cada95f into directus:develop Nov 27, 2019
@philleepflorence
Copy link
Contributor

Will this PR allow the Admin to select the default thumbnail size and quality in directus_settings?
Currently, V8-RC2 is generating the thumbnail from the first size in directus_settings.thumbnail_dimensions, and using good as the quality.

Or will it generate all the thumbnail sizes that are listed?

@rijkvanzanten
Copy link
Member

There's a split between system thumbnails that can't be changed, and a user-provided whitelist that can be used to add any dedicated sizes you want

@philleepflorence
Copy link
Contributor

Okay, thanks!
I will await the next update to see if it changes the current behavior.

Currently with these sizes:
200x200,320x320,480x480,640x640,960x960,1280x1280,1600x1600,1900x1900
When you hit the files endpoint, it generates an array of 8 thumbnail rows but with the quality of good and action crop.
My hope is:

  1. We can change the quality and action.
  2. Choose the default thumbnail size or turn off the additional thumbnail rows.

Also if for some reason the list is as follows:
1280x1280,1600x1600,1900x1900,200x200,320x320,480x480,640x640,960x960
The thumbnail generated is 1280x1280.

@rijkvanzanten
Copy link
Member

This is exactly what's possible now 🙂

Instead of setting what sizes are available, you're required to set what formats are allowed, based on an array of objects containing

(key)
width
height
quality
fit

@philleepflorence
Copy link
Contributor

Okay, so this is the way it is designed?

Also if for some reason the list is as follows:
thumbnail_dimensions: 1280x1280,1600x1600,1900x1900,200x200,320x320,480x480,640x640,960x960
The thumbnail generated in uploads is 1280x1280.

And querying the files endpoint returns an array of thumbnails for each of the sizes in thumbnail_dimensions for each file?

@rijkvanzanten rijkvanzanten added this to Done in v8.0.0 Dec 3, 2019
rijkvanzanten added a commit that referenced this pull request Dec 4, 2019
* Issue Fix #1180 (#1183)

* Issue fix #1191 (#1192)

* Issue fix #1196 (#1197)

* Add 2fa authentication (#1031)

* Parent + Nested validation changes (#1138)

* Add migration schema for 2FA Secret user field

* Add 2fa_secret field to FieldsSeeder

* Create Missing 2FA Password Exception

* Add googleauthenticator dependency

* Add getter for User's 2FA secret

* Check for otp param in login request, and login with it

* Add enforce_2fa parameter to directus_settings

* Create Utils endpoint and service method to generate 2fa secret

* Add enforce_2fa field to roles

* Add enforce_2fa field to FieldsSeeder

* Change Missing2FAPasswordException error code to 111

* Change 2FA Library

* Change 2fa_secret interface in FieldsSeeder

* Created exception for invalid otp

* Changed findUserWithCredentials to through an InvalidOTPException on otp check

* Created new exception if 2fa is enforced but not enabled by user

* Added function to check if 2fa is enforced for a user

* Check in AuthenticationMiddleware whether 2fa is enforced and enabled for user

* Add optional needs2FA field to auth token and on token refresh

* Catch error if enforce_2fa column doesn't exist
Fixes crash when has2FAEnforced is called on a DB that hasn't been migrated

* Use relative positions for target path array to check user edit

* Fix unset on payload_arr instead of payload

* Change 2FA activation on login to use activate2FA endpoint

* Update ItemsService.php

* Issue Fix #1194 (#1195)

* Issue Fix #1194

* Update comment

* Valildation issue of O2M/M2O at insertion (#1198)

* Fox #1201 (#1202)

* Fix #1203 (#1204)

* Update collections() method in types.php (#1184)

There are cases when $type is not a string but an object that inherits from ObjectType.
In that situation array_key_exists failing because it should get only integers or strings 
as a first parameter. So in order to avoid that the 'name' property of the object is used 
as a key.

* Improve YouTube Embed Provider (#1210)

Adds in detection and parsing for youtu.be shorthand URLs.

* Add check for environment on bootstrap (#1215)

* Fix #1186 [Create new error code for invalid login entity] (#1218)

* Fix #1217 (Changing password over the CLI doesn't work) (#1220)

* Feature/audio video upload (#1214)

* added file meta data for audio/video

* updates as per PR feedback

* Fix #1207 [Permission denied issue  when using translation interface] (#1221)

* Fix for smtp send mail issue #1205 (#1223)

* Fix for smtp send mail issue #1205

Missing additional config settings
#1205

* Update Schema.php

* Fix 1232[Auth token is not refreshed] (#1233)

* Change Authencation Error code to 114 from 109 (#1231)

* Fix issue while update item. (#1224)

* #1227 : Ignore all the alias fields except file interface (#1240)

* Fix #1224 [Deletion of m2o/o2m field error for enabled cache] (#1241)

* Fix 845 (#1244)

* Change namespace for PHPUnit.

* Removing old tests.

* Fix #1238 [PDF support for Embedded URL] (#1245)

* Fix #1238[PDF support for Embedded URL]

* Add array support

* Update comment

* Update Files.php

* Fix #1243[Dynamic charset for DB] (#1246)

* Fix #1249[saveData: height is set to width] (#1251)

* Fix #2017[Renaming `Public` role gives `unauthorized` error on API calls] (#1253)

* Revert "Fix #2017[Renaming `Public` role gives `unauthorized` error on API calls] (#1253)" (#1254)

This reverts commit 7fe9056.

* FIX/core/Directus/Files.php: return $height instead of $width (#1250)

* Fix #1255 [Add support of batch Create/Update/Delete for user] (#1257)

* Fix #1255 [Support batch create/update/delete for user]

* Add exception

* Fix directus/app#2017 (#1256)

* Fix #2017[Renaming `Public` role gives `unauthorized` error on API calls]

* src

* Remove unwanted file from use

* Fix #729 [Can't properly query nested fields on Files field] (#1260)

* #1216 : Solved issue in O2M relationship of table itself (#1259)

* Fix #1209 [M2M relation with directus_collections cant be saved] (#1261)

* Fix #1209[M2M relation with directus_collections cant be saved]

* Implement condition on update

* Define variable

* Fix #1209[M2M relation with directus_collections cant be saved]

* 🙆🏻‍♂️

* Fix #1266 (#1267)

* Fix Warning:  Cannot use a scalar value as an array in /src/core/Directus/Config/StatusMapping.php on line 103 (#1268)

* Fix Notice: Undefined variable: filterFields in src/core/Directus/Database/TableGateway/RelationalTableGateway.php on line 2125 (#1270)

* Fix  #1237 (#1265)

* Project name fix (#1272)

* Adds support for environment variables in CLI (#1276)

* Cleans up some unused/deprecated files in the repository (#1277)

* Fix #1248 [API cannot go into deeper on user data] (#1282)

* Add proper exit codes for CLI (#1281)

* Fix cache.enabled not respected in cache service (#1273)

This fixes an issue where cache.enabled is false but caching is still working.

* Add CLI cache:clear (#1274)

* Fix #1284[Broken user related fields] (#1287)

* Fix #1279 [wysiwyg-full - add image - Call to a member function isOneToMany() on null] (#1288)

* fixed bug with incorrect height (#1293)

* Execute migrations automatically (#1296)

* Remove middleware for register webhook and add it before registeration of hooks

* Need to add middleware for directory dependency

* Fix #1302 - Internal server error when selecting/checking a Checkbox Relational field after deleting some of the related items (#1307)

* Fix #1308 - Checkbox-relational field issue when unchecking value (#1309)

* Fix #1308 - Checkbox-relational field issue when unchecking value

* Update RelationalTableGateway.php

* Add Aliyun OSS settings to config schema (#1299)

* Extend config schema to support PDO options. (#1295)

* Extend config schema to support PDO options.

* Make driver_options database config setting optional.

* Replcae  with getQueryParams method of slim (#1313)

* Fix Undefined Variable - /src/core/Directus/Console/Common/Setting.php on line 24 (#1314)

* Replace  with getQueryParams method of slim (#1317)

* Fix response data contains json object instead of array (#1318)

* Fix #1310[Resolve issue with updatingNestd m2o/o2m/m2m] (#1320)

* Fix #1321 [Resolve bug with system date and system user validation] (#1322)

* Resolve Authentication token issue after upgrade to 2.6.0 (#1326)

* Fix #1329 [Add new fields to / endpoint] (#1332)

* Fix #1329

* Fix #1329 [Add new fields to / endpoint]

* fix issue #1330 (#1331)

* Rename color with project_color key (#1334)

* Fix #1333 [Return Unauthorised when public role not have the respected permission] (#1336)

* Fix #1333 [Return Unauthorized when public role not have the respected permission

* Add comment

* Session-based auth flow along with kill functionality (#1280)

* Fix #1263[Rethink Auth Flow]

* Kill User Session

* Add Expiry time

* Expire and cookie

* Auth Flow - Modify code base

* Resolve browser cache remove issue

* Remove PHPSESSIONID reset code

* Cookie name based on projject name, Merge authentication endpoint

* Support of mode in sso

* Add seeder into migrations

* Remove warning of container

* Add required flag for user in fields table from migrations

* Add endpoint to fetch the user's session

* Update user's session to loggedin user session endpoint

* Allow cross origin cookie

* Set credentials response header dynamically

* Fix empty FK - do not continue if FK is empty, otherwise, it will not display the entry as if it was not saved. (#1342)

* Fix #1343 [Update directus_files field type] (#1346)

* fix parsing env variables (#1347)

* Fix CORS issue for system endpoint (#1352)

* Fix #1348 (#1353)

* Fix wrong chache naming. (#1354)

* Fix issue when deleting a file and saving the item (#1360)

* Fix #1359 [Pagination not working] (#1362)

* fix readme ( branch to submit PRs "master" -> "develop") (#1365)

* Ignore ddev config folder

* Fix unaccessible public endpoints (#1367)

* Fix CORS origin * for public preflight endpoints (#1369)

* add gitpod.io support (#1356)

* Add requires2FA flag at / endpoint (#1370)

* Set default value if the value is not set (#1373)

* CORS issue for public endpoint (#1374)

* Fix Warning:  Illegal string offset 'field' in src/endpoints/Settings.php on line 89 when query param contains single=1 (#1375)

* Fix Warning:  Illegal string offset 'field' in src/endpoints/Settings.php on line 89 when query param contains single=1

* Update Settings.php

* Resolve undefined class ArrayUtils error

* Fetch single sign on providers

* style updates (#1382)

* Update withHeaders + add note

* Fix #1384 [Remove entries from directus_relations on delete the collection] (#1386)

* Fix #1381 [Throwing 500 response code on mail sending fail] (#1387)

* Fix #1329 [Update the name of variable from settings table] (#1389)

* Fix #1329 [Update the name of variable from settings table]

* Update comment

* Fix the general settings schema upgrade - consider the new installation as well with already existing fields (#1391)

* New project flow (#1399)

* Replace migrations file from config folder to migrations folder

* Return the project list

* Remove unwanted code

* Projects endpoint

* Remove unwanted code

* Remove unwanted code

* Remove unwanted code

* Remove default _ for secretkey and newtimzone function of datetimeutil

* Check requirement endpoint (#1398)

* Check requirement endpoint

* Add  endpoint

* Update ProjectService.php

* Don't verify super admin with hashing

* Remove warning of non static method 'createJsonFileContent' for project create

* Remove _ as private flas (#1403)

* Remove password_verfiy and add equals operator

* Fix integrity constraint (#1400)

* Update 2FA flow to work with cookies

Squashed commit of the following:

commit a543c44
Author: rijkvanzanten <rijkvanzanten@me.com>
Date:   Fri Nov 8 16:20:45 2019 -0500

    Use correct response format for 2fa util

commit ab06c55
Author: rijkvanzanten <rijkvanzanten@me.com>
Date:   Fri Nov 8 15:42:35 2019 -0500

    Rename activate2FA to activate_2fa and allow `me` for user updates

commit 7b429ab
Author: Binal Gajjar <binal.gajjar7@gmail.com>
Date:   Fri Nov 8 22:46:30 2019 +0530

    Set NULL if data array is empty

commit c5c7bf6
Author: Binal Gajjar <binal.gajjar7@gmail.com>
Date:   Fri Nov 8 22:37:17 2019 +0530

    Remove needs2FA param from authtoken

commit 5b4b21a
Author: Binal Gajjar <binal.gajjar7@gmail.com>
Date:   Fri Nov 8 22:35:41 2019 +0530

    Throw error if 2FA is not enabled

* clearer existing install response

* update error message

* Fix #1380 [Set default requires2FA flag] (#1388)

* Redirect the users to /admin in sso (#1407)

* Redirect the users to /admin in sso

*  2FA flow for SSO

* Remove unwanted file from use statement

* Default to UTC timezone on new project installs (when there's no config)

* update sso icon colors

* Update the size of token field

* Update the size of token field

* Update the size of static token

* Resolve redirection to /admin? 

Resolve redirection to `/admin?` instead of `/admin`

* Add missing 2fa secret column in seeds

* Throw exception for SSO (#1411)

* Redirect the users to /admin in sso

*  2FA flow for SSO

* Remove unwanted file from use statement

* Throw the exception when 2FA enforced or enabled

* Fix 2fa column

* Fix 2fa column

* Ignore the files which start with _

* Restrict private and _ project from listing (#1415)

* Restrict private files from listing

* Return the filename instead of projectname from scan funciton

* Add a validation of boolean to private flag.

* Fix #1395[/server/ping should ignore project] (#1416)

* Update error code for unknown project exception

* Update FieldsConfig.php (#1413)

Without this fix the GrapQL query brings values only in case when the M2M field has exactly the same name as the related collection. It can be ok, but for cases when it's required to have mutliple M2M fields pointing to the same collection, (e.g. there 2 collections  - games and tags, and so we need to specify Primary and Secondary tags for each game). So with current implementation we cannot create primaryTags and secondaryTag fields, we should use 'tags' field instead, but its only one, and we need 2. So this fix obtaining fieldName from parameters and using it for relation and not a collection name.

* Remove unwanted files (#1421)

* V8.0.0 (#1414)

* Redirect to correct endpoint for app

* Redirect to admin based on relative url (works in sub-folder)

* Update request / reset password to be all app based

* Add trailing slash to admin redirect

* Add project key to reset password

* Restrict private and _ project from listing (#1415)

* Restrict private files from listing

* Return the filename instead of projectname from scan funciton

* Add a validation of boolean to private flag.

* Add redirect_url param

* update settings seeder to contain all default options

* public role description

* relations alpha order

* Fix false positive in sso 2fa block

* add enforce_2fa to roles

* activity seeder updates

icons and widths

* seeder for directus files

need to check “description” options array format

* directus settings seeder updates

* Add support for webhooks

Squashed commit of the following:

commit ce6ffac
Merge: 667d960 e0630e8
Author: rijkvanzanten <rijkvanzanten@me.com>
Date:   Tue Nov 12 11:51:19 2019 -0500

    Merge branch 'develop' into webhooks

commit 667d960
Merge: be83925 557a83b
Author: rijkvanzanten <rijkvanzanten@me.com>
Date:   Tue Nov 12 11:17:11 2019 -0500

    Merge branch 'v8.0.0' into webhooks

commit be83925
Merge: f51c51a 41fd0b6
Author: rijkvanzanten <rijkvanzanten@me.com>
Date:   Tue Nov 12 11:17:07 2019 -0500

    Merge branch 'develop' into webhooks

commit 557a83b
Author: rijkvanzanten <rijkvanzanten@me.com>
Date:   Tue Nov 12 10:54:13 2019 -0500

    Fix false positive in sso 2fa block

commit 0989b31
Author: Ben Haynes <ben@rngr.org>
Date:   Tue Nov 12 10:49:54 2019 -0500

    relations alpha order

commit 8f15ad6
Author: Ben Haynes <ben@rngr.org>
Date:   Tue Nov 12 10:49:42 2019 -0500

    public role description

commit 555ba2f
Author: Ben Haynes <ben@rngr.org>
Date:   Tue Nov 12 10:46:22 2019 -0500

    update settings seeder to contain all default options

commit 9816a4a
Author: Binal Gajjar <binal.gajjar7@gmail.com>
Date:   Tue Nov 12 20:41:54 2019 +0530

    Add redirect_url param

commit 3ba3708
Merge: 379457d 0629167
Author: Binal Gajjar <binal.gajjar7@gmail.com>
Date:   Tue Nov 12 20:30:11 2019 +0530

    Merge branch 'v8.0.0' of https://github.com/directus/api into v8.0.0

commit 0629167
Author: rijkvanzanten <rijkvanzanten@me.com>
Date:   Mon Nov 11 18:33:17 2019 -0500

    Add project key to reset password

commit 2bcd474
Author: rijkvanzanten <rijkvanzanten@me.com>
Date:   Mon Nov 11 18:33:05 2019 -0500

    Add trailing slash to admin redirect

commit 4a0ccf6
Author: rijkvanzanten <rijkvanzanten@me.com>
Date:   Mon Nov 11 16:13:34 2019 -0500

    Update request / reset password to be all app based

commit e42fbf9
Author: rijkvanzanten <rijkvanzanten@me.com>
Date:   Mon Nov 11 16:13:05 2019 -0500

    Redirect to admin based on relative url (works in sub-folder)

commit 9f24d50
Author: rijkvanzanten <rijkvanzanten@me.com>
Date:   Mon Nov 11 15:17:59 2019 -0500

    Redirect to correct endpoint for app

commit f51c51a
Author: Binal Gajjar <binal.gajjar7@gmail.com>
Date:   Fri Nov 8 22:44:15 2019 +0530

    Webhook Implementation (#1304)

    * Webhook implementation

    * Webhook development

    * Fix 29

    * Register the webhook

    * Webhook seed transfer into migrations

    * Update default seeder

    * Update comment

    * Update comment

    * Add Status Field

* directus users seeds

* remove unused seeder data

* missing comma

* Added missing comma

* settings defaults

* setup telemetry and default locale

* Remove directus activity seen table (#1422)

* Remove directus activity seen

* Revert back the activity seen field from upgrades

* webhooks seeds

* webhooks update

* Rename webhook draft->inactive published->active + delete deleted

* update webhooks schema migrations

* webhooks url placeholder

* Use collections interface for collection chooser on webhooks

* webhooks info

* Don't enforce user.locale to be set

* Bump version

* hide dividers on browse

* nice defaults for webhooks layout

* better webhooks layout

* Revert "Fix issue when deleting a file and saving the item (#1360)" (#1423)

This reverts commit 37ef295.

* Revert "Fix the general settings schema upgrade - consider the new installation as well with already existing fields (#1391)" (#1424)

This reverts commit 483e065.

* Update the current migrations for remove unwanted code and update the icons (#1425)

* Fix #1429 [Activity datetime is incorrect] (#1430)

* add directus user theme field

* Update migration files to check if column exist then pnly drop (#1436)

* Add DB condition in migration to check whether column exists.

* Fix Constant Imagick::ALPHACHANNEL_REMOVE is undefined (#1438)

When using Imagick less than version 3.4.4, it will throw error `Constant Imagick::ALPHACHANNEL_REMOVE is undefined`.

The const `ALPHACHANNEL_REMOVE` only exist in 3.4.4 as described [here](Imagick/imagick#281).

* Add Migration for theme (#1444)

* Fix #1442 [Reset password throws email error on inactive user] (#1445)

* Add Migration for theme

* Fix #1442 [Reset password throws email error on inactive user]

* Update syntax for insert

* User role m2m to o2m (#1435)

* Update role to m2o

* Remove debug code

* If exist condition

* Update migrations/db/seeds/RelationsSeeder.php

* Fix #1434 [Clean up /projects /server/projects setup] (#1439)

* Fix #1434

* Remove unwanted code

* Try catch for response

* Remove the superadmin token from payload and place it as a param

* Remove admin condition to delete the project

* Remove whitespace

* Fix #1429 [Convert current timezone to UTC timezone] (#1447)

*  Fix #1450 (#1451)

*  Issue fix 1450

* Remove optional from social_providers as it will add a blank string too.

* Fix #1417 [Resolve edit permission is required to create a file] (#1452)

* Fix #1417 [Resolve edit permission is required to create a file]

* Remove unwanted enter from file

* Remove unwanted files from git commit

* Remove unwanted files from git commit

* Revert " Fix #1450 (#1451)" (#1454)

This reverts commit 68e1717.

* Fix project install

* Stop migrations execution for server endpoints (#1453)

* Stop migrtions execution for server endpoints

* Remove trailing slash from get request

* Fix #1449 [Support _ for projectname] (#1455)

* Support for redis cluster (#1441)

* Add support for redis cluster

* Add cache adapter type for rediscluster

* Use cache/cache for dev-master (which support RedisCluster)
Fix instanciation of RedisCluster

* Bump version

* Use -1 for undefined error code

* Log errors to file on failed sso

* Add migrations for using repeater for collection translations

* Make the api endpoint /server/projects works with docker environments variables (#1470)

* Make the api endpoint /server/projects works with docker environments variables DIRECTUS_USE_ENV=1

* Change default project name to _

* Fix #1450 [Installer creates format issues in config file] (#1472)

* Fix #1450 [Installer creates format issues in config file]

* Add comma after array

* Fix #1427 (#1469)

* Adding command line support for new project flow (#1464)

* Fix commannd line issues

* Add upgrades migrations in cmd installtion

* Rename -N to -k and add it to the list of available options

* Make the use if the telemetry service configurable (#1420)

* Make the telemetry requests configurable

* Add new config setting to the schema

* Remove telemetry from configuration file

* Remove telemetry from configuration file

* Remove telemetry from schema

* Remove extra comma

* Fetch the telemetry from settings table instead of configuration file

* Fixed primary key fields Graphql definition (#1418)

* Fixed primary key fields Graphql definition

The check for primary key fields was wrong so they never are defined as ID. So the Int! definition raises a Graphql validation error on primary key fields:

Interface field Node.id expects type ID but ###.id is type Int!.

* Code style improvements

Used "if" instead ternary operator and removed unnecessary "== true"

* Migration changes (#1466)

* Migrations folder structure

* Change migrations path

* Remove unwanted utilities

* Remove utilities

* Add version in comment section of migrations

* Check if the table exists or not

* Adding if exist condition for update

* Rename the fields migrations

* MIgration changes

* Remove check for libapache2_mod_php (#1479)

The Apache PHP module is needed in order to run PHP from Apache. This information is returned from PHP, so if this module isn't loaded, this whole endpoint wouldn't do anything. If this endpoint works, we already know that libapache2-mod-php is working as expected. (Also, extension_loaded("libapache2-mod-php") never seems to be true.

* Rename page->module (#1485)

* Don't raise the required error if the field has a default value (#1487)

* Replace nav_override with collection / module listing

* Fix #1488 (#1489)

* Fix #1462 [Authentication API return user object] (#1490)

* Fix #1483 [activity_skip doesnt work on delete file] (#1491)

* Fix width on wrong value

* Fix collection listing not using right options

* Update the options based on seeder

* Rework the thumbnailer (#1467)

* Thumbnail whitelist development

* Image and thumbnail URL changes and validations

* Assets endpoints in thumbnail

* Default thumbnail URL changes and other changes

* Removed thumbnail in public

* Requested changes in thumbnailer

* Remove key from folder name

* Provide the support for both keys - system and whitelist

* Return all the thumbnail - including system as well as whitelisted

* Use the shorthand for width, height, quality and fit

* Use the shorthands for params

* Update AssetService.php

* Update the error message

* MIgration changes (#1495)

* MIgration changes

* Update the sorting ordeR

* Render  original path as full_url

* Use color interface for project color

* Update migrations for setings

* Fix thumbnailer enabled check + * generation

* Cleanup settings migrations

* Rename thumbnail_whitelist to asset_whitelist

* Fix non-key whitelisted asset

* Update migrations

* Add contain constraint

* Remove hardcoded settings validation

* Remove default project based empty folders

* Use generated as default thumbnail location

* Config updates (#1484)

* Migrations folder structure

* Change migrations path

* Remove unwanted utilities

* Remove utilities

* Add version in comment section of migrations

* Check if the table exists or not

* Adding if exist condition for update

* Rename the fields migrations

* Rename api-sample.php to _example.php

* Don't return ignored files

* Move env out of app config category

* Remove timezone flag from config

* Move logger config out of settings key

* [WIP] Start on new example config file

* Change order + remove comments from config stub

* Get rid of unused `feedback` config section

* Update example config file

* Added missing comma

* Added missing comma

* Remove migration

* Adding support for _ project

* Add comment for condition

* Update Server.php

* Ignore _ prefixed config files everywhere

* Make durations readonly

* Use tags for ip whitelist

* Clear whitespace + set duration to readonly

* Fix #1497 [V8 fresh install is broken]

* Add migration for migrating advanced wysiwyg to wysiwyg

Fixes directus/directus#2465

* Fix deleting file type fields from collection

Fixes #1503

* Update the thumbnailer (#1506)

* File name changes and thumbnailer changes

* Thumbnail related changes

* name changes

* Fix typo

* Thumbnail changes

* Combine migration files

* Replace the file delete code from basetablegateway to fileservice

* Tweak migrations

* Set uuid to default field format
* Don't change primary key of directus_files

* Fix content-disposition header + last modified for originals and thumbnails

* Don't return thumbnails if the asset type isn't an image

* Set duration to readonly

* Don't try reading non-images files with Intervention

* Prefer application/pdf over application/acrobat

* Update repeater settings for asset whitelist

* Fix renaming files

* Don't return thumbnail info for svgs

* update example config comments

* remove leading slash from example

* Have migrations (#1509)

* Put old migrations back

* Upgrade migrations

* Various tweaks

* Fix private hash requirement flag

The API still throw a required error, even though its a generated field

* Fix settings

* Rework order of migrations

* Beautify directus_files
Beautify directus_files
Beautify directus_files
Beautify directus_files
Beautify directus_files
Beautify directus_files
Beautify directus_files
Beautify directus_files
Beautify directus_files

* Remove nav_blacklist, add enforce_2fa

* Tweak settings of timeline

* Get rid of activity icon

* Use system collections in directus activity main view

* Handle error : Use of undefined constant ERROR_MESSAGE

* Rebuild the 2FA query (#1510)

* Redevelop the 2FA query

* Dynamic name of table

* Fix #1508 [Deleting a file attached to an item deletes the item] (#1512)

* Update type of enforce_2fa from array to boolean

* Update type of enforce_2fa from array to boolean

* Fix #1473 [Remove cookie if token is invalid] (#1513)

* Update README.md

* Update README.md

* Add uploads folder to base structure

* Fix _.php config name + remove duplicate code

* Also migrate wysiwyg_full

* Bump version
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
No open projects
v8.0.0
  
Done
Development

Successfully merging this pull request may close these issues.

Dynamic default action and quality for thumbnail information
4 participants