Project

General

Profile

Bug #3874

codification problem around index user_portal ... files

Added by Juan Carlos Raña Trabado over 8 years ago. Updated almost 8 years ago.

Status:
Bug resolved
Priority:
Normal
Category:
-
Target version:
Start date:
05/09/2011
Due date:
% Done:

80%

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

Files

codification_problem.png (94.8 KB) codification_problem.png Juan Carlos Raña Trabado, 05/09/2011 14:54
codification_problem_1.png (66.7 KB) codification_problem_1.png Juan Carlos Raña Trabado, 05/09/2011 14:54
clip_strange_bug.png (44.6 KB) clip_strange_bug.png Juan Carlos Raña Trabado, 09/09/2011 11:20
clip_strange_bug2.png (52.8 KB) clip_strange_bug2.png Juan Carlos Raña Trabado, 09/09/2011 11:20

Related issues

Related to Chamilo LMS - Feature #1337: check the requirements of the user's computer before connectingBug resolved22/05/2010

Actions

Associated revisions

Revision f4c97ed8 (diff)
Added by Julio Montoya over 8 years ago

Fixing the sniff js code see #3874

Revision 29a6a9c2 (diff)
Added by Julio Montoya over 8 years ago

Trying to fix the js cookie validation sorry Juan Carlos if this is broken need your validation... see #3874

History

#2

Updated by Julio Montoya over 8 years ago

  • Status changed from New to Assigned
  • Assignee set to Julio Montoya

interesting ...

#3

Updated by Julio Montoya over 8 years ago

The problem is that big js code that is loaded before the template ...

I moved the code to a template in main/template/default/layout/sniff.tpl and I'm calling the tpl in

main/template/default/layout/layout_2_col.tpl

#4

Updated by Julio Montoya over 8 years ago

  • Status changed from Assigned to Needs more info
  • Assignee deleted (Julio Montoya)
  • % Done changed from 0 to 50
#5

Updated by Juan Carlos Raña Trabado over 8 years ago

No sé si seguirá funcionando correctamente, pero como todo el código está en un solo bloque continuo se puede pasar a otro lugar y así poder seguir el trabajo con las plantillas. Más tarde intentar la ejecución del código. Si en este lugar no funcionara ya buscaríamos otros. Así que tienes vía libre.

#6

Updated by Juan Carlos Raña Trabado over 8 years ago

El problema está relacionado no con un error del código en sí sino al parecer con la forma en que smarty trata el código. Veamos un ejemplo y dos clip. En el archivo index.php hay una comprobación de si el usuario tiene las cookies activadas y también javascript.
Como vemos en el segundo clip no hay nada en el código que realmente sea el causante del error. La cuestión es que se ha pasado de generar la página en el servidor a que sea generada por el cliente cuando se ha cerrado ?> y luego abierto de nuevo con Si esto es realmente así, cabría ser lo más restrictivos posible en el uso de smarty o en caso contrario agradecería alguna sugerencia. Salvo excepciones no veo que sea una buena solución estar pasando constantemente código a plantillas de Smarty, éste debería respetar (existe algún comando para ello que yo desconozca?) al menos elementos básicos del funcionamiento ordinario de php como un ?> y un

#8

Updated by Julio Montoya over 8 years ago

Cuando entro a usarportal parece que hay un js que me hace un "auto post".
Cuando se hace F5 en la lista de cursos FF dice:

"To display this page, Firefox must send information that will repeat any action (such as a search or order confirmation) that was performed earlier."

Es como si el js me obliga a cargar 2 veces userportal es normal?

#9

Updated by Julio Montoya over 8 years ago

Buen ojo Juan Carlos :)

En realidad esos bloques de código:

if(navigator.cookieEnabled==false){

y
<noscript></noscript>

deberían de estar en agregados en el array $htmlHeadXtra lo he hecho con este commit:

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

Si no estás de acuerdo con el cambio indicamelo para deshacerlo ...

Otra cosa: No es mejor validar la presencia de cookies por PHP?

http://stackoverflow.com/questions/1033595/are-javascript-cookies-enabled-or-disabled

Juan Carlos Raña wrote:

El problema está relacionado no con un error del código en sí sino al parecer con la forma en que smarty trata el código. Veamos un ejemplo y dos clip. En el archivo index.php hay una comprobación de si el usuario tiene las cookies activadas y también javascript.
Como vemos en el segundo clip no hay nada en el código que realmente sea el causante del error. La cuestión es que se ha pasado de generar la página en el servidor a que sea generada por el cliente cuando se ha cerrado ?> y luego abierto de nuevo con Si esto es realmente así, cabría ser lo más restrictivos posible en el uso de smarty o en caso contrario agradecería alguna sugerencia. Salvo excepciones no veo que sea una buena solución estar pasando constantemente código a plantillas de Smarty, éste debería respetar (existe algún comando para ello que yo desconozca?) al menos elementos básicos del funcionamiento ordinario de php como un ?> y un

#10

Updated by Juan Carlos Raña Trabado over 8 years ago

Julio Montoya wrote:

Cuando entro a usarportal parece que hay un js que me hace un "auto post".
Cuando se hace F5 en la lista de cursos FF dice:

"To display this page, Firefox must send information that will repeat any action (such as a search or order confirmation) that was performed earlier."

Es como si el js me obliga a cargar 2 veces userportal es normal?

Efectivamente se realiza un auto post cada vez que se carga la página por lo que al pulsar f5 vuelve a realizarse este autopost desde javascript. Hay dos vías de solución, o realizar autopost de otra forma o bien identificar por ej. con una variable de sesión y código que se envíe al javascript del cliente que este autopost ya se ha realizado y por tanto que no es necesario volver a hacerlo. Le echaré un vistazo en cuanto pueda, de todas formas si tienes la solución en mente adelante.

#11

Updated by Juan Carlos Raña Trabado over 8 years ago

En el cambio que has realizado no hay problema si sigue funcionando.
Sobre la validación de cookies desde el servidor no veo problema si quieres cambiarlo, aunque la única ventaja que veo es que no necesitaría javascript, pero como javascript es enteramente necesario y ya hay un aviso para esto, de nada nos sirve validar una cookie si el usuario no tiene javascript activado.

#12

Updated by Juan Carlos Raña Trabado over 8 years ago

el cambio en head.tpl tiene buena pinta voy a ver como va ahora

#13

Updated by Juan Carlos Raña Trabado over 8 years ago

La codificación solucionada, pero he visto que el resto no funciona correctamente.

Por ejemplo.
-En el código inicial del sniff el valor del post se pasaban a unas variables de sesión para que estos valores estuvieran fácilmente accesibles en cualquier lugar de la plataforma y así poder adaptar la respuesta correcta del servidor sin tener que hacer más consultas al cliente sobre el tipo de plugins instalados al ejecutar archivos, el tamaño de su pantalla etc. Estas comprobaciones se hacían después de que se produjera el login del usuario. Una importante era la comprobación de flash, que también ha desaparecido al trasladar el código.

-En el caso de javascript y de las cookies, esta comprobación debe hacerse antes de de que se produzca el login, sería buena idea intentar que los mensajes que muestran lo hicieran dentro de uno de los div de la pantalla y no arriba del todo. Por otro lado he comprobado que en el caso del mensaje de javascript en su nueva ubicación pierde el coloreado y también deja un salto bastante feo en pantalla. Así que sería buena idea poder cambiar esto.

#14

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

  • Assignee set to Juan Carlos Raña Trabado
#17

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

  • % Done changed from 50 to 70
#18

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

Queda la verificación de javascript que funciona pero que no se muestra en un sitio idóneo y la de las cookies que no funciona, quizá haya que pasarla a head.tpl, no veo inconveniente en hacer la validación por php en lugar de por javascript.

#19

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

  • Assignee deleted (Juan Carlos Raña Trabado)
#20

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

En el caso de flash con Firefox, quizá haya que introducir un retraso, pues parece que al principio puede mostrarse brevemente el mensaje de que no está activado flash mientras el cliente envía los datos.

#21

Updated by Yannick Warnier about 8 years ago

Hola Juan Carlos,

Estoy siguiendo esto de un ojo pero aquí no se trata de esto:
Tus commits en Google Code están apareciendo ahora como el usuario "asus@asus-PC" que imagino es el nombre de tu usuario en una nueva máquina (iria hasta suponer que es de marca ASUS? :-D )

Si estás bajo Linux, podrías simplemente editar tu fichero .hgrc en el home de tu usuario como sigue:

vim ~/.hgrc

y después de presionar "i", poner:
[ui]
username = herodoto

(y después presionar ESC + :wq + enter)

Esto garantizaría que todos tus futuros commits se registren como herodoto y me permita (cuando reviso) saber a quien puedo contactar para discutir del cambio.

#22

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

  • Assignee set to Juan Carlos Raña Trabado
#23

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

De acuerdo Yannick, ahora el usuario es el correcto. Para probarlo he aprovechado y he arreglado el pequeño destello del mensaje de la falta de flash que erróneamente se daba en alguna ocasión.
http://code.google.com/p/chamilo/source/detail?r=6ffc64ca466ff1b9631cb4a8485feb110a835c2f&repo=classic

#24

Updated by Yannick Warnier about 8 years ago

Gracias :-)

#25

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

  • Status changed from Needs more info to Bug resolved
  • % Done changed from 70 to 80
#26

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

  • Status changed from Bug resolved to Needs testing

La solución actual no era lo suficientemente buena debido a que para comprobar que efectivamente existe la cookie hay que recargar de nuevo la página pues en una primera ejección en el servidor php se crea la cookie y la verificación en el cliente. Es necesario una nueva ejecución en el servidor php para comprobar la existencia de la cookie lo cual implicaría recargar la página; si no se hace así podría existir la cookie pero no se habría verificado con lo que daría un mensaje de error la primera vez que el cliente accediera.

Como la autentificación no funciona sin las cookies la solución es colocar esta segunda recarga en el mensaje de verificación. Con esto se conseguiría un comportamiento correcto.

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

#27

Updated by Yannick Warnier almost 8 years ago

  • Target version changed from 1.9 Stable to 1.9 Beta
#28

Updated by Yannick Warnier almost 8 years ago

  • Target version changed from 1.9 Beta to 1.9 RC1
#29

Updated by Juan Carlos Raña Trabado almost 8 years ago

  • Status changed from Needs testing to Bug resolved

Also available in: Atom PDF