3. Inicialización
Anterior | Capítulo 3. Registro de progreso en un colegio colombiano | Siguiente

## 3. Inicialización

Para crear una estructura de directorios se emplea el script sigue-colegio.sh, después se modifica y completa la información generada y opcionalmente se crea un módulo en un repositorio CVS. A continuación se describen los pasos, suponiendo que el directorio con la información del colegio (i.e el directorio base) será `/var/nuestra-escuela` y se comenzará a emplear `sigue` en el año 2012.

1. Cree la estructura de directorios desde la cuenta `root`así:

       # cd /var
       # sigue-colegio.sh nuestra-escuela 2012

   Esto creará el directorio `/var/nuestra-escuela` con información de ejemplo para comenzar a registrar progreso en el año 2012.

   | Aviso
   Si cuenta con un servidor web, sugerimos que emplee una ruta que no pueda accederse desde un navegador. En especial si planea usar la interfaz PHP (ver Sección 6, “Interfaz PHP para profesores”).

2. Edite el cronograma `/var/nuestra-escuela/cron.sec` especificando la división en periodos del año, así como el inicio y fin de cada periodo (con los atributos `inicio` y `fin` del elemento `sec`). Puede verificar el archivo con la herramienta repchq.

3. En la ruta `/var/nuestra-escuela`, dentro del subdirectorio `estudiante`, cree un directorio por cada estudiante. Para evitar duplicados, emplee la identificación de cada estudiante en el nombre del directorio. En el directorio de cada estudiante cree el archivo `datos.ind` (ver Sección 2.1, “Datos de cada estudiante”), al menos con los datos: `Apellidos`, `Nombres`, `login` y `FechaNacimiento`. Las plantillas generadas emplean como identificación el año de nacimiento y el login del estudiante, puede guiarse en estas y después borrarlas o puede automatizar este proceso como se explica más adelante.

   Emplee la herramienta sigchq para verificar el formato de los archivos que modifique.

4. En los subdirectorios `grupo/2012/bprimaria`, `grupo/2012/bsecundaria` y `grupo/2012/media` cree un archivo por cada grado, cada archivo debe referenciar los estudiantes del grado respectivo (se sugieren que en los nombres se use la identificación de cada grado/curso, por ejemplo `g1.grp`, `g5a.grp`, etc). Al crear estos archivos y en general al referenciar un archivo desde otro tenga en cuenta emplear una ruta relativa al directorio `planest/2012`[1].

   Emplee la herramienta sigchq para verificar los grados que edite.

5. Para completar la información de profesores proceda de forma análoga al caso de estudiantes, dentro del subdirectorio `profesor`, cree un directorio para cada profesor y el archivo de datos `datos.ind` al menos con los mismos datos del archivo de datos de estudiantes. Modifique también el archivo `grupo/2012/profesores.grp` para que referencia a todos los profesores del colegio.

6. Adapte los subdirectorios y datos del directorio `planest/2012` para que correspondan a los niveles, grados y asignaturas de la institución. Para comenzar no es indispensable modificar los archivos de asignaturas (e.g `castellano.cla` y `castellano.sec`) sólo, de requerirlo, copie las plantillas disponibles para las asignaturas que hagan falta. Por ejemplo si en primero de primaria falta una asignatura con identificación `servicio`:

       cd planest/bprimaria/1
       cp castellano.cla servicio.cla
       cp castellano.sec servicio.sec

   Para verificar los archivos de clasificaciones y secuencia emplee la herramienta repchq y revise instrucciones en el manual de `repasa` (ver [[repasa]]).

7. Modifique el modelo de plan de estudios[2] disponible en `planest/2012/col.planest` (dividido en los archivos `planest/2012/g1.planest`, `planest/2012/g2.planest` y así sucesivamente hasta `planest/2012/g11.planest`). Este archivo debe referenciar los niveles, los grados (y cursos si los hay), las asignaturas, profesores y los archivos con logros e indicadores de las asignaturas de cada grado/curso.

   Después de editarlo verifíquelo con la herramienta sigchq.

