creación de proyectos web con drupal
DESCRIPTION
¿Qué es lo que se necesita para crear un proyecto web? Cómo puede ayudar Drupal para resolver algunos de los problemas comunes del proceso de desarrollo.TRANSCRIPT
Creación de
proyectos web
con Drupal
IIG. Iván G. Campaña N.
Web Engineering: ¿Arte, Ciencia o Ingeniería pura?
¿Qué se necesita?
- Para crear un proyecto web se necesita un equipo
multifuncional, se utiliza un esquema de matriz.
- Se une visión de negocios, marketing e ingeniería,
sin perder de vista siempre el objetivo de la
empresa (o el startup).
- Son proyectos que nacen siendo evolutivos
(Release Early, Release Often).
- Planificación, pero sin retrasos (Metodologías
ágiles).
¿Qué nos piden?
● Reducir costo (siempre).
● Trabajar sobre requerimientos poco a nada definidos.
● Cambios constantes en base a los requerimientos del
negocio.
● Un proyecto web está en constante cambio, nunca
“termina” realmente.
● Que sea seguro, que no lo puedan hackear.
● Que se termine rápido.
No hay que olvidar
que al final sigue
siendo ingeniería
Hay normas que seguir… y un cliente
que satisfacer.
¿Cómo comenzar?
- Desarrollando desde cero
- Comprando una solución final
- Utilizando Software libre / Open Source
¿Arrancar desde cero o acelerar?
- Evitar el síndrome del
NIH (Not Invented
Here).
- La innovación nace
del aprendizaje y de
compartir/colaborar.
- No matar moscas
con balas de cañón
Trabajo basado en la colaboración
- ¿Se puede colaborar entre empresas y ser
competidores al mismo tiempo?- Trabajo colaborativo
- Crecimiento de la comunidad
- Relación ganar/ganar
- Parte de un cambio de paradigma
¿Desarrollo
colaborativo?
Open Source y Software Libre
Open Source vs Software Libre
Open Source
● Compartir para mejorar calidad.
● Postura de Linus Torvalds (creador del núcleo Linux) y
Tim O'Reilly
● Lo importante es poder aprovechar la investigación de
la comunidad para beneficio de todos.
● Permite la convivencia de software propietario con el de
código abierto.
Software Libre
● Compartir por considerar ético el no esconder el
conocimiento.
● Ideas defendidas por Richard Stallman (MIT)
● Defiende no sólo una práctica, sino una ideología.
● Promueve las cuatro libertades a través de la GPL:
o Libre uso
o Libre copia
o Libre re-distribución
o Libre modificación
¿Qué es Drupal?
Drupal es un programa libre, con licencia GNU/GPL, escrito en PHP, desarrollado y mantenido por una activa comunidad de
usuarios.
Es un sistema de gestión de contenidos modular multipropósito altamente configurable que permite publicar artículos, imágenes,
u otros archivos y servicios añadidos como foros, encuestas, votaciones, blogs y administración de usuarios y permisos. Drupal
es un sistema dinámico.
El diseño de Drupal es idóneo para construir y gestionar comunidades en Internet. No obstante, su flexibilidad y adaptabilidad, así
como la gran cantidad de módulos adicionales disponibles, hace que sea adecuado para realizar muchos tipos diferentes de sitio
web.
Fuente: Wikipedia
¿Qué es Drupal?
Fue creado por Dries Buytaert (fundador de la compañía Acquia), tiene soporte comercial y utilizado
por grandes compañías alrededor del mundo. En el 2012 Acquia fue considerada como la empresa
de tecnología con mayor crecimiento de acuerdo a Inc 500.
● The White House / La Casa Blanca (whitehouse.gov)
● El Universo (eluniverso.com)
● Ecuavisa (ecuavisa.com)
● The Economist (economist.com)
● Amnistía Internacional (amnesty.org)
● Fox News (nation.foxnews.com)
● P!nK (pinkspage.com)
● WWE (wwe.com)
● Blog de Aljazeera (blogs.aljazeera.com)
● Major League Soccer - MLS (mlssoccer.com)
● Warner Bros Records (warnerbrosrecords.com)
● Eric Claptop (www.ericclapton.com)
¿Por qué lo escogimos?
● Escalabilidad
● Capacidad de crecimiento
● Flexibilidad
● Desarrollo rápido
● Menor tiempo para salir a
producción (time to
market)
● Reducción de riesgo
● Seguridad y actualización
● Comunidad activa
● Se obtiene la experiencia
de otras personas
● Permite que el equipo
crezca con la herramienta.
Aplicaciones web
vs
Páginas web
know the difference...
Aplicaciones web vs páginas
Aplicaciones● Enfocadas en servicio
● Grupos de usuarios
específicos.
● Suplen una necesidad
planteada.
● Servicios para ser
consumidos.
Páginas / Portales● Enfocadas en contenido
● Miles a millones de
usuarios
● Enfocados en múltiples
necesidades.
● Distribuidores /
concentradores de
información.
¿Qué podemos hacer con Drupal?
● Portales corporativos.
● Galerías de fotos.
● Intranets.
● Galerías de vídeos.
● Blogs.
● E-commerce.
● Foros.
● E-learning.
● Comunidades.
● Aplicaciones.
● Wikis.
● Eventos.
● En general cualquier tipo de
aplicación web...
CMF
A diferencia de otras herramientas, no es sólo
un CMS (Content Management System), es un
CMF (Content Management Framework).
Permite construir cualquier tipo de aplicación,
integrar web services y generar servicios web.
Bachiller digital
- Aplicación para
gestionar solicitudes
- Control de flujo de
trabajo
- Integración con datos
legados (fuente de
datos externa).
Ecuavisa
- Medio digital
- Consumo de video
en diferentes
plataformas
- Integración con
app. móvil.
- Variación o
crecimiento diario
dependiendo de
las necesidades
del canal.
El Universo
- Medio digital
integrado con el
impreso
- Enfoque principal
en el backend,
reducir el tiempo
de los redactores.
- Actualmente tiene
también versión
móvil
manteniendo la
misma plataforma.
Almacenes TIA
- Tienda en línea
enfocada para
migrantes.
- Soporte para poder
cobrar con tarjetas de
crédito nacionales.
- Integración con el
sistema legado,
sincronización.
Almacenes De Prati
- Basado en
OsCommerce
- Mejorado con el
aprendizaje de
otros proyectos,
integrado
conocimiento de
Drupal.
- Enfocado en el
servicio.
Distribuciones
La forma de aprovechar la experiencia de otros:● Commerce Kickstart / e-Commerce ( https://commerceguys.com/product/commerce-kickstart )
● Open Scholar / Sitios entidades educativas ( http://theopenscholar.org/ )
● Drupal Commons / Comunidades / Intranets ( http://commons.acquia.com/ )
● Open Publish / Sitios de noticias ( http://openpublishapp.com/ )
● Open Public / Sitios gubernamentales ( http://openpublicapp.com/ )
● Open Atrium / Herramienta de colaboración ( http://openatrium.com/ )
● CiviCRM / Manejo de relación con los clientes ( https://civicrm.org/ )
● Open Academy (https://www.drupal.org/project/openacademy )
● Open Outreach (http://openoutreach.org/ )
● Pushtape Music (http://www.pushtape.com/)
Tecnologías web
aplicables
Big data
- Cálculo de matrices para mejora
de la experiencia de navegación
- Posibilidad de obtener datos
cruzados.
- No necesita de una infraestructura
“high-end”
- Permite trabajar sobre big data
que ya tenemos normalmente
dentro de un sitio web.
- https://www.drupal.org/project/rec
ommender
- https://www.drupal.org/project/hist
ory_rec
Radioactivity
Zonas de calor, permiten saber qué cosas han
llamado más la atención a los usuarios, los
contenidos ganan o pierden “calor”
https://www.drupal.org/project/radioactivity
Web services
Se desarrollan una vez en Drupal, se pueden
acceder a través de diferentes protocolos sin
cambiar código:
XML-RPC, JSON, REST, SOAP, JSON-RPC,
AMF
https://www.drupal.org/project/services
Drupal para no técnicos
Drupal Gardens es una plataforma para crear
sitios web sin necesidad de saber programar:○ Permite escoger plantillas preseleccionadas
○ Funcionalidades pre-agrupadas y listas para usar
○ Puedo generar el sitio ahí y luego descargarlo para
usarlo en cualquier otro servidor
○ Reduce el tiempo dedicado a construir una página
web
○ http://www.drupalgardens.com/
¿Qué está haciendo la comunidad?
La experiencia de innovar y mejorar
Busquen siempre ideas nuevas. Salgan de su
zona de confort, aprendan algo diferente, que
les permita tener una perspectiva diferente
sobre los problemas y posibles soluciones...
No tengan miedo a fallar.