Curso de Symfony 2 (II): Instalación y Configuración

Por lo tanto los requisitos de instalación para este tutorial son lo siguientes:

Instalación de XAMPP

A continuación  seguimos los pasos de este tutorial del ministerio de educación. O bien podemos descargarnos el ejecutable autoinstalable con asistente, el típico .exe de instalación de siguiente, siguiente… Finalizar.

Una vez instalado XAMPP, digamos en el directorio c:xampp, por poner un ejemplo, abrimos la carpeta con el explorador de carpetas.
Veremos un ejecutable llamado: xampp-control.exe , lo ejecutamos con un doble click y nos parecerá la pantalla de manejo de servidores de XAMPP.
Cada vez que queramos que cualqueir aplicación web funcione será necesario tener arancado los servidores Apache y Mysql, para esto basta con pulsar sobre los iconos Start, que están al lado de Apache primero y luego de Mysql.
Si todo ha ido bien, al lado del nombre de Apache y Mysql debería apareces un etiqueta con fondo verde con el texto “Running”.
Para verificar la instalación de XAMPP, bastará con entrar a la siguiente dirección URL, a través de nuestro navegador favorito: http://localhost/phpmyadmin
Si la instalación y el arranque de los servicios ha sido correcta, Deberíamos ver el listado de bases de datos disponibles en Mysql desde el interfaz web de PhpMyAdmin.
Los datos de conexión a Mysql por defecto en la instalación de Mysql en XAMPP son los siguientes:

  • Servidor: localhost
  • Puerto: 3306
  • Usuario: root
  • Contraseña: vacía (significa que no tiene contraseña ni es necesario introducirla para conectar)

Colocación del php.exe en el Path

En Windows, para poder ejecutar los comandos de Symfony 2, es necesario poner la ruta donde se encuentra el fichero php.exe en la variable de entorno Path. Esta configuración requiere habitualmente permisos de administración.
Para ello pulsa el botón derecho sobre el Botón o Icono de Equipo, selecciona propiedades. Aparecerá la pantalla de configuración del sistema, en Windows 7 se llama Sistema, pulsamos en “Configuración avanzada del sistema”, pulsamos en el botón “Variables de entorno…”, en el apartado de Variables de sistema buscamos la variable “Path”, la seleccionamos y pulsamos sobre el botón “Editar…” y en el valor añadirmos la ruta al directorio de instalación de PHP de XAMPP, en el caso de la instalación sin modificarlas rutas, es “c:xamppphp”. Pulsamos en Aceptar y otra vez en aceptar y ya estará configurada la variable Path correctamente. De esta manera podremos ejecutar el php.exe desde cualquier directorio.

Conclusiones

Con esto tenemos todo lo necesario para poder instalar Symfony 2 en nuestro ordenador, más adelante detallaremos los pasos necesarios para su subida a producción, o dicho de otra forma, a un hosting para publicar el sitio web en Internet.

 Instalación de Symfony 2

