Planet Drupal

Subscribe to Planet Drupal feed
Drupal.org - aggregated feeds in category Planet Drupal
Updated: 4 hours 17 min ago

DrupalCon News: DrupalCamp Spain on June 3 to 5 in Zaragoza

Thu, 2022-05-19 16:35

One week of Drupal presentations, trainings and networking. 3 to 5 June.

Categories: FLOSS Project Planets

Promet Source: 10 Reasons to Love Drupal 9

Thu, 2022-05-19 12:54
Next month marks two years since the release of Drupal 9, and among the hundreds of thousands of site owners who have migrated, there’s a general consensus that D9 is a bit of a masterpiece with unrivaled scalability, security, and flexibility. 
Categories: FLOSS Project Planets

Evolving Web: Join the Evolving Web Team at DrupalCamp New Jersey 2022

Thu, 2022-05-19 12:24

DrupalCamp New Jersey has been held annually since 2012, and this year, as the event’s diamond sponsor, Evolving Web will be there hosting a number of sessions on various subjects, ranging from Drupal migration to user experience and project estimations.

One Day to Learn About All Things Drupal

In 2022, DrupalCamp NJ is focusing on topics of interest to Drupal users with a range of experiences and responsibilities. Topics include performance, accessibility, design, decoupled architectures, and much more. The camp will be one day full of activities, with 20 sessions and many opportunities to connect, learn, and contribute.

The camp will take place at Princeton University, with which we proudly partnered on several Drupal projects: Princeton International, Princeton University School of Public and International Affairs, and Princeton University Press.

Apart from hosting sessions, the Evolving Web team will be there to connect with other Drupalists, talk about Drupal, discuss projects, and also organize a prize draw for free training: just drop by our booth, leave your contact info, and wait to see if you’re the lucky winner!

👩‍🏫 Boost Your Drupal Knowledge with Our Upcoming Training Courses

Our Team’s Sessions

If you’re planning to attend, you can find DrupalCamp NJ’s full list of sessions. Also, if there’s any topic you’re missing, you can always submit your idea as a Birds of a Feather session, informal gatherings to discuss a certain topic without a pre-planned agenda.

Now let’s take a look at the sessions our team is presenting at DrupalCamp NJ this year:

  • Drupal Project Estimation, for Fun and Profit, by Alex Dergachev & Rukmini Halliwell

Being able to accurately estimate the time required to develop a product or feature is crucial for every Drupal developer. Whether you’re on the buying or selling side of a project, a mature estimation process can make the difference between project success and failure.

In this session, Alex and Rukmini will discuss the mysterious art of software estimation and show our basic Drupal estimation spreadsheet model, based on factors such as the number of content types, number of expected pages, content migration, and other parameters.

  • User Experience: How to Make Design Decisions that are Data-Driven, User-Centric, and Stakeholder-Influenced, by Suzanne Dergacheva

When we design user experiences, decide on information architecture, or prioritize content on a homepage, we must take all useful inputs into account, whether they’re data-driven or coming from a given stakeholder. This is a delicate balance, though, and it’s useful to know which metrics to focus on and what methods help us make different types of decisions.

In this session, Suzanne will talk about user research techniques, the pros and cons of data-driven design and content decisions, how to get the most value out of stakeholder input, and the dangers of “design by committee”.

  • Drupal Loves Composer, and You Can Love It Too, by Kevin Porras

With the Composer Support in Core Initiative, the adoption of Composer by the Drupal community has become wider. However, as good as it is, Composer can be intimidating and even problematic if you lack some basic knowledge.

Kevin will tell you about the basics (and not-so-basics) of Composer, including creating a Composer project, adding dependencies to it, dealing with merge conflicts, dependencies resolution problems, and popular Composer plugins.

  • Any Content Site Can Be Migrated to Drupal: I'll Show You How, by Jorge Diaz

In this session, Jorge will present how five completely different websites were migrated to Drupal. He will map out the process in detail, from the original legacy website to the final end product, giving a full perspective on the migration process.

  • Regression Testing with SiteDiff and Playwright, by Robert Ngo & Alex Dergachev

As part of building and maintaining Drupal projects, code changes and updates are progressively introduced and integrated into the code base. Sometimes, even a small change to a line of code can introduce unforeseen consequences.

To avoid that, regression testing ensures existing functionality continues to work after you make updates. To make this efficient and ensure that tests are run consistently, automating the testing process is essential. In this session, Robert and Alex discuss some use cases for SiteDiff and Playwright, two complementary regression testing tools.

We’re very excited about this year’s DrupalCamp NJ. This will be another great opportunity to learn, build connections, have fun, and make the Drupal community stronger. See you there!

About DrupalCamp NJ 2022

When: Friday, May 27, 2022

Where: Princeton University, Princeton, NJ, 08544

Register for DrupalCamp NJ here

+ more awesome articles by Evolving Web
Categories: FLOSS Project Planets

Drupal Association blog: GAAD Pledge 2022 - Extending Drupal's Accessibility

Thu, 2022-05-19 01:00

Posted on behalf of the Drupal accessibility maintainers.

The Drupal community is again celebrating Global Accessibility Awareness Day (GAAD) but this time we are excited to also announce that the Drupal CMS has taken the GAAD pledge to formalize accessibility as a core value of our framework. Our commitment to accessibility isn’t new, but we are excited to join React Native and Ember JS, previous GAAD Pledgees, to be a public open source leader in pushing forward accessibility to the community.

Digital accessibility is an important issue because so much of our lives are currently mediated through the internet. Globally, over a billion people have some form of permanent disability. Not all people with disabilities face barriers on the web, but when looking at temporary and situational disabilities, they can affect us all. The Drupal community proudly includes people with disabilities. The million or so Drupal sites serve people with every combination of visual, mobility, auditory, physical, speech and cognitive disabilities.

Drupal has been a leader in CMS accessibility for over a decade. Drupal community events (local and global) have had presentations about WCAG and ATAG for nearly 20 years.

Drupal 7 (2011) embraced WCAG 2.0 for both the front-end and back-end of the interface. This is still uncommon for CMSes. As a blind developer, Everett Zufelt was key to bringing the community onboard with this. Everett led many of the early Drupal 7 discussions and became Core’s first Accessibility Maintainer. We were early adopters of ARIA and added limited implementations to Drupal years before ARIA 1.0 was released. We were one of the first CMSes that tried to build standardized patterns designed explicitly to address common accessibility problems.

