drupal

BRAINSUM: How AI Raised Our Efficiency by 27%

How AI Raised Our Efficiency by 27% Image removed.pedro Thu, 12/21/2023 - 11:25 How AI Raised Our Efficiency by 27%

We’ve been using multiple AI tools since their inception. We subscribed to ChatGPT and Midjourney and found them extremely useful in many scenarios. While ChatGPT proved its capabilities as a general writing assistant it wasn’t that accurate and up-to-date in coding. Midjourney turned out to be the best generator of illustration images - just check the one generated for this post. Now I’m writing about Github Copilot, the "AI pair programmer". Our initial goal was to experiment and evaluate to learn what’s the real value behind the hype.

LN Webworks: How to use Ultimenu in Drupal

Image removed.

What is Ultimenu?

Ultimenu is the UltimatelyDeadSimple megamenu ever with dynamic region creation. An Ultimenu block is based on a menu. mainly we used Ultimenu to create the mobile menus. Ultimenu regions are based on the menu items. The result is a block contains regions containing blocks, as opposed to a region contains blocks.

Image removed.

How do we install Ultimenu?

Install the module with composer:
run command:
composer require 'drupal/ultimenu:^2.11'

After downloading, click extend and enable the module. No further dependencies are required.

LostCarPark Drupal Blog: Drupal Advent Calendar day 21 - PHP Attributes

Drupal Advent Calendar day 21 - PHP Attributes james Thu, 12/21/2023 - 07:00 Image removed.

It’s day 21, and our stockings are warming over the fireplace. Joe Shindelar (eojthebrave) joins us to open today’s door, and for the PHP developers among us, it will make a nice little stocking filler.

As of PHP 8.1, the PHP language has native support for attributes that are compatible with Drupal’s plugin system use case. As a result, Drupal will transition from the use of annotations to PHP attributes, to supply metadata and configuration for plugins. This will require developers to learn the new PHP attributes syntax, and update their existing code to use it. For now Drupal will continue…

Tags

Symphony Blog: Compress images before uploading in Drupal using DropzoneJS

When we was implementing a customer relationship management for a local client using Drupal, we faced this challege:

  • The client wanted to manage records of his patients with many treatment images captured by his iPhone
  • Each iPhone images can be large, 5 to 10MB depending on resolutions
  • While we can't hold so many large images to the web server, the disk space will soon run out

So we have to find a way to resize and compress images quality on the client side before uploading so they won't place burdens to the web server.

read more

LN Webworks: How to Migrate From WebSphere to Drupal 10

Image removed.

With the evolution of technology, businesses are actively transitioning to more efficient, reliable, and flexible solutions for their web platforms. Migrating from WebSphere to a cutting-edge CMS like Drupal 10 is a new trend stirred by the urge to adopt advanced technologies. If you wonder what makes Drupal 10 development a popular choice today, the answer lies in the CMS’s incredible features, flexibility, and scalability. Its top-notch cyber-security tools and supportive community also set the platform apart from the crowd. If you also aspire to ride the wave of technological advancement by migrating to Drupal 10, you’ll need to know the steps involved in the process. 

LostCarPark Drupal Blog: Drupal Advent Calendar day 20 - Event Organizers Working Group (EOWG)

Drupal Advent Calendar day 20 - Event Organizers Working Group (EOWG) james Wed, 12/20/2023 - 07:00 Image removed.

Once again, welcome back to the Drupal Advent Calendar. It’s day 20, and time to open our next door. Today Leslie Glynn (leslieg) joins us to talk about the Event Organizers Working Group (EOWG).

I bet a lot of you learned about Drupal and the awesome Drupal Community at a local Drupal event. I went to the Western Massachusetts Drupal Camp back in 2011 after I was assigned a Drupal website to support at work and had no idea what Drupal even was. I attended many great sessions, met a lot of folks in the local Drupal community and even purchased the “Definitive Guide to Drupal 7” (remember all…

Tags

SeanB: Introducing YAML Bundles: The easiest way to maintain your content types!

Image removed.

Let’s face it — manually creating and maintaining a lot of content types in Drupal can be a real pain. The repetitive nature of tasks, inconsistencies in field creation, and the time-consuming process of updating settings across multiple content types are familiar struggles for developers working in teams.

At TwelveBricks, we maintain sites with very different content models. Too much time was spent setting up and maintaining those models, so we finally decided to do something about it!

Enter YAML Bundles: A Developer’s new best friend

YAML Bundles is a pragmatic approach to streamlining content type management through YAML-based Drupal plugins. It allows developers to define fields and content types from custom modules, making it a lot easier to add or update fields and content types.

The module defines 3 important plugin types:

  • Field types
    By defining common field types and their form/display settings (like widgets and formatters), you can remove repetitive configuration from the bundle definitions.
  • Entity types
    You can define common settings for entity types to remove even more repetitive configurations from the bundle definitions. We have also integrated support for a bunch of other contrib modules we often use, to save even more time.
  • Entity bundles
    You can use the defined fields in entity bundles, complete with customizable form and display settings that can be overridden on a field-by-field basis. The default settings of the entity types can also be overridden if you need to.

The module ships with defaults for the most common field and entity types, but you can easily override them. We have tests, which we also used to document all the available plugin settings and options. You can check out the documentation in the plugin definitions of the yaml_bundles_test module.

YAML Bundles’ Drush Tools

To use the power of YAML bundles, we’ve added a couple of helpful Drush commands that will revolutionize your content type management.

drush yaml-bundles:create-bundles
This command uses the defined plugins to (re)create all the specified bundles, fields, and settings. Whether you’re starting from scratch or optimizing an existing configuration, this command ensures the seamless generation of all your content types with a single command.

drush yaml-bundles:create-bundle
You don’t have to use the bundle plugins if you don’t want to. For those who prefer a more hands-on approach, this command offers the flexibility to create a new content type directly through Drush.

drush yaml-bundles:create-field
This command simplifies the process of adding new fields to existing content types using default plugin configurations. With the ability to customize form and view displays, this command makes adding fields to different content types much easier.

Integrating the modules we all love

YAML Bundles comes with out-of-the-box support for several popular Drupal modules, including:

  • Pathauto: Define path aliases for entities and bundles effortlessly.
  • Content Translation: Translate fields, labels, and settings into multiple languages.
  • Content Moderation: Integrate content types into existing workflows.
  • Field Group: Group fields for your content type directly from the YAML plugins.
  • Simple Sitemap: Ensure your entity/bundle is included in the sitemap.
  • Maxlength: Define maximum lengths for text fields if needed.
  • Layout Builder: Utilize layout builder for your entity/bundle.
  • Search API: Index entities/bundles and defined fields using the powerful Search API.

Let’s define a content type

To define default settings and fields for an entity type in your custom module, create a [mymodule].yaml_bundles.entity_type.yml file. In this file, you can create all the defaults you need for the entity type.

# Add the default settings and fields for node types.
node:
description: ''
langcode: en

# Make sure our plugin gets preference over the yaml_bundle plugin.
weight: 1

# Default content type settings.
new_revision: true
preview_mode: 0
display_submitted: false

# Enable content translation.
content_translation:
enabled: true
bundle_settings:
untranslatable_fields_hide: '1'
language_alterable: true
default_langcode: current_interface

# Add the content to the sitemap by default.
sitemap:
index: true
priority: 0.5
changefreq: 'weekly'
include_images: false

# Enable layout builder.
layout_builder: true

# Enable content moderation.
workflow: content

# Add the content to the default search index.
search_indexes:
- default

# Create the full and teaser view displays.
view_displays:
- teaser

# Add the default fields.
fields:
langcode:
label: Language
weight: -100
form_displays:
- default
title:
label: Title
search: true
search_boost: 20
weight: -98
form_displays:
- default
field_meta_description:
label: Meta description
type: text_plain
search: true
search_boost: 20
maxlength: 160
maxlength_label: 'The content is limited to @limit characters, remaining: <strong>@remaining</strong>'
weight: -25
form_displays:
- default

# Translate the default fields.
translations:
nl:
fields:
langcode:
label: Taal
title:
label: Titel
field_meta_description:
label: Metabeschrijving
maxlength_label: 'De inhoud is beperkt tot @limit tekens, resterend: <strong>@remaining</strong>'
de:
fields:
langcode:
label: Sprache
title:
label: Titel
field_meta_description:
label: Meta-Beschreibung
maxlength_label: 'Der Inhalt ist auf @limit-Zeichen beschränkt, verbleibend: <strong>@remaining</strong>'

To define a content type in your custom module, create a [mymodule].yaml_bundles.bundle.yml file. In this file, you can create all the bundle definitions you need for the bundle.

node.news:
label: News
description: A description for the news type.
langcode: en

# Add generic node type settings.
help: Help text for the news bundle.

# Enable a custom path alias for the bundle. Requires the pathauto module to
# be enabled.
path: 'news/[node:title]'

# Configure the simple_sitemap settings for the bundle. Requires the
# simple_sitemap module to be enabled.
sitemap:
priority: 0.5

# Configure the search API index boost for the bundle. Requires the
# search_indexes to be configured and the search_api module to be enabled.
boost: 1.5

# Configure the fields for the bundle. For base fields, the field only needs
# a label. For custom fields, the type needs to be specified. The type
# configuration from the yaml_bundles.field_type plugins will be merged with
# the field configuration to allow the definition to be relatively simple.
# Generic defaults for a field type can be configured in the
# yaml_bundles.field_type plugins.
#
# See yaml_bundles.yaml_bundles.field_type.yml for the list of supported
# field types and their configuration properties.
fields:

field_date:
type: datetime
label: Date
required: false
search: true
search_boost: 1
cardinality: 1
field_default_value:
-
default_date_type: now
default_date: now
form_displays:
- default
view_displays:
- full
- teaser

field_body:
type: text_long
label: Text
required: true
search: true
search_boost: 1
form_displays:
- default
view_displays:
- full

field_image:
type: image
label: Image
required: true
search: true
form_displays:
- default
view_displays:
- full
- teaser

field_category:
type: list_string
label: Category
required: false
search: true
options:
category_1: Category 1
category_2: Category 2
form_displays:
- default
view_displays:
- full
- teaser

field_link:
type: link
label: Link
required: true
search: true
cardinality: 2
form_displays:
- default
view_displays:
- full
- teaser

That’s all folks!

We’re excited about the potential YAML Bundles brings to the Drupal ecosystem, and we can’t wait for you to experience the difference it makes in your projects. Please check it out and let us know what you think!

Download YAML Bundles | Documentation | Example plugins

Sponsored by TwelveBricks — The easiest CMS for your business

Building a new website can be a time-consuming and expensive process, but it doesn’t have to be. TwelveBricks offers an affordable and easy-to-use (Award-winning!) Content Management System (CMS) for a fixed monthly price.

We’ve optimized the workflow for editors so they can fully focus on their content without worrying about the appearance. With built-in analytics and extensive SEO tools, optimizing content becomes even easier. Each website can be delivered in just 2 days!

If you’re looking for a new website and don’t want to wait for months, spend a fortune, or compromise on quality, check out our website at https://www.twelvebricks.com/en.

Image removed.

Promet Source: Ask Us Anything about Drupal 10 Webinar Recap

Drupal 10 celebrated the one year anniversary of it's release this month, and despite both Drupal 8 and 9 having reached end of life, the Drupal Community's pace of upgrading to Drupal 10 lags far behind where it needs to be.  There's much to love about Drupal 10, and Promet recently assembled three of our top in-house experts on the topic for a free webinar designed to answer the big questions and help remove barriers to upgrading ASAP. Here's a link to the conversation along with a recap of the main points. 

Tag1 Consulting: Unraveling the ETL Process: Extract

Our latest episode of Tag1 Team Talks is an insightful guide through the Extract phase of the ETL (Extract, Transform, Load) process in Drupal migrations. Hosted by Janez Urevc, the episode features experts Mike Ryan and Benji Fisher, who offer a deep understanding of data extraction relevant to migrations from older versions of Drupal (6,7,8) or other CMS platforms altogether and more.

Read more janez Tue, 12/19/2023 - 04:47

Drupal Association blog: The DrupalCon Nonprofit Summit is back in 2024: Unlocking the Power of Drupal for Social Good

When I joined the Drupal Association in July, I underestimated how moved I would be by the collective power of the community. A throwback to my organizing roots, I reveled in the eclectic excitement surrounding the innovation and collaboration of the application, evolution, and marketing of Drupal.

I remember discovering open source software myself, over 10 years ago. The worker’s center I worked for housed an instance of CiviCRM in Drupal and we used it to track our members — as we served a vulnerable population, it was paramount to keep the data safe and away from clandestine subpoenas and prying eyes.

Drupal responds to a fundamental need in the nonprofit sector – the ability to own, control, and share data. Joining the Drupal Association as the Director of Philanthropy allows me to work within the nonprofit sector to leverage the power of Drupal for greater impact, and I yearned for an opportunity to collaborate with others with the same perspective.

The Drupal Association was remiss to let the Nonprofit Summit lapse at DrupalCon Pittsburgh, but… I am thrilled to reintroduce the Nonprofit Summit at DrupalCon Portland!

The network of nonprofits in the Drupal Community is strong and vibrant and has been a joy to work with and learn from. Judging by the extraordinary talent represented by its organizers, Jess Snyder and Johanna Bates, the Nonprofit Summit will be a dynamic and inspiring one-day event bringing together passionate professionals from the nonprofit sector to delve into the transformative potential of Drupal.

Join us for a day of discovery, collaboration, and inspiration as we collectively unlock the full potential of Drupal for social good. Facilitated discussions, round table group sessions, and an opportunity to learn and inspire one another are just a few of the features we plan to bring to the summit this year.

The Nonprofit Summit will be on Thursday, 9 May, the 4th day of DrupalCon, after three days of expert speakers, networking, and contribution. Tickets go on sale 6 February. And we’re especially pleased to announce that the Drupal Association will subsidize the cost of tickets for those in the nonprofit sector, offering special pricing for the conference and summit! The conference rate for nonprofits is $395 and includes the summit.

Mark your calendars, spread the word, and get ready to be part of a community dedicated to making a lasting impact. The Nonprofit Drupal Summit is back and ready to shape the future of digital philanthropy. See you there!