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.

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
Drupal 9 vs Drupal 8: Or Is It Rather Just “Drupal 8 vs... a Cleaner Version of Drupal 8”?
What's in a name... after all? Or... in a number in this case. Wouldn't a "Drupal 9 vs Drupal 8" comparison be identical with a "Drupal 8.x vs Drupal 8.y" comparison, except for one number? So, why is there a need to... change numbers (too)?  Because Drupal depends on the vendor support lifecycles of PHP and Simfony. As simple as that. Therefore, Drupal 9 will mark not just the moment when Drupal 8 has been "fully" sanitized of all its deprecated code, but an upgrade to a newer version of Simfony (and Twig). Note: starting Nov. 2021, Simfony 3, now at the heart of Drupal 8, will no longer receive security patches. Now, let's have a look at some of the Drupal 9 features in relation to Drupal 8's well-known features, paradigms, and approach to upgrades.   #1 Drupal 8: The Last Version that Breaks with Its Predecessors The Drupal 7 to Drupal 8 migration was the last hair-pulling upgrade. So they promise us... Can you sill remember all those high hopes you've had regarding shiny new Drupal 8, its innovation model and all those oh! so tempting improvements? Then you must surely remember that moving to Drupal 8 quickly turned into an... ordeal. The other side of the "innovation coin" that it seduced us with was that:   It was too different from its predecessors.   So different that... your Drupal 7 contributed modules weren't compatible with it and lots of custom code had to be rewritten. Well, that was the last cumbersome migration in Drupal. If you've already got rid of all deprecated APIs by the time Drupal 8.9 turns into Drupal 9, the upgrade will be... silky smooth.   #2 Drupal 9 vs Drupal 8: Expect Simfony 4/5 and Twig 2.0 Image source: Drupal.org Some of the key differences between the two are the versions of Symfony and Twig that they use/will use. Since Simfony 3 will go end-of-life in November 2021, Drupal 8, as well, will need to be "sacrificed" for a newer major version of Drupal. One that should use upgraded versions of these PHP projects (Twig and Simfony).   #3 Drupal 9: The First One Backward Compatible with Its Predecessor Image by MoteOo from Pixabay And this is a huge difference and leap forward from Drupal 8. For it's precisely this incompatibility with Drupal 7 that... caused so many headaches during the previous upgrade.  In this respect, Drupal 9's built, from the ground up, to be backward compatible with Drupal 8 from day 1. That, of course, if you keep your current Drupal 8 website up to date and "well-groomed". Cleaned up of all out of date code...   #4 Contributed Modules Will Be Compatible with Both D8 and D9 "The compatibility of contributed modules is historically one of the biggest blockers to upgrading, so we will also make it possible for contributed modules to be compatible with Drupal 8 and Drupal 9 at the same time." (source: Dries Buytaert's' blog)   In short: if you stick to your update routine and keep removing deprecated code, your Drupal 8 contributed and custom modules will be compatible with Drupal 9, as well. #5 Drupal 9 vs Drupal 8: Without vs With Deprecated Code There's a major inconvenience that stems from Drupal 8's continuous innovation model:   Innovative features keep... piling up, at high(er) speed.   With every improvement brought to these new features, certain code gets automatically... deprecated and just left there to linger. So, this is one of the critical differences between the 2 versions: the newer one will be stripped of old code.   #6 Drupal 9 Will Have Updated Third-Party Dependencies That's right, not only that Drupal 9 will remove support for all code marked as deprecated in Drupal 8, but it will use updated third-party dependencies.   # Final Word Any Drupal 9 vs Drupal 8 comparison would have to include 2  key differences:   different approaches to upgrades different versions of the underlying technologies   We're quite curious what's your opinion about the promises made regarding the Drupal 9 release:   that contributed modules will work on both versions of Drupal? that, since it'll be completely backward compatible, the upgrade will go... uneventful?   Are you confident, sure or skeptical that moving to Drupal 9 will go... hassle-free? Main image by mohamed Hassan from Pixabay  ... Read more
Adriana Cacoveanu / Sep 23'2019
What’s New in Drupal 9? Any Game-Changing Features to Expect and... Prepare for?
These days, this is the question on the lips and minds of anyone developing/designing/creating content in Drupal or (just) managing a Drupal website: "What's new in Drupal 9?".  The "fear" is there and it's legitimate... For the (bad) experience that you've had with upgrading from Drupal 7 to Drupal 8 is still haunting you, isn't it? You just cannot forget that the whole process quickly turned into a rewriting of Drupal from the ground up...   Your contributed modules were not compatible with Drupal 8 and there was a ton of custom code to be rewritten...   So, how would an honest "Drupal 9 vs Drupal 8" comparison look like? What completely revolutionary and therefore high-impact features should you expect and... plan for (at least psychologically)? And I bet that you don't settle for the "The great news is that... there's no breaking news at all" type of answer, either. That's why we've gone beyond this explanation that everyone seems to have embraced by default and dug deeper.  The result? An inventory of all the changes (for there will be, even if not as dramatic as those that we've got used to from the previous major Drupal releases), ranging from:   upgrades of the underlying technology to a paradigm shift in the Drupal upgrading process itself to contributed modules that are every likely to get replaced with others to changes with an impact on Drupal 8's current "load" of third-party dependencies   So, let's dive right in, shall we? 1. Upgrading to Drupal 9 Will Be... Buttery Smooth (Unlike with D8) And this is the most exciting "no big news, yet a significant mind-shift" type of answer to your "What's new in Drupal 9?" question. It looks like the Drupal community has learned from its past mistakes... the hard way and it's determined to prevent them. What does this mean for you? It means that beginning with Drupal 9 all major Drupal software releases will be seamless, painless and... buttery smooth. Basically, Drupal 9 is Drupal 8 stripped off all its deprecated code.   If you've removed all old code and dependencies by Drupal 8.9, upgrading your website to Drupal 9 will be as hassle-free as... any Drupal release.   Image source: Drupal.org   2. What's New in Drupal 9? Newer Major Versions of Symfony and Twig  Ready to say goodbye to Symfony 3? It will get replaced with Symfony 4 or 5 after November 2021.  Also, expect an upgrade to Twig 2.0.  These upgrades can only translate into higher performance, improved developer experience, and enhanced security. Tip: you might want to take Symfony 4 for a short test drive on your Drupal 8 website, just to see how well it handles the new version. 3. Drupal 9 Drops Support for All Deprecated Code in Drupal 8 Another valid answer to your "What's new in Drupal 9?" question is:   It won't support any code marked as deprecate in Drupal 8.   Tip: since this "sanitizing" process is going to be a long, ongoing one, we suggest you turn it into a routine; keep removing out of date code from your Drupal 8 website to make sure that upgrading it to Drupal 9 will be as... buttery smooth as possible. Image by Michael Schwarzenberger from Pixabay     4. Contributed Modules: Expected to Work in Both Drupal 8 and Drupal 9 Now, this is definitely a standout change, that breaks away from the "the news is that... there is no news" opinion. Practically, there are high chances that contributed modules share a single codebase so that they can work both on Drupal 9 and Drupal 8 websites. And that's...new in Drupal. A whole new paradigm.   5. Drupal 9 Will Cut Down on Third-Party Dependencies With all deprecated functionality getting removed by the time Drupal 9 gets released, its load of dependencies will get significantly lighter. 6. Panelizer Is Expected to Get Removed and Replaced "What's new in Drupal 9?" Well, most likely Panelizer will get replaced with the Layout Builder, the "rockstar" module of the moment. So, you'd better consider letting go of this module. Image by Gerd Altmann from Pixabay   7. The Majority of Drupal 8 Modules Will Be Compatible with Drupal 9 Call it a change, a new approach or... just "something" that sets Drupal 9 apart from its predecessor: By the time it'll get released, all Drupal 8 contributed modules will be fully compatible with this new major version of Drupal. Almost half of the Drupal 8 modules turned out to be compatible with the analysis run in April this year, so... the future looks highly promising. 8. Final Word The "nothing new in Drupal 9" shared opinion isn't 100% accurate. Ok, if we compared this upgrade to the previous one, all these mind-shifts and new approaches in Drupal 9 are, indeed, no painfully disruptive changes. No new dramatic paradigms of development. But they are, nevertheless... changes. Differences... Not so much between Drupal x and Drupal 9, but between an old and a new model of upgrading Drupal. Main photo by Jon Tyson on Unsplash  ... Read more
Adriana Cacoveanu / Sep 19'2019
Drupal on Blockchain: Why Would You Want to Decentralize Your Drupal Network?
Just imagine: you update content on one of your Drupal websites and it gets automatically synchronized across your whole network! That's Drupal on Blockchain in just a few words... Say you manage a national library's infrastructure of Drupal websites. One for each one of its local branches. Now, here's how moving all the user data stored in there from your centralized database onto a decentralized blockchain system would benefit you:   readers get to validate their own user data since there's no central entity having full (and exclusive) control over it once they've updated their user data on one of the library's websites, it'll get synchronized across the entire network the well-known vulnerability to errors of centralized multi-site structures gets eliminated; there's no longer a centralized database acting as a single point of failure the decentralized architecture speeds up any operation that gets performed across the network you'd avoid scenarios where the same reader enters his login credentials on one of the library's websites and gets asked to enter them, once again, when accessing the website of another library branch   And I would also add: increased transparency, lower transaction costs... But I'd better dive into more details on how Blockchain and Drupal can work together and how you can benefit from the decentralized architecture that they'd put together:   1. Blockchain: What You Need to Know About Its Potential But first, here's Blockchain in plain words: A decentralized shared system where multiple participants store their data, interact directly with each other, manage and keep record of their transactions. How is it different from the “old” way of managing transactions across a network?   there's no more a centralized database for storing data and transactions; participants (nodes) store it among themselves … this grants them total control over their own data/created content users involved in a blockchain network get to interact with one another freely, with no need of a third-party as an intermediary it establishes a system of rule-based transactions each transaction — editing, deleting content, etc. — gets documented it enhances communication between nodes/participants transactions get carried out at higher speed and, implicitly, with fewer costs with no central entity as a unique storage source, there's no single source of failure anymore enhanced transparency   In short: blockchain enables you to set up a secure and immutable architecture for your network.   2. Blockchain and a New Content Distribution Model “Transparency” is the keyword here. Decentralizing a content distribution platform would benefit both content creators and content consumers:   digital publishers become the only ones allowed to update or delete their own content consumers pay producers directly for the content they consume (written content, songs, videos, etc.)   This way: content creators get full control over their own content — there's no platform owner who could remove it to his/her liking — and get paid fairly and in real-time, for each piece of content that gets “consumed”.   3. Drupal on Blockchain: Why, How, and With What Costs? Why would you want to decentralize your CMS — in this case, Drupal — and store your data on Blockchain?  To answer your question, let me highlight just a few of the inconveniences of managing your content on a centralized Drupal database:   each transaction is explicit and irreversible it poses a higher vulnerability to errors multiple-user functionality can turn out to be a serious dread the centralized database acts as a single point of failure: if something crashes in there, the whole system is at risk updating content in your database doesn't automatically update it across your entire network of Drupal websites...   And how would the 2 technologies work together? Considering the fundamental differences between them:   Drupal uses a centralized architecture to manage content Blockchain uses a decentralized, middleman-free workflow based on a verification element   Before I try to answer your legitimate question, let me ask you this: Do you seize any similarity between Drupal's “open data” phylosophy and Blockchain's “decentralized data” principle? Now, here's how your hypothetical “Drupal on Blockchain” architecture would look like:   it'd be a much more secure, decentralized structure (you'd remove the single point of failure, remember?) since a blockchain workflow would use an immutable validation of data, it'll act as a guarantee that no content can get modified by other than its creator/distributor user data/content would be easily accessible across the entire infrastructure (take the example of an enterprise-level business, running a multi-site Drupal network) … and it'd synchronize in real-time across all your Drupal instances, as well... transactions performed within this architecture would be rule-based: every single content update or removal will get documented   “But at what costs?” you might ask. What compromises would you need to make to run Drupal on Blockchain?  What challenges should you get prepared for? Here are 2 potential “dares” to ponder upon:   first of all, integrating your current Drupal data into a blockchain system won't be quite a “piece of cake” secondly, getting the consensus of all the participants (say users whose data would be easily accessible network-wide) is also a serious issue to consider   4. Drupal Development Efforts in this Direction: The Blockchain Module This duo — Drupal and Blockchain — has generated quite a lot of talk these years. And quite a handful of promising initiatives and even prototypes have been presented (integrations with Etherium and bitcoin...) From all these initiatives of the Drupal community, I've decided to put the spotlight onto the Blockchain module (not yet covered by Drupal's privacy policy). Take it as a “scaffolding” to support your future “Drupal on Blockchain” architectures. It provides the functionality you need to:   set up your Drupal installations as blockchain nodes; ”nodes” that are independent, meaning they can get configured independently ensure that your newly set up nodes are compatible with each other   The END! This is the “why, how and at what costs” of this topic. One which has been on the lips (and on the Drupalcon slides) of members of the Drupal community for quite a while now. What do you think? Would such a decentralized Drupal on Blockchain architecture suit your own project's needs and constraints? Would you trade your central point of storage for the convenience of automated content synchronization? Photo by Clint Adair on Unsplash ... Read more
RADU SIMILEANU / Jun 28'2019