kaizendeveloper/pimcore-bundle-azure-blob-sync
not-reviewed
No Category
Detailskaizendeveloper/pimcore-bundle-azure-blob-sync
No Category
Project Summary
Fork of Rohit Raj Verma's project in order to correct some PSR4 errors shown on some Pimcore installs. This bundle use to sync all records Assets from Pimcore to Azure Blob Storage
Readme
Pimcore Azure Bundle
Fork of rohitrajv5/pimcore-bundle-azure-blob-sync on his:
Pimcore Azure Bundle is use to push Pimcore Assets on Microsoft Azure Blob Storage
Try to fix: PS4 compliance issues
Compatible with Pimcore > v5.6. Tested on Pimcore 6
Installation
Install with Composer
composer require kaizendeveloper/pimcore-bundle-azure-blob-sync
Execute following commands
bin/console pimcore:bundle:enable AzurePimcoreBundle
bin/console assets:install web
Plugin will look like this
Changes in Pimcore Admin
-
Goto Pimcore Admin -> Settings -> Azure Blog Container Settings
-
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+