Todas las ponencias: Track 1 mañana

Ya puedes leer el resumen que hemos preparado con las charlas del día 19 de octubre (Track 1 – turno de mañana).

En estos enlaces os dejamos el link a los resúmenes del track 2:

No olvidéis coger papel y boli para tomar apuntes, ¡porque el contenido es brutal! Os dejamos el video de la charla para que podáis verlo tantas veces como queráis, información sobre los ponentes, un resumen de cada charla (por si queréis ojear un poquito de qué va antes de ver el video) y un link de descarga con la presentación en cuestión.

En los videos podréis encontrar información adicional, por lo que os recomendamos apagar el móvil y estar muy atentos a toda esta información.

A lo largo de 4 artículos separados por tiempo (mañana y tarde) y tracks (1 y 2) os compartimos la información de todas las charlas de nuestros ponentes en la WordCamp Valencia 2019.

Esperamos que os sea útil y sobre todo de vuestro interés:

1. Tipologías de migración en proyectos WordPress por Fernando Puente.

Fernando Puente fue el encargado de estrenar las ponencias de la Track 1. Es informático de vocación y de profesión (que suerte poder dedicarte a lo que verdaderamente te gusta, ¿verdad?), además de formador y beginner de comer y beber.

Nada más empezar, nos hacía una pregunta decisiva para saber si estábamos en el lugar indicado: “¿Piensas que una migración sólo consiste en cambiar de proveedor de hosting tu proyecto?” ¡Ay! Queridos amigos… Si la respuesta fue SÍ, sin duda, estabas en el lugar adecuado.

¿Qué tipologías de migración de proyectos realizados en WordPress podemos encontrar?

“Migración”… esa palabrita especial que solemos asignar simplemente a “mover” nuestra página web de un servidor a otro, esconde mucho más y Fernando nos invita a descubrir por qué deberíamos darle la importancia que se merece. Una migración puede consistir en realizar acciones sobre un sitio que sufrirá cambios en determinadas áreas que pueden afectar significativamente en tu negocio, estos cambios pueden ser debidos a modificaciones en:

  • Ubicación
  • Plataforma
  • Estructura
  • Contenido
  • Diseño
  • Experiencia
  • Tecnología

Incluso el propio Google ya define distintos tipos de migración (¡ojo! y nosotros pensando que únicamente era pasar nuestra web a un servidor nuevo…). Estos tipos de migración serían:

  • Rediseño
  • Reestructuración
  • Seguridad
  • Mover
  • Mover y reestructurar
  • Unir o separar

¿Y esto por qué surge? Porque lo habitual es, ya que nos vamos a migrar a otro servidor, aprovechamos y decimos “Oye, y ya que estamos, ¿y si cambiamos un poquito el diseño?, ¿y si aplicamos esto?» Vamos, que lo que iba a ser una tarea de mover de aquí a allá, se puede convertir en una ardua tarea que puede afectar (para bien o para mal) a nuestro negocio.

Échale un vistazo a la charla (la adjuntamos a continuación) para descubrir en profundidad qué tipologías de migración existen y empieza desde ya a entender cada proceso de migración como “un proyecto”.  

¿Cuál sería ese proceso? Fernando los enumera de la siguiente forma:

  1. Alcance y planificación
  2. Diseño del proceso
  3. Test previo
  4. Desarrollo
  5. Revisión
  6. Medir y analizar el beneficio de la migración

¿Cómo puede impactar en tu negocio una migración mal planteada? Fernando nos advierte de:

  1. Pérdida de visibilidad
  2. Peor UX
  3. Pérdida de información útil para el negocio
  4. Pérdida de reputación
  5. Peores resultados de explotación

Como verás, no se trata de un juego de niños y como no tengas una estrategia clara y una buena organización, ¡la puedes liar muy parda!

Muchas gracias, Fernando, por hacernos ver que un proceso de migración no podemos tomarlo a la ligera. Al final, todos queremos que nuestros proyectos funcionen lo mejor posible y para ello, nuestros objetivos deben estar muy bien definidos y no hacer cosas al tuntún. No te pierdas el video de su charla y las diapositivas de la misma.

