Creación de proyectos web con Drupal

Post on 08-Jul-2015

132 views 0 download

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 of Creación de proyectos web con Drupal

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.