Каков наилучший способ хранения больших файлов в Plone 3? - PullRequest
6 голосов
/ 15 сентября 2008

Я хочу разместить много больших файлов на сайте Plone. Под большими файлами я имею в виду около 5 МБ (музыка) и их много. Я уже сделал это прямо в ZODB, не очень хорошая идея. Я использую Plone 3.1.1 и Zope 2.10.6.

Ответы [ 5 ]

9 голосов
/ 15 сентября 2008

Поддержка блобов Zodb - лучший и наиболее интегрированный способ работы с большими файлами. Большие файлы хранятся прозрачно в файловой системе, а не в объектной базе данных zodb. «Прозрачный» в данном случае означает, что вы не заметите его в своей реальной работе по программированию после начальной настройки.

Функциональность BLOB-объектов перенесена в текущие (на полпути 2008 г.) версии zope и может использоваться в plone 3. Для этого используйте plone.app.blob в вашем проекте:

7 голосов
/ 16 сентября 2008

Да, на этом этапе вы не должны использовать ничего, кроме поддержки ZODB BLOB. Он отлично работает с выпусками серии 3.x.

Больше информации в билете # 6805

- Александр Лими, соучредитель Plone

3 голосов
/ 17 ноября 2008

Уточнение, насколько мне известно:

  • от различных технологий-кандидатов в PLIP (Plone Улучшение предложения), plone.app.blob является ведущим претендентом с широкой поддержкой

    - для исключительных случаев использования мы иногда находим что-то отличное от рекомендованных BLOB

  • 4.0 в настоящее время является наиболее вероятной вехой для plone.app.blob стать продуктом в ядре Plone

  • в настоящее время plone.app.blob является рекомендуемым дополнительным продуктом для текущих версий Plone 3.x

    - для случаев использования, которые предлагают BLOB-подобные технологии.

1 голос
/ 15 сентября 2008

Как вы, возможно, уже знаете, долгосрочным решением для этого должна быть поддержка ZODB BLOB. Билет 6805 , пожалуй, самый авторитетный источник по этому вопросу. К сожалению, веха установлена ​​на 4.0, и запуск ее в работе на более старой версии, возможно, не является хорошим решением.

Исторически существовало множество продуктов Plone для внешнего хранения файлов, сохраняя только метаданные в ZODB. Я попробовал несколько из них, и из моего опыта нет ни одного, который бы хорошо работал с текущими релизами Plone / Zope. Не верьте мне в этом, однако, я не пробовал никаких продуктов такого типа в прошлом году или около того.

Лично я бы выбрал решение, которое было бы максимально простым и не включало Plone больше, чем просто необходимо. Хранение музыкальных файлов на диске, их обслуживание напрямую с apache / любого веб-сервера, который вы используете, хранение только метаданных в Plone - в продукте, который вы пишете сами, даст вам надежное решение с хорошей производительностью. То есть ваш продукт должен создавать ссылки на путь на вашем веб-сервере, где доступны музыкальные файлы.

Если вам требуется авторизация для загрузки музыкальных файлов и предполагается, что вы запускаете lighthttpd или apache перед вашим Zope, возможно, лучшим решением будет поиск решения на основе X-sendfile. С X-sendfile вы сохраняете файлы на диске и добавляете заголовок (X-sendfile) к ответу, когда музыкальный файл должен быть отправлен в браузер клиента. Веб-сервер подберет этот заголовок и отправит файл клиенту без участия Plone.

Некоторые указатели:

0 голосов
/ 17 ноября 2008

У меня есть plone.app.blob, установленный на некоторых сайтах с низким трафиком и устанавливаемый (готовый к работе, если хотите) для моих загруженных производственных сайтов в том же экземпляре.

Это веха в версии 4.0, но я непременно рассмотрю (и, возможно, нажму кнопку установки plone.app.blob на моих рабочих сайтах) примерно в 3,4 раза.

Пара ссылок:

http://n2.nabble.com/PLIPs-I%27d-love-to-see-for-Plone-3.3-tp1123218p1130015.html

http://dev.plone.org/plone/ticket/8629#comment:2 выделите

… 3.4, когда у нас, вероятно, будет спецификация хранилища BLOB-файлов добавлена ​​поддержка в plone.recipe.zeoserver и zope2instance. Что будет дать нам стандартное местоположение для любого владельца / разрешения исправлений установщики должны сделать.

В контексте: я играю примерно с plone.app.blob и очень смешанным пакетом других дополнительных продуктов с версиями 3.1.7 и 3.2a1 Plone на основе стандартных и экспериментальных установщиков , В этих условиях, без того, что я лечу вещи с помощью детских перчаток, сионы Плоне ведут себя замечательно, и когда (как и следовало ожидать) эксперименты приводят к странностям, поддержка со стороны сообщества оказывается темповой и правильной.

...