2. Cómo construir un gran marketplace como Airbnb con WordPress por Carlos Rodríguez

Nuestro siguiente ponente viene desde Santa Cruz de Tenerife, es Carlos Rodríguez, ingeniero informático, actualmente se encuentra trabajando en el desarrollo y soporte de plugins para WooCommerce en YITH.

En esta charla Carlos nos explica cómo crear un gran marketplace como Airbnb… ¿Ya solo el título impresiona, verdad? ¿Cuántos de vosotros habéis utilizado, o conocéis a alguien, que en algún momento haya usado esta potente plataforma? Airbnb es un marketplace donde los usuarios pueden reservar alojamientos (casas completas o habitaciones sueltas), experiencias y restaurantes y en poco más de 10 años se ha convertido en una plataforma presente en más de 190 países.

Entendemos marketplaces como una plataforma donde los usuarios pueden comprar productos que normalmente no pertenecen al administrador de la propia tienda, aunque pueden convivir productos del propio administrador con productos ofrecidos por terceros. Algunos ejemplos de marketplace serían: Amazon, Themeforest, AliExpress… ¿Los conoces?

¿Qué roles podemos encontrar en un marketplaces?

Los principales son: Administrador, Vendedores y Usuarios.

  • Administrador: Es el propietario del marketplace. Normalmente cobra una comisión por venta o por estar en la plataforma. Es el encargado de generar confianza tanto a usuarios como administradores.
  • Vendedores: Publican sus productos en el marketplace. Pagan al administrador una comisión por venta o por pertenecer al mismo.

No nos podemos olvidar de la figura del Afiliado, una persona que promociona el sitio para traer clientes al marketplace y a cambio recibe una comisión por cada venta.

¿Cuál sería entonces la diferencia entre un marketplace y una tienda online? Pues que un Usuario puede ser Vendedor (y viceversa) al mismo tiempo.

Según Carlos, estas son las características principales que debería tener un marketplace como Airbnb:

  • Un buscador de productos (si además es predictivo, mejor, así nos dará sugerencias de búsqueda)
  • Filtro de productos
  • Lista de deseos (la famosa WishList)
  • Reseñas de producto (estrellitas, puntuación, opiniones de otros usuarios…)
  • Centro de ayuda para aclarar todas nuestras dudas
  • Pasarela de pago
  • Selector de idiomas y moneda

Airbnb nos da la oportunidad de afiliarnos a su plataforma, de modo que puedas publicar, a través de enlaces, invitaciones para que tus amigos también puedan reservar.

Vistas las características principales de Airbnb, pasamos a descubrir qué necesitamos para construir una plataforma de estas características en WordPress:

  • La funcionalidad principal sería el ecommerce, algo que permita que nuestro WordPress se convierta en una tienda de comercio electrónico. Si no hay carrito, no se puede completar la transacción. Carlos nos recomienda WooCommerce con Booking, para que podamos realizar reservas.
  • Otras funcionalidades serían: Barra de búsqueda (Product Search), Filtro de productos (Product Filter), Lista de deseos (Wishlist), Opiniones de productos (Reviews), Anfitriones (Multi Vendor), Afiliados (Affiliates), Preguntas frecuentes (Frequently Asked Questions), Pasarelas de pago (Stripe, PayPal…), Multi idioma (Language switcher) y Multi moneda (Currency Switcher).

¿Pero cómo podemos conseguir todas estas funcionalidades en WordPress?

Hay cosas que el propio WordPress trae por defecto pero en otras ocasiones nos tocará tirar de plugins (gratuitos o de pago).

Pero atención, Carlos advierte: Es posible que para una determinada funcionalidad, no encontremos un plugin que cumpla con nuestras expectativas, en ese caso, tendremos que hacer uso de códigos personalizados.

Casi al final de la ponencia Carlos nos hizo una interesante pregunta:

“¿Podemos superar a Airbnb?”

¡Wow! ¿Tú qué opinas? ¿Qué hubieras contestado? Pues Carlos respondió por nosotros con UN ROTUNDO SÍ.

