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.

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
Cache API in Drupal 8: How Is It Any Different from Drupal 7 Cache System?
What makes the Cache API in Drupal 8 any better than Drupal 7's cache system? What's so revolutionary about it? Which of the old limitations does it remove? What are those new concepts and terminology that you should learn about? And, most of all: how complex is it to set up a cache in Drupal 8 for a specific use case? You might have already bumped into terms like “max-age”, "context cache" or "cache tags".   But how precisely do these new concepts, part of Drupal 8's cache system, refine and streamline the way you cache data on your website?   Let's try to demystify the terminology of Drupal 8's Cache API and to translate its new “fancy” terminology into... crystal-clear benefits for you:   1. What Is Caching More Precisely? Why Do We Cache Data? To your “What” question I'd answer:   Caching is a... strategy (or layer) for storing data from your website. Or: it's a software or hardware component where you store your data.    Why would you want to store your data?   Because this will streamline the way your website serves all future requests for that cached data.   And it goes without saying that reading data straight from the cache takes less time than... retrieving it from a slower data container or fully recreating the result. In short: caching data translates into faster page load time. 2. Cache API in Drupal 8: The Automatic Cache System A brief, yet accurate definition of cache in Drupal 8 would be:   Storing data that takes too long to load.   And if I am to detail it a bit I'd have to add that:   Caching can be either permanent or time-limited and that you're free to cache any type of data on your website.   Now, talking about Drupal 8's cache API, what everyone points out is that: it is much improved. That it's so different from the cache systems of the previous Drupal versions that... you even risk turning your website uncachable if you're not familiar with its new concepts.   “But how different/sophisticated can it be?” you might ask yourself.   Before we delve deep into details let me add just one thing:   We're talking about an... automated cache system. Basically, your Drupal 8 website retrieves cache data for both anonymous and logged in users with no configuration whatsoever. All by default.   And now, let's shed some light on all these new fancy concepts that the Cache API in Drupal 8 is based on:   2.1.The Cache Tags We all do agree that “invalidating cache” is one of the most challenging tasks of any cache system. Luckily, not anymore. At least not in Drupal 8, where you now have the concept of “cache tags” that you can use for tagging:   specific pages specific page elements various types of content   … and thus invalidate them all. Improved efficiency and high accuracy through... basic tagging. Basically, using these cache tags you can easily identify outdated data stored in multiple cache bins and... invalidate it. This way, you no longer run the risk of invalidating “still green” cache items, in bulk, not knowing which data to invalidate.   2.2. The Context Cache Here's an all too common scenario:   You're faced with multiple variants of the same data; only one of them should be cached, based on a specific criterion like language, user, country, content access permission...   Well, how do you automate targetting the right variant to be cached? And how do you automate caching the other left variants, as well, depending on the... context. You use “cache contexts”, that's how... They're one of those new remarkable features that the Cache API in Drupal 8 ships with, that allow you to specify the criteria to be used to vary for the cached content on a page. By user, by language, by country, by path...   2.3. The Max-Age (The Cache Duration) Maybe you don't want certain data to be forever cached. Maybe you need it stored for a certain period of time only. In this respect, the “max-age” property in Drupal 8's cache system allows you to define that time limit. To invalidate data that will have run... out of time.   2.4. The Bubbleable Cache Metadata What does this even mean “cache metadata... bubbling”? Let's take this example:    You have a parent item with its own “family” of... children items. In this context, “bubbled tags” makes it possible for the parent item in this render array to receive cacheability metadata from its children.   Bubble cache metadata streamlines the whole process of invalidating outdated cached data. As simple as that...   The END! Is it any clearer for you now what makes the Cache API in Drupal 8 so powerful? How its new features come to remove most of the limitations that you've already faced in Drupal 7? And how you can use them to refine and automate caching on your own Drupal 8 website? Image by Pexels from Pixabay   ... Read more
RADU SIMILEANU / May 24'2019
Looking for a Drupal 8 Rating Module? Here Is a Top 5 Flexible and User-Friendly Rating and Review Modules
Looking for a Drupal 8 rating module that should be:   easy to install easy to configure easy to use conveniently flexible and user-friendly?   And maybe you “crave” for some nice-to-have features, as well:   enabling users to add a short review multiple ratings: enabling users to vote on several aspects of your product/service, such as price, quality, ease of use?   What are your options? What working (and stable) modules for rating and reviewing are there in Drupal 8?  We've done the research for you, evaluated all the modules for rating in Drupal 8, and come up with a list of 6 best... rated ones:   1. Voting API     Keep in mind that this Drupal 8 rating module doesn't provide a voting mechanism, packed with all the key voting features. Instead, it structures the voting data for other rating modules to leverage. What it does provide you with is a standardized API and voting data storing schema. Therefore, it streamlines the whole process of retrieving and organizing the voting results for various pieces of content on your Drupal 8 website. Top features:   multi-criteria voting caching the voting results (and it does that in a highly efficient manner, with no need to recalculate them...) enables users to rate any type of content on your Drupal site (users, comments, nodes) automatic tabulating of the voting results   Note: keep in mind that, for now, we only have a pre-release version of the module for Drupal 8...   2. Flag Rating, A Highly Popular Drupal 8 Rating Module  An extension of the Flag module, that allows you to either:   use the default SVG icon  upload your own icon (jpg, SVG or PNG) for each flag   Furthermore, you even get 2 templates to override to your liking:   flag-rating.html.twig flag-rating-icon.html.twig   3. Star Rating Form Display       A Drupal 8 rating module that you can use to turn the “select tag” option of the Star Rating module into a more user-friendly, clickable icon. To “unlock” its functionality just:   navigate to Structure > Content type select the “Manage form display” option scroll down to your star rating field click “Star rating clickable” in the Settings screen, configure the custom display to perfectly fit your needs 4. Star Rating   If you're looking to integrate a voting functionality exclusively for the authors of the articles submitted on your website (hence, not for the end users), Flag Rating is the module you're looking for. Take it as a simple, yet useful module that provides you with a display formatter and a star rating field. In short: with the “bare necessities” for the authors to be able to rate the uploaded articles. Say you have a review website — a hotel review website — and you want to add multiple star ratings to a node:   customer service en suite and private facilities food, etc.   ... with a different icon for each node. Then, you just need to use the star rating field that this module provides... Top features:   built-in support for the Views module it doesn't require other modules (e.g. the voting API module) to work it allows you to add a different icon type per field and per view mode   5. Vote Up/Down   The Drupal 8 rating module that simplifies the entire voting process: it encourages users to express their votes through an intuitive thumb illustration. Top features:   code voting support for your pre-defined products/services interchangeable themes for your voting widget the possibility to set up your own custom widgets using ctools plugins   The END! These are your 5 best options when it comes to working Drupal 8 rating modules that should be both easy to configure and easy to use.  Have you discovered other ways of integrating a reviews feature to your Drupal 8 website? Image by mohamed Hassan from Pixabay   ... Read more
Adriana Cacoveanu / May 07'2019
What Are the Best Solutions for Creating a Slider in Drupal? 4 Drupal 8 Slideshow Modules
Do you need to set up a custom image carousel? Or maybe one slider with a teaser, displaying content from your website? What are the best Drupal 8 slideshow modules to consider for implementing and maintaining your slideshow? And out of the box options are... out of question, right? Your requirements are too specific for that. Maybe you need:   a certain number of slider items different arrow designs to display the image slideshow on other pages, too, not just on your homepage   With such flexibility and customization requirements in mind, we started digging into the “pile” of Drupal 8 image slider modules. And here are the 4 ones that we've selected, those with the best reviews in the Drupal community:   1. Views Slideshow     If it's a fully customized slideshow that you want to implement, Views Slideshow's the module you need. It'll “spoil” you with tons of add-ons to select from and give your unmatched flexibility. From:   titles to images to teasers of the last X blog posts on your website   … you get to include any type of items in your carousel. Furthermore, it's jQuery-powered and it allows you to configure different settings for each one of the views that you'll create. Note: oh, yes, you'll need to be pretty comfortable using Views in order to leverage this module at its full capacity. Some of its key features:   your slider can include and display the latest products added to your eCommerce website  you can set up a news item slideshow (the latest X news articles published on your Drupal 8 website) from the latest X blog entries to the latest videos, testimonials, forum posts etc., you're free to include any type of content in your slider...   Now, here's a very brief step-by-step on how you can set it up and use it to create your slideshow:   1.1. Install and enable the module Once you've downloaded it from Drupal.org, installed and enabled it, make sure to download its corresponding ZIP folder on Github, as well. Give your folder a new name  — /jquery.cycle/ — then start uploading all its files to the  /libraries/ folder in the root of your Drupal website.   1.2. Set up your view Time to create your slideshow now. For this, just go to Structure> Views>Add new view    1.3. Publish your slideshow block For this, go to Structure>Block layout and select the region on your website that you want your slider to get displayed on.   1.4. Create a new image style As you can see, the images included in your slideshow are currently of different sizes. Therefore, they're not perfectly adjusted to fit the block region that you've chosen for your slider. To solve this inconvenience, just go to Configuration>Image styles>Add Image style.  There, you can create a new style, that will be shared by all the images included in your slideshow.   2. Slick Slider, One of the Most Popular Drupal 8 Slideshow Modules Another one of Drupal's modules for creating custom image slideshows, that ships with a heavy load of options. Powerful and flexible... what more could you ask for from your slider solution? Capitalizing on Ken Wheeler's Slick carousel, working perfectly with Views and fields, the Slick Slider module:   enables you to set up a slider including multiple views, value fields and paragraph types comes with image, audio and video support supports complex layouts, as well   Some of its key features:   you're free to enable/disable the swipe functionality it's responsive (scales along with its container) some of its layouts are CSS-built it's designed to work with Field collection, Media, Views, Image (and also to work perfectly fine with none of these modules)| it allows you to configure your own “slide selecting” dots, the arrow keys and your slider's navigation, as well it provides modular and extensible skins you get to choose how you want your slideshow to be scrolled: swipe, desktop mouse dragging, auto scroll, mouse wheel scroll...   3. Owl Carousel Another one of those Drupal 8 slideshow modules that gets the best reviews. Here's why:   it leverages the Owl Carousel slider built by OwlFonk.    it, too, empowers you to customize your image slideshow; in this respect, it ships with a myriad of customization settings it's responsive it capitalizes on a small ecosystem of submodules: Administration UI, Views Style, Field Formatter   Some of its key features:   from customizing your events to styling your controls, it allows you to tailor your image slider to suit all your needs it supports multiple sliders touch events   4. jCarousel A simple module to consider each time you need to display a group of images in a compact way on your website. It even allows you to set the number of items to be included in your carousel... Speaking of which, you should know that jCarousel, as its name says it, allows you to leverage the jCarousel jQuery plugin. For this, it ships with a developer API for other modules to access. Furthermore, it integrates with Views, so you can easily turn any list of images (or other type of content) into a slideshow... Some of its key features:   jCarousel field formater out-of-the-box Views support API for using jCarousel without Views a collection of modern skins to choose from Carousel pager that enable users to jump between multiple sliders   The END! These are the first Drupal 8 slideshow modules to consider when looking for the best method for setting up your custom image/content slider. Packed with tons of customization options, feature-rich and powerful, these 4 solutions for creating image carousels in Drupal 8 should be on your short list when you start looking beyond the out-of-the-box options for putting together a slider... Photo by Samuel Zeller on Unsplash ... Read more
Silviu Serdaru / Apr 25'2019
Drupal 8 Contact Forms vs Webform: Choosing Between Drupal Most Popular Form Builders
Simple or custom-made? Is it a quick-to-assemble, rather “prototypical” form that you need for your website? Or a more complex, custom-made one? In a Drupal 8 Contact Forms vs Webform “debate”, which Drupal form builder best suits your data collection requirements? On one hand, you have the convenience of creating your web forms in no time: simple, straightforward, “conventional” web forms. On the other hand, you get to scan through a never-ending list of advanced options and come up with a complex, fully custom-made web form. That, of course, if you don't mind the time you need to invest in going through all those different form elements and available features and the risk of getting... overwhelmed by tons of field customization options. Ease of use vs unlimited capabilities... The convenience of getting your forms up and ready to collect user data in no time vs the chance to tailor some more advanced forms, ideally customized, carrying lots of different field values. Decisions, decision... Now, to help you decide, here's a more detailed Drupal 8 Contact Forms vs Webform comparison. Weigh each one of the 2 form modules' benefits and drawbacks, set them against your own needs and... make the choice: 1. The Contact Forms Module  Being part of Drupal core, there's no need to download and install the module. Just go to Structure>Contact forms. Next, choose either to opt for the default form or to set up a new one: click the “Add contact form” button. Once in the form creation screen, enter your form's values in the predefined fields that you have there:   give the form a name in the “Label” field enter the email address where all the form submissions will be sent to (most probably your site admin address) in the “Recipients” field enter your “Thank you” text in the “Message” field there; this will be the “thank you” text line your users will see once they hit the “submit/send” button  in the “Redirect path”, enter the URL to the page that you want them to get forwarded to after they've submitted the forms (that if you don't want them to be redirected back to the homepage, by default) click “Save” and there you have it: a simple form, with all the basic, must-have field values, added to in no time   Of course, that doesn't mean that you can't further explore the given features and maybe add a few more fields and even styling options. For instance, you could “Edit” your newly created form. Just select it in the “Contact Forms” screen and, scrolling down the options in the drop-down menu opening up, click the “Manage fields” option. Click “Add field”, then “select a field type” – Text(plain), let's say – enter the “Label” and configure its settings. Furthermore, if you want to style your form a bit, hit the “Manage form display” tab and... opt for a placeholder, for example. Next, explore the options available in the “Manage display” screen. For instance, you get to decide if you want your field label to be hidden, inline or visually hidden... In short: in a Drupal 8 Contact Forms vs Webform comparison, the first form builder will always outshine the latter when it comes to ease of use. It empowers you to set up a simple form quick and easy...   2. The Webform Module Now, if Contact Forms is a rather minimalist form builder, the Webform module is a feature-rich, powerful one. The customization features that it ships with go from email notifications to fine-grained access, from statistic collection of data to delivering results in a CSV format. From exporting data in various formats to... conditional sorting and filtering. In other words, with Webform sky is the limit when it comes to the contact form that you can create. It can go from a basic one to a highly complex, multi-page form. One made of lots of elements, advanced options for the user to select from, settings and features for you to leverage in the back-end... But, let's keep in mind that it's a contributed module, so you'll first need to download it from Drupal.org. Next, go to “Structure” and hit the “Webforms” tab. Then, click the “Add webform” button and, in the next screen popping up, give your new form a name (enter it in the “Title” field). You'll be automatically forwarded to the “Build” tab, which is where all the “magic happens”. Once you click the “Add element” button, you'll get to “swim through” a sea of lots and lots... and lots of form elements (known as “fields” in Contact forms) to choose from. Ranging from basic to really advanced ones... Let's assume that you'll want to add a “Text field” element. Click the “Add Element” button corresponding it, then scan through all the new customization options listed up in the “Add Text field element” screen opening up next... Feel free to add other elements to your webform: a “text area” maybe, an “email” element, as well...  Note: do keep in mind that, once you've settled for the final fields/elements to be included in your web form, you can always change the order to get them displayed in. Just drag and drop them till they fit that predefined order in your mind... Also, you can check/mark them as “Required” and turn them into “must fill in" fields, as opposed to optional form fields. Note: feel free to edit that “Thank you” page that your webform will automatically forward users to. How? By clicking “Back to form”>"Settings”>"Confirmation” and selecting from the different options that you have there:   enter your own Confirmation title (e.g. “Thank you!”) customize your Confirmation message   3. Drupal 8 Contact Forms vs Webform: Key Differences Now that we've run our spotlight over each one of these 2 form building tools, let's make an inventory of the differences that we've identified:   first of all, it's obvious that the Webform module gives you more control over your web forms' design   also, unlike Contact Forms, it supports conditional emails; you get to send an email to a specific user in your list based on conditions associated with the value of certain elements in your form   Webform enables you to add basic logic to your web forms   … it comes packed with tons of advanced options, ranging from JS effects to conditional logic, to submission handling, etc.   Contact Forms, on the other hand, allows you to set up a simple contact form in the blink of an eye; you skip the tedious process of scanning through lots and lots of options, settings, and complex features   Webform allows you to create your forms either in a YAML file or in its the admin-friendly UI   also, Webform comes as a “cluster” of submodules – Webform REST, Honeypot, Webform Views, SMTP, Webform Encrypt, etc. – which are “responsible for” its multiple capabilities   4. In Conclusion... The conclusion of this Drupal 8 Contact Forms vs Webform “debate” is quite simple:  If you need a basic form on your website and you need it built fast, go with Contact Forms. Being included in Drupal 8 adds convenience... But if you want to customize your form (and you have the time), to style it to your liking and “turbocharge” it with advanced features and options, go with Webform.   It's a much more powerful and feature-rich form builder, perfectly suited for your complex requirements... Image by Tumisu from Pixabay ... Read more
Adrian Ababei / Apr 24'2019