www.keopx.net https://www.keopx.net/rss.xml es Uso adecuado de email personal y/o corporativo y disminuir las distracciones https://www.keopx.net/blog/uso-adecuado-email-personal-corporativo-disminuir-distracciones <span class="field field--name-title field--type-string field--label-hidden">Uso adecuado de email personal y/o corporativo y disminuir las distracciones</span> <div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>El e-mail es probablemente la herramienta más potente con la que contamos para trabajar en equipo. Usar correctamente el e-mail y conocer toda su potencia y posibilidades permite ser más efectivo en la comunicación y mejorar el ambiente de trabajo.</p> <p>Cada persona usa el e-mail de una forma particular: hay a quien le gusta ser breve y conciso, otros que prefieren escribir pocos mensajes pero muy largos, quien prefiere la comunicación uno-a-uno y los que hacen cc:opias a todo el mundo... los que leen el e-mail cada 5 minutos y los que lo hacen una vez al día.</p> <p>A continuación hay una serie de consejos para utilizarlo mejor:</p> <ul><li>Piensa que <strong>mandar emails es como hablar con alguien</strong>: <strong>si te escriben</strong>, lo que <strong>tu interlocutor espera es que le contestes</strong>, aunque solo sea para decirle "OK" o "Hoy no tengo tiempo para responderte completamente. Lo haré mañana". Intenta no tardar mucho en responder.</li> <li>Es más práctico el correo-sólo-texto que el correo-HTML.</li> <li>Los <strong>e-mails cortos son más efectivos</strong>. La norma general es mensajes de no más de 25 líneas (4-5 párrafos) excepto para explicar cosas largas o complejas.</li> <li>Firma. Hazte una firma de texto chula con tus datos de contacto y alguna recomendación de uso de algo de tu organización. Cinco líneas máximo como recomienda la netiqueta, claro.</li> <li>El "Tema" o<strong> "Asunto" de los mensajes es importante</strong> que sea lo más claro y explicativo posible para que todo el mundo pueda archivar y buscar fácilmente mensajes históricos.</li> <li><strong>Las citas</strong> ("quotes") <strong>pueden hacerse dejando al final del e-mail el mensaje original</strong> (o la cadena de mensajes que se haya generado) o usando el signo de cita (&gt;) delante de las líneas citadas. <strong>Hay que vigilar los reenvíos al "exterior"</strong>, para que un mensaje inocente no lleve una cola de citas previas confidenciales.</li> <li><strong>TO: (Para: Destinatario:)</strong> La norma general es que el mensaje <strong>se envía a los implicados en algo</strong> (campo To: o Para:) si se espera respuesta de ellos directamente (a veces no habrá respuesta, por ejemplo si el mensaje es puramente informativo). <strong>Todos los que reciben un mail a su nombre en el campo "To:" deben "darse por aludidos"</strong> sobre el contenido y responder si es necesario.</li> <li><strong>CC: (Copias:)</strong>. El campo Copia (CC:) <strong>se usa para informar a terceros de algo</strong>. Por ejemplo, es elegante y recomendable copiar siempre al responsable/equipo para que esté informado de lo que uno hace, o a compañeros que tengan tangencialmente que saber algo sobre un tema, etc. Los CC:copiados no tienen por que darse por aludidos ni se espera obligatoriamente una respuesta de ellos.</li> <li><strong>BCC: (Copia Ciega:) No se debe usar para trabajo interno</strong>. Básicamente, no debe haber información secreta cruzada (o cruzada secretamente ;-).<strong> No es nada elegante y no hay "razones secretas" ni cosas que ocultar a los demás para usar las copias ciegas</strong> -- además de que a mucha gente le despistan. <strong>La única excepción</strong> es el envío de información a largas <strong>listas de gente de algo puramente informativo</strong> en la que la longitud de la lista de gente sea más larga que el propio mensaje <strong>y no tenga sentido que sea visible</strong> o que el resto de destinatarios <strong>no deban saber</strong> del resto de correos <strong>por temas de privacidad</strong>.</li> <li><strong>Cadenas de respuesta</strong> (gente). <strong>En general, al responder se debe responder a los mismos que estaban en el mensaje original ("responder a todos")</strong>, sin eliminar ni añadir a nadie (y si hace, suele ser bueno explicar por qué -- "bla bla bla... por cierto, copio a Pepe porque el otro día me dijo algo sobre el tema. Bla bla bla..." La única excepción son los mensajes tipo "lista de correo", en los que el autor pide una respuesta privada para recoger información o datos concretos ("que todo el mundo me confirme si viene a la reunión o no").</li> <li><strong>Reenvío (Forward:)</strong> <strong>Se puede usar para pasar un mensaje interno o externo a cualquier compañero o grupo de gente</strong>. En general si no se requiere respuesta basta con indicarlo con el texto "FYI" (For Your Information = Para tu información... = Que Lo Sepas ;-)</li> <li><strong>Ficheros adjuntos</strong>: <strong>utiliza PDF para documentos enviados a clientes y el original</strong> (.doc, .xls o similar con OpenOffice) <strong>para trabajo en equipo</strong>, ya que pueden ser corregidos. Pero lo ideal es usar la intranet.</li> <li><strong>Lectura de correo</strong>. <strong>Se supone que todo el mundo lee su correo varias veces al día en horas de oficina</strong>, pero ten en cuenta que <strong>no todo el mundo lee el correo los fines de semana </strong>(no se debería hacer). Con el tiempo se adivina quién hace qué y quién lee más el correo y quién no. Hasta que descubras esto, no hay que dar por supuesto que un mensaje enviado el viernes a las 21.00 será contestado antes del lunes<strong>. Si se trata de algo urgente que necesite confirmación</strong>, es <strong>mejor pedirlo</strong> de forma explícita.</li> <li><strong>Recomendaciones en los envíos -- generales:</strong> <ul><li><strong>Enviar los mails a los mínimos implicados </strong>posibles para evitar "spammear" con mensajes a demasiada gente.</li> <li><strong>Usar grupo@organizacion.com</strong> con suma moderación. Todos los mensajes enviados a esta lista, al igual que toda la intranet, son confidenciales.</li> <li><strong>Informar siempre (con CC:) a todos los posibles implicados</strong> en temas importantes. O al menos pasar un resumen después de que se haya debatido algo importante.</li> <li><strong>Los mails con una línea en blanco entre párrafos son más legibles.</strong></li> <li>En vez de enviar una página web completa o un texto copiado al completo, <strong>a veces es más práctico copiar-y-pegar la URL en el mensaje </strong>y que el destinatario haga clic para verlo.</li> <li><strong>La más importante: USAR EL SENTIDO COMÚN al usar el correo ;-)</strong></li> </ul></li> </ul><p>Relacionados: <a href="https://www.keopx.net/blog/tener-en-cuenta-al-enviar-correos">https://www.keopx.net/blog/tener-en-cuenta-al-enviar-correos</a></p></div> <span class="field field--name-uid field--type-entity-reference field--label-hidden"><span lang="" about="/users/keopx" typeof="schema:Person" property="schema:name" datatype="">keopx</span></span> <span class="field field--name-created field--type-created field--label-hidden">Dom, 14/01/2018 - 12:42</span> <div class="field field--name-field-tax-cat field--type-entity-reference field--label-above"> <div class="field__label">Categoria</div> <div class="field__items"> <div class="field__item"><a href="/categoria/correo" hreflang="es">Correo</a></div> </div> </div> <div class="field field--name-field-tax-tag field--type-entity-reference field--label-above"> <div class="field__label">Tag</div> <div class="field__items"> <div class="field__item"><a href="/tag/correo-0" hreflang="es">Correo</a></div> <div class="field__item"><a href="/tag/email" hreflang="es">email</a></div> </div> </div> <section class="field field--name-field-comments field--type-comment field--label-above comment-wrapper"> <h2 class="title comment-form__title">Añadir nuevo comentario</h2> <drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=295&amp;2=field_comments&amp;3=comment" token="Q2SyrLgQNzI8otXh_MJ-9nOsnAwULJp8Os7rXRL5HYg"></drupal-render-placeholder> </section> Sun, 14 Jan 2018 11:42:09 +0000 keopx 295 at https://www.keopx.net https://www.keopx.net/blog/uso-adecuado-email-personal-corporativo-disminuir-distracciones#comments Disminuir distracciones con la mensajería instantánea como HipChat, Slack y similares https://www.keopx.net/blog/disminuir-distracciones-mensajeria-instantanea-hipchat-slack <span class="field field--name-title field--type-string field--label-hidden">Disminuir distracciones con la mensajería instantánea como HipChat, Slack y similares</span> <div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>La mensajería instantánea, tras el mail, es probablemente la herramienta más potente con la que contamos para comunicarnos en equipo. Usar correctamente los chat y conocer toda su potencia y posibilidades permite ser más efectivo en la comunicación y mejorar el ambiente de trabajo.</p> <p>Cada persona usa el chat de una forma particular: hay a quien le gusta escuchar y estar atento a todo, otros que prefieren recibir pocos mensajes pero muy directos, quien prefiere la comunicación uno-a-uno y los que hacen menciones a todo el mundo...</p> <p>Ciertamente el ruido de canales suele generar perder la atención a las tareas en las que nos encontramos.</p> <p>A continuación hay una serie de consejos para <strong>utilizarlo mejor</strong>:</p> <ul><li>Escribe con normalidad (sin menciones) en los canales cuando quieras contar algo que no requiera de atención inmediata por parte del grupo.</li> <li>Cuando se requiera atención inmediata o urgente de ciertas personas menciona solo a las personas implicadas.</li> <li>Cuando se requiera atención inmediata o urgente de todas las personas de un canal utiliza las menciones oportunas. Estas pueden variar según la herramienta. <ul><li>Menciones <strong>@channel</strong>, <strong>@here</strong>, <strong>@all</strong> (cuidado con esta mención, depende del tipo de grupo/canal), etc..</li> </ul></li> <li>Cuando se requiera atención inmediata o urgente de toda la organización. <ul><li>Menciones <strong>@everyone</strong>, <strong>@all</strong>, etc.. (depende de la herramienta.)</li> </ul></li> </ul><p>A continuación hay una serie de consejos para <strong>minimizar el ruido</strong>:</p> <ul><li><strong>Silencia</strong> todas las <strong>notificaciones no directas</strong>.</li> <li>Permite las notificaciones de tipo: <ul><li><strong>@all</strong></li> <li><strong>@everyone</strong></li> <li><strong>@channel</strong></li> <li><strong>@here</strong></li> <li>...</li> </ul></li> <li>Permite las notificaciones con menciones hacia ti: <ul><li><strong>@tu_cuenta</strong></li> <li><strong>@keopx</strong></li> <li>...</li> </ul></li> <li>Permite las notificaciones de <strong>mensajes directos/privados</strong>.</li> </ul><p>Con estas pequeñas pautas veras bajar drásticamente el nivel de ruido.</p> <p><strong>Telegram y WhatsApp</strong></p> <p>Yo personalmente uso estas mismas técnicas, silenciando los grupo y permitiendo las menciones, para bajar el nivel de ruido de la mensajería instantánea.</p> <p><strong>Guias</strong>:</p> <ul><li><strong>Slack</strong>: <a href="https://get.slack.help/hc/es/articles/201895138-Guía-sobre-las-notificaciones-de-Slack">https://get.slack.help/hc/es/articles/201895138-Guía-sobre-las-notificaciones-de-Slack</a></li> <li><strong>HipChat</strong>: <a href="https://confluence.atlassian.com/hipchat/get-teammates-attention-744328217.html">https://confluence.atlassian.com/hipchat/get-teammates-attention-744328217.html</a></li> </ul></div> <span class="field field--name-uid field--type-entity-reference field--label-hidden"><span lang="" about="/users/keopx" typeof="schema:Person" property="schema:name" datatype="">keopx</span></span> <span class="field field--name-created field--type-created field--label-hidden">Sáb, 13/01/2018 - 09:55</span> <div class="field field--name-field-tax-cat field--type-entity-reference field--label-above"> <div class="field__label">Categoria</div> <div class="field__items"> <div class="field__item"><a href="/categoria/mensajeria-instantanea" hreflang="es">Mensajería instantánea</a></div> </div> </div> <div class="field field--name-field-tax-tag field--type-entity-reference field--label-above"> <div class="field__label">Tag</div> <div class="field__items"> <div class="field__item"><a href="/tag/slack" hreflang="es">Slack</a></div> <div class="field__item"><a href="/tag/hipchat" hreflang="es">Hipchat</a></div> <div class="field__item"><a href="/tag/telegram" hreflang="es">Telegram</a></div> <div class="field__item"><a href="/tag/whatsapp" hreflang="es">WhatsApp</a></div> </div> </div> <section class="field field--name-field-comments field--type-comment field--label-above comment-wrapper"> <h2 class="title comment-form__title">Añadir nuevo comentario</h2> <drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=294&amp;2=field_comments&amp;3=comment" token="4VttDf3ACNYSgvNVWbSlPgWFXO67XkGH553V37lf8Y4"></drupal-render-placeholder> </section> Sat, 13 Jan 2018 08:55:38 +0000 keopx 294 at https://www.keopx.net Instalar certificados SSL en Debian 9 con certbot (Let's Encrypt - Free SSL/TLS Certificates) https://www.keopx.net/blog/instalar-certificados-ssl-en-debian-9-con-certbot-lets-encrypt-free-ssltls-certificates <span class="field field--name-title field--type-string field--label-hidden">Instalar certificados SSL en Debian 9 con certbot (Let&#039;s Encrypt - Free SSL/TLS Certificates)</span> <div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>Hace tiempo escribit un articulo sobre <a href="https://www.keopx.net/blog/instalar-certificados-de-lets-encrypt-free-ssltls-certificates-en-debian-ubuntu">Instalar certificados de Let's Encrypt - Free SSL/TLS Certificates en Debian / Ubuntu</a></p> <p>Este post es una revisión de que escribí.</p> <h1>Instalación</h1> <pre> <code class="language-bash"># apt-get install certbot</code></pre><h2>Configurar Apache</h2> <pre> <code class="language-bash"># nano /etc/apache2/sites-available/www.keopx.net-ssl.conf</code></pre><p>Y añadimos el <strong>-ssl</strong> por la existencia de un <strong><a href="https://github.com/certbot/certbot/issues/1042">bug</a></strong> en el <strong>certbot</strong>, que solo es capaz de distinguir un <strong>virtualhost</strong> por fichero <strong>*.conf</strong></p> <pre> <code class="language-bash">&lt;VirtualHost *:443&gt; ServerAdmin keopx@keopx.net ServerName www.keopx.net DocumentRoot /var/www/keopx.net/web &lt;Directory /var/www/keopx.net/web/&gt; Options FollowSymLinks AllowOverride All Require all granted &lt;/Directory&gt; ErrorLog /var/log/apache2/error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog /var/log/apache2/access.log combined ServerSignature On SSLCertificateFile /etc/letsencrypt/live/www.keopx.net/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/www.keopx.net/privkey.pem Include /etc/letsencrypt/options-ssl-apache.conf &lt;/VirtualHost&gt; </code></pre><h2>Creamos el SSL</h2> <pre> <code class="language-bash">certbot --apache -d www.keopx.net</code></pre><h2>Actualizamos los certificados</h2> <pre> <code class="language-bash">certbot renew --dry-run</code></pre><p>Referencias</p> <ul><li><a href="https://certbot.eff.org/docs/using.html#apache">https://certbot.eff.org/docs/using.html#apache</a></li> <li><a href="https://certbot.eff.org/docs/using.html?highlight=renew#renewing-certificates">https://certbot.eff.org/docs/using.html?highlight=renew#renewing-certif…</a></li> <li>Bug: <a href="https://github.com/certbot/certbot/issues/1042">https://github.com/certbot/certbot/issues/1042</a></li> </ul></div> <span class="field field--name-uid field--type-entity-reference field--label-hidden"><span lang="" about="/users/keopx" typeof="schema:Person" property="schema:name" datatype="">keopx</span></span> <span class="field field--name-created field--type-created field--label-hidden">Sáb, 02/09/2017 - 12:34</span> <div class="field field--name-field-tax-cat field--type-entity-reference field--label-above"> <div class="field__label">Categoria</div> <div class="field__items"> <div class="field__item"><a href="/categoria/letsencrypt" hreflang="es">letsencrypt</a></div> <div class="field__item"><a href="/categoria/seguridad" hreflang="es">Seguridad</a></div> <div class="field__item"><a href="/categoria/apache2" hreflang="es">Apache2</a></div> <div class="field__item"><a href="/categoria/debian-9" hreflang="es">Debian 9</a></div> </div> </div> <div class="field field--name-field-tax-tag field--type-entity-reference field--label-above"> <div class="field__label">Tag</div> <div class="field__items"> <div class="field__item"><a href="/tag/seguridad" hreflang="es">seguridad</a></div> <div class="field__item"><a href="/tag/apache" hreflang="es">apache</a></div> <div class="field__item"><a href="/tag/debian-9" hreflang="es">Debian 9</a></div> <div class="field__item"><a href="/tag/sistemas" hreflang="es">Sistemas</a></div> <div class="field__item"><a href="/tag/certbot" hreflang="es">certbot</a></div> </div> </div> <section class="field field--name-field-comments field--type-comment field--label-above comment-wrapper"> <h2 class="title comment-form__title">Añadir nuevo comentario</h2> <drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=292&amp;2=field_comments&amp;3=comment" token="e2q1tlu9gNjnsY9-OEPJORmF6R9X08tqdM22YQUr6Hk"></drupal-render-placeholder> </section> Sat, 02 Sep 2017 10:34:20 +0000 keopx 292 at https://www.keopx.net Configurar sistema de correo con Exim4 en Debian 9 https://www.keopx.net/blog/configurar-sistema-de-correo-con-exim4-en-debian-9 <span class="field field--name-title field--type-string field--label-hidden">Configurar sistema de correo con Exim4 en Debian 9</span> <div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>Acabo de migrar a un nuevo servidor con un poco más de capacidad y me he encontrado con que el sistema de correo de estaban llegando a SPAM.</p> <p>Tras verificar que los <a href="https://es.wikipedia.org/wiki/Sender_Policy_Framework">spf1</a> estaba bien he procedido a revisar las otras configuraciones, como es usar exim4.</p> <h2>Configuración de <a href="https://es.wikipedia.org/wiki/Sender_Policy_Framework">spf1</a>:</h2> <ul><li>Tipo: txt</li> <li>Nombre: @</li> <li>Valor: v=spf1 +a +mx include:_spf.google.com ip4:193.70.2.7 ip6:2001:41d0:0401:3100:0000:0000:0000:3bfa ~all</li> <li>TTL: 600</li> </ul><p>Aclarar que el <strong>TTL</strong> siempre va en <strong>segundos</strong> y que tanto la IP4 y la IP6 deberan ser las adecuadas.</p> <h2>Configuración <a href="https://wiki.debian.org/GmailAndExim4">exim4</a> (leer antes de lanzar):</h2> <pre> <code class="language-bash"># dpkg-reconfigure exim4-config</code></pre><ul><li>Mail Server Configuration Type <ul><li>internet site; mail is sent and received directly using SMTP</li> </ul></li> <li>Enter FQDN <ul><li>vps448842.ovh.net</li> </ul></li> <li>SMTP Listener <ul><li>127.0.0.1 ; ::1</li> </ul></li> <li>Mail Destinations <ul><li>vps448842.ovh.net;localhost.localdomain;localhost;</li> </ul></li> <li>Relay Options | Configuración del servidor de correo <ul><li>Lo dejamos en blanco</li> </ul></li> <li>DNS Queries <ul><li>No</li> </ul></li> <li>Delivery Method Configuración del servidor de correo <ul><li>formato mbox en «/var/mail»</li> </ul></li> <li>Configuration File <ul><li>No</li> </ul></li> <li><strong>Postmaster address</strong> <ul><li><strong>root</strong></li> </ul></li> </ul><p><strong>NOTA</strong>: el paso mas importante es el de <strong>Postmaster address.</strong></p> <h2>Añadir email-addresses</h2> <p>Para configurar adecuadamente los email de envio deberemos configurar los mail. En mi caso:</p> <pre> <code class="language-bash"># nano /etc/email-addresses</code></pre><p>Y añadimos email por usuario:</p> <pre> <code class="language-bash">www-data: isarea@isarea.com user: isarea@isarea.com root: isarea@isarea.com</code></pre><h3>En caso de poner mal el Postmaster address</h3> <p>Si deseas cambiar el Postmaster address deberás ir a /etc/aliases y modificar la configuración.</p> <h2>Referencias</h2> <ul><li><a href="https://es.wikipedia.org/wiki/Sender_Policy_Framework">Sender Policy Framework</a></li> <li><a href="https://support.google.com/a/answer/178723?hl=es">Configurar los registros SPF para que funcionen con G Suite</a></li> <li><a href="https://www.digitalocean.com/community/tutorials/how-to-install-the-send-only-mail-server-exim-on-ubuntu-12-04">How To Install the Send-Only Mail Server "Exim" on Ubuntu 12.04</a></li> </ul></div> <span class="field field--name-uid field--type-entity-reference field--label-hidden"><span lang="" about="/users/keopx" typeof="schema:Person" property="schema:name" datatype="">keopx</span></span> <span class="field field--name-created field--type-created field--label-hidden">Sáb, 02/09/2017 - 12:01</span> <div class="field field--name-field-tax-cat field--type-entity-reference field--label-above"> <div class="field__label">Categoria</div> <div class="field__items"> <div class="field__item"><a href="/categoria/correo" hreflang="es">Correo</a></div> <div class="field__item"><a href="/categoria/debian-9" hreflang="es">Debian 9</a></div> </div> </div> <div class="field field--name-field-tax-tag field--type-entity-reference field--label-above"> <div class="field__label">Tag</div> <div class="field__items"> <div class="field__item"><a href="/tag/exim" hreflang="es">exim</a></div> <div class="field__item"><a href="/tag/debian-9" hreflang="es">Debian 9</a></div> <div class="field__item"><a href="/tag/correo-0" hreflang="es">Correo</a></div> <div class="field__item"><a href="/tag/email" hreflang="es">email</a></div> <div class="field__item"><a href="/tag/sistemas" hreflang="es">Sistemas</a></div> </div> </div> <section class="field field--name-field-comments field--type-comment field--label-above comment-wrapper"> <h2 class="title comment-form__title">Añadir nuevo comentario</h2> <drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=291&amp;2=field_comments&amp;3=comment" token="jb6LzkQWRQfll8ffnqr_0OoFHZpgZr5xEecY8--ZvZE"></drupal-render-placeholder> </section> Sat, 02 Sep 2017 10:01:02 +0000 keopx 291 at https://www.keopx.net Drupal Template Helper para Drupal 8 https://www.keopx.net/blog/drupal-template-helper-para-drupal-8 <span class="field field--name-title field--type-string field--label-hidden">Drupal Template Helper para Drupal 8</span> <div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p><strong>Drupal Template Helper</strong> sirve para destacar las plantillas twig sugeridas en cada caso y el preprocess a utilizar.</p> <p>Esta herramienta es muy cómoda y sencilla de utilizar, facilita muchísimo el poder encontrar las plantillas que son necesarias para cada caso y saber ademas que las esta utilizando.</p> <p>Recordad que es necesario limpiar la cache tras añadir una nueva plantilla para que Drupal sea capaz de reconocer dicho fichero.</p> <p>Este post es únicamente un traducción de la documentación oficial: <a href="https://github.com/arshad/drupal-template-helper">https://github.com/arshad/drupal-template-helper</a></p> <h2>Drupal Template Helper</h2> <p>Es una extensión de <em>Chrome DevTools</em> para las plantillas de Drupal 8, Drupal 7 y Backdrop CMS: <a href="https://chrome.google.com/webstore/detail/ppiceaegogijpjodfpiimifhbnaifbnn">https://chrome.google.com/webstore/detail/ppiceaegogijpjodfpiimifhbnaifbnn</a></p> <p><a href="https://cloud.githubusercontent.com/assets/124599/14293486/d561f37e-fb7d-11e5-8ed0-952d520678a4.png" target="_blank"><img alt="drupal-template-helper" src="https://cloud.githubusercontent.com/assets/124599/14293486/d561f37e-fb7d-11e5-8ed0-952d520678a4.png" /></a></p> <h3>Instalación</h3> <h5>PASO 1: InstalAR Y configurAR.</h5> <ol><li>Descargue e instale la extensión <em>Drupal Template Helper</em> para <em>Chrome</em>.</li> <li>Haga clic en el icono de la extensión.</li> <li>Haga clic en <em>Opciones</em> bajo <strong>Drupal Template Helper</strong>.</li> <li>Agregue las URL de los sitios para habilitar la extensión. Ejemplo: <a href="http://drupal.dev">http://drupal.dev</a>, <a href="http://www.drupal.dev">http://www.drupal.dev</a>.</li> <li>Guardar.</li> </ol><h5>PASO 2: HABILITAR LA API EXPERIMENTAL DEL CHROME.</h5> <ol><li>Ve a <em>chrome://flags/#enable-devtools-experiments</em>, busca <strong>Experimental Extension APIs</strong> y <strong>Developer Tools experiments</strong>, hacer click en "<em>Enable</em>" enlaces, y reinicia Chrome.</li> <li>Abrir <em>DevTools</em> y hacer click en <em>Settings</em>.</li> <li>Busca en la pestaña <strong>Experiments</strong> y activa <strong>Allow custom UI themes</strong>. Ver la siguiente captura. No olvides reiniciar nuevamente Chrome.</li> </ol><p><a href="https://cloud.githubusercontent.com/assets/124599/14293054/e6350e72-fb7b-11e5-973a-31794db51e4d.png" target="_blank"><img alt="drupal-template-devtools-theme-ui" src="https://cloud.githubusercontent.com/assets/124599/14293054/e6350e72-fb7b-11e5-973a-31794db51e4d.png" /></a></p> <p>Nota: Si desea ocultar los comentarios de Twig, desactive <strong>Show HTML comments</strong> en <strong>Preferences</strong>.</p> <p><a href="https://cloud.githubusercontent.com/assets/124599/21719927/b5c16cb2-d439-11e6-8cc7-a84192aa822a.png" target="_blank"><img alt="drupal-template-devtools-preferences" src="https://cloud.githubusercontent.com/assets/124599/21719927/b5c16cb2-d439-11e6-8cc7-a84192aa822a.png" /></a></p> <h5>PASO 3: HABILITAR EL TEMA DEBUG</h5> <ul><li>Para Drupal 8, ver el articulo de Phil's article: <a href="https://www.chapterthree.com/blog/drupal-8-theming-setting-theme-debugging">https://www.chapterthree.com/blog/drupal-8-theming-setting-theme-debugging</a></li> <li>Para Drupal 7, ver <a href="https://www.drupal.org/node/223440">https://www.drupal.org/node/223440</a>.</li> </ul><h3>Uso</h3> <p>Inspeccionar un elemento usando <em>DevTools</em> y haciendo click sobre <strong>Templates</strong> en la barra de <em>DevTools</em>.</p> </div> <span class="field field--name-uid field--type-entity-reference field--label-hidden"><span lang="" about="/users/keopx" typeof="schema:Person" property="schema:name" datatype="">keopx</span></span> <span class="field field--name-created field--type-created field--label-hidden">Lun, 03/07/2017 - 15:02</span> <div class="field field--name-field-tax-cat field--type-entity-reference field--label-above"> <div class="field__label">Categoria</div> <div class="field__items"> <div class="field__item"><a href="/categoria/drupal-8x" hreflang="es">Drupal 8.x</a></div> <div class="field__item"><a href="/categoria/drupal-7x" hreflang="es">Drupal 7.x</a></div> <div class="field__item"><a href="/categoria/drupal-planeta" hreflang="es">Drupal Planeta</a></div> </div> </div> <div class="field field--name-field-tax-tag field--type-entity-reference field--label-above"> <div class="field__label">Tag</div> <div class="field__items"> <div class="field__item"><a href="/tag/drupal" hreflang="es">Drupal</a></div> <div class="field__item"><a href="/tag/drupal-8x" hreflang="es">Drupal 8.x</a></div> <div class="field__item"><a href="/tag/drupal-7x" hreflang="es">Drupal 7.x</a></div> <div class="field__item"><a href="/tag/twig" hreflang="es">Twig</a></div> </div> </div> <section class="field field--name-field-comments field--type-comment field--label-above comment-wrapper"> <h2 class="title comment-form__title">Añadir nuevo comentario</h2> <drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=272&amp;2=field_comments&amp;3=comment" token="d96fs2f8NKd88q03-l2WzEa5JPGEsqEWuRLD9OvvCsM"></drupal-render-placeholder> </section> Mon, 03 Jul 2017 13:02:10 +0000 keopx 272 at https://www.keopx.net Debugging Drush scripts con Xdebug y PhpStorm https://www.keopx.net/blog/debugging-drush-scripts-con-xdebug-y-phpstorm <span class="field field--name-title field--type-string field--label-hidden">Debugging Drush scripts con Xdebug y PhpStorm</span> <div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>Para configurar correctamente un entornos para depurar con <a href="https://xdebug.org/">Xdebug</a> y <a href="https://www.jetbrains.com/phpstorm/">PhpStorm</a> los comandos <a href="https://github.com/drush-ops/drush">Drush</a> es necesario realizar una serie de configuración especifica.</p> <ul><li>Configurar una <strong><em>PHP Web Application</em> </strong>para depurar por la línea de comandos.</li> <li>Todo el código ejecutado debe estar disponible en el proyecto, incluyendo <strong>drush</strong>. <ul><li>Ej. Instalando drush como dependencia de composer (también, recuerde ejecutar drush desde su proyecto).</li> </ul></li> <li>Habilitar depuración <strong>xdebug</strong> para la línea de comandos.</li> </ul><pre> <code class="language-bash">sudo phpenmod xdebug</code></pre><ul><li>Un enlace simbólico de xdebug.ini de mi directorio<em> /etc/php/7.0/cli/conf.d</em> como estaba usando en <em>/etc/php/7.0/apache/conf.d</em> para la depuración web.</li> <li> <ul></ul><p> Ejemplo de configuración:</p></li> </ul><pre> <code class="language-bash">sudo vi /etc/php/7.0/cli/conf.d/20-xdebug.ini</code></pre><p>Y añadimos:</p> <pre> <code class="language-ini">zend_extension=xdebug.so xdebug.remote_connect_back = 1 xdebug.default_enable = 1 xdebug.remote_autostart = 1 xdebug.remote_enable = 1 xdebug.remote_port = 9000 xdebug.remote_handler = dbgp xdebug.max_nesting_level = 500 xdebug.idekey = PHPSTORM xdebug.profiler_enable_trigger = 1</code></pre><p>Utilice el botón "<strong>Listen for PHP Debug connections</strong>" de <strong>PhpStorm</strong>:</p> <ul><li>Establezca el cliente de depuración remota en la línea de comandos utilizando:</li> <li>Editamos ~/.bashrc y añadimos:</li> </ul><pre> <code class="language-bash"># PHPstorm drush debug export XDEBUG_CONFIG="idekey=PHPSTORM" </code></pre><ul><li>Establezca la configuración del servidor. Asegúrese de que el nombre que utiliza coincide con el nombre del servidor que configuró en PhpStorm: <ul><li>PHP_IDE_CONFIG = PHPSTORM</li> </ul></li> <li>Ejecute drush.</li> </ul><p>Si quereis correr <a href="https://xdebug.org/">Xdebug</a> con <a href="https://www.docker.com/">Docker</a> y/o <a href="https://www.vagrantup.com/">Vagrant</a> os recomiendo este post: <a href="http://blokspeed.net/blog/2016/02/debugging-drush-scripts-with-xdebug-and-phpstorm-on-vagrant-in-2016/">http://blokspeed.net/blog/2016/02/debugging-drush-scripts-with-xdebug-and-phpstorm-on-vagrant-in-2016/</a></p> <p>La verdad es que no recordaba como se configuraba el Xdebug para PhpStorm y Drush y gracias a <a href="https://twitter.com/jansev3n">Juanen</a> (<a href="https://www.drupal.org/u/jansete">jansete en Drupal</a>) me he vuelto a ponermelo bien y que menos que contribuirlo :D</p> </div> <span class="field field--name-uid field--type-entity-reference field--label-hidden"><span lang="" about="/users/keopx" typeof="schema:Person" property="schema:name" datatype="">keopx</span></span> <span class="field field--name-created field--type-created field--label-hidden">Mar, 20/06/2017 - 19:32</span> <div class="field field--name-field-tax-cat field--type-entity-reference field--label-above"> <div class="field__label">Categoria</div> <div class="field__items"> <div class="field__item"><a href="/categoria/drupal" hreflang="es">Drupal</a></div> <div class="field__item"><a href="/categoria/drupal-8x" hreflang="es">Drupal 8.x</a></div> <div class="field__item"><a href="/categoria/drush" hreflang="es">Drush</a></div> <div class="field__item"><a href="/categoria/drupal-planeta" hreflang="es">Drupal Planeta</a></div> </div> </div> <div class="field field--name-field-tax-tag field--type-entity-reference field--label-above"> <div class="field__label">Tag</div> <div class="field__items"> <div class="field__item"><a href="/tag/drush" hreflang="es">Drush</a></div> <div class="field__item"><a href="/tag/drupal" hreflang="es">Drupal</a></div> <div class="field__item"><a href="/tag/drupal-8x" hreflang="es">Drupal 8.x</a></div> <div class="field__item"><a href="/tag/drupal-7x" hreflang="es">Drupal 7.x</a></div> <div class="field__item"><a href="/tag/xdebug" hreflang="es">Xdebug</a></div> <div class="field__item"><a href="/tag/debug" hreflang="es">debug</a></div> <div class="field__item"><a href="/tag/phpstorm" hreflang="es">PhpStorm</a></div> </div> </div> <section class="field field--name-field-comments field--type-comment field--label-above comment-wrapper"> <h2 class="title comment-form__title">Añadir nuevo comentario</h2> <drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=270&amp;2=field_comments&amp;3=comment" token="wgGKbiUh3crzk0RxGFdWGRUMK3JE0HDt8lHarEqlY3Q"></drupal-render-placeholder> </section> Tue, 20 Jun 2017 17:32:56 +0000 keopx 270 at https://www.keopx.net Cómo instalar y configurar Redis en Drupal 8 https://www.keopx.net/blog/como-instalar-y-configurar-redis-en-drupal-8 <span class="field field--name-title field--type-string field--label-hidden">Cómo instalar y configurar Redis en Drupal 8</span> <div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>Voy a explicar cómo <strong>instalar y configurar Redis en Drupal 8.</strong> </p> <p>Redis es una base de datos popular basado en key-value.</p> <p>En el caso de <a href="https://www.drupal.org">Drupal</a> se usa como sistema de cache para la parte (backend) de gestión de contenidos, donde el sistema de cachea "estático" de las paginas no es suficiente.</p> <p>Con Redis notaremos rápidamente la fluidez y rapidez con la que se puede gestionar toda la parte que requiere de usuarios autenticados.</p> <ol><li>Instalar <em>Redis</em>:<br /><pre> <code class="language-bash">sudo apt-get install redis-server</code></pre><p>También puedes ver <a href="https://github.com/keopx/docker-redis/blob/master/3.2/Dockerfile">Dockerfile</a></p> </li> <li>Instalar soporte de <em>Redis</em> para PHP:<br /><pre> <code class="language-bash">sudo apt-get install php7.0-redis sudo a2enmod php7.0-redis</code></pre><p>También puedes ver <a href="https://github.com/keopx/docker-apache-php/blob/master/7.0/Dockerfile">Dockerfile</a></p> </li> <li>Instalar el modulo <em>redis</em> de <em>Drupal</em>:<br /><pre> <code class="language-bash">composer require drupal/redis</code></pre><p>o</p> <pre> <code class="language-bash">drush dl redis</code></pre></li> <li> <p>Configurar <strong>redis</strong> para <strong>Drupal</strong>:</p> </li> </ol><p>En el <strong>settings.php</strong> o mejor en el drush añadir lo siguiente:</p> <pre> <code class="language-php">&lt;?php /** * Set redis configuration. */ /** @see: https://docs.platform.sh/frameworks/drupal8/redis.html */ if (extension_loaded('redis')) { // Set Redis as the default backend for any cache bin not otherwise specified. // $settings['cache']['default'] = 'cache.backend.redis'; $settings['redis.connection']['interface'] = 'PhpRedis'; // Can be "Predis". $settings['redis.connection']['host'] = 'redis'; $settings['redis.connection']['port'] = '6379'; // $settings['redis.connection']['password'] = "mypassword"; // If you are using passwords, otherwise, omit // Apply changes to the container configuration to better leverage Redis. // This includes using Redis for the lock and flood control systems, as well // as the cache tag checksum. Alternatively, copy the contents of that file // to your project-specific services.yml file, modify as appropriate, and // remove this line. $settings['container_yamls'][] = 'modules/contrib/redis/example.services.yml'; // Allow the services to work before the Redis module itself is enabled. $settings['container_yamls'][] = 'modules/contrib/redis/redis.services.yml'; // Manually add the classloader path, this is required for the container cache bin definition below // and allows to use it without the redis module being enabled. $class_loader-&gt;addPsr4('Drupal\\redis\\', 'modules/contrib/redis/src'); // Use redis for container cache. // The container cache is used to load the container definition itself, and // thus any configuration stored in the container itself is not available // yet. These lines force the container cache to use Redis rather than the // default SQL cache. $settings['bootstrap_container_definition'] = [ 'parameters' =&gt; [], 'services' =&gt; [ 'redis.factory' =&gt; [ 'class' =&gt; 'Drupal\redis\ClientFactory', ], 'cache.backend.redis' =&gt; [ 'class' =&gt; 'Drupal\redis\Cache\CacheBackendFactory', 'arguments' =&gt; ['@redis.factory', '@cache_tags_provider.container', '@serialization.phpserialize'], ], 'cache.container' =&gt; [ 'class' =&gt; '\Drupal\redis\Cache\PhpRedis', 'factory' =&gt; ['@cache.backend.redis', 'get'], 'arguments' =&gt; ['container'], ], 'cache_tags_provider.container' =&gt; [ 'class' =&gt; 'Drupal\redis\Cache\RedisCacheTagsChecksum', 'arguments' =&gt; ['@redis.factory'], ], 'serialization.phpserialize' =&gt; [ 'class' =&gt; 'Drupal\Component\Serialization\PhpSerialize', ], ], ]; /** Optional prefix for cache entries */ $settings['cache_prefix'] = 'any-text-you-want'; /** @see: https://pantheon.io/docs/redis/ */ // Always set the fast backend for bootstrap, discover and config, otherwise // this gets lost when redis is enabled. $settings['cache']['bins']['bootstrap'] = 'cache.backend.chainedfast'; $settings['cache']['bins']['discovery'] = 'cache.backend.chainedfast'; $settings['cache']['bins']['config'] = 'cache.backend.chainedfast'; /** @see: https://github.com/md-systems/redis */ // Use for all bins otherwise specified. $settings['cache']['default'] = 'cache.backend.redis'; // Use this to only use it for specific cache bins. $settings['cache']['bins']['render'] = 'cache.backend.redis'; // Use for all queues unless otherwise specified for a specific queue. $settings['queue_default'] = 'queue.redis'; // Or if you want to use reliable queue implementation. $settings['queue_default'] = 'queue.redis_reliable'; // Use this to only use Redis for a specific queue (aggregator_feeds in this case). $settings['queue_service_aggregator_feeds'] = 'queue.redis'; // Or if you want to use reliable queue implementation. $settings['queue_service_aggregator_feeds'] = 'queue.redis_reliable'; } </code></pre><p>Ver <a href="https://gist.github.com/keopx/7d5fe4d7a890c792c43bb79cf56718e0">https://gist.github.com/keopx/7d5fe4d7a890c792c43bb79cf56718e0</a></p> <p>Una ves hecho esto ir a la pagina de estado (<em>/admin/reports/status</em>) para comprobar que todo esta bien.</p> <p><img alt="Drupal Redis Setup" data-entity-type="file" data-entity-uuid="54abaecf-03e5-4c6e-8bfe-f1e23743c011" src="//cdn3.keopx.net/sites/default/files/inline-images/Drupal_redis.png" /></p> <p>NOTA: si veis que cualquier parametrización es mejor, por favor comentadlo. Gracias.</p> <p>Referencias:</p> <ul><li><a href="https://gist.github.com/keopx/7d5fe4d7a890c792c43bb79cf56718e0">https://gist.github.com/keopx/7d5fe4d7a890c792c43bb79cf56718e0</a></li> <li><a href="https://docs.platform.sh/frameworks/drupal8/redis.html">https://docs.platform.sh/frameworks/drupal8/redis.html</a></li> <li><a href="https://pantheon.io/docs/redis/">https://pantheon.io/docs/redis/</a></li> <li><a href="https://github.com/md-systems/redis">https://github.com/md-systems/redis</a></li> <li><a href="https://github.com/keopx/docker-lamp">https://github.com/keopx/docker-lamp</a></li> </ul><p> </p> <p> </p> </div> <span class="field field--name-uid field--type-entity-reference field--label-hidden"><span lang="" about="/users/keopx" typeof="schema:Person" property="schema:name" datatype="">keopx</span></span> <span class="field field--name-created field--type-created field--label-hidden">Dom, 18/06/2017 - 17:25</span> <div class="field field--name-field-tax-cat field--type-entity-reference field--label-above"> <div class="field__label">Categoria</div> <div class="field__items"> <div class="field__item"><a href="/categoria/drupal-8x" hreflang="es">Drupal 8.x</a></div> <div class="field__item"><a href="/categoria/redis" hreflang="es">Redis</a></div> <div class="field__item"><a href="/categoria/drupal" hreflang="es">Drupal</a></div> <div class="field__item"><a href="/categoria/drupal-planeta" hreflang="es">Drupal Planeta</a></div> </div> </div> <div class="field field--name-field-tax-tag field--type-entity-reference field--label-above"> <div class="field__label">Tag</div> <div class="field__items"> <div class="field__item"><a href="/tag/drupal" hreflang="es">Drupal</a></div> <div class="field__item"><a href="/tag/drupal-8x" hreflang="es">Drupal 8.x</a></div> <div class="field__item"><a href="/tag/redis" hreflang="es">Redis</a></div> <div class="field__item"><a href="/tag/php" hreflang="es">php</a></div> </div> </div> <section class="field field--name-field-comments field--type-comment field--label-above comment-wrapper"> <h2 class="title comment-form__title">Añadir nuevo comentario</h2> <drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=269&amp;2=field_comments&amp;3=comment" token="qCV33nxDY_ejWnQ4sUSyDpnaLr7joysNjRbFgsrijWE"></drupal-render-placeholder> </section> Sun, 18 Jun 2017 15:25:35 +0000 keopx 269 at https://www.keopx.net Docker - Entorno de trabajo configurado en 1 minuto [WCBilbao] https://www.keopx.net/talk/docker-entorno-de-trabajo-configurado-en-1-minuto-wcbilbao <span class="field field--name-title field--type-string field--label-hidden">Docker - Entorno de trabajo configurado en 1 minuto [WCBilbao]</span> <span class="field field--name-uid field--type-entity-reference field--label-hidden"><span lang="" about="/users/keopx" typeof="schema:Person" property="schema:name" datatype="">keopx</span></span> <span class="field field--name-created field--type-created field--label-hidden">Sáb, 13/05/2017 - 16:09</span> <div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p><a href="https://2017.bilbao.wordcamp.org/programa/">Docker - Entorno de trabajo configurado en 1 minuto [WCBilbao]</a></p> <p>Hablaremos de:</p> <ul><li>¿Qué es Docker?</li> <li>Ventajas de trabajar con Docker (vs VM)</li> <li>Instalación de Docker</li> <li>Componentes de Docker</li> <li>Principales comandos de Docker</li> <li>Docker-Compose</li> <li>Introducción a DockerHub</li> <li>DevOps</li> <li>Cómo usarlo en el día a día.</li> <li>Demo time.</li> </ul><p class="text-align-center"> <iframe allowfullscreen="" frameborder="0" height="485" marginheight="0" marginwidth="0" scrolling="no" src="//www.slideshare.net/slideshow/embed_code/key/IhCNZCNJuoRy4m" style="border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;" width="595"></iframe></p> <div class="text-align-center" style="margin-bottom:5px"><strong><a href="//www.slideshare.net/keopx/docker-entorno-de-trabajo-configurado-en-1-minuto-wcbilbao" target="_blank" title="Docker - Entorno de trabajo configurado en 1 minuto [WCBilbao]">Docker - Entorno de trabajo configurado en 1 minuto [WCBilbao]</a> </strong> de <strong><a href="https://www.slideshare.net/keopx" target="_blank">Keopx </a></strong></div> </div> <div class="field field--name-field-tax-cat field--type-entity-reference field--label-above"> <div class="field__label">Categoria</div> <div class="field__items"> <div class="field__item"><a href="/categoria/wordpress" hreflang="es">WordPress</a></div> <div class="field__item"><a href="/categoria/wordcamp" hreflang="es">WordCamp</a></div> <div class="field__item"><a href="/categoria/docker" hreflang="es">Docker</a></div> <div class="field__item"><a href="/categoria/drupal" hreflang="es">Drupal</a></div> <div class="field__item"><a href="/categoria/drupal-planeta" hreflang="es">Drupal Planeta</a></div> </div> </div> <div class="field field--name-field-tax-tag field--type-entity-reference field--label-above"> <div class="field__label">Tag</div> <div class="field__items"> <div class="field__item"><a href="/tag/wordpress" hreflang="es">WordPress</a></div> <div class="field__item"><a href="/tag/wordcamp" hreflang="es">WordCamp</a></div> <div class="field__item"><a href="/tag/docker" hreflang="es">Docker</a></div> <div class="field__item"><a href="/tag/devops" hreflang="es">DevOps</a></div> <div class="field__item"><a href="/tag/wcbilbao" hreflang="es">WCBilbao</a></div> </div> </div> Sat, 13 May 2017 14:09:25 +0000 keopx 274 at https://www.keopx.net Contribuir a Drupal, de 0 a 100 https://www.keopx.net/talk/contribuir-drupal-de-0-100 <span class="field field--name-title field--type-string field--label-hidden">Contribuir a Drupal, de 0 a 100</span> <span class="field field--name-uid field--type-entity-reference field--label-hidden"><span lang="" about="/users/keopx" typeof="schema:Person" property="schema:name" datatype="">keopx</span></span> <span class="field field--name-created field--type-created field--label-hidden">Sáb, 06/05/2017 - 16:37</span> <div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p><a href="https://2017.drupalcamp.es/sessions/contribuir-drupal-por-donde-comenzar-de-0-100-regiguren">Contribuir a Drupal, de 0 a 100, por donde empezar</a></p> <p>Suele suceder que cuando queremos contribuir a Drupal, no solemos encontrar los recursos necesarios para comenzar a contribuir. En esta presentación se pretende iniciar a la gente explicando cual es la mejor forma de comenzar y facilitar los recursos para el aprendizaje sin morir en el intento.</p> <p class="text-align-center"> <iframe allowfullscreen="" frameborder="0" height="485" marginheight="0" marginwidth="0" scrolling="no" src="//www.slideshare.net/slideshow/embed_code/key/hLXeOBWMOYluOE" style="border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;" width="595"></iframe></p> <div class="text-align-center" style="margin-bottom:5px"><strong><a href="//www.slideshare.net/keopx/drupal-campspain2017-contribuir-a-drupal-de-0-a-100" target="_blank" title="[Drupal campspain2017] Contribuir a Drupal, de 0 a 100">Contribuir a Drupal, de 0 a 100</a> </strong> de <strong><a href="https://www.slideshare.net/keopx" target="_blank">Keopx </a></strong></div> <p class="text-align-center"> <iframe allowfullscreen="" frameborder="0" height="540" mozallowfullscreen="" src="https://player.vimeo.com/video/218626931" webkitallowfullscreen="" width="960"></iframe></p> <p class="text-align-center"><a href="https://vimeo.com/218626931">Contribuir a Drupal de 0 a 100 - Rubén Egiguren #DrupalCampES</a></p> </div> <div class="field field--name-field-tax-cat field--type-entity-reference field--label-above"> <div class="field__label">Categoria</div> <div class="field__items"> <div class="field__item"><a href="/categoria/drupal" hreflang="es">Drupal</a></div> <div class="field__item"><a href="/categoria/drupal-planeta" hreflang="es">Drupal Planeta</a></div> </div> </div> <div class="field field--name-field-tax-tag field--type-entity-reference field--label-above"> <div class="field__label">Tag</div> <div class="field__items"> <div class="field__item"><a href="/tag/contribuir" hreflang="es">Contribuir</a></div> <div class="field__item"><a href="/tag/drupal" hreflang="es">Drupal</a></div> <div class="field__item"><a href="/tag/drupalcamp" hreflang="es">DrupalCamp</a></div> </div> </div> Sat, 06 May 2017 14:37:07 +0000 keopx 275 at https://www.keopx.net Drupal 8: El poder de webform (antes yamlform) https://www.keopx.net/talk/drupal-8-el-poder-de-webform-antes-yamlform <span class="field field--name-title field--type-string field--label-hidden">Drupal 8: El poder de webform (antes yamlform)</span> <span class="field field--name-uid field--type-entity-reference field--label-hidden"><span lang="" about="/users/keopx" typeof="schema:Person" property="schema:name" datatype="">keopx</span></span> <span class="field field--name-created field--type-created field--label-hidden">Sáb, 06/05/2017 - 15:25</span> <div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>Drupal 8: <a href="https://2017.drupalcamp.es/sessions/el-poder-de-webform-antes-yamform-regiguren">El poder de webform (antes yamlform)</a></p> <p>Sesión realizada en la <a href="https://2017.drupalcamp.es">DrupalCamp</a> 2017 en Madrid.</p> <p class="text-align-center"> <iframe allowfullscreen="true" frameborder="0" height="569" mozallowfullscreen="true" src="https://docs.google.com/presentation/d/1ucPeKBqHsU6oZOZtrprBzx-9FWvh-mSjgWZ55Pb1t-I/embed?start=false&amp;loop=false&amp;delayms=3000" webkitallowfullscreen="true" width="960"></iframe></p> <p class="text-align-center"> <iframe allowfullscreen="" frameborder="0" height="360" mozallowfullscreen="" src="https://player.vimeo.com/video/218628416" webkitallowfullscreen="" width="640"></iframe></p> <p class="text-align-center"><a href="https://vimeo.com/218628416">El poder de Webform (antes YamlForm) - Ruben Egiguren (keopx) y David Gil</a></p> </div> <div class="field field--name-field-tax-cat field--type-entity-reference field--label-above"> <div class="field__label">Categoria</div> <div class="field__items"> <div class="field__item"><a href="/categoria/drupal" hreflang="es">Drupal</a></div> <div class="field__item"><a href="/categoria/drupal-8x" hreflang="es">Drupal 8.x</a></div> <div class="field__item"><a href="/categoria/drupal-planeta" hreflang="es">Drupal Planeta</a></div> <div class="field__item"><a href="/categoria/talk" hreflang="es">Talk</a></div> </div> </div> <div class="field field--name-field-tax-tag field--type-entity-reference field--label-above"> <div class="field__label">Tag</div> <div class="field__items"> <div class="field__item"><a href="/tag/drupal-8x" hreflang="es">Drupal 8.x</a></div> <div class="field__item"><a href="/tag/drupal" hreflang="es">Drupal</a></div> <div class="field__item"><a href="/tag/drupalcamp" hreflang="es">DrupalCamp</a></div> <div class="field__item"><a href="/tag/webform" hreflang="es">Webform</a></div> </div> </div> Sat, 06 May 2017 13:25:22 +0000 keopx 273 at https://www.keopx.net