CrimsonGlory / posaderos

0 stars 0 forks source link

detectar si se sube imagenes repetidas #94

Closed CrimsonGlory closed 9 years ago

CrimsonGlory commented 9 years ago

En este momento si subimos dos veces el mismo archivo, se almacena dos veces. El nombre que se le da al archivo es un hash de la hora con mucha precisión. Debería ser un hash del contenido del archivo, pero esto no lo vamos a modificar porque está adentro de un package. Lo que se puede hacer para evitar almacenarlo dos veces es: [ ] una nueva columna en la db, tabla fileentries, con el campo sha256 (varchar(64)) [ ] otra nueva columna tabla fileentries, con el campo size (unsigned int)) [ ] se crea un indice en la base de datos con el campo size [ ] se agregan como fillable en el modelo [ ] en el controlador cuando se sube el archivo busco los que pesan la misma cantidad de bytes. Y entre esos me fijo si hay alguno que coincida con el hash. Esto es para que sea más rápido. [ ] si el archivo ya existe no lo guardo. solo agrego la nueva relación y listo. Este issue tiene prioridad baja.

aguspuentes commented 9 years ago

Es cierto, se podría subir la misma imagen varias veces, de todas formas por ahora lo dejaría así y sólo lo modificaría si la gente de Posaderos nos lo pidiera. Después que tengamos la reunión para hacer la última versión del software va a aparecer nuevamente el tema de la localización más los cambios que la gente de Posaderos considere que hay que hacer, así que seguramente vamos a tener trabajo. Esta issue me parece que sería un cambio para cuando el software estuviera terminado y se quisiera optimizar, tal vez en una continuación de la tesis si algún otro equipo quisiera seguir el proyecto en el futuro.

CrimsonGlory commented 9 years ago

Los de posaderos no lo van a pedir porque no saben como está hecho por adentro ni les interesa. Igual es cierto que tiene prioridad baja. Yo levanto issues por cada cosa que se me ocurre xD

aguspuentes commented 9 years ago

Me parece bien, hay que dejar todas las issues que surjan y las que no tienen un impacto importante en el sistema como esta o como #93 quedarán abiertas por si algún equipo en el futuro quisiera optimizar el sistema y agregarle funcionalidad como tesis final.