См. Alfresco Community Edition (LGPL v3): https://en.wikipedia.org/wiki/Alfresco_(программное обеспечение)
В частности, мне нужно что-то, что будет соответствовать всем следующим условиям:
управлять несколькими версиями документов (скажем, XML, .doc, .docx, которые переводятся, вычитываются и т. д., с видимым следом изменений и т. д.)
иметь программируемый бизнес-процесс
быть расширяемым в том смысле, что он написан достаточно хорошо (качество кода), чтобы обе основные модификации были практичными, и, возможно, путем написания для него плагинов.
по предмету, быть написанным на Python или Haskell (предпочтительно, хотя и не обязательно)
Открытый исходный код
желательно иметь REST API для бизнес-процессов (скажем, запросить, был ли документ обновлен, загрузить документ, уведомить заинтересованную сторону проекта и т. д.)
Предположим, у вас есть бюро переводов. Есть заинтересованные стороны проекта, такие как заказчик, менеджеры проекта, переводчики, QA.
Клиент должен иметь возможность загружать и получать документы в ограниченном веб-интерфейсе. PM должен иметь возможность видеть весь проект и распределять работу (несколько файлов) между переводчиками. Переводчик должен иметь возможность скачать и загрузить отредактированную версию. QA должен быть в состоянии разрешить/заблокировать переведенный документ. После того, как все будет переведено и одобрено QA, должна быть возможность запрограммировать механизм бизнес-процесса либо для уведомления Заказчика о том, что его заказ готов, либо для программатора или даже для модификации (конфигурации) PM вместо этого уведомить PM для окончательного утверждения. И т.п.
Механизм бизнес-процессов должен быть программируемым для обеспечения регистрации событий (таких как загрузка документа переводчиком Джейн Доу в проект 5), их создания и т. д.
CPS — это «старый» код Python Nuxeo до перезаписи Java: http://cps-cms.org/sections/index-en .
Иззи
Мы видим
Николя Рауль
LetMeSOThat4U