是否可以在plone 4.1中恢复已删除的文件夹?

Hug*_*ugo 2 recovery plone

我怎样才能在plone 4.1中恢复已删除的文件夹?

Mar*_*ers 7

如果尚未打包删除该文件夹的事务,则可以恢复该文件夹.

首先,使用ZMI中父文件夹"撤消"选项卡.它可能不起作用,系统上的许多其他东西已经改变(通常是目录),因为所有的更改都可以有效地回滚.

下一步有点麻烦和参与.您当时要做的是打开对象数据库(ZODB),其中包装器将显示历史记录中给定点的数据库状态.这样做需要手动编辑Zope服务器配置.我已经在博客文章中写了这些步骤,但这些步骤有点过时了.

在现代Plone构建中,您需要将zc.beforestorageegg 添加到buildout中,并且需要将enable-product-installationZope 的设置切换为False; 使用beforestorage包装器使您的数据库成为只读,产品安装代码将尝试提交到数据库,导致无法启动:

[instance]
eggs +=
    zc.beforestorage
zope-conf-additional +=
    enable-product-installation False
Run Code Online (Sandbox Code Playgroud)

重建buildout后,您需要打开zope.conf与您的实例关联的文件.如果您通常使用启动服务器bin/instance,则该文件位于parts/instance/etc/zope.conf; 使用的脚本bin/与部件名称匹配(instance在此示例中).

找到定义ZODB主数据库的部分:

<zodb_db main>
    # Main database
    cache-size 10000

    # Blob-enabled FileStorage database
    <blobstorage>
      blob-dir /path/to/var/blobstorage
      <filestorage>
        path /path/to/var/filestorage/Data.fs
      </filestorage>
    </blobstorage>
    mount-point /
</zodb_db>
Run Code Online (Sandbox Code Playgroud)

您需要将beforestorage包装器添加到该声明中:

<zodb_db main>
    # Main database
    cache-size 10000

    %import zc.beforestorage
    <before>
    before 2012-12-01T12:00:00

    # Blob-enabled FileStorage database
    <blobstorage>
      blob-dir /path/to/var/blobstorage
      <filestorage>
        path /path/to/var/filestorage/Data.fs
      </filestorage>
    </blobstorage>

    </before>

    mount-point /
</zodb_db>
Run Code Online (Sandbox Code Playgroud)

注意before <iso timestamp>那里的线; 当您启动实例时,该网站将显示为该时间戳.在删除文件夹时选择一个.现在您可以将它(再次使用ZMI)导出到.zexp文件.撤消对zope.conf文件的更改,重新启动并导入已恢复的文件夹.