Nombre de referencia

reporte — Genera reportes con valoraciones de uno o más estudiantes.

Sinopsis

reporte [opciones] [dir_est | grp] [[dir_est | grp] ...]

Descripción

Recibe uno o más archivos con grupos (ver grupo(5)) o directorios de estudiantes con su progreso. Genera todos los reportes de los individuos del grupo y de los estudiantes en XML o empleando una plantilla que especifica como debe ser cada reporte. La plantilla que repasa puede completar puede ser un documento HTML o un texto, un documento DocBook, LaTeX, RTF o cualquier otro formato que se represente en un texto plano y que sea apropiado para su institución (no es posible emplear una plantilla en un formato binario como el de MS-Word).

Las opciones son las siguientes:

-ayuda

Presenta ayuda corta y opciones

-D

Establece otro directorio en el cual buscar archivos con más precedencia

-man

Presenta página del manual

-refentry

Presenta página del manual en formato DocBook

-V

Versión de este programa

-anota

Especifica una anotación del reporte y su valor. La sintaxis es 'anotación:valor' Por ejemplo -anota "Fecha:4/4/2012"

-mder

Cadena que identifica fin de un macro que debe remplazarse (e.g -mder @)

-formato

Formato al que debe convertirse cada dato encontrada en los archivos de entrada. Las posibilidades son texto, texinfo, tex y docbook. Por defecto se usa texto.

-planest

Archivo con plan de estudio (niveles, grados, asignaturas, DTD planest.dtd)

-datosind

Nombre de archivo con datos de individuo por defecto es `datos.ind´.

-mizq

Cadena que identifica inicio de un macro por remplazar (e.g -mizq @)

-anotaniv

Especifica anotación que debe coincidir con el nivel/grado/etapa y su valor. La sintaxis es 'nivel:valor' Por ejemplo -anotaniv "Grado:g4"

-o

Especifica forma del nombre del archivo de salida de cada individuo al procesar un grupo, puede ser "stdout" para indicar salida estándar o una cadena que puede incluir %d que indica nombre del directorio de los datos del individuo, %c que indica un número consecutivo generado automáticamente. Por defecto es stdout. e.g -o "/tmp/rep5-%c.tex"

-anotaper

Especifica anotación que debe coincidir con el periodo y su valor. La sintaxis es 'anotación:valor' Por ejemplo -anotaper "Periodo:1"

-texto

Texto de reporte para un tipo, se especifica como 'tipo :!: encabezado :!: pie', el encabezado y pie puede tener (dependiendo del tipo) los macros desc, val y otras anotaciones definidos en los archivos de entrada (ver también opciones -i y -d), puede tener también las secuencias de escape \n y \t. Por ejemplo si @ es la cadena que identifica inicio y fin de macro y si se han definido las anotaciones intensidad y Fallas en un tipo Asignatura: -texto "Asignatura: Calificaciones de @desc@. (@intensidad@) F:@Fallas@"

-prom

Especifica archivo en el que está el programa para computar promedios. Por ejemplo -prom "mediana.prom"

-prom_tipos

Especifica tipos en los que debe agregarse computo de promedios. Por ejemplo -prom_tipos "cadena:Asignatura;Reporte"

-prom_rango

Establece periodo inicial y periodo final para el computo de promedios. Separar uno de otro con ':'. Por ejemplo: -prom_rango "p/2006-1:p/2006-4"

Por cada estudiante, reporte lee información de diversas fuentes (línea de comandos, plan de estudio, archivos de clasificaciones, archivos de progreso) que organiza como ítems y datos a partir de los cuales puede calcular promedios y bien producir un archivo XML o bien efectuar remplazos en la plantilla. A continuación se presenta parte de un archivo XML generado:

        <item tipo="Asignatura">
          <dato tipo="Moderador.Nombres">Pigmaleon</dato>
          <dato tipo="intensidad">1</dato>
          <dato tipo="id">castellano</dato>
          <dato tipo="Fallas">3</dato>
          <dato tipo="computo">Deficiente</dato>
          <item tipo="Logro">
            <dato tipo="id">m1-2001.cla:l1</dato>
            <dato tipo="desc">Logro 1</dato>
            <item tipo="Indicador">
              <dato tipo="id">m1-2001.cla:l1.1</dato>
              <dato tipo="desc">Indicador 1-1 m1</dato>
              <dato tipo="val">I</dato>
            </item>

Note que la información se divide en ítems (de acuerdo al plan de estudios, las clasificaciones y la clasificación elegida para valorar con la opción ) y cada ítem tiene datos y posiblemente subítems. En el ejemplo presentado Logro es un subítem de Asignatura, e Indicador es un subítem de Logro.

Para remplazar en una plantilla es necesario que la plantilla se divida en varias partes, una por cada item que reporte emplea (verlos generando primero el XML). Cada una de esas partes puede incluir porciones que se remplazaran con los datos recolectados y que se distinguen con cadenas especiales a izquierda y derecha (ver opciones -mizq y -mder). Por ejemplo si la información recolectada se ha dividido en ítems y subítems así:

Reporte
 |- Nivel
     |- Grado
         |- Área
             |-	Asignatura
                 |- Logro
                     |- Indicador	

y se deseara generar un reporte como texto plano, podría emplearse una plantilla para el item Asignatura como la siguiente (especificada con el parámetro -texto):

"Asignatura:!:  @id@ (@Fallas@/@intensidad@) Moderador: @Moderador.Nombres@
:!: Promedio: @computo@ "

Que indica que se trata de plantilla par asignaturas, un encabezado y un pie para cada asignatura (se separa uno de otro con la cadena ":!:"). Note que se emplea como cadena especial @ tanto a izquierda como a derecha. Si reporte recolecta la información antes presentada en XML, el resultado tras el remplazo del encabezado sería:

castellano (3/1) Moderador: Pigmaleon

y el pie (después de presentar plantillas de subítems) sería:

Promedio: Deficiente

Por línea de comandos reporte puede recibir bien uno o más directorios con información de estudiantes y/o uno o más archivos de grupos que referencien datos de estudiantes. Por cada directorio de estudiante que recibe trata de abrir el archivo de individuos datos.ind (ver opción -datosind) y procesa progreso disponible en el mismo directorio. Por cada archivo de grupo que recibe, realiza el proceso anterior con cada individuo referenciado (suponiendo que el directorio donde está el progreso es el mismo donde está el archivo de individuo).

La información de cada estudiante la agrega al item raíz `Reporte´, así como las anotaciones que reporte recibe por línea de comandos: periodo (ver opción -anotaper), grado ( ver opción -anotagrado) y otras (ver opción -anota) y las anotaciones que haya en la raíz del plan de estudio. Del plan de estudios agrega ítems por cada elemento curso que preceda o siga al grado especificado en línea de comandos (con la opción -anotagrado) y por cada asignatura de ese grado. Por cada asignatura agrega si es el caso información del moderador en datos con identificación de la forma Moderador.id (por ejemplo Moderador.Nombres si Nombres fuera un dato del archivo de individuo del moderador), por cada asignatura que tenga asociado un archivo de progreso (con el atributo prc) agrega ítems de acuerdo a la información que haya en el archivo de progreso del estudiante para el periodo especificado en línea de comandos (con la opción -anotaper). De haberse especificado un programa para realizar promedios (opción prom) y tipos de item (opcion prom_tipos) en los cuales realizarlo, efectúa promedios en cada item especificado y los agrega como datos de tipo computo. El programa en lenguaje prom recibirá las variables:

ejecutor

con valor reporte

tipo

con el tipo del item, por ejemplo Asignatura si es un item y se especificó con la opción -prom_tipos.

id_item

Una variable por cada dato del item, el nombre es el identificador y el valor el dato en sí.

val

Vector con las valoraciones recolectadas, indexadas en el orden en el que aparecen en los datos y subítems.

val_tipo

Vector con los tipos de ítems en los que hay valoraciones (misma numeración de val), por ejemplo un valor típico es Indicador.

val_id

Vector con identificaciones de los ítems en los que hay valoraciones (misma numeración de val).

Ejemplos

reporte -anotaniv "Grado:g1" -anotaper "Periodo:p2001-1" \
-planest asig.planest -anota "Fecha: 20/4/2002" \
-texto "Reporte:!: Estudiante: @Apellidos@ @Nombres@ Grado: @Grado@ 
Periodo:@Periodo@  Fecha del boletín: @Fecha@\n:!:Fin del reporte\n" \
-texto "Asignatura:!:   @desc@ (@Fallas@/@intensidad@)\n:!:"  \
-texto "Indicador:!:     @desc@ @val@\n:!:" \
-o "stdout" -mizq @ -mder @ t4.grp

Genera reportes por salida estándar de todos los estudiantes del grupo t4.grp para el periodo p2001-1, suponiendo que el grado es g1. El plan de estudios está en el archivo asig.planest, la fecha del reporte es 20/4/2002. La salida generada para cada reporte es un texto plano.

reporte -anotaniv "Grado:g1" -anotaper "Periodo:p2001-1" \
-planest asig.planest -anota "Fecha: 20/4/2002" \
-texto "Reporte:!: Estudiante: @Apellidos@ @Nombres@ Grado: @Grado@ 
Periodo:@Periodo@  Fecha del boletín: @Fecha@ Comentario: @Comentario@\n
:!:Fin del reporte\n" \
-texto "Grado:!: Grado @desc@  Moderador: @Moderador.t1@\n:!:Fin de Grado" \
-texto "Asignatura:!:@desc@ (@Fallas@/@intensidad@) 
Moderador: @Moderador.t2@ Comentario: @Comentario@\n:!:" 
-texto "Indicador:!:@desc@ @val@\n Comentario: @Comentario@\n:!:" \
-mizq @ -mder @ estudiante/robcom

Genera un reporte a partir del progreso del directorio estudiante/robcom del grado g1 referenciado en el plan de estudios asig.planest para el periodo p2001-1.

Ver también

rep(5)