Los pasos finales en nuestro esfuerzo para hacer que el sitio Web para "FC Bigfeet" sea funcional es ver el mantenimiento distribuido – un requisito fundamental a un CMS.
Ya hemos discutido la diferencia entre los usuarios de “frontend” y “backend” y como estos últimos se localizan en la raíz del árbol de páginas:
Ya existen tres usuarios para la interfaz de administrador. Veamos que podemos hacer con ellos. La mejor forma de hacer esto es terminando la sesión de administrador e iniciando una como uno de estos usuario, uno a la vez. Todas las contraseñas con "football" por el momento.
"christine"
Cuando inicia una sesión como "christine" verá lo siguiente cuando active el módulo “Page” para la edición:
¡Sólo una página! Sí, a "christine" sólo se le permite editar una página: "This week". Esta es su responsabilidad. No queremos que se ocupe de nada más – sólo de esta página.
Muy interesante – sólo se le permite ver la página de la que se encarga. No sólo refleja la administración de permisos sino que ayuda a que el sistema sea más intuitivo y amigable. Como podrá ver, no todos los módulos del “backend” se le muestran a Christine. El menú de la izquierda sólo contiene los módulos "Page" y "View" además de "Help" que no requiere permisos especiales.
"jonathan"
Ahora inicie la sesión como "jonathan":
Jonathan es el entrenador de la sección juvenil del club por lo que tiene relación con una sola sección. Tal como en el caso de Christine, sólo puede ver lo que le corresponde.
Contrariamente a Christine a la que se le dio acceso al módulo Filelist: si ve el detalle verá que hay una ligera diferencia con respecto al usuario "admin":
La carpeta raíz no es "fileadmin/" sino directamente la carpeta de imágenes.
Ahora deseamos saber la forma en que los usuarios "jonathan" y "christine" fueron configurados. ¿Cómo lo hizo el encargado? Bueno, ¡inicie la sesión como "admin" para averiguarlo!
Intente seleccionar "Edit" para los dos usuarios, "jonathan" y "christine". Verá que sus perfiles son "idénticos" en dos áreas: Tienen el mismo grupo de membresía (nº 1) y ambos tienen "DB mount" (nº 2, la página de inicio para sus arborescencias individuales). Pero a jonathan también se le permite accesos a los módulos "file" y "file_list" (nº 3) y, adicionalmente, se le asignó "Image Archive" (Archivar imágenes; nº 4). Esto tiene sentido si lo piensa puesto que estas características son las que notó cuando inicio la sesión como si fuese este usuario.
Montar archivos
La asignación para montar archivos asignados a "jonathan" está en relación a un simple registro creado en el árbol de páginas:
Si lo edita vera lo lógico de la configuración:
Simplemente, el directorio "Image_Archive/" (nº 1) se proporciona como PATH (camino) y el campo "BASE" se configura para para interpretar el camino relativo al directorio "fileadmin/" (nº 2). Así de simple. Cuando se configura la relación de Jonathan a este registro, tendrá ese directorio montado como su módulo Filelist.
Montar una DB (base de datos)
El concepto de montar una base de datos es muy sencillo de entender – básicamente consiste en apuntar dentro del árbol de páginas a la página que se desea sea la raíz que vea el usuario correspondiente. Como puede ver, no podría ser más fácil dar acceso a una parte determinada del árbol de páginas a un usuario - sólo configure el valor de los campos a la página correspondiente. O, ¿por qué no? a dos páginas. ¡Puede agregar tantos puntos de “montaje de bases de datos” como lo desee!
Permisos de la página
Tenga en cuenta que si el usuario no tiene permiso de acceso de lectura a la página o sub páginas donde se montan la base de datos, no importa lo que se haya configurado, ¡no funcionará! Entonces ¿qué es un acceso de lectura? Bueno, cada página tiene una configuración de permiso de acceso tal como en un sistema de archivos de un servidor UNIX – hay un usuario propietario, un grupo propietario y luego permisos de configuración para cada una de las cinco categorías: leer la página, editarla, borrarla, crear contenido para la página y sub páginas. Normalmente la configuración predefinida es suficiente y al utilizar el montaje de base de datos para asignar el acceso se facilita la tarea. Si tiene problemas, cambie todos los permisos a “on” (activos) - deberá ver que la línea respectiva se llena de asteriscos verdes (vea la imagen inferior). Claro está, si de verdad quiere saber el detalle de todo esto tendrá que consultar el documento “Inside TYPO3” – en él obtendrá una descripción detallada del proceso.
Probablemente la mejor forma de mostrarle cómo configurar los permisos sea viendo los permisos activos dentro del árbol de páginas. Esto se hace a partir del módulo "Access" (Acceso).
Cuando analice el propietario de las páginas podrá ver que varias de ellas pertenecen a "jonathan". Probablemente haya sido el creador. Cuando crea una página, automáticamente se vuelve el propietario de ella.
El punto importante es que el grupo "GENERAL" es el propietario de las páginas a las que Jonathan y Christine tienen acceso – y puesto que ambos son miembros de este grupo, también tienen acceso a las mismas páginas (sin embargo siempre están restringidos a trabajar con sus propias bases de datos montadas). La única acción que no pueden realizar - por lo menos "christine" que no es la propietaria de la página "This week" – es borrarla siendo miembro del grupo GENERAL. Puede ver esto cuando hace clic sobre uno de los lápices:
Como puede ver, la opción "Delete page" (borrar página) no está activa para el grupo propietario de una de estas páginas. Puede cambiar la opción si requiere que Christine la pueda borrar – pero probablemente no sea una buena idea hacerlo. De hecho, quizá deba restringir aún más los derechos de acceso no permitiéndole crear páginas ni editar el título de las mismas:
El resultado se observa en esta imagen de los permisos disponibles:
Validación de la configuración
Usando el módulo "User Admin" puede ahora validar que "christine" tiene los permisos correctos para esta página:
Podrá ver de inmediato los permisos combinados de este usuario:
Las primeras dos asteriscos verdes significan "Read page" (leer página) y "New content on page" (nuevo contenido en la página) – el asterisco rojo significa "no puede editar, borrar o crear nuevas páginas".
La misma vista para jonathan podría ser:
Esto indica claramente lo que ya esperábamos – controla el montaje de archivos y del sitio Web como ya habíamos experimentado anteriormente. Sin embargo, Jonathan no puede borrar la página principal "Youth Section".
El módulo de administración de usuarios “User Admin” es una herramienta importante para evaluar la configuración de los usuarios, compararlos, etc. Es indispensable cuando se tienen muchos usuarios y se quiere asegurar el control sobre sus derechos.
Echemos un vistazo al grupo GENERAL al cual pertenecen "jonathan" y "christine" - ¿qué hay en él?
El punto importante a notar es "Include Access Lists" (incluir lista de acceso) puesto que la razón por la cual tenemos toda esa lista de opciones. Además de aquellas que pertenecen al grupo también encontraremos las de montaje de bases de datos y archivos que se aplican a todos los usuarios que son miembros de este grupo.
Módulos
Al analizar la lista de accesos notará qué (nº 1) la membresía a este grupo no garantiza el acceso al módulo “Web”, “Page” y “List” (desgraciadamente requerirá saber que estos códigos son los equivalentes de los nombres que ya sabe a partir del menú...).
Tablas (modificar)
Como segundo punto se muestran aquellas tablas que "jonathan" y "christine" pueden editar y listar (nº 2). ¿Es esto cierto? ¿Pueden sólo ver las páginas y las tablas de contenido de las páginas? Intentemos iniciar la sesión como "jonathan" y crear un nuevo elemento:
Muy interesante – sólo se puede crear páginas y elementos de contenido de páginas. No es posible crear ni usuarios, ni elementos de libro de visitas o de noticias. Sólo páginas y elementos de contenido.
¿Por qué esto? Bueno, puesto no deseamos asignar a Jonathan esta tarea. ¡El no está a cargo de las noticias!
Tipos de páginas
El campo (nº 3) dicta que tipo de páginas pueden seleccionar Jonathan y Christine - o los miembros del grupo GENERAL. Hagamos de nuevo la "prueba Jonathan" y tratemos de editar el encabezado de una página:
Intentemos crear sysFolder iniciando la sesión como Jonathans. ¿Tendremos éxito?
No. Lo sentimos, Jonathan no puede hacerlo.
Permitir campos de exclusión
Esto es una larga lista. Pero importante y ¡poderosa! Pero se requiere de un poco de fondo para entenderlo:
Cuando las tablas y campos de configuran en TYPO3 (en la matriz global interna de PHP, $TCA) algunos campos se marcan como "excludeFields" (campos de exclusión). Esto significa que los campos no pueden editarse a menos de que se otorgue un permiso especial – esto es lo que hace la lista "Allowed Excludefields" list does!
Esto es fácil de entender si echamos un vistazo a lo que "jonathan" puede ver cuando edita el encabezado de la página:
No hay una gran cantidad de campos. Particularmente si lo compara con el usuario "admin":
La razón de la diferencia es que
a) La mayoría de los campos en la tabla de páginas se marcan como "excludeFields" – puesto que no pueden editarse de forma predefinida - y
b) Que el grupo GENERAL sólo permite acceder a algunos de estos "excludeFields" – de acuerdo a la lista que incluye los campos "Type", "Hide page", "Start" y "Stop" (Tipo, Ocultar página, inicio, fin).
De hecho, podemos estar contentos que Jonathan pueda editar los campos "Type", "Hide page", "Start" y "Stop" puesto que no podría hacerlo si el grupo GENERAL no asignase esos permisos en particular.
¿Bloqueo de registros?
Quizá notó que en el proceso de iniciar o cerrar la sesión de algunos usuarios aparece un icono como el que se muestra en la siguiente imagen:
Esto sólo es una advertencia al usuario para indicarle que alguien más está trabajando en la página – lo registros no están verdaderamente bloqueados en TYPO3 puesto que se permite el acceso a los mismos a los usuarios que tienen los derechos suficientes. Esta advertencia es para evitar conflictos al modificar una misma página.
Bueno, con todo nuestro conocimiento ya podemos crear un nuevo usuario que se encargará del segundo sitio Web en nuestra base de datos – el sitio “Fan Club”.
Paso 1: Crear el usuario
Los usuarios son sólo registros – cree el registro "Backend user" (usuario de interfaz de administración):
Proporcione el nombre del usuario y la contraseña (football), membresía a un grupo y el montaje de DB (base de datos):
Guarde el nuevo usuario "phil".
Paso 2: Verifique el nuevo usuario
Dentro del módulo “User Admin” (administración de usuarios) , verifique que se le concedió a “phil” el acceso adecuado al sitio "Fan Club":
¡Uy! Un error típico. No existen los permisos de acceso a la página. Pero esto es fácil a cambiar – vaya al módulo “Access”:
Paso 3: Determinar los permisos correctos para la página
Edite los permisos para la página raíz del sitio:
Y ahora configure el propietario y el grupo y asegúrese de que se selecciona la configuración recursiva – esto aplica los cambios de la página raíz a todos los subniveles hasta el primero de ellos:
Ya tenemos la configuración adecuada:
Paso 4: Comprobación final
Dentro del módulo "User Admin" verifique la configuración final de "phil":
Paso 5: Probar el nuevo usuario
Finalmente inicie la sesión como "phil". Un buen truco es usar el botón "SU" (Switch User; cambiar de usuario) dentro del módulo “User Admin” - esto cierra la sesión activa y la abre como el nuevo usuario (claro está que esto sólo funciona para los usuarios "admin"...):
Parece ser que el nuevo usuario "phil" está bien configurado – ¡tiene acceso a las páginas del nuevo sitio Web!
Así de fácil.