domingo, 25 de agosto de 2013

Subiendo archivos a la aplicación Yii por via manual o con autómatas.


Recibiendo Archivos en una Aplicación Web


Tenemos un sistema cualquiera que requiere ser alimentado de ciertos registros que vienen almacenados en uno o varios archivos que pueden venir de dos fuentes:

a) Un usuario autorizado sube un archivo(s) desde la interfaz web.

b) Un sistema automático (un autómata) cada cierto tiempo envía archivos a nuestro sistema.



Reglas del negocio a resolver:

  1. Un usuario autorizado sube archivos, varios, no uno solo, y no necesariamente sube un archivo para inmediatamente enviarlo al procesador de archivo subido.
  2. El usuario autorizado decide cuando enviar el archivo subido al procesador, incluso uno o varios archivos a la vez.
  3. Un usuario autorizado crea una URL para que una Empresa determinada (por ejemplo) reciba de forma automatizada y segura ciertos archivos de manera periódica. Esto no implica "recibir y procesar", simplemente hablamos de "recibir". La parte de "procesar los archivos" queda a discreción del desarrollador y de la lógica de su sistema.
  4. Nuevamente un usuario autorizado puede explorar los archivos subidos, eliminar, renombrar sus archivos, e incluso, manejar aquellos archivos que fueron subidos por la interfaz hecha para el autómata (ver regla #3)
  5. El "autómata" es un sistema que utiliza por ejemplo la librería CURL de Php para enviar contenido a una interfaz HTTP como la que ofrece este paquete descrito aqui.

Herramientas a usar: (el paquete YiiFileManager)

Quiero presentar un paquete que he fabricado  (YiiFileManager) el cual consta de sub paquetes (a continuación descritos), los usaré para resolver el caso de ejemplo propuesto el cual es complejo de resolver sin estas herramientas.

YiiFileManager 
Gestor de almacenamiento para manejar archivos asociados a una "identidad".

YiiFileManagerFilePicker
Gestor en línea para que el usuario (la "identidad") pueda administrar sus archivos.

YiiFileManagerRemote
Gestor que provee una interfaz HTTP para que un automata suba contenido asociado a una "identidad".

Cuanto tiempo tardaríamos en implementar esta solución ? 

Sin el uso de este paquete YiiFileManager, solo dependiendo de los "skills" del desarrollador tardaríamos entre 1 a 2 semanas,  con el uso de este paquete YiiFileManager podremos resolver esto en 20 minutos.

(arrastra la imagen fuera del navegador a una pestaña nueva para agrandarla)

ESTARE EDITANDO ESTE DOCUMENTO A MEDIDA DEL TIEMPO DISPONIBLE..








2 comentarios:

  1. Muy bueno! Estare pendiente de esta entrada!

    ResponderEliminar
    Respuestas
    1. gracias, disculpas por no terminarlo, aunque lo poco que tiene hecho con ayuda de la documentación de cada extension ayudará mucho.

      Eliminar