Project

General

Profile

Feature #5142

adding thumbnails to document tool

Added by Juan Carlos Raña Trabado about 7 years ago. Updated about 7 years ago.

Status:
Feature implemented
Priority:
Normal
Category:
-
Target version:
Start date:
06/07/2012
Due date:
% Done:

80%

Estimated time:
Spent time:
Complexity:
Normal
SCRUM pts - complexity:
?

Files

fckerror.png (82.3 KB) fckerror.png Julio Montoya, 20/07/2012 14:27

Associated revisions

Revision af26886e (diff)
Added by Julio Montoya about 7 years ago

Fixes bug when loading gif images see #5142

History

#4

Updated by Juan Carlos Raña Trabado about 7 years ago

  • Status changed from Bug resolved to Needs testing
#5

Updated by Juan Carlos Raña Trabado about 7 years ago

  • % Done changed from 80 to 70

Desactivo esta forma de comprobar fuera de la cache, pues no funcionaba
http://code.google.com/p/chamilo/source/detail?r=65081e28cc337cbe440cd78bb4eb352ea6d1ae80&repo=classic

#8

Updated by Juan Carlos Raña Trabado about 7 years ago

ahora también se generan automáticamente no sólo desde slideshow.php sino también cuando se intentan ver las imágenes desde el editor avanzado.

http://code.google.com/p/chamilo/source/detail?r=c754d047d2ff626bfc1da51582b5b6722abf8bb5&repo=classic

De paso corrijo algunas cuestiones de seguridad
http://code.google.com/p/chamilo/source/detail?r=72c9fa701580947ca0853b09b9c3f1dd3a0de973&repo=classic

y del modo automático virtual de slideshow cuando se muestran imágenes pequeñas
http://code.google.com/p/chamilo/source/detail?r=ed53b5936458a7e2b8a7eff022841ea8db3c8bbb&repo=classic

#9

Updated by Juan Carlos Raña Trabado about 7 years ago

  • % Done changed from 70 to 80

La tarea para esta versión puede darse por finalizada. Ahora la experiencia de los usuarios con el visor de miniaturas es muchísimo mejor, más rápida.
Queda para otras versiones:

1. Pasar esto al api o bien a una clase.
El código actualmente casi se repite en /slideshow.pgp y en /_ajax_get_thumbnail_listing.php
En las bibliotecas de Chamilo he visto un poco tarde una clase para imágenes con la que se crean las imágenes de los usuarios pero he visto dos problemas en su código:
1.a No genera imágenes dentro de un tamaño predeterminado 100x100, sino tan sólo que se ajusten a uno de ellos, quedando el otro proporcional pero a su albedrío, con lo que puede ser más grande. En este sentido la función del api actual que utilizo funciona mejor que la clase.
1.b. No mantiene la transparencia de las imágenes png y gif, cosa que sí se mantiene en el código actual.

2. Otra tarea sería limpiar los thumbnails que quedaran después de haber borrado las imágenes originales, éstos ahora permanecen, ocupando sitio innecesario.
El código ya está enviado, está en ambos archivos citados anteriormente, pero lo he comentado porque para mantener la sincronía de imágenes y miniaturas automáticamente de forma instantánea, hace un de scandir con lo que la carga del servidor aumenta y se demora la carga de las imágenes excesivamente. Por eso creo que quizá sea mejor que no sea automático (o dejarlo como opción de administrador de plataforma), sino que es mejor que sea manual esta comprobación.
Por otro lado, sería necesario que el administrador de la plataforma pudiera borrar bien todas las miniaturas de un curso o usuario, o bien la de todos los cursos y usuarios como forma de limpieza general. Si esto lo pudiera hacer un administrador de curso sobre su curso, probablemente no sería necesaria la sincronización automática instantánea mencionada antes.

3. No estaría de más en el modo slideshow crear también miniaturas de imágenes a un tamaño que el usuario seleccionara para ver que en este caso irían a un subdirectorio visible para el usuario en la herramienta documentos y sincronizado con la base de datos. Esto facilitaría dos cosas: una mayor velocidad en la visión del slideshow cuyo cambio de tamaño ahora es virtual, y en segundo lugar poder disponer de un tamaño más adecuado de ciertas imágenes para ser insertadas en las páginas html.

Toda idea es bienvenida

#10

Updated by Juan Carlos Raña Trabado about 7 years ago

two more fix

http://code.google.com/p/chamilo/source/detail?r=2cf806d57a452f75efc540dc3ec1167dfc8e2dbf&repo=classic

http://code.google.com/p/chamilo/source/detail?r=3a541ed14044ea90fbb76f533794fd6d3a9c34d4&repo=classic

En el segundo se arregla la situación en la que un estudiante no puede ver las miniaturas desde la herramienta de diapositivas de la herramienta documentos debido a que lógicamente download presenta la visibilidad de las miniaturas como invisibles pues no están en la base de datos.

#12

Updated by Juan Carlos Raña Trabado about 7 years ago

  • Status changed from Needs testing to Feature implemented
#13

Updated by Julio Montoya about 7 years ago

No sé si es la tarea correcta pero he encontrado un error:

1. Subir un archivo gif (via el formulario en documentos)
2. Agregar esta imagen dentro de un archivo HTML usando la herramienta documentos y fckeditor me aparece este error:

(! ) Warning: imagecolortransparent() expects parameter 1 to be resource, string given in /var/www/chamilonet/main/inc/lib/fckeditor/editor/plugins/ajaxfilemanager/_ajax_get_thumbnail_listing.php on line 145
Call Stack

la segunda vez el error desaparece

#14

Updated by Yannick Warnier about 7 years ago

Julio, do you have more details in the xdebug stack trace? It would be nice to understand how it got at that point...

#15

Updated by Julio Montoya about 7 years ago

  • Status changed from Needs more info to Assigned
  • Assignee changed from Juan Carlos Raña Trabado to Julio Montoya

I'm going to fix it

#16

Updated by Julio Montoya about 7 years ago

  • Status changed from Assigned to Needs more info
  • Assignee deleted (Julio Montoya)

should be fixed now

#17

Updated by Juan Carlos Raña Trabado about 7 years ago

En realidad creo que no es un bug, lo que ocurre es que al evaluar si la imagen tiene color transparente o no, por esa razón no puede tener un parámetro que marque el color transparente (ya que no sabemos cual puede ser). Quizá para que desaparezca el mensaje (que solo se ve en modo de depuración de errores, no en modo producción) tan solo habría que colocar @ delante de imagecolortransparent

#18

Updated by Julio Montoya about 7 years ago

ya está arreglado el problema era que

$transindex = imagecolortransparent($image);

recibía un path, pero en realidad tenía que recibir un resource es decir :

$transindex = imagecolortransparent($source_img);

http://code.google.com/p/chamilo/source/detail?r=a195ce6231e26c10d1416993c9d86182ce280316&name=default&repo=classic

#19

Updated by Juan Carlos Raña Trabado about 7 years ago

Gracias Julio. Hago también el arreglo aquí para los thumbnails del slideshow
http://code.google.com/p/chamilo/source/detail?r=d5bf2372ad97ff36d9fda130c11f28f42938dd82&repo=classic

#20

Updated by Yannick Warnier about 7 years ago

  • Subject changed from adding thumbnails to docuent tool to adding thumbnails to document tool

Changing the title of the issue (will be easier to find later)

#21

Updated by Juan Carlos Raña Trabado about 7 years ago

Yannick Warnier wrote:

Julio, do you have more details in the xdebug stack trace? It would be nice to understand how it got at that point...

Pensé que era conocida, si no gusta esta funcionalidad puedo eliminarla del repositorio y revertir todos los commits relacionados con ella.:-)

#22

Updated by Yannick Warnier about 7 years ago

Juan Carlos Raña wrote:

Yannick Warnier wrote:

Julio, do you have more details in the xdebug stack trace? It would be nice to understand how it got at that point...

Pensé que era conocida, si no gusta esta funcionalidad puedo eliminarla del repositorio y revertir todos los commits relacionados con ella.:-)

Mi comentario de "how it got at that point" era puramente técnico para pedir como el código había llegado a esta línea de imagecolortransparent() y encontrar la variable que faltaba definir :-p
No era un comentario funcional. Disculpa la imprecisión.

Cuando queraís para cerrarla, eh :-)

#23

Updated by Yannick Warnier about 7 years ago

  • Target version changed from 1.9 RC1 to 1.9 Stable
#24

Updated by Juan Carlos Raña Trabado about 7 years ago

  • Status changed from Needs more info to Feature implemented
#25

Updated by Juan Carlos Raña Trabado about 7 years ago

  • Status changed from Feature implemented to Needs more info
#26

Updated by Juan Carlos Raña Trabado about 7 years ago

Con esto añado algún estilo a las miniaturas, quedan además otras mejoras pendientes pero ya lo veremos en otras versiones

http://code.google.com/p/chamilo/source/detail?r=3b1bb18d3986967604f4c1ed8fecde8d4c1b3e6c&repo=classic

Julio, como puedes ver no he pasado el estilo a css pues no se muy bien dónde iría mejor.

Por mí se puede cerrar la tarea

#27

Updated by Juan Carlos Raña Trabado about 7 years ago

Bueno si puede esperar algo (en una hora) puedo hacer correr mucho más el código. He visto que con varios cientos de imágenes podría ser algo pesado.

#28

Updated by Juan Carlos Raña Trabado about 7 years ago

Esto mejorará varas decenas de veces la velocidad de carga y además da soporte para visualización de archivos svg como miniaturas

http://code.google.com/p/chamilo/source/detail?r=59d0e033b4badca4caf5257fc6cbfe6894575508&repo=classic

Esto dará soporte a las imágenes bmp
http://code.google.com/p/chamilo/source/detail?r=183d2ffcfc87ba1233b52d36837b94155a99b55e&repo=classic

#29

Updated by Juan Carlos Raña Trabado about 7 years ago

Ahora sí se puede cerrar la tarea
, aunque quiero destacar que cuando se crea inicialmente todas las miniaturas si no se tiene configurado php con un tiempo de ejecución más alto que por ej. 30 segundos probablemente podrá dar un error al excederlo cuando tratemos varios cientos de imágenes. En este sentido quizá sería de ayuda alguna imagen o mensaje que se mostrara en pantalla informando de que se está realizando esta tarea al usuario mientras se generan.

#32

Updated by Yannick Warnier about 7 years ago

  • Status changed from Needs more info to Feature implemented
  • Assignee set to Juan Carlos Raña Trabado

OK well I'm closing it now (before someone else finds something to improve :-p)
Excelente trabajo Juan Carlos.

Also available in: Atom PDF