Introducción al desarrollo Web ágil con Drupal


by
@isaac_gasi

conóceme


indroducción a drupal


  • ¿Qué es Drupal?
  • Ámbito de Drupal
  • Distribuciones Drupal
  • La lógica de Drupal
  • Curva de aprendizaje
  • Flujo de trabajo Drupal: Dev, Test & Live
  • Recursos


¿Qué es drupal?


Drupal es uno de los marcos de aplicación (Application-Frameworks) más utilizado a nivel mundial para la creación y publicación y mantenimiento de Sistemas de Gestión de Contenido (CMS, en inglés). Como una buena caja de herramientas le permite que prácticamente cualquier tipo de sitio web sea implementado individualmente de forma rápida y garantizando alta calidad.

+info
https://drupal.org/about

ámbito de drupal


Arquitectura  ·  Servicios de Consultoría  ·  Electrónica de Consumo   ·  Productos de Consumo   ·  Cultura   ·  Educación   ·  Energía entretenimiento   ·  Moda   ·  Servicios Financieros   ·  Gobierno   ·  Cuidado de la Salud   ·  Alta tecnología   ·  Hotelería  ·  Legal    ·   Bibliotecas   ·  Ciencias de la Vida   ·  Fabricación   ·  Mercadeo    ·  Medios de comunicación    ·  Sin fines de lucro   ·   Política   ·  Bienes Raíces   ·  Recreación   ·  Venta al por menor   ·  Ciencia    ·  Deportes   ·  Viajes

Actualmente, más de un millón de sitios en todos los tipos de industria, en más de 80 países y de todos los tamaños de empresas han sido desarrollados en Drupal.


+info
http://www.drupalshowcase.com/

Distribuciones drupal


Ofrecen características y funciones del sitio para un tipo específico de sitio como una sola descarga que contiene Drupal core, contribuyeron módulos, temas, y la configuración predefinida. Ellos hacen posible configurar rápidamente un complejo de hotel, de uso específico en menos pasos que si la instalación y configuración de los elementos de forma individual.

+info
https://drupal.org/project/distributions

La lógica de drupal



Drupal es un CMS, el cúal almacena en la base de datos el contenido y las configuraciones del sitio web. Y en código tiene el núcleo, los módulos y el tema gráfico encargado de la presentación.

curva de aprendizaje



desarrollo de habilidades en drupal


flujo de trabajo en drupal



code


DEV -> TEST -> LIVE


database

LIVE -> TEST -> DEV

recursos


https://drupal.org/
https://drupal.org/community
https://drupal.org/documentation
https://drupal.org/support


https://www.facebook.com/drupalmexico
https://www.facebook.com/groups/5070982285


Instalación de drupal



  • Requerimientos
  • Entornos de desarrollo local
  • Entornos de desarrollo en la nube
    • Conexiones ssh y ftp
  • Herramientas y utilerias
    • Drush
    • Control de versiones

BEFORE PROCEEDING WITH YOUR FIRST DRUPAL INSTALLATION


..."you should review the minimum 
requirements and best practices"...


algunos links con documentación que te pueden serivir:

https://drupal.org/documentation/install
https://drupal.org/requirements
http://drupal.org/documentation/build/distributions

DISK SPACE



Minímo 15Mb
En promedio, con algunos modulos, theme 60Mb.

Pero si requieres más :D

porque se van a necesitar 
respaldos, bases de datos, archivos multimedia...

WEB SERVER


Funciona muuy bien en cualquiera de estos:

Apache *
Nginx
Microsof IIS

+info

https://drupal.org/requirements/webserver
https://drupal.org/node/2601

DATABASE SERVER

Drupal 7
 MySQL 5.0.15 o superior con PDO (PHP Data Objects), 
PostgreSQL 8.3 o superior PDO, 
SQLite 3.3.7
Microsoft SQL Server y Oracle estan soportados con modulos adicionales.

Se puede implementar MongoDB, pero aùn necesita de una base de datos relacional. (esto es un tea màs avanzado)
+info
https://drupal.org/requirements/database
https://drupal.org/node/2021599

PHP

Drupal 7: PHP 5.2.5 o superior  (5.3 recomendado).
Drupal 8: PHP 5.3.10 o superior .

Opciones de configuración PHP, recomendaciones y Requerimientos de memoría
Extenciones para bases de datos, xml, Image library,.
Opciones del .htaccess
+info
https://drupal.org/requirements/php
https://drupal.org/node/2602
https://drupal.org/node/326504

BROWSER REQIREMENTS


El Drupal Core es muy compatible y funcional en todos los browsers modernos que soportan CSS y JacaScript

Internet Explorer 8.x and later * 
Firefox 5.x and later
Opera 12 and later
Safari 5.x and later
Google Chrome

+info
https://drupal.org/node/61509

entornos de desarrollo local

Servidores
http://www.apachefriends.org/es/xampp.html
Virtualización
https://www.virtualbox.org/
http://www.vagrantup.com/
https://puphpet.com/
o levantalo a mano
https://www.digitalocean.com/community/articles/how-to-install-linux-apache-mysql-php-lamp-stack-on-debian
http://www.esdebian.org/wiki/servidor-perfecto-debian-squeeze-debian-60-ispconfig-2

servidores en la nube

La mayoría de los provedores de HOSTING ya conocen los requerimientos para DRUPAL.

drupal.org te sugiere considerar algunos hosting:
http://drupal.org/hosting

También se pueden utilizar 
(he escuchado buenos comentarios y a mi me han funcionado bien)
http://www.gotpantheon.com/
http://www.servergrove.com/

herramientas y utilerías

drush

(drupal shell)
No es un módulo para Drupal es una herramienta que se instala en su servidor y que permite gestionar sus sitios en línea de comandos.
https://drupal.org/project/drush

git (control de versiones)

Git es un software de control de versiones diseñado por Linus Torvalds, pensando en la eficiencia y la confiabilidad del mantenimiento de versiones de aplicaciones cuando estas tienen un gran número de archivos de código fuente.
http://git-scm.com/

Conexiones ssh y ftp

ejercicio 1


Mi primer sitio Drupal "Blogsito"

Blog
Artículos
Usuarios
Tags

Objetivo
Identificar y aplicar los elementos básicos de drupal

Preparar instancia drupal



Crear una instancia de drupal

Configurar la información básica

drupal-path/admin/config/system
Site information


configurar páginas básicas


Crear páginas básicas del sitio

acerca de
contacto
home <front>

Default 403 (access denied) page
Default 404 (not found) page

(Reconfigurar en Site  information)

Instalar y gestionar modulos


Ampliar y personalizar la funcionalidad de Drupal con módulos de terceros.


Modulos que nos ayudan al site building



personalizar los artículos


Agreagar campos

Manage fields
Manage display

Configurar el tamaño de las imagenes

Opciones de publicación

Enrutamiento (Pathauto)

Crear roles de publicación


Crear rol de usuario para generar entraradas de artículos

Adminsistrar permisos

Administrar contenido 

Dashboard

Introducción al desarrollo Web ágil con Drupal

By Isaac García Sierra

Introducción al desarrollo Web ágil con Drupal

  • 2,831