У меня был сайт zope / plone, на котором я хранил изображения и видео от нескольких пользователей, но сейчас я хочу переместить контент на другой сайт. Как проще всего извлечь содержимое Zope data.fs? Я слышал, что для этого есть модули Python, но я хочу по возможности избегать написания кода с нуля. Я использую Ubuntu 9.04 с python 2.6.
РЕДАКТИРОВАТЬ: я не стремлюсь перемещать контент на другой сайт Plone, я хочу извлечь контент в виде обычных файлов и создать новый (вероятно, не-Plone) сайт с нуля. У меня сейчас нет работающего сайта Plone, потому что Ubuntu 9.04 его не поддерживает. Извините за двусмысленность.
ZODB - это полная объектная база данных, и данные внутри нее не хранятся в виде файлов. Вы можете сравнить это, например, с postgres: невозможно просто превратить ваши данные postgres в кучу файлов.
Есть несколько вариантов извлечения данных из ZODB, которые могут вам помочь:
К сожалению, оба варианта зависят от вашей способности запускать Zope, а вы заявляете, что не можете этого сделать. Я предполагаю, что это связано с тем, что Plone требует Zope 2.10 или старше, который работает только на python 2.4. Если это так, вы можете попробовать скомпилировать старую версию Python и установить ее в своей системе. Python полностью поддерживает одновременную установку нескольких версий, так что это не должно нарушить что-либо еще в вашей системе.
Я боюсь, что невозможно извлечь данные из ZODB без запуска каких-либо инструментов python, и чтобы иметь возможность загружать данные Plone из ZODB, вам потребуется рабочая среда Plone, чтобы ZODB мог загружать классы python для хранимых данных. в этом.
Трес Сивер написал продукт, который делает многое из того, что вы хотите - хотя я не знаю об изображениях, но, вероятно.
Если я правильно помню, это называется fsdump.
в ZMI отметьте сайт в корневой папке, затем нажмите кнопку экспорта, это создаст файл в $ PLONE / exports, на вашем новом сервере в ZMI щелкните импорт и укажите на этот файл, zope импортирует его так же, как это было на другом сервере.