Drupal 8 (2014) was one of the first CMSes to adopt ATAG 2.0 to support authors in creating more accessible content. We introduced a means to manage aria-live for dynamic content and control the tab order for keyboard-only users. Drupal made many advances in accessibility such as improvements to form errors and requiring image alt text. This release also benefited from the work of Vincenzo Rubano, a blind Italian student who contributed to Drupal Core. In this release we also took on broader adoption of ARIA and started deploying elements of WCAG 2.1.

There is a lot more in the works for Drupal 9 and 10. Drupal 9 saw the introduction of two new accessible themes, Claro and Olivero. Olivero is now our default theme, and named in memory of Rachel Olivero, a stand-out member of the Drupal Diversity and Inclusion community. Rachel, a blind user, also worked with the NFB (National Federation of the Blind) on building their web platform on Drupal. The NFB was generous enough to review this new Drupal theme prior to release.

Drupal was one of the CMSes represented in the We4Authors Cluster, with other CMSes used by governments in the European Union. Drupal is also looking ahead at WCAG 2.2 and WCAG 3.0, with one of our Accessibility Maintainers actively involved in the Working Groups for these guidelines.

We have done a lot, but accessibility is a journey. As long as Drupal continues evolving to keep up with ever emerging internet and accessibility technologies, there will be more to do.

Our 2022 Pledge
  1. Accessibility is a core value of the Drupal CMS, all Drupal websites, and our events (Our community embraces accessibility).
  2. In 2022 we will formally upgrade our standards to WCAG 2.1 AA (Our community process and project governance will continue to align with the latest recommended release of the WCAG guidelines).
  3. We will publish a new coding standards document to clarify our accessibility practices (Accessibility isn’t currently in our coding standards).
  4. Our documentation will be updated to ensure that it includes current best practices (Updating documentation is something that always needs to be done).
  5. We will continue tracking accessibility issues for all Drupal.org projects and tagging them for transparency.
How You Can Help

We also invite everyone to help make Drupal a more accessible framework. There are lots of ways to get involved! Here are a few ideas:

  • Download the latest version (ideally the Git release) and test for accessibility. This could just be using SimplyTest.me.
  • Contribute accessibility bugs that you find back into the Drupal issue queue. Make sure to tag them with “accessibility” and ensure that you have included how to replicate the barrier.
  • Review the modules you are using in your site and contribute where you can to make them more robust and inclusive. Remember to tag those issues with “accessibility” as well.
  • Look through the We4Authors Cluster suggestions and see if there are opportunities to improve the support we are able to provide to authors.
  • Provide feedback to the team by joining the #accessibility channel on the Drupal Slack.

Today we reaffirm our commitment to accessibility by taking the GAAD Pledge. As we continually improve Drupal, accessibility will be a core part of what we do.

Categories: FLOSS Project Planets

The Drop Times: How Can You Make Your Website More Accessible?

Wed, 2022-05-18 22:13
Despite the amazing modules and features there is still more to do. Here is what you can do to make your website more Accessible.
Categories: FLOSS Project Planets

Nonprofit Drupal posts: May Drupal for Nonprofits Chat

Wed, 2022-05-18 15:29

We are looking for an additional co-moderator for this group! Reach out to Jess or Johanna to learn more about what's involved.

Our normally scheduled call to chat about all things Drupal and nonprofits will happen TOMORROW, Thursday, May 19 at 1pm ET / 10am PT. (Convert to your local time zone.)

We'll be getting a report on the happenings at DrupalCon from those who attended, and then having an informal chat about anything at the intersection of Drupal and nonprofits. Got something specific on your mind? Feel free to share ahead of time in our collaborative Google doc: https://nten.org/drupal/notes!

All nonprofit Drupal devs and users, regardless of experience level, are always welcome on this call.

This free call is sponsored by NTEN.org and open to everyone. 

  • Join the call: https://us02web.zoom.us/j/81817469653

    • Meeting ID: 818 1746 9653
      Passcode: 551681

    • One tap mobile:
      +16699006833,,81817469653# US (San Jose)
      +13462487799,,81817469653# US (Houston)

    • Dial by your location:
      +1 669 900 6833 US (San Jose)
      +1 346 248 7799 US (Houston)
      +1 253 215 8782 US (Tacoma)
      +1 929 205 6099 US (New York)
      +1 301 715 8592 US (Washington DC)
      +1 312 626 6799 US (Chicago)

    • Find your local number: https://us02web.zoom.us/u/kpV1o65N

  • Follow along on Google Docs: https://nten.org/drupal/notes
  • Follow along on Twitter: #npdrupal

View notes of previous months' calls.

Categories: FLOSS Project Planets

Tag1 Consulting: D6LTS wind down and D7 extension with Tim Lehnen

Wed, 2022-05-18 07:26

The last two years have been eventful for most of us, and the Drupal community is no exception to that. From the shift to online DrupalCons and their return to in person this year, to new releases of Drupal and the revisiting of old ones, it’s been a momentous time. Drupal 7 was originally scheduled to reach end of life (community support) in November of 2021.

Read more lynette@tag1co… Wed, 05/18/2022 - 04:26
Categories: FLOSS Project Planets

OpenSense Labs: Drupal is Ensuring the Web Accessibility Standards

Wed, 2022-05-18 05:48
Drupal is Ensuring the Web Accessibility Standards Akshita Wed, 05/18/2022 - 15:18

Just like land, air, and water are meant for everyone, the web was designed to work for all people and expel any hindrance, irrespective of the surroundings and capabilities of people. But the effect of incapacity (of individuals) in the light of the fact that the web standards don’t include all in itself has become a barrier. Creating quite the paradox in the situation.

Before completing this blog, my ignorance led me to believe that web accessibility was limited to ‘accessibility only for people with disability’. Another thing that I was coxed to believe was that it is almost synonymous with visibility issues. But it is as much for a person with auditory disabilities as it is for a person with cognitive or neurological disabilities. However, I realized I was not the only one associating such wrong notions with disabilities and web accessibility.

Lack of awareness and taboos associated with disabilities often mislead us.

Ensuring that people with disability have equal and inclusive access to the resources on the web, governments and agencies follow certain guidelines in order to establish equal accessibility for all without any bias. 

What are Web Accessibility Standards and why do they matter?

The Web Content Accessibility Guidelines (WCAG) explains how the web content be made more accessible to people. Here the word "content" refers to any and every kind of information in a web page, such as text (include heading and captions too), images, sounds, codes, markup - anything that defines the layout and framework.  

“WCAG is developed through the World Wide Web Consortium process with a goal of providing a single shared standard for web content accessibility that meets the needs of individuals, organizations, and governments internationally.”

Take examples of physical infrastructures like ramps and digital vision signboards, which can be used by anyone, in a similar fashion web accessibility is for everyone.

When you go out in the noon, the level of contrast can be an issue as much for a person with 6/6 vision as it can be for a person with visibility issues. Or say, older people (due to aging) face problems with changing abilities, as much as people with “temporary disabilities” such as a broken arm or lost glasses. Thus, not only web accessibility standards ensure justice for people with disability but, it is inclusive for all. 

According to the Convention on the Rights of Persons with Disabilities by the United Nations, enjoying equal human rights is a fundamental freedom. To ensure the dignity of people with disability is not a subject of ridicule, governments across the globe signed a treaty for easy web accessibility. 

How does Drupal help?

A person may face an issue either when building a website or when using it. The WCAG ensures that both the times the guidelines are followed. The World Wide Web Consortium (W3C) guidelines are then divided into two: ATAG 2.0 and WCAG 2.0. Authoring Tool Accessibility Guidelines (ATAG 2.0) addresses authoring tools and Web Content Accessibility Guidelines (WCAG 2.0) addresses Web content and is used by developers, authoring tools, and accessibility evaluation tools. 

Drupal conforms to both the guidelines. The initiative started with Drupal 7 accessibility and the community has been committed to ensuring that accessibility for all. 

What Drupal does...

The community has an accessibility team which works to identify the barriers both at the code level and the awareness level to resolve them. As a person using assistive technologies to browse the web, Drupal is built to encourage and support the semantic markup (which comes out-of-box in Drupal 8 now).

One can realize that the improvements are meant for both the visitor and administrator in the:

  • Color contrast and intensity
  • Drag and Drop functionality
  • Adding skip navigation to core themes
  • Image handling
  • Form labeling
  • Search engine form and presentation
  • Removing duplicate or null tags
  • Accessibility for Developers
Modules For Accessibility

Following are some of the Drupal modules which will assist you in keeping up with the accessibility standards. 

  1. Automatic Alt text
    The basic principle at work here is the idea of easy perceivability. Any and every information should be, thus, presented in such a way that is easily perceivable to the user. It is required for any non-text information like images and video to describe the content in the form of text for the screen readers to read it. 



    The Automatic Alt text module automatically generates an alternative text for images when no alt text has been provided by the user. This module works great for the websites and portals with user-generated content where the users may even not be aware of the purpose and importance of the Alternative text. 

    It describes the content of the image in one sentence but it doesn’t provide face recognition. 
     
  2. Block ARIA Landmark Roles
    Inspired by Block Class, Block ARAI Landmark Roles adds additional elements to the block configuration forms that allow users to assign a ARIA landmark role to a block.
     
  3. CKEditor Abbreviation
    The CKEditor Abbreviation module adds a button to CKEditor which helps in inserting and editing abbreviations in a given text. If an existing abbr tag is selected, the context menu also contains a link to edit the abbreviation.

    Abbr tag defines the abbreviation or an acronym in the content. Marking up abbreviations can give useful information to browsers, translation systems, and help boost search-engines.
     
  4. CKEditor Accessibility Checker
    The CKEditor Accessibility Checker module enables the Accessibility Checker plugin in your WYSIWYG editor. A plugin, the module lets you inspect the accessibility level of content created and immediately solve any accessibility issues that are found.
     
  5. High Contrast
    On April 13, 2011, Joseph Dolson published an article "Web Accessibility: 10 Common Developer Mistakes" stating the most common mistakes related to web accessibility and quoted that most of the issues have "more to do with a failure to understand what constitutes accessible content than with a failure to understand the technology"

    In most of the surveys, poor contrast level is often cited as the most commonly overlooked feature by the developers.

    High Contrast module, provides a quick solution to allow the user to switch between the active theme and a high contrast version of it helping them pull out of the problem.

  6. htmLawed
    According to the "Ten Common Accessibility Problems" an article by Roger Hudson, failure to use HTML header elements appropriately is one of the key accessibility issues. 

    The htmLawed module utilizes the htmLawed PHP library to limit and filter HTML for consistency with site administrator policy and standards and for security. Use of the htmLawed library allows for highly customizable control of HTML markup.

  7. Style Switcher
    The Style Switcher module takes the fuss out of creating themes or building sites with alternate stylesheets. Most of the accessibility issues have been confronted at the theming level. With this module, themers can provide a theme with alternate stylesheets. Site builder can add other alternate stylesheets right in the admin section to bring it under the right guidelines of accessibility. Allowing special styling of some part of the site, the module presents all those styles as a block with links. So any site user is able to choose the style of the site he/she prefers.

  8. Text Resize
    The handiest feature giving the end users just the right autonomy to resize the text as per their comfort of the eyesight. The Text Resize module provides the end-users with a block that can be used to quickly change the font size of text on your Drupal site. 

    It includes two buttons that can increase and decrease the size of the printed text on the page.

  9. Accessibility
    A module for the developer, Accessibility module gives you a list of available Accessibility tests, (most of which are) aligned with one or more guidelines like WCAG 2.0 or Section 508. 

    It immediately informs the site maintainer about the missing an “alt” attribute in an image, or if the headers are used appropriately. Further, each test can be customized to fit your site’s specific challenges, and customize messages users see for each test so that you can provide tips on fixing accessibility problems within the context of your site’s editing environment.

Drupal 8 Features for Accessibility 

