Search code examples
plonezopezodb

How and why to set the layout type for plone.app.blob (lawn v. bushy)


Possible Duplicate:
What is the difference between the various ZODB blobstorage layouts?

I have a Plone 3.3.5 site that I'm migrating to plone.app.blob. I just ran a test-migration and noticed that all the blob files get stored in the same directory in var/blobstorage.

On the listservs I've heard it mentioned that it's possible to select between two layouts: "lawn" and "bushy". Lawn appears to be the default, with all files in a single, flat directory, while "bushy" organizes them into subfolders.

Is there a buildout option by which one can turn on the bushy layout? (I've not been able to find any examples of this.)

What are the strengths of each layout option?


Solution

  • The difference is explained in: What is the difference between the various ZODB blobstorage layouts?.

    You don't need to worry about this; lawn is there only for backwards compatibility.

    If you do have a lawn layout blobstorage (you'll get a warning in the log if you do) and want to migrate to a bushy layout, use the migrateblobs script; here is a buildout part to create the script:

    [migrateblobs]
    recipe = zc.recipe.egg
    eggs = ZODB3
    entry-points = migrateblobs=ZODB.scripts.migrateblobs:main
    

    Shut down any instances and ZEO servers, back up your blob storage and run the script on your blobstorage directory:

    $ mv var/blobstorage var/blobstorage-lawn
    $ bin/migrateblobs var/blobstorage-lawn/ var/blobstorage
    

    var/blobstorage has then been migrated to use the bushy layout.