Herramientas de usuario

Herramientas del sitio


es:manual:items:externosgeneral

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
es:manual:items:externosgeneral [2021/06/26 10:22] rootes:manual:items:externosgeneral [2021/07/03 12:00] (actual) root
Línea 25: Línea 25:
  
    https://www.siette.org/siette/generador/RespuestaExterna?answer=Danubio    https://www.siette.org/siette/generador/RespuestaExterna?answer=Danubio
-   +
 {{ es:manual:items:item-externo-genially-def3.png | }}  {{ es:manual:items:item-externo-genially-def3.png | }} 
        
Línea 38: Línea 38:
 {{ es:manual:items:item-externo-genially-base3.png | }}  {{ es:manual:items:item-externo-genially-base3.png | }} 
  
-y añadiendo la URL de la llamada en la pestaña [[Avanzado]]+y añadiendo la URL de la llamada en la pestaña [[es:help_items_advanced|Avanzado]], indicando que la llamada se hace directamente usando el método ''GET''.
  
 {{ es:manual:items:item-externo-genially-base2.png | }}  {{ es:manual:items:item-externo-genially-base2.png | }} 
Línea 58: Línea 58:
 === Ejemplo 2 === === Ejemplo 2 ===
  
-El caso anterior es muy simple, se ha hecho así a propósito par mostrar cómo funciona el mecanismo de ítem externos. Evidentemente no se justifica la creación de un ítem externo cuando podría realizarse de forma muy similar en Siette. +El caso anterior es muy simple, se ha hecho así a propósito para mostrar cómo funciona el mecanismo de ítem externos. Evidentemente no se justifica la creación de un ítem externo cuando podría realizarse de forma muy similar en Siette. 
 En este ejemplo, mostramos un caso algo mas elaborado, en donde el ítem externo hace 5 preguntas sobre la geografía de Europa, mediante sucesivos enlaces se van contabilizando el número de aciertos: En este ejemplo, mostramos un caso algo mas elaborado, en donde el ítem externo hace 5 preguntas sobre la geografía de Europa, mediante sucesivos enlaces se van contabilizando el número de aciertos:
  
Línea 71: Línea 71:
    https://www.siette.org/siette/generador/RespuestaExterna?answer=4    https://www.siette.org/siette/generador/RespuestaExterna?answer=4
    
-En este caso el //item base// es un [[es:manual:items:tiposbasicos:respuesta_libre|ítem de respuesta libre]], que usa el [[es:manual:items:patron:correspondencia|patrón de Correspondencia]], y que tiene 6 patrones, una por cada uno de los valores que tomará el parámetro ''answer''. Al ítem base se le ha asignado una [[es:help_items_evaluation#Puntuación maaxima|puntuación manual]] de 5 puntos, y a cada una de los patrones, se le ha asignado un valor de crédito parcial usando el [[es:help_items_content_mcq_sa|editor intermedio]], de manera que si la respuesta externa devuelve 2, se asignen 2 puntos, pero si devuelve 4, se asignen 4 puntos, etc.+En este caso el //item base// es un [[es:manual:items:tiposbasicos:respuesta_libre|ítem de respuesta libre]], que usa el [[es:manual:items:patron:correspondencia|patrón de Correspondencia]], y que tiene 6 patrones, una por cada uno de los valores que tomará el parámetro ''answer''. Al ítem base se le ha asignado una [[es:help_items_evaluation#Puntuación máxima|puntuación manual]] de 5 puntos, y a cada una de los patrones, se le ha asignado un valor de crédito parcial usando el [[es:help_items_content_mcq_sa|editor intermedio]], de manera que si la respuesta externa devuelve 2, se asignen 2 puntos, pero si devuelve 4, se asignen 4 puntos, etc.
  
 {{ es:manual:items:item-externo-genially-ejemplo2-base.png | }}  {{ es:manual:items:item-externo-genially-ejemplo2-base.png | }} 
Línea 79: Línea 79:
 {{ es:manual:items:item-externo-genially-ejemplo2-6.png?300 | }}  {{ es:manual:items:item-externo-genially-ejemplo2-6.png?300 | }} 
  