Descargamos el fichero zip y lo descomprimimos en la carpeta htdocs del directorio de instalación de XAMPP, si hemos dejado las rutas de instalación por defecto, deberíamos descomprimirlo en C:xampphtdocs.
Renombramos la carpeta con el nombre s2 para facilitar la escritura de las URL’s y los directorios.
De esta manera deberíamos tener accesible esa carpeta a través de la URL: http://localhost/s2
Si miramos el contenido de la carpeta s2 nos encontraremos el siguiente contenido:

  • Diretorio app: donde se guardan las configuraciones de las aplicaciones
  • Directorio bin: donde se encuentran los ejecutables
  • Directorio src: donde se almacena el código fuente de las aplicaciones
  • Directorio Vendor: donde se almacenan los bundles del framework de Symfony y otros componentes
  • Directorio web: donde se colocan los ficheros que deben ser accesibles desde URL
  • deps: fichero de dependencias
  • deps.lock: fichero de versiones de dependencias
  • License: fichero de licencia
  • Readme.md: fichero de instrucciones de instalación y configuración básicas

    Creando la Base de datos inicial

    Esta tarea podemos realizarla desde el PhpMyAdmin a través de la URL: http://localhost/phpmyadmin
    Una vez abierto el navegador en esa dirección, aparecerá el listado de bases de datos, similar al siguiente:

    Pulsamos sobre el Icono “Bases de Datos” en el menu superior de PhpMyAdmin, aparecerá el formulario de creación de bases de datos, le damos un nombre, por ejemplo “s2” y pulsamos en el boton “Crear”.

    Deberíamos ver un mensaje que nos muestra que la base de datos ha sido creada satisfactoriamente.

    Los datos de configuración de la base de datos que hemos creado son:

    • Servidor: localhost
    • Puerto: 3306
    • Usuario: root
    • Contraseña: vacía (significa que no tiene contraseña ni es necesario introducirla para conectar)
    • Base de datos: s2

     Configuración de una aplicación Symfony 2

    A continuación, entramos en la URL: http://localhost/s2/web/config.php
    Entonces veremos una pantalla similar a la siguiente…

    Pulsaremos sobre el enlace “Configure yout Symfony Application online”, si todo ha ido bien, deberíamos ver una pantalla de configuración de la base de datos de la nueva aplicación, similar a la siguiente…

     Introducimos los datos de conexión a la BBDD que hemos gestionado con el PhpMyAdmin y pulsamos en el botón “Next Step”.
    A continuación veremos la pantalla de configuración de una cadena Secret, similar a la siguiente…

    simplemente dejaremos el valor que nos ha generado y pulsamos en el botón “Next Step”. Si todo ha ido correcto, deberíamos ver una pantalla similar a la siguiente…

    donde nos felicita porque la instalación se ha realizado satisfactoriamente y nos hace un resumen de las configuraciones que ha colocado a la aplicación. Si deseamos cambiar el fichero de configuración donde se almacenan estos parámetros deberemos ir al directorio app/config y editar el fichero parameters.yml, por ejemplo para cambiar el idioma, el parámetro “locale” en el fichero, y poner “es” en vez de “en”.
    Para terminar con la instalación, pulsaremos en el enlace “Go to Wellcome Page” o la URL: http://localhost/s2/web/app_dev.php/
    Con esto entraremos al entorno de desarrollo de la aplicación y veremos una página similar a la siguiente…

    Si somos capaces de ver esta página, significa que la aplicación Symfony se ha generadoy configurado satisfactoriamente y ya podemos pasar al desarrollo de nuestra aplicación web.

    Licencia Creative Commons

    Curso de Symfony 2 (I): Conceptos fundamentales

    Este conjunto de tutoriales tratarán sobre el desarrollo de aplicaciones web con Symfony 2.0
    En este primer tutorial trataremos de explicar los conceptos fundamentales del Framework de Symfony 2.0, para que así las siguientes entregas se puedan llegar a entender mucho más facilmente.

    El glosario de términos que utilizaremos son los siguientes:

    • HTTP/S: protocolo principal de la web.
    • Petición: información enviada desde el cliente HTTP al servidor.
    • URL: Parte de la petición HTTP que define entre otras cosas el servidor, la ruta el fichero y un conjunto de parámetros.
    • Respuesta: información devuelta por parte del servidor al cliente.
    • Base de Datos: fuente de información estructurada en tablas, campos y relaciones.
    • Modelo-Vista-Controlador: patrón de diseño de aplciaciones de tres capas.
    • Modelo: conjunto de clases y objetos que manejan la conexión y las consultas a la base de datos.
    • Control: conjunto de clases que gestionan y procesan la información y la lógica de negocio de una aplicación.
    • Vista: conjunto de ficheros que componen el apartado visual de una aplicación, con lo que interactúa el usuario.
    • Controlador Principal Web: Clase principal que captura las peticiones entrantes de una aplicación web y pasa el control a las distintas funcionalidades de la aplicación web.
    • Módulo: agrupación de funcionalidades de una aplicación. Una aplicación suele contener distintos módulos. Por ejemplo, la gestión de clientes.
    • Acción: funcionalidad específica de un módulo, por ejemplo, dar de alta un cliente.
    • Plantilla: fichero que permite la generación dinámica de una vista de un módulo, por ejemplo la vista que presenta la información de un cliente.
    • Controlador de Módulo: Clase que implementa las funcionalidades del Control de un Módulo.
    • Bundle o Componente:  conjunto de funcionalidades de alto nivel, podría decirse que es un conjunto de módulos.
    • Framework: conjunto de herramientas y bibliotecas que facilitan la tarea del programados a la hora de desarrollar aplicaciones.

    Flujo de la gestión de una petición con Symfony 2

    Una de las cuestiones principales a la hora de entender un nuevo framework web, es la manera en la cual se gestionan las peticiones web internamente, de cara a comprender qué pasos van dándose hasta la resolución de una petición.
    Gracias al libro de Symfony 2 disponemos de un gráfico revelador respecto al funcionamiento interno de Symfony 2.

    Como puede observarse en este diagrama, las distintas peticiones son gestionadas por un Controlador Principal de la Aplicación Web o Control de la Aplicación. Como sucede en otros frameworks, como Spring, todas las peticiones son despachadas por este controlador principal, el cual trata de averiguar que parte de la aplicación debe ser ejecutada para resolver la petición.
    La localización de la funcionalidad se realiza a través de un sistema de routing, o mapping, como quiera verse, en el que se relacionan las distintas direcciones URL con las funcionalidades existentes en la aplicación.
    Una vez localizada la funcionalidad a ejecutar, se cede el control a un Controlador de módulo el cual ejecuta la Acción específica que resolverá la petición generando una Respuesta.

    Componentes principales

    Los componentes principales de Symfony 2 son los siguientes:

    • HttpFundation: contiene las clases Request y Response, entre otras
    • Routing: sistema de enrutado de peticiones
    • Form: clases de manejo de formularios y envíos
    • Validator: clases de validación de datos
    • ClassLoader: sistema de carga de clases
    • Templating: sistema de gestión de plantillas
    • Security: herramientas de seguridad
    • Translation: sistema de traducciones

    Referencias: 

    Symfony 2.0 Book: http://symfony.com/doc/current/book/index.html

    Licencia Creative Commons

    Curso de Drupal 7 (IX): Módulos

    Los módulos en Drupal tienen variadas funciones, tales como añadir nuevos tipos de datos, nuevos tipos de contenido y en general añadir nuevas funcionalidades al sitio web.
    Los módulos principales de Drupal se agrupan en una categoría denominada Núcleo (Core), que son aquellos módulos incluidos con la distribución principal de Drupal.

    Dependencias

     Las dependecias son una manera de plantear los requisitos de los módulos. Como toda pieza de software, los módulos tienen requisitos, o dicho de otro modo, dependen de la existencia de otras piezas de software, en el caso de los módulos, otros módulos que estén instalados y activados para permitir su correcto funcionamiento.
    En la mayor parte de las descripciones de los módulos podemos encontrar debajo del texto descriptivo de la funcionalidad del módulo, un conjunto de listados de módulos que antuan bajo el sistema de dependencias de Drupal.
    De esta manera podemos ver de una manera bastante sencilla, que módulos son necesarios para que un módulo pueda activarse y usarse con normalidad, estos módulos se presentarán en la etiqueta “Necesita”.
    Por otra parte puede pasar que un módulo sea dependencia de otros módulos, es decir, que sea necesario que esté activado y configurado para poder activar otros módulos. Estos módulos dependientes del nuestro se presentarán bajo la etiqueta “Necesitado por”.
    Por ejemplo en el listado inicial de módulos, después de realizar la instalación Standard, puede observarse que el módulo “Comment”, que es el que se encarga de gestionar los comentarios sobre los contenidos del sitio web, “Necesita” para poder funcionar de que los módulos “Text”, “Field” y “Field SQL Storage” estén instalados y activados. Mientras que los módulos “Forum” y Tracker dependen de que el módulo “Comment”esté instalado y configurado.

    Listado de módulos

    Para ver aquellos módulos instalados en nuestro sitio web debemos pulsar en el enlace “Módulos” dentro de la configuración o en la barra de tareas,así veremos un lisado similar al siguiente…


    Como puede observarse accedemos directamente al listado de módulos instalador en nuestro sitio web. Los módulos están estructurados por categorías principales, en este caso en concreto, sólo existe una categoría que es la de Núcleo (Core).
    En cada categoría pueden observarse los siguientes campos:

    • Activado: Checkbox que nos permite activar o desactivar un determinado módulo. si se activa podrán usarse las funcionalidades que añade dicho módulo, sino no.
    • Nombre.
    • Versión.
    • Descripción:
    • Operaciones.

    Las operaciones disponibles a través de este listado son las siguientes:

    • Activar Desactivar un módulo.
    •  Instalar nuevo módulo.
    • Ayuda.
    • Permisos: así podremos configurar los permisos del sitio web respecto a los roles dados de alta. Ver el punto VII del curso.
    • Configurar: enlace a la configuración del módulo.Como cada módulo es una funcionalidad distinta las capacidades configurables de cada módulo varían de uno a otro. la mayor parte de los módulos Núcleo de Drupal, con configurables, de una u otra manera a través de la barra de tareas.

    Activar/desactivar módulos

    Se realiza mediante la checkbox presente en cada fila de la tabla del lisatdo de módulos, luego pulsamos en “Guardar configuración”, cuando hayamos terminado de  activar o desactivar módulos. Hay determinadas checkbox que no pueden activarse o desactivarse dentro de en Nucleo. normalmente suele pasar que dichos módulos son los mínimos para el funcionamiento de Drupal.
    La activación de módulos instalados requerirá que los módulos de los que depende el módulo que vayamos a activar, estén instalados y activados.

    Localización de Módulos

    Una de las tareas fundamentales en la generación de un sitio web con drupal es la localización de módulos que cubran los requisitos que tenemos de construcción para el sitio web. La fuente principal para localizar los módulos escritos para drupal es la propia web de Drupal: http://drupal.org/project/modules tal y como se observa en la siguiente captura…

    como puede verse, la localización de los módulos en muy similar a la de la localización de los Temas (o Themes).
    Disponemos de un buscador donde podemos filtrar por:

    • Categoría del módulo: donde indicamos la funcionalidad principal que buscamos para el módulo.
    • Filtar por compatibilidad: así podemos selccionar la versión de drupal para la que queremos encontrar un módulo.
    • Estado del proyecto: dependiendo del estado actual de madurez del proyecto
    • Cuadro de texto: para buscar por el nombre o la descripción del módulo.
    • Ordenar: de esta manera podemos ordenar los resultados dependiendo de su relevancia, número de instalaciones, etc…

    De esta manera podemos observar muy fácilmente cuales son los 10 módulos más usados para la versión 7 de drupal:

    • Views: permite hacer búsquedas sobre contenidos y modificar la presentación de los mismos.
    • Token: permite colocar códigos en los contenidos que tengan una representación de un dato.
    • Pathauto: permite  generar automáticamente los paths para los contenidos principales de drupal.
    • Chaos tool suite: conjunto de apis que permiten la gestión de páginas como paneles.
    • CCK: permite añadir campos personalizados a contenidos.
    • Administration Menu: mejora del menú de administración.
    • Wysiwyg: permite integrar fácilmente un editor visual de código HTML.
    • Date: permite manejar campos de fecha en los contenidos.
    • Google Analytics: sistema de integración de google analytics en Drupal.

    Página de un módulo

    Usando como ejemplo la página del módulo “IMCE” explicaremos las información relevantes presentes en cualquier página de un módulo…

    Como puede observarse a parte del nombre del módulo, su descripciín y el enlace al código fuente. en la página pueden mostrarse más informaciones del módulo, tales como:

    • Capturas
    • Información del proyecto (Project Information): donde pueden verse informacioens importantes, como por ejemplo: El estado del mantenimiento, o el estado del desarrollo, sus categorías, etc..
    • Descargas (Downloads): donde pueden descargarse los ficheros (uno por versión y estado del desarrollo) comprimidos que permiten la instalación del proyecto.
    • Recursos (Resources): aquí normalmente se encuentra el enlace a la documentación.

    Cómo elegir una versión del módulo

    En este caso, IMCE, al ser un módulo desarrollado desde hace bastante tiempo, dispone de versión para Drupal 6 y para Drupal 7 en su versión “Recommended” o estable. El número de versión de los ficheros permite saber para que versión de Drupal está disponible la descarga, es decir cual descargar para nuestra versión de Drupal.
    De esta manera, la versión 7.x-1.5, significa que esta versión está desarrollada para las versiones de Drupal 7.x (siendo x cualquier valor, inicialmente) y se trata de la versión 1.5 del módulo.
    Por lo que si queremos instalar el módulo para Drupal 7 deberíamos descargarnos o copiar la URL de esa versión.
    Si deseamos descargar el módulo o copiar la URL de instalación, será necesario decidir que con qué versión hacemos, si la versión en Zip o en TGZ. Usualmente los ordenadores windows manejarán más facilmente la versión en Zip, los ordenadores en Linux soportan perfectamente la versión TGZ.
    En nuestro caso al estar en un windows elegiremos la versión en Zip para Drupal 7, versión estable, lease: http://ftp.drupal.org/files/projects/imce-7.x-1.5.zip

    Instalar un módulo

    Desde el listado de módulos tenemos disponible un enlace denominado “Instalar nuevo módulo”, cuando lo pulsamos aparece una pantalla similar a la siguiente…

    Como puede observarse, nos ofrecen dos posibilidades para la instalación del módulo: mediante una ruta URL o subiendo el fichero comprimido a través del formulario.
    una vez relelnado el campo con la URL o selccionado el fichero comprimido del módulo a través del botón examinar, pulsamos en el botón “Instalar”.
    Entonces se verá una barra de progreso de la instalación del módulo y posteriormente, si todo ha ido bien, saldrá una pantalla similar a la siguiente…

    Después pulsaremos en el enlace “enable newly added modules” ó “activar los módulos recientemente instalados” y volveremos al listado de módulos, donde podremos ver nuestro módulo instalado…

    Licencia Creative Commons

    Curso de Drupal 7 (VIII): Personas: Usuarios, Permisos y Roles

    Drupal 7 dispone de un sistema de permisos completo que permite cambiar de una manera muy sencilla las operaciones que se permite realizar a los usuarios del sitio web.

    El sistema de basa en 3 entidades principales:

    • Usuarios: son las personas que usan la página.
    • Permisos: acciones que las personas pueden realizar.
    • Roles: agrupaciones de personas asociadas a los permisos.

    Usuarios

    Listado de Usuarios

    Para acceder a la configuración de los usuarios pulse en la Configuración->Personas, verá una pantalla similar a la siguiente…

    Como puede observarse, se disponen de las operaciones de:

    • Agregar usuario
    • Filtrado del listado de usuarios
    • Operaciones sobre el listado mediante checkbox
    • Editar Usuarios

    Añadir/Editar un Usuario

    Al pulsar  sobre el enlace de “Agregar Usuario” o “Editar” en la parte derecha de la fila de un usuario nos presentará el formulario siguiente formulario…

    Como puede apreciarse en la captura disponemos de los siguientes campos:

    • Nombre de usuario.
    • Dirección de correo electrónico.
    • Dos campos para introducir la contraseña.
    • Estado: donde podremos gestionar si el usuario está activado o está bloqueado, por lo que no podrá autenticarse en el sitio web.
    • Roles: donde podremos seleccionar los roles a los cuales está asignado el usuario y por lo tanto dispondrá de los permisos asociados a dichos roles.
    • Avisar al usuario de la nueva cuenta.
    • Idioma predefinido para el usuario.
    • Opciones de Regionalización: donde podemos elegir la franja horaria en prefijada para el usuario. Sólo presente en el formulario de edición.

    Una vez introducidos los datos, pulsamos en el botón “Crear nueva cuenta”  o “Guardar”.
    En el formulario de edición también disponemos de otro botón para poder cancelar la cuenta del usuario.

    Configuración del Sitio para Usuarios

    A través  de la configuración global del sitio web, podremos configurar opciones para la gestión de los usuarios, sobre todo orientados a configuraciones por defecto y opciones permitidas en el sitio.
    Para acceder a esta parte de la configuración a través de la barra de tareas pulsamos en el enlace “Configuración” y luego pulsamos en “Opciones de la cuenta”, aparecerá un formulario similar al siguiente…

    Donde disponemos de los siguientes campos:

    • Usuarios Anónimos: Nombre: es el nombre utilizado para aquellos usuarios queno estásn registrados pero aún así realizan operaciones dentro de la página, tales como escribir comentarios.
    • Rol del Administrador: selectro de roles donde podemos configurar el nombre del rol que se aplica a la administración del sitio.
    • Creación y configuración de cuentas:
      • Quién puede crear cuentas?: selector que permite decir si se permiten o no los registros de usuarios anonimos y si requieren o no la aprobación de un administrador.
      • Pedir una verificación por correo electrónico sólo cuando un visitante cree una cuenta
      • Al cancelar la cuenta del usuario: permite indicar que sucede con los datos asociados a la cuenta cancelada.
    •  Personalización:
      • Permitir firmas.
      • Activar imágenes de usuario
      • Directorio de imágenes: donde se almacenarán las imágenes de usuario
      • Imagen predeterminada: para lso usuarios que no envíen una suya.
      • Estilo de presentación de la imagen.
      • Dimensiones de la imagen a subir.
      • Tamaño máximo de la imagen a subir.
      • Directrices para la subida de imágenes
    • Bienvenida(nuevo usuario creado por un administrador): para configurar el correo que recibirá el usuario al crear su cuenta por parte del administrador.
    • Bienvenida(pendiente de aprobación): mensaje que se enviará al usuario para indicarle que su cuenta está pendiente de activación.
    • Bienvenida(sin necesidad de aprobación): cuando el usuario se registra pero no está pendiente de aprobación y por lo tanto está activado.
    • Activación de cuenta.
    • Cuenta bloqueada.
    • Confirmación de cancelación de cuenta.
    • Cuenta cancelada.
    • Recuperación de clave.

    Permisos 

    Para acceder a los permisos, en la Vista de “Personas” pulsamos en la pestaña denominada “Permisos”, así veremos un fomrulario similar al siguiente…

    Como puede verse el formulario dispone de todos los permisos categorizados por módulo, para cada fila. Al lado derecho de cada permiso podemos configurar mediante checkboxes si un determinado rol tiene o no tiene permiso para realizar una determianda acción. Si la casilla está desmarcada, significa que dicho perfil no tiene permiso para realizar la acción, si la casilla está marcada significa que sí puede realizar dicha acción.
    De esta manera cada columna de un rol pueden visualizarse fácilmente los permisos asociados y modificarlos con simples clics.
    Una vez terminados de configurar los permisos, pulsamos en el botón “Guardar Permisos” para cambiarlos y salvarlos.

    Roles

    Para acceder a la configuración de los Roles, en la pestaña de Permisos, podemos ver un par de botones en la parte derecha superior de la pantalla, pulsamos en el botón Roles y veremos el listado de roles de la siguiente manera…

    Como se puede observar disponemos de las siguientes operaciones:

    • Agregar Rol
    • Editar Rol
    • Editar Permisos: asociados al rol.

    Añadir Rol

    Para añadir un rol disponemos de un formulario integrado en el listado de roles. En el cuadro de texto introducimos el nombre del rol y pulsamos en el boton “Añadir Rol” y debería parecer inmediatamente el nuevo rol en el listado.

    Editar o Eliminar Rol

    Pulsando sobre el enlace “Editar rol” la lado del nombre del rol en el listado, accedemos al formulario de edición del nombre del rol…

    Si deseamos cambiar el nombre del rol, simplemente editamos el cuadro de texto del nombre y pulsamos en el botón “Guardar rol”.
    Si deseamos eliminar el rol, pulsamos en el botón “Eliminar rol”.

    Edición de permisos de un rol

    En este formulario nos saldrá una pantalla similar a la edición de permisos, pero serán sólo los permisos específicos asignados a este rol.

    Roles por defecto

    En la instalación Standard Drupal nos coloca 3 roles por defecto:

    • Usuarios anónimos: aquellos visitantes de la página que no se han registrado como usuarios, pueden ver todo el contenido publicado.
    • Usuario registrados: usuarios que se han regustrado y autenticado en la página.
    • Administrador: usuarios con permisos de administración.

    Los dos primeros roles “Usuarios anónimos” y “Usuarios Registrados” aparecen bloqueados para que no podamos cambiarlos, pero sí podemos cambiar los permisos asociados a dichos roles.

       Referencias

      Licencia Creative Commons

      Uso de cookies

      Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información. ACEPTAR

      Aviso de cookies