reporte
Anterior | Documentación de referencia de programas | Siguiente

## 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"

`-depura`

  Presenta mensajes de depuración por error estándar, en particular estado de variables antes de llamar programa prom

`-nophp`

  No tener en cuenta secuencias de escape generadas por la interfaz PHP

`-estnum`

  Para imprimir un sólo estudiante al imprimir un grado. e.g -estnum 3 permite imprimir el tercer estudiante

`-implogros`

  Imprimir también logros (en los archivos .cla deben ser papás de indicadores y tener tipo "Logro")

`-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/2012-1:p/2012-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)

Anterior | Subir | Siguiente
sigchq | Inicio | iniperiodo