Cómo crear un nuevo tipo de contenido¶
En esta parte explicaremos cómo crear un tipo de contenido nuevo en Sidelab.
Creación de un nuevo tipo de contenido.¶
- Para ello iremos a Administer → Content management → Content types

- Una vez dentro veremos todos los tipos de contenido que hay en la página ; para añadir uno
nuevo, haremos click sobre el botón Add Content Type.

- A continuación rellenaremos la información básica del nuevo tipo de contenido :
- Name. El nombre visible del nuevo tipo de dato.
- Type. El nombre interno del nuevo tipo de dato ; éste no es tan importante,
aunque sí obligatorio, por lo que escribiremos un nombre que al menos
sea intuitivo.
- Description. La descripción del nuevo tipo de dato ; no es obligatorio.

- Una vez cumplimentados todos los campos, guardaremos nuestro nuevo tipo de contenido.

Creación de campos para nuestro nuevo tipo de contenido¶
- Cuando salvemos el tipo de contenido, nos volverá a aparecer el listado de tipos de contenido;
En esta lista buscaremos nuestro nuevo tipo de contenido, y haremos click en manage fields
para añadirle campos nuevos, ya que por defecto, vendrá con unos campos básicos.

Estos son los campos básicos con los que nos encontraremos:

- Justo debajo de la lista de campos del nuevo tipo de dato, nos encontraremos
con algo parecido a esto :
- Estos campos nos muestran los tipos de campos que podemos añadir :
- Existing field^. Podemos reutilizar campos ya creados en otros tipos de datos: lo seleccionaremos de la lista Field to share y le pondremos su propio nombre.
- New field^. Un nuevo campo: escribiremos el nombre leible, el nombre interno, y a continuación abriremos el menú desplegable “Select a field type” ,
y tendremos los siguientes tipos de campos disponibles :
- Decimal. Un número decimal.
- File. Un archivo.
- Float. Un número en coma flotante. # Integer. Un número entero. # Node reference. Una referencia a otro nodo de Sidelab (page, asignatura...).
- Text. Un texto.
- User reference. Una referencia a otro usuario de Sidelab.
- New group. Una nueva agrupación de campos.
^: El siguiente menú desplegable que nos encontraremos, ya sea creando un campo ya existente o uno nuevo, es el que nos
permitirá elegir el formato del formulario con el que editaremos el nuevo campo. Las opciones que veremos variarán
según el tipo de campo que estemos creando :
- Text field. Una simple caja de texto.
- Select list. Una lista con diferentes valores a elegir (que habrá que definir).
- Check boxes / Radio buttons. Botones de selección, cuyos valores también
habrá que definir más adelante.
- Single on/off checkbox. Cajas de selección; sus valores también
habrá que definirlos más adelante.
- File upload / Image. Ambas posibilidades solo aparecen cuando elegimos un campo
de tipo File: escogeremos image si se trata de un archivo
de imagen, y File upload en caso contrario.
- Auto-complete text field. Caja de texto auto-completable ; este formato estará disponible
cuando vayamos a crear un campo de tipo User reference o Node reference.
- Una vez completado esto, haremos click en SAVE, y nuestro nuevo campo estará guardado, aunque aún quedarán por definir
los parámetros, diferentes según nuestra elección, de éste nuevo campo :- Texto de ayuda.

- Texto de ayuda.
- Estos campos nos muestran los tipos de campos que podemos añadir :
Es el texto que nos aparecerá como apoyo o explicación para ayudar al usuario a rellenar dicho campo.
- Valores permitidos.

Podremos definir los valores para los que está definido nuestro tipo de campo.
- Valor por defecto.

El valor que tendrá el campo antes de que el usuario lo modifique.
- Campo obligatorio.

Si lo marcamos, el usuario estará obligado a rellenar este campo si quiere continuar creando el contenido en cuestión.
- Número de posibles valores.

El número máximo de valores que un usuario puede escribir para este campo.
- Rango.

El intervalo en el que tiene que estar el valor introducido para el campo.
- Precisión.

El número de dígitos que se podrán introducir para un número decimal.
- Decimales.

El número de decimales que podrá tener un número decimal.
- Marcador de decimales.

El símbolo con el que indicaremos el comienzo de la parte decimal de un número.
- Prefijos y sufijos.


El listado obligatorio de prefijos y sufijos que habrá que introducir para un campo de tipo numérico.
- Restricciones del tamaño de archivo.
Las limitaciones de tamaño para los archivos que vayamos a subir a Sidelab.

Podremos definir :
- Tamaño máximo para un archivo.
Por defecto, serán 2 MB.
- Almacenamiento máximo por
cada nodo del sitio web.Ambos valores, se podrán expresar en:
- Bytes → Escribiremos el valor directamente (Ej. 512).
- KB → Escribiremos el valor seguido de una K (Ej. 80K).
- MB → Escribiremos el valor seguido de una M (Ej. 3M).
- Extensiones de archivo permitidas.
El listado de las extensiones autorizadas para los archivos
que subamos al website.
- Tipos de contenido que pueden ser referenciados.
Esta opción nos aparecerá cuando creemos un campo del
tipo User reference o Node reference ; indicaremos
qué tipos de nodos pueden ser referenciados por este
tipo de campo.
- Vista usada para los nodos referenciados.
Podremos elegir el tipo de vista con la que se mostrará
el tipo de nodo referenciado.
Creación de un menú con el que poder crear directamente una instancia del nuevo tipo de contenido¶
- En este apartado, explicaremos cómo podemos crear un menú ( o añadir a uno
ya existente ) un enlace para crear una instancia de nuestro nuevo tipo de
contenido: es decir, cómo añadir la opción "Crear nuevo <tipo de contenido creado>".
- Antes de empezar, tendremos que saber cuál es la url de la nueva opción para crear
contenido del nuevo tipo ; para ello iremos a Create content,posaremos el ratón
sobre el tipo de contenido elegido, y copiaremos la ruta de dicha opción con
el botón derecho del ratón y la opción Copiar la ruta del enlace.


