Contact Contact Show All Awards & Recognition
Contact
Show All Awards & Recognition

emimontesdeoca/pimcore-bundle-azure-blob-sync

not-reviewed

No Category

No author set

Version

v1.3

Last updated

Compatible Pimcore Version

-

Contact

-

No  Reviewer

emimontesdeoca/pimcore-bundle-azure-blob-sync

No Category

Project Summary

This bundle use to sync all records Assets from Pimcore to Azure Blob Storage


Readme

Pimcore Azure Bundle

Pimcore Azure Bundle is use to push Pimcore Assets on Microsoft Azure Blob Storage

Compatible with Pimcore > v5.6. Tested on Pimcore 6

Installation

Install with Composer

composer require rohitrajv5/pimcore-bundle-azure-blob-sync

Execute following commands

bin/console pimcore:bundle:enable AzurePimcoreBundle
bin/console assets:install web

Plugin will look like this

alt text

Changes in Pimcore Admin
  1. Goto Pimcore Admin -> Settings -> Azure Blog Container Settings

  2. Enter your credentials and save.

Configurations & Settings

Add following code in "app/constant.php"

try {
    $file = __DIR__ . '/../var/config/azure.php';
    if (file_exists($file)) {
        $azureConfig = include($file);
    }
} catch (\Exception $e) {
    $azureConfig = [];
}
$azureEnabled = FALSE;
if (isset($azureConfig['enableAzure']) && $azureConfig['enableAzure']) {
    $azureEnabled = TRUE;
    define("AZURE_ACCOUNT_URL", $azureConfig['accountUrl']);
    define("AZURE_ACCOUNT_NAME", $azureConfig['accountName']);
    define("AZURE_ACCOUNT_KEY", $azureConfig['accountKey']);
    define("AZURE_CONTAINER", $azureConfig['container']);   
    $azureFileWrapperPrefix = "blob://" . AZURE_CONTAINER; // do NOT change    
    define("PIMCORE_ASSET_DIRECTORY", $azureFileWrapperPrefix . "/assets");
    //define("PIMCORE_TEMPORARY_DIRECTORY", $azureFileWrapperPrefix . "/tmp");
    //constants for reference in the views
    //define("PIMCORE_TRANSFORMED_ASSET_URL", AZURE_ACCOUNT_URL . "/" . AZURE_CONTAINER . "/assets");
    // the following paths should be private!
    define("PIMCORE_VERSION_DIRECTORY", $azureFileWrapperPrefix . "/versions");
    //define("PIMCORE_RECYCLEBIN_DIRECTORY", $azureFileWrapperPrefix . "/recyclebin");
    //define("PIMCORE_LOG_MAIL_PERMANENT", $azureFileWrapperPrefix . "/email");
    //define("PIMCORE_LOG_FILEOBJECT_DIRECTORY", $azureFileWrapperPrefix . "/fileobjects");
}
define("ENABLE_AZURE",$azureEnabled);

Uncomment option, Which you want to sync on Azure Blob Storage.

Add following code constant in "app/startup.php"

use AzurePimcoreBundle\AzureBlobStorage\StreamWrapper;
if (ENABLE_AZURE) {
    $accountUrl = AZURE_ACCOUNT_URL;
    $accountName = AZURE_ACCOUNT_NAME;
    $accountKey = AZURE_ACCOUNT_KEY;
    $connectionString = "DefaultEndpointsProtocol=https;AccountName=" . $accountName . ";AccountKey=" . $accountKey;

    $container = AZURE_CONTAINER;

    $blobClient = \MicrosoftAzure\Storage\Blob\BlobRestProxy::createBlobService($connectionString);

    StreamWrapper::register($blobClient, 'blob');

    \Pimcore\File::setContext(stream_context_create([
        'blob' => ['seekable' => true]
    ]));
}

License


GPL-3.0+

Review status

not-reviewed

?>

No author set

Version

v1.3

Last updated

Compatible Pimcore Version

-

Contact

-

No  Reviewer