Ir al contenido principal

Arquitectura Drupal parte 2

Funcionamiento Drupal 

¿Que hace drupal cuando se le solicita una página desde el navegador?

Drupal trabaja bajo nodos, cada nodo tiene un identificador único, este si estan activas las URL limpias tanto en el servidor como en Drupal, este captura este id y carga el contenido del nodo.

Cargaremos: 
http://ejemplo.com/node/1
1.  Esta petición llega al servidor donde se aloja Drupal, este analiza la URL y obtiene una ruta de Drupal que se desea cargar.  
En caso de que no este activo las URL limpias esta url que recibe se le asigna el parámetro q. Siendo la url resultante http://ejemplo.com/?q=node/11

2. El procedimiento de la página comienza con el archivo index.php que llama la función de drupal_bootstrap() poniendo en marcha diferentes procesos de arranque en el sistema.



El proceso de arranque del sistema se compone de las siguientes fases: 

- DRUPAL_BOOTSTRAP_CONFIGURATION. Configuración del sistema. Se preparan los parámetros de configuración del sistema, principalmente a partir de la configuración definida en el archivo settings.php.

- DRUPAL_BOOTSTRAP_PAGE_CACHE. Caché previa de páginas. Se trata de una caché especial que se puede invocar desde el archivo settings.php para determinados contenidos. Lo que hace especial a esta caché es que para cargar una página en caché no se requiere acceder a la base de datos ni cargar otras funciones del sistema, por lo que el consumo de recursos es mínimo. 

- DRUPAL_BOOTSTRAP_DATABASE. Inicializa el sistema de bases de datos (sin realizar la conexión) y registra las funciones de autoload, que permiten acceder a clases e interfaces. Desde esta fase se redirige al proceso de instalación si no encuentra la definición de la base de datos en el archivo de configuración settings.php.

- DRUPAL_BOOTSTRAP_VARIABLES. Inicializa el sistema de variables, cargando las variables de configuración del sistema desde la base de datos. También habilita todos los modulos que realizan 
acciones durante las fases de bootstrap (por ejemplo, las funciones de caché particulares de los módulos).

- DRUPAL_BOOTSTRAP_SESSION. Inicio de sesión. Se inicia o se restablece la sesión de Drupal. Hay que tener en cuenta que Drupal utiliza un sistema de sesiones propio, que almacena en la base de datos.En esta fase se inicializa también la variable global $user, con los datos del usuario que está visitando el sitio. Si la sesión ya estaba iniciada, se utilizan los datos correspondientes en $user, y en caso contrario, se inicializa la variable $user para un usuario anónimo. 

- DRUPAL_BOOTSTRAP_PAGE_HEADER. Establece el encabezado de la página. Se invoca al hook_boot(), inicializa el sistema de bloqueo, y envia las cabeceras HTTP predeterminadas. El sistema de bloque permite que determinadas operaciones bloqueen el sistema para que no puedan realizarse otras operaciones en paralelo. 

- DRUPAL_BOOTSTRAP_LANGUAGE. Se cargan todos los idiomas y se determina en qué idioma se debe mostrar la página solicitada. 

- DRUPAL_BOOTSTRAP_FULL. En esta última fase se carga la librería common.inc y se llama a la función _drupal_bootstrap_full() que termina de cargar otras librerías (includes/*.inc) y los módulos activados. Inicializa el sistema de temas y carga el tema predeterminado 
del sitio.

Definiciones Traducidas de drupal.org

Comentarios

Entradas populares de este blog

¿Por qué me quedo con Drupal?

Me quedo con Drupal, y listaré el ¿Por qué? : Porque a parte de ser un CMS ( ¿Que es un CMS? ) es también un CMF (Content Management Framework – Entorno de desarrollo). Es muy escalable, logran casi absolutamente todo lo que se desee. Su API o documentación es demasiado completa. Su comunidad es activa y siempre se encuentran cosas nuevas ( drupal ). El perfil de Programador puro es más alto y escaso que el de “Site builder”. En consecuencia las horas de trabajo se pagan mejor. Es utilizado por grandes compañias como Ubuntu , The economist , MTV , etc.  Grandes Capacidades SEO: Drupal fue diseñado desde la base para ser amigable con los motores de búsqueda. Estabilidad: Drupal es escalable sin esfuerzo y es estable incluso cuando sirve a miles de usuarios a la vez. Extremadamente Flexible: ¿Quiere un blog sencillo con una página frontal estática? Drupal  puede hacerlo. ¿Quiere un poderoso backend que pueda soportar cientos de miles de páginas y millones ...

¿Qué es drush?

DRUSH = DRUpal SHell Es la interface para línea de comandos de Drupal, es el lugar donde podemos manejar Drupal por comando en consola. - La consola ssh: SSH ( S ecure SH ell, en español: intérprete de órdenes segura) es el nombre de un protocolo y del programa que lo implementa, y sirve para acceder a máquinas remotas a través de una red. (1) - Esta interface hace mucho mas óptimo el desarrollo de páginas web, ya que lo que se demora en descargar un modulo de forma tradicional para Drupal que es entre 5 y 10 minutos, con Drush el tiempo sería de máximo de 1 minuto . ¿Como se instala Drush? Depende del sistema operativo: Ubuntu: sudo apt-get install drush Windows:  Descargar e instalar composer : https://getcomposer.org/Composer-Setup.exe .  Inicio>ejecutar escribir cmd, dentro de cmd escribir composer -V  Instalamos drush desde la consola: composer global require drush/drush:dev-master Revisamos que haya quedado instalado: drush status , si quedo ...

WEB 3.0

La web 3.0 consiste en un movimiento social cuyo objetivo es crear aplicaciones que puedan acceder a internet sin la necesidad de un navegador. La Web 3.0 fué referenciada por primera vez en el año 2006 en un artículo redactado por Jeffrey Zeldman, un crítico de la previa versión llamada  Web 2.0. Visionarios y expertos en las tecnologías de la comunicación propulsaron desde diferentes campos la evolución de la Web 2.0 buscaban hacerla más inteligente, versátil y sobre todo más interactiva. Ésta web facilita la accesibilidad de las personas a la información, y quita la dependencia de un dispositivo específico; consigue resultados más complejos e interactivos que van más allá de simplemente compartir información, ya que está desarrollada para una interacción más inteligente y productiva. Gracias a su diseño con parámetros de alto rendimiento realiza procesos de manera más óptima y eficiente. Es una web orientada fundamentalmente a la integración universal de las personas, el bien...