Upgrade Your Drupal Skills

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

See Advanced Courses NAH, I know Enough
May 27 2021
May 27

Targeted for release in June 2022, a little over a year from now, here’s an update on the current state of development, what Drupal 10 means for your business and how you can get involved.

As Dries highlighted in the Driesnote at DrupalCon North America 2021, the Drupal 10 initiative is important to ensure that Drupal uses the latest and greatest components that we depend on; ensuring stability and security for all. Dries stressed the importance of maintaining the activity and momentum to push Drupal to be ready in time for the targeted release next year.


What will change?


Some of the third-party dependencies and system requirements will be upgraded to, ideally, their latest stable releases. Code deprecated throughout the Drupal 9 lifecycle will also be removed in the first release of Drupal 10.

  • CKEditor 4 will be replaced with CKEditor 5
  • Symfony 4 will be upgraded to Symfony 5 or Symfony 6
  • jQuery UI will be removed
  • PHP 8.0 will be required (up from PHP 7.3)
  • PostgreSQL 12 with pg_trgm will be required (up from PostgreSQL 10)

The Drupal stock themes “Seven” and “Bartik” will be replaced with “Claro” and “Olivero” respectively. A much needed and welcomed change is that Drupal core is dropping support for Internet Explorer 11 in Drupal 10. A high-level overview of all changes coming to Drupal 10 is listed on the drupal.org website.

We already know many of the deprecated APIs, some dating back to Drupal 8, which means module maintainers can start to update their code to rely on the newer APIs.


Current Tooling


To ease the process of upgrading from Drupal 9 to Drupal 10, there are a few tools in place. These tools were already developed to help aid in the upgrade of Drupal 8 to Drupal 9, so might be familiar to many.

  • The Drupal 10 Deprecation Status page shows Drupal 10 compatibility based on all currently confirmed deprecated API uses in Drupal 9 extensions.
  • The Upgrade Rector and the underlying drupal-rector project will be used to automate updates of deprecated code.
  • The Upgrade Status UI or CLI will check your Drupal 10 readiness on your Drupal 9 site (as much as already defined).

The best place to help with the upgrade path right now is updating drupal-rector. The rector 0.10 version update currently underway enables the tool to run on a modern setup. After that, adding support for Drupal 9 is key. Once that is in place, work on covering the top deprecated APIs can start.

The Drupal Project Update Bot also relies on Upgrade Status and drupal-rector to automatically post compatibility fixes to community projects. Automating as much as possible will streamline the upgrade process not only for Drupal core but for all contributed modules.


Get Involved


If you’re interested in helping to get Drupal ready for version 10, feel free to join the Drupal 10 Readiness initiative meetings, held every other Monday. The meetings are always open to all and held on the #d10readiness channel on Drupal Slack. The meetings are text-only, and transcripts of past meetings are available in the meeting archive.

While June 2022 might seem a way off and many website owners are still preparing for the shift to Drupal 9, version 10 will be here before you know it, so plan ahead and let our web development team help you make the move - get in touch with us today.

May 17 2021
May 17

Furthermore, there were community summits held for higher education, healthcare, nonprofit, and government. These were individual events focused entirely on their subject with panels, workshops, and discussions within breakout rooms.

The Forgotten Site-builder


During the Driesnote, Dries Buytaert mentioned five big initiatives to focus on for Drupal 10, all of which have made progress throughout the lifecycle of Drupal 9:

  1. Decoupled Menus
  2. Easy Out of the Box
  3. Automated updates
  4. Drupal 10 readiness
  5. New front end theme

Dries made us aware that with the evolution and growth of Drupal, we have left behind the “site-builder” role. Dries believes that we need to get back to our identity, to reinvigorate and re-focus on our roots by empowering site-builders to build ambitious websites with low code.

“Let’s make Drupal the go-to technology for site-builders experience.”

Finally, Dries mentioned a sixth big initiative, a project browser, to improve the site-building experience. One of the first things site-builders do when they start with Drupal is to install a module, a project browser will therefore simplify the process of finding and installing modules.

DrupalCon North America 2021 - Driesnote by Dries Buytaert

Back to the sessions I attended, rather than recap them in timeline order, I decided to group them into different category themes.

The main themes for me during this DrupalCon were:

  • Contribution
  • Editor Experience
  • Decoupled Drupal
  • Accessibility
  • Diversity, Equity, and Inclusion

Contribution


The conference schedule was split into two parts, daily sessions during the day followed by a daily afternoon-evening spotlight on contribution. In the Driesnote, we saw a comparison of how approachable it is to contribute to the Symfony foundation compared to the almost pain-staking way of contributing to Drupal. It is clear that we need to improve Drupal’s contributor experience, which is why the Drupal Association is looking to give new Drupalists an easier path to start contributing by improving the integration with GitLab and enabling newer features in the near future.

Contribution was organised on OpenSocial, an online collaboration platform, which saw a healthy group of members attend each day to work on improving Drupal. There were five main focus groups: Decoupled Menus initiative, Easy out of the Box initiative, Automated Updates, Bug Smash, and Drupal 10 readiness. There was also the general contribution area and as always, the first timer’s contribution lounge.

Editor Experience


Throughout the conference, a recurring theme was a focus on improving the editor experience. I attended the following sessions related to this topic:

  • Easy out of the Box initiative Keynote
  • Editor Experience: Compare Drupal, WordPress, & Contentful
  • A Better Experience for Content Editors
  • Editor UX Matters: Gutenberg Can Help
  • Expand Building With Components Truly Achieve No-code Drupal
  • Reimagining the WYSIWYG: CKEditor 5 in Drupal Core

The Easy Out of the Box Initiative makes the editorial experience clear and empowering from the moment Drupal is installed by enabling Media, Layout Builder, and Claro in the default Drupal installation profile. This initiative is important because media, layouts, and modern administration design are fundamental to creating a delightful user experience for everyone building with Drupal.

Sascha Eggenberger, a Senior UX Designer at Unic and a core member of the Easy out of the Box initiative, shared his work on a better experience for content editors along with various modules that he recommends such as "admin toolbar", "media library", and "inline entity form". Sascha also gave an overview of quick wins and explained how a good user experience along with site-building is crucial in helping towards wider adoption of Drupal.

DrupalCon North America 2021. A Better Experience for Content Editors, by Sascha Eggenberger

At Amazee Labs, we actively seek to improve the editor experience for our clients’ needs. We build solutions involving the Gutenberg editor coupled with bespoke admin views, along with the implementation of an improved admin UI utilising the Gin admin module.

Decoupled


Following on from improving the editor experience, we explored the state of decoupled Drupal, with a heavy focus on Gatsby and Next.js. I attended the following sessions:

  • Decoupled Menus Initiative Keynote
  • An Iterative Approach: Decoupling Drupal Sites With Gatsby
  • JS Web Components (Demo)
  • Decoupled Translations with Drupal and Gatsby
  • Using Drupal's Layout Builder with Gatsby
  • Relaunch Blog of Unity.com with Headless Drupal 8, Next.js

The decoupled menus initiative is set up to provide the best way for JavaScript front ends to consume configurable menus managed in Drupal. Menus were chosen because the majority of digital experiences have a menu. They also touch on some of the most difficult problems facing decoupled sites today.

DrupalCon North America 2021 - An Iterative Approach to Decoupling Drupal Sites in Gatsby, by Brian Perry and Matthew RamirRecently, the Drupal Association made it possible to distribute JavaScript packages within the Drupal ecosystem, helping to push this initiative forward. In the evening, a hackathon was held where participants were invited to build their own custom menu component with their favourite JavaScript frameworks. This is an important initiative to help realise Drupal’s goal of being the best decoupled CMS.

Amazee Labs developer, Nick O’Sullivan, gave a talk about “Decoupled Translations with Drupal and Gatsby”. Gatsby is a popular static site generator that uses React, and it’s a perfect match for a decoupled Drupal architecture to create lightning-fast websites. Nick took us through how to create a multilingual Gatsby site with content sourced from Drupal, then gave an overview of the key considerations to take into account when developing a translation management workflow.

AmazeDrupalCon North America 2021 - “Decoupled Translations with Drupal and Gatsby” by Nick O’Sullivan

Accessibility 


There were many great sessions on accessibility, I was only able to attend the following:

  • Accessibility is a Moving Target
  • An Accessible Digital World
  • Accessibility for Deaf Beyond Video Captions & Sign Language
  • Bake Accessibility into Every Project
  • Inclusive and Accessible Co-Creation

AmyJune Hineline, an Open Source Community Ambassador and winner of this years’ Aaron Winborn award, gave a presentation on how “Accessibility is a moving target”. AmyJune walked us through embracing accessibility, understanding the high-level principles, and shared tips on designing for accessibility.

  • Perceivable: A user can identify content and interface elements by means of the senses.
  • Operable: A user can successfully use necessary interactive elements.
  • Understandable: Users should be able to comprehend the content, and learn how to use the interface.
  • Robust: Users should be able to choose the technology they use to interact with digital assets.

DrupalCon North America 2021 - Accessibility is a Moving Target, by AmyJune Hineline

In “Accessibility for Deaf Beyond Video Captions & Sign Language”, Svetlana Kouznetsova, an experienced deaf professional providing consulting services to businesses, presented a unique session to demonstrate that not all deaf and hard of hearing people are the same. As the vast majority of deaf and hard of hearing people don't know sign language, they can’t benefit from interpreters, and not everyone can lip read or benefit from hearing devices.

Sadiyah Ali spoke about “An Accessible Digital World” by baking it in from the beginning of the development phase. By ensuring headings, links, images, and focus states are all accessible, you will cover a lot of the requirements laid out by the law. “If you forget to put butter in the batter of a cake, you can’t put it in at the end, similarly digital accessibility is simplest when it’s planned as part of the process.”
 

Diversity, Equity, and Inclusion


Heather mentioned at the beginning of the Driesnote that the Drupal Association has an increased focus on Drupal’s strategic initiatives. One strong Drupal value is to cultivate talent with an emphasis on Diversity, Equity, and Inclusion. Heather shared Drupal's Diversity, Equity, and Inclusion resources found on drupal.org.

There were many wonderful talks throughout the conference, however, the topic that focuses on diversity and inclusion is always more thought-provoking, inspiring and important to me.

  • Allyship - Key to Unlocking the Power of Diversity
  • Building Successful Mentorships for People of Color in Tech
  • Creating Systemic Change: Digital Rights For All
  • School Needs Open Source, Now More Than Ever

Sheree Atcheson, a global diversity, equity and inclusion leader, gave the keynote entitled “Allyship - the key to unlocking the power of diversity”. Sheree spoke about intersectionality, being an ally and allyship, along with the tools to aid you and your organisation to improve your DE&I processes. Sheree explained that an ally is any person that actively promotes and aspires to advance the culture of inclusion through intentional, positive and conscious efforts that benefit people as a whole. Allyship is a lifelong process of building relationships based on trust, consistency, and accountability with marginalized individuals and/or groups of people. It is a continuous and consistent process in which you need to educate yourself by following and learning from people different to you.

“Most importantly - listen, support, self-reflect, and change.”

DrupalCon North America 2021 -Allyship - Key to Unlocking the Power of Diversity, Sheree Atcheson

Byron Woodfork, a senior software engineer, spoke about “Building Successful Mentorships for People of Color in tech”. Byron explained that we must change the way we mentor as traditional teaching methods will not work for minorities. Help build a mentor network to give a diverse and supportive community for your mentee to learn and grow from. Build trust with your mentee by providing quality feedback, coach and counsel your mentee by listening to them. Mentoring is really hard work, and you will get things wrong, but the important thing is to learn from your mistakes and improve upon them for the future.

Stu Keroff and his students of The Penguin Corps, Aspen Academy's Linux Club, gave the final session entitled “School needs Open Source, now more than ever”. Maya began the keynote by announcing the Penguin Corps pledge: What are we trying to do? Change the world! How do you change the world? Be crazy enough to think you can!

Stu then gave a brief history of how he set up the first two Linux clubs in Minnesota, and how the penguin corps has grown year after year, from 15 members to over 50. The equation is simple: open-source software + user computers + enthusiastic kids = more students learn! The talk was my favourite and I look forward to learning more about the growth of the Penguin Corps.

DrupalCon North America 2021 - School Needs Open Source, Now More Than Ever, by Stu Keroff

A Final Word


Overall, the conference has proven that splitting the schedule to accommodate a shorter day of interesting sessions coupled with a half-day of contribution has been a healthy balance to avoid “Zoom fatigue” and to keep all attendees engaged and motivated.

As always there was a great deal to learn and share, and of particular value were the sessions on Accessibility. At Amazee Labs, we offer Accessibility audits so reach out to us if you want to create a better User Experience and ensure your site is compliant.

If this resonates with you and you’re as passionate about Drupal and the open-source community as we are, get in touch today!

Mar 25 2021
Mar 25

DrupalCon North America 2021 is just a few weeks away and we’re excited to spend some time learning, building and connecting with the open source community. The event will have more tips and best practices for upgrading to the latest version of the platform – Drupal 9. There’ll be a ton of actionable advice and success stories from experts in marketing, demand generation, and content development to help marketing teams collaborate effectively and improve results and more!

Join us at the most widely attended Drupal event in the world for an amazing programme that features educational, networking, and contribution opportunities for all. With thought leaders featured daily and industry-specific summits featuring deep-dive discussions into issues relevant to nonprofits, higher education, and government. You don’t want to miss out on all the great opportunities to learn and grow. 

Be sure to check out our session with Amazee Labs Backend Developer, Nick O’Sullivan.

Gatsby is a popular static site generator that uses React, and it’s a perfect match for a decoupled Drupal architecture to create lightning-fast websites. Learn how to utilise Drupal’s exceptional multilingual features to produce a fully localised Gatsby site in Nick O'Sullivan's talk Decoupled Translations with Drupal and Gatsby – on Tuesday, April 13th from 1:20 PM to 1:50 PM ET.


Whether you’re new to Drupal or a long-time enthusiast, you’ll find valuable information, skills, and connections you can build on after the event. At DrupalCon 2021, you can learn how to use Drupal from the best and most experienced people in the field. There’s still time – register today
 

Mar 09 2021
Mar 09

Gatsby Conference took place from March 2nd to 3rd, 2021 and was a free virtual event. Designed as a way for the Gatsby community members from all over the world to connect and listen to various talks, participate in free workshops, as well as hear the four big announcements from the Gatsby team.


Keynote

Kyle Matthews, CEO and founder of Gatsby, opened the conference with the keynote. Kyle told us that people come to Gatsby for the websites, but stay for the ecosystem, much like Drupals’ “come for the code, stay for the community.” Kyle mentioned that great developer experience (DX) enables a great user experience (UX), which is why they are focused on improving their developer tools. Kyle then explained that the Jamstack provides a very good developer experience, however, content management systems (CMSs) provide marketers with a far better experience than the Jamstack. Gatsby aims to cater to both: developers and marketers.

GatsbyConf. Great DX enables great UX. Powerful, developer tools and workflows; Fast sites powered by static assets and CDNs; Unified data access to your content via plugins.
 

Gatsby enables marketers and developers to achieve the same fast, effective workflows. Whether that’s branching and editing some part of the website, or collaborating with colleagues on new content pages, previewing the updates, and then publishing those changes to the web.

Kyle then went on to make the four big announcements:

  • Gatsby Cloud Hosting powered by Fastly, a world-class content delivery network (CDN)
  • Gatsby v3.0, bringing faster builds
  • Gatsby Source Plugin improvements: WordPress with GraphQL, Shopify, and Contentful
  • Gatsby Image, next-gen image component bringing better Lighthouse scores and improved DX
     

GatsbyConf. Gatsby Image; Gatsby Cloud Hosting; Gatsby v3.0; Contentful Source Plugin; WordPress Source Plugin; Shopify Source Plugin

Learn


Dustin Schau then gave an update entitled the “State of Gatsby: What’s New and What’s Coming” - whereby he mentioned that the web of old was static with fault-tolerant HTML, styling and images. There were a lot of benefits of the static web, but then came the CMS revolution which transformed what the web can do. The rise of the CMS enabled building a website without being an expert and allowing content creators to own the complete experience of their website.

Then came the rise of the decoupled CMS which ushered in a new era for the web, user expectations have changed, making rich web experiences the norm and not the outlier. Gatsby enables you to build up rich user experiences with your content from any decoupled CMS as “there’s a plugin for that.”

Gatsby gives you performance and speed by default. It enables you to deliver a great user experience that’s fast and performant which ultimately leads to a website that generates more revenue. Gatsby also has a very high level of accessibility, as well as being optimised for search engines (SEO).
 

Lighthouse data from HTTPArchive (Performance) - Gatsby; Drupal; WordPress; Nuxt.js; Next.js
 

Dustin then demonstrated some of the new features coming to Gatsby such as “serverless functions.” Serverless functions allow developers to move away from monolithic hosting and take advantage of microservices, encapsulating single-purpose code into a function that is then hosted on managed infrastructure. Dustin showcased the usage of a serverless function that would send SMS messages using the Twilio service for his wedding website powered by Gatsby Cloud.


Dive Deeper and Learn More


We then had the pleasure of hearing presentations from Gatsby experts who gave an in-depth explanation of each of the new changes:

  • Laurie Barth - NextGen Images
  • Joel Smith - Gatsby Cloud
  • Lennart Jorgens and Patrick Sullivan - Gatsby v3.0
  • Jack Sellwood and Shane Thomas - Shopify

GatsbyConf. Dive Deeper and Learn More. Next Gen Images: Laurie Barth. Gatbsy Cloud: Joel Smith. Gatsby v3.0: Lennart Jörgens and Patrick Sullivan. Shopify: Jack Sellwood and Shane Thomas.

Laurie took us through a guided tour of the new Image component, demonstrating how powerful it is and how it improves the Lighthouse performance score for existing websites, which will not only improve the site load time but will also help the overall ranking of the website on search engines such as Google. The new Image component is performant by default, outputting the HTML5 picture element tag with a range of source sets for different browser widths (mobile, tablet, and desktop) as well as outputting WEBP and the option to also output AVIF image formats for browsers which support it. The API for the Image component also includes support for aspect ratios, lazy loading, placeholder images, and transformation options without CSS filters.

Joel introduced the new Gatsby Cloud hosting, allowing for instantaneous global deployments using the Fastly CDN network. A modern website is a content-rich client experience built on a component-driven design that is continuously delivered through serverless tooling. Joel showed a short demo of how quickly you can deploy a change to Gatsby Cloud hosting. He then went on to explain the pricing changes to Gatsby Cloud hosting to better accommodate for traffic and build speed requirements that you need for your website.

Shane Thomas and Jack Sellwood talked about the future of e-commerce and how brands love Gatsby, with the improved changes to the Gatsby Shopify plugin. This will enable more businesses to showcase and sell their products online with the speed of Gatsby. Brands grow with Gatsby, millisecond page loads leads to lower bounce rates and SEO-friendly markup leads to more discoverability. With Gatsby’ incremental builds and CMS preview capabilities, brands can rely on building out their new seasonal product-line and internally test it amongst stakeholders long before the go-live date.

Gatsby Connf. Brands grow with Gatsby. Millisecond page loads mean lower bounce rates.

Level Up


Patrick Sullivan and Lennart Jörgens introduced Gatsby v3.0. Patrick explained how Gatsby had over 2000 pull-requests (PRs) merged from over 1000 contributors ranging from over 60 different countries in 2020 – that’s the power of open-source. Lennart broke down the new changes to Gatsby v3.0 with a very informative demo. Support for dynamic URL path pages using curly brackets to pass information down into the Gatsby page functions. Server-side rendering in development (Dev SSR), an experimental feature that will aid developers in testing new features for more dynamic websites that fetch information from the server on load time which is not statically built out, for example, pages that require an authenticated user which then show the logged-in username somewhere on the page. Patrick informed everyone that the migration guide to version 3.0 can be found at https://gatsby.dev/2-3 along with the Image migration guide.

Once the big announcements were made, the conference then split into two tracks of talks from the Gatsby community. Stew West gave a lightning talk entitled “Building Super Fast Search with Gatsby, Google Sheets and GraphQL” which showcases the BlueValue project from Harte Research Institute for Gulf of Mexico Studies. Stew explained how easy it was to utilise the Gatsby plugin system to build out the prototype, then iterate with real data. Using the gatsby-source-google-sheets plugin, Stew and the team were able to provide a simplified CMS using Google Sheets to power the statically built Gatsby website.

What is super great about most Gatsby plugins? They come with amazing docs and they just work! Docs and examples for the win!!

Gamer vs Gatsby

Kyle Gill, Senior Developer for Gatsby took on David 'Kosmic' Livingston, the seven-time World Record holder for fastest completion of the original Super Mario Bros. Kyle planned to bootstrap a Gatsby site from scratch, add styles, some React components, GraphQL queries and pull data from a Gatsby plugin then deploy a production level CDN on Gatsby Cloud while competing against Kosmic who would speed run through Super Mario Bros. It was an epic display of skill and grit, Kosmic jumped right in, using warp zones to skip levels and a trick to slide down a pipe and reach a hidden warp zone. While Kyle had a few shortcuts of his own with VSCode snippets and terminal functions, Kosmic made a small mistake in the final boss fight leaving him to restart the level, giving Kyle the much-needed few seconds to help him win the race.

Kyle Gill, Senior Developer for Gatsby vs David 'Kosmic' Livingston.

Lead

On the second day of the conference, after the big Mario Gatsby race, we then had several different workshops ranging from beginner-friendly “Getting Started with Gatsby” by Megan Sullivan and Obinna Ekwuno, to the more advanced workshops like “The Gatsby WordPress Integration Workshop” by Shane Thomas and Jason Bahl.

I followed along with the workshop titled “Creating an E-commerce Site Using Gatsby” by Tamas Piros, Developer-Experience Engineer at Cloudinary. Tamas walked us through creating a headless e-commerce website using Gatsby with services like Cloudinary and Snipcart.

Short Q&A session with Kyle and Dustin

At the end of the scheduled workshops, we had a short Q&A session with Kyle and Dustin, in which they answered all the questions from the community in regards to the new features and the roadmap to Gatsby's future. They also announced winners of several prizes including a PlayStation 5, unfortunately, I did not win but congratulations to those who did win a prize.

You can find all presentations on Gatsbys’ YouTube account at:

If you want to know more about how we can help you with your Gatsby project, and help take your web presence to the next level - get in touch with us today.

Feb 24 2021
Feb 24

With the end-of-life (EOL) for Drupal 8 closing in fast, we wanted to share our experience on how we have been handling the process of upgrading our client projects to Drupal 9.

The Drupal 8 EOL date is November 2nd 2021. This is because Drupal 8 has a dependency on Symfony 3 which has an end-of-life in November. That means there will be no further security fixes implemented, so to keep your project safe and secure against potential threats, it is strongly advised to upgrade to the latest version of Drupal.

No “migration” needed?!


Correct! With the upgrade from Drupal 8 to Drupal 9 – there is no need for migration; the new features for Drupal 9 were gradually released inside Drupal 8. The main change that Drupal 9 brings is the removal of deprecated code, much like getting a hair-cut.

However, this was not the case with the change from Drupal 7 to Drupal 8. From Drupal 7, there was a multitude of different changes that resulted in requiring a comprehensive and often complex migration. This led to many clients opting for a complete rebuild from the ground up to take full advantage of new features such as “workspaces” that arrived in Drupal 8.6.0.

With the upgrade from Drupal 8 to Drupal 9 – there is no need for migration.

What about contrib modules?


The “Drupal 9 deprecation” dashboard overview shows the overall compatibility status of all contributed modules to the Drupal ecosystem. Over 88% of the top 1000 contrib modules are explicitly compatible with Drupal 9, meaning they have a Drupal 9 release.

Additionally, more than 50% of all Drupal modules are compatible with Drupal 9, and a further 20% require only the info.yml file and/or the composer.json file to be upgraded to make them compatible with Drupal 9.

How do we upgrade our projects?


At Amazee Labs, we deal with a diverse range of clients – all of which have their own distinctive requirements – so we  construct elegant solutions tailored to their unique business needs.

With such a diversity of projects, we developed a solid plan to upgrade each project to Drupal 9. Our maintenance team’s strategy involves the following three stages:

  1. Analyse
  2. Tackle
  3. Deploy

Two construction workers standing on scaffolding.

Analyse


The Analysis stage involves scanning the project server and codebase to identify the complexity of the upgrade process. Some of the information we gain from this analysis answers the following questions:

  1. What version of PHP is the server using?
  2. What version of Drupal Core is installed?
  3. Is the Drupal Core Media module enabled?
  4. How many contrib modules are installed?
    - How many of those contrib modules are outdated?
  5. How many custom modules have been created?
     

We have a few pre-conditions that the project must pass before we can continue:

  1. The server is running on PHP version 7.4
  2. Drupal Core 8.8.x is installed or ideally the latest release from the Drupal Core 8.9.x branch
  3. Drupal Core’s Media module is enabled

If we have detected that the PHP running on the server is lower then version 7.4, then we need to update this first. If the project is hosted on Lagoon, by amazee.io, then this is generally a breeze to update, as it is highly developer-friendly.

If we detect an older version of Drupal Core released before version 8.8.x, then we create a task to upgrade Core to the latest 8.9.x version. Within the web maintenance team, we have taken over some very outdated projects and meticulously updated each one, always involving the client within our Agile workflow, to build trust throughout the entire development process.

To ensure Media in Core is enabled, the process to migrate from the contrib Media Entity modules to Drupal Core Media is outlined over on the FAQ page on drupal.org.

During this initial investigation, we install the Upgrade Status and Upgrade Rector modules, then generate a report containing information on what modules require updating. Furthermore, we generate fixes for deprecated code in the custom modules.

Analysis report.

Tackle


With our web maintenance service offering, we ensure the longevity and reliability of our clients’ projects by keeping their websites up to date and secure.

With the results from the analysis stage, we then create individual tasks to tackle the challenges that lie ahead. The drupal.org documentation has some information on how to upgrade from Drupal 8 to Drupal 9 or higher.

The Upgrade Rector module helps us to perform automated fixes on the codebase. For contrib modules that lack a Drupal 9 release, we contribute back to the community by submitting fixes and collaborating with maintainers to aid them in releasing a new version of their module.

Many Open Source communities have found that to support their growth and ensure long-term sustainability they’ve opted to utilise platforms that pay contributors or embrace corporate sponsors. Underrepresented groups, in particular, do not always have the privilege of free time to contribute to Open Source outside of work hours. At Amazee Labs, we can take advantage of providing contributions to the Drupal community during work hours. Gábor Hojtsy has an extensive overview of articles aimed at helping to push contributed modules to a successful Drupal 9 release.

Two teams in a rugby scrum.

Deploy


So we have gone through and analysed the code, updated the modules and exported the configuration, now how do we deploy our changes to the production environment?

Our workflow for the majority of our projects tends to be as follows:

  • All projects have at least two environments:
  • A production git branch, often named “prod” for short
  • A development git branch, often named “dev” for short

Here is our 13-step guide:

  1. A developer first checks out the project codebase locally.
  2. The developer then fires up a local instance either with Docker or with native PHP.
    - For Docker, they would either use Pygmy or Lando’s Lagoon beta. For native PHP, they would simply run “drush serve” with an SQLite database.
  3. The developer then creates a feature branch on git from the latest changes on the prod branch.
  4. Using the composer tool, the developer upgrades the necessary modules as well as upgrades Drupal Core.
  5. Then they run the update database command in Drush and export the configuration changes.
  6. After this, they commit all changes: configuration changes, composer JSON and lock file changes, as well as any other changes to the custom modules or custom theme.
  7. They push their local git branch to the remote origin and create pull-request into the prod branch.
  8. If PR environments are available, then this would automatically spin up a new environment with all the changes, ready to be tested by another developer.
  9. If the project does not have PR environments available (i.e. if it is not hosted on Lagoon), then the developer will merge their changes into the development environment so that another developer can test.
  10. If the second developer does not find any specific issues during their testing process, then the project manager is informed that they can test the changes with the client.
  11. If the project manager and the client find no specific issues with the changes, then the pull-request is approved for deployment to production.
  12. The original developer is empowered to deploy on their own (but the team is always there for one another). The developer will trigger the deployment by simply merging the pull request they made into prod.
  13. Once the deployment is completed, the developer informs the project manager and client that their website is now running on the latest version of Drupal.

Rocket launching at the Kennedy Space Center, United States.

Accomplishments


Once we have gone through and updated the modules, upgraded Drupal to the latest stable release, and deployed everything to the production environment, then...we celebrate our accomplishment internally with the rest of the team – a job well done!

In retrospect, the upgrade from Drupal 8 to Drupal 9 is a piece of cake compared to the upgrade from Drupal 7. It feels like we are modernising the website in small bites instead of trying to gobble down a brand new refreshed website all at once.


Ready to talk about your upgrade needs? Whether you’re operating on Drupal 7 or 8, We’re ready to help. Get in touch with us and upgrade to Drupal 9 today!

Feb 03 2021
Feb 03

Thanks to all the hard work of the organiszers, speakers, attendees and, of course, contributors from the open source community. Without a doubt, DrupalCon Europe 2020 was a great time for everyone who was able to attend and an excellent opportunity to share and sharpen our experience design, web development, and web maintenance skills. Of course, the on-going mission to improve all things open source and Drupal 9 projects continues, so if you weren’t able to attend the event, missed a few sessions that you weren't able to fit into your schedule, or just want to refresh your memory — we’ve got you covered. In this article, we’ve pulled together the replays of our best sessions for you to watch — all in one easy place!

Catch Nick O'Sullivan's “Decoupled Translations with Drupal” and learn how to utilise Drupal’s exceptional multilingual features to produce a fully localised Gatsby site. 

Learn more about our philosophy and practices from the "Sustainable Practices for Building and Maintaining the Open Web Panel" with Amazee Labs Lead Engineer – Philipp Melab. 

Learn how to add end-to-end tests to your Drupal site in just one hour using CypressIO under the cool tutelage of Senior Developer – Fran Garcia-Linares.  


Dan Lemon tells the story of how CelebrateDrupal.org came to be, in his talk “Building a platform to bring people together to Celebrate Drupal” and joins the conversation in the Workshop and Retrospective: How did the COVID-19 crisis affect client relationships and what can we take out of it? 


 

Want to know more about how we can help with your project? Drop us a line and talk to one of our web consulting experts today!

Jan 20 2021
Jan 20

I was very happy (and proud) about this achievement – so decided to do it again in 2020! This time I encouraged other people to join the channel and try the challenge with me. More people jumped in and together, as a group, we contributed to the Drupal project and modules that we use in our day-to-day work. 

Not only Amazee developers and project managers joined the challenge. One job application we received referenced our #12months12patches Challenge blog from 2019. That applicant ended up joining Amazee Labs a few months after, and then, of course, became an active contributor of the channel!

Our contributions were focused mostly on Drupal modules, but we also worked on Drupal related projects (i.e.: Lagoon). We got some great ideas for new modules from the project managers ("Something like this would help the client to...") and shared tips on how to find issues to contribute to more often (i.e.: whenever you install a new module on a project, look in the issue queue and try to help with some of the reported issues).

Drupal Patches

Overall, it was a real team effort and a great experience. As you will see below, the number of patches grew considerably, compared to the first installment of the challenge. Let's have a look to see what each month was like. 

These are the different patches (and modules) made by different Amazee's throughout the year.

January

February

March

April

May

June

July

August

September

October

November

December


Again, I couldn’t be happier that we achieved the challenge goal, and best of all, we did it as a team – by encouraging and helping each other. Looking forward to doing it all again in 2021!

If you're also keen to contribute to Drupal, don't miss out on Drupal Global Contribution Weekend, 29 - 31 January 2021 - events are happening world-wide. Happy coding!

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 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!
 

Nov 20 2020
Nov 20

In part 1, I covered the basics of how Amazee Labs thinks about Maintenance and the way we approach automating the parts of the process that are repetitive. I also introduced three categories of problems, as well as the two kinds of maintenance engineering.

In part 2 of this two-part series, I’ll introduce the automation of problem detection and resolution. I’ll also introduce Lagoon Insights and the Amazee Labs Maintenance Tooling. Finally, I’ll explain how this all comes together in our service offering.

Automation of problem detection and resolution


When it comes to corrective maintenance, automation almost always focuses on problem detection. If corrective maintenance has been engaged, it's a good indication that there either wasn’t a preemptive maintenance plan, the preemptive maintenance plan just didn’t cover the particular problem, or the preemptive maintenance plan failed entirely.

Preemptive maintenance is a bit more nuanced due to the fact that it's related to planning maintenance to reduce the chaos of managing corrective maintenance interventions.

The following table breaks down how we think about the automatability of the problem categories we introduced earlier.

Table for Automation of problem detection and resolution
However, when it comes to fixing these problems, unfortunately, the fixes are almost impossible to automate. This is where we bring in engineering expertise to resolve the problems. Performance problems: Because these problems are almost always related to operational expectations not being met, the problem detection can be automated. SEO goals, accessibility targets, conversion rates, and technical performance are all covered by pretty great tools that are operated by experts in these fields. 

Reliability category: As mentioned, reliability is the site's propensity to be available when someone tries to use it. Again problem detection is highly automatable. When a site goes down due to platform or infrastructure problems, often the hosting provider will alert you automatically. In most cases with a reasonable quality hosting provider, the problem will be resolved without the maintenance teams involvement. 

Resolutions for reliability problems relating to application configuration or application code can often be automated as well. For instance, one of the policies can remove administrator roles from Drupal users that might have been granted the role by mistake.

Security category: Security problem detection is also highly automatable. This of course does not entirely negate the effectiveness or need for penetration testing or security audits. But a lot of potential problems can be detected. Additionally, the application of updates and patches in the security category is also highly automatable in the right environment. The caveat here is that to achieve this at a reasonable scale, the sites themselves need to meet certain configuration, architecture, and hosting requirements. This category really brings the “cattle not pets” analogy to bear.

Amazee Labs Tooling and the Lagoon Insights


Large parts of the maintenance automation that we have built rests on the Lagoon Insights components of the amazee.io open-source container-based hosting platform. We co-developed a lot of the features in Lagoon Insights along with amazee.io, and contributed these features to the Lagoon Open Source project. 

Although sites hosted on Lagoon benefit from tighter integration with the insights systems, the Amazee Labs tooling has been developed to be interoperable with hosting providers such as Acquia Cloud, Platform.sh, and Pantheon, as well as legacy infrastructure where Drush can execute commands.

Problems Insights
The problems insights component provides a robust database and API for storing and querying detected problems in an appropriate data structure. 

Facts Insights
While most of this article has focused on problem detection and resolution, another aspect of maintenance engineering is to be able to quickly query and collect fact-based information about the systems under maintenance. So for example, while a problem might be phrased as “The webform module needs a security patch applied”, a fact would be “The webform module is on version 8.3.1”. Facts are objective details about the systems, whereas problems are by their nature the opinionated siblings of facts.  

Scanners
There are four systems that collect the information to populate the Problems and Facts Insight databases.

Drutiny: Drutiny is a generic Drupal site auditing and optional remediation tool. 
Fun Fact: The name is a portmanteau of "Drupal" and "scrutiny." 
Another fun fact: Due to its extensible architecture, we can extend Drutiny to scan more than Drupal sites!

Harbor: Harbor is an open-source trusted cloud native registry project that stores, signs, and scans content. Harbor extends the open-source Docker Distribution by adding the functionalities usually required by users such as security, identity and management. Additionally, Harbor has the ability to do vulnerability scanning. Harbor scans images regularly for vulnerabilities and has policy checks to prevent vulnerable images from being deployed.


Trivy: Trivy is a simple and comprehensive vulnerability scanner for containers and other artifacts, suitable for continuous integration environments. The Harbor Scanner Adapter for Trivy is a service that translates the Harbor scanning API into Trivy commands and allows Harbor to use Trivy for providing vulnerability reports on images stored in Harbor registry as part of its vulnerability scan feature.

Fact collectors: We have developed several approaches to automatically scanning a site for the facts that we are interested in. We collect everything from PHP versions in use through to module version, Drupal core version, enabled user counts, etc

Notifications: Finally, the notification engine radiates the information collected and stored in the problems database, and radiates it to any of the notification types supported by Lagoon. We typically use Slack for this.

Putting it all together


Having covered both the way we think about maintenance automation and the tools involved in it, how does this all come together in our Managed Web Maintenance service?

When it comes to automation, we always ask: “Are we automating problem detection or problem resolution?”. And of course, sometimes we’re automating other parts of our process, but mainly we focus on problems.

For performance problems, we integrate certain 3rd party tools to detect conversion issues, accessibility issues, page speed issues, etc. Detected problems are analysed by our maintenance team, and are dealt with on a regular basis.

For reliability and security problems, we have developed a number of our own Drutiny policies and facts scanners. These range from detecting if certain modules are enabled on production sites, through to automated checks of broken links or commonly misconfigured modules. While a fair percentage of the problems are dealt with manually, we’re now in the stage of automating problem remediation for security-related issues. This means, automatically updating code bases, running automated tests to confirm the sites critical paths are still operational, and committing the changes to production.

We also rely heavily on Harbor and Trivy to provide us with an infrastructure level view of the software underlying the Drupal instances we maintain. Detected problems are regularly analysed by our engineering team, and remediation plans are presented to customers for execution.

As we continue to develop and extend our maintenance service, our maintenance engineers work on both developing automated ways to detect and resolve problems, as well as doing the manual work of the human intervention when it's needed. This provides the maintenance engineers with critical information on what to automate next, and which features would be the most valuable for the largest number of sites in our portfolio.
 

Did you know? 


The Amazee Labs Managed Web Maintenance Scanning Software performs 

  • Drupal core status, contrib module status, and best practice drupal configuration scanning
  • Application dependency (Symfony, 3rd party libraries, etc) security scanning
  • Container security scanning for customers using containers
  • Performance and uptime monitoring
  • Automatic HTTPS Certificate validation

Our systems can be configured and augmented to perform custom checks specifically for your website context.

Do you have one or many Drupal sites which are missing a preemptive maintenance strategy?
Do you want to learn more about this maintenance service and how it can solve your maintenance pain?
Then reach out to us and let's chat!

Oct 22 2020
Oct 22

Through a mix of our deep technical experience, our solutions orientated approach, our commitment to maintenance and reliability, and our technology stack, Amazee Labs is well-positioned to be the solution provider for your next enterprise digital project.

Let’s take a look at the reasons why enterprises are putting their trust in Amazee Labs and our Open Source Tech Stack over Adobe Experience Manager.


What is the Amazee Labs Open Source Tech Stack?


As you would have guessed, the golden thread that ties our technology stack together is that all the tools in our stack are completely open source. 

Our approach speaks to the fact that information and content have become some of the most valuable resources for many organisations. Consequently, we believe that the technology supporting your business’ digital presence is not just providing the virtual business card or magazine it once was - it is now both a vault and scaled distribution system for some of your most valuable communication tools and assets.

By dissolving traditional dependencies between content management and content presentation, you gain the freedom to build user interfaces that speak to your specific audience, meeting them where they are at, and providing them with what they need.

Graphic representing the Amazee Labs Open Source Tech Stack

At the core of our Open Source Stack is the Drupal CMS, which is integrated with an open source search engine to support dynamic and fast content search systems. 

Next in our stack, we use Gatsby to power your website front-end. Gatsby is a Progressive Web App generator. The Gatsby front-end builder creates a front-end application that is lightning fast, and hugely scalable. 

Finally, being deeply embedded in the Drupal ecosystem for over 10 years, we have seen multiple hosting providers come and go. The hosting layer in our stack is run by our sister company amazee.io. Their open-source, cloud-native application delivery platform - Lagoon - powers thousands of websites in the UK, Europe, the USA, Australia, New Zealand, and Japan. The list of locations is growing all the time. 

And yes, Lagoon is entirely open source.

Before we get to answering the question of why enterprises are trusting Amazee Labs and our Open Source Stack over Adobe Experience Manager (AEM), let's take a quick look at the AEM software stack.


What is Adobe Experience Manager?


Adobe Experience Manager (AEM) is Adobe’s enterprise-grade content management solution for managing and deploying digital content. 

As you would expect from any enterprise offering, AEM can deploy content directly to HTML in traditional web architecture, and can also be deployed as a headless CMS to drive decoupled websites, mobile applications, or really any application that you’d like to consume your content. What you may be surprised to learn is that Adobe Experience Manager also rests heavily on an Open Source base.

Argil DX provides a good overview of the AEM architecture in their post about The Open Source Core of AEM, but here are the highlights to support your comparison. The AEM stack comprises three key components which are all Open Source:

  • AEM Core rests on a Java Content Repository (which is based on the open-source Apache Jackrabbit project).
  • The modular architecture of AEM is provided by OSGi (Open Services Gateway Initiative), an open-source framework which is implemented as Apache Felix, which is supported by Adobe developers as well.
  • Apache Sling provides the RESTful architecture and an open-source web framework, which communicates with the Content Repository. 

In addition to these core components, AEM also works with several other Open Source projects such as MongoDB, Lucene Solr (built on Apache Lucene), and ElasticSearch. Finally, the AEM project is packaged in a multi-module structure, and dependencies, which are managed by Apache Maven.

Points of comparison


Price

If you’re hunting around for your next Enterprise Digital Platform, there is a good chance that you landed here with the preconception that Open Source is your cheaper option. 

On the surface, you’d be right. 

Adobe Experience Manager uses an enterprise licencing model, much the same as the other software and tools likely to be found in your enterprise. You can expect to pay at least 
$40,000 in annual licence fees for AEM and this can scale quickly if you have complex or large scale digital needs.

By comparison, our Open Source Stack will cost you an annual licence fee of precisely zero Dollars, zero Franks, zero Euros, and zero Pounds. Amazee Labs was founded on direct open source principles. This is baked into our DNA. 

However, it would be misleading of us to say that Drupal is inherently cheaper. When looking for your next digital platform, you should take into account the full and total cost of ownership, which includes at least: licences, setup, development and customization, reliability & security (including upgrades), training, and often hosting. 

Factoring all this in, the difference between AEM solutions and our open source solution shrinks. But, we don’t design our solutions to be cheap - we designed our stack to be cost-effective. 

The real difference from a pricing perspective - what you gain from our open-source solution (and any open-source solution, really) - is the freedom to choose what matters most to you. 

If you have complex needs, our solution scales to match. If you have simpler needs, we have that covered as well. You pay for the commensurate value the solution adds to your business right from the start. No bloat, and no unnecessary overhead licensing costs.

Development, customization, and extensions

Adobe has a network of deeply skilled agencies and partners that can implement Adobe Experience Manager for you. One of the challenges, however, is that to truly benefit at an Enterprise level, you often need to (or will be encouraged to) combine more of Adobe’s software and tools together, driving more and more vendor lock-in.

We have open source running through our veins, and vendor lock-in runs deeply against our company culture and values. Our approach to development is to use tried-and-tested plugins and modules where possible but to make sure they come together in a coherent and holistic way. And if you have a specific requirement, we can build that for you. 

With Drupal at our core, you’re able to configure complex editorial experiences and workflows. You’re able to support separate authoring and publishing environments and to preview what content changes might look like before pushing them to production. You can even create centrally developed content that can be pushed into separate markets or regions to be customized. Want to see what your regions have changed? No problem, we have that covered as well. Oh, and we routinely support all of this in multilingual environments!

Gatsby lets us consume your raw content, and to transform it for your audience through beautifully crafted website and web application experiences which are lightning-fast, accessible, and future proof.

Reliability and Security

When building custom features for you, we always think about how the software we’re writing will be maintained. One of the criticisms of open-source platforms is that it's easy for modules-and-plugins to get out of control. This is true, but it’s hardly just an open-source problem. “Engineering for maintenance” is required regardless of the platform you’re building on. 

AEM vendors deal with this by curtailing your choices.  
 
We deal with this by proudly being one of the agencies who have a maintenance team that stands independently from our development teams. Through our Managed Web Maintenance service, your digital platform’s reliability and security is not an afterthought, but actually, the reason that several people get up in the morning!

Cybersecurity is a key concern for enterprises. Adobe takes the lead in the security provisions of AEM sites. Our Software Stack is backed first by the Amazee Security Team, who are in turn in direct contact with the open-source projects security teams who are tasked with keeping the components of our Open Source Stack secure. Through these relationships, your security team is ultimately made up of thousands of passionate open-source engineers and experts.

Enterprise Innovation


The competitive landscape that enterprises find themselves in is increasingly fast-paced. “Idea today, test tomorrow” is how enterprise digital and communication teams are expected to act. 

While AEM is built on an open-source foundation, it is still very much characterized by a slower and less agile approach to experimentation and changes.

Amazee Labs has a dedicated extension team that will help you plan, design, execute, and measure new features and changes to your digital platform. With our Open Source stack, you can move quickly. 

Scaling


Decades into its existence, open-source solutions are still fighting against the cliche that open-source digital platforms have problems scaling, despite the fact that the vast majority of the internet is in some shape or form resting on vast oceans of open-source software.

Much like Adobe Experience Manager, we achieve scale for your platform through supporting you in planning, configuring, and running your infrastructure. While we support on-premise enterprise hosting, an increasingly popular choice for enterprise clients is to host their infrastructure in the cloud. With Amazee Labs, you can use our cloud - or in the spirit of freedom and choice - you can bring your own!

“Easy to say”, you say? The same systems that run our enterprise platforms, run Australia’s GovCMS. Check out this case study to learn how during the initial months of COVID-19, GovCMS scaled to support: 

  • Traffic up to 168TB/month, highest single day was 8.4TB
  • Hits up to 1.96 billion hits/month, highest single day was 103 million
  • Peak concurrent users on just one single site hit 157,000
  • Peak page views in a single hour was 478,000
  • Peak page views in a single minute was 89,000
  • All while maintaining a 99.9% SLA for the high-profile sites being managed

Why are enterprises choosing our Open Source Tech Stack?


We hope by now, the answer is obvious! 

Enterprises are choosing the Amazee Labs Open Source Tech Stack due to the fact that - while retaining a focus on security, reliability, and agility - our Open Source Stack unlocks your freedom of choice and helps you move quickly. It empowers them to craft beautifully designed bespoke sites and apps. 

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 Tech Stack in action? 

Reach out to us today to arrange a demo and take our stack for a spin!
 

Sep 09 2020
Sep 09

What are the business cases for a decoupled frontend?


Page load speed

According to CDN provider Cloudflare, numerous studies show that page speed results in increased customer conversions1. Walmart found that for every 1 second of improvement in page load speed they experienced up to a 2% increase in conversions2. At Amazee Labs, the main framework we use for decoupled frontends is Gatsby, which is specifically designed to be lightning fast. Running a Google Lighthouse performance audit on a Gatsby v1 starter website returns a 100/100 rating for performance3, which gives your business the very best possible foundation to successfully convert visitors into sales.

Rapid development

Decoupled frontends encourage rapid prototyping and development iterations, meaning functioning features are delivered regularly and the state of a project’s progress is clear. This ties in very well with agile development methodologies, giving the customer clear control over development prioritisation that accurately reflects the needs of the business. It also means that potential changes and adjustments to the original plan can be made early with minimum technical debt, saving money down the line while still delivering a rich and robust feature set.

Granular control of markup

If you’re building a decoupled frontend application, the backend provides the data and the frontend provides the HTML/markup and one cares not about the other. This means that you can optimise your markup for search engine optimisation (SEO), leading to higher brand visibility and conversions in the world’s most competitive advertising arenas. Control over the HTML output of your web application is also great news for entities to whom accessibility is a high priority, such as government departments and agencies. 

Backend agnostic

A Gatsby frontend doesn’t care where the data comes from, as long as the data is available. This means that you’re not tied to any one backend system or technology stack and this allows you to choose the backend system that best suits your business needs. This also allows for incremental backend replacements, since GraphQL is simply a wrapper around any number of data sources and APIs that can be swapped in and out. Fewer dependencies means more flexibility, allowing you to focus on what matters most to your business.

Image of Backend technology stacks that work with Gatsby. Namely, Drupal, Contentful, Wordpress' Rest API and Netlify.

Who should use a decoupled frontend and when?

This option is best for companies who already have a backend system, or who wish to choose a backend system independently of the frontend so as to avoid sacrificing the granularity and flexibility a bespoke frontend provides. It also suits companies who want to be light on their feet when it comes to decisions around features and development spending, enabling them to prioritise what’s most important to their business while staying within budget. Companies who care about SEO and/or accessibility will benefit hugely from the control over HTML output and retaining huge flexibility in the selection of a backend system.

What are the business cases of doing a decoupled frontend and backend together?
 

End-to-end development needs

Amazee Labs offers an end-to-end concept, design, build and deployment service for those businesses who want to leverage the full extent and power of our in-depth experience of building high-quality web apps. We offer UX, design, and branding services with our talented team of creatives led by our highly experienced Creative Director, Thomas Schröpfer. Other services include prototyping, information architecture and content strategy. Coupled with our front and backend development skills, with the possibility of running your apps on our sister company amazee.io’s Lagoon hosting platform, every part of your online business needs can be handled by Amazee, saving you time and money across the length of the project. This significantly reduces collaborative friction between the various moving parts of the project, since all of our internal teams across the companies are used to the same cohesive manner of working together, thereby increasing development efficiency and reducing associated costs.

Image of Amazee Labs End-to-end development needs. Conception, UX and Design, Build and Development, Hosting, and Migration and Maintenance.

Planned future growth

You may have a rock-solid business plan that needs some technical expertise to help guide your digital journey from start to finish, keeping future business growth and important KPIs at the forefront of your mind. We can help to identify business opportunities and growth possibilities when scoping, planning and executing your web apps. 

You probably have big plans in the short, medium and long term and our experienced product owners and business development team can help to identify further areas of growth and improvement from a technical perspective and help you make the most informed, data-based development decisions. Making use of the full range and breadth of our experience with both backend and frontend development, our team can guide you through smooth phased development iterations and milestones over multiple territories, markets and frontends in projects that can span weeks, months or even years meaning that your online presence is in a safe pair of hands, leaving you time to focus on building your actual business.

Migrations and maintenance

Many of our “full stack” decoupled customers come to us with some existing combination of an ageing, slow frontend and often difficult to use, buggy and unwieldy backend that seems to rack up maintenance costs associated with longstanding technical debt and the inflexibility of ageing systems. Because of this, we’ve become experts in migrating large amounts of content and other business-critical data between older versions of Drupal (and other non-Drupal based systems) to properly architected and designed instances of Drupal while replacing the frontend with something modern and fast that also looks the part.

At Amazee Labs we have hugely experienced maintenance and extensions teams that can handle replacing your web application component by component, while constantly improving the quality and reliability of your codebase. This enables you to retain the best parts of your web app outwardly and reduce technical debt and bugs, saving money to deliver actual features that provide a return on investment for your business.

Progressive decoupling

Sometimes our clients want to leverage the power of decoupled architecture but don’t wish to go fully decoupled straight away, as we help them assess and plan their next strategic moves in the digital space. In these instances, Amazee can deliver our unique “progressively decoupled” Drupal instances that offer all of the power of a well-architected Drupal application with the flexibility and granularity of a modern and abstracted frontend4. The business benefits of this are very clear - keep the technical requirements of the project simple and low cost while at the same time, allowing the system to be extended, improved and adapted quickly and easily with any number of options in the future. This option encourages agility in decision making since the initial decision is lower risk and opens up numerous opportunities for growth in the future.

Who should use a full-stack decoupled app and when?

It goes without saying that the advantage of going fully decoupled combines most of the advantages of building both standalone front and backend applications in a cohesive package. Instructing Amazee Labs to build your full stack decoupled web application allows you to leverage the 100+ years of development experience within our various multidisciplinary teams, meaning a unified vision, rock-solid requirements on a business and technical level and all of the efficiencies in terms of cost and time savings thanks to our close-knit product and development teams. 

At Amazee Labs, we believe in using the right tools, processes and paradigms for the job at hand. We also understand that our clients rely on us to not only offer them a first-rate technical solution but to understand what potential solution offers the best overall value to their business. The business cases for a decoupled frontend are clear and obvious. The keyword here is speed, but not just because your content will be served to your customers lighting fast. 

Decoupled frontend applications help us streamline development and the associated processes, enabling us to deliver more robust features much more quickly. Thanks to this iterative nimbleness during development, your business requirements and technical requirements become more aligned, meaning fewer costly changes further down the pipeline.

Beyond their many technical benefits, full stack decoupled applications - those that leverage Amazee Labs’ full breadth of experience in developing both front and backend systems - really come into their own in terms of cost-effective development and return on investment. The reasons for this are simple - we have straightforward and collaborative architectural and development processes that our internal teams and client teams all adhere to, meaning clear communication of expectations and high-quality requirements shared between all stakeholders. 

Of course, having an agency of experts on both sides of the decoupled divide also means knowing that your project development is in a very safe pair of hands, especially since our developers are supported by an incredibly experienced and talented team of project management, UX, design, strategy and business development personnel. 

We offer all of these services to our clients so you can get the right people from our side embedded in your processes. Let us build your decoupled website and your decoupled web strategy so that you can get maximum value from your development team and save time to focus on driving your business. We’ll build you the decoupled web experience you want and need, and make it worth your while too. 

Ready to talk about your project? Get in touch with us today.
 

https://www.cloudflare.com/en-gb/learning/performance/more/website-performance-conversion-rates/
2 https://medium.com/@vikigreen/impact-of-slow-page-load-time-on-website-performance-40d5c9ce568a
3 https://www.gatsbyjs.org/blog/2018-10-03-gatsby-perf/
4 https://www.google.com/search?q=amazee+labs+progressive+decoupling
 

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