Por ejemplo… Podríamos mejorar Airbnb con un chat en vivo. ¿No sería fantástico poder hablar en tiempo real con el anfitrión de un alojamiento para aclarar una duda rápida? Otra cosa, ¿has intentado reservar un alojamiento y una experiencia al mismo tiempo? No es posible obtener un presupuesto previo y eso puede suponer un problema a la hora de vivir tu experiencia. Otra idea que nos ha parecido muy interesante es la creación de tarjetas regalo para entregar a nuestros amigos. Esto sin duda sería una buena forma de atraer nuevos clientes a la plataforma, ¿no creéis?

Carlos, además, nos aporta varias ideas que pueden hacer que el ticket medio de las compras sea más alto, como por ejemplo, ofreciendo productos agrupados (experiencias + alojamiento) donde se pueda aplicar algún tipo de descuento y ventas adicionales, por ejemplo, que justo antes de pagar tu alojamiento, salte un aviso donde nos indique que “otras personas” también se han interesado por “x experiencia” y llame nuestra atención. ¿Y qué pensáis de esta otra idea que plantea Carlos? Ofrecer puntos y recompensas cada vez que utilicemos la herramienta, de forma que luego podamos canjearlos por descuentos, vales regalo para nuestros amigos, etc.

Al final de todo, solo con 3 módulos (WordPress + WooCommerce + Booking) podemos ser capaces de crear nuestro propio Airbnb. ¿Quién se anima?

Carlos, muchas gracias por darnos la oportunidad de pensar como los grandes, de saber que si queremos podemos crear una plataforma tan potente como Airbnb. Ya no tenemos excusa para cumplir nuestros sueños, ¡solo hay que saber por dónde empezar!

A continuación puedes ver su charla en vivo. ¡Disfrútala!

3. WordPress sobre contenedores en Docker por Manel R. Domenech

Manel Domenech cuenta a sus espaldas con más de 10 años de experiencia en eCommerce, tanto con tecnologías WordPress como Magento. Actualmente desarrolla herramientas que mejoran flujos y procesos de estas plataformas, así que… aprovecha su ponencia porque vas a aprender un montón. ¡Vamos a ello!

En esta ocasión Manel va a hablarnos acerca de los Contenedores Docker. Él insiste en recalcar estas 3 palabras:

  • WordPress
  • Contenedores
  • Docker

Como por aquí más de uno ya sabemos qué es WordPress, vamos a entrar en materia hablando de 2 temas bastante difusos: Contenedores y Docker.

Entonces, ¿qué es Docker?

Según nos explica Manel, Docker es una utilidad que facilita el uso de contenedores en Linux. Es una herramienta en línea de comandos que permite ejecutar contenedores, pero para personas no técnicas (incluso para personas técnicas) esto no dice NADA…

Se entiende por Contenedores un mecanismo ligero de virtualización para la ejecución aislada de procesos dentro de un mismo host. Esto tampoco nos dice nada, ¿verdad? Ya nos dice Manel que esto son palabras muy marcianas… Aquí la palabra clave es ligero.

Ahora veremos cómo hemos llegado a gestionar los sistemas durante 10 años (hay que ver lo rápido que pasa el tiempo, ¿eh?) hasta llegar al mundo de los contenedores actuales.

Con Docker conseguimos que la sobrecarga que se ofrece al virtualizarse sea mínima en los procesos que participan en la ejecución de una aplicación basada en PHP y MySQL (como es WordPress, Magento, etc.)

Antes de los contenedores el mundo era distinto (todo esto basado en la experiencia del propio Manel):

  • Procesos compartidos: ¿Cuál era el problema? Pues que como tenías a todos los clientes en el mismo sitio compartiendo todos los recursos, en el momento que alguno pillara algún tipo de malware… ¡Pues la habíamos liado!
  • Organización mediante procesos, usuarios y permisos: Esto aportaba mayor seguridad de modo que si entraba algún tipo de malware, esta vez solo afectaría al proyecto en cuestión (no a todos). Pero las BBDD seguían estando más o menos juntas… en fin. Aquí faltaba algo.
  • OpenVZ, KVM: Allá por el año 2012-2013 la sensación era diferente porque esto nos permitía tener máquinas virtuales distintas. Eran máquinas que había que cuidar y mantener.
  • Cloud Computing: WMware, OpenStack, OpenShift
  • IaaS (Infraestructuras como servicio): AWS, GCE, Digital Ocean.

