[greenstone_es] Re: Visualizar imagen siguiente

  • From: marcelo yornet <baryornet@xxxxxxxxxxx>
  • To: <greenstone_es@xxxxxxxxxxxxx>
  • Date: Tue, 29 May 2012 22:45:42 -0300

Juan Manuel:

Si le vas a poner muchas, pero muchas, pero muchas ganas, se puede. 
Pero es bastante complicado y tedioso y requiere conocimiento de html, de 
javascript, de CSS y del lenguaje de macros. 
Sobre todo porque Greenstone ayuda que muy poco a hacer interfaces amigables. 
Más que nada porque está todo en HTML 4 (del año 99), totalmente en desuso, 
aunque tambien podés usar xhtml del año 2001.
Y además porque el texto con información y el html de presentación se mezclan 
permanentemente y son devueltos en algunos casos por el archivo de 
configuración, en otros por los archivos de macros y en otros por el servidor 
(esto último es lo peor de todo). Así que rastrearlos para modificar se hace 
tan dificil que a veces ya no vale la pena.

En fín, yo lo hago de la siguiente forma:
En vez de poner todo dentro de tablas (actualmente es considerado un error 
utilizar tablas para otra cosa que no sean datos tabulados) uso listas 
desordenadas, el tag UL de html, y los documentos devueltos por el clasificador 
los pongo en tags li (list item). 
Esto es mas facil de manipular mediante CSS y se les puede dar la presentación 
que a uno le guste. Como lista o como un mosaico que es tu caso.
Ademas en cada uno de esos tag li guardo la información que necesito. En el 
ejemplo tuyo podriamos guardar el DOCOID de cada documento para saber cual 
sigue.

en collect hago un format como este por ejemplo
format CL1VList "
<li id=\'[DocOID]\' class=\'item\'>
    <a href=\'[href].1\'><h3>[DocOID]</h3>
        <img class=\'imagen\' 
src=\'_httpcollection_/index/assoc/[assocfilepath]/[child(first):Image]\' />
    </a>
</li>"

despues en extra.dm de mi coleccion (para no interferir con otras colecciones)
rescribo la macro content del package query
 y le escribo sobre el final una linea como la que sigue
_If_("_cgiargd_" eq "",<ul class="cuarto">)

donde evaluo que si no especificamos un documento (si el arg d está vacio) voy 
a usar un tag ul para contener los li que devuelvo con CL1VList

en la macro footer de package query hago lo mismo
    _If_("_cgiargd_" eq "",</ul>)

(las comprobaciones podrían ser otras... yo uso esas.)

despues en los css especificas dos reglas para obtener las cuatro imagenes por 
fila

.cuarto{width:100%;}
.cuarto li:{float:left; width:23%; margin:1%;}

Con eso ya tenés presentado la primer imagen de cada documento 4 por fila.

A su vez como cada uno de estos tags li tiene el id del documento que necesitas 
podés usar cualquier plugin de jquery para hacer una galería de imágenes. O 
crear algun mecanismo en javascript para ir averiguando eso y mostrandolo 
cuando lo necesites.

No obstante hay mucho código que se devuelve sin que nadie lo haya pedido como 
por ejemplo 
<div class="top" id="CL1">
<div id="group_top" class="v_list">
pero eso lo manda el server así que no hay mucho para hacer salvo largarse a 
compilar cada vez que sale una version nueva.

El mismo problema tengo con el format DocumentVList al que si o si me lo 
encierra en un TR. Hicimos un ticket para que se revea ese mecanismo hace como 
2 años pero ahí quedó. 
Es un inconveniente porque este mismo tipo de mecanismo sería muy util para la 
navegacion de secciones pero al tener un TR encapsulando el DocumentVList  te 
rompe cualquier interfaz que no sea una celda. 
Lo soluciono cargando todo en un objeto javascript para despues borrar la 
<table id="tabwidth"> con todo su contenido y crearme un ul mas decente. Pero 
es un bajón.

En fin, es tedioso y complicado pero siempre hay alguna forma de hacerlo. Y 
siempre es de ayuda tener un informático cerca.

Saludos y espero que les sea de ayuda. 

Marcelo Yornet


From: jmschiavone@xxxxxxxxxxx
To: greenstone_es@xxxxxxxxxxxxx
Subject: [greenstone_es] Re: Visualizar imagen siguiente
Date: Tue, 29 May 2012 21:40:07 -0300





OK Diego, clarisimo como siempre. 
Muchas gracias!
JM

From: diegospano@xxxxxxxxx
Date: Tue, 29 May 2012 15:35:12 -0300
Subject: [greenstone_es] Re: Visualizar imagen siguiente
To: greenstone_es@xxxxxxxxxxxxx

Hola Juan Manuel,

2012/5/28 juan manuel schiavone <jmschiavone@xxxxxxxxxxx>






Hola lista, me gustaría hacer una consulta:
Tengo una coleccion de imagenes JPG, las cuales GS me lista una imagen 
(miniaturas) debajo de otra  dentro del clasificador Jerárquico. Cuando hago 
clic sobre una imagen, la veo en pantalla completa. Se puede agregar un boton  
("next" por ejemplo) para poder pasar a la siguiente imagen de la lista y no 
tener que volver atrás y seleccionar una por una??



El problema de eso es que no hay manera de saber cual es el siguiente nodo en 
la jerarquía. Por ejemplo, la url
http://miblioteca/gsdl/cgi-bin/library.cgi?a=d&c=fotograf&cl=CL3.1.1&d=HASH016b5b8a1c66d9b029961f87


indica que estoy visualizando el documento HASH.... que pertenece al 
clasificador 3, nivel 1, subnivel 1.
El siguiente documento es que tiene la URL
http://mibiblioteca/gsdl/cgi-bin/library.cgi?a=d&c=fotograf&cl=CL3.1.1&d=HASH01f10bcba12f7125a5a8b424


Como verás, no hay manera de que se pueda hacer un botón next ya que tendrías 
que conocer de antemano el hash del documento a visualizar.
 

Ya que estamos, se puede listar las imagenes en varias columnas?? O sea, en vez 
de que sea una debajo de la otra, poder mostrar la lista con 2 ó 3 columnas??



Las listas se van armando con tablas donde cada nodo es una fila. Quizás 
jugando un poco con la cadena de formateo se pueda hacer que ponga todas las 
imágenes que pertenecen a una misma rama dentro un de una misma celda, pero 
como controlar que sean 2 o 3 nada más?. No lo veo muy posible.


 Saludos y gracias


JM                                        




                        Diego Spano Director de Proyectos, Prodigio Consultores


 Tel: (54 11) 5093-5313 

Argentina
dspano@xxxxxxxxxxxxxxxxxxxxxxx | www.prodigioconsultores.com

Contact me:   diegospano  diegospano


                                                                                
                                                




                        
                                
                                        Want a signature like mine?
                                
                                CLICK HERE.
                                
                                 
                        
                                                                                
                  

Other related posts: