Übersicht

Vorschläge max.2 pro Tag

Platz für Vorschläge, Fragen, Anderes

Wenn sie Antworten erhalten wollen tragen sie hier Kontaktdaten wie email-Adresse oder Telefonnummer oder Postanschrift ein

CAPTCHA
Sicherheitscheck: Tragen sie die abgebildeten Buchstaben und/oder Zahlen hier unter in das freie Feld ein.
Image CAPTCHA
Enter the characters shown in the image.

Linux - here we go

Umfrage

Wie gefällt euch/ihnen diese Seite:

Vorschläge und Wünsche bitte an: support@webjoke.de.

Benutzeranmeldung

CAPTCHA
Sicherheitscheck: Tragen sie die abgebildeten Buchstaben und/oder Zahlen hier unter in das freie Feld ein.
Image CAPTCHA
Enter the characters shown in the image.

The Drop Times: Surprise Announcements from DrupalSouth Sydney 2024!

Drupal News - Do, 03/21/2024 - 18:04
Discover what's next for the Drupal community: Dive into the highlights from DrupalSouth Sydney 2024, including the announcement of DrupalCon Asia 2024 in Singapore and the future DrupalSouth Melbourne 2025. Stay tuned for a closer look at the events set to shape Drupal's future.
Kategorien: Drupal News

ImageX: DrupalCon Portland 2024: Top Session Picks from Our Team

Drupal News - Mi, 03/20/2024 - 20:21

Authored by: Nadiia Nykolaichuk 

“Join us this spring in the City of Roses, Portland!”

— the DrupalCon team

The best opportunity to grow your Drupal skills, plant the seeds of connection, and help the Drupal community flourish is just around the corner! This spring, the world’s biggest Drupal meetup is coming back to the City of Roses, which is one of the most famous nicknames for Portland, Oregon.

Kategorien: Drupal News

Drupal Association blog: Skills Upgrade: Drupal 7 to Drupal 10 - a community story

Drupal News - Mi, 03/20/2024 - 18:10

The Drupal Association has published this guest blog on behalf of author John Picozzi, in collaboration with Chat Hester, Stephen Cross, Nic Laflin, Mike Anello, and AmyJune Hineline.

“Never doubt that a small group of thoughtful, committed citizens can change the world; indeed, it's the only thing that ever has.”  - Margaret Mead

In my mind, the above quote distills the Drupal Community down to one sentence and perfectly describes its mission. Many in the community also use “Come for the code, stay for the community” to highlight that Drupal is more than just open-source software; it’s a community of committed citizens focused on helping each other, growing skills, and developing world-changing open-source software. As many are aware, Drupal 7 will reach end-of-life (EOL) at the end of this year. Many are working to move their sites to Drupal 10, while others are looking to “Level Up” their skills to work with the latest and greatest Drupal version. This story highlights the journey of one developer and how we as a community came together to help him (and hopefully many others) achieve Drupal 10 readiness. 

Our story starts with Drupal Slack and the following message from Chad Hester (chadhester). 

“Hey, I have an idea that I wanted to run by you… Since I'm looking for more contracting work, getting back in to Drupal development is on my radar. I haven't done development work since Drupal 7, though. I'm out of practice since ~2015. There are lots of people who learn Drupal for the first time, but I wonder if anyone has documented their experience re-learning Drupal. Perhaps that's something that could be good as a Talking Drupal mini-series. What do you think?”

I thought it was an interesting idea and told Chad I would take it back to the team at Talking Drupal to discuss. The Talking Drupal team, Stephen Cross (stephencross), John Picozzi (johnpicozzi) & Nic Laflin (nicxvan), discussed and loved the idea. Working with Chad, they refined the show format and structure to something like a scrum meeting, where each week they reviewed what was done, what challenges were faced, and what tasks should be completed in the week to come. While brainstorming about the mini-series format they also thought of community members who could be involved. 

At Talking Drupal, we strive to provide the Drupal community a platform for learning and awareness. We also include the community in creating that content as much as possible. To that end, we identified Mike Anello (ultimike) of DrupalEasy as a great choice for a mentor and AmyJune Hineline (volkswagenchick) of the Linux Foundation as a host for the series. After identifying all the folks we planned to include, Stephen started outreach, and quickly, everyone was onboard. Within three weeks of the above Slack message, we started recording our first episode. From that point, we started recording weekly and planned eight episodes. 

Everyone contributed to the goals of this mini-series and added their perspective. We wanted to ensure the series would help the community move from Drupal 7 development to Drupal 10 development. However, we also wanted to go above and beyond with real open-source contributions. Mike provided that via a capstone goal of having Chad contribute an automated test to a real-life contrib project. This goal was a perfect outcome and would not only empower Chad to contribute but could empower anyone who watched the series. Overall, we have set out to bring in community members to build content for others. Allowing community members to push/pull others forward in their skill set. 

Today, we are happy to share the first episodes of the Talking Drupal Mini Series: Skills Upgrade. A developer's journey from Drupal 7 to Drupal 10. Through this effort the community has come together to support its members to grow and learn. The power of the Drupal Community isn’t in the software we develop, it's in the people we empower. Those people are empowered to learn, grow, and use amazing open-source software. Indeed, I believe this group of thoughtful, committed citizens have done their little bit to change the world. 

Episodes will be released over the next few weeks. Thank you, and Enjoy!

Kategorien: Drupal News

Nonprofit Drupal posts: March Drupal for Nonprofits Chat: NTC Wrap-Up and DrupalCon Planning

Drupal News - Mi, 03/20/2024 - 17:44

Join us THURSDAY, March 21 at 1pm ET / 10am PT, for our regularly scheduled call to chat about all things Drupal and nonprofits. (Convert to your local time zone.)

This month we'll be giving a recap of last week's NTC, and an update on our plans for DrupalCon Portland, including the Nonprofit Summit and the recently announced discount for nonprofit attendees!

And we'll of course also have time to discuss anything else that's on our minds at the intersection of Drupal and nonprofits.  Got something specific you want to talk about? Feel free to share ahead of time in our collaborative Google doc: https://nten.org/drupal/notes!

All nonprofit Drupal devs and users, regardless of experience level, are always welcome on this call.

This free call is sponsored by NTEN.org and open to everyone. 

  • Join the call: https://us02web.zoom.us/j/81817469653

    • Meeting ID: 818 1746 9653
      Passcode: 551681

    • One tap mobile:
      +16699006833,,81817469653# US (San Jose)
      +13462487799,,81817469653# US (Houston)

    • Dial by your location:
      +1 669 900 6833 US (San Jose)
      +1 346 248 7799 US (Houston)
      +1 253 215 8782 US (Tacoma)
      +1 929 205 6099 US (New York)
      +1 301 715 8592 US (Washington DC)
      +1 312 626 6799 US (Chicago)

    • Find your local number: https://us02web.zoom.us/u/kpV1o65N

  • Follow along on Google Docs: https://nten.org/drupal/notes

View notes of previous months' calls.

Kategorien: Drupal News

The Drop Times: The Drupal Project Update: Highlights from DrupalSouth Sydney 2024

Drupal News - Mi, 03/20/2024 - 17:09
Join us as we dive into the heart of DrupalSouth Sydney 2024, held at the iconic Sydney Masonic Centre. Discover the insights from Dries Buytaert's keynote on 'The Drupal Project Update,' the push for innovation and contributions, and the unifying power of the Drupal communities from Australia and New Zealand. Stay tuned for exclusive updates and takeaways.
Kategorien: Drupal News

Salsa Digital: DrupalSouth 2024 day 1 wrap-up

Drupal News - Mi, 03/20/2024 - 14:00
Dries Buytaert, Drupal: past, present and future Phillipa: Dries’s keynote gave a great insight into his journey, from coding at university to building Drupal as an enterprise-grade content management system (CMS). The focus for the future was on innovation (to keep Drupal as a CMS of choice) and marketing (to make sure people know about all of Drupal’s greatness).  Morgan Strong, ArtSEEker: using headless Drupal to power AI art recognition Phillipa: Morgan works in digital transformation at the Queensland  Art Gallery and Gallery of Modern Art (QAGOMA). Working with headless Drupal 10 and fast.ai he built a new tool for gallery patrons to interact with the art.
Kategorien: Drupal News

LN Webworks: How To Upgrade From Drupal 7 to 10: Step By Step Guide

Drupal News - Mi, 03/20/2024 - 13:47

Since its debut in 2010, Drupal 7 has provided a stable foundation for innumerable websites. But moving to a newer version—like Drupal 10—becomes crucial to guarantee security, performance, and access to the newest features as Drupal 7 approaches its end of life on January 5, 2025. 

Even though this Drupal upgrade has the potential to be revolutionary, it's important to know what features you might face while upgrading from Drupal 7 to 10. This will enable you to plan appropriately and gain a clear understanding of what to anticipate. 

Kategorien: Drupal News

LN Webworks: How to Drupal 7 to Drupal 10 Upgrade: Step By Step Guide

Drupal News - Mi, 03/20/2024 - 13:47

Since its debut in 2010, Drupal 7 has provided a stable foundation for innumerable websites. But moving to a newer version—like Drupal 10—becomes crucial to guarantee security, performance, and access to the newest features as Drupal 7 approaches its end of life on January 5, 2025. 

Even though this Drupal upgrade has the potential to be revolutionary, it's important to know what features you might face while upgrading from Drupal 7 to 10. This will enable you to plan appropriately and gain a clear understanding of what to anticipate. 

Kategorien: Drupal News

Talking Drupal: Skills Upgrade #3

Drupal News - Mi, 03/20/2024 - 13:10

Welcome back to “Skills Upgrade” a Talking Drupal mini-series following the journey of a D7 developer learning D10. This is episode 3.

Topics
  • Review Chad's goals for the previous week

    • DDEV performance improvements
    • Install Drupal 10
    • Install drupal/core-dev
    • Configure and test phpcs
    • Test phpstan
    • settings.local.php
    • Install Devel module
  • Review Chad's questions

    • Rancher Desktop appears to be holding on to port 443 after I installed it. Although I changed the port to something else, do you have any suggestions to update the setup to use ports 443 and 80 instead?
    • How are tools like phpcs and PHPStan used by the Drupal community for contrib? Are they a part of drupal.org's testing automation?
    • Starting a new D10 website from scratch in DDEV is one thing … How would I typically work with an existing D10 website? Do I start with the community config, then overwrite the code, database, and files? Is there a better approach?
  • Tasks for the upcoming week

/vendor /web/core /web/modules/contrib/ /web/themes/contrib/ /web/profiles/contrib/ /web/libraries/ *.sql.gz Resources

Chad's Drupal 10 Learning Curriclum & Journal Chad's Drupal 10 Learning Notes

The Linux Foundation is offering a discount of 30% off e-learning courses, certifications and bundles with the code, all uppercase DRUPAL24 and that is good until June 5th https://training.linuxfoundation.org/certification-catalog/

Hosts

AmyJune Hineline - @volkswagenchick

Guests

Chad Hester - chadkhester.com @chadkhest Mike Anello - DrupalEasy.com @ultimike

   
Kategorien: Drupal News

The Drop Times: DrupalSouth Sydney 2024 Celebrates Excellence with the Splash Awards Winners

Drupal News - Mi, 03/20/2024 - 11:04
The Drupal Splash Awards 2024 has been announced for all categories at the DrupalSouth Sydney 2024 event held at Sydney Masonic Centre. Read the article to know the winners.
Kategorien: Drupal News

qtatech.com blog: Drupal Meets Symfony: A Match Made for API Innovation

Drupal News - Mi, 03/20/2024 - 11:02
Drupal Meets Symfony: A Match Made for API Innovation kanapatrick Wed, 03/20/2024 - 10:02

In the rapidly evolving landscape of web development, the union of Drupal and Symfony represents a pioneering approach towards API innovation. Enter Drupal, known for its robust content management capabilities, and Symfony, renowned for its flexibility and scalability.

Kategorien: Drupal News

Evolving Web: 9 Ways to Make the Most of the EvolveDrupal Summit

Drupal News - Di, 03/19/2024 - 19:34

Hi there! I’m Jasmin Merchant, a Front-End Developer at Evolving Web. A few years ago I knew very little about the open web. That all changed when I started working here and was plunged into ongoing learning opportunities.

The EvolveDrupal Ottawa summit in 2023 was a big part of my learning curve. Hosted by Evolving Web, the event was a chance to gain new knowledge about development, accessibility, UX, digital strategy, and many other relevant topics.

What’s more, it was a great introduction to networking. This was my first tech summit and I had only moved to Canada one week before, so I was nervous to say the least. But EvolveDrupal was a valuable experience that really built my confidence.

I’ve shared my takeaways in this article to help others who are planning to attend EvolveDrupal (or any tech event). Use these 9 tips to attend with confidence and make the most of it!

Before the Summit 1. Create your own schedule

My day at EvolveDrupal Ottawa started with coffee (because obviously!). I hung out in the foyer where I could chat to people as they arrived. I was looking forward to talks on Drupal, design, AI, and much more. Crucially, I had gone through the session list earlier and planned out my day.

Having your own schedule means you can pace yourself, attend the talks you're most interested in, and maximize your networking opportunities. Remember that EvolveDrupal has a wide range of sessions and many of them run in parallel, so it isn’t possible to attend all of them.

I’d recommend making space in your schedule for a bit of down time to recharge. I found this was easy to do at EvolveDrupal—the event was very well organized with little breaks between sessions, helping me to relax and go with the flow.


 

2. Sign up for pre-summit introductions

Evolving Web often organizes a pre-summit dinner the night before EvolveDrupal. As an introvert, I found this was a great way to ease into networking. I got to meet some really interesting, talented people and talk to them on a personal level over a nice meal. It meant that I saw some familiar faces in the crowd full of attendees the next day.

Can’t attend the pre-summit dinner? Don’t worry, you can connect digitally with organizers, speakers and participants before the summit instead. If you’ve registered for the summit, you’ll be invited to the EvolveDrupal Slack channel. 

3. Build your visibility

Post on social media to tell your connections that you’ll be at EvolveDrupal. This can help you connect with more people at the event. Remember to tag Evolving Web on LinkedIn so we can help boost your post!

Email specific contacts and invite them to the summit, too. This can be a great way to grow and strengthen existing business relationships.

Want to maximize your visibility? Apply to be a speaker or sponsor. It’s a fantastic way to get in front of an audience—both in-person at the summit and also in Evolving Web’s digital communications.

 

“I had a blast yesterday talking at the EvolveDrupal conference in Ottawa. Thank you for giving me the opportunity. Based on the number of people in the audience that raised their phone to take pictures of the slides, I guess the content was on point!”

– Gauthier Garnier, Platform.sh (EvolveDrupal Ottawa 2023)

During the Summit  4. Make notes

At each session I attended at EvolveDrupal, I took notes about everything interesting and important that I was learning. Have a think about how you prefer to take notes—can you do it on your phone, or should you bring a tablet or notebook?

It’s best to jot down new knowledge and ideas at the event itself, before you forget. That said, some EvolveDrupal sessions are recorded and published a few weeks later, so you may have a chance to rewatch select talks. 

5. Embrace a bit of discomfort

While the pre-summit dinner put me at greater ease, I was still nervous about networking. But I learned that it’s ok to be outside of my comfort zone. As one of the speakers said: “get comfortable being uncomfortable.” Their talk was on AI, but I think the concept can be applied to a lot more!

I started by introducing myself to people I sat near during the sessions. This felt easier as there was already a clear topic to start the conversation. I met many more people at lunch and kept taking mental notes that I wrote down later. If there’s someone you want to follow up with, ask for their business card or record their name so you can add them on LinkedIn.

It’s also worth engaging with the speakers who interest you. As experts they can offer valuable information, and they’re usually more than happy to expand on their talk if you ask questions.


 

6. Stick around for evening events

EvolveDrupal Ottawa finished with a networking reception, but my day didn’t end there! I attended a post-summit dinner and drinks with people who wanted to continue connecting. As it was the end of the night, everyone was relaxed and chatting easily. It was a good chance to speak again with the people I’d met that day and get to know them better. Evolving Web often arranges a post-summit dinner, so leave your evening open if you can. 

After the Summit 7. Follow up with your connections 

I added most of the people I met at EvolveDrupal Ottawa on LinkedIn. It’s an easy way to stay connected because you can respond to their posts or share useful things with them. It’s also a good idea to send a personalized message to new contacts who you want to develop a deeper relationship with, such as business prospects and potential employers. Ask for a phone call or face-to-face meeting to discuss opportunities. 

8. Organize and apply what you learned 

Write up your notes soon after the summit. If you leave it too long, you may forget them or find they don’t make sense any more! Also, decide how you’re going to integrate your new knowledge into your workflows and projects. Act quickly while you’re still feeling energized from the event.

 

“It was a treasure trove of UX wisdom… Big thanks to the amazing speakers and organizers for making this experience unforgettable. Can't wait to apply what I've learned. Count me in for the next one!”

– Milan Nayak, UX Designer (EvolveDrupal Toronto 2023) 

9. Share your insights and experience 

My time at EvolveDrupal was eye-opening, so I wanted to share my experience in an article to help future participants. You can also share takeaways via an email, team meeting, or internal presentation. Finally, it’s always nice to thank the speakers on social media and tell them what you liked about their session.

I hope this article inspires you to attend EvolveDrupal with confidence and purpose. Sign up for updates to hear about upcoming events. Our next stops are in Atlanta (April 12) and Montreal (June 14)—we look forward to seeing you there!

+ more awesome articles by Evolving Web
Kategorien: Drupal News

The Drop Times: Catch Up with the Drupal Community at DrupalSouth Sydney 2024!

Drupal News - Di, 03/19/2024 - 16:29
Discover the highlights and insider views of DrupalSouth Sydney 2024, from key tech updates to diversity initiatives. Learn what makes this event a key spot for developers and digital enthusiasts, along with exclusive insights from the community's leading voices. Get a sneak peek into the enriching sessions, networking opportunities, and cultural experiences waiting in Sydney.
Kategorien: Drupal News

Specbee: Hooks or Events? Choosing the Best Approach for your Drupal Project

Drupal News - Di, 03/19/2024 - 07:57
For Drupal developers, it's crucial to understand two fundamental concepts: Events and Hooks. Why? Because they’re the most powerful ways to enable customization and extensibility in Drupal. An event is a system or module-generated occurrence that triggers specific actions, while a hook is a callback function that allows developers to interact with, modify, or extend the behavior of a Drupal core or any module. Ready to learn more about each of them and find out how they’re different in their roles and usage in Drupal development? Dive in! What are Events in Drupal Events are just like hooks that tell Drupal to call your function if something happens. We can say Events are Object Oriented Hook System. Drupal Events allow various system components to interact and communicate with one another independently or in a decoupled manner. Characteristics Events are part of Drupal's broader adoption of the Symfony framework. Events are dispatched by certain actions or triggers within the system. You can dispatch events while writing custom code in order to notify other components in the system about actions taken by your code. Developers can subscribe to these events and define custom actions to be executed when the event occurs. Example Drupal core event: KernelEvents::REQUEST Scenario: Implementing a custom module that listens to the REQUEST event to perform specific actions before the request is processed. // MyModuleEventSubscriber.php namespace Drupal\my_module\EventSubscriber; use Symfony\Component\EventDispatcher\EventSubscriberInterface; use Symfony\Component\HttpKernel\KernelEvents; use Symfony\Component\HttpKernel\Event\RequestEvent; class MyModuleEventSubscriber implements EventSubscriberInterface {   public static function getSubscribedEvents() {     $events[KernelEvents::REQUEST][] = ['onRequestEvent'];     return $events;   }   public function onRequestEvent(RequestEvent $event) {     // Custom logic to be executed on every request.   } }Discover Existing Events There are different methods for finding existing events: 1. Using the WebProfiler module: Download and enable WebProfiler and Devel module since WebProfiler depends on the Devel module Then navigate to Manage > Configuration > Devel Settings > WebProfiler and then select the checkbox to activate the “Events” toolbar item. Now while you visit any page on your site you should see the WebProfiler toolbar at the bottom of the page, and after clicking on the events toolbar icon you will get a list of all event subscribers and information that are called during that request. 2. Use Devel to view and event class: drush devel:event  Enter the number for which you want to get information.:   [0] kernel.controller   [1] kernel.exception   [2] kernel.request   [3] kernel.response   [4] kernel.terminate   [5] kernel.view  > 0  Enter the number to view the implementation.:   [0] Drupal\path_alias\EventSubscriber\PathAliasSubscriber::onKernelController   [1] Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber::onController   [2] Drupal\webprofiler\DataCollector\RequestDataCollector::onKernelController  > 03. Search in your codebase for @Event:  In your editor such as Visual Studio or PHPStorm, search for text @Event within the file mask: *.php option. Subscribe to an Event As we know Drupal uses an event–driven architecture, where various components can communicate with each other by dispatching and subscribing to Events. Here is an example of subscribing to an Event in Drupal 9/10. 1. Define and Event subscriber service  # MyModule/my_module.services.yml services:   my_module.event_subscriber:     class: Drupal\my_module\EventSubscriber\MyModuleEventSubscriber     tags:       - { name: event_subscriber }2. Define an Event subscriber class // MyModule/src/EventSubscriber/MyModuleEventSubscriber.php namespace Drupal\my_module\EventSubscriber; use Symfony\Component\EventDispatcher\EventSubscriberInterface; use Symfony\Component\EventDispatcher\Event; /** * Class MyModuleEventSubscriber. */ class MyModuleEventSubscriber implements EventSubscriberInterface {   /**   * {@inheritdoc}   */   public static function getSubscribedEvents() {     // Specify the event(s) to subscribe to and the method to call when the event occurs.     $events = [       'node.insert' => 'onNodeInsert',       'user.login' => 'onUserLogin',     ];     return $events;   }   /**   * React to a node insert event.   */   public function onNodeInsert(Event $event) {     // Your logic here.     \Drupal::logger('my_module')->notice('Node inserted!');   }   /**   * React to a user login event.   */   public function onUserLogin(Event $event) {     // Your logic here.     \Drupal::logger('my_module')->notice('User logged in!');   } }In this example: MyModuleEventSubscriber is a class that implements the EventSubscriberInterface. The getSubscribedEvents method specifies which events the subscriber is interested in and which method to call when each event occurs. The onNodeInsert and onUserLogin methods contain the logic you want to execute when the corresponding events occur. Dispatch an Event In order to allow another developer to subscribe to the Events and react accordingly, you can dispatch an event within your modules or submodules. Before dispatching an Event we need to understand when to dispatch an event. You can dispatch an event if you want to extend your logic without updating your existing code. Events can be dispatched at any time like creating, updating, loading or deleting data managed by your module. Lets explain this with an example. Take a scenario where we want other developers to interact when a new entity (taking node here) is created after submitting your custom form. 1. Create a custom module (if don’t have): # Create the module directory mkdir modules/custom/custom_logger # Create the module file touch modules/custom/custom_logger/custom_logger.info.yml2. In custom_logger.info.yml, add the following content: name: 'Custom Logger' type: module description: 'Custom module for logging events.' core_version_requirement: ^8 || ^9 || ^10 package: Custom3. Create an Event: // modules/custom/custom_logger/src/Event/CustomLoggerEvent.php namespace Drupal\custom_logger\Event; use Symfony\Component\EventDispatcher\Event; /** * Defines the custom event for the custom_logger module. */ class CustomLoggerEvent extends Event {   /**   * The node that triggered the event.   *   * @var \Drupal\node\Entity\Node   */   protected $node;   /**   * CustomLoggerEvent constructor.   *   * @param \Drupal\node\Entity\Node $node   *   The node that triggered the event.   */   public function __construct($node) {     $this->node = $node;   }   /**   * Get the node object.   *   * @return \Drupal\node\Entity\Node   *   The node.   */   public function getNode() {     return $this->node;   } }4. Dispatch the Event: Creating any entity (taking node here) and dispatching a custom event with a created entity (node) as a parameter. // modules/custom/custom_logger/src/Form/MyCustomForm.php namespace Drupal\custom_logger\Form; use Drupal\Core\Form\FormBase; use Drupal\Core\Form\FormStateInterface; use Drupal\custom_logger\Event\CustomLoggerEvent; use Symfony\Component\DependencyInjection\ContainerInterface; use Symfony\Component\EventDispatcher\EventDispatcherInterface; /** * My custom form. */ class MyCustomForm extends FormBase {   /**   * The event dispatcher service.   *   * @var \Symfony\Component\EventDispatcher\EventDispatcherInterface   */   protected $eventDispatcher;   /**   * Constructs a new MyCustomForm object.   *   * @param \Symfony\Component\EventDispatcher\EventDispatcherInterface $event_dispatcher   *   The event dispatcher service.   */   public function __construct(EventDispatcherInterface $event_dispatcher) {     $this->eventDispatcher = $event_dispatcher;   }   /**   * {@inheritdoc}   */   public static function create(ContainerInterface $container) {     return new static(       $container->get('event_dispatcher')     );   }   /**   * {@inheritdoc}   */   public function getFormId() {     return 'my_custom_form';   }   /**   * {@inheritdoc}   */   public function buildForm(array $form, FormStateInterface $form_state) {     // Build your form elements here.     return $form;   }   /**   * {@inheritdoc}   */   public function submitForm(array &$form, FormStateInterface $form_state) {     // Process form submission and create a new node.     // ...     // Dispatch the custom event.     $node = $this->getCreatedNode(); // Implement this method based on your use case.     $event = new CustomLoggerEvent($node);     $this->eventDispatcher->dispatch('custom_logger.event', $event);     // Perform any additional actions after the event is dispatched.   } }5. React to Event: Now other modules or parts of the application can now subscribe to the custom_logger.event with the created node as a parameter. What are Hooks in Drupal Hooks allow modules to alter and extend the existing behavior of Drupal Core or any other module without modifying existing code. Read about update and post update hooks to update your Drupal site in this article. Characteristics Drupal's traditional way of allowing modules to interact with the system. Code can be improved or modified independently and incrementally. Hooks are predefined functions with specific names that Drupal core or modules call at various points during execution. Developers implement these functions in their modules to extend or alter default behavior. Very efficient and easy to implement. Types of Hooks Hooks that react to events: like when the user gets logged in and some action needs to be performed. This is very similar to Events. This is invoked when specific actions are performed. For example hook_user_cancel(). Hooks that answer questions: like “info hooks”. These are invoked when some component is gathering information about a particular topic. These hooks return arrays whose structure and values are determined in the hook definition. For example, see user module hook user_toolbar() that adds links to the common user account page to the Toolbar. Note: In  Drupal 8 or further versions this is generally handled by the plugin system. Therefore there are very few hooks present now than in Drupal 7. Hooks that alter existing data: Alter hooks are generally suffixed with alter. These are invoked to allow modules to alter the existing code. For example: hook_form_alter(). Example: Drupal core hook: hook_form_alter() Scenario: Modifying a form defined by another module. // my_module.module function my_module_form_alter(&$form, \Drupal\Core\Form\FormStateInterface $form_state, $form_id) {   // Custom logic to alter the form. }Discover existing Hooks Hooks can be defined by any of contrib or custom modules, even though there are some hooks invoked by Drupal core subsystems like Form API that are always present. This can be a little tricky sometime to find out what hooks are available and which ones to implement. There are different ways to discover existing hooks: Look for the hook definitions in *.api.php files contained either in Drupal core or any contributed modules. You can use your IDE to search for functions whose name starts with hook_. You can get a complete list of hooks here. Another way is to use drush command that will five you a list of all implementations of a specific hook. drush fn-hook help #Alias of drush devel:hookInvoke a New Hook To allow other developers to modify or extends our feature you should invoke a hook or alternatively dispatch an event. This can be done on any action like creating, deleting, updating or event when we receive or push some data through API. Hooks are invoked using the module_handler \Drupal::moduleHandler() services. Hooks can be invoked in different ways: Execute the hook in every module that implements it: ModuleHandler::invokeAll() Execute the hook per-module, usually by looping over a list of enabled modules: ModuleHandler::invoke() Call an alter allowing for alteration of existing data structures using ModuleHandler::alter(). Define a new hook To define a new hook you should do the following: 1. Choose a unique name for your hook 2. Document your hook Hooks are documented in a {MODULE_NAME}.api.php file: // custom_hooks.api.php /** * Define a custom hook for reacting to specific events. * * This hook is invoked when a certain event occurs in the system. * Modules can implement this hook to perform additional actions in response to the event. * * @param string $param1 *   An example parameter for the hook. * @param array $param2 *   Another example parameter for the hook. * * @ingroup custom_hooks_hooks */ function hook_custom_event($param1, array $param2) {   // Your custom hook logic here. }3. Invoking your hook in your module’s code: /** * Implements hook_ENTITY_TYPE_view(). */ function hooks_example_node_view(array &$build, EntityInterface $entity, EntityViewDisplayInterface $display, $view_mode) {   // Invoke a hook to alert other modules that the count was updated.   $module_handler = \Drupal::moduleHandler();   // In this example we're invoking hook_custom_event()             $module_handler->invokeAll('custom_event', [$entity]); }When to Use Events or Hooks Events: Prefer events when actions need to be decoupled or when integrating with Symfony components. Hooks: Use hooks for more straightforward modifications or when interacting with the Drupal core and contributed modules. Pros and Cons of using Events VS Hooks Events: Pros: Decoupling, better organization, and Symfony integration. Cons: Slightly steeper learning curve for those unfamiliar with Symfony. Hooks: Pros: Simplicity, well-established in Drupal, easier for Drupal – specific tasks. Cons: Tighter coupling, less organization in larger projects. Final Thoughts Understanding Events and Hooks is extremely crucial for effective Drupal development. While hooks are traditional Drupal mechanisms for extending functionality, events have been introduced since Drupal 8 as part of it’s event-driven architecture. Choosing the right mechanism should be based on the complexity and nature of the Drupal project. Got a Drupal project in mind that requires a 100% Drupal-focused expertise? We’d love to talk to you!
Kategorien: Drupal News