Haciendo un símil, antes cuidábamos a las máquinas como mascotas, ahora lo hacemos como ganado porque todo es mucho más sencillo y podemos hacer y deshacer a nuestro antojo.

Ahora sí que sí, Manel nos define lo que realmente son los Contenedores:

  • Son un mecanismo ligero de virtualización para la ejecución aislada de procesos dentro de un mismo host.
  • Hacen uso de cgroups, una característica del Kernel Linux.
  • cgroups permite limitar, medir y aislar el uso de recursos de un conjunto de procesos.

Te recomendamos encarecidamente ver (y disfrutar) la ponencia de Manel porque es una charla muy técnica y nadie mejor que él puede darte toda la información acerca… ¡Del maravillo mundo de Docker!

4. Haciendo buen uso de los campos personalizados con ACF por Mauricio Gelves

Nuestro siguiente ponente, Mauricio Gelves, es un auténtico Nómada Digital. Es licenciado en informática y desde 2015 combina sus dos grandes pasiones: la informática y los viajes. ¿Cuántos de nosotros queremos ser de mayor como Mau? ¡Que levante la mano y diga yoooooo!

En esta ponencia Mau nos explica cómo hacer un buen uso de los campos personalizados con ACF (Advanced Custom Fields), porque en muchas ocasiones necesitaremos algo más que un título y un cuerpo para nuestros artículos, ¿verdad?

Pues bien, Mau nos va a habla de boxeo. Sí, has escuchado bien, de boxeo… Y de periodismo. Supongamos que nos llamamos Harold (vamos a poner un poquito de imaginación porque nos tenemos que “meter en el papel”) y que nuestro jefe nos envía a cubrir la noticia del evento del año “La pelea entre Muhammad Ali y Liston”.

Allí tendremos que recopilar información sobre la pelea, fotografías, comentarios de los asistentes, estadísticas… notas, notas y más notas.

Pero… ¡Oups! En el momento que regresamos a la oficina nos damos cuenta que al volcar la información en nuestro WordPress vemos que sólo podemos poner un título y una descripción… ¿Dónde vamos a incluir todos los datos que hemos recopilado como peso, altura, records, etc?

Mau nos explica que existen 3 maneras distintas de crear campos personalizados en WordPress:

  • Opción 1: Utilizar los campos personalizados que vienen por defecto con WordPress. ¿Cuáles son sus principales defectos? Tienen una funcionalidad muy precaria, inconsistencia de datos, cero control de los datos cargados y repetición de claves entre los Custom Post Types (CPT’s).
  • Opción 2: La propia API de Metaboxes de WordPress para crear campos personalizados. Aquí tienes total libertad para crear los campos, pero tendrás que hacerlo todo a mano, por lo que a no ser que sepas dónde te estás metiendo, esta opción puede que no sea la más recomendable.
  • Opción 3: Utilizar ACF (Advanced Custom Fields), un plugin muy potente con el cual podrás crear muchos sistemas en poco tiempo y de forma profesional.

Mau centra su ponencia en la opción 3, así que vamos a hacer un breve resumen de lo que nos cuenta acerca de ella para que conozcamos en qué aspectos nos puede ayudar.

Debes saber que existe una versión gratuita y una de pago del plugin ACF y ambas nos van a ayudar a ahorrar muchísimo tiempo (y por ende, dinero).

ACF es un plugin buenísimo que nos permitirá añadir tantos campos como nuestro proyecto requiera.

Para hacernos una idea del potencial de este plugin, Mau nos muestra una demo que no puedes perderte en el siguiente video, además veremos los distintos pasos a seguir para que nuestra página web muestre toda la información que nos interesa.

