Drupal CMS: The Future of Content Management Is Here

On January 15, 2025, the global Drupal community celebrated a historic event with the official launch of Drupal CMS, a tool designed to simplify and accelerate the creation of high-impact websites. At Seed EM, experts in Drupal development, we are excited to explore the possibilities this new solution offers to transform digital content management.

Initially known as Drupal Starshot, Drupal CMS positions itself as the perfect solution for projects seeking fast and efficient implementation without the need for complex custom development. This system complements Drupal Core, the standard for large-scale projects and advanced customization.

What Is Drupal CMS, and How Does It Differ from Drupal Core?

Drupal CMS is an optimized, preconfigured version of Drupal Core, designed for websites that prioritize functionality and quick deployment. Unlike Drupal Core—which is highly customizable and suited for large corporations or institutions—Drupal CMS focuses on small and medium-sized businesses, local enterprises, and projects with simpler yet professional requirements.

Key Differences Between Drupal Core and Drupal CMS

Drupal CMS and Drupal Core offer distinct approaches to meet the needs of different project types.

  • Drupal Core is designed to build advanced digital ecosystems, ideal for large corporations and institutions requiring multiple integrations and extreme customization.
  • Drupal CMS, on the other hand, targets projects emphasizing efficiency and speed, offering predefined functionalities that simplify website creation.

In terms of implementation and costs, Drupal Core demands a higher investment of time and resources due to its flexibility and customization capabilities. Conversely, Drupal CMS is ready-to-use, significantly reducing costs and accelerating time-to-market.

When it comes to scalability and target audience, Drupal Core is perfect for multilingual, multi-domain projects with high traffic volumes. Meanwhile, Drupal CMS is better suited for simpler sites, offering robustness and security without compromising quality.

These differences empower organizations to choose the solution that best fits their specific needs, maximizing the capabilities of the Drupal ecosystem.

Why Is Drupal CMS a Milestone?

The launch of Drupal CMS represents a significant step forward in the evolution of the Drupal ecosystem, solidifying its position as a more inclusive and accessible platform for a broader range of businesses and organizations. This new version focuses on agility and high performance, offering a solution that lowers the entry barrier for companies needing to deploy functional and professional websites quickly and cost-effectively.

Unlike its more robust counterpart, Drupal Core, Drupal CMS is designed to democratize access to advanced content management tools without requiring substantial resources or technical expertise. This allows small and medium-sized businesses, as well as local enterprises, to benefit from the reliability, scalability, and security that have made Drupal one of the leading platforms in the digital world.

With this approach, Drupal CMS not only expands opportunities for organizations seeking efficiency but also reinforces the Drupal community’s commitment to innovation and technological inclusion, offering solutions tailored to meet the specific needs of an increasingly diverse digital ecosystem.

Seed EM: Your Strategic Partner for Drupal CMS

At Seed EM, we are ready to be your strategic partner to maximize the benefits of Drupal CMS, a tool designed to transform digital content management. With extensive experience in Drupal development, our team is prepared to support you at every stage—from conceptualization to implementation and optimization of your project.

We understand that every organization is unique, which is why we offer solutions tailored to your specific goals, ensuring you can harness all the advantages of Drupal CMS efficiently and effectively.

Whether you need a functional, quick-to-deploy website or a more advanced digital ecosystem with Drupal Core, Seed EM has the expertise and tools necessary to turn your ideas into reality. Our approach focuses on quality and robust solutions while optimizing your resources and time, delivering outstanding results without compromising expectations.

With Drupal CMS, creating digital experiences aligned with your business goals has never been easier. Let us guide you on this journey toward innovation and digital excellence. At Seed EM, we are committed to building solutions that drive your organization's growth, ensuring you have a reliable and expert team by your side every step of the way.

Want to Know More?

Fill out our contact form and let us help you discover how Drupal CMS can be the solution your business needs.

It’s time to simplify, optimize, and grow with Drupal CMS and Seed EM!

Drupal CMS: El Futuro de la Gestión de Contenidos Ya Está Aquí

El 15 de enero de 2025, la comunidad global  Drupal celebró un evento histórico con el lanzamiento oficial de Drupal CMS, una herramienta diseñada para simplificar y acelerar la creación de sitios web de alto impacto. En Seed EM, expertos en desarrollo Drupal, estamos emocionados de explorar las posibilidades que esta nueva solución ofrece para transformar la gestión de contenidos digitales.

Drupal CMS, inicialmente conocido como Drupal Starshot, se posiciona como una solución perfecta para proyectos que buscan una implementación rápida y eficiente, sin necesidad de desarrollos personalizados complejos. Este sistema complementa a Drupal Core, el estándar para proyectos de gran escala y personalización avanzada.

¿Qué es Drupal CMS y Cómo se Diferencia de Drupal Core?

Drupal CMS es una versión optimizada y preconfigurada del núcleo de Drupal, diseñada para sitios web que priorizan la funcionalidad y la rapidez en el despliegue. A diferencia de Drupal Core, que es altamente personalizable y adecuado para grandes corporaciones o instituciones, Drupal CMS está enfocado en pequeñas y medianas empresas, negocios locales y proyectos con requerimientos más sencillos pero igualmente profesionales.

Diferencias Clave entre Drupal Core y Drupal CMS

Drupal CMS y Drupal Core ofrecen enfoques distintos para satisfacer las necesidades de diferentes tipos de proyectos. Drupal Core está diseñado para construir ecosistemas digitales avanzados, ideales para grandes corporaciones e instituciones que requieren múltiples integraciones y personalización extrema. Por otro lado, Drupal CMS se enfoca en proyectos que buscan eficiencia y rapidez, proporcionando funcionalidades predefinidas que simplifican la creación de sitios web.

En términos de implementación y costos, Drupal Core requiere una mayor inversión de tiempo y recursos debido a su flexibilidad y capacidad de personalización. En contraste, Drupal CMS está listo para usar, lo que reduce significativamente los costos y acelera el tiempo de puesta en marcha.

Cuando hablamos de escalabilidad y público objetivo, Drupal Core es perfecto para proyectos multilingües, multidominio y con altos volúmenes de tráfico, mientras que Drupal CMS es más adecuado para sitios más simples, ofreciendo robustez y seguridad sin comprometer la calidad.