- Para crear este nuevo menú, lo primero que haremos será irnos a
Administer → Content management → Menus.
Una vez estemos dentro, crearemos el menú, yendo a Administer → Menú → Add menú.

- Cumplimentaremos correctamente todos los campos que se nos piden para crear nuestro menú :

- El nombre con el que se guardará en el sistema, que no será visible.
- El título visible del menú.
- Una descripción opcional sobre el nuevo menú.
- Podemos dejar este último campo en blanco.
Al terminar guardaremos nuestro nuevo menú con el botón SAVE.
- Con el menú ya creado y guardado, podremos agregar enlaces a éste con la opción Add Item.

- Los únicos campos que debemos rellenar nosotros en nuestro nuevo elemento del menú son :
- Path. En él escribiremos la url completa del nuevo elemento del menú (aquí es
donde pegaremos la ruta del tipo de dato que copiamos al principio).
- Menú link title. El nombre con el que queremos que aparezca este elemento en el menú.
Para mantener la homogeneidad del sitio web, pondremos como nombre del link
“_Crear <tipo de contendido>_”.

- Path. En él escribiremos la url completa del nuevo elemento del menú (aquí es
- Cumplimentaremos correctamente todos los campos que se nos piden para crear nuestro menú :
Roles necesarios para la gestión de contenidos¶
- Aparte de los roles ya existentes en el sitio web, manager, zadmin, usuario autenticado, y usuario anónimo,
ha sido necesaria la creación de otros dos roles:- Miembro. Este rol de usuario puede crear artículos y PFCs, pero no puede crear
proyectos ni asignaturas.
- Editor. Este rol de usuario puede editar proyectos y PFCs, pero nada más,
no puede crear tipos de contenido salvo excepción^.
> ^ Un usuario con cualquiera de estos dos roles, puede crear contenido de tipo página
si pertenece a un micrositio organic group. - Miembro. Este rol de usuario puede crear artículos y PFCs, pero no puede crear
- Elementos añadidos.
Ha sido necesaria la creación de un nuevo menú de creación de contenidos para el rol de usuario miembro. Este nuevo menú permitirá a un miembro crear contenidos de tipo artículo y PFC. El rol de editor no verá este nuevo menú. Los roles de manager y zadmin seguirán viendo su menú de creación de contenidos, que tiene en adición las opciones de crear contenidos de tipo docencia ( asignatura, seminario y curso ), intrínseco a éstos desde la creación del sitio web. El rol de administrador también ve este menú.
Cómo hacer que todas las instancias de un tipo de contenido cuelguen de la misma url¶
Para hacer que cualquier instancia del mismo tipo de contenido cuelgue de una url con la misma estructura de dirección, tendremos que crear una nueva regla de alias.
- Para ello iremos a Administer → Site building → Url Aliases

- A continuación iremos a Automated alias settings → Node path settings.

- Lo siguiente que haremos será desplegar el menú

Este menú nos mostrará los diferentes patrones de creación de las direcciones url en el sitio web.

Elegiremos el patrón correspondiente, escribiendo los diferentes elementos de reemplazo de urls internas ; para conocer el nombre de estos elementos de reemplazo, dentro de este menú bajaremos hasta Repacement patterns, y desplegaremos una lista que contendrá todos los nombres de los elementos de reemplazo con los que organizar a nuestro gusto la url del tipo de contenido elegido.
- En el Ejemplo de la derecha, podemos observar la estructura de las urls de tipo Artículo y Docencia :

.
- Las páginas se mostrarán desde la ruta de la página principal, seguidas del nombre de su tipo de contenido ( [type] ), seguida del campo que indica el tipo de
docencia ([field_tipodocencia-raw] ) y seguidas del título de dicho contenido ( [title-raw] ).
- Así pues, una url de un contenido de tipo docencia, sería algo como “ https://localhost/docencia/cursos/eclipsegavab ”, por ejemplo.
Para que la nueva regla de creción de alias surja efecto, marcaremos la opción Bulk generate aliases for nodes that are not aliased , que nos generará automáticamente un nuevo alias para los nodos que no tuvieran una regla ya aplicada^.

- ^: Cuando creamos una nueva regla de creación de alias, el nuevo alias asignado a una url del sitio web aparecerá
en la lista de alias. Hay que tener en cuenta que si un contenido ya tenía asignado un alias, antes deberemos
eliminarlo de la lista si queremos que se le aplique la nueva regla, y se cree su nuevo alias.

Ejemplo de alias en la lista: 
- Para que la nueva regla se guarde correctamente haremos click en
.
- Nota.
Ha sido necesario modificar la regla de reemplazo [type]/[title-raw] por
[type]/[field_tipodocencia-raw]/[title-raw] al considerar que muestra con más exactitud
la estructura del organigrama de este tipo de contenido ( muestra también el tipo de docencia
del elemento : curso, seminario o asignatura ) .