Inicio de mvnForum Bienvenido Guest   | Iniciar sesión
  Búsqueda  
  Indice  | Temas Recientes  | Quién Está en Línea  | Lista de Usuarios  | Nuevo Usuario  | Búsqueda  | Ayuda  | RSS feeds


Ir a »
Estado del tema: Normal
Total de mensajes en este tema: 25
Mensajes: 25   Páginas: 3   [ Anterior | 1 2 3 | Siguiente ]
[Añadir a Mis Favoritos] [Añadir un aviso a este tema] [Publicar nuevo tema]
Autor
Tema Anterior Este tema ha sido visto 14028 veces y tiene 24 respuestas Tema Siguiente
Masculino sergio
Administrador
Avatar del Miembro

España
Ingresó: 27-sep-2006
Mensajes: 2470
Estado: Desconectados
Re: Paginacion del modulo Comments Responder a este mensaje
Responder citando

Usas JQuerys tuyos aparte?? a mi si me ha pasado que algunas veces he encontrado incompatibilidades entre dos pluggins y uno de ellos me dejaba de funcionar sin razón aparente.

Te puede ser muy útil ver la consola con el firebug para estudiar que está pasando con la paginación.

Saludos.
----------------------------------------
---------------------------------------------------
Sergio Rapos Vargas.
Administrador de OpenCmsHispano.
sergio.raposo@opencmshispano.es
[09-mar-2010 8:49:31] Mostrar la Versión Imprimible        Send Private Message [Enlace] Reportar mensaje ofensivo: por favor inicie sesión primero  Ir al inicio 
Masculino karakulak
Member


País
Ingresó: 31-ago-2009
Mensajes: 56
Estado: Desconectados

Re: Paginacion del modulo Comments Responder a este mensaje
Responder citando

Buenos días.

Me ocurre exactamente lo mismo. La paginación no me la hace bien por 2 motivos:

- Si indico que liste 5 muestra 6 por página.

- Cuando avanzo de página no me muestra ninguno de los contenidos de ninguna de las páginas.

Un saludo.
[12-mar-2010 11:33:21] Mostrar la Versión Imprimible        Send Private Message    Oculto a Invitados [Enlace] Reportar mensaje ofensivo: por favor inicie sesión primero  Ir al inicio 
Femenino lcouso
Advanced Member



Ingresó: 24-jul-2009
Mensajes: 100
Estado: Desconectados

Re: Paginacion del modulo Comments Responder a este mensaje
Responder citando

no uso otro jquery, solo el de opencms. Uso el debug de firefox y el de IE.

Al final he configurado para que me muestre todos los comentarios, pero claro, es una chapuza...

Karakulak, si encuentras la solucion, por fa.... EXPLICAMELA¡¡¡¡¡ te debere la vida¡¡¡¡
[17-mar-2010 16:56:28] Mostrar la Versión Imprimible        Send Private Message [Enlace] Reportar mensaje ofensivo: por favor inicie sesión primero  Ir al inicio 
Masculino karakulak
Member


País
Ingresó: 31-ago-2009
Mensajes: 56
Estado: Desconectados

Re: Paginacion del modulo Comments Responder a este mensaje
Responder citando

Buenos días.

Algo que no mencioné en anteriores post es que: cuando hago clic en la página 2 (suponiendo que haya más de una página en el listado de comentarios de una entrada del blog) se produce una excepción cuya traza es:

ERROR [sCommentsAccess: 364] ORA-00933: SQL command not properly ended java.sql.SQLException: ORA-00933: SQL command not properly ended at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112) at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331) at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288) at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:745) at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:216) at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:810) at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1039) at oracle.jdbc.driver.T4CPreparedStatement.executeMaybeDescribe(T4CPreparedStatement.java:850) at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1134) at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3339) at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3384) at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:93) at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:93) at com.alkacon.opencms.formgenerator.database.CmsFormDataAccess.readForms(CmsFormDataAccess.java:384) at com.alkacon.opencms.comments.CmsCommentsAccess.getComments(CmsCommentsAccess.java:361) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:592) at org.apache.commons.el.ArraySuffix.evaluate(ArraySuffix.java:314) at org.apache.commons.el.ComplexValue.evaluate(ComplexValue.java:145) at org.apache.commons.el.ExpressionEvaluatorImpl.evaluate(ExpressionEvaluatorImpl.java:263) at org.apache.commons.el.ExpressionEvaluatorImpl.evaluate(ExpressionEvaluatorImpl.java:190) at org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate(PageContextImpl.java:924)

