Upgrade Your Drupal Skills

We trained 1,000+ Drupal Developers over the last decade.

See Advanced Courses NAH, I know Enough
Dec 18 2020
Dec 18

Posted on behalf of One Shoe and Exove

What is the vision of Drupal business leaders all around the world on Drupal in 2020? For the fifth year in a row Drupal agencies One Shoe and Exove, together with the Drupal Association, investigated how Drupal company leaders experience the current Drupal business ecosystem. Of course, the year 2020 is marked by the effects of the coronavirus but there’s much more to say about doing Drupal business.

Characteristics of the participants

This year, 83 people participated in the Drupal Business Survey. Out of all the participants, nearly 70 % had a CEO/CTO/COO role in their company. Other roles represented in this survey are mainly founders (15.7%), and Directors (7,2%). 

Map

A majority of the Drupal centric businesses that participated in the survey are located in Europe (49,5%). The rest is located in:

  • North America (33%)
  • South America (3,7%)
  • Asia (12,8%) 
  • Africa (3,7%)

Almost half of the respondents were digital agencies, 20,5% software companies and 18,1% consulting agencies. As we can see from the graph below, most of the respondents are small to midsize companies. The majority of the companies that participated in the survey have been in business for over 8 years. Nearly 40% of all the respondents have been in business for over 14 years. 

We could therefore say that the opinions and experiences of people in this survey are based on years of experience with Drupal business!

Company size
Covid-19 impacts Drupal businesses in various ways

As this year comes to a close, we can only conclude that 2020 turned out differently than expected. It brought company leaders new challenges and opportunities. Generally, we can conclude (for now) that the impact of COVID-19 may be less than initially anticipated and entrepreneurs keep doing excellent Drupal business.

In the survey we asked Drupal agency leaders about their challenges and successes of this year. Many participants cited the coronavirus and its consequences as their top challenge: 

Greatest Challenges

15% of the respondents named 'Covid-19 in general' as the main challenge without further explanation. To provide more detailed information, we have broken down the answers that provide better insight into the impact of the coronavirus on businesses:

  • Covid-19 affecting client projects (13%)

In some cases, the coronavirus outbreak has had an impact on clients and their projects. One leader tells us in the survey: “[Our biggest challenge this year was] covid and seeing a couple of our sectors getting hammered. Seeing projects put on the shelf, cancelled, etc“ But it does not always lead to this. Another participant tells: “We experience uncertainty around some client's future budgets. This has not resulted in any major reductions though.”

  • Covid-19 forces remote working (10%)

Working remotely is, and remains, a major challenge for a lot of companies. “Moving to 100% remote after the pandemic [was the biggest challenge]”. Someone else mentions “remote selling” specifically as a challenge. 

  • Covid-19 affecting (mental) health of employees (8.8%)

It won’t be surprising that another big challenge was “Staff falling ill with covid and/or having children at home so staff is pressured and unable to work”. It’s worth mentioning, though, that many company leaders indicate that covid-19 has a great impact on the mental well-being of their staff but at the same time they are very proud of their team. “We have kept our team together during the covid storm” says one leader in response to the question what their greatest success of the last 12 months is. Another one said: “[Our greatest success is] Outstanding leadership from the senior technical team members (non-exec level).” “Maintaining high morale and supportive culture” someone else adds. 

Many Drupal businesses do thrive in 2020

Doing Drupal business in 2020 is not only about facing challenges - not at all. 
Many participants told us their companies thrived even despite (or due to) the effects of the coronavirus. 

Greatest successes

20% of the answers when asked about greatest success are about thriving despite Covid-19:
“We make it through the COVID months relatively well financially after pivoting to clients who luckily benefited from COVID (increased business).” Another agency leader adds: “[Our greatest success is] navigating my company successfully through a world pandemic with results that exceed the pre-covid prognosis!”.

The pandemic as a catalyst for investments in digital

What’s the success factor of these kinds of Drupal companies? Based on people’s comments, it seems there is a rapid digital adoption driven by covid-19: “[We see] increased demand due to companies going more digital during the pandemic”. Another one tells: “We launched a covid-19 site for a major healthcare client.” And: “We've won our biggest Drupal contract ever. We successfully launched our largest ever project despite coinciding with the early days of lockdown. We are educating our clients that the pandemic should be seen as a catalyst for investment in digital.”  

Another big success is launching successful Drupal projects (20%), such as: “We launched a big popular Drupal site (8.x) for German Government with integration (backend) of services” and “We have been building bigger and more complex websites with Drupal.” 

These findings correlate directly with the answers to the questions about the project pipeline, deal size, and win rate.

Pipeline Development

In the graph above you can see that Drupal project deal size has grown more in comparison with project pipeline or win rates. One business leader explains why: “We choose clients more carefully, because of that average deal size has grown significantly. On the other hand due to the more aggressive competitors sales, we have lost quite many large deals.” What this shift could mean for the future according to one respondent? “The traditional smaller scale Drupal projects are dwindling, of less value. The future is in large scale projects where Drupal is a component of a larger architecture.” Another one mentions the public sector as a profitable one: “Drupal has been "in vogue" in our market right now, especially in the public sector. We see a lot more RFQs compared to last year, and a lot of them are quite sizable.”

The project deal size growth is a very positive indicator and well in line with the Drupal’s growth to the enterprise market. As a part of the sales cost is always fixed and not dependent on the size of the deal, this will lead to bigger margins that will help the companies to develop themselves further.

Expectations for growth from 2021 onwards

The outlook for 2021 and onwards looks positive based on the survey answers. Despite the situation with COVID-19, almost half of the companies expect their business and on-going project situation to improve in the near future.

Only around 20% of the companies expect the situation to weaken in the forthcoming months, and only a fraction of them significantly. This resonates well with the earlier findings of the pandemia accelerating the need for digital services. Drupal being a versatile and flexible platform is gettings its fair share of the positive market development.

Business Impact

Profitable Drupal industries

So, Drupal business is still doing quite well. But in which industries? Each year the Drupal Business Survey asks respondents in which industries their company operates. This is the top 10 of 2020:

Top ten industries

The most popular industry for Drupal projects is the same as in 2019: the Educational sector. With 61,4% this is the sector with the most Drupal projects. It should be noted that “Education” was added to the survey in 2019 and thus 2017 and 2018 show it blank. This is followed by Charities & Non-Profit (55.4%) and Government & Public Administration (50.6%). 

However, if you compare all the industries over the years, the number of Drupal projects in the Charities & Non Profit decreased significantly. This also counts for the Arts & Culture industry. The Drupal platform is evolving towards the higher end of the spectrum with each release adding new sophisticated features. This causes the project sizes to grow which explains the drop in industries that cannot invest heavily on digital platforms. Also, Arts & Culture has been hit by coronavirus this year.

Top ten industries

Reasons for clients to choose Drupal, or not

Why is Drupal so often chosen for digital projects? When clients have previously worked with Drupal, they often choose the framework again (60% of the answers). It showcases the fact that Drupal is a good tool for solving their business problems.

It also appears that the consultancy role of the agency is significant in determining the client's choice of technology. In more than half of the answers given in the survey, the client follows the advice of the agency for choosing Drupal. Other major selling points for Drupal are its open source character, flexibility and security. 

Reasons for choosing Drupal
The main reasons for clients not choosing Drupal are consistent with last year's survey - the same underlying issues still remain today. Main reasons for potential clients choosing other platforms instead of Drupal are: 

  1. Price. For example, prices can increase significantly because Drupal is used at the higher end of the CMS spectrum, and thus development is time consuming and therefore expensive. As one respondent said “Drupal practitioners can handle more complex problems, so they're more expensive”.
  2. Complexity. Wordpress is seen as more user friendly and easier to approach. 
  3. Familiarity. Potential clients don’t seem to know much about Drupal which makes it harder to sell.

Knowing why potential clients are choosing other platforms is key in further developing Drupal and meeting client needs. Reviewing the existing target audience and marketing Drupal for the right audiences, might be things to consider to tackle these obstacles.

Conclusion

One thing is certain: companies - both Drupal agencies and clients - have to adjust their strategy because of covid-19. But looking at the answers given in this study, it appears that Drupal projects are getting bigger and Drupal businesses are growing - provided they operate in the right industries and succeed in working remote. Or, as a Drupal agency leader puts it, "Despite the covid epidemic, we have managed to work together and increase transparency in the business - we are now in many ways better than March." And who knows, the effects of covid-19 may as well accelerate the demand for digital projects.

Dec 18 2020
Dec 18

The web has become a popular destination today. An average person tends to visit it plenty of times in a single day. From finding out the weather forecast to booking a cab or ordering in, you can do it all by exploring the different aspects of the web and enjoy doing so. However, have you ever wondered how our experience of the web is made enjoyable? A ten-year old and a seventy-year-old can find an equal sense of satisfaction through the umpteen websites they surf through, despite their different intellect, but how?

The answer lies in the web design. What is that? Web design is a process that continues throughout the life of a web project. It starts with planning and conceptualisation of the website, goes on to arrange its content online and continues with the production and maintenance of the sites. 

This blog will try to cover every spec of the concept of web design, from its importance to its universal application to its principles. Before we get into that, let’s delve into the two categories of web design, which are adaptive and responsive websites. 

Adaptive design 

Like the name suggests, this kind of website design adapts itself based upon the device type or browser width. It makes use of a “user agent” that informs the server about the device that is in use, it could be a desktop, mobile or tablet and consequently shrink or enhance the screen size. In a different scenario, the design will use media queries and breakpoints to let the server know the version to implement, namely,1080p, 720p or 480p, offering much more flexibility. 

Responsive design 

The other option is to use a responsive design, which works with the proportion of container space taken up by a single element and shrink accordingly. If a header is at 25% space on a desktop site, it would remain at the percentage even in a mobile device. Like adaptive design, it also uses breakpoints to establish the need for the server and keeps changing constantly. 

With that knowledge, I believe we are all set to commence into our comprehensive guide to web design. So, let’s start. 

The Importance of Web Design 

A chart is shown describing the need for web design.Source: McKinsey & Company 

The image above clearly depicts the importance of design. Web design has to be idolised for business success through leadership, inclusion, continuity and user experience. You cannot confine it, it has to have free reins for it to boom. 

Website design is indeed one of the major contributors in your online revenue. You could say that a good web design is directly proportional to a higher revenue. Now, let me let you why. Like I have said before, the web has become quite popular, people go on it regularly and check your company's online persona to see whether you are worth their time and money or not. If you are able to impress them with your design skills, you are bound to experience an impressive conversion rate. 

In simpler terms, 

  • Design is important because it acts as the first impression of your business. 
  • Design is important because it creates a consistent brand image and encourages the user to put his trust in you. 
  • Design is important because it gives you an advantage over your competitors. 
  • Design is important because it enhances your UX, making the user’s time enjoyable rather than frustrated. 
  • Design improves your performance, reduces the load time and the bounce rate, increases the conversions and amplifies consumer service and satisfaction levels. 

Let me exemplify this, today nobody would want to spend their money on a product that they haven’t researched thoroughly, be it a watch or a car. And where do people go to execute the research? Yes, to your website. So, if you answer all the questions the user might have in your product description and alleviate all the worries, the user will most likely buy from you. And all of this falls under the web design umbrella. 

So, yes web design is critical for your website’s success, for your sales and for the longevity of your business.

The Prerequisites of Web Design

Before delving into the principles of web design, it is important to know how you would prepare for it. There are certain requirements of web design that need to be fulfilled before you can get on the floor with the actual designing. 

Finding the inspiration 

Being inspired is the first step of designing, after all can you design anything without inspiration? I think not. So, explore, research, get to the very basics and see what you like and what you don’t. Go to Pinterest, if you have to, but start looking. This would set a great tone for the entire designing project because you would have some idea of what the end would look like. 

Finding the purpose 

After inspiration, comes the part where to find your purpose. You are building a website, there has to be a reason for that. Identify it and design accordingly. Majority of the time, the purpose of a site is sales, be it memberships/ subscriptions or an actual tangible product. Keep the purpose front and center and design to capitalise it. If indeed you are selling a product, design the pages in a way that each page is an encouragement for the user to click on that buy button. Take Amazon for instance, every time I go there, either I make a long and extensive wishlist for future purchases or actually buy things. That should be the target. 

Finding the needs 

There are also specific needs that a website has before its design process actually begins. 

  • The first would be to establish your space on the internet through a web hosting service. Then you would need to adopt a domain name through which the users will identify you. Along with this, you would also need your domain name and server to be in sync, so that the browsers know where to find you. 
  • Next, figure out what structure your site would have, how many pages would it have, what kind of content those pages would include and which of those are going to be your landing pages for marketing purposes. 
  • Then comes the functionality, you cannot just wing that. Remember we figured out the purpose of your site in the previous point, that purpose would help you in figuring out the kind of features your site should and should not have. For instance, the functionality of an informational site is drastically different from an e-commerce website. All of this is decided before the designers go on the floor with the process. 

Finding the tools 

You cannot work without the tools, so finding the ones most suited for your project is a key requirement of web design. 

If you wish to build a desktop app, then tools like Sketch and Photoshop are perfect for the designers as well as the developers to create the code for the designs. However, if that is not the case and you are aiming to build a site, then you can make use of Website Builders like PageCloud, Wix and Squarespace to name a few. 

Remember to do your research and maybe even get a free trial before committing to any one of them. 

Finding the personnel 

To use the tools, you also need the right team. Designing websites is not a one man job, you need the right mix of skills to get the best possible outcome. 

  • Designers to create mockups of the site;
  • User experience experts to ensure that the mockups align with the target audience’s needs
  • Developers to get the coding out of the way, the front end developers would take up the presentation layer, while the backend developers would work on the background; 
  • Content writers and SEO experts to write for the project and make it visible on the web through searches. 

Now, you are prepared to get into the nitty gritty details of web designing. 

The Principles of Web Design 

Web designing is a long and complex process, there are a lot of considerations to be kept in mind before the process can be considered even half-way through. Here is how we at OpenSense Labs divide the process into different segments of development and ace every one. 

Information Architecture (IA)

Through Information Architecture, designers are enabled to prepare an organised layout of the information that has to be relayed to the visitors; navigation and menus, being the spine of an information architecture. However, it is the user, who is the highlight, it’s his perception and expectation of the information that guides the architect to build the perfect IA. 

Now, how does a designer achieve perfection? This is done by researching the user to the T along with focusing on usability testing. User interviews, card sorting and observing the way a user interacts with your current design through usability testing are the pathways you should be seeking. For instance, when a menu has been decided, a tree test helps the designers know its suitability. And that is IA for you. 

Navigation 

Navigation is one of the most crucial aspects of your design strategy, so getting it right is the first order of business. Navigation refers to the system a visitor follows to get through the various parts of a website. Since the aim is to ensure that the user goes as many pages as possible, it has to be simple, concise and pretty blatant. If a user has to put in an effort to navigate your site, you are certainly doing something wrong. The lesser cognitive load while navigating, the better UX. The visibility of the navigation bar is paramount. 

So, how do you do that? 

By putting the user first 

First, you have to understand the needs of your users, at least a majority of them, and create a navigation bar based upon that. This would also help you get an apprehension of the user’s priorities, like how much he repeats a task. Also, the user must always know where he is, meaning the current page he is perusing through must be highlighted from the rest of the pages. Nobody likes being lost. 

By embracing the search

You must know that many of your visitors come to your site with a specific intention. So, how do they get to that? The search bar is the most obvious answer. It acts as a shortcut for the user to get to what he is looking for. Therefore, it needs to be front and centre. At the top of the page would be ideal, either left or right with a magnifying glass icon for added visibility. Can you imagine searching for a search icon? It also needs one more thing, a decent input size; you have to be able to see what you are typing into it. To get a perfect federated search solution for your website, read about Elasticsearch and Apache Solr.

By valuing the user’s time 

This is in regards to the back button. Imagine a scenario, you were reading an article, a pretty long one at that, and half way through it, you saw an intriguing link, you click on it and upon returning through the back button, you are at the very beginning of the said article. Now tell me, would you be frustrated? I certainly would be. So, ensuring that when a user clicks on that back button, he is back to where he left is quite imperative.

By separating the breadcrumbs

There are certain secondary navigation links, aka breadcrumbs, in every web design, which i sfine. However, they become a problem, when they overshadow the primary navigation bar. Separating each level by using arrowheads or slashes is a good practise. Remember that secondary navigation is only there to support the main navigation. 

By keeping the links in line 

There are going to be external and internal links on your site and you need to provide a distinction between the two for the user. Once a link has been clicked on and visited, its colour must change from the rest. Apart from this, you have to ensure that all the links work, a 404 error is a strict no no. 

The results page is shown after a Google search.The purple links signify that they have been visited. 

By optimising scrolling 

Everybody scrolls, they start doing it as soon as the page loads. So, by optimising on it, you can actually make the navigation experience better. The content and the media is an essential part of it. Write an impressive introduction or add a great visual to intrigue the user and he will start scrolling.

You also need to ensure that the top navigation bar should always be on display. If that isn’t the case, the user might feel lost, especially in pages that are pretty long and that is not an experience a user came to you for.

Page structure 

The page structure is integral in enhancing the visibility of your interface, so that every element is easily found by the user. It is truly up to you to decide the structuring of your pages, however, I would suggest that you follow a grid. Because a rid helps in segregating the different elements of a page at the same time keeping them combined, it makes it easier for the user to understand the logical progression. One of the classic examples of modern day grid-like page structure can be availed through Layout Builder module and Paragraphs module available in Drupal as can be seen below.

The layout of a grid-like structure in web design is shown in pastel colours.


You must also aim for a structure that your target audience is familiar with, assessing your competitors is the best way to do that. Familiarity helps in building the user's experience upwards. 

Visual hierarchy 

After page structure, comes the visual hierarchy of a page. When a user visits a page, there are certain aspects that the designers want them to look at the first glance. Deciding that refers to the concept of visual hierarchy. 

A webpage is shown with different elements being highlighted at different proportions.


In the above picture from OpenSense Labs, ‘Build better, build faster’ is the highlight. A user would read without much effort from his end. The company logo is another important element. Then comes the Drupal 9 bit, being their speciality, they have made it prominent as well. 

So when you design a page, keep in mind the elements that you want to be highlighted and make their size, position and colour prominent on the page. 

It would also be beneficial to capitalise on the user’s natural way of scanning. It could be the F-shaped pattern or the Z shaped pattern. The former works with written content and the latter can be used for the non-textual pages. These further help the user in scanning easily.

A webpage is shown with an F shaped out in the content.An F-shaped pattern. Source: Instapage

Your visual hierarchy process would be easy to build, if you create mockups first. This would help you in knowing where each element would lie and avoid any errors. 

Content 

The content of your pages allows the visitor to understand you and your objective better. The simpler the content would be to read, the better that understanding is going to be. For that, you simply need to implement three things.

  • One is to be a minimalist with your words. Inundating a web page with content will only confuse a visitor. Keep it simple, provide pointers for easy maneuverability.
  • Second would be to keep the language simple, you cannot use highly complex and technical writings on a web page. Yes, there is a possibility that some users would understand it, but are we aiming for some or all?
  • Third is to ensure that your sentences are short, preferably with one idea. Noisy sentences can often baffle the visitors; 20 words or less has to be the target. Also avoid caps lock for everything that is not an acronym.

Moving on from the writing style to the specific contextual elements of a web page, let us understand how you should work with them. 

Filling out web forms

Where user interaction is concerned, web forms are the most integral. The reason being they allow you to know your users’ personal details. Any confusion here, would make the purpose of the form futile. Keep things to the point, ask what is needed with a logical progression in the questions. 

A web form is shown.Source: Bajaj Finserv

Another tip to follow would be to group similar questions in one category. For example, the educational qualifications can come under one heading and the contact information could be a separate heading. 

Tapping the buttons 

Buttons are basically links that are designed as a button to tap on; like the ‘Buy Now’ button on Amazon we love so much. These are essential for a website to enhance its interaction with the visitors. So, you have to be certain that all the buttons are actually buttons with a link taking the visitors to wherever it says it would. A non-functional button is a frustration button. Then you should also remember to aim for consistency while designing these, so that users can easily identify them. 

The most important consideration for buttons is what is written on them because that is the only thing that would attract the user. Be descriptive, be clear, be concise and make it attractive. 

Numerous web buttons are shown to depict how prominent they need to be in a web design. All the buttons here are pretty clear as to what their purpose is. Source: Vecteezy

One of the most important buttons would be the CTAs, the Call-to-Action button. These encourage the user to become a customer and improve your conversion rates. Therefore, a CTA that stands out from the normal text, that is a size different from the normal text, that has negative space to make it even more prominent and that is labelled with encouragements is the CTA that will generate more conversions. 

A webpage with four CTAs is seen.


The above screenshot shows how OpenSense Labs, after having told the visitors all its benefits, lures them to click on the CTA. 

Enunciating SEO 

After doing all of this, you also have to ensure that you follow certain SEO guidelines to enhance your visibility on the web and search engines. By focusing on the title tags, URL structure, HTML and XML sitemaps and making them user friendly can totally elevate your SEO game. 

Media 

Imagine this blog, without a single media element, an image or a video, describing what is written in the text, would that be a great experience? I don’t think I need to elaborate on the answer, you know!

So, how do you work the media in your favour?

Images 

Images are a must in web pages, however, you cannot just add them for the sake of it. The pictures on your website should be related to content on it. They cannot be random images of people or objects that serve no purpose or add any value. Other than that, the pictures should also be of good quality, distorted and blurred images are a big no-no. 

A publishes bog is shown with a customised image.


This is a screenshot from one of our blogs, the image here is simple and concise. One glance at it and you would know what the succeeding information is going to talk about. That should be the target. 

Videos 

Videos have become equally important to images and the internet speed is to blame. They are an easy way to understand a concept of a product, its features or even the message of a brand. However, you need to use them wisely.

  • Do not autoplay videos, if the user wants to see it, he would see it without autoplay as well. And definitely do not have the sound on by default. 
  • Always include subtitles and transcripts for people with disabilities. 
  • Finally, if you are adding promotional videos, which is a great idea, keep them short. 

Animation

Animation is another way to add a pop of interaction on your site, it is easy and it is fun as it breaks the contextual monotony with ease. 

  • You can add animated effects to point out user mistakes like a wrong password. 
  • You can add animated effects to your brand logo. 
  • You can add animated effects to highlight the navigation transitions. 
  • You can also add animated effects to provide visual feedback to the user, like how much percentage has been downloaded. 

Responsiveness to Devices and other Media 

Responsiveness is crucial for your site’s web design, which means that your design should be flexible enough to accommodate any device that the user might be using, be it a mobile or a desktop. Statista reported that as many as 48% users surf sites on their mobile devices. This figure does make the responsive design of essence.

So, how do you achieve the level of flexibility in your design that will help it optimise a desktop and a cell phone equally?

The foremost thing to do would be to focus on your layout and make it a single-column one as it would be easy to go through on the small screen of a cell phone. Since the space on a cell phone’s screen is limited, you can only show information that is absolutely necessary. Here the Priority+ model works really well. You would show the info that is needed and the rest would come under the ‘more’ button. Then, the size of images also needs to be appropriated when designed for responsiveness. 

Apart from these pointers, it is also important to understand that the clicks on a mobile phone are different from that on a desktop or a laptop. So, you need to be very cautious in the size of the buttons and links along with making them prominent from the other text. You can achieve all of this by creating HTML templates that are mobile-friendly or simply going for a separate mobile-site altogether.

Two screenshots of the same webpage are shown, one taken from a desktop and the other from a cellphone.A desktop site vs a mobile site. 

Mobile responsiveness aside, a website also needs to be responsive to other integrations such as cross channel and social media. Linking campaigns and integrating with social media platforms like Google+, Twitter, Facebook, Instagram and LinkedIn can do a lot to bring in business and generate a higher lead count. 

Load time 

Nobody likes waiting for a site to load, however, in spite of a site possessing great speed, there are factors that make it load slower than the developers wish to. These could be a weak internet network or a heavy site. So, what do you do to ensure that your website does not appear slow to the users? 

The primary thing to do would be to check your site for all the factors that could slow it down, for instance heavy images or having too many HTTP requests, and resolve them. Secondly, you can create an illusion of a faster loading speed for the visitors. This can be done by displaying the structure of the page in question first, thus, giving yourself a few more seconds to load the content. Facebook does it and so does Instagram. 

An unloaded instagram page is shown.


It is important to always keep track of the time it takes to load your content, as that would give you insights about the performance of your site. Remember that every second you delay is a second that would cost you. Nielsen Norman Group agrees with this notion and their three response-time limit should be set as an ideal here. Access the complete web performance guide for your Drupal website here.

Accessibility 

A web design would be considered incomplete, if it is not addressing the accessibility concern. People with disabilities need to be able to access your site without any difficulty. There are certain web accessibility guidelines you can follow to avoid that. 

Contrast 

The contrast ratios should be made keeping in mind people with a weak eyesight. Reading blue  on a black background would be easy for someone with a perfect sight, but not the others. Smaller text needs a 4.5:1 as a text to background contrast ratio, while the larger text can have a smaller ratio. WCAG’s guidelines for contrast would help you in getting to the perfect ratio. 

Colour 

You might be able to tell black from red, but everybody cannot. So, just focusing on colour to point out a feature or a mistake is unethical. You have to use words as well. 

An incorrectly filled online form can be seen.


The colour red is used to highlight the error, along with it a symbol is also used. And when you go to the erroneous column, a dialogue box appears to tell you what the mistake is. This is a perfect example of accessibility. 

Keyboard-savvy 

Motor impairments inhibits people from being able to use a mouse effectively, so they opt for the keyboard instead. So, make sure that your site is keyboard-friendly at least as much as possible. You can achieve this by making sure that all the interactive elements are accessible and the keyboard focus is loud and clear. 

A posted article is shown to highlight the use of screen reader in web design.An example of a prominent keyboard focus. 

Screen-readers 

There are going to be visual elements in your design, that is a given, however, someone blind will not be able to see them. So, for every image, you need to add an alternate text that a screen reader can read, describing what is happening in the image. 

It has also become a trend on instagram as well, with many influencers using alternate texts to describe their posts. 

An instagram post can be seen along with its caption.A caption inclusive of an alternate text.

Testing 

To ensure that your design works well and is equipped to go with your site, you have to test it out and that is the final call, the final piece in the web design puzzle. 

There are two tests you can perform;

  • One is testing repeatedly throughout the designing process. Feedback is pivotal here, it’s similar to constructive criticism. You might feel shattered that your design got such bad feedback, but in the long haul, you would be thankful that it did. Because through that you were able to create something much more powerful. 
  • Second would be A/B Testing, this works best when you conflicted between two designs. So, you run with both of them with separate audiences and see the responses. The one with the better analytics would be the better choice. 

Being original 

Being original goes a long way in creating the identity of your brand and bolstering the image of your company. You have to be creative, you have to think outside the box, you have to step up from the cliches and doing so will compel the visitors to become your customers. 

However, you have to do all of this by keeping in mind that originality does not mean that your visitors have to struggle navigating your sites. The set standard for certain categories of websites, like e-commerce, have to be adhered to. And then there is the contact us page that is an essential element in the design of every website out there. Despite this, you would still find that no two sites would have an identical contact page. That is the kind of originality I am talking about, unique yet not foreign. 

Google's search page is shown. Microsoft bing's serach page can be seen.


Even though Google and Bing essentially perform the same taks, yet their UI is quite different. Same elements, yet different. That is originality for you. 

Being consistent 

Your website is basically your brand and your brand can only have one image to portray. That is why your design needs to be consistent, portraying one single voice. By creating pages with the same colours palette, same typefaces and similar backgrounds, this consistency can be achieved. 

Imagine you are on a site, the landing page is all bright colours and bold fonts. When you move on to a different page, you find that the tone has completely changed, and the colours are muted with a minimalist feel. How would you feel? A little lost? A bit confused? That would be it. 

So, aim for consistency. I am not saying that you have to follow the same layouts, that would be impossible because some pages would have a lot more content than others. Just focus on keeping the same tones throughout. 

A webpage can be seen with different blog posts.A webpage with different team members is desplayed.


Without a second thought, you will be able to tell that these pages are from the same website. Design consistency is what makes that possible. You will see that there are elements that are different, yet there are elements that are similar. That is because every page does not have to be an exact replica of the next for the sake of consistency. 

Being credible 

Lastly, your credibility is what is going to make the visitors put their faith in you. You can work on all of the above elements, but what happens if the user still doesn’t trust you? The users won’t convert.

Long-term conversions and sales are directly proportional to your honesty. When you are honest and clear about what you are selling and that too on your home page, users will start gravitating towards you. Tell them what you are selling, why you are doing and how it would benefit them in the most honest of terms and they will consider you credible and trustworthy. 

Along with this, you can also be upfront about your pricing without any disguises. If you are claiming a cost to be $10, then it should be the same at the checkout. If there are going to be additional costs, mention that along with the $10  price. Trust me, your users will appreciate it immensely. 

The Final Call 

Web design is a continuous process that only ends when a project dies, never before that. This is just the beginning of a long road ahead, adopting the aforementioned guide would certainly be a help to your design process. But the bigger task on your shoulders as a designer. 

I would like to end by adding one more thing. Whatever you are going to design, if you design it by keeping the user and his perspective of the site in your mind, you could never go wrong with it. Good luck. 

Dec 17 2020
Dec 17

argument-open-source

Recently, Drupal has been on an update rampage. The introduction of the oh-so-beautiful Drupal 9 core has spurred a chain reaction of upgrades across the Drupal platform. Just this week, we’re getting a new default theme (which is hyper-minimalist and easy-on-the-eyes), a 20% reduction in install times, and automated lazy load for images. But let’s talk about the juiciest UI/UX update that came with Drupal 9 — the standardization of Drupal’s Layout Builder.

If you’ve built a pre-Drupal-9 website over the past few years, you probably dabbled with Panels/Panelizer, WYSIWYG templates, or even custom coding to set up your UX/UI. And that works. We did it for years. But you can throw that worn-out Panelizer module in the trash. The times, they are a-changing. Drupal’s new Layout Builder module combines the core functionality of Panelizer with an out-of-the-box WYSIWYG engine.

First hinted at in 2017, Drupal Layout Builder officially left the onerous Drupal testing pipeline last year as part of Drupal’s 8.7 updates. Despite circulating for a year now, the chaos of 2020 has overshadowed this potent and flexible tool. So, let’s talk about it. Here’s what you need to know about Drupal’s Layout Builder.

What is Layout Builder?

Layout Builder is a WYSIWYG page editing engine that lets you manipulate back-end features via an easy-to-use drag-and-drop interface. It’s difficult to overstate just how valuable Layout Builder is when it comes to time-savings. You can create templates in minutes, immediately preview and create content changes, and tweak page-by-page UI/UX features to create more cohesive and on-the-fly websites and landing pages.

At its core, Layout Builder is a block-based layout builder. You can create layouts for either a single page or all content of a specific type. In addition, you can jump in and create rapid-fire landing pages based on your existing design theme. There are three “layers” that Layout Builder operates on to help you build out holistic websites.

  1. Layout templates: You can create a layout template for all content of a specific type. For example, you can make a layout template for your blog posts or a layout template for every product page. This template will be shared across all pages, so you don’t have to go in and rebuild for each content type.
  2. Customized layout templates: You can also go in and make granular changes to a specific layout template. So, if you want a certain product page to be different than the layout template, you can make granular changes to just that page.
  3. Landing pages: Finally, you can create one-off pages that aren’t tied to structured content — like landing pages.

Important: Founder of Drupal — Dries Buytaert — dropped a blog post with some use cases for each of these layers.

To be clear, Layout Builder isn’t a WYSIWYG template. It uses your existing template. Instead, it allows non-developers (and lazy-feeling developers) to quickly make per-page changes to the website without diving into code. But these aren’t just simple changes. You can create a layout template for every page type (e.g., creating a specific layout for all the shoes you sell), and you can also dive into each of these layout pages to make custom changes. So, it really lets you get granular with your editing without forcing you to completely retool and redesign pages for each type of content. This gives Layout Builder a massive advantage over WordPress’s Gutenberg — which requires you to go in and re-lay elements for every page individually.

Here’s the kicker: you get a live-preview of all changes without bouncing between the layout and the front-end. Every block and field you place and every change you make to taxonomies or content is visible the second you make the change. The entire process takes place on the front-end, and changes are instantly visible. Remember, Layout Builder is part of Drupal’s Core, so you don’t need to implement new entity types of dig into third-party elements. It’s an out-of-the-box experience.

Advantages of Layout Builder

Last year, we got a gorgeous, picture-perfect demo of how Layout Builder would work. It’s beautiful, fast, and packs a punch that other leading layout builders are indeed missing. So, to help unpack the value of Layout Builder, let’s look at some of the advantages of Layout Builder:

Customization

Beyond Layout Builder’s incredibly powerful and customizable block-based design engine, it offers customization in usage. Let’s say you want to create an amazing landing page. You can start with a blank page that’s untied to structured content, drop in some hero images, a few pieces of text, some content, and a video. Suddenly, you have a custom landing page (complete with modules, blocks, and taxonomy) that exists in a separate ecosystem from your website.

Simultaneously, you can create a template for every blog post, then dive into a specific blog post and make on-time changes to just that page while still being tied to your structured content. Remember, you can make these changes nearly instantly, without touching code. And you’ll see a live preview of every change immediately without switching between interfaces.

Accessibility

Drupal is committed to accessibility. The second principle of Drupal’s Values & Principles page reads, “build software everyone can use,” and this rings true. Layout Builder meets Drupal’s accessibility gate standards (i.e., conforms to WCAG 2.0 and ATAG 2.0, text color has sufficient contrast, JavaScript is keyboard-usable, etc.)

Ease-of-use

Like many WYSIWYG editors, Drupal Layout Builder is all about “blocks.” But these aren’t your run-of-the-mill blocks. There are inline blocks, field blocks, global blocks, and system blocks. Each of these has its own use case, and you can combine these block types to create stellar pages in minutes. For example, global blocks are used to create templates, and inline blocks are used to create page-specific changes that don’t impact the layout. The combination of these block types makes Layout Builder a hassle-free experience.

Additionally, there are plenty of ease-of-use features built into the core. Layout Builder works with the keyboard, has plenty of usability features that tie to Drupal’s value statements, and allows nit-picky setups for customized workflows.

Creating a Drupal Website is Easier Than Ever

With Layout Builder, users can generate valuable content and pages without needing to patch together various WYSIWYG tools or Panel/Panelizer. At Mobomo, we’re incredibly excited for our clients to dive into Drupal Layout Builder and make actionable and memorable changes to their templates based on their in-the-moment needs and experiences.

But Layout Builder isn’t a replacement for a well-designed and well-developed website. We can help you build your next world-class website. Once we’re done, Layout Builder gives you the freedom to make substantial changes without the headaches, back-and-forth, or unnecessary touchpoints. Are you ready to create a customer-centric, experience-driven digital space? Contact us.

Dec 17 2020
Dec 17

You started your ecommerce site with Shopify, and you obviously did it right, because you are continually seeing growth. That’s fantastic! But you are starting to see areas where you are outgrowing Shopify. What are the signs you should be looking for to make sure that your business keeps growing and not be held back by your ecommerce platform?

Seven areas to look at if you think you are outgrowing Shopify:

In this blog, we will take a look at a few things you can do if you think you are starting to outgrow Shopify.

Is it time? Has your company outgrown Shopify? We can help. Call today >Are you spending too much time every month manually inputting information into your CRM, ERP or inventory systems because there either isn’t an integration available for Shopify or it is not functional? Is there a platform that can automate some of those processes? The time you save can then be put back into important business tasks for strategic growth.

Look at all the 3rd party integrations your site needs.

Or will need to integrate with vendors to keep your ecommerce machine rolling. These integrations should enable you to more securely accept payments, provide more buying and delivery options for your customers, and more. Find an ecommerce platform that easily accepts these kinds of integrations and are securely developed so that you don’t wind up with a liability down the road.

Look at your user experience and how you want your brand to be perceived.

Does your site look and feel like the brand you want it to represent? Is there something missing that the Shopify themes are just not giving you? Does your brand stand out from the rest of the Shopify templated storefronts? Will you be able to make effective changes within the restrictions of Shopify’s templates?

Are you getting the reporting you need? Limited reporting makes it hard to develop a long-term business strategy. Better reporting means better decisions and more growth.

Look at the costs of “renting” Shopify’s platform.

Adding plugins to your base Software as a service (SAAS) platform to add customer-friendly and value-add features come with a price. The costs of those modules add up and could seriously be eating away at your bottom line every month. Consider the long-term advantage of owning your ecommerce website by creating it with an open source platform like Drupal and Drupal Commerce.

Look at your data.

Did you know that your Shopify store is generating a ton of data, but that you don’t own it? Shopify ties up your data, known as service lock-in, so that transferring your data becomes a cumbersome process, especially if you have a lot of it.

Look at the effectiveness of your CMS.

Shopify is not meant to be a content management system, so when it comes to adding videos and rich media, linking pages with products, and managing large amounts of content like a blog, your customer engagement and SEO. Shopify can make it hard at times to properly implement search engine optimization (SEO) tactics that would contribute to your growth.

For small to medium-sized businesses, Shopify is the best in class for ease of getting online, standardization and generally doing the basics in ecommerce.

As your business grows you may quickly learn that the things that made Shopify so attractive in the first place are the elements that are holding you back. If you have taken the time to really look at the above items and find that Shopify still meets your needs, then great.

If you are in a position where you feel that you may be starting to outgrow your ecommerce platform, the sooner you start looking at other options, the better. Making changes away from a standardized platform will get more complicated the more and more data, plugins and services you add to your current site.

Does all of this information leave you feeling a little overwhelmed? Don’t worry, we get it.

For something as crucial as your ecommerce platform, you want to make sure you are doing the right thing. That is where we come in. We live and breathe this stuff. Our ecommerce consultants and subject matter experts are open source commerce pros and are always happy to give as much advice as you need. Reach out today and let’s talk about what your next ecommerce platform should be after Shopify.

Don't struggle with a platform that can't adapt to your needs. Talk to the experts who help businesses facing the same problems every day  Have a no-obligation conversation today >

Dec 17 2020
Dec 17

Anyone who has decided to start an online business has had problems with choosing who to host a Drupal site. This is a sore spot for every business owner. Often, site owners simply do not understand the essence and why hosting their Drupal site.

Choosing a suitable hosting for your website is a serious matter. The future success or decline of your business depends on the chosen hosting company.

Our web development company has created this blog to dispel all myths and help site owners choose the best hosting company for their Drupal site.

Which type of hosting does your Drupal site need?

In order to select a hosting company as accurately as possible, you first need to know what kind of site you have and what you want. Everything is quite individual.

We have already written about what web hosting is, and what types of hosting exist. Let's briefly go through them again:

Shared Hosting

Shared hosting is the simplest and cheapest variant, but also the least functional. You get minimal opportunities as you share hosting with many other sites. It's like eating only a cake-topper at a party.

VPS Hosting

Virtual private server (VPS) is somewhere in between. In terms of price and capabilities, it is pretty average. It's like eating a few pieces of cake at the party.

Dedicated Hosting

Dedicated hosting is the maximum opportunity for hosting your site. Accordingly, the price for this type of hosting will be higher, but it's worth it. It's like eating the whole cake yourself!

The types of Drupal hosting

To learn more about each type of hosting, just go to the blogs we have already written.

What to Consider When Choosing a Drupal Hosting provider?

Many hosting companies are on the Internet, but a large number does not mean quality and reliability. Before finally choosing a Drupal hosting provider, analyze whether it satisfies the following requirements:

1. Security

The Drupal site itself is quite reliable and secure, but an extra level of security never hurts. Therefore, when choosing the type of hosting, remember that some of them are more or less secure.

2. Reviews

Before making a final decision, you should read reviews about this type of hosting and the hosting company. This is one of the easiest ways to learn more about a hosting provider.

3. Server capabilities

The more features your web hosting gives, the easier it will be for you to develop and fill your site. The usability for your users also depends on it.

4. Сost of use

It is quite clear that the cost of hosting is formed in accordance with the possibilities it gives. Check if there are any hidden costs so you don't get disappointed later.

5. Customer support

Many do not attach much importance to support when choosing a hosting provider. But it will be important when the first problems crop up and the help of specialists is vital. The better the support service is in the hosting company, the calmer you can be.

6. Server location

The location of your host data centres is also one of the conditions for your site to work well. The more stable the country your data centres are located in is, the safer it is for your online business.

What to Consider When Choosing a Drupal Hosting provider 

These are the minimum issues that need to be considered before making the final decision on choosing a Drupal hosting provider.

Top 4 main advantages of Drupal specific hosting company

You should opt for a company that specifically host Drupal websites, because:

  1. It provides your Drupal site with a specifically optimized server infrastructure
  2. It focuses all attention on the acceleration of your Drupal site
  3. It understands all the nuances of Drupal CMS 
  4. It offers hosting where Drush, Composer, and Git tools are already taken into account
Top 4 main advantages of Drupal specific hosting company

What benefits do you get from hosting your Drupal site at Wishdesk?

Entrust us with your website and you will receive the following hosting benefits:

  1. Reliable Drupal website hosting 24/7
  2. Drupal-optimized hosting to make it perfect for your website
  3. Hosting for all types and sizes of site
  4. Reliable multisite hosting
  5. Fast responses from managers and support team
  6. Cloud, Shared, VDS / VPS and SLA hosting types

These are just a few of the reasons why you should choose us! In order to find more details, you can contact the managers of our web hosting company.

Choose the best hosting company for your Drupal site!

Choosing the right hosting company for a Drupal site is vital — it is choosing your future partner, deciding who you want to become in the future, etc. Where you are hosting a Drupal site determines how it works, and therefore how successful your business will be.

Wishdesk is a trusted Drupal hosting provider for your business and for your success. If you have any questions, we will be happy to help you.

Dec 17 2020
Dec 17

Last week, Drupalists gathered virtually for DrupalCon Europe 2020. As a matter of tradition, I delivered my State of Drupal keynote. You can watch a recording of my keynote, download a copy of my slides (146 MB), or read the brief summary below.

The theme of my presentation was "How to optimize for impact". Often my DrupalCon talks are product-focused. This time, I wanted to be more reflective on the journey of building Drupal over the last 20 years.

Drupal has done a great job of embracing technological innovation. Not many technologies survive two decades of dramatic changes. I called out our current work on Headless Drupal as a recent example of keeping up with the pace of innovation. And now we're working towards launching official JavaScript components for Drupal, starting with Decoupled Menus. You can see our progress in this video snippet:

From there, I moved on to reflecting on what I would change if I could do things differently. I covered topics like "being compelling beyond code alone", obsessing about the user experience, and rewarding Open Source Makers to maximize the speed of innovation.

Perhaps most importantly, I've been surprised by a few big things since first creating Drupal, starting with the larger impact of Drupal on the Open Web. Today, this is an important part of my big picture "Why". An important part of that vision includes cultivating a diverse, inclusive Open Source community.

Looking back, what do you think are Drupal's biggest successes? Knowing what we know now, what would you have done differently? Has anything surprised you?

Dec 17 2020
Dec 17

Open source is gradually sliding into the workspace of most developers these days, as they prefer a model that listens to their needs, and is also something that they can exercise some control over. As opposed to closed source where only the management can change, edit, and contribute, open source welcomes all opinions - from all nooks and corners of the world. 

Why open source?

In recent times, we’ve been seeing a number of big companies using open source software (OSS) in business and preferring it over the proprietary model. This shift can be attributed to multiple reasons.

Working with open source translates to minimal costs and time incurred in surveying and researching on market-needs discovery. As the software is accommodative of all the suggestions that developers make and even lists out the best contributions, open source becomes a self sustaining model with outpouring innovation. Hence, a reason why open source is good for businesses is because it consequently relies much less on its own internal resources, and is free to tap the ideas that make their way in externally. 

It generally sees a greater diversity in its contributors, ranging from academic researchers to full time developers. This leads to the inclusion of a wide variety of themes and modules, and the approach becomes quality driven. This increases the market competitiveness, thus reaping long term benefits. These are the primary grounds due to which open source adoption statistics have been soaring in its favour.

But, why contribute to open source?

Multiple reasons have been identified as to why big companies that use open source find it in their best interest to contribute to it. In the diverse community of OSS users, corporations find greater innovative capability, and the relationship turns symbiotic. There exists a give and take of ideas from which the entire pool of users, companies using open source in business included, benefit from. It also becomes a passive form of CSR (Corporate Social Responsibility), as a little shared goodwill never hurt anyone. 

Apart from that, being in close proximity to the market of end users acts as an innovation catalyst. A recent McKinsey report talks about this phenomenon called ‘Developer Velocity’, referring to the act of enabling developers to create an environment and a subsequent methodology where their talent is left free of any friction - which results in newer, fresher, unbound ideas.

Open source, hence, demarcates itself clearly from stagnation. Companies that use open source software don’t lose their hair worrying about going out of fashion. Every time the market undergoes a change, it is sure to be reflected in the OSS by its community. The end result is a mutually beneficial relationship, where the company stays up to date with all market fluctuations and demands, and it gets updated whenever there arises a need - becoming a repository of high utility modules. Read more about the perks of being an open source contributor here.

Impact of large companies on open source softwares

During recent times, the open source community has seen quite a bit of infiltration from big players in the market. Large companies venturing into open source is on the path to become the norm soon. These companies are some of the major vendors of open source - 

  1. IBM has turned out to be pretty resourceful with various OSS projects, contributing to a list of platforms like Hyperledger, Kubernetes, Node.js, Egeria, etc. IBM also has a training program for OSS contributors, and goes the extra mile by sponsoring various OSS projects.  
  2. Google broke the ice by creating Kubernetes in 2014, an open source container orchestration system that automates a bunch of manual work done in managing and scaling applications. Presently, under Google Summer Of Code and Google Code In, Google invites University and high school students respectively to intern with them by contributing to different OSS projects. 
  3. Facebook’s most notable open source creation would be React Native, a mobile application framework - used to develop various applications for diverse platforms. Other OSS projects by Facebook include Hermes (javascript engine created to run React Native on Android), Detectron2, Hydra etc.
  4. LinkedIn runs a large number of OSS projects under LinkedIn Engineering - some of which are Ambry, LASER, Helix and Kafka. Apart from contributing to OSS and using OSS in business, LinkedIn also maintains a dedicated blog for the articles related to it, and a separate tab enlisting all the research work on OSS that LinkedIn community has contributed to.
  5. HPE and Intel are working on Network Functions Virtualisation(NFV) for 5G installations, partnering with open source platform RedHat for the same. 
  6. Another alliance on the frontline is that of Apple, Amazon and Google - working together under the Connected Home over Internet Protocol (CHIP) project to create an all-in-one smart home device, and in the process, share and use each other’s resources. 

Talk about the open source community is incomplete without the mention of GitHub, a software development platform that boasts of being the largest in the world. Microsoft’s acquisition of GitHub goes on to show that large companies are seeking to become major vendors of open source and are ready to invest large amounts of capital in the same. 

Hence, in the open source platforms that we see now,

  • Scalability is high - owing to cyclic contributions that not only keep the resources from stagnation but also constantly add value to it.
  • Sustenance is dependent on contributions - which might be voluntary, sponsored, or both. Since its users are also its contributors, open source leads to exemplary results with minimal investment on creating and updating its own resources.
  • Bug resolution is done by the users themselves. Constantly identifying errors and shortcomings keeps the site updated. Newer versions are tested, approved, and rewarded within the community. 

Seeing through the eyes of Drupal Community

Dries Buytaert, founder and project lead of Drupal, in one of his personal blogs, identified that open source communities are seen to be working at a steady pace even when the world suffers from recession. A collective purpose and associated ethics are the main drivers of OSS, making it resilient to external factors.

According to one of Dries’ blogs, Who sponsors Drupal development? (2019-2020 edition),  contributions to Drupal keep increasing by each passing year. The Drupal project has gained from the contributions by big companies that use open source like Capgemini and EPAM systems. Dries notes that even though the contributions from tech giants lag behind considerably when compared to the traditional Drupal businesses, he hopes to see a dramatic shift in the coming future. Apprising large enterprises about the value of contributions to large open source softwares like Drupal will go a long way. Moreover, providing better incentives can also play a huge role in increasing contributions from big companies, he feels. 

Bar graph with blue, green, and black vertical bars showing statistics on contribution by large companies on open source projects and Drupal in particularSource: Dries Buytaert’s blog

Open source has been a revelation during coronavirus pandemic. The Covid-19 pandemic couldn’t put a stop on the development of the Drupal project. #DrupalCares campaign proved successful as a number of organisations and individuals helped raise $500,000 in just over 30 days. This shows that OSS is treated as a public good - something that is non-rivalrous, and can be used by and benefits everybody. Instead of racing against each other, users of open source run together, and share its responsibility.

The future of open source communities 

More than a new concept, open source fits in like an upgrade to the software world. It is the beginning of a virtual workspace that is very user friendly and has the potential to achieve maximum consumer satisfaction.

Open source communities have also responded to the COVID-19 crisis with much responsibility, participating in and contributing to the COVID-19 Global Hackathon. Giants like Facebook, AWS, Twitter etc. have gone ahead and shared resources to assist the participants. Also, a number of open source collaborative projects have shown up to tackle problems that the world is dealing with right now, creating digital solutions as an effort to minimise the effects of the coronavirus pandemic. 

Dec 16 2020
Dec 16

The corona situation forced DrupalCon Barcelona 2020 to be fully hosted online, and was therefore renamed to DrupalCon Europe 2020. How was the experience? And how did I end up here?

You will find my first impressions about the conference in this article, as well as a bit of a background story, and some tips. Enjoy.

Background

I have been working as a backend developer on PHP projects for more than 15 years now. I joined Liip in Lausanne a bit more than two years ago, and at first, I was mostly involved in Moodle projects.

About one year ago in late 2019, we founded a team (we call it Circle ®) to craft digital solutions based on Drupal in Lausanne. The Drupal knowledge has already been within Liip for many years, as we use and contribute to it in many of our locations, including Fribourg, Bern and Zurich. I was onboarded and coached by others Liipers; I grew my skills and got in touch with the Swiss Drupal community. Everything looked promising! After a couple of months, we nevertheless decided to stop the adventure, and continue with other projects. That being said, I had the opportunity to work with Drupal 8 for a couple of months, and it was far more evolved, than the somewhat difficult memories I got from earlier versions of it.

So I decided to keep my ticket for DrupalCon Barcelona, even if it meant to spend a few days at home watching talks instead of being at a great venue full of people in the beautiful city of Barcelona. Let’s be clear, it is the first DrupalCon I have ever attended, I did attend some conferences for other projects (Symfony and Moodle).

The conference format

Well it all started with an email, telling us how to get familiar with the online platform, and how to use it or seek for help. I was surprised to see that the online event did not abandon the "networking part" of a conference. A “virtual exhibition” was available where you could find the different sponsors and meet them. A “meeting hub” was available to connect with other attendees. You could even ask for a buddy that can catch up with you and help you through the conference. DrupalCon Europe even planned social events in the evenings, but I wasn’t in the mood to attend them (yet).

The rest was as usual, you had different tracks you could subscribe to and watch. A chat and live Q&A area were available for each talk and it’s all quite straightforward to use. The platform uses a Zoom integration. Unfortunately, it did not work on my Linux distribution on the first day. It’s quite an unpleasant experience to miss a few minutes of the first talk because of technical issues. Fortunately, a workaround was available, and the issue got more or less fixed on day 2.
Furthermore, all the sessions were recorded and are available to watch later. I guess that this can be expected for a first full-online experience, and overall the platform was great. I can’t imagine how much work it has been to turn this event from an in-person to an all- virtual one. I was quite impressed by the result!

The talks

I attended a few talks, they all focused on specific topics, but some are more “developer”-oriented than others. I did a bit of everything, including “business” oriented talks. I still can’t figure what to say about them, some were more than excellent, others felt basic or too simplified. There was something for every kind of profile, but overall I felt disappointed by most of them. (To be honest, it’s something that has happened in the past. I probably enjoy the social part more at these events, or I don’t choose the right talks). However, there were very good talks that I personally enjoyed:

The feeling

Having mastermind speakers is quite a thing. You can listen to talks by people that have been doing Drupal for years, sharing their overall experiences on Drupal and no matter the topic they share, it’s a pleasure to listen!
It makes me realise how huge the community is and how difficult it is to drive it in an embracing, contributive and constructive way. Drupal has evolved a lot, specifically since the switch to Drupal 8. But managing the technical aspect is not all there is in a community. Finding ways so people can have a safe place to discuss, interact and contribute is something too. A strategy to center humans and their rights in Open Source Design is one aspect they tackle, but there are many more that are worth the efforts. I can say that I like the direction that Drupal is taking, and it’s a pleasure to see that everything is built together to provide one of the best CMS out there! Even if the learning curve is still pretty steep and should not be neglected.

I was worried about having a fully remote conference, but I shouldn’t have!. The experience was great, I had very little issues, and the number of talks was impressive.
I recommend you to have a look at the talks in advance, book them, and don’t hesitate to switch to another one if your gut feeling is telling you to do so. I also recommend you to keep some space in your schedule for your daily business, ongoing projects, in case you will have to answer some emails or do a few meetings here and there. Last but not least, I recommend connecting with the community, there are amazing people out there, and it’s always great to share and build connections.

Congratulations and a big thank you to DrupalCon Europe 2020 and everybody involved, making this event a great online experience!

Picture taken from:

Dec 16 2020
Dec 16

Hey folks, we're letting the NTEN Drupal Monthly Call have the month off for the holidays, so no NTEN Drupal call tomorrow, 12/17. We'll be back to our usually scheduled chat to discuss all things Drupal and Nonprofits (and anything else on our minds) on Thursday, January 21, 2021(!) at 1pm ET/10am PT.  Talk to you then!

Dec 16 2020
Dec 16
Drupal modules to increase site performance

Do you want your site to be the first in the search results, make users feel comfortable using it, and get a high conversion rate? Just make it as fast as possible! 

Your website's speed is essential because, if the website is fast, users will visit it more often. Statistics say that if a user waits for 3 seconds and more, they will leave the website and never return. The most comfortable loading time for users is 2 seconds. You may ask:

Dec 16 2020
Dec 16

A Hallway of Fun


It felt energising to reconnect with old friends in the Hallway track. We did miss being able to see each other in person and give each other a hug (high-five, or just a handshake). However, there were many opportunities to jump into a Hallway track session which would automatically pair you with up to 9 others who share similar interests to you. When registering for your ticket, you had a few questions which you could optionally fill-in, these were used as the basis to pair people in interest rooms.

DrupalCon Europe Hallway Track 1


Day one, it begins!
 

As we at Amazee focus on building decoupled websites using Gatsby, I had a keen interest in the talk by Oier Bravo entitled “Drupal and Gatsby, static without limits. Compiling more than 100,000 pages in less than what it takes to make a coffee.” Oier gave us an in-depth look into two Drupal modules that they are contributing to and utilising for their client projects: Static Suite and GraphQL Node Preview module.

Gatsby - Instant Navigation: Fast builds, Prefetch, and Made with React

From the addition of named functions to constructor properties, Ayesh Karunaratne gave an excellent overview of what’s new and changing in PHP 8. amazee.io has updated the Lagoon Docker images to include the latest stable release of PHP 8.0.

Nick O’Sullivan presented a thoroughly informative talk on “Decoupled translations with Drupal.” Nick explained how to create a multilingual Gatsby site with content sourced from Drupal, and described some of the key considerations to take into account when building your translation system.

Content Translations vs Interface Translations

Jumping from the more technical talks, I found myself captivated by Marissa Epstein’s session entitled “From squiggles to straight lines: Sketching user experiences to make decisions and get on with it.” Marissa’s enthusiasm for sketching is clearly expressed through this knowledgeable talk that included an overview of the various tools to aid you in drawing sketches for your projects.

Marissa Epstein - From Squiggles to straight lines

Michael Anello’s talk “Taking Maximum Advantage of Drupal Core's Composer Template” gave us an overview of the benefits that Composer 2 brings. You can leverage composer plugins like scaffolding to remove unwanted files or add lines to the robots.txt file.

In the Drupal Initiative’s Leads Keynote, we saw Putra Bonaccorsi, Ted Bowman, Neil Drumm, Ryan Aslett, Baddy Sonja Breidert, Gábor Hojtsy, and Len Swaneveld.

Putra presented the new frontend theme for Drupal – Olivero – which has just landed in Drupal 9.1.0 as an experimental theme.

Ted gave us an update on the Automatic Updates Initiative and the difficult technical challenges they face.

Neil showed us how to get started with merge requests on Gitlab; this should make the barrier to contribution a lot less complicated for newcomers.

Unfortunately, Ryan was unable to present. However, Tim Lehnen stepped in to take over. Tim talked about the composer 2 updates with improved cacheability, lower memory usage, and faster execution time.

Baddy talked about the decoupled menus initiative which aims to bring modern Javascript frontend components to Drupal, starting with a React.js version of the menu system.

Gábor showed us the roadmap plan to Drupal 10 in which we will upgrade CKEditor 4 to CKEditor 5, amongst many other dependency updates.

Len presented the bug smash initiative and how they’ve smashed a whopping 664 bugs between May 30th and December 8th.

We ended the day with some cardio by learning to dance Flamenco in a workshop provided by Marta G. Blanco. A fun-filled event which had several participants on their feet rhythmically dancing to the flamenco music.

Flamenco workshop with Marta G. Blanco at DrupalCon Europe 2020

Day 2, the Driesnote
 

With the first day ending with us shaking our hips, we were ready to hear the latest from Dries Buytaert in the Driesnote.

Phil Wolstenholme gave an insightful and well thought out presentation about Tailwind CSS titled “Write better CSS by stopping writing any more CSS! How and why to use utility-first CSS on large-scale Drupal websites with Tailwind CSS.” Phil explained how to configure and extend Tailwind CSS to aid you into building an improved component-based theme using design tokens.

Tailwind configuration holds your design tokens


Driesnote

Dries highlighted the latest changes to Drupal and how we’ve stayed relevant for the last 20 years by working on things that mattered, by embracing new technologies, and by making it easy for end users to adopt.

Optimising for impact means caring for people you don't know.

I joined Josef Kruckenberg and Joanita Bonnier for a retrospective on “How did the COVID-19 crisis affect client relationships and what can we take out of it?” It was an intimate experience in which we explored the negative and positive impacts of the pandemic and our learnings that we plan to take into 2021.

COVID-19 Client Relationships Retrospective at DrupalCon Europe 2020


Day 3, Keynotes


We started the 3rd day with an amazing talk by Eriol Fox in their Keynote: "Centering humans and their rights in Open Source Design.” Eriol guided us through a journey mapping activity to shape our minds into striving to be more inclusive and inspire us to put Human Rights Centered Design first.

If we are not intentionally working against injustice, we are unintentionally complicit in it.

Eriol Fox presentation slide - Our Structure

Philipp Melab, along with Laura Gaetano, Shyamala Rajaram, and Josef Kruckenberg conversed in their panel about “Sustainable practices for building and maintaining the Open Web.” They touched on topics such as payments to open-source projects and the feeling of creating something new is not always reciprocated when maintaining a project for several years.

Panel talk on the Sustainable practices for building and maintaining the Open Web featuring Philip Melab, Laura Gaetano, Shyamala Rajaram, and Josef Kruckenberg

Fran Garcia-Linares gave a fantastic lightspeed live demo on “adding end-to-end tests to your Drupal site in 20 minutes with Cypress.” Fran spun up 3 different sites; a simple non-Drupal HTML website, a Drupal 7 website, and a Drupal 9 website, and added Cypress tests to each of them. The live demos worked flawlessly and returned all green status checks indicating the tests had passed.

Fran Garcia-Linares' presentation slide showing the Way forwards as part of his talk - Adding end-to-end tests to your Drupal site in 20 minutes with Cypress

My session about “Building a platform to bring people together to Celebrate Drupal” went well. I described the process of how I built up CelebrateDrupal.org and what learnings I gained from this experience.

Dan Lemon's presentation slide - Chapter 1: Design. Stealing

Siri Chilazi presented a wonderful keynote on “Building Diverse, Inclusive and Equitable Communities.” Siri expanded on important training topics that all of us should attend such as diversity training, leadership training, and unconscious bias training. We all have unconscious bias and in order to reach good behavioural design we must design for diverse, equitable, and inclusive systems.

Siri Chilazi's presentation slide on

With a thrilling end to the sessions, we jumped into the Drupal Trivia Night. We created teams of 5 in order to compete for the title of Drupal trivia champions. My team, “WAVATE - We Are Volunteers At The Event” came 3rd, and Edouard Cunibil won the individual ranking by correctly answering the final question worth 1000 points before anyone else.

DrupalCon Europe 2020 Trivia Night Leaderboard


Day 4, Contrib Corner


As always with every DrupalCon, we had a day dedicated to contribution. It was held over Zoom using the Breakout feature, with a room for each table. I jumped into the contrib corner and worked on adding the official DrupalCon Europe photo to the Celebrate Drupal platform so that everyone could zoom-in easily and see each selfie taken via the photo booth during the conference. Others worked on upgrading their modules to be Drupal 9 compatible as well as aligning on issues for the decoupled menu initiative.

Day 4 Contribution Topics


The Open Web


With 4 days packed with talks, networking, social events, and contribution, we believe the conference was a great success. The shift from an in-person event to virtual was a difficult decision to make, but the community was thrilled to reconnect with each other and discuss Drupal and the open web.

If you're as passionate about Drupal web development and the open-source community as we are, get in touch today!

Dec 16 2020
Dec 16

We all know Drupal as this robust, flexible, and dependable CMS platform but not many realize its abilities when it comes to SEO. SEO can be one of the most influential factors for the success of an organization or a business. Did you know that 93% of online experiences start with search engines and 51% of all website traffic is attributed to organic searches (source)?! 

When people from around the globe search for your product or services, you want to appear as high as possible on the search engine ranking. Improving your SERP (Search Engine Results Page) ranking is now more important than any other marketing strategy. Ideally, Drupal SEO is about making your website easy for both your visitors and the search engine crawlers to understand. Thus, your SEO strategy begins long before your Drupal website is built. With an effective long-term perspective, its amazing collection of Drupal SEO modules, its flexibility and customization options and not to forget, the loyal community working towards the betterment of the open-source platform, Drupal tops the CMS chart. Drupal 8 (and 9) offers some exemplary modules that can boost your Drupal 8 SEO and SERP ranking.

With our SEO for Drupal guide, you don’t have to go too far in search of Drupal SEO modules, features, and tips to boost your website ranking. 

Lay your Foundation

With Drupal 8, most of the required SEO best practices are already embedded into the core of the platform and with a little knowledge of SEO and some must-have configurations, anybody can possibly boost their website’s SEO to drive more traffic. But before you jump right into the tools and other configurations on Drupal 8, sit back and think about the basics which you need to get right for your website's success.

Things to remember -

  • With your website goals in sight and your visitors' interests in mind, sit down and form a proper pre-SEO strategy, to begin with. 
  • Know your audience before you begin with your Drupal 8 SEO strategy. Once your audience set is established, shooting targeted content will be easier.
  • Pay attention to every detail that goes into your On-page SEO (content, improve keyword ranking), Off-page SEO (backlinks), and Technical SEO (site architecture, UX, clean code). 
  • Website performance and site speed directly contribute to a website’s SEO ranking factor. This is not just true because of Google’s algorithm update for speed but also because a slow loading website hampers user experience.
  • Yes, come 2019 and Google has changed the way SEO used to work previously. The focus is more now on the value you bring to your users – mainly through content. Hence, getting your Content strategy right is very crucial for a good website ranking.
  • Google favors websites that make it easy for users to navigate and access irrespective of the device. With Drupal 8, you can be assured of a responsive website because of its Mobile-first approach. 
  • Remember that SEO works differently for different businesses. There is no one-size-fits-all when it comes to crafting an SEO strategy for your Drupal website.

Top 5 Drupal SEO Modules to Optimize your Website

With Drupal 8 and the continuous innovation approach, it has adopted some of the best-in-class technologies thus making it more future-proof. More importantly, it has made content authoring more powerful and easier at the same time. One of the great things about Drupal 8 is that it is "SEO ready" right out of the box. Drupal 8 has hundreds of Drupal modules to choose from to boost the SEO of your website. Let's make your job easier by laying out some top Drupal SEO modules that help enhance your SEO efforts on your Drupal website.

1. Metatag Module

We all know what a significant role does meta data play in improving the overall SEO of a website. It’s the hidden information that is seen and understood by search engine crawlers that gives them an overview of what your page is all about. The Drupal Metatag module (previously Metatags) lets you create and modify different meta data elements of your website. 

Meta-Module

The Metatag module plays an extremely important role in improving your website’s Drupal SEO ranking. Take a look at this article to set up and install the Drupal Metatag module.

2. Pathauto Module

It is proven now that websites with a more organized, user-friendly and keyword rich URL have a better click-through rate (CTR). And a better CTR means a better SERP ranking. The Drupal Pathauto module lets you easily automatically generate URL or path aliases for different kinds of content.

pathauto-module

         Pathauto Module

You can even create bulk URL aliases automatically when you have tons of content that needs to be converted to user-friendly URLs.

3. Simple XML Sitemap

Sitemaps are essential for any website to let the search engine bots know which of its pages needs to be indexed and on what priority. The Simple XML Sitemap Drupal module allows you to automatically generate XML sitemaps for your Drupal website. The sitemaps generated follow the latest Google standards. 

Simple XML Sitemap

The Simple XML sitemap module also supports multilingual content by creating hreflang sitemaps and image sitemaps.

4. Google Analytics Module

In our recent post on the Google Analytics Module, we discussed how you can add the module to your Drupal website and also create custom reports for better performance of your website. Though the Google Analytics Drupal SEO module does not have any direct effect on your SEO for Drupal or does not improve your search engine ranking, it plays a major role in providing the necessary information that can amplify your Drupal 8 website's SEO success. By tracking your visitors, their behavior and interests within your site, you can change or add new strategies to drive more traffic and increase conversions. You can also use the GA Reports module that can provide you with a graphical representation and details reports about your Drupal website.

drupal google
        Google Analytics Module

5. Redirect Module

Google certainly does not like spammy duplicate content on a web page. Such content can have a negative impact on your SEO efforts and as a result, can harm your rankings on the search engine. On Drupal, while you are happy creating clean URLs with the alias system, you should note that there is a small problem arising. With the creation of new URLs, the default URL still exists and the search engines do not see it as a good sign.

global-redirect.

      Redirect module

The Global redirect module helps in rectifying this problem by verifying the existence of an alias for a URL and letting you manually redirect it to the same. The Redirect module also plays a role in checking the URL implementation and permission or the access required to the nodes and URLs. You can also install the Redirect 404 submodule that will log all the 404 errors and lets users create redirects for those often-requested pages. Another submodule that can be used alongside this module is the Redirect Domain that lets you redirect between different domains.

6. Real-time SEO for Drupal

This is an extremely cool module that lets you edit your SEO elements (meta data) like in real-time! No more worrying about how much description and content is too much or too less. Or wondering what it may look like in the search engines. It is like a What-You-See-Is-What-You-Get editor for SEO. It works in co-ordination with the Metatag module to offer some absolutely stunning features.

real time SEO

7. Drupal SEO Checklist module

If you are a ‘To-do-list’ person who is in love with organizing things, this Drupal SEO module is for you. The Drupal SEO Checklist module is one of most significant Drupal SEO modules and something you absolutely need. This Drupal module does not directly affect your SEO and improve the SERP but will provide critical information on the changes to be made on the site. The Drupal SEO Checklist module checks your entire Drupal website for proper search engine optimization against SEO for Drupal best practices and tells you what to do. It provides a detailed report on what needs to be done to improve the performance of your Drupal website.

seo-checklist
          Drupal SEO Checklist

The SEO checklist module keeps a track of how tasks have been taken care of, what has already been done (with timestamps) and what needs to be attended to. If a task needs you to install a module, it provides with a link to download it as well. This data provides a report that can be used for further monitoring. However, this module is only supported in Drupal 8 (and 7) but not compatible with Drupal 9 yet.


In addition to these Drupal modules, there are many other Drupal SEO modules such as the Page Title module which allows the page title to be set, the Meta tag module which equips you with complete control of meta tags on your Drupal website, and the XML Sitemap module to create a search engine readable, dynamic sitemaps.

Some Additional Tips to Improve your Drupal site's Ranking

Just to let you know, while you were reading this blog:

  • More than a million Google searches were made.
  • Close to 20,000 Facebook posts were posted.
  • More than 1000 blogs were posted on the internet.

The internet is noisier than ever now, and it doesn't seem like it is going to stop anytime soon. SEO at its beginning stages was all about cramming your website with keywords and let the crawlers do their magic. But over time, SEO has blossomed with Google introducing some amazing algorithms and updates to curb the black hat SEO practices.
Right now, for a successful Drupal 8 SEO campaign, you need to study your visitors, their behavior and interests on your website and curate the content accordingly to stay ahead of the curve. You don't want to be in the midst of a content gap which can create problems for your website's conversions. With this study, you have a real opportunity in hand to develop fresh content for your Drupal website and optimize it for the searches on the search engine.
 

Dec 16 2020
Dec 16

As a developer I tend to be lazy. I'm always searching for tools or shortcuts to make my live more comfortable.

Recently I stumbled across a giving an example on how to use migrate instead of a custom update script to update existing entities. Having no use for it at this time I saved it in my "maybe useful later"-part of my brain ... and forgot about it.

However, last week I had to add an existing field to the form display of all Paragraphs types in a project. Additionally a new field should be added and configured. Because I didn't want to configure the fields manually (remember? I'm a lazy developer!) for all Paragraphs types (there are about 80 of them in this project) I normally would have written an update hook for this task. But then I remembered the tweet and thought "wouldn't it be also possible to update the configuration using migrate?".

What do we need?

The first part of the task is easy: to display an existing field in the form of an entity you simply drag it from the "hidden" section to the content section.

Paragraphs form display Form display of a simple Paragraphs type.

After moving the field "Published" into the content section, I exported the configuration changes to see what happened and got the following result for core.entity_form_display.paragraph.text.default.yml:

Configuration changes in Paragraphs form display Configuration changes in Paragraphs form display

So in my migration I have to replicate exactly this configuration change for all Paragraphs types.

Migrating form display settings

In the migration I need a source plugin for all available Paragraphs types first. Because I already made the necessary changes to the form display of Paragraphs type "Text" the source plugin also needs the possibility to exclude certain items (well, I eventually could have reverted the previous configuration changes and start over with a recent database backup, but ...).

  1. namespace Drupal\up_migrate\Plugin\migrate\source;

  2. use ArrayObject;

  3. use Drupal\Core\StringTranslation\StringTranslationTrait;

  4. use Drupal\migrate\Plugin\migrate\source\SourcePluginBase;

  5. use Drupal\migrate\Plugin\MigrationInterface;

  6. use Drupal\paragraphs\Entity\ParagraphsType;

  7. /**

  8.  * Source plugin for ParagraphsType.

  9.  *

  10.  * @MigrateSource(

  11.  *   id = "up_paragraphs_type",

  12.  *   source_module = "up_migrate"

  13.  * )

  14.  */

  15. class UpParagraphsType extends SourcePluginBase {

  16.   use StringTranslationTrait {

  17.     t as t_original;

  18.   }

  19.   /**

  20.    * List of paragraphs types to exclude.

  21.    *

  22.    * @var array

  23.    */

  24.   protected $exclude = [];

  25.   /**

  26.    * List of paragraph types.

  27.    *

  28.    * @var array

  29.    */

  30.   protected $items = [];

  31.   /**

  32.    * {@inheritdoc}

  33.    */

  34.   protected function t($string, array $args = [], array $options = []) {
  35.     if (empty($options['context'])) {
  36.       $options['context'] = 'up_migrate';

  37.     }

  38.     return $this->t_original($string, $args, $options);

  39.   }

  40.   /**

  41.    * {@inheritdoc}

  42.    */

  43.   public function __construct(array $configuration, $plugin_id, $plugin_definition, MigrationInterface $migration) {
  44.     parent::__construct($configuration, $plugin_id, $plugin_definition, $migration);

  45.     if (isset($configuration['exclude'])) {
  46.       $this->exclude = $configuration['exclude'];

  47.     }

  48.   }

  49.   /**

  50.    * {@inheritdoc}

  51.    */

  52.   public function fields() {

  53.     return [

  54.       'id' => $this->t('ID'),

  55.       'label' => $this->t('Label'),

  56.     ];

  57.   }

  58.   /**

  59.    * {@inheritdoc}

  60.    */

  61.   public function getIds() {

  62.     $ids['id']['type'] = 'string';

  63.     return $ids;

  64.   }

  65.   /**

  66.    * Return a comma-separated list of paragraph type ids.

  67.    */

  68.   public function __toString() {

  69.     return implode(', ', array_column($this->items, 'id'));
  70.   }

  71.   /**

  72.    * {@inheritdoc}

  73.    */

  74.   protected function initializeIterator() {

  75.     $this->items = [];

  76.     $paragraphs_types = ParagraphsType::loadMultiple();

  77.     /** @var \Drupal\paragraphs\ParagraphsTypeInterface $paragraphs_type */

  78.     foreach ($paragraphs_types as $paragraphs_type) {

  79.       $this->items[$paragraphs_type->id()] = [

  80.         'id' => $paragraphs_type->id(),

  81.         'label' => $paragraphs_type->label(),

  82.       ];

  83.     }

  84.     if (!empty($this->exclude)) {
  85.     }

  86.     return (new ArrayObject($this->items))->getIterator();

  87.   }

  88.   /**

  89.    * {@inheritdoc}

  90.    */

  91.   public function count($refresh = FALSE) {
  92.     parent::count($this->items);
  93.   }

  94. }

As you can see in the gist above, the source plugin is very simple. It grabs a list of all available Paragraphs types and removes the types you would like to exclude.

The next step is to write a migration that updates the configuration for the form display.

  1. id: paragraphtypes_form_display__status

  2. label: Add status field to paragraph form display.

  3. source:

  4.   plugin: up_paragraphs_type

  5.   exclude:

  6.    - text

  7.   constants:

  8.     entity_type: paragraph

  9.     field_name: status

  10.     form_mode: default

  11.     options:

  12.       region: content

  13.       settings:

  14.         display_label: true

  15.       third_party_settings: {  }

  16.       type: boolean_checkbox

  17.       weight: 5

  18. process:

  19.   bundle: id

  20.   entity_type: constants/entity_type

  21.   field_name: constants/field_name

  22.   form_mode: constants/form_mode

  23.   options: constants/options

  24. destination:

  25.   plugin: component_entity_form_display

  26. migration_tags:

  27.  - up_paragraphstype

The migration uses the new source plugin "up_paragraphs_type" and excludes the Paragraphs type "text" from the list to process. In line 11..17 we set exactly the same display settings as in the screenshot showing the configuration changes made for the "Text" Paragraphs type.

In the "process" section the migration loops over the results from the source plugin, using only the returned ID from each Paragraphs type and otherwise the constants defined earlier. Since we would like to update the form display configuration, we choose the "component_entity_form_display" plugin as destination, which is kindly provided directly by Drupal Core.

After running the migration all Paragraphs types available on the site are configured to display the "Published" checkbox. Yeah!

What about new fields?

But what about the new field I needed to create? Basically the migration doesn't really differ from the one above. The only thing we need to add is an additional migration creating the field configuration for each Paragraphs type.

Let's say, we would like to create a text field named "Comment" for all Paragraphs types. Then you will need to create the field storage for this field using something like this:

Note: if you have created the field manually (like me for Paragraphs type "Text") you can skip this migration because the field storage is already existent.

To add the newly created field we need to create a field instance for each Paragraphs type. This can be done by using the migration destination "entity:field_config":

Simple, isn't it?

What's up next?

After seeing how simple it is to create and update field configuration some new ideas came to our mind. It should also be possible to create entity types containing all required fields and display configuration using migrate. This could be a great option to enable some additional features on a site simply by clicking on a button (disclaimer: of course you need to export the configuration and eventually do some more stuff).

But this is stuff for another blogpost ...

Dec 15 2020
Dec 15

At Promet Source, our favorite types of questions are “why not?” and “what if?”  This mindset energizes new approaches and possibilities. It’s the perspective that’s fueled a lot of our collective brainpower lately, sparking some big questions such as: 


What if we could leverage the coding and the components that we create for one website, for purposes of building a foundation for vast new efficiencies while making content editing easier and more efficient?

And

How can we simplify content editing, while empowering marketers and content editors to revise and reconfigure their sites as they see fit, without requiring any tech expertise or tinkering with the code?

These are the kinds of questions that have driven the development of Provus

What is Provus?

Provus is Promet’s solution for making the content editing experience better for marketers and site managers.

Promet Source created Provus because we get it -- that within every organization, priorities, perspectives, and products are constantly evolving, and that keeping Drupal sites updated at the same pace is a big challenge for fast-moving marketing teams.

With Provus, marketers and content editors get access to a library of customized, commonly used components -- such as galleries, carousels, maps, lists, blogs, FAQs, quick links, grids, social media assets, and events -- that are designed to be mixed, matched, and rearranged. 

What Sets Provus Apart?

A big differentiator between Provus and other drag-and-drop page-building tools is that marketers and content editors can be assured that they won't "break the site" and any combination of components available within Provus will be ADA accessible, adhere to brand standards, and look great. 

Clients working with Promet benefit from our design team customizing options for their site to ensure that the range of possibilities for reconfiguring the look and layout of a page is within a system of brand and accessibility guidelines. Provus is Open Source and has the inherent benefits of an Open Source product. 

 

Content editors can also count on: 

  • Self-adjusting features that ensure adequate contrast between fonts and background colors for readability and ADA accessibility. 
  • The assurance that brand guidelines stay intact as layouts change. 
  • The ability to easily change patterns within the views, eliminating the need to switch back and forth between edit and publish modes.

Provus bridges the CMS divide that had formerly existed between easy-to-create and manage solutions, such as -- WIX or Squarespace -- and Drupal, which provides a scalable solution for complex, enterprise-level sites.

 

See the difference

This sequence of images demonstrates how a single view can be adjusted without having to delete the existing component, redundantly re-enter content, and start a new layout. Provus enables the content editor to simply select from several alternate views creating a variety of layouts with either manual inline content or pulling in automatic dynamic content from existing Drupal content types such as News or Events.

Screen capture of the Provus Content Editor experienceThe Provus CMS within Drupal allows easy selection from a variety of layouts.Screen Cap of the Provus CMSFeaturing the Card Carousel, the Group Display component provides multiple views of a set of contents.Provus CMS view of a simplified content editing experienceProvus users simply change the layout by selecting a new view within the component without having to reenter content. Multiple view options are available for this commonly used component.Carousel view displayed in the Wysiwyg editor.The newly selected view is then displayed in the Drupal WYSIWYG editor of Layout Builder. The library of components that are part of Provus provides ways to display engaging content that extends beyond basic content pages that are part of Drupal out-of-the-box.

 

What's New & Next

As a thought leader on how humans interact with technology, Promet Source has enthusiastically created Provus and we are excited about the new possibilities that are in store.

Interested in hearing what Provus can do for you, or seeing a demo of Provus in action?

Read more about Provus here and Sign up for a demo!

Dec 15 2020
Dec 15

I'm happy to announce that the personal reader project I've been writing for Drupal is now available for download! You can install it on your website, and as a PWA on your phone or tablet. No more third party applications, just pure HTML, css and the power of Drupal. The layout is heavily influenced by the Mastodon project, but needs more tweaks to fix the responsive behavior.

The project consists of two parts:

  • reader module: API for getting channels, streams etc. The main entry point is at /reader. Configuration is at admin/config/services/reader.
  • reader theme: theme for displaying the content. The theme enables you to install the reader on the home screen of your mobile phone.

Modules that implement the api are ActivityPub and IndieWeb. Support for the core Aggregator module is also imlemented.

I've recorded a short screencast showing the current interface and also how to install on a mobile phone! You can see channels from the IndieWeb microsub module and the local ActivityPub timeline of people I'm following on the Fediverse.

Happy reading!

A personal reader for Drupal, integrating with #activitypub and #indieweb with PWA support on mobile phones! https://realize.be/blog/personal-reader-drupal

Dec 15 2020
Dec 15
Dec 15, 2020 Product

Notebooks are essential for every organization, project or team. They provide a central place for consistent documentation, so we implemented them in the latest update of Lucius

You can think of notebooks as simple text documents. Which facilitate a central, consistent place for all your documentation needed in your organization, department, project or team.

You can also use them for example for:

  • General manuals;
  • Project documentation;
  • Team information;
  • Onboarding information for new people.

Just like stories, current version is a starting point for Notebooks. Further features will be done based on user feedback. But it’s enough to work with in our experience testing them.

Customizable, brandable

Just like the rest of the Lucius features, Notebooks are:

  • Customizable to your organization's needs;
  • ‘Brandable’ to your companies house style;
  • Because: 100% open source :)

Test Notebooks this instant, or install Lucius yourself

If you want to test Notebooks this instant, that of course is possible: try them now for free. Or download and install OpenLucius yourself via the project page on Drupal.org

Dec 15 2020
Dec 15

In early 2020, just before the Covid pandemic struck, Gartner made a groundbreaking move: they abandoned their magic quadrant for web content management, essentially replacing it with the DXP (Digital Experience Platform) quadrant.

In hindsight, this came right at the perfect moment, serving almost as a kind of prophecy of the omnipresence of digital experiences 2020 was to bring about.

With more and more businesses expanding into every digital channel, enterprise digital experiences are also transforming and becoming more clearly defined.

In this article, we’ll take a look at the main characteristics of enterprise digital experiences to see how they differ from traditional digital experiences, and provide some examples of robust platforms and frameworks for powering high-level enterprise digital experiences.

Must-haves of enterprise digital experiences

As opposed to, say, a relatively simple WordPress blog, enterprise digital experiences require more consideration and a much more streamlined, cohesive approach. In this section, we’ll go through the essential characteristics of enterprise digital experiences.

Security 

Of course security is important for any kind of online experience. The larger the business, though, the more devastating an impact a potential security breach can have, even ignoring the multi-layered implications such as audience backlash.

Both internal and customer-facing digital experiences, e.g. respectively staff security protocols and e-commerce check-out processes, need to be optimized for maximum security in order to minimize risks at all touchpoints.

Accessibility

While a personal blogging website may get away with a few accessibility issues, if you’re an enterprise providing essential digital services on a large scale, to a large and varied audience, you must prioritize accessibility - it would be illegal not to. Check out more reasons why accessibility benefits a business.

This is especially important for any company providing a physical service - in this case, every user should get an equal right to accessing your service and receive an equally satisfactory experience. 

Experience - both user/customer and marketer/developer

Another important factor of enterprise digital experiences is, well, the experience itself. The last point on accessibility is related to this, in that the user or customer experiences should always be put first, a kind of human-centered approach.

What’s also crucial here, however, is the experience of those who are creating and managing these user-focused experiences. In other words, all the teams responsible for delivering your digital experiences should be enabled to do so in the best possible way. 

Each department will need the optimal tools and processes for executing their role most effectively. Marketing automation, design systems, DevOps, an excellent content editor experience - these are all essential factors in providing enterprise digital experiences at scale.

Multichannel / omnichannel

Not that long ago, it might have been enough for a business to have a website where they could be reached online - optimized for mobile, if possible. In the post-Covid era, however, it’s become apparent that a website, in most cases, may not be enough anymore. 

With the explosion of digital channels, the abundance of options all vying for users’ attention, businesses must go to great lengths to reach them at all possible touchpoints of their digital journey and stay relevant amid the fierce competition. 

A strong social media presence and mobile optimization are now essential elements for a brand, but options are even more plentiful. Targeted advertising in particular enables companies to stay in touch with their customers as they move throughout the web; and this leads neatly into the next point:

Data-driven

Despite the recent and upcoming privacy regulations, data remains king, likely even more so post- than pre-Covid. For a digitally-first business wanting to deliver exceptional digital experiences, leveraging data in marketing and decision-making is an absolute must.

After all, the best customer experiences, those truly heartfelt personalized ones, depend heavily on data, and with the insane amount of data we have access to, it would be even more insane not to make use of it.

That said, just having data is not enough - you need to know how to make the best use of it, which starts with collecting and analyzing it in the right ways. Moreover, there’s a thin line between great personalization and creepiness, so make sure to keep that in mind as well. 

Integration with multiple systems / APIs

One of the main things enabling effective data usage is integration, the bread and butter of enterprise digital experiences. With platforms often using different services that are tied together, and even those very services depending on different third-party technologies, integrations are literally that which makes everything function properly.

The API connection between your front- and back-end, integrations with e-commerce and CRM - can you even imagine your business continuing operating if all of these things haven’t been taken care of? 

Integrations are becoming the life force of the latest wave of digital experiences, enabling omni- and multichannel experiences through easy data flow and sharing, and resulting in enhanced digital journeys which meet users’ needs and desires. 

Evergreen must-haves

You may have noticed that we haven’t yet mentioned some of the absolutely key elements of digital experiences - don’t worry, we’ll be covering those in this next section, we just wanted to first highlight the ones that are more specific to enterprise digital experiences. 

In contrast with the above list, most of these should be top-of-mind even for more personal digital experiences, e.g. blogging, or small local businesses, as they’ve become a mainstay of experiences on the web and a baseline for users’ expectations. 

Performance 

This is probably the number one thing for any kind of digital experience. We’re sure you’ve heard or read countless times how many seconds it takes for which percent of visitors to abandon your site, so we won’t reiterate on that. 

Just keep the need for speed top of mind, no matter if you sell a global SaaS product or provide local knitting services. 

Content 

Again, this is something that’s common to all sizes of businesses and websites. When it comes down to it, it’s actually all the web is about: content. 

Sure, the nature of content is different with a small personal blog than with a large international business, but in both cases, it’s one of the key elements of a good online experience.

SEO

Speaking of content - what good is good content if no one knows about it? People search for everything on Google, and if your high-quality article is lurking on page 4, that’s essentially the same as it not even existing. 

How deep into SEO you’ll go largely depends on what position in the market you want to achieve, but even if you’re just content with 10 people reading your food blog each month, performing some baseline optimization for search engines definitely won’t hurt.

E-commerce

Being able to purchase things online has become an absolute must for digital experiences - especially post-Covid. No matter what kind of product or service you offer, you’ll want to ensure that your customers can access it digitally.

E-commerce is the one area that really requires a top-notch customer experience in every aspect. And since we’re dealing with financial transactions here, even smaller local businesses will want to ensure a maximum level of security for their checkout processes, for example.

Platforms and frameworks

Warehouse / factory in shade of blue

Next up, we’ll take a look at some digital experience frameworks that are particularly suited towards enterprise digital experiences.

Drupal

Drupal is the leading CMS for enterprise digital experiences, especially with the latest version 9 released in June 2020. It can serve as a robust back-end that integrates with a custom front-end, or a fully-fledged digital experience platform which is optimized for security and accessibility. 

For large businesses, Drupal is definitely the number one choice in terms of a content management, or rather, digital experience management system. It is capable of powering future-proof multisite platforms and introduces streamlined editorial workflows that can be tailored to even the most complex business processes.

It’s no surprise, then, that so many companies and organizations requiring the highest level of digital experience opt for Drupal. This includes a majority of government and educational institutions, but also corporations such as Pfizer, who are both users of as well as heavy contributors to Drupal.

JavaScript

In recent years, JavaScript has transitioned from being seen as a less professional front-end development language to essentially being the language powering digital experiences, with the Node.js runtime enabling back-end JS development and the numerous frameworks allowing for any kind of front-end presentation.

These JavaScript-based frameworks have also made great strides lately, and the competition between them in combination with their open-source nature allows for a high level of innovation.

While Facebook’s React is currently the most popular JavaScript-based technology, Google’s Angular framework is actually the best suited for enterprise use cases. It’s ideal for large-scale business applications, where there is a high priority on security and best practices, as well as often a need for cross-team collaboration.

Laravel 

As far as back-end web frameworks go, you can hardly do better than Laravel. Based on the most widely used back-end language for the web, PHP, it’s by far the most popular framework in that ecosystem, and with good reason. 

Not only does Laravel provide an enhanced developer experience, it’s also optimized for security and very customizable. Similarly to Drupal, it is often seen as part of a decoupled application with React or Vue for the front-end. 

Its biggest benefit for enterprises, however, is the increased speed and consequently reduced cost of development thanks to its streamlining of some of the most frequent tasks in web development, e.g. user authentication and caching.

Spryker

When it comes to enterprise e-commerce, the Spryker Cloud Commerce OS ticks all the boxes, with the latest generation being particularly optimized for enterprise customer experiences.

Not only are digital experiences created with Spryker highly secure, scalable and performant, the framework also enables excellent integration with third-party systems and thus allows your brand to be present and reach your customers on any channel they frequent.

On top of everything, Spryker offers a high level of customization and personalization to cater to the needs of the next-generation digital shopper, thanks to its flexible content management system and API support.

Conclusion

Hand holding up hologram of Planet Earth in front of multiple colorful screens

We hope this article has provided you with a better understanding of enterprise digital experiences, their main requirements and some of the top technologies for crafting them. 

If you’re looking to enhance your enterprise’s digital presence and are looking for a development partner to help you create advanced digital experiences, reach out to us and we’ll help you select the right technology for your business case as well as take care of the implementation.

Dec 15 2020
Dec 15

Every aesthetically pleasing website has a common ground - a good theme. An attractive theme can bring the website’s visuals to life and facilitate you to create a powerful brand identity. But that’s just one part of the story!

The website theme, beyond being beautiful, should cater to great user experiences also. 

And that’s how you prepare a robust yet enticing website - maintaining design & the best usability practices hand-in-hand are the key to increase conversion rates.

The launch of Drupal 9 in June encouraged the community to make it high up on their agenda to revamp its user experience and ensure friendliness for every stakeholder - designers, editors, marketers, and developers, of course. 

With an emphasis on Olivero, a modern front-end theme designed to exhibit the CMS in its best light; front-end developers can expect plenty of benefits from it. 

It will empower them to bring that magical touch to the websites by utilizing their creativity along with modern tools and frameworks to define layout, styles, typography, buttons, color schemes, and many more, to drive the visuals and engagements of the website/ application.

This blog walks you through Drupal's soon-to-be default theme - Olivero and how front-end developers can leverage it for designing a great website.

Olivero and It’s Benefits

Olivero is going to be a new default front-end theme that is expected to be rolled out in Drupal 9.2. It is designed to give Drupal a flamboyant look and feel. Olivero is also going to be compatible with the Drupal 8 website as a contributed theme.

Currently, Bartik, a ten-year-old theme, initially created for D7, is being used. It is certainly mobile-responsive and had some outstanding features to meet D8’s mobile-first requirements. However, the development has outdated the design. 

Thus, the need for a new front-end theme emerged to showcase Drupal’s strength appropriately.

Drupal Trivia

Olivero is named after a female programmer, Rachel Olivero, an outstanding supporter/ programmer of website accessibility. Sadly, she passed away in 2019. To honor her, the Drupal community kept her name alive with this beautiful theme. The idea is to showcase patience, generosity, and inclusiveness - the qualities of Rachel that the theme should also epitomize.

Benefits of Olivero Theme in Drupal 9

The Olivero theme is intended to give Drupal websites an eye-pleasing view apart from ensuring,

  • Simplicity- declutters by eliminating the colors, effects, and visual elements that make the theme look and feel too heavy.
  • Professional look - encompass all the design elements, for instance, negative space and high contrast, to grab users’ attention.
  • Accessibility- designed with WCAG AA conformity in mind, from functionality to layout, to colors, all components will be accessible for everyone. 

Drupal Trivia

The blind federation conducted an accessibility test to evaluate the Olivero theme for visually impaired users. They were happy and satisfied with its design and high responsiveness.

  • Flexibility- facilitates Drupal front-end developers with multiple options to choose from - be it button styles, headers, or logo styles to text titles, and many more.
  • Compatibility - supports modern browsers’ features & various engagement modes. The creators have ensured that the theme supports recent Drupal updates and features for websites such as Layout builder, media embeds, second-level navigation, and many more.

Get the Hang Of Olivero’s Exciting Features

Here are the features of Olivero that you can leverage for designing your next Drupal website-

A. Bright color palette

Websites leveraging Olivero’s color scheme will look beautiful with a base color of bright blue. Besides being attractive, it would boost Drupal’s brand recognition. Several permutations and combinations of darker and lighter colors and shades would provide website improved accessibility.

Screen Shot 2020-12-15 at 11.23.46 AM

A bright color palette in Olivero theme

Source- Drupal.org

B. Simple and elegant forms & buttons

The forms and buttons added in the new theme are user-friendly, distinguishable, and accessible. Forms comprise a left color bar, and their labels are placed above the fields to abide by the website accessibility requirements and guidelines. 

The buttons inform users about clickable action. The theme also has a filled primary button style and a secondary button style which is an outlined version of the button.

The buttons’ different modes are present default in Olivero, unlike other themes where you need to define these modes. 

The four modes are- Default, Hover, Focus, and Active

8 rectangles in white background

                                                                 

                                                                 Button modes in new theme                                                                                                                                         
                                                                   Source- Drupal.org

C. Typography

Typography provides scale to maintain uniform sizing, line height, and spacing throughout the design. The base font used for body copy is 18px. The size can be tweaked for smaller screen sizes.

Consistency, throughout line-height and spacing, has been a key objective when setting the scale for typography.

D. Flexible header and navigation options

Navigation options can cater to any website’s needs. The header can fold into a hamburger button menu when scrolling, allowing the user to access the menu easily on long pages. 

The secondary dropdown menus are also supported by Olivero, thus saving coding efforts of developers unlike Bartik where they need to reinvent the wheel time & again.


E. Vertical Rhythm

Vertical rhythm ensures the correct spacing arrangement of the text. It calculates line-height, font size, and margin or padding to maintain equal space throughout the website. 

F. UI Patterns

The header is designed flexibly so that it can accommodate the text titles and or logos of varied width and height. 

On scroll down, the header will fall into a hamburger-button menu, to let the user access the menu or longer pages.

G. Site branding variations

You can tweak the theme settings to change the background color and width of the site-branding to incorporate different types of logos and long text.

white background with text and boxes

Flexible site-branding options in Olivero

Source- Drupal.org

H. Forms

These simple yet modern forms consist of elements that enhance the design, while still being recognizable, usable, and accessible. 

The left color bar highlights the form element and labels are added above the form field to avoid confusion. Form fields have a consistent look to indicate to users that they are a form element. States such as focus, disabled, and errors have also been accounted for.

3 field boxes

Highlighting error state in the form

Source- Drupal.org

I. Tables

Table divider lines are designed such that it improves readability. Olivero's theme will also support the responsive table features of Drupal. 

J. Sidebar

Only one sidebar is implemented to stop competition for space on the screen. It improves readability and allows content to look more rich and prominent on the screen. Editors can showcase related posts and other types of utility blocks too. 

The sidebar also offers good support and space.

Text written in white background

One sidebar aimed at improving readability

Source- Drupal.org

K. RTL Support

Olivero theme supports right-to-left languages as required by Drupal core. It also supports better display and multilingual functionality. For example, Arabic, Hebrew, Persian, and Urdu support RTL writing and so does Drupal.

text written from right to left in white background

RTL support in Olivero

Source- Drupal.org

L. Messages

Messages intent to inform users for they need to consume important information or provide feedback on an action already taken. 

Messages are visible as they are designed with bright colors to highlight the message and yet don’t mess up with the readability of the message itself. 

Text written in white background

Displaying messages per their type (error, alert, and success message)

Source- Drupal.org

M. Breadcrumbs

Breadcrumbs in Olivero are placed near the top of the page above the page title to help users keep track of documents or websites. 

A visual cue informs users about more breadcrumbs which they can access later by swiping left to right or right to left. This feature is not part of MVP. 

Text written in white background

Breadcrumbs to keep track of pages

Source- Drupal.org

N. Color module

This feature is not part of the initial release. However, this or similar functionality might be included later. 

Challenges That Olivero is Going To solve for front-end developers

Olivero is a modern theme with a magnificent look and feel. It can help front-end developers in simplifying their work. See how-

1. Lighter theme with up-to-date design elements

Unlike Bartik which used outdated graphical elements such as drop shadow and gradient, it uses a layout builder, grid system, hamburger menu, to name a few, to ensure that the site remains lightweight and responsive.

2. Low code

There is little or no coding required in CSS to determine the presentation of a web document and for adding content blocks anywhere. 

There are few other scenarios that simplifies the work of front-end developers -

  • Bartik doesn’t offer a secondary menu while Olivero does. This saves the coding efforts of front-end developers 
  • If any other theme is used, the hamburger menu is not available. Olivero theme is mobile-friendly. It encapsulates the menu automatically via the hamburger menu feature. No coding is required for it.

3. Scalability

Even on enlarging page size, it won’t break. Instead, it would give you a clear view as always. This makes Olivero more responsive.

4. Compatibility with other browsers

Bartik is not compatible with other browsers like Internet Explorer 11 while Olivero is. Front-end developers need not write code separately to ensure the support to all the functionality and features of the browsers. 

5. Code compilation/ testing

Olivero has CSS Grid Layout that can handle both columns and rows. It is a powerful layout system that helps developers write code hassle-free. They can write code in a nested structure to make it compact, easy to understand and increase readability. 

6. Extensibility with PostCSS Standalone technology

PostCSS is an accessible tool that empowers front-end developers to easily contribute to in the form of custom plugins. 

It simplifies the writing of CSS stylesheets by keeping code simple and facilitating understanding of dependent selectors and media queries within the stylesheet. 

During the development of the Olivero theme, there were several PostCSS plugins that were leveraged to make the CSS more readable and reduce the probability of breaking the page.

Conclusion

Olivero is a modern theme that is going to be the new default theme for Drupal from version 9.2. Front-end developers can use this flexible and scalable framework to improve work efficiency and create exquisite websites. 

Figure out how your enterprise can leverage Olivero’s constructive features to empower your front-end developers. Meanwhile, let’s wait for this beautiful theme!

Dec 15 2020
Dec 15

Have you ever wondered how websites are built? Sure, there is an entire army, consisting of developers, designers, project managers and business analysts, involved, but is that all? Do they work independently? Do they work day-in and day-out to build the website from the ground up? Do they have some help in doing that? 

If you are a part of the website development army, you might know what I am trying to get at. It is true that websites are built from scratch, but what is also true is the fact that these websites require some help to get the scratch go on to be a fully-functional site and that help comes from a content management system, a CMS to be short. 

There are a few in the market, with Wordpress leading the way in market share numbers, however, we would be talking about the one that is leading the way in functionality and features. And that is Drupal. 

As of November 8, 2020, there are slightly more than 1 million Drupal sites all over the world. This number is a testament to Drupal’s abilities to give your site whatever it wants. 

To that accord, there has been a new vogue in Drupal and the way it is capitalised by its sites. And that is what we are going to discuss, before that let us delve briefly into Drupal’s traditional abilities.

Traditional Drupal VS Decoupled Drupal 

There are four circles showing how the different aspects of decoupled Drupal architecture are interconnected.Source: DZone

Like I said before, Drupal is a CMS, so it is equipped to build websites from scratch. And that is what the traditional/monolithic/coupled Drupal does. From the user interface to the data access code, Drupal caters for all your website needs. Being responsible for the front and backend, the traditional Drupal helps you in building versatile web experiences.

With Drupal’s themes, templates and behaviours, it is extremely easy to create a dynamic presentation layer for your website. The fact the Drupal allows you to build and customise a live site along with providing solutions for any frontend mishaps is another compelling reason to opt for the traditional Drupal. 

Yet there are many who think that Drupal’s frontend capabilities are not as impressive as that of JavaScript. Although Drupal has a JavaScript library in its corner, it does not have the JS framework to work with, so maybe they are right. So, as a solution, the advent of decoupled Drupal architecture was seen.

The Decoupled Drupal has a slightly different story to tell than its monolithic counterpart. You would still have Drupal and its abilities at your disposal, however, you would have a little more than just Drupal to work with. With decoupling, you would simply be saying goodbye to Drupal’s frontend abilities, either completely or partially, that is up to. Drupal would only be used as a content repository and your entire presentation layer will be made up of other frontend technologies; Angular, Vue and React are some of them. 

The Decoupled Drupal has two variants for you to choose from; 

  • First would be the progressively decoupled approach, in which you would be leveraging other frontend technologies and amalgamating it with Drupal’s frontend capabilities. This could be regarded as the best of both worlds. 
  • Second is the fully decoupled web app, in which your presentation layer is going to be handled by a JavaScript framework and will be completely independent of Drupal, and it would only be used for the backend architecture. Fully decoupled Drupal architecture for static sites is another option. In this approach, Drupal acts as a content source for static sites, aiding static site generators like Gatsby to create your site by taking data from Drupal. 

To know more about the working of decoupled Drupal, how it is different from the traditional architecture and what are the specifics of the technologies involved, read our blog Monolithic and Decoupled Drupal Architectures

The Move from Traditional to Decoupled Drupal 

Now that you have a fair idea as to what decoupled Drupal is, it is time to find out when the right time is to make the move from coupled to decoupled Drupal architecture. Let me ask you a question first, have you ever made a business decision without taking into consideration the pros and cons of that decision? I’m certain, you haven’t. So, for that very reason let me tell you why decoupled Drupal architecture is advantageous. 

The motto “Write once, publish everywhere” could be the tagline of decoupled Drupal. It allows you to leverage social media, emails, the intranet, apps, microsites along with your primary publishing platform, so that you can make your content as universal as you want. This is an advantage that makes decoupling the go to option for many. Then there is the fact that through decoupling you can enhance your user experience, get upgraded faster, which would make your team work at an enhanced efficiency, along with this decoupling also provides you the opportunity to become more innovative. The JavaScript framework, which would be at play in decoupling is the icing on top. 

You might think that with these many advantages, decoupling cannot ever be the wrong choice. It doesn’t have to be, if you know what the limitations are and are equipped to combat them. The most blatant drawback of decoupling is the fact that you would be losing out-of-the-box Drupal features, for some this can be a deal breaker. Obviously, since Drupal would not be at play on the frontend, you would have to part with its capabilities; you can’t bake the cake and eat it too, unless of course you choose progressively decoupled Drupal. Another problem that is often seen in decoupling is that the coding becomes a hassle and so does identifying bugs. 

After discussing the benefits of Decoupled Drupal along with its drawbacks, it is time to ask yourself some tough questions. For it is these questions that would help you in the decision to move. 

  • Is your business reliant on multiple channels and microsites to spread and accumulate content to and from? 
  • Is it your opinion that being reliant on one technology for your entire project is not a wise choice?
  • Are you unhappy with the interactivity your website provides to its users and want to capitalise on JavaScript framework to enhance it?
  • Do you have more developers who are experts in JavaScript than Drupal? Are you planning to take advantage of their expertise in JS?
  • Have you not been using all of Drupal’s frontend assets and think they only bring in more work?
  • Is building an app a future goal of yours?
  • Are your editorial needs basic?
  • Finally, do you have the budget to decouple, because Drupal may be free, other frontend technologies aren’t?

Think of your answer to all of these questions and then read our blog When to move from monolithic to decoupled Drupal architecture to understand all the nitty gritty details behind the move.

The Final Call  

In the end, all I want to say is that there are going to be benefits and limitations for your project, in both the coupled and decoupled Drupal architectures. If you want to make a decision, consider your needs over anything else. If you feel that your current architecture is not cutting it for you, the move could then be considered inevitable and prudent. If not, then maybe waiting for a time when there is an actual need would be the sounder choice to make. There is only one answer to “When to Decouple Drupal?” and that is when you have the need. 

Dec 14 2020
Dec 14

Since we have been working in a remote setup for more than ten years, we always look forward to the yearly DrupalCon so we can finally see each other again as one team. This year, despite everything going on with Covid-19, we wanted to keep up the tradition and bought tickets for the whole team. Unlike in previous years, DrupalCon Europe 2020 took place as a digital-only conference.

For this virtual DrupalCon, we decided to not fall into the work-trap but fully focus on the event and the sessions. We created a Miro board with frames for each team member to document sessions while they happened. We also created a DrupalCon Slack channel within which people would start threads for a session they were in, so we could chat about what we found interesting. Personally, I found reading this very helpful because if I was in another session, I would still immediately know if there is a session I would want to watch later.

DrupalCon Europe 2020

Advantages Of A Virtual DrupalCon

Being able to meet the Drupal community in person is a highlight for us each year. However, in this year's virtual setup, we found quite a few advantages:

  • One of the major advantages for me personally was that sitting at the computer while watching sessions allowed us to take better notes than usual and made it possible to chat within our team in Slack as well as with other attendees in the sessions' discussion chats
  • The coffee was better and there was no line to get it
  • No chance for Drupal Flu
  • Bluetooth headphones allowed us to do stuff while still listening
  • Better networking during sessions: In a single room you can't really talk to someone sitting next to you or on the other side of the room. But in this virtual setting, you can
  • More sleep, less commuting
  • Saved money and CO2 for transportation and accommodation
  • People who are shy to speak in public can ask questions

Disadvantages

Of course there were some challenges with this years setup:

  • No great networking opportunities between sessions. The discussion chat was disabled as soon as the session ended. If you wanted to contact a person via Meeting Hub, you were out of luck if they didn't see your connection request.
  • Not being able to collect giveaways or play fun games at sponsor booths
  • Not being able to do sightseeing in an exciting city
  • With family being around, you are more likely to not attend evening events with your team
  • Documenting in Miro and Slack prevented me from using Twitter for sharing more about the event into the world outside of DrupalCon

Tips For Your Next Virtual Conference

We did block our team for DrupalCon but there was the occasional private appointment that we should have planned for another week.

  • Block the conference days to be able to focus on sessions instead of work
  • No work or private appointments during DrupalCon session hours you wouldn't have made while in another city
  • If you have anything planned for the evening with other attendees, be able to take part as if you were in a room together. Get a babysitter, let your partner know you are not available etc.

Our Team's Favorite Sessions

Almost all sessions were recorded and will be publicly available in about a month after the conference. If you bought a ticket, you may log back in to the EventsAir platform and find the session video there. The videos of our favorite sessions are available by the Drupal Association for the public on youtube.

Tom

Steffen

Dennis

Luca

Stefan

Lucio

Andre

Siavash

Simone

Andreas

Anja

The main topics I took from this DrupalCon were personalization/DXP (Apache Unomi, Mautic, Smart Content Paragraphs), the Gin Admin Theme and Digital Signage.

The following sessions are on my to-watch list after hearing good feedback from others:

We would like to thank all volunteers, the Drupal Association and Kuoni for making this an unforgettable event. 

Dec 11 2020
Dec 11

To say that a website or a web application is deemed worthy primarily because of its content would not be totally wrong. A website’s performance does play in the equation, but it is the content that seals the deal for the user. Web builders across the world are becoming aware of this fact and that is why the web content management (WCM) systems have become pivotal for websites. 

A WCM helps you in attracting and retaining your clients and ultimately give you the revenues that you had desired from the time the idea of the website came to you. Therefore, choosing the right WCM that is suitable to all your business needs is probably one of the most significant decisions you will take for your website. 

There indeed are numerous options to choose from, however, two of these have been stealing the limelight from all the others in the recent times. And these are Drupal and AEM. So, let us compare these two to make your decision a tad bit easier. 

Parameters Drupal  AEM  Performance and scalability  Ease of expansion; impeccable performance  Growth mandates performance and stress tests Content workflow Flexible  Flexible  Marketing and engineering perceptions Community driven innovations for developers and marketers Little room for leveraging marketing capabilities outside of periphery of Adobe Cost  Free Can be expensive  Security  Extremely secure Highly secure, yet there are vulnerabilities Community  Over a million and counting  Supported by community; but pales in comparison to Drupal Responsiveness Excellent responsiveness; mobile-first approach Excellent responsiveness as well Development  Works on PHP Works on JavaScript  Third-party integrations Impressive  Good, but involves issues to be troubleshooted Upgrades and migration  ‘Easiest upgrade of the decade’ Easy to perform  Multisite Excellent multisite tools  Great multisite features as well Headless approach  Gives options for decoupling  Decouples, but only in one sense  Multilingual  Terrific with multiple languages  Competes in parallel to Drupal  SEO  More SEO-friendly modules SEO is optimised, but on a scale lesser than Drupal

Getting to know the contenders

Websites are dependent on content management systems to enhance their digital experiences. The better the WCM, the better the chances of your website’s digital content. But how do we decide which is better? Let us start by knowing what they personify. 

Drupal 

The picture displays the logo of Drupal.


If you are reading this blog, there is a high, well a very high, chance that you would know what Drupal is. Still I would tell you a little about it. 

Drupal is an open source platform that helps in building web applications and making web projects come alive. It is free to use and is being used by millions of people across the globe. Organisations like Redhat, Timex, University of Colorado are some of the elite clients of Drupal. So, to say that Drupal is a small fish in the pond of WCMs would be a dramatic understatement. 

You can create and publish content without being an engineer. And the fact that your content does not have to be confined to a certain type of layout or a specific number of content fields is just a bonus. It uses the best of PHP along with that it also abides by HTML5 and YAML standards. Twig, jQuery, Symfonyand CKEditor are some of the powerful third-party dependencies Drupal implements. All of these are responsible for making Drupal a powerful web development platform, which cannot be deterred by high traffic. 

All in all, Drupal can help you create web experiences that are both wholesome and unique to lure your target audience and never let them go. 

Up until now, Drupal has had 9 versions with multiple sub-versions of each. Although Drupal 9 is the most recent version, less than half a percent of Drupal websites use it. As many as two-thirds of them are still on Drupal 7, while over a quarter of the websites are using Drupal 8, as per a survey by W3Techs

A horizontal bar graph shows the percentage of websites using the different versions of Drupal.Source: W3Techs

Adobe Experience Manager (AEM)

The picture displays the logo of AEM.


AEM could be deemed as the opposite of Drupal, provided the fact that it is a proprietary software rather than an open source. Built by a leading content management suite, it is a WCM that its proprietor refers to as a powerhouse and given its many features, it is not an inaccurate description. 

Adobe Experience Manager is an all inclusive system for content management that is equipped to build websites, forms and mobile apps. AEM effectively manages your content and your applications in an integrated manner, leading to applications being deployed as conveniently as the content. The result is a streamlined management of your online presence and that is what Adobe capitalises on.

This sounds somewhat similar to Drupal, doesn’t it? That is because at a foundational level, both of these are performing the same work. It is the way they do the work, the means and the features they are packed with that make them different, and that is what we are going to find out today.

Before we get into that, let us have a look at some statistics involving both Drupal and AEM to get a clear picture of their market share. 

There is a pie chart denoting the number of websites for Drupal and AEM.The number of websites for Drupal and AEM. Source: SimilartechThere are two horizontal bar graphs describing the market share percentage of Drupal and AEM. The market share of AEM and Drupal. Source: WappalyzerA graph shows the standing of Drupal and AEM with regards to other WCMs.Comparison of Drupal and AEM with respect to other WCMs. Source: W3Tech

What is the degree of performance and scalability offered?

The performance of a website is probably what makes the user stay on it for a longer period of time. If it is taking more than 2 seconds for a page to load, the user may become inclined to hot hit the escape button and move onto a different site. You know you have competitors and they gain from your loss.

So, the first feature to discuss has to be performance and scalability of Drupal and AEM sites. Let us get on with it. 

Drupal 

You must have heard that on occasion many sites tend to crash, especially when there is bulk traffic on them. With Drupal, you do not need to worry about that. The busiest of sites all across the world are using Drupal to handle their traffic spikes and keep them away from the embarrassment of slow performance.

And it is not just traffic that would be managed by Drupal, it also gives you the room to expand your content as much as you want, with multiple content contributors, without having an effect on the performance.

Therefore, managing site performance and scalability is quite easy and efficient in Drupal. The only thing to remember is to optimise your site well, if you don’t do that, there won’t be any guarantees. 

Drupal provides many tools and features to make that happen. 

Read about Drupal’s performance optimization techniques and scalability provisions to know more.

AEM 

With regards to small and medium based applications, AEM’s default configuration settings do their work without much effort on your part, leading to a streamlined performance for publishing and authoring at the same time. However, the growth of your sites would require a performance and stress test, depending upon the result of these tests, you will be able to comprehend the way to optimise the system. 

The advantage of Adobe Experience Manager is that after the installation and configuration is done, the degree of complexity of your project along with your development team will be the deciding factor for the performance optimisation. Even if your system load and performance profiles change over time, AEM’s performance tune-ups will keep your system optimised. Measurements, analysis, optimisation and validation become a constant part of these tune-ups.

Also, AEM uses files from content, JavaScript and CSS to establish performance standards. It also takes necessary performance action by using caching, load balancing and CDN; almost similar to Drupal.

All in all, Experience Manager can easily scale so that your performance needs are satisfied on the basis of the demand for your digital assets.

To sum up, Drupal offers you room to expand as much as you want without hampering your site’s performance, AEM also does something similar. However, the latter comes with a stipulation of tests to ensure that. 

How smooth is the content workflow?

If performance is the spine of a website, then its content would be the blood in its veins; metaphorically speaking of course. So, it was only wise to talk about the content workflow after performance. 

Drupal 

Drupal is a big name in the WCM market and the way it lets its authors use and manipulate the content across multiple pages is the reason for it. Drupal provides an ease in content authoring that is unparalleled by other systems. It is equipped to provide all the necessary tools required by the authors to create and publish content that is customisable. The WYSIWYG editor personifies Drupal’s flexibility. The workflow and content is easily managed through authentications and permissions. 

With regards to the content architecture, Drupal excels here as well. You can create just the right architecture based on your needs with the help of an Admin Interface or programmatically, the choice is yours. With display mode tools and Views, you can display only the content you want to be displayed based on the context, be it images, videos or even pdfs. Modules, like Paragraphs and Layout Builder, help you get the best out of your content by letting you micromanage the minutest of details. Moreover, Drupal workflows support annotations, it can reuse images in various components and it can easily support several individual fields in a single field with multi-fields. All of these provide a great user experience and the fact that it is equally good on multiple devices is another forte of Drupal. 

Apart from the creation of the content, the way it is stored and accessed is also imperative, after all we are talking about a content management system. In Drupal, the content is stored in a database, in a hierarchy, if you want, wrapped in Symfony. The interaction to the data by Drupal is usually done through MySQL, although there are other databases available as well. 

AEM 

The user experience to content authors provided by AEM is tough to compete with as well, although Drupal does manage that feat. Adobe Experience Manager not only integrates the content with other adobe technologies, but it also provides a high degree of flexibility and drag and drop user interface for almost all tasks, thereby making content authoring a breeze. 

Content in Adobe is not one single body, it is divided into multiple smaller components that in turn provide an immense degree of control to the content author because he can manage the smallest of parts of the content body. The feature of content fragments helps in editing the content to the most granular level with each component, be it text, images or videos given a separate fragment. The pre-existing templates in AEM work in a similar fashion to Drupal’s modules, allowing all the more ease in content creation. However, the fact that these individual components can be reused across multiple articles, makes AEM different from Drupal. 

Coming to content storage and access, AEM stores content as files instead of a database, which are wrapped up in Adobe CRX. And these files are accessed through Apache Sling. This web application framework provides an interface that can be accessed programmatically by developers to retrieve content. 

Drupal and AEM are more or less the same in terms of content, flexibility being the forte of both and the drag and drop feature being the focal similarity. The only difference that is blatant to me in terms of content is the way it is stored and retrieved. Although both use frameworks, the way these frameworks work is quite contrasting. 

How do Drupal and AEM align with your Marketing and Engineering goals?

There are two sets of people who are considered to be the building blocks of a website and it is their input that takes a web project to the next level. These are the engineers and the marketers. So let us understand their take on Drupal and AEM to highlight their difference further. 

Drupal 

Drupal, being an open source platform, comes with a great deal of benefits. The number of open source components found can be overwhelming for your engineers for all the right reasons. The primary one being the fact that Drupal is the synonymous of a developer-centric ecosystem. What this means is that you would be benefiting from the knowledge and expertise of other developers. This encourages learning like nothing else.

As for the marketers, Drupal again provides. For one, Drupal equips the marketers to edit or update page layouts without the presence of a developer. Earlier this feature was only found in AEM, but now Drupal is also packed. Then, there is the fact that Drupal allows the marketers to choose the tools they want to outside the jurisdiction of Drupal. Any leading marketing automation tool you might get compelled by would be perfectly used with Drupal for your gains. 

AEM 

Like I have already mentioned, AEM is a proprietary software, meaning that it does not have any of the benefits of an open source. In terms of an engineer, this can be a major drawback. You must be wondering why? The answer is simple, there wouldn’t be a developer pool, whose knowledge could be tapped into. So, the technical costs become high and you might find yourself solving an issue that has been resolved by numerous developers, but you can’t know that since AEM is not an open source and the locked code prohibits you from knowing. 

Adobe has many fancy, for a lack of better word, marketing tools that can effectively urge any marketer to take it up. The integration with these Adobe tools helps in providing a page building experience that is simply impressive. However, there are two things that make it lag behind Drupal; 

  • For one, only Adobe tools can be used, you cannot access other marketing tools available in the market;
  • And secondly, although agile marketing is provided, the fact that other developers in the community cannot contribute to it can be slightly disheartening. 

This is not to say that Abode is inferior or Drupal is superior, they are just different in the eyes of the marketers and engineers. 

It is pretty clear who is the winner here, a developer would always prefer a pool to stimulate innovation. Drupal's vast community provides that and AEM’s doesn’t.

What are the cost implications?

Whether something fits your budget or not is an important consideration when you are  considering to adopt a practise or in this case a WCM. How do Drupal and AEM fare in this regard, let’s see. 

Drupal 

In terms of costs, Drupal is going to be a clear winner and I think you knew that even before reading this blog. Drupal is an open source software, that means it has zero licensing fee. However, this does not mean that it is free, there would still be money required to build it. This is primarily because Drupal sites are built from scratch. You have to hire experts to take that seed Drupal provides and water it to become a full-fledged tree, you get the metaphor, right? 

When your site is built to be fully functional, then the costs for maintenance would start following, which is understandable. Drupal provides you the advantage of scaling the maintenance and support costs to align with your budget, and that is all we can ask for. I wouldn’t call Drupal to be free, but it is pretty economical. 

AEM

Compared to Drupal costs, AEM travels in uncharted territory. The costs start to pile on from the get-go. Since it is a proprietary software, you have to pay a licensing fee. Add to this the cost of building, including the hiring of developers, and the costs would be substantial. And then there is the cost of maintenance, although for support, AEM does provide a dedicated team, thank goodness for that. The average cost of AEM license and implementation can be around $100,000 to $200,000.

In the times of the pandemic, AEM can be way out-of-the-league for many organisations looking for a WCM.

Drupal is free of cost and this is one fact that would always make it outshine AEM, which, on the other hand, cannot be free, being a proprietary software. 

How good are the security measures?

Everybody has vulnerabilities, humans and websites alike. Our vulnerabilities might take us longer to overcome, however, websites are not that tricky. Security measures that are both sound and effective can help even the most faulty of codes become hack-proof. In this regard, let us try and figure out the standing of Drupal and AEM.

Drupal 

Many think that open source software is more prone to security breaches simply because they are open. However, that isn’t the case. Open source security, aka, Software Composition Analysis helps in giving the users the chance to attain a higher visibility level for their open source applications. For this, a lot of elements come into play. The binary fingerprints are examined, research both professional and proprietary is utilised, corroborating the research with scans and providing all of this to developers in the form of tools. So, no open source by no means can be regarded as unsafe and insecure.

The security elements of Drupal are top-notch and help you overcome the most severe security problems. The proof lies in the fact that numerous government agencies have trusted Drupal to build their sites and Drupal has passed all their stringent standards. Drupal’s Security Team is equipped to address all the security issues that are reported, be it in core or contrib modules. The members of the team are experts in security measures from across the globe, validating the reliability of Drupal in terms of security. 

  • The password policies of Drupal are the first sign of it being safe with minimum length, complexity and expiration. 
  • The limitation of login attempts from one IP address can detect brute force entry. Certain IP addresses can also be banned. 
  • The user roles in Drupal help you control what can be seen and modified by uses on any given page. 
  • The database encryption Drupal provides can be configured to become extremely strong for applications that warrant high security, be it to the whole website or certain parts of it. 
  • The Form API oversees the validation of all data entries into the database by scrubbing them so that XSS, CSRF and other malicious data entries are stopped in their tracks. 

All of these account for a safe and secure system for all your website building needs. 

A pie chart depicts the percentage of vulnerabilities in Drupal and two other CMSs.Percentage of security issues in a sample group. Source: AcunetixA bar graph us showing the comparison between different WCMs' security.Source: Sucuri Blog


AEM

Unlike open source, proprietary software is considered to be intrinsically safe and less prone to vulnerabilities. Again, that is not the case. There are instances when AEM sites have suffered major breaches. Something as simple as forgetting to use “nosamplecontent” during publishing can give just the opportunity a hacker was waiting for. This is because sample content is often under production and many know the user passwords. Saying this does not negate the brilliant security measures AEM does provide, my point was simply to enunciate that proprietary software is not immune to vulnerabilities. 

To say that AEM’s security features are similar to that of Drupal would not be entirely wrong. This is because Drupal has covered all the possible vulnerabilities that need to be prevented and worked the security measures around them. Since AEM wanted to do the same, like it should, the similarities come as no surprise. 

  • The security console to manage user access;
  • The theme language of AEM, HTL, has an intrinsic design to prevent XSS hacks; 
  • The AEM checklist helps in ensuring that all the security precautions are done as needed.

However, take a note of the security vulnerabilities of AEM that were reported in the recent past:

There is table showing the security vulnerabilities of AEM. Source: CVE Details

Do AEM’s security features sound similar to Drupal? I am certain they do. AEM is quite secure in itself, however, it has been reported for authentication bypass vulnerability and cross-site scripting vulnerability which should be taken into consideration.

How well are they tied to the community?

The developer community is vast and extremely supportive of each other, so as the next point of difference, let us look at how community plays a role in Drupal and AEM. 

Drupal 

There are plenty of advantages in contributing to open source. It pays dividends to both the contributors and the open source software itself. The support of the community is probably the best feature of being an open source. And Drupal has a pretty large one, with over one million members. This means the intellect of the million developer minds will be found in the core and contrib parts of Drupal, driving innovation further. Developers from across the globe could provide you a peer review for all your projects. 

Another advantage of an open source community is that it helps you thrive even in the most difficult of times. Therefore, the chances of Drupal going out of business are slim to none. The long term success of Drupal is almost a guarantee with its million volunteers. Learn more on how open source has remained recession-proof and how it has stayed relevant in the times like Covid-19 pandemic.

AEM 

With AEM, the story is different. A proprietary software does not have a community as impressive as an open source’s. There are still many AEM  user forums, but it does not match Drupal. 

The lack of community support somehow inhibits the force of innovation and makes AEM seem a little pale against its counterpart, Drupal. 

How responsive is their web design?

The user is the focal point of any web application, it is he who is at the heart of every decision made for the website. Therefore, a responsive web design that would take into account the user’s needs and his environment is of the essence. On this note, let’s compare the two. 

Drupal 

When responsive web design comes into the picture, the first thing to cross your mind is that it has to be mobile friendly and Drupal sites are just apt with that. Drupal is known for its responsive designs that provide the best experiences despite the device. 

It is Drupal’s aim to support a seamless content experience throughout the lifetime of its websites with its mobile-first approach. The out-of-the-box responsive elements have made it the premium choice of developers and content authors alike.

  • The ability to add and edit on the go is a must have and Drupal provides. 
  • The built-in themes with responsiveness embedded in them allows your webpages to fit all screen types. 
  • The ability to change the width and height of images depending on the device is also provided by Drupal through breakpoints. 
  • Even the tables in Drupal 8 are responsive with high, medium and low priorities available to assign to them.

AEM 

AEM is also up there in the responsiveness game, with many features making it a friend of all the mobile devices.

  • Using single or multi-columns for layout;
  • Manipulating the text size based on the screen size;
  • Displaying only priority content on smaller screens;
  • Providing device-specific tools for access;
  • Taking into account the window dimensions to assess the size of images to be displayed.

When web responsiveness is prioritised, you would not have any qualms about the future of your site because it would be secure leading to boundless capabilities. In this aspect, both Drupal and AEM pass, that too with flying colours.

Are there any development constraints?

Next comes the part where development is concerned, do Drupal and AEM have development issues? Do they limit the developers in their building? Or do they give them proverbial wings to fly on? Let us find out.

Drupal 

Drupal is renowned for building digital platforms that are transcending the boundaries of digital media in the present day. Its LAMP technology stack is the reason for it. Linux, Apache, MySQL and PHP, all four provide you agility, pace and flexibility to meet your enterprise’s development needs. 

One drawback of Drupal that is often cited by its counterpart is that it's not highly available. The reason being the fact that it does not provide multiple database instances, meaning one change to one database automatically changes all of them. Even though it is true, does it really account as a development constraint? 

Focusing on PHP, it is often considered to be a less advanced version of Java simply because it does not include state memory constructs. Therefore, tracking data separately becomes exhausting.  

AEM 

AEM developers need to be fluent in HTML, CSS, HTL, JavaScript and Java to develop on top of AEM, no PHP required like Drupal. The best feature of AEM development is the fact that it uses HTL instead of JSP for front-end development. This removes the chances of human error leading to XSS and secures your site a little more.

The drawback I talked about in Drupal is not really an issue in AEM, but does that really make it better? AEM is expensive as we have already established, its exorbitant costs are justified by providing an extravagance that may not really be needed. I mean what would globally distributed data centres do for a local website? They do sound appealing though.

AEM has Java instead of PHP and yes, it can do a lot more per process, but this would increase the complexity levels and make the overhead go on the higher side along with the chances for faults.

I would say that figuring out which is better between PHP and Java is a moot point, both have their own abilities. The fact that many leading organisations use them on their websites speaks quite loudly for their capabilities. Don’t you think so? 

How well do they support third party integrations?

Being able to integrate itself with other applications is often regarded as a great feature of a WCM. Both Drupal and AEM are able to do it, however, one of them stands out as the better option. 

Drupal 

Third party integrations have become a rudimentary need for open source platforms. Since Drupal is an open source, it comes with an intrinsic ability to integrate well with other platforms. Drupal was architecturally designed to be both scalable and modular, this makes it competent to allow third party integrations with ease. With the Services Layer and Library API being equipped to handle all the integration needs, the process goes by smoothly. 

Drupal can integrate with numerous analytics platforms such as Google Analytics, Salesforce and HubSpot.  It can make the ecommerce businesses feel connected with all the varying aspects they mandate. For example, Drupal Commerce can integrate with Magento. There are plenty of options for media integration too such as Colorbox and Slick Carousel. If you need an enterprise search solution for your web application, Drupal has got you covered and gives you Search API Solr.

AEM 

AEM is known to have a vast number of tools in its collection, however, it is also able to integrate itself with other applications.

  • Integrating with Amazon web services is easy with Amazon SNS connection;
  • Email marketing becomes convenient with ExactTarget;
  • Capitalising on social networking is also done through integrating Facebook Connect and Twitter;
  • Sales and CRM software are integrated through Salesforce.

There are other integration tools available as well for your convenience.

Despite all of these, AEM has certain issues with integrations which require troubleshooting. AEM does talk about these and mentions ways to overcome the problems as well.

For instance, some integration issues are known in AEM such as the Report Importer causing high CPU/Memory usage or the non-visibility of targeted content in preview mode when using custom page components. 

Even taking troubleshooting integration issues into account, AEM is still quite good with integrations, especially given the fact that it is a proprietary software.

Concluding this point, I would say that both Drupal and AEM have elaborate tools of integration for every field and need of a business. However, when troubleshooting is concerned, it does put a damper on the impressiveness of AEM. 

Are upgrades and migration easy-to-do?

Technology keeps enhancing and new updates keep on coming, so it is a matter of time before the version you are using becomes a thing of the past and something better is on the market. The question is how do Drupal and AEM fair in the upgrade and migration aspect?

Drupal 

Like I have already mentioned, Drupal 9 is the most recent version, yet not many sites have upgraded themselves to become Drupal 9 sites. However, they would have to because; 

as of November, 2021, Drupal 8 would not be supported; 
and after November, 2022, the same would be true for Drupal 7.

So, how do you update them? Let’s talk about the switch from Drupal 8 to 9, as per the makers, this upgrade is considered the easiest in almost a decade. By following a four-step guide, you can have your current site ready for the functionality and better security standards of Drupal 9 by using the Upgrade Status

As for the upgrade from Drupal 7 to 9, easy is not a term that would be used to describe it. The migration will overwhelm you, but all the advantages of Drupal 9 will make it seem worth it. Developers can make the upgrade themselves with the help of Upgrade Status and Drupal Module Upgrader. These help in letting you know whether your themes and modules are competent for Drupal 8/9 and converting your custom code respectively. Explore the ultimate guide to Drupal 9, all the burning questions that you may have about Drupal 9 and the must-have modules to start your Drupal 9 website to know more. 

AEM 

With AEM, the story revolves around a similar terrain, with more steps though. Upgrades from AEM 6.0 to 6.5 involve a lot more work than Drupal would. Separate migration tools are needed for making the entire upgrade a success. For instance, if going from a version older than AEM 6.2, you would need JMX bean to migrate your assets.

However, if we look at the upgrade from AEM 6.3 to version 6.5, the task of migration is totally eliminated. The new format for the SegmentNodeStore is the reason for it. 

The title ‘easiest upgrade of the decade’ has stolen the show, making Drupal upgrades more attractive and user friendly than AEM. 

How do they answer the multisite request?

Having multiple variants of a single website is not an uncommon trend, it is practised by Drupal sites and AEM sites equally. How do they fair then?

Drupal 

Drupal’s multisite setup helps you in gaining the many advantages of having multisite simply because it allows you to save on time and effort by running all your Drupal sites on a single codebase. 

Running easy updates for security issues, saving on hosting expenses, using Simpletest and functional PHP unit-based tests are few of the many use cases for multisite in Drupal

AEM 

For AEM, the Multi Site Management function does all the heavy lifting for you in capitalising the multisite feature. MSM allows you to monitor and control mobile and web properties into one integrated interface for all so that your global presence is defined by its consistency. Live Copy Overview and Blueprint Configuration Management are the two interfaces responsible for making the use of MSM easy for you. 

MSM is a great tool for creating user-friendly web experiences at the same time providing you localised control with regional teams having the power to edit. It also makes recycling your content a breeze. 

Drupal and AEM are not much different in terms of the multisite versatility, both equip their sites to make the most of one codebase or interface, and aim for consistency. 

How fulfilling is their headless approach?

Going headless has become immensely popular today. I mean who would want to pass on the chance of tapping into the latest technology without parting with their trusted WCM. Here is how Drupal and AEM perform. 

Drupal 

In a headless approach, the WCM is merely a content repository and nothing else and Drupal is a fine one at that. The separation of the front from the backend is pretty streamlined in Drupal with REST, JSON:API and GraphQL, being the APIs holding them together. 

Drupal is known for its flexibility and that can be seen even in its headless approach, with three alternatives to choose from. 

  • The progressively decoupled Drupal has a presentation layer that is built using Drupal and other frontend frameworks, like JavaScript.
  • The fully decoupled Drupal completely segregates the two ends of the site and Drupal is just responsible for the content while a JavaScript framework like React manages frontend
  • The fully decoupled Drupal for static sites allows a static site generator like Gatsby to build a frontend by being its source. 

AEM 

A major reason for opting for a headless approach is to publish the content on as many platforms as possible, the web, mobile apps and other channels. With AEM’s headless approach, you can do that. It allows you to “manage and re-use” page elements or the entire experience, if you want, across numerous channels. This is done through grouping content and layout. 

Like it is for decoupled Drupal, AEM also has customisable APIs as a core component of going headless. On top of this, it gives the developers the choice to choose a default or custom JSON output. The AEM HTTP API provides a smooth transition into headless inclusive of content fragments. 

The headless approach for Drupal and AEM have a set of advantages accompanying them. However, the option of choosing the way and degree of decoupling, gives you something to ponder on, doesn’t it?

How do they help sites be multilingual?

We live in a world where diversity is a constant and diversity means being multilingual. Today, more and more sites are trying to be multilingual, so how do Drupal and AEM help them? 

Drupal 

With Drupal, you can create customized sites in any language, web applications in multiple languages and displays that have multiple admin languages. You get to translate your content completely, so that your business has a wider audience. And you also get the option of choosing a language interface for the administrators, content authors and translators. 

Drupal has been designed in a way that it can promote multilingual sites. The four modules, Language, Locale, Content Translation and Configuration Translation, created to ease the language transition are proof of my earlier statement. 

AEM 

AEM has a similar story to tell. It can also support multiple languages and that too with ease. The fact that it provides both human and machine translation workflows makes it a great choice. 

You might be thinking how it supports human translation. It does so the old fashioned way by sending the content to an actual translator and once it is done, the translated copy is sent back to AEM and it works its charm on it. 

The six-step process of translating content does not leave much room for errors and you get a perfect copy of content in whichever language you may need it in. 

Both Drupal and AEM are close to perfect in their multilingual feature and it is safe to say that this one is a draw. 

Finally, can they help you capitalise on SEO?

Search Engine Optimisation helps your site become more visible and visibility brings in traffic and you must know what happens then. 

Drupal 

Drupal is best friends with SEO, that is why it has all the modules required to make the most of its friend. 

You might know that keywords are an essential part of SEO practices, and Real-time SEO for Drupal helps in ensuring that the keywords are there without seeming spammed. Links are equally important in SEO practices, so there is the Linkit module. For duplicate content, there is the Redirect module to help you. And these are just a few, for an entire checklist, read our blog, The Ultimate Drupal SEO Guide for 2020.

AEM 

AEM lets you get the best of SEO and URL management by helping you optimise them. It makes you focus on the minutest of details, so that you never make an SEO error. 

For instance, when you have translated a content, you might forget to translate the URL and AEM’s SEO guide would never let that happen. From configuring the dispatcher to creating and XML sitemap, AEM takes care of all things. 

Drupal might have a tad more SEO-friendly modules than AEM. Although AEM does cover all the essentials, factors like keywords, headers and footers do not take precedence in it like they do in Drupal.

The Bottom Line 

The purpose of this blog post was not to draw out a clear winner because frankly speaking, there simply can’t be one. I might even give you a winner, but then there is a high chance that you might disagree. Taking all the features into consideration, Drupal does tend to come out with better prospects, even if the margin is not that huge. AEM would be close second to Drupal in terms of functionality and features. 

If I had to give you my perspective, for me, the end line is the cost. Since Drupal is free and AEM is not, it would become difficult for me to adapt to AEM and its exorbitant cost implications, at least initially. So, for me the winner would be Drupal. However, for you, it could be AEM and that is fine too.

Dec 10 2020
Dec 10

Published: Thu 10 Dec 2020

When every tutorial for syntax highlighting in Gatsby talks about highlight.js markdown but you have a Drupal website, you need to write your own for posterity. Here's mine.

This website uses the very helpful CKEditor CodeSnippet module to provide syntax highlighting. That in turn uses highlight.js. However, while investigating using Gatsby for the frontend of this website, I came across the headache of adding code highlighting to the site, when my code is just a string in the body field. Here's my solution ... if you have a better one, let me know in the comments.

Create custom utility function for highlight.js

  • Add highlight.js to your repo npm install highlight.js
  • Create a file at /src/utils/highlightCode.js.
  • Import the library and the CSS style you want to use
  • Set the languages you want to load (we don't need to load all of them for performance reasons)
  • Create a function in this file that finds every instance of your code element and loop through it to let highlight.js work on each instance. That file will look something like this:
import hljs from 'highlight.js'
import 'highlight.js/styles/monokai-sublime.css'

hljs.configure({
  languages: [
    'php',
    'javascript',
    'json',
    'bash',
    'scss',
    'css',
    'yml',
    'twig',
    'html',
  ],
})

export default function highlightCode() {
  const codeBlocks = document.querySelectorAll('pre > code')
  codeBlocks.forEach(codeBlock => {
    if (typeof codeBlock === 'object') {
      hljs.highlightBlock(codeBlock)
    }
  })
}

Use the useEffect() hook to apply this to our template

In my case, I wanted to apply this to the article template, which means attaching it to the

but by the time Gatsby has grabbed and rendered that, it's too late. Instead, we add our useEffect() before we render our article - this is basically the hook_preprocess_node() of React! That's looks like this:

// import React, etc, etc

import highlightCode from '../../utils/highlightCode'

export default function SingleArticlePageTemplate({ data }) {
  useEffect(() => {
    highlightCode()
  })
  return (
    <>
      

        // Stuff before body field (title, image, etc)

            

// Stuff after body field (tags, etc) </Layout> </> ) }

It's pretty simple, hopefully it will help you/save you some time Googling.

Dec 10 2020
Dec 10

Office worker at computer.As we look forward to the vaccine-influenced future beyond COVID-19, one of the very few things we have lived over the past 9 months that may actually have a positive lasting impact on society is that often there are advantages to accomplishing things virtually. Working remotely, meeting via Zoom, online appointments, grocery delivery, even doctor visits have screamed past proof-of-concept for situations most of the world had previously not considered. 

So many more applications that rely on the web are more ingrained in daily life since COVID forced them on us. With this incremental leap in mass adoption of web technologies, web development (and for the purpose of this article, Drupal) will continue to play a major role as the world leverages online tools more, and for more applications. This suggests that Drupal positions (which total more than 1,600 listed on Indeed the first week of December this year), may open up even more in the future.

So, for those who conceive, create, and maintain current and future tools, or people considering these careers, the future looks pretty bright. Those of us in the community know that even beyond the new growth potential, Drupal and web development has a lot to offer; so, we humbly share these 5 great reasons you may want to consider 2021 as a good time to get serious about your Drupal dexterity if you want to expand your skills, get up to speed or even pivot your career to seize the day and opportunity: 

  1. Web Development Careers have a lot of opportunity! 

 It’s hard to find an article about promising careers without web developer positions seated in the upper tiers. According to recent article by CNBC, Web Developer careers are in the Top 15 High Demand jobs over the next 5 years. Indeed puts it at #10 for careers most in demand right now; and the US Department of Labor Occupational Outlook Handbook estimates that 2019’s total 174,300 web developer positions will grow by about 14,000 over the next 10 years, a higher rate than most vocations. 

  1. The Path to becoming a Drupal Web Developer is accessible. 

If you have the desire and commitment to become a Drupal professional, you can! Drupal training is available through go your own pace options like Drupalize.me, with focused training sessions live and online (Evolving Web, Mediacurrent) and of course, might we suggest the longest running, long-form career technical education program through DrupalEasy Academy; Drupal Career Online. There is also plenty of advice out there like DrupalEasy Career Resources and How to start a Web development career.

  1. Flexible schedules and virtual work are prevalent in the Web Developer World

Life in 2020 changed work for a lot of people, but remote working is nothing new in the world of web developers. Drupalists, both those employed by organizations and those who choose to freelance, have a long and successful history of working from home, or wherever they find great wifi and interesting surroundings, there are state of the art tools that support teams who are spread out specifically catering to this efficient, low-overhead way of doing business. Add “virtual” to your job search on Indeed or Career builder, and you can see hundreds of positions. 

  1. Salary Data for Web Developers compares pretty well

According to the U.S. Department of Labor Bureau of Labor Statistics, The median annual wage in May, 2019 for web developers was $73,760. It gets better if you choose Drupal, as Indeed reports that, based on 188 salaries reported as of November, 2020, the average salary for a drupal developer is $95,642 per year in the United States.  You will have to get some experience and hone your skills, but with commitment and patience, the high-wage jobs are yours to strive for. 

  1. Drupal Web Developers have a global community for support

Come for the code, stay for the community.  It’s not just a mantra.  The Drupal community has groups connected by topic, interests, service to the community and even outside interests.  There is nothing like it.  Even here at DrupalEasy, we have a micro community of past and current students that meet up every week to help each other work through projects, issues and provide support.  It’s our DrupalEasy Learning Community, and we like to think it’s a microcosm of the Greater, Global Drupal Community that makes our content management system, and the people who support it so outstanding. 

The next session of Drupal Career Online starts March 1, 2021, with the application deadline the last week in February. If you are interested in learning Drupal, honing your Drupal skills specifically in our longform Drupal Career Online, let us know, or sign up for one of our no-cost Taste of Drupal mini webinars coming up in the beginning of 2021.  


 

Dec 09 2020
Dec 09

How often does one quick fix to a problem stay as only one? More often than not, a domino effect takes place and the flood gates open. Suddenly, you’re stuck in a never-ending cycle of applying band-aids to a problem that has no quit. Enter strategy. Where instead of being in a constant state of panic, you’re in the most powerful position to navigate a pandemic you didn’t see coming.

Presently, companies don’t want to fall behind the rapidly-changing pace of the current landscape. They’re reactive versus proactive approach of cutting corners seems to be the option as of late — or always — but now it’s more noticeable to consumers. A stalled credit card transaction or a broken tab can lose a potential customer’s attention span to your competitor in seconds. The world is online and remote, and competition is fierce, so wanting to go from A to C while bypassing B could be the kiss of death. We can use Band-Aids and pay for quick-fix remedies all day long, but doing the due diligence now to avoid those additional fixes later will establish your site as credible. It can put you in the powerful position of increased traffic and conversions.

Ever heard the term, “ You have to spend money to make money?” This is the 2021 path mindset needed to secure your company’s reputation and legacy going forward. It’s not going to get any easier from here, it’s time to embrace the necessary steps.

If the world has gone remote, so has whatever field your business is in. Retail is one industry where companies must maintain a powerful website that functions flawlessly, but so do institutions, museums, events, conferences, grocery stores, restaurants, etc.

“Online shopping has been a boon for some retailers during the Covid-19 crisis. It has been a lifeline for others. But for nearly all companies, it’s brought a slew of new challenges.” - CNBC.

So what’s the answer to secure your spot among the greats while avoiding the Band-Aid technique?

Allot time to figure out what your site needs.
Pen and paper it out from the customer’s perspective. What is it that your site needs to provide them with a flawless experience? Is it a seamless shopping cart structure? Better navigational flow? A transformational experience? Better speed? Or is it all of the above? Write them down.

If you’re not an expert in the field, seek out those who are.
A good CEO knows their strengths and weaknesses. Hence, building a supportive team with specific and valuable skill sets makes all the difference. If you’re that CEO who thinks he/she can manage the totality of their business, then something significant is falling through the cracks, and your company may not reach its full potential.

Change up your budget.
In the past, marketing budgets were primarily driven by traditional mediums. Even then, some chose to only stick by word of mouth, and occasionally, that’s all that it took to survive. Some companies and some individuals can still skate by using the word of mouth method, but the percentage is tiny, and even then, a website for information or contact is necessary 9.5 times out of 10. So if the local dog walker needs a one-page parallax, what does that mean for your e-commerce site or your institution or your mom-and-pop grocery store that just started a delivery service? The budget has been divided and not only between marketing and digital. It’s now three buckets; marketing, digital, and site. It’s 2020 COVID, soon to be 2021 COVID. It’s survival of the fittest site.

Even e-commerce sites that are already well-oiled machines are continually looking to better their infrastructure to accommodate increased traffic flow. If you want to compete, you have to structure like you are. King Arthur Flour had no idea a pandemic would hit, but their timing was impeccable. The company went through a massive site revamp a year before, and now it’s easier to manage and can withstand an influx in online traffic. King Arthur has now solidified itself as the top baking site and has become the baking sensation of 2020—their products are flying off the shelves!

If you’re waiting for the perfect time to handle a revamp, you’ll never get it done. Dive into the process now, because 2021 is not going to make it any easier.

Your company keeping a competitive edge is a non-negotiable.

Dec 07 2020
Dec 07

As part of the Drupal Association’s ongoing mission to foster contribution in the Drupal project, we're bringing you the first edition of a new Initiative Update blog series. The vision is a series with regular updates on initiatives across the Drupal ecosystem, as well as calls to action highlighting where contributors are most needed.

In gathering feedback from the community, we understand it can be difficult to identify the priorities of the Drupal community, the state of current initiatives, and how to contribute. Our goal is to provide a useful overview of current priorities in Drupal and connect you to the individual mentors, initiative leads, and other community organizers who can help you get involved. 

The plan is to provide updates on a regular basis throughout the year. We thank the Wordpress community for their example of a concise initiative update. Based on your feedback on this first edition, this format may evolve. 

If we missed reaching out to you, but you'd like to provide an update on an initiative you are involved in, please feel free to submit your update to this form.

Updates

In this release, we have reports from the following initiatives and community groups. This is not a comprehensive list of all initiatives and community groups, just those who were able to provide an update in time for this post:

Active Drupal Core Initiatives

Mike Herchel updates us about Olivero - the new front-end theme

About this Initiative: The New Front End Theme initiative seeks to create a new default front-end theme for Drupal with a modern look and feel.

Where can we read more about your initiative?

https://www.drupal.org/about/strategic-initiatives/olivero 

What have been your priorities in the last three months?

Getting into core! We're finally in 9.1 as a beta experimental theme. Check it out!

What has been your greatest challenge in the last three months?

Getting it into core was a mad dash at the very end, but we pulled it off thanks to a lot of help from Drupal's core contributors. Those folks are amazing! 

And what has been your greatest success in the last three months?

Getting into a beta status for core

Do you have a "call to action" you want to make to the Drupal Community?

Use it. Find and file bugs!

xjm updates us about Drupal 10 Readiness

About this Initiative: The goal of the Drupal 10 Readiness initiative is to release Drupal 10 in 2022, providing adequate time to update sites while keeping Drupal secure and up to date.

Where can we read more about your initiative?

https://www.drupal.org/project/drupal/issues/3118143

What have been your priorities in the last three months?

  1. Ensuring that Drupal core is internally compatible with Symfony 5.0 and 5.1 (without using deprecated APIs), so that we can easily release Drupal 10 with a dependency on Symfony 6. (Done!) 
  2. Ensuring Drupal core and its upstream dependencies are fully compatible with PHP 8 as soon as possible so that Drupal 10 can set its minimum dependencies accordingly. (Done!) 
  3. Initial discovery on CKEditor 5 integration for Drupal 10 (Ongoing, challenging) 
  4. Replacing remaining forked jQuery UI code with modern alternatives (Ongoing) 
  5. Reducing jQuery use for an easier upgrade to future versions

What has been your greatest challenge in the last three months?

We have lots of JavaScript work needed, both for integrating CKEditor 5 and for reducing legacy jQuery and jQuery UI use, and few working on it these difficult problems.

And what has been your greatest success in the last three months?

Really great collaboration and problem-solving for upstream blockers to PHP 8 compatibility, and all compatibility issues with Symfony 5 are resolved, We’re now working on Symfony 6 compatibility (that is, addressing deprecations introduced in Symfony 5.1 and 5.2), which is the real goal for us for Drupal 10’s release.

Do you have a “call to action” you want to make to the Drupal Community?

Frontend contributors! We love you and we need your help!

We need help with several big changes related to core’s JavaScript: 

Furthermore, we need help from theme developers and contributors to join a new initiative to build a Starterkit Theme for Drupal core. https://www.drupal.org/project/drupal/issues/3050384 This theme starterkit will replace Classy as the best way to start building a theme for a Drupal site.

Tim Lehnen provides the latest info about Automatic Updates

About this Initiative: The goal of the Automated Updates Initiative is to provide a system to easily and securely update Drupal sites, reducing total cost of ownership for site owners. 

Where can we read more about your initiative?

The best place to stay up to date is in the Automatic Updates issue queue, or by joining us in the #Auto-Updates channel in Drupal Slack.

What have been your priorities in the last three months?

Current Priority: Finishing our implementation of the php-tuf client and server code, so that we can move from our secure signing implementation into our actual updater code. 

Previous Priority: Over the course of the last quarter, the Drupal Association hosted three contribution weeks with Drupal initiative contributors as well as representatives from Joomla and Typo3. We used these contribution sessions to scaffold out the php-tuf library and to align our architectural decisions in ways that will work across the php ecosystem. 

What has been your greatest challenge in the last three months?

Our update process must run the appropriate Composer updates as well, so we are currently attempting to architect a solution to account for the fact that Packagist itself does not yet have a signing solution for third party libraries. 

And what has been your greatest success in the last three months?

The Drupal Automatic Updates initiative has joined forces with both the Typo3 and Joomla communities to share certain foundational components, like our secure signing schema. And speaking of secure signing, we are working closely with the Cloud Native Computing Foudnation's TUF initiative for a robust and standards based signing solution. 

Do you have a "call to action" you want to make to the Drupal Community?

If you're interested in the problem-space of securely signing software, consider contributing to the php-tuf project. If you're more interested in understanding the update process itself, please join us in the Drupal Slack channel!

About this Initiative: The goal of the Decoupled Menus Initiative is to provide the best way for JavaScript front ends to consume configurable menus managed in Drupal.

Where can we read more about your initiative?

The Decoupled Menus Initiative is in the process of organizing the official initiative team. Regular meetings are happening in the #decoupled-menus-initiative in Drupal Slack.

What have been your priorities in the last three months?

The main priority for the initiative has been gathering the initial group of contributors and getting organized. There is a clear path for understanding what a javascript menu component looks like, but there are much more challenging questions to be resolved about how to integrate non-php components into the Drupal core process. 

What has been your greatest challenge in the last three months?

This initiative is in the first stages of getting organized and up to speed. In addition, understanding how to work on non-php for Drupal core is a major challenge. Once official initiative coordinators have been selected they can help to provide the next update.

And what has been your greatest success in the last three months?

Just launching this initiative as an official goal is greatly important. There has been very active conversation between initiative team members, core maintainers, and the drupal association as the organization kicks off. 

Do you have a "call to action" you want to make to the Drupal Community?

If you are an expert in using a javascript front-end for a Decoupled Drupal solution, if you are familiar with open source contribution in the javascript ecosystem, or if you are a competent project manager your insight would be valuable. Please join the initiative's slack channel and regular meetings.

Additional Core Initiatives, Community Initiatives, and Community Group Updates

Jennifer Hodgdon updates us about Documentation and Help

About this Initiative: The goal of the Documentation and Help initiative is to improve the Drupal evaluator, developer, and site builder experiences through improved documentation on Drupal.org, and improve in-application help via a new topic-based help system.

Where can we read more about your initiative?

User Guide: https://www.drupal.org/project/user_guide; Contributor Guide: https://www.drupal.org/community/about/getting-involved-guide-becoming-contributor-guide; Help Topics: https://www.drupal.org/project/drupal/issues/3027054

What have been your priorities in the last three months?

User guide: minor updates and supporting groups making translations. There has been a lot of progress lately on German and French! Help topics: mostly writing new topics, and some progress on other Roadmap issues. 

Contributor Guide: Migrating content from the old Getting Involved Guide.

What has been your greatest challenge in the last three months?

Getting other contributors to review and commit patches, and to provide feedback on plans.

And what has been your greatest success in the last three months?

Migrating most of the content in the Getting Involved Guide to make several new and better-organized areas, such as the Issues documentation at https://www.drupal.org/docs/develop/issues and the Git documentation at https://www.drupal.org/docs/develop/git

Do you have a “call to action” you want to make to the Drupal Community?

You can help with curating and migrating older documentation into the newer documentation content types, or into the new Contributor Guide. Join the #documentation channel in Drupal Slack and another contributor can help you find a place to get involved. 

Elli Ludwigson updates us about Contribution Mentoring

About this Community Group: The Contribution Mentoring Group works to inspire, enable, and encourage new contributors. They also work on the core tools, process, and community to make it easier for new contributors to get involved.

Where can we read more about your initiative?

https://www.drupal.org/community/mentoring 

What have been your priorities in the last three months?

Getting ready for DrupalCon Europe, updating documentation and materials

What has been your greatest challenge in the last three months?

Engagement. It's been difficult to demonstrate value and a clear path to success for contributors and mentors. Also, everyone seems a little low on energy lately and we could use more fresh folks coming into leadership roles.

And what has been your greatest success in the last three months?

Updating the contributor guide! http://drupal.org/community/contributor-guide  

Jennifer Hodgdon and others have reorganized and made everything much more logical. AmyJune continues to do an amazing amount of work at many many virtual events, giving contributors a place to get started with Drupal.

Prior to the last three months Rachel Lawson did a lot to rethink the contribution and mentoring process with the portal we used at DrupalCon Global. Matthew Radcliffe and Gábor Hojtsy did a lot of work on that as well. And Randy Fay is often on hand to help with any and all local development environments and general Drupal troubleshooting.

Do you have a "call to action" you want to make to the Drupal Community?

Without creating any new projects, I'd say we could use an enthusiastic and experienced person to help clean up old issues and polish the documentation work. We could also use more mentors on hand in general for virtual events across various time zones, especially outside the Americas.

Kaleem Clarkson updates us about Event Organizers Working Group

About this Community Group: The Event Organizers Working Group (EOWG) is concerned with supporting community-led events within the Drupal community. These include camps, summits, training days, contribution days, and meetups.

Where can we read more about your initiative?

https://www.drupal.org/community/event-organizers

What have been your priorities in the last three months?

Over the last three months we have mostly focused on finalizing what initiatives we should start with in 2021. 

What has been your greatest challenge in the last three months?

Our greatest challenge has been attracting more global representation at our monthly community meetings. At the beginning of this year, our group made an intentional effort in attracting more global participation. Through our efforts, we were able to recruit two new board members representing India and Ukraine. Another strategy was to change our meeting times to UTC format and alternate between 12pm and 12 am UTC. We are hoping that in 2021 we can increase the number of global camps represented in our open meetings. 

And what has been your greatest success in the last three months?

I think our biggest accomplishment has been confirming our four major initiatives that our group will focus on in 2021. These initiatives will be:

  • Onboarding At DrupalCon Community at Events, 
  • Event Organizers Website Starter Kit
  • Marketing the Events Organizer Group
  • Events Database Website on Drupal.org. 

Each initiative will have committees made up of one Event Organizer’s Working Group board member and volunteers from the Drupal community. For so many reasons, we are all looking forward to working in concert with event organizer volunteers from around the world.

Do you have a “call to action” you want to make to the Drupal Community?

We need all Drupal event volunteers to help spread the word about the Drupal Events Working Group. 

We will be looking for volunteers to serve on the committees of each of our four major initiatives and we can’t do it without you. 

Jess Snyder updates us about Nonprofits

About this Community Group: The Nonprofits Community Group provides a gathering point for all Nonprofit organizations using Drupal, and leads monthly community meetings.

Where can we read more about your initiative?

https://www.drupal.org/community/nonprofit-drupal

What have been your priorities in the last three months?

Our top priority continues to be to provide a welcoming place for nonprofit Drupalists to get advice, share knowledge, and discuss the issues we’re all facing in this challenging time.

What has been your greatest challenge in the last three months?

Aside from dealing with the curveballs the past several months have thrown at all of us, nonprofits continue to struggle with the changes in Drupal requirements that have increased the expertise and costs required to build and maintain Drupal sites.

And what has been your greatest success in the last three months?

Aside from seeing new faces on our monthly calls, which we’re always thrilled about, we’re also proud of how our community is encouraging nonprofit orgs to try new features, like Layout Builder, while also discussing the challenges that come with trying new features that are still in flux.

Do you have a “call to action” you want to make to the Drupal Community?

Come and join our monthly call! Held on the third Thursday of the month at 1pm ET/10am PT, it’s free of charge, beginner-friendly, and open to anybody working for or with nonprofits and Drupal. 

Call-in info can be found on our community page (https://www.drupal.org/community/nonprofit-drupal) or in our collaborative notes document (https://nten.org/drupal/notes).

Nico Grienauer updates us about Drupical

About this Initiative: Drupical is a beautified overview of Drupal Events that provides a bird’s-eye view of Drupal community events happening all over the World. 

Where can we read more about your initiative?

https://www.acolono.com/en/drupical 

What have been your priorities in the last three months?

Getting the new drupical 2.0 ready for launch

What has been your greatest challenge in the last three months?

Finding time beside the global covid problems 

And what has been your greatest success in the last three months?

  • Getting finally access to drupal.org/community/events
  • Finalising the first version of the new drupical fronten now in vue.
  • Getting work done on the new drupal 8/9 drupical backend – found a possible solution, to also display online events on a map :)
  • Getting a link from the drupal main menu to drupical. 

Hopefully it will all be released in time for DrupalCon Europe!

Do you have a “call to action” you want to make to the Drupal Community?

stay healthy, stay at home and see you at one of the next virtual Drupal events!

Chris Teitzel updates us about the Privacy Initiative

About this Initiative: The Privacy Initiative focuses on addressing the increasing importance of managing user privacy in a world with increasing regulation. While the Drupal ecosystem has previously relied on solutions in contributed modules, this initiative proposes Privacy changes in Drupal Core. 

Where can we read more about your initiative?

https://www.drupal.org/project/ideas/issues/3009356 

What have been your priorities in the last three months?

We are continuing to work with the community and project stakeholders to come to a plan for a privacy initiative and/or team that can be involved in core conversations to ensure privacy is taken into account with core features and initiatives. 

What has been your greatest challenge in the last three months?

Funding of the initiative is the next hurdle to jump after receiving confirmation from Dries that he still desires it to be an initiative.

And what has been your greatest success in the last three months?

Receiving confirmation from Dries that he still desires it to be an initiative!

Do you have a "call to action" you want to make to the Drupal Community?

Continued support and talking to maintainers about the need for a formal privacy team/initiative within the community, as well as sponsorships; any individual or organization can be involved.

Tara King updates us about Drupal Diversity & Inclusion

About this Community Group: The Drupal Diversity & Inclusion group seeks to continue the conversation about diversity and inclusion within Drupal. The group organizes regular meetings and curates a resource library.

Where can we read more about your initiative?

https://www.drupaldiversity.com/

What have been your priorities in the last three months?

Drupal Diversity & Inclusion has been working on: 

  • Defining our roles & responsibilities: https://www.drupaldiversity.com/docs/roles-and-responsibilities
  • Recruiting new leaders to our leadership team
  • Holding space for our community to discuss diversity & justice
  • Planning social events for marginalized individuals
  • Developing talks & booth activities for Drupal events (most recently BADCamp)

What has been your greatest challenge in the last three months?

2020 has been our greatest challenge. :)

We have struggled with volunteer burnout, due to both COVID-19 and the US election cycle. Many folks have very limited time to give and even less energy, so we have focused on activities that support folks rather than new programming. 

And what has been your greatest success in the last three months?

We are thrilled to have three new individuals on our leadership team: Tearyne Almendariz as Careers Lead (https://www.drupal.org/u/ninelivesblackcat), Monica Flores as Resources Contributor (https://www.drupal.org/u/monicadear) and Esaya Jokonya as Booth Contributor (https://www.drupal.org/u/esayaj). 

Do you have a “call to action” you want to make to the Drupal Community?

Please join our meetings! We are making 2021 plans, and focusing on careers & job hunting for marginalized folks. We’d love to have more hiring managers and HR professionals involved in that work. Bring your ideas and we can work together to make the Drupal community more diverse & inclusive.

Alex Moreno-Lopez updates us about Drupal Swag Shop working group

About this Community Group: The Drupal Swag Shop working group is an initiative to offer sustainably sourced Drupal branded merchandise that both promotes Drupal and generates revenue for the Drupal Association.

Where can we read more about your initiative?

https://www.drupal.org/project/swagshop and, of course, visit the Swag Shop itself, at https://www.drupal.org/swag

What have been your priorities in the last three months?

On one hand, helping local DrupalCamps and DrupalCon to collaborate with the shop. On the other hand we’ve been trying to make sure the products available were event specific.

What has been your greatest challenge in the last three months?

Coordinating information and people, and particularly everything related to vouchers, discount codes has been particularly challenging

And what has been your greatest success in the last three months?

Watching other Drupal camps getting interested in using the swag shop and discovering that it gives them a good value as well. For example, NedCamp: https://nedcamp.org/

Do you have a “call to action” you want to make to the Drupal Community?

We need more people to talk about the initiative, and if you know a local camp, encourage the organisers to join the initiative.

Rain Breaw Michaels updates us about Accessibility

About this Community Group: Drupal's official Accessibility maintainers, as well as a number of community experts in accessibility issues focus on ensuring that all other features and initiatives within Drupal maintain our commitment to accessibility for all.

Where can we read more about your initiative?

https://www.drupal.org/docs/accessibility

What have been your priorities in the last three months?

Our main priority has been helping the Claro and Olivero themes reach a high enough accessibility standard to make it into core. We believe that these two projects will have a significant impact on enhancing Drupal’s position as an accessible authoring platform out of the box. 

A secondary priority has been increasing community involvement, and this is where we will focus our principal efforts over the next three months.

What has been your greatest challenge in the last three months?

Our greatest challenge is limited time and resources, largely due to the additional strain that COVID lockdowns and distance learning/remote working has put on our maintainers. 

An additional challenge is that our documentation is woefully out of date. This makes it more difficult for us to easily onboard potential contributors.

And what has been your greatest success in the last three months?

We held a public review of Olivero with the National Federation of the Blind (NFB). This is the start of what we hope may be a long standing relationship, as well as a new process for evaluating the accessibility of core contributions. We also added a new provisional topic maintainer, Ben Mullins!

Do you have a “call to action” you want to make to the Drupal Community?

Yes! Please review issues tagged with #accessibility, and find ones to fix, or that you would like to bring to our monthly office hours! You don’t have to be an expert. 

Become accessibility champions for initiatives that interest you and start conversations with us early so that we can help you find the right resources for evaluation and feedback. 

Finally, our documentation needs to be brought up to date, and your help would be welcome. 

Kay VanValkenburgh updates us about DrupalLadder

About this Initiative: DrupalLadder is a community initiative to create an onramp for new Drupal users as well as new contributors to the Drupal project, or for those looking to level up their skills.

Where can we read more about your initiative?

https://www.drupal.org/project/drupalladder and https://drupalladder.org

What have been your priorities in the last three months?

Feature development focused on

  1. usability for learners and
  2. connecting Ladder info to corresponding official docs

What has been your greatest challenge in the last three months?

User experience design of the website

And what has been your greatest success in the last three months?

Seeing the value of the broad concepts and fitting together some of the major features

Do you have a “call to action” you want to make to the Drupal Community?

Help us by sharing information about how you work effectively - reach back to the people following in your footsteps and give them clear, adaptable paths to success

Drupal participation in Google Summer of Code

About this Initiative: Google Summer of Code is an annual program to promote technology education while supporting Open Source projects. Drupal has been a participant in Google Summer of Code for more than a decade.

Where can we read more about your initiative?

https://groups.drupal.org/google-summer-code – our community collaboration location  https://summerofcode.withgoogle.com/ – Google’s official program website  https://www.drupal.org/node/2415225 – where to get started for students (good read for potential mentors too). Read the 12 steps to help any student can get started on their own @ https://groups.drupal.org/node/535795

What have been your priorities in the last three months?

Google Summer of Code? an annual program for university students organized by Google with projects managed by open source organization mentors such as us (Drupal!). GSoC takes place during “summertime in North America” and wrapped up October with a very successful project. 

As a community, our initiative’s team of volunteers and mentors priority was supporting our student Vishal contributing to Drupal for several months. It was our responsibility to help the student learn more than writing code for a module. As mentors, we helped the student learn project management tools with professionally managed issue queues and techniques such as SCRUM. e reviewed code and tested modules with feedback helping a student who didn’t have a background in Drupal. As a community of volunteers, we made it a priority to ensure that our selected student would be as successful as possible.

What has been your greatest challenge in the last three months?

Finding mentors and project ideas. If you’re interested in mentoring, please realize that we pair each student with on average 3-5 mentors per project. Mentoring is not a full-time gig and can be accomplished with a few hours per week. Even if you simply have an idea for a project without becoming a mentor, please contact us at @ https://groups.drupal.org/node/536212

And what has been your greatest success in the last three months?

Vishal Chaudhary ( https://www.drupal.org/u/vishalghyv ) was Drupal’s Google Summer of Code 2020 student and obviously our greatest success in the last year. The fact that Drupal continues to find at least one student every year who becomes a truly amazing member of our community provides evidence GSoC was a success in 2020. 

Find Vishal’s code below and read about his journey through his @vishal38785">weekly GSoC blog and review his work on the Commerce Fraud project page

We also conducted an interview with Vishal, one of his mentors, and the creator of Drupal Commerce:

[embedded content]

Do you have a “call to action” you want to make to the Drupal Community?

Do you have a project idea and/or want to be a mentor? Please edit our 2021 project idea page @ https://groups.drupal.org/node/536212 with your idea. Even a few sentences or a link to an existing module page that can be ported to D8/9 works.

About this Community Group: The mission of the Community Working Group (CWG) is to foster a friendly and welcoming community for the Drupal project and to uphold the Drupal Code of Conduct.

Where can we read more about your initiative?

https://www.drupal.org/community/cwg

What have been your priorities in the last three months?

  1. The Community Health Team has been developing “nudge” templates to be used in issue queues to encourage all participants to engage in positive discourse: https://www.drupal.org/project/drupal_cwg/issues/3129687
  2. Offering discounted Code of Conduct enforcement training for Encouraging representatives from DrupalCamps and other events: https://www.drupal.org/community/cwg/blog/a-different-kind-of-contribution-become-a-trained-drupal-event-code-of-conduct
  3. Offering discounted Mental Health First Aid training for Drupal community members: https://www.drupal.org/community/cwg/blog/online-mental-health-first-aid-workshop-october-27-2020

Do you have a “call to action” you want to make to the Drupal Community?

Come to our session at DrupalCon Europe to learn more about what we’re doing and how you can get involved! https://events.drupal.org/europe2020/sessions/how-community-working-group-helping-make-healthier-community-panel

Local and Regional Updates

Andrii Podanenko and Alla Petrovska update us about Drupal Virtual Cafe Ukraine and the Drupal Ukraine Community

About this Community Group: The Drupal Ukraine Community represents the interests of the Drupal developers, users, and site owners in Ukraine.

Where can we read more about your initiative?

https://www.facebook.com/groups/drupal.ua

https://www.facebook.com/drupalcampkyiv-

https://drupalcampkyiv.org/

What have been your priorities in the last three months?

Supporting the Ukraine Drupal community during the pandemic.

What has been your greatest challenge in the last three months?

Finding the available speakers for Drupal Virtual Cafes.

And what has been your greatest success in the last three months?

We have organized three Drupal Virtual Cafes with 2 speakers per each event and 60+attendees from Europe and North America.

Do you have a "call to action" you want to make to the Drupal Community?

Connect with the Ukraine Drupal Community. We have the capacity to organize, but need support to find available speakers.

We need to have more information about bottlenecks for organizing virtual DrupalCamps. We have planned DrupalCamp Kyiv 2021, but unsure about the details.

We want your feedback!

We hope that this first edition of our quarterly update has been useful. Because this first edition is an experiment, we’d very much like your feedback as a contributor or potential contributor to Drupal. 

  • What do you think about the length? 
  • Would it be more helpful to organize by code and non-code initiatives, or by some other method? 
  • Does quarterly seem like the right cadence? 
  • What would make the calls to action more clear for how to get involved?

Please let us know any ideas you have to help keep the community more informed and able to understand how to get involved.

Dec 07 2020
Dec 07

As part of the Drupal Association’s ongoing mission to foster contribution in the Drupal project, we're bringing you the first edition of a new Initiative Update blog series. The vision is a series with regular updates on initiatives across the Drupal ecosystem, as well as calls to action highlighting where contributors are most needed.

In gathering feedback from the community, we understand it can be difficult to identify the priorities of the Drupal community, the state of current initiatives, and how to contribute. Our goal is to provide a useful overview of current priorities in Drupal and connect you to the individual mentors, initiative leads, and other community organizers who can help you get involved. 

The plan is to provide updates on a regular basis throughout the year. We thank the Wordpress community for their example of a concise initiative update. Based on your feedback on this first edition, this format may evolve. 

If we missed reaching out to you, but you'd like to provide an update on an initiative you are involved in, please feel free to submit your update to this form.

Updates

In this release, we have reports from the following initiatives and community groups. This is not a comprehensive list of all initiatives and community groups, just those who were able to provide an update in time for this post:

Active Drupal Core Initiatives

Mike Herchel updates us about Olivero - the new front-end theme

About this Initiative: The New Front End Theme initiative seeks to create a new default front-end theme for Drupal with a modern look and feel.

Where can we read more about your initiative?

https://www.drupal.org/about/strategic-initiatives/olivero 

What have been your priorities in the last three months?

Getting into core! We're finally in 9.1 as a beta experimental theme. Check it out!

What has been your greatest challenge in the last three months?

Getting it into core was a mad dash at the very end, but we pulled it off thanks to a lot of help from Drupal's core contributors. Those folks are amazing! 

And what has been your greatest success in the last three months?

Getting into a beta status for core

Do you have a "call to action" you want to make to the Drupal Community?

Use it. Find and file bugs!

xjm updates us about Drupal 10 Readiness

About this Initiative: The goal of the Drupal 10 Readiness initiative is to release Drupal 10 in 2022, providing adequate time to update sites while keeping Drupal secure and up to date.

Where can we read more about your initiative?

https://www.drupal.org/project/drupal/issues/3118143

What have been your priorities in the last three months?

  1. Ensuring that Drupal core is internally compatible with Symfony 5.0 and 5.1 (without using deprecated APIs), so that we can easily release Drupal 10 with a dependency on Symfony 6. (Done!) 
  2. Ensuring Drupal core and its upstream dependencies are fully compatible with PHP 8 as soon as possible so that Drupal 10 can set its minimum dependencies accordingly. (Done!) 
  3. Initial discovery on CKEditor 5 integration for Drupal 10 (Ongoing, challenging) 
  4. Replacing remaining forked jQuery UI code with modern alternatives (Ongoing) 
  5. Reducing jQuery use for an easier upgrade to future versions

What has been your greatest challenge in the last three months?

We have lots of JavaScript work needed, both for integrating CKEditor 5 and for reducing legacy jQuery and jQuery UI use, and few working on it these difficult problems.

And what has been your greatest success in the last three months?

Really great collaboration and problem-solving for upstream blockers to PHP 8 compatibility, and all compatibility issues with Symfony 5 are resolved, We’re now working on Symfony 6 compatibility (that is, addressing deprecations introduced in Symfony 5.1 and 5.2), which is the real goal for us for Drupal 10’s release.

Do you have a “call to action” you want to make to the Drupal Community?

Frontend contributors! We love you and we need your help!

We need help with several big changes related to core’s JavaScript: 

Furthermore, we need help from theme developers and contributors to join a new initiative to build a Starterkit Theme for Drupal core. https://www.drupal.org/project/drupal/issues/3050384 This theme starterkit will replace Classy as the best way to start building a theme for a Drupal site.

Tim Lehnen provides the latest info about Automatic Updates

About this Initiative: The goal of the Automated Updates Initiative is to provide a system to easily and securely update Drupal sites, reducing total cost of ownership for site owners. 

Where can we read more about your initiative?

The best place to stay up to date is in the Automatic Updates issue queue, or by joining us in the #Auto-Updates channel in Drupal Slack.

What have been your priorities in the last three months?

Current Priority: Finishing our implementation of the php-tuf client and server code, so that we can move from our secure signing implementation into our actual updater code. 

Previous Priority: Over the course of the last quarter, the Drupal Association hosted three contribution weeks with Drupal initiative contributors as well as representatives from Joomla and Typo3. We used these contribution sessions to scaffold out the php-tuf library and to align our architectural decisions in ways that will work across the php ecosystem. 

What has been your greatest challenge in the last three months?

Our update process must run the appropriate Composer updates as well, so we are currently attempting to architect a solution to account for the fact that Packagist itself does not yet have a signing solution for third party libraries. 

And what has been your greatest success in the last three months?

The Drupal Automatic Updates initiative has joined forces with both the Typo3 and Joomla communities to share certain foundational components, like our secure signing schema. And speaking of secure signing, we are working closely with the Cloud Native Computing Foudnation's TUF initiative for a robust and standards based signing solution. 

Do you have a "call to action" you want to make to the Drupal Community?

If you're interested in the problem-space of securely signing software, consider contributing to the php-tuf project. If you're more interested in understanding the update process itself, please join us in the Drupal Slack channel!

About this Initiative: The goal of the Decoupled Menus Initiative is to provide the best way for JavaScript front ends to consume configurable menus managed in Drupal.

Where can we read more about your initiative?

The Decoupled Menus Initiative is in the process of organizing the official initiative team. Regular meetings are happening in the #decoupled-menus-initiative in Drupal Slack.

What have been your priorities in the last three months?

The main priority for the initiative has been gathering the initial group of contributors and getting organized. There is a clear path for understanding what a javascript menu component looks like, but there are much more challenging questions to be resolved about how to integrate non-php components into the Drupal core process. 

What has been your greatest challenge in the last three months?

This initiative is in the first stages of getting organized and up to speed. In addition, understanding how to work on non-php for Drupal core is a major challenge. Once official initiative coordinators have been selected they can help to provide the next update.

And what has been your greatest success in the last three months?

Just launching this initiative as an official goal is greatly important. There has been very active conversation between initiative team members, core maintainers, and the drupal association as the organization kicks off. 

Do you have a "call to action" you want to make to the Drupal Community?

If you are an expert in using a javascript front-end for a Decoupled Drupal solution, if you are familiar with open source contribution in the javascript ecosystem, or if you are a competent project manager your insight would be valuable. Please join the initiative's slack channel and regular meetings.

Additional Core Initiatives, Community Initiatives, and Community Group Updates

Jennifer Hodgdon updates us about Documentation and Help

About this Initiative: The goal of the Documentation and Help initiative is to improve the Drupal evaluator, developer, and site builder experiences through improved documentation on Drupal.org, and improve in-application help via a new topic-based help system.

Where can we read more about your initiative?

User Guide: https://www.drupal.org/project/user_guide; Contributor Guide: https://www.drupal.org/community/about/getting-involved-guide-becoming-contributor-guide; Help Topics: https://www.drupal.org/project/drupal/issues/3027054

What have been your priorities in the last three months?

User guide: minor updates and supporting groups making translations. There has been a lot of progress lately on German and French! Help topics: mostly writing new topics, and some progress on other Roadmap issues. 

Contributor Guide: Migrating content from the old Getting Involved Guide.

What has been your greatest challenge in the last three months?

Getting other contributors to review and commit patches, and to provide feedback on plans.

And what has been your greatest success in the last three months?

Migrating most of the content in the Getting Involved Guide to make several new and better-organized areas, such as the Issues documentation at https://www.drupal.org/docs/develop/issues and the Git documentation at https://www.drupal.org/docs/develop/git

Do you have a “call to action” you want to make to the Drupal Community?

You can help with curating and migrating older documentation into the newer documentation content types, or into the new Contributor Guide. Join the #documentation channel in Drupal Slack and another contributor can help you find a place to get involved. 

Elli Ludwigson updates us about Contribution Mentoring

About this Community Group: The Contribution Mentoring Group works to inspire, enable, and encourage new contributors. They also work on the core tools, process, and community to make it easier for new contributors to get involved.

Where can we read more about your initiative?

https://www.drupal.org/community/mentoring 

What have been your priorities in the last three months?

Getting ready for DrupalCon Europe, updating documentation and materials

What has been your greatest challenge in the last three months?

Engagement. It's been difficult to demonstrate value and a clear path to success for contributors and mentors. Also, everyone seems a little low on energy lately and we could use more fresh folks coming into leadership roles.

And what has been your greatest success in the last three months?

Updating the contributor guide! http://drupal.org/community/contributor-guide  

Jennifer Hodgdon and others have reorganized and made everything much more logical. AmyJune continues to do an amazing amount of work at many many virtual events, giving contributors a place to get started with Drupal.

Prior to the last three months Rachel Lawson did a lot to rethink the contribution and mentoring process with the portal we used at DrupalCon Global. Matthew Radcliffe and Gábor Hojtsy did a lot of work on that as well. And Randy Fay is often on hand to help with any and all local development environments and general Drupal troubleshooting.

Do you have a "call to action" you want to make to the Drupal Community?

Without creating any new projects, I'd say we could use an enthusiastic and experienced person to help clean up old issues and polish the documentation work. We could also use more mentors on hand in general for virtual events across various time zones, especially outside the Americas.

Kaleem Clarkson updates us about Event Organizers Working Group

About this Community Group: The Event Organizers Working Group (EOWG) is concerned with supporting community-led events within the Drupal community. These include camps, summits, training days, contribution days, and meetups.

Where can we read more about your initiative?

https://www.drupal.org/community/event-organizers

What have been your priorities in the last three months?

Over the last three months we have mostly focused on finalizing what initiatives we should start with in 2021. 

What has been your greatest challenge in the last three months?

Our greatest challenge has been attracting more global representation at our monthly community meetings. At the beginning of this year, our group made an intentional effort in attracting more global participation. Through our efforts, we were able to recruit two new board members representing India and Ukraine. Another strategy was to change our meeting times to UTC format and alternate between 12pm and 12 am UTC. We are hoping that in 2021 we can increase the number of global camps represented in our open meetings. 

And what has been your greatest success in the last three months?

I think our biggest accomplishment has been confirming our four major initiatives that our group will focus on in 2021. These initiatives will be:

  • Onboarding At DrupalCon Community at Events, 
  • Event Organizers Website Starter Kit
  • Marketing the Events Organizer Group
  • Events Database Website on Drupal.org. 

Each initiative will have committees made up of one Event Organizer’s Working Group board member and volunteers from the Drupal community. For so many reasons, we are all looking forward to working in concert with event organizer volunteers from around the world.

Do you have a “call to action” you want to make to the Drupal Community?

We need all Drupal event volunteers to help spread the word about the Drupal Events Working Group. 

We will be looking for volunteers to serve on the committees of each of our four major initiatives and we can’t do it without you. 

Jess Snyder updates us about Nonprofits

About this Community Group: The Nonprofits Community Group provides a gathering point for all Nonprofit organizations using Drupal, and leads monthly community meetings.

Where can we read more about your initiative?

https://www.drupal.org/community/nonprofit-drupal

What have been your priorities in the last three months?

Our top priority continues to be to provide a welcoming place for nonprofit Drupalists to get advice, share knowledge, and discuss the issues we’re all facing in this challenging time.

What has been your greatest challenge in the last three months?

Aside from dealing with the curveballs the past several months have thrown at all of us, nonprofits continue to struggle with the changes in Drupal requirements that have increased the expertise and costs required to build and maintain Drupal sites.

And what has been your greatest success in the last three months?

Aside from seeing new faces on our monthly calls, which we’re always thrilled about, we’re also proud of how our community is encouraging nonprofit orgs to try new features, like Layout Builder, while also discussing the challenges that come with trying new features that are still in flux.

Do you have a “call to action” you want to make to the Drupal Community?

Come and join our monthly call! Held on the third Thursday of the month at 1pm ET/10am PT, it’s free of charge, beginner-friendly, and open to anybody working for or with nonprofits and Drupal. 

Call-in info can be found on our community page (https://www.drupal.org/community/nonprofit-drupal) or in our collaborative notes document (https://nten.org/drupal/notes).

Nico Grienauer updates us about Drupical

About this Initiative: Drupical is a beautified overview of Drupal Events that provides a bird’s-eye view of Drupal community events happening all over the World. 

Where can we read more about your initiative?

https://www.acolono.com/en/drupical 

What have been your priorities in the last three months?

Getting the new drupical 2.0 ready for launch

What has been your greatest challenge in the last three months?

Finding time beside the global covid problems 

And what has been your greatest success in the last three months?

  • Getting finally access to drupal.org/community/events
  • Finalising the first version of the new drupical fronten now in vue.
  • Getting work done on the new drupal 8/9 drupical backend – found a possible solution, to also display online events on a map :)
  • Getting a link from the drupal main menu to drupical. 

Hopefully it will all be released in time for DrupalCon Europe!

Do you have a “call to action” you want to make to the Drupal Community?

stay healthy, stay at home and see you at one of the next virtual Drupal events!

Chris Teitzel updates us about the Privacy Initiative

About this Initiative: The Privacy Initiative focuses on addressing the increasing importance of managing user privacy in a world with increasing regulation. While the Drupal ecosystem has previously relied on solutions in contributed modules, this initiative proposes Privacy changes in Drupal Core. 

Where can we read more about your initiative?

https://www.drupal.org/project/ideas/issues/3009356 

What have been your priorities in the last three months?

We are continuing to work with the community and project stakeholders to come to a plan for a privacy initiative and/or team that can be involved in core conversations to ensure privacy is taken into account with core features and initiatives. 

What has been your greatest challenge in the last three months?

Funding of the initiative is the next hurdle to jump after receiving confirmation from Dries that he still desires it to be an initiative.

And what has been your greatest success in the last three months?

Receiving confirmation from Dries that he still desires it to be an initiative!

Do you have a "call to action" you want to make to the Drupal Community?

Continued support and talking to maintainers about the need for a formal privacy team/initiative within the community, as well as sponsorships; any individual or organization can be involved.

Tara King updates us about Drupal Diversity & Inclusion

About this Community Group: The Drupal Diversity & Inclusion group seeks to continue the conversation about diversity and inclusion within Drupal. The group organizes regular meetings and curates a resource library.

Where can we read more about your initiative?

https://www.drupaldiversity.com/

What have been your priorities in the last three months?

Drupal Diversity & Inclusion has been working on: 

  • Defining our roles & responsibilities: https://www.drupaldiversity.com/docs/roles-and-responsibilities
  • Recruiting new leaders to our leadership team
  • Holding space for our community to discuss diversity & justice
  • Planning social events for marginalized individuals
  • Developing talks & booth activities for Drupal events (most recently BADCamp)

What has been your greatest challenge in the last three months?

2020 has been our greatest challenge. :)

We have struggled with volunteer burnout, due to both COVID-19 and the US election cycle. Many folks have very limited time to give and even less energy, so we have focused on activities that support folks rather than new programming. 

And what has been your greatest success in the last three months?

We are thrilled to have three new individuals on our leadership team: Tearyne Almendariz as Careers Lead (https://www.drupal.org/u/ninelivesblackcat), Monica Flores as Resources Contributor (https://www.drupal.org/u/monicadear) and Esaya Jokonya as Booth Contributor (https://www.drupal.org/u/esayaj). 

Do you have a “call to action” you want to make to the Drupal Community?

Please join our meetings! We are making 2021 plans, and focusing on careers & job hunting for marginalized folks. We’d love to have more hiring managers and HR professionals involved in that work. Bring your ideas and we can work together to make the Drupal community more diverse & inclusive.

Alex Moreno-Lopez updates us about Drupal Swag Shop working group

About this Community Group: The Drupal Swag Shop working group is an initiative to offer sustainably sourced Drupal branded merchandise that both promotes Drupal and generates revenue for the Drupal Association.

Where can we read more about your initiative?

https://www.drupal.org/project/swagshop and, of course, visit the Swag Shop itself, at https://www.drupal.org/swag

What have been your priorities in the last three months?

On one hand, helping local DrupalCamps and DrupalCon to collaborate with the shop. On the other hand we’ve been trying to make sure the products available were event specific.

What has been your greatest challenge in the last three months?

Coordinating information and people, and particularly everything related to vouchers, discount codes has been particularly challenging

And what has been your greatest success in the last three months?

Watching other Drupal camps getting interested in using the swag shop and discovering that it gives them a good value as well. For example, NedCamp: https://nedcamp.org/

Do you have a “call to action” you want to make to the Drupal Community?

We need more people to talk about the initiative, and if you know a local camp, encourage the organisers to join the initiative.

Rain Breaw Michaels updates us about Accessibility

About this Community Group: Drupal's official Accessibility maintainers, as well as a number of community experts in accessibility issues focus on ensuring that all other features and initiatives within Drupal maintain our commitment to accessibility for all.

Where can we read more about your initiative?

https://www.drupal.org/docs/accessibility

What have been your priorities in the last three months?

Our main priority has been helping the Claro and Olivero themes reach a high enough accessibility standard to make it into core. We believe that these two projects will have a significant impact on enhancing Drupal’s position as an accessible authoring platform out of the box. 

A secondary priority has been increasing community involvement, and this is where we will focus our principal efforts over the next three months.

What has been your greatest challenge in the last three months?

Our greatest challenge is limited time and resources, largely due to the additional strain that COVID lockdowns and distance learning/remote working has put on our maintainers. 

An additional challenge is that our documentation is woefully out of date. This makes it more difficult for us to easily onboard potential contributors.

And what has been your greatest success in the last three months?

We held a public review of Olivero with the National Federation of the Blind (NFB). This is the start of what we hope may be a long standing relationship, as well as a new process for evaluating the accessibility of core contributions. We also added a new provisional topic maintainer, Ben Mullins!

Do you have a “call to action” you want to make to the Drupal Community?

Yes! Please review issues tagged with #accessibility, and find ones to fix, or that you would like to bring to our monthly office hours! You don’t have to be an expert. 

Become accessibility champions for initiatives that interest you and start conversations with us early so that we can help you find the right resources for evaluation and feedback. 

Finally, our documentation needs to be brought up to date, and your help would be welcome. 

Kay VanValkenburgh updates us about DrupalLadder

About this Initiative: DrupalLadder is a community initiative to create an onramp for new Drupal users as well as new contributors to the Drupal project, or for those looking to level up their skills.

Where can we read more about your initiative?

https://www.drupal.org/project/drupalladder and https://drupalladder.org

What have been your priorities in the last three months?

Feature development focused on

  1. usability for learners and
  2. connecting Ladder info to corresponding official docs

What has been your greatest challenge in the last three months?

User experience design of the website

And what has been your greatest success in the last three months?

Seeing the value of the broad concepts and fitting together some of the major features

Do you have a “call to action” you want to make to the Drupal Community?

Help us by sharing information about how you work effectively - reach back to the people following in your footsteps and give them clear, adaptable paths to success

Drupal participation in Google Summer of Code

About this Initiative: Google Summer of Code is an annual program to promote technology education while supporting Open Source projects. Drupal has been a participant in Google Summer of Code for more than a decade.

Where can we read more about your initiative?

https://groups.drupal.org/google-summer-code – our community collaboration location  https://summerofcode.withgoogle.com/ – Google’s official program website  https://www.drupal.org/node/2415225 – where to get started for students (good read for potential mentors too). Read the 12 steps to help any student can get started on their own @ https://groups.drupal.org/node/535795

What have been your priorities in the last three months?

Google Summer of Code? an annual program for university students organized by Google with projects managed by open source organization mentors such as us (Drupal!). GSoC takes place during “summertime in North America” and wrapped up October with a very successful project. 

As a community, our initiative’s team of volunteers and mentors priority was supporting our student Vishal contributing to Drupal for several months. It was our responsibility to help the student learn more than writing code for a module. As mentors, we helped the student learn project management tools with professionally managed issue queues and techniques such as SCRUM. e reviewed code and tested modules with feedback helping a student who didn’t have a background in Drupal. As a community of volunteers, we made it a priority to ensure that our selected student would be as successful as possible.

What has been your greatest challenge in the last three months?

Finding mentors and project ideas. If you’re interested in mentoring, please realize that we pair each student with on average 3-5 mentors per project. Mentoring is not a full-time gig and can be accomplished with a few hours per week. Even if you simply have an idea for a project without becoming a mentor, please contact us at @ https://groups.drupal.org/node/536212

And what has been your greatest success in the last three months?

Vishal Chaudhary ( https://www.drupal.org/u/vishalghyv ) was Drupal’s Google Summer of Code 2020 student and obviously our greatest success in the last year. The fact that Drupal continues to find at least one student every year who becomes a truly amazing member of our community provides evidence GSoC was a success in 2020. 

Find Vishal’s code below and read about his journey through his @vishal38785">weekly GSoC blog and review his work on the Commerce Fraud project page

We also conducted an interview with Vishal, one of his mentors, and the creator of Drupal Commerce:

[embedded content]

Do you have a “call to action” you want to make to the Drupal Community?

Do you have a project idea and/or want to be a mentor? Please edit our 2021 project idea page @ https://groups.drupal.org/node/536212 with your idea. Even a few sentences or a link to an existing module page that can be ported to D8/9 works.

About this Community Group: The mission of the Community Working Group (CWG) is to foster a friendly and welcoming community for the Drupal project and to uphold the Drupal Code of Conduct.

Where can we read more about your initiative?

https://www.drupal.org/community/cwg

What have been your priorities in the last three months?

  1. The Community Health Team has been developing “nudge” templates to be used in issue queues to encourage all participants to engage in positive discourse: https://www.drupal.org/project/drupal_cwg/issues/3129687
  2. Offering discounted Code of Conduct enforcement training for Encouraging representatives from DrupalCamps and other events: https://www.drupal.org/community/cwg/blog/a-different-kind-of-contribution-become-a-trained-drupal-event-code-of-conduct
  3. Offering discounted Mental Health First Aid training for Drupal community members: https://www.drupal.org/community/cwg/blog/online-mental-health-first-aid-workshop-october-27-2020

Do you have a “call to action” you want to make to the Drupal Community?

Come to our session at DrupalCon Europe to learn more about what we’re doing and how you can get involved! https://events.drupal.org/europe2020/sessions/how-community-working-group-helping-make-healthier-community-panel

Local and Regional Updates

Andrii Podanenko and Alla Petrovska update us about Drupal Virtual Cafe Ukraine and the Drupal Ukraine Community

About this Community Group: The Drupal Ukraine Community represents the interests of the Drupal developers, users, and site owners in Ukraine.

Where can we read more about your initiative?

https://www.facebook.com/groups/drupal.ua

https://www.facebook.com/drupalcampkyiv-

https://drupalcampkyiv.org/

What have been your priorities in the last three months?

Supporting the Ukraine Drupal community during the pandemic.

What has been your greatest challenge in the last three months?

Finding the available speakers for Drupal Virtual Cafes.

And what has been your greatest success in the last three months?

We have organized three Drupal Virtual Cafes with 2 speakers per each event and 60+attendees from Europe and North America.

Do you have a "call to action" you want to make to the Drupal Community?

Connect with the Ukraine Drupal Community. We have the capacity to organize, but need support to find available speakers.

We need to have more information about bottlenecks for organizing virtual DrupalCamps. We have planned DrupalCamp Kyiv 2021, but unsure about the details.

We want your feedback!

We hope that this first edition of our quarterly update has been useful. Because this first edition is an experiment, we’d very much like your feedback as a contributor or potential contributor to Drupal. 

  • What do you think about the length? 
  • Would it be more helpful to organize by code and non-code initiatives, or by some other method? 
  • Does quarterly seem like the right cadence? 
  • What would make the calls to action more clear for how to get involved?

Please let us know any ideas you have to help keep the community more informed and able to understand how to get involved.

Dec 07 2020
Dec 07

Check out our recap of our favorite Drupal-related posts from November and stay up to date with what’s going on in the Drupalverse.

Who sponsors Drupal development? (2019-2020 edition)

We’re starting with the latest edition of Dries Buytaert’s “who sponsors Drupal development” blog post. Some of his most important findings are the overall increase in contribution, with an increase in sponsored contributions and a decrease in individual ones, which is very likely a consequence of the Covid pandemic.

The article provides a comprehensive breakdown of Drupal development and contribution throughout last year, complete with a look into the diversity of community contributions, both in terms of company and demographic diversity.

Dries finishes by addressing some of the main limitations of Drupal’s contribution credit system, but also reassures us of how important the recently formed Contribution Recognition Committee will be in overcoming them.

Read more about who sponsors Drupal development 2019-2020

Open Source Sustainability Depends on Recognizing Both Individual and Corporate Contributions

We continue with a kind of follow-up to Dries’s post, this one written by Gábor Hojtsy of Acquia. His post addresses some of the main findings from Dries’s report by going through the observations from a recent Acquia study on the sustainability of open source.

One of the most interesting of these is that community recognition serves as the main motivation for contribution, even greater than monetary gain. Another important observation, also made by Dries himself, are the shortcomings of the contribution credit system.

Probably the most important finding, however, as the title of Gábor’s article already points out, is that the sustainability of open-source projects depends both on individual and sponsored contributions.

Read more about open source sustainability findings

Your essential update on Drupal’s roadmap

The third post we’re including on this month’s list is Cyber-Duck’s overview of important milestones on the Drupal project’s roadmap for 2021 and beyond.

In the first section, they cover the end-of-life dates for Drupal 7 and 8 as well as the reasons for them, then continue with the release schedule for minor versions of Drupal 9 and Drupal 10 in the second section.

They follow that up with some of the features of the latest versions of Drupal that would make migrating from 7 a very wise choice, then finish with a short overview of the top priorities for the next stages of Drupal’s development.

Read more about Drupal’s roadmap

What is a headless CMS and when should you consider using one?

This next post about headless CMS is not specifically about Drupal, but we decided to include it nonetheless due to Drupal’s high-level headless capabilities and the fact that it’s just a great post.

The author of the post, Nomensa’s Kurtis Rogers, begins with a short explanation of what a headless CMS is and then a breakdown of its benefits, the top one being significant performance improvements thanks to fewer requests being made to the server.

In the last part of Kurtis’s post, he takes a look at which use cases benefit the most from using a headless approach, then closes with the flexibility it provides to your content.

Read more about headless CMS

SEO Wins: Embedded Drupal and Angular

Moving on, we have another interesting post, written by Dylan Rieder of Digital Echidna. Dylan discusses an interesting client challenge of their middleware suffering from both poor SEO and a poor user experience.

They managed to solve all of the resulting issues by transitioning from WordPress to Drupal in combination with an Angular front end with search functionality embedded right in the content. This enabled the content to both be searchable on the website itself and crawled by Google algorithms.

Dylan also includes a link to a video recording of their DrupalCon presentation of the implementation, for anyone who prefers watching and getting more in-depth information.

Read more about improving SEO with Drupal and Angular

Drupal 8 to Drupal 9: The Easiest Major Upgrade in a Decade

Another Drupal article we enjoyed reading last month was Acro Media’s Josh Miller’s writeup on the upgrade from Drupal 8 to 9. You first need to know what version of Drupal your site is running on in order to determine how difficult the update will be and when you should tackle it. 

In the second part of his post, Josh presents some reasons for moving to Drupal 9, with the number one being the very straightforward upgrade path. He finishes with three tips for a smooth upgrade: making sure your current version of Drupal is up to date, using Upgrade Status to check if you’re ready, and using Drupal Rector for custom code.

Read more about the Drupal 8 to 9 upgrade

How to Secure Your Website: An Intro to Drupal Security

Next up, this article by Mediacurrent’s Tara Arnold provides a great introduction to security in Drupal. In Drupal’s care, the community is responsible for a large portion of security support. Not only does a high number of active contributors ensure less errors, Drupal even has a dedicated security team that’s focused on resolving security issues.

What’s more, since Drupal is the top choice for important organizations and global enterprises, security must always be kept a top priority. Tara finishes her article with some security best practices for Drupal developers: selecting the right modules, using Drupal APIs and keeping up with Drupal’s weekly security advisories.

Read more about security in Drupal

Don’t Let a Bare-Bones Backend Design Leave Your Site Editors Stranded

Last but not least, we’re including an article by Jim Vomero of Four Kitchens in which he discusses the importance of a good back-end design and hence a good editorial experience for a CMS such as Drupal. 

One of the first points Jim makes is that UX best practices should also be followed when designing the back end of the website, just as much as the front end. In Drupal, you’re able to leverage its flexibility to customize the back-end experience for different user roles.

Still, the most important factor in designing a good experience for site builders and content editors is just working alongside them, acknowledging their feedback and making optimizations according to their needs and pain points.

Read more about good back-end design in Drupal

Mountaineer climbing mountain at sunrise

We hope you enjoyed revisiting the top Drupal articles from November. We’re wishing everyone a pleasant holiday season and we’ll see you all next year!

Dec 05 2020
Dec 05

All of us in the Open Source CMS world are asked, from time to time, variations on the question of: “Which is better, Drupal or WordPress?” 

Of course, there’s not a simple answer to the WordPress vs. Drupal question. Many have a strong bias towards one content management system or the other, but often, staunch opinions on the subject are based on a few cursory facts or outdated information.

Both WordPress and Drupal have evolved a lot since their introductions in the early 2000s. In some ways, this evolution has brought them into closer alignment with each other, evidenced by developments such as the porting of WordPress’s Gutenberg content editor over to Drupal in 2018. In other ways, WordPress and Drupal evolutions have clarified distinctions. 

Generally speaking though, in the current environment, the majority of sites can be supported equally well by either option. 

Fierce Loyalists in Both Camps

That’s not to say that the WordPress vs. Drupal debate doesn’t still spark strong opinions. Both have their devotees. As for me, I go way back with WordPress, and dove into the Drupal world about seven years ago. Promet Source has deep ties to Drupal, and over the past two years, we have broadened our perspectives and talent base to include WordPress advocates and experts. As such, I believe I’m well positioned to objectively cover both. (Feedback is welcome in the comment section below, and my apologies in advance if I step on any toes despite what I view as objectivity!)

Let's start with a few key stats and facts about Drupal and WordPress.

Drupal Advantages: The Internet's Heavy Lifter

A modular CMS written in PHP, Drupal enables developers to leverage a flexible taxonomy system that’s designed to organize complex content types, set highly customizable user permission levels, and ensure web accessibility compliance with enhanced testing and tracking capabilities.

Launched in 2000, Drupal now stands as the third most popular CMS in terms of market share.

Drupal’s enterprise-level trajectory was launched in November of 2015 with the release of Drupal 8, which resulted in a complete architectural overhaul and the creation of an enterprise-level CMS. Subsequent versions, such as the June 2020 release of Drupal 9, are now intended to be incremental, more of a point release than anything resembling the total CMS rewrite that occurred with the upgrade from Drupal 7 to Drupal 8. 

As of February 2020, there were an estimated 1.3 billion websites on the Internet and Drupal accounted for: 

  • Roughly 2 percent of total websites and
  • An estimated 3 percent of the CMS market, with 
  • 560,000 live, active Drupal sites.

                              Drupal Share of CMS Market

Drupal stats for 2020         Source:  Website Builder: 67 Amazing Drupal Statistics,  Jan 2020

For reasons that include core support for multilingual sites, Drupal is often the CMS of choice for government, higher ed, large enterprises, and health care institutions. The NASA site is on Drupal site, as is Portland State University, the U.S. District Court of the Southern District of New York, and Martin County Florida. The White House website was on Drupal during the Obama administration.

Drupal has a diverse and dedicated community of contributors, as evidenced by 42,650 free modules that are available for download. 

WordPress Advantages: A Pervasive Internet Presence

While websites with complex content models and data requirements gravitate towards Drupal, WordPress sites cover a wide spectrum of needs. WordPress accounts for roughly 60 percent of the total CMS market, primarily among small to mid-range sites, but a number of enterprise sites are on WordPress, as well. 

Originally developed as a blogging platform, WordPress has maintained its appeal for non-tech types with a low barrier to entry. While it’s possible to set up a WordPress site without development or coding expertise, experienced developers frequently work within WordPress and leverage their knowledge of HTML, CSS, and PHP to build sizable sites with a greater range of capabilities for business clients. 

Making steady inroads into the enterprise CMS space, WordPress is now the CMS for Time the New Yorker, and BBC America

Beyond the basics, WordPress offers thousands of plug-ins to expand functionality, outranking Drupal for ready-to-go themes that serve to fast-track development without the need for custom development work.

As of February 2020, of the 1.3 billion websites on the Internet. WordPress accounted for: 

  • More than 35 percent of total websites and
  • 61.7 percent of the CMS market, with 
  • 455 million websites currently on WordPress.

                              WordPress Share of CMS Market

WordPress stats 2020          Source:   Who is Hosting This?: 2020’s Most Surprising WordPress Statistics,  Feb, 2020

One conclusion to be drawn from WordPress’s impressive internet saturation: it’s a CMS that has proven to be the right fit for a wide range of different needs and has gotten many things right, from a wide ranging selection of plugins to an easy-to-use CMS. 
 

Convergence of Features

As more and more Drupal developers realize the advantages within Wordpress, and other user-friendly CMS platforms such as consumer-focused SquareSpace and WIX that offer an easier to use back end, we are seeing new frameworks and features being added to the default editor within Drupal. A multitude of no-code/low-code solutions, such as drag-and-drop functionality or component-based design, are finding their way into Drupal, due to the flexibility of the platform and providing marketers and content editors with greater flexibility and possibilities for making revisions to their sites. 

Core Distinctions

Both Drupal and WordPress offer a depth and breadth of add-ons that extend functionality. These are called “modules” in Drupal, and ”plugins” in WordPress. “Themes” that refer to a site’s aesthetics and user experience, such as design, layout, colors and navigation, is a term that applies to both Drupal and WordPress.

Unlike Drupal’s 2015 architectural realignment with the launch of the enterprise-ready Drupal 8, WordPress has never undergone that same kind of overhaul. The resulting difference is that expanded functionality for WordPress occurs at the theme/plugin layer. Much of Drupal’s functionality, on the other hand, is centralized within the ever-increasing core level, as the most frequently used and widely accepted Drupal modules are continuously incorporated into core. 

WordPress functionality relies heavily upon themes and plugins, and many contend that this represents a strength. WordPress modules tend to be more complete applications, and the vast WordPress collection of themes and plugins provides a high degree of flexibility. 

The flipside of this argument, and key factor that tends to fuel the appeal of Drupal for complex enterprise, higher ed, and government sites, is that there is an inherently a higher level of security and stability associated with working in core. Continued support for themes, plugins, or modules is not always guaranteed in either Drupal or WordPress, and their track record is not necessarily established.

Scalability vs. Complexity

WordPress has proven itself to be extremely scalable and the right fit for some notable sites such as time.com, which I mentioned earlier. The essential distinction which is often missed is not so much size or scalability, but complexity. Even though there are hundreds and hundreds of pages, on time.com, for example, the site consists primarily of articles. When a greater range of content types and complex data models are required, WordPress falls short and Drupal shines.

Acknowledging that both Drupal and WordPress are solid content management systems, and that there’s considerable overlap in the types of sites for which either would provide an excellent solution, Promet recently developed the following matrix in an effort to highlight the relative strengths of both options and open a dialog among our teams.

Here’s what we came up with relative to 10 key criteria.

                    Open Source CMS Comparison

Drupal vs WordPress  Open Source CMS Comparison

  1. Open Source. Yes. Both Drupal and WordPress are solid Open Source solutions with great track records. 
  2. Lamp Stack (PHP). Yes. Both use Lamp Stack PHP equally. Five stars for both.
  3. Enterprise Ready. Drupal: Yes. That’s where this CMS shines. WordPress: Yes and No. It’s applicable for some, not all, enterprise applications. 
  4. Dedicated Hosting Partners. Yes. Both Drupal and WordPress have dedicated hosting partners, allowing for proactive maintenance, as well as heightened security, speed, and reliability. 
  5. Available/Accessible to Novices. No for Drupal. Developing a Drupal site and understanding how to work within the Drupal interface requires distinct expertise and training. Yes for WordPress. A non-technical hobbyist or small business owner with a touch of know-how can find a theme that fits their needs and figure out how to build and manage a WordPress site, often within a few hours.
  6. Appropriate for a Brochure Site. No for Drupal. While it’s possible to create a straightforward brochure site on Drupal, there’s not much point in doing so when other, simpler options are available. Yes for WordPress. WordPress is ideal for a brochure and blog site. That’s what it was originally developed for. 
  7. Has a Complex Content Model. Yes for Drupal. Complex taxonomy content models are where Drupal thrives. Not so much for WordPress, which best serves sites that don’t require the organization of high levels of complexity. 
  8. Works for a Tight Budget. (under $10,000). No for Drupal. The flipside of Drupal’s ability to navigate complexity tends to be the requirement of considerable developer legwork and ramping up. Yes for WordPress. WordPress offers a greater range of out-of-the box solutions and, depending on requirements, it’s quite possible to build a respectable Drupal site for under $10,000. 
  9. Design Theme Availability. Drupal: Somewhat. Drupal has a limited number of design themes that are ready out of the box. Promet has created a Drupal theme as part its upcoming launch of a component-based, drag-and-drop capability for Drupal. WordPress: Yes. WordPress has an extensive and robust design theme capability
  10. Community. Drupal: Absolutely. Drupal has a great professional community of dedicated developers, who regularly gather for training and information exchange (now virtually) at events, camps, and meetups all over the world. This is less the case for WordPress. While there are many professional WordPress developers, the WordPress community is more diverse and less cohesive. 

 

Tracking the Evolution

Among those of us whose history in the CMS trenches dates back many years, it’s been very interesting to witness the evolutions of both Drupal and WordPress. At one time, Drupal and WordPress accounted for the vast majority of the open source CMS world. Together, they still account for a whopping 65 percent of the CMS market, but newcomers such as Wix and Squarespace are gaining ground among their respective niches, and GoDaddy has also just introduced a drag-and-drop CMS. At the same time, multiple closed-source website creations options have emerged that weren’t around as recently as a few years ago. 

To an increasing degree, Drupal and WordPress are viewed less as competitors, and more so as members of the same family.

One big indicator of this trend: in May of 2020, Drupaldelphia, the annual camp held in Philadelphia for Drupal developers, site-builders, content administrators, and designers, was renamed CMS Philly. The event was largely dominated largely by Drupal and WordPress. 

High Stakes Solutions  

When the stakes are high (and when are they not), selecting the right CMS calls for careful consideration and expert analysis. The Drupal vs. WordPress conversation does not lend itself toward across-the-board rules or easy answers.

That said, the judgment and expertise of anyone who suggests that Drupal is always the answer or that WordPress is always the answer should be considered highly suspect. As the saying goes: “When all you have is a hammer, everything looks like a nail.”

WordPress and Drupal each have a definite place at their respective ends of the spectrum, with hobbyist or small business sites on one end and complex, enterprise-level digital experiences at the other. The vast middle ground between these two ends can be highly nuanced with no easy answers, but there’s a likelihood that either Drupal or WordPress would work equally well.

The main thing is the assurance that true experts with a depth of perspective and commitment to client success are doing the work. 
Interested in an expert analysis of the CMS that stands to represent the right fit for your organization’s distinct objectives? At Promet Source, we have all the right people to help with that. Contact us today. 

Source for Drupal Stats:

https://websitebuilder.org/drupal-statistics

Source for WordPress Stats:

https://www.whoishostingthis.com/compare/wordpress/stats/

Dec 03 2020
Dec 03

Amazee Labs has been contributing to Drupal since the very early days of the project. Our contributions range from writing patches and maintaining modules, through to contributing to new releases and that’s why we’re proud to be one of the most experienced Drupal development agencies in the world. With our ongoing mission to build out a future proof Web Development stack, we have in recent years moulded our technology stack from several key components, some of which go beyond Drupal.


What is the Amazee Labs Open Source Tech Stack?


The majority of the technology in our stack is open source. 

As information and content have become some of the most valuable resources for many of our customers, we believe that the technology supporting your business’ digital presence is not just providing a virtual brochure, as was the case in the early WordPress vs. Drupal days. Your CMS is now a content vault and distribution system for your communications team.

Drupal is at the foundation of most of our enterprise projects. Drupal is further integrated with an open-source search engine to support dynamic and fast content search systems. Additionally, by using Gatsby (a Progressive Web App generator which is lighting fast) as a front-end layer, we dissolve the traditional dependencies between content management and content presentation, giving you the freedom to have interfaces that speak to your specific audience. The same CMS that drives your website, can also drive content for your mobile app, your voice interface (EG: IVR), or your e-commerce site.

The Amazee Labs Open Source Tech Stack. The traditional approach and our approach.

The hosting layer in our stack is run by our sister company amazee.io. Their open-source, cloud-native application delivery platform – Lagoon, which is entirely open source – powers thousands of websites in the UK, Europe, the USA, Australia, New Zealand, and Japan. The list of locations is growing all the time. 

What is WordPress?
 

It is estimated that 35% to 45% of the websites in the world use WordPress as a CMS, so chances are low that you don’t have some idea about WordPress. As above, WordPress and Drupal have a similar historical story. Both CMSs started off on the LAMP (Linux, Apache, MySQL, PHP) stack, and to this day both still rely on PHP as the coding language under the hood. 

WordPress started off as a blogging platform for the non-technically inclined. It was designed to be easy to install, easy to use, and easy to extend. Importantly, it was designed to be easy to personalize the presentation layer through the use of themes.

Points of comparison


Enterprise CMS focus

Whereas WordPress was initially a blogging platform, Drupal started out with the different ambitions of being a messaging board. These simple but important differences in the early targets of the platforms set them on different courses. 

Messaging platforms don’t just communicate information in a single direction as blogging platforms are designed to do, but rather they are designed to store information in a structured way, as well as to make it searchable.

While both platforms used PHP, and both platforms continue to grow and are extended, Drupal has always had a more “engineered” approach to its development. This is not to suggest that WordPress is somehow badly designed - both platforms have had their architectural and security problems - but rather to suggest that Drupal started out with a focus on being a web application, whereas WordPress has always spoken to bloggers and consequently smaller businesses. 

Perhaps this can be best seen in the present, where WordPress runs at least a third of the world’s websites including personal blogs, small and micro company websites, whereas Drupal continues to gain market share of the enterprise CMS market. 

Price

Both Drupal and WordPress are free and open-source tools. Additionally, for both tools, there are significant numbers of agencies and developers skilled in adopting, designing, developing and maintaining Drupal and WordPress. Vendor lock-in is of minimal concern for these platforms.

For most enterprise decisions, WordPress will attract a lower upfront investment, and might on the face of it look cheaper than Drupal. However, securing and maintaining an enterprise-scale WordPress CMS can be way more costly in the long run. This is even more prevalent if you factor in the cost of security breaches, which are a deeper concern for WordPress installations.

Security & Maintenance

WordPress has traditionally had a bad wrap when it comes to security. In truth, both Drupal and WordPress have fairly similar approaches to security. Both projects have a community and corporate-funded independent security team. Both teams work tirelessly to keep the core of the projects secure and up to date, but a few things do stack up against WordPress when it comes to security.

As we’ve already discussed, WordPress powers a huge number of the world’s websites. This increases the WordPress attack surface significantly. Many WordPress installers are focused on getting websites running, and neglect three very important considerations. 1) The security of the installation, 2) the security of the plugins used to extend the WordPress core, and 3) the maintainability of the infrastructure and the software. In short, there are many opportunities for bad actors to take advantage of misconfigured or insecure sites, as well as the many corners that webshops cut in order to compete solely on price. While this doesn’t speak to Drupal’s strength, it doesn’t play well for WordPress’s reputation in the enterprise space specifically. 

At Amazee Labs, our architecture, ecosystem, and involvement in the open-source community is geared to approaching both the underlying infrastructure – as well as extending the Drupal core – from an engineering perspective. Our stacks strength lies not only in the core software but also in the way that we select and develop modules to extend the core Open Source components within the stack.

Editorial experience

There are at least two user types of any CMS, there are your users that consume your content, and there are the all-important administrators and editors. Both Drupal and WordPress have worked hard to increase the usability of their editorial experiences because a significant amount of time and money goes into writing and managing content in CMS platforms.

WordPress historically held the title for the “easy to use” CMS. However, in recent years the editorial experience in Drupal has grown from strength to strength. Amazee Labs prides itself on our ability to create not only beautiful web experiences but also beautiful web experiences that make content management easy. 

For simpler use cases, using Drupal’s Gutenberg module, content editing in Drupal can now be configured to be much closer to WordPress, essentially closing the gap between the two platforms.

For more complex use cases, Amazee Labs has created a completely new WYSIWYG editor interface and open-sourced it to the community. This editor makes it easier for editors to create flexible page structures while being bound to modular templates and strict corporate design policies. As this content is stored in a highly structured way, this implementation is perfect for a headless-Drupal setup, where a decoupled front-end site reads content via an API.

Development, customisation, and extensions

The primary way most developers approach WordPress customisation and extension is to add plugins to WordPress or to customise the theme. 

At Amazee Labs, we take an enterprise approach where we separate the modelling of content (which happens within Drupal) from the presentation of the content to the user. The majority of content models can be captured by using Drupal and a selected set of modules, and we shift all of the user experience customisations to the Gatsby front-end layer. While both Drupal and Wordpress can expose their content models to Gatsby for presentation to an end-user, we believe that Drupal is much better suited for this purpose, and is, therefore, the better choice for the majority of enterprise customers looking for an open-source CMS.

Why are enterprises choosing our Open Source Stack?
 

We hope by now, the answer is obvious! While WordPress is a great platform for blogs, microsites, and smaller company sites, Drupal is a better choice for large enterprises who wish to use an open-source CMS and to retain their data. Additionally, our open source stack Gatsby component provides a highly customisable and enterprise-ready front-end framework to go along with an enterprise-grade CMS.

Our Open Source Stack lets Enterprises have not only the digital platform they need but the digital platform they want, all at a price that their procurement teams love!

But don’t take our word for it
 

Would you like to see our Open Source Stack in action? 

Reach out to us today to arrange a demo and take our stack for a spin!
 

Dec 03 2020
Dec 03
Lebkuchenherz undpaul

We really already reached a two digit anniversary. undpaul had its 10th birthday yesterday - and that was celebrated! With hot wine, delicious food, party hats, and memories of one or the other highlight with the undpaul team - of course all compliant with the current Corona situation using a remote meeting.

Ten years it is already... It feels a little bit as if it was only a few moments ago that undpaul was founded on a bitterly cold December day 2010 in Hannover. We have experienced and learned a lot during this time, worked on exciting projects and got together with wonderful colleagues.

"The most wonderful Drupal agency in Germany" - says Stefan about undpaul.

That is true so far, we agree. But not only that is what makes undpaul. Of course there are keywords like Drupal, experience, quality and remote work / new work. But above all, our team, collegiality, flexibility, fun, commitment and integration make us who we are.

Karte 10 Jahre undpaul

We are happy that we have come so far together and wish for another 10 wonderful years with you!

Thanks to all of you who have accompanied us so far - to you our business partners with the new challenging projects, to you undpaul friends, to the Drupal community with whom we spent so many hours and of course to the whole undpaul team for the daily fun.

Danke mit Signaturen

P.S. If you want to know something about our beginnings, you can find more information in our blog post for our 3rd birthday. There you will also find answers to the often asked question "Where does the name undpaul come from and who is Paul?".

Dec 02 2020
Dec 02

Outsourcing certain aspects of your business, such as design or development, through staff augmentation or another method is becoming more and more popular. And with good reason - there are many benefits of outsourcing which make it a viable and cost-effective choice for businesses.

Just like with any type of work arrangement, however, there are going to be certain challenges or concerns that come with outsourcing. In this article, we’ll take a more detailed look at one of them: keeping control of your project, specifically when you’re outsourcing software development.

What it means and why is it important

You can be the owner of the product that needs to be built, or a consulting business that provides implementation services to clients. In either case, you’ll of course want to make sure that the development aligns with the goals and mission of your company. At the same time, you’ll also definitely want to keep control of the resulting intellectual property.

By keeping control of the project’s management throughout its development, you’ll guarantee that all its requirements and goals are met. Trust is a key element here, especially with larger teams or when outsourcing larger parts or entire projects. 

Trust enables you to relinquish some of the control because you know your outsourced developers are aligned on your needs and objectives. You’ll be able to keep control without having to micromanage, which will be a win-win for both you and the development partner as you’ll be left to do what you do best.

As for keeping control of your IP - this is just a no-brainer. With fewer people augmenting your in-house team, you won’t need to worry about this. When outsourcing an entire project, however, look for a partner that provides white-label development so you can rest assured that you will remain in charge of the resulting IP. 

Different outsourcing strategies mean different degrees of control

How much control of your project you keep is directly tied to the type of outsourcing strategy you go with - this means that it’s wise to choose the type of outsourcing based on what degree of control you want to keep.

Infographic of differently structured outsourced teams

Managed services

If you don’t have in-house development and you’re happy leaving the project’s development up to the partner, then managed services is probably your best bet. With managed services, the partner will take care of the entire development, both the management and the execution, and you won’t need to get involved during the process.

These types of projects are very often fixed in scope, also called turnkey projects. Make sure that the partner offers white-label services, so that you’re guaranteed to remain the owner of the intellectual property once it’s delivered.

Dedicated teams

This type of outsourcing strategy is a kind of middle-ground - you aren’t just augmenting your team with one or a few people, but rather outsource a whole section of the development, or even the entire development. In contrast with managed services, though, with dedicated teams it is your project management that is in charge rather than that of the partner agency.

This way, you retain control of the overall progress of the project while leaving the technical nitty-gritty to the experts whom you’ve hired for this specific expertise. 

It is ideal both for companies with no in-house development as well as those that do have in-house developers, but lack certain skill-sets, aren’t familiar with a new technology that’s required or would like to form a new team rather than augmenting an existing one.

Staff augmentation / team augmentation

The option where you keep the highest level of control is staff or team augmentation. In this case you only need a few people to boost your in-house development capacity, either to fill a skill gap or because a project needs a large amount of a specific expertise. 

If you only need a single developer, hiring a freelancer is a viable option. As soon as you need two people or more, however, it makes more sense to contact an agency specializing in staff augmentation, so you don’t spend extra resources on several hiring and vetting processes. 

The partner agency will guarantee the quality of their staff and will be able to provide adequate replacements if something unexpected happens with the original hires. 

By augmenting your team this way, you’ll keep control of both the organizational and the technical aspects of the project, and will consequently automatically be the sole owner of the resulting product or service.

What to look for with outsourced development

Here are some of the qualities you should look for in an outsourced development partner that will help you to be satisfied with the level of control you have over your project, no matter what kind of outsourcing strategy you ultimately decide on.

  • Technical expertise: this is another no-brainer. By selecting a partner with verifiable expertise in whatever you’re looking for, you’ll be able to leave even more complex tasks and processes to them without worrying about a low-quality outcome. 
  • Good communication: transparent communication is the number one thing for ensuring trust right from the get-go. If your development partner proves to be a good communicator, you can feel safer leaving certain aspects of your project in their hands.
  • Company culture: if the agency you work with has a company culture that’s similar to yours, it’s easier to determine if they share the same values and will see things the way you do and thus execute them the way you want them to. Again, similar values will result in better alignment and no need for you to manage everything. 
  • Compliance with standards and best practices: by working with an agency or freelancer that has demonstrated their commitment to following standards, you’ll feel safer about their respect of your intellectual property and any potential NDAs involved. Furthermore, it will be another indicator of the final result’s quality.

Looking for a development agency?

We hope this article will help you in selecting the best outsourcing strategy for your needs as well as the right partner to entrust your development with. If you’re currently looking for a development agency to partner with and Agiledrop seems like the perfect choice, reach out to us or learn more about how we can ensure the success of your project:

Nov 30 2020
Nov 30

We are currently planning for Drupal core to drop support for Internet Explorer 11 in Drupal 10 (scheduled to be released in June 2022). Drupal 9 will be supported until late 2023, which means that sites that want to support Internet Explorer 11 can continue using Drupal 9 until then.

Feedback needed from assistive technology stakeholders

WebAIM's survey of screen reader users shows Internet Explorer 11 usage dropping from 23.3% in October 2017 to 10.9% in September 2019. The next edition of their survey is likely to be released at the end of 2021, but we need to finalize our browser support within the next month in order to develop and release Drupal 10 on schedule.

We need feedback from assistive technology users and accessibility stakeholders. Do you or your users still use Internet Explorer 11 with screen readers? Do their screen readers support browsers other than Internet Explorer 11? How feasible is it to upgrade to a different browser for use with your screen reader? We are requesting feedback until December 18th, 2020 January 31st, 2021.

Why would we drop support for Internet Explorer 11?

  • Microsoft stopped developing Internet Explorer 11 in 2015. For that reason it is significantly behind modern browsers that have continued development. Because more and more libraries are adopting the use of those features, there is a significant cost associated with maintaining Internet Explorer 11. For example, the latest major release of CKEditor has dropped support for Internet Explorer 11, which means that Drupal 10 cannot securely support both CKEditor5 and Internet Explorer 11.

  • Microsoft itself has dropped support for Internet Explorer 11 in many of its services, and the rest will drop support in mid-2021.

  • Usage of Internet Explorer 11 has decreased significantly. Drupal doesn’t collect analytics on browser usage from its end users, so we rely on data provided by other projects such as Wikimedia, WebAIM, and Statcounter. For example, in October 2019, Wikimedia had 4.4% of its traffic using Internet Explorer 11. At the same time this year the number had dropped to 1.4%. We assume that the number of Internet Explorer 11 users will continue decreasing before the release of Drupal 10.

  • Supporting Internet Explorer 11 degrades the experience for everyone. We currently supply all users extra code to make Internet Explorer 11 work. This increases the request size and makes page load time slower for everyone.

  • The additional requirements of Internet Explorer 11 demand additional development time that far exceeds the browser's market share. These efforts come at the expense of new features and bug fixes.

What if I need to support Internet Explorer 11?

Even if Drupal 10 drops support for Internet Explorer 11, you can continue using Drupal 9 until late 2023. We recommend advising your users to move to another browser before that. If you believe your users have specific requirements as to why they cannot move from Internet Explorer 11, post them on the Internet Explorer 11 policy discussion.

Would this affect Drupal 7?

No. Drupal 7 remains compatible with Internet Explorer 11. A separate announcement will be issued if that changes.

Edit December 17th, 2020: feedback window extended until the end of January 2021.

Nov 30 2020
Nov 30

We are currently planning for Drupal core to drop support for Internet Explorer 11 in Drupal 10 (scheduled to be released in June 2022). Drupal 9 will be supported until late 2023, which means that sites that want to support Internet Explorer 11 can continue using Drupal 9 until then.

Feedback needed from assistive technology stakeholders

WebAIM's survey of screen reader users shows Internet Explorer 11 usage dropping from 23.3% in October 2017 to 10.9% in September 2019. The next edition of their survey is likely to be released at the end of 2021, but we need to finalize our browser support within the next month in order to develop and release Drupal 10 on schedule.

We need feedback from assistive technology users and accessibility stakeholders. Do you or your users still use Internet Explorer 11 with screen readers? Do their screen readers support browsers other than Internet Explorer 11? How feasible is it to upgrade to a different browser for use with your screen reader? We are requesting feedback until December 18th, 2020 January 31st, 2021. 

Why would we drop support for Internet Explorer 11?

  • Microsoft stopped developing Internet Explorer 11 in 2015. For that reason it is significantly behind modern browsers that have continued development. Because more and more libraries are adopting the use of those features, there is a significant cost associated with maintaining Internet Explorer 11. For example, the latest major release of CKEditor has dropped support for Internet Explorer 11, which means that Drupal 10 cannot securely support both CKEditor5 and Internet Explorer 11.

  • Microsoft itself has dropped support for Internet Explorer 11 in many of its services, and the rest will drop support in mid-2021.

  • Usage of Internet Explorer 11 has decreased significantly. Drupal doesn’t collect analytics on browser usage from its end users, so we rely on data provided by other projects such as Wikimedia, WebAIM, and Statcounter. For example, in October 2019, Wikimedia had 4.4% of its traffic using Internet Explorer 11. At the same time this year the number had dropped to 1.4%. We assume that the number of Internet Explorer 11 users will continue decreasing before the release of Drupal 10.

  • Supporting Internet Explorer 11 degrades the experience for everyone. We currently supply all users extra code to make Internet Explorer 11 work. This increases the request size and makes page load time slower for everyone.

  • The additional requirements of Internet Explorer 11 demand additional development time that far exceeds the browser's market share. These efforts come at the expense of new features and bug fixes.

What if I need to support Internet Explorer 11?

Even if Drupal 10 drops support for Internet Explorer 11, you can continue using Drupal 9 until late 2023. We recommend advising your users to move to another browser before that. If you believe your users have specific requirements as to why they cannot move from Internet Explorer 11, post them on the Internet Explorer 11 policy discussion.

Would this affect Drupal 7?

No. Drupal 7 remains compatible with Internet Explorer 11. A separate announcement will be issued if that changes.

Edit December 17th, 2020: feedback window extended until the end of January 2021.

Nov 30 2020
Nov 30

Building websites that are completely mistake proof is often considered to be a massive undertaking, which many-many times is not properly executed. Since there are so many parameters to fulfil and so many corners to oversee, mistakes tend to happen. You may not even realise that you have done something wrong in the development process, it could be much much later when you actually undergo a website audit that you come across the mistake that has been made.

Drupal websites are equally prone to mistakes. Despite the CMS being one of the best, there are still occurrences when things go wrong and the impact is felt on the engagement, conversions and consequently, the sales.

To not let that happen, I have compiled a list of mistakes that you need to steer clear of when building or working on a Drupal website. These are errors and oversights that many developers and content authors have experienced first-hand and you can certainly try to learn from their mistakes.

So here are the most common mistakes witnessed on Drupal websites.

A pencil is shown after having erased an error on the extreme left and the mistakes to avoid in Drupal are written in bullets in the rest of the space on a white background.


Where can you go wrong with the content? 

A good website is often considered to be the one with outstanding content, since that is what keeps the audience engaged and leads to conversion. Therefore, content is crucial for a website, both for the front-end and the back-end, so content should be one of the priorities in the website designing process. Due to this fact, there are a number of areas where the developers can go wrong with the content. 

The first common mistake witnesses with the architecture of content is using too many content types that you actually do not use. The unused content types are just going to burden your database and I am certain, you would not want an additional table in your database for three content types that you do not even use. Having content types with no nodes will have the same effect. Performing an inventory will help you get the mistake resolved.

Moving on from the unused to the used, content structures are extremely valuable for your editors who are going to fill them up and if they end up confused, what will be the point of it all? Standardising your content types is going to help you a great deal. 

  • Strike off the content types that are similar to each other, like news and articles;
  • Do not add new fields for every content type;
  • And most importantly, plan a structure prior to it, winging it may not work with your website content.

Content types have an effect on the performance of your website as well. So, if you do not want to drain the performance of your site by adding unnecessary complexity, you would be wise to avoid these mistakes.

What about your display mismanagement?

After content comes its display and Drupal is best in that game. With many different features available for use, Drupal can make your display game strong as well, you capitalise it wisely.

Creating a view for every list is both impractical and a waste of time. Focus on reusing Views as much as possible along with parameter based rendering.

Do you use PHP code in your database? If so, avoid doing that, instead you must write all the codes in the modules or themes itself.

Planning, optimisation and segregation are essentially the building blocks of a great website display. 

  • Planning to render the content types you need;
  • Optimising the Views you already have;
  • And segregating logic from presentation.

These three would have a visible effect on the display architecture.

What aspects of functionality can make your site lag behind?

The functionality of a Drupal site depends on the number of modules used and the way they interact with each other. Your code and how much of it you use is a major contributor in that. 

The most common mistake in this sense is the ignorance of code standards. This becomes more of a problem when there are more than one developers and everyone is using a different type of code. In such a situation, not only would the standard be lost,  but it would also become difficult for a developer to understand the other’s code. Therefore, the adherence to Drupal’s Coding Standards becomes a great help to uniformalise the code and make the functionality a breeze. 

Another obstacle in functionality are unorganised patches. Code modifications and bug fixes mandates the implementation of patches, however, they become a problem whenever there is an update. You can forget all about re-apply the patch or forget to change it in accordance with the new version. This can very well affect the functionality of your website, so organising them is essential. 

Having too many modules, too many roles and too much custom code, despite there being contrib modules for the same is bound to affect the functionality as well. Evaluate and re-evaluate your site for its needs to overcome these functionality hindrances.

Is your performance and scalability not up to the bar?

User Experience is directly proportional to the performance of your website; the more streamlined the performance is, the richer would the UX be. 

Here are three scenarios that can impact your performance in all the wrong ways.

  • The foremost is improper JS/CSS aggregation settings. This is supposed to combine and compress JS and CSS files from the modules in the HTML, leading to lesser load times and higher performance. And you will be saying goodbye to that with the improper aggregation.
  • The next mistake is that of inundating your site with too many modules. Drupal may have numerous modules to offer, but you can’t be using too many of them. Doing so would only slow you down and hamper your security as well. Only keep the modules that you would be using, messing up your code, performance, overheads and security is simply not worth it.
  • A sound cache strategy also goes a long way in performance enhancement. Caching too soon, caching at lower levels and not knowing what and when to cache all contribute in a lowered performance.

Drupal websites can be scaled by millions of users within seconds and that is what makes these sites great. Drupal offers many modules to enhance the performance and scalability, Blazy, Content Delivery Network and Server Scaling, being just a few of them. Not installing these could be deemed as a mistake. Access the Drupal performance optimization and scalability provisions checklists to get more insights.

Are you facing possible security breaches?

Security has become one of the major concerns amongst website builders. Therefore, protecting your business from the menace of hackers and all the havoc they can cause is paramount. 

You must have your security measures in place, however, there still may be certain areas where you may have become complacent and that just gives the break the hackers need. 

  • Primarily, you need to keep your website updated, all the core and contrib modules, despite you using or not using them. Updating a module would mean that Drupal’s security protocols are being updated with them and you make yourself secure with that. You cannot have your projects falling behind on various levels of Drupal’s security advisories.
  • Now, you can install the “ Update Manager” module to keep yourself updated. The “Available Updates” will give you a friendly reminder of applying the available security updates.
  • Next on the list of security blunders is not giving the Input Filters in Drupal their due importance. You might have configured the full HTML Input Format to every user or you might have completely disabled the HTML filtering. Both of these instances can give malicious code to enter your website and you know what happens then.
  • Continuing on similar lines, many sites also configure their servers improperly leading to unwanted access to them. On some occasions, servers are seen displaying their version numbers, which is like giving an open invitation to hackers. Server configuration and permissions should be a priority for every site builder.
  • It is also important to ensure that all the users accessing your site by logging into it are the ones you want. By implementing a password policy, removing old users and updating staff roles, you will be taking a step towards better security.
  • User roles are quite important in running a website, however, they can become overused quite quickly too, which not only slows down your website, but if they are misconfigured, it can lead to major security breaches.

Drupal has proven to be one of the best CMSs in terms of its security measures, it has you covered from every corner, but only if you let it. From granting secure access to providing granular user access control along with database encryption and preventing malicious data entry, Drupal will keep your site protected, provided you let it.

Have you made any infrastructural oversights?

The infrastructure of your website is decided by the stacks you have, which includes the server, database and the software layers like Varnish. Going into development with a firm plan for your infrastructure is the only way to go, an oversight in this area can be quite damaging. 

The common mistakes in this area are;

  • The size of the website’s stack is extremely large or extremely small.
  • Not preparing for growth by consistently checking the logs for error and the identification of the weaklings.
  • Having an ideal sized server, but not configuring it properly, which can make the traffic forego Varnish.
  • Allowing remote connections to the server can make the website more vulnerable.

Misconfiguration can be avoided by simply using the right tools for it. MySQLTuner is one amongst many, its performance suggestions help in improving the infrastructure as well.

Are you following your maintenance goals?

Maintenance of a website starts after the development is done and continues for the entirety of the life of the website. Considering this fact, you have to be very diligent with the maintenance process as making the wrong moves can be brutal.

Here are some of these wrong moves.

  • Not following Drupal updates is a more common mistake than you would think. By doing this, you are going to be hampering security and making your site vulnerable to Drupalgeddon attacks.
  • On the contrary, there are also times when we update the modules, but we forget to remove the older versions. This too happens a lot of the time and can cause many problems.
  • It is not just the modules that need to be updated, the development environment should also be up-to-date and friendly for testing.
  • Then there is the code, which is not using the Version Control System like Git, even the deployment of files should come directly from there. Also, using it, but not leaving messages for other developers related to the changes made can lead to chaos. It is, thereby important to always keep the VCS repository clean.

The crucial aspects of maintenance is time and consistency. When you do it timely, only then would it become a worthy practice. The review and assessment of your architecture in timely intervals along with all the logs, be it Apache or Drupal is a great headstart for the maintenance process.

Are you universally accessible?

Websites today need to transcend the parameters that used to confine them and their audience in the past. The sites and applications need to be built on a foundation that would make them fit for each and every user. Drupal has worked for the same, it aims to make websites accessible to all, including people with disabilities, by making itself an all-accessible tool. 

Web accessibility has become of the essence today, and persons with disabilities are at the core of it. Websites need to be designed keeping in mind their needs, be it a broken hand or a temporary sight loss. It isn't just me who believes this, World Wide Web Consortium’s guidelines agree with me as well. W3C two sets of guidelines are ardently followed by Drupal and your website should do the same, thus, support and foster inclusion. 

Despite its importance, many developers tend to overlook the accessibility features and that is where they go so very wrong. 

  • Not focusing on balanced contrast levels that can work under sunlight;
  • Not incorporating a form validation error verbiage to aid the visually impaired; 
  • Not using buttons over CTAs.

These may seem like minor errors to you, but they can go a long way in making your Drupal site accessible to everyone. Read this comprehensive guide to plan for web accessibility to know more.

Is your site SEO friendly?

Being SEO friendly is almost as important as building a website. Search engines bring in big numbers of traffic, so optimising them is crucial; yet we tend to forget to fine-tune the SEO details and focus on all the other aspects. At the end of the day, a website is an online business and business cannot survive without its clients and being SEO friendly is the way to go. Going wrong in this area can be extremely detrimental.

Look at the following aspects of a website and see how many you are and aren’t doing. 

Are your URLs user friendly?
Are your images small in size, with filled out alt texts?
Are you making your paragraphs short to make the text easy to scan through?
Are you using robots.txt for pages that you do not want crawled?
Are you creating an XML roadmap to help Google easily understand the structure of your website?
Are you researching your keywords?
Are you adding internal links to make your less popular pages gain attention through the more popular ones?

A positive answer to all of these means that your SEO game is strong and a contrary answer would let you know your mistakes.

To avoid the contrary from happening, Drupal provides a number of modules to help you capitalise on the SEO front. The SEO checklist module is a proof of that as it helps you by ensuring that you are following through on the latest SEO practices. Then there are the modules that aid your URL precision, like Redirect, Pathauo and Easy Breadcrumbs.From easing the process tags to helping in communication with search engines to providing the essentials for editing, Drupal has all the right SEO modules in its corner and not using these would be a colossal mistake on your part. Read our blog, The Ultimate Drupal SEO Guide 2020, to know more about these. 

Can being multilingual pose a problem for you? 

Today, languages that are regionally spoken have started getting more prominence than ever before, especially in the international community. A french website would not be successful in India, if it is in French, not many people speak that language, so it would have to be in a locally accepted language. Being multilingual also opens the doors for many mistakes to occur. 

  • Using the same URL for all of your multilingual websites; 
  • Not giving the user a chance to avoid a redirect to the international website;
  • Using an automated translator, instead of actually hiring content authors fluent in the language;
  • Foregoing to translate the imbedded parts of the site like meta tags and descriptions;
  • Not focusing on the foreign market trends and the keywords appropriate to it;
  • And lastly, not writing the content in accordance with the local language and dialects. You can’t be calling ice lollies popsicles sticks in India.

You have to be totally attuned with the language of the region that you have followed for the multilingual project to work. Learn more on Drupal’s multilingual capabilities here.

Is having a multisite presence worth it?

Depending on your business and its needs, having multiple sites can be a good solution for you. However, managing then can become a bit of a hassle and often lead to big blunders. 

Some examples of such blunders are;

  • Traffic is one of the major concerns here. Running multiple sites means you have one codebase and many sites on it, so if one is inundated with traffic, all of them could slow down as a result.
  • A mistake in the syntax of one site could mean a mistake in the syntax of all.
  • Updates become a headache as well. For Drupal sites, you have to run an update.php in order to update the site and doing that on multiple sites is going to bring on the headache.
  • And finally, if you do not use Aegir, you are going to regret going multisite.

Is your Decoupled Drupal approach the right one?

Drupal offers an impressive front-end technology to make your presentation layer as good as you want, yet it does not include all the front end technologies there are on the market. Taking advantage of JavaScript and Static Site Generator would mean to decouple Drupal and separating the front-end from it. Even if you want to take on decoupling, it may not want to take on. The decoupled Drupal can bring more drawbacks then. 

  • If you wish to capitalise Drupal’s in-built features, Decoupling would be a mistake, since you would end up parting with them.
  • If your front-end requirements and Drupal’s front-end capabilities are aligned, taking on Decoupling would only be an unnecessary effort on your part.
  • If you do not have either the budget or resources to tap into the hottest technologies, then even if you want them it is not going to be fruitful.
  • If you are only publishing content at one place, you would have no need for decoupling.

For a detailed explanation, read our blog, When to Move From Monolithic to Decoupled Drupal Architecture.

Finally, what about web hosting, are you doing it the right way?

Web hosting services that provide your website its own space on the internet are pretty common. There are far too many web hosts to count, yet the decision to choose one is not easy at all, since there are too many considerations to keep in mind. 

Some of the common mistakes to avoid which signing on a web host are;

  • Testing web hosts is not uncommon, it is the right way to know whether they are valuable. However, testing on your website that is primarily bringing in the traffic could be unwise, especially if you are using a free service. Therefore, not registering with a different party can be colossal.
  • Another mistake is trusting too easily without knowing the host for too long. Therefore, not partnering with one that has a long trial could be a mistake. The longer the trial period on offer is, the more reliable the host is going to be.
  • Taking on a web host is a huge commitment, so you have to be sure that you are in the good. Not doing your due diligence before the commitment is not the right way, comparing the pricing and features along with checking if they have blacklisted IPs.
  • Not tracking your hosting uptime and speed can also be a problem. Also not checking what guarantees for uptime are provided by the hosts for the same would not be wise. If there is a lapse between the guaranteed and actual uptime, keeping a track would give you the opportunity to ask for compensation.
  • Lastly, you cannot afford to not have a backup of your site and that too regularly. You will only have the recent version of your files and assets, if you back them up.

The Bottom Line 

Every aspect of your website is important, consequently, you have to be mindful of them all. If you are not, mistakes will happen and they will cost you your site’s performance, its security and your potential customers and sales. In order to keep that from happening, you have to avoid all of the aforementioned mistakes and ensure that your website is impeccably built and maintained on all platforms. 

Nov 27 2020
Nov 27

Drupal is being chosen as a platform for building websites, among other things, due to its flexibility. If you want a system ideally suited to your business model and better than the competition's systems, Drupal will prove to be perfect. One of the areas you can customise in Drupal is the user permissions system. Take a few minutes to learn about the permission management abilities of Drupal.

General information

Drupal allows you to manage access from the admin panel and from the code level. In this post, I will present these two possibilities and the most common examples of their use.

Roles and permissions in the Drupal core

If this is your first time dealing with Drupal and its permission system, you should know that there are three elements used for granting permissions:

  1. User
  2. Role
  3. Permission

When installing Drupal, you create a root administrator account in the system (identifier 1 in the database). It can be compared to the root user in Unix systems. This user has access to all subpages and settings in the system.

You can add more users to the system. These could be, e.g. the editors responsible for creating the content, or the moderators deciding whether to post the added comments.

If you want to assign a permission to a given user, you do it indirectly by assigning a role to them. There is no association between a user and permissions in Drupal. There is a user-role association and a role-permission association.

schema

How to add an editor role and assign the appropriate permissions to it

This is probably the most common issue encountered in Drupal. You need to let users into your system, but you want to limit their rights to the content management only. You do not want to give the rights to change the system configuration or to add new users.

In order to achieve this, follow these steps:

  1. Add a new role on the page "/admin/people/roles/add/".
  2. Assign the selected permissions to the role on the page "/admin/people/permissions/". For the content-related ones, check out the "Node" section. Below you can find more information on the permission list.
  3. Assign the selected user to the new role on the page "/admin/people/".

Then log-in into the account of the selected user and check out whether they have the appropriate permissions. Maybe you need to extend them or take them away. If you are unfamiliar with the Drupal's permission system, such a test with logging-in into the user account is always worth carrying out.

You do not need to know the password to the user account you want to log-in into. You just need to install the module Masquerade. Thanks to it, you can log-in into the account of any user.

Drupal core permissions overview

When entering the page "/admin/people/permissions/" for the first time, one can get a little scared. This is probably the longest configuration page in Drupal.

Let us start with the table header. You will always see the word "PERMISSION" in the first column. In the next cells of the first row, there will be the names of the roles. The more roles you add (you can add them on the page /admin/people/roles/add/), the more of them you will see in this table.

Then, looking at the first column in its entirety, you will see a long list of permissions. The permissions are divided into sections. The sections are the names of modules. The "Node" section mentioned earlier is named so because the permissions in this section are defined in the "node" module (you will find it on your disk in the core/modules/node directory).

Some sections have only one permission, e.g. the "Block" section has the "Administer blocks" permission only. Others have many more of them.

If this is your first time dealing with Drupal permission settings, I suggest that you read the names of all permissions. The names themselves explain what a given permission is for.

Anonymous & Authenticated

There are two system roles in Drupal that cannot be removed:

  1. Anonymous User
  2. Authenticated User

The first of these roles is responsible for all non-logged-in users. For example: if you want to add the ability to view user profiles for all non-logged-in for the "View user information" permission, tick the checkbox in the "Anonymous User" column.

"Authenticated User" is the role assigned to all logged-in users. It is important here to understand the permission inheritance. If you assign a permission to "Authenticated User", then all other roles (except anonymous) will be given this permission immediately.

Example: You have the "Editor" role in the system. You assign the "View user information" permission to the "Authenticated User" role. Everyone with the "Editor" role will also be given the permission because they are also considered to be logged-in users.

Moreover, keep in mind that if you select any permission for the Anonymous role (e.g. "View user information" again), but do not select it for the "Authenticated User", the logged-in users will not be able to access the selected section ("View user information" – they will not have access to user profiles).

Worth remembering

  • In Drupal, you can add an unlimited number of roles.
  • The list of permissions is defined by modules in modulename.permissions.yml files (more on this can be found further in the text). 
  • The "Authenticated" and "Anonymous" roles are separate – if you select something for "Anonymous" only, the logged-in users will not be given this permission.
  • To test permissions, it is good to use the Masquerade module.

Own permissions in the code

Sometimes there is a need to define your own permissions, e.g. to administration pages defined by new modules or to modify access to the pages defined by the Drupal core.

How to define a permission

You just need to add the modulename.permissions.yml file in the new module (or in the existing one, if you already have your own modules created). If you do not know how to create your own modules, I encourage you to visit the website.

The permission file is a file in the YML format. A simple example can be found in the Popup Message module, right here.

skrin

Being defined in the file is a unique name for the permission (e.g. "popup message administration"), and then – the names being displayed on the page "/admin/people/permissions/". You can provide a title in the "title" parameter and additionally – a more detailed description in the "description" parameter.

This is enough to define new permissions. After creating the file and clearing the cache, you will see the new permissions on the "/admin/people/permissions/" page.

How to use a permission

Most often, permissions are being used when defining routing. Take a look at the file.

In the "requirements" section, you can add the "permission" parameter. In this way, you can define the users (or rather roles) with what permission can display the page defined in routing.

The second method is to check out the permissions in your code. User object in Drupal has the "hasPermission" method. In this way, you can check out whether a given user has the selected permission.

// Get the current user
$user = \Drupal::currentUser();
// Check for permission
if ($user->hasPermission('display popup message')) {
// Do something.
}

It is worth to take a look at the hasPermission method here. As you can see, the user ID is being checked there. If the id equals 1, the user gets access without further checking if they have selected roles.

How to check whether the user has a role

Drupal also offers a ready-made method to check whether a given user has a role with a specific name. Provided below is an example of how you can do it in the code.

// Get the current user
$user = \Drupal::currentUser();
// Check for permission
if ($user->hasRole('editor')) {
// Do something.
}

Additionally, there are also methods related to the Authenticated and Anonymous roles:

  • $user-> isAuthenticated();
  • $user-> isAnonymous();

How to check permissions for operations on an entity

In the application code, you can also check the permissions to operate on selected entities (e.g. Node or User). You can perform certain operations, e.g. depending on whether the user has the right to edit a given entity or to display an entity.

Entities in Drupal have the method access($operation = 'view', AccountInterface $account = NULL, $return_as_object = FALSE). A simple example of use is provided below:

$nid = 545;
$node = \Drupal\node\Entity\Node::load($nid);
$user = \Drupal::currentUser();
if ($node->access('edit', $user)) {
// Do something
}

Defining content permissions

Drupal allows you to manage access to display and edit at the level of a single entry (node). This topic was thoroughly described in our other blog post. Grzegorz Pietrzak described it in the article Drupal Node grants.

Ready-made modules for Drupal related to permissions

There are already many ready-made modules extending the capabilities of the Drupal core. You should check them out before you start writing your own permission-related modules.

Below is a list of a few selected modules that are worth checking out and testing:

Also, check the page and take a look at other modules. Maybe some of them you will find useful.

Summary

Drupal is a very flexible system. Just looking at the possibilities regarding permissions, you can see the multitude of configuration possibilities. If you are building a large website with many editor levels or an internal application (e.g. an intranet system) where the users must have limited permissions, Drupal will do the job very well.

If you need support from Drupal specialists on permissions or other issues, use the services of our Drupal developers.

Nov 23 2020
Nov 23

Do you own an existing drupal.org project that does not yet have a Drupal 9 compatible release? This week would be a good time to take that step and make a Drupal 9 compatible release! I am paying for two tickets to DrupalCon Europe for new Drupal 9 compatible releases. Read on for exact rules!

DrupalCon Europe is in two weeks already! December 8-11, 2020. It offers 4 keynotes, including the Driesnote and the Drupal Core Initiative Leads Keynote (that I help coordinate), 119 sessions in five different content tracks, 4 workshops, interest group discussions, and networking. These are all included in the 250 EUR (no VAT) ticket. I would love to see you there!

Looking at Drupal 9 compatibility data, while 83% of the top 1000 projects by usage already have a release, the others do not. If we look at all the projects, 43% of them have a Drupal 9 compatible release. This is way better than with Drupal 8 was at the same time, but we can still do better! 22.5% of all projects (2177 projects in total) need an info.yml file change and a release, no other changes required. There is a good chance one of those are yours!

The rules of this giveaway are the following:

  1. The participating project must have existed before this week.
  2. The project must have its first Drupal 9 compatible release this week, before end of Friday.
  3. Selection from eligible projects is random.
  4. The lead maintainer on the winning two projects will pick who gets the ticket.
  5. In case of a pass, I draw another project.
  6. I will be using my existing script from the #DrupalCares campaign to track the newly Drupal 9 compatible projects.
  7. The script uses the official drupal.org releases dump and takes dates of releases from there.

I'll keep this list up to date throughout the week with who is in the running:

November 23

November 24

November 25

November 26

November 27

Update: Congratulations to winners: Marcelo Vani for the first Drupal 9 compatible release of CSV to Config and Daniele Piaggesi for the first Drupal 9 compatible release of Prevnext.

Nov 23 2020
Nov 23

4. Track team

This year's DrupalCon will feature well-over 100 sessions, across five tracks, and also four deep dive workshops that are not to be missed (for the first time, these workshops are included in the price of your ticket).

For a number of years, Annertech has provided volunteers to chair tracks. This involves many meetings about the conference to decide what the tracks will be, answering questions from those who wish to speak before sessions are submitted, reviewing and rating sessions after they are submitted (hundreds get submitted, so this is no small task), awarding speaking slots, and ensuring speakers are taken care of during the conference.

Our Director of Projects, Mike King, has been a track chair for many years, including chairing the Agency & Business track this year. In previous years, Mark Conroy, our Director of Development, has chaired the Frontend and Site Building tracks, while Stella has chaired numerous tracks from Agency & Business to Higher Education.

Nov 19 2020
Nov 19

Our normally scheduled call to chat about all things Drupal and nonprofits will happen TODAY, Thursday, November 19, at 1pm ET / 10am PT. (Convert to your local time zone.)

No set agenda this month, so we'll have plenty of time to discuss whatever Drupal-related thoughts are on your mind. 

All nonprofit Drupal devs and users, regardless of experience level, are always welcome on this call.

Feel free to share your thoughts and discussion points ahead of time in our collaborative Google doc: https://nten.org/drupal/notes

This free call is sponsored by NTEN.org and open to everyone.

View notes of previous months' calls.

Nov 12 2020
Nov 12

Like every month, we’ve compiled some of the top Drupal blog posts written the previous month. Take a look at our list for October.

Drupal Association Board Election 2020 – winner announced

The first post we’re covering this month is Pedro Cambra’s announcement of winning the 2020 election for the Community At-Large director position on the Drupal Association board.

Pedro starts off by thanking all participants who voted and inviting those who didn’t to share with him their reasons for not doing so. He then lists his goals for the two-year term which began on November 1st.

These include getting more information on the recent changes in the community and informing the community about them, revisiting the initiatives aimed at engaging with the community, providing a voice for the community, and helping non-native English speakers better engage with the DA.

Read more about the 2020 DA board election

Migrating Paragraphs to Layout Builder in Drupal

Next up, this post by Phase2’s Daniel Sasser shows how you can migrate Drupal Paragraphs to the block-based Layout Builder. He begins with the setup (a Drupal 7 to 8 migration in this case), then covers the different types of Layout Builder’s Section storage as well as the construction of the Section storage. 

In the second half of the post, Daniel gets to the meat of the matter - the actual migration. The first and key step is migrating paragraphs to blocks, starting with building the block structure for the destination site. Once that’s done, you can proceed with migrating the nodes.

Read more about Paragraphs to Layout Builder migration

Web Development Strategy in a Drupal 9 World

June’s release of Drupal 9 represented a truly major change for the platform, paving a new future for Drupal. In this next post, Lullabot’s Matt Robison discusses how development strategies will evolve in this new future for companies relying on Drupal.

The first point Matt covers is establishing a new cadence for your development work. The most important things here are planning out releases, new initiatives and features, addressing technical debt and allocating resources. 

Next is a section on revisiting architecture and content, then finally one about leveraging outside help within this new model. With the latter, it can be either for maintenance and support, to fill in-house skill gaps or increase your development velocity. 

Read more about development strategy with Drupal 9

Drupal 8/9 Migration Performance Tips and Tricks

The fourth post we’re including this month again has to do with migration. In it, Tandem’s John Ouellet provides some handy tips and tricks for optimizing the performance of your Drupal migrations. 

John’s first trick is to use the Migrate Booster module, which nets a decent performance gain by allowing you to disable modules that rely on hooks. The other two more important considerations are database tweaks and batching the migration.

John finishes his post with some other more general tips, such as keeping your site up to date with the latest minor versions of Drupal and running your migration in Drush rather than the UI. 

Read more about migration performance tips

An Absolute Beginner’s Guide: Using a Drupal Core Method in Your Own Code

Moving on, we have Mike Madison’s beginner guide to using a Drupal core method in your code. In the post, he works on the example of the Random::word() method.

He starts by giving a brief description of object-oriented programming and its benefits, then how it fits into the context of the example of patching the Honeypot module to randomly assign a title to a field. 

In order to follow the OOP approach and avoid code duplication, Mike uses the core Word method, but with first instantiating the Random class before using the method. He also recommends using an IDE for this, as they are very useful for catching errors.

Read more about using Drupal core methods

Local Behat Testing with Lando and Pantheon

We continue with a blog post by Zakiya Khabir of Chapter Three on doing local Behat tests with Lando and Pantheon. While very useful, as Zakiya points out the default Behat tests provided by Pantheon may not work properly on a custom site which has made changes to the default Drupal installation.

Zakiya’s post shows how you can remedy that and have your Behat tests run locally by making minor file changes to your Lando-based project: adding a drush alias file, adding Behat-specific config and Behat tooling, and finally running the tests with lando behat. She concludes with some other general tips, such as not foregoing other types of tests because of Behat.

Read more about Behat testing with Lando and Pantheon

Adding a WYSIWYG to text fields in Drupal 8 and 9

In the next post from October, Advomatic’s Heather Wozniak describes how you can add WYSIWYG to a text field in Drupal 8 and 9, which is a very common need for site builders.

Heather proposes two ways to go about it. The first solution is writing an update hook to create a new field, migrating data to it, then deleting the old field as well as reconfiguring. As she states, though, this solution takes much longer and is much more error-prone.

The more efficient way is to add a form alter, then enable the fields to render as formatted text, which can be done with just a few lines of code.

Read more about adding WYSIWYG to Drupal 8 and 9

Debunking 4 CMS Migration Myths

We round off this month’s list with another migration-related article, this one by Mobomo. It's not Drupal-specific, but discusses and debunks 4 common myths of migrating to a new CMS. 

The first one is the fear of losing all data when migrating, which is justified but can be easily resolved by taking the proper steps. The second myth is having to invest in a redesign while performing a migration, which should be approached more thoroughly and holistically.

Third is another well-known fear - that of losing SEO ranking. While you’re likely to have a SEO dip right after migrating, a better optimized site will actually benefit SEO in the longer term. The last myth pointed out by Mobomo is that migration is simply a “lift-and-shift”, which is in reality very rarely the case. 

Read more about CMS migration myths

Statues from Easter Island

We hope you enjoyed this month’s recap and found some useful information for something you’re working on. Stay tuned for more for a new recap next month!

Nov 11 2020
Nov 11

Tugboat.qa offers automated and on-demand deployment previews to accelerate development. In 2019, Tugboat was successfully integrated as the backbone of the community testbed Simplytest.me. Following that success, a community-lead initiative emerged to provide these previews for all of Drupal Core development, by integrating into the Drupal.org issue queue. Drupal Association CTO Tim Lehnen (hestenet on Drupal.org) opened an issue to explore this option in early August.

Why automated environments for Core issues?

Reviewing and testing Drupal.org issues has historically been the purview of experienced Drupal developers. Designers, end-users, and other stakeholders have been relegated to the role of watching over the shoulder of developers who drive demos from local development environments. This has been detrimental to fully involving those stakeholders in a development process that could improve Drupal for all users. With Drupal's ease-of-use, accessibility, and front-end features being central to the current strategic initiatives, it was time to ensure that these stakeholders are fully empowered. 

Automated deploy environments help bridge the technical divide and bring the ability to review changes to more users. Longtime Drupal contributor YesCT says:

The Tugboat integration with drupal.org issues makes reviewing and testing possible for people who have never been able to do it before. This project uses technology to lower the barriers of contributing to Drupal, and makes contributing more accessible to more people. It’s going to be a huge game-changer.
YesCT

In practice, visitors to the Drupal.org issue queue can click a link to tour a live, working version of a Drupal website wherever Tugboat deploy previews are enabled. As of November 10, 2020, this includes all Drupal Core issues.

Current UI:

Current UI for live previews in Drupal core issues

Upcoming UI revision:

Upcoming ui revision for live previews on Drupal Core merge requests

Drupal.org deploy previews - under the hood

The Drupal.org/Tugboat integration relied on a handful of contributors across a project that spanned months, but the core of this collaboration was a partnership between core contributor Juampy NR and Drupal.org architect Neil Drumm

As a senior developer at Lullabot, Juampy's continuous integration expertise, as well as his familiarity with Tugboat, made him an invaluable contributor to implementing the Tugboat side of the integration. Neil's expertise as architect, meanwhile, gave Juampy and Tugboat the guidance to find the right places in Drupal.org's custom logic to add code for this new integration. Simultaneous to the Tugboat integration, Juampy and Neil also worked to implement the Drupal Association GitLab integration, bringing issue forks and merge requests to the issue queue

Some of the challenges that this team faced included:

  • Drupal.org’s large database. Because of the size of the database, the team had to work remotely using a provisioned development environment. Remote debugging helped to catch and traverse the different events involved in the workflow.

  • Understanding where to write code. Drupal.org has a ton of custom logic, so finding the right place to add new code was not easy. The Drupal Association's guidance was key.

  • Integrating multiple systems. The team had to write interactions between Drupal.org, Tugboat, and GitLab, taking into account error responses, timeouts, and firewall restrictions.

Deployment preview workflow

Reducing friction by making changes visible and more accessible to all contributors

Before this integration, contributors had to take and upload screenshots of their changes, and reviewers had to replicate changes locally in order to see them in action. Tugboat reduces friction by making changes visible - and more accessible - to anyone who clicks the preview URL. This shortens review time considerably and invites participation from non-developers, working toward Drupal's value of respecting and valuing inclusivity.

Check out our documentation on Drupal.org to learn more!

The Drupal Association gives our thanks to TugboatQA/Lullabot, for contributing this feature to the Drupal project.

Pages

About Drupal Sun

Drupal Sun is an Evolving Web project. It allows you to:

  • Do full-text search on all the articles in Drupal Planet (thanks to Apache Solr)
  • Facet based on tags, author, or feed
  • Flip through articles quickly (with j/k or arrow keys) to find what you're interested in
  • View the entire article text inline, or in the context of the site where it was created

See the blog post at Evolving Web

Evolving Web