-
-
Notifications
You must be signed in to change notification settings - Fork 204
How to implement storage adapters other than S3 #2017
Comments
Not possible at the moment. Ref: #61 There's a pull request that seems to allow custom adapter based on the Flysystem adapter interface. (https://github.com/directus/api/pull/603/files). |
Ref: #620 |
I am looking to connect Dropbox on my Directus v7 install (latest version). Seems this was allowed in v6 - https://github.com/directus/docs-6-legacy/blob/master/administrator-guide/storage-adapters.md And as mentioned by @wellingguzman - there is a pull request here - https://github.com/directus/api/pull/603/files --> Has anyone tried this and got it to work? Just wondering if there is any "officially" supported method for implementing Dropbox? |
@bjgajjar — any thoughts on this? It would be great to have more Official Storage adapters... and to update the docs on how these can be created. |
@benhaynes I'm also at the point where I want to write my own storage adapter (and of course share it if useful) - in this case to cloudinary. Did anyone try the pull request mentioned by @swatiag1101 ? |
Hi @benhaynes, API is using FlySystem for file management. So We can easily integrate other adapters supported by FlySystem. |
Hi @hakkurishian, This my help you. https://github.com/enl/flysystem-cloudinary |
@hemratna Thanks a lot! I remember seeing that in a previous documentation version of directus, e.g. how to integrate a custom provider with flysystem. However now I'm not sure where to place my adapter and where to obtain a template for it. |
Thanks @hemratna — can you add some more info to the Docs on how to create different Flysystem storage adapters? eg: where to add files, etc https://docs.directus.io/extensions/storage-adapters.html#core-adapters |
Also, this seems like a similar issue: https://stackoverflow.com/questions/57201545/how-to-create-a-page-extension-in-directus-7 A user doesn't know where to put the files for their extension. Let's make sure that the Docs are clear on all of this information. |
@benhaynes see. my latest comment on the similar issue directus/docs#148. A revised overview of paths and templates (in addition to the examples) would for sure benefit beginners like me. |
* Issue Fix directus#1180 (directus#1183) * Issue fix directus#1191 (directus#1192) * Issue fix directus#1196 (directus#1197) * Add 2fa authentication (directus#1031) * Parent + Nested validation changes (directus#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 directus#1194 (directus#1195) * Issue Fix directus#1194 * Update comment * Valildation issue of O2M/M2O at insertion (directus#1198) * Fox directus#1201 (directus#1202) * Fix directus#1203 (directus#1204) * Update collections() method in types.php (directus#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 (directus#1210) Adds in detection and parsing for youtu.be shorthand URLs. * Add check for environment on bootstrap (directus#1215) * Fix directus#1186 [Create new error code for invalid login entity] (directus#1218) * Fix directus#1217 (Changing password over the CLI doesn't work) (directus#1220) * Feature/audio video upload (directus#1214) * added file meta data for audio/video * updates as per PR feedback * Fix directus#1207 [Permission denied issue when using translation interface] (directus#1221) * Fix for smtp send mail issue directus#1205 (directus#1223) * Fix for smtp send mail issue directus#1205 Missing additional config settings directus#1205 * Update Schema.php * Fix 1232[Auth token is not refreshed] (directus#1233) * Change Authencation Error code to 114 from 109 (directus#1231) * Fix issue while update item. (directus#1224) * directus#1227 : Ignore all the alias fields except file interface (directus#1240) * Fix directus#1224 [Deletion of m2o/o2m field error for enabled cache] (directus#1241) * Fix 845 (directus#1244) * Change namespace for PHPUnit. * Removing old tests. * Fix directus#1238 [PDF support for Embedded URL] (directus#1245) * Fix directus#1238[PDF support for Embedded URL] * Add array support * Update comment * Update Files.php * Fix directus#1243[Dynamic charset for DB] (directus#1246) * Fix directus#1249[saveData: height is set to width] (directus#1251) * Fix directus#2017[Renaming `Public` role gives `unauthorized` error on API calls] (directus#1253) * Revert "Fix directus#2017[Renaming `Public` role gives `unauthorized` error on API calls] (directus#1253)" (directus#1254) This reverts commit 7fe9056. * FIX/core/Directus/Files.php: return $height instead of $width (directus#1250) * Fix directus#1255 [Add support of batch Create/Update/Delete for user] (directus#1257) * Fix directus#1255 [Support batch create/update/delete for user] * Add exception * Fix directus/app#2017 (directus#1256) * Fix directus#2017[Renaming `Public` role gives `unauthorized` error on API calls] * src * Remove unwanted file from use * Fix directus#729 [Can't properly query nested fields on Files field] (directus#1260) * directus#1216 : Solved issue in O2M relationship of table itself (directus#1259) * Fix directus#1209 [M2M relation with directus_collections cant be saved] (directus#1261) * Fix directus#1209[M2M relation with directus_collections cant be saved] * Implement condition on update * Define variable * Fix directus#1209[M2M relation with directus_collections cant be saved] * 🙆🏻♂️ * Fix directus#1266 (directus#1267) * Fix Warning: Cannot use a scalar value as an array in /src/core/Directus/Config/StatusMapping.php on line 103 (directus#1268) * Fix Notice: Undefined variable: filterFields in src/core/Directus/Database/TableGateway/RelationalTableGateway.php on line 2125 (directus#1270) * Fix directus#1237 (directus#1265) * Project name fix (directus#1272) * Adds support for environment variables in CLI (directus#1276) * Cleans up some unused/deprecated files in the repository (directus#1277) * Fix directus#1248 [API cannot go into deeper on user data] (directus#1282) * Add proper exit codes for CLI (directus#1281) * Fix cache.enabled not respected in cache service (directus#1273) This fixes an issue where cache.enabled is false but caching is still working. * Add CLI cache:clear (directus#1274) * Fix directus#1284[Broken user related fields] (directus#1287) * Fix directus#1279 [wysiwyg-full - add image - Call to a member function isOneToMany() on null] (directus#1288) * fixed bug with incorrect height (directus#1293) * Bump version
From directus created by michchan : directus/directus#2087
The documentation (6.4.0) just mentioned how to implement S3
but is there any guide to implement others, say dropbox, one drive etc.?
The text was updated successfully, but these errors were encountered: