This will not install as the following files are missing from the installation file, can you add these please? "src/addons/Xfrocks/AttachmentStore/vendor/aws/aws-sdk-php/src/data/ec2/2015-10-01/api-2.json.php": "820be964b03bb7fbfea5738e2f4720d0483ff2e4f05ba632b559fae0c3a41eb3", "src/addons/Xfrocks/AttachmentStore/vendor/aws/aws-sdk-php/src/data/ec2/2015-10-01/paginators-1.json.php": "159da9557fae181338be99a3ae69a6ec56355024fcb149d2f235e3c87fd87619", "src/addons/Xfrocks/AttachmentStore/vendor/aws/aws-sdk-php/src/data/ec2/2015-10-01/waiters-1.json.php": "f0714ac373800103b26b7580016e4d1eedb3a358e4896f87ce0aaa8e6fb60b65", "src/addons/Xfrocks/AttachmentStore/vendor/aws/aws-sdk-php/src/data/ec2/2015-10-01/waiters-2.json.php": "6503ff98a1e6e10fcffad37b40664159c8921945de4a3d7025e7fdfb45659d38", "src/addons/Xfrocks/AttachmentStore/vendor/aws/aws-sdk-php/src/data/ec2/2016-04-01/api-2.json.php": "ed9c209b0242e826af492edd9ca16d9deefba7d1c8cc4ca5511b9a2ab279ebbc", "src/addons/Xfrocks/AttachmentStore/vendor/aws/aws-sdk-php/src/data/ec2/2016-04-01/paginators-1.json.php": "ea3248ec5971900731c3ef5c7bfafcab4ee79bbdafa8d97fd73106309fc850e1", "src/addons/Xfrocks/AttachmentStore/vendor/aws/aws-sdk-php/src/data/ec2/2016-04-01/waiters-2.json.php": "79086b65c991e69c9bf52c8910a4c166a23cba9445578920e14f23c8902fb809", "src/addons/Xfrocks/AttachmentStore/vendor/aws/aws-sdk-php/src/data/ec2/2016-09-15/api-2.json.php": "6a4b2e90f2854d896aca6001db6ca6e66d2897172cd39b9bef1bd0b3ec0bd263", "src/addons/Xfrocks/AttachmentStore/vendor/aws/aws-sdk-php/src/data/ec2/2016-09-15/paginators-1.json.php": "173b121e9c3fd42b0b345ad3c230c38700c825201ff0b41ffc92c8e7ec841391", "src/addons/Xfrocks/AttachmentStore/vendor/aws/aws-sdk-php/src/data/ec2/2016-09-15/waiters-1.json.php": "2c707001b2c2ab519c0e94aa5b4802321db057fc1c87e304ceaef6a347527c44", "src/addons/Xfrocks/AttachmentStore/vendor/aws/aws-sdk-php/src/data/ec2/2016-09-15/waiters-2.json.php": "247a20089e717e3a13a41122f71c3f33ba84b1d6c35c1414fa0083617f106ef6", "src/addons/Xfrocks/AttachmentStore/vendor/aws/aws-sdk-php/src/data/ec2/2016-11-15/api-2.json.php": "b0a14924fe91d00ab83334043f81f90926eb3069f1724347a273427ba966b503", "src/addons/Xfrocks/AttachmentStore/vendor/aws/aws-sdk-php/src/data/ec2/2016-11-15/paginators-1.json.php": "31bb59087a674ce701b15a253435e8e5725c54d93d99e1b5efe997a62fb28500", "src/addons/Xfrocks/AttachmentStore/vendor/aws/aws-sdk-php/src/data/ec2/2016-11-15/smoke.json.php": "99832add5976d407418e99be82ea3cdea41dec6785ac8cc20b2234310c0e0125", "src/addons/Xfrocks/AttachmentStore/vendor/aws/aws-sdk-php/src/data/ec2/2016-11-15/waiters-1.json.php": "23250326e46fe6778dfaf31414a7cefba640038d67197f5212dc390da2d6f198", "src/addons/Xfrocks/AttachmentStore/vendor/aws/aws-sdk-php/src/data/ec2/2016-11-15/waiters-2.json.php": "5d1d0ccd17f9d53291707d994bf67798df9938b155fce78dec29452100e4e911", "src/addons/Xfrocks/AttachmentStore/vendor/aws/aws-sdk-php/src/data/ecr/2015-09-21/api-2.json.php": "966c63aae007eb4c724a67788748d78b45baa054338ddfa5e35c0b5f0c9da95b", "src/addons/Xfrocks/AttachmentStore/vendor/aws/aws-sdk-php/src/data/ecr/2015-09-21/paginators-1.json.php": "1a03bb3c92e7375fb65a04a3eaefa6987fce149a18ccf6ce2331014768e21159", "src/addons/Xfrocks/AttachmentStore/vendor/aws/aws-sdk-php/src/data/ecs/2014-11-13/api-2.json.php": "24b87e8122cadf21688631a5697a3f5e9ec15e22cdde804c0ce3df60ae55b827", "src/addons/Xfrocks/AttachmentStore/vendor/aws/aws-sdk-php/src/data/ecs/2014-11-13/paginators-1.json.php": "e92ea52704defca0c5a960830a52d7847edd46c3a90577f03d132752d9f0fcdb", "src/addons/Xfrocks/AttachmentStore/vendor/aws/aws-sdk-php/src/data/ecs/2014-11-13/waiters-2.json.php": "6f482ca0baa5c62e63bffca62c3f58f5513aef16e2dead0832e98858801eb282",
rsi @GSC I just downloaded the package and those files are still there. I installed it back in March and it works. You must not have uploaded the files correctly. It’s definitely on your end. .
Hi, I'm having a problem. I've installed the add-on and set up an S3 bucket and configured CloudFlare to point to it. It uploads the images fine (I can see the files appear in my bucket), but on the forum, it just sits there with the "Loading Image" message displaying for ages, until it eventually times out with a "Something went wrong. Please contact and administrator" message. Any clues? Thanks. XF 2 S3 bucket: attachments.domain.com, no public access (but also tried with full public access) IAM user with AmazonS3FullAccess policy - credentials directly entered in the Add-on config screens CNAME attachments.domain.com is an alias of attachments.mylabradorfriends.com.s3.amazonaws.com in CloudFlare It would appear it's set up correctly as it is saving the images, but what is stopping it completing in XF? Thanks.
rsi @xfrocks Not right now, but it doesn't currently work with the Xenforo Media add-on. That still needs to be corrected.
I recently upgraded xF to v2. I also have Delayed Processing enabled. It doesn't seem that it's working as attachments are still being served locally. Did I miss something during the upgrade? (Yes, I installed the updated v2 version of this AddOn.) edit: FWIW, I don't see a cron entry for the delayed processing, but I seem to recall there being one for v1.
xfrocks @fly Looks like the feature is not working at all. Can you take a screenshot of the options page?
xfrocks @fly I'm currently unable to reproduce the issue. Also, it looks like you are using an old version of the add-on, can you double check the version in add-ons page in AdminCP? Recent version does not have that big textarea to enter CloudFront private key as in your screenshot. Weird...
Hello Is it possible to have the uploaded file keep the original filename and also the same filename downloaded again? At the moment when I download the file is a jumble of letters and numbers which my users don't like.
Stuart Boyle @xfrocks If there is I can't see it? When you say which mode, I guess you mean...I am using Amazon S3?
xfrocks @Stuart Boyle Ah, Amazon S3 does not have that option because they support custom header which means the filename in the bucket is random but the actual filename when user saves the file will be correct. Does that make sense? If you give me a S3 URL from your site, I will show you.
Yodrak @xfrocks Yes i have done that and it runs now. But the Page get only refreshed every 1000 moves, no matter how many attachments i choice to move.
Hi @xfrocks I am setting up s3 with cloudfront and I cannot figure out where to find the private key file path? I have the .pem file downloaded to my computer but it's asking for a file path even though the tutorial just shows a big box and wants the RSA key, but it seems youve ipdated the addon
I've just noticed that although the image upload to CDN is working, the hourly cleanup has been failing forever... RuntimeException: Could not login with connection: push-20.cdn77.com::21, username: user_xxxxxxxx in src/vendor/league/flysystem/src/Adapter/Ftp.php at line 179 League\Flysystem\Adapter\Ftp->login() in src/vendor/league/flysystem/src/Adapter/Ftp.php at line 121 League\Flysystem\Adapter\Ftp->connect() in src/vendor/league/flysystem/src/Adapter/AbstractFtpAdapter.php at line 578 League\Flysystem\Adapter\AbstractFtpAdapter->getConnection() in src/vendor/league/flysystem/src/Adapter/Ftp.php at line 344 League\Flysystem\Adapter\Ftp->getMetadata() in src/vendor/league/flysystem/src/Adapter/AbstractFtpAdapter.php at line 540 League\Flysystem\Adapter\AbstractFtpAdapter->has() in src/vendor/league/flysystem/src/Filesystem.php at line 56 League\Flysystem\Filesystem->has() call_user_func_array() in src/vendor/league/flysystem-eventable-filesystem/src/EventableFilesystem.php at line 431 League\Flysystem\EventableFilesystem\EventableFilesystem->callFilesystemMethod() in src/vendor/league/flysystem-eventable-filesystem/src/EventableFilesystem.php at line 395 League\Flysystem\EventableFilesystem\EventableFilesystem->delegateMethodCall() in src/addons/Xfrocks/AttachmentStore/Fs.php at line 29 Xfrocks\AttachmentStore\Fs->delegateMethodCall() in src/vendor/league/flysystem-eventable-filesystem/src/EventableFilesystem.php at line 128 League\Flysystem\EventableFilesystem\EventableFilesystem->has() in src/addons/Xfrocks/AttachmentStore/Fs.php at line 95 Xfrocks\AttachmentStore\Fs->has() in src/vendor/league/flysystem/src/Filesystem.php at line 384 League\Flysystem\Filesystem->assertPresent() in src/vendor/league/flysystem/src/Filesystem.php at line 234 League\Flysystem\Filesystem->delete() call_user_func_array() in src/vendor/league/flysystem-eventable-filesystem/src/EventableFilesystem.php at line 431 League\Flysystem\EventableFilesystem\EventableFilesystem->callFilesystemMethod() in src/vendor/league/flysystem-eventable-filesystem/src/EventableFilesystem.php at line 395 League\Flysystem\EventableFilesystem\EventableFilesystem->delegateMethodCall() in src/addons/Xfrocks/AttachmentStore/Fs.php at line 29 Xfrocks\AttachmentStore\Fs->delegateMethodCall() in src/vendor/league/flysystem-eventable-filesystem/src/EventableFilesystem.php at line 330 League\Flysystem\EventableFilesystem\EventableFilesystem->delete() in src/addons/Xfrocks/AttachmentStore/Fs.php at line 65 Xfrocks\AttachmentStore\Fs->delete() call_user_func_array() in src/vendor/league/flysystem/src/MountManager.php at line 269 League\Flysystem\MountManager->invokePluginOnFilesystem() in src/vendor/league/flysystem/src/MountManager.php at line 179 League\Flysystem\MountManager->__call() in src/XF/Util/File.php at line 125 XF\Util\File::deleteFromAbstractedPath() in src/XF/Entity/AttachmentData.php at line 191 XF\Entity\AttachmentData->_postDelete() in src/XF/Mvc/Entity/Entity.php at line 1517 XF\Mvc\Entity\Entity->delete() in src/XF/Repository/Attachment.php at line 285 XF\Repository\Attachment->deleteUnusedAttachmentData() in src/XF/Cron/CleanUp.php at line 112 XF\Cron\CleanUp::runHourlyCleanUp() call_user_func() in src/XF/Admin/Controller/CronEntry.php at line 112 XF\Admin\Controller\CronEntry->actionRun() in src/XF/Mvc/Dispatcher.php at line 249 XF\Mvc\Dispatcher->dispatchClass() in src/XF/Mvc/Dispatcher.php at line 88 XF\Mvc\Dispatcher->dispatchLoop() in src/XF/Mvc/Dispatcher.php at line 41 XF\Mvc\Dispatcher->run() in src/XF/App.php at line 1891 XF\App->run() in src/XF.php at line 328 XF::runApp() in admin.php at line 13
xfrocks @cjwinternet Did you change the password at some point? The file will be deleted using the credentials that have been used to upload in the first place.
xfrocks @vlady For sure. We will try to make it work for both 2.0 and 2.1 since 2.1 is still under beta...
McAtze @vlady You can fix it quickly for yourself. Open to /src/addons/Xfrocks/AttachmentStore/XF/Entity/AttachmentData.php and search for: PHP: public function getThumbnailUrl() Replace it with: PHP: public function getThumbnailUrl($canonical = false)
And one more question. Currently I store all my attachments on FTP. How I can to move them to Digital ocean S3?
@xfrocks , I found a bug related with DigitalOcean S3 Bucket in 2.1. Here is config - Code: $config['bdAttachmentStore_s3Buckets'] = [ 'cdnname' => [ 'key' => '458276q34jtqg34', 'secret' => '9042g76umopq46j6b', 'endpoint' => 'https://ams3.digitaloceanspaces.com', 'url' => 'https://cdnname.ams3.digitaloceanspaces.com', ], ]; In this case images uploaded into bucket correctly, but addon returns incorrect URL - instead cdnname.ams3.digitaloceanspaces.com/2018/12/58200_6dc2e319243ce8aa92da34ebe23688d0.jpg, it return cdnname.s3.amazonaws.com/2018/12/58200_6dc2e319243ce8aa92da34ebe23688d0.jpg Kindly ask you to fix it!
@xfrocks I just try to move the files back to default location. The files get moved to internal-data directory, but the run-job site get not refreshed. So i always get a 504 Gateway-Timeout Error. How can i solve my problem?
xfrocks @Yodrak Can you increase your web server timeout limit? Because files have to be downloaded from remote sources, it will take a long time and may trigger the timeout error.
xfrocks updated [bd] Attachment Store for XenForo 2.0 with a new update entry: Added support for XenForo 2.1 Read the rest of this update entry...
In XF 2.1 if i move the files from internal_data to data directory with the attachment store, then the files get only copied in the data folder. so i have double content. What do i need to remove the old files in internal_data directory?
xfrocks @Yodrak The old files are deleted in a cronjob that runs hourly so you don't need to do anything. Just wait a bit and they should go away.
Yodrak @xfrocks I have waited a couple of days, but nothing changes. I have 26GB in internal_data/attachments left.
xfrocks @Yodrak In the posts, have the attachment links updated to the remote server yet? Which service are you using with this add-on? Amazon S3? Also, try running this query in phpMyAdmin or similar tool to verify all files have been moved. Code: SELECT bdattachmentstore_engine, COUNT(*) FROM xf_attachment_data GROUP BY bdattachmentstore_engine;
Yodrak @xfrocks MariaDB [xenforo]> SELECT bdattachmentstore_engine, COUNT(*) FROM xf_attachment_data GROUP BY bdattachmentstore_engine; +------------------------------------+--------------+ | bdattachmentstore_engine | COUNT(*) | +------------------------------------+--------------+ | NULL | 307959 | | external_data | 352895 | +------------------------------------+--------------+ 2 rows in set (0.602 sec) This is my query. Yes it seems that all posts have the attachment links updated. I use external data folder only, because i want to serve the attachments with pagespeed. As i remember the internal_data/attachment folder has 30 GB before i start the move of the attachments. Now the folder has 26 GB so some files got deleted.
xfrocks @Yodrak According to the results above, you still have 300k attachments in their default storage. Try running the move tool again?
@xfrocks Hello, I installed that plugin to use with my DigitalOcean Spaces. Used the config template you gave and put credentials correctly. It uploads file to do cdn (according to it) but image doesn't show up. Example of file uploaded: https://cdn.otopark.com/2019/04/18251_24d8c97a6ed500ac3d7053a172c3c489.png When i check spaces, that file doesnt exist.
xfrocks @Berkin Can you enable XenForo debug mode and try uploading again? It will generate a log file at "internal_data/temp/Xfrocks_AttachmentStore.log".
Berkin @xfrocks Thanks for quick reply, i fixed. I saw that i didn't changed my-do-space to my bucket name. After changed, everything worked. Now will try to move existing library. Thanks!
xfrocks @Berkin This link never works: Code: https://www.otopark.com/forum/internal_data/attachments/0/blabla.jpg Because XenForo stores data file in internal_data as (123-xxx.data) and uses PHP to stream the contents. The internal_data is supposed to be restricted access by the web server (Apache/nginx). When you move, this add-on will read the file from internal_data and put into DO Spaces in your case at links like: Code: https://cdn.otopark.com/2019/04/filename.jpg
xfrocks @tohaitrieu Check this out https://xfrocks.com/other/threads/bd-attachment-store-for-xenforo-2-faq.622/
tohaitrieu @xfrocks Now it is working. But the filename will be renamed when upload to DigitalOcean Space with random characters and is the bad filename.