Acquia Developer Portal Blog: DevOps: The Gravity of the Modern Web Cosmos

Drupal News - Di, 03/19/2024 - 00:59

Some of the illustrations in this article are created by: Martin Anderson-Clutz and Thomas Scola.

Kategorien: Drupal News

Talking Drupal: Talking Drupal #442 - Mercury Editor

Drupal News - Mo, 03/18/2024 - 20:00

Today we are talking about Mercury Editor, What it does, and how it could change your editorial life with guest Justin Toupin. We’ll also cover Webform Protected Downloads as our module of the week.

For show notes visit: www.talkingDrupal.com/442

Topics
  • What is Mercury Editor
  • What is powering Mercury Editor
  • Do you see any risk building on top of Paragraphs
  • Does Mercury Editor cost anything
  • Can companies hire Aten to add features
  • What are some key features
  • What makes Mercury Editor unique
  • How stable is the content
  • What happens if Paragraphs stops being supported
  • How can the community help
Resources Guests

Justin Toupin - atendesigngroup.com justin2pin

Hosts

Nic Laflin - nLighteneddevelopment.com nicxvan John Picozzi - epam.com johnpicozzi Anna Mykhailova - kalamuna.com amykhailova

MOTW Correspondent

Martin Anderson-Clutz - mandclu

  • Brief description:
    • Have you ever wanted to have downloadable content on your website, only available to visitors who have filled out a webform? There’s a module for that.
  • Module name/project name:
  • Brief history
    • How old: created in Sep 2010 by berliner, but the most recent releases are by james.williams of Computer Minds
    • Versions available: 7.x-1.1 and 8.x-1.0-alpha2 versions available, the latter of which works with Drupal 9 and 10
  • Maintainership
    • Actively maintained, the latest release was a week ago
    • Security coverage
    • Introductory blog linked on the project page
    • Number of open issues: 18 open issues, none of which are bugs against the current branch
  • Usage stats:
    • 804 sites
  • Module features and usage
    • Having thought leadership content like white papers or reports gated behind a lead capture form is a common pattern for websites, and this module is designed to make that easy to set up
    • You use the module by adding a handler to your webform, similar to triggering an email send
    • In the configuration for your webform protected download handler you have options for how much verification you want for the download link, whether or not the link should expire after a period of time, and so on, in addition to uploading one or more files that can be downloaded by people who submit the webform
    • The module provides tokens for the download URLs, so you can easily include them in a submission confirmation message or email
