2

We are working on an upgrade project and are considering using the Azure Blob Storage module to store media outside of the database. Since the media is no longer stored in the database and is instead stored externally in Azure, we are not sure what happens when you create an item package using the Sitecore Package Designer.

This becomes important for development, debugging and also syncing content across environments. For example, we may wish to bring this down to our local environment to debug a problem, or sync it down to the QA environment so we are testing against something more Production like.

Ideally, we also need to consider automated syncs using a tool like RAZL, SideKick or SPE Content Migrator too.

Does anyone know how the Blob Storage module works when creating packages or using any of the content sync tools?

2 Answers 2

2

I just did a quick test on one of our environments (SC 10.1), where we have the blob storage module installed.

Uploaded an image (2446 kb) to media library.

This is stored with value 'blob://5299fadc-a496-4629-8361-4ddc3d145f76' (The 'blob://' prefix tells sitecore to get the blob from azure storage),

Created a package to include the new image. Package includes the usual (properties, items, meta, installer) as well as a 'blob' folder, with a single blob (2446 kb).

Installed the package to sitecore instance without blob storage module installed.

The item appears in media library and is stored with the value '5299fadc-a496-4629-8361-4ddc3d145f76'.

The lack of the 'blob://' prefix means the blob is stored in the blob table in corresponding database (master/web).

I'm guessing other types of serialisation tools would therefore act in the same way. Package up media, then upon deserialisation, store in the defined way for that environment.

2

The blob content is part of the of the content of a serialized item. The blob storage module just hooks into how Sitecore persists the binary, so this works well. Historically we also had file persistence of blobs. Most sync tools, like TDS etc., uses the serialization API and/or an item API, so the blob storage module, working in the DataProvider layer, becomes completely transparent. This applies to both Sitecore's Azure Blob storage module as well as all the community provided blob storage modules I've seen, supporting other providers, such as Amazon S3 etc.

If you're using Sitecore item packages to move data across environments, beware of the size limit of item packages (2GB if I remember correctly). Introducing the Blob storage module is usually done because the Media Library grows large and so may item packages also do.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.