Estas diferencias permiten a las organizaciones elegir la solución que mejor se adapte a sus necesidades específicas, aprovechando al máximo las capacidades del ecosistema Drupal.

¿Por Qué Drupal CMS es un Hito Importante?

El lanzamiento de Drupal CMS representa un avance significativo en la evolución del ecosistema Drupal, consolidándolo como una plataforma más inclusiva y accesible para un rango más amplio de empresas y organizaciones. Esta nueva versión se centra en la agilidad y el alto rendimiento, ofreciendo una solución que reduce la barrera de entrada para aquellas empresas que necesitan implementar sitios web funcionales y profesionales en un tiempo reducido y con menores costos.

A diferencia de su contraparte más robusta, Drupal Core, Drupal CMS está diseñado para democratizar el acceso a herramientas avanzadas de gestión de contenidos, sin necesidad de grandes recursos o conocimientos técnicos. Esto permite que empresas pequeñas y medianas, así como negocios locales, puedan beneficiarse de la confiabilidad, escalabilidad y seguridad que han convertido a Drupal en una de las plataformas más destacadas en el mundo digital.

Con este enfoque, Drupal CMS no solo amplía las posibilidades para las organizaciones que buscan eficiencia, sino que también refuerza el compromiso de la comunidad Drupal con la innovación y la inclusión tecnológica, ofreciendo soluciones diseñadas para satisfacer las necesidades específicas de un ecosistema digital cada vez más diverso.

Seed EM: Tu Socio Estratégico para Drupal CMS

En Seed EM, estamos listos para ser tu aliado estratégico para sacar el máximo provecho de Drupal CMS, una herramienta diseñada para transformar la gestión de contenidos digitales. Con una vasta experiencia en desarrollo con Drupal, nuestro equipo está preparado para acompañarte en cada etapa del proceso, desde la conceptualización hasta la implementación y optimización de tu proyecto. Entendemos que cada organización es única, y por eso ofrecemos soluciones adaptadas a tus objetivos específicos, asegurando que puedas aprovechar todas las ventajas de Drupal CMS de manera eficiente y efectiva.

Ya sea que necesites un sitio web funcional y de rápida implementación o un ecosistema digital más avanzado con Drupal Core, en Seed EM contamos con el conocimiento y las herramientas necesarias para convertir tus ideas en realidad. Nuestro enfoque no solo se centra en la calidad y la robustez de las soluciones que ofrecemos, sino también en optimizar tus recursos y tiempo, asegurando resultados sobresalientes sin comprometer tus expectativas.

Con Drupal CMS, ahora es más fácil que nunca crear experiencias digitales que se alineen con tus metas de negocio. Permítenos ser tu guía en este viaje hacia la innovación y la excelencia digital. En Seed EM, estamos comprometidos a construir soluciones que impulsen el crecimiento de tu organización, con la seguridad de que cuentas con un equipo confiable y experto para apoyarte en cada paso del camino.

El lanzamiento de Drupal CMS marca un cambio significativo en cómo las organizaciones pueden abordar la creación de sitios web. Con Seed EM como tu aliado, puedes explorar cómo esta herramienta puede transformar tu estrategia digital y llevar tu presencia en línea al siguiente nivel.

¿Quieres saber más?

Completa nuestro formulario de contacto y permítenos ayudarte a descubrir cómo Drupal CMS puede ser la solución que tu negocio necesita.

¡Es el momento de simplificar, optimizar y crecer con Drupal CMS y Seed EM!

Contributing as a Company to Drupal and Its Community: SeeD EM's Commitment

At SeeD EM, as Drupal experts and a silver partner of the Drupal Association, we understand that our company’s growth is intrinsically linked to the development and evolution of the Drupal community. For this reason, we have integrated active contribution to this ecosystem as a fundamental part of our internal plan and project. Every Friday afternoon, our production team dedicates time to various tasks that strengthen the Drupal community, covering:

  • Participation in events and talks: Our experts share their knowledge and experiences at events and workshops within the Drupal ecosystem, generating impact both locally and internationally.
  • Core and module translations: To make Drupal accessible to a global audience, our team dedicates itself to translating Drupal core and modules into various languages, helping the platform grow in different markets.
  • Resolving issues in modules: As part of SeeD EM's commitment, we help resolve errors and issues in contributed modules, ensuring Drupal remains a stable and reliable platform for its users.
  • Custom development in Drupal: Our team has worked on over seven modules currently in development and soon to be contributed to the community, designed to provide new features and solutions that meet the current needs of users.

This effort has fostered a space of learning and collaboration within SeeD EM, where our developers and experts work together to solve complex problems, develop new modules, and share knowledge. This exchange has been fundamental to our growth both individually and organizationally.

The Importance of Contributing to Drupal

Contributing to Drupal is more than just writing code; it’s being part of a global ecosystem that has led to over 52,000 modules enhancing the platform's flexibility and functionality. The Drupal community is one of the most active and dynamic in the open-source world, and every contribution, no matter how small, helps improve the platform for everyone.

One of the recent advancements we can highlight is the use of an automated bot that helps solve compatibility issues between modules, facilitating and speeding up the review process, allowing developers to focus on key improvements. This type of innovation is only possible thanks to the ongoing commitment of developers and companies like SeeD EM, who dedicate time and resources to contributing to the project.

The Impact for SeeD EM and Our Team

Our contribution to Drupal not only strengthens the community but also directly impacts SeeD EM. The custom development we carry out in Drupal allows us to stay at the forefront of trends and technological improvements, providing our team with constant growth opportunities. Contribution Fridays have become a valuable space for collaboration, innovation, and learning, where the team explores new ideas, solves problems, and develops solutions that benefit both our projects and the Drupal community in general. In order to share knowledge, we also participate in and contribute to community events, sharing updates, tips, and best practices for using Drupal. Additionally, we have sought to reach academic communities to encourage students to use Drupal in their classroom projects, thus fostering a next generation of Drupal developers.

We remain committed to actively contributing to Drupal because we believe that only through collaboration and contribution can we foster a stronger and more dynamic open-source ecosystem.