Other than the modules that can assist you to overcome web compatibility issues, here is a list of top Drupal 8 features for easier web accessibility. 

  1. Semantics in the Core
    When an assistive device scans a web page for information, it extracts the data about the Document Object Model (DOM), or the HTML structure of the page. No further information is read by the screen reader.

    Often these assistive devices only allow a user to select to read the headings on the page or only the links. It prioritizes according to the hierarchy in which the headings and links are presented making browsing easier for users of assistive devices. 

    Drupal 8 is based on HTML5. Presenting new and better semantic components HTML5 is, in fact, one of five major initiatives outlined in Drupal 8 development. It allows theme developers to control where to use the new semantic elements and opt out entirely if they so choose. 

    When we compose semantically correct HTML, we’re telling the browser and the assistive technology what type of content it is managing with and how that information relates to other content. By doing this, assistive technology is all the more effortlessly ready to carry out its activity since it has a structure that it can work with.
     
  2. Aural Alerts
    Often page updates are expressed visually through color changes and animations. But listening to a site is a very different experience from seeing it, therefore, Drupal provides a method called “Drupal.announce()”. This helps make page updates obvious in a non-visual manner. This method creates an aria-live element on the page.

    This also lets the user know of any alert box appearing along with providing instructions to screen reader users about the tone as well. Text attached to the page is read by the assistive technologies. Drupal.announce accepts a string to be read by an audio UA. 
     
  3. Controlled Tab Order
    The accessibility issues also crop when a user uses different mediums while navigating the web. Not every user uses a mouse to navigate the website. The TabbingManager, in Drupal, is an awesome medium to direct both non-visual and non-mouse users to access the prime elements on the page in a logical order. It, thus, permits more control when exploring complex UIs.

    The tabbing manager helps in defining explicit tab order. It also allows elements besides links and form to receive keyboard focus. Without breaking the tab order it places the elements in a logical navigation flow as if it were a link on the page.
     
  4. Accessible Inline Form Errors
    It is important to provide the necessary feedback to users about the results of their form submission. Both the times when successful and when not.  This incorporates an in-line feedback that is typically provided after form submission.

    Notifications have to be concise and clear. The error message, in particular, should be easy to understand and provide simple instructions on how the situation can be resolved. And in case of successful submission, a message to confirm would do. 

    Drupal forms have turned out to be impressively more open to the expansion of available inline form errors. It is now easier for everyone to identify what errors they might have made when filling in a web form.

  5. Fieldsets
    Fieldset labels are utilized as systems for gathering related segments of forms. Effectively implemented label gives a visual diagram around the shape field gathering. This can, to a great degree, be valuable for individuals with cognitive disabilities as it viably breaks the form into subsections, making it easier to understand.

    Drupal presently uses fieldsets for radios & checkboxes in the Form API. This helps towards additionally upgrading forms in Drupal.

Conclusion

However good the features Drupal offers, in the end, it is up to the organizations to strategize and build the websites and applications around the web accessibility.   

We ensure that our different teams and interaction work together in order to make the Web more accessible to people with disabilities. At OpenSense Labs we design and develop the web technologies to ensure universal accessibility. Connect with us at hello@opensenselabs.com to make the web a better place. 

Articles On
Categories: FLOSS Project Planets

Web Wash: Backup Drupal Sites using Backup and Migrate Module

Wed, 2022-05-18 04:39

Backup is an essential aspect for every site but often overlooked. Backup seems time-consuming and unnecessary, but when things happen, it can be a life saver freeing you from unexpected damage. It is a question of how backups can be made quickly, preferably automatically, without taking too much time. In addition, it is also essential to make sure when backups are restored, it works reliably as expected without surprises.

In this tutorial, we introduce a module that helps to provide such a solution.

The Backup and Migrate module can backup the database and files of a Drupal site. The module also provides a restore operation of the backups when needed. It can be easily installed in a Drupal site, and it is free. With this module, the authorized user can perform backup manually or automatically. Backups can flexibly include only the database or user files, or both.

When operated manually, backups can be downloaded immediately in compressed file format, or stored in a safe location in the server. When automatic operation is preferred, it can be scheduled, and the backed up files in compressed format will be stored in the server. The site can be taken offline with a notification message during the backup procedure, and return to normal after it’s completed.

Remember you should never rely entirely on a single backup solution. Things can still go wrong. The backup and restoration process may fail for many different reasons. It’s good to have a second backup system, such as at the server hosting level.

Categories: FLOSS Project Planets

Community Working Group posts: Crafting the 2022 Aaron Winborn Award

Tue, 2022-05-17 11:29

Starting in 2018, the physical award that is presented to the winner of the annual Aaron Winborn Award has been created by a Drupal community member who has volunteered their time and talents. This practice is symbolic of the importance of community service amongst our members - creating a physical manifestation of that value to be presented with gratitude.  

Rachel Lawson (former member of the Drupal Community Working Group's conflict resolution team) created hand-blown glass awards for both the 2018 and 2019 winners, Kevin Thull and Leslie Glynn. In 2020 and 2021, Bo Shipley created the award for Baddý Breidert and AmyJune Hineline

This year, the award was crafted by Caroline Achee and her husband, Louis Achee. Both Caroline and Louis are woodworkers, and often donate their time and skills to community-focused organizations in their local area. 

This year’s award was created from six different types of wood: Maple, Oak, Purple Heart, Padauk, Ribbon Mahogany, and Walnut - representing the diversity of the Drupal community. 

From Caroline:

One issue in creating the award was picking which wood to use based on the amount needed. I wanted to make the award using different woods, which would give it a layered look. The layers would represent the different layers that Drupal has and that the community is a diverse set of people that work together. 

The second issue was, should the award be in a random order of colors (which to me would look weird) or should the order be dark to light or light to dark? Something like how the Drupal code has changed through the years.

After the wood order was determined, the wood strips were stacked and glued, then the shape was cut out. A router was used to round the edges, The scroll saw was used to cut out the eyes, and then a Dremel tool was used to make the nose and mouth.

The Drupal Community Working group and the selection team thank Caroline and Louis for donating their time and talent for this year's award!

If you are interested in crafting a future Aaron Winborn Award, please let us know! drupal-cwg@drupal.org

Categories: FLOSS Project Planets

DrupalCon News: DrupalCamp Poland on May 28-29 in Wrocław!

Tue, 2022-05-17 06:20

15 interesting lectures, BoF, and many other attractions during the biggest Drupal conference in Poland!

Categories: FLOSS Project Planets

DrupalCon News: Drupal Mountain Camp Summer edition from June 23rd - 26th

Tue, 2022-05-17 06:05

The Swiss Drupal Mountain Camp is back for this summer! Come and join us to share knowledge about Drupal and enjoy the Swiss mountains.

Categories: FLOSS Project Planets

Specbee: Auditing your Drupal Website - A Checklist

Tue, 2022-05-17 00:17
Auditing your Drupal Website - A Checklist Kiran Singh 17 May, 2022

If the dramatic evolution of algorithms, hackers and attention spans has you worried sick about your website’s survival, think audit! Your Drupal website needs regular auditing to make sure your site is still healthy, SEO-friendly, secure and performing well. Moreover, there's always an opportunity to improve and make the website more user-friendly. Routinely evaluating Drupal sites helps monitor their overall health and optimize its performance. If you’re responsible for auditing your Drupal website, make sure you read this handy guide.

Why do you need to audit your Drupal website

A website audit is typically performed quarterly as a regular check-up or before a migration.

  • It is important to audit sites regularly to improve its performance and to prepare for future enhancements
  • If you’re migrating your Drupal 7 (or 6) website to the latest version (Drupal 9), a migration audit is absolutely necessary for a successful migration. Read this article for a handy checklist before you migrate to Drupal 9.
  • It pinpoints any issues with the website, offers competitive insights and guides you to the direction of digital fulfillment
  • Drupal regularly releases updates, security patches and other updates in order to improve the website's security, personalization and performance. Regular auditing helps in staying up-to-date with the latest and best practices
Focus areas

A website audit covers a wide scope of elements which includes performance, SEO,  security, site building and more. Make sure you remember the following before auditing your website.

SEO and Performance
  • Check if the Sitemap and Meta Tag modules are enabled and configured properly. This helps search engines to rapidly identify important pages and files on your Drupal website.
  • Check the Robots.txt file in your project's root directory. This file tells crawlers how you want your website to be scanned or indexed.
  • Ensure that image formats such as WebP and AVIF are used. They offer superior compression than PNG or JPEG, resulting in faster downloads and reduced data usage.
  • Make sure the server's initial response time isn't excessively long. Themes, modules, and server requirements all have an impact on this. To reduce the time the database takes to process queries, use Redis or Memcache on the server for memory caching. Optimize the application logic to prepare pages faster.
Security
  • Always keep your Drupal core up-to-date.
  • To limit the possibility of web application vulnerabilities being exploited, use the Security kit contributed module.
  • Move all important files from the public folder to the private folder and update the permissions on the private folder. This is very important as an attacker can change the file path to access various resources, some of which may contain sensitive information.
  • Use of the Password Policy module. Attackers can easily guess weak passwords and gain access to the system, thus stealing all of the information and destroying or altering valuable data.
Site Building Overview
  • Configuration Management  - Make sure the config sync is properly set (see below).

Synchronize Configuration

  • Uninstall modules that have been installed but are not in use.
  • Make sure there are no errors in the console.
  • Fix all Drupal errors & warnings that appear in status reports (see below).

Status Report

  • Security Updates for all contributed modules should be applied.
  • Gitignore should be set up appropriately and all dependencies should be managed through the composer rather than Git. Make sure Git does not contain directories like vendor, contrib theme, contrib module, or Drupal core.
Best practices and Tools

Follow Drupal’s coding standards and best practices. Coder can help you with this. It is a command-line tool that scans custom modules and themes for compliance with the Drupal coding standard and generates a report. This is a very good measure of code quality.

You can audit your website using Lighthouse Chrome DevTools. It gives you valuable insights of your website’s performance, SEO standing, accessibility, speed and more.

Lighthouse Chrome dev tools

Site audit is a super useful Drupal module that helps generate an analysis report on various areas of your website. It also offers best practices and recommendations based on the analysis.

Site audit module

Leverage the Security Review module when you want a checklist of all security vulnerabilities and issues you should be aware of. It runs a ton of checks on your website before generating a comprehensive security report.

Security Review module

We hope this checklist has helped you keep track of your website’s performance and things that need to be done to improve its overall health and security. If you need expert help in performing a thorough audit on your Drupal website (FOR FREE!), just send us a message and we’ll get back to you soon.

Drupal Development Drupal Planet Subscribe to our Newsletter Now Subscribe Leave this field blank

Leave us a Comment

  Recent Blogs Image Auditing your Drupal Website - A Checklist Image Get started with JMeter for Performance Testing your Website Image Everything you wanted to know about Pair Testing Want to extract the maximum out of Drupal? TALK TO US Featured Success Stories

Upgrading and consolidating multiple web properties to offer a coherent digital experience for Physicians Insurance

Upgrading the web presence of IEEE Information Theory Society, the most trusted voice for advanced technology

Great Southern Homes, one of the fastest growing home builders in the United States, sees greater results with Drupal 9

View all Case Studies
Categories: FLOSS Project Planets

Talking Drupal: Talking Drupal #347 - GitLab CI

Mon, 2022-05-16 14:00

Today we are talking about GitLab CI with Chris Wells.

   

www.talkingDrupal.com/347

Topics
  • CI
  • GitLab CI
  • What is Drupal transitioning from?
  • Benefits of CI
  • Key concepts and terminology
  • Commonly used CI tools
  • Community Benefits
  • GitLab CI with other tools
  • Coolest integration at Redfin
Resources Hosts

Nic Laflin - www.nLighteneddevelopment.com @nicxvan John Picozzi - www.epam.com @johnpicozzi Chris Wells - redfinsolutions.com - @chrisfromredfin

Categories: FLOSS Project Planets

Palantir: I Attended My First DrupalCon

Mon, 2022-05-16 08:00

A day-by-day play on anything and everything I experienced - and, yes, I met a llama

I was really excited to attend DrupalCon for the first time. I’ve been with Palantir.net for about a year, all the while being told about the greatness that is the Drupal community, and I couldn’t wait to experience it myself.

When Omicron burst on the scene in early 2022, we all took some time to reevaluate the risks it presented. But since I was fully vaccinated and knew I’d be boosted by then, I decided to carry on and attend - along with a smaller than usual band of Palantiri who decided the same.

But it felt like the hits kept coming. Next, we were made aware that attendance, understandably, was way down from years prior. Would DrupalCon even be what everyone remembered? Would this famously tight-knit community be another casualty of COVID-19? Deciding to be all in, I was determined to find out.

We prepared and prepared and, before I knew it, I was taking the longest flight I’d taken in over two years. I traveled a lot before COVID, but this four hour flight was my near undoing. Add to that a little sinusitis and by the time I reached the hotel Sunday night, I was spent.
 

Monday

Monday was booth set up day. It went pretty well for Rachel and I, who were both DrupalCon newbies, but once our CEO and Founder George arrived that afternoon we were really in business. A seasoned DrupalCon vet with 24 conferences under his belt, he got us in shape and it was off to the races.

We were immediately approached by many curious and extremely friendly attendees and had some really great conversations. For me, the most notable surprise was that no one felt like a stranger - not even those I had just met for the first time. It was as if we were all old friends checking in on each other. Instead of, “who are you and what do you do?” it felt like “Hey friend, what are you up to these days?”

I immediately felt right at home in this zany crowd and I was excited to see what the rest of the week had in store.
 

Tuesday

Still battling my sinuses but having gotten a full night's rest, I woke up bright and early ready to tackle the day.

My first regret: I was very much looking forward to attending the day’s keynote, “How to combat global systems of oppression in the tech industry,” but I was feeling a bit anxious about not being present in the booth, so I decided to skip it and will be sure to catch the video - I learn best when I can rewind anyway. The morning was still bustling as we met new and greeted old friends, but I was really grateful that the conference attendance was down - I started joking that DrupalCon knew it was my first year and was kind enough to ease me in.

That night the partner events kicked off. I had to rally a bit after a long day, but I’m so glad I did because I got to know my coworkers in person. COVID really made me forget what it’s like to meet new people and to connect with those I see over a screen every day on a more personal level. I started seeing myself as somewhat of an introvert, and this reminded me that I am mostly not. It was incredible to network in a way that felt authentic; I hadn’t realized how much I’d missed it.
 

Wednesday

I completely forgot about the time difference and had a class at 6:25 am (the class is amazing, but that’s a blog for another time).

I was exhausted, but something about the air in Portland sent my sinuses back to their regularly scheduled programming, and I was feeling pretty good otherwise. Wednesday was a bit more chill in the conference hall, and it gave me the opportunity to have longer and more in-depth conversations with those who stopped by our booth to say hello.

The Women in Drupal Luncheon was exceptional. I think most women were aware that the conference was predominantly male, but sitting in a room with only women felt revolutionary. The speaker, Jackie Wirz, was phenomenal and her presentation left me feeling empowered and inspired to embrace myself in a world that tells me not to.

She spoke about suffering from mostly invisible mental- and health-related disabilities and the effects her own have had on her personal and professional life. When the subsequent conversation turned towards the intersectionality of feminism and Diversity, Equity, and Inclusion (DEI) in the tech industry, she didn’t shy away. These are difficult topics that she and all of the women in the room handled with both grace and care. Being a minority woman in any field can be isolating but this room felt like the start of something. I felt so, so honored to be there.

We had our team dinner and some more partner events that night. I played some arcade games with the crew, saw some fire throwers (I see you, Portland!), and met a pretty cool guy named Caesar the No Drama Llama. 10 out of 10 would recommend.
 

Thursday

Thursday was the last day and you could tell, because everyone was exhausted.

I highly recommend watching the recording of “Inequity and isolation: inclusive practices for remote teams”. I am into all things inclusivity and believe that it’s incredibly important to widen the lens through which we see the world. Again, this is hard work. It requires self awareness, a desire for change that exceeds our desire for comfort, and perhaps most importantly, stamina.

I finally took some time to go around to all of the booths, meet people I hadn’t yet, and grab some swag. I made sure to connect with some new friends on LinkedIn (I have a few more to get to). The conference ended early on the last day and, quite accidentally, my coworkers and I (and later my husband) ended up on the roof of our hotel for six hours. After many laughs and taking in a gorgeous view, we ended the night with a pizza party in the lobby.
 

So, what did I think?

I went into this trip prepared to do right by Palantir.net. I wanted to create connections and maybe do some recruiting. I expected to have my “sales smile” on all week and be exhausted every night. And this was partially true. I did some of my sales shpiels and spoke to anyone who’d listen about what sets Palantir.net apart.

But I also made genuine connections, had genuine conversations, and learned maybe the best lesson of all: DrupalCon is a tech conference, but more than that, it’s a community of warm and fantastic people. We root for each other, we’re friends that know there’s enough work for us all, and maybe best of all we are a darn good time.

All in all, I had a particularly spectacular time at my first DrupalCon. I learned a ton, met awesome people, and got the chance to connect with my coworkers outside of work or Zoom. I went into the week of the conference with a healthy dose of skepticism, but went into the following weekend with a very full heart.

See you next year, DrupalCon! It was fun.

Photo by Britany Acre featuring Caesar the No Drama Llama

Community Drupal Events Open Source People
Categories: FLOSS Project Planets

Palantir: I Said Yes to My First DrupalCon

Mon, 2022-05-16 08:00

Here’s why I chose to go, what my experience was, and why I will 100% go back

Being away from our networks hasn't been easy - whether it's family, friends, acquaintances, colleagues, or all of the above, the past two years have been difficult.

It's also been difficult to assess the risks of diving back into events to reconnect or to engage for the first time - even when we have been personally cautious and responsible and when we are assured those around us have been as well. Several members of our team chose to attend DrupalCon. This was Paakwesi's first time attending, and we wanted to ask him about his experience.
 

If somebody took away one thing from your experiences at your first DrupalCon, what would it be?

It would be the feeling of community.

Coming from someone like me - who is brand new to Drupal and working in a fully remote environment - I recognized a lot of usernames, and I caught a name or two here and there. But I had never been able to put those usernames to a face and a person. Going to DrupalCon allowed me the experience to meet, talk to, and work with the people behind those usernames in a collaborative and welcoming environment.

And then all of it clicked for me at one point and I was like, “I’m just like everyone here!” Everyone I worked with wanted to work with me and could relate to some of my hesitations - people who are brand new, others who aren’t, but all who want to solve challenges together.

The sense of community and the dedication to collaboration were the biggest takeaways, and they changed my insight and how I approach my work.
 

How did your pre-conference expectations match with your post-conference experience?

My previous conference experience was always to learn technical things, while also maybe networking. But going into it, I realized you get much more of a sense of community. Meeting and talking to so many people - and even just being able to run ideas past people - made me feel like I was involved in the conference and not just an attendee.

There is always that sensitive little bit for me - the imposter syndrome - where I was worried I wouldn’t be able to add up or contribute on a certain skill level. After DrupalCon, I feel reassured that no, that’s actually normal! From my experience, those who have spent years learning Drupal and those who are new all feel the same way, and that was hugely empowering.

It not only made me much more confident, but much more aware of the fact that I’m not alone, we all have struggles, we all have worries, but we all work together to solve them. It was a definite eye-opening experience.
 

Do you think that Palantir.net as a whole - in terms of fostering collaboration and a sense of a tight-knit community - is a microcosm of DrupalCon? 

I definitely feel that way, especially in terms of working collaboratively to solve a problem and also especially when it comes to me having a little bit of imposter syndrome.

Even when I would talk to some of my mentors, I would try to explain my past experience as an example of having to figure out a problem on my own, having no idea where to go with it but having to cram away and figure it out without support or someone I could work with to find a solution.Now working at Palantir.net, I constantly hear, “No, seriously, just ask anything! If you’ve tried for 15 minutes and feel like your head is against the wall, just ask someone.” And it’s not just a phrase that’s said - it’s a phrase that is meant and acted on.

Even though DrupalCon is a big conference, it doesn’t feel that way. When I was in the classrooms working on a solution for a project, I had the similar feeling of collaboration I have at Palantir.net. I can turn to the teacher or the person sitting next to me and say, “Hey, I don’t really get this” or “I’m really stuck on this part,” and there is an instant response of “Let’s work on it together!”

Coming from previous work experiences that had a “figure it out yourself” environment, when I first started at Palantir.net I probably did not reach out as much as I should have. But now, I realize how many different avenues to use to ask a question, ask for help, or ask for a second pair of eyes on my work.
 

What was your favorite part of or experience at DrupalCon?

So you know how the phrase, “that memory that's going to live in my head forever for free?” Mine was making my first contribution that showed up on my Drupal Association profile. This means anyone can access my profile and see what module I contributed to. Now, in the next update and if it works, everyone will be using something I contributed to through testing and putting in my two cents.

It was a huge proud moment for me because I felt that I can look back on it in 10 or 15 years and think, “Yeah - I helped to create that.” It is something that will definitely be a memory that will live in my head forever for free.
 

Are there any other Drupal events you’re eyeing to attend?

I’d love to attend DrupalCon again - for 2023, it'll be in Pittsburgh from June 5th to June 9th. I’d also definitely like to go to MidCamp, which takes place here in Chicago and will be taking place in the spring of 2023.

A funny story: I met a guy at DrupalCon who is from Chicago and lives in my parents’ neighborhood. It was cool to be able to have an interaction with someone on that type of personal level and to be able to know that there is a built-in community not just at events, but in communities across the country. That was truly an eye-opening experience that I did not expect, but one that really made me realize how wide, large, and connected the Drupal community is. And it’s pretty awesome.
 

Based on your experience, what advice, tips, or tricks would you tell a first-time DrupalCon attendee?

If you think that your first DrupalCon will be all work and no fun, you will be pleasantly surprised.

You’ll find out quickly - as I did - that there are after parties, trivia, and plenty of fun people to meet and hang out with outside of the convention hours.

Fair warning: you will never know what you are bound to see.

Anything from Caesar the No Drama Llama to a guy in a Darth Vader outfit riding on a unicycle in a kilt to a random group of flame jugglers we stumbled upon walking from one party to the other. (Part of me was not sure if this was part of the people in the community just getting loose or if this was a Portland thing, since they do say “Keep Portland Weird.” Whatever it is, I am here for it.

All I know is that I had such a great experience at DrupalCon, and I was extremely fortunate to be able to be there with some fellow Palantiri. I plan for this to not be my last.

Photo by Justin Shen on Upsplash

Community Drupal Events Open Source People
Categories: FLOSS Project Planets

The Drop Times: Drupal’s Accessibility Journey

Sun, 2022-05-15 21:18
It’s 2022 and the internet is an integral part of our life, but is the web Accessible to all? How far have we come in this journey?
Categories: FLOSS Project Planets

Angie "webchick" Byron: Aaron Winborn Award

Fri, 2022-05-13 14:17

Last month at DrupalCon Portland, I was honoured to receive the Aaron Winborn Award, named after one of Drupal’s most kindhearted and prolific contributors, who we lost far too soon to ALS back in 2015. (If you were not lucky enough to know Aaron, you can read more about him through many others’ words in his Community Spotlight)

I am tremendously grateful to so, SO many people who have mentored and encouraged me along this journey, from all the way back when I was a wee Google Summer of Code student in 2005 trying to figure out what on earth a “hook” was. :D Each and every time I became excited and passionate about a new way to help the project—joining ALL of the teams (Documentation, Webmasters, Security, etc.), becoming a Drupal core maintainer, joining the Drupal Association Board, improving contribution tools and processes, driving user experience improvements and quality assurance efforts, scaling the governance of the project, etc.—folks would rally to help set me up for success, and assist in ripping blockers out of the way.

The Drupal community really is something incredibly special. There’s an innate desire to enthusiastically share knowledge, to celebrate the wins of others, and to jump in and help where help is needed. We’ve forged long-standing friendships (and at least a couple of marriages! :D), we’ve had many, many laughs (and also a few cries), and we’ve all come together from all over the world to build something truly amazing. Come for the Code, stay for the Community, indeed. :) So an immense THANK YOU to each and every one of you who contributes every day to making this community so truly awesome. (That word gets overused a lot, especially by me ;), but in this case it is extremely apt. <3)