Kategorien: Drupal News

The Drop Times: MidCamp 2024 Innovates with Unconference Format and Training

Drupal News - Mo, 03/18/2024 - 18:44
MidCamp 2024, set to take place at DePaul University, promises innovative formats and a focus shift towards AI, marking a significant evolution in the annual Midwest Drupal Camp's history.
Kategorien: Drupal News

The Drop Times: Tracking Drupal's Global Footprint

Drupal News - Mo, 03/18/2024 - 18:44

Dear Readers,

Drupal has seen widespread adoption worldwide, a testament to its flexibility, security, and scalability. Renowned for its modular architecture and strong community support, Drupal empowers developers, businesses, and governments to create and manage diverse digital experiences. From educational institutions and media outlets to non-profit organizations and governmental agencies, the platform's extensive capabilities allow for the customization and integration necessary to meet complex digital needs.

An endeavor to track Drupal's usage across various industry sectors represents a need of the moment for the Drupal community and is put forth by Paul Johnson. The project aims to showcase Drupal's diverse applicability and strengthen its shared knowledge base by gathering detailed resources and data. This concerted effort, aimed at illuminating Drupal's footprint, will offer insights into the platform's impact and success across different domains. It sets the stage for a deeper understanding of the community's achievements and challenges, guiding them toward more strategic, evidence-based decisions within the digital ecosystem.