SeeD EM is proud to be part of this movement and to be recognized as a silver partner of the Drupal Association, working hand-in-hand with the community to continue growing together. The future of Drupal is built by everyone!

Contribuir como empresa a Drupal y su comunidad: El compromiso de SeeD EM

En SeeD EM, como expertos en Drupal y partner silver de la asociación Drupal, entendemos que el crecimiento de nuestra empresa está intrínsecamente ligado al desarrollo y evolución de la comunidad de Drupal. Por esta razón, hemos integrado como parte fundamental de nuestro plan y proyecto interno la contribución activa a este ecosistema. Todos los viernes por la tarde, nuestro equipo del área de producción dedica tiempo a diferentes tareas que fortalecen la comunidad de Drupal, abarcando:

  • Participación en eventos y charlas: Nuestros expertos comparten sus conocimientos y experiencias en eventos y talleres dentro del ecosistema Drupal, generando un impacto tanto a nivel local como internacional.
  • Traducciones de core y módulos: Con el objetivo de hacer Drupal accesible a una audiencia global, nuestro equipo se dedica a traducir el núcleo y módulos de Drupal a varios idiomas, contribuyendo al crecimiento de la plataforma en diferentes mercados.
  • Solución de incidentes en módulos: Parte del compromiso de SeeD EM es ayudar a resolver errores e incidentes en módulos contribuidos, garantizando que Drupal continúe siendo una plataforma estable y confiable para sus usuarios.
  • Desarrollo personalizado en Drupal: Nuestro equipo ha trabajado en más de siete módulos que están en desarrollo y pronto serán contribuidos a la comunidad, diseñados para ofrecer nuevas funcionalidades y soluciones que responden a las necesidades actuales de los usuarios.

Este esfuerzo ha fomentado un espacio de aprendizaje y colaboración dentro de SeeD EM, donde nuestros desarrolladores y expertos trabajan en conjunto para solucionar problemas complejos, desarrollar nuevos módulos y compartir conocimientos. Este intercambio ha sido fundamental para nuestro crecimiento tanto a nivel individual como organizacional.

La importancia de contribuir a Drupal

Contribuir a Drupal es más que simplemente escribir código; es ser parte de un ecosistema global que ha dado lugar a más de 52,000 módulos que potencian la flexibilidad y funcionalidad de la plataforma. La comunidad Drupal es una de las más activas y dinámicas en el ámbito del software libre, y cada contribución, por pequeña que sea, ayuda a mejorar la plataforma para todos.

Uno de los avances recientes que podemos identificar es el uso de un bot automatizado que ayuda a solucionar problemas de compatibilidad entre módulos, lo que facilita y acelera el proceso de revisión, permitiendo que los desarrolladores se concentren en mejoras clave. Este tipo de innovación es solo posible gracias al compromiso continuo de los desarrolladores y empresas como SeeD EM, que dedican tiempo y recursos a contribuir al proyecto.

El impacto para SeeD EM y nuestro equipo

Nuestra contribución a Drupal no solo fortalece a la comunidad, sino que también impacta directamente en SeeD EM. El desarrollo personalizado que realizamos en Drupal nos permite estar a la vanguardia de las tendencias y mejoras tecnológicas, brindando a nuestro equipo oportunidades constantes de crecimiento. Los viernes de contribución se han convertido en un espacio valioso para la colaboración, innovación y aprendizaje, donde el equipo explora nuevas ideas, resuelve problemas y desarrolla soluciones que benefician tanto a nuestros proyectos como a la comunidad de Drupal en general. Con el objetivo de aportar conocimiento, también participamos y contribuimos en eventos de la comunidad, compartiendo novedades, consejos y mejores prácticas en el uso de Drupal. Además, hemos buscado llegar a comunidades académicas para fomentar en los estudiantes el uso de Drupal en sus proyectos de aula, impulsando así una próxima generación de desarrolladores de Drupal.

Seguiremos firmes en nuestro compromiso de contribuir activamente a Drupal, porque creemos que solo a través de la colaboración y la contribución es posible impulsar un ecosistema de software libre más fuerte y dinámico.

SeeD EM está orgulloso de formar parte de este movimiento y de ser reconocidos como partner silver de la asociación Drupal, trabajando de la mano con la comunidad para seguir creciendo juntos. ¡El futuro de Drupal se construye entre todos!

What is Drupal and why is it a leader in digital transformation?

Drupal has proven to be a key platform in digital transformation due to its flexibility, robustness, and customization capabilities. More than just a CMS, Drupal is a development framework that allows organizations to create both websites and advanced web applications, thanks to its modular architecture and extensive API. This makes it an ideal choice for complex projects that require specific and scalable solutions.

Why is Drupal a leader in digital transformation?

  • Extensibility and Customization: Drupal offers a highly flexible platform where functionalities can be added and modified through custom or existing modules. This capability allows the CMS to adapt to the specific needs of each project, from corporate portals to e-commerce platforms or government sites.

  • Global and Collaborative Community: With over 1.3 million members in its community, Drupal benefits from a global network that drives continuous innovation. The community not only constantly develops and improves the software but also offers active technical support, ensuring that the platform evolves and remains at the forefront of technology.

  • Security and Scalability: Drupal is known for its strong focus on security and its ability to handle complex and demanding environments, such as those of governments, large corporations, and transactional sites. This makes it a reliable choice for those who require a secure and high-performance platform.

  • Open Source and GNU License: As open-source software under the GNU General Public License, Drupal allows organizations to modify and adapt the platform without restrictions, fostering innovation and collaboration. This ensures that digital solutions are not limited by commercial licenses and promotes continuous and agile development.

  • Integration with External Systems: Drupal's ability to integrate with external systems, such as CRMs, Ad Servers, or authentication services (LDAP), makes it a comprehensive solution. This allows companies to manage multiple tools and services from a single platform, optimizing processes and reducing operational costs.

Use Cases and Key Benefits

Drupal is suitable for a wide range of applications: from simple content websites to complex portals with high volumes of traffic and transactions. Its modular architecture allows it to adapt to changing needs, making it ideal for extensive sites, such as government portals, or e-commerce platforms that require efficient content and transaction management.

