Conceptos básicos

Proyectos

Dentro de Kanecode se pueden desarrollar múltiples proyectos. Cada uno de estos proyectos estará formado básicamente por una definición del modelo de datos con el que se trabaja (tablas, relaciones, etc...) y un conjunto de elementos que permiten el acceso o la gestión de esos datos de forma visual (zonas, páginas, secciones...)
Los diferentes elementos que forman un proyecto son privados, de forma que no se puede acceder a ellos desde otros proyectos.
De todos los proyectos desarrollados en Kanecode se debe seleccionar uno que sea el proyecto por defecto. Este proyecto será el que aparecerá por defecto al entrar en el sistema. Para poder entrar en el resto de proyectos se pueden definir varios dominios, y a qué proyecto se dirige cada uno de ellos.
Por ejemplo, si tenemos 2 proyectos llamados "intranet" y "portal", podemos definir que en el dominio "www.miempresa.com" se muestre directamente el proyecto "portal" y que en "intranet.miempresa.com" se muestre el proyecto "intranet".

Visibilidad

En Kanecode se define el acceso a las páginas o a las funcionalidades mediante los grupos de usuario. Todos los proyectos pueden tener varios grupos de usuarios, y cada usuario del sistema puede pertenecer a uno o varios de estos grupos. En función de esos grupos el usuario tendrá o no acceso a las diferentes páginas o funcionalidades del proyecto.
El desarrollador del proyecto es el encargado de asignar a qué grupos de usuarios pertenece cada usuario del proyecto, y que funcionalidades están accesibles para cada uno de estos grupos.

Jerarquía de Usuarios

En Kanecode hay diferentes tipos de usuarios:

* Administrador General
Existe un único administrador general que se encarga de la configuración del sistema. No puede desarrollar proyectos, únicamente puede configurarlos, definir las conexiones a las bases de datos de cada uno y gestionar los usuarios que pueden acceder a cada proyecto.

* Administradores de Proyectos
Son los usuarios con capacidad para desarrollar proyectos. Pueden acceder al entorno de administración de
Kanecode y crear todos los elementos necesarios del proyecto (tablas, paginas, grupos, usuarios, etc...)

* Usuarios Comunes
Son aquellos usuarios que tienen un login en el sistema (username/contraseña), y que pueden entrar en las zonas privadas de la aplicación, pero no pueden desarrollar proyectos. Dependiendo de las características del proyecto, pueden ser los encargados de editar los contenidos, los usuarios que se han registrado en un portal, los clientes de una extranet o bien todos los usuarios de una intranet, por ejemplo.
En función de los grupos de usuarios a los que pertenezcan, y de las funcionalidades que se hayan asignado a esos grupos tendrán más o menos privilegios sobre el sistema, pero nunca van a poder entrar en el entorno de administración para desarrollar.

* Usuario anónimo
Se trata de un único usuario especial que accede al contenido público de la aplicación, en el que Kanecode autentifica automáticamente a todos los usuarios que se conectan al servidor antes de que hayan introducido su login. Este usuario se usa para definir cuál es el contenido público de la aplicación, ya que absolutamente todas las conexiones nuevas que se reciban se identifican con el usuario anónimo. Es decir, aquellos contenidos o funcionalidades que se publiquen para los grupos de usuarios a los que pertenece el usuario anónimo serán los contenidos o funcionalidades públicos.

* Zonas, Páginas y Secciones
En prácticamente todas las aplicaciones web se puede identificar una parte de la pantalla que es fija, y otra parte que cambia en función de la página a la que se accede. Por ejemplo, las cabeceras o los menús laterales suelen mantenerse igual durante toda la navegación a pesar de que la parte interna de la página cambie completamente.
Es también bastante común que dentro de un mismo proyecto (normalmente los portales), se definan distintos menús y cabeceras para diferentes partes de la aplicación. Suelen ser agrupaciones temáticas o en función del tipo de contenido que presentan. Por ejemplo, un portal puede tener una parte de Noticias, otra de Deportes y una tercera de Juegos.
Todas estas partes normalmente tendrán un menú diferente y una cabecera o estilos diferentes, pero mientras el usuario está navegando por la parte de "Deportes" la estructura de la cabecera o los menús no variarán.
En Kanecode, estas particiones del proyecto se denominan Zonas. Las zonas normalmente se encargan de mostrar la cabecera y el menú o los elementos que aparecen en las columnas laterales. El resto de elementos que se muestran en el navegador forman la Página.

708

Las Páginas de Kanecode se dividen en Secciones. Las secciones pueden ser de diversos tipos, cada uno de los cuales está diseñado para proporcionar una funcionalidad específica. Por ejemplo, hay secciones que permiten mostrar información de la base de datos, otras sirven para crear gráficas, formularios, etc...
Las Zonas únicamente se definen seleccionando que parte del menú se debe mostrar y la página que se mostrará inicialmente (al entrar en la zona). El resto de páginas que se mostrarán dentro de la zona dependerá de los enlaces del menú o de las propias páginas que se están viendo en cada momento. Opcionalmente también se puede modificar la cabecera de la zona para que el usuario pueda reconocer donde se encuentra.
Se puede entender la zona como el contexto en el que se muestran las páginas. Durante la navegación, un usuario siempre estará visualizando una página dentro de una zona concreta. Por eso es necesario marcar una de las zonas del proyecto como “inicial”. Esta zona será la que se verá al entrar en la aplicación, de forma que la “home” del proyecto será la página principal de la zona inicial.
La estructura de una zona por defecto es siempre en forma de L invertida (Fig. 1), pero se puede modificar para darle el aspecto que se quiera. Las zonas se pueden diseñar con secciones (igual que las secciones de las páginas), con lo que se puede construir la estructura de la zona colocando las diferentes secciones en el lugar necesario. Simplemente hay que tener en cuenta que se debe dejar una celda de la estructura de la zona libre, que será el lugar donde se mostrará la página.

705