LATEST FROM OUR BLOG

Take your daily dose of (only) relevant news, useful tips and tricks and valuable how to's on using the latest web technologies shaping the digital landscape. We're here to do all the necessary information sifting for you, so you don't have to, to provide you with content that will help you anticipate the emerging trends about to influence the web.

Automatic Updates in Drupal: From Mission Impossible to... Drupal’s New Auto Update Feature. How Does It Work?
The waiting is over. We'll have automatic updates in Drupal sooner than we even dared to hope.   Source: Drupal.org * Since that announcement was made, both an alpha and beta1 version of the Automatic Updates module have been released. The auto-updater, which has been, in turn, or simultaneously:   an ever requested feature in the Drupal community a highly anticipated functionality for the Drupal end users an evergreen matter of debate ("I really need this feature in my life" vs "We prefer to keep the Drupal website up-to-date ourselves".) a... "mission impossible" type of challenge  a Drupal initiative that seemed doomed to never grow into an actual feature   ... is now a work-in-progress Drupal module. Can you believe this? Now, we can just hear those questions running through your head:   "How/when did this never-ending talk about auto updates for Drupal turned into a module?" "What are its features/components?" "Who is it aimed at?" "How would it benefit me more precisely?"   Let's get you some clear answers:   1. Automatic Updates in Drupal: A Highly Requested and... Ever Postponed Feature An auto update system has been one of the top requests in the Drupal community since... forever. "Does Drupal have an auto update?" "Why Doesn't Drupal offer an Auto Update feature like WordPress?"  Simultaneously, many other members of the community adopted:   the "I didn't need it anyway" approach the "I don't need Drupal to automatically update itself. What if something breaks?" approach or the "Auto updates would not fit our development workflow" approach   Overall: the need was there, it was growing and the various "no need" reactions to the possibility of implementing such a feature were just:   legitimate paranoia lest those automatic updates should be superficially tested before release the frustration that the answer to this request was invariably the same: "Not possible in a Drupal context."   Speaking of this standard answer that we've been getting, constantly, over the last years, it looks like automatic updates in Drupal have gone from:   myth: Drupal websites are far too complex to come up with an all-size-fits-all set of updating standards for them all mission impossible: it's not possible to architect such a solution for Drupal work-in-progress module aimed at simplifying the whole task of keeping one's Drupal site safely up to date   In short: the automatic updates functionality has gone from "mission impossible" to... "anything is possible with Drupal". 2. Auto Updates: From a Drupal Core Strategic Initiative to a Drupal Module The community demanded and... demanded (Dries himself drew attention to this need), till their request of an automatic updater turned into one of the 8 Drupal core strategic initiatives. One funded by the European Commission itself... Source: Drupal.org And this switch from request to... well-structured roadmap was only too predictable:   proprietary and commercial software companies were already implementing an auto update system open source projects (see WordPress) were already offering this critical feature: the site owner just clicks a button and the system handles the whole updating process    What was the main goal that drove the Auto Update initiative forward? To architect a system that would apply Drupal updates automatically. This way, maintenance costs, particularly for small and medium-sized Drupal projects, would lower and the Drupal adoption rate would rise. Not to mention that we would be having far more 100% secure Drupal websites out there.   3. The Automatic Updates Module: Its 3 Main Components For this long-awaited solution for automatic updates in Drupal relies on a 3-component structure:   the PSAS (public safety alerts) the readiness checks the actual in-place updates   Now, let's get into the nuts and bolts of each component:   3.1. Public Safety Messaging What this feature does is pull alerts on critical and highly critical updates from Drupal.org right into your admin UI. This way, you can easily check your site's readiness for the update about to be released by the Drupal security team.   3.2. Readiness Checks (or Preflight Checks) It's a plugin-based feature that triggers warnings and errors on detected issues blocking your website from getting updated automatically. Let me give you some examples:   "Your website's running on a read-only hard drive!" " Cron isn’t running frequently enough!" "The "X" files included in the update process have been modified!" "You need to run database updates!"   3.3. In-Place Updates Once your website's level of... readiness has been checked and approved of, it's time to run the Drupal update itself. Here's how it works:   the update package of files gets downloaded from Drupal.org the Automatic Updates module (now in its beta 1 version) checks it and creates backups of the files on your website included in the update process the module performs the update if something goes bad, it restores your backup files   Note: you're free to set up your own custom workflow for the auto-update process; you can stag the updates for review and approval first, get them through your own CI/CD system or... you can set them to go live, automatically.   4. And How Does It Work? The Automatic Updates Module "In Action" Let's imagine this scenario: You already have this automatic functionality implemented into your website. How would it work in case of an "upcoming critical security update" situation? it pops up the message alert in your admin interface next, you run several checks on your website to... check whether there are any issues that you'll need to address before updating it then you trigger the in-place update   That's it.   5. Who's It For? Is It Aimed at...You, Too? It is if:   you're a small or medium-sized business owner  you don't have a custom development workflow and pipeline set in place (with Git, Drush, and other tools included) people in your team with no development background are responsible for maintaining your Drupal site up to date you don't have a solid routine of checking and running Drupal updates as soon as they get released   Source: Drupal.org In other words: automatic updates in Drupal aren't aimed at enterprise-level websites. The module targets small Drupal projects, where:   running security updates on a regular basis staying vigilant, lest you should miss them once released, is THE main cause of stress for site owners   The END! This is the new auto updates feature in Drupal, along with the answers to some of your valid questions regarding this module.  How do you find the project's progress so far? What other features would you like this module to include? And what are your concerns about integrating such functionality into your own build workflow? Image by krzysztof-m from Pixabay   ... Read more
Adriana Cacoveanu / Nov 29'2019
How Do You Prepare for Drupal 9? 5 Tools to Detect Any Uses of Deprecated Code on Your Drupal Website
How should you prepare for Drupal 9? You deep clean up your codebase of all deprecations and errors and wait patiently for the big upgrade to... happen. “But how do I know whether my Drupal website's using any code deprecations?” you'll legitimately ask yourself. How do you identify and make an inventory of all the code errors on your site, so you can remove them and start... waiting, patiently, for that big upgrade to Drupal 9? Well, you “stuff” your toolbox with all the essential tools that'll help you track down deprecations (still) lurking in your codebase. Here are the 5 most effective ones:   1. Drupal Check  You can't claim that you're getting ready for Drupal 9... the proper way if you're not already using Drupal Check to scan your codebase for deprecations. “But what is Drupal check?” It's a command-line tool — a custom runner for PHPStan — that enables you to run PHPStan against your Drupal website to look for any deprecations and code errors. In short: instead of running PHPStan, you run Drupal Check, which comes as a package storing PHPStan, PHPStan Drupal, PHPStan's Deprecation Rules, plus configurations for them all, as well. Source: glamanate.com Just incorporate it into your build processes and continuous integration systems and run audits on:   your custom and contributed modules, checking their compatibility with Drupal 9 your D7 to D8 migration code   Use it on your existing Drupal 8 website. Or use it on the one that you're developing, when you're nearly done, to check whether any deprecations have made their way to your codebase... Word of caution: expect Drupal Check to provide you with an accurate report of the deprecated code used on your site, but don't expect it to fix them for you, as well.   2. Upgrade Status Module   Here's another “tool” that you shouldn't miss from your toolbox. That if you do want your website's upgrade to Drupal 9 to be... buttery smooth. Source: Drupal.org What the Upgrade Status module does is:   inspect your code — your custom and contributed projects — for deprecations make an inventory of all the identified issues    Moreover, its Drupal 8 version harnesses the power of PHPStan and comes as a complete solution that you can use for running full-site checks. Let it work its “magic” on your Drupal site and find out where it stands in terms of compatibility with Drupal 9.   3. PHPStan & PHPStan-Drupal         PHPStan's the very foundation of the toolkit to rely on when you prepare for Drupal 9.  Source: Matt Glaman's Twitter page Not only that you save valuable time using it, time that you'd otherwise invest in pinpointing every error spotted during your code reviews:   classes called incorrectly nonexistent classes PHP projects that you forgot to run once you compiled them   …  but you get to write your own custom rules. You get to indicate specific “red alarm” situations that you'd want PHPStan to... investigate for you. Now, it may be the key tool to keep at hand when you evaluate your site's compatibility with Drupal 9, but nevertheless... it does have its own limitations: It won't load any files on its own if you run it against a Drupal module out of the box. It depends on Composer to load all that information... Luckily, Matt Glaman's developed an extension to address precisely this... limitation of PHPStan: phpstan-drupal.  An extension that'll help you make the most of PHPStan when using it to scan Drupal code: from your various dependencies to... Drupal core.    4. Use Project Deprecation Status to Prepare for Drupal 9  And what this tool does is answer one key question: “What's the current status of the Drupal modules in terms of compatibility with Drupal 9?” Which Drupal projects are already compatible and which of them need more fixing before the big upgrade? Project deprecation status is the right tool to... gain an accurate picture of where each Drupal project stands in relation to upcoming Drupal 9.   5. Rector        So far I've pointed out the 4 key tools for deep-scanning your Drupal website to detect any uses of deprecated code as you prepare for Drupal 9. But what if you want to get rid of that pile of deprecations that you will have collected by the end of the scanning process? How do you fix/remove them? And, more importantly: how do you automate this code cleaning process? In this respect, Rector for Drupal 8 — a proof of concept for now — comes with great potential: Check it out and... be prepared to add it to your toolbox for any automated deprecation fixes that you'll want to perform on your site.   The END! These are the 5 essential tools to have in your toolbelt for running deprecation checks on your Drupal website, getting all ready for Drupal 9. Would you have added some other must-have tools to the list, as well? Let us know in the comments here below: Image by Michael Schwarzenberger from Pixabay ... Read more
Silviu Serdaru / Nov 22'2019
What’s New in Drupal 9? Olivero, A New Default Front-End Theme in Drupal
"What's new in Drupal 9?" or "What are the new features in Drupal 9?" These 2 questions are on everyone's lips these days, both Drupal teams and organizations using Drupal. How about a... shiny new main theme? For, let's face it: we've been longing for a new default theme in Drupal for some time now...  The current one, Bartik, hasn't got an update since... 2011 and it has started to show: Drupal 8's outgrown its core theme. The new one, Olivero, which is still just design with a proof of concept, is expected to address all of Bartik's limitations:   to be more simple to be more modern to be more flexible to support Drupal's increasingly powerful functionality   But let's dig in for some more info about this initiative:   why do you need a new default theme in Drupal? the key design principles established for this theme the main components of the new design system   1. How Does Your Ideal Default Theme for Drupal Look Like?  Does it resemble Bartik? I'm pretty sure it doesn't, judging by the fact that:   it hasn't seen a major change since January 2011 it still uses gradients, drop shadows and other out-of-date graphical elements it no longer accommodates all the modern website functionality implemented in Drupal (e.g. Layout Builder) over the last years   Overall: Bartik has started to look a bit... out-of-fashion, while Drupal's back-end has been growing more and more robust. Therefore, I bet that the words that you'd use to describe your "ideal" default theme in Drupal revolve around these key adjectives:   clutter-free/minimalistic flexible: to provide plenty of options to choose from light modern and fresh accessible intuitive elegant clean   2. Olivero and The 3 Main Goals Behind this Drupal Core Initiative No goal no... glory. That's why the team behind this Drupal core initiative, Lullabot, set 3 major objectives for the Olivero theme:   it should support all the latest functionality implemented in Drupal: embedded media, second-level navigation, layout builder, etc. it should be WCAG AA compliant from the ground up (accessibility should not be an afterthought) it should look and feel more modern: all those design elements that made Bartik feel too heavy to be reduced to a minimum, while particular design system parts — color palette, typography, and animation — to be reconsidered   3. What's New in Drupal 9: Design Principles Set for Its Theme Source: Dries Buytaert's blog Curious which of the features on your wishlist for an ideal default theme have made it to the list of design principles for Olivero? Well, here they are:   simple: clutter-free; by "clutter" they mean all colors, effects and visual elements that are irrelevant and make the theme look and feel too heavy modern: support for modern browsers' features and interaction modes flexible: presents Drupal (front-end) developers with multiple options to choose from focused: includes all those design elements, like negative space and high contrast, that grab user attention accessible: it's designed with WCAG AA conformity in mind; from functionality to layout, to colors, all elements should be thought out to be accessible for everyone   4. The Olivero Design System: Key Components "What's new in Drupal 9?" Look forward to a new, promising design system. I'll highlight just 5 of its components, so you can get an idea of what the team behind this initiative mean by "modern" and "flexible" in relation to the Drupal 9 default theme: Source: Drupal.org 4.1. Color Palette They chose:   bright blue as the base color neutral grays to counterbalance the design elements and layout darker colors to enhance accessibility lighter colors in the layout to highlight the design elements   4.2. Typography They used the size 18px for the base font in the body copy, to be leveled for metadata, headers, quotations, etc. and adapted to smaller viewports, as well. Consistency, throughout line-height and spacing, has been a key goal when setting the scale for typography.   4.3. Header & Navigation The flexibility principle is best reflected in the header of the future default theme for Drupal 9:   it's designed to incorporate, seamlessly, all logo types and text titles it comes in multiple versions to choose from, one for every site identity type it turns into a hamburger menu once the user scrolls down   4.4. Sidebar The news factor is that in Drupal 9 you'll have one sidebar region instead of two competing for space on the screen. A single spacebar, next to the primary content, where your content team can display related posts and all kinds of utility blocks.   4.5. Site Branding Variations The Olivero theme will ship with background-color and width settings that you can configure in order to fit any text length and logo type.   5. Final Word "What's new in Drupal 9?" I think this question is not quite accurate, in relation to this upcoming front-end theme. "What's bound to be new in Drupal 9?" is more appropriate. For the Olivero theme is not yet... a theme in itself, but work-in-progress. A proof of concept, a core initiative that's still calling out for contributors. One that's expected to become the new default theme in Drupal, that should:   accommodate all the new powerful features implemented in Drupal these last years be accessible from the ground up be (more) intuitive    Why would you care for this initiative if you were a Drupal developer? Because it would improve your entire experience of working with Drupal. Why would you care about this work-in-progress theme if you were considering Drupal for your next web project? Because all visually-appealing websites have one thing in common: a modern, accessible and flexible theme. Image by Mudassar Iqbal from Pixabay ... Read more
Silviu Serdaru / Nov 13'2019
How to Configure Custom Search in Drupal 8: 8 Ways to Deliver More Relevant Search Results on Your Website
Let's say that you have a cleaning business. Once a user types “office cleaning” on your website, the search results that show up first are some blog posts on this topic instead of the page that you're actually targeting: the “Office & Workplace Cleaning” service page. So, you wonder: “How to configure custom search in Drupal 8?” What are your options if you want to go beyond the default Drupal search? How can you influence that search results ordering so that you:   improve the overall site search experience for your visitors? push forward into the spotlight particular pages on your site, based on specific keywords?   We've done our homework, collected and then selected 9 different ways that you can upgrade the default search experience in Drupal so that it should fit your needs perfectly. From:   additional Drupal modules that you can enable to effective search plugins that you can install to brilliant configurations that you can set up   … you'll find a whole collection of options at hand for fine-tuning the search functionality on your Drupal website.   1. Enable the Drupal Search API Module If you find the default Drupal search module a bit too... restrictive, consider Search API.  It takes but 3 simple steps before you can leverage its flexibility to the fullest:   just install it and enable it, along with the Search API database module add an index and an API server, as well   2. Integrate Your Drupal 8 Website with Apache Solr Search The Java-based search platform is powerful enough to supercharge your website with tons of search capabilities: Source: Drupal.org   search for all attributes of Drupal nodes ouline the search queries in the results perform language stemming to return related results search across multiple websites index from... millions of nodes overlook users' typos and provide proper suggestions provide location-based search results display the most relevant results on top of the list   In short: you're better off with a Solr back-end; it will always overstep a Drupal database search setup when it comes to returning relevant and intuitive results. Even in “keyword phrase search” scenarios.   3. How to Configure Custom Search in Drupal 8: Use ExpertRec This search-as-a-service solution ships with a heavy load of useful features, such as:   manageable search ranking typo tolerance easy UI control results as you type custom facets   So, you might want to consider it for evaluation. Just put its robust set of features against your site search needs.    4. Use the Cludo Site Search Solution What if you could turn the site search on your Drupal website into a powerful “insights generator”?  Source: Drupal.org  One that would provide you with valuable and, most of all, actionable insights on your users' search behavior. Just imagine turning all that powerful data into highly relevant site search experiences for your visitors. Cludo's that fully customizable on-site search tool, that “spoils” you with unique features like:   semantic search customizable index machine learning-driven autocomplete   Find out more about this tool and what it can offer you from our post on Cludo as an alternative to Google Site Search.   5. Boost the “Title” Field to Improve Search Relevancy Say you have a “How to speed clean a kitchen” page on your website (we're assuming that you run a professional cleaning business, remember?).  Now, if a website visitor types “how to clean my kitchen quick” you most certainly want that specific page to show up first, right? Well, to make that happen you simply boost the title field. Here's how:   go to /admin/config/search/search-api click “Edit”, next to the index that you're targeting click “Add Fields” look for “Title”, under the “Content” heading hit “Done” look for your title field scrolling down your list of fields and replace its “Type” from “Strong” to "Fulltext" configure the “Boost” dropdown that pops up: set the title, fill in the special keywords field... click the “Save Changes” button   6. Configure the Search View to Your Needs “How to configure custom search in Drupal 8?” You tweak the default search view... The good news is that Search API connects with Views, “spoiling” you with loads of flexibility when setting the way your search results get displayed. But the great news is that you can go even further:   Define a field-based view, add the title and excerpts fields so that your website returns a Google-like title and snippet to its users.   7. Enable the Indexer to “See” the Whole Node Let me guess: you, too, are using Paragraphs on your Drupal site. Who doesn't, right? All that flexibility that you get when putting together your web pages is just... irresistible. Then, you must have already bumped into one “minor” issue: Your search indexer can't “see” the entire content on a page, since the Paragraphs module breaks it into multiple little pieces. Luckily, Search API comes to the rescue!  Just add the “Rendered HTML Output” field to your index and you'll enable the indexer to “see” the whole content on a page. Just like your website visitors see it: with references, paragraph entities and all that... And here's how you incorporate this field:   go to /admin/config/search/search-api click “Edit” click “Fields” on top of the page click “Add Fields” look for “Rendered HTML Output (rendered_item)” under “General” click “Add”    Word of caution: you'll then need to select a view mode for all the content types that your search index can access. Make sure you go with the “default” mode (unless you've set up a custom mode of your own) and not the “search results highlight input”.    8. Add a Custom “search_keywords” Field to the Targeted Content Types Remember the example at the beginning of this post (the one with the “office cleaning” search phrase)? Now, it's about time we found an answer to this question: How can you give your content team more control over the returned search results? Over the results ordering... You set up a new field called “search_keywords” and integrate it with every content-type/bundle that you're targeting:   go to /admin/config/search/search-api click “Edit” click “Fields” click “Add Fields” look for your newly created “Search Keywords”, under “Content” click “Add” look for your new field in the fields list change its type from “String” to “Fulltext” configure the “Boost” dropdown showing up (consider setting it to 21...) click “Save Changes”   The END! Here are no less than 9 different solutions to your “How to configure a custom search in Drupal 8?” type of dilemma. Which one would you go with? And why? Give us a clue in the comments here below. Image by Republica from Pixabay   ... Read more
Adriana Cacoveanu / Nov 08'2019
Acquia Developer Studio: What Is It and Why Would You Want to Use It?
What Is Acquia Developer Studio? Acquia Developer Studio is a collection of tools designed to simplify and streamline all building, testing and deploying processes in Drupal. Or, here's another equally valid definition of this new product: It's a command-line tool that provides developers with all the tools they need to build digital experiences in Drupal... fast. A handy toolbox that boosts their productivity. In short: Acquia Dev Studio enables developers to get a Drupal application up and running — locally and in Acquia Cloud — in... no time.   It Provides You With... 1. A Browser-Based Remote Development Environment (IDE) The integrated IDE “spoils” your Drupal developers with a browser-based UI that speeds up all those common setup tasks they handle in each new project. Take it as a “cloudstation” for all your Drupal-related processes; one customized to each one of your different Drupal projects.   2. A Command Line Interface (CLI) Storing +200 Acquia Cloud API commands and an entire toolbox, this CLI enables any Drupal developer to build a new Drupal 8 project within... a few minutes. Just try to step into your developers' shoes:  You have all those tools that you depend on for building, testing, and deploying your code —  Acquia Pipelines, Lightnining, Landom BLT — conveniently at hand in one connected toolchain.   Why Would You Want to Use Acquia Developer Studio?  Here's a quick empathy exercise for you: Say you're one of the developers working on your current Drupal project. You're eager to implement those cool features that you have in mind, but as you delve in, you realize that there are some critical security patches to handle ASAP. Next, you need to address a software upgrade issue... Not to mention that you constantly need to make sure that all those tools in your heavy toolbox — Drush, Composer, Git, etc. — work perfectly together. How do you manage to speed up all the tedious, repetitive tasks that “kill” your enthusiasm and to focus more on the exciting, more rewarding ones instead? Source: Acquia.com On those that add true value to your project?  How do you juggle with so many tools needed for getting any Drupal app up and running? With so many Drupal processes: building, testing, deploying, monitoring? Well, you use the Acquia Developer Studio to streamline all the processes and automate all the... mundane tasks. Source: Acquia.com Take it as your all-in-one-place suite of tools or your “productivity booster”.  As a company, you'd want to use it because you'd:   cut down on your costs: the development cycle is shorter gain more flexibility in customizing your products to your users' needs: with all your disparate tools centralized in one central ecosystem and all your processes significantly streamlined   And How Do You Install It? It's as quick as entering the following command in your terminal window:  https://downloads.acquia.studio/install-standalone.sh | bash Then, provide the information for sudo access, next just carry out a few more easy steps indicated to you on the corresponding Acquia Docs page.   The END! These are the answers to your legitimate “What” and “Why” questions regarding the Acquia Developer Studio. How do you find these benefits? Are they relevant enough for your own developer workflow? Image by rawpixel from Pixabay  ... Read more
Adriana Cacoveanu / Oct 28'2019
Why Is WordPress so Popular? What Makes It More Popular than... Drupal? 3 Main Reasons
It scales like no other — built to accommodate huge amounts of content and massive volumes of traffic — it's incredibly robust, it's gone through a lot of innovative changes these +15 years and yet... Drupal's still less popular than WordPress. So, you cannot help wondering: “Why is WordPress so popular?” What makes it more tempting than Drupal? Since everyone agrees: Drupal's a beast... It provides lots of robust “goodies” right out of the box, it powers some of the most high-loaded websites out there, it's developers' first choice for custom development... Whereas WordPress is just a... popular blogging platform, right? And yet, stats don't lie: Any Wordpress vs Drupal in 2019 comparison would reveal to you that the first still rocks supreme. Are you as puzzled by this paradox as we have been?  Well, then let's shine some light on this enigma. Here are the 3 strongest reasons why you would use WordPress over Drupal:   1. It's More Flexible: A Huge Ecosystem of Plugins and Themes One of the most tempting benefits of choosing WordPress over... any other CMS is its unmatched flexibility: It “spoils” you with an overwhelming no. of customization options. +40,000 plugins, one or several for pretty much any functionality that you'd like to “inject” into your WordPress site. Lots of customization options to use on your WordPress theme: change fonts, color, layout, you name it. You can easily get your blog/info portal/basic brochureware business site/gallery with a portfolio up and running in no time, then gradually turn it into a full-featured, custom-tuned website. Note: I know what you might think: “But Drupal, too, is highly flexible. It ships with a rich collection of modules to... delve into and choose from.” True, but, unlike Drupal with its load of modules, WordPress makes incorporating a plugin so much simpler. So much more accessible for... non-developers, as well.   2. Why Is WordPress so Popular? Because It's So Easy to Use! From all the features of WordPress “guilty” for its popularity, its user-friendliness stands out as the most irresistible one. WordPress caters to non-developers and junior developers, as well, unlike Drupal, which still carries its “For geeks only!” label. It's that accessible, that a non-technical user could get a light, basic WordPress site up and run in... 5 minutes. Of course, custom-tuning it to perfectly fit your needs and preferences will require some extra time. For any beginner, with zero web development experience, who doesn't want to get tangled up in PHP, HTML, and CSS, WordPress is a “declaration of independence”: He gets a WYSIWYG editor that, conveniently enough, looks a whole lot like Word, and they get drag-and-drop functionality, as well. Assembling a simple website and then administering it and even further customizing it doesn't get any more straightforward than its gets with WordPress.   3. It's Backward Compatible... and That's a Huge Bonus Why is WordPress so popular compared to Drupal?  The team behind it realized just what a pain it would be for end-users to break the backward compatibility of the platform that they got used to. What an ordeal their maintenance routine would become. And so, WordPress users stuck to it. Its backward compatibility is, for them, the strongest proof that:   they've chosen a reliable platform their loyalty is being rewarded   By comparison, Drupal 7's codebase was so frustratingly different from its predecessor's. Then, Drupal 8 came out as... a completely new world.  Just like Drupal's original creator, Dries Buytaert, pointed it out all too clearly: Source: Dries Buytaert's blog. The END! These are the 3 main reasons why WordPress's more popular than Drupal: usability, backward-compatibility and flexibility/customization capabilities. Curious now:   What other “hard to resist to” WP features would you have added to this list?   Photo by Fikret tozak on Unsplash  ... Read more
Adriana Cacoveanu / Oct 25'2019
How to Hire Drupal Developers: 5 Ways to Find the Right Drupal Talent for Your Project
Say you already have your product specifications clearly written and you start "hunting" for the right Drupal talent for your project. Where should you start your searches? And, once you've found a pool of talent, how to hire Drupal developers who are the perfect match for your skillset requirements and who fit your organization's needs? What recruitment strategies should you apply to... speed up things a bit? What criteria should you use for filtering through your candidates? What questions should you prepare for the selected Drupal developers and... what questions should you be asking yourself, too? About your project needs, scope, budget constraints... Let's get you some answers. Here's a handy checklist including 5 tips that'll streamline your searches and optimize your selection process:   1. First: What Is a Drupal Developer? What does a Drupal developer do? Generically speaking, a "Drupal developer" does a lot of things:   conducts researches, selects and installs those Drupal modules that fit your project's feature needs develops new modules, from scratch, tailored to your project's needs tweaks and extends existing modules so that they provide the precise functionality that you require handles the look and feel of your Drupal website/app by creating a custom theme that meets CSS/HTML code standards handles different PHP implementations architects your Drupal solution incorporating data, display, and information infrastructure migrates your existing websites to Drupal puts together and runs performance-boosting strategies on your existing Drupal website   And this leads us to the 3 main Drupal roles that you might "bump into" while running your investigations. Each one with a specific skill set to evaluate and to set against your own project's size and scope. For instance, no need to look for a Drupal themer when it's a new functionality that you want to get developed and integrated into your website...   1.1. Drupal Site Builder If your Drupal project doesn't require highly complex feature implementation or a PHP "guru", but rather someone who:   is familiar working with the latest versions of Drupal and, overall, with site frameworks  has basic Drupal project management skills has a decent understanding of the essential concepts of JS and PHP code   ... then a Drupal site builder experienced enough to put together core and the right contributed modules and create a fully functional website is what you need.   1.2. Drupal Front-End Developer Looking for someone to "revamp" your Drupal site's presentation layer? Or we're talking about a new project, that you want to make sure it'll deliver the best user experience? Then a Drupal front-end developer (or themer) is what you should be looking for. One that:   is experienced enough to develop new themes and to customize existing Drupal themes has extensive knowledge in basic PHP, JS/JQuery, HTML, CSS sticks to the best testing practices to ensure that the delivered theme is fully responsive and light enough not to impact your website's performance   1.3. Drupal Back-End Developer Or maybe you need someone with proven expertise to set up a robust "bone structure" for your Drupal project? One who can:   develop a whole new module, if needed, to fit specific functionality needs tune an existing module till it meets your feature needs to the slightest detail prove his/her expertise in CSS, Object-Oriented PHP, HTML, JS/Query   Note: a Drupal back-end developer's knowledge is not limited to code; a great one knows what goes into building a Drupal site, knows general design concepts and deployment best practices, as well. Of course, the list of Drupal role doesn't end here. From Drupal Design/UX to Drupal Architecture, to Drupal Product Owner to Drupal DevOps Engineering... you could populate it with pretty much any level of specificity that you aim for. Which brings us to the next question:    2. What's Your Project?  In order to find the answer to your "How to hire Drupal developers for my project?" question you should first try to answer:   What's my project scope? What about its size? Which are the general and (more) specific feature needs?   For, as you've already seen, there's a whole bunch of Drupal roles out there and selecting the right one(s) for your project can get challenging. To say the least... So, to narrow down your options, identify and examine your needs:   is it Drupal maintenance that you need for your current website? Then you should get reasonable and not expect a lead Drupal developer to "jump" right in is it a whole new enterprise-grade Drupal solution that you need? Then you might want to adjust your budget and time resources to the level of Drupal experience required and the complexity of your project is it just back-end Drupal talent that you need, maybe just someone to integrate a new feature to your website? Or a... full-stack developer?   Do you just have a rough idea of what you'd like him/them to develop or clear wireframes and project specifications already laid down? Such as:   Drupal security updates enhancing your website's overall performance various eCommerce integrations custom-built content tools   ... etc. Do you need a freelancer Drupal developer or a contract-to-hire? Or you'd like to go with a staff augmentation solution? As you take the time to ask yourself all the right questions you gradually start to identify:   what level of experience you need what skill set your project requires whether you need a Drupal developer to pay specialized attention to a specific area of your project or a generalist  what technology stack your project depends on   While you have your "Aha!" moments, simply turn your answers into... job responsibilities.    3. How to Hire Drupal Developers: Where to Look? OK, now that you've identified your skillset needs and included them in your job description, it's time to "go hunting". "But where can I find developers that have experience working with Drupal?" You can run passive or active searches or... both.   Top channels to consider for passive searches:      job portals like LinkedIn, Monster, Glassdoor, Indeed ... online Drupal (or PHP) communities freelance platforms like Upwork, Toptal, Scalable Path   Top channels for your active searches:   social media Drupal groups local IT communities LinkedIn (when you start analyzing particular profiles on LinkedIn your passive search becomes... active) Drupal.org (select the top Drupal profiles there and start evaluating them against your own requirements) developer communities like GitHub, Stack Overflow   Note: an effective way to identify the perfect match is to delve deep into those profiles and evaluate those developers':   portfolios; are there any projects in there similar to yours?  Drupal roles that they "played" in different projects that they worked on type of questions they posted proof of them volunteering in different Drupal projects documentation skills   Also, keep in mind to run a deep scan of the candidates' own social media profiles, as well. They're often packed with valuable information like:   number of connections within the Drupal community number of projects that they've worked on, time spent on each of them and... number of clients, as well (is he prone to working with the same client on multiple projects?) developer groups that he's joined client feedbacks   4. 4 Questions to Ask Your Candidates So, you've shortlisted your candidates and your "How to hire Drupal developers?" dilemma has turned into: "How do I... know which is the best Drupal talent for my project?" Here are 4 questions to ask them (among other things), which will speed up your "identification" process:   What techniques would you apply to enhance a Drupal website's performance? What modules do you find essential, irrespective of the projet's scope? Do you have a Drupal project portfolio that I can have a look at? Have you contributed to developing or improving any Drupal modules?   5. What to Look for in a Drupal Developer: 8 Things to Evaluate Level of experience, community involvement, proven expertise reflected in the projects that he's worked on, certifications... what precisely should you analyze first when you're evaluating your candidates? Since the number of aspects that you could be checking can get... overwhelming, here's a shortlist of things to look into to identify your best match from a group of potential candidates:   5.1. GitHub Profile It's a never-ending source of priceless information about your candidates:    how much time they spent on different projects samples of their written code details on their contributions   5.2. Experience Level And here, what you should pay attention to is the no. of Drupal versions that they've worked with. The more... the merrier. The more experienced that particular candidate is, the more familiar he is with Drupal's specific "roadblocks" and how to address them.   5.6. Technical Expertise How do you assess their level of technical expertise? There are 2 straightforward methods to apply:   ask your candidates to review some of their own code  challenge them with a specific scenario: a challenge that they should find a custom solution to (e.g. "What module would you use to...?")   5.7. Community Involvement An experienced Drupal developer is (most of the time) an active member of the Drupal community, as well. Look for profs of his/her active involvement: discussions where's he used his expertise to help out other developers, contributions to different projects...   5.8. Client References Are there any client references online to have a look at? If not, can he/she give you any references that you could talk to? And this is particularly important if it's Drupal agencies that you're evaluating.   The END! These are the 5 aspects to look into for finding your personalized answer to the "How to hire Drupal developers" question. Happy "hunting"! Photo by Kaleidico on Unsplash  ... Read more
Adriana Cacoveanu / Oct 18'2019
Acquia Cohesion: Empower your Non-Developers to Build Drupal Websites Four Times Faster
What is Acquia Cohesion? What challenges that you're facing nowadays does it help you solve? Or, if you want to put it this way: How does this Acquia & Cohesion DX8 solution enable your organization to align with the "do more with less" agile trend? In this respect, in today's blog post we'll:   define this Acquia product focusing on what sets it apart from other website builders out there identify your organization's specific needs, that Acquia Cohesion's designed to addresses highlight some of its most powerful and...  empowering features  1. What Is Acquia Cohesion?   It's a low-code Drupal add-on that empowers less technical people in your team — content authors, marketers, designers — to build websites faster and cheaper via a simple drag-and-drop user interface. In short: it simplifies the whole Drupal site-building process. It gives power to non-dev teams to:   come up with new designs set up new layouts create web pages use components site-wide, while selecting different styles to boost the user experience assemble new Drupal websites from scratch   No CSS, PHP, HTML or Drupal theming knowledge required... Now, just imagine:   how much time your developers would gain, time that they could then invest in more innovative work instead how much easier it'll be for your non-developers to be 100% brand compliant how much faster it'll get to launch new websites whenever needed how much simpler it'll get for your non-technical team to manage hundreds, even thousands of Drupal websites   2. Why Did Acquia Acquired Cohesion? Well, for 3 obvious reasons. Acquia wanted to enable organizations to:   launch their Drupal websites faster (up to four times faster) achieve brand consistency across their ecosystems of websites grant their non-dev teams more freedom and more control over the website infrastructures that they manage   In a few words: Cohesion DX8 makes Drupal (even) more accessible to companies worldwide.   3. 4 Signs that Your Company Needs this Low-Code Site Builder   Quote's source: Dries Buytaert's blog. Let's take these 4 scenarios and see if you can relate:   your team's striving to "juggle with" 100s of Drupal websites, each one carrying its own network of e-commerce and social media tools and integrations your short-term strategy includes launching... a few more scalable 100s websites your marketers and content creators always need to wait in line for the development team to do its own work before they get to add any content to your new websites your non-technical team depends on the development team for every content update they need to make (swapping a text box with an image, updating the layout...)   Are these challenges all too familiar to you? Then you're definitely one of Acquia Cohesion's target users: An organization looking to reduce their build times dramatically and to streamline the management of hundreds or even thousands of Drupal websites.   4. Real-Life Example of Acquia Cohesion "In Action"   Quote's source: Information Age. Bayer is such an organization that recognized this site builder's potential and used it to overcome the challenges that it was then facing:   building thousands of standardized websites fast(er) granting their non-dev team "independence" from developers to create Drupal websites at scale   5. Features You'll Want to Try First Now that we've tackled your "Why" questions, let's address your "How" question, as well: How do you make the most of Acquia Cohesion?  Therefore, we've hand-picked the 3 of its most powerful (and empowering) features that you'll be tempted to explore and exploit first:   5.1. In-Context Editing In-browser, on-page editing couldn't get any more convenient than this: Your content editor would just need to click anywhere on the web page where they need to make the update, hit the "Quick Edit" button and... edit it. From making changes to the content itself to updating the layout of the page and settings, your editorial team can make changes on the fly. Where do you add that the permissions control system helps them keep track of who has access to what. 5.2. Style Builder The style builder that Acquia Cohesion ships with provides your design team with minimal coding experience components that they can easily:   drag and drop arrange assembly   ... to their liking to create unique page layouts. Thus, they get to put together their own templates right in the browser. Note: feel free to go beyond the built-in styles and to get the most of the CSS properties and selectors.   5.3. Design Replication Just imagine: what if you could reuse one of your current Drupal site's design and style configuration across your other hundreds of websites? What if you could sync templates, components, brand styles across your global network of sites... faster and easier than ever before? Well, Acquia Cohesion stores that kind of power. You just need to... unlock it and use it to your advantage.   The END! These are the key benefits that you can reap from using Acquia Cohesion within your organization. Do you find them strong enough to choose this particular website builder? Image by Chris Wolf from Pixabay  ... Read more
Adriana Cacoveanu / Oct 14'2019
Drupal Migrate API: An Overview of the Migration System in Drupal 8
About to migrate your website from... Drupal 7 to Drupal 8? Or maybe from an external data source to Drupal 8? The good news is that Drupal Migrate API, the migration system in Drupal 8, is extremely powerful and conveniently flexible. The "trick" is that you should be familiar with all its robust features, hidden gotchas and planning steps to take. But, fear not: we've got you covered. Here's a quick-start guide to migrating in Drupal 8, which covers both Drupal-to-Drupal and external data store-to Drupal migration scenarios.   1. But First: What Is Drupal Migrate API? It's Drupal's robust migration system that enables you to pull data from various sources and to "inject" them into... Drupal (duh).   And the entire framework is made mostly of... migration plugins:   source plugins process  plugins destination plugins   It's these migration plugins that are responsible for extracting, transforming and fitting data into the Drupal 8 destination website. 2. A System Designed to Pull Content to Drupal from... Any Source One of the Drupal Migrate API's most powerful features is extracting content from... pretty much anywhere:   XML previous versions of Drupal MariaDB, MySQL JSON CSV other platforms (e.g. WordPress)   The overly simplified Drupal 8 migration process would look something like this:   connect the Drupal Migration API system to your external datastore write your custom migration paths transform the source data into a suitable format to fit perfectly into the content types and fields in your destination Drupal website   3. Consider Creating Your Own Custom Source Plugin Is there no way to pull content from your source? Then you'll need to write your custom source plugin to map the extracted data to its destination fields. A plugin that suits your own migration scenario to the slightest detail. For instance, mapping the titles and subtitles of the... blog posts on your current WordPress website to the article node type's titles and subtitle fields in your Drupal 8 destination website. IMAGE Image by Ulrike Mai from Pixabay   You'll need to define the specific fields in your source data to the Drupal 8 Migrate API so that it should perform a proper mapping. 4. Process Plugins: The Key Elements in the Drupal 8 Migration Process They play a critical role in any Drupal 8 migration, being responsible for converting the source data into the appropriate format.  Here are just a few examples of process plugins "in action" during the migration process:   they import data behind HTTP authentication they parse images from text   Image source: Drupal.org  5. The Migration System Handles Everything... "The Drupal Way"  The unparalleled flexibility of the Drupal Migrate API resides in its way of handling each operation... the Drupal way. It's "smart" enough to automatically import and validate the source data into the right fields of the destination site. It's designed to "understand" how to adjust the imported data to the various fields, entities, and configurations specific to your Drupal 8 destination website. In short: the Drupal 8 migrate system makes it easy for you to handle all migration operations the... "Drupal way".   6. Drupal 8 Migration Modules that Extend the System's Functionality Now, let's say that, although extremely powerful, the Drupal Migrate API framework doesn't meet all your functionality requirements. You can always enhance its flexibility with migration modules that serve your particular migration needs. Here are just 3 examples:   Migrate Plus It adds extra features to the framework such as an URL source plugin that makes it possible for you to pull data from XML, Soap, and JSON file formats.   Migrate Tools The module provides tools for various running and managing migration operations. Here are just some of the Drush commands triggering such operations:   migrate-import – it will run a migration. migrate-status – it will display all migrations and their status migrate-rollback – it will roll back a migration Migrate Source CSV It enables you to import CSV files to your Drupal 8 destination website.   Migrate Spreadsheet It makes it possible to extract data from spreadsheet files...   7. External Data Source to-Drupal Migration: A 4-Step Guide Now, let's talk facts. Or, better said: the essential steps to take for migrating your content from an external source to Drupal 8.   first, enable the Drupal 8 Migrate module next, install both Migrate Tools and Migrate Plus for the Drush migration commands and a whole variety of much-needed extensions and plugins set up a custom module for your specific migration case use YAML configuration files for field mapping from the right data source; trigger your process plugins to convert data to the right format   Note: your config files should get stored in “my_migration_module/config/install/“. 8. Drupal-to-Drupal 8 Migration: A 2-Step Guide If it's a Drupal-to-Drupal migration challenge that you're facing, here's the whole process brought down to its key steps:   run the "migrate-upgrade" command in Drush using the "-configure-only" flag to trigger stub YAML configurations    Upgrade Using Drush copy the resulting YAML files into the config/install directory of your custom module (remember to give them proper names and to edit them)   9. Final Word The Drupal Migrate API is highly flexible and, therefore, very powerful.    It's designed for a whole variety of migration scenarios, of different levels of complexity: from importing a collection of blog posts to... pulling hundreds of thousands of nodes.   And yet, with great flexibility comes great complexity: Since every website's user-generated content architecture is different, every Drupal 8 migration is highly website-specific. With no "one-size-fits-all" type of standards at hand, you're at the same time free and "constrained" to... customize your migration to your specific needs. Better said: with great flexibility comes... great(er) responsibility. Main image by wandaquinn from Pixabay   ... Read more
Adriana Cacoveanu / Sep 30'2019