Additionally, Drupal is known for its ability to optimize SEO strategies, ensuring that platforms built with this CMS are not only functional but also visible on search engines, which is crucial for brand positioning.

Drupal in Latin America: Impact and Expansion

In Latin America, Drupal has grown significantly, and SeeD EM is a key example of this growth. As a leading provider of Drupal solutions in the region, SeeD EM has worked with companies in Colombia, Peru, Mexico, Guatemala, Panama, Chile, and Ecuador, standing out for its experience and ability to handle complex projects. Its participation in events such as DrupalCon and Drupal Summit Latino, and its certification as a Silver "partner" by Drupal.org, demonstrate its commitment to the expansion and success of Drupal in Latin America.

¿Qué es Drupal y por qué es líder en transformación digital?

Drupal ha demostrado ser una plataforma clave en la transformación digital debido a su flexibilidad, robustez y capacidad de personalización. Más que un simple CMS, Drupal es un framework de desarrollo que permite a las organizaciones crear tanto sitios web como aplicaciones web avanzadas, gracias a su arquitectura modular y su extensa API. Esto lo convierte en una opción ideal para proyectos complejos que requieren soluciones específicas y escalables.

¿Por qué Drupal es líder en la transformación digital?

  • Extensibilidad y Personalización: Drupal ofrece una plataforma altamente flexible donde se pueden añadir y modificar funcionalidades mediante módulos personalizados o existentes. Esta capacidad permite adaptar el CMS a las necesidades específicas de cada proyecto, desde portales corporativos hasta plataformas de comercio electrónico o sitios gubernamentales.

  • Comunidad Global y Colaborativa: Con más de 1.3 millones de miembros en su comunidad, Drupal se beneficia de una red global que impulsa la innovación continua. La comunidad no solo desarrolla y mejora constantemente el software, sino que también ofrece soporte técnico activo, asegurando que la plataforma evolucione y se mantenga a la vanguardia de la tecnología.

  • Seguridad y Escalabilidad: Drupal es conocido por su sólido enfoque en la seguridad y su capacidad para manejar entornos complejos y exigentes, como los de gobiernos, grandes corporaciones y sitios transaccionales. Esto lo convierte en una opción confiable para aquellos que requieren una plataforma segura y de alto rendimiento.

  • Código Abierto y Licencia GNU: Como software de código abierto bajo la Licencia Pública General de GNU, Drupal permite a las organizaciones modificar y adaptar la plataforma sin restricciones, fomentando la innovación y la colaboración. Esto asegura que las soluciones digitales no estén limitadas por licencias comerciales y promueve un desarrollo continuo y ágil.

  • Integración con Sistemas Externos: La capacidad de Drupal para integrarse con sistemas externos, como CRMs, Ad Servers o servicios de autenticación (LDAP), lo convierte en una solución integral. Esto permite a las empresas gestionar múltiples herramientas y servicios desde una única plataforma, optimizando procesos y reduciendo costos operativos.

Casos de Uso y Beneficios Clave

Drupal es adecuado para una amplia gama de aplicaciones: desde simples sitios web de contenido hasta portales complejos con altos volúmenes de tráfico y transacciones. Su arquitectura modular le permite ajustarse a necesidades cambiantes, lo que lo hace ideal para sitios extensos, como los gubernamentales, o plataformas de comercio electrónico, que requieren una gestión eficiente de contenido y transacciones.

Además, Drupal es conocido por su capacidad para optimizar estrategias de SEO, asegurando que las plataformas construidas con este CMS no solo sean funcionales, sino también visibles en motores de búsqueda, lo que es crucial para el posicionamiento de marca.

Drupal en América Latina: Impacto y Expansión

En América Latina, Drupal ha crecido significativamente, y SeeD EM es un ejemplo clave de este crecimiento. Como proveedor líder de soluciones Drupal en la región, SeeD EM ha trabajado con empresas en Colombia, Perú, México, Guatemala, Panamá, Chile y Ecuador, destacándose por su experiencia y capacidad para manejar proyectos complejos. Su participación en eventos como DrupalCon y Drupal Summit Latino, y su certificación como "partner" Silver por Drupal.org, demuestran su compromiso con la expansión y el éxito de Drupal en América Latina.

Content Management with Multi Dates Picker in Drupal

When building a content-rich website, it’s often necessary to control when certain content appears based on specific dates or date ranges. Whether you're managing events, promotional content, or time-sensitive announcements, the ability to automate content display can save you time and effort.


That’s where the Multi Dates Picker module comes into play. This Drupal module offers an efficient way to manage content visibility based on customizable date settings. In this post, we'll explore how the module works, its key features, and how it can simplify content management for your Drupal site.

Why Use Multi Dates Picker?

The main advantage of using this module is the flexibility it offers. You can select multiple dates, set a range, or choose just one specific date for when your content will be displayed. Once configured, it automates the visibility of the content, ensuring it appears only when needed and disappears when no longer relevant, without requiring manual intervention.

Let’s break down the key features:

  1. Single Date Selection: Perfect for time-specific content, like event announcements or scheduled updates. If you select only one date, the content will appear exclusively on that day.
  2. Date Range Support: Useful for content that needs to be displayed over a set period, such as a limited-time offer or a multi-day event. When two dates are selected, the content will be visible starting from the first date until the second.
  3. Multiple Dates: For recurring events or specific dates where the content should be visible, you can select three or more dates, and the content will be displayed on each selected day

How to Implement Multi Dates Picker

Implementing this module in your Drupal project is straightforward. Follow these steps to get started:

  • Select Your Content Type: Choose the content type where you want to control visibility with the Multi Dates Picker.
  • Add the Multi Dates Picker: In the field settings, add the field to your chosen content type. This will allow you to set the specific dates when editing content.
  • Configure the Dates: When creating or editing content, go to the advanced settings and select the desired dates for the content to be shown.

And that’s it! Once configured, the module takes care of showing or hiding the content according to the dates you selected.

Use Cases for Multi Dates Picker

The flexibility of this module opens the door to numerous use cases, including:

  • Event Management: Schedule event announcements to appear leading up to the event and disappear once it’s over.
  • Holiday or Seasonal Content: Display promotional banners or seasonal messages during specific dates and remove them after the holiday season.
  • Recurring Posts: Automate the publishing of recurring posts that should only appear on specific days, such as weekly offers or reminders.
  • News Updates: Set a news article to be visible on launch day and hide it after a certain date to keep your content fresh.

Final Thoughts

The Multi Dates Picker is a powerful module that adds significant flexibility to content scheduling in Drupal. By automating content visibility based on selected dates, it allows for better control over how your audience engages with time-sensitive material, helping to streamline your content management workflow.

If you're managing events, promotions, or simply need a smarter way to handle date-specific content, this module is a must-try. It’s simple to use, but the impact on your site's efficiency is significant.

Do you have questions about setting it up, or do you have other modules you’d like to learn more about? Feel free to leave a comment below, and we’ll help you get started!

For more details, visit Multi Dates Picker. This module was developed by John Camilo Bautista Gutierrez at SeeD EM.

Gestión de Contenidos con Multi Dates Picker en Drupal

Cuando se construye un sitio web rico en contenido, a menudo es necesario controlar cuándo aparece cierto contenido en función de fechas específicas o rangos de fechas. Ya sea que estés gestionando eventos, contenido promocional o anuncios con tiempo limitado, la capacidad de automatizar la visualización del contenido puede ahorrarte tiempo y esfuerzo.

Ahí es donde entra en juego el módulo Multi Dates Picker. Este módulo de Drupal ofrece una manera eficiente de gestionar la visibilidad del contenido según configuraciones de fechas personalizables. En este artículo, exploraremos cómo funciona el módulo, sus características clave y cómo puede simplificar la gestión de contenidos en tu sitio Drupal.

¿Por Qué Usar Multi Dates Picker?

La principal ventaja de este módulo es la flexibilidad que ofrece. Puedes seleccionar varias fechas, configurar un rango o elegir una fecha específica para que tu contenido se muestre. Una vez configurado, automatiza la visibilidad del contenido, asegurando que se muestre solo cuando sea necesario y desaparezca cuando ya no sea relevante, sin necesidad de intervención manual.

Veamos sus características clave:

  • Selección de una sola fecha: Perfecto para contenido que debe mostrarse en un momento específico, como anuncios de eventos o actualizaciones programadas. Si seleccionas solo una fecha, el contenido aparecerá exclusivamente ese día.
  • Soporte para rangos de fechas: Ideal para contenido que necesita mostrarse durante un período específico, como ofertas por tiempo limitado o eventos de varios días. Al seleccionar dos fechas, el contenido será visible desde la primera hasta la segunda.
  • Múltiples fechas: Para eventos recurrentes o fechas específicas en las que el contenido debe mostrarse, puedes seleccionar tres o más fechas, y el contenido se mostrará en cada día seleccionado.

Cómo Implementar Multi Dates Picker

Implementar este módulo en tu proyecto de Drupal es sencillo. Sigue estos pasos para comenzar:

  1. Selecciona tu Tipo de Contenido: Elige el tipo de contenido en el que deseas controlar la visibilidad con el campo Multi Dates Picker.
  2. Añade el Campo Multi Dates Picker: En la configuración de campos, añade el campo a tu tipo de contenido seleccionado. Esto te permitirá establecer las fechas específicas al editar el contenido.
  3. Configura las Fechas: Al crear o editar contenido, ve a la configuración avanzada y selecciona las fechas deseadas para que se muestre el contenido.

¡Y eso es todo! Una vez configurado, el módulo se encargará de mostrar u ocultar el contenido según las fechas seleccionadas.

Casos de Uso para Multi Dates Picker

La flexibilidad de este módulo permite varios casos de uso, tales como:

  • Gestión de Eventos: Programa los anuncios de eventos para que se muestren antes del evento y desaparezcan una vez terminado.
  • Contenido de Temporada o Festivo: Muestra banners promocionales o mensajes festivos durante fechas específicas y elimínalos después de la temporada festiva.
  • Publicaciones Recurrentes: Automatiza la publicación de publicaciones recurrentes que deben aparecer en días específicos, como ofertas semanales o recordatorios.
  • Actualizaciones de Noticias: Configura un artículo de noticias para que sea visible en el día de lanzamiento y se oculte después de una fecha determinada, manteniendo el contenido fresco.

Reflexiones Finales

El Multi Dates Picker es un módulo poderoso que agrega flexibilidad significativa a la programación de contenido en Drupal. Al automatizar la visibilidad del contenido según las fechas seleccionadas, permite un mayor control sobre cómo tu audiencia interactúa con el material sensible al tiempo, ayudando a optimizar el flujo de trabajo de gestión de contenidos.

Si estás gestionando eventos, promociones o simplemente necesitas una forma más inteligente de manejar contenido con fechas específicas, este módulo es una opción que debes probar. Es fácil de usar, pero su impacto en la eficiencia de tu sitio es considerable.

¿Tienes preguntas sobre cómo configurarlo o sobre otros módulos que te gustaría conocer? ¡Déjanos un comentario y te ayudaremos a comenzar!

Para más detalles, visite Multi Dates Picker,  Este módulo fue desarrollado por John Camilo Bautista Gutierrez en SeeD EM.

Primeras impresiones de Drupal 8

Con más de 200 nuevas características y mejoras, el próximo lanzamiento de la plataforma líder de gestión de contenido web en el mundo del código abierto te seducirá. Así comienza el primer párrafo de la sección de Drupal 8 que drupal.org está dedicando en su próximo lanzamiento.

En SeeD, nos dejamos seducir por esta nueva versión y, por lo tanto, asumimos la tarea de migrar nuestro sitio anterior de Drupal 7 a Drupal 8, aprovechando un nuevo y limpio diseño. Este es el primero de una serie de artículos en los que explicaremos nuestra experiencia en esta emocionante aventura: desde la concepción hasta el lanzamiento y mantenimiento de nuestro nuevo sitio en Drupal 8.

Drupal 8 todavía está en fase beta y no se recomienda para usuarios no técnicos ni para la construcción de sitios de alto tráfico o alta disponibilidad. En esta etapa, se recomienda que los desarrolladores y constructores de sitios (site builders) prueben y contribuyan a la solución de "bugs" o errores críticos encontrados durante las pruebas.

 

¿Cuándo estará listo Drupal 8?

Esta es la pregunta del millón. Para conocer su estado ha habido varios esfuerzos por parte de expertos, uno de los que parece cercano a la realidad es el Drupal Release Date, un sitio que, de acuerdo con los nuevos problemas que se crean (activos) y los que se resuelven (corregidos), estima la fecha de lanzamiento. Incluso hay una cuenta de Twitter @ isd8outyet que menciona diariamente si Drupal 8 ha sido lanzado, es decir, dice "sí" o "no", como puedes imaginar, hasta ahora solo ha tuiteado "no". Lo que es cierto es que el primer RC (release candidate) de Drupal 8 se lanzará cuando haya cero problemas críticos y se lanzará como una versión estable cuando haya cero problemas mayores. Lo interesante es que puedes hacer una predicción de cuándo estará listo Drupal 8 y ganar un ticket de premio para el próximo DrupalCon en Drupal 8 Hivemind. Según la estimación dada por Dries Buytaert en una charla informal y "off-the-record" durante DrupalCon LatAm en Bogotá, cree que para abril de 2015 estarán muy cerca del "release candidate".

Una de las cosas que rápidamente notas cuando empiezas a desarrollar con esta nueva versión es que la documentación de Drupal 8 en comparación con Drupal 7 es escasa. Por supuesto, esto se resolverá a medida que se vuelva más estable, el desarrollo se está moviendo rápidamente y necesita continuar a este ritmo para llegar a su versión madura lo antes posible. Así que debemos tener buenas habilidades para buscar en Google, inspeccionar y aprender del código del núcleo, utilizar el método de ensayo y error y preguntar en IRC o en Drupal Answers.

 

Sobre los constructores de sitios (site building):

Drupal 8 es increíble. En poco tiempo puedes construir casi todo el sitio sin usar un módulo contribuido. A veces te encuentras con algunos errores, pero es de esperarse en versiones beta.

  • La construcción de tipos de contenido es más poderosa. Puedes configurar modos de vista, modos de formulario y muchos campos diferentes, como correo electrónico, referencia de entidad, enlace, etc.

  • Capacidad para realizar un sitio multilingüe: ya no necesitas tener una docena de módulos para esto, está incluido en el núcleo de Drupal 8. Desde la primera pantalla de instalación puedes seleccionar tu idioma nativo y, desde allí, todo se traducirá, incluidas las vistas y los campos de imagen.

  • Editor WYSIWYG ahora es parte del núcleo. También se incluyó un editor en línea para editar más rápido, es decir, no tienes que ir a una página para editar contenido, sino que puedes hacerlo directamente en el elemento de visualización. ¡Es genial!

  • Views: también se incluyó en el núcleo y funciona de maravilla.

 

Con respecto al back-end:

  • Enfocado en los estándares actuales: se incluyeron algunos componentes como el Symfony framework y otras bibliotecas externas como Composer, PHPUnit, Guzzle, el componente Zend Feed, Assetic y más. Esta nueva versión incluye un código mucho más moderno, es orientado a objetos (clases, herencia, interfaces, etc.) e incluye los últimos estándares de PHP (ej. PSR-0, PSR-4, namespaces, traits). ¡Drupal ya no estará en una isla!

  • Muchos componentes son plugins y para modificar su comportamiento, solo necesitas extender la clase y colocarla en el "namespace" correcto.

  • Consejo: Si vas a desarrollar un sitio de producción, debes asegurarte de usar versiones beta y no versiones dev.

  • No puedes hacer una "actualización" de una versión beta a otra. Así que, para actualizar, ten cuidado. Consejo: cuando se lance una versión beta, en la descripción puedes leer sobre los aspectos a considerar al actualizar de una beta a otra.

  • El sistema de traducción es verdaderamente espectacular.

  • Servicios web en el núcleo: puedes publicar contenido en formato JSON o XML (está integrado en Views) para que sea consumido por otra aplicación, lo cual es muy útil para "headless".

 

Con respecto al front-end:

  • La construcción de un tema personalizado para Drupal 8 es un proceso casi completamente diferente al de la construcción de uno para Drupal 7.

  • Lo más notable es el cambio en el motor de plantillas de PHP Template a Twig. Este último es mucho más fácil e intuitivo que su predecesor, y no necesitas saber PHP para hacer una plantilla.

  • En muchas ocasiones fue necesario usar {{dump ()}} para mostrar todas las variables disponibles en la plantilla y elegir las necesarias.

  • Drupal 8 ha agregado un extenso soporte para tecnologías estándar de accesibilidad, incluidas WAI-ARIA, y ha estado trabajando para proporcionar un HTML5 más semántico.

Crear sitios web con Drupal 8 es posible hoy en día. Por supuesto, debemos ser conscientes de las limitaciones de los módulos que aún no han sido migrados y de los errores que aún se pueden encontrar en el núcleo. Por otro lado, te sientes bien trabajando con Drupal 8. Han incorporado las mejores prácticas tanto en el back-end como en el front-end, y la experiencia de crear sitios web utilizando su interfaz, que es realmente sólida. ¡Y, de hecho, nos ha seducido! Estamos ansiosos por contarles cómo va el desarrollo de nuestro primer proyecto en Drupal 8 para un cliente.

Cómo mostrar los mensajes de error de PHP en Drupal 8 y 9

If you are ever working with code in Drupal and encounter the typical message, "The website encountered an unexpected error. Please try again later," it’s a sign that there’s a bug. However, there’s no way to know exactly where it occurred, and it's tedious to go back and forth trying to find it manually. Drupal has an error level manager to help display errors.

The following tip is a trick developers can use to make the most obvious errors visible.

All you have to do is copy the following code.

Codigo PHP

And paste it into the "settings.php" file of your Drupal installation.

Files PHP

The code can be placed anywhere in the settings.php file; in this example, it was pasted at the end.

Codigo PHP

Save the changes and return to the broken page, and you should now see that the error will be visible on the page.

log PHP

Once the code causing the error is fixed, reload the page, and it should be resolved.