Paso 1:

  • Crear el CPT Boxeador
  • Crear los campos personalizados (nombre, imagen, fecha de nacimiento, altura y peso)

Paso 2:

  • Crear el CPT Pelea
  • Crear los campos personalizados (puntos del luchador 1, puntos del luchador 2, fecha, lugar del evento, nombre del vencedor)

Paso 3:

  • Diseñar la plantilla single-pelea.php

Por lo tanto, en “Haciendo buen uso de los campos personalizados” Mau nos detalla cuál es la mejor forma de trabajar con ACF en equipo:

  • Exportar la configuración de los campos personalizados a PHP
  • Agregar el código a nuestro tema/plugin
  • Hacer un PUSH para compartir los campos
  • Borrar los campos de la base de datos (échale un vistazo al video para consultar los pasos en vivo)
  • Cuando nos haga falta, podremos recuperar los valores y realizar nuevos cambios
  • Volver a exportar tanto el PHP como el JSON

Es una charla muy técnica y muy, muy, muy didáctica con un gran aporte visual. Te recomendamos ver la charla para poder ver en vivo los pasos que deberás seguir para sacarle el máximo partido a este fantástico plugin. ¡No te lo pierdas!

5. Pon un task runner en tu vida para automatizar tu flujo de trabajo por Jesús Amieiro

Jesús Amieiro nos habla de automatización, algo que nos va a venir muy, muy bien en nuestro día a día. Es ingeniero de telecomunicación y artesano de las TIC. Se dedica al desarrollo de proyectos a medida, principalmente en el ámbito de la sanidad y de la trazabilidad marina.

Esta charla va enfocada a desarrolladores. Él viene dedicándose a esto desde principios del milenio (suena muy lejano, pero Jesús está hecho un chaval). Con los años, aquel desarrollo de los inicios se fue complicando, entrando en juego ASP, PHP, entornos más complejos de desarrollo, etc.

En este camino, Jesús se dio cuenta que había ciertas tareas que se iban repitiendo, ¿de cuáles estamos hablando?

  • Transcompilar Saas/Less -> CSS
  • Automatizar la publicación: eliminar ficheros, concatenar JS, CSS, minificar JS, CSS, otimizar imágenes, copiar archivos…

Jesús continua su charla haciendo una breve introducción acerca de Module Bundler y Task Runner, donde nos dará más información al respecto.

El Task Runner nos permite automatizar un montón de tareas lo que nos convertirá en seres mucho más productivos, ahorrar tiempo y sobre todo aportará consistencia a nuestro trabajo.

En esta ponencia Jesús va a hablarnos concretamente de Grunt:

  • Automatización de tareas repetitivas
  • Curva de aprendizaje pequeña
  • Funcionalidad basada en plugins
  • Ecosistema enorme: 6500 plugins
  • JSON y JavaScript
  • Basado en Node.js

Para saber cómo se instala, visualiza el video a partir del minuto 7, ya que Jesús lo detalla todo muy bien.

A continuación, automatizará el desarrollo de un proyecto con Grunt. Es una ponencia muy didáctica, por lo que te deberás ver el video de principio a fin para no saltarte ningún paso.

¿Qué otras cosas podemos hacer con Grunt?

  • Recarga automática del navegador
  • Análisis estático (Lint): PHP y JavaScript
  • Ejecución de tests
  • Despliegue automático al servidor

Finalizando su ponencia, Jesús nos pide que una vez estemos en nuestra oficina nos planteemos todo lo que acaba de explicar y veamos en qué puede ayudarnos en nuestro día a día.

Piensa qué podría suponer ahorrar 30 minutos al día que pudieras aprovechar para hacer cualquier otra actividad, ¿no sería fantástico?

En conclusión, es mejor dedicar varias horas en ver cómo automatizar los procesos, ya que es posible que el retorno se perciba a muy corto plazo. ¿Te animas a automatizar tus procesos? ¡Vamos a ello!

Y continuamos todas las ponencias de la tarde en el track 1 en este enlace.

WordCamp Valencia 2019 is over. Check out the next edition!