Система управления документами: что использовать в качестве бэкэнда хранения (Docs Content Repository)?

StackOverflow https://stackoverflow.com/questions/3678766

Вопрос

Я хочу сделать систему управления документами (интерфейс в Ruby).
Что делают профессиональные коллиинты (Alfresco, Liferay Social Office, другие) для хранения и управлений документов?
Что еще я могу использовать?

Ключевые моменты:

  • Оптимизация пространства для хранения (Deltas, сжатие ...)
  • версию
  • Возможность индексирования документов (может быть внешним)
  • Возможность сделать резервные копии во время выполнения (живая горячая резервная копия)
  • Блокировка?
  • Масштабируемость на большом объеме данных
  • Убедитесь, что целостность данных (хеширование?)
  • Разрешения
  • транзакционный
  • Поддержка рабочего процесса (необязательно)

Бонусные очки:

Любые книги по этому вопросу?

Это было полезно?

Решение

Большинство решений для управления документами предприятия, которые я видел (Приоритет, Документ, Живой) Определенно не заботится о # 1. Хранение относительно дешево, особенно если это хранилище VS обработки (магазин и рентривер). В основном они полагаются на хранилище на основе файловой системы - возможно, с именем абстракции такой, что ShoppingList.doc возможно становится 20100909100101a.doc.rev1, с отслеживанием базы данных данное имя, хранимое имя, ревизии и различные другие данные типа MIME, заголовки и свойства и т. Д.}. Не генерируя Deltas + сжатие, вы очень легко получаете индексацию от любого количества существующих продуктов / аморитам. Версификация также чрезвычайно проста с таким подходом.

В зависимости от размера и масштаба вы строите, вы также можете хранить версию файлов в базе данных.

Процесс хранения FTP или CIFS или CIFS также позволит вашему программному обеспечению работать на сервере приложений с помощью скромного пространства, но хранить файлы + истории на файле или облачный сервер какой-то - хотя это не сильно отличается от файловой системы место хранения.

Другие советы

Ты знаешь, мой первый инстинкт будет просто используйте Subversion. Отказ Вам понадобится внешняя индексация, и если вы хотите хранить хеши, вам нужно будет написать какой-то код, чтобы сделать это самостоятельно, но все остальное подходит.

Он судет с рубиновыми привязками, хотя я не лично знаком с их качеством.

Alfresco обычно используется в качестве бэкэнда, он имеет хороший API отдыха. Вы также можете определить свою собственную интеграцию API, если вам не нравится включенная.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top