Very important: perform this action only in local environments, as doing it in production could expose important server information to potential attackers.

Video credits: https://www.youtube.com/watch?v=Mem8nxlBJ0I&ab_channel=OSTraining

Buenas prácticas con Composer en Drupal 8

Este artículo es una adaptación al español del excelente artículo creado por JAMES SANSBURY de Lullabot en https://www.lullabot.com/articles/drupal-8-composer-best-practices

Esta traducción puede no ser literal pero contiene la esencia de lo expresado en el artículo original, se traduce con el objetivo de hacerlo disponible a quienes no dominan el idioma inglés.

----------

En Drupal 7 estábamos acostumbrados a instalar Drupal, sus módulos y sus temas simplemente descargando directamente desde el sitio Web o usando Drush, una tarea muy sencilla para quien ya venía acostumbrado a la tarea, sin embargo en otras trincheras de PHP la historia se estaba contando de otra forma y eso lo sabía el equipo de desarrollo del núcleo de Drupal 8, así que en todo ese proceso de arquitectura de la nueva versión se incluyó el gestor de paquetes por excelencia de PHP para hacernos la vida mas fácil, si, estoy hablando de Composer.

Estoy seguro que para muchos que andaban en la isla de Drupal 7, Composer sonaba a algo extraño al cual no valía la pena voltear a mirar ya que Drupal podía seguir instalándose de la manera tradicional, sin embargo, al momento de instalar un módulo contribuido es donde realmente se valora a Composer, algunos módulos tienen una gran cantidad de dependencias con librerías y módulos que si se instalan manualmente le pueden poner al borde de la locura.

La gestión de dependencias es complicada y no será fácil. Como Ryan Szrama dice:

"Si no está usando un gestor de dependencias [como composer], entonces usted es el gestor de dependencias y es poco confiable"

 

¿Por qué Composer?

  • A menudo los módulos o temas tienen dependencias de librerías que son de terceros, es decir que no encuentras en Drupal.org y que se resuelven usando composer, si lo haces manualmente puede resultar muy tedioso.
  • Composer le ayuda a validar si un paquete o módulo que está intentando instalar es compatible con su versión de PHP, no tendrá que intentar activarlo con Drupal para darse cuenta.
  • También le ayuda a detectar conflictos entre paquetes y módulos
  • Si llega a actualizar un paquete o incluso su versión de PHP, no tendrá que volver a hacer todo el proceso manual, composer lo hará para usted.
  • drush dl será removido pronto en favor de composer, más info https://github.com/drush-ops/drush/pull/2654
  •  

Por donde empezar

La documentación disponible en drupal.org es bastante útil para empezar, si aún no tiene instalado Composer en su entorno, hágalo y recuerde asegurarse de estar usando la misma versión de PHP en todos sus entornos, desarrollo, pruebas y producción, así asegurará que todo lo validado por composer funcione también en sus otros entornos, usando herramientas como Vagrant o Docker podrá hacerlo fácilmente.

Vamos a instalar el núcleo de Drupal usando una plantilla que existe en Composer y que tiene por nombre drupal-project, esta plantilla se encargará de hacer la descarga del núcleo en nuestro directorio junto a un modelo de estructura recomendada para aprovechar al máximo docker.

Ejecute lo siguiente:

$ composer create-project drupal-composer/drupal-project:8.x-dev example --stability dev --no-interaction

El anterior comando copiará a drupal-project dentro de la carpeta example, descargará el núcleo de Drupal y algunos paquetes útiles, una vez termine es una buena práctica que ingrese a la carpeta e inicialice un repositorio en git, el proyecto ya contiene un archivo .gitignore con todos los directorios que no deberían ir en git y así hacer liviano el repositorio.

Fíjese en el archivo composer.json que está en el directorio, ese archivo funciona como una receta que indica todos paquetes necesarios para su instalación de Drupal así como dependencias entre otras cosas.

 

Cómo descargar módulos y temas.

Si le es familiar Drush, entonces no tendrá problemas con composer, básicamente solo es acostumbrarse a una nueva sintaxis que resulta muy similar, drupal-project ya include el repositorio de drupal para instalar paquetes, si por alguna razón, está usando composer bajo un modelo ajustado a sus necesidades, puede que requiera instalar el repositorio manualmente.

La siguiente es la sintaxis para instalar un paquete, ya sea un módulo o un tema

composer require [vendor]/[packagename]

Básicamente se trata de reemplazar lo que está entre [...], en donde el vendor es Drupal y el packagename es el nombre de máquina del módulo o tema, ejemplo:

composer require drupal/devel

¿Fácil verdad?, el lugar donde de instala el paquete descargado depende de donde se haya definido en el archivo composer.json, en el caso de drupal-project está definido en web/modules/contrib, a estos se les llaman installer-paths.

 

Dependencias para desarrollo

Suele suceder que algunos módulos solo los necesitamos para nuestro entorno de desarrollo y no para producción, un buen ejemplo es el módulo devel, para esos casos Composer nos permite especificarlo con la bandera --dev agregándolo al comando composer require.

$ composer require --dev drupal/devel

Esto asegurará que el módulo estará disponible para los desarrolladores cuando ejecuten

$ composer install

pero no se descargará si se ejecuta

$ composer install --no-dev

Hacer uso de la bandera --dev es una practica recomendada a la hora de usar composer

Como nota aparte, pero muy importante, si está haciendo commit de su configuración exportada de Drupal 8 es recomendable que haga uso del módulo Configuration Splint para asegurarse que el estado activado del módulo devel no se pase a producción y termine generando un error en el despliegue.

 

Dependencias anidadas

Los módulos o temas pueden tener su propio archivo composer.json que especifica unas dependencias adicionales, este archivo también es leído por composer al descargar el módulo y por lo tanto también resuelve esas dependencias, un ejemplo claro de eso es el módulo Address que tiene un archivo composer con distintas dependencias.

 

Descarga de versiones específicas

Puede suceder que en su instalación se requiera una versión específica de un módulo por compatibilidad, Composer es muy flexible en ese escanario y por eso tiene un extenso capítulo al respecto que es recomendable leer, a continuación las más usadas.

 

  • Se usan los dos puntos después del vendor/package para especificar una versión o limitación.