The DropTimes [TDT] has already published a comprehensive study on Drupal's usage in prominent educational institutions worldwide, which can set the right example for this new project. Grzegorz Pietrzak's study on global city website trends analysis further underscores Drupal's influence across diverse sectors, amplifying the platform's prominence within various industry verticals. The full study is published on our website; read it here

As the community delves into the specifics of these endeavors and their implications, it is crucial to remain connected and informed. With that, welcome to the last week's most important content covered by The DropTimes.

Performance is the cornerstone of user experience and operational efficiency in web development. Learn about the genesis, capabilities, and transformative potential of Gander, the automated performance testing framework for Drupal, as elucidated by Nathaniel Catchpole and Janez Urevc in Elma John's latest article

We have a new addition to our Spotlights channel, Zoocha, a leading Drupal Development Agency in the UK. The article discusses the intricate world of Zoocha, bringing to light the company's journey, strategies, and outlook with contributions from Will Huggins, the CEO, and the Zoocha team.

Dries Buytaert, the founder of Drupal, visited Japan for the first time in nearly eight years. He presented the latest developments in Drupal and associated web technologies at the Drupal Meetup. Tokyo. Read the article by Kazima Abbas for a comprehensive overview of the Tokyo Meetup and its significance. 

Interestingly, the recent Drupal Meetup, organized by Valuebound in collaboration with the Drupal Association, marked a significant event for Drupal enthusiasts and professionals. The event, held at Valuebound's office in Bangalore, featured a special meet-and-greet session with Tim Doyle, the CEO of the Drupal Association. As an after-note, Tim wrote, that "Drupal is alive and well in India", owing to the enthusiastic Drupal Community in India.

The Drupal Community has many events to celebrate this week, but MidCamp 2024 and DrupalSouth Sydney 2024 tops the list. As the Media Partner for both events, The DropTimes is determined to provide its readers timely updates. A complete list of events for the week is available here.

The upcoming DrupalCamp Burkina Faso 2024 is close to reaching its funding target, needing just $2,000 more to facilitate the largest DrupalCamp event in West Africa.  DrupalCamp Asheville is now open for speaker submissions, inviting seasoned presenters and newcomers to share their expertise and insights. Also, the last chance to submit proposals for Stanford WebCamp 2024 ends on or before March 25, 2024. The DrupalSouth Splash Awards 2024 shortlist, sponsored by Ironstar, has been announced ahead of the event. 

Imre Gmelig Meijling, CEO of React Online Digital Agency in The Netherlands, has been introduced as one of the newest members elected to the Drupal Association Board. Alex Moreno has launched a comprehensive guide to enhance impactful contributions to Drupal and the Drupal Association. The contributor guide lists strategic initiatives, crucial issues, and essential modules, offering contributors an avenue to make significant impacts within the Drupal community.

The Drupal community has recently seen the introduction of a new module, Bill of Lading, created by Jeff Greenberg. This module simplifies site management by generating a comprehensive list of Drupal structures using a new Drush command, 'bol.' QuantCDN co-founder Kristen Pol has announced a major update to their Drupal static site generator, enhancing Drupal 9 and 10 integration with new features, including visibility into Quant metadata directly within the Drupal platform.

We acknowledge that there are more stories to share. However, due to constraints in selection, we must pause further exploration for now.

To get timely updates, follow us on LinkedIn, Twitter and Facebook. Also, join us on Drupal Slack at #thedroptimes.

Thank you,

Sincerely
Alka Elizabeth
Sub-editor, TheDropTimes.

Kategorien: Drupal News

The Drop Times: Drupal Page Builders—Part 1: Paragraph-Based Solutions

Drupal News - Mo, 03/18/2024 - 18:44
Dive into the changing dynamics of Drupal's page-building features with André Angelantoni's new series on The DropTimes. Discover the progression of Drupal's page layout options as the author begins exploring Paragraph-Based Solutions. Gain historical insights, learn about the shift towards Layout Builder, and examine the Paragraphs module and related tools like Layout Paragraphs and Mercury Editor. Anticipate detailed discussions on contributed modules, alternative solutions, and potent distributions in the forthcoming parts of the series. Ideal for developers and content managers seeking to upgrade their Drupal 10+ projects.
Kategorien: Drupal News