8. Si en el computador en el que está la información tienen cuenta los profesores y quien administra `sigue` (que debe tener acceso a la cuenta root), es recomendable establecer permisos de los archivos que los profesores podrán editar. Vea la sección Sección 3.2, “Permisos”.

9. Opcional: inicie un módulo en un repositorio CVS para (1) respaldar la información, (2) mantener información histórica más completa[3] y (3) facilitar trabajo en grupo (por ejemplo cada profesor podría trabajar su propia copia del plan de estudios). Puede basarse en el ejemplo presentado en la sección "Consideraciones sobre el control de versiones" del manual de `repasa` (ver [[repasa]]). Sugerimos tener una sola copia local (digamos en `/var/nuestra-escuela`) que sea editada por todos los profesores empleando permisos. Después de ediciones es recomendable actualizar el repositorio y cada vez que se cierre un periodo es recomendable agregar una marca a todo el repositorio.

### 3.1. Inicialización automática de datos de estudiantes y profesores

#### 3.1.1. A partir de usuarios y grupos

Si todos los estudiantes tienen login en un computador o red tipo Unix y todos pertenecen a un grupo (digamos `estudiante`), la inicialización de datos para estudiantes/profesores puede automatizarse extrayendo los datos del archivo `/etc/passwd`. Si los profesores y estudiantes tienen cuentas pero aún no ha creado grupos se sugiere que lo haga, por ejemplo:

    groupadd -g 1102 profesor
    groupadd -g 1101 estudiante

Para eso se sugiere que en el campo GECOS de cada estudiante se emplee como nombre (i.e antes de la primera coma): ``nombres` - `apellidos` - `grado` - `fecha-nacimiento`` Información que puede ser modificada posteriormente con el programa `chfn` (el cual puede adaptarse para que lea y organice la información siguiendo la convención propuesta).

Para crear directorios y archivos `datos.ind` a partir de la información en `/etc/passwd` puede emplear el script `passwd2est.awk` el cual se ejecuta desde el directorio creado por sigue-colegio.sh así:

    	  cd /var/nuestra-escuela
    	  GID=1101 ANIO=2012 awk -f /usr/local/share/sigue/herram/passwd2est.awk /etc/passwd

siendo 1101 la identificación del grupo `estudiante`. Este script extraerá la información de usuarios del grupo 1101 y creará un directorio por cada año de nacimiento y dentro de cada uno de estos directorios para cada estudiante que haya nacido ese año con el login como nombre y con el archivos `datos.ind`. Así mismo este script creará los archivos de los grados en el directorio `grupo`, en el subdirectorio del año 2012.

| Aviso
passwd2est.awk borrará información ya existente. En particular si existía un archivo para cada grado, la información será remplazada por la que este script extraiga.

De forma análoga puede extraerse la información de profesores con el script passwd2prof.awk, por ejemplo si el grupo de profesores tuviera identificación 1102:

    cd /var/nuestra-escuela
    GID=1102 awk -f /usr/local/share/sigue/herram/passwd2prof.awk /etc/passwd

El campo GECOS de profesores debe tener la misma sintaxis del sugerido para estudiantes (el grado no será tenido en cuenta).

También es posible a partir de un archivo para grupos que referencie archivos de individuo con Nombres, Apellidos, FechaNacimiento y login, generar una secuencia de comandos que cree las cuentas. Para esto puede emplear o adaptar la hoja de estilo `xslt/grp2debuser`, la cual genera comandos con la sintaxis requerida en sistemas Linux/Debian y recibe como parámetros el grupo al que perteneceran los usuarios y opcionalmente el grado:

    cd grupo/2002
    xsltproc --catalogs --stringparam grupo profesor \\
      /usr/local/share/sigue/xslt/grp2debuser.xsl profesores.grp