Incidentally, a few people have also asked how I did not have this award before. First, I was a founding member of the Drupal Community Working Group, so receiving it back then would’ve been a supreme conflict of interest. :P Additionally, much of my community work over the years has also been sponsored by Lullabot and Acquia, so that it could have a bigger impact, and this was a *very* unique privilege that most other community contributors do not have. The list of previous winners includes such community luminaries as Gábor Hojtsy, Dr. Nikki Stevens, Baddý Sonja Breidert, and more. I’m *very* happy they all got the spotlight before me. :)

While these days I'm making community happen over at MongoDB, I'm still very much involved in the Drupal community, and it was GREAT to see so many friendly faces at DrupalCon! :D Thank you SO much again for this incredible honour. <3

Tags: drupal
Categories: FLOSS Project Planets

The Savvy Few: How to get the current path alias or path in Drupal

Fri, 2022-05-13 13:40

When migrating a Drupal 7 site to Drupal 9, working with path aliases in custom code is something that is often required. Path aliases were converted to revisionable entities in Drupal 8.8, so also when upgrading from older versions of…

Read more
Categories: FLOSS Project Planets

Evolving Web: Our Favourite Sessions at DrupalCon Portland 2022

Fri, 2022-05-13 10:37

DrupalCon Portland 2022 was the first in-person DrupalCon in over two years. Gathering face-to-face again (plus masks) gave us even more energy and inspiration to take so many insights about the present and the future of Drupal.

Here’s our list of favourite sessions at this year’s DrupalCon, for those who couldn’t attend all sessions and those who couldn’t be at the event. If you want to dig deeper into the topics, you can watch the videos of the sessions on the Drupal Association YouTube channel.

💁‍♀️ Level up your Drupal projects! Check out our upcoming Drupal training courses

Driesnote: “Drupal Is for Ambitious Site Builders”

The “Driesnote”—the keynote talk delivered by Drupal founder and project lead Dries Buytaert—is always one of DrupalCon’s most awaited events. It’s always filled with updates on the current status of Drupal core and its community, upcoming changes, and the vision and strategic direction for Drupal’s future.

This year, Dries took us on a tour of Drupal’s new features and other changes coming with Drupal 10. He also introduced a shift in vision toward targeting “ambitious site builders” for ongoing improvements from Drupal 10 to 11. Before that, Dries opened his talk with a note of solidarity to Ukraine and acknowledging the war’s impact on the Drupal community there. Here you can watch the Drisnote in its entirety:

💻 Read Our Article: What You Need to Know to Get Ready for Drupal 10

Getting Ready for Drupal 10

This session was geared toward developers and other technical folks. It focuses on the new system requirements for Drupal 10, the rationale for these dependencies, and how developers can start preparing their projects for the move.

