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 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
How to Upgrade to Drupal 9: Just Identify and Remove Any Deprecated Code from Your Website
This is no news anymore: preparing to upgrade to Drupal 9 is just a matter of... cleaning your website of all deprecated code.  No major disruption from Drupal 8. No more compatibility issues to expect (with dread)... “Ok, but how do I know if my website's using any deprecated APIs or functions? How do I check for deprecations, identify them and then... update my code?” 2 legitimate questions that must be “haunting” you these days, whether you're a:   Drupal 8 website owner developer currently working on a Drupal project   Since the great news of this smooth Drupal upgrade ships with the answer to your “What” question (“What do I do to get my website ready for Drupal 9?”), but leaves the “How” question open: “How precisely do I check my website for deprecated code?” Are there any analysis tools available? Tools that you could run to get a thorough and accurate deprecated code report?  Luckily, there are. And I'll be focusing on 2 of the most effective ones that you should consider integrating into your workflow: Drupal Check and the Upgrade Status module.   1. But What Is Deprecated Code? And What Website Elements Should You Audit? A piece of code is considered deprecated if:   there's an upgraded alternative for it already available it's no longer in use   With this real “dilemma” now solved, there comes another one: “What parts of my website should I check for deprecated code?” Make sure you scan your:   Drupal core Drupal modules theme   Note: pay special attention to the contributed modules enabled on your Drupal 8 website; run a deep-scan and, if you get any deprecation warnings, make sure to alert those modules' maintainers to clean them up.   2. Drupal Check: Scan Your Database for Any Deprecations  A handy PHP analysis tool to grab and to run whenever you need to look for deprecated code in your database.  A command-line tool that Dries Buytaert recommends running the... automated way,  closely integrated into your own workflow. What it'll do is track down instances of deprecated code for you. Then, all there's left for you to do is to... remove them. And, depending on the context, to replace them with their upgraded alternatives.   3. The Upgrade Status Module: Determine Your Site's Readiness to Upgrade to Drupal 9 If the idea of working with a command line doesn't sound too... “tempting” to you, how about adding a user-friendly graphical interface to the equation? The Upgrade Status module, delivered to us by the Aquia team, led by Gábor Hojtsy, makes checking for deprecated code a lot more enjoyable and intuitive, thanks to its admin dashboard. It's particularly handy if you're a Drupal site owner and not a senior Drupal developer highly familiar with CLIs. Install it, enable it and use it to evaluate your website and to assess to what degree it is ready (meaning up to date) for the Drupal 9 upgrade. But let's delve head first into details on:   what it takes to install it properly what parts of your website it will deep scan how you can narrow down its analysis to specific projects only   3.1. Use the Composer Package Manager to Install It Since it ships with its whole collection of third-party PHP dependencies... Another key requirement to set the stage for the Update Status module is to enable the Update Manager and the Git Deploy modules on your Drupal 8 website. Once installed, you can access its user interface at /admin/reports/upgrade.   3.2. Check Up Your Codebase, Modules, and Themes The great thing about this module is that you get to run your checks right in your admin UI and get a full report. Another great aspect is that, when it comes to contributed modules, it will provide you any available updates... inline.  Once it's completed its scan it'll display either an “Errors found” or a “No known errors” message. To localize the identified deprecations on your website, just click “View errors”.   3.3. Run It on Specific Individual Projects, Too Maybe you don't always need a full check. Maybe you'd like to scan only a specific project that you might be working on, to ensure that it's ready to upgrade to Drupal 9 when due time. You can do that. The module allows you to cut down the time you'd spend on an unnecessary full-scan by focusing on one target project only.  Furthermore, to streamline things even more, it enables you to export each deprecated code report individually...   4. So, You'Ve Identified Your Deprecated Code: What Next? In most cases, keeping your codebase up to date once you've detected the deprecated parts is just a matter of replacing those deprecations. For the other few cases left, you'll need to carry out a more complex refactoring process. Now that you know which are the tools to use for:   running your audits spotting any deprecations in your codebase   … your website's smooth upgrade to Drupal 9 depends on you exclusively.  On sticking to your own routine of checking up your Drupal core, modules and theme and keeping them up to date. Image by fajar budiman from Pixabay ... Read more
RADU SIMILEANU / Jun 21'2019
Laravel or Drupal 8? What Are the Key Differences? Which One Best Fits Your Use Case Scenario?
What does Drupal 8 do that Laravel does not? What key functionalities, that Drupal ships with, do you need to build from scratch in Laravel? And how would opting for Laravel benefit your specific type of project? In short: Laravel or Drupal 8? “It's like comparing apples to oranges” some might say since one's a framework and the other one a CMS. Even so, if it's unclear to you what are their particular use cases and their built-in features, you won't know whether it's a CMS or a framework that best suits your project type, right? That best serves your project-specific needs:   to be super fast to leverage a solid, off-the-shelf content management system for publishing different pieces of content on the website to feature an easy to scale database to support multisite to tap into robust user and content management features that are already implemented to be built on top of a solid framework acting as a reliable back-end application to leverage a highly intuitive admin user interface to be 101% secure to leverage a mixture of server and client-side logic   Now, keep your list of project requirements and constraints at hand to evaluate these 2 technologies' pros and cons against it:   1. Drupal 8: Top Benefits, Main Drawbacks, and Specific Use Cases If a robust user and content management system is critical for your project, then Drupal 8 makes the smartest choice. It's that “thing” that Drupal excels at that, which would take you a whole lot more time to do in Laravel. And it's not just its robustness that might “lure you in”, but the level of convenience that it provides: a lot of the essential features and functionalities that you might need are already built-in. Moreover, you can easily manage them and custom-tune them via your admin interface... By comparison, you'd need to build these functionalities, from the ground up, if you chose to go with Laravel.   Top benefits:   you can rest assured that your website runs on a particularly robust, Symfony-based CMS there's a huge, dedicated community backing it up you get to create various content types, for different parts of your website, assigned with different roles; unlike basic CMSs, that enable you to write... posts and to create new web pages you can set up different editorial workflows and assign specific user roles, with fine-grained access control you can always further extend its CMS-specific functionalities: extensibility is one of the strongest Drupal 8 benefits   Main drawbacks:   you do need a team of Drupal experts (senior-level preferably) to keep an eye on your Drupal 8 website/app and keep everything properly maintained you can't get away with a “get it up and running and... move on” type of philosophy; Drupal 8 is a more of a long-term commitment: there's always a newly launched promising module to consider adding on, a new update to run...   Specific Use Cases for Drupal 8:   large-scale projects that depend on a robust and reliable content management system; one that withstands an intense, ongoing process of creating, editing and publishing lots of fresh content Laravel or Drupal 8? Definitely the later if it's a multi-site, multi-language web project that you plan to develop; not only that it streamlines content publishing  across your whole network, but it significantly speeds up localization thanks to its server-side caching capabilities   It means that no matter the place on the globe where that your users might be located, they get to access your web pages and have them loaded... instantly.   2. Laravel: Pros, Cons, and Project Types that It's Best Suited For Laravel stands out as a highly reputed, powerful PHP framework.  If:   maintainability is one of your biggest concerns you're looking for a robust framework you need to carry out your project fast enough you need a framework that ships with all the latest functionalities   ... then Laravel is what you need.   Top Benefits:   a fast-growing, devoted community you can easily integrate LDAP authentication  it leverages the Model-View-Controller architecture it's just... fast provides you with a great admin user interfaces it “spoils” you with intiutive, beautifully written code it ships with a heavy “toolbox”: scan through and pick the most suitable one(s) for your project in-built code for social login and sending out emails everything you might need to set up during the development process is right there, already integrated into your code: cron jobs, database queries, routes...   Main drawbacks:   more often than not identifying performance issues isn't that straightforward upgrading to the latest version of Laravel can turn out to be quite a challenge: be prepared for “buggy scenarios” and for the need to rewrite code you can't just jump straight to Laravel: learning the basics of OOPS first things first is a must   Specific Use Cases:   your project needs a back-end application (rather than an off-the-shelf CMS) when the benefits of the MVC architecture (faster development process, suitable for large-scale projects, multiple views, etc.) are critical for the given project  whenever you need to mix client-side with server logic whenever time is the main concern for you: you just need your project developed super fast   3. So... Laravel or Drupal 8?  Now, I'm sure that you already anticipate my answer: The choice depends strictly on your project requirement and objectives. On your own hierarchy of priorities in terms of features and functionalities. And depending on these key aspects, that should be clearly defined, one technology will benefit you over the other. So... what type of project are you looking to build? Photo by Raquel Martínez on Unsplash  ... Read more
Adriana Cacoveanu / Jun 20'2019
Using Drupal for Project Management and Team Collaboration: 2 Drupal Distributions to Consider
“Can I use Drupal for project management?” Definitely.  Given all its content-oriented baked-in capabilities — file management, version control, easy content creation, and editing — Drupal makes the perfect software for:   managing your projects the easy and the... smart way streamlining communication among your team members and with your contractors   In this respect, Drupal provides its own feature-rich distributions to help you put together your robust setup in no time. “Distributions” that come already packed with a set of useful sub-modules and themes, that all support the core functionality: project management (and smooth collaboration). And without further ado, here the 2 most popular Drupal distributions for project management and team collaboration for you to evaluate first: RedHen and Open Atrium.   1. RedHen CRM       Loaded with robust and modern features, this Drupal-native CRM is designed with flexibility in mind. Meaning that it integrates seamlessly with the enterprise solution that you're using (Blackbaud, Salesforce) and it supports a wide range of use cases... And speaking of its functionalities:   engagement tracking and monitoring data management: information about your contacts, the relationships among them and with your own company (e.g. memberships) event registration integration one-page donation forms to custom-tune to your liking   As for those many use cases that this Drupal distribution's built to accommodate, let's pick just a few real-world examples:   It's the best choice if smoothly integrating your CRM with your other enterprise solutions is critical for you   It streamlines tracking interactions with your contacts and organizations. Furthermore, since you can easily integrate it with your website, you get to leverage the provided data in order to adjust the user experience accordingly...   It allows you to customize it and thus to give it a Drupal-like look and feel: to integrate it with modules like Rules or Views, to go for the same field creation UI, etc.   Is your contacts list a huge one? This CRM comes to your rescue with some powerful baked-in tools: an efficient find-and-dedupe interface, an automated filter built in the UI, that you can use to filter your contacts by specific fields, etc.   It automatically syncronizes data in your Contacts list with any newly updated data on your Drupal Users list   In short: RedHen CRM makes one of the top choices when you consider using Drupal for project management purposes. It's a lightweight, self-contained framework, more of a “cluster” of multiple specialized modules:   Organization Activity Fields Organization Group Dedupe Registration and a few more...   2. Open Atrium    Looking for a Drupal-native distribution built around the team collaboration functionality? One that should be:   convenientyly extensible “loaded” with robust collaboration and information sharing features?   Then Open Atrium fits the profile in the slightest detail. Built on top of the Organic Groups and Panopoly modules, it's a framework flexible enough to support discussion configurations by key criteria like team, project, organization... And here are some more powerful features worth considering when you're still thinking whether you should use Drupal for project management:   an access control system, that grants granular control to certain sections of your project a drag and drop layout with plenty of widgets to select from for customizing your landing pages and dashboard file storing and sharing features built-in Events, Files, Discussions, Issue Tracking, Document Wiki an easy to customize, responsive theme   The END! These are but 2 viable answers to your “Can I use Drupal for project management and team collaboration?” type of question. 2 of the options available that best meet some of your main requirements when looking for a project management software:   to be easy to use to ship with an entire collection of file management and communication features to be flexible enough and allow quick customization and seamless integrations   Have you tried other Drupal modules/distributions built around this functionality so far?  Image by jessica45 from Pixabay ... Read more
Adriana Cacoveanu / Jun 06'2019