composer require drupal/foo:1.2.3

En el ejemplo anterior puede notar que en el número de la versión no se ha incluido la versión de Drupal, es decir, de la forma 8.x-1.2.3, esto es porque en Composer esto no se requiere.

 

  • La limitación usando el signo de intercalación (^) permite que sea instalada cualquier nueva versión excepto aquella que puede ser de un cambio de versión mayor y que puede dañar la estabilidad, en otras palabras, el primer número de la versión no puede cambiar pero los otros si.
composer require drupal/foo:^1.0 

El anterior comando permitirá instalar un versión del módulo que sea mayor o igual a 1.0 pero inferior a 2.0, si necesita especificar una versión, este es el método recomendado.

 

  • La limitación usando la virgulilla (~) es un poco mas restrictiva que el caso del signo de intercalación, esto significa que composer puede descargar una versión superior del último dígito especificado, por ejemplo
composer requirer drupal/foo:~1.2

Permitirá cualquier valor mas grande o igual a 1.2 como 1.2.0, 1.2.1, 1.9 etc... pero no permitirá incrementar a la versión 2.x

 

  • Se pueden establecer otras limitaciones que se explican mejor por si solas como las banderas -dev -stable o incluso especificar comodines con *.

 

A qué hacerle commit

 

Usando como referencia la estructura de directorio definida por drupal.project, explore el archivo .gitignore, seguramente lo mencionado a continuación ya está siendo tenido en cuenta.

No haga commit a

  • ./vendor
  • ./web/core
  • ./web/modules/contrib
  • ./web/themes/contrib

Haga commit a

  • composer.json y composer.lock (Este guardará las versiones exactas que fueron descargadas y así se asegurará que no se instalarán versiones distintas en otros ambientes)
  • Cualquier otro código como es normal.

 

Cómo realizar actualizaciones

Actualizar un módulo, tema o librería es muy similar a como se hace la instalación, solo tenga en cuenta hacerlo en un momento no crítico del proyecto para poder evaluar las posibles incompatibilidades de la nueva versión.

Este es un ejemplo de actualización el módulo devel, note que se hace uso de la bandera --with-dependencies para que también se actualicen las dependencias requeridas por el módulo, de lo contrario solo se actualiza el módulo.

$ composer update --with-dependencies drupal/devel

Si quisiera actualizar todos los paquetes de Drupal, haga uso de del comodín *, ejemplo:

composer update --with-dependencies drupal/*

 

Sobre los parches

Es inevitable que un módulo, tema o librería pueda requerir un parche en el proceso de desarrollo y ya que no estamos cargando el código parchado en el repositorio, se necesita un método para que el flujo entre ambientes tenga en cuenta los parches que se están aplicando. Para ese caso recomendamos el uso de composer-patches si está trabajando con la plantilla drupal-project este ya se encuentra instalado, sino, instalarlo es mu y fácil con el siguiente comando.

$ composer require cweagans/composer-patches

Para parchar un paquete se edita el archivo composer.json para agregar la definición en la sección extra, veamos un ejemplo con un parche para el módulo devel.

"extra": {
  "patches": {
    "drupal/devel": {
      "2860796: Create a branch of devel compatible with Media in core": "https://www.drupal.org/files/issues/2860796-2.patch"
    }
  }
} 

Puede notar que la sintaxis define un comentario a la izquierda y la URL del parche a la derecha, si lo prefiere también puede apuntar a un directorio en el repositorio donde esté almacenando el parche.

Una vez haya hecho la modificación ejecute composer update drupal/devel para que quede aplicado el parche

$ composer update drupal/devel
Gathering patches for root package.
Removing package drupal/devel so that it can be re-installed and re-patched.
Deleting web/modules/contrib/devel - deleted
> DrupalProject\composer\ScriptHandler::checkComposerVersion
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 1 install, 0 updates, 0 removals
Gathering patches for root package.
Gathering patches for dependencies. This might take a minute.
- Installing drupal/devel (1.2.0): Loading from cache
- Applying patches for drupal/devel
https://www.drupal.org/files/issues/2860796-2.patch (2860796: Create a branch of devel compatible with Media in core)

Si se presenta el caso que alguna dependecia requiere un parche, por ejemplo un módulo conribuido requiere un parche en el core, tendrá que definirlo explícitamente en su archivo composer.json o ejecutar lo siguiente

$ composer config extra.enable-patching true

 

Cómo eliminar un módulo o tema

Tal como agregar o actualizar, eliminar es muy similar y fácil de hacer

$ composer remove drupal/devel

Si agregó el módulo con la bandera --dev, puede que le pregunte si quiere borrarlo de require-dev, si ese es el caso, podría usar el comando de la siguiente forma para que no le haga la pregunta

$ composer remove --dev drupal/devel

 

Eliminar parches

Si desea eliminar un módulo o tema que tenga parches, debe tener en cuenta que los parches no se eliminan por si solos sino que tendrá que hacerlo manualmente desde el archivo composer.json o con un comando como el siguiente que es para el módulo devel.

$ composer config --unset extra.patches.drupal/devel

 

Alertas por cambio en el hash del lock

Cuando se hacen cambios al composer.json el hash del archivo .lock deja de coincidir por o tanto arroja una alerta, para volver a ajustar el hash sin necesidad de ejecutar un composer update completo, puede ejecutarlo de la siguiente manera para que solo recree el hash

composer update --lock

 

Acelerar la cosas

Algunas operaciones de composer pueden resultar muy lentas, para mejorar la velocidad puede instalar prestissimo que le permite a composer ejecutar operaciones en paralelo, lo mejor es instalarlo de forma global

$ composer global require hirak/prestissimo

 

No es perfecto

Es inevitable que en ocasiones algo no salga bien y se generen momentos de frustración en donde quieras mandar a Composer a la mismísima $%&/()=)(/&, en esos casos le invitamos a recordar que no está solo y que lo mas seguro es que se pueda resolver, solo en muy pocos casos puede resultar mas fácil que usted tenga que gestionar las dependencias manualmente, piense que es una inversión a largo plazo para la estabilidad de su proyecto.