¿Un sistema de gestión documental como Alfresco, pero escrito en Python o Haskell?

Consulte Alfresco Community Edition (LGPL v3): https://en.wikipedia.org/wiki/Alfresco_(software)

Específicamente, necesito algo que cumpla con todas las siguientes condiciones:

  • administrar múltiples versiones de documentos (digamos, XML, .doc, .docx que se están traduciendo, revisando, etc., con seguimiento de modificación visible, etc.)

  • tener un flujo de trabajo empresarial programable

  • ser extensible en el sentido de estar escrito lo suficientemente bien (calidad de código) para que tanto la modificación del núcleo sea práctica como posiblemente escribiendo complementos para él

  • por tema, estar escrito en Python o Haskell (preferible, aunque no estrictamente obligatorio)

  • fuente abierta

  • preferiblemente, tener API REST para procesos comerciales (por ejemplo, consultar si el documento se ha actualizado; cargar un documento; notificar a una parte interesada del proyecto, etc.)

Ejemplo de escenario de caso de uso

Suponga que tiene una agencia de traducción. Hay partes interesadas del proyecto, como Clientes, Gerentes de Proyectos, Traductores, Control de Calidad.

Un cliente debe poder cargar y recibir documentos en una interfaz web limitada. PM debería poder ver todo el proyecto y dividir un trabajo (múltiples archivos) entre los traductores. El traductor debería poder descargar y cargar la versión editada. El control de calidad debería poder dar adelante/bloquear el documento traducido. Una vez que el control de calidad haya traducido y aprobado todo, debería ser posible programar el motor de flujo de trabajo comercial para notificar al cliente que su pedido está listo o, en el programador o incluso en la modificación (configuración) del PM, notificar al PM en su lugar para la aprobación final. Etc.

El motor de procesos de negocios debe ser programable para permitir el registro de eventos (como que la traductora Jane Doe cargue un documento en el proyecto 5), crearlos, etc.

¡Gracias por tu actualizacion! Pero sigue siendo un poco amplio. "Gestionar documentos:" Si falta eso, no es un DMS, ¿verdad? ;) "Ser extensible": ¿de qué manera? Consulte con preguntas similares y, en especial, consulte Exploración/etiquetado/catálogo de documentos de código abierto simple más ligero que Alfresco y DMS ligero con API REST integrada (ambos solicitan alternativas de Alfresco).
Quizás OwnCloud podría ser un punto de partida para usted. OwnCloud está escrito en PHP pero tiene una excelente REST-API y hay bibliotecas Python Client disponibles. Su flujo de trabajo no está disponible de fábrica, esto lo tendría que hacer usted mismo, por ejemplo, en Python.
Solo curiosidad, ¿por qué Python/Haskell? Si es por paralelismo, ¿las soluciones basadas en Scala o Erlang también estarían bien?
@NicolasRaoul: bueno, ese es mi conjunto de habilidades (Python) o lo que prefiero mejorar (Haskell) :-) Otros idiomas también estarían bien, pero esos son preferibles personalmente para mí.

Respuestas (1)

CPS es el código "antiguo" de Python Nuxeo antes de la reescritura de Java: http://cps-cms.org/sections/index-en .