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
Silviu Serdaru / Nov 22'2019
"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
Silviu Serdaru / Nov 13'2019
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
Adriana Cacoveanu / Nov 08'2019
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
Adriana Cacoveanu / Oct 28'2019
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
Adriana Cacoveanu / Oct 25'2019
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
Adriana Cacoveanu / Oct 18'2019
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
Adriana Cacoveanu / Oct 14'2019
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
Adriana Cacoveanu / Sep 30'2019
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
Adriana Cacoveanu / Sep 23'2019