Si te ocurre lo mismo Icouso, informame por saber si tenemos el mismo problema.

Bueno, a partir de esto me puse a depurar el código fuente del módulo de de comentarios para tratar de obtener una explicación del funcionamiento de la paginación de los comentarios.

He detectado 1 diferencia entre la sentencia SQL que se ejecuta cuando lista la página nº 1 de mi lista de comentarios de blog y la setencia SQL que ejecuta para listarme los comentarios de la página nº 2. Pongo aquí las 2 y resalto la diferencia en negrita:

Sentencia SQL para lista comentarios de la página 1:

sql=SELECT *

FROM (

SELECT DISTINCT
CMS_WEBFORM_ENTRIES.ENTRY_ID,
CMS_WEBFORM_ENTRIES.FORM_ID,
CMS_WEBFORM_ENTRIES.DATE_CREATED,
CMS_WEBFORM_ENTRIES.RESOURCE_ID,
CMS_WEBFORM_ENTRIES.STATE,
CMS_WEBFORM_DATA.FIELDNAME,
CMS_WEBFORM_DATA.FIELDVALUE

FROM
CMS_WEBFORM_ENTRIES,
CMS_WEBFORM_DATA

WHERE
CMS_WEBFORM_ENTRIES.ENTRY_ID = CMS_WEBFORM_DATA.REF_ID
AND
CMS_WEBFORM_ENTRIES.FORM_ID = ?
AND
CMS_WEBFORM_ENTRIES.RESOURCE_ID = ?

ORDER BY
CMS_WEBFORM_ENTRIES.ENTRY_ID DESC
)

WHERE ROWNUM <= 35, catalog=null, resultSetType=null, resultSetConcurrency=null


Sentencia SQL para listar los comentarios de la página 2:

sql=SELECT *

FROM (
SELECT
DISTINCT CMS_WEBFORM_ENTRIES.ENTRY_ID,
CMS_WEBFORM_ENTRIES.FORM_ID,
CMS_WEBFORM_ENTRIES.DATE_CREATED,
CMS_WEBFORM_ENTRIES.RESOURCE_ID,
CMS_WEBFORM_ENTRIES.STATE,
CMS_WEBFORM_DATA.FIELDNAME,
CMS_WEBFORM_DATA.FIELDVALUE

FROM

CMS_WEBFORM_ENTRIES,
CMS_WEBFORM_DATA

WHERE

CMS_WEBFORM_ENTRIES.ENTRY_ID = CMS_WEBFORM_DATA.REF_ID
AND
CMS_WEBFORM_ENTRIES.FORM_ID = ?
AND
CMS_WEBFORM_ENTRIES.RESOURCE_ID = ?

ORDER BY

CMS_WEBFORM_ENTRIES.ENTRY_ID DESC

)

WHERE ROWNUM <= 70 ROWNUM >= 35, catalog=null, resultSetType=null, resultSetConcurrency=null


Esta segunda SQL es la que me produce la excepción antes que he descrito más arriba de este post.

Esto es lo que he conseguido averiguar hasta ahora, pero no la solución del problema, espero que pueda servir del algo.

Un saludo, continuo investigando.
[22-mar-2010 9:22:44] Mostrar la Versión Imprimible        Send Private Message    Oculto a Invitados [Enlace] Reportar mensaje ofensivo: por favor inicie sesión primero  Ir al inicio 
Masculino karakulak
Member


País
Ingresó: 31-ago-2009
Mensajes: 56
Estado: Desconectados

tongue   Re: Paginacion del modulo Comments Responder a este mensaje
Responder citando

Buenas.

Ya he solucionado el problema de la excepción que se producía.

*NOTA: Utilizo Oracle, por lo que creo que esto es para los que utilicen este GBD.

El problema venía que en la sentencia SQL segunda que he marcado en negrita, si os fijais, el ROWNUM <= 70 ROWNUM >= 35 no viene separado por el operador AND.

Para solucionarlo podemos hacer 2 cosas:

1) Cambiar directamente el fichero classes/com/alkacon/opencms/formgenerator/database/oracle.properties en el .jar del módulo formgenerator en WEB-INF/lib de nuestro OpenCms.

o bien

2) Añadir a nuestro módulo formgenerator dentro de la herramienta de administración, la carpeta:

/system/modules/com.alkacon.opencms.formgenerator/classes/com/alkacon/opencms/formgenerator/database/

y dentro el fichero oracle.properties con la modificación que antes he indicado (añadirle el operador AND a la sentencia SQL).

Ahora ya sólo queda que me muestre los contenidos de las páginas siguientes a la primera :P . Sé que esto ocurre por los valores de ROWNUM, lo que no llego a entender es

¿Por qué salen esos valores?
¿Qué significado tiene ROWNUM?

En un principio pensaba que eran el número de filas a tomar, pero cada vez lo dudo más.

Sigo investigando,

Un saludo
[22-mar-2010 12:48:43] Mostrar la Versión Imprimible        Send Private Message    Oculto a Invitados [Enlace] Reportar mensaje ofensivo: por favor inicie sesión primero  Ir al inicio 
Masculino karakulak
Member


País
Ingresó: 31-ago-2009
Mensajes: 56
Estado: Desconectados

Re: Paginacion del modulo Comments Responder a este mensaje
Responder citando

Buenos días!

Hemos conseguido solucionar el problema. Solo hay que modificar mencionado fichero de propiedades oracle.properties y modificar la sentencia SQL que viene al final.

Aquí dejo la solución y que me avisen si no les funciona por si hay que optimizarla o por si aparece otro error.

1) Creamos el fichero: /system/modules/com.alkacon.opencms.formgenerator/classes/com/alkacon/opencms/formgenerator/database/oracle.properties

2) Editamos el contenido y modificamos el valor de las 4 últimas propiedades, por estos valores:

FILTER_LIMIT_PREFIX=\
SELECT * FROM ( \
SELECT a.* , ROWNUM rnum \
FROM \
(
FILTER_LIMIT_POSTFIX= ) a WHERE
FILTER_LIMIT= rownum <= ${ph} )
FILTER_OFFSET= WHERE rnum > ${ph}

Esto creará una triple subconsulta contra la BD, es la mejor forma que hemos encontrado hasta la fecha, si conseguís optimizarla SIN MODIFICAR EL CÓDIGO FUENTE DEL MODULO formgenerator, por favor comentad los resultados.

Un saludo, espero que os ayude.
[23-mar-2010 9:15:38] Mostrar la Versión Imprimible        Send Private Message    Oculto a Invitados [Enlace] Reportar mensaje ofensivo: por favor inicie sesión primero  Ir al inicio 
Femenino lcouso
Advanced Member



Ingresó: 24-jul-2009
Mensajes: 100
Estado: Desconectados

Re: Paginacion del modulo Comments Responder a este mensaje
Responder citando

Muchas gracias, tio, te lo has currao¡¡¡¡
Voy a probarlo ahora mismo¡¡¡
[23-mar-2010 11:32:36] Mostrar la Versión Imprimible        Send Private Message [Enlace] Reportar mensaje ofensivo: por favor inicie sesión primero  Ir al inicio 
Femenino lcouso
Advanced Member



Ingresó: 24-jul-2009
Mensajes: 100
Estado: Desconectados

confused   Re: Paginacion del modulo Comments Responder a este mensaje
Responder citando

uhmm.... he modificado el fichero oracle.properties del jar, he vuelto a comprimir, y me da un error:

javax.servlet.ServletException: javax.servlet.jsp.JspException: javax.servlet.ServletException: java.lang.NoClassDefFoundError: com/alkacon/opencms/formgenerator/database/CmsFormDatabaseFilter
at org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:848)
at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:781)
at org.apache.jsp.WEB_002dINF.jsp.offline.system.modules.com_aubay_pmt.elements.impresiones.diarioImpresionesEntrada_jsp._jspService(diarioImpresionesEntrada_jsp.java:767)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
[......]


estas usando la version 1.3.0 ???
le has puesto en los parametros del modulo "db-provider=oracle"???
no has modificado nada de las jsp???
[23-mar-2010 12:25:47] Mostrar la Versión Imprimible        Send Private Message [Enlace] Reportar mensaje ofensivo: por favor inicie sesión primero  Ir al inicio 
Femenino lcouso
Advanced Member



Ingresó: 24-jul-2009
Mensajes: 100
Estado: Desconectados

applause   Re: Paginacion del modulo Comments Responder a este mensaje
Responder citando

YA ME FUNCIONA¡¡¡¡¡¡ love struck love struck love struck love struck love struck love struck love struck love struck
habia compilado mal, jejejej

Aunque me sigue saliendo un comentario mas en cada pagina, pero bueno, ya por lo menos pagina

Muchas Gracias¡¡¡
[23-mar-2010 13:11:13] Mostrar la Versión Imprimible        Send Private Message [Enlace] Reportar mensaje ofensivo: por favor inicie sesión primero  Ir al inicio 
Masculino karakulak
Member


País
Ingresó: 31-ago-2009
Mensajes: 56
Estado: Desconectados

Re: Paginacion del modulo Comments Responder a este mensaje
Responder citando

Lo he probado para que liste 3, 5, y 10 comentarios por página y me lo muestra todo correctamente. Revisa el valor de la propiedad anterior por si no lo has introducido correctamente. Te pongo aquí la sentencia SQL al completo que obtengo depurando el código:

PStmtKey:

sql=

SELECT * FROM

( SELECT a.* , ROWNUM rnum FROM

( SELECT DISTINCT

CMS_WEBFORM_ENTRIES.
ENTRY_ID,
CMS_WEBFORM_ENTRIES.FORM_ID,
CMS_WEBFORM_ENTRIES.DATE_CREATED,
CMS_WEBFORM_ENTRIES.RESOURCE_ID,
CMS_WEBFORM_ENTRIES.STATE,
CMS_WEBFORM_DATA.FIELDNAME,
CMS_WEBFORM_DATA.FIELDVALUE

FROM

CMS_WEBFORM_ENTRIES,
CMS_WEBFORM_DATA

WHERE

CMS_WEBFORM_ENTRIES.ENTRY_ID = CMS_WEBFORM_DATA.REF_ID
AND
CMS_WEBFORM_ENTRIES.FORM_ID = ?
AND
CMS_WEBFORM_ENTRIES.RESOURCE_ID = ?
ORDER BY CMS_WEBFORM_ENTRIES.ENTRY_ID DESC

)

a WHERE rownum <= 70 ),

catalog=null, resultSetType=null, resultSetConcurrency=null


Puedes comprobarlo depurando tu código y comprobando el valor de la variable stm de la clase com.alkacon.opencms.formgenerator.database.CmsFormDataAccess

¿Puede ser que hayas puesto mal los <= o >?

Ah! Y también deberías eliminar todos los comentarios que hayas introducido hasta la fecha, porque puede ser que se hayan creado inconsistencias en la BD y por eso no te los liste bien. A nosotros nos pasó.

Un saludo.
[23-mar-2010 13:33:23] Mostrar la Versión Imprimible        Send Private Message    Oculto a Invitados [Enlace] Reportar mensaje ofensivo: por favor inicie sesión primero  Ir al inicio 
Mensajes: 25   Páginas: 3   [ Anterior | 1 2 3 | Siguiente ]
[Versión imprimible] [Publicar nuevo tema]