[bd] Attachment Store for XenForo 2.0 [Paid] 2.1.3

Store attachment differently and more effectively.

  1. GSC

    GSC New Member

    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",
     
    1. rsi

      rsi New Member

      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.
      .
       
  2. EricJ

    EricJ New Member

    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.
     
  3. EricJ

    EricJ New Member

    Never mind, I popped out and when I got back it had sorted itself out. Patience obviously needed.
     
    xfrocks likes this.
  4. rsi

    rsi New Member

    Is this add-on going to receive another update soon?
     
    1. xfrocks

      xfrocks XenForo rocks!
      Staff Member

      xfrocks @rsi Is there anything specifically you are waiting for?
       
    2. rsi

      rsi New Member

      rsi @xfrocks Not right now, but it doesn't currently work with the Xenforo Media add-on. That still needs to be corrected.
       
    3. Rick7C2

      Rick7C2 New Member

      Rick7C2 @rsi Any news on this?
       
  5. fly

    fly New Member

    #36 fly, Jul 23, 2018
    Last edited: Jul 23, 2018
    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.
     
    1. xfrocks

      xfrocks XenForo rocks!
      Staff Member

      xfrocks @fly Looks like the feature is not working at all. Can you take a screenshot of the options page?
       
    2. xfrocks

      xfrocks XenForo rocks!
      Staff Member

      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...
       
    3. fly

      fly New Member

      fly @fly Still need help...
       
    4. fly

      fly New Member

      fly @fly @xfrocks I still need some help with this please.
       
  6. Stuart Boyle

    Stuart Boyle New Member

    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.
     
    1. xfrocks

      xfrocks XenForo rocks!
      Staff Member

      xfrocks @Stuart Boyle There is an option for that in AdminCP.

      Btw, which mode are you using?
       
    2. Stuart Boyle

      Stuart Boyle New Member

      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?
       
    3. xfrocks

      xfrocks XenForo rocks!
      Staff Member

      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.
       
    4. Yodrak

      Yodrak New Member

      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.
       
    5. xfrocks

      xfrocks XenForo rocks!
      Staff Member

      xfrocks @Yodrak You meant you enter 10 in the rebuild tool and it still runs 1000 at once?
       
  7. Benyboy3000

    Benyboy3000 New Member

    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

    [​IMG]
     
  8. Blatchy

    Blatchy New Member

    Any chance that this will work with media gallery in the future?
     
    1. xfrocks

      xfrocks XenForo rocks!
      Staff Member

      xfrocks @Blatchy Yes, we are determined to get it working with XFMG.
       
      Blatchy likes this.
      1
  9. Rick7C2

    Rick7C2 New Member

    Any news on Xenforo Media support?
     
  10. cjwinternet

    cjwinternet New Member

    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
     
    1. xfrocks

      xfrocks XenForo rocks!
      Staff Member

      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.
       
  11. vlady

    vlady New Member

    This plugin isn't working in XF2.1. Could you please fix it?

     
    1. xfrocks

      xfrocks XenForo rocks!
      Staff Member

      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...
       
      vlady likes this.
      1
    2. McAtze

      McAtze New Member

      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)
       
      eva2000 and RoldanLT like this.
      2
  12. vlady

    vlady New Member

    And one more question.

    Currently I store all my attachments on FTP. How I can to move them to Digital ocean S3?
     
  13. vlady

    vlady New Member

    @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!
     
  14. vlady

    vlady New Member

    I'm did it already, but error still appears:
     
  15. Yodrak

    Yodrak New Member

    @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?
     
    1. xfrocks

      xfrocks XenForo rocks!
      Staff Member

      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.
       
  16. xfrocks

    xfrocks XenForo rocks!
    Staff Member

    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...
     
  17. Yodrak

    Yodrak New Member

    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?
     
    1. xfrocks

      xfrocks XenForo rocks!
      Staff Member

      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.
       
    2. Yodrak

      Yodrak New Member

      Yodrak @xfrocks I have waited a couple of days, but nothing changes. I have 26GB in internal_data/attachments left.
       
    3. xfrocks

      xfrocks XenForo rocks!
      Staff Member

      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;
      
       
      eva2000 likes this.
      1
    4. Yodrak

      Yodrak New Member

      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.
       
    5. xfrocks

      xfrocks XenForo rocks!
      Staff Member

      xfrocks @Yodrak According to the results above, you still have 300k attachments in their default storage. Try running the move tool again?
       
  18. Berkin

    Berkin New Member

    1. xfrocks

      xfrocks XenForo rocks!
      Staff Member

      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".
       
    2. Berkin

      Berkin New Member

      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!
       
    3. xfrocks

      xfrocks XenForo rocks!
      Staff Member

      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
       
      tohaitrieu likes this.
      1
    4. tohaitrieu

      tohaitrieu New Member

      tohaitrieu @xfrocks Have any options for filename like Maintain File Name for DO and S3?
       
  19. tohaitrieu

    tohaitrieu New Member

    In the Option Page for DO space how can i config? Key and secret? It not work
     
    1. xfrocks

      xfrocks XenForo rocks!
      Staff Member

      tohaitrieu likes this.
      1
    2. tohaitrieu

      tohaitrieu New Member

Loading...