-==== Ítems externos de desarrollo conjunto ====+==== Implementación de ítem externos para Siette ==== 
 + 
 +En los casos en los que se desarrollen items con la idea de usarlos como ítem externos de Siette, se han establecido algunas pautas a seguir en el paso de parámetros tanto en la llamada de Siette como en el retorno de parámetros. 
 +Estas convenciones facilitan la comunicación entre Siette y el ítem externo y permiten usar el protocolo HTTP POST. 
 + 
 +=== Llamada de Siette al ítem externo === 
 +Cuando Siette llama a un ítem externo por defecto le pasa los siguientes parámetros: 
 + 
 +  * ''method'', si la llamada al ítem externo se hará con el protocolo GET o POST, por defecto POST 
 +  * ''url'', url de Siette a la que el ítem externo debe devolver la respuesta del alumno. Normalmente este valor es fijo: ''https://www.siette.org/siette/generador/RespuestaExterna'' 
 + 
 +En el caso de que la llamada se haga por el método GET, Siette llamará directamente a la dirección que se le haya indicado. Solo en el caso de que la llamada se haga mediante el método POST, añadirá los siguientes parámetros en la llamada: 
 + 
 +  * ''answer'', este parámetro contiene el nombre del campo que debe usarse como parámetro de respuesta, por defecto el valor ''answer''
 +  * ''username'', nombre del usuario a quien se propone la pregunta. 
 +  * ''useremail'', correo electrónico del usuario al que se le propone la pregunta. 
 +  * ''titulo'', titulo del //ítem base//. 
 +  * ''enunciado'', enunciado del //ítem base//. 
 + 
 +Adicionalmente, Siette añadirá a los anteriores todos los que el usuario haya indicado en el campo [[es:help_items_advanced_extern#Parámetros de la URL]]. Este campo deberá estar formateado siguiendo unas reglas simples, ya que en él se escribirán todos los parámetros adicionales, por ejemplo: 
 + 
 +<code> 
 +idioma=english 
 +tiempoLimite=60 
 +</code> 
 + 
 +enviará dos parámetros más. 
 + 
 +=== Parámetros de vuelta del ítem externo === 
 + 
 +Cuando el ítem externo devuelve la llamada a Siette, usando la ''url'' que recibió, se espera que incluya los siguientes parámetros: 
 + 
 +   * ''label'', nombre del parámetro que contendrá la respuesta, por defecto ''answer'' 
 +   * ''answer'', (u otro nombre cualquiera indicado por el parámetro ''label''), contiene la cadena de texto con la respuesta del alumno. 
 + 
 +La llamada del ítem externo a Siette puede hacerse indistintamente mediante los protocolos GET o POST. 
 +    
 +=== Ejemplo 3 ===    
 + 
 +Como ejemplo de un ítem externo se ha desarrollado una presentación diferente mediante una página en JSP que se ha subido al [[es:manual:temas#directorio auxiliar]] de la asignatura. 
 + 
 +La página, que usa su propio estilo para el texto, la disposición de los elementos, la imagen de fondo y los botones, mediante un archivo CSS. Recibe tres parámetros: ''answer'' que le indica como debe llamarse el campo con el que enviará la respuesta; ''url'', que es la dirección a la que se enviará la respuesta; y ''idioma'' que indica si debe presentar el texto en español o inglés. 
 + 
 +<code html> 
 +<html> 
 +<head> 
 +   <meta http-equiv="Content-Type" content="text/html; charset='UTF-8"> 
 +    <meta name="Author" content="Ricardo Conejo"> 
 +    <title>External question</title> 
 +    <link rel="stylesheet" type="text/css" href="estilos.css"/> 
 +<% 
 +String url       = request.getParameter("url"); 
 +String respuesta = request.getParameter("answer");; 
 +String idioma    = request.getParameter("idioma"); 
 +if (idioma==null || idioma.equals("")) idioma = "spanish"; 
 +%> 
 +</head> 
 + 
 +<body> 
 +<form name="form_siette" ACTION="<%= url %>" METHOD="POST"> 
 +<div class='centered' 
 +<h1><%= idioma.equals("english")?"What is the biggest country of Europe?":"&iquest;Cual es, en extensi&oacute;n, el pais mas grande de Europa ?" %></h1> 
 +<label class="container"> 
 +  <%= idioma.equals("english")?"France":"Francia" %> 
 +  <input type="radio" name="<%= respuesta %>" value="<%= idioma.equals("english")?"France":"Francia" %>"> 
 +  <span class="checkmark"></span> 
 +</label> 
 +<label class="container"> 
 +  <%= idioma.equals("english")?"Spain":"Espa&ntilde;a" %> 
 +  <input type="radio" name="<%= respuesta %>" value="<%= idioma.equals("english")?"Spain":"Espa&ntilde;a" %>"> 
 +  <span class="checkmark"></span> 
 +</label> 
 +<label class="container"> 
 +  <%= idioma.equals("english")?"Rusia":"Russia" %> 
 +  <input type="radio" name="<%= respuesta %>" value="<%= idioma.equals("english")?"Russia":"Rusia" %>"> 
 +  <span class="checkmark"></span> 
 +</label> 
 +<label class="container"> 
 +  <%= idioma.equals("english")?"Germany":"Alemania" %> 
 +  <input type="radio" name="<%= respuesta %>" value="<%= idioma.equals("english")?"Germany":"Alemania" %>"> 
 +  <span class="checkmark"></span> 
 +</label> 
 +<label class="container"> 
 +  <%= idioma.equals("english")?"China":"China" %> 
 +  <input type="radio" name="<%= respuesta %>" value="<%= idioma.equals("english")?"China":"China" %>"> 
 +  <span class="checkmark"></span> 
 +</label> 
 +<label class="container"> 
 +  <%= idioma.equals("english")?"Poland":"Polonia" %> 
 +  <input type="radio" name="<%= respuesta %>" value="<%= idioma.equals("english")?"Poland":"Polonia" %>"> 
 +  <span class="checkmark"></span> 
 +</label> 
 + <input type="submit" class='btn' name="enviar" value="<%= idioma.equals("english")?"Send answer":"Enviar respuesta" %>"> 
 +</div> 
 +</form> 
 +</body> 
 +</html> 
 +</code> 
 + 
 +El texto de esta página web puede editarse aparte o subirse al directorio auxiliar mediante el [[es:help_subjects_media|Gestión de archivos]] en donde tambien deben situarse los ficheros que use esta página, como ''estilos.css'' o ''europa.png'' 
 + 
 +{{ es:manual:items:item-externo-htdocs-1.png | }}  
 + 
 +Una vez creado el ítem, es necesario definir en Siette un //item base//, (en realidad dos, uno en español y otro en inglès). en este caso con las mismos textos de respuesta correspondientes a los nombres de los paises, y en la pestaña [[es:help_items_advanced|Avanzado]], indicar que es un ítem externo al cuál se llama por el método POST, y que por tanto recibirá los parámetros generales, y además un parámetro más correspondiente al valor que se ha puesto en el campo [[es:help_items_advanced_extern#Parámetros de la URL]] correspondiente al ''idioma''.  
 + 
 +{{ es:manual:items:item-externo-htdocs-2.png | }}  
 + 
 +Si todo va bien, el [[previsualizador]] mostrará el ítem externo: 
 + 
 +{{ es:manual:items:item-externo-htdocs-3.png | }}  
 + 
 +y tras responder en él, la respuesta llegará de vuelta a Siette que la mostrará la corrección de la respuesta recibida como si se hubiera respondido directamente al //ítem base//.  
 + 
 +{{ es:manual:items:item-externo-htdocs-4.png | }}  
 + 
 +==== Limitaciones ==== 
 + 
 +Los ítems externos deben mostrarse uno a uno. No es posible utilizar [[testlets]] en los que se muestran en una misma pantalla varios ítems. La única solución posible es que el ítem externo en realidad sea un [[testlet]], aunque la respuesta debe corresponder a un solo //ítem base//. Esto si que es posible utilizando [[es:manual:items:compuestos|items compuestos]] como //item base//. 
 + 
 +Por el momento no se ha diseñado ninguna interfaz para presentar el ítem externo como interfaz que muestre la respuesta y la corrección. Téngase en cuenta que en muchos casos no se muestra la respuesta o la corrección al alumno hasta el final de la sesión por lo que en este caso se mostrarían todas las respuestas simultáneamente lo que podría ser un problema con los ítems externos. 
 + 
 +Por otra parte, los ítem externos podrían mostrar la corrección tras presentar el ítem y obtener la respuesta del alumo, simplemente tendrían que enviar la respuesta después de mostrar la corrección. 
es/manual/items/externosgeneral.1624702952.txt.gz · Última modificación: 2021/06/26 10:22 por root

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki