MidCamp 2021 is less than three weeks away, and tickets are on sale now. We’re accepting topic submissions for Thursday’s “Meet the Drupal Community” day and Friday’s “Share Your Knowledge” Unconference. There’s a lot going on between now and then, so pitter-patter.Schedule
This year we’re embracing the virtual format and working to create spaces that encourage community building, connection, and mentorship. Each day builds on the next, but the schedule is built for maximum flexibility.
- Wednesday, March 24 - Get Started with Drupal
- Thursday, March 25 - Meet the Drupal Community
- Friday, March 26 - Share Your Knowledge
- Saturday, March 27 - Give Back to the Project
Instead of a formal call for papers, we’re now opening submissions for Thursday and Friday topics.
Thursday will be a day to Meet the Drupal Community: Attendees are encouraged to propose a topic for presentation or discussion. This need not be a formal session submission… it could be a conversation, case study, or just a time to get outside and walk in the park. Submit an idea and we’ll get you on the schedule.
Friday is a day to Share Your Knowledge: Submit a topic and we’ll gather them all together for an Unconference. The rules of an Unconference are simple:
- Whoever shows up are the right people
- Whatever the results of a session were what it was supposed to be
- Whenever it starts is the right time
- It is over when it’s over
Drupal developers: Leverage the power of your community
Join our growing network of Drupal professionals at Esteemed working together as one team. Learn about Drupal, and our opportunities for contract or full-time jobs. Also, refer your colleagues/clients and earn commissions. We provide support and mentoring, helping you build your career–every step of the way. Join us today: app.drupalcontractors.com
Following our previous post about new contribution structures at DrupalCon and the video about Decoupled Menus for Tuesday, we can now announce that on Wednesday, April 14, we will focus on the Automated Updates initiative.
Rachel Lawson caught up with the Initiative Team to find out what they had to tell us.
The excitement around releasing something was in the air that morning, and by the time the code was rolled out, everything seemed to be running smoothly and according to plan. This was also expected, as we have a staging site and a range of automated tests. And with that confidence one would think a bug never makes it all the way to production, right? Not right, unfortunately. In the complex solutions as we build, some parts might be very customized, and have a range of either edge cases, or test cases that our tests do not cover. So this morning we quite fast received reports of a bug that prevented a specific part of the site from working as it should.
One reaction to this would be to find the bug, assume who wrote that part was responsible. Complain publicly in Slack about this person and hotfix it on production. Add a post-mortem PR and be done with it.
Another reaction would be to analyze how the bug was introduced, fix the bug while carefully making sure the changes that introduced the bug is kept, and write some tests that makes sure we do not roll out a release that breaks this part of the site again.
Let’s try the latter approach in this article.Analyze how the bug was introduced.
We use git on all of our projects, which has a a version history of all changes introduced. This way we can also find out what went wrong here. To find out when this bug was introduced, we use git bisect, which is an integrated tool in git. I first learned of this tool in a blog post from Webchick, more than 10 (!) years ago, and have since used that blog post several times as a cheat sheet. So please don’t take down that site (or article), but just in case, here is a brief summary on the steps needed:
Start with finding a commit in the history where the functionality was working. In my case I found one at the SHA 0c6ec6e2330cf7fb89f1aee7bb059edf764fd695. Then take a note where it is not working, in our case the tip of the production branch, which was the SHA a0c161c0067442fa028d80f19f3a5642c653b820. So I started bisecting:git bisect start git bisect good 0c6ec6e2330cf7fb89f1aee7bb059edf764fd695 git bisect bad a0c161c0067442fa028d80f19f3a5642c653b820
This will start the bisect, and it will say something like this:Bisecting: 25 revisions left to test after this (roughly 5 steps)
So it checks out the most effective path to finding the commit that introduced the error. So to investigate each step we have to tell git what the current state is. I run the build step on this commit SHA, and see that the error is there. That is bad. Let’s tell git:git bisect bad
It checks out another SHA for me, and I build the project again, checking if the bug is there. Yay, it’s gone. Let’s tell git:git bisect good
This will the continue until you find the commit that introduced the error. Something like this:72624098ee091143d5b1318e0912c0e1c8a65406 is the first bad commit commit 72624098ee091143d5b1318e0912c0e1c8a65406 Author: xxx Date: Wed Feb 10 19:51:54 2021 +0100 Commit message
This can give us enough info to blame someone, but that is really not constructive. Especially since the author ended up being me.Fix the bug in a careful way
Now that we know what introduced the bug, it might first of all be easy to actually spot the error. So this can actually help you fix the bug. But more importantly, you know why the change was introduced so you can fix the error, while making sure this will not revert whatever change the author wanted to achieve with the commit. So this step will be left to the reader, since it will vary greatly on the bug and the contents of the commitAnalyze what went wrong
The bug was introduced, and we could fix it in a timely manner. But what actually got us in this situation? There can be several answers to this question:
- Missing test coverage
- Undocumented functionalty
- Undocumented dependencies
- Mis-use of functionality that introduced a bug when you fixed something else
- Misunderstandings in code reviews or pull requests
An analysis of the bug should be able to uncover if any one or several of these things were at play. Or maybe there are other structural issues with this project that needs to be addressed. We can talk through all this, and make a plan (with corresponding issues) to tackle as many as possible out of these issues. In our case missing test coverage was quite obvious, as the change would never have been committed, had we known that it would make the specific functionality break. Which brings us to the last step of this story:Add the missing test coverage, and make sure it covers the bug introduced
While fixing the bug is priority number one, and was initially done quite fast, the follow up is to write a test that illustrates what went wrong, and confirms the bug actually fixes the bug.
In practice this means we will do these things:
- Fix the bug and create a pull request
- Working from the develop branch without the fix applied, we make a test
- Confirm this test is failing locally
Our next step is to push this branch to Github. We use Github for code and Github actions for continuous integration. Now to prove our test is actually testing the bug we have fixed, we revert the fix, and create a pull request from this.Pull request, including the reverted commit, which we now expect to fail.
(Note: Commit messages and titles have been manipulated for illustration purposes).
As we can see, the pull request succeeded with just the test, but we want to make sure the change would have prevented us to push the broken code to production. So we remove the fix in this reverted commit, which we applied like this:git revert ba31d6c9f4ffaa5508642a23a598b854124ac572 # <- Our commit sha for the fix.
Then, as the test failed like we expected it to, we add back the fix. For example by reverting the reverted commit, so something like this:git revert 3d3866985e24a19a65c05abaaa1afab9242bc76d # <- Same SHA as the screenshot
Then, let's go back to our pull request, and verify that it now passes again (which it should, since it initially passed before we reverted the fix)
We can now merge in the test. This way we have accomplished the following things
- Fixed the bug
- Analyzed why the bug was introduced
- Wrote a test that illustrated the problem
- Made sure the functionality in question will not be broken by releases in the future
If you are looking for an agency with a focus on Quality Assurance, automation and stability, we can help! Our clients benefit from our focus on quality, and we always have long term cooperation in mind while working with clients. This way we can deliver solutions that have a high quality, but also increases in quality as the complexity grows. Contact us today if you are looking for a technical partner for your project!
Florida Drupal Camp this year took a slightly different shape as a virtual event (with fond memories of being there in person just a year ago) and the organizers and volunteers pulled it all off beautifully. The addition of a virtual world on gather.town really brought the event to life and enabled bumping into folks on the “hallway track” and greeting visitors in our booth. We were again very...
Tech(k)nowday is an online conference, featuring over 200 women in tech and it is taking place this weekend. Not only that, it is FREE to attend so why not take a look at the program and see what interests you?
I recorded a short talk for them today, about how we are making some improvements to DrupalCon so that we can help people focus their participation on selected strategic initiatives of the Drupal project. I hope it is useful to people.Tags
This post is an updated part of our Marketer's Guide to Drupal series. This guide will walk you through considerations for choosing an open source CMS, plus case studies and CMO advice to bring your site to the next level.Supercharge SEO with Drupal
“Over the last 20 years, Drupal has grown into one of the largest enterprise content management systems in the world.” - Drupal Founder Dries Buytaert
Along with the growth of Drupal, the marketing landscape is vastly different now than it was 20 years ago. The same techniques once used to make the top of the search engine no longer work, so marketers need to understand the powerful role a CMS like Drupal can play in building a successful SEO strategy.
The release of Drupal 8 marked a significant stride in giving content authors more control. That focus continues to evolve with Drupal 9. Notable editor-focused features include a templating engine called Twig for component variety, an API-first foundation to “write once, publish everywhere”, and an editor-friendly content block authoring experience. Layout Builder additionally provides a "drag and drop" module that lets editors add components to pages and add pages to the site with no code. Now, Drupal 9 has even more upgrades for marketers, tech-savvy or not.
This shift places the marketing team in the driver’s seat more often and allows them to get involved in the CMS decision. In this post, we’ll outline some ways you can up your SEO game with Drupal.Traditional SEO is Dead
No longer will well-placed keywords alone get you to the top of the SERP ranks. Content is still King in the world of marketing, and it’s what helps you improve your SEO.
Every algorithm change Google has made has one thing in common: it aims to provide the best content based on what it "thinks" the user is trying to find. In other words, the user’s intent. If you want your rankings to stick, don't try to cheat the system. Attract your prospects with informative, entertaining pieces that they can use to take action. And avoid no-value posts that are keyword-stuffed with your industry and the word "best" 100 times. Google can see through it and so can all of your users.
That said, there are a few other factors that are critical to keeping your rankings high that can’t be ignored, including quick load times and mobile-friendliness. Drupal 9 is built with several of these factors in mind to help us make needed improvements quickly and effectively.Mobile-First Mentality
Drupal 9 is created with responsive design capabilities built-in, so you can begin to address many problems immediately. That’s not to say all of your responsive problems will be solved. Content editors still need to think through their content and imagery, and themers will still need to do configuration to establish things like breakpoints. But Drupal 9 will set you on the right path, giving you and your team many of the tools you need.
You’ll also have the option to choose different images and content for desktop and mobile versions right from the WYSIWYG editor, making it easier to see the differences for every piece of content when you add it and before you publish. This means a solid visual of both versions in real-time for faster publishing and peace of mind knowing exactly what your users experience on any device.The Need for Speed
Responsive design is a must-have in today’s digital landscape and speeding up your website on both desktop and mobile is a surprisingly effective way to contribute to your SEO efforts. In short, if your marketing team is focused (as you should be) on top rankings, Drupal 9 provides many of the tools to make that happen.Accessibility = Key for Search
Drupal 8 spurred an overall commitment to accessibility from the community, and with the release of Drupal 9 came another big push toward improving web accessibility, including:
- Technical features for improved accessibility like controlled tab order and aural alerts (See our post on Exploring Drupal’s Built-In Accessibility Tools)
- Additional support for Rich Internet Applications in the form of WAI-ARIA support
- A new front-end theme, Olivero, which focuses on even greater accessibility
- All features conform with the World Wide Web Consortium (W3C) guidelines
This is important because, as we know, the relationship between web accessibility and SEO is closely intertwined. Improving accessibility on your website will, in turn, improve your SEO rank.SEO Friendly Modules for Drupal 9
There are thousands of modules available for Drupal 9, many of which are perfect for marketers. Whether you’re looking to try out something new or to find something that fits what you already know, you have your pick. Here are our favorite SEO modules to use when optimizing your site:
- Metatag - allows you to automatically provide metadata, aka "meta tags", that help search engines understand your content. This must-have module offers over 300 different meta tags for different purposes, so take a look and find the right ones for your site.
- Two Metatag submodules that we highly recommend are Twitter Cards and Open Graph. Connect your site to Facebook, LinkedIn, Slack, Twitter, and other social platforms and control how links will look when shared on them.
- Schema.org Metatag - provides a way of adding some of the hundreds of standardized metadata structures from the international schema.org project on a site, making it easier to clearly define metadata that Google et al can use to more accurately understand your site’s unique information.
- Pathauto - helps save you time from manually having to create URL path/aliases as new content is created.
- Sitemap - provides a site map that gives visitors an overview of your site. It can also display the RSS feeds for all blogs and categories.
- Redirect - Almost every new site needs to incorporate 301 redirects for old page URLs. This gives site admins an easy interface for creating those redirects in Drupal.
- Google Analytics - this simple module allows site admins the ability to easily configure Google Analytics in Drupal.
- Easy Breadcrumbs - uses the current URL (path alias) and the current page's title to automatically extract the breadcrumb's segments and its respective links.
Thankfully, because Drupal is open source, you’re not out of luck in the instance that you can’t find a module that works for you. There are many options available for making a new one that works, from building it yourself to enlisting help from a Drupal team like Mediacurrent.Visualize SEO Success with Siteimprove
In addition to Drupal's SEO-friendly modules, an SEO optimization tool like Siteimprove can…
- Give content editors information about their technical SEO to make more informed decisions
- Gain an understanding of how SEO and content intersect for your overall strategy
- Flag potential issues before your content is published
- Provide insights about the SEO impact on unpublishing a page
The Siteimprove module works directly in Drupal, giving editors access to these insights while they’re adding content. This means no more waiting to fix it post-publish. It is important to correctly set up Siteimprove in order to get the most out of it and effectively transform your strategy into a workable roadmap for your site.SEO and Beyond
Drupal’s content management system is perfectly structured for search optimization and its core features support many of the critical SEO elements. But features only take you so far on their own. To manage and continuously improve your SEO, consider a dashboard like Siteimprove that you can customize to show you just how the data is processed and how it impacts your business's goals.
Setting those custom data points and interpreting the data that comes in can be time-consuming and difficult, so if you need any help, our team of Siteimprove certified experts can apply our knowledge to configuring your dashboards and making sense of the data. Get started with a Siteimprove tune up.
Get a sneak peek at our April 12 keynote speaker and learn more about DrupalCon 2021.
Jacob Rockowitz: To Drupal or not to Drupal... maybe it's not okay when individuals or organizations leave the Drupal community.
As of late, I’ve been discussing the fact that my employer/organization is moving away from Drupal. I now face the decision "To Drupal or not to Drupal." I have decided to discuss this decision openly. In my previous blog post, To Drupal or not to Drupal… that is my mid-career crisis, I expressed the guilt I have about potentially not maintaining the Webform module and stepping away from the Drupal community. If the Webform module is unsupported, the Drupal community and organizations that need to create forms and collect submissions could suffer.
Generally, when people and organizations leave the Drupal community, they don't talk about it. Occasionally, there are snarky discussions involving assumptions on Reddit. As for me, I’m using my blog as a platform to have this discussion.
Before considering what my exit interview might entail, it would help to define my role and responsibility as the Webform module's maintainer in the Drupal community.
My initial contribution to Drupal began with the YAML Form module. I focused on building out the baseline functionality, reaching feature parity with the Webform module's previous version. As more people started using the YAML Form module, documentation and training material became essential. I created documentation using GitHub Pages. I recorded screencasts that walk-thru existing and new features. When the YAML Form module became the 8.x-5.x release of the Webform module, the usage stats started to increase significantly; I realized that...Read More
Vice President of Software Engineering Fabian Franz, is another of Tag1 Consulting’s long time contributors to Drupal. Fabian is a core committer, helped bring Twig into Drupal Core, and helped develop and is a maintainer of Drupal’s caching system. In this Tag1 Team Talk, Managing Director Michael Meyers caught up with Fabian to talk about Fabian’s time in the community, what he’s most passionate about and proud of, and how he got to where he is today, as we celebrate 20 years of Drupal. For a transcript of this video, see Transcript: 20 years of Drupal - Fabian Franz ### Related content In the coming weeks, Tag1 will be featuring Team Talks with some of its long time Drupal contributors. Check back here, or follow the blog to see these interviews as they become available: - Jeremy Andrews - Doug Green - Fabian Franz - Narayan Newton - Francesco Placella - Greg Lund-Chaix - Marco Molinari - Michael Meyers - Moshe Weitzman - Nat Catchpole --- Photo by Michael Olsen on UnsplashRead more lynette@tag1co… Wed, 03/03/2021 - 05:25
New month, new recap of top Drupal blog posts! This one again features a set of diverse and interesting articles; enjoy the read!READ MORE
DrupalCon North America 2021 has a new format, as described in our previous post, that enables you to learn about a specific strategic initiative or participate in more general conference programming. On Tuesday, April 13, we will focus on Decoupled Menus. Rachel Lawson caught up with the Initiative Team to find out more…
Tag1 Consulting: How to Grow, Support, and Fund your Open Source Project - Marijn Haverbeke - Part 1
While many open source projects are successful due in part to their large contributor base, not all projects work best that way; other project leaders prefer to keep contributions from others tightly controlled. Depending on the use cases, either method can work well. For CodeMirror and ProseMirror, a tightly controlled code base is part of the culture of the project.Read more lynette@tag1co… Tue, 03/02/2021 - 05:46
The digital sphere keeps changing and evolving at the drop of a hat, technology being the truest representation of the requirements of the present world. Web development is a component of the web that manifests these changes on your screen, which explains why the Bureau of Labour Statistics projects the demand for web development resources to grow by 8% from 2019 to 2029. But has this equation between the tangible world and the web world always been the same? When the web was formulated, did it mirror us the same way that it does now?
Let’s take a look at how web development has evolved over the years.Evolution of Web Development
Tim Berners-Lee came up with the World Wide Web in 1989. He was working at CERN at the time, and his invention was meant to serve various scientists in far off universities by facilitating data sharing among them. The idea was to provide the growing technology of data networks, hypertext and computers a common global, accessible platform. When the web materialised, the code for his web server was set up by Tim on a NeXT computer, the first web page comprising links to the WWW Project, a brief description of hypertext and the details one would need to create a web server.
This is a screenshot of the world wide web browser created by by Lee -Source : CERN
As more web servers were created, the links to each of those were added to the first web page by Lee. There was no search engine, the web page consisted of information one might be on the lookout for like CERN Phonebook, guides for using CERN’s computers, etc. Web design was still a fetus concept at this time, HTML’s Function, that arranged the text into rows and columns, being the closest kin.
Two years later, in 1991, the first web server came online in the United States. As the web expanded, Lee urged developers from all over to join in and contribute to the web. This is how the journey of the web becoming a global phenomenon began. Design came on the front seat too, as in the same year, the first search engine, ALIWEB, used colour for the first time in the web pages - using yellow highlights to organise the search results. With time when more and more websites cropped up, web designing became an important thing along with web development.
Clearly, we have come a long way. To actually conceptualise how different the times have become, let’s look at what the web development trends looked like ten years ago.Web development in the previous decade
The past decade succeeded the one with digital revolution, technology occupying the centre stage throughout the years. Like everything else around us, even web development underwent several additions and alterations. The gradual evolution of web development in the preceding decade can be summed up in the following points -
- With the first Iphone coming out in 2007, the market a few years later was lined with an array of devices. Smartphones, Ipads, Ebooks were all out for public use and that meant that the web was meant to be an adaptable, fluid thing now. The development and design sphere also underwent iterations with Android OS (Operating System) kicking in. With smartphones showing up left, right and centre, demand for web design grew as well. There were now a plethora of development and designing skills required to keep up with the transforming world.
- With technology reaching new heights, Augmented Reality and Virtual Reality reached the common public’s houses, leaving it on the developers and designers to make it navigable and comprehensible. Later in the decade, even social media platforms like Instagram and Snapchat entered the augmented reality market with face filters and the likes. The common crowd began resonating with AR much more, and it started to transition into a commonplace service.
- The Internet became more and more accessible with each passing day, and greater competition led to heightened focus on User Experience (UX). Websites wanted more animation, greater interaction with their user base. Softwares with in depth design tools starting emerging, with Adobe’s Creative Cloud setting off the dominoes to give rise to competitors like Serif’s Affinity Designer and Procreate.
- In the 2010s, online communities were also quite a thing. People with similar interests could get on forums and chatting platforms to interact with each other. Some popular platforms during these times were StackOverFlow and Reddit.
Web development has evolved to a point where it has very little in common to its original parent now. In an attempt to culminate this timeline, here’s elaborating on what people and organisations believe will be the upcoming trends in web development.Projected Trends in Web Development in 2021 Mobile-first development
According to Statista, mobile data traffic is expected to grow at an annual compound growth rate of 46% by 2022, which means that most of the generation has gradually shifted over to mobile devices like smartphones and tablets for non official usage. This digital transformation has both altered and expanded the avenues for web development. Now, adaptability to various devices is one of the most important factors to look out for, mobile-first development being primary.
Web Assembly (WASM) is a small binary format that creates an environment for web applications to run as a bytecode, thus enabling the application to run much faster inside the browser. It has taken the developer world by a storm, as in complex areas like gaming, music, streaming or video editing, WASM is especially useful. Rightfully so, Web Assembly is becoming increasingly popular by each passing day.Browsing convenience
Convenience in browsing is a major competitive advantage that websites aim for, which is why Single Page Applications (SPA) and Progressive Web Applications (PWA) are gaining ground. A SPA is an application where all the data is relayed in a single web page, hence completely omitting out the time needed to load different URLs of various segments. Since a solid user base is accessing the web from mobile phones now, SPAs are even more relevant. Accelerated Mobile Pages are also being used specifically for bettering the speed and convenience on mobile pages. Along similar lines, a PWA is a ‘lighter’ version of a bigger app, that is targeted towards customers using limited internet or lower speed internet. With inclusivity being a primary concern, new technologies in the web development industry are all aiming for faster, convenient internet.
Google has taken browsing convenience into consideration too, with their ‘featured snippets’ section not requiring the user to click and visit on every link.Serverless
Components of a server’s database are predicted to go increasingly virtual in the upcoming year, giving rise to the concept of serverless. In such a scenario, developers would be free to take on a managerial, decision maker role with a difference in the kind of tools they want to work with. A serverless architecture makes a model limitlessly scalable, and expansion to a global level can be visualised. AWS Lambda has shown immense potential in 2020 and is currently the market leader of serverless.Increasing User Engagement
With user experience on the high tide, focus is on making the user feeling more engaged by using methods like sending push notifications to remind or notify the user about something important, Motion UI (User Interface) to sustain attention, and chatbots for an interactive and convenient session. Chatbots save the time and money usually spent on query resolution by human interaction and notifications can be pretty helpful both for the user and the enterprise - hence these methods are symbiotically beneficial.
Ghost buttons are also being used increasingly in UX. These are placed for CTA (call to action) and are called so because they’re well blended with the design of the website, portraying their occurrence as largely natural. Their meant usage is primarily for increased interaction and sustaining the users’ attention.Artificial Intelligence and Machine Learning
Artificial Intelligence (AI) and Machine Learning (ML) are omnipresent everywhere now - of course these have a part to play in web development as well. Gaining insights about user preferences and subsequent fine tuning is made much more convenient with the use of AI as all the field research is digitised and content is personalised. With components like content automation, fairly accurate customer behaviour analysis, self learning algorithms and enhanced customisation, AI is being used extensively in web development and is projected to stay at the top of the game in the upcoming year as well.Internet of Things
Internet of Things (IoT) has best materialised in the form of Google Home and Alexa, enabling the connectivity of several devices to execute commands seamlessly. Statista’s research suggests that there will be a threefold increase in IoT devices in 2025 when compared to 2019. Even websites nowadays are opting for voice search optimisation, an IoT component - as you might notice that Amazon has placed Alexa within the Amazon shopping app as well. In the approaching times, devices will listen to their users’ commands and respond accordingly.Blockchain
Blockchain has been here for quite a while now and as per 2019 statistics, over 34 million Blockchain wallets were in use globally. In 2021, there is expected to be a wave of software and hardware infrastructure building, litigation and trade regulation for enabling blockchain use in a more comprehensive manner.Expanding Open source
According to the State of the Octoverse 2020 report, the number of developers on GitHub will reach 100 million by 2025. Hence, we can expect significant growth in the number of open source projects and expansion of the existing ones in the upcoming years.
Being a part of the web development world and also a constantly evolving open source community, even Drupal has seen massive growth over the years and continues to innovate. It has found ways to tackle Covid-19 pandemic, remained recession-free and attracted the interests of large companies to invest.CI/CD tools
All in all, serving will be made simple and developer convenient by tracing the roots and going back to the basics with the use of the new gen CI/CD (Continuous integration and Continuous Delivery) tooling. As the interfaces of the web get simpler with static web pages and applications,, the processes that are used to manifest it on the screen are getting more complex in the build to enable it.Web development advancements in the Drupal World
Drupal with its constant updates has always aimed to stay in sync with the web development advancements happening around it. Being an open source software, plenty of user needs that are later materialised as technology are constantly brought up every now and then by the community, making the expansion of Drupal pretty organic and stable. Over the past few years, Drupal has come up with various new components.
The consequent versions of Drupal 8 have tried to cater well to the community’s requirements and aspirations. Drupal’s out of the box feature enabled trials with experimental modules like the layout builder (for drag and drop management) and media library (for handling enormous amount of media) based on creating an interactive and engaging UI, which were later made into core components with version updates based on their performance and the needs of the user base.
By the time Drupal was out with version 8.8, the workspaces module that was made to run on trial in the previous versions was embedded into the core. It made handling multiple workspaces much easier with features that allowed getting the content reviewed and deployed at one go. A native composer support was also built in, replacing previous third party dependencies.
In the latest updates, Drupal 9.0 and 9.1, Drupal has made an effort to make upgrading easier for everybody using the software, as approximately half of the pre existing modules do not need any changes. Access your complete guide on Drupal 9 here.
The planned default front-end theme for upcoming Drupal 10 has been released as an experimental theme in Drupal 9.1, the underlying thought being incorporation of better ideas and bug resolution before the final release. This is what Olivero looks like -Source : Drupal.org
Coming to keeping up with the trends, Drupal has banked upon its flexibility to adapt to several technological advancements in the recent years.
Drupal works seamlessly with AI and ML. To facilitate ease of use, Drupal also has several modules that enable the use of AI in the website. Drupal’s compatibility with Machine Learning was well demonstrated by the demo of a proof-of-concept project shown to analyse user preferences and consequent fine tuning with due assistance from several APIs, in DrupalCon Baltimore, 2017.
Drupal is mobile first and focuses greatly on responsiveness and UI. In the past, Drupal has come with the mobile initiative for mobile first development and multiple device friendliness in an effort to draw community participation in the same. In addition to this, the Accelerated Mobile Page module enhances the overall UX of a website when accessed from a mobile device.,
To further the agenda, Drupal makes use of Progressive Web Apps to make browsing convenient and engaging for the user. These apps are usually installed in the background after the user has granted the permission to do so while browsing. PWAs do not need services from the play store and are installed from the browser itself.
Drupal also is very handy with the native mobile application development. For instance, you can leverage Drupal as a content store and Flutter as your UI toolkit for building beautiful native mobile apps. More on Drupal’s provision for mobile apps here.
Drupal Community has also delved into Virtual Reality, Augmented reality and Internet of things and has demonstrated Drupal’s stupendous capabilities to work well with such emerging technologies. For example, a while ago, a Drupal agency built an application prototype on Drupal 8 where users could consult a chatbot for grocery shopping, keeping certain health constraints in mind. The smartphone cameras were used to capture relevant product information, and the chatbots rendered necessary details to the customer. The concept, thus, used AR and AI together for better user convenience and experience.
Drupal can also work with blockchain for synchronizing data of the websites of large corporations.
Headless Drupal can be effective to build advanced serverless architectures as well. For instance, you can seamlessly integrate Amazon CloudFront, Lambda@Edge, and headless Drupal that can deliver lowest latency and personalised experiences to users.Conclusion
Trends in web development are always in constant evolution, demanding the rest of the market to keep up with them. While these are a few projected ideas, we might see some newer developments and technologies taking over in the near future.blog banner blog image Drupal web development web development web development trends Blog Type Articles Is it a good read ? On
Specbee: How to Export/Import Menus, Custom Blocks & Taxonomies with the Drupal 9 (& 8) Structure Sync Module
Drupal considers menus, custom blocks and taxonomy terms as content (although it really isn’t going to be used as content). While importing or exporting these so-called content, you might run into issues such as getting only the configurations exported/imported but not the entire block (or menu or taxonomies). Or sometimes when you try to export a menu, the menu items are often missing. The Structure Sync module in Drupal 9 (and Drupal 8) comes in handy to import or export menus, taxonomy terms and custom blocks via the configuration.
This helpful module reduces the burden of creating the same content in different places and allows for complete syncing between environments. With the Structure Sync module, you can also perform partial imports or exports to blend well with specific environments. The module lets you synchronize content using Drush commands and admin UI, both. Instead of importing and exporting content like menus and vocabularies manually, the Structure Sync module automates the process and saves a lot of time.Installing the Structure Sync Module
The Drupal 9 Structure Sync module is a contributed module that can be easily downloaded here or with the help of composer.
Using Composer:composer require drupal/structure_sync drush en structure_sync Implementing Structure Sync with an example
Here, for the sake of the explaining the usage of this module, I will create two Drupal 9 instances.
Let’s create a Custom block in the Drupal9.local instance. We will be exporting this block using the Structure Sync module.
Let’s create a custom block called “Copyrights”, which I will be adding to the footer block of my page layout.
Here in the below screengrab, you can see the Copyrights block created and placed in the footer.
Now comes the interesting part of exporting the footer block that I’ve just created. Let me first push this custom block normally (without using the Structure Sync block) with the push command and then take a pull from the other instance (techx.local).
And now when you check if the Copyrights custom block has been moved to the techx.local instance or not, what you get is a broken block. Here, the configuration got exported but not the block.
To avoid these ugly situations, we will now use the Structure sync module. Now that you have already installed the module, navigate to /admin/structure/structure-sync. Next click on the Custom blocks tab since we will be exporting a custom block.
Here, under Export, you will find a list of your custom blocks. Select the ones that you need to export and then click on the Export custom blocks button. Once you hit export, it becomes a part of the configuration. Now go to your configuration and type the command “drush cex” to export all configurations.
Here in the above screengrab, you can see that structure_sync.data is now a part of your config management. To get the entire block, you will now need to import it from the “techx.local” instance. For that, first you need to run the command “drush cim”. This will import all the configurations into that instance.
Now, in the techx.local instance, navigate to /admin/structure/structure-sync/custom-blocks and click on import custom blocks (safely).
You will now find the custom blocks from the “Drupal9.local” instance have been successfully imported into the “techx.local” instance. Notice that you have three options to import –
- Safely - this is a safe option as it imports only those custom blocks/taxonomies/menus in config that were not previously there.
- Full - this will import all the custom blocks/taxonomies/menus regardless if they have already existed before. It deletes any custom blocks/taxonomies/menus that are not in config.
- Force - Be careful while using this one. The force option will not check for any existing blocks, menus or taxonomies. It deletes all custom blocks/taxonomies/menus in the system and creates new ones.
For this example, I will be selecting the Import custom blocks (safe) option.
On successfully importing the custom blocks, you will now be able to see the “Copyrights” custom block that has been completely imported in the techx.local instance.Drush Commands
If you are not a UI person, you can use these commands to perform successful export and import using the Structure sync module.
The available Drush commands are:
- drush em (export menus)
- drush im (import menus)
- drush eb (export blocks)
- drush ib (import blocks)
- drush et (export taxonomy terms)
- drush it (import taxonomy terms)
- drush ea (export all)
- drush ia (import all)
While importing blocks/menus/taxonomy using drush it prompts you these options:
Select the number mentioned in the boxes to make your choice.
We can use the same steps to export and import Menus and Taxonomy terms as well. One thing that you do need to keep in mind is that when you are exporting / importing menus, blocks or taxonomies, the entire content gets imported/exported. For example, you cannot selectively choose some of the menu items in that menu to be exported/imported.
Using the Structure Sync module in Drupal 9 and Drupal 8 helps you save a lot of time and repeated work. Without this module, you would typically manually export the configuration changes from your local setup to another environment, like the Dev server. You would then need to create the menus/blocks/taxonomies in Dev server or import it from the database. With the Structure sync module, you not only save yourself from doing everything manually, but you can also improve efficiency because you won’t be missing any of the items in the list. Drupal 8 and Drupal 9 has some fantastic modules like these that can substantially help ease the work of developers. Want to explore more on how our expert team of Drupal developers make the best of Drupal’s powerful features? Talk to us today!Drupal 9 Module Drupal Development Drupal Planet Drupal Module Drupal 8 Shefali ShettyApr 05, 2017 Subscribe For Our Newsletter And Stay Updated Subscribe
Leave us a CommentShefali ShettyApr 05, 2017 Recent Posts Image How to Export/Import Menus, Custom Blocks & Taxonomies with the Drupal 9 (& 8) Structure Sync Module Image Drupal Project Management: What No One Is Talking About Image Managing Editorial Workflows with the Content Moderation Module in Drupal 9 Want to extract the maximum out of Drupal? TALK TO US Featured Success Stories
A Drupal powered multi-site, multi-lingual platform to enable a unified user experience at SEMI.link
Discover how our technology enabled UX Magazine to cater to their massive audience and launch outreach programs.link
Discover how a Drupal powered internal portal encouraged the sellers at Flipkart to obtain the latest insights with respect to a particular domain.
Today, there are a bazillion options available for us to choose from, be it restaurants, clothing brands, gadgets or software. We, as users, may have difficulty in choosing the best, but never in finding the options. The options may confuse us, but we are going to be bombarded with them nonetheless.
This brings me to the question of choosing the right option amongst the lot; how is it selected? For me, one of the most important criteria is usability, if I am not able to understand the usage of a product, I’d rather choose the next one. I am sure usability must be an important factor in your decision as well.
Now, coming onto the product that I would be talking about today, Drupal. It is one of the most renowned open source content management systems out there. If you are reading this blog, you would definitely be aware of Drupal and all of its brilliance. Despite its eminence and versatility, it is still marred by a slightly unjustified rumour based on its use. Yes, as the title suggests, Drupal is often considered difficult to use and as a result many shy away from using it.
Today, we will try to understand all the aspects of Drupal that could account for this claim and see if it is really true. Can a software that is meant to be free for anyone to use be so difficult that it become inaccessible to a major lot of its audience? What would be the point of it then? You think about that while I begin with the individual of Drupal’s so-called complexities.A Glimpse at Drupal’s Market Share
Drupal is one of the leading CMSs in the market. Its ability to build powerful web experiences is the paramount reason for the same. So before I get into the nitty gritty details of Drupal's ease of use, I wanted to highlight its popularity.Source: BuiltWithSource: Drupal.org
These numbers clearly show that Drupal is being used by a considerable number of sites worldwide with as many as a million Drupal sites operational at one time. This proves the answer to the question ‘Is Drupal in demand’ is going to be an affirmative.Source: W3Tech
Is Drupal still relevant? I’d say it is primarily because it isn’t just the numbers that make Drupal impressive, but its performance as well. The above images depicts Drupal’s competency at handling high-traffic sites. Drupal is a software for which millions of visitors aren't daunting as proven by its clientele.Source: Drupal.org
Moreover, in a survey to understand 2021’s business outlook, Drupal found out that the majority of its users felt that the new year would mark a growth in their prospects. With Drupal’s presence in a wide range of industries, the profitability of the CMS is impressive too. Sectors like education, charities and nonprofits, government, IT and even media have experienced more profits with Drupal as per the findings of Drupal Business Survey 2020.
Drupal has proven its worth in every aspect, be it the number or the performance. The only thing that mars its impeccable record is that it is difficult to use, which isn’t technically the case. I’ll start answering the why with the next section.Let’s move on to the programming language
PHP or Hypertext Preprocessor is the programming language Drupal is built on. And PHP is a language that is often considered to be part of its complexity. I would say that it is not accurate.
PHP is one of the best programming languages and has landed itself in the top 10 best languages to learn in 2021 by many surveys; Simplilearn and Hackr.io are two of these reports. With that kind of efficacy, the language cannot be considered to be problematic.
Further proof of PHP’s popularity is in the number of websites and applications that use it, which isn’t a lowly figure. Look at the graph below for proof.Source: W3techs
And these reports and figures aren’t antiquated, rather are as new as the year itself. So, PHP must be a worthwhile language, even if it isn’t the easiest of them all.
However, PHP isn’t the only language Drupal works with. It has other dependencies as well. These include;
jQuery and jQuery UI.
All of these only mean that Drupal is versatile, it isn’t a software with one side. Its multifaceted programming aspects only add to its appeal. It may seem like a lot at first, but it is necessary and doesn’t add up to Drupal’s difficulties, rather it eases the task of web development.Moving on to the beginner’s conundrum
When we start something, more often than not, we feel overwhelmed with it. Since we are not accustomed to the newness and it’s nuances, that is understandable. And Drupal ensures that it takes into consideration the novice developers.
Until Drupal 8, beginners have reported difficulties with the installation and evaluation of Drupal. But after the release of the eighth version, things are more streamlined with the beginner’s needs and expertise.
Drupal has also brought on new themes to make its experience more flattering for the beginners. For example:
All three themes have made Drupal more accessible, responsive and simple for its users, if we are to rely on user feedback. If I talk about Olivero specifically, it is the new beta experimental frontend theme, which is both modern and concise, and will take over Bartik as Drupal default theme. Its simplicity and professional look make it a perfect pair for beginners.
With Drupal 9, there isn’t much that has changed. If you are comfortable with Drupal 8, you would be able to ease into the 9th version with a breeze. Although there are indeed differences between Drupal 8 and 9, these are not as stark and have made development not seem like a daunting task.
And there is more.The Drupal Community, always helping out!
Drupal has a community of over 1 million people and 100,000+ stories to tell. From putting your skills at work to acquiring new skills to work, the Drupal community is known for upliftment of the software and the people using it.
Any questions a beginner may have will be rightfully answered. You can easily find mentors, who are Drupal veterans and will gleefully help you become an expert like them. You can practise, practise and practise some more to get to the level you want to be at. Being part of the Drupal community, you will be able to hone your skills unlike anywhere else.
You would not feel like an outsider, meet people with similar interests and similar geography as you at Drupal Groups. Since the best way to learn Drupal or anything really is to be immersed in it, the Drupal community is just the place for learning and mastering.
And, there is a constant endeavour to help underrepresented groups from the Drupal Community. Diversity, inclusion and equity is at the heart of the community.
So, there isn’t much room for the beginner’s conundrum at Drupal.Then there are the notorious Drupal upgrades
Upgrades are necessary, but they don’t necessarily have to be an insurmountable task, which frankly speaking was the case for Drupal. Upgrading till Drupal 8 could not be described as being easy and quick. They required a lot of work and it was difficult, as there were major fundamental changes in the software. However, there was no other way to go about it. If you wanted the added functionality and support that new version would have, upgrading was the only choice.
However, that isn’t the case now and thank goodness for that.
With the launch of Drupal 9, upgrades have become less notorious and more accommodating. The Drupal 9 switch has been deemed as the easiest upgrade of the decade and that is saying something. This is because unlike previous upgrades, Drupal 9 does not change the entire CMS on a fundamental level, there is no reinvention, but it is still unique. It is a new and improved version of Drupal 8, with deprecated APIs and updated dependencies.
Here is an illustration that will help you understand what I have been saying about fundamental changes.Source: Drupal.org
With a four step process, you can make your Drupal 8 sites ready and waiting to be upgraded into Drupal 9, if that is difficult, I wonder which adjective would be appropriate for the previous ones. You can also directly upgrade from Drupal 7, if you wish to. Access this complete guide to Drupal 9 to know everything about Drupal 9 upgrade and migration.
Yes, Drupal upgrades were difficult, but they aren’t now. So, does this fact make this pointer for Drupal moot? I think it does.Coming on to the workflow
For content management systems, content is the integral. The way it is created and managed essentially decides whether the life of developers and content creators is going to be easy or not. If you are using Drupal correctly, I can assure you life is going to be a breeze.
I say this because in terms of editorial workflow, Drupal has a lot to offer and not much is complicated, with structured tools equipped to define the same.
Here is an overview of some of them.
Workspaces is one tool that helps in defining the staging environments, previewing content changes, all the while deploying these to a live environment.
Transitions is another tool that makes it easy to control content States, which have their own attributes. It allows state changes to become restricted by roles and permissions along with allowing users what content to be put through them.
Then, there is the eminent Views module. This is one unique to Drupal and its highlighting feature in terms of content. It gives the power of creating, managing and displaying lists of content to administrators and site designers. It is these lists that are called views, while what the portray in the form of blocks or pages is the display, it can be one or many.Source: Drupal.org
One of Drupal’s most fulfilling editorial tools is the Layout Builder. It allows editors to create a publishing piece that is more than flexible to their needs. Any kind of layout is possible with this module.
All of these support the editorial needs of the many content authors who will be populating a platform and the better part is they would not need the guidance of the developers every of the way or any at all.
As times change, the things that satiated our needs no longer do so. The same is true for CMSs. Looking back, it is evident that site builders and developers were quite satisfied with nestling an entire project inside one CMS, which would have acted as the provider of the frontend and the backend needs. However, with the advent of multitudinous frontend technologies, that satiation is no longer achievable.
Hence, the new-age of CMSs emerged, which is essentially without a head, that is the presentation. Unlike the monolithic architecture, the headless approach separates the frontend development from the backend, making the developers happy by leveraging other technologies.
Drupal is a pro at the headless approach. Its monolithic architecture is also used by sites with simpler needs, however, it does give them the option to decouple or go headless, if they wanted to.
- You could choose to decouple partially, this would be the progressively decoupled approach;
Drupal’s work isn’t finished yet, it also provides robust APIs to streamline the connection between the presentation and the content layer. Built on the API-first approach, Drupal offers all of its application functions as APIs. This is done through its web services including RESTful web services and JSON:API along with API extensions with GraphQL.
Drupal can create its own flexible and structured presentation layer, there isn’t a doubt in it. Regardless of this, when it is decoupled, it performs with equal efficiency to create API endpoints, which basically make room for content consumption and display in the headless application.
And this new-age of CMSs is gaining ground each day, and Drupal, with its own web services at play, is making the transition quite easy.Fusion with Emerging technologies
I mentioned in the previous section that with time things change and so does their to us. Today, technology is a major part of that change. I remember a time not long ago, when a single camera setup on our smartphones was enough for us. Now, my phone has three, still I envy my husband, whose smartphone has a quad camera setup. Who could have imagined that?
The same is true for CMSs, when we look at them, we don’t just want a simple site building tool. We want innovations, enhancements and upgrades that will stun us in the most positive way. And CMSs have started providing that.
Taking Drupal into focus, it has had a revolutionary impact on the market by integrating itself with futuristic technologies.
- The use of artificial intelligence, with chatbots, voice assistants or cognitive search;
- The use augmented reality, which enhances the user experience by letting them know what would be favourable for them;
- The use of virtual reality, which makes the cross-channel experiences seem alive, as used by Massachusetts State University;
- The use of Internet of Things transcending from sensors to smartphones and wearables;
- The use of Blockchain to record financial transactions and other valuable information.
Drupal has proven to be both reliable and reaching in its fusion with emerging technologies and that has led to an improved digital experience, both for the developers and the users. Read our blog Unleashing macro trends in technology with Drupal to find more about this topic.It all comes down to continuous improvement in focus Reasons for people choosing Drupal. Source: Drupal Business Survey 2020
The most common reason for people using Drupal is because they have already used it and because of that familiarity, it becomes easy to use. However, ease of use is not amongst the top reasons for taking up Drupal.
Probably that is why, when Drupal 10’s 2022 release was announced during DrupalCon Global in 2020 by Dries Buytaert, its ease-of-use was addressed as one of the most impactful aspects. And Drupal 10’s development is proof of that.
In Dries speech, he emphasised the ease of use quite a lot. He talked about five crucial steps that were taken to simplify Drupal even more.
- Improving third party components even after their EOL to enhance Drupal 10 readiness;
- Improving Drupal’s ease-of-use further, Drupal 9 was a great step in this direction;
- Improving frontend themes;
- Improving updates by making them automates, this would work best for security upgrades;
For all of these, the efforts are being made by the entire community.
Yes, it would be faster, better and more innovative, but it would not be difficult. Like I mentioned before in this blog, we should not expect many overhauls to the software that would make our eyes pop and heads hurt.
There are going to be improvements, there would at least by four versions of Drupal 9 before the arrival of 10. However, this continuity in advancements does not have to affect the way Drupal is seen by its users. It needn’t be the forbidden fruit that everybody wants to taste, but scared to do so. Drupal is an open source software, it is meant for everyone and that means it isn't too difficult. I wouldn’t deny that wasn’t complex at one point, but that point of time is long gone. What lies in the future is a version of Drupal that is as easy to use for a beginner as it is for an expert developer.The Bottom Line
I’d like to answer the question ‘How hard is it to use Drupal?’ with a direct from one of our developers.
“Being from a technical background and having PHP development experience before diving into Drupal gives me an upper edge during the journey. Being into Drupal development for around 3 years, I can say it’s all about learning the architecture of Drupal (such as entities, configs and forms) and how the code executes (sequence of functions calls). The earlier you understand these, the easier the Drupal journey would be for you and it would help you to debug faster and select the best approach for the requirements. Plus having a great community and open contribution platform helps you learn better and faster. Drupal is like a Lego, you can build it to your liking but, at a certain point of customisation, it is like a box with thousands of pieces and not all of them fit together.” - Anmol Goel, Senior Software developer at OpenSense Labs
For Anmol, Drupal experience made the journey easier. It requires you to get a hang of things, once you do that, there isn’t much that you’d find difficult, and your Drupal development experience would be a walk in the park; at least most of the time. And like he put it so eloquently, who could find a game of Lego difficult? All it is about is building something new every time, be it today or tomorrow and that’s Drupal for you.blog banner blog image Drupal 9 Drupal 10 Drupal Upgrades Monolithic Drupal Architecture Decoupled Drupal Architecture Drupal Community Blog Type Articles Is it a good read ? On
The “Long text and summary” field has a formatter called “Summary or trimmed”. This formatter allows you to trim text to a specified set length which is important if you’re displaying a list of articles. The last thing you want is to have an article display 1000 words on the homepage.
However, this default “Summary or trimmed” formatter cannot trim the summary. If the author enters in lots of text into the summary it’ll display everything.
The Smart Trim module offers a field formatter for trimming text fields. Additional settings are available more than the default “Summary or trimmed” option – an improvement over the default formatter.
Smart Trim can also apply to Text (Plain) and Text (Plain, Long) fields which, by default, do not have the “Trimmed” option available.