After a quick review of new features, there was a discussion on the dependencies–Symfony 6.2, PHP 8.1, and CKEditor 5. The rest of the session was filled with actionable recommendations, tools, and tips to move to Drupal 10 as seamlessly as possible.

We highly recommend watching this session and starting to plan your Drupal 10 migration now, while there’s still plenty of time before its release, in December.

📖 Download Our Free Ebook: Your Drupal 9 Migration: Agency or In-House?

Getting Ready for Automatic Updates in Drupal Core

This was another session focused on Drupal 10, diving deep into the upcoming integration of automatic code updates into Drupal core. This functionality is intended to reduce the maintenance burden of Drupal implementations and encourage project owners to keep up on security updates and other improvements.

This talk provided fantastic insights into the technicals of how automatic updates will work, including code samples and discussions around the decision-making process for the ongoing development and rollout of enhanced features and capabilities.

Elevating Search Results with Solr 7

This session focused on using the elevate.xml configuration file to gain more control over your site’s search results. Elevate.xml lets us directly specify the order of top search results, going beyond score-based sorting. This is a powerful enhancement to Solr, as it allows us to surface results that are not only algorithmically most relevant but that contribute to goals like promoting client content or prioritizing timely resources in response to an emergency.

Much of the talk focused on a step-by-step overview of installing and configuring Solr7 with Drupal 9 and Lando, including a set of files and instructions available for download.

👨‍💻 Read Our Article: How to Create a Great On-Site Search UI Through Iteration

How to Audit PDFs for 508 at Scale

This session focused on how a large government agency improved the accessibility of a huge PDF collection during its migration to Drupal 9. This is a common problem that doesn’t get nearly enough attention or guidance.

While it’s pretty well-known that PDFs on the web can pose major challenges, the most common advice is simply, “Don’t use them if you don’t have to.” Unfortunately, that’s not very helpful for organizations that have to use PDFs due to user needs, team skills, or regulatory compliance, missing a real opportunity to improve PDF accessibility.

We think this review of the constraints, auditing, document remediation, and ongoing best practices employed by a US federal agency is a great place to start your PDF accessibility research and planning.

📽 Watch Our Webinar: How to Use Assistive Technology to Improve Web Accessibility

Duke University’s Code+ Co-Curricular Program - Promoting Undergraduate DEI

Most of the sessions on our list focused on technology and practices for implementing technology. However, this one got our attention because it’s a fantastic way to create a path for students from historically marginalized groups to gain access to crucial tech industry internships.

The student team for the featured project had no prior experience in Drupal, Symfony, or PHP. They had just 10 weeks to learn the technology, build a Drupal module to solve a real-world business problem and present their results to a panel of University and industry stakeholders.

We love this session because the Code+ program provides a unique opportunity for undergraduates to own and lead a software development project from start to finish and access a network of industry decision-makers for future internships and employment.

👩‍💻 Read Our Article: How Drupal Can Be a Force for Diversity and Inclusion

Build Highly Visual, Long-Form Content with Layout Paragraphs

This session provided a look at a Layout Paragraphs, a contributed module that gives content editors an intuitive, drag-and-drop tool to manage page layouts in the content creation admin. Where Layout Builder manages sitewide layouts, Layout Paragraphs manages layouts for individual pieces of content. As a result, editors have per-node layout flexibility within configured templates and constraints for the content type.

This is a very exciting idea for content creators, who are often frustrated with the limitations of Drupal’s content entry tools and lack of visual feedback when editing. When exploring highly visual tools like Wix, the lack of content structure and design enforcement can introduce a new set of challenges. This way, Layout Paragraphs could pave the way for Drupal to become the preferred CMS for an even broader range of content publishers.

🎥 Watch Our Video Tutorial: How to Use Drupal 9’s Layout Builder

Optimizing the Haystack: Improving Findability in Content-Heavy Websites

This session provided an excellent discussion on how to mitigate the taxonomy tangle that often happens in expansive, content-heavy sites. It uses the example of a major UN office’s migration from an old Sharepoint site to its first Drupal platform to look at the specific challenges of such a project and the practices to resolve them.

The presentation is packed with actionable recommendations and clear examples illustrating the various problems and their “holistic taxonomy” solutions. A clear, well-structured taxonomy is the backbone of any effective Drupal system, making this session one we think you should watch.

Watch Our Webinar: How Drupal Fits Into the Landscape of Digital Experience Platforms

What Do You Think?

These were our picks, but we know there were other fantastic sessions we’ve missed. What were your favourites? What was the best thing you learned, saw, or heard at DrupalCon Portland? What do you hope to see or hear about in the future? Drop a comment below and tell us what you think!

Loading form data... hbspt.forms.create({ css: '', cssClass: 'hubspot-form form-9090c470', target: '#filter-hubspot-forms-9090c470-76a7-411b-bb87-dc98a7a1deb0', portalId: '2935247', formId: '9090c470-76a7-411b-bb87-dc98a7a1deb0', onFormReady: function (form) { window.onHubspotFormReady && window.onHubspotFormReady(form); }, });

 

+ more awesome articles by Evolving Web
Categories: FLOSS Project Planets

Pages