[greenstone_es] Re: Visualizar imagen siguiente
- From: marcelo yornet <baryornet@xxxxxxxxxxx>
- To: <greenstone_es@xxxxxxxxxxxxx>
- Date: Tue, 29 May 2012 23:41:18 -0300
Gracias Pedro:
No tengo del todo claro cuales son toooodas las circunstancias en que el html
viene desde el server. Pero casi seguro que en las lineas format que uno
especifica un TD el server manda un TR, aunque algunas se las encuentra en los
macros.
Al igual que la <div class="documenttext"> que devuelve antes de format
DocumentText.
Como trabajo con colecciones que son usadas permanentemente como material de
trabajo sustituyendo al papel (o sea no para una consulta esporádica) necesito
interfaces amigables, rápidas. Así que de esas cosas he hecho varias.
Pero para eso es fundamental sacarse el html 4 de encima con las tablas y todas
esas atrocidades. Sobre todo teniendo una belleza como es el actual HTML5, CSS3
y frameworks de javascript disponibles como Jquery.
Por eso yo reemplazo la cabecera html, la macro _htmlhead_ del package style
en mi extra.dm para que funcione con html5.
Hay mucha tela para cortar. Y es un tema que me interesa, asi que cuando
quieras postealo y vemos.
Saludos Marcelo.
From: josepedrodiaz@xxxxxxxxx
Date: Tue, 29 May 2012 22:55:06 -0300
Subject: [greenstone_es] Re: Visualizar imagen siguiente
To: greenstone_es@xxxxxxxxxxxxx
Excelente email Marcelo. Me va a servir seguramente, aunque no haya partido de
mí la consulta.
Solamente me quedó la duda de en qué casos el código html es devuelto por le
servidor. Saber esto seguro me ayudará llegado el caso.
Saludos, Pedro.
El 29 de mayo de 2012 22:45, marcelo yornet <baryornet@xxxxxxxxxxx> escribió:
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: