Consulta - Validación de HTML

8 views
Skip to first unread message

Sebastian Cesar Fondra

unread,
Jul 26, 2011, 9:44:54 AM7/26/11
to katar...@googlegroups.com
Hola, quería consultarles por la siguiente situación:

 Estamos usando katari en un proyecto, y se nos da la situación donde
tenemos que imprimir dentro de un template de freemarker, un pedazo de
html que recibimos del cliente. El problema nos surge porque ese html
puede no estar bien formado, y cuando lo imprimimos dentro del
template nos sale el siguiente error:

vista.ftl:

   <html> .... <body> ${contenidoHtml} ... </body> </html>

Error:

There where validation errors for
/educar-desktop-web/module/archivos/visualizarRecursoSimple.do:
line 123 column 111 - WARNING: img lacks "alt" attribute


Por lo que entiendo, el error me dice que el html está mal formado. Me
parece que puede llegar a tener que ver un filtro que se aplica en:
com.globant.katari.core.web.HtmlValidationFilter  , estuve leyendo esa
clase y me parecio entender que se puede desactivar esa funcionalidad
(la de validación) mediante algún parametro. Si saben algo al respecto
o me pueden orientar...

Desde ya, muchas gracias.

Sebastian.

Franco Monsalvo

unread,
Jul 26, 2011, 9:57:47 AM7/26/11
to katar...@googlegroups.com
Por lo gral no queres desactivar esa validacion.
Basicamente utiliza HTML tidy para darte la seguridad de que tu HTML cumple con los standards establecidos por la W3C.
Yo buscaria antes de desactivar el chequeo, que el cliente genere HTML valido, asi se van a evitar problemas a futuro.
De todas formas si queres desactivarlo se puede hacer desde el properties file de tu proyecto, en la key htmlValidator.enabled
Saludos.

2011/7/26 Sebastian Cesar Fondra <sebastia...@globant.com>

Sebastian Cesar Fondra

unread,
Jul 26, 2011, 10:05:20 AM7/26/11
to katar...@googlegroups.com
Hola, muchas gracias por la respuesta. Concuerdo con que es algo bueno
tener el chequeo, la idea de pedir html bien formado ya la planteamos
pero con los ejemplos que estamos trabajando no están bien formados.
Por el momento la vamos a desactivar hasta que nos pasen los ejemplos
con el html bien formado.

Nuevamente, muchas gracias
Saludos.

2011/7/26 Franco Monsalvo <franco....@globant.com>:

Juan Pedro Pereyra

unread,
Jul 26, 2011, 11:13:17 AM7/26/11
to katar...@googlegroups.com
Sebastián,

Generalmente hacer que un HTML esté bien formado no es tanto trabajo, un par de horas, y te queda fantástico, sin mencionar que uno aprende bastante en el proceso. Por ejemplo, en el error que mostrás, te falta un alt en un image, algo bastante básico para todo lo que es accessibility, etc.

Por otro lado, y esto es offtopic para esta lista, yo diría:

1) Hay que tener excelentes razones para desactivar este chequeo, y hasta ahora no encontré ninguna. Esta no me parece una de ellas, a menos de que estés super seguro de que ese HTML lo vas a tirar a la basura pronto :).

2) Veo que tenés algunos nombres en español, en la URL. Creo que tenemos la política de codear en inglés en Globant. Digo _creo_ porque estoy seguro de que no está escrito en ningún lado. ¿No les queda una mezcla complicada de entender en el código?

Como dije, estos dos puntos son off-topic para esta lista, así que si querés la seguimos en un thread aparte.

Saludos,
--Juan

Sebastian Cesar Fondra

unread,
Jul 26, 2011, 11:31:13 AM7/26/11
to katar...@googlegroups.com
Hola Juan, gracias por sumarte a la discusión, todas las opiniones aportan!

Respecto del html bien formado, insisto en que estoy de acuerdo en que
tiene que ser un requisito, y que no presenta mucha complejidad, hay
validadores por todos lados. El problema que tenemos en este proyecto
en particular, es que el trozo de html que quiero mostrar está
guardado en una base de datos del cliente, no somos dueños de ese
contenido, de ahí que estamos limitados.

Esperamos que ese contenido sea reescrito (por el cliente) para que
quede bien formado, pero por el momento no creo que sea una prioridad
del cliente. Es por eso que optamos por desactivar la validación, solo
en el módulo en que se realiza esta acción de mostrar html "ajeno".
Esperamos que sea algo temporal, y que en breve podamos volver a
activar la validación que provee katari.

Saludos y muchas gracias
Sebastian.


2011/7/26 Juan Pedro Pereyra <juan.p...@globant.com>:

Pablo Gra\~na

unread,
Jul 26, 2011, 4:31:21 PM7/26/11
to katar...@googlegroups.com
Agrego a lo dicho anteriormente: siempre que puedas, mantene los html bien formados. Sin embargo hay casos donde es muy dificil lograr eso, por ejemplo, cuando no tenemos control del origen del html.

Como dijo Franco, con htmlValidator.enabled = false se deshabilita la validacion de html. Esta es la opcion recomendada en prod para evitar overhead de validacion. Sin embargo, en dev la mejor opcion es poner htmlValidator.enabled = true y desactivar la validacion selectivamente por urls. Aca hay un ejemplo de katari-editablepages;

  <!-- Adds editable pages to html validation ignored list. -->
  <bean class='com.globant.katari.core.web.ListFactoryAppender'>
    <constructor-arg value='katari.htmlValidator.ignoredUrlpatterns' />
    <constructor-arg>
      <list>
        <value>.*editable-pages/page/.*</value>
      </list>
    </constructor-arg>
  </bean>

Esto lo pones como un bean 'suelto' en el module.xml.

Asi mantenes la validacion en casi todas tus paginas y no tenes problemas con los html que no controlas.

saludos.


Reply all
Reply to author
Forward
0 new messages