Las múltiples posibilidades de #LOGIN_PUBLIC

All contributions published for previous SPIP versions

Cómo utilizar el #LOGIN_PUBLIC para ofrecer opciones a los usuarios autentificados

Según la documentación oficial, la baliza #LOGIN_PUBLIC se estableció para gestionar los foros bajo suscripción. Más tarde esta opción se utilizó como método de limitar el acceso a algunas partes “públicas” del contenido de un sitio.

La utilización que se presentará aquí es completamente diferente y tuvo como punto de inicio la posibilidad de ofrecer servicios a usuarios autentificados. Es cierto que tener usuarios registrados permite a los administradores seguir un poco lo que pasa, pero existe también otro aspecto que da la posibilidad de conservar algunos datos en las tablas, devueltas a su autor, previa petición.

La prueba de autenticación se explica en “Los formularios” de la documentación de SPIP, en particular al final del documento, donde explica sobre la utilización de la variable $auteur_session.

Un ejemplo concreto

En mi caso, he trabajado en un sitio para universitarios que ofrece herramientas, además de apuntes y las notas de curso. Un estudiante autentificado puede comentar en las páginas del curso (que son artículos en el sentido de SPIP), puede hacerse de su espacio personal con artículos favoritos, permitiéndole además acceder a partir de su conexión a una selección de algunos artículos sobre los centenares que están disponibles.

También queremos establecer un sistema que permita a los estudiantes acceder a una serie de preguntas cortas tipo exámen.

El conjunto de los temas pertenecen a una sección especial, en nuestro caso la nº13. El tema está en el título, la declaración en el texto y la respuesta esperada en el epígrafe (chapo). Los vínculos son accesibles desde el espacio personal del visitante.

Un bucle (ARTICLES)(id_rubrique=13) devuelve la lista los temas, con un vínculo responder que no es más que el foro vinculado al artículo. ¡Han comprendido!, es el funcionamiento clásico del foro por suscripción, utilizado para simular un examen.

Sobre esta página de control, una consulta SQL prueba permanentemente en la tabla spip_forum, la existencia de un mensaje publicado por el auteur_session y correspondiendo al artículo (tema) en curso. Si existe una respuesta, el texto se indicará bajo la declaración y esto para cada tema. Si las mismas condiciones se reúnen, un vínculo “Ver la respuesta” permite acceder a la respuesta modelo en una ventana popup.

Estas páginas contienen un poco de SPIP, como tambien PHP y consultas SQL a traves de las funcion spip_query(). He aquí un extracto:

((<BOUCLE_cc(ARTICLES){id_rubrique=13}{id_article!=23}{par num surtitre}>
	<div style="float:left;width:auto;"><span class="textegras"><a name="art#ID_ARTICLE">#TITRE</a></span><a href="forum.php3?#PARAMETRES_FORUM&choix_div=control" class="admin"> 
		<img src="ecrire/img_pack/icon_latest_reply.gif" width="24" height="18" align="absmiddle" border="0" hspace ="3">Responder</a></div>
		<div style="float:right;clear:right;width:20px;"><a href="#Top"><img src="biopics/haut.png" border="0" title="Haut de la page"></a></div>
		<div class="petitexte" style="clear:both">[(#TEXTE)]</div>

<?	
		// consulta SQL : extrae la linea de la tabla spip_forum correspondiente al usuario conectado.
		// y al articulo del bucle
		$query = "SELECT * FROM spip_forum WHERE id_article = '#ID_ARTICLE' AND auteur = '$nom_user'";
		// ejecuta la consulta
		$result = spip_query($query);
	if (spip_num_rows($result) != 0) {
?>
		<a href="response.php3id_article=#ID_ARTICLE" class="texte">Ver la correccion</a>
<?		while ($row=spip_fetch_array($result)){
		$texte=$row[texte];
		$auteur=$row[auteur];
		$statut=$row[statut];
		print ("<div class=\"notes\"><font color=\"red\"><li><strong>Mi respuesta : </strong>$texte</li></font></div><br>");
			}
	}
 ?>
 <hr size=1>
</BOUCLE_cc>))

Asi se reciben contribuciones de los estudiantes que responden a temas editoriales, que pueden comparar su respuesta con la que se espera.

Pueden ver un ejemplo funcionando en mi sitio, eligiendo la opción Control contínuo (Contrôle continu).

Se agregaron posteriormente dos mejoras:

-  Por cada tema hay palabras clave definidas por el evaluador, cuya presencia se busca en el texto de la respuesta. Si figuran, se subrayan. Si no, se listan como ausentes.

-  El evaluador, que tiene derechos de administrador, puede responder al foro del artículo (id_parent). De esta forma, el estudiante puede disponer de observaciones personalizadas sobre su respuesta.

updated on 4 November 2005

Discussion

Aucune discussion

Comment on this article

Who are you?
  • [Log in]

To show your avatar with your message, register it first on gravatar.com (free et painless) and don’t forget to indicate your Email addresse here.

Enter your comment here

This form accepts SPIP shortcuts {{bold}} {italic} -*list [text->url] <quote> <code> and HTML code <q> <del> <ins>. To create paragraphs, just leave empty lines.

Add a document

Follow the comments: RSS 2.0 | Atom