Drupal https://www.keopx.net/ es Drupal Camp Sevilla 2023 https://www.keopx.net/blog/drupal-camp-sevilla-2023 <span>Drupal Camp Sevilla 2023</span> <div class="text-content clearfix field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>Allá por el año 2011 fue mi segunda experiencia tomando parte en la organización de una DrupalCamp. El primer año 2010 en Barcelona fue increíble el equipo de la organización y el ambiente.</p> <p>Quizás el primer evento importante al que acudí y me causo una grata impresión, dando inicio a la formación de la <a href="https://asociaciondrupal.es/">AED</a> que es el sustento de la DrupalCamp.</p> <p>Volviendo a la DrupalCamp de Sevilla de aquel año recuerdo que fue en un octubre caluroso. Conocí a gente increíble de aquella hermosa ciudad. Cada vez que voy me siento como en casa (menos el calor).</p> <p>Destacaría que entre ambos eventos ha pasado ya una década.</p> <p>El nivel del evento esta a la altura de aquellas que organizan entidades privadas y con animo de lucro.</p> <p>Que ha cambiado, bueno veamos, por partes.</p> <p>El nivel de las sesiones es cada vez más alto sin olvidar que la comunidad y el propio Drupal se han hecho mayores.</p> <p>He visto y reconocido viejas caras, pero también he conocido a gente nueva que se ha acercado por primera vez a tomar contacto con la comunidad. Lo cual, es muy de agradecer.</p> <p>Desgraciadamente no pude estar todo el tiempo que quisiera con esas personas que de una manera u otra han sido y son parte de mi vida. Incluyo a compañeros y ex-compañeros de trabajo, de asociación etc.</p> <p>Como no, siempre habrá quejas, pero este año me he centrado en que es lo que ha salido bien y las cosas que se podrían mejorar para años venideros. Esperando a dar feedback oficial a la organización.</p> <p>La actitud de la organización ha sido de 10, proactiva e intentando solucionar los inconvenientes lo antes posible.</p> <p>En cuanto a los tracks, nuevamente más nivel y más nivel, año tras año. Genial.</p> <p>Destacaría algunas, pero parecería que soy el colega "cuñao" hooligan.</p> <p>Solo os recomendaría esperar a que se publiquen las sesiones en diferentes canales y gocéis.</p> <ul><li><a href="https://vimeo.com/drupales/">https://vimeo.com/drupales/</a></li> <li><a href="https://www.youtube.com/@drupalespana6478/featured">https://www.youtube.com/@drupalespana6478/featured</a></li> </ul><p>Espero volver ha veros pronto.</p> <p>Gracias a toda esa gente que se ha involucrado :)</p> </div> <span><span>keopx</span></span> <span><time datetime="2023-09-28T17:19:47+02:00" title="Jueves, Septiembre 28, 2023 - 17:19">Jue, 28/09/2023 - 17:19</time> </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-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/drupalcamp" hreflang="es">DrupalCamp</a></div> <div class="field__item"><a href="/tag/drupal" hreflang="es">Drupal</a></div> </div> </div> <section data-drupal-selector="comments" class="comments"> <h2 class="comments__title">Comentarios</h2> <div class="add-comment"> <div class="add-comment__form"> <drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=311&amp;2=field_comments&amp;3=comment" token="b1ZWNOCXwQ7ph7fj0lPD2Q-GSnuqJBXwcLIOdI8EN9A"></drupal-render-placeholder> </div> </div> </section> Thu, 28 Sep 2023 15:19:47 +0000 keopx 311 at https://www.keopx.net [DrupalCampSpain2023] Introducción al desarrollo de módulos en Drupal 10 https://www.keopx.net/talk/drupalcampspain2023-introduccion-al-desarrollo-de-modulos-en-drupal-10 <span>[DrupalCampSpain2023] Introducción al desarrollo de módulos en Drupal 10</span> <span><span>keopx</span></span> <span><time datetime="2023-09-23T10:30:00+02:00" title="Sábado, Septiembre 23, 2023 - 10:30">Sáb, 23/09/2023 - 10:30</time> </span> <div class="text-content clearfix field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>Taller realizado en la <a href="https://2023.drupalcamp.es/es/el-programa">DrupalCamp Spain de 2023</a> centrado en el desarrollo para <a href="https://www.drupal.org">Drupal</a> 10. En el taller se mostrara la creación de un modulo básico, veremos ejemplos existentes y como poder aprovecharlos para hacer nuestros desarrollos a medida.</p> <p>Se explicara por encima algunos conceptos.</p> <p>Puedes facilitar lo que deseas encontrarte en el taller, de esta manera intentare <strong>ajustarme a lo que los asistentes</strong> desearían conocer :)</p> <ul><li><strong>Formulario</strong>:<a href="https://docs.google.com/forms/d/e/1FAIpQLSdCblnLhdSCxtrG1gbiBJbQ7baZNH3x6yBFlL9lJpn5LCxnwQ/viewform"> formulario</a></li> </ul><p>Sera necesario tener instalado el entorno de desarrollo, un entorno con Drupal en Docker (Lando, Ddev, Docker4Drupal), LAMP, MAMP, WAMP o similar para poder trabajar.</p> <p>Se proporciona una OVA (VirtualBox 7) para facilitar el desarrollo.</p> <p><strong>Recomendación</strong>:</p> <ul><li><span>Drupal 10. Instalado y funcionando.</span></li> <li><span>IDE de desarrollo. En la maquina virtual estara disponible Code.</span></li> <li><span>Se recomienda usar la maquina virtual para facilitar la sesión.</span></li> </ul><p>Algunos módulos que veremos, por ello es aconsejable instalarlos.</p> <ul><li>Modulo Devel</li> <li>Modulo Coder</li> <li>Módulo Examples</li> </ul><p>Están disponibles maquinas virtuales o instaladores para facilitar:</p> <ul><li>Docker (+ Lando) / Maquina virtual (VirtualBox 7)</li> <li><a href="http://drupalcamp2023.keopx.net/">http://drupalcamp2023.keopx.net/</a> (recomendado)</li> </ul><p>Presentación</p> <ul><li><a href="http://drupalcamp2023.keopx.net/">http://drupalcamp2023.keopx.net/</a></li> </ul><p class="text-align-center"> </p> <p class="text-align-center"> <iframe allowfullscreen="" frameborder="0" height="486" marginheight="0" marginwidth="0" scrolling="no" src="https://www.slideshare.net/slideshow/embed_code/key/wPrv0ucclsUSxV?startSlide=1" style="border:1px solid #CCC; border-width:1px; margin-bottom:5px;max-width: 100%;" width="597"></iframe></p> <div class="text-align-center" style="margin-bottom:5px"><strong><a href="https://www.slideshare.net/keopx/drupalcampspain2023-introduccin-al-desarrollo-de-mdulos-en-drupal-10" target="_blank" title="[DrupalCampSpain2023] Introducción al desarrollo de módulos en Drupal 10">[DrupalCampSpain2023] Introducción al desarrollo de módulos en Drupal 10</a></strong> from <strong><a href="https://www.slideshare.net/keopx" target="_blank">Keopx </a></strong></div> <p> </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-10" hreflang="es">Drupal 10</a></div> <div class="field__item"><a href="/categoria/drupal-planeta" hreflang="es">Drupal Planeta</a></div> <div class="field__item"><a href="/categoria/drupal" hreflang="es">Drupal</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/desarrollo" hreflang="es">Desarrollo</a></div> <div class="field__item"><a href="/tag/drupalcamp" hreflang="es">DrupalCamp</a></div> <div class="field__item"><a href="/tag/modules" hreflang="es">Modules</a></div> <div class="field__item"><a href="/tag/drupal" hreflang="es">Drupal</a></div> <div class="field__item"><a href="/tag/contribuir" hreflang="es">Contribuir</a></div> <div class="field__item"><a href="/tag/drupal-10" hreflang="es">Drupal 10</a></div> </div> </div> Sat, 23 Sep 2023 08:30:00 +0000 keopx 310 at https://www.keopx.net [DrupalCampSpain2022] Introducción al desarrollo de módulos en Drupal 9 https://www.keopx.net/talk/drupalcampspain2022-introduccion-al-desarrollo-de-modulos-en-drupal-9 <span>[DrupalCampSpain2022] Introducción al desarrollo de módulos en Drupal 9</span> <span><span>keopx</span></span> <span><time datetime="2022-06-04T18:30:00+02:00" title="Sábado, Junio 4, 2022 - 18:30">Sáb, 04/06/2022 - 18:30</time> </span> <div class="text-content clearfix field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>Taller realizado en la <a href="https://2022.drupalcamp.es/sessions/tallerworkshop-introduccion-al-desarrollo-de-modulos-en-drupal-9">DrupalCamp Spain de 2022</a> centrado en el desarrollo para <a href="https://www.drupal.org">Drupal</a> 9. En el taller se mostrara la creación de un modulo básico, veremos ejemplos existentes y como poder aprovecharlos para hacer nuestros desarrollos a medida.</p> <p>Se explicara por encima algunos conceptos.</p> <p>Puedes facilitar lo que deseas encontrarte en el taller, de esta manera intentare <strong>ajustarme a lo que los asistentes</strong> desearían conocer :)</p> <ul><li><strong>Formulario</strong>:<a href="https://docs.google.com/forms/d/e/1FAIpQLSdCblnLhdSCxtrG1gbiBJbQ7baZNH3x6yBFlL9lJpn5LCxnwQ/viewform"> formulario</a></li> </ul><p>Sera necesario tener instalado el entorno de desarrollo, un entorno con Drupal en Docker (Lando, Ddev, Docker4Drupal), LAMP, MAMP, WAMP o similar para poder trabajar.</p> <p>Se proporciona una OVA (VirtualBox 6.1) para facilitar el desarrollo.</p> <p><strong>Recomendación</strong>:</p> <ul><li><span>Drupal 9. Instalado y funcionando.</span></li> <li><span>IDE de desarrollo. En la maquina virtual estara disponible Code.</span></li> <li><span>Se recomienda usar la maquina virtual para facilitar la sesión.</span></li> </ul><p>Algunos módulos que veremos, por ello es aconsejable instalarlos.</p> <ul><li>Modulo Devel</li> <li>Modulo Coder</li> <li>Módulo Examples</li> </ul><p>Están disponibles maquinas virtuales o instaladores para facilitar:</p> <ul><li>Docker (+ Lando) / Maquina virtual (VitualBox 6.1)</li> <li><a href="http://drupalcamp2022.keopx.net/">http://drupalcamp2022.keopx.net/</a> (recomendado)</li> </ul><p>Presentación</p> <ul><li><a href="http://drupalcamp2022.keopx.net/">http://drupalcamp2022.keopx.net/</a></li> </ul><p> </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/fbXuPOFjqfMgWT" 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/drupalcampspain2022-introduccin-al-desarrollo-de-mdulos-en-drupal-9" target="_blank" title="[DrupalCampSpain2022] Introducción al desarrollo de módulos en Drupal 9">[DrupalCampSpain2022] Introducción al desarrollo de módulos en Drupal 9</a> </strong> from <strong><a href="//www.slideshare.net/keopx" target="_blank">Keopx </a></strong></div> <p> </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-9" hreflang="es">Drupal 9</a></div> <div class="field__item"><a href="/categoria/drupal-planeta" hreflang="es">Drupal Planeta</a></div> <div class="field__item"><a href="/categoria/drupal" hreflang="es">Drupal</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/desarrollo" hreflang="es">Desarrollo</a></div> <div class="field__item"><a href="/tag/drupalcamp" hreflang="es">DrupalCamp</a></div> <div class="field__item"><a href="/tag/drupal-9" hreflang="es">Drupal 9</a></div> <div class="field__item"><a href="/tag/modules" hreflang="es">Modules</a></div> <div class="field__item"><a href="/tag/drupal" hreflang="es">Drupal</a></div> <div class="field__item"><a href="/tag/contribuir" hreflang="es">Contribuir</a></div> </div> </div> Sat, 04 Jun 2022 16:30:00 +0000 keopx 309 at https://www.keopx.net [DrupalCampSpain2018] CircleCI https://www.keopx.net/talk/drupalcampspain2018-circleci <span> [DrupalCampSpain2018] CircleCI</span> <span><span>keopx</span></span> <span><time datetime="2018-05-29T11:15:43+02:00" title="Martes, Mayo 29, 2018 - 11:15">Mar, 29/05/2018 - 11:15</time> </span> <div class="text-content clearfix field field--name-body field--type-text-with-summary field--label-hidden field__item"><div class="text-content field field--name-body field--type-text-with-summary field--label-hidden field__item"> <p>Una breve entrada a CircleCI y como implementarla en nuestros proyectos de Drupal 8.</p> <p>Veremos como podemos apoyarnos en herramientas adicionales como Robo, Docker, etc. para facilitar algunas de las tareas y procesos.</p> <p>Me basaré en el ejemplo que publico <a href="https://web.archive.org/web/20210118105804/https://twitter.com/juampynr">Juampy</a> para Lullabot: <a href="https://web.archive.org/web/20210118105804/https://www.lullabot.com/articles/continuous-integration-drupal-8-circleci">https://www.lullabot.com/articles/continuous-integration-drupal-8-circleci</a></p> <p>También comentare algunos tips que he visto y que pueden ayudar a facilitar el entendimiento.</p> <p class="text-align-center"> <iframe allowfullscreen="" frameborder="0" height="485" marginheight="0" marginwidth="0" scrolling="no" src="https://web.archive.org/web/20210118105804if_/https://www.slideshare.net/slideshow/embed_code/key/j4xn9pTVmhPRz8" 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="https://www.slideshare.net/keopx/drupalcampspain2018-circleci" target="_blank" title="[DrupalCampSpain2018] CircleCI">[DrupalCampSpain2018] CircleCI</a> </strong> from <strong><a href="https://web.archive.org/web/20210118105804/https://www.slideshare.net/keopx" target="_blank">Keopx </a></strong></div> <p>Presentación:</p> <ul><li><a href="https://web.archive.org/web/20210118105804/https://2018.drupalcamp.es/sessions/integracion-continua-con-circleci-para-drupal-8-regiguren">https://2018.drupalcamp.es/sessions/integracion-continua-con-circleci-para-drupal-8-regiguren</a></li> </ul></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/drupal" hreflang="es">Drupal</a></div> <div class="field__item"><a href="/categoria/drupal-planeta" hreflang="es">Drupal Planeta</a></div> <div class="field__item"><a href="/categoria/circleci" hreflang="es">CircleCI</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/drupalcamp" hreflang="es">DrupalCamp</a></div> <div class="field__item"><a href="/tag/integracion-continua" hreflang="es">Integración continua</a></div> <div class="field__item"><a href="/tag/robo" hreflang="es">Robo</a></div> <div class="field__item"><a href="/tag/behat" hreflang="es">Behat</a></div> <div class="field__item"><a href="/tag/drush" hreflang="es">Drush</a></div> <div class="field__item"><a href="/tag/docker" hreflang="es">Docker</a></div> </div> </div> Tue, 29 May 2018 09:15:43 +0000 keopx 300 at https://www.keopx.net [DrupalCampSpain2018] Trabajando en remoto https://www.keopx.net/talk/drupalcampspain2018-trabajando-en-remoto <span>[DrupalCampSpain2018] Trabajando en remoto</span> <span><span>keopx</span></span> <span><time datetime="2018-05-29T10:53:10+02:00" title="Martes, Mayo 29, 2018 - 10:53">Mar, 29/05/2018 - 10:53</time> </span> <div class="text-content clearfix field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>En esta charla trataremos el trabajo en remoto desde tres puntos de vista:</p> <ul><li>El responsable de IT que trabaja habitualmente con desarrolladores en remoto.</li> <li>El desarrollador en remoto que trabaja dentro de un equipo que no es 100% distribuido.</li> <li>El desarrollador en remoto que trabaja en una empresa 100% distribuida.</li> </ul><p>Las tres personas aportarán su experiencia y contarán los puntos a tener en cuenta a la hora comenzar a trabajar con desarrolladores remotos o en remoto como desarrollador.</p> <p>Además hablarán como con la apropiada comunicación y definición de responsabilidades se puede incrementar significativamente la calidad del trabajo. Así como el incremento de posibilidades a la hora tanto de contratar desarrolladores como de buscar un trabajo al eliminar la barrera que supone el vivir en otra ciudad.</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/g4x03Xdrdo0yNF" style="border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;" width="595"></iframe></p> <div style="margin-bottom:5px"><strong><a href="//www.slideshare.net/keopx/drupalcampspain2018-trabajando-en-remoto" target="_blank" title="[DrupalCampSpain2018] Trabajando en remoto">[DrupalCampSpain2018] Trabajando en remoto</a> </strong> from <strong><a href="https://www.slideshare.net/keopx" target="_blank">Keopx </a></strong></div> <p>Presentación:</p> <ul><li><a href="https://web.archive.org/web/20210118105944/https://2018.drupalcamp.es/sessions/el-trabajo-en-remoto-desde-diferentes-puntos-de-vista">https://2018.drupalcamp.es/sessions/el-trabajo-en-remoto-desde-diferentes-puntos-de-vista</a></li> </ul><p> </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/drupalcamp" hreflang="es">DrupalCamp</a></div> <div class="field__item"><a href="/tag/drupal" hreflang="es">Drupal</a></div> <div class="field__item"><a href="/tag/remoto" hreflang="es">Remoto</a></div> </div> </div> Tue, 29 May 2018 08:53:10 +0000 keopx 299 at https://www.keopx.net [DrupalCampSpain2018] Contribuir a Drupal https://www.keopx.net/talk/drupalcampspain2018-contribuir-drupal <span>[DrupalCampSpain2018] Contribuir a Drupal</span> <span><span>keopx</span></span> <span><time datetime="2018-05-29T09:53:21+02:00" title="Martes, Mayo 29, 2018 - 09:53">Mar, 29/05/2018 - 09:53</time> </span> <div class="text-content clearfix field field--name-body field--type-text-with-summary field--label-hidden field__item"><div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"> <p>Guía para comenzar a contribuir en <a href="https://www.drupal.org/">Drupal</a></p> <p>Objetivo:</p> <ul><li>Crear las bases para contribuir a Drupal. </li> <li>Facilitar recursos para poder comenzar. </li> <li>Tener un entorno para poder continuar en el futuro.</li> <li>Pautas para no morir en el intento. </li> </ul><p>Presentación:</p> <ul><li><a href="https://2018.drupalcamp.es/sessions/contribuir-drupal-por-donde-comenzar-de-0-100-regiguren">https://2018.drupalcamp.es/sessions/contribuir-drupal-por-donde-comenzar-de-0-100-regiguren</a></li> </ul><p> </p> <p class="text-align-center"> <iframe allowfullscreen="" frameborder="0" height="485" marginheight="0" marginwidth="0" scrolling="no" src="https://www.slideshare.net/slideshow/embed_code/key/v8ZTvlVkTzmZlz" 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="https://www.slideshare.net/keopx/drupalcampspain2018-contribuir-a-drupal" target="_blank" title="[DrupalCampSpain2018] Contribuir a Drupal">[DrupalCampSpain2018] Contribuir a Drupal</a> </strong> de <strong><a href="https://www.slideshare.net/keopx" target="_blank">Keopx </a></strong></div> </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/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/contribuir" hreflang="es">Contribuir</a></div> <div class="field__item"><a href="/tag/drupalcamp" hreflang="es">DrupalCamp</a></div> </div> </div> Tue, 29 May 2018 07:53:21 +0000 keopx 298 at https://www.keopx.net Drupal Template Helper para Drupal 8 https://www.keopx.net/blog/drupal-template-helper-para-drupal-8 <span>Drupal Template Helper para Drupal 8</span> <div class="text-content clearfix 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><span>keopx</span></span> <span><time datetime="2017-07-03T15:02:10+02:00" title="Lunes, Julio 3, 2017 - 15:02">Lun, 03/07/2017 - 15:02</time> </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 data-drupal-selector="comments" class="comments"> <h2 class="comments__title">Comentarios</h2> <div class="add-comment"> <div class="add-comment__form"> <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> </div> </div> </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>Debugging Drush scripts con Xdebug y PhpStorm</span> <div class="text-content clearfix 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><span>keopx</span></span> <span><time datetime="2017-06-20T19:32:56+02:00" title="Martes, Junio 20, 2017 - 19:32">Mar, 20/06/2017 - 19:32</time> </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 data-drupal-selector="comments" class="comments"> <h2 class="comments__title">Comentarios</h2> <div class="add-comment"> <div class="add-comment__form"> <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> </div> </div> </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>Cómo instalar y configurar Redis en Drupal 8</span> <div class="text-content clearfix 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="/sites/default/files/inline-images/Drupal_redis.png" width="587" height="68" /></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><span>keopx</span></span> <span><time datetime="2017-06-18T17:25:35+02:00" title="Domingo, Junio 18, 2017 - 17:25">Dom, 18/06/2017 - 17:25</time> </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 data-drupal-selector="comments" class="comments"> <h2 class="comments__title">Comentarios</h2> <div class="add-comment"> <div class="add-comment__form"> <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> </div> </div> </section> Sun, 18 Jun 2017 15:25:35 +0000 keopx 269 at https://www.keopx.net Contribuir a Drupal, de 0 a 100 https://www.keopx.net/talk/contribuir-drupal-de-0-100 <span>Contribuir a Drupal, de 0 a 100</span> <span><span>keopx</span></span> <span><time datetime="2017-05-06T16:37:07+02:00" title="Sábado, Mayo 6, 2017 - 16:37">Sáb, 06/05/2017 - 16:37</time> </span> <div class="text-content clearfix 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