#### 3.1.2. A partir de un listado en formato CSV

Si no ha creado cuentas para profesores ni estudiantes, puede generar los archivos para sigue y scripts para crear cuentas usando `herram/lista2est.awk` y `herram/lista2prof.awk`

### 3.2. Permisos

Sugerimos que cada profesor tenga una cuenta en el computador donde está la información y que exista un grupo `profesor` al cual pertenezcan sólo los profesores. De ser así puede generar el archivo `perm.sh` que establece permisos y propietarios para limitar posibilidad de ver y editar archivos con plan de estudios y archivos de progreso, siguiendo algunas recomendaciones que al respecto se presentan en el manual de `repasa` (ver [repasa]).

El script `planest/2012/perm.sh` se genera con una hoja de estilo XSLT, a partir del plan de estudios `planest/2012/col.planest`. Genérelo cada vez que modifique el plan de estudios con:

    cd planest/2012/
    export SGML_CATALOG_FILES=/usr/local/share/xml/structio/catalog
    xsltproc --catalogs /usr/local/share/sigue/xslt/planest2perm.xsl col.planest > perm.sh

o bien con el script `planest/creaperm.sh` :

    cd planest/2012
    ../creaperm.sh

El script generado `perm.sh` establecerá propietarios y permisos de los archivos del plan de estudios referenciados en `col.planest`, así como los archivos de progreso de estudiantes que estén en grados referenciados en `col.planest`, dando permiso de escritura a cada profesor sólo en los archivos del plan de estudio que maneja y sólo en los archivos de progreso de los estudiantes que orienta. El script `perm.sh` debe ser ejecutado desde la cuenta `root`. Este script creará archivos de secuencia y clasificación del plan de estudio que puedan hacer falta. Si el plan de estudio tiene definido un login de quien lo maneje, este script establecerá permisos para manejar el plan de estudio solo a ese usuario.

Una vez haya generado `planest/2012/perm.sh` puede modificar propietarios y permisos de los diversos archivos y directorios así:

    cd /var/nuestra-escuela
    chgrp -R profesor .
    chmod -R o-rwx .
    find . -type d -exec chmod gu+x {} ";"
    cd planest/2012
    . ./perm.sh

La primera vez que ejecute perm.sh aparecerán varios errores porque los archivos de progreso no se han creado. Estos archivos serán creados cuando ejecute por primera vez iniperiodo, como se explica en Sección 4.3, “Administración de valoraciones”

### 3.3. Personalización

Es necesario personalizar `sigue` de acuerdo a los planes que realizó (ver Sección 2, “Planeando el uso de sigue” ) en el archivo `/var/nuestra-escuela/planest/param.sh` editelo y configure:

- Listado de valoraciones que indican indicador pendiente (o perdido). En la variable `pendientes` separando una de otra con punto y coma (;).

- Valoración que se pondrá por defecto (antes de que el profesor ingrese valoraciones). En la variable `valdef`

[1] Todos los scripts se han implementado suponiendo que las rutas son relativas a ese directorio. Si se desea podría asumirse una convención diferente y emplear la opción `-D` soportada por las herramientas de `sigue` (que permite especificar uno o más directorios en los cuales abrir archivos cuya ruta sea relativa).

[2] El modelo de plan de estudios sigue las convenciones de niveles, grados y áreas obligatorias de la Ley 115 de 1994.

[3] Si no usa CVS empleando las convenciones que sugerimos sólo podrá mantener archivo histórico del estado del colegio al final de cada año (por ejemplo para imprimir reportes finales de años anteriores). Si emplea CVS y una política de actualización cada periodo, mantendrá archivo histórico del estado del colegio al final de cada periodo (por ejemplo para imprimir reportes de periodos de años anteriores).

Anterior | Subir | Siguiente
2. Planeando el uso de sigue | Inicio | 4. Administración de la información del colegio