OWarux

martes, marzo 28, 2006

PROYECTO=$InCopy_Parser_1;

Planteamiento
En nuestro sistema de producción, manejamos como formato para los archivos de texto, el "INCD" que es formato propietario de Adobe InCopy, que junto con InDesign es nuestra suite de trabajo editorial.

Cada nota, a la cual de ahora en adelante manejare como archivo, desde su origen hasta su impresion, pasa por diversos elementos, ya sea el autor o un corrector; además de pasar por varias carpetas en el sistema de produccion.

Nuestro servidor de archivos principal (un servidor Dell con SO Mandrake 9.1, Samba) tiene su estructura de carpetas predetermindas, con sus respectivos permisos de usuario, para evitar accesos indeseados, ademas de tener programados ciertos servicios para agilizar el trabajo y realizar limpieza en la estructura de un dia para otro (esto mediante scripts .sh y cron).

Por aquello de la Ley de Murphy  lea!!, he desarrollado un servidor que funciona como mirror (espejo), asi que cada 20 minutos, hace una copia de los datos del server original (mediante Rsync), y asi tenemos una copia de datos por cualquier emergencia.

Los editores ocupan el Adobe InCopy para todo su trabajo, pero como no es el unico programa que utilizan necesitan maquinas con suficientes recursos, y los reporteros y correctores solo necesitan vaciar el texto en el sistema, para lo cual asignarles una maquina potente para el uso del InCopy significaba un gasto enorme, además de que tenemos aún suficientes máquinas con win9x que funcionan muy bien, pero que no soportan el Adobe InCopy.

Para este problema desarrolle un programa en Delphi, que no demanda muchos recursos de la maquina, se conecta a las unidades de red de los servidores, corrige ortografia y lo más importante, guarda en formato de InCopy, que es básicamente un archivo XML. Así, aprovechamos las maquinas que se tienen y con el programa propio, al cual llamare CapCopy, automatizamos las tareas, porque ya tiene predeterminados las carpetas por seccion y al guardarlo asigna el formato de nombre de archivo que nosotros utilizamos para su rapida identificacion.

Ahhh, pero algo que hace Capcopy me recuerda al RootKit de Sony, ya que guarda automaticamente una copia en otro servidor (el cual no es ni el original ni el mirror) para tener un archivo historico de todas las notas que hemos utilizado, como si fuera mi InCopyteca personal, y que ademas sirve cuando alguien pierde sus archivos o se los borran.

Pues Bien, después de esta breve explicación, el proyecto InCopy_Parser consiste basicamente en:

* Crear una base de datos en MySql donde se almacenaran todas las notas de cada dia de edicion, no importa si se publicaron o no, siempre y cuando esten en el sistema original.

* Mediante scripting se planea hacer mediante un servicio (cron) que a determinada hora, todas los archivos de InCopy sean parseados (por ser XML) y el texto obtenido sea guardado en MySql, asignando tambien fecha y seccion, entre otros datos. Originalmente Capcopy se conectaria al server de Mysql y guardaria la copia alla, pero implicaba muchos cambios estructurales.

* Ya con la DB en MySql, hacer un servidor web con Apache y PHP para poder accesar las notas y sobre todo poder buscarlas mas rapido, organizandolas por seccion, fecha, autor o contenido. Un servicio de consulta para archivo historico.

Ese es el planteamiento básico, así me retiro a seguir buscandole solucion.

[owar@owarux~]$Continuara