Germán Póo-Caamaño escribió: > On Tue, 2009-07-28 at 16:36 -0400, Alvaro Herrera wrote: > > Hola, > > > > Estoy trabajando en construir un sistema _bueno_ de archivos web de > > listas de correo, para reemplazar el sistema de archivos de PostgreSQL. > > Actualmente usamos MHonArc pero tiene varias limitaciones problemáticas > > de las cuales ya estamos cansados. > > ¿Y por qué no mejoras MHonArc? (no es que lo encuentren lindo, solo por > curiosidad)
Porque quiero usar una aproximación totalmente diferente, que es almacenar los mensajes en una base de datos, y porque la abstracción que usa MHonArc no me sirve. MHonArc no escala bien, por lo que tradicionalmente lo que se hace es separar en mboxes mensuales y procesar cada mes separadamente. El problema es que si tienes un thread largo que dura más de un mes, o bien tienes un thread que empieza los últimos días de un mes, no hay cómo ver la relación entre los dos subthread que quedan en meses distintos. (Además hay un problema obvio si alguien contesta a un mensaje meses después de que fue publicado). El otro problema es que si hay varias listas y se hace crosspost, es muy posible que la discusión continúe independientemente en más de una lista, y en los archivos la discusión queda fragmentada. Por lo tanto lo que necesito es que el sistema sea mensaje-céntrico en vez de ser lista-céntrico (o lo que es peor lista-mes-céntrico que es lo que tenemos hoy en día). La verdad es que llevo meses haciendo toquecitos a MHonArc pero me aburrí porque los problemas grandes son efectivamente insolubles. Además he mirado el código lo suficiente para tener claro que es tecnología de (¿principios de?) los 90. > El encabezado Content-Type te indica el separador (boundary). Por > ejemplo: > Content-Type: multipart/mixed; boundary="----=neXtPaRt_1248109397" > > Luego, cada trozo MIME se encuentra entre los límites definidos por > boundary. Y el fin de las partes se define con el mismo límite pero > añadiendo dos guiones al final. En el ejemplo: > ----=neXtPaRt_1248109397-- Eso tampoco funciona todo lo portablemente que uno quisiera porque hay mensajes anteriores a que MIME fuera universal. > Obviamente, no tiene sentido implementarlo a ese detalles cuando deben > haber varios módulos en existencia. Gracias por el puntero; estoy mirando Mail::Box además y parece apropos. -- Alvaro Herrera http://www.amazon.com/gp/registry/CTMLCN8V17R4 "El miedo atento y previsor es la madre de la seguridad" (E. Burke)